Facebook的AI研究团队开发了一种神经转编译器

仅一周多的时间,您中的大多数人就会听说facebook的ai研究团队(fair)开发了一种神经转编译器,该代码使用“无监督翻译 ” 将高级编程语言(如c ++,python,java,cobol)的代码转换为另一种语言。传统的方法是标记源语言并将其转换为抽象语法树(ast),反编译器将根据定义翻译的手写规则(例如抽象或上下文)将其用于转换为所选的目标语言。没有丢失。
在过去的几十年中,神经语言翻译取得了如此重大的进步,以至于尽管只有足够的并行语料库才是唯一的限制,但是这些神经模型往往要比硬编码的手写规则好得多。
这已通过“无监督的ml翻译”方法得到了更大程度的解决,其中facebook的研究团队使用了来自github的不同编程语言的大量单语源代码库来训练模型。
这使许多组织感到宽慰,尤其是在保险,政府和银行部门,他们继续使用旧版应用程序,而这些应用程序几乎没有增强或微调的空间,因为它们是由真正熟练的程序员在过去的美好时光中编写的— cobol ,pascal,fortran等。
尽管编程语言已经随着时间的流逝而发展,但是从一种代码库移植到更高效或更现代的语言(如java,swift,ruby,python)却是真正的痛苦,因为它需要源语言和目标语言方面的专业知识。例如,有报道称,澳大利亚联邦银行花费了高达7.5亿美元,并在五年内将其核心软件从大型机上的cobol迁移到了现代平台上。
基于规则的翻译实现起来很复杂,灵活性和解释性较差。facebook的transcoder可以解决长期存在的问题。
fair代码转换器的主要组件
fair转码器基于一种变压器架构,包括一个编码器和一个解码器,基于“注意就是您所需要的”论文。fair转码器依赖于单个模型进行编码和解码,并且基于3个原理:
屏蔽语言模型预训练
去噪自动编码
回译
1. 屏蔽语言模型预训练
掩蔽语言预训练模型基于bert论文,该模型训练编码器从源代码中识别出掩蔽标记。训练编码器以理解编程构造,以便在屏蔽某些令牌时识别丢失的令牌并对其进行重构。

中国5G手机市场交上一份满意的答卷
三星被苹果惨踢出局,OLED屏幕后续由LG供应
基于ATT7022A芯片和atmega128单片机实现无功补偿控制系统设计
iPhone的好消息来了,苹果可以随便摔了!
磁珠和电感的区别是什么
Facebook的AI研究团队开发了一种神经转编译器
信源编码、复用技术在有线数字电视系统中的应用
基于嵌入式技术的汽车安全防御系统设计
马上过年了,这份2021年吸尘器推荐购买排行一定要看
按键消抖/开关量信号监测实现方案
大功率电子负载的简单介绍
恩智浦:每辆自动驾驶汽车上配备的雷达模块达220美元
宝马X3 xDrive35i M运动型全方位测评
氮化镓晶体管和碳化硅MOSFET产品多方面的对比与分析
防护服合成血液穿透试验仪的技术指标说明
工业软件分类
为什么OPPO、vivo机型配置不好,但仍然很流畅?
MP3常见音效有哪些?
在FPGA上实现H.264/AVC视频编码标准
国内导热绝缘材料能否比肩贝格斯Sil-pad系列产品