ISBN 9784873119427

PyTorchとfastaiではじめるディープラーニング : エンジニアのためのAIアプリケーション開発

PyTorchとfastaiではじめるディープラーニング : エンジニアのためのAIアプリケーション開発
刊行
2021-05

概要

PyTorchとfastaiで実用ディープラーニングアプリを構築する

想定読者

Pythonの基礎知識があり、ディープラーニングを実務応用したいエンジニア。数学や博士号は前提としない。

こんな人には向いていない

  • ディープラーニングの数理的背景(損失関数の導出・最適化理論)を体系的に理解したい研究者志向の読者には、数学説明の比重が本書では薄い
  • PyTorchのローレベルAPIや独自訓練ループを最初から書くスタイルを好む読者には、fastaiの高位抽象が介在しすぎると感じる場合がある
  • コンピュータビジョン以外の領域(NLPや表形式データ)のみに集中したい読者には、全20章は広範すぎる構成である

読了後にできるようになること

  • fastaiの高位APIを使ってコンピュータビジョン・NLP・協調フィルタリングのモデルを訓練から推論まで実装できる
  • 2章「モデルから実運用へ」で、訓練済みモデルをWebアプリとして公開する流れを把握できる
  • ResNetなどSOTAアーキテクチャを内部から理解し、自前のデータに適用するファインチューニング手法を習得できる
  • データ倫理(3章)の視点から、モデルのバイアスや社会的影響を評価する考え方を持てる
  • fastaiのDataBlockとTransformを使ったデータパイプライン設計ができる
  • CAM(Class Activation Map)を用いてCNNの予測根拠を可視化する手法を実装できる

本書のキー概念(章解説)

  • 第 1 章 ディープラーニングへの旅路 — 環境構築(Colab等)と最初のモデル訓練までを一気に通す。まず動かすことを優先する構成
  • 第 2 章 モデルから実運用へ — Hugging Face Spacesを使ったWebアプリ公開まで扱う実務直結章。早期に読む価値が高い
  • 第 3 章 データ倫理 — 技術書では珍しい倫理章。業務でAIを導入する際の判断材料として参照しやすい
  • 第 4 章 舞台裏:数字のクラス分類器 — 行列演算からニューラルネットワークが動く仕組みを段階的に分解する核心章
  • 第 7 章 SOTAモデルの訓練 — 学習率スケジューラ・ミックスアップ等の実践テクニックが集中している
  • 第 8 章 協調フィルタリングの詳細 — レコメンダシステムへのディープラーニング応用として独立した参照価値がある
  • 第 13 章 畳み込みニューラルネットワーク — CNNの構造を数式ではなく図で直感的に説明。第Ⅲ部の入口として読みやすい
  • 第 14 章 ResNet — スキップ接続の設計思想から実装まで。14章を読んでから5-7章に戻ると理解が深まる
  • 第 18 章 CAMを用いたCNNの解釈 — モデルの予測根拠を可視化する。信頼性・説明可能性を求める業務ユースケースに直結

ハイライト

  • 博士号や数学の深い知識がなくても、ディープラーニングが行えるように、とにかくわかりやすくていねいな説明がされています(fast.aiコースの哲学がそのまま書籍化された本書の最大の特徴を端的に表している)

外部からの言及

  • fast.aiの学習リソース紹介記事で、本書の元となるオンラインコースが「数学の深い知識がなくても実践できる入口」として繰り返し言及されている。書籍自体はコースの日本語版テキストとして位置づけられる(qiita)
  • 機械学習学習ロードマップ記事では、fast.aiコース(本書の底本)が「トップダウン型の実践学習として他の入門書とは設計思想が異なる」と位置づけられ、ゼロから始める層向けの推薦リソースに含まれている(qiita)

編集メモ

Qiita でのISBN直接引用は1件(likes=0)だが、fastai関連記事全体では「fast.aiのすすめ」40 likes・「fast.ai初心者目線の道案内」76 likes など複数の言及が存在。書籍自体はfast.aiオンラインコースの公式テキストとして日本語圏でも参照されている。Rakutenランキングデータは今回の入力に含まれないため、記事シグナルのみで practical と判定

読む前に押さえておきたいこと

  • Pythonの基本的な書き方(リスト・辞書・関数定義)と、numpyの配列操作の感覚
  • Google ColabまたはJupyter Notebookの操作経験
  • 機械学習の概念的な理解(訓練・検証・テストの分割、過学習の意味)は事前にあると第Ⅱ部以降の理解が速い

学習のコツ

  • 1章でColab環境を即稼働させ、2章でアプリ公開まで通しで体験してから、4章以降の仕組み解説に進むと挫折しにくい。著者のトップダウン設計通りに読む順序を崩さないのが最も効率的
  • 第Ⅲ部(12-16章)は数理的説明が増えるため、第Ⅱ部の実践経験(4-11章)を終えてから戻ると内容が腑に落ちやすい
  • 18章のCAM可視化は、業務でモデルの予測根拠を説明する必要がある場面で実装例として単独参照できる。第Ⅳ部全体を通読しなくても18章だけで利用価値がある
  • 各章末のquestionsは概念確認に有効。英語ソース(fast.ai公式Jupyter notebook)と並走すると理解の解像度が上がる
出版社による内容紹介

人気のPythonの機械学習ライブラリPyTourchの解説書! 本書は、PyTorchと著者たちが開発したfastaiというライブラリを使って、ニューラルネットワークを使用して機械学習を行う方法を解説しています。博士号や数学の深い知識がなくても、ディープラーニングが行えるように、とにかくわかりやすくていねいな説明がされています。本書で扱うトピックは幅広く、コンピュータビジョン、自然言語処理、表形式データ、協調フィルタリングでモデルを訓練する方法、深層学習モデルの機能を理解して、精度、速度、信頼性の向上させる方法、実際のアプリケーションの作成方法のほか、データ倫理、最新の深層学習手法も網羅します。

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。