単純な5x5ピクセルグリッドの文字を認識するためにニューラルネットワークを作成しようとしているとします。 X,+,/,\,|
ニューラルネットワーク文字認識
現時点では、入力ノードが25個、隠れノードが6個、出力ノードが1個(0と1の間のシグモイド)のフィードフォワードニューラルネットワークがあります。
出力はシンボルに対応します。例えば、'X' = 0.125
,'+' = 0.275
,'/' = 0.425
等
ネットワークの出力(テスト中)が何であれ、数値的に最も近いものに対応する。すなわち、0.13 = 'X'
入力では、0.1はピクセルが陰影付けされていないことを意味し、0.9は完全に陰影付けされていることを意味します。
ネットワークを6つのシンボルでトレーニングした後、いくつかのノイズを追加してテストします。
残念ながら、「/」に小さなノイズを追加すると、ネットワークは「\」と考えます。
私は多分6つのシンボルの順序(すなわち、それらが対応する数値表現)が違いを生むかもしれないと考えました。
おそらく隠れノードの数がこの問題を引き起こしています。
多分、文字を数字にマッピングするという私の一般的な考え方が原因です。
ネットワークをより正確にするために助力をいただければ幸いです。
このタスクでは、MLPではなく畳み込みニューラルネットワークを使用します。より多くのデータを取得することも、パフォーマンスを改善するための良い方法です。 –