2016年2月10日

言い回し。

ちょっと時間が出来たって言うんで、深層学習(Deep Learning)の理屈の部分を勉強してます。

ざっと眺めた感じで、
「何であんな程度の仕組みで画像認識がビックリするほど上がるん?」
と思って同僚に聞いてみたら、(彼の一意見として)
「力技でやってる感はありますよ」
的なコメント。そういうことか、と。

で、実際読んでみる、大学1年までの数学である程度方が付くんですね。
1変数の微積分が普通に理解出来ていて、多変数にするぞって言うんで偏微分(partial differential)をやって、あ、そうだ、そもそも多変数があったんだって話で線型代数(linear algebra)が必要だなーって。

「誤差が小さくなるように」
ていう掛け声の元で、損失関数が小さくなる方向でパラメータ調整が必要で、この時によく使われるのが勾配法ってやつで、確率的、、とかいろいろあるけども兎も角gradientは小さくなる方向に持って行きましょう、ていうことですかね。

その後、変数選択だなんだでAutoencoderなどのテクニックがあるんですが、やりたいことは上に書いた話で尽きてるわけで。

で、勉強してて思ったのが高校数学や、数学だけやってた人間にとって無駄に難しく感じたのが、
「用語がちょっと違うやん」
ていう点。

高校まで「合成関数の微分」と呼んでいたものが「連鎖律(chain rule)」て呼ばれたり、未だに慣れないのが2次形式を行列表示するってやつ。

まぁ、慣れだって言えばそれまでだけど何でわざわざ表記方法帰るんかなー、とか初心者は思うわけです。。