TensorFlowとKerasで動かしながら学ぶ ディープラーニングの仕組み 畳み込みニューラルネットワーク徹底解説

  • 著作者名:中井悦司
    • 書籍:2,959円
  • B5変:272ページ
  • ISBN:978-4-8399-7027-7
  • 発売日:2019年11月28日
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

ディープラーニングを学ぶなら、「仕組み」も「プログラム」もしっかり解説している本書から!

本書は、ディープラーニングの代表とも言える「畳み込みニューラルネットワーク(CNN)」を例として、その仕組みを根本から理解すること、そして、TensorFlowを用いて実際に動作するコードを動かしながら学べる書籍です。

ディープラーニングについて解説する書籍は多数発行されていますが、本書では、「きちんとニューラルネットワークの原理から理解すること」と、「その原理をどのようにコードとして書くか」の両方がバランスよく学べます。

表面的にコードを覚えるだけでは、応用力は身に付きません。本書で根本から理解しておくことで、現場に出てからも長く使える基礎力を身に付けましょう!


※本書では、プログラムの実行環境としてGoogle Colaboratoryを利用するため、面倒な環境構築は不要です。

※本書は、2016/9発行の『TensorFlowで学ぶディープラーニング入門』をもとに、Python3系、TensorFlow 2.0ベースに書き換えたほか、全体的に解説を見直し、修正しています。そのほか、実行環境をGoogle Colaboratoryに変更、オートエンコーダーによるアノマリー検知やDCGAN による画像生成などのトピックを追加しています。



(以下、本書の「はじめに」より抜粋・編集)


本書は、機械学習やデータ分析を専門とはしない、一般の方を対象とした書籍です。――と言っても、ディープラーニングの歴史や人工知能の将来展望を語る啓蒙書ではありません。ディープラーニングの代表とも言える「畳み込みニューラルネットワーク」を例として、その仕組みを根本から理解すること、そして、TensorFlowを用いて実際に動作するコードを作成することが本書の目標です。

本書は、「TensorFlowで学ぶディープラーニング」(2016/9発行)をもとにした改訂版です。サンプルコードはTensorFlow 2.0対応のKerasで書き直しています。Kerasを用いることでコードの内容はシンプルになりました。さらに、GoogleColaboratoryを用いることで難しい実行環境のセットアップも不要になりました。

さらにまた、改訂にあたり、学習後のモデルを解釈する手法、オートエンコーダによるアノマリー検知、そして、画像生成に用いられるDCGANなど、より高度な話題も内容に含めました。

本書のゴールは、コードの背後に隠された、ニューラルネートワークを構成するさまざまなパーツの動作原理を知り、ディープラーニングの本質を理解することです。

本書では、手書き文字の認識処理を行う「畳み込みニューラルネットワーク」を例として、これを構成する1つひとつのパーツの役割を丁寧に解説しています。また、Kerasを用いることで、数式を意識することなく、ニューラルネットワークを構成するコードが書けるようになりましたが、やはり、数学的な理解も欠かすことはできません。2次元平面のデータを用いた簡単な例を通して、それぞれのパーツの背後にある「数学的な仕組み」も丁寧に解説しています。

最近では、オープンソースのTensorFlow/Kerasを利用する研究者が増えることで、最先端の研究成果とも言える、さまざまなディープラーニングのモデルが実行可能なコードとして公開されるようになりました。しかしながら、コードの中身がよくわからず、自分なりの応用をしようにもどこから手をつけていいのかわからないということも多いかもしれません。そのような方は、まずは、本書を通して、Kerasを用いたコードの書き方とニューラルネットワークの動作原理を理解してください。ディープラーニングの奥深さ、そして、その面白さを味わうことは、決して専門家だけの特権ではありません。本書によって、知的探究心にあふれる皆さんが、ディープラーニングの世界へと足を踏み入れるきっかけを提供できたとすれば、筆者にとってこの上ない喜びです。

商品を選択する

フォーマット 価格 備考
書籍 2,959

電子書籍フォーマットについて

  

備考

中井 悦司 (なかい えつじ)
1971年4月大阪生まれ。ノーベル物理学賞を本気で夢見て、理論物理学の研究に没頭する学生時代、大学受験教育に情熱を傾ける予備校講師の頃、そして、華麗なる(?)転身を果たして、外資系ベンダーでLinuxエンジニアを生業にするに至るまで、妙な縁が続いて、常にUnix/Linuxサーバーと人生を共にする。その後、Linuxディストリビューターのエバンジェリストを経て、現在は、米系IT企業のSolutions Architectとして活動。

