フューチャー技術ブログ

Software Design 2021年11月号「Kaggleで知る機械学習」を寄稿しました

はじめに

642111.jpeg

TIGの玉木です。先日10月18日に発売されたSoftware Design 2021年11月号の第一特集、「Kaggleで知る機械学習 前処理から学習モデルの構築,スコアの上げ方までわかる」をフューチャーの農見、玉木、金子が担当しました。数日経ってしまいましたが、簡単に紹介させていただきます。

コンセプト

以前の記事でも紹介しましたが、すでに世の中にはたくさんのKaggleを題材とした素晴らしい書籍があります。Kaggleは機械学習用のデータセット、実行環境が用意されており、機械学習を学ぶ題材として適しています。私達はまだあまり日本語の書籍がないテーマである、

  • 自然言語処理
  • 画像処理

の2つの分野について、機械学習をこれから始めたい方向けに記事を書くことにしました。
雑誌という形態上ページ数が限られているのもありますが、なるべく最新の動向も含めつつ、最新の動向を理解するための最低限の知識についても紹介しました。

また、Kaggleの楽しさを伝えよう、というのもコンセプトのうちの1つです。少しずつ精度が上がっていく楽しさがわかるように、どのようにすれば精度が上がるのかという点を中心に書かせていただきました。実際にKaggle Notebookで実行できるように作っているので、興味のある方はぜひKaggle上で試してみていただきたいと思っています。

2章、3章の自然言語処理パートについて

Kaggle上で開かれている初心者向けのコンペティションである、Contradictory, My Dear Watsonを題材として自然言語処理を学びます。

  • 機械学習全般の「データの前処理・学習・推論」の流れ
  • 自然言語処理の代表的なモデルであるBERTの紹介
  • HuggingfaceのTransformersの紹介
  • TPUを用いた学習
  • 最小限のコード、モデル変更での精度の向上

について紹介しています。このパートを読めば、近年の自然言語処理コンペティションの解法が理解しやすくなると思います。
また、フルスクラッチでサブミッションまでたどり着けるようになります。

4章、5章の自然言語処理パートについて

4章、5章では、機械学習用くずし字データセット、KMNISTを題材として、画像処理を学びます。EfficientNetV2をベースラインとして用い、そこから

  • Data Augmentation
  • Snapshot Ensemble
  • オプティマイザの変更
  • Learning Rate Schduler

等の変更を行い、精度向上を目指します。

2章、3章では基本的なところから説明がスタートしますが、5章ではまだ日本語の書籍にはないような近年の手法を用いた工夫も紹介しています。

まとめ

Software Design 2021年11月号の第一特集、「Kaggleで知る機械学習 前処理から学習モデルの構築,スコアの上げ方までわかる」について簡単に紹介させていただきました。

u++さんにも感想を頂いています、ありがとうございます。よければu++さんの記事も参考にしてください。

https://upura.hatenablog.com/entry/2021/10/22/200707

自然言語処理、画像処理をこれから学んでみたいと思っている方はぜひ読んでみてください!