人工ニューラル ネットワーク (ANN) を説明する最良の方法は、ANN がシミュレートしようとする生物学的プロセス、つまりニューラル ネットワークを提供することです。その最も良い例は人間の脳です。では、脳はどのように機能するのでしょうか ( CS 用に非常に単純化されています)。
脳の(私たちの目的のための)機能単位はニューロンです。それは潜在的なアキュムレータであり、「分散器」です。つまり、一定量の電位 (風船に空気を入れることを考えてください) に達すると、「発火」します (風船がはじけます)。それは、接続されているすべての接続に電気信号を発射します。
ニューロンはどのように接続されていますか?シナプス。これらのシナプスは、さまざまな重みを持つことができます (実際には、接続が太い/細いため、シナプスが強く/弱くなります)。これらの重みにより、発射された信号の一定量を通過させることができます。
したがって、シナプスによって接続されたニューロンの大規模なコレクション (ANN の基本表現) が得られます。他の人によって記述された入力/出力構造は、ANN が適用されるタイプの問題の成果物であることに注意してください。理論的には、どのニューロンも入力を受け入れることができます。ただし、計算タスクではほとんど役に立ちません。
それでは、ANNに進みます。
ニューロン: ANN のニューロンは、生物学的な対応物と非常によく似ています。それらは、step
関数 (特定の結合された入力信号の後に「1」を通知するか、それ以外の場合は常に「0」を通知する)、または同様にスケーリングされますが、連続出力を生成するわずかに洗練された発射シーケンス ( 、など)arctan
としてモデル化されます。sigmoid
ステップに。これは生物学的現実により近いです。
SYNAPSES : これらは ANN では非常に単純です - ニューロン間の接続を記述する重みだけです。現在のニューロンに接続されているニューロンに重みを付けるために使用されますが、それでも重要な役割を果たします。シナプスはネットワークの出力の原因です。明確にするために、セット構造とニューロン活性化関数を使用した ANN のトレーニングは、単純にシナプスの重みの変更です。それだ。「ダム」ネットから正確な結果を生成するネットへの変更は他にありません。
STRUCTURE : ニューラル ネットワークには「正しい」構造はありません。構造は、a) 手動で選択されるか、b) 学習アルゴリズム (カスケード相関ネットワーク) の結果として成長することが許可されます。
厳選された構造を前提として、これらは実際には問題と予想される解決策を注意深く分析して選択されます。「隠れた」ニューロン/層が少なすぎると、複雑な関数を近似するのに十分なほど構造が複雑ではありません。多すぎると、トレーニング時間が急速に手に負えなくなります。このため、入力 (「機能」) の選択とニューラル ネットワークの構造は、IMO、問題の 99% です。比較すると、ANN のトレーニングと使用は簡単です。
GA の懸念に対処するには、シナプスの重みを変更してネットワークをトレーニングするために使用される多くの努力の 1 つです。なんで?最終的に、ニューラル ネットワークの出力は、N 次元の非常に高次のサーフェスにすぎないからです。任意の表面最適化手法を使用して重みを解決できますが、GA はそのような手法の 1 つです。単純な逆伝播法は、次元削減勾配ベースの最適化手法に似ています。