查看原文
其他

果蝇能学会Word Embedding吗?丨麻省理工联合团队ICLR 2021论文

青苹果 数据实战派 2022-01-14
果蝇大脑的 3D 图像。图片出处:Nature

当前的深度学习方法从生物学中获得了极大的灵感启发。虽然神经网络模仿的是生物神经网络,但其实这两者之间有着极大的区别,有些重要的机器学习机制没有任何自然界的版本。这就向我们发问了一个很现实的问题:生物系统是否可以进一步促进新的网络架构和学习算法的发展,从而引发在机器学习任务处理上的突破创新,或者提供对智能行为的深刻见解呢?

本文介绍来自 MIT-IBM 实验室联合团队的工作 CAN A FRUIT FLY LEARN WORD EMBEDDINGS,正是受此动机的启发。这一次,他们将目光放在了最常见的模式生物之一 —— 果蝇身上。

这支团队以果蝇大脑中建立的成熟神经生物学网络模体(motif)为研究对象,将之数学形式化后构建的网络,用在了自然语言处理中常见的机器学习任务上。

结果发现,这个网络可以学习语义表征,并且可以生成静态的、依赖于上下文的词嵌入。而且与传统的方法(如 BERT、GloVe)不同的是,这些方法使用的是密集的表征。

果蝇的网络模体所达到的性能不仅可以与现有 NLP 方法相媲美,令人惊喜的是,它仅仅使用了很小一部分的计算资源,即需要的训练时间更短,内存占用率也更小。


在上下文单词任务中,果蝇网络的表现比 GloVe 高出近 3%,比 word2vec 高出 6% 以上,但比 BERT 低 3.5%。

果蝇大脑的一种机制

在详细介绍这项工作前,先对本文的研究对象做一个简单介绍。

在神经科学领域,果蝇中央脑区的蘑菇体(MB, Mushroom Body)是神经科学中最好的研究系统之一。

它是果蝇大脑中负责处理感觉信息的主要区域,可以接收来自投射神经元 (PN, Projection Neurons) 的输入,这些神经元传递着几种感觉模态的信息。其中,主要的方式是嗅觉,但也有来自 PN 负责的感知温度、湿度和视觉输入。

这些感觉输入通过一组突触权重转发给大约 2000 个 Kenyon 细胞(Kenyon cells,下文称 KCs)。这些 KCs 与前对侧神经元(APL, Anterior Paired Lateral)相互连接,APL 将强烈的抑制信号发送回 KCs。这种循环网络有效地实现了 KCs “通吃” 的局面,并使除一小部分顶部激活神经元外的所有神经元保持 “沉默”。如下图所示,与不同模式相对应的几组 PNs 将其活动发送到 KCs 层,KCs 通过与 APL 神经元的相互连接而被抑制:


这种网络模体负责感官刺激的聚类,以便相似的刺激在 KCs 级别上引发相似的神经反应模式,从而实现泛化;而不同的刺激导致不同的神经反应,便可以加以辨别。帮助果蝇区分感官刺激,这对于果蝇来说有着很重要的生存意义,拿不同的气味来举例。如果果蝇嗅到一种与危险有关的气味,则最好避开它;如果它闻到食物的香味,果蝇会尽可能地靠近它。

尤为重要的是,这类生物网络已进化到以一种非常有效的方式完成这项任务的程度。

再看计算语言学中,使用语言单元的分布特性来量化其间的语义相似性已由来已久。

正如 J.R. Firth 对分布式假说作出的进一步地明确和阐述:“词的语义特征是由其上下文决定的。”(通俗地说,通过一个词的上下文来理解一个词)

这个思想催生了一个又一个强大的工具,如潜在语义分析、主题建模以及诸如 Word2Vec、Glove 和最近大火的 BERT 等的语言模型:Word2Vec 模型被训练为在给定上下文的情况下最大限度地提高单词的可能性;Glove 则利用全局的词 - 词共现统计数据,而 BERT 使用深度神经网络来预测掩蔽 (mask) 词 (和下一个句子)…… 所有的这些方法都利用了单个的单词与上下文之间的相关性来学习有用的单词嵌入。

将语言模型和果蝇网络模体相结合,就提出了这样一个问题:单词和它们的上下文之间的相关性是否可以通过 KCs 的生物网络从原始文本中提取出来?此外,KCs 学习到的单词表示与现有的 NLP 方法得到的单词表示有何不同?

研究团队注意到,虽然这个网络已经进化到处理来自嗅觉和其他形式的感官刺激,而不是 “理解” 语言,但它使用了通用的算法将输入 (来自不同的形式) 嵌入到具有几个理想属性的高维空间,这些问题将在下文展开讨论。

果蝇启发的网络

团队基于果蝇网络实现的算法,可以生成词及其上下文的二元词(相对于连续)嵌入。

在训练语料库的考虑上,鉴于每个句子可以分解成一个grams 的连续词集合。如果单词标记来自大小为的预定义词汇表,那么算法的输入是大小为 2的向量。如下图所示,该向量由两个块组成:上下文 (第一个元素) 和目标 (剩下的元素)。在这项工作中,假设为奇数,将目标词假设为gram 的中心。


