ISBN 9784839974695

PyTorch実践入門 : ディープラーニングの基礎から実装へ

PyTorch実践入門 : ディープラーニングの基礎から実装へ
出版社
マイナビ出版
刊行
2021-02

概要

PyTorchを使ったディープラーニング実装を基礎から本番デプロイまで習得する

想定読者

Pythonの基礎があり、ディープラーニングを実務レベルで実装したいエンジニアおよびデータサイエンティスト

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

  • すでにPyTorchで実装経験があり、TransformerやGANなど発展的なアーキテクチャを学びたい読者には基礎説明の比重が大きすぎる
  • 微分幾何・情報理論レベルの数学的厳密性を求める場合は数式展開の説明が限定的
  • TensorFlowやJAXとのフレームワーク比較を目的とする読者には対応していない

この本で身につくこと

  • PyTorchのテンソル操作とautogradの仕組みを実装レベルで理解する
  • 畳み込みニューラルネットワーク(CNN)を用いた画像分類モデルを一から構築できる
  • 医療CT画像を実データとしたエンドツーエンドのAIプロジェクトを完遂できる
  • セグメンテーションと分類を組み合わせた多段パイプラインを設計できる
  • 訓練済みモデルを本番環境へデプロイする複数手法(TorchScript・ONNX・APIサーバ化)を選択・実装できる

ハイライト(外部からの言及)

限られたデータでニューラルネットワークを訓練する方法、訓練済みモデルのデプロイ方法など『ディープラーニング・プロジェクトのベストプラクティス』を提示します。 — 出典

単なる入門書にとどまらず実務的なベストプラクティスまでカバーすることを示す、本書の立ち位置を最も端的に表した記述

PyTorchで実際にどのように組み込まれて実現されているのか、細部まで掘り下げた解説をしていますのでディープラーニングの活用を目指している開発者や詳しく知りたい方におすすめです。 — 出典

APIの使い方ではなく内部の仕組みを理解させることを目指している点が他の入門書との差別化として明示されている

章立て

第1章 ディープラーニングとPyTorchの概要

第2章 訓練済みモデルの利用方法

既存モデルを動かすクイックスタートとして機能する。まず動かす体験を優先する読者に有効

第3章 PyTorchにおけるテンソルの扱い方

PyTorch固有の概念の核心。NumPy経験者はAPIの対応関係を意識しながら読むと定着が早い

第4章 さまざまなデータをPyTorchテンソルで表現する方法

第5章 ディープラーニングの学習メカニズム

autogradと誤差逆伝播の内部動作を扱う重要章。本書でもっとも理解が深まる箇所のひとつ

第6章 ニューラルネットワーク入門

第7章 画像分類モデルの構築

第8章 畳み込み(Convolution)

第9章 肺がん早期発見プロジェクトの解説

第2部の導入。以降の章は連続した実装なので途中から入ると前提コードに依存する点に注意

第10章 LUNAデータをPyTorchデータセットに変換

第11章 結節候補を画像分類するモデルの構築

第12章 評価指標とデータ拡張を用いたモデルの改善

クラス不均衡・データ拡張の実務的な対処が学べる実践直結章

第13章 セグメンテーションを用いた結節の発見

第14章 結節・腫瘍解析システムの全体を構築

第15章 本番環境にモデルをデプロイする方法

TorchScript・ONNX・APIサーバ化など複数手法を比較。自分の本番環境に合う手法を選ぶ判断材料として読む

関連記事 / 参考情報

学習のヒント

  • 第1部(1〜8章)はPyTorch基礎。Python・NumPyに慣れた読者は第2章を流し読みし、第3〜5章(テンソル・学習メカニズム)を重点的に読むと効率的
  • 第2部(9〜14章)は各章が前の章のコードに依存しているため通し実装が前提。Jupyter NotebookとGPU環境(Google Colab可)を事前に用意して写経しながら読む
  • 第15章(デプロイ)はプロジェクト完成後に独立したリファレンスとして参照するのが効果的。TorchScript・ONNX・REST API化の中から自分のユースケースに合う手法を選ぶ
  • Manning原書(Deep Learning with PyTorch)が参照できる環境であれば、翻訳で読みにくい箇所の原文照合に活用できる

