「Chainer Beginner's Hands-on Course #02」に参加レポート
はじめに
いつもはKerasやTensorflowを使って遊ぶことが多いのですが、今回はChainerのハンズオンに参加してきました!
「Chainer Beginner's Hands-on Course #02」について
概要
Deep LearningフレームワークChainerを使って、Googleの提供するColaboratoryで演習をする無料ハンズオンコースです。 プログラムを変更・実行していくことで実際に問題解決の方法を学習し、疑問が発生しうるところに詳細な説明を加えています。その結果として、より効率的な学習を行えることを目指しています。
※ Colaboratory: 完全にクラウドで実行される Jupyterノートブック環境。設定不要で、無料で利用可能。
また、単に動くDeep Learningモデルを作成するのではなく、実際の問題を解くことができるモデルを作ることを目指しています。そのため、単にモデルを訓練するだけでなく、訓練・検証・テストセットを使用した厳密な機械学習の手法を実践し、モデルを正しく評価する方法も学習します。
このハンズオンではGoogleのColaboratoryを使って行うハンズオンです。最近こうゆうハンズオン多くなりましたよね♪
開発環境をローカルに準備せずにクラウドで行うことで、本題のハンズオンに入る前につまずいてしまう方を減らし、個々の開発環境を整えてあげる必要がなくなり、本題のハンズオンに集中できる!!
ハンズオンを2回くらい開催した身としては、こうゆう環境のありがたさを身にしみています。いいな!!
目標
・Deep Learningフレームワークに必要な構成要素とChainerによる実装を説明できる ・モデルの評価に必要な機械学習の手法を実践できる ・CNN、RNNなど基本的なネットワークを使ったモデルを実装できる ・画像処理、自然言語処理などの応用分野の問題をChainerで解くことができる ・実際に作成したモデルを使って、アプリケーションを作ることができる
最近、機械学習関係を勉強しているおかげで色々なことを理解して進められるようになってきました。
とはいえ、まだまだ基礎的な知識も欠落していて理解できないことも多いのでもっと勉強をしたいなぁって思っています。 あとは、KerasとTensorflow以外で実装することもなかなかないので、自身の扱えるツールを増やすという意味でもChainerによる実装ができる今回のハンズオンはありがたいです。
事前勉強
第1回「コース概要説明・入門チュートリアル」
2018/12/1(土)に第1回「 コース概要説明・入門チュートリアル」が開催さており、その時の資料が挙げられていたので軽く目を通しました。
Chainer Beginner's Hands-on Course #01
www.slideshare.net
chainer-colab-notebook.readthedocs.io
全脳アーキテクチャ・イニシアティブの提供する講座
こちらはGitHub上で公開されている「神経科学の知識を持った者が機械学習器・人工知能システムを設計できるようになり、脳型の汎用人工知能を開発できる人材を育成することを目的」とされた教材がおいてあります。イベントの説明では、「Lecture 1~4を予め学習しておくことをお勧めします。」っと書いてあったので、とりあえずそこら辺も目を通しておきました。
あとで、他のLectureも見て勉強しなおすのに良さそう。
本題
前書きが長くなりましたが、本題はこれから。今回は「Chainer入門」です。
開催日程・当日スケジュール
時間 | 内容 |
---|---|
13:30-14:00 | 受付 |
14:00-17:00 | ハンズオン (休憩有) |
17:00-18:30 | 懇親会 |
開催場所
Googleオフィス (東京都港区 六本木 6-10-1 六本木ヒルズ森タワー)
講師
梅澤 慶介 Chainer エバンジェリスト
梅澤 慶介 機械学習エンジニア 東京大学で修士号取得。三菱東京UFJ銀行にてクオンツとしてモデル開発に従事。2016年からはヤフー株式会社のデータ&サイエンス統括本部にてレコメンド・検索エンジンの研究開発に携わる傍ら、Preferred Networksの機械学習フレームワーク
Chainer
のエバンジェリストとしてディープラーニングコミュニティーに貢献(弊社でもエバンジェリストとしての活動は継続)。2018年より参画。
www.slideshare.net
LinkedIn : https://www.linkedin.com/in/%E6%85%B6%E4%BB%8B-%E6%A2%85%E6%BE%A4-82a70213b/?originalSubdomain=jp
Chainer入門
今日はChainerのハンズオンに参加なう(・ω・)#Chainer #DeepLearning #Hands-on #Python #Colaboratory pic.twitter.com/aGjsRf3OBo
— FUMI@PythonLifeなう (@FumiProgrammer) 2019年2月16日
Twitterのハッシュタグは「#chug_jp」
内容
- 畳み込みニューラルネットワークについて学習すること
- 過学習・汎用化性能を理解すること
- Chainerの機能について学習すること
資料
notebook :
chainer-colab-notebook.readthedocs.io
Colaboratory:
メモ
- 前回は、ColaboratoryのデフォルトにChainerとCuPyがなかったのだが現在はデフォルトで入っているようになった
- できるだけChainerとCuPyのバージョンは余計なバグを生まないために合わせたほうがいい
- 畳み込み層のフィルタはWikiにいろいろ載っている!https://en.wikipedia.org/wiki/Kernel_(image_processing))
- ChainerのTrainerオブジェクトでは色々便利な機能(随時保存機能やグラフ描画と保存機能など)があるらしい
その他リンク(後学習のため)
#chug_jp Google Colaboratory で始める Kaggler 生活(データ入手と提出編) https://t.co/gfOAf717HF #Qiita
— Kay (@eagleutkk) 2019年2月16日
最後に
ハンズオンの流れとしては、資料のColaboratoryを実行して、何をしているか理解して、元々おいてあるコードをイジイジして体験する感じだった。 なんとなくChainerでの書き方が分かったが、もう一度読み直して勉強しよう。