「手を動かしアプリを動かしながら学ぶ」をコンセプトにしたPyTorchの入門書です。「解説」と「コード作成」を柱とした構成で、主な特徴は次の通りです。
・最低限の知識でアプリ開発までを実現できる。
・実用性のあるアプリを作りながら学ぶ。
・実用性のあるアプリにより学習モチベーションが上がる。
「株価の予測」「画像分析」「感情分析」アプリを開発します。アプリづくりの面白さを通し、読者に楽しみながらPyTorchを学んでいただくものです。
https://www.ohmsha.co.jp/book/9784274226403/
正誤表やDLデータ等がある場合はこちらに掲載しています
Chapter1 スタートアップ
Chapter2 PyTorch の基本
Chapter3 ニューラルネットワークの基本
Chapter4 畳み込みニューラルネットワーク 〜画像分類プログラムを作る〜
Chapter5 再帰型ニューラルネットワーク(時系列データの予測) 〜株価予測プログラムを作る〜
Chapter6 再帰型ニューラルネットワーク(テキストデータの分類) 〜映画レビューの感情分析プログラムを作る〜
Chapter 1 スタートアップ
1 PyTorchについて
2 開発環境の構築について
2.1 自身のPCを使用する場合
PCスペック/PyTorchのインストール
2.2 Google Colaboratoryを使用する場合
PCスペック/利用制限/サンプルコードの使用方法/Notebookの新規作成/Notebookの開き方
GPUの設定/PyTorchのインストール/Google Colaboratoryの基本的な使い方
Chapter 2 PyTorchの基本
1 テンソル(Tensor)
1.1 Tensorの生成
1.2 Tensorとndarrayの変換
1.3 Tensorの操作
1.4 Tensorの演算
2 自動微分(AUTOGRAD)
3 ニューラルネットワークの定義
3.1 nn.Sequentialを使う方法
3.2 自作のクラスを使う方法
3.3 GPUを使う場合
4 損失関数
4.1 バイナリ交差エントロピー損失(nn.BCELoss)
4.2 ロジット付きバイナリ交差エントロピー損失(nn.BCEWithLogitsLoss)
4.3 ソフトマックス交差エントロピー損失(nn.CrossEntropyLoss)
4.4 平均二乗誤差損失(nn.MSELoss)
4.5 平均絶対誤差損失(nn.L1Loss)
5 最適化関数
Chapter 3 ニューラルネットワークの基本
1 ニューラルネットワークについて
2 アヤメの分類【サンプルコード】
2.1 アヤメ(Iris)データセット
2.2 前準備(パッケージのインポート)
2.3 訓練データとテストデータの用意
2.4 ニューラルネットワークの定義
2.5 損失関数と最適化関数の定義
2.6 学習
2.7 結果の可視化
2.8 新たにテスト用のデータセットを用意して推定したい場合
3 糖尿病の予後予測【サンプルコード】
Column 機械学習が対象とする課題
3.1 糖尿病(Diabetes)データセット
3.2 前準備(パッケージのインポート)
3.3 訓練データとテストデータの用意
3.4 ニューラルネットワークの定義
3.5 損失関数と最適化関数の定義
3.6 学習
3.7 結果の可視化
Chapter 4 畳み込みニューラルネットワーク〜画像分類プログラムを作る〜
1 畳み込みニューラルネットワークについて
1.1 畳み込み層(Convolutional Layer)
1.2 プーリング層(Pooling Layer)
2 CIFAR-10データセットの画像分類【サンプルコード】
2.1 前準備(パッケージのインポート)
2.2 訓練データとテストデータの用意
2.3 ニューラルネットワークの定義
2.4 損失関数と最適化関数の定義
2.5 学習
2.6 結果の可視化
3 CIFAR-10データセットの転移学習【サンプルコード】
3.1 前準備(パッケージのインポート)
3.2 訓練データとテストデータの用意
3.3 学習済みのニューラルネットワークの読み込み
3.4 損失関数と最適化関数の定義
3.5 学習
3.6 結果の可視化
4 画像の高解像度化【サンプルコード】
4.1 Super-Resolution Convolutional Neural Network(SRCNN)
4.2 画像データの準備(Labeled Faces in the Wild)
4.3 前準備(パッケージのインポート)
4.4 訓練データとテストデータの用意
4.5 ニューラルネットワークの定義
4.6 損失関数と最適化関数の定義
4.7 学習
Column PSNRとSSIMについて
4.8 結果の可視化
Chapter 5 再帰型ニューラルネットワーク(時系列データの予測)
〜株価予測プログラムを作る〜
1 再帰型ニューラルネットワークについて
2 株価予測【サンプルコード
2.1 前準備(パッケージのインポート)
2.2 訓練データとテストデータの用意
2.3 ニューラルネットワークの定義
2.4 損失関数と最適化関数の定義
2.5 学習
2.6 結果の可視化
2.7 テストデータに対する予測の評価
3 Webアプリケーションの組み込み【サンプルコード】
3.1 Flaskのインストール
3.2 必要なファイル
3.3 ファイルの中身
main.py/predict_stockprice.py/get.html/post.html
3.4 実行
Chapter 6 再帰型ニューラルネットワーク(テキストデータの分類)
〜映画レビューの感情分析プログラムを作る〜
1 ディープラーニングを用いた感情分析
2 感情分析の基本【サンプルコード
2.1 映画レビュー(Internet Movie Database:IMDb)
2.2 前準備(パッケージのインポート)
2.3 訓練データとテストデータの用意
2.4 ニューラルネットワークの定義
2.5 損失関数と最適化関数の定義
2.6 学習
2.7 結果の可視化
3 感情分析の応用【サンプルコード】
3.1 前準備(パッケージのインポート)
3.2 訓練データとテストデータの用意
3.3 ニューラルネットワークの定義
3.4 損失関数と最適化関数の定義
3.5 学習
3.6 結果の可視化
3.7 新しいレビューに対する感情分析
4 感情分析の高速化【サンプルコード】
4.1 fastText
4.2 前準備(パッケージのインポート
4.4 ニューラルネットワークの定義
4.5 損失関数と最適化関数の定義
4.6 学習
4.7 結果の可視化
4.8 新しいレビューに対する感情分析
5 CNNを用いた感情分析【サンプルコード】
5.1 前準備(パッケージのインポート)
5.2 訓練データとテストデータの用意
5.3 ニューラルネットワークの定義
5.4 損失関数と最適化関数の定義
5.5 学習
5.6 結果の可視化
5.7 新しいレビューに対する感情分析
index