(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】推論器、推論方法および推論プログラム
(51)【国際特許分類】
G06F 40/44 20200101AFI20240115BHJP
G06N 3/0455 20230101ALI20240115BHJP
【FI】
G06F40/44
G06N3/0455
(21)【出願番号】P 2019133107
(22)【出願日】2019-07-18
【審査請求日】2022-06-07
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、総務省、グローバルコミュニケーション計画の推進-多言語音声翻訳技術の研究開発及び社会実証-産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チェン ケハイ
(72)【発明者】
【氏名】ワン ルイ
(72)【発明者】
【氏名】内山 将夫
(72)【発明者】
【氏名】隅田 英一郎
【審査官】成瀬 博之
(56)【参考文献】
【文献】Ning Dai 他3名,Style Transformer: Unpaired Text Style Transfer witheout Disentangled Latent Representation[online],2019年06月21日,[2020年08月28日検索],インターネット<URL:https://arxiv.org/pdf/1905.05621v2.pdf>
【文献】瓦祐希 他2名,ニューラル機械翻訳における事前並び替えの影響分析,言語処理学会第25回年次大会 発表論文集[online],日本,言語処理学会,2019年03月04日,1455-1458頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06N 3/02-3/0499
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
入力シーケンスに対して対応する出力シーケンスを出力する学習済ニューラルネットワークからなる推論器であって、
前記入力シーケンスから中間シーケンスを出力するエンコーダと、
前記エンコーダから出力される中
間シーケンスおよび先に出力された出力シーケンスに基づいて前記出力シーケンスを出力するデコーダとを備え、
前記エンコーダおよび前記デコーダの少なくとも一方は、
第1のシーケンスに含まれる各トークンの値を示す情報と各トークンが前記
第1のシーケンス内のいずれの位置に存在しているのかを示す第1の位置情報とを有する第1のセンテンス表現を学習済self-Attentionネットワークに入力して、中間センテンス表現を生成する第1の生成部を備え、前記学習済self-Attentionネットワークは、
共通のテンソルに基づく、検索対象を示すクエリと
被検索対象を示すキーおよび
対応する値を示すバリューとの組を用いた学習により生成されており、
前記エンコーダにおいては、前記入力シーケンスが前記第1のシーケンスとして取り扱われ、前記デコーダにおいては、前記先に出力された出力シーケンスが前記第1のシーケンスとして取り扱われ、
前記第1のセンテンス表現
と前記中間センテンス表現
との線形結合を入力とする活性化関数に従って位置ペナルティベクトルを決定し、当該決定された位置ペナルティベクトルを前記第1の位置情報に乗じることで第2の位置情報を生成するとともに、前記第2の位置情報と前記中間センテンス表現とを加算した結果を層正則化することで、隠れ状態表現を生成する第2の生成部と、
前記中間センテンス表現を位置シフトした結果と前記隠れ状態表現とを加算した結果を層正則化することで、第2のセンテンス表現を生成する第3の生成部とを備え
、前記エンコーダにおいては、前記第2のセンテンス表現に基づいて前記中間シーケンスが生成され、前記デコーダにおいては、前記第2のセンテンス表現に基づいて前記出力シーケンスが生成される、推論器。
【請求項2】
学習済ニューラルネットワークを用いて入力シーケンスに対応する出力シーケンスを出力する推論方法であって、前記学習済ニューラルネットワークは、前記入力シーケンスから中間シーケンスを出力するエンコーダと、前記エンコーダから出力される中
間シーケンスおよび先に出力された出力シーケンスに基づいて前記出力シーケンスを出力するデコーダとを備え、
第1のシーケンスに含まれる各トークンの値を示す情報と各トークンが前記
第1のシーケンス内のいずれの位置に存在しているのかを示す第1の位置情報とを有する第1のセンテンス表現を学習済self-Attentionネットワークに入力して、中間センテンス表現を生成するステップを備え、前記学習済self-Attentionネットワークは、
共通のテンソルに基づく、検索対象を示すクエリと
被検索対象を示すキーおよび
対応する値を示すバリューとの組を用いた学習により生成されており、
前記エンコーダにおいては、前記入力シーケンスが前記第1のシーケンスとして取り扱われ、前記デコーダにおいては、前記先に出力された出力シーケンスが前記第1のシーケンスとして取り扱われ、
前記第1のセンテンス表現
と前記中間センテンス表現
との線形結合を入力とする活性化関数に従って位置ペナルティベクトルを決定し、当該決定された位置ペナルティベクトルを前記第1の位置情報に乗じることで第2の位置情報を生成するとともに、前記第2の位置情報および前記中間センテンス表現とを加算した結果を層正則化することで、隠れ状態表現を生成するステップと、
前記中間センテンス表現を位置シフトした結果と前記隠れ状態表現とを加算した結果を層正則化することで、第2のセンテンス表現を生成するステップとを備え
、前記エンコーダにおいては、前記第2のセンテンス表現に基づいて前記中間シーケンスが生成され、前記デコーダにおいては、前記第2のセンテンス表現に基づいて前記出力シーケンスが生成される、推論方法。
【請求項3】
コンピュータに請求項
2に記載の推論方法を実行させるための推論プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1または複数のトークンを含む入力シーケンスに対応する出力シーケンスを出力する推論器、推論方法および推論プログラムに関する。
【背景技術】
【0002】
自然言語処理の技術分野においては、Attentionベースの様々なモデルが提案されている。このようなAttentionベースのモデルの一例として、機械翻訳などに適用可能なTransformerと呼ばれるモデルが注目されている(非特許文献1)。
【0003】
Transformerは、self-Attentionネットワーク(SAN)を用いることで高い性能を有している。Transformerは、センテンス内の単語間の語順依存性を明示的にエンコードする位置エンコーディング(positional encoding)メカニズム(非特許文献2など参照)を用いて、順序付けされた位置埋め込み(positional embedding)シーケンスを生成する。Transformerにおいては、翻訳を予測するためのセンテンス表現を学習するために、SANが並列処理(multi-head)に学習されるとともに、SANは多層的(multi-layer)に構成されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. Gomez, L. Kaiser, and I. Polosukhin, "Attention is all you need," in CoRR abs/1706.03762, 2017.
【文献】Jonas Gehring, Michael Auli, David Grangier, and Yann Dauphin, "A convolutional encoder model for neural machine translation," In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 123-135, Vancouver, Canada. Association for Computational Linguistics, 2017.
【文献】Michel Galley and Christopher D. Manning, "A simple and effective hierarchical phrase reordering model," In Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing, pages 848-856, Honolulu, Hawaii. Association for Computational Linguistics, 2008.
【文献】Isao Goto, Masao Utiyama, and Eiichiro Sumita, "Post-ordering by parsing with itg for japanese-english statistical machine translation, ACM Transactions on Asian Language Information Processing, 12(4):17:1-17:22, 2013.
【文献】Ilya Sutskever, Oriol Vinyals, and Quoc V Le, "Sequence to sequence learning with neural networks," In Advances in neural information processing systems, pages 3104-3112. Curran Associates, Inc, 2014.
【文献】Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio, "Neural machine translation by jointly learning to align and translate," In Proceedings of the 3rd International Conference on Learning Representations, San Diego, CA, 2015.
【文献】Jinchao Zhang, Mingxuan Wang, Qun Liu, and Jie Zhou, "Incorporating word reordering knowledge into attention-based neural machine translation," In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1524-1534, Vancouver, Canada. Association for Computational Linguistics, 2017.
【文献】Toshiaki Nakazawa, Manabu Yaguchi, Kiyotaka Uchimoto, Masao Utiyama, Eiichiro Sumita, Sadao Kurohashi, and Hitoshi Isahara, "ASPEC: Asian scientific paper excerpt corpus," In Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC 2016), pages 2204-2208, Portoroz, Slovenia. European Language Resources Association (ELRA), 2016.
【文献】Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Jeff Klingner, Apurva Shah, Melvin Johnson, Xiaobing Liu, Lukasz Kaiser, Stephan Gouws, Yoshikiyo Kato, Taku Kudo, Hideto Kazawa, Keith Stevens, George Kurian, Nishant Patil, Wei Wang, Cliff Young, Jason Smith, Jason Riesa, Alex Rudnick, Oriol Vinyals, Greg Corrado, Macduff Hughes, and Jeffrey Dean, "Google’sneural machine translation system: Bridging the gap between human and machine translation,", CoRR, abs/1609.08144, 2016.
【文献】Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin, "Convolutional sequence to sequence learning," In Proceedings of the 34th International Conference on Machine Learning, volume 70 of Proceedings of Machine Learning Research, pages 1243-1252, International Convention Centre, Sydney, Australia. PMLR, 2017.
【文献】Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani, "Self-attention with relative position representations," In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers), pages 464-468, New Orleans, Louisiana. Association for Computational Linguistics, 2018.
【文献】Fandong Meng and Jinchao Zhang, "DTMT: A novel deep transition architecture for neural machine translation," CoRR, abs/1812.07807, 2018.
【文献】Xiang Kong, Zhaopeng Tu, Shuming Shi, Eduard H. Hovy, and Tong Zhang, "Neural machine translation with adequacy-oriented learning," CoRR, abs/1811.08541, 2018.
【文献】Yang Zhao, Jiajun Zhang, Zhongjun He, Chengqing Zong, and HuaWu, "Addressing troublesome words in neural machine translation," In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 391-400, Brussels, Belgium. Association for Computational Linguistics, 2018a.
【発明の概要】
【発明が解決しようとする課題】
【0005】
Transformerにおいて、位置埋め込みは、単語(word)間の順序関係を順次エンコーディングすることに着目するのみである。しかしながら、人間による現実の発話を考慮すると、文脈や状況に応じて発話される単語の順序は変化し得る。このような発話される単語の順序の変化についてなんら考慮されていない。
【0006】
本発明は、入力シーケンスに含まれる各トークンが当該入力シーケンス内のいずれの位置に存在しているのかを示す位置情報を用いる学習済ニューラルネットワークの性能を向上させることを目的とする。
【課題を解決するための手段】
【0007】
ある実施の形態によれば、入力シーケンスに対して対応する出力シーケンスを出力する学習済ニューラルネットワークからなる推論器が提供される。推論器は、入力シーケンスに含まれる各トークンの値を示す情報と各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す第1の位置情報とを有する第1のセンテンス表現に基づいて、中間センテンス表現を生成する第1の生成部と、第1のセンテンス表現および中間センテンス表現に基づいて、第1の位置情報を修正することで第2の位置情報を生成するとともに、第2の位置情報および中間センテンス表現に基づいて、隠れ状態表現を生成する第2の生成部と、中間センテンス表現および隠れ状態表現に基づいて、第2のセンテンス表現を生成する第3の生成部とを含む。
【0008】
第2の生成部は、第1のセンテンス表現と中間センテンス表現との線形結合を入力とする活性化関数に従って係数ベクトルを生成し、生成した係数ベクトルを第1の位置情報に乗じることで第2の位置情報を生成するようにしてもよい。
【0009】
推論器は、各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す第1の位置情報を出力する位置情報出力部をさらに含んでいてもよい。
【0010】
第1の生成部は、第1のセンテンス表現を学習済self-Attentionネットワークに入力して中間センテンス表現を生成するようにしてもよい。
【0011】
推論器は、入力シーケンスから中間シーケンスを出力するエンコーダと、エンコーダから出力される中間表現のシーケンスおよび出力された出力シーケンスに基づいて出力シーケンスを出力するデコーダとを含んでいてもよい。エンコーダおよびデコーダの少なくとも一方は、第1の生成部、第2の生成部および第3の生成部を含む学習済ブロックを含んでいてもよい。
【0012】
複数の学習済ブロックがスタックされていてもよい。
別の実施の形態によれば、学習済ニューラルネットワークを用いて入力シーケンスに対応する出力シーケンスを出力する推論方法が提供される。推論方法は、入力シーケンスに含まれる各トークンの値を示す情報と各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す第1の位置情報とを有する第1のセンテンス表現に基づいて、中間センテンス表現を生成するステップと、第1のセンテンス表現および中間センテンス表現に基づいて、第1の位置情報を修正することで第2の位置情報を生成するとともに、第2の位置情報および中間センテンス表現に基づいて、隠れ状態表現を生成するステップと、中間センテンス表現および隠れ状態表現に基づいて、第2のセンテンス表現を生成するステップとを含む。
【0013】
さらに別の実施の形態によれば、コンピュータに上記の推論方法を実行させるための推論プログラムが提供される。
【発明の効果】
【0014】
本発明によれば、入力シーケンスに含まれる各トークンが当該入力シーケンス内のいずれの位置に存在しているのかを示す位置情報を用いる学習済ニューラルネットワークの性能を向上できる。
【図面の簡単な説明】
【0015】
【
図1】本発明の関連技術に従うTransformerの一例を示す模式図である。
【
図2】本実施の形態に従うTransformerを示す模式図である。
【
図3】本実施の形態に従うTransformerにおける処理概要を説明するための模式図である。
【
図4】本実施の形態に従うTransformerを含む推論器を実現するハードウェア構成の一例を示す模式図である。
【
図5】英語-ドイツ間における並び替え情報の影響を示すグラフである。
【
図6】中国語-英語間における並び替え情報の影響を示すグラフである。
【
図7】日本語-英語間における並び替え情報の影響を示すグラフである。
【発明を実施するための形態】
【0016】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0017】
[A.関連技術]
本発明の関連技術として、一般的なTransformerについて説明する。
【0018】
図1は、本発明の関連技術に従うTransformer100の一例を示す模式図である。
図1を参照して、Transformer100は、学習済モデルであり、ニュートラルネットワークの一形態に相当する。
【0019】
Transformer100は、スタックされたN層分のエンコーダブロック20とM層分のデコーダブロック40とを含む。エンコーダブロック20およびデコーダブロック40は、学習済ブロックに相当する。スタックされたN層分のエンコーダブロック20をまとめてエンコーダ200とも称す。スタックされたM層分のデコーダブロック40をまとめてデコーダ400とも称す。
【0020】
エンコーダ200は、入力シーケンスから中間シーケンスを出力する。デコーダ40は、エンコーダ20から出力される中間表現のシーケンスおよび先に出力された出力シーケンスに基づいて出力シーケンスを出力する。
【0021】
エンコーダ200(すなわち、N層分のエンコーダブロック20のうち先頭層)には、入力埋め込み(Input Embedding)層4、位置埋め込み層(Positional Embedding)層6および加算器8により生成される入力トークン列が入力される。エンコーダ200(すなわち、N層分のエンコーダブロック20のうち最終層)は、算出結果として、中間センテンス表現を出力する。
【0022】
入力埋め込み層4は、センテンスなどの入力シーケンス(Inputs)2を、所定単位(例えば、単語(word)など)の単位で1または複数のトークンに分割するとともに、各分割したトークンの値を示す所定次元のベクトルを生成する。例えば、入力シーケンス2は、翻訳元の言語のセンテンス(ソースセンテンス)に相当する。その結果、入力埋め込み層4は、単語埋め込み(word embedding)として、所定次元のベクトルをトークンの数だけ含むシーケンスを出力する。
【0023】
位置埋め込み層6は、各トークンが入力シーケンス2内のいずれの位置に存在しているのかを示す値である位置埋め込み(positional embedding)を出力する。
【0024】
加算器8は、入力埋め込み層4からのシーケンスに、位置埋め込み層6からの位置埋め込みを付加する。その結果、加算器8は、センテンス内に含まれる各トークンの値(例えば、単語)を示すベクトルに、各トークンがセンテンス内のいずれの位置に存在するのかを示す値(入力シーケンス2内の相対的または絶対的な位置)を付加した入力トークン列(ベクトル)を出力する。
【0025】
エンコーダブロック20の各々は、MHA(Multi-head Attention)層22と、フィードフォワード(Feed Forward)層26と、加算・正則化(Add & Norm)層24,28とを含む。
【0026】
MHA層22は、入力トークン列(ベクトル)についてAttentionを算出する。Attentionは、クエリに対してメモリから必要な情報を抽出する処理を意味する。self-Attentionは、クエリおよびメモリ(キーおよびバリュー)が共通のテンソルを使用するAttentionを意味する。
【0027】
MHA層22は、並列配置された複数のself-Attentionを含む。MHA層22は、クエリおよびメモリ(キーおよびバリュー)をself-Attentionの数で分割し、各分割しクエリおよびメモリ(キーおよびバリュー)を処理し、その処理結果を結合する。すなわち、MHA層22においては、Attentionを算出する処理が並列化されている。
【0028】
加算・正則化層24は、入力トークン列(ベクトル)にMHA層22から出力されるベクトルを加算した上で、任意の手法で正則化(normalize)する。
【0029】
フィードフォワード層26は、入力されたベクトルに対して位置(すなわち、入力される時刻)をシフトする。
【0030】
加算・正則化層28は、加算・正則化層24から出力されるベクトルに、フィードフォワード層26から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0031】
デコーダ400(すなわち、M層分のデコーダブロック40のうち先頭層)には、出力埋め込み(Output Embedding)層14、位置埋め込み層(Positional Embedding)層16および加算器18により生成される出力トークン列が入力される。デコーダ400(すなわち、M層分のデコーダブロック40のうち最終層)は、算出結果として、出力シーケンスを出力する。
【0032】
出力埋め込み層14は、既出力シーケンス(前回の出力シーケンスに対して時刻を一致させるためにシフトされたもの)(Outputs(Shifted right))12を、所定単位の単位で1または複数のトークンに分割するとともに、各分割したトークンの値を示す所定次元のベクトルを生成する。その結果、出力埋め込み層14は、出力埋め込み(output embedding)として、所定次元のベクトルをトークンの数だけ含むトークン列を出力する。
【0033】
位置埋め込み層16は、各トークンが既出力シーケンス12内のいずれの位置に存在しているのかを示す値である位置埋め込み(positional embedding)を出力する。
【0034】
加算器18は、出力埋め込み層14からのトークン列に、位置埋め込み層16からの位置埋め込みを付加する。その結果、加算器18は、センテンス内に含まれる各トークンの値を示すベクトルに、各トークンがセンテンス内のいずれの位置に存在するのかを示す値(既出力シーケンス12内の相対的または絶対的な位置)を付加した出力トークン列(ベクトル)を出力する。
【0035】
デコーダブロック40の各々は、MMHA(Masked Multi-head Attention)層42と、MHA(Multi-head Attention)層46と、フィードフォワード(Feed Forward)層50と、加算・正則化(Add & Norm)層44,48,52とを含む。すなわち、デコーダブロック40は、エンコーダブロック20と類似した構成となっているが、MMHA層42および加算・正則化層44を含んでいる点が異なっている。
【0036】
MMHA層42は、先に算出されたベクトルのうち存在し得ないベクトルに対してマスク処理を実行する。
【0037】
加算・正則化層44は、出力トークン列(ベクトル)にMMHA層42から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0038】
MHA層46は、エンコーダブロック20の加算・正則化層28から出力される中間センテンス表現、および、加算・正則化層44から出力されるベクトルについて、Attentionを算出する。MHA層46の基本的な処理は、MHA層22と同様である。
【0039】
加算・正則化層48は、加算・正則化層44から出力されるベクトルに、MHA層46から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0040】
フィードフォワード層50は、入力されたベクトルに対して位置(すなわち、入力される時刻)をシフトする。
【0041】
加算・正則化層52は、MHA層46から出力されるベクトルに、フィードフォワード層50から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0042】
Transformer100は、出力層として、線形結合(Linear)層60およびソフトマックス(Softmax)層62を含む。線形結合層60は、エンコーダ200の出力側(すなわち、M層分のデコーダブロック40のうち最終層)に配置され、デコーダ400からの出力シーケンスを線形結合する。
【0043】
ソフトマックス層62は、線形結合層60から出力されるベクトルをソフトマックス関数で算出した結果を出力シーケンス64として決定する。出力シーケンス64は、入力シーケンス2(ソースセンテンス)に対応する翻訳先のセンテンス(ターゲットセンテンス)の確率を示す。
【0044】
[B.課題および解決手段]
次に、本発明の関連技術に従うTransformer100に対する課題および解決手段について概略する。
【0045】
フレーズベース統計機械学習(PBSMT)において、並び替えモデル(recording model)は、翻訳性能を向上させるために重要な役割を果たす。特に、並び替えモデルは、中国語-英語間翻訳、および、日本語-英語間翻訳といった、語順が大きく異なる言語間の翻訳に有効である(非特許文献3および非特許文献4など参照)。従来のPBSMTでは、二言語間のパラレルセンテンスペアから大規模な並び替えルールを学習することで、並び替えモデルを生成する。このような並び替えモデルは、オリジナルの単語の合理的な翻訳順序を保証するために、翻訳デコーディング処理に組み込まれることも多い。
【0046】
このようなPBSMTについての明示的な並び替えモデルに対して、RNNベースのニューラル機械翻訳(NMT)をセンテンス内の単語間の語順依存性を黙示的にエンコードするニューラルネットワークに基づかせることで、流ちょうな翻訳を実現することが報告されている(非特許文献5および非特許文献6など参照)。
【0047】
さらに、固定サイズのウィンドウ内における位置ベースのAttenntionを、コンテンツベースのAttenntionに追加することで、RNNベースのNMTに対して顕著に性能を向上できることが報告されている(非特許文献7参照)。これは、単語の並び替え情報は、NMTに対しても有効であることを意味する。
【0048】
上述したように、単語の並び替え情報は、翻訳タスクに有効であると考えられるものの、
図1に示すようなTransformer100においては、センテンス内における並び替え情報については何ら明示的に考慮されていない。また、NMTにおける並び替えによる問題は、非特許文献7に示される以上には深く研究されていない。
【0049】
本願発明者らは、Transformer100などの位置埋め込み(positional embedding)を利用するNMTにおいて、単語の並び替え情報を考慮しないことで潜在的に性能を低下させているという新たに課題を見出した。
【0050】
そこで、本願発明者らは、Transformer100などの位置埋め込み(positional embedding)を利用するNMTにおいて、並び替え情報を付加することで、性能を高めるという新たな解決手段に想到した。
【0051】
以下、このような新たな解決手段を実現するための実施の形態について説明する。
[C.本実施の形態に従うニューラルネットワーク]
本実施の形態に従うニューラルネットワークの一例として、
図1に示すTransformer100に並び替え情報を付加するための構成を有するTransformer100Aについて説明する。Transformer100Aは、入力シーケンスに対して対応する出力シーケンスを出力する学習済ニューラルネットワークからなる推論器に相当する。但し、本発明の技術的範囲は、Transformerに限定されるものではなく、位置埋め込み(positional embedding)を用いるニューラルネットワークの全般に適用可能である。
【0052】
図2は、本実施の形態に従うTransformer100Aを示す模式図である。
図2に示すTransformer100Aは、
図1に示すTransformer100に比較して、並び替え埋め込み(Reordering Embedding)層34および加算器36をさらに含むエンコーダブロック20A、および、並び替え埋め込み層54および加算器56をさらに含むデコーダブロック40Aを含む。なお、後述するように、並び替え埋め込み層は、エンコーダブロックおよびデコーダブロックのいずれか一方に配置されていればよく、エンコーダブロックおよびデコーダブロックの両方に配置されている必要はない。
【0053】
本実施の形態に従うTransformer100Aにおいては、単語の並び替え情報をモデル内部で発生することによって、入力された入力シーケンス2内の単語順序の変更に対応した推論結果を生成する。
【0054】
図3は、本実施の形態に従うTransformer100Aにおける処理概要を説明するための模式図である。
図3(a)~(c)を参照しつつ、本実施の形態に従うTransformer100Aにおける数学的な処理の詳細について説明する。
【0055】
(c1:位置エンコーディング(positional encoding)メカニズム)
まず、Transformer100Aにおける位置エンコーディングメカニズムについて説明する。Transformer100Aにおいては、センテンス内の単語間の語順依存性をエンコードする。例えば、長さJのソースセンテンスの単語埋め込みX={x1,・・・,xJ}を仮定すると、位置埋め込みシーケンスは、以下の(1)式に従って、単語毎の位置に基づいて算出される。
【0056】
【0057】
ここで、jはセンテンス内の単語位置を示す位置インデックスであり、iは位置インデックスの次元数を示す。したがって、オリジナル位置埋め込みPEは、以下の(2)式のように算出される。
【0058】
【0059】
pejの各々は、対応する単語埋め込みxJに付加され、結合された埋め込みvjは、以下の(3)式のように示される。
【0060】
【0061】
最終的に、結合された埋め込みvjのシーケンス{v1,・・・,vJ}は、初期センテンス表現H0となる。その後、センテンス表現H0は、センテンス表現を学習するためにMHA(Multi-head Attention)層へ入力される。
【0062】
このように、位置埋め込み層6および位置埋め込み層16は、各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す第1の位置情報(オリジナル位置埋め込みPE)を出力する位置情報出力部に相当する。
【0063】
(c2:self-Attentionメカニズム)
次に、MHA層におけるself-Attentionメカニズムについて説明する。MHA層では、複数のself-Attentionが並列配置されており、以下の説明は、self-Attentionのうち1つに着目するものである。
【0064】
self-Attentionメカニズムは、1つ前のセクションにおいて取得されたセンテンス表現H0についてセンテンス表現を学習するために用いられる。通常、Transformerメカニズムにおいては、同一構成のエンコーダブロック20(あるいは、デコーダブロック40)がN個スタックされた構成が用いられる。エンコーダブロック20(あるいは、デコーダブロック40)の各々は、2つのサブ層を有している。すなわち、1つのサブ層がself-Attentionであり、もう1つのサブ層が位置順に全結合されたフィードフォワードネットワークである。これらのサブ層の間は残差結合されており、その結果が正則化される。
【0065】
最終的に、センテンス表現を学習するスタックは、以下の(4)式のように表現できる。
【0066】
【0067】
ここで、SelfAttn(・)、LN(・)、FFNn(・)は、N個のエンコーダブロック20(あるいは、デコーダブロック40)の各々における、self-Attentionのネットワーク、層正則化、フォードフォワードネットワークにそれぞれ対応する。また、[・・・]NはN層分のスタックを意味する。Transformerのエンコーダ200およびデコーダ400において、n番目の層(エンコーダブロック20またはデコーダブロック40)のSelfAttn(・)は、前段である(n-1)番目の層(エンコーダブロック20またはデコーダブロック40)の出力Hn-1について、以下の(5)式に従って、Attenntionを算出する。
【0068】
【0069】
ここで、{Q,K,V}は、クエリ、キー、バリューをそれぞれ意味する。入力された中間センテンス表現Hn-1を変換して{Q,K,V}が生成される。dkは、クエリおよびキーの次元数を示す。最終的には、N番目の層からのセンテンス表現HNがTransformerからセンテンス表現(推論結果)として出力される。
【0070】
このように、エンコーダブロック20のMHA層22およびデコーダブロック40のMMHA層42は、第1のセンテンス表現(センテンス表現H0あるいはセンテンス表現Hn-1)に基づいて、中間センテンス表現(中間センテンス表現Hn)を生成する第1の生成部に相当する。第1のセンテンス表現は、入力シーケンスに含まれる各トークンの値を示す情報(単語埋め込みxJ)と各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す第1の位置情報(オリジナル位置埋め込みPE)とを有している。
【0071】
本実施の形態に従うTransformer100Aにおいては、エンコーダブロック20のMHA層22およびデコーダブロック40のMMHA層42は、第1のセンテンス表現(センテンス表現H0あるいはセンテンス表現Hn-1)を学習済self-Attentionネットワークに入力して中間センテンス表現(中間センテンス表現Hn)を生成する。
【0072】
(c3:並び替え埋め込み(Reordering Embedding))
次に、並び替え埋め込み層34および加算器36、あるいは、並び替え埋め込み層54および加算器56によって実現される並び替え情報の抽出および付加に関する処理について説明する。
【0073】
並び替え情報を抽出するために、本実施の形態においては、所与の単語およびその単語を含むセンテンスのグローバルコンテキストに基づいて、位置ペナルティベクトルを学習する。位置ペナルティベクトルは、所与の単語の位置埋め込みに対してペナルティを与えることで、新たな並び替え埋め込みを生成するために用いられる。最終的に、これらの並び替え埋め込みは、中間センテンス表現に付加されて、実質的に単語の並び替えを実現する。このような並び替え埋め込みを付加する処理は、以下の3ステップにより実現できる。
【0074】
(i)位置ペナルティベクトル
【0075】
【0076】
図3(a)に示すように、オリジナル位置埋め込みPEおよび単語埋め込みXをself-Attentionに適用することで、中間センテンス表現を生成でき、さらに、
図3(b)に示すように、生成された中間センテンス表現から位置ペナルティベクトルPP
nを算出できる。
【0077】
(ii)並び替え埋め込み
位置ペナルティベクトルPPnは、以下の(7)式に従って、オリジナル位置埋め込みPEに対してペナルティを与えるために用いられる。
【0078】
【0079】
ここで、位置埋め込みPEの各要素は、ゼロから1までの確率が乗じられるので、RE
nは並び替え埋め込み(Reordering Embedding)と称される。
図3(c)に示すように、位置ペナルティベクトルPP
nをオリジナル位置埋め込みPEに適用することで、並び替え埋め込みRE
nを生成できる。
【0080】
(iii)並び替えの実現
【0081】
【0082】
ここで、LNは層正則化を意味する。その結果、並び替えが意識された(reordering-aware)センテンス隠れ状態Cnが取得できる。
【0083】
このように、エンコーダブロック20の並び替え埋め込み層34およびデコーダブロック40の並び替え埋め込み層54は、第1のセンテンス表現(センテンス表現H0あるいはセンテンス表現Hn-1)および中間センテンス表現に基づいて、第1の位置情報(オリジナル位置埋め込みPE)を修正することで第2の位置情報(並び替え埋め込みREn)を生成するとともに、第2の位置情報および中間センテンス表現に基づいて、隠れ状態表現(センテンス隠れ状態Cn)を生成する第2の生成部に相当する。
【0084】
上述の(6)式に示したように、並び替え埋め込み層34および並び替え埋め込み層54は、第1のセンテンス表現(センテンス表現H0あるいはセンテンス表現Hn-1)と中間センテンス表現との線形結合を入力とする活性化関数(例えば、sigmoid関数)に従って係数ベクトル(位置ペナルティベクトルPPn)を生成し、生成した係数ベクトルを第1の位置情報(オリジナル位置埋め込みPE)に乗じることで第2の位置情報(並び替え埋め込みREn)を生成する。
【0085】
(c4:並び替え埋め込みを伴うself-Attentionネットワーク(SAN))
センテンスのオリジナル位置埋め込みは、Transformerが単語間の語順依存性が再帰的に取得されてしまうことを防止するために用いられる。これによって、スタックされたSANがセンテンス表現を完全に並列に学習することを保証する。学習済REnは、センテンスのオリジナル位置埋め込みと類似している。そのため、学習済REnについても、既存のSANを用いて容易にスタックして、機械翻訳についての並び替えが意識されたセンテンス表現を出力できる。上述の(4)式に従うと、並び替え埋め込みを用いてSANをスタックすると、以下の(9)式のようになる。
【0086】
【0087】
ここで、H0は、上述したように初期センテンス表現である。最終的に、機械翻訳についての並び替えが意識されたセンテンス表現HNが出力される。
【0088】
このように、エンコーダブロック20のフィードフォワード層26およびデコーダブロック40のフィードフォワード層50は、中間センテンス表現および隠れ状態表現(センテンス隠れ状態Cn)に基づいて、第2のセンテンス表現(センテンス表現Hn)を生成する第3の生成部に相当する。
【0089】
[D.ハードウェア構成]
次に、本実施の形態に従うTransformer100Aを含む推論器を実現するためのハードウェア構成の一例について説明する。
【0090】
図4は、本実施の形態に従うTransformer100Aを含む推論器を実現するハードウェア構成の一例を示す模式図である。Transformer100Aは、典型的には、コンピュータの一例である情報処理装置500を用いて実現される。
【0091】
図4を参照して、Transformer100Aを実現する情報処理装置500は、主要なハードウェアコンポーネントとして、CPU(central processing unit)502と、GPU(graphics processing unit)504と、主メモリ506と、ディスプレイ508と、ネットワークインターフェイス(I/F:interface)510と、二次記憶装置512と、入力デバイス522と、光学ドライブ524とを含む。これらのコンポーネントは、内部バス528を介して互いに接続される。
【0092】
CPU502および/またはGPU504は、本実施の形態に従うTransformer100Aの実現に必要な処理を実行するプロセッサである。CPU502およびGPU504は、複数個配置されてもよいし、複数のコアを有していてもよい。
【0093】
主メモリ506は、プロセッサ(CPU502および/またはGPU504)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
【0094】
ディスプレイ508は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
【0095】
ネットワークインターフェイス510は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス510としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
【0096】
入力デバイス522は、ユーザからの指示や操作などを受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス522は、学習およびデコーディングに必要な音声信号を収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受け付けるためのインターフェイスを含んでいてもよい。
【0097】
光学ドライブ524は、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク526に格納されている情報を読出して、内部バス528を介して他のコンポーネントへ出力する。光学ディスク526は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ524が光学ディスク526からプログラムを読み出して、二次記憶装置512などにインストールすることで、コンピュータが情報処理装置500として機能するようになる。したがって、本発明の主題は、二次記憶装置512などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク526などの記録媒体でもあり得る。
【0098】
図4には、非一過的な記録媒体の一例として、光学ディスク526などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
【0099】
二次記憶装置512は、コンピュータを情報処理装置500として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
【0100】
より具体的には、二次記憶装置512は、図示しないOS(operating system)の他、学習処理を実現するための学習プログラム514と、Transformer100Aの構造を定義するモデル定義データ516と、Transformer100A(学習済モデル)を規定する複数のパラメータからなるパラメータセット518と、推論プログラム520と、トレーニングデータセット90とを格納している。
【0101】
学習プログラム514は、プロセッサ(CPU502および/またはGPU504)により実行されることで、パラメータセット518を決定するための学習処理を実現する。すなわち、学習プログラム514は、コンピュータにTransformer100Aを学習させるための学習方法を実行させる。
【0102】
モデル定義データ516は、Transformer100Aに含まれるコンポーネントおよびコンポーネント間の接続関係などを定義するための情報を含む。パラメータセット518は、Transformer100Aを構成する各コンポーネントについてのパラメータを含む。パラメータセット518に含まれる各パラメータは、学習プログラム514の実行により最適化される。トレーニングデータセット90は、
図4に示すようなデータの組み合わせからなる。
【0103】
推論プログラム520は、モデル定義データ516およびパラメータセット518に基づいて、Transformer100AおよびTransformer100Aを含む推論器を実現する。さらに、Transformer100Aを用いた推論処理を実行する。
【0104】
プロセッサ(CPU502および/またはGPU504)がプログラムを実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【0105】
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【0106】
図4には、単一のコンピュータを用いて情報処理装置500を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、Transformer100Aを含む推論器を実現するようにしてもよい。
【0107】
プロセッサ(CPU502および/またはGPU504)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
【0108】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置500を実現できるであろう。
【0109】
説明の便宜上、同一の情報処理装置500を用いて、学習処理および推論処理を実行する例を示すが、学習処理および推論処理を異なるハードウェアを用いて実現してもよい。
【0110】
[E.学習処理および推論処理]
本実施の形態に従うTransformer100Aについての学習処理および推論処理は、本発明の関連技術に従うTransformer100についての学習処理および推論処理と同様である。そのため、学習処理および推論処理の全体処理手順については、ここでは詳細には説明しない。
【0111】
[F.性能評価]
次に、本実施の形態に従う並び替え埋め込み(Reordering Embedding)を含むニューラルネットワークの性能評価の一例を示す。
【0112】
(f1:評価条件)
評価実験としては、(1)英語-ドイツ間、(2)中国語-英語間、(3)日本語-英語間の3種類について行った。
【0113】
(1)英語-ドイツ間については、WMT14データセットに含まれる443万個の二言語間のセンテンスペア(Common Crawl,News Commentary,Europarl v7.を含む)をトレーニングデータに用いた。newstest2013データセットおよびnewstest2014データセットを評価データおよびテストデータとして用いた。
【0114】
(2)中国語-英語間については、LDCコーパス(LDC2002E18,LDC2003E07,LDC2003E14,LDC2004T07のHansardの部分,LDC2005T06)に含まれる128万個の二言語間のセンテンスペア(Common Crawl,News Commentary,Europarl v7.を含む)をトレーニングデータに用いた。newstest2013データセットおよびnewstest2014データセットを評価データおよびテストデータとして用いた。MT06およびMT02/MT03/MT04/MT05/MT08データセットを評価データおよびテストデータとして用いた。
【0115】
(3)日本語-英語間については、ASPECコーパス(非特許文献8参照)に含まれる200万個の二言語間のセンテンスペアをトレーニングデータに用いた。1790個のセンテンスペアを評価データとして用いるとともに、1812個のセンテンスペアをテストデータとして用いた。
【0116】
(f2:英語-ドイツ間)
ベースラインとしては、GNMT(非特許文献9参照)、CONVS2S(非特許文献10参照)および従来Transformer(非特許文献1参照)の3種類を採用した。
【0117】
また、本実施の形態に従うTransformerについては、エンコーダ側のみに並び替え埋め込み層を配置した構成(表中の「+Encoder_REs」)、デコーダ側のみに並び替え埋め込み層を配置した構成(表中の「+Decoder_REs」)、エンコーダ側およびデコーダ側の両方に並び替え埋め込み層を配置した構成(表中の「+Both_REs」)についてそれぞれ評価した。
【0118】
また、従来Transformerに採用されている位置埋め込み層に代えて、学習済の位置埋め込み層を採用した構成(表中の「+Additional PEs」)、および、従来Transformerに採用されている位置埋め込み層が採用するセンテンス内の絶対位置ではなく相対位置を採用した構成(表中の「+Relative PEs」)(非特許文献11参照)についてもそれぞれ評価した。
【0119】
なお、従来Transformerおよび本実施の形態に従うTransformerについては、通常(base)および大型(big)の2種類について評価を行った。それぞれのモデルパラメータは以下のTable1の通りである。
【0120】
【0121】
Table1において、Nはエンコーダ200の層数、Mはデコーダ400の層数、dmodelは入力層および出力層の次元数、dffはフィードフォワード層の次元数、HはMHA層の並列数、Pdropはドロップアウトパラメータ、elsはLabel Smoothing(過学習抑制)のパラメータをそれぞれ示す。また、バッチサイズは4096×4個のトークンとした。
【0122】
各構成についての評価結果を以下のTable2に示す。性能評価には、評価データについて算出されたBLEUスコアのうち最も高いものを採用した。
【0123】
【0124】
Table2において、「#Spped1」および「#Speed2」は、トレーニング速度(トレーニングに要する時間)およびデコーディング速度(推論処理に要する時間)をそれぞれ示す。「#Params」はモデルパラメータの総数を示す。
【0125】
表中に示す数値の後に付随する「+」あるいは「++」は、ベースラインに比較して顕著な性能向上を示した結果を意味する(なお。「+」の数が多い方が性能向上の度合いが高い)。
【0126】
Table2の「+Encoder_REs」、「+Decoder_REs」および「+Both_REs」に示すように、並び替え埋め込み層を配置することで、ベースラインに比較して顕著な性能向上が見られる。特に、エンコーダ側に並び替え埋め込み層を配置することがより有効である。
【0127】
また、「Transformer(base)」の「+Both_REs」の性能を「Transformer(big)」(並び替え埋め込み層が存在しない)の性能と比較すると、パラメータサイズを増加させるのではなく、エンコーダ側およびデコーダ側にそれぞれ並び替え埋め込み層を配置することが性能向上には有効であることが示されている。
【0128】
(f3:中国語-英語間)
ベースラインとしては、従来Transformer(非特許文献1参照)、RNNsearch+Distortion(非特許文献7参照)、2種類のDTMT(非特許文献12参照)、RNNベースのNMT(非特許文献13参照)、RNNベースのNMTにMEMを追加した構成(非特許文献14参照)の6種類を採用した。
【0129】
また、本実施の形態に従うTransformerについては、上記の(1)英語-ドイツ間と同様である。
【0130】
各構成についての評価結果を以下のTable3に示す。性能評価には、評価データについて算出されたBLEUスコアのうち最も高いものを採用した。
【0131】
【0132】
Table3の「+Encoder_REs」、「+Decoder_REs」および「+Both_REs」に示すように、並び替え埋め込み層を配置することで、ベースラインに比較して顕著な性能向上が見られる。特に、エンコーダ側に並び替え埋め込み層を配置することがより有効である。
【0133】
また、「Transformer(base)」の「+Both_REs」の性能を「Transformer(big)」(並び替え埋め込み層が存在しない)の性能と比較すると、パラメータサイズを増加させるのではなく、エンコーダ側およびデコーダ側にそれぞれ並び替え埋め込み層を配置することが性能向上には有効であることが示されている。
【0134】
このように、言語にかかわらず、並び替え埋め込み層を採用することで、性能を向上できることが示される。
【0135】
(f4:日本語-英語間)
本実施の形態に従うTransformerについては、上記の(1)英語-ドイツ間および(2)中国語-英語間において採用した構成に加えて、ソース側(翻訳元)の単語順序をターゲット側(翻訳先)の単語順序に近づけるように、前処理を行う構成(表中の「+Pre-Reording」)を採用した。
【0136】
各構成についての評価結果を以下のTable4に示す。性能評価には、評価データについて算出されたBLEUスコアのうち最も高いものを採用した。
【0137】
【0138】
Table4においても、「+Encoder_REs」、「+Decoder_REs」および「+Both_REs」に示すように、並び替え埋め込み層を配置することで、ベースラインに比較して顕著な性能向上が見られる。
【0139】
Table4において、「+Pre-Reording」の構成は、ベースラインに比較して性能が劣化していることが分かる。これは、ソース側(翻訳元)の単語順序をターゲット側(翻訳先)の単語順序に近づけるように前処理を行うことで、ソース側に含まれていた単語間の関連性が薄まることが要因であると推定される。
【0140】
(f5:並び替え情報の影響)
次に、並び替え情報を採用することによる性能への影響について示す。
【0141】
図5は、英語-ドイツ間における並び替え情報の影響を示すグラフである。
図6は、中国語-英語間における並び替え情報の影響を示すグラフである。
図7は、日本語-英語間における並び替え情報の影響を示すグラフである。
【0142】
図5~
図7には、テストデータに含まれるソースセンテンス内でランダムに単語の順序を入れ替えてデコーディングを行った結果を示す。すなわち、誤った語順のソースセンテンスを入力した場合の推論結果を評価したものである。
図5~
図7に示されるグラフの横軸は、1つのソースセンテンス内でランダムに単語の順序を入れ替えた割合を示す。
【0143】
本実施の形態に従うTransformerにおいて採用されている並び替え埋め込みは、単語間の順序に関する情報を補間するものであり、入力されるセンテンス内の単語の順序に誤りがあっても、正しい順序に対応する推論結果を出力し得る。
【0144】
図5~
図7に示すように、ソースセンテンス内の単語のうち40%程度に順序の誤りがあっても、本実施の形態に従うTransformerは、その誤りの影響を抑制して、正しい推論結果を出力できると言える。
【0145】
[G.変形例]
上述の説明においては、位置埋め込み(positional embedding)を利用するニューラルネットワーク(学習済モデル)の典型例として、Transformerを例示したが、これに限られず、任意のニューラルネットワーク(学習済モデル)に適用可能である。
【0146】
例えば、CNN(convolutional neural network)ベースのニューラル翻訳などにも同様に適用可能である。さらに、翻訳タスクに限らず、入力シーケンス内のトークンの位置情報を利用するニューラルネットワーク(学習済モデル)であれば、同様に、本発明の技術思想を適用可能である。
【0147】
[H.まとめ]
本実施の形態に従う学習処理によれば、Transformerなどの、各トークンが入力シーケンス内のいずれの位置に存在しているのかを示す位置埋め込みを利用するニューラルネットワークの性能を高めることができる。
【0148】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0149】
2 入力シーケンス、4 入力埋め込み層、8,18,36,56 加算器、6 位置埋め込み層、14 出力埋め込み層、20,20A エンコーダブロック、22,46 MHA層、24,28,44,48,52 加算・正則化層、26,50 フィードフォワード層、40,40A デコーダブロック、42 MMHA層、60 線形結合層、62 ソフトマックス層、64 出力シーケンス、90 トレーニングデータセット、100,100A Transformer、200 エンコーダ、400 デコーダ、500 情報処理装置、502 CPU、504 GPU、506 主メモリ、508 ディスプレイ、510 ネットワークインターフェイス、512 二次記憶装置、514 学習プログラム、516 モデル定義データ、518 パラメータセット、520 推論プログラム、522 入力デバイス、524 光学ドライブ、526 光学ディスク、528 内部バス。