compcogneuro/sims: 音韻パターン
このページは外部資料の日本語訳です。原文の見出し順と本文順を保ち、コード・URL・出典表記はできるだけ原形のまま残しています。
出典とライセンス
原典: https://github.com/compcogneuro/sims/blob/main/ch10/ss/README.md
ライセンス: BSD 3-Clause。このページは日本語翻訳であり、変更点は翻訳とサイト内整形です。
# 導入
このシミュレーションは、スペル (正書法) と音 (音韻論) の間のマッピングにおいて、これら 2 つの形式の単語表現の間の「直接経路」マッピングのコンテキストで、規則性と例外が学習される方法を調査します。
これは大規模なネットワークであり、トレーニングには少なくとも数十分以上かかります。そのため、事前トレーニングされた重みをロードすることから始めます。
- ツールバーで [[sim:Open Trained Wts]] を実行します。
音韻パターン
次の 2 つの図は、Phon 出力層のプールの音韻パターンを示しており、特定の音韻特徴が右下隅に示されています。

子音の特徴パターン。 特徴 (左から右、下から上): 場所: lb = 唇側、ld = 唇歯側、dt = 歯側、al = 歯槽、pl = 口蓋、vl = 軟口蓋、gl = 声門、pl- = 場所なし。 マナー: ps = 破裂音、fr = 摩擦音、sv = 半母音、lq = 液体、ns = 鼻音、mn- = マナーなし。 vo+ = 発声、vo- = 発声しない

