深度学习模型的编码更像人类

麻省理工学院的研究人员提出了一种方法,可以像人类一样发现和修复自动编程工具和计算机代码中的弱点。

通过马提瑙金 2021年4月23日
提供:Shashank Srikant,麻省理工学院

无论一家公司从事何种业务,软件都扮演着越来越重要的角色,从管理库存到与客户联系。因此,软件开发人员的需求比以往任何时候都要大,这推动了一些占用他们时间的简单任务的自动化。

生产力工具建议开发人员在编写时可以轻松放入工作中的代码片段。这些自动化功能由复杂的语言模型提供支持,这些语言模型在吸收了数千个示例后学会了阅读和编写计算机代码。但是,就像其他在没有明确指令的情况下在大数据集上训练的深度学习模型一样,为代码处理而设计的语言模型也存在漏洞。

麻省理工学院电气工程与计算机科学系的研究生Shashank Srikant说:“除非你非常小心,否则黑客可以巧妙地操纵这些模型的输入,让它们预测任何事情。”“我们正在努力研究并预防这种情况。”

在一篇论文中,斯里康德和MIT-IBM沃森人工智能实验室推出一种自动化方法,用于发现代码处理模型中的弱点,并对其进行再培训,使其更能抵御攻击。这是麻省理工学院研究员乌纳-梅·奥莱利和ibm研究员刘sijia Liu更广泛努力的一部分,他们利用人工智能使自动化编程工具更智能、更安全。

能够自己编程的机器曾经看起来像是科幻小说。但是计算能力的指数级增长,自然语言处理的进步,以及互联网上大量的免费代码,使得至少在软件设计的某些方面实现自动化成为可能。

在GitHub和其他程序共享网站上训练的代码处理模型学习生成程序,就像其他语言模型学习写新闻故事或诗歌一样。这使得它们可以充当智能助手,预测软件开发人员下一步要做什么,并提供帮助。他们可能会建议适合手头任务的程序,或者生成程序摘要来记录软件的工作原理。还可以训练代码处理模型来查找和修复错误。但是,尽管它们有提高生产力和提高软件质量的潜力,但它们也带来了研究人员刚刚开始发现的安全风险。

Srikant和他的同事们发现,仅仅通过重命名一个变量,插入一个伪print语句,或者在模型试图处理的程序中引入其他装饰性操作,代码处理模型就可以被欺骗。这些细微改变的程序正常运行,但会欺骗模型,使其错误地处理它们,从而做出错误的决定。

麻省理工学院和IBM的研究人员建立了一个框架,发现并修复了自动化编程工具中容易受到攻击的弱点。一种工具(如图所示)在程序员编写和建议代码时跟着阅读。在这里,它从Python NumPy库中的数千个选项中选择一个最适合手头任务的函数。提供:Shashank Srikant,麻省理工学院

麻省理工学院和IBM的研究人员建立了一个框架,发现并修复了自动化编程工具中容易受到攻击的弱点。一种工具(如图所示)在程序员编写和建议代码时跟着阅读。在这里,它从Python NumPy库中的数千个选项中选择一个最适合手头任务的函数。提供:Shashank Srikant,麻省理工学院

这些错误会对所有类型的代码处理模型造成严重后果。恶意软件检测模型可能会被欺骗,将恶意程序误认为是良性程序。代码完成模型可能会被欺骗,从而提供错误或恶意的建议。在这两种情况下,病毒都可能从毫无戒心的程序员身边溜走。类似的问题也困扰着计算机视觉模型:正如麻省理工学院的其他研究表明的那样,在输入图像中编辑几个关键像素,模型就会把猪误认为飞机,把乌龟误认为步枪。

就像最好的语言模型一样,代码处理模型也有一个关键的缺陷:它们是单词和短语之间统计关系的专家,但只能模糊地把握它们的真正含义。例如,OpenAI的GPT-3语言模型可以写出从雄辩到无意义的散文,但只有人类读者才能分辨出其中的区别。

代码处理模型也不例外。斯里康德说:“如果他们真的在学习程序的内在特性,那么应该很难欺骗他们。”“但事实并非如此。他们目前相对容易被欺骗。”

在论文中,研究人员提出了一个自动更改程序的框架,以暴露处理它们的模型中的弱点。它解决了一个由两部分组成的优化问题;一种算法可以识别程序中添加或替换文本会导致模型产生最大错误的位置。它还确定了构成最大威胁的编辑类型。

研究人员说,这个框架揭示了一些模型是多么脆弱。当对程序进行一次编辑时,他们的文本摘要模型有三分之一的失败;他们报告说,当进行了5次编辑时,有超过一半的时间都失败了。另一方面,它们表明模型能够从错误中学习,并在这个过程中可能对编程有更深入的理解。

该研究的共同高级作者Liu说:“我们攻击模型的框架,并对这些特定的漏洞进行再训练,可能会帮助代码处理模型更好地掌握程序的意图。”“这是一个令人兴奋的方向,有待探索。”

在背景中,一个更大的问题仍然存在:这些黑盒深度学习模型究竟在学习什么?“它们会像人类那样推理代码吗?如果不是,我们该如何制作它们?”O’reilly说。“这是我们面临的巨大挑战。”

-由Chris Vavra编辑,网页内容经理,控制工程, CFE媒体与技术,cvavra@cfemedia.com


作者简介:金·马蒂诺,麻省理工学院的智力探索