目标词在目标块中采用独热编码,上下文词在上下文块中以二进制形式编码为词袋 (不使用位置信息)。窗口沿着文本语料滑动,对于每个位置生成一个训练向量,索引 A 枚举不同的grams,索引 i 枚举上下文目标向量中的位置。由此,这些训练向量被传递给学习算法。显然,该算法的目标是学习上下文和目标块之间的相关性。

从数学上讲,训练算法的目标是将一组上下文 - 目标对分布到 k 个 buckets 中,这样相似的对就会出现在相似的 buckets 中。

为实现这一目标,学习算法采用两个输入:

一组训练向量,

一组出现概率向量

其中表示在训练语料中观察单词的概率。学习可以被形式化为能量函数的最小化定义:

其中,

在这个方程中,是一个突触连接矩阵,给定
,从 PN 层投射到 KC 层。在能量函数的分子中,二进制编码的gram 除以单个单词元素出现的概率,因此分子可以写成:

这里面,概率 p 是根据训练语料库中单词出现的频率来计算的。该词汇包含了语料库中出现频率最高的词汇,因此的所有元素都是非零的,并且按元素方式(element-wise)划分也进行了很完善的定义。

直观地说,训练算法的目标是调整神经网络的权值,使其与训练语料库中经常出现的gram 对齐。

团队的假设是,与语义相关的gram 共享多个 “核心” 词,而一些单独的单词可能被同义词 / 反义词所替换。

通过迭代更新满足以下学习规则的权值来实现能量函数的最小化:


在这个函数中,对于最大驱动的隐藏单元,激活函数等于 1,反之,为 0。


学习完成后,可以通过以下方式生成输入的哈希码。给定gram 的二进制编码

其中,参数可看做哈希长度。由 PN-KC-API 神经网络进行的生物学计算的粗略数学近似。输入使用前馈权重向 KC 神经元生成输入电流。KC 和 API 神经元的递归网络使得除少数 KCs 之外的所有细胞均沉默。

细胞保持激活的被分配状态 1,而其余的 KCs 则分配状态 0。而且上述公式可为单个的单词(静态单词嵌入,如 Word2vec 和 Glove)及短语(类似于 Transformer 模型)生成哈希码。

实验结果

所示的 KC 网络是在 OpenWebText 语料库上训练的,这是一个 32GB 的包含约 6B tokens 的非结构化文本语料库。

为了证明果蝇网络模体获得的稀疏嵌入与现有的最先进的词嵌入、以及用于这些连续嵌入的常用二值化工具间具有一定的竞争力,研究团队评估了静态词嵌入的语义相似度。

所使用的几种常见的基准数据集包括 WS353、MEN、RW、SimLex、RG-65 和 Mturk 等。这些数据集包含单词对,而且它们之间带有人工标注的相似度评分。而斯皮尔曼相关系数正是在相似度和人工标注的评分之间计算得到的。


团队观察到,与 Glove 相比,团队使用的词嵌入显示出具有竞争力的性能,但比 Word2vec 的性能要差。

同时,与使用连续向量表示 Glove 和 Word2vec 不同,团队采用的嵌入方法是二进制的。因此,将它们与常用的连续嵌入的二值化版本进行比较更合适一些。

作者比较了果蝇嵌入与一些最先进的二值化方法的性能,如:LSH/SimHash(随机收缩投影,然后基于符号的二值化)、RandExp(随机扩展投影,随后k-winner 进行所有二值化)、ITQ(迭代量化)、SH(频谱哈希)、PCAH(PCA 之后基于符号二值化)。对上述所提方法的针对不同哈希长度的完整评估在论文中均有呈现。


在这里,论文仅对特定 (较小) 哈希长度(k=4)的结果进行了展示和简要说明。

上表可以明显看出,果蝇嵌入优于 WS353 和 Mturk 上现有的词嵌入离散化方法,在 MEN 上的结果次之 (在 word2vec 的 LSH 二值化之后)。与现有方法相比,果蝇嵌入在散列长度较小的情况下尤为强大。

这些结果表明,果蝇网络可以直接从原始文本中学习有意义的二进制语义表示。

团队还注意到,二进制嵌入的额外优点是,它们只需连续字嵌入(假设长度相同)所需的内存占用量的一小部分即可,因为实值每个向量元素需要 32 位,而布尔值只需要 1 位。


且采用的嵌入方式保持了聚类内和聚类间相似性的平衡,因此仍然捕捉到细粒度的聚类信息。例如,检查通过这种方式获得的聚类的语义结构,可以清楚地观察到果蝇词嵌入产生的语义上连贯的簇。

当然,也如论文中展示的结果所言,与 BERT 相比,果蝇启发的网络在分类精度上仍有小差距,但这个 “劣势” 被果蝇嵌入所需的计算资源显著减少的优势所抵消(同一测试果蝇网络数个小时内完成训练,GloVe 24 小时, BERTBASE 使用 16 个 TPUs 4 天),如下图所示:


最后,研究团队认为,此次果蝇实验得出的结论可以视为一个泛例,说明生物启发的算法可能比经典的 (非生物的) 算法计算效率更高,即使它们在精度方面略有下降。

Reference:
1、https://openreview.net/pdf?id=xfmSoxdxFCGa

关于数据实战派
数据实战派希望用真实数据和行业实战案例,帮助读者提升业务能力,共建有趣的大数据社区。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存