母音の特徴パターン。 特徴: fb = 前後の位置 (1 ~ 7)。 ud = 上下の位置 (1 ~ 6); rs = ラウンド ショート、rl = ラウンド ロング、fs = フラット ショート、fl = フラット ロング、fl- = ラウンドなし / フラット。
単語を読む
まず、タラバン&マクレランド、1987 によって開発されたプローブ単語の標準リストを使用して、ネットワークが提示された単語を読み取ることができることを確認します。
- コントロール パネルの [[sim:Testing env]] は、この一連の単語である [[sim:Probe]] に設定されることに注意してください。 ツールバーで実行モードを
TrainではなくTestに設定し、次に [[sim:Init]] および [[sim:Step]]:Trialに設定します。
ネットワークが読み取る最初の単語は「best」であり、入力の左端に表示されます。この単語は、オルソグラフィ入力レイヤーの 4 つのアクティブ化された 3x9 スロットのそれぞれ内の個々の文字から読み取ることができます。これらのスロットはそれぞれ 1 つの位置に対応し、アルファベット 26 文字の 1 つに対応する 26 個のユニット (未使用の余分な 1 ユニットを含む) が含まれており、通常どおり左下から右上に編成されています。入力パターンのレイアウトに慣れるために、「最良」が実際に提示されたパターンであることを確認してください。
出力層の音韻デコードは、ネットワーク表示の下部、入力パターンを示す TrialName の直後にある Phon 値に記録されます。デコードでは、各音韻スロット出力パターンと子音および母音のそれぞれのパターンが照合されます。大文字の X は、パターンが正しい出力のいずれにも正確に一致しないことを示します。 Phon が bbbestt と言っていることがわかります。これは、この単語に対する正しい子音反復応答です。必要に応じて、[[sim:Phon Cons]] テーブルと [[sim:Phon Vowel]] テーブルのパターンを確認し、それらを出力と比較して、この情報がネットワーク内でどのようにエンコードされるかを正確に確認できます。
ネットワークのすぐ下の情報、Type フィールドにも、単語のタイプのコード (異なるテスト セットに依存します) が表示されます。このプローブ テスト セットのコードは次のとおりです。
- HRC – 高周波数の通常の一貫性 (例: 最高)
- HRI – 高周波の通常の一貫性のない (例: 骨、参照、完了)
- HAM – 高周波が曖昧 (例: 茶色、参照、吹き抜け)
- HEX – 高周波例外 (例: 両方、クロスを参照)
- LRC – 低周波数の通常の一貫性 (例: ビーム)
- LRI – 低頻度の規則的で一貫性のないもの (例: 血統、cf.、血液)
- LAM – あいまいな低周波数 (例: 吹き飛ばされた、参照、茶色)
- LEX – 低周波数の例外 (例: ボウル、cf.、うなり声)
ネットワークの読み取りパフォーマンスの観察を続けて、特に翻訳不変特性を観察してみましょう。
- [[sim:Step]]: さらにいくつかのトライアルの場合は
Trial。
「最良の」入力が、入力内の右方向の位置に連続して表示されることに注意してください。このような入力位置の違いにもかかわらず、ネットワークは正しい出力を生成します。この空間不変コーディングでは、知覚の章で検討した objrec モデルと同様に、ネットワークが文字のローカルな順序に関する情報を維持すること (つまり、たとえば「ステブ」ではなく「ベスト」と発音する) と、パターン全体がどこに出現するかに関係なく同じように扱う必要があります。このネットワークが、局所的に空間的に不変でありながら結合的な符号化の組み合わせを使用して、物体認識ネットワークと同じこの問題に対する一般的な解決策を開発したことがすぐにわかります。
ネットワークのパフォーマンスを引き続き監視できます。時折エラーが発生する可能性がありますが (特にアイテムの頻度が低くなり、不規則になるため)、ネットワークはほとんどの単語を正しく発音するはずです。それぞれ 4 つの異なる場所で 3,000 近くの単語が表示されていることを考えると、それ自体は簡単なことではありません。
ネットワーク接続と学習
次に、トレーニングされたネットワークの接続性と重みを調べてみましょう。
- ネットワーク ビューで [[sim:Wts]] -> [[sim:Wts/r.Wt]] をクリックし、
OrthoCodeレイヤーの左側にあるいくつかのユニットをクリックしてから、レイヤー全体をクリックします。
一番左のユニットが一番左の 3 つの文字スロットから受け取ることに注目してください。各文字スロットは 3x9 のユニットのプールです。 OrthoCode プールを右に進むと、ユニットは 3 つの文字スロットの重複するプールから受け取ります。
これらの OrthoCode ユニットをクリックするときに、重みのパターンに注意してください。他のユニットがスロット全体で異なる文字のシーケンスをエンコードしているのに、ユニットが 2 つまたは 3 つのスロットにわたって同じ入力文字からの強い重みを持っている場合がよくあることに注意してください。これは、知覚の章の物体認識モデルの V2 ユニットと同様で、場所に関係なく同じ特徴 (空間的不変性) をエンコードし、また、異なる特徴の小さな組み合わせ (特徴の複雑さの増加) もエンコードします。
この不変コーディングは、本章で説明したように、プラウト、マクレランド、サイデンバーグ、パターソン (1996) (以下、PMSP) の手動調整された入力表現が達成するために設計されたものとまったく同じであり、このネットワークがそれらを独自に学習したことがわかります。
Hiddenユニットがコーディングしている内容を確認するには、さまざまな非表示ユニットをクリックし、特定の OrthoCode ユニットなどで最も強く接続されている非表示ユニットに注目して、OrthoCode と非表示のユニットの間を行き来します。
隠れ層ユニットには、物体認識モデルの IT ユニットと同様に、正射投影入力スロットのすべてを包含できる、より複雑な受容野があります。同じパターンの空間不変性とフィーチャの複雑さの増加が見られるはずです。これらの単位は、英語の発音の規則性と、これらの規則性の文脈依存性をエンコードする立場にあります。ネットワークで表現される入力文字の結合は、サイデンバーグ&マクレランド、1989年 (SM89) モデルのウィッケル特徴や PMSP モデルの手動調整された結合単位と同様の役割を果たします。
重みを観察することで、いくつかの重要な教訓が得られます。まず、ネットワークは適切な一般化を可能にする適切な種類の表現を学習しているようです。これらの表現は、空間的不変性と結合特徴エンコーディングを組み合わせているという点で、オブジェクト認識モデルの V4 層の表現と似ています。第 2 に、いくつかの表現を見ることで洞察を得ることができますが、すべてがそれほど簡単に解釈できるわけではありません。さらに、ネットワークの複雑なアクティベーションのダイナミクスが全体像として把握されると、特定の入力の処理で何が起こっているのかを把握することはさらに困難になります。マッピング問題自体の性質からわかるように、特定の単語をどのように発音するかを決定するには、多くの微妙な相殺力のバランスを取る必要があります。最後に、一部のユニットの重みを簡単に解釈できるという事実は、重みがユニットの共起確率を反映するヘビアン学習の使用によるものです。
- ネットワークの重みをもう少し調べて、実行されている入出力マッピングの観点から OrthoCode 層と Hidden 層にわたる表現がどのように意味があるのかを比較的明確に示す例を文書化します。 中央プールの OrthoCode の最前列に注目することは、自分がどこにいるかを追跡するための良い戦略であり、特に有益な Hidden 出力から Phon 出力までの重みを無視しないでください (どの音素がエンコードされているかをデコードするには、上の図を使用してください。最初と最後の 3 つのプールは子音で、中央に母音があります)。 入力の各プールには、左から右、下から上の順序でアルファベットの文字が含まれています。最も強い重みをよりよく確認するには、右上のカラー スケールの最小/最大範囲を小さくする (たとえば、-0.8 から 0.8 に) ことができます。
質問 10.4: 選択した OrthoCode ユニット (ユニット プール、行、プール内の列の位置)、それらの OrthoCode ユニットがエンコードする文字、および隠しユニットが OrthoCode ユニットをどのように組み合わせるかを指定します。空間的不変性と複数の文字の結合エンコードの両方の必要性の観点から、場所をまたがるこの文字の組み合わせがどのように意味があるのかを説明してください。