0

私は、シンボル認識のための簡単なフィードフォワード人工ニューラルネットワークを作成しました。ニューラルネットワークの珍しい結果

5x5ピクセルのグリッドに6つのシンボルのセットがあります。

これらは例えば Xについて {X, +, -, \, /, |}

は次のようになります

マイANN 25個の入力ニューロンから成り0と1の間のグレーノイズの多いエリアの

X = [1,0,0,0,1, 
    0,1,0,1,0, 
    0,0,1,0,0, 
    0,1,0,1,0, 
    1,0,0,0,1] 

値は、(5×5とすることができますグリッド)、6つの隠れニューロン(バイアスあり)、6つの出力ニューロン

各出力ニューロンはシンボルにマッピングされます。 0と1との間の出力は、それが認識するシンボル、すなわち出力ノードの最大値に対してシンボルが選択されることを決定する。

- 出力が{X : 0.9, + : 0.2, - : 0.1, \ : 0.15,/: 0.15, | : 0.2}の場合、認識されるシンボルはXになります。

非常にうまくいくようです。

私はテスト入力(上記の6つの記号)を得て、ノイズ関数addNoise(n)を作成しました。ここで、nはその入力にランダムに追加されたノイズのパーセンテージです。

0との間では、2000回のテストを実行しました(ノイズは毎回わずかにランダムに変化します)。 Xでこれを実行すると、次のグラフが表示されます。

enter image description here

あなたはフルサイズを確認するには、別のページ上の画像を開く必要があります。

Xテスト入力に約40%(x軸400)のノイズを注入した後にわかりますように、それは他のシンボルの予測を開始します。

Xにノイズが追加されていると、ネットワークが予測される可能性があります。X\です。とにかく

、私の質問は:彼らはXシンボルに関して同じであるよう

\/ためのグラフ上の線はほぼ完全に、整列させるべきではないでしょうか。

70%のノイズの後で、ネットワークはX\を均等に混合します。

しかし、〜88%のノイズの後、ネットワークはX/を等しく混合します。

なぜネットワークでこのような結果が得られるのですか?

答えて

1

トレーニング中にネットワークXcompleteという文字で学習しているとします。多分/の方に偏っていて、\のビットが混在しているかもしれません。つまり、入力が強い場合は、/コンポーネント、\コンポーネントの場合は、Xと予測されます。この情報は、Xを他の文字と区別するのに十分です(クリーンな場合)。トレーニングNNは損失関数に基づいています。この表現がすでにクラスを満たしている場合、ネットワークはより堅牢な表現を学習する必要はありません。

ノイズを少量注入すると、\コンポーネントが、ノイズを多く注入することが必要な/と簡単に比較して不明瞭になります。

関連する問題