前提知識

  • PythonとNumPy配列操作の基礎(スライシング・ブロードキャスト・型変換)
  • 機械学習の基本概念(訓練・検証・テスト分割、損失関数、最適化の大まかな流れ)
  • 高校数学レベルの微分(連鎖律)と行列計算の概念的理解

次に読む本

ゼロから作るDeep Learning

NumPyでフルスクラッチ実装することで、本書でPyTorchが肩代わりしている部分(autograd等)を逆照射できる。本書の前後どちらでも有効

機械学習エンジニアのためのTransformers

本書でCNNベースの実装を習得した後、Attention/Transformerアーキテクチャへ進む自然な次のステップ

PyTorch公式チュートリアル(pytorch.org/tutorials)

本書で学んだ実装パターンをPyTorch最新APIと突き合わせ、バージョン差異を継続的に埋めるために定期的に参照する

出版社による内容紹介

ディープラーニングの重要な基礎概念と、PyTorchを用いたディープラーニングの実装方法について、細部まで掘り下げて解説。限られたデータでニューラルネットワークを訓練する方法、訓練済みモデルのデプロイ方法など『ディープラーニング・プロジェクトのベストプラクティス』を提示します。 ・ディープラーニングのメカニズムを解説 ・Jupyter Notebook上でサンプルコードを実行 ・PyTorchを用いたモデル訓練の実施 ・実データを使用するプロジェクトをベースに実践的解説 ・本番環境へのさまざまなモデルデプロイ方法 PyTorchで実際にどのように組み込まれて実現されているのか、細部まで掘り下げた解説をしていますのでディープラーニングの活用を目指している開発者や詳しく知りたい方におすすめです。 Manning Publications『Deep Learning with PyTorch』の翻訳書 第1部 PyTorchの基礎 第1章 ディープラーニングとPyTorchの概要 第2章 訓練済みモデルの利用方法 第3章 PyTorchにおけるテンソルの扱い方 第4章 さまざまなデータをPyTorchテンソルで表現する方法 第5章 ディープラーニングの学習メカニズム 第6章 ニューラルネットワーク入門 第7章 画像分類モデルの構築 第8章 畳み込み(Convolution) 第2部 ディープラーニングの実践プロジェクト:肺がんの早期発見 第9章 肺がん早期発見プロジェクトの解説 第10章 LUNAデータをPyTorchデータセットに変換 第11章 結節候補を画像分類するモデルの構築 第12章 評価指標とデータ拡張を用いたモデルの改善 第13章 セグメンテーションを用いた結節の発見 第14章 結節・腫瘍解析システムの全体を構築 第3部 デプロイメント(Deployment) 第15章 本番環境にモデルをデプロイする方法 第1部 PyTorchの基礎 第1章 ディープラーニングとPyTorchの概要 第2章 訓練済みモデルの利用方法 第3章 PyTorchにおけるテンソルの扱い方 第4章 様々なデータをPyTorchテンソルで表現する方法 第5章 ディープラーニングの学習メカニズム 第6章 ニューラルネットワーク入門 第7章 画像分類モデルの構築 第8章 畳み込み 第2部 ディープラーニングの実践プロジェクト:肺がんの早期発見 第9章 肺がん早期発見プロジェクトの解説 第10章 LUNAデータをPyTorchデータセットに変換 第11章 結節候補を画像分類するモデルの構築 第12章 評価指標とデータ拡張を用いたモデルの改善 第13章 セグメンテーションを用いた結節の発見 第14章 結節・腫瘍解析システムの全体を構築 第3部 デプロイメント 第15章 本番環境にモデルをデプロイする方法

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

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

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