全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1774 0
2020-11-20
时间卷积网(TCN)从RNN接替NLP预测
简介: 我们最初的假设是,序列问题(语言,语音和其他问题)是RNN的自然领域。时空卷积网(TCN)是我们的主力CNN,具有一些新功能,在当今的主要应用中,其性能优于RNN。看起来RNN很可能是历史。
直到2014年或2015年,我们的DNN驱动的应用程序在文本和语音识别方面均通过了95%的准确度点,可用于整个一代的聊天机器人,个人助手和即时翻译器。
卷积神经网络(CNN)是公认的图像和视频识别的主力军,而递归神经网络(RNN)对于所有事物的语言来说都是相同的。
主要区别之一是CNN可以识别静态图像(或视频,一次考虑一帧)中的特征,而RNN则擅长于被认为是序列或时间相关问题的文本和语音。在这里,下一个预测的字符或单词或短语取决于(从左到右)引入时间和顺序概念的字符或单词或短语。
实际上,RNN擅长处理所有类型的序列问题,包括语音/文本识别,语言到语言的翻译,手写识别,序列数据分析(预测),甚至自动生成许多不同配置的代码。
在很短的时间内,对RNN的重大改进就占据了主导地位,包括LSTM(长期短期记忆)和GRU(门控循环单元),这两者都改善了RNN可以记住的范围,并且将数据从即时文本中吸收到其范围之外。含义。
解决“非”笑话问题
随着RNN从左到右的时间读取字符或单词,上下文成为一个问题。例如,在尝试预测评论的情绪时,前几条评论可能是正面的(例如,美食,良好的氛围),但可能以一些负面的评论(例如,糟糕的服务,高价格)结束,最终可能意味着评论是负。这在逻辑上等效于“不”笑话。``这是一个很棒的领带。不!'。
解决方案是通过同时工作两个LSTM编码器(双向编码器)一次在两个方向读取文本。这意味着将来自未来的信息(进一步深入到文本中)渗入到现在,但它在很大程度上解决了这个问题。精度提高。
Facebook和谷歌有问题
在Facebook和Google推出自动语言翻译器的早期,他们意识到他们有问题。翻译花了太长时间。
RNN有一个固有的设计问题。因为它们一次读取并解释一个单词(或字符)的输入文本,所以深度神经网络必须等待处理下一个单词,直到当前的单词处理完成为止。
这意味着RNN无法像CNN一样利用大规模并行处理(MPP)。当RNN / LSTM同时运行两种方式以更好地理解上下文时,尤其如此。
这也意味着它们非常耗费计算资源,因为必须存储所有中间结果,直到整个短语的处理完成为止。
在2017年初,谷歌和Facebook都采用了类似的解决方案,这是一种使用具有MPP功能的CNN来处理文本以进行语言到语言翻译的方法。在CNN中,计算不依赖于前一个时间步长的信息,从而使每个计算都可以自由进行大规模并行化。
Google的解决方案被称为ByteNet,Facebook的被称为FairSeq(以其内部Facebook人工智能研究(FAIR)团队的名字命名。FairSeq在GitHub上可用)。
Facebook说,他们的FairSeq网络运行速度比RNN基准快9倍。
工作原理-基础知识
考虑CNN以及它们如何将图像作为2D“补丁”(高度和宽度)来处理,跳转到文本仅需要您将文本视为1D对象(高1个单位,长n个单位)。
但是,尽管RNN并不直接预定义对象长度,但CNN确实是这样定义的。因此,使用CNN要求我们添加更多层,直到覆盖整个接收场为止。这可以并且确实会导致非常深的CNN,但是优点是,无论深度有多大,都可以并行处理每个CNN,以节省大量时间。
特殊酱料:门控+跳跃=注意
当然,它并不是那么简单,Google和Facebook技术都添加了一个称为“注意”功能的东西。
最初的Attention函数似乎是去年由Google Brain和多伦多大学的研究人员以Transformer的名称引入的。  在此处阅读原始研究论文。
到Facebook和Google都采用基本相同的功能时,它已成为具有两个独特功能的“注意”功能。
第一个被Facebook识别为“多跳”。与传统的RNN方法只看一次句子不同,多重跳跃允许系统以更像人工翻译的方式对句子进行多次“瞥见”。
每次瞥见都可能专注于名词或动词,而不必按顺序进行,这可以最深入地了解该通行证的含义。瞥视可能是独立的,也可能取决于先前的外观,然后将重点放在相关的形容词,副词或辅助动词上。
Facebook提供了此图,以显示法语到英语翻译的第一遍是对每个法语单词进行编码的单遍,然后是解码器的多跳例程,以选择最合适的英语翻译。
第二个功能是门控,它控制隐藏层之间的信息流。选通通过实质上允许CNN放大或缩小进行中的翻译以获得做出下一个决定的最佳上下文,从而确定哪种信息最能产生下一个单词。
超越语言翻译–时间卷积网(TCN)
到2017年中,Facebook和Google通过结合CNN和注意力功能解决了翻译速度问题。然而,更大的问题是,这种技术不仅可以加快翻译速度,还可以带来更多好处。我们是否应该查看以前假定只能使用RNN解决的所有问题类型?当然答案是肯定的。
2017年发表了许多研究; 有些字面意思是在Facebook和Google发布的同时出现的。涵盖翻译之外的更广泛问题的一个出色的工作是Shaojie Bai,J。Zico Kolter和Vladlen Koltun撰写的“对序列建模的通用卷积和递归网络进行的经验评估”(原文为本文)。
这些人已经将这种新架构标记为时间卷积网(TCN),尽管随着行业继续实施它们可能会发生变化。
他们的研究是TCN与RNN,LSTM和GRU的一系列面对面的基准竞争,涉及11种不同的行业标准RNN问题,而不仅仅是语言到语言的翻译。
他们的结论是:TCN不仅速度更快,而且在9例病例中准确率更高,并一并列出(下表中的粗体取自原始研究)。
TCN的优点/缺点
Bai Shajiee Bai,J。Zico Kolter和Vladlen Koltun也提供了TCN优点和缺点的有用列表。
速度很重要。更快的网络缩短了反馈周期。TCN提供的大规模并行性缩短了培训和评估周期。
TCN主要通过堆叠更多的卷积层,使用更大的膨胀因子或增加滤波器大小,在更改其接收场大小方面提供更大的灵活性。这样可以更好地控制模型的内存大小。
TCN的反向传播路径与序列的时间方向不同。这避免了梯度爆炸或消失的问题,这是RNN的主要问题。
训练所需的内存较低,尤其是在输入序列较长的情况下。
但是,研究人员指出,TCN可能不像常规的CNN应用那样容易适应转移学习,因为不同的领域对模型预测所需的历史记录数量可能有不同的要求。因此,当将模型从仅需要很少内存的域转移到需要更长内存的域时,由于没有足够大的接收场,TCN可能会表现不佳。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群