compcogneuro 翻訳ページ
compcogneuro/web: fsa-simulation
このページは外部資料の日本語訳です。原文の見出し順と本文順を保ち、コード・URL・出典表記はできるだけ原形のまま残しています。
出典とライセンス
原典: https://github.com/compcogneuro/web/blob/main/content/fsa-simulation.md
ライセンス: Text: CC BY 4.0; code: BSD 3-Clause。このページは日本語翻訳であり、変更点は翻訳とサイト内整形です。
+++ Categories = [“Learning”, “Simulations”] Name = “FSA simulation” bibfile = “ccnlab.json” +++
このシミュレーションは、人間の学習研究 ([[@Reber67]]; [[@CleeremansMcClelland91]]) で広く検討されているように、_有限状態オートマトン (FSA)_ によって生成されたトークンのシーケンスを予測するために学習する小規模な [[predictive learning]] [[Axon]] モデルを示します。ネットワークは、厳密にこれらのトークンのシーケンスを予測する際のエラーを通じて、部分的に曖昧な観察可能な状態トークンを生成する基礎となる文法の「深い構造」を学習し、より大きな予測学習フレームワークの単純で小規模なインスタンスとして機能します。このタスクは、表面トークンに曖昧さが存在するため比較的困難ですが、基礎となる学習メカニズムを適切にテストすることができます。
{id="figure_fsa" style="高さ:15em"}

[[#figure_fsa]] は、使用される FSA 文法を示します。各ノードは 50% の確率で他の 2 つの異なるノードに分岐し、ノード遷移によって生成されるラベルは局所的にあいまいです (B=begin 状態と E=end 状態を除く)。したがって、体系的な基礎となる文法を推論するには、時間の経過と反復にわたる統合が必要です。ランダムな分岐を考慮すると、たどる特定のパスを正確に予測することは不可能ですが、各状態で考えられる分岐のいずれかまたは両方をアクティブにする場合、モデルの出力を正しいものとしてスコアリングできます。
{id="figure_deepfsa-net" style="高さ:30em"}

[[#figure_deepfsa-net]] は、[[neocortex]] と視床を通る視床皮質ループに基づく [[predictive learning]] メカニズムが、これから調査を開始するモデルのコンテキストでどのように機能するかを示しています。マイナス相の予測は、新皮質の深層 6CT ニューロンを表す `HiddenCT` 層からの経路から得られ、マイナス相の予測を表す `InputP` 肺動脈層に投射します。プラス フェーズでの実際の結果は、`Input` 層のアクティビティから得られます。`InputP` 層には、プラス フェーズでのみ、対応するドライバー層のアクティビティを取得する特別なコードが含まれています (`InputP` 層をクリックすると、そこで指定されていることが確認できます)。
* ネットワーク変数で [[#sim_fsa:Wts]] をクリックし、次に [[#sim_fsa:r.Wt]] をクリックすると、ネットワーク内でニューロンをクリックすると、ニューロンへの受信重みが表示されます。
矢印で示された経路に関連付けられた初期のランダムな重みが表示されるはずです。 CT レイヤーには反復的な自己接続があり、長期にわたって情報をより適切に維持できるため、以前のトライアルよりも前の時点からの情報を活用できます。
* [[#sim_fsa:Act]] (カテゴリ、次に変数) をクリックし、[[#sim_fsa:Step]] をクリックすると、200 ミリ秒の `Trial` 更新が 1 回実行されます。
この最初のトライアルでは、CT ニューロンは非アクティブなままであるため、以前のトライアルの活動状態によってのみ活性化されることがはっきりとわかります。 CT ニューロンのこの遅延応答は、ネットワークの残りの部分が予測中の現在の入力情報を処理しているときでも、予測学習を可能にするために不可欠です。
* 予測と結果のフェーズごとの違いを確認するには、[[#sim_fsa:Network/Stats]] を選択してから [[#sim_fsa:ActM]] を選択し、マイナスフェーズのアクティビティ状態を表示します。マイナス位相予測は CT 層によって生成されるため、`InputP` も空白になります。次に、[[#sim_fsa:ActP]] をクリックしてプラスフェーズのアクティベーションを確認します。`InputP` は現在の感覚 `Input` を反映しています。
一連の入力とネットワークの予測を観察しながら、トライアルを通じて [[#sim_fsa:Step]] に進むことができますが、モデルがまだ学習していないため、これらの予測は通常は不正確になります。
* [[#sim_fsa:Train Epoch Plot]] をクリックしてトレーニング エラーのプロットを表示し、ステップ レベルを `Run` に設定し、[[#sim_fsa:Step]] をクリックしてモデルのトレーニングを開始します。誤差がゼロに近づいたら、[[#sim_fsa:Stop]] をクリックしてトレーニングを停止します。
* その後、[[#sim_fsa:Network]] の表示に戻り、再び一連の入力を通じてステップを `Trial` および [[#sim_fsa:Step]] に戻すことができます。マイナス位相の予測が正確になっていることがわかります。
平均すると、ネットワークが 2 エポック連続でエラーがゼロという基準を学習するまでに約 60 エポックかかります。
このモデルの主なポイントは、深層予測学習アルゴリズムの学習機能をテストすることです。
</section>