u++の備忘録

【書籍メモ】『Software Design 2021年11月号』Kaggleで知る機械学習(技術評論社)

Kaggle特集に惹かれ、今月の『Software Design』を購入しました。

gihyo.jp

特集の目次は、以下のとおりです。

第1特集 Kaggleで知る機械学習 前処理から学習モデルの構築,スコアの上げ方までわかる

  • 第1章:Kaggleにエントリーしよう 登録からSubmitまでブラウザ上で完結
  • 第2章:自然言語処理のコンペに挑戦① データの前処理・学習・推論の流れ
  • 第3章:自然言語処理のコンペに挑戦② モデル変更でスコアを底上げする
  • 第4章:くずし字認識のコンペに挑戦① パラメータチューニングの奥深さに触れる
  • 第5章:くずし字認識のコンペに挑戦② さらなるスコアアップのためにKagglerがやっていること

まずは、広くソフトウェアエンジニア向けの雑誌にKaggleの特集が掲載されたのが印象的でした。その中で第1章では、Kaggleの概要や機能をスクリーンショットと共に紹介しています。

第2・3章では実際にコンペに取り組んでいきますが、題材は良くあるテーブル形式のデータセットではなく自然言語処理でした。モデルとしても、既に近年の標準になっているBERTを採用しており、昨今のKaggleの情勢を反映した入門記事になっていると感じました。単にライブラリを使うだけでなく、BERTにおける文字列の処理がソースコードともに記述されている点も好印象でした。

第4章では、画像認識に踏み込みます。ここでもモデルとして、かなり新しいEfficientNetV2を用いてベースラインを作成しています。データ拡張などの頻出処理を紹介しつつ、第5章ではAdaBelief・Gradient Accumulation・Sharpness-Aware Minimization(SAM)・Snapshot Ensemblingなど、日本語の紙媒体ではなかなか見かけない技法が次々と登場して、とても楽しく読み進められました。技法の有無による性能の変化も表でまとめられており、丁寧に書かれた特集で面白かったです。