おいしい健康 開発者ブログ

株式会社おいしい健康で働くエンジニア・デザイナーが社内の様子をお伝えします。

東京大学の Deep Learning 基礎講座に参加して

おいしい健康 関口です。

おいしい健康のエンジニアには、様々な学習機会に積極的に触れていくことを推奨しています。

少し時期は遅くなってしまいましたが、私ともう2名のエンジニアで、東京大学で開かれている Deep Learning 基礎講座(2018) に 2018年10月~2019年3月まで参加してきましたので、そのレポートをお伝えしようと思います。

Deep Learning 基礎講座 2018

deeplearning.jp

2018と書いていましたが、公開講座自体は 2015年から開かれているようです。 私が参加できることになった 2018年では、事前に python の基本的なコードを書けるかのテストがあり、そのテストに回答できた人から抽選で参加者が決まるという、少し参加にハードルが設けられたものになっていました。

私自身は、 python でこれまでコードを書いたことはありませんでしたが、機械学習周りで特に必要になるような行列の操作を中心に事前に勉強しておき、テストに臨みました。

そして、ありがたいことに参加できることになりました。。!

(こぼれ話ですが、2017年にも応募していたのですが、python 周りの経験に関するアンケートだけで、ハードルは限りなく低かったものの、落選してしまい、2018年が2度目の応募でしたw)

本講座の流れ

講座はかなり幅広く機械学習周りのトピックについて触れられるようになっています。

講義では数式をベースとした理論の話、講義の直後の演習ではそれをコードに落とすとどうなるかというところを中心に話が展開されます。

この講座を修了すると、その気になれば TensorFlow のようなライブラリーが作れるくらいの理論を身につけられる。というところを目指して講義が進んでいくため、内容としては理論のところが深く掘り下げられていきます。

また中盤までは TensorFlow などの高レベルのAPIを提供しているライブラリーは使わず、むしろそれらが提供している関数(活性関数や、 誤差関数、畳込み処理の仕方 etc...) を自前で実装していくことになります。

python を主流で扱っていない私としては、言語的にも苦しみながら、なんとか宿題を終わらせていました。

中盤から後半にかけては、 TensorFlow や Keras を用いながら、少し複雑な処理が必要になってくる NLP、 生成モデル、強化学習について触れられて行きます。

2018年12月まではそういった基礎を積み上げていき、講義後半では NLP、生成モデル、強化学習のいずれかのトピックについてさらに深ぼって学習が進んでいきます。

最終的には、運営側より指示されたチームごとにプロジェクトを組み、一つのアウトプットを出すことになります。 私自身は、キックオフこそ参加していたものの、途中でどうしても優先しなければならない仕事が立て込んでしまい、残念ながらチームへのコントリビューションは叶いませんでした。。

感想

実際に参加してみて、理論と実践が入り交じるこの講座が無料で受けられるというのはかなりありがたいことだなと思います。 落選してしまった 2017年に Cousera の Andrew Ng 先生の Machine Learning を受けていたり、 ゼロから作る Deep Learning を読んでいたりしていたこともあって、講義の途中振り落とされそうなところもなんとか振り落とされずについていくことができました。

ja.coursera.org

生徒一人に対して GPU 付きのリソースを割り当ててくれたり、高品質な授業と、課題、プロジェクトで現在の Deep Learning で盛り上がっているところを手を動かしながら学べるというのは非常によい経験となりました。

2017年には弊社から別のメンバーが参加していましたが、非常に進化が早い技術領域でもあるので、2017年から内容もアップデートされており、どんどん講座の内容も進化していっています。

授業自体、平日に開催され、内容にもかなりスピード感があり、宿題もいい感じに時間が必要になるくらいの難易度なので、講座に出席している間はだいぶこちらにコミットすることになります。 会社の理解がなければ修了することはなかなか難しいかもしれませんが、もしお時間が許せば是非参加してみてください!

また、おいしい健康では業務時間を用いて、こういった学習をしていくことも推奨しておりますので、いいな!と思う方は下のリンクより、ご応募をお待ちしています!