Gauche:バックプロパゲーション
- 出典は以下になります。
「はじめてのディープラーニング」 我妻幸長 SB Creative 2018
(「5.9 バックプロパゲーションの実装 -回帰-」)
- 内容は、バックプロパゲーションによって、
ニューラルネットワークの重みとバイアスのパラメータを更新して、
sin 関数の学習を行うものです。
- いくつか改造したものも作ってみました。
入力の正規化を止めたり、活性化関数をシグモイド関数から ReLU 関数に変えたりしてみました。
なかなか誤差を減らすのは難しいようです。
- また、何度か実行していると、うまく学習できないことがありました。
(最終結果が完全にランダムになる)
入力をシャッフルしてから計算をするので、確率的なものかと思いますが、
よく分かりませんでした (Python版でも発生します) 。
- 実行時間は、自分の PC だと、eigenmat なしで 190 sec 程度、
eigenmat ありで 37 sec 程度でした。
ただ、本に載っていた Anaconda + Jupyter Notebook の環境だと 10 sec 程度なので、
まだ何かうまい方法がありそうですが。。。
- その後、V2 を作成して、本体とパラメータ設定ファイルを分離しました。
古いファイルは、V1 フォルダに移動しました (2019/03/13)。
- その後、Gauche:行列演算モジュール の f2arrmat + eigenmat + blasmat を使用して、
gosh backprop_main.scm backprop1001.scm が 9 sec 程度になりました (2019/03/23)。
hamayama(2019/03/01 15:20:24 UTC)(2019/03/02 15:33:35 UTC)
(2019/03/05 11:39:24 UTC)(2019/03/13 14:24:47 UTC)
(2019/03/22 20:26:18 UTC)
Affordable Trade Schools
Last modified : 2023/10/24 05:51:14 UTC