当サイトは、書籍「最短コースでわかる PyTorch &深層学習プログラミング」のサポートサイトです。
本書は、人気のAIフレームワーク「PyTorch」で、ディープラーニングプログラミングができるようになる本です。ディープラーニングのアルゴリズムが原理からわかります。初心者でも他書に頼らず、本書1冊でマスターできます!
本書の実習コードは、Google Colabで動かすことを前提に、すべてGithub(当サポートサイト)で公開しています。
ディープラーニングの学習原理である勾配降下法は、3章で山登りのたとえ話で数式なしに理解できるようになります。アルゴリズムとしての動作原理と、PyTorch実装については、下の2つの図で、より具体的なイメージが持てます。
勾配降下法の動作原理
PyTorchによる勾配降下法実装
PyTorchプログラミングにおいて重要な概念については、詰め込まず、一歩一歩確実に進めるようにしてあります。見開きのコースマップで、どこまで進んだかも一目でわかります。
コースマップ
機械学習・ディープラーニングにおける学習とは、「損失」と呼ばれる合成関数の最適化です。本書では、PyTorchが自動生成した合成関数(計算グラフ)を可視化するツールを活用して、この合成関数の様子をイメージから理解できるようにしています。
計算グラフの可視化例
本書は、次のような読者を想定しています。
-
企業でディープラーニングプログラムを業務で利用している、あるいはこれから利用しようとしているITエンジニアや研究者
Keras/Tensorflowを使った経験がある方は、まずPyTorch独特の「ポリシー」につまずきがちです。PyTorchは「多値分類モデルにおける損失関数」の考え方が独特で、それを分かりやすく解説します。 -
入門書を読んで機械学習やディープラーニングアルゴリズムの実装イメー ジは持てたが、この先どのように活用したらよいかがわからない方
9 ~ 12 章の「画像認識 実践編」では、最終的に「転移学習」と呼ばれる少ない学習データで学習可能な方法を用いて、自分で集めた画像データを使って 分類モデルを作ります。12 章までたどり着けば、すぐに自分で集めた画像デー タを使って分類モデルが作れるようになります。 また、8 章までの内容は PyTorch でのプログラミング方法を理解すると同時 に、これまで入門書で学んだ機械学習やディープラーニングのアルゴリズムを 復習することにもなります。 -
理工系の大学・大学院の学生で研究の一環としてディープラーニングのプログラムを開発する必要がある方
今後、論文で公開されている実装コードを試すには、PyTorchの知識が必須になってきます。本書では、ディープラーニングに必要な数学をイメージとして解説するので、公開コードを深く理解し、応用できるようになります。 -
まだPythonもKeras/TensorFlowも知らないが、ディープラーニングプログラミングをこれから勉強してみたいという方
初心者に向けて、PyTorchプログラミングを理解するのに必要な、Pythonの基本文法と、NumPy、Matplotlibの必要最小限の機能を、巻末の講座として用意しました。目的がディープラーニングだけなら、本書の講座で書いた概念・機能だけを理解すれば十分で、ディープラーニングを学ぶためのスタートラインに立てます。
本書は、新しい概念は一気には詰め込まず、できるだけ細分化して一歩一歩確実に進めます。機械学習の基本から、「CNN」などを使った画像認識ディープラーニングモデルの開発・チューニングまでをじっくり学べます。
- 序章 初めての画像認識
- 1章 ディープラーニングのためのPythonのツボ
- 2章 PyTorch入門
- 3章 初めての機械学習
- 4章 予測関数の定義
- 5章 線形回帰
- 6章 2値分類
- 7章 多値分類
- 8章 MNISTを使った数字認識
- 9章 CNNによる画像認識
- 10章 チューニング技法
- 11章 学習済みモデルの利用
- 12章 カスタムデータによる画像認識
- Python入門
- NumPy入門
- Matplotlib入門
- ONNXファイルへのエクスポート方法
11章のコラム「汎用性のある事前学習済みモデルの作り方」で言及している手順はこのリンク先にあります。
ソース | タイトルとリンク | 補足 |
---|---|---|
speakerdeck | 最短コースでPyTorchとディープラーニングを征服するためのツボ | 2021年11月に行った学生向けイベントでのプレゼン資料。PyTorchと機械学習アルゴリズム理解のポイントをコンパクトにまとめています。 |
qiita | 書籍「最短コースでわかる PyTorch &深層学習プログラミング」補足情報と紹介 | 書籍に書けなかった補足情報と書籍の特徴紹介です。 |
qiita | 書籍「Pytorch&深層学習プログラミング」2章補足 sum関数で微分計算ができる理由 | 2章ではPyTorchの自動微分機能を使って関数の微分計算をしています。p.82で1階テンソルをスカラー化するのにsum関数を使っていますが、紙面では「なぜsum関数を使うのか」の説明が不十分です。その部分を補うための記事となります。 |
qiita | 書籍「Pytorch&深層学習プログラミング」2章補足PART2 sum関数をmax関数に置き換えると何がおきるか? | 上記記事の続編です。「sum関数の代わりにmax関数を使うと何がおきるか?それはなぜか」を解説しています。自動微分機能で何をやっているか深く理解するのに役立ちますので是非ご一読下さい。 |
qiita | 書籍「Pytorch&深層学習プログラミング」6章補足 決定境界表示プログラムの解説 | 6章の実習コードでは解説を一切抜きに、決定境界表示をしています。書籍で省略したその部分の解説記事です。 |
qiita | 書籍「最短コースでわかる PyTorch &深層学習プログラミング」3値分類モデルの決定境界の表示 | 7章の例題補足としての、3値分類問題の決定境界描画の実装と解説です。 |
qiita | PyTorch 学習メモ (Karasと同じモデルを作ってみた) | 本格的にPyTorchの勉強をはじめて約半日後にまとめた自分用のメモ。今回の本の原点とも言える記事です。今、読み直しても大筋間違ったことをいっていないのは自画自賛できるかも。 |
qiita | PyTorchのDL ModelをWatson MLで動かす | PyTorchで作ったモデルをIBM Cloudにデプロイする手順です。上の記事(ONNXファイルへのエクスポート方法)も参考にして下さい。 |
@makaishi2 | 著者のツイッターアカウント。書籍に関連した情報発信とretweetが中心です。 | |
IBM Blog | AI関連書籍三冊目を出版したIBM赤石雅典に聞く「AIと仕事と執筆」 | IBM勤務時代、会社のブログにインタビュー記事が紹介されています。 |
ソース | タイトルとリンク | 補足 |
---|---|---|
Amazon | Amazonレビュー | |
Honto | Honto | |
読書メーター | 読書メーター | |
BookLive | BookLive | |
からあげ様ブログ | PyTorch入門書の決定版!「最短コースでわかる PyTorch &深層学習プログラミング」 | AI関連で有名なブロガーである「からあげ」様による書評です。 |
新米エンジニアの読んだ技術書を一言まとめるブログ | Pytorch&深層学習プログラミングはやはり初心者の見方だった | 本書について激賞していただいています |