前言
好久不见,不好意思最近都没有怎么更新,其实我有很多想分享的东西,也参加了很多AI活动,包括agent方面,亚马逊云科技的活动等等,但是因为我在忙着毕业论文和找工作都耽搁了,现在总算把论文写好了,就先分享一下我的论文吧。
先简单介绍一下我的论文,其实当时也没有想写这个,就是当时在做提示词实习而且自己也喜欢所以就想写一些这方面的东西,然后和指导老师沟通后决定就遗传算法和提示词结合去写,当时看到清华大学,微软研究院和东北大学的一项新研究中,标题为"将大型语言模型与进化算法相结合产生强大的提示优化器"的论文,想着往中文优化入手,但是感觉好像意义不大。中间我参加了一个生成图片的提示词的比赛,拿到了三等奖。于是我改变想法从生图提示词入手,用遗传优化算法优化生图提示词好像没有人干过,所以我写了我的毕业论文,下面就是具体的实践过程,分享给大家。
遗传算法提示词优化
本次主要使用Python-3.9.12进行算法的实现,用到的模型以及工具包括:requests库-2.27.1,json库-2.0.9,pandas库-1.4.2,random库-3.9.12,智象未来的pixeling生图模型,文心一言-4模型。
4.1 流程和步骤
提示词遗传实验流程图
实验首先从"初始提示词"开始,通过初始提示词得到实验遗传的遗传提示词是实验的基础,为后续步骤提供了起点。接下来,实验将遗传提示词通过逗号建立了遗传基因,实验进入了基因组交叉阶段。这一阶段主要通过随机选择的方式,根据预设的随机遗传策略进行交叉遗传,两两配对。这一过程模拟了自然界中的遗传变异现象,使得实验中的提示词能够产生丰富多样的变化。经过交叉遗传后,实验得到的提示词再通过文心进行变异,这时提示词相较于初始状态已经有了显著的差异。随后,实验会对这些变异提示词进行其质量和效果的适应度值评分。最后,实验将根据遗传精英选择策略,选择其中的两个最高分保留其余再次进行循环,直到得出满意的结果。
4.1 .1 种群初始化
本文将选择的生图的提示词进行裂变完成种群的初始化,具体的操作步骤是将提示词进行同义转换和仿写,通过调用了文心一言ERNIE-Bot模型对提示词进行"举一反七"的处理,接着使用了"结构化"的提示词模板精细控制模型的输出,接着对这些七个提示词和原提示词进行混合作为提示词种群的初代样本。这里的处理引入遗传算法的思想,将八个提示词作为八个染色体,从每个句话的逗号进行文本切割,将一句话也就是一句提示词分成若干份,作为进行种群交叉遗传的基因样本,完成种群的初始化操作[1]。"提示词染色体"(G)可以表示为多个基因组成:
G = <g1 , g2 , g3 ,...,gn>
式中:gi代表第i个基因,即第i段提示词。
4.1.2 选择操作
基因从父代到子代的代间遗传通过选择操作来实现,即利用特定的选择方法将父代部分基因传递到子代。本文首先将父代的染色体进行编号处理,接着随机shffule打乱顺序后两两配对选择。通过两两配对选择的操作方式决定进行基因遗传的父代。将其过程抽象为以下步骤:
1.对于第i代父代个体集Pi,其中每个个体代表一条已编号的染色体,可表示为pi。
2.随机打乱顺序,这个过程用一个随机排列函数π来表示,使得新的顺序为:π(pj), j=1,2,...,N。
3.两两配对选择,即选取π(p1)与π(p2)进行配对,π(p3)与π(p4)进行配对,...,用于交叉操作以生成新的子代。
4.1.3 交叉操作
交叉操作是遗传算法的关键步骤和产生新个体的主要方式。通过模拟生物学染色体配对,将两个个体的基因编码以特定方式和一定概率进行交叉互换,从而产生两个新个体。本文采用实数交叉法,第 m 个染色体 pm和第 n 个染色体 pn在 j 位置的交叉方法如下:
4.1.4 变异操作
变异操作有利于维持种群多样性,避免陷入局部极小值点,增强寻优能力。本文变异操作引入大模型进化算子,即从八个交叉遗传的子代中随机一个子代,接着拿这个子代提示词进行遗传的变异,这里依然是使用了"结构化"的提示词模板通过调用了文心一言ERNIE-Bot模型要求对提示词进行局部的随意修改的处理,对变异基因的选择由大模型进化算子决定,最终得到一个全新的变异提示词。
4.1.5 适应度函数和遗传优化策略
总分(Ti)的求和公式可以表示为:
Ti = V + A + R + E
式中:V,A,R,E分别为视觉性,艺术性,丰富性,美学性在0-10之间的分值。
对提示词的评估,这里采用的是综合性评分,整个评分的过程是首先将我们的新提示词放到原先的生图平台进行生图,然后对图片进行评分,综合性评分这里用到的是文心一言-4,同时对于同一个图片的评分进行五次评分,取平均值作为最后的适应度值总分(T),可以表示为:
T =(T1+T2+T3+T4+T5)/5
式中:T1,T2,T3,T4,T5分别代表每一次评分的分值。
遗传策略本文选择精英选择策略(Elite Selection Strategy)是遗传算法中一种重要的选择操作,其目的是确保在每一代种群中保留一定比例的最优或最适应当前环境的个体,直接无条件地传递到下一代种群中,而不受其他选择影响。它通过保护和传递最优或近优个体,促进了算法的快速收敛、防止了种群退化、增强了稳定性,并且有助于适应动态环境,为解决复杂优化问题提供了有力保障。本文选择这一策略有助于更快的找到满意的结果,加速收敛。
-
通过选择一代适应度值最高的两个直接保留到下一代中。
-
其余的六个子代再进行下一代遗传过程,生成的结果再进行评分,跟前面未参与本次交叉变异的上一轮最优的两个一起进行排序选择,不断挑选得分最高的最优的两个解,从而在一代代之后找到满意的结果。
4.2 算法实证
实验应用演示,提示词:"世外桃源的风景,绵延万里的高山曲折盘旋,山峰直冲云霄,一行行白鹭飞向远方,一列列大雁飞向南方,天空是蔚蓝色的,血红的太阳挂在天边,远远的构成一副美丽的风景"通过调用文心一言ERNIE-Bot同义转换和仿写生成七个提示词如下:
初代提示词遗传种群
对提示词进行切片处理,作为交叉的基因,接着进行匹对交叉遗传,从图中可以看到两两随机匹配之后,5和8配对成功并且随机选择了一个点,从第三个点也就是第三逗号开始进行交叉交换提示词,其他的提示词也进行同样的类似操作。
交叉匹配实现过程
完成交叉遗传之后,调用文心一言ERNIE-Bot将得到的新提示词通过大模型进行遗传突变,从八个新提示词中随机挑选一个进行突变,将选择的提示词通过"结构化"的提示词模板调用大模型进行提问,图中的突变体是通过大模型"突变"优化后的提示词,文心一言大模型选择了将"血红的太阳悬挂在天边"改变为"一轮血红的太阳悬挂在天际"。
提示词突变过程
将最终提示词进行生图,最后再拿到文心一言-4进行评分,下图是其中一个的评分结果,可以看到视觉性9分,艺术性8.5分,丰富性8分,美学性8.5分,总分为34分。
适应度值评分过程
然后挑选得分最高的两个保留,其余的继续进行遗传过程,不断迭代。最终经过五轮迭代后,得到最高得分37分比原始提示词得分(31.5分)高17.46%,种群评价得分34.5分,经过五轮迭代种群中97.5%的生成效果得分高于原样本。
优化结果种群最高分37分
原图31.5分
从结果来看可以看到最高分的效果不管从画面效果,丰富性还是整体的美感都比原图要更好,从四个评分的维度中看到视觉性和美学性明显提高,最终的得分总分也比原图高6.5分,通过结果可以看到通过遗传算法的帮助,可以将提示词进行优化,从而提高提示词的生成效果,帮助生成更好的输出,到达更完美的生成效果。同样通过本文也看到了遗传算法在图片生成提示词方面的应用是切实有效的,这或许才是本文研究真正的收获。
4. 3小结
在当前研究中,本文提出了一个新颖且颇具影响力的概念,即利用大型语言模型(LLM)作为核心引擎,将其融入遗传算法框架,以实现对生图提示词的创新生成与精准优化。这一策略构成了本文的核心创新点之一,并且在遗传与遗传评估流程中发挥了关键作用。
4 . 3 .1 遗传 算法思想应用
首先,明确阐述"遗传"在本研究语境中的含义。通过借鉴生物进化中的遗传原理,构建了一种模拟自然选择和遗传变异的计算过程。在这个过程中,提示词被视为具有遗传特性的个体,其内在结构和表达能力构成了适应度函数的评价基础。通过设计特定的遗传操作(如交叉、突变和选择),操纵提示词集的演化路径,使其逐渐趋近于更优解。
4 . 3 .2 大模型 进化 算子
接下来,聚焦于LLM的角色定位。不同于传统的进化算子,本文创造性地将LLM视为一种超智能的、自我学习的进化驱动器。LLM凭借其庞大的参数规模、深度学习架构以及对语言的深刻理解,能够在复杂的提示词空间中进行高效探索。具体而言,LLM不仅负责自动生成全新的提示词候选,还能够依据预设的优化目标与上下文环境,对生成的提示词序列进行动态评估与优选。这种双重功能的整合,赋予了LLM在遗传过程中的核心地位,使其超越了传统算法中简单规则驱动的算子角色。
4 . 3 .3 应用于生图提示词
在现有的研究实践中,对提示词的优化工作往往聚焦于单一的文字应答场景,其主要目标在于通过调整和改进提示词的表述,以提升对应语言模型生成文本答案的准确度、相关性及语义完整性。这些优化策略通常涉及对提示词的词汇选择、句法构造、主题聚焦以及上下文提示等方面的精细化处理,旨在引导语言模型更加精确地捕捉用户意图,从而生成符合期望的回答。
然而,本文在这一领域做出了重要且创新性的突破,即超越了仅限于文字应答的传统范畴,将提示词的优化疆界拓展至多模态的图片生成任务之中。这种拓展揭示了提示词在图片生成任务中的价值,还向我们展示了丰富和深化人机交互的多元表达方式新的可能性。
本文探讨的"多模态的图片生成提示词":是指那些旨在引导大型语言模型(如GPT4,文心一言)或专门的图像生成模型生成特定视觉内容的文本指令。这类生图提示词不仅包含丰富的语义信息,用于描述期望生成图像的主题、风格、元素布局、情感色彩等维度特征,还需要足够的灵活性与通用性,适应不同模型的理解能力和生成规范。
综上所述,本文不仅开创性地将提示词优化的研究领域从文字应答扩展到了多模态图片生成,而且创新地将LLM作为一种强大的进化算子,深度嵌入到遗传算法驱动的提示词生成与优化过程中。这种独特的自动生成与优选相结合的机制,不仅极大地扩展了提示词的种类与结构多样性,增强了其在不同交互场景下的适应性,还有效缩短了人工设计与试错周期,实现了对GPT交互提示词的高效寻优。这一研究不仅为提升GPT类多模态大模型应用效能探索了新思路,也为未来探索人工智能AI大模型间的协同进化发展开辟了新的研究路径。激发更多关于多模态智能交互的研究与应用,推动人工智能生成式AI 大模型技术在艺术创作、设计辅助、教育娱乐等多元领域的深入渗透与发展。
总结
怎么说呢,这个过程还是非常有趣的,因为我确定通过我的方法得到了一些更好看的,生成效果更好的AI图片。中间也是不断调整,其实我第一篇论文初稿是用GPT做的优化,结果不仅因为不断的折腾把号搞封了,而且论文也不通过,被老师要求进行大改。但是一切都值得,因为这就是我的热爱,我相信未来属于AI,我相信奥特曼的AGI世界。AI的道路你我同行,共勉!
最后分享这次优化作品中比较出色的,我感觉非常好看的AI生图的照片给大家。