Seq2seq
Seq2seqは、自然言語処理のための機械学習手法の一系統である[1]。言語翻訳、画像キャプション、会話モデル、テキスト要約などの用途がある[2]。
歴史
編集2014年、Googleによって、機械翻訳に使用するためにこのアルゴリズムが開発された[2][信頼性要検証]。
初期の同様の研究としては、Tomáš Mikolovの2012年の博士論文もあった[3][要非一次資料]。2019年、Facebookは、記号積分と微分方程式の解法への利用を発表した。
同社は、Mathematica、MATLAB、Mapleといった市販ソリューションよりも高速かつ正確に複雑な方程式を解くことができると主張した。はじめに、表記上の特異性を除くために、方程式をツリー構造に解析する。次に、LSTMニューラルネットワークが、標準的なパターン認識機能を適用してツリーを処理する[4]。
2020年、Googleは、seq2seqベースのチャットボットMeenaをリリースした。これは、341 GBのデータセットで訓練した26億パラメータを持つ。Googleは、このチャットボットがOpenAIのGPT-2よりも1.7倍大きなモデル容量を持ち[5]、2020年5月に後継となった1,750億パラメータのGPT-3は『平文単語の45 TB(45,000 GB)のデータセットを570 GBまで絞り込んだもの』で訓練されたと主張した[6]。
2022年、Amazonは中規模(200億パラメータ)のseq2seq言語モデルであるAlexaTM 20Bを発表した。これは、エンコーダ-デコーダを使用して、少数ショット学習を行うものである。エンコーダーは入力の表現を出力して、デコーダーはそれをもとに別の言語に翻訳するなど特定のタスクを実行する。このモデルは、言語翻訳と要約において、はるかに大規模なGPT-3よりも優れた性能を示した。訓練では、ノイズリダクション(文字列中の欠落したテキストを適切に修復する)と因果言語モデリング(入力テキストの意味のある拡張)が組み合わされた。これにより、大規模な訓練ワークフローを行わずに、さまざまな言語間にわたって特徴を付加することができる。AlexaTM 20Bは、Flores-101のすべての言語ペアにわたって、少数ショット学習タスクによる最先端の性能を達成し、いくつかのタスクではGPT-3を上回った[7]。
手法
編集Seq2seqは、ある配列(sequence)を別の配列に変換することができる(配列変換)。この変換には、回帰型ニューラルネットワーク(RNN)や、勾配消失問題を避けるために長期・短期記憶(LSTM)やゲート付き回帰型ユニット(GRU)が使用される。各項目のコンテキストには前のステップの出力が使われる。主な構成部位は、一組のエンコーダーネットワークとデコーダーネットワークである。エンコーダーは、各項目を、その項目とコンテキストを含んだ対応する隠れベクトルに変換する。デコーダは、このプロセスを逆転させ、前の出力を入力コンテキストとして使用しながら、ベクトルを出力項目に変換する[2][信頼性要検証]。
最適化には次のような手法がある[2]。
- デコーダへの入力は、コンテキスト全体を格納する単一ベクトルである。アテンションにより、デコーダが入力配列を選択的に調べることを可能にする。
- 出力として単一の単語を選択するのではなく、いくつかの確率が高い選択肢を保持したツリーとして構造化する(アテンションスコアの集合に対してソフトマックス関数を使用)[8]。エンコーダーの状態は、アテンション分布により重み付けされ、平均化される[8]。
- バケット化
- 入力と出力のそれぞれに0を付け足して、配列を可変長にすることができる。ただし、配列長が100で入力がわずか3項目の場合、高価なスペースが無駄になる。バケットはさまざまな長さを取り、入力と出力の両方の長さを指定することができる。
訓練では通常、交差エントロピー損失関数が使用され、ある出力は後続の出力の確率が1未満になるようペナルティが課せられる[8]。
関連ソフトウェア
編集同様の手法を採用するソフトウェアとして、OpenNMT(Torch)、Neural Monkey(TensorFlow)、NEMATUS(Theano)などがある[9]。
関連項目
編集- 人工ニューラルネットワーク - 動物の脳を構成する生物学的な神経ネットワークをモデルにしたコンピューティングシステム
脚注
編集- ^ Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet (2014). "Sequence to sequence learning with neural networks". arXiv:1409.3215 [cs.CL]。
- ^ a b c d Wadhwa, Mani (2018年12月5日). “seq2seq model in Machine Learning” (英語). GeeksforGeeks. 2019年12月17日閲覧。
- ^ p. 94 of https://www.fit.vut.cz/study/phd-thesis-file/283/283.pdf, https://www.fit.vut.cz/study/phd-thesis-file/283/283_o2.pdf
- ^ “Facebook has a neural network that can do advanced math” (英語). MIT Technology Review (December 17, 2019). 2019年12月17日閲覧。
- ^ Mehta, Ivan (2020年1月29日). “Google claims its new chatbot Meena is the best in the world” (英語). The Next Web. 2020年2月3日閲覧。
- ^ Gage, Justin. “What's GPT-3?”. August 1, 2020閲覧。
- ^ Rodriguez, Jesus. “🤘Edge#224: AlexaTM 20B is Amazon's New Language Super Model Also Capable of Few-Shot Learning” (英語). thesequence.substack.com. 2022年9月8日閲覧。
- ^ a b c “Sequence 2 sequence Models”. スタンフォード大学 (2018年). 2023年5月20日閲覧。
- ^ “Overview - seq2seq”. google.github.io. 2019年12月17日閲覧。
外部リンク
編集- “A ten-minute introduction to sequence-to-sequence learning in Keras”. blog.keras.io. 2019年12月19日閲覧。
- Dugar, Pranay (2019年11月24日). “Attention — Seq2Seq Models” (英語). Medium. 2019年12月19日閲覧。
- Nag, Dev (2019年4月24日). “seq2seq: the clown car of deep learning” (英語). Medium. 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. (31 January 2020). "Towards a Human-like Open-Domain Chatbot". arXiv:2001.09977 [cs.CL]。