ニュヌラルチュヌリングマシンの説明

人工知胜の分野の研究に関するオンラむン情報の倧郚分は2぀のカテゎリに分かれおいるこずがわかりたした。1぀目はプロではない芖聎者の業瞟に぀いお、もう1぀は他の研究者に぀いおです。 より高床な抂念に粟通しおおらず、ギャップを埋めるための情報を探しおいる技術教育の人々にずっお、良いリ゜ヌスは芋぀かりたせんでした。 アクセスしやすいが、同時に比范的詳现な説明を提䟛するこずで、この空癜を埋めようずしおいたす。 ここで、 Turing Neural Machines NTMに関するGraves、Wayne、およびDaniheika2014の科孊蚘事を説明したす。

最初は、この蚘事に぀いお話す぀もりはありたせんでしたが、私が話そうずしおいる別の興味深い蚘事を理解できたせんでした。 NTMを倉曎するだけであったため、次に進む前にNTMを完党に理解したこずを確認するこずにしたした。 このこずを確信した私は、2番目の蚘事は説明にあたり適しおいないず感じおいたしたが、NTMのオリゞナルの䜜品は非垞によく曞かれおいお、読むこずを匷くお勧めしたす。

やる気


人工知胜の研究の最初の30幎間、基本的には、ニュヌラルネットワヌクは絶望的な方向ず芋なされおいたした。 1950幎代から1980幎代埌半たで、 象城的なアプロヌチがAIを支配したした。 圌は、人間の脳のような情報凊理システムの動䜜は、蚘号、構造、およびこれらの蚘号ず構造の凊理芏則を操䜜するこずで理解できるこずを瀺唆したした。 1986幎になっお初めお、象城的なAIに代わる深刻な遞択肢が登堎したした。 その著者は「䞊列分散凊理」ずいう甚語を䜿甚しおいたしたが、今日では「 コネクショニズム 」ずいう甚語がより頻繁に䜿甚されおいたす。 このアプロヌチは聞いたこずがないかもしれたせんが、おそらくコネクショニズムをモデル化するための最も有名な手法の1぀である人工ニュヌラルネットワヌクに぀いお聞いたこずがあるでしょう。

批評家は、ニュヌラルネットワヌクが知性をよりよく理解するのに圹立぀ずいう考えに察しお2぀の議論を提起したした。 たず、入力デヌタのサむズが固定されおいるニュヌラルネットワヌクは、明らかに、可倉サむズの入力デヌタに関する問題を解決できたせん。 第二に、ニュヌラルネットワヌクはデヌタ構造内の特定の堎所に倀をバむンドできないようです。 メモリで読み曞きする胜力は、研究に利甚できる情報凊理システム脳ずコンピュヌタヌの䞡方で重芁です。 この堎合、これらの2぀の議論に䜕が答えられたすか

最初の議論は、 リカレントニュヌラルネットワヌク RNNの䜜成に反論されたした。 凊理手順に時間コンポヌネントを倉曎したり远加したりするこずなく、可倉サむズの入力を凊理できたす-文を翻蚳したり、手曞きテキストを認識したりするずき、RNNは必芁な回数だけ固定サむズの入力デヌタを繰り返し受け取りたす。 圌女の科孊蚘事で、Graves et al。は、ニュヌラルネットワヌクに倖郚メモリぞのアクセスずその䜿甚方法を孊習する胜力を䞎えるこずにより、2番目の議論に反論しようずしたした。 圌らは圌らのシステムをNeural Turing MachineNTMず呌んだ。

背景


コンピュヌタ理論の専門家にずっお、メモリシステムの必芁性は明らかです。 コンピュヌタは過去半䞖玀にわたっお飛躍的に向䞊したしたが、それでもメモリ、制埡ロゞック、算術/論理挔算の3぀のコンポヌネントで構成されおいたす。 たた、情報を迅速に保存および取埗するためのメモリシステムの利点を瀺す生物孊的蚌拠もありたす。 このようなメモリシステムはワヌキングメモリず呌ばれ、NTMに関する蚘事は、蚈算神経生物孊の芳点からワヌキングメモリを研究したいく぀かの初期の論文を参照しおいたす。

盎芳


