|
10.2 多层次线性关系
上一节我们介绍了向量空间的固有局限性,“深度学习”多层次模型突破了向量空间局限性,不期然间迎合了现实世界原本的多重线性特征。
下面我们以一种直观的视角看看多重线性是什么样的?
2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。这篇文章有两个主要观点:
1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;
2)深度神经网络在训练上的难度,可以通过逐层初始化来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。
多隐层结构是深度学习模型的核心,我们仍然以语义识别为例。
人类的自然语言的层次性非常明显,最下面一层是‘词汇’、上一层是‘语句’、再上一层是‘段落’、然后是‘章回’等等。从低层到高层的特征表示越来越抽象,高层特征是低层特征的组合、抽象、主题。
逐层初始化大致过程如下:
首先找到一批使用频率最高的那些‘词汇’作为基础词汇,完成对‘词汇’层次逻辑空间的初始化。
然后找到一批使用频率最高的‘语句’作为基础语句,完成对‘语句’层次逻辑空间的初始化。
进一步,找到一批使用频率最高的那些常用话题‘段落’作为基础段落,完成对话题‘段落’层次逻辑空间的初始化。
以此类推,......
并且,逐层初始化是否对深度学习有效,需要看上一层的基概念是否是下一层基概念的逻辑抽象,即上一层是下一层的特征变换,这种特征变换是线性的。
比如:
语句1含义 = 单词1含义 + 单词2含义 + 单词3含义 + ......
这里,语句1含义和单词1含义、单词2含义、单词3含义具有明确的线性关系。这是一种层次线性关系。特别指出,由于‘语句’和‘单词’是不同层次的逻辑概念,数学表达‘语句’函数和‘单词’函数时,两种层次类别的函数其各自变量必然不同。这意味着‘语句’和‘单词’之间的关系是“线性变换”(不是“线性算子”)。
比如:
语句"cat set on the mat",五个单词共同融合为一个主题。线性逻辑结构如下:
进一步看,这种层次线性的融合主题关系,可以采取比单层线性更复杂的逻辑结构。比如考虑下面这个句子“the cat sat on the mat”,很自然地它可以被分成下面这样用括号分开的不同的段:“((the cat) (sat (on (the mat))”. 我们可以把每层逻辑(记为A)应用在这个分段上:
这样的模型通常被称作“递归神经网络”因为一个模块经常会使用另外一个同类型模块的输出。有时候它们也被称作“树形神经网络tree-structured neural networks”。
递归神经网络在一系列NLP任务中都有很重大的成功。比如Socher et al. (2013c) 就利用了一个递归神经网络来预测句子的情感:
并且,更重要的是,这种多层次线性关系不仅仅对于一个单一的语言体系如此。对于多语言体系,亦如此。比如英语和汉语的二元融合体系,可以看出这种二元大体系遵从共同规律,这是自动翻译的理论基础。
我们可以从两种不同语言中把单词嵌入到一个共享的空间去。在这个例子里,我们学习把汉语和英语嵌入到同一个空间去。
我们用和上一节词汇向量化差不多的方法来训练W(en)和W(zh)两种表达。
我们知道,某些中文和英文的词汇有相似的意思。也就是说翻译过后意思相似的词理所当然应该离得更近。更有意思的是我们未知的翻译后意思相似的词结果距离也很近。
因为向量内积关系,词汇向量化会把相似的词聚到一起,所以如果我们已知的中英词汇离得近,它们的同义词自然离得近。我们还知道类似性别差异趋向于可以用一个常数的差异向量表示。看起来,对齐足够多的点会让这些差异向量在中文和英文的嵌入中保持一致。这样会导致如果我们已知两个男性词互为翻译,最后我们也会得到一对互为翻译的女性词。
直观来讲,仿佛就是两种语言有着相似的“形状”,通过对齐不同的点,两种语言就能够重叠,其他的点就自然能被放在正确的位置上。
双语单词嵌入的t-SNE可视化图。绿色是中文,黄色是英文。来自(Socher et al. (2013a))
在双语单词嵌入中,我们对两种很相似的数据学习了一个共享表征。
请注意,这是一种新的多语言层次线性关系,比单语言体系自身的‘词汇’、‘语句’、‘段落’的那种层次逻辑结构关系更加复杂。多语言层次模型,形象显示出了两种语言体系融合的内在的多重线性关系。
更有意思的是,我们还可以把非常不同的几种数据嵌入到同一个空间去。比如,词汇和图像:
近期,深度学习已经开始探索能够把单词和图像嵌入到同一个表征下的模型。
基本思路就是你可以通过单词嵌入输出的向量来对图像进行分类。狗的图像会被映射到“狗”的单词向量附近。马的图像会被映射到“马”的单词向量附近。汽车的图像会被映射到“汽车”的单词向量附近。以此类推。
有趣的是如果你用新类别的图像来测试这个模型会发生什么呢?比如,如果这个模型没训练过如何分类“猫”,也就是把猫的图像映射到“猫”向量附近,那当我们试图对猫的图像进行分类的时候会发生什么呢?
结果表明,这个网络是可以很合理地处理新类别的图像的。猫的图片并没有被映射到单词嵌入空间的随机的点中。相反的,他们更倾向于被映射到整体上相近的“狗”的向量中去,并且事实上更接近于“猫”的向量。相似的,卡车的图片最后离“卡车”向量相对也比较近,“卡车”向量和与它相关的“汽车”向量很近。
这个图是斯坦福一个小组用8个已知类(和2个未知类别)做的图。结果已经很可观了。但因为已知类数目小,能够用来插入图像和语义空间的关系的点就很少了。
差不多同时期,Google的小组做了一个大得多的版本,他们用了1000个类别而不是8个(Frome et al. (2013))。之后他们又做了一个新的版本(Norouzi et al.(2014))。两者都基于非常有效的图像分类模型(来自 Krizehvsky et al.(2012)),但它们使用了不同的方式把图像嵌入到单词嵌入空间去。
他们的成果是很赞的。虽然他们不能把未知类的图片准确放到代表这个类的向量上去,但是他们能够把它放到正确的区域。所以,如果你用它来对区别比较大的未知类的图片来分类,它是能够区分类别的不同的。
即使我从来没见过艾斯库拉普蛇和穿山甲,如果你给我看这两样东西的照片,我能告诉你哪个是哪个因为我大致知道这两个词和什么样的动物有关。这些网络可以做到同样的事情。
(这些结果都利用到一种“这些词是相似的”的推断。但是看起来根据词之前的关系应该有更有力的结果。在我们的单词嵌入空间里,在男性和女性词上有一个一致的差异向量。相似的,在图像空间中,也有一致的可以区分男性和女性的特征。胡子,八字胡,秃顶都是强烈的,可见的男性特征。胸部,及没那么可靠的如长发,化妆品及珠宝这些是明显的女性特征(参见注解6)。即使你从来没见过一个国王,如果一个带着王冠的王后突然有了胡子,那把她变成男人也是很合理的。)
共享嵌入是一个非常让人兴奋的研究领域,它暗示着为何深度学习中这个注重表征方法的角度是如此的引人入胜。请看看下面这个TED视频,我们可以从中更加印象深刻的了解图片识别和语义识别两个系统融和的含义:
http://open.163.com/movie/2015/3/Q/R/MAKN9A24M_MAKN9QAQR.html
表面上看,多层次线性关系也不过是一种向量化空间的拓展,似乎只是单层线性关系的简单扩充而已。
其实不然,因为多重线性和单层线性区别是本质性的。正如阿列夫2阶无穷大与阿列夫1阶无穷大的本质不同。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 11:03
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社