最近は、機械学習をはじめとするデータ活用技術の基礎を世に広めるために、講演活動のほか、雑誌記事や書籍の執筆にも注力。主な著書は、『[改訂新版]プロのためのLinuxシステム構築・運用技術』『Docker実践入門』『ITエンジニアのための機械学習理論入門』(いずれも技術評論社)、『技術者のための基礎解析学』『技術者のための線形代数学』『技術者のための確率統計学』(いずれも翔泳社)など。

目次

Chapter 01 TensorFlow/Keras入門 
第1章のはじめに 
1-1 最小二乗法で学ぶ機械学習の基礎 
 1.1.1 機械学習の考え方 
 1.1.2 勾配降下法によるパラメーターの最適化 
1-2 TensorFlowとKerasの使い方 
 1.2.1 実行環境の準備 
 1.2.2 Low-level APIによる実装例 
 1.2.3 Kerasによる実装例 
1-3 ニューラルネットワークの役割 
 1.3.1 分類問題とニューラルネットワーク 
 1.3.2 ディープラーニングの特徴 

Chapter 02 分類アルゴリズムの基礎 
第2章のはじめに 
2-1 ロジスティック回帰による二項分類器 
 2.1.1 確率を用いた誤差の評価 
 2.1.2 Kerasによるロジスティック回帰の実装 
 2.1.3 テストセットを用いた検証 
2-2 ソフトマックス関数と多項分類器 
 2.2.1 線形多項分類器の仕組み 
 2.2.2 ソフトマックス関数による確率への変換 
2-3 線形多項分類器による手書き文字の分類 
 2.3.1 MNIST データセットの利用方法 
 2.3.2 画像データの分類アルゴリズム 
 2.3.3 Kerasによる線形多項分類器の実装 
 2.3.4 ミニバッチと確率的勾配降下法 

Chapter 03 ニューラルネットワークを用いた分類処理 
第3章のはじめに 
3-1 単層ニューラルネットワークの構造 
 3.1.1 単層ニューラルネットワークによる二項分類器 
 3.1.2 隠れ層が果たす役割 
 3.1.3 ノード数の違いによる効果 
3-2 単層ニューラルネットワークによる手書き文字の分類 
 3.2.1 単層ニューラルネットワークを用いた多項分類器 
 3.2.2 TensorBoardによるトレーニングログの確認 
3-3 多層ニューラルネットワークへの拡張 
 3.3.1 多層ニューラルネットワークの効果 
 3.3.2 特徴変数に基づいた分類ロジック 
 3.3.3 補足:パラメーターが極小値に収束する例 

Chapter 04 畳み込みフィルターによる画像の特徴抽出 
第4章のはじめに 
4-1 畳み込みフィルターの機能 
 4.1.1 畳み込みフィルターの例 
 4.1.2 Kerasによる畳み込みフィルターの適用 
 4.1.3 プーリング層による画像の縮小 
4-2 畳み込みフィルターを用いた画像の分類 
 4.2.1 特徴変数による画像の分類 
 4.2.2 畳み込みフィルターの動的な学習 
4-3 畳み込みフィルターを用いた手書き文字の分類 
 4.3.1 単層CNNによる手書き文字の分類 
 4.3.2 動的に学習されたフィルターの確認 

Chapter 05 畳み込みフィルターの多層化による性能向上 
第5章のはじめに 
5-1 畳み込みニューラルネットワークの完成 
 5.1.1 多層型の畳み込みフィルターによる特徴抽出 
 5.1.2 Kerasによる多層CNNの実装 
 5.1.3 手書き文字の認識アプリケーション 
5-2 学習済みフィルターの解釈 
 5.2.1 フィルターの出力を最大化する画像の構成 
 5.2.2 予測への影響が大きい領域の検出 
5-3 少し高度な話題 
 5.3.1 CIFAR-10(カラー写真画像)の分類に向けた拡張 
 5.3.2 オートエンコーダによるアノマリー検知 
 5.3.3 DCGAN による画像生成モデル 

Appendix
A 「A Neural Network Playground」による直感的理解 
B バックプロパゲーションによる勾配ベクトルの計算 
C 数学公式 

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?