(58)【調査した分野】(Int.Cl.,DB名)
前記トレーニングされているセンチネルゲートベクトルは、前記語彙ネットワーク及び前記ポインタネットワークからの情報の蓄積を制御する、請求項1に記載のシステム。
前記クエリベクトルは、線形層を通じて前記最終出力状態ベクトルを処理して非線形射影を生成することにより、前記RNNの前記最終出力状態ベクトルから生成される、請求項1に記載のシステム。
動的センチネルゲートベクトルが、前記RNNの最終状態出力ベクトルを前記トレーニングされているセンチネルゲートベクトルと連結して、該連結を線形層を通じて処理して非線形射影を生成することにより、前記最終状態出力ベクトルから生成される、請求項10に記載のシステム。
前記ゲート確率質量が1であることは、語彙ネットワークからの情報の蓄積をもたらし、あるいは、前記ゲート確率質量が0であることは、ポインタネットワークからの情報の蓄積をもたらす、請求項13に記載の方法。
【発明を実施するための形態】
【0006】
付録A
以下が、参照により本明細書に組み込まれ、単一の発明の一部として本明細書に添付されている:Stephen Merity, Caiming Xiong, James Bradbury, and Richard Socher. Pointer sentinel mixture models. arXiv preprint arXiv:1609.07843, 2016。ポインタセンチネル混合モデルは、直近の文脈から単語を再生成する又は標準的なソフトマックス分類器から単語を生成する能力を有する。ポインタセンチネル−LSTMモデルは、標準的なソフトマックスLSTMよりもはるかに少ないパラメータを使用しながら、Penn Treebankに関して最高水準の言語モデリング性能(70.9パープレキシティ)を実現している。
【0007】
詳細な説明
以下の説明は、当業者が開示されている技術を製造及び使用することを可能にするように提示されており、特定の用途及びその要件の文脈において提供されている。開示されている技術の主旨及び範囲から逸脱することなく、開示されている実施形態に対する様々な変更が、当業者には容易に明らかであり、本開示において規定されている一般的な原理は、他の実施形態及び用途にも適用可能である。したがって、開示されている技術は、例示されている実施形態に限定されるよう意図されるものではなく、本出願において開示されている原理及び特徴と整合する最も広い範囲に従うべきである。
【0008】
この説明は、次のように編成されている。最初に、ポインタセンチネル混合アーキテクチャにより対処される問題のうちのいくつかを説明する序論が提示される。次いで、ポインタネットワークが説明され、次いで、ポインタセンチネル混合アーキテクチャの動作のいくつかの例が説明される。最後に、様々なNLPデータセット及びタスクに関するポインタセンチネル混合アーキテクチャの性能を示すいくつかの実験結果が提供される。
【0009】
(序論)
言語モデリングにおける主要な難しさは、直接的な文脈から特定のトークンをいつ予測するかを学習することである。例えば、新しい人が紹介され、2段落後の文脈が、次のトークン(次トークン)としてその人の名前を非常に正確に予測できるようにする、ということを想像してほしい。標準的なニューラルネットワーク系列モデルがこの名前を予測するためには、標準的なニューラルネットワーク系列モデルは、この名前を符号化し、多くの時間ステップで隠れ状態においてこれを格納し、適切なときにこれを復号する必要があるであろう。隠れ状態は、容量が制限されており、そのようなモデルの最適化は、勾配消失問題に悩まされるので、これは、多くの時間ステップにわたって実行されるときには損失の多い動作である。これは、低頻度トークンに特に当てはまる。
【0010】
関連する以前の隠れ状態の検索及び使用を可能にし、事実上隠れ状態容量を増大させ、時間ステップに結び付けられない勾配についてのパスを提供することを目的として、この課題に対処するのを助けるために、ソフトアテンション(attention)又はメモリコンポーネントを有するモデルが提案されている。アテンションを用いても、これらのモデルにおいて使用されている標準的なソフトマックス分類器は、しばしば、低頻度トークン又は未知トークンを正しく予測するのに苦労する。
【0011】
ポインタネットワークは、アテンションを用いて、入力からの要素を出力として選択するので、ポインタネットワークは、低頻度トークン及び語彙外(OoV)トークンに対する1つの可能なソリューションを提供する。これは、以前には見られていない入力トークンを生成することを可能にする。ポインタネットワークは、低頻度トークン及び長期依存性に関する性能を向上させるが、言語モデリングの一般的なシナリオである、入力に存在しないトークンを選択することができない。
【0012】
これらの問題に対処するために、開示されている技術は、効果的で効率的な言語モデリングのために、標準的なソフトマックス分類器の利点とポインタネットワークの利点とを組み合わせるいわゆる「ポインタセンチネル混合アーキテクチャ」を提供する。ポインタネットワークをいつ使用するかを決定するためにRNN隠れ状態に依拠するのではなく、ポインタセンチネル混合アーキテクチャは、ポインタネットワーク自体が、センチネルゲートベクトルを通じて、語彙をいつ使用するかを決定することを可能にする。ポインタセンチネル混合アーキテクチャは、Penn Treebankデータセットに関する最高水準のパープレキシティを向上させる。
【0013】
(ポインタセンチネル混合アーキテクチャ)
図1は、ニューラルネットワーク系列モデリングにおいて低頻度トークン及び語彙外(OoV)トークンの予測を向上させるポインタセンチネル混合アーキテクチャ100の態様を示している。
図2は、ポインタセンチネル混合アーキテクチャ100の動作の一実施形態を示している。
【0014】
本明細書において「文脈テキスト」又は「ポインタウィンドウ」とも呼ばれるトークンの系列又はウィンドウ
【数1】
202を所与として、ポインタセンチネル混合アーキテクチャ100は、次のトークン
【数2】
を予測する。文脈テキストは、データベース122に格納される。本明細書において使用される場合、用語「トークン」は、単語、文字、又は句を指し得る。
【0015】
ポインタセンチネル混合アーキテクチャ100は、再帰型ニューラルネットワーク(RNN)114を含む。RNNは、長期依存性を保つ能力に起因して、言語モデリングのために広範に使用されている。RNNは、連鎖ルールを使用して、トークンの系列にわたって結合確率を因数に分解する:
【数3】
より正確には、各時間ステップiにおいて、RNN隠れ状態
【数4】
は、
【数5】
であるように、前の隠れ状態
【数6】
及び入力
【数7】
に応じて算出される。本明細書において「出力状態」又は「出力状態ベクトル」とも呼ばれる、トークンのウィンドウ
【数8】
にわたって生成された、RNN114の隠れ状態は、データベース116に格納される。
【0016】
(N-1)個の全てのトークンが、RNN114により処理されたとき、最終出力状態ベクトル
【数9】
204が、語彙ネットワーク124に提供される。語彙ネットワーク124は、語彙確率質量算出器126を含み、語彙確率質量算出器126は、最終出力状態ベクトル
【数10】
204を指数関数的正規化器(exponential normalizer)(例えばソフトマックス層)に与え、本明細書において「語彙分布」220とも呼ばれる、可能なトークンの語彙にわたる語彙確率質量の分布を算出する。そのようなものとして、実施形態において、語彙確率質量の合計は、予め定められた定数(例えば、1、2、10等)である。
【0017】
以下の数学的定式化は、語彙ネットワーク124及び語彙確率質量算出器126の動作の一実施形態を示している:
【数11】
ここで、
【数12】
は、語彙分布220であり、
【数13】
であり、Hは隠れサイズであり、Vは語彙サイズである。本明細書において「語彙テキスト」とも呼ばれる語彙は、データベース118に格納される。
【0018】
RNNは、勾配消失問題に悩まされることがある。ゲートのセットに従って隠れ状態を更新することにより勾配消失問題に対処するために、長短期メモリ(LSTM)アーキテクチャが提案されている。一実施形態において、ポインタセンチネル混合アーキテクチャは、LSTMを使用する。他の実施形態において、ポインタセンチネル混合アーキテクチャは、入力ゲートなし(NIG:no input gate)の変形例、忘却ゲートなし(NFG:no forget gate)の変形例、出力ゲートなし(NOG:no output gate)の変形例、入力活性化関数なし(NIAF:no input activation function)の変形例、出力活性化関数なし(NOAF:no output activation function)の変形例、のぞき穴なし(NP:no peepholes)の変形例、結合入力−忘却ゲート(CIFG:coupled input-forget gate)の変形例、及びフルゲート再帰(FGR:full gate recurrent)の変形例等の、LSTMの変形例を使用する。さらに他の実施形態において、ポインタセンチネル混合アーキテクチャは、ゲート付き再帰型ユニット(GRU)、又は、ソフトマックス分類器を使用するもの等の、任意の他のタイプのRNN若しくは任意の他の従来の又は将来開発されるニューラルネットワークを使用する。
【0019】
ポインタセンチネル混合アーキテクチャ100はまた、ポインタネットワーク102を含む。一実施形態に従うと、系列における次のトークン
【数14】
を予測するために、ポインタネットワーク102は、最大アテンション確率質量を有する、入力系列
【数15】
のメンバを出力として選択する。ポインタネットワーク102は、各隠れ状態が
【数16】
である、全ての過去の隠れ状態
【数17】
との内積を使用して、特定の隠れ状態についてのアテンション確率質量214を算出するアテンション確率質量算出器112を含む。本明細書において使用される場合、「内積」は、「ドット積」、「距離尺度積」、及び/又は「言語的類似性決定子」と呼ばれる。別の実施形態において、(最も直近のトークンは繰り返される可能性があるので)最も直近のトークンについてアテンション確率質量214を算出するために、アテンション確率質量算出器112は、内積に、最終隠れ状態自体も含める。実施形態において、内積は、トークンのウィンドウ
【数18】
におけるトークン位置の各々についてそれぞれの正規化されていないアテンション値を生成する、ポインタネットワーク102の距離尺度算出器108により実行される。次いで、アテンション確率質量算出器112は、ソフトマックス活性化関数のような指数関数的正規化器を使用して、正規化されていないアテンション値から、正規化されたアテンション確率質量214を生成する。
【0020】
ベクトルとそのベクトルとの内積をとることは、ベクトルの大きさの二乗をもたらし、これは、アテンション確率質量214が、最も直近のトークンに向かって強くバイアスされることを意味する。この問題を解決するために、ポインタネットワーク102は、線形層(例えば多層パーセプトロン)を通じて現在の出力状態ベクトルを射影して、いわゆる「クエリベクトル」
【数19】
208の形で非線形射影を生成するクエリ生成器106を含む。以下の数学的定式化は、クエリベクトル
【数20】
を生成する一実施形態を示している:
【数21】
ここで、
【数22】
であり、
【数23】
であり、
【数24】
である。
【0021】
別の実施形態において、アテンション確率質量算出器112は、以下の数学的定式化において示されるように、前のRNN出力状態
【数25】
とクエリベクトル
【数26】
208との内積を計算し、続いて、確率分布を得るためのソフトマックス活性化関数により、トークンのウィンドウ
【数27】
における各トークン位置についてアテンション確率質量214を算出する:
【数28】
【数29】
ここで、
【数30】
であり、
【数31】
であり、Lは隠れ状態の総数である。実施形態において、出力状態
【数32】
とクエリベクトル
【数33】
208との内積は、トークンのウィンドウ
【数34】
におけるトークン位置の各々についてそれぞれの正規化されていないアテンション値を生成する距離尺度算出器108により実行される。次いで、アテンション確率質量算出器112は、ソフトマックス活性化関数のような指数関数的正規化器を使用して、正規化されていないアテンション値から、正規化されたアテンション確率質量214を生成する。
【0022】
トークンが、文脈テキスト内の複数の位置において出現した場合、トークンに割り当てられる最終アテンション確率質量は、以下の数学的定式化において示されるように、トークンが出現した全てのトークン位置に与えられたアテンション確率質量の合計である:
【数35】
ここで、
【数36】
は、入力
【数37】
におけるトークン
【数38】
の全ての位置をもたらし、
【数39】
はポインタ分布である。
【0023】
言語モデリングにおいて使用される文書の長さを所与として、ポインタネットワーク102は、データセットの始めに戻って全てのトークンについてのアテンション確率質量214を評価することが実行可能でないかもしれない。代わりに、いくつかの実施形態において、ポインタネットワーク102は、マッチングするためのM個の最も直近のトークンのウィンドウのみを維持することを選択する。ウィンドウの長さMは、ホールドアウトされたデータセットで調整され得る、又は、位置tにあるトークンが、最近のM個のトークンにおいて、どれくらいの頻度で出現しているかを実験的に分析することにより調整され得る、ハイパーパラメータである。
【0024】
このアプローチの利点を示すために、「President Obama discussed the economy」及び「President Obama then flew to Prague」という2つの文を特色とする長い記事について検討する。質問が、「Which President is the article about?」である場合、アテンション確率質量が、どちらの文にもある「Obama」について算出され得る。代わりに、質問が、「Who flew to Prague?」である場合、「Obama」の後者の出現のみが、適切な文脈を提供する。ポインタネットワーク102は、最終アテンション確率質量が「Obama」の全ての出現にわたって分布される限りにおいて、ポインタネットワーク102がゼロ損失を達成することを確実にする。このフレキシビリティは、誤っている可能性がある又は適切な文脈を欠如している可能性がある教師信号にアテンション確率質量を課すことをポインタネットワーク102に強いることのない教師あり学習を提供する。
【0025】
したがって、ポインタセンチネル混合アーキテクチャ100は、2つのベース分布、すなわち、ポインタネットワーク102により算出される、文脈テキスト122内のトークンにわたるアテンション確率質量の分布214(本明細書において「ポインタ分布」214とも呼ばれる)と、語彙テキスト118内のトークンにわたる語彙確率質量の分布(本明細書において「語彙分布」220とも呼ばれる)と、を有する。2つのベース分布を組み合わせるために、ポインタセンチネル混合アーキテクチャ100は、本明細書において「ゲート確率質量」
【数40】
216と呼ばれるゲーティング関数(gating function)を実現するポインタ−語彙混合器128を有する。ゲート確率質量
【数41】
216は、ポインタネットワーク102のいわゆる「センチネルゲートベクトル」104から導出される。実施形態において、センチネルゲートベクトル104は、ポインタネットワーク102のセンチネル層206の一部である。センチネルゲートベクトル104は、語彙ネットワーク124及びポインタネットワーク102からの情報の蓄積を制御する。すなわち、センチネルゲートベクトル104は、以下の数学的定式化において示されるように、アテンション確率質量214と語彙確率質量220との混合を制御する:
【数42】
【数43】
ここで、
【数44】
は、テスト中にデータ点がどちらのベース分布に属するかを指示するためにアプリオリにトレーニングされているセンチネルゲートベクトル104であり、
【数45】
は、トークン
【数46】
にわたる出力確率質量の分布(本明細書において「出力分布」222とも呼ばれる)であり、
【数47】
は、各トークンが出力分布222において一度だけ特定されるような、文脈テキスト122及び語彙テキスト118内のトークンを表す。
【0026】
一実施形態において、センチネルゲートベクトル104は、テスト中に変更されず、固定されたままであるトレーニングされているベクトルである。別の実施形態において、センチネルゲートベクトル104は、文脈テキストの所与の入力系列について生成された最終出力状態ベクトル
【数48】
204に応じて、テスト中に動的に変更されるトレーニングされているベクトルである。この動的な実施形態において、センチネルゲートベクトル104は、(例えば、連結又は要素ごとの合計を用いて)最終出力状態ベクトル
【数49】
204と組み合わせられ(224)、これら2つの組み合わせが、線形層(例えば多層パーセプトロン)を通じて射影されて、いわゆる「動的センチネル状態ベクトル」の形で非線形射影が生成される。以下の数学的定式化は、動的センチネル状態ベクトル
【数50】
の一実施形態を示している:
【数51】
ここで、
【数52】
であり、
【数53】
であり、
【数54】
であり、
【数55】
は連結を表す。
【0027】
センチネルゲートベクトル104をトレーニングするために、ポインタセンチネル混合アーキテクチャ100は、センチネル損失関数を実行する。センチネル損失関数を実行することは、
【数56】
という交差エントロピー損失を最小化することを含み、ここで
【数57】
は、正しい出力のワンホット符号化である。トレーニング中、
【数58】
はワンホットであるので、単一の混合確率
【数59】
のみが、損失を計算するために算出される。これは、はるかに効率的なGPU実装をもたらす。予測時において、長さLのポインタウィンドウには、最大L個の一意なトークンが存在するので、
【数60】
の全ての値について、最大L個のトークン確率が混合される。この混合は、ランダムアクセスインデクシングがGPUよりも効率的なCPUで行われる。その後、センチネル損失関数は、
【数61】
になり、ここで、
【数62】
は、入力
【数63】
における正しい出力
【数64】
の全ての位置をもたらす。
【0028】
ゲート確率質量
【数65】
216を生成するために、ポインタネットワーク102のゲート確率質量算出器110は、センチネルゲートベクトル104とクエリベクトル
【数66】
208との内積を計算する。固定的な実施形態において、ゲート確率質量算出器110は、固定されたセンチネルゲートベクトルとクエリベクトル
【数67】
208との内積を計算する。動的な実施形態において、ゲート確率質量算出器110は、動的センチネルゲートベクトルとクエリベクトル
【数68】
208との内積を計算する。内積の結果は、正規化されていないゲート値である。
【0029】
次に、ゲート確率質量算出器110は、ソフトマックス活性化関数のような指数関数的正規化器を使用して、正規化されていないゲート値から、ゲート確率質量
【数69】
216を生成する。実施形態において、トークンのウィンドウ
【数70】
におけるトークン位置の各々についての正規化されていないアテンション値及び正規化されていないゲート値が、いわゆる「ポインタ系列」において配列及び/又は配置及び/又は連結される。次いで、指数関数的正規化器(例えばソフトマックス)が、ポインタ系列に適用されて、正規化されていないアテンション値から、正規化されたアテンション確率質量214が生成され、正規化されていないゲート値から、ゲート確率質量
【数71】
216が生成される。すなわち、アテンション確率質量算出器112及びゲート確率質量算出器110は、結合確率質量
【数72】
212を算出するために、ポインタ系列の正規化されていないアテンション値及び正規化されていないゲート値に並列に適用される単一の指数関数的正規化器210(例えばソフトマックス)を共有する。そのようなものとして、実施形態において、アテンション確率質量214及びゲート確率質量
【数73】
216の合計は、予め定められた定数(例えば、1、2、10等)である。以下の数学的定式化は、ポインタ系列にわたる結合確率質量
【数74】
212を示している:
【数75】
ここで、
【数76】
は、文脈テキスト122及びセンチネルゲートベクトル104の両方におけるトークンにわたる結合確率質量分布212であり、
【数77】
は、文脈テキスト122内のトークンのウィンドウ
【数78】
におけるトークン位置の各々についての正規化されていないアテンション値を含むベクトルであり、
【数79】
はクエリベクトル208であり、
【数80】
はセンチネルゲートベクトル104であり、
【数81】
は連結を表し、角括弧
【数82】
内の値は一緒になって、ポインタ系列を表す。結合確率質量分布
【数83】
212の最後の要素は、
【数84】
であるゲート確率質量
【数85】
216であると解釈される。
【0030】
したがって、一実施形態において、正規化されたポインタ分布は、以下になる:
【数86】
ここで、
【数87】
は、ベクトルの最初のV個の要素を表す。
【0031】
出力分布
【数88】
222は、以下になる:
【数89】
ここで、ポインタ−語彙混合器128は、ゲート確率質量
【数90】
216を使用して、語彙分布
【数91】
220とポインタ分布
【数92】
214とを混合し、出力分布
【数93】
222を生成する。
【0032】
実施形態において、ゲート確率質量
【数94】
216は、範囲[0,1]内のスカラーである。0という値は、ポインタネットワーク102のみが使用されることを意味し、1という値は、語彙ネットワーク124のみが使用されることを意味する。したがって、ポインタセンチネル混合アーキテクチャ100は、可能な場合はいつでもポインタネットワーク102を使用し、そうでない場合は語彙ネットワーク124にバックオフ(back-off)するように、ゲート確率質量
【数95】
216に依拠する。センチネルゲートベクトル104を使用してゲーティング関数をポインタネットワーク102の計算に統合することにより、ポインタセンチネル混合アーキテクチャ100は、RNN114の隠れ状態と直接的な文脈テキスト122内のトークンのウィンドウとの両方により影響が及ぼされる。
【0033】
統合は、ゲート確率質量
【数96】
216が可能な限り文脈を使用することを可能にする。次いで、語彙分布220にバックオフする決定が、RNN114の最終出力状態ベクトル
【数97】
204を使用して生成されたクエリベクトル
【数98】
208と、ポインタウィンドウ自体についての隠れ状態の内容と、の両方によって通知される。これは、ポインタセンチネル混合アーキテクチャ100が、どの隠れ状態がポインタウィンドウに含まれるのかを正確に問い合わせ、ポインタウィンドウから外れている可能性があるトークンについての状態を維持するのを回避することを可能にする。
【0034】
いくつかの実施形態において、ゲート確率質量
【数99】
216により制御される混合の前に、変換器218を使用して、語彙分布220の次元数と一致するように、ポインタ分布214の次元数を変換する。
【0035】
トレーニング中、例えば、正しい出力
【数100】
が、語彙分布220にのみ存在する場合、ゲート確率質量
【数101】
216には、全確率質量が割り当てられ得る。いくつかの実施形態において、ポインタセンチネル混合アーキテクチャ100が、ポインタウィンドウ内の正しいトークンのインスタンスのうちのいずれかのインスタンスに全確率質量を課す場合にはペナルティは存在しない。いくつかの実施形態に従うと、ポインタネットワーク102が、ゲート確率質量
【数102】
216に全確率質量を課す場合、ポインタネットワーク102は、ペナルティを受けず、損失は、語彙ネットワーク124の損失により完全に決定される。
【0036】
一実施形態において、LSTMベースのポインタセンチネル混合アーキテクチャ100(本明細書において「ポインタセンチネル−LSTM」とも呼ばれる)は、特に、標準的なLSTMを使用して同様の性能を実現するのに必要とされるモデルサイズと比較すると、パラメータ及びハイパーパラメータ並びに計算時間における比較的わずかな増加をもたらす。アーキテクチャ100により必要とされる2つの追加のパラメータは、クエリベクトル
【数103】
208、具体的には、
【数104】
及び
【数105】
と、
【数106】
を埋め込んでいるセンチネルゲートベクトルと、を算出するために必要とされるパラメータである。これは、RNN114の深さとは無関係である。なぜならば、ポインタネットワーク102は、最終RNN層の出力とインタラクトするだけであるからである。追加の(H
2+2H)個のパラメータは、単一のLSTM層の(8H
2+4H)個のパラメータと比較してわずかである。いくつかの実施形態はまた、複数のLSTM層を使用することを含む。追加の計算に関しては、ウィンドウサイズLのポインタセンチネル−LSTMは、tanhの活性化を伴う線形層を用いて、
【数107】
208を算出し、合計L個の並列化可能な内積計算を演算し、ソフトマックス関数を介して、結果として得られるL個のスカラーについてアテンション確率質量214を算出することだけを必要とする。
【0037】
ポインタセンチネル混合アーキテクチャ100の他の実施形態は、指数関数的正規化器とは異なる正規化器を使用すること、指数関数的正規化器に加えて正規化器を使用すること、及び/又は、指数関数的正規化器と組み合わせて正規化器を使用することを含む。いくつかの例は、シグモイドベースの正規化器(例えば、マルチクラスシグモイド、区分ランプ)、双曲線正接ベースの正規化器、正規化線形ユニット(ReLU)ベースの正規化器、IDベースの正規化器、ロジスティックベースの正規化器、正弦ベースの正規化器、余弦ベースの正規化器、単位合計(unit sum)ベースの正規化器、及びステップベースの正規化を含む。他の例は、階層的ソフトマックス、区分ソフトマックス、重点サンプリング、雑音対照推定、ネガティブサンプリング、ゲート付きソフトマックス、球状ソフトマックス、テイラーソフトマックス、及びスパースマックスを含む。さらに他の実施形態において、任意の他の従来の又は将来開発される正規化器が使用されてもよい。
【0038】
図1におけるコンポーネントは、ハードウェアで実装されてもよいしソフトウェアで実装されてもよく、
図1に示されているのと全く同じブロックに分割される必要はない。コンポーネントの一部は、異なるプロセッサ又はコンピュータにおいて実装されてもよいし、複数の異なるプロセッサ又はコンピュータの間で分散されてもよい。さらに、コンポーネントの一部は、実現される機能に影響を及ぼすことなく、組み合わせられることもあるし、並列に動作することもあるし、
図1に示されている順序とは異なる順序で動作することもあることが、理解されよう。また、本明細書において使用される場合、用語「コンポーネント」は、それ自体がコンポーネントを構成すると本明細書においてみなされ得る「サブコンポーネント」を含み得る。例えば、センチネルゲートベクトル104、クエリ生成器106、距離尺度算出器108、ゲート確率質量算出器110、及びアテンション確率質量算出器112も、ポインタネットワーク102のサブコンポーネントであると本明細書においてみなされ得る。さらに、
図1におけるブロックは、方法におけるフローチャートステップとみなされ得る。コンポーネント又はサブコンポーネントはまた、必ずしも、その全てのコードをメモリ内で連続して配置する必要はない。コードのいくつかの部分は、他のコンポーネント又はサブコンポーネント又はそれらの間に配置される他の関数からのコードにより、コードの他の部分から分離され得る。また、
図1におけるコンポーネントは、1つ以上のネットワーク120を介して接続される。
【0039】
いくつかの実施形態において、ポインタネットワーク102と語彙ネットワーク124とは、完全に別々である。他の実施形態において、ポインタネットワーク102と語彙ネットワーク124とは、パラメータ及びハイパーパラメータの多くを共有する。一実施形態において、共有は、ポインタセンチネル混合アーキテクチャ100におけるパラメータ及びハイパーパラメータの総数を最小限に抑え、語彙ネットワーク124に対するポインタネットワーク102の教師あり学習を向上させる。
【0040】
図3は、ポインタネットワーク102及び語彙ネットワーク124にどれだけの重みを与えるかを指示するセンチネルゲートベクトル104の一実施形態を示している。
図3に示されている例において、ポインタセンチネル混合アーキテクチャ100は、「Fed Chair Janet Yellen ... raised rates. Ms. ???」のような文のセットを確認した後に次の単語(次単語)を予測する。
【0041】
図3の下部において、語彙ネットワーク124は、語彙テキスト118内の固定された単語のセットを使用して、次の単語を予測する。この知識は、前のFed Char Ben Barnankeに関する過去の参考文献又はトレーニングデータ等の遠い過去により関連し得る。
図3の上部において、ポインタネットワーク102は、ストーリーの最近の履歴を使用して、次の単語を予測する。関連する文脈を見ることにより、これは、「Janet Yellen」が再び参照される可能性が高いことを認識し、「Janet」がファーストネームであり、ラストネームが必要であることを認識すると、ポインタネットワーク102は、「Yellen」を指し示す。
【0042】
2つの情報ソースを混合することにより、すなわち、最初に文脈を用いて最近の関連する単語を「指し示し」、次いで、適切な文脈が存在しない場合には、RNNの内部メモリ及び語彙を用いることにより、ポインタセンチネル混合アーキテクチャ100は、はるかに信頼性の高い回答を得ることができる。
【0043】
図4は、ポインタセンチネル混合アーキテクチャ100の動作の一実施形態を示す数値例である。
図4において、単語「dog」及び単語「chased」は、NLPタスクが、先行する単語「dog」及び単語「chased」に照らして、次の欠落した単語???を予測することになるような、入力系列又は文脈単語402を表す。
【0044】
ポインタネットワーク102により算出されたポインタ分布214は、単語「dog」に、0.1というアテンション確率質量を割り当て、単語「chased」に、0というアテンション確率質量0を割り当てている。さらに、ポインタネットワーク102により決定されたゲート確率質量
【数108】
216は0.9である。ポインタ系列404にわたる結合確率質量
【数109】
は、単位合計へと加算されることに留意されたい。
【0045】
また、
図4に示されている例において、語彙テキスト118は、4つの既知の単語406のみ、すなわち、「dog」、「chased」、「cat」、及び「mailman」のみを含むと仮定する。したがって、語彙ネットワーク124により算出された語彙分布220は、単語「dog」に、0.2という語彙確率質量を割り当て、単語「chased」に、0という語彙確率質量を割り当て、単語「cat」に、0.5という語彙確率質量を割り当て、単語「mailman」に、0.3という語彙確率質量を割り当てている。語彙単語406にわたる語彙分布220は、単位合計へと加算されることに留意されたい。
【0046】
欠落した単語???を特定するために、出力分布222は、0.9というゲート確率質量
【数110】
216により混合が制御されるように、ポインタ分布214と語彙分布220とを混合することにより算出される。
図4に示されているように、単語「dog」についての出力分布は、0.28であると算出され、単語「chased」についての出力分布は、0であると算出され、単語「cat」についての出力分布は、0.45であると算出され、単語「mailman」についての出力分布は、0.27であると算出される。文脈単語402及び語彙単語406にわたる出力分布222は、単位合計へと加算されることに留意されたい。
【0047】
最後に、最大の又は最高の出力確率質量を有する単語、この例においては単語「cat」が、欠落した単語???として選択される。
【0048】
一例において、文脈テキスト122を完成させる選択されたトークンが、文脈テキスト122内にあり、語彙テキスト118内にない場合、出力確率質量は、対応するアテンション確率質量に応じて、トークンについて生成される。別の例において、トークンが、語彙テキスト118内にあり、文脈テキスト122内にない場合、出力確率質量は、ゲート確率質量
【数111】
216を、対応する語彙確率質量と乗算することに応じて、トークンについて生成される。さらに別の例において、トークンが、文脈テキスト122内にも語彙テキスト118内にもある場合、出力確率質量は、ゲート確率質量
【数112】
216を、対応する語彙確率質量と乗算し、対応するアテンション確率質量を加算することに応じて、トークンについて生成される。
【0049】
(実験結果)
図5は、Penn Treebankデータセットに関して、ポインタセンチネル−LSTMを様々な他のモデルと比較している表を示している。ポインタセンチネル−LSTMアーキテクチャは、標準的なソフトマックスLSTMよりもはるかに少ないパラメータを使用しながら、Penn Treebankデータセットに関して、70.9パープレキシティという最高水準の言語モデリング性能を実現している。
【0050】
図6は、WikiText-2言語モデリングタスクに関して、ポインタセンチネル−LSTMを様々な他のモデルと比較している表である。ポインタセンチネル−LSTMアーキテクチャは、標準的なソフトマックスLSTMよりはるかに少ないパラメータを使用しながら、WikiText-2言語モデリングタスクに関して、80.8パープレキシティという最高水準の言語モデリング性能を実現している。
【0051】
ポインタセンチネル−LSTMがLSTMよりもなぜ性能が優れているかについての仮説は、ポインタネットワーク102が、低頻度単語をポインタセンチネル混合アーキテクチャ100が効果的に再生成することを可能にすることである。RNN114は、ポインタネットワーク102に依拠することにより、隠れ状態容量をより良く使用することができる。ポインタネットワーク102はまた、ソフトマックス分類器のみを使用して可能であり得るよりも優れた、単一のトークンの選択を可能にする。
【0052】
図7は、LSTMをポインタセンチネル−LSTMと比較したときのパープレキシティの向上を示すグラフを含む。単語は、頻度に従って、バケット(buckets)にわたって分割されている。単語が低頻度になるにつれて、ポインタセンチネル−LSTMは、パープレキシティのより大きい向上を有している。Penn Treebankデータセットでも、最も頻度の高い10000個の単語を選択していることのみに起因して低頻度単語が比較的存在しない場合、ポインタセンチネル−LSTMは、直接的な利点を提供する。向上は、低頻度単語において最も大きいが、ポインタセンチネル−LSTMは、比較的頻度の高い単語においても、やはり有用である。これは、ポインタネットワーク102が、単語を直接選択すること、又は、ポインタ教師信号を介して、そのウィンドウ内の単語の他の出現に勾配が直接流れることを可能にすることにより、RNN114を向上させるためである。
【0053】
定性分析において、
図8A及び
図8Bは、ゲートがポインタネットワーク102により主に使用される予測にフォーカスして、検証セットにおける様々な例についてのゲート使用及びポインタアテンションを可視化している。予想されるように、ポインタネットワーク102は、次のようなまれな名前について頻繁に使用されている:「Seidman」(トレーニングにおいて23回)、「Iverson」(トレーニングにおいて7回)、及び「Rosenthal」(トレーニングにおいて3回)。ポインタネットワーク102はまた、次のような会社等の他の固有表現名について頻繁に使用されている:「Honeywell」(トレーニングにおいて8回)及び「Integrated」(トレーニングにおいて41回(単語の大文字を小文字に替えることに起因して、これは、integrated circuits、完全にintegrated、及び他の一般的使用を含むが))。ポインタネットワーク102はまた、多くの高頻度トークンについても使用される。測定単位(tons、kilograms、...)又は短いスケールの数(thousands、millions、billions、...)を選択するために、ポインタネットワーク102は、最近の使用を参照する。これは、特に、句がNトンからNトンに増加した形である場合に予想される。いくつかの実施形態において、ポインタセンチネル混合アーキテクチャ100は、「said」等の頻度の高い動詞を予測するために、ソフトマックスとポインタネットワーク102との混合に依拠する。
【0054】
さらに、ポインタネットワーク102は、100個の単語ウィンドウの最後の位置(位置97)にある単語を指し示し、これは、ほとんどの言語モデルがそれらのバックプロパゲーショントレーニングを切り捨てる35ステップよりもはるかに長い範囲である。これは、ポインタセンチネル混合アーキテクチャ100が、ゲーティング関数をポインタネットワーク102になぜ統合するかを示している。ゲーティング関数が、RNN隠れ状態116のみを使用する場合、特に、単語を確認してからどれほどの長さであったかを正確に追跡できないのであれば、ポインタウィンドウの末尾付近にあった単語に注意する必要があるであろう。ゲーティング関数をポインタネットワーク102に統合することにより、ポインタセンチネル混合アーキテクチャ100は、RNN隠れ状態116がこの集約的なブックキーピングを維持しなければならないことを回避する。
【0055】
図8A及び
図8Bは、定性分析について、ポインタネットワーク102が、ポインタセンチネル混合アーキテクチャ100内でどのように使用されるかを可視化している。ゲートは、語彙ネットワーク124が排他的に使用されていることを1が示すのに対し、ポインタネットワーク102が排他的に使用されていることを0が示す、ゲーティング関数の結果を指す。
図8A及び
図8Bは、主に語彙ネットワーク124を使用している予測で始まり、主にポインタネットワーク102を使用している予測に移る。
【0056】
予測802を参照すると、「the fall season has been a good one especially for those retailers」と予測する際、ポインタネットワーク102は、「retailers」、「investments」、「chains」、及び「institutions」等、適合するであろう多くの単語を、履歴ウィンドウから提案する。ゲートは、依然として主に語彙ネットワーク124に向かって重み付けされている。
【0057】
予測804を参照すると、「the national cancer institute also projected that overall u.s. mortality」と予測する際、ポインタネットワーク102は、mortality及びratesにフォーカスし、これらの両方が適合するであろう。ゲートは、依然として主に語彙ネットワーク124に向かって重み付けされている。
【0058】
予測806を参照すると、「people don’t seem to be unhappy with it he said」と予測する際、ポインタネットワーク102は、「said」を正しく選択し、語彙ネットワーク124とほぼ等しく重み付けされている。
【0059】
予測808を参照すると、「the federal government has had to pump in $N billion」と予測する際、ポインタネットワーク102は、非常に類似した文脈を有する最近のbillionの使用にフォーカスする。ポインタネットワーク102はまた、語彙ネットワーク124よりも重く依拠される。
【0060】
予測810を参照すると、「[unk]’s ghost sometimes runs through the e ring dressed like gen. noriega」と予測する際、ポインタネットワーク102は、「gen. douglas」を検索するために97時間ステップ戻る。残念ながら、この予測は正しくないが、追加の文脈がなければ、人間は、同じ単語を推測していたであろう。これは、さらに、ゲーティング関数がポインタネットワーク102になぜ統合されるかを示している。RNN隠れ状態116は、ほぼ100時間ステップの間情報を正確に保持することができないので、固有表現「gen. douglas」は、さらなる4時間ステップだけではウィンドウから外れていたであろう。
【0061】
予測812を参照すると、「mr. iverson」と予測する際、ポインタネットワーク102は、最も直近の固有表現のラストネームを指し示す能力を学習する。固有表現はまた、45時間ステップ前に出現しており、これは、ほとんどの言語モデルがそれらのバックプロパゲーションを切り捨てる35ステップよりも長い。
【0062】
予測814を参照すると、「mr. rosenthal」と予測する際、ポインタネットワーク102が、ほぼ排他的に使用され、「bruce rosenthal」を発話者として特定するために65時間ステップ戻り、ラストネームだけを正しく選択する。
【0063】
予測816を参照すると、「in composite trading on the new york stock exchange yesterday integrated」と予測する際、会社「Integrated」及び[unk]トークンが、ポインタネットワーク102により主に注目され、ほぼ完全な予測が、ポインタネットワーク102により決定される。
【0064】
(特定の実施形態)
ニューラルネットワークベースの言語モデリングにおいて次単語予測を向上させるポインタセンチネル混合アーキテクチャのためのシステム、方法、及び製品が記載される。実施形態の1つ以上の特徴は、ベースとなる実施形態と組み合わせられることもある。相互に排他的ではない実施形態は、組み合わせ可能であると教示される。実施形態の1つ以上の特徴は、他の実施形態と組み合わせられることもある。本開示は、これらのオプションについてユーザに定期的にリマインドする。これらのオプションを繰り返す記載事項の、いくつかの実施形態からの省略は、前のセクションにおいて教示された組み合わせを限定するものとして解釈されるべきではない。これらの記載事項は、参照により以下の実施形態の各々に組み込まれる。
【0065】
開示されている技術のシステムの実施形態は、メモリに接続されている1つ以上のプロセッサを含む。文脈テキスト及び語彙テキストを所与として、トークンが語彙テキスト内にあり文脈テキスト内にない状況を含む、トークンを予測するためのコンピュータ命令が、メモリにロードされる。
【0066】
このシステムは、ポインタネットワークの結果と語彙ネットワークの結果とを混合して、トークンを予測し、混合は、ゲート確率質量により制御される。
【0067】
このシステムは、トレーニングされているセンチネルゲートベクトル、文脈テキスト内のトークンのウィンドウ内の各位置についての再帰型ニューラルネットワーク(略してRNN)の隠れ状態ベクトル、RNNの最終隠れ状態ベクトルから生成されたクエリベクトル、クエリベクトルとトレーニングされているセンチネルゲートベクトルとの距離尺度積として算出された正規化されていないゲート値、及びトークンのウィンドウ内の各位置についての正規化されていないアテンション値であって、各アテンション値は、クエリベクトルと隠れ状態ベクトルの各々との距離尺度積として算出されている、アテンション値を使用することにより、文脈テキスト内のトークンのウィンドウにわたるポインタネットワークの結果及びゲート確率質量を算出する。
【0068】
このシステムは、正規化されていないアテンション値及び正規化されていないゲート値を連結し、連結されたアテンション値及びゲート値を指数関数的に正規化して(exponentially normalize)、アテンション確率質量のベクトル及びゲート確率質量を生成する。
【0069】
このシステムは、RNNの最終隠れ状態ベクトルから、語彙テキスト内のトークンにわたる語彙確率質量の分布を算出することにより、語彙ネットワークの結果を算出する。
【0070】
このシステムは、文脈テキスト及び語彙テキスト内のトークンにわたる出力確率質量の分布を生成する。トークンが、文脈テキスト内にあり語彙テキスト内にない場合、このシステムは、対応するアテンション確率質量から、トークンについての出力確率質量を生成する。トークンが、語彙テキスト内にあり文脈テキスト内にない場合、このシステムは、ゲート確率質量を、対応する語彙確率質量と乗算することにより、トークンについての出力確率質量を生成する。トークンが、文脈テキスト内にも語彙テキスト内にもある場合、このシステムは、ゲート確率質量を、対応する語彙確率質量と乗算し、対応するアテンション確率質量を加算することにより、トークンについての出力確率質量を生成する。
【0071】
このシステムは、クエリベクトルに対する応答として、最大出力確率質量を有するトークンを選択する。
【0072】
システムのこの実施形態及び開示されている他のシステムは、以下の特徴のうちの1つ以上を任意的に含む。システムはまた、開示されている方法に関連して記載されている特徴を含んでもよい。簡潔にするために、システムの特徴の代替の組み合わせは、個々には列挙されない。システム、方法、及び製品に適用可能な特徴は、ベースとなる特徴の各法定分類セットについて繰り返されない。読者は、このセクションにおいて特定された特徴が他の法定分類におけるベースとなる特徴とどのように容易に組み合わせられ得るかを理解するであろう。
【0073】
クエリベクトルは、線形層を通じてRNNの最終隠れ状態ベクトルを処理して、非線形射影を生成することにより、RNNの最終隠れ状態ベクトルから生成され得る。
【0074】
ゲート確率質量は、正規化されていないゲート値を指数関数的に正規化することから生じ得る。アテンション確率質量のベクトル及びゲート確率質量の合計は、予め定められた定数(例えば1)であってよい。語彙テキスト内のトークンにわたる語彙確率質量の分布の合計は、予め定められた定数(例えば1)であってよい。文脈テキスト及び語彙テキスト内のトークンにわたる出力確率質量の分布の合計は、予め定められた定数(例えば1)であってよい。
【0075】
トークンが、文脈テキスト内の複数の位置において出現した場合、このシステムは、文脈テキスト内のトークンの複数の位置の各々の位置に対応するアテンション確率質量を加算して、トークンについての最終アテンション確率質量を算出し、最終アテンション確率質量を使用して、トークンについての出力確率質量を算出する。
【0076】
トレーニングされるセンチネルゲートベクトルは、アプリオリにトレーニングされ得る。トレーニングされているセンチネルゲートベクトルは、語彙ネットワーク及びポインタネットワークからの情報の蓄積を制御することができる。ゲート確率質量が1であることは、語彙ネットワークからの情報の蓄積をもたらし得る。ゲート確率質量が0であることは、ポインタネットワークからの情報の蓄積をもたらし得る。
【0077】
動的センチネルゲートベクトルは、RNNの最終隠れ状態ベクトルを、トレーニングされているセンチネルゲートベクトルと連結し、線形層を通じてこの連結を処理して、非線形射影を生成することにより、RNNの最終隠れ状態ベクトルから生成され得る。
【0078】
トークンは、単語、文字、又は句であってよい。
【0079】
他の実施形態は、上述したシステムの機能を実行するための、プロセッサにより実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。さらに別の実施形態は、上述したシステムの機能を実行する方法を含み得る。
【0080】
開示されている技術のシステムの別の実施形態は、メモリに接続されている1つ以上のプロセッサを含む。文脈テキスト及び語彙テキストを所与として、トークンが語彙テキスト内にあり文脈テキスト内にない状況を含む、トークンを予測するためのコンピュータ命令が、メモリにロードされる。
【0081】
このシステムは、ポインタネットワークの結果と語彙ネットワークの結果とを混合して、トークンを予測し、混合は、ゲート確率質量により制御される。
【0082】
このシステムは、トレーニングされているセンチネルゲートベクトル、文脈テキスト内のトークンのウィンドウ内の各位置についての再帰型ニューラルネットワーク(略してRNN)の隠れ状態ベクトル、RNNの最終隠れ状態ベクトルから生成されたクエリベクトル、クエリベクトルとトレーニングされているセンチネルゲートベクトルとの距離尺度積として算出された正規化されていないゲート値、及びトークンのウィンドウ内の各位置についての正規化されていないアテンション値であって、各アテンション値は、クエリベクトルと隠れ状態ベクトルの各々との距離尺度積として算出されている、アテンション値を使用することにより、文脈テキスト内のトークンのウィンドウにわたるポインタネットワークの結果及びゲート確率質量を算出する。
【0083】
このシステムは、正規化されていないアテンション値及び正規化されていないゲート値を連結し、連結されたアテンション値及びゲート値を指数関数的に正規化して、アテンション確率質量のベクトル及びゲート確率質量を生成する。
【0084】
このシステムは、RNNの最終隠れ状態ベクトルから、語彙テキスト内のトークンにわたる語彙確率質量の分布を算出することにより、語彙ネットワークの結果を算出する。
【0085】
このシステムは、文脈テキスト及び語彙テキスト内のトークンにわたる出力確率質量の分布を生成する。
【0086】
このシステムは、クエリベクトルに対する応答として、最大出力確率質量を有するトークンを選択する。
【0087】
システムの最初の実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、システムのこの実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0088】
トークンが、文脈テキスト内にあり語彙テキスト内にない場合、このシステムは、対応するアテンション確率質量として、トークンについての出力確率質量を生成することができる。トークンが、語彙テキスト内にあり文脈テキスト内にない場合、このシステムは、ゲート確率質量を、対応する語彙確率質量と乗算することにより、トークンについての出力確率質量を生成することができる。トークンが、文脈テキスト内にも語彙テキスト内にもある場合、このシステムは、ゲート確率質量を、対応する語彙確率質量と乗算し、対応するアテンション確率質量を加算することにより、トークンについての出力確率質量を生成することができる。
【0089】
他の実施形態は、上述したシステムの機能を実行するための、プロセッサにより実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。さらに別の実施形態は、上述したシステムの機能を実行する方法を含み得る。
【0090】
開示されている技術のシステムのさらに別の実施形態は、メモリに接続されている1つ以上のプロセッサを含む。文脈テキスト及び語彙テキストを所与として、トークンが語彙テキスト内にあり文脈テキスト内にない状況を含む、トークンを予測するためのコンピュータ命令が、メモリにロードされる。
【0091】
このシステムは、ポインタネットワークの結果と語彙ネットワークの結果とを混合して、トークンを予測し、混合は、ゲート確率質量により制御される。
【0092】
このシステムは、トレーニングされているセンチネルゲートベクトル、文脈テキスト内のトークンのウィンドウ内の各位置についての再帰型ニューラルネットワーク(略してRNN)の隠れ状態ベクトル、RNNの最終隠れ状態ベクトルから生成されたクエリベクトル、クエリベクトルとトレーニングされているセンチネルゲートベクトルとの距離尺度積として算出された正規化されていないゲート値、及びトークンのウィンドウ内の各位置についての正規化されていないアテンション値であって、各アテンション値は、クエリベクトルと隠れ状態ベクトルの各々との距離尺度積として算出されている、アテンション値を使用することにより、文脈テキスト内のトークンのウィンドウにわたるポインタネットワークの結果及びゲート確率質量を算出する。
【0093】
このシステムは、正規化されていないアテンション値及び正規化されていないゲート値を連結し、連結されたアテンション値及びゲート値を指数関数的に正規化して、アテンション確率質量のベクトル及びゲート確率質量を生成する。
【0094】
このシステムは、RNNの最終隠れ状態ベクトルから、語彙テキスト内のトークンにわたる語彙確率質量の分布を算出することにより、語彙ネットワークの結果を算出する。
【0095】
このシステムは、ゲート確率質量を、ポインタネットワークの結果及び語彙ネットワークの結果のうちの少なくとも一方に適用した後に、結果を組み合わせる。
【0096】
このシステムは、組み合わせられた結果に基づいて、文脈テキスト又は語彙テキスト内のトークンから、クエリベクトルに応答するトークンを選択する。
【0097】
システムの最初の実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、システムのこの実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0098】
他の実施形態は、上述したシステムの機能を実行するための、プロセッサにより実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。さらに別の実施形態は、上述したシステムの機能を実行する方法を含み得る。
【0099】
開示されている技術の方法の実施形態は、上述したシステムの動作を実行する方法を含む。システムの実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、方法の実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0100】
開示されている技術のコンピュータ読み取り可能な媒体(略してCRM)の実施形態は、コンピュータプログラム命令が与えられた非一時的なコンピュータ読み取り可能な記憶媒体であって、コンピュータプログラム命令がプロセッサ上で実行されたときに、コンピュータプログラム命令が、上述したシステムの動作を実行する、非一時的なコンピュータ読み取り可能な記憶媒体を含む。システムの実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、CRMの実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0101】
開示されている技術のシステムのさらに別の実施形態は、メモリに接続されている1つ以上のプロセッサを含む。文脈単語の系列及び単語の語彙を所与として、次単語が語彙内にあり系列内にない状況を含む、次単語を予測するためのコンピュータ命令が、メモリにロードされる。
【0102】
このシステムは、入力として文脈単語の系列をニューラルネットワークに提供して、語彙内の単語にわたる語彙分布を生成する。語彙分布は、語彙単語の各々が次単語であるそれぞれの尤度を特定する。ニューラルネットワークは、再帰型ニューラルネットワーク(略してRNN)であってよい。RNNは、長短期メモリ(略してLSTM)ネットワークであってよい。
【0103】
このシステムは、ニューラルネットワークに問い合わせて、系列内の文脈単語にわたるポインタ分布及びセンチネルを生成する。ポインタ分布は、文脈単語の各々が次単語であるそれぞれの尤度を特定する。
【0104】
このシステムは、語彙分布及びポインタ分布からのそれぞれの尤度を混合して、語彙及び系列内の単語の各々についての結合尤度を生成し、混合は、センチネルにより制御される。
【0105】
このシステムは、生成された結合尤度に基づいて、次単語として、語彙及び/又は系列から単語を選択する。
【0106】
システムのこの実施形態及び開示されている他のシステムは、以下の特徴のうちの1つ以上を任意的に含む。システムはまた、開示されている方法に関連して記載されている特徴を含んでもよい。簡潔にするために、システムの特徴の代替の組み合わせは、個々には列挙されない。システム、方法、及び製品に適用可能な特徴は、ベースとなる特徴の各法定分類セットについて繰り返されない。読者は、このセクションにおいて特定された特徴が他の法定分類のベースとなる特徴とどのように容易に組み合わせられ得るかを理解するであろう。
【0107】
このシステムは、多層パーセプトロンを通じてニューラルネットワークの最終隠れ状態ベクトルを処理することにより、最終隠れ状態ベクトルからクエリベクトルを生成する。このシステムは、内積を使用して、クエリベクトルを、ニューラルネットワークの隠れ状態ベクトルと比較し、文脈単語の各々について、正規化されていないアテンションスカラーを生成する。このシステムは、内積を使用して、クエリベクトルを、予めトレーニングされているセンチネルベクトルと比較し、正規化されていないセンチネルゲートスカラーを生成する。このシステムは、アテンションベクトルにおいて、正規化されていないアテンションスカラー及び正規化されていないセンチネルゲートスカラーを連結し、アテンションベクトルを指数関数的に正規化して、正規化されたアテンション質量及び正規化されたセンチネルゲート質量を生成する。このシステムは、ポインタ分布として、正規化されたアテンションベクトルを使用し、文脈単語の各々が次単語であるそれぞれの尤度として、正規化されたアテンション質量を使用する。
【0108】
単語が、系列内にあり語彙内にない場合、このシステムは、対応する正規化されたアテンション質量から、単語についての結合尤度を生成することができる。単語が、語彙内にあり系列内にない場合、このシステムは、語彙分布から生成された対応する語彙確率質量から、単語についての結合尤度を生成することができる。単語が、系列内にも語彙内にもある場合、このシステムは、正規化されたセンチネルゲート質量を、語彙分布から生成された対応する語彙確率質量と乗算し、対応する正規化されたアテンション質量を加算することにより、単語についての結合尤度を生成することができる。このシステムは、クエリベクトルに対する応答として、したがって、予測された次単語として、最大結合尤度を有する単語を選択することができる。
【0109】
正規化されたセンチネルゲート質量は、次単語が、系列からの文脈単語であるか又は語彙からの語彙単語であるかを制御することができる。正規化されたセンチネルゲート質量は、次単語が語彙内にのみ存在する場合には1であってよい。そのような場合、このシステムは、語彙からのみ次単語を予測する。正規化されたセンチネルゲート質量は、次単語が系列内にのみ存在する場合には0であってよい。そのような場合、このシステムは、系列からのみ次単語を予測する。
【0110】
1つの文脈単語が、系列内の複数の位置において出現した場合、このシステムは、系列内の、1つの文脈単語の複数の位置の各々の位置に対応する正規化されたアテンション質量を加算して、1つの文脈単語についての最終の正規化されたアテンション質量を生成し、最終の正規化されたアテンション質量を使用して、1つの文脈単語についての結合尤度を生成する。
【0111】
このシステムは、音声認識、機械翻訳、テキスト要約、質問回答、画像キャプション付け、及びテキスト音声合成を含む1つ以上の言語モデリングタスクのために、ニューラルネットワーク及び生成された結合尤度を使用する。
【0112】
他の実施形態は、上述したシステムの機能を実行するための、プロセッサにより実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。さらに別の実施形態は、上述したシステムの機能を実行する方法を含み得る。
【0113】
開示されている技術の方法の実施形態は、文脈単語の系列及び単語の語彙を所与として、次単語が語彙内にあり系列内にない状況を含む、次単語を予測することを含む。
【0114】
この方法は、入力として文脈単語の系列をニューラルネットワークに提供して、語彙内の単語にわたる語彙分布を生成することを含む。語彙分布は、語彙の単語の各々が次単語であるそれぞれの尤度を特定する。ニューラルネットワークは、再帰型ニューラルネットワーク(略してRNN)であってよい。RNNは、長短期メモリ(略してLSTM)ネットワークであってよい。
【0115】
この方法は、ニューラルネットワークに問い合わせて、系列内の文脈単語にわたるポインタ分布及びセンチネルを生成することを含む。ポインタ分布は、文脈単語の各々が次単語であるそれぞれの尤度を特定する。
【0116】
この方法は、語彙分布及びポインタ分布からのそれぞれの尤度を混合して、語彙及び系列内の単語の各々についての結合尤度を生成することを含み、混合は、センチネルにより制御される。
【0117】
この方法は、生成された結合尤度に基づいて、次単語として、語彙及び/又は系列から単語を選択することを含む。
【0118】
システムの実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、方法のこの実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0119】
他の実施形態は、上述した方法を実行するための、プロセッサにより実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。さらに別の実施形態は、メモリ及び1つ以上のプロセッサを含むシステムであって、1つ以上のプロセッサは、上述した方法を実行するための、メモリに記憶されている命令を実行するよう動作可能である、システムを含み得る。
【0120】
開示されている技術のコンピュータ読み取り可能な媒体(略してCRM)の実施形態は、コンピュータプログラム命令が与えられた非一時的なコンピュータ読み取り可能な記憶媒体であって、コンピュータプログラム命令がプロセッサ上で実行されたときに、コンピュータプログラム命令が、上述したシステムの動作を実行する、非一時的なコンピュータ読み取り可能な記憶媒体を含む。
【0121】
システムの実施形態について、特定の実施形態のこのセクションにおいて記載されている特徴の各々は、CRMの実施形態に等しく適用される。上記のように、システムの全ての特徴は、ここでは繰り返されず、参照により繰り返されるとみなされるべきである。
【0122】
(コンピュータシステム)
図9は、ポインタセンチネル混合アーキテクチャ100を実現するために使用され得るコンピュータシステム900の簡略化されたブロック図である。コンピュータシステム900は、一般に、バスサブシステム932を介して複数の周辺デバイスと通信する1つ以上のCPUプロセッサ920を含む。これらの周辺デバイスは、例えばメモリデバイスを含むメモリサブシステム912及びファイル記憶サブシステム918と、ユーザインタフェース入力デバイス930と、ユーザインタフェース出力デバイス924と、ネットワークインタフェースサブシステム922と、複数のGPUプロセッシングコア又はGPUプロセッサ928を含むGPU926と、を含み得る。入力デバイス及び出力デバイスは、コンピュータシステム900とのユーザインタラクションを可能にする。ネットワークインタフェースサブシステム922は、他のコンピュータシステムにおける対応するインタフェースデバイスへのインタフェースを含め、外部ネットワークへのインタフェースを提供する。
【0123】
いくつかの実施形態に従うと、ポインタセンチネル混合アーキテクチャ100の動作は、GPUプロセッシングコア928により実行される。
【0124】
ユーザインタフェース入力デバイス930又はクライアント若しくはクライアントデバイスは、キーボード;マウス、トラックボール、タッチパッド、又はグラフィックスタブレット等のポインティングデバイス;スキャナ;ディスプレイに組み込まれたタッチスクリーン;音声認識システム及びマイクロフォン等のオーディオ入力デバイス;及び、他のタイプの入力デバイスを含み得る。概して、用語「入力デバイス」の使用は、コンピュータシステム900に情報を入力するための全ての可能なタイプのデバイス及び態様を含むよう意図されている。
【0125】
ユーザインタフェース出力デバイス924は、ディスプレイサブシステム;プリンタ;ファックス機;及び、オーディオ出力デバイス等の非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)等のフラットパネルデバイス、投影デバイス、又は可視画像を生成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイス等の非視覚的ディスプレイを提供することができる。概して、用語「出力デバイス」の使用は、コンピュータシステム900からユーザ又は別のマシン若しくはコンピュータシステムに情報を出力するための全ての可能なタイプのデバイス及び態様を含むよう意図されている。
【0126】
記憶サブシステム910は、本開示に記載のモジュール及び方法の一部又は全ての機能を提供するプログラミング及びデータ構造を記憶する。これらのソフトウェアモジュールは、一般に、CPUプロセッサ920により単独で、又は、GPUプロセッサ928等の他のプロセッサとCPUプロセッサ920との組み合わせにより、実行される。
【0127】
記憶サブシステムにおけるメモリサブシステム912は、プログラムの実行中に命令及びデータを記憶するためのメインランダムアクセスメモリ(RAM)916と、固定された命令が記憶される読み取り専用メモリ(ROM)914と、を含み得る。ファイル記憶サブシステム918は、プログラム及びデータファイルのための永続的記憶を提供することができ、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ及び関連する着脱可能な媒体、CD−ROMドライブ、光学ドライブ、及び着脱可能なメディアカートリッジを含み得る。所定の実施形態の機能を実装しているモジュールは、ファイル記憶サブシステム918又はメモリサブシステム912により記憶されることもあるし、プロセッサによりアクセス可能な他のマシンに記憶されることもある。
【0128】
バスサブシステム932は、意図されるようにコンピュータシステム900の様々なコンポーネント及びサブシステムに互いと通信させるための機構を提供する。バスサブシステム932が、単一のバスとして概略的に図示されているが、バスサブシステム932の代替実施形態は、複数のバスを使用してもよい。いくつかの実施形態において、アプリケーションサーバ(図示せず)は、ハードウェア及び/又はソフトウェア(例えばオペレーティングシステム)等、コンピュータシステム900のアプリケーションが動作することを可能にするフレームワークであってよい。
【0129】
コンピュータシステム900自体は、パーソナルコンピュータ、ポータブルコンピュータ、ワークステーション、コンピュータ端末、ネットワークコンピュータ、テレビジョン、メインフレーム、サーバファーム、自由にネットワーク化されたコンピュータの広く分散されているセット、又は、任意の他のデータ処理システム若しくはユーザデバイスを含む様々なタイプであってよい。コンピュータ及びネットワークの常に変化する性質に起因して、
図9に示されているコンピュータシステム900の記載は、本発明の好ましい実施形態を例示するための具体例として意図されているに過ぎない。
図9に示されているコンピュータシステムよりも多い又は少ないコンポーネントを有する、コンピュータシステム900の多くの他の構成が可能である。
【0130】
前述の説明は、開示されている技術の製造及び使用を可能にするように提示されている。開示されている技術の主旨及び範囲から逸脱することなく、開示されている実施形態に対する様々な変更が明らかであり、本開示において規定されている一般的な原理は、他の実施形態及び用途にも適用可能である。したがって、開示されている技術は、例示されている実施形態に限定されるよう意図されるものではなく、本出願において開示されている原理及び特徴と整合する最も広い範囲に従うべきである。開示されている技術の範囲は、請求項により定められる。
上記の実施形態につき以下の付記を残しておく。
[付記1]
文脈単語の系列及び単語の語彙を所与として、次単語が前記語彙内にあり前記系列内にない状況を含む、前記次単語を予測する、コンピュータにより実行される方法であって、
入力として前記文脈単語の系列をニューラルネットワークに提供して、前記語彙内の単語にわたる語彙分布を生成するステップであって、前記語彙分布は、前記語彙の単語の各々が前記次単語であるそれぞれの尤度を特定する、ステップと、
前記ニューラルネットワークに問い合わせて、前記系列内の文脈単語にわたるポインタ分布及びセンチネルを生成するステップであって、前記ポインタ分布は、前記文脈単語の各々が前記次単語であるそれぞれの尤度を特定する、ステップと、
前記語彙分布及び前記ポインタ分布からのそれぞれの尤度を混合して、前記語彙及び前記系列内の単語の各々についての結合尤度を生成するステップであって、前記混合は、前記センチネルにより制御される、ステップと、
前記の生成された結合尤度に基づいて、前記次単語として、前記語彙及び/又は前記系列から単語を選択するステップと、
を含む、コンピュータにより実行される方法。
[付記2]
前記ニューラルネットワークは、再帰型ニューラルネットワーク(RNN)である、付記1に記載のコンピュータにより実行される方法。
[付記3]
前記RNNは、長短期メモリ(LSTM)ネットワークである、付記1又は2に記載のコンピュータにより実行される方法。
[付記4]
多層パーセプトロンを通じて前記ニューラルネットワークの最終隠れ状態ベクトルを処理することにより、前記最終隠れ状態ベクトルからクエリベクトルを生成するステップと、
内積を使用して、前記クエリベクトルを、前記ニューラルネットワークの隠れ状態ベクトルと比較し、前記文脈単語の各々について、正規化されていないアテンションスカラーを生成するステップと、
内積を使用して、前記クエリベクトルを、予めトレーニングされているセンチネルベクトルと比較し、正規化されていないセンチネルゲートスカラーを生成するステップと、
アテンションベクトルにおいて、前記正規化されていないアテンションスカラー及び前記正規化されていないセンチネルゲートスカラーを連結し、前記アテンションベクトルを指数関数的に正規化して、正規化されたアテンション質量及び正規化されたセンチネルゲート質量を生成するステップと、
前記ポインタ分布として、前記の正規化されたアテンションベクトルを使用し、前記文脈単語の各々が前記次単語である前記それぞれの尤度として、前記正規化されたアテンション質量を使用するステップと、
をさらに含む、付記1乃至3のいずれか一項に記載のコンピュータにより実行される方法。
[付記5]
ある単語が、前記系列内にあり前記語彙内にない場合、対応する正規化されたアテンション質量から、該ある単語についての結合尤度を決定するステップと、
ある単語が、前記語彙内にあり前記系列内にない場合、前記語彙分布から決定された対応する語彙確率質量から、該ある単語についての結合尤度を決定するステップと、
ある単語が、前記系列内にも前記語彙内にもある場合、前記正規化されたセンチネルゲート質量を、前記語彙分布から生成された対応する語彙確率質量と乗算し、対応する正規化されたアテンション質量を加算することにより、該ある単語についての結合尤度を決定するステップと、
前記クエリベクトルに対する応答として、したがって、前記の予測された次単語として、最大結合尤度を有する単語を選択するステップと、
をさらに含む、付記1乃至4のいずれか一項に記載のコンピュータにより実行される方法。
[付記6]
前記正規化されたセンチネルゲート質量は、前記次単語が、前記系列からの文脈単語であるか又は前記語彙からの語彙単語であるかを制御する、付記1乃至5のいずれか一項に記載のコンピュータにより実行される方法。
[付記7]
前記正規化されたセンチネルゲート質量は、前記次単語が前記語彙内にのみ存在する場合には1であり、前記語彙からのみ前記次単語を予測するステップ
をさらに含む、付記1乃至6のいずれか一項に記載のコンピュータにより実行される方法。
[付記8]
前記正規化されたセンチネルゲート質量は、前記次単語が前記系列内にのみ存在する場合には0であり、前記系列からのみ前記次単語を予測するステップ
をさらに含む、付記1乃至7のいずれか一項に記載のコンピュータにより実行される方法。
[付記9]
1つの文脈単語が、前記系列内の複数の位置において出現し、
前記コンピュータにより実行される方法は、
前記系列内の、前記1つの文脈単語の前記複数の位置の各々の位置に対応する正規化されたアテンション質量を加算して、前記次単語についての最終の正規化されたアテンション質量を生成するステップと、
前記最終の正規化されたアテンション質量を使用して、前記次単語についての結合尤度を生成するステップと、
をさらに含む、付記1乃至8のいずれか一項に記載のコンピュータにより実行される方法。
[付記10]
音声認識、機械翻訳、テキスト要約、質問回答、画像キャプション付け、及びテキスト音声合成を含む1つ以上の言語モデリングタスクのために、前記ニューラルネットワーク及び前記の生成された結合尤度を使用するステップ
をさらに含む、付記1乃至9のいずれか一項に記載のコンピュータにより実行される方法。
[付記11]
メモリに接続されている1つ以上のプロセッサを含むシステムであって、文脈単語の系列及び単語の語彙を所与として、次単語が前記語彙内にあり前記系列内にない状況を含む、前記次単語を予測するためのコンピュータ命令が、前記メモリにロードされ、前記コンピュータ命令は、前記1つ以上のプロセッサ上で実行されたときに、
入力として前記文脈単語の系列をニューラルネットワークに提供して、前記語彙内の単語にわたる語彙分布を生成することであって、前記語彙分布は、前記語彙の単語の各々が前記次単語であるそれぞれの尤度を特定する、生成することと、
前記ニューラルネットワークに問い合わせて、前記系列内の文脈単語にわたるポインタ分布及びセンチネルを生成することであって、前記ポインタ分布は、前記文脈単語の各々が前記次単語であるそれぞれの尤度を特定する、生成することと、
前記語彙分布及び前記ポインタ分布からのそれぞれの尤度を混合して、前記語彙及び前記系列内の単語の各々についての結合尤度を生成することであって、前記混合は、前記センチネルにより制御される、生成することと、
前記の生成された結合尤度に基づいて、前記次単語として、前記語彙及び/又は前記系列から単語を選択することと、
を含む動作を実行する、システム。
[付記12]
前記コンピュータ命令は、前記1つ以上のプロセッサ上で実行されたときに、
多層パーセプトロンを通じて前記ニューラルネットワークの最終隠れ状態ベクトルを処理することにより、前記最終隠れ状態ベクトルからクエリベクトルを生成することと、
内積を使用して、前記クエリベクトルを、前記ニューラルネットワークの隠れ状態ベクトルと比較し、前記文脈単語の各々について、正規化されていないアテンションスカラーを生成することと、
内積を使用して、前記クエリベクトルを、予めトレーニングされているセンチネルベクトルと比較し、正規化されていないセンチネルゲートスカラーを生成することと、
アテンションベクトルにおいて、前記正規化されていないアテンションスカラー及び前記正規化されていないセンチネルゲートスカラーを連結し、前記アテンションベクトルを指数関数的に正規化して、正規化されたアテンション質量及び正規化されたセンチネルゲート質量を生成することと、
前記ポインタ分布として、前記の正規化されたアテンションベクトルを使用し、前記文脈単語の各々が前記次単語である前記それぞれの尤度として、前記正規化されたアテンション質量を使用することと、
を含む動作をさらに実行する、付記11に記載のシステム。
[付記13]
前記コンピュータ命令は、前記1つ以上のプロセッサ上で実行されたときに、
ある単語が、前記系列内にあり前記語彙内にない場合、対応する正規化されたアテンション質量から、該ある単語についての結合尤度を決定することと、
ある単語が、前記語彙内にあり前記系列内にない場合、前記語彙分布から決定された対応する語彙確率質量から、該ある単語についての結合尤度を決定することと、
ある単語が、前記系列内にも前記語彙内にもある場合、前記正規化されたセンチネルゲート質量を、前記語彙分布から生成された対応する語彙確率質量と乗算し、対応する正規化されたアテンション質量を加算することにより、該ある単語についての結合尤度を決定することと、
前記クエリベクトルに対する応答として、したがって、前記の予測された次単語として、最大結合尤度を有する単語を選択することと、
を含む動作をさらに実行する、付記11又は12に記載のシステム。
[付記14]
文脈単語の系列及び単語の語彙を所与として、次単語が前記語彙内にあり前記系列内にない状況を含む、前記次単語を予測するためのコンピュータプログラム命令が与えられた非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラム命令は、プロセッサ上で実行されたときに、
入力として前記文脈単語の系列をニューラルネットワークに提供して、前記語彙内の単語にわたる語彙分布を生成するステップであって、前記語彙分布は、前記語彙の単語の各々が前記次単語であるそれぞれの尤度を特定する、ステップと、
前記ニューラルネットワークに問い合わせて、前記系列内の文脈単語にわたるポインタ分布及びセンチネルを生成するステップであって、前記ポインタ分布は、前記文脈単語の各々が前記次単語であるそれぞれの尤度を特定する、ステップと、
前記語彙分布及び前記ポインタ分布からのそれぞれの尤度を混合して、前記語彙及び前記系列内の単語の各々についての結合尤度を生成するステップであって、前記混合は、前記センチネルにより制御される、ステップと、
前記の生成された結合尤度に基づいて、前記次単語として、前記語彙及び/又は前記系列から単語を選択するステップと、
を含む方法を実行する、非一時的なコンピュータ読み取り可能な記憶媒体。
[付記15]
前記コンピュータプログラム命令は、前記プロセッサ上で実行されたときに、
多層パーセプトロンを通じて前記ニューラルネットワークの最終隠れ状態ベクトルを処理することにより、前記最終隠れ状態ベクトルからクエリベクトルを生成するステップと、
内積を使用して、前記クエリベクトルを、前記ニューラルネットワークの隠れ状態ベクトルと比較し、前記文脈単語の各々について、正規化されていないアテンションスカラーを生成するステップと、
内積を使用して、前記クエリベクトルを、予めトレーニングされているセンチネルベクトルと比較し、正規化されていないセンチネルゲートスカラーを生成するステップと、
アテンションベクトルにおいて、前記正規化されていないアテンションスカラー及び前記正規化されていないセンチネルゲートスカラーを連結し、前記アテンションベクトルを指数関数的に正規化して、正規化されたアテンション質量及び正規化されたセンチネルゲート質量を生成するステップと、
前記ポインタ分布として、前記の正規化されたアテンションベクトルを使用し、前記文脈単語の各々が前記次単語である前記それぞれの尤度として、前記正規化されたアテンション質量を使用するステップと、
をさらに含む前記方法を実行する、付記14に記載の非一時的なコンピュータ読み取り可能な記憶媒体。