(57)【要約】  質問応答としてのマルチタスク学習のアプローチには、コンテキスト及び質問をエンコードするための入力レイヤと；エンコーダ及びデコーダを含むセルフアテンションベースのトランスフォーマと；エンコーダの出力をさらにエンコードするための第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）と；デコーダの出力及び隠れ状態からコンテキスト調整済み隠れ状態を生成するための長・短期メモリ（ＬＳＴＭ）と；第１のｂｉＬＳＴＭの出力及びＬＳＴＭの出力に基づいて第１のアテンション重みを生成するためのアテンション・ネットワークと；語彙の分布状態を生成する語彙レイヤと；コンテキストの分布状態を生成するコンテキスト・レイヤと；スイッチと；が含まれ、スイッチは、語彙とコンテキストとの分布状態同士の間の重みを生成し、重みに基づいて複合分布状態を生成し、且つ複合分布状態を使用して回答のワードを選択する。
2021507429.tif 000002
【特許請求の範囲】
【請求項１】
自然言語処理のためのシステムであって、当該システムは、
コンテキストからの第１のワードと質問からの第２のワードとをエンコードするための入力レイヤと、
該入力レイヤからの出力と回答の一部とを受け取るためのエンコーダ及びデコーダを含むセルフアテンションベースのトランスフォーマと、
前記エンコーダの出力をさらにエンコードするための第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）と、
前記デコーダの前記出力及び隠れ状態からコンテキスト調整済み隠れ状態を生成するための長・短期メモリ（ＬＳＴＭ）と、
前記第１のｂｉＬＳＴＭの出力及び前記ＬＳＴＭの出力に基づいて、第１のアテンション重みを生成するためのアテンション・ネットワークと、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するための語彙レイヤと、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するためのコンテキスト・レイヤと、
スイッチと、を含んでおり、
該スイッチは、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成し、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合（composite）分布状態を生成し、且つ
該複合分布状態を使用して前記回答に含めるワードを選択する、
システム。
【請求項２】
前記入力レイヤには、線形レイヤ、第２のｂｉＬＳＴＭ、コアテンション・レイヤ、及び第３のｂｉＬＳＴＭのうちの１つ又は複数が含まれる、請求項１に記載のシステム。
【請求項３】
前記コアテンション・レイヤは、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成し、
該類似性マトリックスに基づいて、第２のアテンション重みを生成し、且つ
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成する、請求項２に記載のシステム。
【請求項４】
前記語彙レイヤは、
前記第１のアテンション重み、前記エンコーダの前記出力の更なるエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記隠れ状態を生成するためのｔａｎｈレイヤと、
前記隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するためのｓｏｆｔｍａｘレイヤと、を含む、請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記デコーダ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチは、前記回答の各ワードを繰り返し選択する、請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記トランスフォーマは複数のトランスフォーマ・レイヤを含み、該複数のトランスフォーマ・レイヤのそれぞれが、第１のマルチヘッドのセルフアテンション・ネットワークを有するエンコーダ部と、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークを有するデコーダ部とを含む、請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記システムは、該システムが、シーケンシャル訓練戦略を使用して複数のタスクタイプに対して最初に訓練され、次にジョイント訓練戦略を使用して前記複数のタスクタイプに対して訓練されるハイブリッド式訓練戦略を使用して訓練される、請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記複数のタスクタイプのそれぞれが、言語翻訳タスクタイプ、分類タスクタイプ、又は質問応答タスクタイプである、請求項７に記載のシステム。
【請求項９】
自然言語処理のための方法であって、当該方法は、
コンテキストからの第１のワードと質問からの第２のワードとを受け取るステップと、
入力レイヤを使用して、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードをエンコードして、第１のエンコーディングを生成するステップと、
セルフアテンションベースのトランスフォーマを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成するステップと、
前記セルフアテンションベースのトランスフォーマを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成するステップと、
第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）を使用して、前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成するステップと、
長・短期記憶（ＬＳＴＭ）を使用して、前記第３のエンコーディングと隠れ状態とからコンテキスト調整済み隠れ状態を生成するステップと、
アテンション・ネットワークを使用して、前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成するステップと、
語彙レイヤを使用して、前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するステップと、
コンテキスト・レイヤを使用して、前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するステップと、
スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成するステップと、
前記スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合分布状態を生成するステップと、
前記スイッチを使用して、前記複合分布状態を使用して回答に含めるワードを選択するステップと、を含む、
方法。
【請求項１０】
コアテンション・レイヤを使用して、前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成するステップと、
前記コアテンション・レイヤを使用して、前記類似性マトリックスに基づいて第２のアテンション重みを生成するステップと、
前記コアテンション・レイヤを使用して、前記第２のアテンション重みを使用して前記コンテキストと前記質問との加重和を生成するステップと、をさらに含む、請求項９に記載の方法。
【請求項１１】
前記語彙レイヤのｔａｎｈレイヤを使用して、前記第１のアテンション重み、前記第２のエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記隠れ状態を生成するステップと、
前記語彙レイヤのｓｏｆｔｍａｘレイヤを使用して、前記隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するステップと、をさらに含む、請求項９又は１０に記載の方法。
【請求項１２】
前記セルフアテンションベースのトランスフォーマ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチを使用して、前記回答の各ワードを繰り返し選択するステップをさらに含む、請求項９乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記第２のエンコーディングを生成するステップは、１つ又は複数のエンコード化レイヤを使用するステップを含み、各エンコード化レイヤには、第１のマルチヘッドのセルフアテンション・ネットワークが含まれ、
前記デコーダ出力を生成するステップは、１つ又は複数のデコード化レイヤを使用するステップを含み、各デコード化レイヤには、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークが含まれる、請求項９乃至１２のいずれか一項に記載の方法。
【請求項１４】
複数の機械可読命令を含む非一時的な機械可読媒体であって、前記命令がコンピュータ装置に関連付けられた１つ又は複数のプロセッサによって実行されたときに、該１つ又は複数のプロセッサに、
コンテキストからの第１のワードと質問からの第２のワードとを受け取ること、
前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとをエンコードして、第１のエンコーディングを生成すること、
セルフアテンションを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成すること、
セルフアテンションを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成すること、
前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成すること、
前記第３のエンコーディングと隠れ状態とからコンテキスト調整済み隠れ状態を生成すること、
前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成すること、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成すること、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合分布状態を生成すること、及び
前記複合分布状態を使用して、回答に含めるワードを選択すること、を実行させる段階を含むように適合される、
非一時的な機械可読媒体。
【請求項１５】
前記段階には、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成すること、
該類似性マトリックスに基づいて、第２のアテンション重みを生成すること、及び
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成することがさらに含まれる、請求項１４に記載の非一時的な機械可読媒体。
【請求項１６】
前記段階には、
前記第１のアテンション重み、前記第２のエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記隠れ状態を生成すること、
該隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成することがさらに含まれる、請求項１４又は１５に記載の非一時的な機械可読媒体。
【請求項１７】
前記段階には、前記回答の各ワードを繰り返し選択することがさらに含まれる、請求項１４乃至１６のいずれか一項に記載の非一時的な機械可読媒体。
【請求項１８】
前記第２のエンコーディングを生成することには、１つ又は複数のエンコード化レイヤを使用することが含まれ、各エンコード化レイヤには、第１のマルチヘッドのセルフアテンション・ネットワークが含まれ、
前記デコーダ出力を生成することには、１つ又は複数のデコード化レイヤを使用することが含まれ、各デコード化レイヤには、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークが含まれる、請求項１４乃至１７のいずれか一項に記載の非一時的な機械可読媒体。
【請求項１９】
前記段階には、ハイブリッド式訓練戦略を使用して訓練することがさらに含まれ、前記ハイブリッド式訓練戦略は、シーケンシャル訓練戦略を使用して複数のタスクタイプに対して最初に訓練され、次にジョイント訓練戦略を使用して前記複数のタスクタイプに対して訓練される、請求項１４乃至１８のいずれか一項に記載の非一時的な機械可読媒体。
【請求項２０】
前記複数のタスクタイプのそれぞれが、言語翻訳タスクタイプ、分類タスクタイプ、又は質問応答タスクタイプである、請求項１９に記載の非一時的な機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１８年２月９日に出願された米国仮特許出願第６２／６２８,８５０号及び２０１８年５月８日に出願された米国非仮特許出願第１５／９７４,１１８号の利益を主張するものであり、どちらの出願も“Multitask Learning as Question Answering”という表題であり、これら両文献は、その全体が参照により組み込まれる。
【０００２】
本願は、２０１８年５月８日に出願された“Multitask Learning as Question Answering”（代理人整理番号第70689.9US01A3335US1）という表題の米国特許出願第１５／９７４,０７５号に関連しており、この文献は、その全体が参照により組み込まれる。
【０００３】
本開示は、概して、自然言語処理に関し、より具体的には、自然言語コンテキストに関する自然言語質問に回答することに関する。
【背景技術】
【０００４】
自然言語処理と、自然言語サンプルの内容に関する自然言語質問に回答するシステムの能力とは、自然言語形式で提供される情報に関するコンテキスト固有の推論をテストするためのベンチマークである。質問できる自然言語の質問には様々な種類があり、その回答には様々な種類の推論及び／又は様々な種類の解析が必要になる可能性があるため、これは複雑なタスクであり得る。
【０００５】
従って、異なる種類の自然言語質問に同時に答えることができる統一されたシステム及び方法を有することは有利となろう。
【図面の簡単な説明】
【０００６】
【図１】いくつかの実施形態による自然言語処理タスクの簡略図である。
【図２】いくつかの実施形態によるコンピュータ装置の簡略図である。
【図３】いくつかの実施形態によるマルチタスク質問応答のためのシステムの簡略図である。
【図４】いくつかの実施形態によるアテンション・ネットワークの簡略図である。
【図５】いくつかの実施形態によるアテンションベースのトランスフォーマ・ネットワークのレイヤの簡略図である。
【図６】いくつかの実施形態によるワード生成器の簡略図である。
【図７】いくつかの実施形態によるマルチタスク学習の方法の簡略図である。
【図８】いくつかの実施形態による訓練パフォーマンスの簡略図である。
【図９Ａ】いくつかの実施形態による訓練パフォーマンスの簡略図である。
【図９Ｂ】いくつかの実施形態による訓練パフォーマンスの簡略図である。
【図９Ｃ】いくつかの実施形態による訓練パフォーマンスの簡略図である。
【図１０Ａ】いくつかの実施形態による訓練順序に基づく訓練パフォーマンスの簡略図である。
【図１０Ｂ】いくつかの実施形態による訓練順序に基づく訓練パフォーマンスの簡略図である。
【発明を実施するための形態】
【０００７】
図面において、同じ名称を有する要素は、同じ又は同様の機能を有する。
【０００８】
コンテキスト固有の推論（自然言語情報の内容に関するコンテキスト固有の推論を含む）は、機械知能及び学習アプリケーションにおける重要な問題である。コンテキスト固有の推論は、自然言語テキストの解釈に使用するための貴重な情報を提供し、且つ自然言語テキストの内容に関する質問の回答（answering）、言語翻訳、意味的コンテキスト解析等の様々なタスクを含むことができる。しかしながら、これらの様々なタイプの自然言語処理タスクのそれぞれには、大抵の場合、様々なタイプの解析及び／又は様々なタイプの予期される応答が含まれる。
【０００９】
自然言語処理におけるマルチタスク学習は、タスクのタイプが類似している場合に向上してきた。しかしながら、言語翻訳、質問応答（question answering）、及び分類等、様々な種類のタスクに取り組む場合に、パラメータの共有は、大抵の場合、ワード（word）ベクトル又はパラメータのサブセットに限定される。最終的なアーキテクチャは、典型的に、高度に最適化され、タスクタイプ毎に設計されているため、タスクタイプ全体で一般化する機能は制限されている。
【００１０】
しかしながら、これらのタスクタイプの多くは、単一のタイプのタスクとしてフレーム化された場合に、同じアーキテクチャ及びモデルによって処理することができる。例えば、全てではないにしても多くの自然言語処理タスクを質問応答タスクとして扱うことができる。例えば、分類、言語翻訳、及び質問応答のタスクタイプは全て、質問応答タスクとしてフレーム化され得る。質問応答フォームのこれら３つのタスクタイプのそれぞれの例を図１に示す。
【００１１】
図２は、いくつかの実施形態によるコンピュータ装置２００の簡略図である。図２に示されるように、コンピュータ装置２００は、メモリ２２０に結合されたプロセッサ２１０を含む。コンピュータ装置２００の動作は、プロセッサ２１０によって制御される。そして、コンピュータ装置２００が１つのプロセッサ２１０のみで示されているが、プロセッサ２１０は、コンピュータ装置２００の１つ又は複数の中央処理装置、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、グラフィックス処理装置（ＧＰＵ）等を表し得ることを理解されたい。コンピュータ装置２００は、スタンドアロン・サブシステムとして、コンピュータ装置に追加されたボードとして、及び／又は仮想マシンとして実装することができる。
【００１２】
メモリ２２０は、コンピュータ装置２００によって実行されるソフトウェア及び／又はコンピュータ装置２００の動作中に使用される１つ又は複数のデータ構造を格納するために使用され得る。メモリ２２０は、１つ又は複数のタイプの機械可読媒体を含み得る。機械可読媒体のいくつかの一般的な形式には、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭ、他の光媒体、パンチカード、紙テープ、孔パターンを有する他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップ又はカートリッジ、及び／又はプロセッサ又はコンピュータが読み取るように適合された他の媒体が含まれ得る。
【００１３】
プロセッサ２１０及び／又はメモリ２２０は、任意の適切な物理的配置で配置してもよい。いくつかの実施形態では、プロセッサ２１０及び／又はメモリ２２０は、同じボード上、同じパッケージ内（例えば、システム・イン・パッケージ）、同じチップ上（例えば、システム・オン・チップ）等で実装され得る。いくつかの実施形態では、プロセッサ２１０及び／又はメモリ２２０は、分散型、仮想化、及び／又はコンテナ化された計算リソースを含み得る。そのような実施形態と一致して、プロセッサ２１０及び／又はメモリ２２０は、１つ又は複数のデータセンタ及び／又はクラウドコンピュータ設備に配置してもよい。
【００１４】
示されるように、メモリ２２０は、質問応答モジュール２３０を含み、質問応答モジュール２３０を使用して、本明細書でさらに説明する質問応答システム及びモデルを実装及び／又はエミュレートする、及び／又は本明細書でさらに説明する方法のいずれかを実施することができる。いくつかの例では、質問応答モジュール２３０を使用して、自然言語コンテキストに関する自然言語質問に回答することができる。いくつかの例では、質問応答モジュール２３０は、自然言語コンテキストに関する自然言語質問に回答するために使用される質問応答システム又はモデルの反復訓練及び／又は評価を処理することもできる。いくつかの例では、メモリ２２０は、実行可能コードを含む非一時的で有形の機械可読媒体を含み、コードが１つ又は複数のプロセッサ（例えば、プロセッサ２１０）によって実行されたときに、１つ又は複数のプロセッサに、本明細書でさらに説明するカウント方法を実行させることができる。いくつかの例では、質問応答モジュール２３０は、ハードウェア、ソフトウェア、及び／又はハードウェアとソフトウェアとの組合せを使用して実装され得る。示されるように、コンピュータ装置２００は、自然言語コンテキスト２４０と、自然言語コンテキスト２４０に関する自然言語質問２５０とを受け取り、これらは質問応答モジュール２３０に提供され、次に、質問応答モジュール２３０は、自然言語コンテキスト２４０の内容に基づいて、自然言語質問２５０対する自然言語応答（answer: 回答）２６０を生成する。
【００１５】
図３は、いくつかの実施形態によるマルチタスク質問応答のためのシステム３００の簡略図である。システム３００は、自然言語コンテキストｃ及び自然言語質問ｑを受け取る。コンテキストｃ及び質問ｑのそれぞれが、システム３００による処理のためにベクトルにエンコードされる。いくつかの例では、コンテキストｃ及び質問ｑ内のそれぞれのワードは、ワード・エンコーディングを使用してエンコードされる。いくつかの例では、各ワードのエンコーディングは、各ワードが
【数１】
2021507429.tif 000003
の要素としてエンコードされるＧｌｏＶｅエンコーディングに基づいている。いくつかの例では、各ワードのエンコーディングは、各ワードが
【数２】
2021507429.tif 000004
の要素としてエンコードされる文字ｎ−ｇｒａｍエンコーディングに基づいている。いくつかの例では、各ワードのエンコーディングは、ＧｌｏＶｅと文字エングラム（engram）・エンコーディングとの連結に基づいている。いくつかの例では、ワードにＧｌｏＶｅ及び／又は文字ｎ−ｇｒａｍエンコーディングがない場合（例えば、ワードが英語ではない場合）に、ＧｌｏＶｅエンコーディングと同じである、平均及び標準偏差を有する（例えば、平均がゼロ、標準偏差が０．４の）正規分布から、ランダム・エンコーディングが選択され、同じランダム・エンコーディングが、それぞれのワードの出現毎に一貫して使用される。
【００１６】
次に、コンテキストｃのエンコーディングは線形レイヤ３１０に渡され、質問ｑのエンコーディングは線形レイヤ３１５に渡される。線形レイヤ３１０及び３１５のそれぞれは、式１と一致するそれぞれの伝達関数を実行し、ここで、Ｗ及びｂは、それぞれの線形レイヤ３１０又は３１５の重み及びバイアスであり、ａはそれぞれの線形レイヤ３１０又は３１５の出力であり、ｘはそれぞれの線形レイヤ３１０又は３１５への入力であり、ｆはそれぞれの線形レイヤ３１０又は３１５の理論的な線形関数、飽和線形関数等の線形伝達関数である。いくつかの例では、線形レイヤ３１０及び３１５は、コンテキストｃ及び質問ｑのエンコーディングの次元を低減する（reduce）。いくつかの例では、エンコーディングの次元は、各エンコーディングが
【数３】
2021507429.tif 000005
の要素になるように低減される。
【００１７】
ａ＝ｆ（Ｗｘ＋ｂ）                            式１
【００１８】
線形レイヤ３１０及び３１５によって出力されるエンコーディングは、それぞれ、さらに、単層双方向長期メモリ・ネットワーク（ｂｉＬＳＴＭ）３２０によってさらにエンコードされて、
【数４】
2021507429.tif 000006
が形成され、ｂｉＬＳＴＭ３２５によってさらにエンコードされて、
【数５】
2021507429.tif 000007
が形成される。いくつかの例では、ｂｉＬＳＴＭ３２０及び／又は３２５は、コンテキストｃ及び質問ｑに対するエンコーディングの次元をさらに低減し得る。ｂｉＬＳＴＭ３２０及び３２５のそれぞれは、各タイムステップｉにおいて、式２に従ってｈｉ→とｈｉ←との連結としてｈｉの出力を生成する。ここで、ｘは、それぞれのｂｉＬＳＴＭへの入力であり、ＬＳＴＭは長・短期メモリ・ネットワークに対応する。いくつかの例では、ｂｉＬＳＴＭ３２０及び／又は３２５は２００の隠れサイズを有しており、
【数６】
2021507429.tif 000008
の要素に対する
【数７】
2021507429.tif 000009
及び
【数８】
2021507429.tif 000010
のエンコーディングの次元をさらに低減する。
【００１９】
ｈｉ→＝ＬＳＴＭ（ｘｉ，ｈｉ−１→）
ｈｉ←＝ＬＳＴＭ（ｘｉ，ｈｉ＋１←）              式２（両方で式２）
【００２０】
出力
【数９】
2021507429.tif 000011
及び
【数１０】
2021507429.tif 000012
は、次に、コアテンション（coattention）・レイヤ３３０に渡される。コアテンション・レイヤ３３０は、最初にコンテキスト・センチネル（sentinel）・ベクトルを
【数１１】
2021507429.tif 000013
の先頭に付加し、質問センチネル・ベクトルを
【数１２】
2021507429.tif 000014
の先頭に付加する。センチネル・ベクトルにより、コアテンション・レイヤ３３０のコアテンション・メカニズムが２つのシーケンスの間で全てのトークンを整列させるのをやめさせることができる。次に、コアテンション・レイヤ３３０は、ベクトルを、時間次元に沿ってベクトル
【数１３】
2021507429.tif 000015
及びベクトル
【数１４】
2021507429.tif 000016
を積み重ねて、
【数１５】
2021507429.tif 000017
及び
【数１６】
2021507429.tif 000018
をそれぞれ取得する。次に、コアテンション・レイヤ３３０は、式３に従って類似性（affinity）マトリックスＡを生成する。
【００２１】
【数１７】
2021507429.tif 000019
【００２２】
次に、コアテンション・レイヤ３３０は、式４を使用して各シーケンスに関してアテンション重みＡｃ及びＡｑを生成し、ここで、ｓｏｆｍａｘ（Ｘ）は、Ｘの列に関して正規化する。
Ａｃ＝ｓｏｆｔｍａｘ（Ａ）
Ａｑ＝ｓｏｆｔｍａｘ（ＡＴ）                    式４（両方で式４）
【００２３】
次に、コアテンション・レイヤ３３０は、アテンション重みＡｃ及びＡｑを使用して、式５を使用して、コンテキスト及び質問の加重和をそれぞれ
【数１８】
2021507429.tif 000020
及び
【数１９】
2021507429.tif 000021
として生成する。
【００２４】
【数２０】
2021507429.tif 000022
【００２５】
次に、コアテンション・レイヤ３３０は、
【数２１】
2021507429.tif 000023
及び
【数２２】
2021507429.tif 000024
の連結としてコアテンション要約Ｓを生成する。コアテンション要約Ｓには一連のベクトルsが含まれており、ｓからの（センチネル位置に対応する）第１のベクトルは削除できる。次に、ＳがｂｉＬＳＴＭ３４０に渡される。ｂｉＬＳＴＭ３４０は、位置エンコーディングが追加される出力
【数２３】
2021507429.tif 000025
を生成する。
【００２６】
次に、出力
【数２４】
2021507429.tif 000026
は、マルチレイヤのセルフアテンション（self-attention）ベースのトランスフォーマの各レイヤｉのエンコーディング
【数２５】
2021507429.tif 000027
を生成するマルチレイヤのセルフアテンションベースのトランスフォーマに渡される。図３に示されるように、マルチレイヤのセルフアテンションベースのトランスフォーマはトランスフォーマ・レイヤ３５１及び３５２を含む。また、マルチレイヤのセルフアテンションベースのトランスフォーマが２つのレイヤで示されているが、いくつかの実施形態では、マルチレイヤのセルフアテンションベースのトランスフォーマは、単一のレイヤのみ又は３つ以上のレイヤを含むことができる。各トランスフォーマ・レイヤ３５１及び３５２は、図４及び図５に関して以下でさらに詳細に説明するように、残余接続（residual connection）及びレイヤ正規化とともに位置毎に完全に接続されたフィードフォワード・ネットワークが続くマルチヘッドのセルフアテンション・メカニズムを含む。
【００２７】
図４は、いくつかの実施形態によるアテンション・ネットワーク４００の簡略図である。図４に示されるように、アテンション・ネットワーク４００は、クエリ
【数２６】
2021507429.tif 000028
、キーｋ
【数２７】
2021507429.tif 000029
及び値
【数２８】
2021507429.tif 000030
を受け取る。ｑ、ｋ、及びｖのそれぞれは、式６〜式８に従って、それぞれの重みＷＱ４１０、ＷＫ４２０、及びＷＶ４３０の影響を受ける。重みＷＱ４１０、ＷＫ４２０、及びＷＶ４３０は、バック・プロパゲーション（back propagation）を使用した訓練中に変更される。
【００２８】
【数２９】
2021507429.tif 000031
【００２９】
【数３０】
2021507429.tif 000032
【００３０】
【数３１】
2021507429.tif 000033
【００３１】
得られたＱ、Ｋ、及びＶベクトルは、ＱとＫのドット積を生成するアテンション（attention）伝達関数４４０に渡され、次に式９に従ってＶに適用される。
【００３２】
【数３２】
2021507429.tif 000034
【００３３】
次に、追加及び正規化モジュール４５０を使用して、クエリｑをアテンション伝達関数からの出力と組み合わせて、アテンション・ネットワーク４００による学習の速度を改善する残余接続を提供する。追加及び正規化モジュール４５０は、式１０を実行し、ここでμ及びσはそれぞれ入力ベクトルの平均及び標準偏差であり、ｇｉは、レイヤの正規化（layer normalization）をスケーリングするためのゲインパラメータである。追加及び正規化モジュール４５０からの出力は、アテンション・ネットワーク４００の出力である。
【００３４】
【数３３】
2021507429.tif 000035
【００３５】
アテンション・ネットワーク４００は、大抵の場合、２つの変形形態で使用される。第１の変形形態は、アテンション・ネットワーク４００と一致する複数のアテンション・ネットワークが並列に実装されるマルチヘッドのアテンション・レイヤであり、マルチヘッド・アテンション・ネットワークの各「ヘッド」は、それ自体の重みＷＱ４１０、ＷＫ４２０、及びＷＶ４３０を有しており、これらの重みは、異なる値に初期化され、異なるエンコーディングを学習するように訓練される。次に、各ヘッドからの出力を一緒に連結して、マルチヘッドのアテンション・レイヤの出力を形成する。第２の変形形態は、マルチヘッドのアテンション・レイヤであるセルフアテンション・レイヤであり、ここでｑ、ｋ、及びｖの入力が、アテンション・ネットワークの各ヘッドと同じである。
【００３６】
セルフアテンションベースのレイヤは、２０１７年６月１２日に提出されたVaswaniらの、“Attention is All You Need,”
arXiv preprint arXiv: 1706.03762にさらに記載されており、この文献は、その全体が参照により組み込まれる。
【００３７】
図５は、いくつかの実施形態によるアテンションベースのトランスフォーマ・ネットワークのレイヤ５００の簡略図である。いくつかの実施形態によれば、システム３００の各トランスフォーマ・レイヤ３５１及び／又は３５２は、レイヤ５００と一致する。図５に示されるように、レイヤ５００は、エンコード化レイヤ５１０及びデコード化レイヤ５２０を含む。
【００３８】
エンコード化レイヤ５１０は、（例えば、入力ネットワークからエンコード化スタックにおける第１のレイヤの、又は次に最も低いレイヤのレイヤ出力からエンコード化スタックの他の全てのレイヤの）レイヤ入力を受け取り、それをマルチヘッドのアテンション・レイヤ５１１の３つ全て（ｑ、ｋ、及びｖ）の入力に与え、こうして、マルチヘッドのアテンション・レイヤ５１１は、セルフアテンション・ネットワークとして構成される。マルチヘッドのアテンション・レイヤ５１１の各ヘッドは、アテンション・ネットワーク４００と一致する。いくつかの例では、マルチヘッドのアテンション・レイヤ５１１は、３つのヘッドを含むが、２つ又は３つ以上等の他の数のヘッドが可能である。いくつかの例では、各アテンション・レイヤの次元は２００であり、隠れサイズは１２８である。マルチヘッドのアテンション・レイヤ５１１の出力は、フィードフォワード・ネットワーク５１２に提供され、フィードフォワード・ネットワーク５１２の入力と出力との両方が、エンコード化レイヤ５１０のレイヤ出力を生成する追加及び正規化モジュール５１３に提供される。いくつかの例では、フィードフォワード・ネットワーク５１２は、式１１を実行する２レイヤ・パーセプトロン（perceptron）・ネットワークであり、ここで、γはフィードフォワード・ネットワーク５１２への入力であり、Ｍｉ及びｂｉは、それぞれ、パーセプトロン・ネットワークの各レイヤの重み及びバイアスである。いくつかの例では、追加及び正規化モジュール５１３は、追加及び正規化モジュール４５０と実質的に同様である。
【００３９】
ＦＦ（γ）＝ｍａｘ（０，γＭ１＋ｂ１）Ｍ２＋ｂ２        式１１
【００４０】
デコード化レイヤ５３０は、（例えば、入力ネットワークからデコード化スタックの第１のレイヤの、又は次に最も低いレイヤのレイヤ出力からデコード化スタックの他の全てのレイヤの）レイヤ入力を受け取り、それをマルチヘッドのアテンション・レイヤ５２１の３つ全ての（ｑ、ｋ、及びｖ）入力に提供し、こうして、マルチヘッドのアテンション・レイヤ５２１は、セルフアテンション・ネットワークとして構成される。マルチヘッドのアテンション・レイヤ５２１の各ヘッドはアテンション・ネットワーク４００と一致する。いくつかの例では、マルチヘッドのアテンション・レイヤ５２１は３つのヘッドを含むが、２つ又は３つ以上等の他の数のヘッドが可能である。マルチヘッドのアテンション・レイヤ５１１の出力は、別のマルチヘッドのアテンション・レイヤ５２２へのｑ入力として提供され、マルチヘッドのアテンション・レイヤ５２２のｋ及びｖ入力には、対応するエンコード化レイヤからのエンコード化
【数３４】
2021507429.tif 000036
出力が提供される。マルチヘッドのアテンション・レイヤ５２１の各ヘッドは、アテンション・ネットワーク４００と一致する。いくつかの例では、マルチヘッドのアテンション・レイヤ５２２は、３つのヘッドを含むが、２つ又は３つ以上等の他の数のヘッドが可能である。いくつかの例では、各アテンション・レイヤの次元は２００であり、隠れサイズは１２８である。マルチヘッドのアテンション・レイヤ５２２の出力は、フィードフォワード・ネットワーク５２３に提供され、フィードフォワード・ネットワーク５２３の入力と出力との両方が、エンコード化レイヤ５１０のレイヤ出力を生成する追加及び正規化モジュール５２４に提供される。いくつかの例では、フィードフォワード・ネットワーク５２３及び追加及び正規化モジュール５２４は、それぞれ、フィードフォワード・ネットワーク５１２及び追加及び正規化モジュール５１３と実質的に同様である。
【００４１】
図３を再び参照すると、マルチレイヤのセルフアテンションベースのトランスフォーマのエンコード側の出力（例えば、図３の例の
【数３５】
2021507429.tif 000037
）がｂｉＬＳＴＭ３６０に渡され、ｂｉＬＳＴＭ３６０は最終的なエンコード化シーケンスｈを生成する。次に、図６に関して以下でさらに詳細に説明するように、最終的なエンコード化シーケンスｈは、ワード生成器（word generator）３７０に渡される。いくつかの例では、ｂｉＬＳＴＭ３６０は、２００の隠れサイズを有する。
【００４２】
マルチレイヤのセルフアテンションベースのトランスフォーマのデコード側の出力は、一連のベクトルｚである。ベクトルｚのシーケンスもワード生成器３７０に渡され、回答ｐの各ワードが生成されると、それらワードはマルチレイヤのセルフアテンションベースのトランスフォーマのデコード側の第１のレイヤに戻される。
【００４３】
図６は、いくつかの実施形態によるワード生成器３７０の簡略図である。ワード生成器３７０は、ｚを入力ベクトルのシーケンスとして扱い、ｈをアテンションのためのそのコンテキストとして扱う。ワード生成器は、システム３００の回答ｐを生成するために繰り返し動作する。回答ｐは、センチネルエントリを使用して最初に初期化され、完全な回答ｐが生成された後に削除される。（図６の添え字で示されるように）各反復tで、回答ｐの次のワードが、以下でさらに説明するようにｐｔとして生成される。
【００４４】
時間ステップｔにおいて、１レイヤの単方向ＬＳＴＭ６１０は、マルチレイヤのセルフアテンションベースのトランスフォーマのデコーダ側からの以前の入力ｚｔ−１と、以前の時間ステップｔからの以前の隠れ状態
【数３６】
2021507429.tif 000038
及び以前のコンテキスト調整済み隠れ状態
【数３７】
2021507429.tif 000039
との連結に基づいて、式１２を使用して、コンテキスト調整済み隠れ状態
【数３８】
2021507429.tif 000040
を生成する。
【００４５】
【数３９】
2021507429.tif 000041
【００４６】
次に、アテンション・レイヤ６２０は、最終的なエンコード化シーケンスｈ及び式１３を使用したコンテキスト調整済み隠れ状態
【数４０】
2021507429.tif 000042
に基づいて、各エンコード化時間ステップの現在のデコーダ状態への関連性を表すアテンション重みαｔのベクトルを生成する。ここで、Ｈは時間次元に亘って積み重ねられたｈの要素であり、Ｗ１及びｂ１は、アテンション・レイヤ６２０の訓練可能な重み及びバイアスである。
【００４７】
【数４１】
2021507429.tif 000043
【００４８】
次に、ｔａｎｈレイヤ６３０及びｓｏｆｔｍａｘレイヤ６４０を含む語彙レイヤは、回答ｐの次のワードｐｔとしての候補である語彙ｐｖｏｃａｂ（ｗｔ）内の各ワードの分布状態を生成する。Ｔａｎｈレイヤ６３０は、アテンション重みαｔ、最終的なエンコード化シーケンスｈ、及び式１４を使用したコンテキスト調整済み隠れ状態
【数４２】
2021507429.tif 000044
に基づいて、現在のタイムステップの隠れ状態
【数４３】
2021507429.tif 000045
を生成する。ここで、Ｈは時間次元に亘って積み重ねられたｈの要素であり、Ｗ２及びｂ２は、ｔａｎｈレイヤ６３０の訓練可能な重み及びバイアスである。
【００４９】
【数４４】
2021507429.tif 000046
【００５０】
ｓｏｆｔｍａｘレイヤ６４０は、隠れ状態
【数４５】
2021507429.tif 000047
に基づいて、式１５を使用して、回答ｐの次のワードｐｔとしての候補である語彙ｐｖｏｃａｂ（ｗｔ）内の各ワードの分布状態を生成する。ここで、Ｗｏｕｔ及びｂｏｕｔは、ｓｏｆｔｍａｘレイヤ６４０の訓練可能な重み及びバイアスである。
【００５１】
【数４６】
2021507429.tif 000048
【００５２】
コンテキスト・レイヤ６５０は、アテンション重みαｔに基づいて、式１６を使用して、回答ｐの次のワードｐｔとしての候補であるコンテキストｃ  ｐｃｏｐｙ（ｗｔ）内の各ワードの分布状態を生成する。
【００５３】
【数４７】
2021507429.tif 000049
【００５４】
スイッチ６６０は、ｐｖｏｃａｂ（ｗｔ）及びｐｃｏｐｙ（ｗｔ）の分布状態を互いに対してどのように重み付けするかを決定する。スイッチ６６０は、最初に、隠れ状態
【数４８】
2021507429.tif 000050
、コンテキスト調整済み隠れ状態
【数４９】
2021507429.tif 000051
、及びマルチレイヤのセルフアテンションベースのトランスフォーマのデコーダ側からの以前の入力ｚｔ−１の連結に基づいて、式１７を使用して重み係数γを生成する。ここで、σは、対数シグモイド（log-sigmoid）、双曲線正接シグモイド等のシグモイド伝達関数を表し、及び／又はＷｓｗｉｔｃｈは、重み係数レイヤの訓練可能な重みである。いくつかの例では、重み係数γは、訓練可能なバイアスｂｓｗｉｔｃｈを使用してさらに決定してもよい。
【００５５】
【数５０】
2021507429.tif 000052
【００５６】
次に、スイッチ６６０は、式１８を使用して、重み係数γを使用して、語彙中のワード及びコンテキスト中のワードの和集合の最終的な出力分布状態を生成する。次に、回答ｐ内の次のワードｐｔは、最大の重みを有するｐ（ｗｔ）内のワードに基づいて決定できる。
【００５７】
ｐ（ｗｔ）＝γｐｖｏｃａｂ（ｗｔ）＋（１−γ）ｐｃｏｐｙ          式１８
【００５８】
上述し、ここでさらに強調するように、図３は、特許請求の範囲を過度に制限してはならない単なる例である。当業者は、多くの変形、代替、及び修正を認識するであろう。いくつかの実施形態によれば、システム３００内の１つ又は複数のレイヤはオプションであり、省略してもよい。いくつかの例では、線形レイヤ３１０及び／又は３１５は、オプションであり、コンテキストｃ及び質問ｑに使用されるエンコーディングをそれぞれｂｉＬＳＴＭ３２０及び３２５に直接渡すことで、省略できる。いくつかの例では、ｂｉＬＳＴＭ３２０及び／又は３２５は、オプションであり、線形レイヤ３１０及び３１５の出力をコアテンション・レイヤ３３０に直接渡すことで、省略できる。いくつかの例では、線形レイヤ３１０及び３１５並びにｂｉＬＳＴＭ３２０及び３２５は、オプションであり、コンテキストｃ及び質問ｑに使用されるエンコーディングをコアテンション・レイヤ３３０に直接渡すことで、省略できる。
【００５９】
システム３００は、複数のタスク（例えば、分類（感情解析等）、言語翻訳、及び質問応答）に使用され、全てのタスクタイプに亘って様々なレイヤのパラメータを共有するため、注意深く訓練されない場合に、壊滅的な忘却の影響を受け易い可能性がある。これに対処するために、いくつかの実施形態では、システム３００は、タスクタイプのそれぞれのバランスの取れた混合に対してシステム３００を同時に訓練するように訓練サンプルが提示される順序を使用してシステム３００が訓練されるジョイント（joint）戦略に従って訓練され得る。すなわち、訓練サンプルがシステム３００に提示される順序によって、異なるタスクタイプから、連続する訓練サンプル又は連続する小グループ（例えば、２〜１０程度）の訓練サンプルが選択される。いくつかの例では、ジョイント戦略には、訓練の反復毎に、タスクタイプの異なる１つから訓練サンプル（コンテキストｃ、質問ｑ、グラウンド・トゥルース（ground truth）回答）を選択することが含まれる。ジョイント戦略の目標は、他のタスクタイプよりもあるタスクタイプに重点を置かずに、各タスクタイプに対して同時に訓練することである。しかしながら、実際には、システム３００はタスクタイプのそれぞれを学習するが、そのシステム３００は、タスクタイプのいずれも特によく学習していない。ジョイント訓練戦略については、Collobertらの“A Unified Architecture for Natural Language Processing: Deep Neural
Networks with Multitask Learning,” International Conference on Machine Learning, pp. 160-167、及び橋本らの、“A Joint
Many-task Model: Growing a Neural Network for Multiple NLP Tasks,” Conference
on Empirical Method in Natural Language Processing, 2017, pp. 1923-33に詳細に説明されており、これら文献のそれぞれは、その全体が参照により組み込まれる。
【００６０】
いくつかの実施形態では、システム３００は、タスクタイプのそれぞれに対してシステム３００を個別に訓練するように訓練サンプルがシステム３００に提示される順序を使用してシステム３００が訓練されるシーケンシャル（sequential）訓練戦略に従って訓練され得る。すなわち、訓練のために訓練サンプルがシステム３００に提示される順序は、第２のタスクタイプの各訓練サンプルを提示する前に、及び第１のタスクタイプの各サンプルを再び提示する前等に、第１のタスクタイプの各サンプルを提示することである。シーケンシャル訓練戦略では、タスクタイプの１つに対する訓練が終了し、訓練が第２のタスクタイプに切り替わると、第１のタスクタイプの一部の壊滅的な忘却が発生し始める。しかしながら、各タスクタイプの訓練サンプルを順番に複数回通過させた後に、システム３００は、以前に訓練した各タスクタイプの訓練をより迅速に回復させ始め、休止中の知識を収集する。いくつかの例では、訓練がタスクタイプ同士の間で切り替わるときに起こる破滅的な忘却のために、システム３００は、一般に、最後に訓練されたタスクタイプに関してのみ強い学習を示す。シーケンシャル訓練戦略は、Kirkpatrickらの、”Overcoming Catastrophic Forgetting in Neural Networks,” Proceedings
of the National Academy of Sciences, 2017, pp. 3521-3526に詳細に説明されており、この文献はその全体が参照により組み込まれる。
【００６１】
いくつかの実施形態では、ジョイント訓練及びシーケンシャル訓練戦略の制限に対処する試みが提案されている。いくつかの例では、これらの試みには、計算量の多いフィッシャー（Fisher）情報の生成、全てのタスクタイプの統合システムの目標に悪影響を与えるタスク固有の変更（パッキング及び／又は適応戦略等）の使用等が含まれる。
【００６２】
いくつかの実施形態では、システム３００は、ハイブリッド式訓練戦略に従って訓練してもよい。ハイブリッド式訓練戦略では、システム３００は、最初に、シーケンシャル訓練戦略を使用して訓練される。これにより、システム３００は、各タスクタイプの休止中の知識を収集することができる。各タスクタイプの訓練サンプルを何度も通過した後に、システム３００は、ジョイント訓練戦略を使用して訓練される。初期のシーケンシャル訓練からの休止中の知識があるため、後続のジョイント訓練は、マルチタスクを実行しているときでも、初期シーケンシャル訓練を行わないジョイント訓練だけよりも、各タスクタイプをより効果的に学習できる。システム３００が、初期のシーケンシャル訓練中に以前に訓練したタスクタイプを休止中の知識に完全に抑制することを可能にすることにより、ハイブリッド式訓練戦略は、システム３００に、各タスクタイプに特化することに集中するためのより多くの時間を与える。いくつかの例では、ハイブリッド式訓練戦略は、全てのタスクタイプを一緒に実行する方法を学習することから、各タスクタイプを学習するという目標を切り離す。こうして、訓練がジョイント訓練戦略に切り替わると、システム３００は、タスクタイプのそれぞれをよく学習するように十分準備される。
【００６３】
いくつかの実施形態では、システム３００は、ハイブリッド式訓練戦略の変形である合成（synthesize）訓練戦略に従って訓練される。合成訓練戦略では、システム３００は、最初は、シーケンシャル訓練戦略を使用して訓練されるが、シーケンシャル訓練中の固定間隔及び固定回数の反復で訓練され、訓練は、（シーケンシャル訓練戦略に戻る前に以前に訓練された）タスクタイプ毎にジョイント訓練戦略に切り替わる。以前に学習したタスクタイプのジョイント訓練戦略に一時的に切り替わることにより、システム３００は、古いタスクタイプをより頻繁に思い出し、古い知識を新しい知識と統合することも強制される。
【００６４】
図７は、いくつかの実施形態によるマルチタスク学習の方法７００の簡略図である。方法７００のプロセス７１０〜７８０の１つ又は複数は、少なくとも部分的に、非一時的で有形の機械可読媒体に格納された実行可能コードの形で実装され、コードが１つ又は複数のプロセッサによって実行されたときに、１つ又は複数のプロセッサに、プロセス７１０〜７８０の１つ又は複数を実行させることができる。いくつかの実施形態では、方法７００は、訓練システム３００のハイブリッド式訓練戦略として使用され得るが、方法７００は、システム３００以外の他のマルチタスク・システムを訓練するためにも使用され得る。いくつかの実施形態では、方法７００によって訓練されるタスクタイプは、言語翻訳、分類（例えば、感情解析）、質問応答等の様々な自然言語処理タスクのいずれかを含むことができる。
【００６５】
プロセス７１０では、訓練サンプルが、第１の訓練戦略に従って選択される。いくつかの実施形態では、第１の訓練戦略は、第２のタスクタイプの各訓練サンプルが選択されるまで、第１のタスクタイプとは異なる第２のタスクタイプから訓練サンプルを選択する前に、第１のタスクタイプの各訓練サンプルが選択されるまで、訓練サンプルが第１のタスクタイプの訓練サンプルから選択されるシーケンシャル訓練戦略である。次に、訓練サンプルが追加のタスクタイプから選択され、必要ならば、各タスクタイプの各訓練サンプルが選択された後に、次のタスクタイプに切り替えられる。いくつかの例では、選択された訓練サンプルには、自然言語コンテキスト、自然言語質問、及びコンテキスト及び質問に対応するグラウンド・トゥルース自然言語回答が含まれる。
【００６６】
プロセス７２０では、選択された訓練サンプルがシステムに提示される。いくつかの例では、システムはシステム３００である。訓練サンプルがシステムに適用されると、その訓練サンプルは、現在訓練されているパラメータ（例えば、重み及びバイアス）に従ってシステムの様々なレイヤを通してフィードフォワードされ、回答が生成される。いくつかの例では、回答は自然言語のフレーズである。
【００６７】
プロセス７３０では、システムはエラーに基づいて調整される。プロセス７２０中にシステムによって生成された回答は、選択された訓練サンプルのグラウンド・トゥルース回答と比較され、選択された訓練サンプルのエラーが決定される。次に、エラーは、バック・プロパゲーションを使用してシステム３００にフィードバックされ、レイヤの様々なパラメータ（例えば、重み及びバイアス）を更新することができる。いくつかの例では、確率的勾配降下法（ＳＧＤ）訓練アルゴリズム、適応モーメント推定（ＡＤＡＭ）訓練アルゴリズム等を使用して、バック・プロパゲーションを実行することができる。いくつかの例では、バック・プロパゲーションに使用される勾配が１．０にクリップされ得る。いくつかの例では、学習減衰率は、Vaswaniらの、２０１７年６月１２日に提出された“Attention is All You Need,” arXiv preprint arXiv: 1706.03762で使用されている減衰率と同じであり得る。
【００６８】
プロセス７４０では、第１の訓練戦略から第２の訓練戦略に切り替えるかどうかが決定される。いくつかの例では、第２の訓練戦略に切り替える決定は、各タスクタイプの各訓練サンプルが所定の回数選択された後に行われる。いくつかの例では、所定の回数は５回であり得るが、３回、４回、及び／又は６回以上等の他の任意の回数も使用され得る。いくつかの例では、１つ又は複数の他の要因を用いて、第２の訓練戦略にいつ切り替えるかについての決定を行うことができる。いくつかの例では、１つ又は他の要因には、訓練サンプルを通過する度に各タスクタイプのパフォーマンス・メトリックの変化を監視し、各パス後の各パフォーマンス・メトリックの改善がしきい値量未満だけ改善したときに切り替えを行うことが含まれる。第２の訓練戦略に切り替えないことが決定されると、方法７００はプロセス７１０に戻り、そこで訓練サンプルが第１の訓練戦略に従って選択され続ける。第２の学習訓練戦略に切り替えることが決定されると、訓練サンプルの選択は、プロセス７５０で始まる第２の訓練戦略を使用して行われる。
【００６９】
プロセス７５０では、訓練サンプルが、第２の訓練戦略に従って選択される。いくつかの例では、第２の訓練戦略は、訓練サンプルが各タスクタイプの訓練サンプルから等しく選択されるジョイント訓練戦略である。
【００７０】
プロセス７６０では、選択された訓練サンプルは、プロセス７２０と実質的に同じプロセスを使用してシステムに提示される。
【００７１】
プロセス７７０では、システムは、プロセス７３０と実質的に同じプロセスを使用して、エラーに基づいて調整される。
【００７２】
プロセス７８０では、訓練が完了したかどうかが判定される。いくつかの例では、各タスクタイプの訓練サンプルがシステムに所定の回数提示された後で訓練が完了する。いくつかの例では、所定の回数は８回であり得るが、２〜７及び／又は９回以上等の他の任意の回数も使用され得る。いくつかの例では、１つ又は複数の他の要因を用いて、訓練がいつ完了するかについての決定を行うことができる。いくつかの例では、１つ又は他の要因には、訓練サンプルを通過する度に各タスクタイプのパフォーマンス・メトリックの変化を監視し、各パス後の各パフォーマンス・メトリックの改善がしきい値量未満だけ改善したときに訓練が完了する（ことを注記する）ことを含めることができる。訓練が完了していないと判定された場合に、方法７００はプロセス７４０に戻り、そこで訓練サンプルが第２の訓練戦略に従って選択され続ける。訓練が完了したと判定された場合に、方法７００は終了し、訓練されたシステムは、訓練したタスクのいずれにも使用され得る。
【００７３】
訓練が完了した後に、プロセス７２０及び／又は７６０と実質的に同様のプロセスを使用して、訓練されたシステムを任意のタスクタイプに使用することができ、コンテキストｃ及び質問ｑが、システムに提示され、且つ方法７００に従って訓練されたパラメータ（例えば、重み及びバイアス）によりシステムの様々なレイヤを通してフィードフォワードすることができる。生成された回答は、提示されたコンテキストｃ及び質問ｑに対する応答に対応する。
【００７４】
上記で議論し、ここでさらに強調するように、図７は、特許請求の範囲を過度に制限してはならない単なる例である。当業者は、多くの変形、代替、及び修正を認識するであろう。いくつかの実施形態では、方法７００は、合成訓練戦略を使用するように適合される。合成訓練戦略では、第１の訓練戦略はシーケンシャル訓練戦略の変形であり、第２の訓練戦略はジョイント訓練戦略であり得る。シーケンシャル訓練戦略の変形には、一般に、シーケンシャル訓練戦略に従って訓練サンプルを選択することが含まれるが、ジョイント訓練戦略に従って訓練サンプルが選択される間隔の間は例外である。いくつかの例では、ジョイント訓練戦略の間隔の位置及び配置は、各タスクタイプの訓練反復の数（例えば、システムに提示される訓練サンプルの数）に基づくことができる。非限定的な例として、訓練サンプルの選択には、第１のタスクタイプについて１０，０００個の訓練サンプルを選択すること、各タスクタイプから１，０００個の訓練サンプルを共同して（jointly）選択すること、第１のタスクタイプについて別の１０,０００個の訓練サンプルを選択すること、各タスクタイプから１，０００個の訓練サンプルのジョイントを選択すること、第１のタスクタイプの各訓練サンプルが提示されるまで繰り返すこと、次に第２のタスクタイプについて１０,０００個の訓練サンプルを選択すること等が含まれる。いくつかの例では、選択をシーケンシャル・タイプとジョイント・タイプとの間で交互に行う前の訓練サンプルの数は、各タスクタイプの訓練サンプルの数のパーセンテージに基づき得る（例えば、それぞれのタスクタイプの訓練サンプルの数の１０％〜２５％のいずれかの後）。
【００７５】
図８は、いくつかの実施形態による訓練パフォーマンスの簡略図である。より具体的には、図８は、４つのタスクタイプ：英語から独語への（ＥＮ−ＤＥ）言語翻訳、英語から仏語への（ＥＮ−ＦＲ）言語翻訳、質問応答、及び感情分類による訓練システム３００の結果を示す。
【００７６】
英語から独語及び英語から仏語への翻訳タスクタイプの訓練サンプルは、英語から独語（ＩＷＳＬＴ  ＥＮ→ＤＥ）の訓練セット及び英語から仏語（ＩＷＳＬＴ  ＥＮ→ＦＲ）の訓練セットに関する音声言語翻訳の国際ワークショップに基づいており、訓練サンプルには、ＴＥＤ会話から転記された約２１０，０００の文のペアが含まれている。２つの言語翻訳タスクタイプに使用されるパフォーマンス・メトリックは、ＢＬＥＵスコアである。
【００７７】
質問応答タスクタイプの訓練サンプルは、スタンフォード質問応答データセット（ＳＱｕＡＤ）に基づいており、これには、ウィキペディアの記事の段落サンプルに関連する質問に基づいた１０，５７０個の訓練サンプルが含まれている。質問応答タスクタイプに使用されるパフォーマンス・メトリックは、Ｆ１スコアである。
【００７８】
感情分類タスクタイプの訓練サンプルは、中立的な例が削除されたスタンフォード感情ツリーバンク（ＳＳＴ）に基づいている。ＳＳＴには、映画のレビュー及びその感情に基づいた約５６，４００個の訓練サンプルが含まれている。感情分類タスクタイプに使用されるパフォーマンス・メトリックは、完全一致のパーセンテージである。
【００７９】
図８は、前述したパフォーマンス・メトリックによる各タスクタイプの学習結果をさらに示している。各タスクタイプの３つの結果が示される。単一の列は、システム３００が示されたタスクタイプの訓練サンプルのみを使用して訓練された場合のそれぞれのパフォーマンス・メトリックを示す。ジョイント列は、システム３００がジョイント訓練戦略を使用して訓練される場合と同じパフォーマンス・メトリックを示す。ハイブリッドの列は、システム３００が方法７００のハイブリッド式訓練戦略を使用して訓練された場合と同じパフォーマンス・メトリックを示す。システム３００の各バージョンが単一のタスクに特化できるため、予想通り、単一のタスクタイプの訓練結果は最高のパフォーマンス・メトリックになる。ジョイントの列は、ジョイント訓練戦略の使用が著しく悪い結果をもたらすことを示し、ハイブリッドの列は、ジョイント訓練戦略に対する方法７００のハイブリッド式訓練戦略の使用の改善を示す。さらに、感情分類タスクタイプを除いて、方法７００のハイブリッド式訓練戦略は、ジョイント訓練戦略よりも大幅に優れたパフォーマンス結果をもたらした。
【００８０】
図９Ａ〜図９Ｃは、いくつかの実施形態による訓練パフォーマンスの簡略図である。図９Ａは、システム３００が各タスクタイプについて個別に訓練されるとき（例えば、図８の単一の列と比較して）、各タスクタイプについての訓練を繰り返してそれぞれのパフォーマンス・メトリックを追跡する。こうして、図９Ａは、システム３００の４つの別々に訓練されたバージョンの結果を示す。図９Ｂは、システム３００がジョイント訓練戦略に従って訓練された場合のそれぞれのパフォーマンス・メトリックを追跡する。図９Ｂのパフォーマンス・メトリックが示すように、ＳＳＴ分類タスクタイプ以外に、ジョイント訓練戦略を使用して訓練されたシステム３００のバージョンは、タスクタイプのいずれも特によく学習しなかった。図９Ｃは、システム３００が方法７００のハイブリッド式訓練戦略に従って訓練された場合のそれぞれのパフォーマンス・メトリックを追跡する。訓練サンプルが初期のシーケンシャル訓練中に１つのタスクタイプから別のタスクタイプに切り替わるときの壊滅的な忘却の影響は、図９Ｃではっきりと分かる。シーケンシャル訓練戦略を使用して各タスクタイプからの訓練サンプルが５回提示され、訓練戦略がジョイント訓練戦略に切り替えられた後に（約２５０,０００回の反復）、パフォーマンス・メトリックは、図９Ｂのジョイント訓練戦略のみのアプローチのパフォーマンス・メトリックよりも優れており、且つ図９Ａのシステム３００の別々に訓練されたバージョンのパフォーマンス・メトリックにより近づく値に急速に向上する。
【００８１】
図１０Ａ及び図１０Ｂは、いくつかの実施形態による訓練順序に基づく訓練パフォーマンスの簡略図である。図１０Ａ及び図１０Ｂは、ハイブリッド式訓練戦略の初期のシーケンシャル訓練中に、様々なタスクタイプの訓練がシステム３００に提示される順序を変更することの影響を示している。図１０Ａに示されるように、感情分類（ＳＳＴ）タスクタイプからの訓練サンプルで訓練される前に、システム３００が英語から独語（ＩＷＳＬＴ  ＥＮ→ＤＥ）への言語翻訳タスクタイプの訓練サンプルで最初に訓練される場合に、システム３００は、訓練サンプルが英語から独語への翻訳タスクタイプから再度抽出されると、英語から独語への翻訳知識を素早く回復できる。対照的に、図１０Ｂは、英語から独語への翻訳タスクタイプに対して訓練される前に、システム３００が感情分類タスクタイプに対して最初に訓練される場合に、システム３００は、英語から独語への翻訳タスクタイプを十分に学習できないことを示している。これは、英語から独語への翻訳タスクタイプに対する最初の訓練によるものであり、訓練サンプルの複雑さ及び豊富さが増すため、初期のエンコード化知識が向上すると推測される。
【００８２】
コンピュータ装置１００等のコンピュータ装置のいくつかの例は、実行可能コードを含む非一時的で有形の機械可読媒体を含み得、コードが１つ又は複数のプロセッサ（例えば、プロセッサ２１０）によって実行されると、１つ又は複数のプロセッサに、方法７００のプロセスを実行させることができる。方法７００のプロセスを含み得る機械可読媒体のいくつかの一般的な形態は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、孔パターンを有する他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップ又はカートリッジ、及び／又はプロセッサ又はコンピュータが読み取るように適応された他の媒体である。
【００８３】
発明の態様、実施形態、実装、又は用途を示すこの説明及び添付の図面は、限定として解釈すべきではない。この説明及び特許請求の範囲の趣旨及び範囲から逸脱することなく、様々な機械的、構成的、構造的、電気的、及び動作上の変更を行うことができる。いくつかの例では、本開示の実施形態を不明瞭にしないために、良く知られた回路、構造、又は技術は、詳細に示していないか、又は説明していない。２つ以上の図の同じ番号は、同じ又は類似の要素を表す。
【００８４】
この説明では、本開示と一致するいくつかの実施形態を説明する特定の詳細が示されている。実施形態の完全な理解を与えるために、多数の特定の詳細が示されている。しかしながら、当業者には、これらの特定の詳細の一部又は全部がなくても、いくつかの実施形態を実施できることが明らかであろう。本明細書に開示される特定の実施形態は、例示的であることを意味し、限定的ではない。当業者は、本明細書では具体的に説明されていないが、本開示の範囲及び精神内にある他の要素を認識し得る。加えて、不必要な繰返しを避けるために、特に記載されない限り、或いは１つ又は複数の特徴が実施形態を機能しないものにする場合を除き、１つの実施形態に関連して示され説明される１つ又は複数の特徴を他の実施形態に組み込むことができる。
【００８５】
例示的な実施形態について、示し、説明してきたが、前述の開示では広範囲の修正、変更、及び置換が企図され、いくつかの例では、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに採用され得る。当業者は、多くの変形、代替、及び修正を認識するであろう。従って、本発明の範囲は、以下の添付の特許請求の範囲によってのみ限定すべきであり、特許請求の範囲は、本明細書に開示される実施形態の範囲と一致する方法で広く解釈することが適切である。
【図１】
2021507429.tif 000053
【図２】
2021507429.tif 000054
【図３】
2021507429.tif 000055
【図４】
2021507429.tif 000056
【図５】
2021507429.tif 000057
【図６】
2021507429.tif 000058
【図７】
2021507429.tif 000059
【図８】
2021507429.tif 000060
【図９Ａ】
2021507429.tif 000061
【図９Ｂ】
2021507429.tif 000062
【図９Ｃ】
2021507429.tif 000063
【図１０Ａ】
2021507429.tif 000064
【図１０Ｂ】
2021507429.tif 000065
【手続補正書】
【提出日】令和2年8月6日(2020.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自然言語処理のためのシステムであって、当該システムは、
コンテキストからの第１のワードと質問からの第２のワードとをエンコードするための入力レイヤと、
該入力レイヤからの出力と回答の一部とを受け取るためのエンコーダ及びデコーダを含むセルフアテンションベースのトランスフォーマと、
前記エンコーダの出力をさらにエンコードするための第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）と、
前記デコーダの前記出力及び隠れ状態からコンテキスト調整済み隠れ状態を生成するための長・短期メモリ（ＬＳＴＭ）と、
前記第１のｂｉＬＳＴＭの出力及び前記ＬＳＴＭの出力に基づいて、第１のアテンション重みを生成するためのアテンション・ネットワークと、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するための語彙レイヤと、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するためのコンテキスト・レイヤと、
スイッチと、を含んでおり、
該スイッチは、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成し、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合（composite）分布状態を生成し、且つ
該複合分布状態を使用して前記回答に含めるワードを選択する、
システム。
【請求項２】
前記入力レイヤには、線形レイヤ、第２のｂｉＬＳＴＭ、コアテンション・レイヤ、及び第３のｂｉＬＳＴＭのうちの１つ又は複数が含まれる、請求項１に記載のシステム。
【請求項３】
前記コアテンション・レイヤは、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成し、
該類似性マトリックスに基づいて、第２のアテンション重みを生成し、且つ
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成する、請求項２に記載のシステム。
【請求項４】
前記語彙レイヤは、
前記第１のアテンション重み、前記エンコーダの前記出力の更なるエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記隠れ状態を生成するためのｔａｎｈレイヤと、
前記隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するためのｓｏｆｔｍａｘレイヤと、を含む、請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記デコーダ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチは、前記回答の各ワードを繰り返し選択する、請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記トランスフォーマは複数のトランスフォーマ・レイヤを含み、該複数のトランスフォーマ・レイヤのそれぞれが、第１のマルチヘッドのセルフアテンション・ネットワークを有するエンコーダ部と、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークを有するデコーダ部とを含む、請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記システムは、該システムが、シーケンシャル訓練戦略を使用して複数のタスクタイプに対して最初に訓練され、次にジョイント訓練戦略を使用して前記複数のタスクタイプに対して訓練されるハイブリッド式訓練戦略を使用して訓練される、請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記複数のタスクタイプのそれぞれが、言語翻訳タスクタイプ、分類タスクタイプ、又は質問応答タスクタイプである、請求項７に記載のシステム。
【請求項９】
自然言語処理のための方法であって、当該方法は、
コンテキストからの第１のワードと質問からの第２のワードとを受け取るステップと、
入力レイヤを使用して、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードをエンコードして、第１のエンコーディングを生成するステップと、
セルフアテンションベースのトランスフォーマを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成するステップと、
前記セルフアテンションベースのトランスフォーマを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成するステップと、
第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）を使用して、前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成するステップと、
長・短期記憶（ＬＳＴＭ）を使用して、前記第３のエンコーディングと隠れ状態とからコンテキスト調整済み隠れ状態を生成するステップと、
アテンション・ネットワークを使用して、前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成するステップと、
語彙レイヤを使用して、前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するステップと、
コンテキスト・レイヤを使用して、前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するステップと、
スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成するステップと、
前記スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合分布状態を生成するステップと、
前記スイッチを使用して、前記複合分布状態を使用して回答に含めるワードを選択するステップと、を含む、
方法。
【請求項１０】
コアテンション・レイヤを使用して、前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成するステップと、
前記コアテンション・レイヤを使用して、前記類似性マトリックスに基づいて第２のアテンション重みを生成するステップと、
前記コアテンション・レイヤを使用して、前記第２のアテンション重みを使用して前記コンテキストと前記質問との加重和を生成するステップと、をさらに含む、請求項９に記載の方法。
【請求項１１】
前記語彙レイヤのｔａｎｈレイヤを使用して、前記第１のアテンション重み、前記第２のエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記隠れ状態を生成するステップと、
前記語彙レイヤのｓｏｆｔｍａｘレイヤを使用して、前記隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するステップと、をさらに含む、請求項９又は１０に記載の方法。
【請求項１２】
前記セルフアテンションベースのトランスフォーマ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチを使用して、前記回答の各ワードを繰り返し選択するステップをさらに含む、請求項９乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記第２のエンコーディングを生成するステップは、１つ又は複数のエンコード化レイヤを使用するステップを含み、各エンコード化レイヤには、第１のマルチヘッドのセルフアテンション・ネットワークが含まれ、
前記デコーダ出力を生成するステップは、１つ又は複数のデコード化レイヤを使用するステップを含み、各デコード化レイヤには、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークが含まれる、請求項９乃至１２のいずれか一項に記載の方法。
【請求項１４】
複数の機械可読命令を含む非一時的な機械可読媒体であって、前記命令がコンピュータ装置に関連付けられた１つ又は複数のプロセッサによって実行されたときに、該１つ又は複数のプロセッサに、
コンテキストからの第１のワードと質問からの第２のワードとを受け取ること、
前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとをエンコードして、第１のエンコーディングを生成すること、
セルフアテンションを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成すること、
セルフアテンションを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成すること、
前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成すること、
前記第３のエンコーディングと隠れ状態とからコンテキスト調整済み隠れ状態を生成すること、
前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成すること、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成すること、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との前記重みに基づいて、複合分布状態を生成すること、及び
前記複合分布状態を使用して、回答に含めるワードを選択すること、を実行させる段階を含むように適合される、
非一時的な機械可読媒体。
【請求項１５】
前記段階には、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成すること、
該類似性マトリックスに基づいて、第２のアテンション重みを生成すること、及び
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成することがさらに含まれる、請求項１４に記載の非一時的な機械可読媒体。
【手続補正書】
【提出日】令和2年8月28日(2020.8.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自然言語処理のためのシステムであって、当該システムは、
コンテキストからの第１のワードと質問からの第２のワードとをエンコードするための入力レイヤと、
該入力レイヤからの出力と回答の一部とを受け取るためのエンコーダ及びデコーダを含むセルフアテンションベースのトランスフォーマと、
前記エンコーダの出力をさらにエンコードするための第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）と、
前記デコーダの前記出力及び第１の時間ステップの第１の隠れ状態からコンテキスト調整済み隠れ状態を生成するための長・短期メモリ（ＬＳＴＭ）と、
前記第１のｂｉＬＳＴＭの出力及び前記ＬＳＴＭの出力に基づいて、第１のアテンション重みを生成するためのアテンション・ネットワークと、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するための語彙レイヤと、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するためのコンテキスト・レイヤと、
スイッチと、を含んでおり、
該スイッチは、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成し、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の前記重みに基づいて、複合（composite）分布状態を生成し、且つ
該複合分布状態を使用して前記回答に含めるワードを選択する、
システム。
【請求項２】
前記入力レイヤには、線形レイヤ、第２のｂｉＬＳＴＭ、コアテンション・レイヤ、及び第３のｂｉＬＳＴＭのうちの１つ又は複数が含まれる、請求項１に記載のシステム。
【請求項３】
前記コアテンション・レイヤは、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成し、
該類似性マトリックスに基づいて、第２のアテンション重みを生成し、且つ
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成する、請求項２に記載のシステム。
【請求項４】
前記語彙レイヤは、
前記第１のアテンション重み、前記エンコーダの前記出力の更なるエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記第１の時間ステップの後の第２の時間ステップの第２の隠れ状態を生成するためのｔａｎｈレイヤと、
前記第２の隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するためのｓｏｆｔｍａｘレイヤと、を含む、請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記セルフアテンションベースのトランスフォーマ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチは、前記回答の各ワードを繰り返し選択する、請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記トランスフォーマは複数のトランスフォーマ・レイヤを含み、該複数のトランスフォーマ・レイヤのそれぞれが、第１のマルチヘッドのセルフアテンション・ネットワークを有するエンコーダ部と、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークを有するデコーダ部とを含む、請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記システムは、該システムが、シーケンシャル訓練戦略を使用して複数のタスクタイプに対して最初に訓練され、次にジョイント訓練戦略を使用して前記複数のタスクタイプに対して訓練されるハイブリッド式訓練戦略を使用して訓練される、請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記複数のタスクタイプのそれぞれが、言語翻訳タスクタイプ、分類タスクタイプ、又は質問応答タスクタイプである、請求項７に記載のシステム。
【請求項９】
自然言語処理のための方法であって、当該方法は、
コンテキストからの第１のワードと質問からの第２のワードとを受け取るステップと、
入力レイヤを使用して、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードをエンコードして、第１のエンコーディングを生成するステップと、
セルフアテンションベースのトランスフォーマを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成するステップと、
前記セルフアテンションベースのトランスフォーマを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成するステップと、
第１の双方向長・短期メモリ（ｂｉＬＳＴＭ）を使用して、前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成するステップと、
長・短期記憶（ＬＳＴＭ）を使用して、前記第３のエンコーディングと第１の時間ステップの第１の隠れ状態とからコンテキスト調整済み隠れ状態を生成するステップと、
アテンション・ネットワークを使用して、前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成するステップと、
語彙レイヤを使用して、前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成するステップと、
コンテキスト・レイヤを使用して、前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成するステップと、
スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成するステップと、
前記スイッチを使用して、前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の前記重みに基づいて、複合分布状態を生成するステップと、
前記スイッチを使用して、前記複合分布状態を使用して回答に含めるワードを選択するステップと、を含む、
方法。
【請求項１０】
コアテンション・レイヤを使用して、前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成するステップと、
前記コアテンション・レイヤを使用して、前記類似性マトリックスに基づいて第２のアテンション重みを生成するステップと、
前記コアテンション・レイヤを使用して、前記第２のアテンション重みを使用して前記コンテキストと前記質問との加重和を生成するステップと、をさらに含む、請求項９に記載の方法。
【請求項１１】
前記語彙レイヤのｔａｎｈレイヤを使用して、前記第１のアテンション重み、前記第２のエンコーディング、及び前記コンテキスト調整済み隠れ状態に基づいて、前記第１の時間ステップの後の第２の時間ステップの第２の隠れ状態を生成するステップと、
前記語彙レイヤのｓｏｆｔｍａｘレイヤを使用して、前記第２の隠れ状態に基づいて、前記語彙内の前記第３のワードの前記分布状態を生成するステップと、をさらに含む、請求項９又は１０に記載の方法。
【請求項１２】
前記セルフアテンションベースのトランスフォーマ、前記ＬＳＴＭ、前記アテンション・ネットワーク、前記語彙レイヤ、前記コンテキスト・レイヤ、及び前記スイッチを使用して、前記回答の各ワードを繰り返し選択するステップをさらに含む、請求項９乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記第２のエンコーディングを生成するステップは、１つ又は複数のエンコード化レイヤを使用するステップを含み、各エンコード化レイヤには、第１のマルチヘッドのセルフアテンション・ネットワークが含まれ、
前記デコーダ出力を生成するステップは、１つ又は複数のデコード化レイヤを使用するステップを含み、各デコード化レイヤには、第２のマルチヘッドのセルフアテンション・ネットワーク及び第３のマルチヘッドのアテンション・ネットワークが含まれる、請求項９乃至１２のいずれか一項に記載の方法。
【請求項１４】
複数の機械可読命令を含む非一時的な機械可読媒体であって、前記命令がコンピュータ装置に関連付けられた１つ又は複数のプロセッサによって実行されたときに、該１つ又は複数のプロセッサに、
コンテキストからの第１のワードと質問からの第２のワードとを受け取ること、
前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとをエンコードして、第１のエンコーディングを生成すること、
セルフアテンションを使用して、前記第１のエンコーディングをさらにエンコードして、前記コンテキストからの前記第１のワードと前記質問からの前記第２のワードとの第２のエンコーディングを生成すること、
セルフアテンションを使用して、前記第２のエンコーディングをデコードして、デコーダ出力を生成すること、
前記第２のエンコーディングをさらにエンコードして、第３のエンコーディングを生成すること、
前記第３のエンコーディングと第１の時間ステップの第１の隠れ状態とからコンテキスト調整済み隠れ状態を生成すること、
前記第３のエンコーディングと前記コンテキスト調整済み隠れ状態とに基づいて、第１のアテンション重みを生成すること、
前記第１のアテンション重みに基づいて、語彙の第３のワードの分布状態を生成すること、
前記第１のアテンション重みに基づいて、前記コンテキストから前記第１のワードの分布状態を生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の重みを生成すること、
前記語彙からの前記第３のワードの前記分布状態と前記コンテキストからの前記第１のワードの前記分布状態との間の前記重みに基づいて、複合分布状態を生成すること、及び
前記複合分布状態を使用して、回答に含めるワードを選択すること、を実行させる段階を含むように適合される、
非一時的な機械可読媒体。
【請求項１５】
前記段階には、
前記コンテキストと前記質問とのエンコードされた表現同士の間の類似性マトリックスを生成すること、
該類似性マトリックスに基づいて、第２のアテンション重みを生成すること、及び
該第２のアテンション重みを使用して、前記コンテキストと前記質問との加重和を生成することがさらに含まれる、請求項１４に記載の非一時的な機械可読媒体。
【国際調査報告】
2021507429.tif 000066
2021507429.tif 000067