サマリ
背景・目的
業務事由半分、自分の興味半分で「Deep Learningを学ぼう」と決意し、数カ月間お勉強を継続している。
前提スキルとしては、高校で数Ⅲ離脱した文系卒が泣きながら機械学習の基礎を勉強した所。前エントリ参照。
KaggleテーブルコンペのKernel、読んだら何となくはやってること分かる気がする、くらいにまで持っていった状態である。
読んだ本
という訳で紹介する書籍は2冊。
「直感 Deep Learning――Python×Kerasでアイデアを形にするレシピ」
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
- 作者: Antonio Gulli,Sujit Pal,大串正矢,久保隆宏,中山光樹
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/08/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
この本はタイトルに有る通り「レシピ本」であって、Kerasの基礎を丁寧に教えてくれるような本ではない。カレーやポトフやグラタンの作り方は書いてあるが、具材の切り方やホワイトソースの作り方は書いてないのである。
(あと、ゼロつくから間を空けてしまったので、MLPやCNNの概念を少し忘れていたのも痛かった)
とはいえ、個人的にはword2vec,RNNなど自然言語処理まわりで使われる技術がやっと腑に落ち始めたのはこの本から。
「そうか自然言語処理ってマジでシニフィアンの世界でしか言葉を捉えていないのか」という超基本的な所にやっと気付いた。
(わかっている人からすれば「今更!?」となるレベルだと思うが、そんなものなのだ)
「PythonとKerasによるディープラーニング」
- 作者: Francois Chollet,巣籠悠輔,株式会社クイープ
- 出版社/メーカー: マイナビ出版
- 発売日: 2018/05/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
実際の所、感のいい人(数学的アタマが備わっておりアレルギーのない人)が「ニューラルネットワーク(以下NN)」というものの肌感を掴みたいのなら、 ゼロつく抜かしてこの本から入っても良いのではないか、というくらいNNの基礎からちゃんと説明がされている。というか、きちんとストーリーが練られている。
基礎編のPart1では、最初にマクロな視点(ニューラルネットワークの意義)から、基礎的な概念はチャッチャとさらって、Kerasでとにかく作らせる。NNだけで機械学習の基本もさらっちゃう。
そしてPart2からは、具体的にNNが威力を発揮する分野と、これから広がりを見せそうな分野への対応方法(Functional APIを使った残差接続の実装とかGANとか)を実装で体感させて、
最後は逆にマクロな視点でNNについて語って終わり。めっちゃ綺麗。
あと個人的にとても琴線に触れるのが、「作者の作家性が透け見える」所。第9章の最後とかまんまなんだけど、時々すごく示唆的な書き方表現が出てくる。ただ実装方法を覚えろって話ではなく、きちんとNNの可能性を意識させようとしてる。そもそも作者のFrancoisがKerasの作者で、NNを手軽にして民主化させたいという思想がKerasそのものなので、その辺りを知ると納得ではある。
もちろん難点も多少あって、NNとKerasに閉じてる所(NNで機械学習の作法説明しきってしまう…)、前述の作家性がにじみ出た表現を翻訳した結果、哲学書の変な訳みたいになっている所、
あとは原著が2017年なので多少古い内容がある所(これはDL全般どうしようもないのだが)。あとFrancoisがGitHubのリポジトリまったく更新してないので、まんかコピーすると偶にトラップがある。(トカゲ本のAurelianなんか未だに更新続けて今度第2版が出るらしい。頑張りすぎやろ…)
でもNNを最短で学びたい、と言われたら、とりあえず1ヶ月何も考えず、この本読んで写経しろ、と指示するかもしれない。その程度には個人的にも気に入っている本である。
英語が苦でないなら原著がオススメ。US Amazonで購入できるし電子版もMANNING社でDL可。
www.manning.com
……というかDeep Learning関連本出版されすぎじゃない?
ちょっとO'Reillyとマイナビ出版と技術評論社と翔泳社と日経BP社は落ち着いて欲しい。あんたら関連書籍出し過ぎや。
サマリ(再)
という訳で、Keras本おすすめです。 Francois本人がKerasについて語ってるPodcastとかも有るよ。 softwareengineeringdaily.com
チラ裏
とりあえずDeep Learning関連の話題が出ても、ある程度「その条件なら多分CNNで行ける。でも画像データ詰めるときはこういう条件で集めよう」くらいの当たりはつけられるようになった。 (見る人が見れば悲しいくらい低レベルだが、門外漢からスタートした事を考えればよくやっている、と自分を褒めることにする) 今年の残りの期間は実装を重視で、とりあえず技術書のインプットは絞ろうと思う。 9月までのターゲットは「自分用のGPUサーバを立てる」「Kaggleの画像系コンペにSubmitする」だ。頑張る。