【2017/1/7追記】
- Deep Learning用モジュールといえば??
- tensorflowは英語。だがtensorboardは唯一無二。googleが作っている安心感
- chainerは日本語であるがゆえに日本のみのコミュニティ??
- ライバル3つの本
Deep Learning用モジュールといえば??
Theano, Caffe, Tensorflow, Chainer あたりが有名か。どれもpythonで簡単に使えるのでとても良い。
↓はそれぞれのことが詳しく書かれているからおすすめ
特に最近人気なのはtensorflowとChainerのように思う。 基本的には学習のためのモジュールで、ディープラーニングのネットワークを簡単に書けるようになっている。
各ノードで値を渡して・・・とか考えなくても良い。素晴らしい。
それぞれの違いは少しづつあるが、簡単に特徴をあげる
tensorflowは英語。だがtensorboardは唯一無二。googleが作っている安心感
tensorboardと呼ばれる可視化ツールは実に素晴らしい可視化ツールだ。どのくらいすごいかはこのページで遊んでみればよい
こんなに簡単に学習過程が見られるのは本当に素晴らしい。
あとは、googleが作っているという安心感がある。googleのいいところは自社プロダクトを自社で使っているというところ。
当たり前だと思う??周りを見渡してみましょう。紺屋の白袴でしょう。
一流のエンジニアが作っている&フィードバックしている安心感はある。
そして、チュートリアルが充実している。特に画像系は、最新研究の成果がすでにtutorialにあったりするので、非常にいい。
難点は英語だということ。得意な方は全く問題ないが、なかなか壁は高い。
【2017/1/7追記】Kerasがtensorflowのラッパーとして優秀すぎる!
Kerasと言うのを試してみましたが、これは簡単。わずか10行程度で書けるこの凄さ。
Kerasのドキュメントは日本語版もあり、かなりわかりやすい。 そして、私のブログでもKerasを試してみた。これを見れば、Kerasを使えるようになるはず!
こんなに簡単にニューラルネットの学習器を組めるとなると、まさにDeeplearningの大航海時代突入ですね!
ぜひ試してみてください。
chainerは日本語であるがゆえに日本のみのコミュニティ??
chainerはPreffered Networks社という日本の会社が作っているオープンソース。こちらもgoogleに負けないくらいの天才集団が作っている。
高度に抽象化されている分、とてもスッキリと学習ネットワークを構築できる。個人的にはtensorflowよりも書きやすい。それに何と言っても日本語のエントリが多いため、とても勉強しやすいのである。しかし、逆に難点は日本語であることなのかもしれない。日本以外のコミュニティの広がりが鈍いとも言われている。
chainerは探せばたくさんチュートリアルが出てくる。 まとめてくれている記事もある。
また、日本の優秀エンジニア層が結構Chainerを使っているケースも数多く見受けられる。 例えば、NIPSのベストペーパーだった"Value Iteration Network"と呼ばれる強化学習の実装なんかも、すぐにChainerで実装してくれていたり。
- 海外の人と議論したい、tensorboardを使いたい!というときはtensorflowが良い
- 日本語が良い、特に↑みたいな気持ちがなく、Deep learningのコードを書きたい。というときにはchainerがおすすめ
ちなみに、日本人はなんでもchainerで済ませたいと思っている節があるようで、これにはKerasの作者も困惑しているようw
意味分からない。最初からKeras使った方が良くない?流石日本人。Chainer好きすぎでしょ。 https://t.co/zDSTDBT8TX
— François Chollet (@fchollet) 2016年12月24日
ライバル3つの本
- TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~
TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~
- 作者: 中井悦司
- 出版社/メーカー: マイナビ出版
- 発売日: 2016/09/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- Chainerによる実践深層学習
- 作者: 新納浩幸
- 出版社/メーカー: オーム社
- 発売日: 2016/09/09
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- ゼロから作るDeep Learning
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (14件) を見る
どれも2016年に発売された人気の本
tesorflow本は画像関連がメイン
畳み込み中心ということで、CNNやその周りのことについて書いている。
実際のコードを見ながら、tutorialの痒いところに手が届くような説明になっているので、 画像分類などのタスクをやってみたいが、英語で挫折した人も、これを買って読めば良いと思う。
chainer本は自然言語処理、時系列処理が中心
numpyなどpythonの簡単な説明から入るので、無理なく進められる。 また、メインはword2vecやRecurrent Neural Netといった自然言語・時系列処理のものなので、 このあたりに興味がある人は是非オススメ。
ゼロから作るDeepLearningは、仕組みがわかるのが嬉しい!
【2017/1/7追記】
上の二つから遅れて発売されたのがこの本。ライブラリを用いずにDeeplearningを作るというなかなかチャレンジングな本。題材としてはCNNで画像認識。
この本のいいところは、numpyやmatplotlibといったpythonの基本ツールから丁寧にコード付きで説明してくれているところ。
今じゃ、機械学習といえばpythonが主流となってきているので、この本を通して覚えるのもいいかも。
実際に自分で作ると、逆誤差伝搬とか、活性化関数とか、DeepLearningの核となっている技術がわかるのでオススメです。
ただ、車輪の再発明感はあるので、ただ単に使いたいだけの人からすると少し冗長なのかもしれない。
興味のある分野に応じて買えば良さそう
主眼においている分野がちがうので、意外と内容にかぶりは少なそう。 画像をやってみたいならtensorflow本を買い、時系列や自然言語処理をしたいならchainer本を買えばいいと思う。 腰を据えてディープラーニングを始めてみようという人は、ゼロから作るDeepLearningをまず買って、一度作りきった状態でchainerやtensorflow(Keras)に移ることをオススメする。