何でもプログラミングスマートフォン用の表示で見る何でもプログラミングこの広告は、90日以上更新していないブログに表示しています。今回はニューラルネットワークで利用される、逆誤差伝播法をF#で実装してみたいと思います。実装をするに際し、Math.NETライブラリを利用しています。今回は、全結合のAffine層、ReLU活性化層、Softmax最終活性化層を定義しました。その他の層が欲しい場合は、ここに定義を追加していく形となります。Affine層の初期化として、He初期値を利用する関数も定義しました。純粋な伝播を定義するforward関数と、伝播しながら逆伝播関数を生成するforwardAndCreateBackward関数を定義します。順伝播しながら逆伝播関数を生成し、最終層から逆伝播させ、更新された新しいNetworkを生成しています。入力と教師データから正答率を算出しています。(教師データは、どれか一つの値が活性化するものと想定しています。0.0)MNISTを学習してみるMNISTの読み込みに関しては、下記記事を参照してみてください。何でもプログラミング10000データ学習ごとの正答率は下記のように推移しました。下記記事にてTypeProviderを作成する方法を記述しました。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!any-programmingさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。