研究人员让AI从程序员的眼神中学习

“一个婴儿在没有任何语言解释的情况下,亦能从父母的演示中学到很多东西,因为演示代表的不仅仅是语言描述。”日本奈良科学技术研究所的研究人员在发表在预印版服务器 Arxiv.org 上的一篇论文中写道。他们认为,人工智能模型也能像婴儿一样,从创造它们的程序员的眼神中学习。

这篇论文的名为《模拟软件开发过程中专家的视觉注意力》,描述了一个人工智能框架,该框架可创建从程序员的眼球运动中学习如何修复 bug、生成补丁和撰写评论的代理。

当我们从事需要认知能力的任务时,我们的眼球运动传达了很多关于我们的信息。研究人员从中受到启发,于是将眼动研究应用于软件开发领域。他们的论文报告的研究是其中的一项,它旨在发现视觉艺术专业知识与眼动运动之间的关联。

“在过去的 30 年里,我们通过了解程序员在哪里分配视觉注意力获得了很多洞见,这可以从眼球运动数据中推断出来。” 论文写道,“我们已经知道程序员使用注意力策略来节省理解和维护程序的时间。例如,专业程序员倾向于自动将注意力集中在程序的信息部分,而只浏览源代码中相关的关键字。结合凝视数据可以让自主主体学习注意力策略,而这些策略很难仅仅通过文本特征来学习。”

该团队提出的方法利用了模仿学习,即自主主体从人类演示中收集从事复杂任务的知识。在这种情况下,代理由使用行为克隆训练的模型表示,行为克隆是机器人和自然语言处理中常用的算法。片段代码和编程环境被视为一个序列标记或关键字,并且代理受到限制,以至于它们被迫专注于模仿专家程序员视觉注意力的特定子标记,作为输入的当前状态和输出所需的行动。从那时起,它们就适应了执行特定的任务。

论文所讨论的代理包括两个深度神经网络,以及模仿大脑神经元的数学函数:一个递归神经网络(RNN)的全局上下文编码使用一个给定的代码片段,另一个指定任务解码器(也是一个 RNN)从第一个 RNN 使用编码的数据来预测下一个行为动作。研究人员承认,他们的方法需要大量的演示。他们还建议使用一个生成的对抗网络(一个由生成样本的生成器和鉴别器组成的两部分神经网络,这些生成器试图区分生成的样本和真实世界的样本)来学习专家演示,而不仅仅是模仿动作。他们建议用脑电图(EEG)读数补充视觉注意力数据。然而,他们认为,如果在生产环境中实现该框架,可以提高 AI 代理在一系列软件开发任务上的性能。

“研究人员调查了程序员的眼球运动,并将其转化为人类可理解的数字和描述,但这种转化造成了相当大的信息损失,”研究人员在论文中写道。“我们相信,基于模仿学习的智能体可以充分利用有价值的信息源,减少信息损失。”

【数字叙事 黎雾】

有问题和想法?与数字诗人讨论、交流,以获得更多的信息、意见。

赞赏
黎雾
黎雾
技术一直以来都是艺术不可或缺的因素
本文系数字叙事原创(编译)内容,未经授权,不得用于商业目的,非商业转载须注明来源并加回链。

订阅

受欢迎的

相关文章
Related