乗車日記

自転車ときのこ

MTO、ニューラルネット

今日はMTO。集合場所が近いので助かります。朝は涼しいのですが、やはり1時間も漕いで登っていると蒸し蒸ししますね。林道の終点まで行って、シングルに入って、狭めの道を走って、見晴台へ。

後輪を細くしたので、登り楽になりました。下りもずり落ちるような急坂以外は大丈夫。急坂では後輪が滑るので以前と同じ感覚で走っていては行けないことがわかりました。まあ、今日は後輪は1.6気圧にしていましたし、もう少し圧を下げれば改善するかもしれません。

後半のピークの切り株にきのこ。


この木には毎年きのこが生えている気がします。そろそろシーズンなので、カメラの出番ですが、今日はiPhoneSe。

今日も楽しく走って終了。

と思いきや、最後の下りで木に傷跡を発見。

鹿なんでしょうけど、宇治で体長1.8mの熊が出たというニュースを聞いたところだったので、一瞬疑ってしまいました。

昼からゼロから作るDeep Learningを読みながら、ニューラルネットが手書き文字を読めるように学習させる遊び。ニューラルネットって結合の重みと閾値だけでいろんなことに対応できるのですが、その値を決めるのに、答えの分かっている問題をいくつも読ませて重みと閾値を調整します。まともに数値偏微分でやると30分かかっていた作業が、誤差逆伝搬法というのを使うと0.05秒ぐらいで済んでしまって大変驚きました。

誤差逆伝搬法は20年以上前にも教科書に載っていたと思うのですが、数式を見るだけと動かしてみるのとでは理解度が大違いです。それに20年前のパソコンだと今iPadでやっているのより何桁か遅くてとてもやってられなかったでしょうし、そもそもインターネットから学習データを落としてきたりなんてことはできなかったわけで、随分と時代が進んだのを感じます。

それからゼロから作るDeep Learningに書いてあった計算グラフを使った誤差逆伝搬法の説明は大変わかりやすくて素晴らしいものでした。ようやく本当にその原理を理解できた気がします。


学習前のニューラルネット(784x50x10のノード)による手書き文字認識。全然だめです。

答えのある画像(28x28ドット)を100画像読み込んで重みと閾値を調整する訓練を1000回やっている最中の損失関数の低下の様子。損失関数は小さい方が正解との差が小さい。この間iPadProで1分ぐらい。

上記の学習後の文字認識。結構いけるようになりました。