Seq2seq (Sequence to sequence )模型 ,是将序列 (Sequence )映射到序列的神經網絡機器學習 模型。這個模型最初設計用於改進機器翻譯 技術,可容許機器通過此模型發現及學習將一種語言的語句(詞語序列)映射到另一種語言的對應語句上。[ 1] 除此之外,Seq2Seq也能廣泛地應用到各種不同的技術上,如聊天機器人 、Inbox by Gmail 等,但需要有配對好的文本集才能訓練出對應的模型。[ 2]
Seq2seq 是用于自然语言处理的一系列机器学习 方法。[ 3] 应用领域包括机器翻译,图像描述,对话模型和文本摘要。[ 4]
历史
此算法最初由Google开发,并用于机器翻译 .[ 4]
在2019年, Facebook 宣布其用于求解 微分方程 。 相比 Mathematica ,MATLAB 和 Maple 等商业解决方案,该算法能够更快更精准的解决复杂方程。首先,方程被解析为树形结构来避免书写方式带来的偏差。 之后应用一个LSTM 神经网络,基于标准模式识别 来处理方程树。[ 5]
在2020年,谷歌发布了Meena,一个在341GB数据集上训练的26亿参数的seq2seq聊天机器人 。谷歌称,该聊天机器人的模型容量比OpenAI 的GPT-2多出1.7倍.[ 6]
技术
Seq2seq将输入序列转换为输出序列。它通过利用循环神经网络 (递归神经网络)或更常用的LSTM GRU 网络来避免梯度消失问题 。当前项的内容总来源于前一步的输出。Seq2seq主要由一个编码器和一个解码器组成。 编码器将输入转换为一个隐藏状态向量,其中包含输入项的内容。 解码器进行相反的过程,将向量转换成输出序列,并使用前一步的输出作为下一步的输入。[ 4]
优化包括:[ 4]
注意力机制 :解码器的输入只有一个单独的向量,这个向量包含输入序列的全部信息。注意力机制允许解码器有选择的分块地使用输入序列的信息。
束搜索,而不是选择单一的输出(文字)作为输出、多极有可能选择是保留,结构化作为一个树(使用 Softmax 上设置的注意力的分数[ 7] )。 平均编码器国家加权关注的分布。
存入桶:变序列长度是可能的,因为填补0,这可以做到的输入和输出。 然而,如果的序列长度为100和输入只有3项长、昂贵的空间被浪费。 桶可以不同规模和指定的输入和输出的长度。
训练通常使用通常使用交叉熵 损失函数 。[ 7]
相关的软件
采用类似的算法的软件包括OpenNMT(Torch ),Neural Monkey(TensorFlow )和NEMATUS(Theano)。[ 2]
参考
参考文献
^ Li, Zuchao and Cai, Jiaxun and He, Shexia and Zhao, Hai, Seq2seq dependency parsing, Proceedings of the 27th International Conference on Computational Linguistics, 2018: 3203––3214
^ 2.0 2.1 Overview - seq2seq . google.github.io. [2019-12-17 ] . (原始内容存档 于2019-09-25).
^ Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet. Sequence to sequence learning with neural networks. 2014. arXiv:1409.3215 [cs.CL ].
^ 4.0 4.1 4.2 4.3 Wadhwa, Mani. seq2seq model in Machine Learning . GeeksforGeeks. 2018-12-05 [2019-12-17 ] . (原始内容存档 于2019-12-17) (美国英语) .
^ Facebook has a neural network that can do advanced math . MIT Technology Review. December 17, 2019 [2019-12-17 ] . (原始内容 存档于2019-12-27) (美国英语) .
^ Mehta, Ivan. Google claims its new chatbot Meena is the best in the world . The Next Web. 2020-01-29 [2020-02-03 ] . (原始内容存档 于2020-01-30) (美国英语) .
^ 7.0 7.1 Hewitt, John. Sequence 2 sequence Models (PDF) . Stanford University . 2018. (原始内容存档 (PDF) 于2019-12-17).
外部链接
A ten-minute introduction to sequence-to-sequence learning in Keras . blog.keras.io. [2019-12-19 ] . (原始内容存档 于2018-05-18).
Dugar, Pranay. Attention — Seq2Seq Models . Medium. 2019-11-24 [2019-12-19 ] . (原始内容存档 于2020-09-12) (英语) .
Nag, Dev. seq2seq: the clown car of deep learning . Medium. 2019-04-24 [2019-12-19 ] . (原始内容存档 于2019-12-19) (英语) .
Adiwardana, Daniel; Luong, Minh-Thang; So, David R.; Hall, Jamie; Fiedel, Noah; Thoppilan, Romal; Yang, Zi; Kulshreshtha, Apoorv; Nemade, Gaurav; Lu, Yifeng; Le, Quoc V. (2020-01-31). "Towards a Human-like Open-Domain Chatbot". arXiv:2001.09977 [cs.CL].
可微分计算
概论 概念 应用 硬件 软件库 实现
人物 组织 架构
主题
分类