2

数字認識プログラムを作ろうとしています。数字の白/黒の画像をフィードすると、出力レイヤーが対応する数字を発火させます (出力レイヤーの 0 -> 9 ニューロンから 1 つのニューロンが発火します)。2 次元 BackPropagation ニューロン ネットワークの実装が完了しました。私のトポロジ サイズは [5][3] -> [3][3] -> 1 [10] です。つまり、1 つの 2-D 入力層、1 つの 2-D 非表示層、および 1 つの 1-D 出力層です。ただし、奇妙で間違った結果が得られます (平均エラーと出力値)。

この段階でのデバッグには時間がかかります。したがって、これが正しい設計であるかどうかを知りたいので、デバッグを続けます。私の実装のフローステップは次のとおりです。

  • ネットワークの構築: 出力層を除く各層に 1 つのバイアス (バイアスなし)。Bias の出力値は常に = 1.0 ですが、その Connections Weights は、ネットワーク内の他のすべてのニューロンと同様に、パスごとに更新されます。すべての重みの範囲は 0.000 -> 1.000 (負の値なし)

  • 入力データ (0 | OR | 1) を取得し、n 番目の値を入力層の n 番目のニューロン出力値として設定します。

  • フィード フォワード: すべてのレイヤー (入力レイヤーを除く) の各ニューロン 'n' で:

    • 前のレイヤーからこの n 番目のニューロンに接続されたニューロンの SUM (出力値 * 接続の重み) の結果を取得します。
    • この SUM の TanHyperbolic - Transfer Function - を結果として取得します
    • 結果をこの n 番目のニューロンの出力値として設定する
  • 結果の取得: 出力層のニューロンの出力値を取得する

  • 誤差逆伝播法:

    • ネットワーク エラーの計算: 出力層で、SUM ニューロンの (ターゲット値 - 出力値)^2 を取得します。この SUM を出力レイヤーのサイズで割ります。SquareRoot を Result として取得します。平均誤差の計算 = (OldAverageError * SmoothingFactor * Result) / (SmoothingFactor + 1.00)
    • 出力層勾配の計算: 各出力ニューロン 'n' について、n 番目の勾配 = (n 番目のターゲット値 - n 番目の出力値) * n 番目の出力値 TanHyperbolic Derivative
    • 隠れ層勾配の計算: 各ニューロン 'n' について、SUM (この n 番目のニューロンからの重みの正接双曲線導関数 * 宛先ニューロンの勾配) を結果として取得します。(結果 * この n 番目の出力値) をグラデーションとして割り当てます。
    • すべての重みを更新: 非表示層から入力層に戻り、n 番目のニューロンについて: NewDeltaWeight = (NetLearningRate * n 番目の出力値 * n 番目の勾配 + Momentum * OldDeltaWeight) を計算します。次に、新しい重みを (OldWeight + NewDeltaWeight) として割り当てます。
  • プロセスを繰り返します。

これが数字の7に対する私の試みです。出力は Neuron # zero と Neuron # 6 です。Neuron 6 は 1 を運ぶ必要があり、Neuron # zero は 0 を運ぶ必要があります。私の結果では、6 以外のすべての Neuron は同じ値を運んでいます (# zero はサンプルです)。

サンプル結果

長い投稿で申し訳ありません。これを知っていれば、それがどれほどクールで、1 つの投稿でどれだけ大きいかがわかるでしょう。前もって感謝します

4

1 に答える 1

0

通常、対数損失を伴う Softmax は、マルチクラス出力層の活性化関数に使用されます。multiclass/multinomial: 10 のクラスを構成する 10 の可能な数字を使用します。

したがって、出力層の活性化関数をソフトマックスに変更してみることができます

http://en.wikipedia.org/wiki/Softmax_function

人工ニューラル ネットワーク

ニューラル ネットワーク シミュレーションでは、分類に使用されるネットワークの最終層にソフトマックス関数が実装されることがよくあります。このようなネットワークは、対数損失 (または交差エントロピー) 体制の下でトレーニングされ、多項ロジスティック回帰の非線形バリアントが得られます。

どんな効果があるのか​​教えてください。–

于 2015-12-20T00:34:14.733 に答える