神经网络算法迭代进化,离不开生物体的启发
Clément Viricel
数学计算机生物应用学博士
Laurent Pujo-Menjouet
里昂-克洛德·贝尔纳第一大学数学生物医药应用学专业讲师、研究员;卡米尔-乔丹研究所高级讲师、研究员
人工智能的算法是如何模仿生物的神经系统的?生物模仿学在算法的发展中有什么作用?为什么现在的算法需要注意力层来提高学习速度?这些问题都与我们的未来息息相关,因为算法已经渗透到了我们生活的方方面面,从医疗诊断到自动翻译,从游戏设计到能源消耗。如何让算法更加节能,更加符合生物的特性,是未来的挑战和机遇。本文将带你走进这些算法的奥秘,让你感受生物与计算的魅力。
神经网络算法是一种仿生系统,模仿生物体神经元的机理。
仿生学已用于许多算法的开发,例如遗传算法和卷积/循环神经网络算法。
受到人类行为的启发,研究人员通过在神经网络中添加“注意力层”来提高算法的速度。
未来的挑战是减少这些算法学习所需要的电力。
如今,算法技术发展迅猛,功能愈发强大。仿生学的理念在算法开发中扮演了举足轻重的角色。生物体最大的优势之一是其对能源的高利用率,但这一点暂时还无法在IT开发中得到实现。
算法自诞生之初,便开始应用仿生学理念。1964 年首个神经网络“感知器”就是仿生学的产物。里昂-克洛德·贝尔纳第一大学讲师 Clément Viricel 解释道:“‘感知器’模拟了神经元的电生理特性,及其传递兴奋和信息的能力。”每个神经元接收数据,对其进行评估并根据算法中指定的函数产生结果。这个过程构成了人工神经元的“激活”过程,就像大脑中的神经元被神经脉冲激活一样。在“感知器”中,神经元连接在单层中,可通过增加神经元层来处理信息流。
01
仿生学与神经网络的发展
从20世纪90年代开始,训练算法就开始采用神经网络,模仿人类的学习方式。里昂-克洛德·贝尔纳第一大学研究员Laurent Pujo-Menjouet解释道:“神经网络是仿生的,因为它们通过犯错来学习,就像人类一样,特别是人类婴儿。神经可塑性可以用矩阵来模拟:矩阵的元素根据成功程度进行加权。系数在神经元之间起到了强化作用。” Viricel补充道:“例如,在学习语言时,人类往往通过上下文领会单词的含义,语义起着至关重要的作用。训练神经网络的方法,就是让算法做填空题,然后通过反向传播进行优化。”也就是说根据输出结果,来修正输入神经元的权重。“但这个过程是一个黑匣子,其中使算法得以发展的权重变化是不可见的。”如果无法得知某个事物的原理,人们就很难信任它。对于生产自动驾驶汽车[1]、诊断辅助系统[2]的厂家而言,产品必须包含算法,而算法的不可知性是个非常棘手的问题。
许多算法的开发都得益于仿生学,比如遗传算法。该算法基于计算目的的系统发生树,并且能够根据多种方法(排序、选择、适应等)得到最相关的结果。诸如此类的系统已用于优化问题和游戏开发中。著名的《超级马里奥》正是使用它对玩家进行排名。此外还有受人类视觉系统启发的卷积神经网络。Viricel 解释道:“开发者希望重现人眼分析图像的方式,先用多个神经元排成一个方形,扫描图像以捕获像素,然后将图像整体重建。”基于卷积神经网络的计算机视觉在某些领域的辨识能力已经超越了人类专家,特别是在黑色素瘤的诊断 [3]。“在训练期间,它会提取‘肿瘤形状’和‘肿瘤大小’等特征,然后通过寻找这些特征来识别图像中是否有肿瘤。”
图片来源:PI France
仿生算法的应用范围很广,特别是循环神经网络。据Viricel介绍:“此类神经网络可按顺序或按时间先后分析数据,广泛用于需要考虑词序的文本自动处理。密集层是循环出现的,因此网络不会忘记它之前做过的事情。”这样的网络已应用于机器翻译工具中。第一个循环网络“读取”原始语言文本,并将其编码,第二个循环网络以另一种语言解码文本。这些步骤需要耗费时间和电力。Viricel承认:“算法训练耗电量很大。”
02
Transformer网络:模拟人类思维的成果
考虑到高能耗,未来必须开发出学习得更快的算法。为此,学者们设计了一种再现“词汇依赖”现象的方法。当人类学习文本时,能立刻明白每个代词的所指,减轻理解负担。Viricel解释道:“为了模拟人类的‘词汇依赖’,我们添加了额外的神经元层,即‘注意力层’。这是仿生学应用在算法研发中带来的又一突破。”“注意力层”的发明者在一篇题为《注意力就是你所需要的一切 Attention is all you need》的论文中阐述了其最新发现。他们的神经网络仅由12个注意力层和编码器/解码器系统组成。此类网络被称为“transformer”。由三名法国人创立的Hugging Face初创公司,就是使用了transformer开发BERT和BLOOM语言模型,现已被谷歌采用。Chat-GPT与transformer一脉相承,不过只有解码器而没有编码器。
以上所述的例子,证明了仿生学对算法创新的促进作用。但研发者在仿生的同时,却忘记了生物体的基本特征之一:能量利用率极高。训练 Chat GPT-3已经耗费了1.287 兆瓦时的能量,排放了552吨二氧化碳[4]。Viricel 承认:“一直以来,神经网络开发者都没有关注能耗问题。这是分工所导致的。设计算法的和生产制造硬件的是两批人。前者往往会忽略实际的设备设计问题。最新的硬件已经很耗能了,未来的TPU 或 HPU只会更加如此。”
不过,新一代程序员或许会突破以往的常规。“在IT业界,对能耗的关注度越来越高。这既是出于节能的需要,也是出于保护环境的道德义务。目前的改进主要是机械硬件优化,以节省能量传导中的消耗。”不过,也有学者另辟蹊径,例如设计零样本冲击、零样本学习的算法。“它们无需训练即可运行,从而节省了学习成本。”不过,新算法的性能是否能达到现有算法的水平,用以生成彻底仿生的系统,尚有待观察。
作者
Agnès Vernet
编辑
Meister Xia
1. https://www.polytechnique-insights.com/tribunes/ science/des-algorithmes-pour-guider-les-taxis-volants/2. https://catalyst.nejm.org/doi/full/10.1056/CAT.21.0242
3. https://www.nature.com/articles/nature21056
4. https://arxiv.org/ftp/arxiv/papers/2204/2204.05149.pdf