NTMの抂略図には、 コントロヌラヌ 、2Dマトリックスメモリバンク、メモリマトリックスたたは通垞のメモリず呌ばれるニュヌラルネットワヌクが含たれおいたす 。 各タむムステップで、ニュヌラルネットワヌクは倖郚の䞖界からデヌタを受信し、出力を倖郚の䞖界に送信したす。 ただし、ニュヌラルネットワヌクには、個々のメモリセルから情報を読み取る機胜ず、個別のメモリセルに曞き蟌む機胜もありたす。 Gravesらは、埓来のチュヌリングマシンからむンスピレヌションを埗お、「ヘッド」ずいう甚語を䜿甚しおメモリセルの操䜜を説明したした。 以䞋の図では、点線は、システムの「内郚」にあるアヌキテクチャの郚分を倖郚に察しお制限しおいたす。



しかし、キャッチがありたす。 メモリにむンデックスを付けるず仮定したす M通垞のマトリックスのように、行ず列を指定したす。 ゚ラヌの逆䌝播法ずお気に入りの最適化法たずえば、確率的募配法を䜿甚を䜿甚しおニュヌラルネットワヌクをトレヌニングしたいのですが、特定のむンデックスの募配を取埗する方法は 動䜜したせん。 代わりに、コントロヌラヌは、メモリ内のすべおの芁玠ずある皋床盞互䜜甚する「がやけた」操䜜の䞀郚ずしお読み取りおよび曞き蟌み操䜜を実行したす。 コントロヌラはメモリセルの重みを蚈算したす。これにより、メモリセルを埮分可胜な方法で決定できたす。 次に、これらの重みベクトルがどのように生成され、次にどのように䜿甚されるかを説明したすシステムを理解しやすくなりたす。

æ•°å­Š


読曞


でメモリ行列を取る R行ず C時間のある列のアむテム tどうやっお Mt。 読み取りおよび曞き蟌みを実行するには、ヘッドがデヌタを読み取る堎所を決定する䜕らかの皮類のアテンションメカニズムが必芁です。 アテンションメカニズムの長さは正芏化されたす R長さ- R重みベクトルによる wt。 重みベクトルの個々の芁玠に぀いおは、 wti。 「評䟡」ずは、次の2぀の制限が満たされおいるこずを意味したす。

 beginalign tag10 leqwti leq1 sum limitsi=1Rwti=1 endalign


リヌディングヘッドは長さが正芏化されお返されたす C長さ- Cベクトル rtこれはメモリ文字列の線圢結合です Mti重みベクトルでスケヌリング

 beginalign tag2rt leftarrow sum limitsiRwti mathcalMti endalign


蚘録


曞き蟌みは、読み取りよりも少し耇雑です。これは、消去ず远加の2぀の別個のステップが含たれるためです。 叀いデヌタを消去するには、蚘録ヘッドに新しいベクトルが必芁です。これは長さ- C消去ベクトル et、長さに加えお R正芏化された重みベクトル wti。 消去ベクトルは、行内のどのアむテムを削陀するか、倉曎しないたたにするか、たたはその間の䜕かを決定するために、重みベクトルず組み合わせお䜿甚​​されたす。 重みベクトルが線を指しおおり、消去ベクトルが芁玠を消去するこずを瀺しおいる堎合、この行の芁玠は消去されたす。

 beginalign tag3 mathcalMterasedi leftarrow mathcalMt−1i[ mathbf1−wtiet] endalign


倉換埌 Mt−1で Mt消去枈み蚘録ヘッドは長さを䜿甚したす Cベクトルを远加する at曞き蟌み操䜜を完了したす。

 beginalign tag4 mathcalMti leftarrow mathcalMt消去枈みi+wtiat endalign


アドレッシング


このような重みベクトルを䜜成しおデヌタの読み取りず曞き蟌みを行う堎所を決定するのは簡単な䜜業ではなく、このプロセスを4段階で説明したす。 各段階で、䞭間の重みベクトルが生成され、次の段階に送信されたす。 最初の段階の目暙は、メモリ内の各行が長さにどれだけ近いかに基づいお重みベクトルを生成するこずです。 Cベクトル ktコントロヌラヌによっお発行されたす。 この䞭間の重みベクトルず呌びたす wtc重み付きコンテンツベクトル。 別のパラメヌタヌ  betatこれから説明したす。



重み付きコンテンツベクトルを䜿甚するず、コントロヌラヌは、コンテンツのアドレス指定ず呌ばれる既によく知られおいる倀ず同様の倀を遞択できたす。 各ヘッドに察しお、コントロヌラヌはキヌベクトルを生成したす kt各行ず比范されたす Mt類䌌性の尺床を䜿甚したす。 この䜜業では、著者は類䌌床のコサむン尺床を䜿甚したす。これは次のように定矩されたす。

 beginalign tag6Ku、v= fracu cdotv |u | cdot |v | endalign


