ニューロンの構築
ニューロンに複数の入力と1つの出力があるとします。 ニューロンは、ニューラルネットワーク全体と同様に、クロックサイクルで動作します。 ニューロンの入力が順序付けられます。 1サイクル中に、ニューロンは、確立された順序に従って、すべてのシナプスからゼロと1のシーケンスを受け取ります。最初の順序から、次に2番目の順序などです。 1サイクルの入力信号のシーケンスは、次の信号のシーケンスによって補完されます。 合計すると、ニューロンは入力でゼロと1の連続シーケンスを受け取ると仮定できます。
ニューロンにはパターンがあり、着信シーケンスの任意の場所でニューロンが「シュート」します。つまり、パターンシーケンスに一致したクロックの出力で信号(ユニット)を生成します。
ニューロンを学習すると、入力シーケンスでニューロンが見つけなければならないパターンを見つけることになります。
ネットワークの構築。 エネルギー
まず、ニューラルネットワークを2つのニューロンで構成し、各ニューロンを受容体に接続します。
- 画像分析の場合、受容体は伝統的に画像が投影されるマトリックスのピクセルになります。
マトリックスには、水平線と垂直線の2種類の画像を投影します。 これらの画像を認識するようにニューラルネットワークをトレーニングするタスクを設定し、1つのニューロンが水平線にのみ応答し、もう1つのニューロンが垂直線にのみ応答するようにします。
これを行うには、まずニューロンの動作を複雑にします。 信号(単位)を出力するニューロンがエネルギーを消費すると仮定します(常に同じ、1E-エネルギー単位で表します)。 ニューロンはどこからエネルギーを得るのですか? 彼の周囲から。 各サイクルで、特定の量のエネルギーがニューラルネットワークに入り、ニューロンに完全に分配されると想定します。
- 事前に、特定の間隔でニューラルネットワークに入力されるエネルギー量は、ニューラルネットワークの応答信号の数に対応すると言います。 つまり、2種類の画像のみが入力され、明確な反応を達成したい状況では、各クロックサイクルで、1単位のエネルギーがネットワークに入力される必要があります。
そのため、サイクルの開始時の各ニューロンには、非負のエネルギーポテンシャルがあります。 蓄積されたエネルギーが許すなら、ニューロンは入ってくるシーケンスでそのパターンを満たして、「シュート」します。 放電中、ニューロンのエネルギーポテンシャルは1つ減少します。 サイクル中、ニューラルネットワークに入るエネルギーはニューロン間で分散する必要があります。 配布ルールは、システムの全体的な動作に影響します。 単純なルールを提案します。ニューロン間に分布するエネルギーは、そのエネルギーポテンシャルに反比例します。最小ポテンシャルを持つニューロンは、最大ポテンシャルを持つニューロンよりも多くのエネルギー(またはすべてのエネルギー)を受け取ります。 電位が等しいニューロンは、等しい量のエネルギーを受け取ります。
トレーニング
ニューロンが頻繁に「撮影」した場合、ニューロンはどうなりますか? この場合のエネルギー消費は増加し、ある時点で、ニューロンがテンプレートシーケンスに適合したことが判明しますが、エネルギーの潜在能力は答えを形成できません。 これは、パターンシーケンスが一般的すぎることを意味します。パターンを変更する必要があります。
- 任意のシーケンスをテンプレートにすることができ、その長さはニューロンの入力シナプスの数に対応してはなりません。それはそれより短くても長くてもかまいません。
記載されているケースでは、テンプレートを長くする必要があります。 認識されたパターンに続く入力シーケンスで発生するビットの後にビットが続くとします。
しかし、ニューロンが「サイレント」である場合はどうでしょうか? 彼らのエネルギーが蓄積されます。 ニューロンのエネルギーポテンシャルの特定の上限しきい値(10Eなど)に到達することが重要であるとします。 上限のしきい値に達すると、ニューロンには無関係なパターンがあることを意味します。パターンを短くする必要があります。 テンプレートの短縮は、一定量のエネルギー、たとえば1Eの消費と一致します。
振る舞い
このようにして、ソフトウェアの実装が簡単な動的システムが得られました。
説明した原則に従って2つのニューロン上に構築されたシステムは、非常に効率的に画像を認識できることに注意してください。 垂直線と水平線のある例では、安定化されたニューラルネットワークは、網膜上の太さと位置に関係なく、任意の(!)水平線と垂直線に対して正しい結果を生成します。