时间卷积网络(TCN)在 NLP 多领域发光,RNN 或将没落

也就是从 2014、15 年起,我们基于深度神经网络的应用就已经在文本和语音识别领域达到 95% 的准确率,可以用来开发新一代的聊天机器人、个人助理和即时翻译系统等。

卷积神经网络(Convolutional Neural Nets, CNNs)是图像和视频识别领域公认的主力军,而循环神经网络(Recurrent Neural Nets, RNNs)在自然语言处理领域的地位与其是相似的。

但二者的一个主要不同是,CNN 可以识别静态图像(或以帧分割的视频)中的特征,而 RNN 在文本和语音方面表现出色,因为这类问题属于序列或时间依赖问题。也就是说,待预测的后一个字符或单词依赖于前面的(从左到右)字符或单词,因此引入时间的概念,进而考虑到序列。

实际上,RNN 在所有的序列问题上都有良好表现,包括语音 / 文本识别、机器翻译、手写体识别、序列数据分析(预测),甚至不同配置下的自动编码生成等等。

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

fc338a372208d5ccf67d1cb4d1baf4d6fb4012b8

在很短的一段时期里,RNN 的改进版本大行其道,其中包括 LSTM(long short term memory,长短期记忆网络)和 GRU(gated recurring units,门循环单元)。这二者都改进了 RNN 的记忆范围,令数据可以将距离其很远的文本信息利用起来。

解决“才怪”问题

当 RNN 从左到右按顺序读取字符时,上下文就成了一个重要问题。比如,对一条评论进行情感分析时,刚开始的几句话可能是正面的(例如,食物好,气氛好)但以负面评论结束(如服务差,价格高),最后整条评论实际上是负面的。这其实在逻辑上等同于“才怪”的玩笑:“这个领带看着不错……才怪!”

这个问题的解决方案是使用两个 LSTM 编码器,同时从两个方向读取文本(即双向编码器)。这相当于在现在掌握了(文本的)未来信息。这很大程度上解决了问题。精度确实提高了。

Facebook 和 Google 遭遇的一个问题

早些年,当 Facebook 和 Google 发布各自的自动语言翻译系统时,他们意识到了一个问题——翻译耗时太长了。

这实际上是 RNN 在内部设计上存在的一个问题。由于网络一次只读取、解析输入文本中的一个单词(或字符),深度神经网络必须等前一个单词处理完,才能进行下一个单词的处理。

这意味着 RNN 不能像 CNN 那样进行大规模并行处理(massive parallel processing,MPP),特别是在 RNN/LSTM 对文本进行双向处理时。

这也意味着 RNN 极度地计算密集,因为在整个任务运行完成之前,必须保存所有的中间结果。

2017 年初,Google 和 Facebook 针对该问题提出了相似的解决方案——在机器翻译系统中使用 CNN,以便将大规模并行处理的优势发挥出来。在 CNN 中,计算不依赖于之前时间的信息,因此每个计算都是独立的,可以并行起来。

原文链接

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页