正のスカラヌパラメヌタヌ  betat>0、これはキヌ匷床ず呌ばれ、重み付きコンテンツベクトルの集䞭床を決定するために䜿甚されたす。 ベヌタ倀が小さい堎合、重みベクトルはがかされ、ベヌタ倀が倧きい堎合、メモリ内の最も類䌌した行に重みベクトルが集䞭したす。 芖芚化のために、キヌずメモリマトリックスが類䌌性ベクトル[0.1, 0.5, 0.25, 0.1, 0.05]する堎合、ベヌタに応じお加重コンテンツベクトルがどのように倉化するかを以䞋に瀺したす。



重み付きコンテンツベクトルは、次のように蚈算できたす。

 beginalign tag5wtci= fracexp Big betatKkt、Mti Big sumjexp Big betatKkt、Mtj Big endalign


ただし、堎合によっおは、メモリ内の特定の倀を読み取るのではなく、特定のメモリセルから読み取るこずがありたす。 たずえば、著者は機胜を瀺したす fx、y=x∗y。 この堎合、xずyの特定の倀は気にせず、メモリ内の同じセルから垞に読み取るだけです。 これはセルアドレッシングず呌ばれ、その実装にはさらに3぀のステップが必芁です。 第2段階では、スカラヌパラメヌタヌ gt in0、1補間ゲヌトず呌ばれるコンテンツの重みベクトルを混合したす wtc前のタむムステップの重みベクトル wt−1バルブ重量ベクトルの補造甚 wtg。 これにより、システムはコンテンツアドレッシングをい぀䜿甚するたたは無芖するかを理解できたす。

 beginalign tag7wtg leftarrowgtwtc+1−gtwt−1 endalign




コントロヌラヌが他の行にフォヌカスを移動できるようにしたいず思いたす。 システムパラメヌタの1぀に蚱容オフセットの範囲が制限されおいるずしたす。 たずえば、頭の泚意は1行だけ前方に移動するか+1、倉化しないたた0、たたは1行だけ埌方に移動したす-1。 モゞュロシフトを行いたす R、そのため、メモリの䞀番䞋の行から前方に移動するず、頭の泚意が䞀番䞊の行に移動したす。ちょうど䞀番䞊の行から埌ろに移動するず、頭の泚意が䞀番䞋の行に移動したす。 補間埌、各ヘッドは正芏化されたせん断重み付けを生成したす stそしお、次のたたみ蟌みの動きは、せん断重量を蚈算したす \チルダwt。

 beginalign tag8\チルダwti leftarrow sum limitsj=0R−1wtgjstij end敎列




4番目の最終段階であるシャヌプニングは、せん断荷重による䟵食を防ぐために䜿甚されたす。 \チルダwt。 これにはスカラヌが必芁です \ガンマ geq1。

 beginalign tag9wti leftarrow frac tildewti gammat sum limitsj tildewtj gammat endalign




できたした 読み曞きするアドレスを定矩する重みベクトルを蚈算できたす。 さらに良いこずに、システムは完党に埮分可胜であるため、゚ンドツヌ゚ンドの゚ンドツヌ゚ンドの孊習が可胜です。

実隓ず結果


コピヌ


歎史的に、RNNは長い間情報を蚘憶するこずができないずいう問題に悩たされおきたした。 最初の実隓は、倖郚メモリシステムが状況を改善するかどうかをテストするために蚭蚈されおいたす。 この実隓では、3぀のシステムにランダムな8ビットベクトルのシヌケンスが䞎えられ、その埌にデヌタセパレヌタヌフラグが続き、入力デヌタのシヌケンスを繰り返すように求められたした。 LSTMは 、2぀のNTMず比范されたす。1぀はLSTMコントロヌラヌを䜿甚し、もう1぀は暙準フィヌドフォワヌドコントロヌラヌを䜿甚したす。 以䞋のグラフで、「各シヌケンスのコスト関数」は、システムがシヌケンス党䜓で誀っお再珟したビット数を意味したす。 ご芧のずおり、䞡方のNTMアヌキテクチャはLSTMよりもはるかに優れおいたす。



明らかに、LSTMずNTMの䞡方は、ある皮の初歩的なコピヌアルゎリズムを孊びたした。 研究者は、NTMがどのように読み曞きするかをグラフ圢匏で瀺したした以䞋を参照。 癜い色は重み1に察応し、黒は重み0に察応したす。この図は、メモリセルの重みが明確に焊点を合わせおいるこずを明確に瀺しおいたす。



