問題タブ [max-pooling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neural-network - 動的入力を持つニューラル ネットワークを作成する方法は?
この質問は難しいものです。ニューラル ネットワークに動的入力を与えるにはどうすればよいでしょうか?
この質問に答えることは、コンピューター ビジョンや音声認識以外のアプリケーションにディープ ラーニングを使用する最新の AI の進歩に確実に役立ちます。ニューラルネットワークの素人のために、この問題をさらに説明します。
たとえば、次の簡単な例を見てみましょう。
「三目並べ」のゲームで勝つ、負ける、または引き分けの確率を知る必要があるとします。
したがって、私の入力は、状態 (1-あなた、2-敵、0-空) を表す [3,3] 行列になる可能性があります。
以前にトレーニングされた隠れ層、重みの [3,1] 行列が既にあると仮定しましょう。
したがって、基本的に 2 つのy(x)=W*xの間の行列乗算で構成される単純な活性化関数を使用すると、出力に次の [3,1] 行列が得られます。
ソフトマックス関数がなくても、引き分けになる可能性が最も高いことがわかります。
しかし、この同じニューラル ネットワークを 5x5 の三目並べゲームで機能させたい場合はどうすればよいでしょうか?
それは 3x3 と同じロジックを持っていますが、より大きくなっています。ニューラルネットワークはそれを処理できる はずです
次のようなものがあります。
しかし、この乗算を計算することは不可能です。次のように、トレーニングされていない重み (この場合は 0 で初期化) が原因でニューラル ネットワークが失敗するため、レイヤーを追加するか、以前にトレーニングしたものを変更してRETRAINする必要があります。
最初のレイヤーを拡張し、重みがゼロの新しいレイヤーを追加したため、結果は明らかに決定的ではありません。ソフトマックス関数を適用すると、ニューラル ネットワークがすべての可能な結果に対して 33.3% の確率を返すことがわかります。もう一度トレーニングする必要があります。
さまざまな入力サイズに適応できる一般的なニューラル ネットワークを作成したいのは明らかですが、この問題の解決策はまだ考えていません。だから、スタックオーバーフローが役立つかもしれないと思った。何千もの頭が一人よりもよく考えます。何か案は?