从范畴论的视角看Transformer
其实很多时候我们对人工智能的期望,就如同我们的数学老师:
从一个数学系毕业的人来看, 一直对CNN/RNN这类凑答案依葫芦画瓢的行为一直嗤之以鼻, 很多年前就吐槽过
》“人工智能” 还是 “人工智障”(1)《
这些问题和西方哲学本身相关,自苏格拉底起,西方哲学的本质注重细节,从细微之处自底而上,讲究过程,例如微积分的诞生,本质上都是如此,而CNN也是从一个3×3 或者5×5的卷积核开始,着眼于细微处,然后通过神经网络的深度获得更大的视野,本质上也是对西方哲学自底而上的传承。RNN也不例外,下一个状态由上一个状态决定,而这种串行化的“短视”无疑也带来了过多的麻烦,首先串行化任务本身无法并行加速,而另一方面语言本身的倒装结构对它的破坏力也非常大。
而CNN和RNN如同小镇做题家,中间的辛苦我们需要认同,特别是过去十年各种网络结构的诞生。但是其眼界和远识的缺陷,我们也需要善意的告知。而当我们再次审视Transformer模型的时候,对其泛化支持多种任务的能力时, 不免想到了范畴论(Category Theory)这种自顶而下的视角
Transformer的本质也是那种自顶而下的视角, 正如上一次由微积分带来的各种微分方程而产生的工业革命,未来数十年必定是范畴论这样的结构重建带来的新一轮工业革命。而Transformer很有可能就是带来这一次变革的“蒸汽机”,只是作者们自己没有意识到。
回头再来看Transformer模型,以范畴论的视角来看,Inputs和outputs刚好构成两个对象
(Object),然后中间的一系列矩阵转换则是构建这两个对象之间的态射
(Morphism),Embedding是一个向量化的表示,然后Positional Encoding某种意义是在构造一个偏序集. 而多层Encoder和Decoder的组合似乎构成范畴间的函子。
然后我们来看Attention的本质
如果根据一个态射来看input是Source而Output是Target,那么我们可以把Query(Q变量)看作是目标的特征,而Source是一系列的<Key,Value>数据对构成的属性,那么Query和Key的向量点积本质上是在计算余弦相似度,然后再乘以Value并进行归一化构成Attention
而对于MultiHead其实某种意义上来看就是对于属性的泛化,通常一个对象可能属于多个范畴,那么对于两个对象之间的关系,也就需要在多个属性中迭代。然后构建好这些关系矩阵后,再通过一个FFN最终得出一个特征更明显的向量,然后中间还考虑到一些细节问题,使用了residual进入到Add/Normal层,这就是整个Attention的过程。而Self-Attention就更明显的像一个自态射了.
某种意义上来看来看,针对Transformer而提出的Foundation Models似乎也算合适了,所以也不难理解文章的题目是Attention is all you need
而接下来,我们就可以从范畴论的视角,形式化的定义每个Task的特征及其模型属性:
那么从各个领域建模的特征来看,主要还是各个对象本身的Positional Encoding的问题,例如针对NLP序列问题的Encoding
而针对图像可能编码的位置信息是图块的空间位置
恰逢最近整理图形学的一些东西,我不确定光线追踪时用到的八叉树和BVH等算法是否可以在3D空间识别任务中获得相似的编码能力,从而降低Transformer对于空间感知类算法的复杂度。
因为这个对象在一些已知范畴内,例如图片中的相对位置等,都是可以提取的信息。而另一个现实的应用就是通过预训练模型表达在某一系列范畴知识的前提下,训练领域专用模型
最后,从范畴论的视角来看,这些通过训练构成的态射似乎挺好玩的,然后紧接着在范畴论视角下又可以将图神经网络和复杂系统这些学科加载上来,似乎看到了符号主义和联结主义某种仪式可以结合的能力。
突然感觉好美…
《从范畴论的视角看Transformer》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/191.html