ニューラルネットワークとは
フォンノイマンアーキテクチャと呼ばれるものに従って作られた典型的なコンピューターでは、メモリバンクは隔離されたモジュールに住んでいます。 シリアルアーキテクチャを使用して、命令とメモリの書き換えを1つずつ処理するプロセッサは1つだけです。 コンピューティングへの別のアプローチは、ニューラルネットワークです。 数千または数百万の個々の「ニューロン」または「ノード」で構成されるニューラルネットワークでは、すべての処理が高度に並列化され、分散されています。 「メモリ」は、ノード間の複雑な相互接続と重み付け内に格納されます。
ニューラルネットワークは、自然界の動物の脳で使用されるコンピューティングアーキテクチャの一種です。 これは必ずしもニューラルネットワークがシリアルコンピューティングよりも本質的に優れた処理モードであるためではありませんが、シリアルコンピューティングを使用する脳は段階的に進化するのがはるかに難しいためです。 ニューラルネットワークは、シリアルコンピューターよりも「ノイズの多いデータ」をうまく処理する傾向があります。
フィードフォワードニューラルネットワークでは、特殊なノードで満たされた「入力層」が情報を取り込み、外部から受信した情報に基づいて信号を第2層に送信します。 この情報は通常、バイナリの「はいまたはいいえ」信号です。 時々、「いいえ」から「はい」に移行するために、ノードは一定のしきい値の興奮または刺激を経験する必要があります。
データは、プログラマーが分析できるように画面に結果を表示する最終的な「出力レイヤー」に到達するまで、入力レイヤーから二次および三次レイヤーなどに移動します。 人間の網膜は、ニューラルネットワークに基づいて動作します。 第1レベルのノードは、色、線、エッジなど、視覚フィールドの単純な幾何学的特徴を検出します。 セカンダリノードは、モーション、テクスチャ、深度など、より高度な機能を抽象化し始めます。 最終的な「出力」は、視野を見るときに意識が記録するものです。 最初の入力は、永続的なオブジェクトのアイデアなど、意味のある品質の観点から意味のある神経学的ハードウェアなしではほとんど意味のない、複雑な光子の配列です。
ニューラルネットワークのバックプロパゲーションでは、以前の層からの出力がそれらの層に戻って、さらに信号を制限することができます。 私たちの感覚のほとんどはこのように働きます。 初期データは、最終結果で「教育的推測」を促し、その後、その教育的推測のコンテキストで将来のデータを調べることができます。 目の錯覚では、私たちの感覚は経験に基づいた推測を行い、それが間違っていることが判明します。
プログラマは、ニューラルネットワークをアルゴリズムでプログラミングする代わりに、個々のニューロンのトレーニングまたは繊細なチューニングを使用してニューラルネットワークを構成する必要があります。 たとえば、顔を認識するためにニューラルネットワークをトレーニングするには、さまざまな「顔のような」オブジェクトと「非顔のような」オブジェクトがネットワークに表示される多くのトレーニングが必要です。