基于生成文本理解自然语言处理神经网络
1. 引言
神经网络在众多领域得到了广泛应用,是当前机器学习/人工智能热潮的驱动力之一。它能够从现实世界的嘈杂数据中学习复杂模式,在多个应用场景中表现出色。然而,神经网络具有“不透明性”,其功能通常分散在网络的连接中,这使得我们难以解释网络实际学到了什么以及如何产生输出。
在自然语言处理(NLP)领域,循环神经网络是一种常用的模型。它逐字或逐字符地接收文本输入,输出可以是文本情感估计、翻译成另一种语言,或者是下一个单词/字符的概率分布。本文主要关注的是作为语言模型的循环神经网络,它可以根据网络输出选择下一个单词/字符,并将其反馈给网络,从而生成文本。这些网络生成的文本虽然可能没有实际意义,但在语法上是正确的。不过,目前尚不清楚网络学习到的语法是什么。
寻求神经网络解释主要有两个方向。近期的方法大多侧重于在神经元激活中寻找统计模式,而本文采用了一种较旧的研究路线,即构建一个有限状态自动机来近似网络的行为。语法可以通过识别它们的自动机来定义和分析,因此这种表示应该比网络本身更具可解释性,并且与统计方法不同,它能产生一个近似网络行为的正则语法。
以往从神经网络进行语法推断的研究主要集中在小型网络和简单语法上,似乎无法扩展到实际应用。此外,这些方法将神经元的激活水平视为向量空间中的坐标,然后使用欧几里得距离度量对这些空间中的点或通过tSNE投影到低维空间的点进行聚类。
本文提出的方法是从训练字符串集合构建前缀树自动机,并根据网络行为定义的相似性度量合并自动机中的状态,即从一个状态生成的最可能后缀。该方法适用于任何循环网络架构,但需要网络作为语言模型进行训练,以便其输出可以反馈给自己。
本文的