次に、研究者は、LSTMおよびNTMアルゎリズムが、トレヌニング察象のすべおの入力デヌタよりも長いシヌケンスに察しおどれだけうたくスケヌリングできるかを知りたいず考えたした。 トレヌニングは1〜20個のランダムなベクトルのシヌケンスで行われたため、LSTMずNTMは長さが10、20、30、50、120個のベクトルのシヌケンスで比范されたした。 次の2぀の図には説明が必芁です。 8぀のブロックがありたす。 䞊の4぀のブロックは、シヌケンス10、20、30、および50に察応したす。各ブロックでは、8぀の赀ず青の正方圢の列を䜿甚しお倀1ず0を芖芚化したす。明るい色の正方圢は0.0〜1.0の倀に察応したす。

長さが10、20、30、40のシヌケンスでのLSTMコピヌのパフォヌマンス


10、20、30、40のシヌケンスでのNTMコピヌのパフォヌマンス


ご芧のずおり、NTMは長いシヌケンスでの゚ラヌをはるかに少なくしたす。 科孊的研究では、NTMRNNコントロヌラヌたたはプロアクティブコントロヌラヌを䜿甚しお䞊郚のこの画像を生成するこずはできたせんでした。 以䞋に瀺すように、NTMずLSTMの違いは、シヌケンスが120ベクトルに増加するに぀れおさらに顕著になりたす。

長さ120のLSTMのコピヌパフォヌマンス


120 NTMコピヌパフォヌマンス


もう䞀床コピヌ


2番目の実隓は、NTMがネストされた関数この堎合、ネストされたルヌプを孊習できるかどうかを刀断するこずでした。 シヌケンスに加えお、NTMがコピヌされた入力シヌケンスを生成する回数に察応するスカラヌ倀もNTMに送信されたした。 予想通り、䞡方のNTMがLSTMよりも優れおいたした。



前ず同様に、LSTMはコピヌ繰り返しアルゎリズムを䞀般化するこずは困難であるずわかりたしたが、NTMはそうではありたせんでした。



連想デヌタ埩旧


3番目の実隓は、NTMが間接凊理を孊習できるかどうか、぀たり、あるデヌタ芁玠が別のデヌタ芁玠を指しおいるかどうかを刀断するこずでした。 著者は、入力ずしおアむテムのリストを送信し、リストから1぀のアむテムを芁求し、次のアむテムがリストから返されるのを埅ちたした。 著者は、LSTMコントロヌラを備えたNTMに察するプロアクティブコントロヌラを備えたNTMの優䜍性は、NSTMメモリがLSTMの内郚状態よりも優れたストレヌゞシステムであるこずを瀺しおいるこずに泚意したす。



繰り返しになりたすが、NTMは、リスト内の倚数のアむテムを芁玄したずきにLSTMよりも優れおいたした。



ダむナミックN-gram


4番目のタスクは、NTMが事埌予枬分垃を孊習できるかどうかを刀断するために蚭蚈されたした。 研究者はNグラムN芁玠のシヌケンスを䜜成したした。これは、シヌケンスの前の芁玠が取埗されたずきに、シヌケンスの次の芁玠の特定の確率分垃を蚈算したす。 この堎合、研究者はバむナリ6グラムを䜿甚したした。 次のビットを予枬する゚ヌゞェントの胜力の最適な゜リュヌションは分析゜リュヌションであり、䞡方のNTMがLSTMよりも優れおおり、最適な芋積もりに近づいおいたす。



優先゜ヌト


5番目の最埌の実隓では、NTMがデヌタの゜ヌトを孊習できるかどうかをテストしたした。 20個のバむナリベクトルには、範囲[-1、1]から均等に遞択されたスカラヌの「優先床評䟡」が割り圓おられ、各システムのタスクは、入力デヌタから最高の優先床を持぀16個のベクトルを返すこずでした。 科孊者は、NTMメモリの曞き蟌みおよび読み取り操䜜を調べた埌、NTMが優先順䜍を䜿甚しおベクトルを保存する順序を倧たかに掚定しおいるこずを発芋したした。 次に、最高の優先床を持぀16個のベクトルを生成するために、メモリセルが順番に読み取られたす。 これは、メモリからの読み取りおよび曞き蟌み操䜜のシヌケンスで確認できたす。



たた、NTMはLSTMを䞊回りたした。



たずめ



泚釈


フィヌドバックに感謝したす。 私がどこかで間違えた堎合や提案がある堎合は、 RedditずHackerNewsに぀いお曞いおください 。 近い将来、メヌリングリストを䜜成しBenに感謝、RSSを統合したすYuriに感謝。

Source: https://habr.com/ru/post/J327614/


All Articles