どうも、ぶたキムチです。
今回は、Chainerがリリースしたディープラーニングのチュートリアルが、かなり凄い内容だったので、チュートリアルを実際にやってみた感想を紹介したいと思います。
このサイトを見る前に、早速チュートリアルをやってみたい方は下のリンクからどうぞ!
Chainer ディープラーニング入門:https://tutorials.chainer.org/ja/
1.そもそもChainerってなに
まずChainerって一体何かを紹介しますね。
Chainerとは日本にスタートアップ企業の「Preferred Networks(PFN)」が開発した、ディープラーニングのフレームワークです。
主にPythonで深層学習プログラムを実装するときに必要なライブラリになります。PythonにはTensorflowやkerasなど色々な深層学習ライブラリやフレームワークが豊富にあります。
その中でも、Chainerの特徴は、
・比較的多くのデータ量でも高速にGPUに対応させることで処理速度が早い
・バックプロパゲーションに必要なデータ構造をプログラム実行時に動的に構築することができる。
・畳み込みやリカレントニューラルネットワークなどのディープラーニングモデルをシンプルに実装でき実行できる。
色々なサイトをみていると、Tensorflowやkerasなどに比べて、直感的にDeepLearningの実装ができることが特徴みたいですね。
2.チュートリアルの内容
準備編
準備編では、主にPythonとは何か、プログラミングとは何かというところからスタートします。
そのあとに、
・文法とアルゴリズム
・変数
・リストやデータ型
・制御文(for文やif文)
・クラスと継承
かなり詳しい説明になっていて、本当に初心者向けの教材になっています。
プログラミングの知識だけでなく、数学の基礎も紹介されています。
数学の基礎編では、主に「微分」、「線形数学」、「確率統計」について紹介されています。この教材自体、高校生以上を対象とした教材ですので、高校レベルの数学の内容になっていて基礎からしっかり学ぶことができます。
またこの教材のいいところは、
単に数学としての微分や確率統計ではなく、なぜ微分・線形代数・確率統計が機械学習に必要なのかという部分をはっきりさせて紹介している点です。この数学の知識がどのように機械学習に使用されているのか体系的に理解できるだけでなく、目的が明確になっているところがこの教材のオススメポイントです。
またこのチュートリアルのあとに、演習問題もあるので、実際に自分の手を動かしてプログラミングや数学の基礎を学ぶことができます。
機械学習とデータ分析入門
ここでは機械学習を実装する上で、重要なデータ分析の基礎を学びます。データ分析の基礎では主に回帰を例に紹介されています。ちなみに、今回のチュートリアルは教師なし学習については触れられていません。
さらに、Pyhtonでデータ分析をしていく上で必要なライブラリの使い方についても学べます。
一つ一つのライブラリの紹介が、かなり詳しいので初心者でなくても使い方を完全にマスターしていない人は、勉強になると思います。
ニューラルネットワークの基礎
ニューラルネットワークの基礎では、ニューラルネットワークとは何か、学習のアルゴリズム
についてや、活性化関数、最適化、バックプロパゲーション、勾配消失問題についてなどが紹介されています。
実際に、チュートリアルをやった感想は、このあとに続くChainerを用いた機械学習プログラミングのための最低限の機械学習の紹介っていう感じがします。
そのため、初心者が読んでも飽きないし、わからないといって途中でやめてしまわない最適な量になっています。
最後は実際に、Chainerを使って機械学習に挑戦をします。
今まで、私はtensroflowやkerasしか使ったことがなかったので、Chainerは他の2つとは
違った深層学習ライブラリになっていて、よく聞く”直感的に使用できるフレームワーク”を体感した気がします。
3.最後に
今回、Chainerのディープラーニングを試したまとめは、
・Pythonプログラミングの基礎が最速でわかる
・機械学習を学習する上で必要な数学の情報やディープラーニングの基礎が適度な量で掲載
・これからChainerを使ってディープラーニング実装する人にはかなりオススメできる教材
・これからPythonを始める人の入門書として十分な教材
この教材は、Pythonのテキストや機械学習のテキストを購入検討している人の入門書として適していると思います。
この教材をやってみてから、より高いレベルのテキストの購入を検討することをオススメします。
まだ機械学習はこれからという人は、Chainerのディープラーニング入門を是非やってみるといいと思います。
コメント
[…] Chainerのディープラーニング入門についてのまとめ […]