TensorFlowではじめるDeepLearning実装入門
TensorFlowではじめるDeepLearning実装入門 (impress top gear)
インプレス
著者:新村拓也
はじめに
謝辞
第1章 ニューラルネットワークと深層学習
1.1 機械学習
1.2 教師あり学習・教師なし学習
1.3 ニューラルネットワーク
1.4 確率勾配降下法
1.5 誤差逆伝播法と連鎖律
1.6 深層学習
過学習
勾配消失
計算速度
1.7 現代の深層学習
畳み込みニューラルネットワーク(CNN)
再帰的ニューラルネットワーク(RNN)
Deep Q Network(DQN)
第2章 TensorFlow入門―計算グラフと手書き数字認識
2.1 TensorFlowとは?
2.2 計算グラフとDefine and Run
tf.Variableとtf.constant
tf.placeholder()
変数の初期化
tf.Session()における実行
2.3 TensorFlowによるニューラルネットワーク入門
モデル
入出力データ
2.4 TensorFlowによる手書き数字認識の実装
順伝播
誤差関数、訓練
tf.reduce_mean()
評価
実行
第3章 TensorFlowをもう少し入門―TensorBoard、CNN、モデルの保存
3.1 可視化ツールTensorBoard
Images用のログ取得オペレーション
Graphとname_scope
ScalarsとHistograms/Distribution
ログのマージ
ログの書き込み
3.2 TensorBoardの見方
Scalars
Images
Graphs
Histograms/Distribution
3.3 ニューラルネットワークの改善
畳み込みニューラルネットワーク(CNN)
TensorFlowにおける畳み込みとプーリング
クロスエントリピー
3.4 モデルの保存、学習済みモデルの読み込み
tf.train.Saver()
学習結果のrestore
グローバルステップ
第4章 TensorFlowでRNN―時系列情報および自然言語の扱い
4.1 Recurrent Neural Network
Back Propagation Through Time(BPTT)
RNNの問題点
Long Short Term Memory(LSTM)
4.2 TensorFlowにおけるRNN実装
mn_cellについて
〇〇_mnについて
出力結果の後処理
4.3 Sequential MNIST
出力層が複数の場合
4.4 自然言語の扱いWord2Vecによる単語組み込み
様々な分散表現
ニューラル言語モデル
4.5 TensorFlowでWord2Vec
data_set.py
word2vec.py
Word2vecのEmbeddingsによる可視化
第5章 TensorFlowでニューラルイメージキャプショニング
5.1 画像キャプショニング
5.2 画像キャプショニングのためのデータセット
5.3 大規模データセットを扱う際の注意
5.4 TFRecord形式によるデータのバイナリ化
書き込む
読み込み
5.5 データセット整形プログラム作成
5.6 GoogLeNet Inception-v3の転移学習 訓練済みモデルの利用
Inception-v3
inception-v3の書き出し
freeze_graph.pyによる訓練済みモデルの作成
5.7 キャプション生成モデル実装
5.8 訓練したモデルで推論
付録A Ubuntu ServerにGPU対応のTensorFlowをインストールする
索引