2017年4月7日金曜日

Deep Learningの教材にこだわる、迷う

 3年生ゼミで、Deep Learningの基礎を学生諸君とやることにしました。「人工知能」のこれからは、これだ!と思い付いたのは、昨年2016年の夏頃です。(世の中からは、ずいぶん遅れていますが)それまでは、私自身もこの関連の研究も教育もやっていませんでした。それ以来、猛チャージで、何冊かの英書、和書、Web解説などを勉強してきました。最終的には、下記の書籍に魅力を感じて、「これをテキストにしよう」と考えるに至りました。

斎藤康毅著:ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実践、オライリージャパン、2016

 しかし、その後、また、迷いはじめました。「いや、その前にもっと簡潔に、しかもあまり杜撰にレベルを落とさずに、プログラミング言語抜きで、要点をサッとやれる資料などがないものか」と。そう考えていたら、下記のYoutubeの25分の解説ビデオに出会いました。「すばらしい。これだ。」となりました。

How Deep Neural Networks Work, by Brandon Rohrer
https://www.youtube.com/watch?v=ILsA4nyG7I0

 簡潔に、多層化の意味や、誤差逆伝播(バックプロパゲーション)を分かりやすく説明している類い希な優れたビデオです。しかし、英語であるうえ、簡潔さゆえに、全くの前提知識のない学生に聞かせるのはちょっと難しいそうです。その前に、日本語で少し、知識を与えてからにしたい。(なんて親切な教員なのでしょうか!)
 
 そこでさらに出会ったのが、以下のWeb解説記事でした。再度、「素晴らしい。これだ!」と思いました。単純パーセプトロン、多層パーセプトロンネットワーク(多層ニューラルネットワーク)、学習の意味、多層ニューラルネットワークの誤差逆伝播、さらに、「畳み込み」の考え方まで、実に、丁寧に分かりやすく書かれているじゃないですか!

高卒でもわかる機械学習(by下川北斗氏)というタイトルのWeb解説です。
http://hokuts.com/2015/11/24/ml0/
(シリーズで、第0回〜第7回まであります。畳み込みの続編(第8回)は未刊?)
特に、誤差逆伝播では、いくつか偏微分の計算式が出てくるが、結局、辺の重みの更新は以下のように結論づけられる!

出力層および中間層での重みの更新方法(l = Lは出力層を意味する)

これの意味する所が分かるように、丁寧に書かれていますので、上記Webをご覧ください!
高校数学+大学初級数学の範囲ですので、理工系の大学生であれば特に難しいことなないように思われます。(上にも下にも添え字があって、とっつきにくいかも知れませんが、添え字変数に具体的な数値を入れて確認するのも良いでしょう。)

0 件のコメント:

コメントを投稿