TensorFlow&Kerasプログラミング実装ハンドブック

概 要

TensorFlowは、Google社が公開しているPython向け機械学習用ライブラリです。本書はPythonの基礎を学習した方に向けて、JupyterNotebookを使ったTensorFlowの活用法を解説する入門書です。シンプルな二値分類から画像認識、自然言語処理における時系列データの分析までを理論をまじえて体系的に解説します。また、TensorFlowのラッパーライブラリであるKerasを用いた自然言語処理についても解説しています。

著者 チーム・カルポ
価格 本体2600円(税別)
ISBN 978-4-7980-5541-1
発売日 2018/9/21
判型 A5
ページ数 360
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 機械学習ライブラリTensorFlowとKeras

1.1 ディープラーニング

機械学習、ディープラーニングとは

教師あり学習

教師なし学習

1.2 TensorFlowで何ができる?

Pythonで機械学習するためのライブラリ―TensorFlow

TensorFlowはニューラルネットワークをどのように実現するのか

第2章 開発環境の用意とPythonの基礎

2.1 Python/TensorFlowで開発するための環境を用意する

Anacondaのダウンロードとインストール

2.2 仮想環境の構築とライブラリのインストール

TensorFlow専用の仮想環境を構築する

ライブラリのインストール

2.3 Jupyter Notebookの使い方

Jupyter Notebookを起動する

Notebookを作成してプログラムを管理する

ソースコードを入力して実行する

2.4 演算処理

Pythonの演算子

2.5 Pythonが扱うデータの種類

Pythonのデータ型

2.6 リスト

リストを作る

2.7 if文とfor文

if文

for文

2.8 関数

処理だけを行う関数

処理結果を返す関数

2.9 クラス

オブジェクトを作るための「クラス」

オリジナルのクラスを作る

オブジェクトの初期化を行う_ _init_ _ ()

インスタンスごとの情報を保持するインスタンス変数

2.10 NumPyのベクトル

NumPyをインポートしてベクトルを作る

ベクトルの算術演算

ベクトルのスカラー演算

ベクトルの累乗、平方根

ベクトルの要素同士の積を求める

多次元配列で行列を表現する

行列の基礎

行列のスカラー演算を行う

行列の成分にアクセスする

行列の要素同士を加算、減算する

行列の積を求める

行と列を入れ替えて「転置行列」を作る

2.11 パーセプトロンによる二値分類

単純パーセプトロン

多層パーセプトロンでXOR演算を実現する

パーセプトロンによる二値分類

パーセプトロンの分類関数

パーセプトロンを実装する

第3章 TensorFlowの概要

3.1 TensorFlowのインストール

NavigatorからTensorFlowをインストールする

3.2 TensorFlowの使い方のキホン

データフローグラフの作成

データフローグラフって何?

データフローグラフの実行

3.3 データフローグラフを実行するいくつかのパターン

global_variables_initializer()で変数をまとめて初期化する

セッションをインタラクティブモードで実行する

with文でセッション全体をラップする

3.4 tf.placeholder(プレースホルダー)

実行時に確定する値をプレースホルダーで保持する

第4章 TensorFlowの基本

4.1 tf.summary.FileWriterクラス

ブラウザーベースで動作するTensorBoard

イベントログを収集してTensorBoardで視覚化する

プログラムを実行してTensorBoardで確認する

4.2 tf.train.?GradientDescentOptimizerクラス

線形回帰分析による未知の値の予測

線形回帰分析

勾配降下法の考え方

線形回帰分析の勾配降下法をtf.train.GradientDescentOptimizerで実装する

4.3 TensorFlowの数学関数

多項式の回帰問題を解く

第5章 例題で学ぶTensorFlowの基本

5.1 tf.sigmoid()で2値分類を解く

活性化関数

ロジスティック回帰で決定境界を求める

5.2 tf.nn.softmax()でマルチクラス分類を解く

ソフトマックス関数

マルチクラス分類の交差エントロピー誤差関数

マルチクラス分類の実装

5.3 GradientDescentOptimizerでバックプロパゲーションを実装

多層パーセプトロンの2乗和誤差を求める損失関数

出力層の重みの更新

中間層の重みの更新

重みの更新式を一般化する

XOR問題を2層のパーセプトロンで学習する

5.4 tf.nn.relu()でニューロンを活性化する

ReLU関数

手書き数字のMNISTデータセット

2層ニューラルネットワークで手書き数字を認識する

5.5 tf.nn.conv2d、nn.max_pool、tf.nn.dropoutによるCNNの実装

2次元フィルター

ゼロパディング

プーリング

ドロップアウト

プーリング層とドロップアウトを備えた畳み込みネットワークの構築

5.6 Momentumオプティマイザー

tf.train.MomentumOptimizerクラス

Momentumオプティマイザーで最適化する

Nesterovの加速勾配降下法

5.7 Adagradオプティマイザー

tf.train.AdagradOptimizerクラス

Adagradオプティマイザーで最適化する

5.8 RMSpropオプティマイザー

tf.train.RMSpropOptimizerクラス

RMSpropオプティマイザーで最適化する

5.9 Adadeltaオプティマイザー

tf.train.AdadeltaOptimizerクラス

Adadeltaオプティマイザーで最適化する

5.10 Adamオプティマイザー

Adamオプティマイザーで最適化する

5.11 Saverクラス

tf.train.Saverクラス

ファイルに保存した学習結果を復元する

学習結果の復元

5.12 tf.nn.rnn_cell.LSTMCellクラス

tf.nn.rnn_cell.LSTMCellクラス

RNN(リカレントニューラルネットワーク)

LSTMネットワーク

MNISTの分類問題をRNNで解く

5.13 Kerasライブラリによる自然言語処理

Keras、Janome、「雑談対話コーパス」のダウンロード

対話データの抽出と加工

RNN(LSTM)を構築して発話が破綻しているかを学習する

PR

秀和システム