私はニューラル ネットワークの最初のステップを進めています。そのために、シグモイド活性化関数を使用する非常に単純な単層、単出力パーセプトロンを試しています。以下を使用してトレーニング例が提示されるたびに、オンラインで重みを更新しています。
weights += learningRate * (correct - result) * {input,1}
これは、バイアスニューロンweights
(- しきい値) からの重みも含む長さ n のベクトルですresult
。1 (バイアス ニューロンからの固定入力)。ここで、論理 AND を実行するようにパーセプトロンをトレーニングしようとすると、重みが長時間収束せず、代わりに同じように増加し続け、しきい値に対して約 -1.5 の比率を維持します。たとえば、3 つの重みが順序:input
correct
{input,1}
5.067160008240718 5.105631826680446 -7.945513136885797
...
8.40390853077094 8.43890306970281 -12.889540730182592
パーセプトロンは 1、1、-1.5 で止まると思います。
この問題は別として、学習のいくつかの停止条件の欠落に関連しているように見えますが、アイデンティティ関数を活性化関数として使用しようとすると、重み値が振動します。
0.43601272528257057 0.49092558197172703 -0.23106430854347537
と同様の結果が得られtanh
ます。これについては説明できません。
ありがとう
トゥヌス