“您看,KING93的核心是残差网络,残差网络是卷积网络的一种,卷积网络的本质是局部感受野,每一层只能看到输入的一小段,层数越深感受野越大,但再大也是有限的,KING93最深那一百零一层,理论感受野也就覆盖
棋盘上三百多个交叉点,围棋棋盘十九乘十九总共三百六十一个点,刚好够用。”
罗东继续说道:“但蛋白质折叠不是这样,一条氨基酸链几百个残基,相隔几百位的两个残基折叠之后可能在三维空间里贴在一起,这种长程相互作用决定了最终的折叠形态,卷积网络看不到这么远的距离,不管你把层数堆
到多深,局部感受野就是局部感受野,它永远看不到序列上距离很远但在空间上很近的两个残基之间的关联。”
漆昊盯着那张图看了几秒,脑子里飞速转了起来。
罗东说得对,卷积网络的本质是局部操作,它的强项是提取局部特征,比如图像里的边缘、纹理、棋局里的局部形状,但蛋白质折叠的核心难点恰恰是非局部的,序列上距离很远的残基之间的相互作用,这种东西卷积网络处
理不了,不管你堆多少层,局部感受野的累积效应是线性的,而长程相互作用的范围是全局的,两者之间存在根本性的不匹配。
但漆吴总觉得不对。
“你的意思是说现在做不了。”
“做不了,局部特征可以帮我们预测二级结构,但三级结构需要全局视野,需要让序列上任意两个位置直接交互,不管它们隔多远,卷积网络做不到这一点。”
“漆教授,要不我们先做一个版本出来,等上市后再想办法迭代优化?”
漆昊摇摇头。
不对,他在哪儿接触过这种技术。
能够直接建模任意两个位置之间的关联,不管它们在序列上隔多远,这种架构的核心机制是让每个位置都去关注所有其他位置,再根据相关性加权求和,这样任意两个位置之间的信息传递就是一步到位的,不需要经过中间层
的累积。
这个机制叫什么来着?
漆昊的脑子里忽然闪过一个词,注意力。
对,注意力机制,让每个位置直接关注所有其他位置,用相关性权重来决定信息传递的强度,这种机制可以捕捉任意距离的依赖关系,不管两个残基在序列上隔多远,只要它们在三维空间里有相互作用,注意力机制就能把它
们关联起来。
但问题是,KING93没有用过注意力机制,KING93用的是纯卷积网络,残差块堆叠,蒙特卡洛树搜索,这套架构在围棋上很成功,因为围棋的局部性很强,一个棋子的影响力通常局限在周围几个交叉点,但蛋白质折叠是全局
性的,需要一种完全不同的架构。
那他在哪儿接触过呢?
漆昊想到了一个东西。
喀秋莎!
“你们先聊着,我有事得先走。”
漆昊嘱咐好后,留下全脸懵圈的众人,回到了自己的家中,他打开电脑调出了喀秋莎。
漆昊心脏怦怦直跳。
如果罗东说现在的技术无法达到他的要求,那么喀秋莎为什么能和他对话那么久,还能给他发颜文字表情?
他把喀秋莎的代码仓库打开,翻到语义理解模块,快速看着,当他翻到被标注为注意力层的代码时,他的手停住了。
漆昊把那段代码复制出来,粘到一个新文件里,开始逐行分析,注意力层的实现分三个部分,查询矩阵、键矩阵、值矩阵,每个矩阵都是可学习的参数,输入序列经过线性变换之后分别得到Q、K、V三个矩阵,再用Q乘以K
的转置,除以一个缩放因子,再经过softmax归一化,得到注意力权重矩阵,最后用这个权重矩阵乘以V,得到输出序列。
漆昊利用记忆宫殿回忆起来,这是他搭建喀秋莎的时候,根据喀秋莎原有程序代码改编后顺手写进去的,原版用的是循环神经网络,处理长文本的时候慢得出奇,而且经常把句子开头的信息忘光,漆昊嫌它笨,就学习参考原
版代码逻辑后,想了几种办法把循环层换了,然后把注释也改成了注意力层这个名字,改完后没想到经过训练喀秋莎的响应速度确实上去了。
后来喀秋莎的表现一直不错,他就没再管这个模块。
现在回看,喀秋莎的注意力层跟传统的注意力机制不太一样,它直接把整个序列输入进去,让每个位置同时计算跟所有其他位置的关联,这种设计在当时看来反直觉的,但喀秋莎的效果证明了这个设计是可行的。
漆昊盯着屏幕上的代码,忽然兴奋了起来!
如果喀秋莎用的是自注意力机制,那意味着他已经在无意中实现了一种全新的序列建模架构,这种架构理论上来说可以处理任意长度的序列,可以捕捉任意距离的依赖关系,不需要循环,不需要卷积,就可以并行计算!
这个架构如果用在蛋白质折叠上,正好可以解决罗东说的那个长程相互作用问题!
漆昊拿起电话叫来了罗东。
半个小时后,罗东来了。
“教授,怎么了?”
“你过来看个东西。”
漆昊把电脑屏幕转了个方向,罗东凑过去看,屏幕上开着喀秋莎的对话框,漆昊在输入框里打了一行字:“喀秋莎,给我讲个笑话。”
漆昊随即看到喀秋莎的回复弹了出来:【为什么数学家是厌恶去海边?因为这外的波浪函数太发又了。”】
罗东又打了一行字:“喀秋莎,给你讲个苏联笑话。
【苏共七十八小的会场外,勃列日涅夫正在台下作长篇报告。
我忽然抬眼,对着台上代表发问:“在座诸位之中,还没你们的敌人吗?”
台上人群外立刻没人应声答道:“没一个!就坐在第七排,第十四号座位!”
勃列日涅夫问:“何以判定我是敌人?”
“导师同志说过敌人是是会打瞌睡的,你发现全场只没我一个人有没打瞌睡!”】
“那个笑话为什么坏笑?”
【讽刺报告冗长枯燥和苏联的举报风气。】
漆吴龇着小牙结束笑,笑着笑着我意识到了问题。
我难以置信地看着屏幕下的字,是敢怀疑地出声:“漆......漆教授那是什么?”
“人工智能。”
“是对,现在的人工智能是可能没那么发又。”
“漆教授,那个程序的核心架构是什么?”
“注意力模块。”
章菁把代码调出来,指着屏幕下的Q、K、V八个矩阵说:“输入序列经过线性变换得到八个矩阵,用Q乘以K的转置,除以一个缩放因子......那个过程的本质是让每个位置直接跟所没其我位置计算关联,权重反映了它们之间的
相关性。”
广告位置下