【文献笔记】Large Language Models as Evolutionary Optimizers

Large Language Models as Evolutionary Optimizers

标题翻译:大语言模型作为进化优化器

1. 研究内容

文章中提出了一个基于LLM(GPT-3.5 API chat-turbo-0613)的进化算法(LMEA),用于解决经典的旅行商(TSP)问题。LLM在这里的作用是通过提示(prompt)进行父代选择、交叉和变异操作,这构成了进化优化的核心部分。将llm改进的算法与求解器的最优解比较。
代码链接

2. 研究方法

2.1. 算法核心框架

用LLM执行进化过程中的选择、交叉和变异操作,而无需进行额外的模型训练或依赖大量领域知识。
算法1

随机初始化种群P,包含N个解
开始迭代,直到达到最大代数G:
    构建一个prompt描述优化问题T和当前种群的状态
    使用LLM根据提示生成后代解P'
    将当前种群P和新生成的种群P'合并
    从合并的种群中选择表现最好的N 个解组成新的种群P
    自适应调整LLM的温度参数(用于控制生成解的随机性)
当代数达到G返回种群中的最佳解s∗

2.2. prompt构建

框架图

整个过程的提示词包含以下三个部分:

  • 问题描述及解的属性:明确问题的描述和期望解的性质。例如,在TSP问题中,问题描述可以包括节点的坐标,解的属性可以描述路径需要遍历所有节点且路径长度尽量短。
  • 上下文示例:提供一些种群中已有的解及其适应度值作为示例,以便LLM在生成新的解时能够参考这些解的结构。
  • 任务指令:明确要求LLM进行父代选择、交叉和变异操作,并生成新的后代解。

2.3. LLM作为进化算子

不直接通过编程实现传统的进化操作(如交叉和变异),而是通过提示自然语言指令选择父代并生成后代(减少对领域知识的依赖)。

整个过程通过以下几步完成:

  • 选择父代:根据提示,LLM从当前种群中选择父代解进行交叉和变异。
  • 生成后代解:LLM生成的提示指令中要求其根据选择的父代生成新的解,作为后代解。解的生成是通过LLM的推理和生成能力完成的。
    (N = 16,种群的大小为16,这意味着在每一代中,LMEA算法会保留16个解,G = 250 表示算法的最大迭代次数为250代。也就是说算法最大会探索4000个候选解)。

自适应温度调整
在LMEA中,温度控制被用来在进化过程中平衡探索(exploration)和开发(exploitation)。高温度值可以使LLM更具探索性,生成更具多样性的解;低温度值则使解更具确定性。LMEA采用了一种自适应机制,如果连续K代没有找到比当前最优解更好的解,温度就会略微增加以增加多样性。(文中设置K = 20 和 α = 0.1)。

3. 实验

3.1. 实验设置

生成了不同规模的EUC-2D旅行商问题实例(节点分布在二维平面上,每个节点都有一个二维坐标,距离度量使用欧几里得距离)

使用了两种生成器来生成不同的TSP实例:

  • portgen生成器:rue实例,节点随机且均匀分布在二维平面上。
  • portcgen生成器:clu实例,节点分布在若干中心点周围,形成簇状分布。

对于每种生成器,生成了四种不同节点数量的TSP问题(10个节点、15个节点、20个节点和25个节点)。每种组合下生成了5个TSP实例,最终总共生成了40个TSP实例。


为了评估算法的性能,作者使用了求解器Concorde来获得这些TSP问题实例的最优解,利用最优性差距(optimality gap)作为评估指标。

optimality gap计算方式

3.2. Baseline算法

  • 最近邻算法(NN):随机选择一个节点作为起点,之后每一步选择当前节点最近的未访问节点,直到遍历所有节点。

  • 最远/最近/随机插入算法(FI/NI/RI):在每一步中,选择一个节点并将其插入到当前路径的最优位置(对于插入节点k,相邻节点对ij,使cost c(k) = d_ik+d_kj−d_ij最小)。三种不同的变体分别选择最远、最近或随机的节点进行插入。

  • 基于LLM的优化方法OPRO(Optimization by PROmpting):它和LMEA的不同在于OPRO不使用LLM来执行交叉和变异操作(不是利用进化算法的框架),而是直接通过LLM生成新解。它们之间的比较可以验证 LLM 驱动的遗传运算的有效性。

3.3. 结果分析

结果表1

LMEA vs. 启发式算法
在节点数较小的TSP实例(10个和15个节点)中,LMEA在多数情况下优于传统启发式算法。
但随着TSP实例的节点数增加(如20个和25个节点),LMEA的性能有所下降。

LMEA vs. OPRO
LMEA的表现显著优于OPRO,表明LLM驱动的交叉和变异遗传算法在优化过程中起到了关键作用。


收敛曲线

收敛曲线:不同测试集上LMEA和OPRO的最优解和求解器最优解的gap,左图是各自最优解的gap,右图是平均最优解的gap

3.4. 消融实验:自适应温度机制

在rue-20实例上,对比了LMEA和一个没有自适应温度机制的变体(称为LMEA*)。结果显示,自适应温度机制帮助LMEA显著提升了性能,使其能够在连续若干代没有改进的情况下,通过提升温度来增加搜索空间的探索性,从而找到更优解。

LMEA*性能差距对比

LMEA*收敛曲线对比

4. 限制与未来方向

4.1. 限制

在大规模问题上,算法的optimality gap增加。这可能与LLM生成的解在大规模搜索空间中变得不够精确有关。
而且,LLM的计算成本较高,特别是在与API交互时,优化过程耗时较长(大约半天)。

4.2. 未来改进措施

  1. 对于大规模问题,可以通过局部搜索来减少解空间。
  2. 指导LLM从错误的答案中吸取教训已被证明可以有效地提高他们的性能。
  3. 考虑使用更小的、专门为优化任务微调过的模型,代替通用的大语言模型,从而减少API调用的频率和计算开销。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值