ISBN 9784839970253

つくりながら学ぶ!PyTorchによる発展ディープラーニング

つくりながら学ぶ!PyTorchによる発展ディープラーニング
出版社
マイナビ出版
刊行
2019-07

概要

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)

関連記事 / 参考情報

学習のヒント

  • 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)

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

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

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