[论文解读] Self-Programming Artificial Intelligence Using Code-Generating Language Models
本文首次实现了自编程人工智能系统的实际应用,该系统利用代码生成语言模型自主修改其自身源代码,包括架构、计算能力及学习动态。该系统在迭代过程中持续提升性能,并为图像分类等任务生成辅助子模型,展示了自主自我改进与自由形式AutoML的能力。
Recent progress in large-scale language models has enabled breakthroughs in previously intractable computer programming tasks. Prior work in meta-learning and neural architecture search has led to substantial successes across various task domains, spawning myriad approaches for algorithmically optimizing the design and learning dynamics of deep learning models. At the intersection of these research areas, we implement a code-generating language model with the ability to modify its own source code. Self-programming AI algorithms have been of interest since the dawn of AI itself. Although various theoretical formulations of generalized self-programming AI have been posed, no such system has been successfully implemented to date under real-world computational constraints. Applying AI-based code generation to AI itself, we develop and experimentally validate the first practical implementation of a self-programming AI system. We empirically show that a self-programming AI implemented using a code generation model can successfully modify its own source code to improve performance and program sub-models to perform auxiliary tasks. Our model can self-modify various properties including model architecture, computational capacity, and learning dynamics.
研究动机与目标
- 开发一个在真实计算约束下能够自主重写自身源代码的功能性自编程AI系统。
- 探索利用代码生成语言模型实现神经网络设计自主自修改的可行性。
- 验证自修改是否能在下游任务中带来可测量的性能提升。
- 展示系统为外部机器学习任务生成并部署辅助子模型的能力。
- 通过自主代码生成与重编程建立自由形式AutoML的基础。
提出的方法
- 训练一个代码生成语言模型,以生成并修改语法和逻辑正确的神经网络源代码。
- 系统通过迭代式自重编程,基于在CIFAR-10、MNIST和EMNIST等数据集上的训练性能反馈,生成新的代码版本。
- 每次重编程步骤包括生成多个候选架构(通过束搜索或采样)、评估其性能,并为下一轮迭代选择表现最佳的模型。
- 模型动态修改关键架构超参数,如卷积层数量、隐藏层大小及总参数量。
- 系统利用自身代码生成能力创建并部署用于辅助任务(如图像分类)的子模型。
- 性能反馈用于引导下一轮代码生成,通过类似强化学习的反馈机制实现渐进式改进。
实验结果
研究问题
- RQ1代码生成语言模型能否成功重写自身源代码以提升机器学习任务的性能?
- RQ2在真实环境中,自修改在多大程度上能增强模型架构、计算容量与学习动态?
- RQ3自编程AI能否生成并有效利用子模型来完成图像分类等辅助任务?
- RQ4代码生成候选数量与搜索迭代次数如何影响最终模型性能?
- RQ5自主自重编程是否能随时间带来可测量的模型表达能力与参数量提升?
主要发现
- 自编程AI系统在CIFAR-10、MNIST和EMNIST数据集上,通过多次重编程迭代成功提升了模型性能。
- 随着探索的代码候选总数增加,性能持续提升,达到某一阈值后出现收益递减。
- 卷积层数量随时间显著增加,尤其在前四个训练循环中,对性能提升有重要贡献。
- 在CIFAR-10上经过10个训练周期,最佳性能模型的平均参数数量显著增加,表明模型表达能力增强。
- 在某些情况下,隐藏层大小也有所增加,但隐藏层数量基本保持不变,表明深度可能并非性能提升的主要驱动因素。
- 系统展现出持续生成并重用辅助模型代码的能力,证实其作为自由形式AutoML工具的有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。