ISBN 9784839970253
つくりながら学ぶ!PyTorchによる発展ディープラーニング
概要
PyTorchで8つの応用タスクを実装し発展的DL手法を体得する
想定読者
PyTorchの基礎操作を習得済みで、物体検出・GAN・BERTなど多様なタスクへの実装経験を積みたい中級者。Kaggle参加やAI業務開発への応用を目指しているエンジニア。
こんな人には向いていない
- PyTorchをこれから学ぶ入門者。テンソル演算・nn.Module・DataLoaderの基本操作は前提とされており、基礎解説は含まれない
- 各モデルの数学的理論を深く理解したい読者。損失関数の導出や確率論的背景よりも実装フロー優先の構成のため、理論は別書で補完する必要がある
- 2019年出版以降に台頭したDiffusion ModelやLLMなど最新アーキテクチャを求める読者。掲載モデルは出版時点での最先端を基準としている
この本で身につくこと
- 転移学習・ファインチューニングを用いて少量の画像データから実用的な分類モデルを構築できる
- SSD(物体検出)・PSPNet(セマンティックセグメンテーション)・OpenPose(姿勢推定)をPyTorchでフルスクラッチ相当に実装できる
- DCGAN・Self-Attention GANで画像生成パイプラインを構築し、AnoGANを用いた異常検知へ応用できる
- TransformerとBERTによる日本語テキストの感情分析パイプラインを実装できる
- 3DCNNとECOを用いた動画データのクラス分類モデルを構築できる
- AWS GPU環境(p2.xlargeインスタンス)でのモデル学習環境をセットアップし、ローカルCPU環境と使い分けられる
ハイライト(外部からの言及)
ビジネスの現場でディープラーニングを活用するためにも実装経験を積んでおきたいタスクという観点で選定しました — 出典
タスク選定の軸が明示されており、業務志向の読者にとっての本書の位置づけが端的に伝わる
各ディープラーニングモデルは執筆時点でState-of-the-Art(最高性能モデル)の土台となっており、実装できるようになればその後の研究・開発に役立つことでしょう — 出典
個別タスクの習得を超えて研究・開発への橋渡しを意図した構成であることを示す、著者の設計意図が現れている箇所
章立て
第1章 転移学習・ファインチューニング(少量画像データからの分類モデル構築)
全章共通のDataLoader構築・学習ループ・評価フローがここに凝縮。迷ったら1章に戻ると解像度が上がる
第2章 物体検出(SSD)
アンカーボックスとマルチスケール特徴量の実装が密度高く展開される
第3章 セマンティックセグメンテーション(PSPNet)
第4章 姿勢推定(OpenPose)
第5章 GAN(DCGAN・Self-Attention GAN)
生成モデルの基礎から応用まで一連で掴める。NLP・動画章と独立して先に読むことも可能
第6章 異常検知(AnoGAN・Efficient GAN)
5章のGAN知識を前提に異常検知へ応用する構成。製造業・品質管理ユースケースと直結する
第7章 自然言語処理(Transformer・BERT)
日本語BERT実装の参照例として、後続のQiita実装記事で繰り返し引用されている章
第8章 動画分類(3DCNN・ECO)
関連記事 / 参考情報
- Kaggle Expertになるまで勉強したことを全て書く — Kaggle Expert取得までの全学習リソースを公開。PyTorch発展DL書籍を応用フェーズの一冊として位置づける
- 1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します — 実務経験を積んだインターン生が選ぶ推薦図書リスト。深層学習応用の一冊として収録
- 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 — AIエンジニアへの独学ロードマップ。基礎習得後の応用ステップとして本書を紹介
- PyTorchでBERTなど各種DLモデルを作りながら学ぶ書籍を執筆しました — 著者による書籍紹介。対象タスク・章構成・AWS実装環境の概要を著者自身が解説
- メルアイコン生成器 version2を作った話 — 本書のGAN実装を元にメルカリアイコン生成器を構築した実践レポート。v2でSelf-Attention GANを応用
- 機械学習の書籍多いけど、どれ買えば良いの?レベル別にオススメ!!<初心者向け> — レベル別ML書籍ガイド。基礎書を修了した後の発展書として本書を位置づける
- メルアイコン生成器を作った話 — 本書のDCGAN実装を参考に初版アイコン生成器を制作した記録。後続v2の起点
- 自然言語処理で注目のBERT
取り敢えず動かしてみる編— BERTの基本動作を確認するチュートリアル。PyTorchでの実装文脈で本書が参照される - PyTorchで日本語BERTによる文章分類&Attentionの可視化を実装してみた — 本書BERT章を発展させた日本語テキスト分類の実装。Attention重みの可視化まで踏み込む
- 【書籍まとめ】データサイエンス初心者が1年間で読んだ本 — DS初心者の1年間読書ログ。発展段階の学習書として収録
学習のヒント
- 1章(転移学習・ファインチューニング)で確立するDataLoader構築・学習ループ・評価フローは全章共通の設計パターンになっている。後の章で実装の流れが分からなくなったら1章に立ち戻ると解像度が上がる
- GAN章(5・6章)はNLPや動画分類章と独立して読めるため、生成モデルや異常検知に特化した業務ニーズがある場合は先に読む選択も有効。実際にGAN派生プロダクトを作った事例が複数確認されている
- AWS GPU環境のセットアップ手順は出版(2019年)以降にサービス仕様が変更されている箇所がある。著者のGitHubリポジトリや最新のAWSドキュメントと照合しながら進めると詰まりにくい
- 各章は自己完結した構成のため、業務上必要なタスク(例:物体検出のみ・異常検知のみ)を選んで読む辞書的な活用も成立する
前提知識
- PythonによるNumPy・Pandas操作の基礎
- PyTorchの基本操作(テンソル演算・nn.Module・DataLoader・Optimizer)
- 畳み込みニューラルネットワーク(CNN)と誤差逆伝播の基本概念
次に読む本
ゼロから作るDeep Learning ❷ 自然言語処理編
本書のTransformer・BERT実装を読んだ後、アーキテクチャの数学的背景を再構築したい場合の定番
Hugging Face Transformersによる自然言語処理
本書BERT章から現代的なTransformerエコシステム(Hugging Face)への橋渡し。fine-tuningをAPIベースで高速化する次のステップ
PyTorch実践入門
本書を先に読んでから改めて参照すると、PyTorchの設計思想が整理されやすい。逆引き的な使い方にも向く
出版社による内容紹介
本書ではディープラーニングの発展・応用手法を実装しながら学習していきます。ディープラーニングの実装パッケージとしてPyTorchを利用します。扱うタスク内容とディープラーニングモデルは次の通りで「ビジネスの現場でディープラーニングを活用するためにも実装経験を積んでおきたいタスク」という観点で選定しました。 [本書で学習できるタスク] 転移学習、ファインチューニング:少量の画像データからディープラーニングモデルを構築 物体検出(SSD):画像のどこに何が映っているのかを検出 セマンティックセグメンテーション(PSPNet):ピクセルレベルで画像内の物体を検出 姿勢推定(OpenPose):人物を検出し人体の各部位を同定しリンク GAN(DCGAN、Self-Attention GAN):現実に存在するような画像を生成 異常検知(AnoGAN、Efficient GAN):正常画像のみからGANで異常画像を検出 自然言語処理(Transformer、BERT):テキストデータの感情分析を実施 動画分類(3DCNN、ECO):人物動作の動画データをクラス分類 本書は第1章から順番に様々なタスクに対するディープラーニングモデルの実装に取り組むことで高度かつ応用的な手法が徐々に身につく構成となっています。各ディープラーニングモデルは執筆時点でState-of-the-Art(最高性能モデル)の土台となっており、実装できるようになればその後の研究・開発に役立つことでしょう。 ディープラーニングの発展・応用手法を楽しく学んでいただければ幸いです。 実装環境 ・読者のPC(GPU環境不要)、AnacondaとJupyter Notebook、AWSを使用したGPUサーバー ・AWSの環境:p2.xlargeインスタンス、Deep Learning AMI(Ubuntu)マシンイメージ(OS Ubuntu 16.04|64ビット、NVIDIA K80 GPU、Python 3.6.5、conda 4.5.2、PyTorch 1.0.1)
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。