Fumiのブログ

「Chainer Beginner's Hands-on Course #02」に参加レポート

はじめに

f:id:fantm21:20190216141234p:plain

いつもはKerasTensorflowを使って遊ぶことが多いのですが、今回はChainerのハンズオンに参加してきました!

chainer.connpass.com

「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.com

こちらは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

www.wantedly.com

Chainer入門

Twitterのハッシュタグは「#chug_jp

内容

  • 畳み込みニューラルネットワークについて学習すること
  • 過学習・汎用化性能を理解すること
  • Chainerの機能について学習すること

資料

notebook :

chainer-colab-notebook.readthedocs.io

Colaboratory:

colab.research.google.com

メモ

  • 前回は、ColaboratoryのデフォルトにChainerとCuPyがなかったのだが現在はデフォルトで入っているようになった
  • できるだけChainerとCuPyのバージョンは余計なバグを生まないために合わせたほうがいい
  • 畳み込み層のフィルタはWikiにいろいろ載っている!https://en.wikipedia.org/wiki/Kernel_(image_processing))
  • ChainerのTrainerオブジェクトでは色々便利な機能(随時保存機能やグラフ描画と保存機能など)があるらしい

その他リンク(後学習のため)

qiita.com

最後に

ハンズオンの流れとしては、資料のColaboratoryを実行して、何をしているか理解して、元々おいてあるコードをイジイジして体験する感じだった。 なんとなくChainerでの書き方が分かったが、もう一度読み直して勉強しよう。