7

干货 | 人脑与语言——语言模型解码与语义空间映射

 2 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzAwMjM3MTc5OA%3D%3D&%3Bmid=2652693249&%3Bidx=1&%3Bsn=038815e711d5ea91fba308a6429e1785%23wechat_redirect
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

干货 | 人脑与语言——语言模型解码与语义空间映射

Original 程序媛的日常 程序媛的日常 2018-06-19 05:39
640

人类大脑认知和语言功能之间的关联奥秘,一直是研究者们关注的焦点。在本科的脑认知课程上,小S就听到老师说,人类如何处理语言、形成语言,已经是二十一世纪几乎最受关注也最“一筹莫展”的脑认知研究领域。

Computational psycholinguistics has “always been...the thing that computational linguistics stood the greatest chance of providing to humanity” (Kay, 2005).

随着统计语言模型,神经网络语言模型等的出现,脑认知和自然语言处理这两个学科的交叉研究——计算神经科学——也不断涌现出来。曾经的爆款 Science 论文《Human-level concept learning through probabilistic program induction》也属于这个范畴。今天又看到三篇这个领域的研究工作,想分享给大家,包括:

  1. Finding Syntax in Human Encephalography with Beam Search. ACL 2018.

  2. Navigating with Graph Representations for Fast and Scalable Decoding of Neural Language Models. from Microsoft.

  3. Does the brain represent words? An evaluation of brain decoding studies of language understanding. from MIT.

发表在 ACL 2018 上的第一篇工作 [1] 主要关注的是语言模型解码中的语法信息,。比起我们非常熟悉的 LSTM,这篇工作 [1] 使用的基本语言模型是 RNNG,G for Grammers. 由下面的示意图可以看到,RNNG 在生成过程中,不仅生成具体的词,还生成语法结构。

640?wx_fmt=png

这样的结构非常适合增量过程建模(incremental processing)。可以想到,当利用这样的生成过程做语法建模时主要包含三种语法分析决策(parser action):是否开始一个新的成分(左括号),是否结束最近的一个成分(右括号),以及是否生成一个具体的词。

640?wx_fmt=png

上方给出的示意图的左上角就是三个彩色的方块就代表着三种决策动作。然而,经典的 beam search 算法用于这样结合语法信息的语言模型时,会有些不合适。毕竟语法信息和具体的词,不是一个层次上的信息,把它们放在一起去预测得到的概率分布会严重的不均衡。

640?wx_fmt=png

为此,作者 [1] 使用的是 word-synchronous beam search。其主要思路是在解码时,不断搜索扩展语法结构,直到有足够多的结构都生成了具体的词,然后同步这些词,再开始下一次的结构解码。示意图见下,具体的算法描述请大家参考论文 [1]。

640?wx_fmt=png

作者 [1] 希望探究 RNNG+word-synchronous beam search 是不是一个合适的语言认知模型(cognitive model of language processing)。为此,他们比较了人脑听到一段语言时的 EEG 信号和语言认知模型计算过程中的复杂度指标(具体请见论文 Section 4)。从下图的部分实验结果示意来看,回归模型还是比较契合的。

640?wx_fmt=png

这篇工作 [1] 里还有很多有意思的 insight analysis,比如实验结果就发现,LSTM 的回归效果就比较差,说明不适合作为一个语言认知模型使用。而且这篇论文 [1] 给我的最大的冲击还是他们并不是使用 RNNG 直接建模 EEG 数据,而是用 RNNG 中的计算语言复杂度来建模。这可能也是纯自然语言处理和计算语言处理的一个比较大的区别。

第二篇想分享的论文 [2] 则是希望通过借鉴人脑中的语义映射或者说词汇关联,来加速语法模型的解码过程(beam search decoding)。因为过去的认知科学研究多数认为,人脑中的词汇是复杂网络结构,所以当给定一个语境时,人脑能联想到的词汇会锁定在网络中的某一小部分,而不是像 softmax 一样遍历一遍所有词。

基于这样的启发,作者 [2] 提出了基于图的快速解码算法 Fast Graph Decoder (FGD)。算法的过程也很直接,先根据词向量的语义距离构建一个小世界网络来“模拟”人脑中的语言网络。当解码时,将语境编码(隐变量)和图中的结点进行比较,从而找到最相似的结点作为图解码的起点,并启发式地进行图推理。值得一提的是,在小世界网络上的图搜索有比较成熟的快速算法,这也是这篇论文的算法能大幅提速传统 beam search 的主要原因。算法的示意图如下。

640?wx_fmt=jpeg

这样简单的思路在实验中效果还不错。在不损失准确度的情况下,其解码计算速度大幅提高。这是因为经典 beam search 主要受限于 softmax 计算,其复杂度是 O( D * |V| ),而这篇中的快速图解码 FGD 则是 O( D * log|V| )。

640?wx_fmt=png

今天想分享的最后一篇论文 [3] 则有些与众不同。其更多地是从脑认知的角度来探讨计算语言相关研究的价值。如上面提到过的,计算语言学中经常把脑认知的一些数据(EEG, fMRI等)和神经网络处理的文本数据联系起来,希望从中找到特征的相关性甚至一致性。这样的研究框架可以用下面这样的示意图来展示:

640?wx_fmt=png

如果将 fMRI 数据转换后的特征和经过语言模型建模后 m_k 的文本特征分别称为 r(x_i, s_j) 和 r(x_i, m_k), 那么这两者的差距越小,说明这个模型拟合某个被试(s_j)拟合得越好。为此,作者比较了下面多种模型:

640?wx_fmt=png

可以看到,这些模型主要是针对不同自然语言处理相关的任务提出的。从某种程度来说,作者希望看到的是,针对不同任务的语言模型和人类阅读某一句话时的反应是否一致。换句话说,人类阅读某一句话是,具体在进行着哪些语言处理(不同的语言任务)。

640?wx_fmt=png

实验结果来看,大部分模型学到的特征都可以一定程度上契合人脑活动数据中提取的特征。而且,表现最好的模型是 GloVe、SkipThought 等前四个模型,这些模型也可以认为是最“包罗万象”的模型。因为它们主要建模的是对下一个词的预测,并不涉及一个具体的自然语言任务(task-transferrable)。

然而,这样的结果只能说明 GloVe 等模型学到了一些和人脑活动相关的特征,却并不能解释人脑在处理语言到底做了哪些任务。如果对这方面的研究感兴趣,推荐大家看一篇综述:John Hale. 2017. Models of human sentence comprehension in computational psycholinguistics. In Mark Aronoff, editor, Oxford Research Encyclopedia of Linguistics. Oxford University Press.

诚然,这些工作可能很多不够研究,只是借鉴一些思路灵感。就像 CNN 的设计与视觉细胞,神经网络的设计与大脑网络,这些关联可能都不是真实准确的。但是,人工智能并不一定是复原或者说模仿人类的智能。研究工作带来的灵感可能是更宝贵的。在这方面,大家又怎么看呢?

更多相关阅读:

干货 | 限定和指导 Seq2Seq 模型的生成结果(一)

干货 | 限定和指导 Seq2Seq 模型的生成结果(二)

640?wx_fmt=jpeg
640?wx_fmt=jpeg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK