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

也就是从 201四、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 的记忆范围,令数据能够将距离其很远的文本信息利用起来。视频

解决“才怪”问题blog

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

这个问题的解决方案是使用两个 LSTM 编码器,同时从两个方向读取文本(即双向编码器)。这至关于在如今掌握了(文本的)将来信息。这很大程度上解决了问题。精度确实提升了。数据分析

Facebook 和 Google 遭遇的一个问题it

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

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

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

这也意味着 RNN 极度地计算密集,由于在整个任务运行完成以前,必须保存全部的中间结果。

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

相关文章
相关标签/搜索