[書評] Kaggleに挑む深層学習プログラミングの極意 ー これからKaggle頑張るぞ!って人におすすめな1冊
先日、ご厚意で「Kaggleに挑む深層学習プログラミングの極意」という本をいただきました。
こちらの本を先日読んだのでこの記事で紹介したいと思います。
どんな内容か?
こちらの本は、最近のKaggleで重要な画像やテキストデータのコンペで勝つために、画像やテキストデータを扱う深層学習のモデルを使う際、どういう手順で改良していくかを紹介した本になります。
この本の特徴としては実際のコンペを想定して、コンペに参加したらこういう手順で改良していくという流れがわかるというのが一番の魅力かなと思いました。例えば、コンペに参加したら探索的データ分析に始まり、ベースライン作り、そこから改良という流れを踏むと思います。まさにこの流れで説明がされていくので、実際にコンペを想定して何をすればよさそうかのイメージが付きやすい印象です。
また、本で紹介されているコードはちゃんとgithubで公開されていて、本を読んだだけではわからない部分に関してもコードを読めばわかるようになっています。
https://github.com/smly/kaggle-book-gokui
本の構成としては最初に機械学習コンペの基礎知識、その後、探索的データ分析と深層学習の基本的な部分、3章以降は画像分類、画像検索、テキスト分類個別の内容になります。
3章以降の画像分類、画像検索、テキスト分類に関しては各問題の基本的な問題設定やベースライン、ベースラインからの改良方法などが書いてあります。
どんな人におすすめか?
画像やテキストデータを使ったコンペで勝つために、これらのデータを使った深層学習モデルを作りたいけどよくわからないという人におすすめです。特に深層学習モデルについて実際にちょっと試したけど、「精度でないわー」という方はベストかなと思います。
というのも、深層学習はすごい勢いで進歩していて、昔は良いとされてたけど最近はこっちのほうがいい、みたいな話が大量にあります。ただ、こういう話は使ってみたら微妙だったという話も多いです。
一方、もうKaggleで勝てる人たちには一般的に使われる技術は、みんな知っているので目新しい部分もないため、強調して言及する人が少ない印象です。ただ、こういう技術は勝つためには必須になっているものも多く、みんな当たり前に使っているので、知らないとこの部分の差で負けるということが発生します。
例えばこの本で書かれていて私もよく使うものとして学習率のwarmupやdecayに関しては当たり前で、どこかで手法に関して説明するときに「何使ったか?」くらいは言うかもしれませんが、「これのおかげで勝ちました!」という人は少ないと思います。一方、精度が上がることが多いので、使ってないとその分他の参加メンバーに後れを取ります。
こういう知識がちゃんと書いてある印象なので、深層学習モデルの経験が少ない方にお勧めです。
ちなみに著者の小嵜さんと秋葉さんのお二人にはKaggle初心者のときに、Kaggleについていろいろ教えてもらいました。このおかげもあり、昨年私もGrandmasterになれました。お二人に教えてもらったアドバイスのいくつかはこの本にも書かれているので初心者の方は参考になると思っています。
個人的によかった点
個人的によかったと思う点を列挙していきます。
- Kaggleで活躍している人たちが試行錯誤でどういうことを考えているのか書いてあるので参考になる
- 深層学習で当たり前になって強調して言及することが少ないが、重要な技術についていろいろ紹介してある
あたりかなと思います。あとはテキスト分類は私も未経験なので、テキスト分類はいろいろ勉強になりました。
また、5.2.3で紹介されている魔法の特徴量は面白かったです。魔法の特徴量は飛躍的にスコアが上昇する特徴量を指すらしいのですが、Kaggleってこういうことあるよねーというあるあるネタな一方、Kaggleの経験が浅い方は特にこういうことがあるということを知っておく必要があるという意味でいいことが書いてあると思いました。
終わりに
今回、「Kaggleに挑む深層学習プログラミングの極意」をご厚意でいただいたので読んで紹介しました。元々この本は買う気満々で、読んだらブログにも書こうと思ってたのでちょうどよかったです。
今後も機械学習などに関する本は読んだらちょいちょい記事にしていこうと思います。