【2023最新】「tensorflow」のおすすめ本80選!人気ランキング
- scikit-learn、Keras、TensorFlowによる実践機械学習 第2版
- TensorFlow2 TensorFlow & Keras対応 プログラミング実装ハンドブック
- 詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~ (Compass Booksシリーズ)
- ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 初めてのTensorFlow 数式なしのディープラーニング
- TensorFlowとKerasで動かしながら学ぶ ディープラーニングの仕組み ~畳み込みニューラルネットワーク徹底解説~ (Compass Booksシリーズ)
- 深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版
- 人工知能のアーキテクトたち ―AIを築き上げた人々が語るその真実
- ディープラーニング活用の教科書
- 詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~
TensorFlowは、Google社が公開しているPython向け機械学習用ライブラリです。本書はPythonの基礎を学習した方に向けて、JupyterNotebookを使ったTensorFlowの活用法を解説する入門書です。シンプルな二値分類から画像認識、自然言語処理における時系列データの分析までを理論をまじえて体系的に解説します。 TensorFlowがバージョン2.0となったことにともない、Kerasがライブラリとして取り込まれ、計算グラフのコーディングが不要となるなど、大幅な改善がされています。 それに伴い、以前のバージョンで作成したソースコードが動作しなくなっています。そこで「TensorFlow&Kerasプログラミング実装ハンドブック」の内容を一新してバージョン2に完全対応しました。 第1章 機械学習ライブラリTensorFlow 第2章 開発環境の容易とPythonの基礎 第3章 TensorFlowの基本 第4章 例題で学ぶTensorFlowの基本 第5章 TensorFlowによるディープラーニング
ディープラーニング実装入門書の決定版! ニューラルネットワークの理論とディープラーニングの実装について丁寧に解説。実装には、Python(3.x)とディープラーニング向けライブラリKeras(2.x)、TensorFlow(2.x)、PyTorch(1.x)を用います。 本書では、自然言語処理をはじめとした時系列データ処理のためのディープラーニング・アルゴリズムに焦点を当てているのも大きな特徴の1つです。本書の[第1版](2017年)以降に次々と登場している新しい手法やモデルを丁寧に説明、記事も大幅にボリュームアップしました。 [本書の構成] 1章 数学の準備:ニューラルネットワークのアルゴリズムを理解するための数学の知識、偏微分と線形代数の基本を学びます。アルゴリズムが複雑になってもこの2つを押さえておけばきちんと理解できます。 2章 Pythonの準備:ディープラーニングのアルゴリズムを実装するため、Python環境の構築およびPythonの基本から代表的なライブラリの使い方までを解説します。 3章 ニューラルネットワーク:ニューラルネットワークとは何か、どういった手法かを解説します。単純パーセプトロン、ロジスティック回帰、多クラスロジスティック回帰、多層パーセプトロンを扱います。 4章 ディープニューラルネットワーク:ディープラーニングはニューラルネットワークのモデルの発展形です。ニューラルネットワークから「ディープ」ニューラルネットワークになるうえで発生する課題とそれを解決するテクニックについて解説します。 5章 リカレントニューラルネットワーク:ニューラルネットワークに「時間」という概念を取り込むとどのようなモデルになるのか。通常のディープラーニングのモデルではうまく扱うことができない時系列データの扱いに特化したモデルであるリカレントニューラルネットワーク(RNN)とその手法LSTM、GRUについて取り上げます。 6章 リカレントニューラルネットワークの応用:時系列データの扱いに関しては、自然言語処理で新しいモデルが考えられてきました。本章では、Encoder-Decoder、Attention、Transformerについて学んでいきます。 付録 ライブラリ内部の処理を理解するためのグラフの知識と、Pythonのデコレータ @tf.function の実装例、Keras、TensorFlow、PyTorchによるモデルの保存・読み込みについて解説します。 はじめに 1章 数学の準備 1.1 偏微分 1.2 線形代数 1.3 まとめ 1章の参考文献 2章 Python の準備 2.1 Python 2とPython 3 2.2 Anaconda ディストリビューション 2.3 Python の基本 2.4 NumPy 2.5 ディープラーニング向けライブラリ 2.6 まとめ 3章 ニューラルネットワーク 3.1 ニューラルネットワークとは 3.2 回路としてのニューラルネットワーク 3.3 単純パーセプトロン 3.4 ロジスティック回帰 3.5 多クラスロジスティック回帰 3.6 多層パーセプトロン 3.7 モデルの評価 3.8 まとめ 4章 ディープニューラルネットワーク 4.1 ディープラーニング向けライブラリの導入(Keras/TensorFlow/PyTorch) 4.2 ディープラーニングへの準備 4.3 活性化関数の工夫 4.4 ドロップアウトの導入 4.5 学習の効率化に向けて 4.6 学習率の設定 4.7 重みの初期値の設定 4.8 バッチ正規化 4.9 まとめ 4章の参考文献 5章 リカレントニューラルネットワーク 5.1 基本のアプローチ 5.2 LSTM 5.3 GRU 5.4 双方向リカレントニューラルネットワーク 5.5 埋め込み層における計算 5.6 まとめ 5章の参考文献 6章 リカレントニューラルネットワークの応用 6.1 Encoder-Decoder 6.2 Attention 6.3 Transformer 6.4 まとめ 6章の参考文献 付録 A.1 計算グラフ A.2 @tf.function A.3 モデルの保存と読み込み(Keras、TensorFlow、PyTorch) 索引
◆◆ PythonとTFLearnで無理なく体験学習 ◆◆ 本書は「これからディープラーニングを学びたい」と考えているIT エンジニアの方々を対象にしています。 そして、ディープラーニングの手法を理解し、自分で実装できるようになることを目指します。 ディープラーニングを初めて学ぶITエンジニアは、2つの障壁を越えねばなりません。 一つは「ディープラーニングの手法」、特に、理論を説明する数式が難解なこと。 もう一つは「どうやって使うのか、実装方法が分からない」ことです。 ■数式なしで理論を理解 そこで本書は、是非知っておきたい3つの手法、即ち、①全結合のニューラルネットワーク、 ②畳み込みニューラルネットワーク(CNN)、③再帰型ニューラルネットワーク(RNN)のみに話題を集中。 IT エンジニアなら抵抗感なく読めるように、数式を一切使わず、気鋭のデータサイエンティストが 丁寧に理論を解説します。 ■簡単に実装できるライブラリを使用 実装については、Google社のディープラーニング・フレームワークTesorFlowに注目。 TesorFlowと完全互換性があり、かつ、TesorFlowよりも初心者に適したTFLearnライブラリを使うことで、 Python 3による実装を体験します。 実装環境の構築方法も一から説明し、サンプルコードには逐次解説を加えました。 ■理論と実装の反復で理解を深める 第1章では、機械学習とディープラーニングの概要、実装ライブラリについて説明します。 第2章では、TFLearnを使った実装環境を構築し、ツールの使い方を学びます。 第3章では、全結合のニューラルネットワークの仕組みを理解した後、 手書き文字画像のMNISTデータセットを使って、画像の分類問題を解いてみます。 第4章ではCNNを解説した後、再度、MNISTデータを分類。また、JPEG等の一般的な画像の分類も行います。 第5章では、時系列データに適したRNNの仕組みを理解した後、対話テキストの分類に挑戦。 ここでもMNISTの分類を行ってみます。 本書に沿って体験学習を進めれば、ディープラーニングの手法を無理なく理解でき、 手を動かして実装できるようになるでしょう。 1 初めてのディープラーニング 1.1 機械学習とディープラーニング 1.2 ディープラーニングのライブラリ 2 ディープラーニングの実装準備 2.1 ディープラーニングの環境構築 2.2 Jupyter Notebookの使い方 2.3 Pythonプログラミングの基礎 3 ディープニューラルネットワーク体験 3.1 ニューラルネットワークの仕組み 3.2 ディープラーニングの仕組み 3.3 ディープラーニングの実装手順 3.4 手書き文字画像MNISTの分類 4 畳み込みニューラルネットワークの体験 4.1 畳み込みニューラルネットワークの仕組み 4.2 手書き文字画像MNISTの分類 4.3 一般的な画像の分類 5 再帰型ニューラル ネットワークの体験 5.1 再帰型ニューラルネットワークの仕組み 5.2 対話テキストの分類 5.3 手書き文字画像MNISTの分類 Appendix 付録 A.1 TensorBoardの使い方 A.2 ディープラーニングの環境構築(Windows編) A.3 Ubuntu仮想イメージのインポート方法 参考文献
ディープラーニングを学ぶなら、「仕組み」も「プログラム」もしっかり解説している本書から! ディープラーニングの代表とも言える「畳み込みニューラルネットワーク(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次元平面のデータを用いた簡単な例を通して、それぞれのパーツの背後にある「数学的な仕組み」も丁寧に解説しています。 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 数学公式
ヨシュア・ベンジオ スチュアート・J・ラッセル ジェフリー・ヒントン ニック・ボストロム ヤン・ルカン フェイフェイ・リー デミス・ハサビス アンドリュー・エン ラナ・エル・カリウビ レイ・カーツワイル ダニエラ・ルス ジェイムズ・マニカ ゲアリー・マーカス バーバラ・J・グロース ジュディア・パール ジェフリー・ディーン ダフニー・コラー デイヴィッド・フェルッチ ロドニー・ブルックス シンシア・ブリジール ジョシュア・テネンバウム オーレン・エツィオーニ ブライアン・ジョンソン
本書はディープラーニング、ニューラルネットワークについての予備知識がなくても学習を進められるようゼロから丁寧に、理論とその実装について解説します。 実装にはPythonのディープラーニング向けのライブラリ、TensorFlow (1.0) およびKeras (2.0) を用います。 「ディープラーニングについて何となくわかってはいるけれど、もう少し理解を深めたい」「画像認識だけでなく、時系列データを分析するためのモデルについても学びたい」という方にとって、学びの役に立つのではないかと思います。 単純パーセプトロンにはじまり、多層パーセプトロン、ディープニューラルネットワーク、リカレントニューラルネットワークなど多くの手法について学びます。扱うデータの種類ごとに考えるべき課題も異なり、それに合わせてネットワークも様々な形に変化させ学習を進めます。 ディープラーニングは1つひとつのテクニックの積み重ねであり、その根底にあるのは「人間の脳をどう数式やアルゴリズムで表現できるか」です。本書で学んできた土台となる理論さえきちんと理解していれば、今後どのようなディープラーニングの手法が出てこようとも、すぐに理解し使いこなせるようになるでしょう。そして、自身で新たなモデルを考え出すこともできるはずです。 [本書の構成] 1章では、ニューラルネットワークの理論を学習するうえで必要となる数学の知識について簡単におさらいし、続く2章では、実装に向けてのPython開発環境のセットアップ、およびPythonライブラリの簡単な使い方を扱います。 3章からは、いよいよニューラルネットワークの学習に入っていきます。3章ではその基本形について学び、4章ではディープニューラルネットワーク、いわゆるディープラーニングについて学びます。通常のニューラルネットワークと何が違うのか、どのようなテクニックが用いられているのかを実装を交えて理解します。 5、6章では、時系列データを扱うためのモデルであるリカレントニューラルネットワークについて詳しく学んでいきます。5章では、リカレントニューラルネットワークの基本形を簡単なデータ例を用いて理論・実装について学び、6章ではその応用例について扱います。
本書は日本ディープラーニング協会が実施する「ディープラーニングG検定」の法律・倫理分野に対象を絞ったテキストです。演習問題にはディープラーニングG検定の過去問題を収録しています。 AI関連の開発をする際に、そしてビジネスでAI活用する上で、どうしても最低限知っておかねばならない法律や倫理項目があります。しかし、AIに関する法律や倫理を学べる書籍は難解な法律家向けの書籍以外はほぼありません。 本書は、AIに関する法律・倫理の重要事項を、基礎から平易に解説しています。 ディープラーニングG検定の試験対策だけではなく、AI開発者やAIを活用してビジネスを行っている方、DX推進をされている方などにも幅広く活用していただけます。 第1章 導入 1-1 全体像と導入 第2章 AIに関する法律と契約 2-1 AIと法律の全体像-1 総論 2-2 AIと法律の全体像-2 知的財産権 2-3 著作権法-1 AIと著作権法の全体像 2-4 著作権法-2 著作権の基本 2-5 著作権法-3 AIのモデルと著作権 2-6 著作権法-4 著作物とAIの学習 2-7 著作権法-5 AI生成物と著作権 2-8 特許法-1 特許法 2-9 特許法-2 特許要件 2-10 特許法-3 発明者・職務発明 2-11 データ利活用 2-12 不正競争防止法-1 営業秘密 2-13 不正競争防止法-2 限定提供データ 2-14 不正競争防止法-3 不正競争行為 2-15 個人情報保護法-1 個人情報保護法の全体像 2-16 個人情報保護法-2 個人情報、個人データ、保有個人データとは何か 2-17 個人情報保護法-3 個人情報、個人データ、保有個人データの規制 2-18 個人情報保護法-4 その他の情報カテゴリ (要配慮個人情報、仮名加工情報、匿名加工情報、個人関連情報) 2-19 個人情報保護法-5 医療情報・カメラ画像 2-20 個人情報保護法-6 海外の個人情報保護制度 2-21 独占禁止法 2-22 契約-1 開発契約① 2-23 契約-2 開発契約② 2-24 契約-3 秘密保持契約 2-25 契約-4 AIサービス提供契約 第3章 AI倫理とAIガバナンス 3-1 AI倫理とAIガバナンスの概要 3-2 国内外の諸ルール 3-3 プライバシー 3-4 公平性 3-5 安全性とセキュリティ 3-6 悪用 3-7 透明性 3-8 民主主義 3-9 環境保護 3-10 仕事 3-11 その他の価値 3-12 AIガバナンス
サンプルコードを動かしながらTensorFlowとScikit-Learnで機械学習を学ぶ! サンプルコードを動かしながらTensorFlowとScikit-Learnで機械学習を学ぶ! 機械学習、特にニューラルネットワークの概要を解説し、単純な線形回帰から始まり、深いニューラルネットワークに移行する一連のテクニックを学びます。機械学習/深層学習に必要なサポートベクターマシン、デシジョンツリー、ランダムフォレスト、アンサンブルメソッドなど順を追って解説します。解説だけでなく、各章で練習問題を用意しており、またGithubにjupyter notebookで試せるコードが掲載しているため、試しながら学べる構成になっています。
さまざまな業界で導入が進められているAIについて、どのような分野で活用されているのかが鳥瞰図で一目でわかる AIの導入事例が一目でわかる! 金融、流通、製造、インフラなど全8業界36業種のAIの導入について、どのような分野で活用されているのか、 どのような事項との親和性が高いかといったことについて鳥瞰図で解説。豊富な実例も掲載しており、ビジネスのアイデア創出にも応用できます。 また、「こんな応用可能性があります」にとどめず、実際に実装したりトライアルをするときのノウハウも掲載しています。 本書掲載の鳥瞰図はご購入者特典としてDLして活用できます。 【本書に掲載されている業種】 〈流通〉 コンビニ・スーパーマーケット 百貨店業 郵便・運送業 〈製造〉 自動車製造業 食品・飲料製造業 化粧品・日用品製造業 金属製造業・化学工業 重工業 建設業 繊維工業(アパレル) 電機製造業 〈金融〉 銀行業 保険業 証券業 〈サービス〉 ホテル業 旅行代理業 外食業 テーマパーク 放送局 〈インフラ〉 通信業 鉄道業 航空業 空港 道路・交通インフラ管理業 エネルギー業(ガス・電気) 石油および天然ガス生産・販売業 〈公共〉 学校・学習塾 警察・警備 消防・防災 〈ヘルスケア〉 病院 介護サービス業 製薬業 〈その他〉 農業 水産業 スタジアム・(プロ/アマ)スポーツ ゲーム業 Chapter 1 流通 コンビニ・スーパーマーケット 百貨店業 郵便・運送業 詳細解説:商品需要予測に基づく在庫管理 Chapter 2 製造 自動車製造業 食品・飲料製造業 化粧品・日用品製造業 金属製造業・化学工業 重工業 建設業 繊維工業(アパレル) 電機製造業 詳細解説:査定自動化・見積り自動化 Chapter 3 金融 銀行業 保険業 証券業 詳細解説:不正検知 Chapter 4 サービス ホテル業 旅行代理業 外食業 テーマパーク 放送局 詳細解説:キャンペーン企画・価格設定 Chapter 5 インフラ 通信業 鉄道業 航空業 空港 道路・交通インフラ管理業 エネルギー業(ガス・電気) 石油および天然ガス生産・販売業 詳細解説:劣化予測・メンテナンス計画作成 Chapter 6 公共 学校・学習塾 警察・警備 消防・防災 詳細解説:画像データによる異常検知・品質評価 Chapter 7 ヘルスケア 病院 介護サービス業 製薬業 詳細解説:センサーデータによる異常検知 Chapter 8 その他 農業 水産業 スタジアム・(プロ/アマ)スポーツ ゲーム業 詳細解説:見込み顧客分析・離反分析
ディープ・ラーニングの基礎知識と具体的なプログラミング方法,ラズベリー・パイで動かす方法について解説します. 本書では,ディープ・ラーニング技術の基礎知識と,それをどのように「動くプログラム」に落とし込むのかについて,ステップ・バイ・ステップで解説しています.また,ラズベリー・パイなる小型コンピュータ・ボードで動かす方法についても解説しています. 2018年発刊の同タイトル(ボード・コンピュータ・シリーズ)ではフレームワークにChainer を使っていました.今回はTensorFlowに対応しました.内容は同一です. ☆目次 ◎プログラミングができなくても大丈夫! ●はじめに 自宅で1人で試して合点 ◎全プログラム付きですぐに ●本書の歩き方 ☆第1部 ディープ・ラーニングの世界へようこそ ◎個人でもスゴいことがアイディア次第! ●第1章 できるようになること ◎画像/データ分析/音声…得意分野丸見え! ●第2章 必修の3大アルゴリズム ◎ディープ・ラーニングの長所 ●第3章 音声や画像処理の知識がなくても大丈夫 ☆第2部 ラズパイ&PC試すための準備 ◎Googleが作っているフレームワーク ●第1章 開発環境にTensorFlowを選んだ理由 ◎ディープ・ラーニングのフレームワーク ●第2章 TensorFlowのインストール ◎お手軽Python環境 ●第3章 Anacondaのインストール ◎サンプル・プログラムを使った ●第4章 TensorFlowの動作確認 ◎OS,TensorFlow,TS-Agentsのインストール ●第5章 ラズベリー・パイの準備 なくても動くけど学習はどうしても時間がかかるから… ●第6章 GPUボードの設定WindowsOS編 ●Appendix 番外編…LinuxOSのPCを作る ☆第3部 持ってる人はココから…ラズパイで体験 ◎エンジン音で車種判定やMyロボの異常検知などに ●第1章 体験①…音でお菓子認識 ◎画像処理を知らなくてもOK! きのことたけのこを判別してみる ●第2章 体験②…画像認識1(お菓子の種類 ◎ペットの判定や果物の出荷検査に ●第3章 体験③…画像認識2(本物/偽物) ◎第6部で解説する自動運転や対戦AIのもとをまずは ●第4章 体験④…迷路脱出 ◎スマート・スピーカや自動操縦に ●第5章 体験⑤…話者認識 ☆第4部 算数&プログラミング練習ステップ・バイ・ステップ ◎人間の脳に近い?! ニューラル・ネットワークをAND回路から ●第1章 イメージでつかむ!ディープ・ラーニング ◎基本原理を理解する! ●第2章 算数で解きほぐすニューラル・ネットワーク ◎TensorFlowの使い方も覚えてしまおう ●第3章 プログラミング・ステップ1…最小構成ニューラル・ネットワーク ◎いろいろなパターンを試して腕みがき ●第4章 プログラミング・ステップ2…層数や入出力を増やす ◎ここまで来るといろいろできそう ●第5章 プログラミング・ステップ3…突入!ディープ・ラーニング・ワールド ◎3大ディープ・ラーニングのさわりを体感してみる ●第6章 プログラミング・ステップ4…初めての畳み込みニューラル・ネットワーク ☆第5部 画像/データ解析/音声…3大アルゴリズム体感 ◎定番データセットの文字認識で体験 ●第1章 画像向きCNN①…手書き認識 ◎画像の収集や学習を体験 ●第2章 画像向きCNN②…感情認識 ◎「予測が得意」なアルゴリズムを体験 ●第3章 データ分析向きRNN①…値の未来予測 ◎人間のアシスタントとして一大分野に発展するかも ●第4章 データ分析向きRNN②…文章の自動生成 ◎学習データが不要の便利なアルゴリズムを体験 ●第5章 音声/画像生成向きオートエンコーダ①…ノイズ・フィルタ ◎単純作業を劇的に減らせる可能性がある「変分オートエンコーダ」 ●第6章 音声/画像生成向きオートエンコーダ②…筆跡生成 ☆第6部 自動運転や対戦AIのもと深層強化学習 ●プロローグ 深層強化学習をマスタした方がよい理由 ◎未来への1歩 ●第1章 ステップ1…基となるQラーニングの仕組み ◎シンプルな迷路を例に ●第2章 ステップ2…数式でひも解くQラーニング ◎「なんとなくわかってきた」からのステップアップ ●第3章 ステップ3…プログラミングで理解するQラーニング ◎Qラーニングを理解したらいよいよ ●第4章 ステップ4…プログラミングで理解する深層強化学習 ◎ついに人間と対決! ●第5章 深層強化学習総仕上げ…成長して強くなるAIづくり
デジタルカメラの顔認識などを可能にする画像認識。その精度は機械学習の利用で格段に向上した。基礎から機械学習による応用まで解説 デジタルカメラの顔認識機能など、身近で利用されている画像認識の技術。機械学習の応用により、その精度は格段に向上した。最前線で活躍する研究者が、基礎から深層学習を取り入れた応用的手法までをくわしく解説する。画像認識の現状と今後の展望を知るのに最適な一冊! ■おもな内容 第1章 画像認識の概要 第2章 局所特徴 第3章 統計的特徴抽出 第4章 コーディングとプーリング 第5章 分類 第6章 畳み込みニューラルネットワーク 第7章 物体検出 第8章 インスタンス認識と画像検索 第9章 さらなる話題(セマンティックセグメンテーション/画像からのキャプション生成/画像生成と敵対的生成ネットワーク) ■機械学習プロフェッショナルシリーズ 本シリーズでは、発展著しい機械学習技術の数学的な基礎理論、実用的なアルゴリズム、それらの活用法を、全29巻にわたって刊行する。 ビッグデータ時代を牽引している若手・中堅の現役研究者が、入門的な内容から最先端の研究成果までをわかりやすく解説。 これからデータサイエンス分野で研究を始めようとしている大学生・大学院生、および、機械学習技術を基礎科学や産業に応用しようとしている研究者・技術者に向けた注目のシリーズである。 第7期として、以下の3点を刊行! 統計的因果探索 清水 昌平・著 画像認識 原田 達也・著 深層学習による自然言語処理 坪井 祐太/海野 裕也/鈴木 潤・著 ■シリーズ編者 杉山 将 理化学研究所 革新知能統合研究センター センター長/東京大学大学院新領域創成科学研究科 教授 第1章 画像認識の概要 画像認識とは/画像認識の分類/クラス認識の手順/深い構造と浅い構造/物体検出/インスタンス認識/画像認識の認識性能を向上させるための原則/数学表記について 第2章 局所特徴 局所特徴とは/検出器/空間フィルタリング/基本的な検出器/ 回転やアフィン変換に頑健な検出器/記述子/検出器と記述子の組み合わせ 第3章 統計的特徴抽出 統計的特徴抽出とは/主成分分析/白色化/フィッシャー線形判別分析/正準相関分析/偏最小2乗法 第4章 コーディングとプーリング コーディングとプーリングの概要/確率分布を利用したコーディング/局所特徴のコードワードによる再構築/多様体学習/特徴写像の線形内積によるカーネル関数近似/空間情報の活用 第5章 分類 分類とは/ベイズ決定則/識別関数/一般的な教師付き学習の枠組み/最適化/線形識別関数/確率的識別関数/局所学習/集団学習/分類結果の評価 第6章 畳み込みニューラルネットワーク 画像認識における深層学習/フィードフォワードニューラルネットワーク/畳み込みニューラルネットワーク/実装上の工夫/パラメータの最適化/畳み込みニューラルネットワークの例 第7章 物体検出 物体検出とは/物体領域候補の提案/線形分類器を用いた物体検出/集団学習を用いた物体検出/非最大値の抑制/畳み込みニューラルネットワークを利用した物体検出/物体検出の評価 第8章 インスタンス認識と画像検索 インスタンス認識/画像検索/画像検索の評価 第9章 さらなる話題 セマンティックセグメンテーション/画像からのキャプション生成/画像生成と敵対的生成ネットワーク
これからAIを学ぶ人に向けた入門書。ビジネスへの活用法から最新技術までをカバーした、「最初に手にすべきAI本」 本書は、これから人工知能(AI)を学びたいと考える人に向けたAIの入門書です。エンジニアではない人、すなわち中高生や文系学部の大学生、文系出身のビジネスパーソンや経営者などでも理解できるように、分かりやすくAIの本質や基礎知識を解説しました。AIのビジネスへの活用法からAIの最新技術までをカバーした、「最初に手にすべきAI本」です。 著者は、日本経済新聞社や日経BPのセミナーでAIやIoTの講座を教える人気講師。フジテレビの「ホンマでっか!?TV」に評論家として出演もしています。語り口が初心者にも分かりやすいと定評のある著者が、必要最低限のポイントに絞り、できる限り専門用語を使わないように配慮しながら書き上げました。 初心者でも人工知能の本質を短時間で理解できるようにするために、それぞれの状況や理解度に応じて学習できるように3部に分けて構成しています。 第1部(第1章)は「基礎編」です。ここでは、今後、人工知能が中心となる社会で生きていくために必要最低限の知識についてまとめました。人工知能は何が得意で、何が不得意なのか、そして社会をどう変えていくのかについて解説しています。 第2部(第2~4章)は「ビジネス編」です。ここでは、ビジネスに人工知能を活用するに当たり、各業界の活用事例や今後どのような使われ方をするのかについて書いています。 また、人工知能を活用する際の注意事項を中心に、プロジェクト推進方法や国などの支援状況についても解説しています。 第3部は「技術編」です。ここでは、人工知能の仕組みについて解説しています。今後、データサイエンスや人工知能に関する知識は、エンジニアや人工知能のプロジェクトに関わる人にとっては必須の知識です。 本書を読めば、AIに関する一般向けの本にありがちな曖昧すぎてよく分からない、なぜそこにAIを使う必要があるのか理解できないといった疑問を解消できると思います。 第1章【基礎編】人工知能(AI)の世界 第2章【ビジネス編】産業別に見た人工知能事例と未来予想図 第3章【ビジネス編】人工知能活用に関する国の施策 第4章【ビジネス編】人工知能プロジェクトの進め方と注意点 第5章【技術編】機械学習 ~これまでの人工知能と歴史~ 第6章【技術編】ディープラーニング ~現在の人工知能~ 第7章【技術編】人工知能開発と運用管理 第8章【技術編】人工知能の最新技術 ~これからの人工知能~ 第9章 人工知能開発に関するいろいろなFAQ
TensorFlowの機能を組み合わせて実践的な深層学習モデルを構築しよう!ニューラルネットワークの基礎、CNNやRNNはもちろん、転移学習を用いたキャプション生成までを1冊に凝縮。データ整形からモデル構築までをステップ・バイ・ステップで解説。 第1章 ニューラルネットワークと深層学習(機械学習 教師あり学習・教師なし学習 ほか) 第2章 TensorFlow入門-計算グラフと手書き数字認識(TensorFlowとは? 計算グラフとDefine and Run ほか) 第3章 TensorFlowをもう少し入門-TensorBoard、CNN、モデルの保存(可視化ツールTensorBoard TensorBoardの見方 ほか) 第4章 TensorFlowでRNN-時系列情報および自然言語の扱い(Recurrent Neural Network TensorFlowにおけるRNN実装 ほか) 第5章 TensorFlowでニューラルイメージキャプショニング(画像キャプショニング 画像キャプショニングのためのデータセット ほか)
本書は金融、特に株式投資について基礎的な知識を持つ読者へ向けて、データ分析や機械学習を始めとした人工知能技術を学ぶことによって運用モデルと呼ばれるものの構築が行なえるような知識を身につけていただくために執筆されています。個人投資家に向けた株式投資入門書の類いは世に溢れていますが、その多くはテクニカル分析、ファンダメンタル分析といったものの解説に留まり、プロの運用者がどのような形で投資判断を行なっているのか解説できているものは見かけません。著者達は本書によってそのギャップが埋まることを願っております。本書にて構築する運用モデルはシンプルで基礎的なものですが最初のステップとしては充分なものですし、より高度な知識を身につけるために次にどのようなものを学んでいけば良いのか適宜提示するように心がけました。このような書籍を執筆しようとすると、プロしか使えないツール類やデータが登場することになり易く、書籍の内容が本当なのか読者には検証不能になりがちです。そのようなことが無いよう、本書では個人投資家でも入手可能なツール類とデータのみを用い、運用モデル構築作業とその結果が全て再現可能であるよう注意して執筆いたしました(データにつきましては個人投資家向けのデータベンダからの有償ダウンロードサービスを利用します)。 (「はじめに」より) ・本書で使用するTensorFlowは原稿執筆時の最新である1.13.1です。 ・データが別途必要となります。本書では個人投資家向けのデータベンダからの有償ダウンロードサービスを利用しています。 第0章 ディープラーニングの歴史~金融業界とデータ分析 第1章 分析環境の準備 第2章 古典的な回帰分析を用いた株価予測 第3章 ニューラルネットワークの基礎理論 第4章 TensorFlowによるニューラルネットワークの構築 第5章 人工知能技術の金融応用の現状と将来
本書を手に取っていただきありがとうございます。本書は、ディープラーニングについて、その基礎となるパーセプトロンやニューラルネットワークの基礎的なことから解説した本です。 本書では、まずTensorFlowによる実装を行い、続いてKeras、TFLearnによる実装を解説の基本として、KerasやTFLearn で簡単にプログラミングしたことが、実際はどうなっているのかをTensorFlowで知ることができるようになっています。本書が、Pythonでディープラーニングを実践するための一助となれば幸いです。 1章 ディープラーニングとは 2章 開発環境のセットアップとPython/TensorFlowの基礎 3章 ディープラーニングの数学的要素 4章 ニューラルネットワークの可動部(勾配ベースの最適化) 5章 ニューラルネットワーク 6章 画像認識のためのディープラーニング 7章 一般物体認識のためのディープラーニング 8章 人間と機械のセマンティックギャップをなくす試み 9章 ジェネレーティブディープラーニング
広がるAI化格差と5年先を見据えた企業戦略 ▼技術から利用動向、制度政策に至るまで、国内と海外の人工知能の最新動向がすべてわかるAI白書の2020年版 DX(デジタルトランスフォーメーション)のための重要な技術であるAIの社会実装が進む一方、そのAI化で格差が広がっています。また、5Gのサービス開始、EU一般データ保護規則、米中間の対立など、AIを取り巻く環境は目まぐるしく変化しています。 第1章では、石角友愛氏(パロアルトインサイトCEO)と中島秀之 AI白書編集委員長(札幌市立大学理事長・学長)の対談、北野宏明 AI白書編集委員(ソニーコンピュータサイエンス研究所代表取締役社長・所長)と片岡 晃 IPA社会基盤センター長の対談を通じて、AIをめぐる日本の課題とビジネス戦略について解説。第2章「技術動向」では、AIに関する技術の概要と最新動向を整理し、第3章「利用動向」では国内外でのAI活用事例を紹介。さらに、AIの社会実装を支える環境として、第4章で「制度政策」、第5章で社会実装に係る課題解決の方向性(AI人材育成及びスタートアップエコシステム)について記載しています。 『AI白書2019』に最新情報を加え、大幅にアップデートしています。AIの基礎的な技術解説から、国内外の多様な導入事例、制度・政策面での取り組み、中国のAI動向データ、企業経営者の意識調査結果まで、AIにまつわる幅広い話題を網羅して収録。AIを実装し、DXを推進するにあたってのひとつの指針として、本書をご活用いただけます。 DX(デジタルトランスフォーメーション)のための重要な技術であるAIの社会実装。そのAI化で格差が広がっている。AIの技術や利用動向、制度政策、スタートアップエコシステムに至るまで、AIのすべてを解説 □第1章「2020年のAIとビジネス」 生産性やDXといった日本の課題、AI時代のビジネス戦略をテーマにした対談、など □第2章「技術動向」 AIを支える技術と最新動向、ディープラーニング、開発基盤、標準化・オープンプラットフォーム・信頼性、各国の研究開発の現状、など □第3章「利用動向」 日本と世界の分野別の利用動向、AI利用動向アンケート調査、AI導入予算・AI市場規模、中国のAI最新動向、など □第4章「制度政策動向」 AIに関する原則・ガイドライン、制度改革(モビリティ、データ流通、知的財産)、各国の政策動向、など □第5章「AI実装を推進するAI人材育成と地域スタートアップエコシステム」 スタートアップエコシステム、AI人材の育成、社会実装の課題と現状、など
Python外部ライブラリである、TensorFlowとKerasの利用方法を理解するためのハンドブックサイズの本です。 Python外部ライブラリである、TensorFlowとKerasの利用方法を理解するためのハンドブックサイズの本です。Python言語を理解した人を読者対象として、外部ライブラリの活用方法を学びつつ、リファレンスとしての利用も可能です。本書を第一弾として、Python外部ライブラリで人気のライブラリを解説するハンドブックサイズの書籍をシリーズで提供いたします。 第1章 機械学習ライブラリTensorFlowとKeras 1.1 ディープラーニング 1.2 TensorFlowで何ができる? 第2章 開発環境の用意とPythonの基礎 2.1 Python/TensorFlowで開発するための環境を用意する 2.2 仮想環境の構築とライブラリのインストール 2.3 Jupyter Notebookの使い方 2.4 演算処理 2.5 Pythonが扱うデータの種類 2.6 リスト 2.7 if文とfor文 2.8 関数 2.9 クラス 2.10 NumPyのベクトル 2.11 パーセプトロンによる二値分類 第3章 TensorFlowの概要 3.1 TensorFlowのインストール 3.2 TensorFlowの使い方のキホン 3.3 データフローグラフを実行するいくつかのパターン 3.4 tf.placeholder(プレースホルダー) 第4章 TensorFlowの基本 4.1 tf.summary.FileWriterクラス 4.2 tf.train.GradientDescentOptimizerクラス 4.3 TensorFlowの数学関数 第5章 例題で学ぶTensorFlowの基本 5.1 tf.sigmoid()で2値分類を解く 5.2 tf.nn.softmax()でマルチクラス分類を解く 5.3 GradientDescentOptimizerでバックプロパゲーションを実装 5.4 tf.nn.relu()でニューロンを活性化する 5.5 tf.nn.conv2d、nn.max_pool、tf.nn.dropoutによるCNNの実装 5.6 Momentumオプティマイザー 5.7 Adagradオプティマイザー 5.8 RMSpropオプティマイザー 5.9 Adadeltaオプティマイザー 5.10 Adamオプティマイザー 5.11 Saverクラス 5.12 tf.nn.rnn_cell.LSTMCellクラス 5.13 Kerasライブラリによる自然言語処理
Pythonのライブラリの1つであるTensorFlowは、ディープラーニングを支える数学的な各種理論を学ぶのに最適なライブラリです。しかし、TensorFlowは学習に必要な計算式を開発者が自ら組み立てねばならないという少し高めのハードルがあります。本書は、TensorFlow2のライブラリを取り上げ、ディープラーニングの基礎理論から2次元フィルター、転移学習、時系列データ、自然言語処理などを楽しく学べる入門書です。 機械学習を学ぶ人や開発に利用してい人が、PythonをとTensorFlowのライブラリを使ってディープラーニングの基礎理論から2次元フィルター、転移学習、時系列データ、自然言語処理などを楽しく学ぶ入門書です。 1章 ディープラーニングとは 1.1 深層学習(ディープラーニング)とは 1.1.1 機械学習の活用例 1.1.2 機械学習とディープラーニングの関係 ■機械学習の主な手法 1.2 ディープラーニングって具体的に何をするの? 1.2.1 ニューラルネットワークのニューロン ■人工ニューロン ■学習するということは重み・バイアスを適切な値に更新すること ■ニューロンの発火をつかさどる「ステップ関数」 ■ニューロンの発火をつかさどる「シグモイド関数」 ■人工ニューロンをネットワーク状に連結する 1.2.2 ディープニューラルネットがディープラーニングを実現する ■畳み込みニューラルネットワーク(CNN) ■リカレントニューラルネットワーク(RNN) ■ドロップアウト、正則化 1.2.3 ディープラーニングのためのライブラリ 1.2.4 ディープラーニングの仕組み 1.2.5 この本で使用するディープラーニング用データセット 2章 開発環境のセットアップとPythonの基礎 2.1 Anacondaの導入 2.1.1 Anacondaのダウンロードとインストール 2.2 仮想環境の構築とライブラリのインストール 2.2.1 専用の仮想環境を構築する 2.2.2 ライブラリのインストール 2.2.3 ライブラリのアップデート 2.3 Jupyter Notebookの使い方 2.3.1 Jupyter Notebookを仮想環境にインストールする 2.3.2 ノートブックを作成する ■ノートブックを保存するためのフォルダーを作成する ■ノートブックの作成 2.3.3 ソースコードを入力して実行する ■Jupyter Notebookのコマンド 2.3.4 ノートブックを閉じて改めて開く ■ノートブックを閉じる ■ノートブックを開く 2.3.5 Jupyter Notebookのメニューを攻略する ■[File]メニュー ■[Edit]メニュー ■[View]メニュー ■[Insert]メニュー ■[Cell]メニュー ■[Kernel]メニュー 2.4 Google Colabを便利に使おう! 2.4.1 Googleドライブ上のColab専用のフォルダーにノートブックを作成する ■ノートブックの作成 2.4.2 セルにコードを入力して実行する 2.4.3 Colabノートブックの機能 ■[ファイル]メニュー ■[編集]メニュー ■[表示]メニュー ■[挿入]メニュー ■[ランタイム]メニュー ■[ツール]メニュー ■GPUを有効にする 2.5 Pythonの演算処理 2.5.1 変数を使って演算する 2.5.2 Pythonが扱うデータの種類 ■ソースコードに説明文を書く COLUMN リストの中に要素製造装置を入れる(内包表記)① 2.6 Pythonのリスト 2.6.1 リストを作る 2.7 if文とfor文 2.7.1 if文 2.7.2 条件式を作るための「比較演算子」 2.7.3 if...elseで処理を分ける 2.7.4 for文 2.8 関数 2.8.1 処理だけを行う関数 2.8.2 引数を受け取る関数 2.8.3 処理結果を返す関数 2.9 クラス 2.9.1 メソッド 2.9.2 オリジナルのクラスを作る ■オブジェクトを作成する(クラスのインスタンス化) 2.9.3 オブジェクトの初期化を行う__init__() 2.9.4 インスタンスごとの情報を保持するインスタンス変数 COLUMN リストの中に要素製造装置を入れる(内包表記)② 3章 ディープラーニングの数学的要素 3.1 ニューラルネットワークのデータ表現:テンソル 3.1.1 NumPyのスカラー(0階テンソル) 3.1.2 NumPyのベクトル(1階テンソル) 3.1.3 NumPyの行列(2階テンソル) 3.1.4 3階テンソルとより高階数のテンソル 3.2 ニューラルネットワークを回す(ベクトルの演算) 3.2.1 ベクトルの算術演算 3.2.2 ベクトルのスカラー演算 3.2.3 ベクトル同士の四則演算 ■ベクトル同士の加算と減算 3.2.4 ベクトルのアダマール積を求める 3.2.5 ベクトルの内積を求める 3.3 ニューラルネットワークを回す(行列の演算) 3.3.1 行列の構造 3.3.2 多次元配列で行列を表現する 3.3.3 行列のスカラー演算 3.3.4 行列の定数倍 3.3.5 行列の成分にアクセスする 3.3.6 行列の成分同士の加算・減算をする 3.3.7 行列のアダマール積 3.3.8 行列の内積を求める ■行列同士の内積を求めてみる 3.3.9 行と列を入れ替えて「転置行列」を作る 3.4 微分 3.4.1 極限(lim) 3.4.2 微分の基礎 3.4.3 微分をPythonで実装してみる ■数値微分で関数を微分してみる ■プログラムの実行結果 3.4.4 微分の公式 3.4.5 変数が2つ以上の場合の微分(偏微分) 3.4.6 合成関数の微分 ■合成関数のチェーンルールの拡張 ■積の微分法 4章 ニューラルネットワークの可動部(勾配ベースの最適化) 4.1 ロジスティック回帰を実装した単純パーセプトロンで二値分類を行う 4.1.1 活性化関数による「発火」の仕組み 4.1.2 シグモイド関数 ■シグモイド関数(ロジスティック関数) ■シグモイド関数の実装 4.1.3 シグモイド関数を活性化関数にしてパラメーターを最適化する ■最尤推定法と尤度関数 ■対数尤度関数を微分しやすいように、両端に対数をとる ■対数尤度関数を変形してクロスエントロピー誤差関数にする ■対数尤度関数の微分 COLUMN シグモイド関数の微分 ■パラメーターの更新式の導出 4.1.4 勾配降下法の考え方 ■学習率の設定 ■勾配降下法の更新式 4.1.5 単純パーセプトロンで論理ゲートを実現する ■Pythonの標準仕様でAND、NAND、ORゲートを実装する 4.2 XORゲートを多層パーセプトロンで実現する 4.2.1 多層パーセプトロンによるXORゲートの実現 ■XORゲートの実現には、線形分離不可能な二値分類が必要 ■多層パーセプトロンの構造 4.2.2 TensorFlowスタイルによるXORゲートの実装 ■隠れ層(第1層)の作成 ■バイアス、重みの初期化方法 ■出力層(第2層)の作成(データフローグラフ) ■順伝播処理を行うcall()メソッド ■BinaryCrossentropyオブジェクトとSGDオブジェクトの生成 ■バックプロパゲーションを実施するtrain_step()関数の定義 ■学習を行う 4.2.3 KerasスタイルによるXORゲートの実装 ■モデルの作成 ■モデルの学習 ■学習結果の確認 4.2.4 PyTorchによるXORゲートの実装 ■モデルの定義 ■モデルの生成 ■損失関数とオプティマイザーの生成 ■勾配降下アルゴリズムによるパラメーターの更新処理 ■学習を行う ■学習結果の確認 5章 ニューラルネットワーク(多層パーセプトロン) 5.1 フィードフォワードニューラルネットワーク(FFNN) 5.1.1 ニューラルネットワークにおける順方向への伝播 ■FFNNに必要な関数群を実装する ■入力層→第1層 ■第1層→第2層 ■第2層→出力層 ■第3層 5.2 バックプロパゲーションを利用した重みの更新 5.2.1 誤差が逆方向に伝播される流れを見る 5.2.2 行列の掛け算で誤差逆伝播を一発で計算する ■一種の正規化因子である行列式の分母を消してしまう 5.2.3 バックプロパゲーション(誤差逆伝播法) ■出力層の重みを更新する(2乗和誤差の場合) ■出力層の重みの更新(シグモイド関数を用いるときのクロスエントロピー誤差関数の場合) ■出力層の重みの更新(ソフトマックス関数を用いるときのクロスエントロピー誤差関数の場合) ■出力層から1つ手前の層の重みを更新する ■重みの更新式を一般化する 5.3 ニューラルネットワークの作成 5.3.1 作成するニューラルネットワークの構造 5.3.2 初期化メソッド__init__()、weight_initializer()、sigmoid()、softmax()の作成 ■重みの初期値について考える 5.3.3 入力層の処理 5.3.4 隠れ層の処理 5.3.5 出力層の処理 ■ソフトマックス関数 5.3.6 ニューラルネットワークの順伝播部を完成させる 5.3.7 バックプロパゲーションによる重みの更新 ■出力層の重みの更新 ■隠れ層の重みの更新 5.3.8 テストデータを評価するevaluate()メソッドの定義 5.3.9 Python版ニューラルネットワークの完成 5.4 ファッションアイテムの画像認識 5.4.1 Fashion?MNISTデータセットのダウンロード 5.4.2 Fashion?MNISTデータの前処理 ■画像データの前処理 ■正解ラベルの前処理 COLUMN MNISTデータとFashion-MNISTデータ 5.4.3 ニューラルネットワークでファッションアイテムの学習を行う 5.4.4 ニューラルネットワークの学習精度を検証する 5.5 TensorFlowスタイルによるニューラルネットワークの構築 5.5.1 Fashion-MNISTデータセットの用意 5.5.2 2層ニューラルネットワークでファッションアイテムの画像を認識する ■確率的勾配降下法 ■ReLU関数 ■隠れ層(第1層) ■出力層(第2層) ■モデルの定義を完成させる ■損失関数とオプティマイザーの生成 ■パラメーターの更新処理 ■モデルを検証する ■学習の早期終了判定を行うEarlyStoppingクラス ■訓練データから検証用のデータを抽出する ■学習の実行 ■損失と精度の推移をグラフにする 5.5.3 ドロップアウトでオーバーフィッティングを回避する ■隠れ層の出力にドロップアウトを適用する ■ドロップアウトを適用した結果を確認する 5.6 Kerasによるニューラルネットワークの構築 5.6.1 Kerasを用いたニューラルネットワークの構築 ■Fashion-MNISTデータセットの読み込みと加工 ■Kerasスタイルによるニューラルネットワークの実装 ■学習を実行し、テストデータで検証する ■損失、正解率をグラフにする 5.7 PyTorchを使ってニューラルネットワークを構築する 5.7.1 データの読み込みと前処理、DataLoaderオブジェクトの生成まで ■データの加工処理を担うTransformオブジェクトの生成 ■データセットの読み込み ■DataLoaderオブジェクトの生成 5.7.2 2層ニューラルネットワークでファッションアイテムの画像を認識する ■モデルの作成 ■損失関数とオプティマイザーの生成 ■パラメーターの更新を行うtrain_step()関数の定義 ■テストデータでモデルの評価を行うtest_step()関数の定義 ■早期終了判定を行うEarlyStoppingクラス ■学習を行う 6章 画像認識のためのディープラーニング 6.1 ニューラルネットワークに「特徴検出器」を導入する(畳み込みニューラルネットワーク) 6.1.1 2次元フィルターで画像の特徴を検出する ■2次元フィルター ■2次元フィルターで手書き数字のエッジを抽出してみる 6.1.2 サイズ減した画像をゼロパディングで元のサイズに戻す 6.1.3 Kerasスタイルによる畳み込みニューラルネットワーク(CNN)の構築 ■入力層 ■畳み込み層 ■Flatten層 ■出力層 ■畳み込みニューラルネットワークのプログラミング ■畳み込みニューラルネットワーク(CNN)で画像認識を行う 6.2 TensorFlowスタイルによるCNNの構築 ■ライブラリのインポートとデータセットの読み込み ■畳み込みニューラルネットワーク(CNN)の作成 ■損失関数とオプティマイザーの生成からEarlyStoppingクラスの定義まで ■学習の実行 6.3 PyTorchによるCNNの構築 ■データの準備からデータローダーの作成まで ■モデルの定義 ■モデルの生成 ■損失関数とオプティマイザーの生成 ■train_step()関数の定義から早期終了判定を行うクラスの定義まで ■学習を行う 6.4 プーリングで歪みやズレによる影響を回避する 6.4.1 プーリングの仕組み 6.4.2 プーリング層とドロップアウトを備えた畳み込みネットワークの構築 6.4.3 TensorFlowスタイルによるプログラミング ■データの読み込みと前処理 ■モデルの定義 ■損失関数とオプティマイザーの生成からEarlyStoppingクラスの定義まで ■学習を行う 6.5 Kerasスタイルでプーリングを実装したCNNを構築する 6.6 PyTorchによるプーリングを実装したCNNの構築 ■データの読み込み、前処理からデータローダーの作成まで ■モデルを定義してモデルオブジェクトを生成する ■損失関数とオプティマイザーの生成 ■train_step()関数の定義から早期終了判定を行うクラスの定義まで ■学習を行う COLUMN sparse_categorical_crossentropy 7章 一般物体認識のためのディープラーニング 7.1 カラー画像を10のカテゴリに分類したCIFAR-10データセット 7.1.1 一般物体認識のデータセット「CIFAR-10」を題材にする 7.1.2 KerasでダウンロードしたCIFAR-10のカラー画像を見る 7.1.3 一般物体認識のためのCNNの構造 7.1.4 TensorFlowスタイルでプログラミングしたCNNに飛行機、自動車、イヌ、ネコなどの10種類の画像を認識させてみる ■畳み込みネットワークの構築 ■損失関数とオプティマイザーの生成 ■学習を実行する関数の定義 ■モデルの検証を行うvalid_step()関数の定義 ■学習の早期終了判定を行うクラスの定義 ■CIFAR-10の画像を学習させる ■誤差と精度をグラフにする 7.1.5 KerasスタイルでプログラミングしたCNNで飛行機、自動車、イヌ、ネコ…を認識させる ■CIFAR-10データセットのダウンロードと前処理 ■CNNを構築する関数の定義 ■KerasスタイルのCNNを用いてCIFAR-10を学習する 7.1.6 PyTorchでCIFAR-10の画像認識を行う ■CIFAR-10をダウンロードして前処理を行う ■モデルを定義する ■損失関数とオプティマイザーの生成、学習と評価を行う関数の定義 ■学習を行う 7.2 カラー画像に移動、回転などの処理を加えてデータの水増しを行い、 認識精度を90%に引き上げる 7.2.1 データのスケールを小さくして処理時間をできるだけ短縮させる 7.2.2 訓練データに過剰に適合してしまうのを避ける ■出力層の場合の正則化項を適用した重みの更新式 7.2.3 KerasスタイルによるCNNの作成 ■訓練用の画像データを水増しして認識精度を引き上げる ■画像をランダムに回転させる ■画像を平行に移動する ■画像を垂直方向に移動する ■画像をランダムに拡大 ■画像を左右反転 ■画像を上下反転 ■画像の色相をランダムに変化させる 7.2.4 画像を拡張処理して精度90%を達成する(Keras) ■学習を行うtrain()関数の定義 ■学習を実行する ■損失と精度、学習率の推移をグラフにする ■学習結果を保存する ■画像を入力して認識させてみる 7.2.5 画像を拡張処理して精度90%を達成する(TensorFlow) ■データの読み込みと前処理 ■モデルの生成を行う ■損失関数、オプティマイザー、学習/評価を行う関数の用意 ■学習を実行する関数と検証を行う関数の定義 ■データに拡張処理を行い学習する 7.2.6 画像を拡張処理して精度90%を達成する(PyTorch) ■CIFAR-10をダウンロードして前処理を行う ■モデルを定義する ■損失関数とオプティマイザーの生成、学習と評価を行う関数の定義 ■学習を行う 8章 人間と機械のセマンティックギャップをなくす試み 8.1 CNNで「特徴認識」に近い二値分類、「Dogs vs. Cats」データセットを学習する 8.1.1 Dogs vs. Cats ■データセットのダウンロード ■データを前処理して一部の画像を出力してみる ■画像を可視化してみる 8.1.2 ネコとイヌを認識させてみる ■データのダウンロード ■データジェネレーターを生成する関数の定義 ■モデルの生成から学習までを実行する関数の定義 ■学習を行う 8.2 「転移学習」でイヌとネコを高精度で分類する 8.2.1 自前のFC層に大規模なデータ学習済みのVGG16モデルを結合する 8.2.2 ファインチューニングを行って、さらに認識精度を引き上げる ■データのダウンロードとデータジェネレーターの生成 ■ファインチューニングで認識精度を95%まで上げる ■VGG16をファインチューニングして学習を実行する関数の定義 ■学習の実行 COLUMN Googleドライブにアップロードしたデータを使う 8.3 アリとハチの画像をVGG16で学習する ■データセットをダウンロードして解凍する ■データの前処理を行うクラス ■オリジナルの画像と前処理後の画像を確認する ■画像のファイルパスをリストにする ■アリとハチの画像のデータセットを作成するクラス ■データローダーの生成 ■VGG16の読み込み ■学習を可能にする層の設定 ■損失関数とオプティマイザーの生成 ■学習を行う関数を定義する ■学習と検証を行う 9章 ジェネレーティブディープラーニング 9.1 現在の学習に過去の情報を取り込む(リカレントニューラルネットワーク) 9.1.1 RNN(リカレントニューラルネットワーク)を理解する ■BPTT(Backpropagation Through Time) 9.1.2 LSTM(Long Short Term Memory:長・短期記憶) ■LSTMのファーストステップ ■LSTMのセカンドステップ ■LSTMのサードステップ 9.2 LSTMを配置したRNNで対話が正しいかどうかを識別する 9.2.1 「雑談対話コーパス」、Janomeライブラリのダウンロード ■Janomeのインストール ■「雑談対話コーパス」のダウンロード 9.2.2 対話データの抽出と加工 ■JSONファイルを読み込んで正解ラベルと発話をリストにする ■発話テキストを形態素に分解する ■単語を出現回数順の数値に置き換える ■RNN(LSTM)を構築して発話が破綻しているかを学習する ■RNNモデルを構築する ■学習する 9.3 「雑談会話コーパス」の予測精度を上げる ■アンサンブルって何? ■アンサンブルに使用するモデル ■アンサンブルをプログラミングする ■多数決のアンサンブルを実行する 10章 OpenCVによる「物体検出」 10.1 OpenCV 10.1.1 OpenCVで何ができる? ■OpenCVのインストール 10.2 OpenCVによる物体検出 10.2.1 人の顔の検出 ■画像の中から顔の部分を検出する 10.2.2 瞳の検出 ■画像の中から瞳の部分を検出する 10.3 検出した部分を切り取って保存する 10.3.1 画像から検出した顔の部分を切り出してファイルに保存する
深層強化学習の実装を、PythonとTensorFlow、シミュレータとしてOpenAI gymとPyBulletで解説。 TensorFlowで強化学習を実践! アルファ碁などのゲームAIやロボットアームの制御、自動運転などで注目されている深層強化学習の基本と実装について、PythonとTensorFlow、シミュレータとしてOpenAI gymとPyBulletを用いて解説したもの。 深層学習、強化学習のアルゴリズムを一歩一歩ていねいに解説し、RaspberryPi+Arduinoを用いた実応用までを扱っています。
人工知能とは何か? 機械学習・ディープラーニングとは何かを、高クオリティなマンガとともに、くわしく・やさしく解説していきます。 人工知能がどのように発展してきたのか、私たちの未来をどのように変えていくのか、そして人工知能とどのように向き合っていくのかをテーマにストーリーを構成。人工知能という難しそうなテーマを、より身近に感じられるようになる一冊です。 Chapter1 人工知能の正体 ・「人間の脳」と「人工知能」 ・人工知能の定義 Chapter2 人工知能の歴史 ・人工知能の誕生-第1次AIブーム- ・コンピュータとの対話-第2次AIブーム- Chapter3 人工知能の新時代① ・第3次AIブームの始まり ・機械学習の広がりと課題 Chapter4 人工知能の新時代② ・ディープラーニングとは何か ・ディープラーニングによるブレイクするー Chapter5 人工知能と心 ・心と身体性 ・人工知能と創造性 Chapter6 人工知能が変えていく未来 ・AIを牽引する企業たち ・「眼を持つ機械」の活用 Chapter7 人工知能が人類にもたらすもの ・人工知能と倫理的課題 ・「シンギュラリティ」とその先の未来
【東京大学特任准教授 松尾 豊氏 推薦】 大人気「10秒で始める人工知能プログラミング学習サービス」の代表者がおくる、 人工知能プログラミングに必要な数学を、やさしく学ぶ参考書が登場! キホンのキホンからおさらいするから、ニガテな人でも大丈夫! 後半では、Pythonのコードを動かしてさらに理解を深められます! ■本書の目的 ・人工知能関連の書籍に現れる数式への抵抗感をなくし、専門書を読むための数学基礎力をつけます。 ・いくつかの人工知能のアルゴリズムを理解し、数式の意味を理解できるようにします。 ■本書の特長 ・ゼロからおさらいするので、誰でも読めます。 ・人工知能プログラミングに必要な分野に特化しています。 ・演習問題や例題で、理解を深められます。 ■本書の対象読者 ・人工知能アルゴリズムを用いてモデリングをしているが、その根底のアルゴリズムはブラックボックスであり、数学を復習したい方。 ・人工知能アルゴリズムを体系的に学びたいが、数学を忘れており、専門書に現れる数式が理解できない方。 ・人工知能アルゴリズムに興味があるが、ハードルが高いと感じている方。 ■目次 CHAPTER 1 数学基礎 中学1 年から高校の数学を復習し、機械学習で使う数学の「入門レベル」を固めます。 CHAPTER 2 微分 微分の概念や表現方法を学びます。機械学習では「ディープラーニング(深層学習)」「ニューラルネットワーク」「最小2 乗法」「勾配降下法」「誤差逆伝播法」などで微分を活用します。 CHAPTER 3 線形代数 高校の範囲に大学1 年で学ぶ線形代数を加え、ベクトル・行列・線形変換を学びます。線形代数は膨大なデータや複雑なシステムを扱うのに役立ちます。 CHAPTER 4 確率・統計 確率・統計は「傾向を知り、限られたデータから全体像を予測する」ために、機械学習で活用されます。分散・尤度・正規分布などの難しい用語もやさしく学びます。 CHAPTER 5 実践編1 回帰モデルで住宅価格を推定してみよう 「データから住宅価格を推定する」ことを題材に、線形回帰モデルを理解します。 CHAPTER 6 実践編2 自然言語処理で文学作品の作者を当てよう 「文学作品を分析する」ことを題材に、自然言語を数学的に表現する方法などを学びます。 CHAPTER 7 実践編3 ディープラーニングで手書き数字認識をしてみよう 「手書きの数字を認識させる」ことを題材に、ディープラーニングの一種であるDNNを、画像認識から学びます。 東京大学特任准教授 松尾 豊氏 推薦! 人工知能プログラミングに必要な数学を、ゼロから抜け漏れなく、体系的に学ぶ! 数学を復習したいエンジニアに! CHAPTER1 数学基礎 CHAPTER2 微分 CHAPTER3 線形代数 CHAPTER4 確率・統計 CHAPTER5 実践編1 回帰モデルで住宅価格を推定してみよう CHAPTER6 実践編2 自然言語処理で文学作品の作者を当てよう CHAPTER7 実践編3 ディープラーニングで手書き数字認識をしてみよう
「なぜディープラーニングが形を区別できるのか」が見えてくる!Excelと対話しながらしくみを解き明かす画期的な超入門書!初めてのAI学習に最適!難しい数学計算はExcelに任せてディープラーニングのしくみを動かしながら理解できる! 1章 初めてのディープラーニング(畳み込みニューラルネットワークのしくみは簡単 AIとディープラーニング) 2章 Excelの確認とその応用(利用するExcel関数はたったの7個 Excelの参照形式 ほか) 3章 ニューロンモデル(神経細胞の働き 神経細胞の働きを数式表現 ほか) 4章 ニューラルネットワークのしくみ(読み物としてのニューラルネットワークのしくみ ニューラルネットワークが手書き文字を識別 ほか) 5章 畳み込みニューラルネットワークのしくみ(読み物としての畳み込み-ニューラルネットワークのしくみ 畳み込みニューラルネットワークが手書き数字を識別 ほか) 付録
ディープラーニングの動作する数学の仕組みを解説。どの分野が必要かを知り、基本を理解し、どのように効いているかを学びます。 本書は、ディープラーニングを支え、ベースとなっている数学に焦点をあて、どのような仕組みで、どのように効いて、なぜ機能するのかの解説をしていきます。「ブラックボックス」と思われがちなディープラーニングの中身を理解していきます。 高校数学の知識を前提としながらも、必要な数学を復習しつつ、高校で習わない偏微分に関しては基本から必要な部分を解説して、ディープラーニングを支える数学の知識を学んでいきます。 「ディープラーニングという言葉は聞くが、どんなものなのか分からないので理解したい」「ブラックボックスと言われるディープラーニングの仕組みを知りたい」「ディープラーニングを学びたいけれど、数学の勉強のどこから手を付けていいか分からない」といった読者の興味に応える一冊です。 数学を学びながら、それがディープラーニングにどのように効いているのか分かることが重要です。その点を実感として理解することができれば、ディープラーニングの仕組みの本質が理解できたことにつながっていきます。そのためのディープラーニングの主要な概念の解説もしていきます。
自然言語処理編
ディープラーニングの発展・応用手法を実装しながら学ぼう 本書ではディープラーニングの発展・応用手法を実装しながら学習していきます。ディープラーニングの実装パッケージとしてPyTorchを利用します。扱うタスク内容とディープラーニングモデルは次の通りで「ビジネスの現場でディープラーニングを活用するためにも実装経験を積んでおきたいタスク」という観点で選定しました。 [本書で学習できるタスク] 転移学習、ファインチューニング:少量の画像データからディープラーニングモデルを構築 物体検出(SSD):画像のどこに何が映っているのかを検出 セマンティックセグメンテーション(PSPNet):ピクセルレベルで画像内の物体を検出 姿勢推定(OpenPose):人物を検出し人体の各部位を同定しリンク GAN(DCGAN、Self-Attention GAN):現実に存在するような画像を生成 異常検知(AnoGAN、Efficient GAN):正常画像のみからGANで異常画像を検出 自然言語処理(Transformer、BERT):テキストデータの感情分析を実施 動画分類(3DCNN、ECO):人物動作の動画データをクラス分類 本書は第1章から順番に様々なタスクに対するディープラーニングモデルの実装に取り組むことで高度かつ応用的な手法が徐々に身につく構成となっています。各ディープラーニングモデルは執筆時点でState-of-the-Art(最高性能モデル)の土台となっており、実装できるようになればその後の研究・開発に役立つことでしょう。 ディープラーニングの発展・応用手法を楽しく学んでいただければ幸いです。 実装環境 ・読者のPC(GPU環境不要)、AnacondaとJupyter Notebook、AWSを使用したGPUサーバー ・AWSの環境:p2.xlargeインスタンス、Deep Learning AMI(Ubuntu)マシンイメージ(OS Ubuntu 16.04|64ビット、NVIDIA K80 GPU、Python 3.6.5、conda 4.5.2、PyTorch 1.0.1) 第1章 画像分類と転移学習(VGG) 1.1 学習済みのVGGモデルを使用する方法 1.2 PyTorchによるディープラーニング実装の流れ 1.3 転移学習の実装 1.4 Amazon AWSのクラウドGPUマシンを使用する方法 1.5 ファインチューニングの実装 第2章 物体検出(SSD) 2.1 物体検出とは 2.2 Datasetの実装 2.3 DataLoaderの実装 2.4 ネットワークモデルの実装 2.5 順伝搬関数の実装 2.6 損失関数の実装 2.7 学習と検証の実施 2.8 推論の実施 第3章 セマンティックセグメンテーション(PSPNet) 3.1 セマンティックセグメンテーションとは 3.2 DatasetとDataLoaderの実装 3.3 PSPNetのネットワーク構成と実装 3.4 Featureモジュールの解説と実装 3.5 Pyramid Poolingモジュールの解説と実装 3.6 Decoder、AuxLossモジュールの解説と実装 3.7 ファインチューニングによる学習と検証の実施 3.8 セマンティックセグメンテーションの推論 第4章 姿勢推定(OpenPose) 4.1 姿勢推定とOpenPoseの概要 4.2 DatasetとDataLoaderの実装 4.3 OpenPoseのネットワーク構成と実装 4.4 Feature、Stageモジュールの解説と実装 4.5 TensorBoardXを使用したネットワークの可視化手法 4.6 OpenPoseの学習 4.7 OpenPoseの推論 第5章 GANによる画像生成(DCGAN、Self-Attention GAN) 5.1 GANによる画像生成のメカニズムとDCGANの実装 5.2 DCGANの損失関数、学習、生成の実装 5.3 Self-Attention GANの概要 5.4 Self-Attention GANの学習、生成の実装 第6章 GANによる異常検知(AnoGAN、Efficient GAN) 6.1 GANによる異常画像検知のメカニズム 6.2 AnoGANの実装と異常検知の実施 6.3 Efficient GANの概要 6.4 Efficient GANの実装と異常検知の実施 第7章 自然言語処理による感情分析(Transformer) 7.1 形態素解析の実装(Janome、MeCab+NEologd) 7.2 torchtextを用いたDataset、DataLoaderの実装 7.3 単語のベクトル表現の仕組み(word2vec、fastText) 7.4 word2vec、fastTextで日本語学習済みモデルを使用する方法 7.5 IMDb(Internet Movie Database)のDataLoaderを実装 7.6 Transformerの実装(分類タスク用) 7.7 Transformerの学習・推論、判定根拠の可視化を実装 第8章 自然言語処理による感情分析(BERT) 8.1 BERTのメカニズム 8.2 BERTの実装 8.3 BERTを用いたベクトル表現の比較(bank:銀行とbank:土手) 8.4 BERTの学習・推論、判定根拠の可視化を実装 第9章 動画分類(3DCNN、ECO) 9.1 動画データに対するディープラーニングとECOの概要 9.2 2D Netモジュール(Inception-v2)の実装 9.3 3D Netモジュール(3DCNN)の実装 9.4 Kinetics動画データセットをDataLoaderに実装 9.5 ECOモデルの実装と動画分類の推論実施
大学で学ぶ数学の基礎知識とPythonコードを紐づけて機械学習の基本を学べる! 数学の基礎知識とPythonコードを紐づけて機械学習の基本を学べる! 【本書の目的】 現在、人工知能関連のプロダクト・サービスが数多く見受けられるようになりました。 人工知能関連の開発に機械学習の基礎知識は必須です。 本書はそうした機械学習の基礎知識を学びたいエンジニアに向けた書籍です。 【本書の特徴】 本書は機械学習の基本について、数学の知識をもとに、 実際にPythonでプログラムしながら学ぶことができる書籍です。 ・最新のPython 3.7に対応 ・学習内容を「要点整理」で復習 ・数式とコードをつなげたわかりやすい解説 【読者が得られること】 本書を読み終えた後には、機械学習のしくみとプログラミング手法を理解できます。 【対象読者】 機械学習の基礎を学びたい理工学生・エンジニア 【目次】 第1章 機械学習の準備 第2章 Pythonの基本 第3章 グラフの描画 第4章 機械学習に必要な数学の基本 第5章 教師あり学習:回帰 第6章 教師あり学習:分類 第7章 ニューラルネットワーク・ディープラーニング 第8章 ニューラルネットワーク・ディープラーニングの応用(手書き数字の認識) 第9章 教師なし学習 第10章 要点のまとめ 第1章 機械学習の準備 1.1 機械学習について 1.2 Pythonのインストール 1.3 Jupyter Notebook 1.4 KerasとTensorFlowのインストール 第2章 Pythonの基本 2.1 四則演算 2.2 変数 2.3 型 2.4 print文 2.5 list(リスト、配列変数) 2.6 tuple(タプル) 2.7 if文 2.8 for文 2.9 ベクトル 2.10 行列 2.11 行列(ndarray)の四則演算 2.12 スライシング 2.13 条件を満たすデータの書き換え 2.14 Help 2.15 関数 2.16 ファイル保存 第3章 グラフの描画 3.1 2次元のグラフを描く 3.2 3次元のグラフを描く 第4章 機械学習に必要な数学の基本 4.1 ベクトル 4.2 和の記号 4.3 積の記号 4.4 微分 4.5 偏微分 4.6 行列 4.7 指数関数と対数関数 第5章 教師あり学習:回帰 5.1 1次元入力の直線モデル 5.2 2次元入力の面モデル 5.3 D次元線形回帰モデル 5.4 線形基底関数モデル 5.5 オーバーフィッティングの問題 5.6 新しいモデルの生成 5.7 モデルの選択 5.8 まとめ 第6章 教師あり学習:分類 6.1 1次元入力2クラス分類 6.2 2次元入力2クラス分類 6.3 2次元入力3クラス分類 第7章 ニューラルネットワーク・ディープラーニング 7.1 ニューロンモデル 7.2 ニューラルネットワークモデル 7.3 Kerasでニューラルネットワークモデル 第8章 ニューラルネットワーク・ディープラーニングの応用(手書き数字の認識) 8.1 MNISTデータベース 8.2 2層フィードフォワードネットワークモデル 8.3 ReLU活性化関数 8.4 空間フィルター 8.5 畳み込みニューラルネットワーク 8.6 プーリング 8.7 ドロップアウト 8.8 集大成のMNIST認識ネットワークモデル 第9章 教師なし学習 9.1 2次元入力データ 9.2 K-means法 9.3 混合ガウスモデル 第10章 要点のまとめ 要点のまとめ
東大 松尾研究室が提供するあの人気講座が待望の書籍化! 本書は、2017年と2018年に東京大学で実施された「グローバル消費インテリジェンス寄付 講座」の学生向けオフライン講義と、社会人向けオンライン講座で使われた教材がベースになっています。 約400名ほどの受講枠(2年間)に、のべ1,800人以上の応募があった人気の講義です。この本のベースとなるコンテンツはJupyter Notebook形式で公開されていますが、この内容をさらに精査、ブラッシュアップし、読みやすく整えたものが本書になります。 ●本書の内容 本書には、データサイエンティストになるための基礎をつめこんでいます。データサイエンティストは、Pythonや確率・統計、機械学習など、幅広くさまざまな分野の知識を必要とします。 すべての分野を1冊で学ぶことは無理ですので、各分野で深入りはせず基礎的な事項を取り扱っています。データサイエンティストになるための地図と羅針盤のような位置づけとなることをイメージしています。 この本は主にPython 3を使って、基本的なプログラムの書き方、データの取得、読み込み、そのデータ操作からはじまり、さまざまなPythonのライブラリの使い方、確率統計の手法、機械学習(教師あり学習、教師なし学習とチューニング)の使い方についても学びます。取り扱っているデータは、マーケティングに関するデータやログデータ、金融時系列データなどさまざまで、モデリングの前にそれらを加工する手法も紹介しています。データサイエンティストになるには、どれも必要なスキルです。 本書には、さらに以下の3つの特徴があります。 ・実際のデータを使って手を動かしながら、データサイエンスのスキルを身に付けることができる ・データ分析の現場で使える実践的な内容(データ前処理など)が含まれている ・練習問題や総合問題演習など実際に頭を使って考える内容がたくさんある この本に書いてあることを実践し、読み終えた後には、実際の現場でデータ分析ができるようになるはずです。 ●この本の対象読者 この本は、プログラミングの経験があり、理系の大学1~2年生程度の教養課程の数学(線形代数、微分積分学、確率統計の基礎など)を終えている方を対象にしています。具体的には、勉強熱心な大学3~4年生の理系の学生さんや大学院生の方、また社会人になってデータサイエンスを学ぼうという意欲の高い方たちが対象です。データサイエンスの入門レベルから中級レベルの手前までを考えている人に最適で、本書のゴールもデータサイエンス入門レベルを卒業できることを想定しています。 "Contents Chapter 1 本書の概要とPythonの基礎 1-1 データサイエンティストの仕事 1-1-1 データサイエンティストの仕事 1-1-2 データ分析のプロセス 1-1-3 本書の構成 1-1-4 本書を読み進めるのに役立つ文献 1-1-5 手を動かして習得しよう 1-2 Pythonの基礎 1-2-1 Jupyter Notebookの使い方 1-2-2 Pythonの基礎 1-2-3 リストと辞書型 1-2-4 条件分岐とループ Column format記法と%記法 1-2-5 関数 Practice 練習問題1-1 Practice 練習問題1-2 1-2-6 クラスとインスタンス Practice 1章 総合問題 Chapter 2 科学計算、データ加工、グラフ描画ライブラリの使い方の基礎 2-1 データ分析で使うライブラリ 2-1-1 ライブラリの読み込み 2-1-2 マジックコマンド 2-1-3 この章で使うライブラリのインポート 2-2 Numpyの基礎 2-2-1 Numpyのインポート 2-2-2 配列操作 2-2-3 乱数 Column Numpyは高速 2-2-4 行列 Practice 練習問題2-1 練習問題2-2 練習問題2-3 2-3 Scipyの基礎 2-3-1 Scipyのライブラリのインポート 2-3-2 行列計算 2-3-3 ニュートン法 Practice 練習問題2-4 練習問題2-5 練習問題2-6 2-4 Pandasの基礎 2-4-1 Pandasのライブラリのインポート 2-4-2 Seriesの使い方 2-4-3 DataFrameの使い方 2-4-4 行列操作 2-4-5 データの抽出 2-4-6 データの削除と結合 2-4-7 集計 2-4-8 値のソート 2-4-9 nan(null)の判定 Practice 練習問題2-7 Practice 練習問題2-8 Practice 練習問題2-9 2-5 Matplotlibの基礎 2-5-1 Matplotlibを使うための準備 2-5-2 散布図 2-5-3 グラフの分割 2-5-4 関数グラフの描画 2-5-5 ヒストグラム Column さまざまなデータのビジュアル化 Practice 練習問題2-10 Practice 練習問題2-11 Practice 練習問題2-12 Practice 2章 総合問題 Chapter 3 記述統計と単回帰分析 3-1 統計解析の種類 3-3-1 記述統計と推論統計 3-3-2 この章で使うライブラリのインポート 3-2 データの読み込みと対話 3-2-1 インターネットなどで配布されている対象データの読み込み 3-2-2 データの読み込みと確認 3-2-3 データの性質を確認する Column 「変数」という用語について 3-2-4 量的データと質的データ 3-3 記述統計 3-3-1 ヒストグラム 3-3-2 平均、中央値、最頻値 3-3-3 分散と標準偏差 3-3-4 要約統計量とパーセンタイル値 3-3-5 箱ひげ図 3-3-6 変動係数 3-3-7 散布図と相関係数 3-3-8 すべての変数のヒストグラムや散布図を描く Practice 練習問題3-1 Practice 練習問題3-2 Practice 練習問題3-3 3-4 単回帰分析 3-4-1 線形単回帰分析 3-4-2 決定係数 Practice 練習問題3-4 Practice 練習問題3-5 Practice 練習問題3-6 Practice 3章 総合問題 Chapter 4 確率と統計の基礎 4-1 確率と統計を学ぶ準備 4-1-1 この章の前提知識 4-1-2 この章で使うライブラリのインポート 4-2 確率 4-2-1 数学的確率 4-2-2 統計的確率 4-2-3 条件付き確率と乗法定理 4-2-4 独立と従属 4-2-5 ベイズの定理 Practice 練習問題4-1 Practice 練習問題4-2 Practice 練習問題4-3 4-3 確率変数と確率分布 4-3-1 確率変数、確率関数、分布関数、期待値 4-3-2 さまざまな分布関数 4-3-3 カーネル密度関数 Practice 練習問題4-4 Practice 練習問題4-5 Practice 練習問題4-6 4-4 応用:多次元確率分布 4-4-1 同時確率関数と周辺確率関数 4-4-2 条件付き確率関数と条件付き期待値 4-4-3 独立の定義と連続分布 4-5 推計統計学 4-5-1 大数の法則 4-5-2 中心極限定理 4-5-3 標本分布 Practice 練習問題4-7 Practice 練習問題4-8 Practice 練習問題4-9 4-6 統計的推定 4-6-1 推定量と点推定 4-6-2 不偏性と一致性 4-6-3 区間推定 4-6-4 推定量を求める Practice 練習問題4-10 Practice 練習問題4-11 Practice 練習問題4-12 4-7 統計的検定 4-7-1 検定 4-7-2 第1種の過誤と第2種の過誤 4-7-3 ビッグデータに対する検定の注意 Practice 練習問題4-13 Practice 4章 総合問題 Chapter 5 Pythonによる科学計算(NumpyとScipy) 5-1 概要と事前準備 5-1-1 この章の概要 5-1-2 この章で使うライブラリのインポート 5-2 Numpyを使った計算の応用 5-2-1 インデックス参照 Practice 練習問題5-1 Practice 練習問題5-2 Practice 練習問題5-3 5-2-2 Numpyの演算処理 Practice 練習問題5-4 Practice 練習問題5-5 Practice 練習問題5-6 5-2-3 配列操作とブロードキャスト Practice 練習問題5-7 Practice 練習問題5-8 Practice 練習問題5-9 5-3 Scipyを使った計算の応用・ 5-3-1 補間 5-3-2 線形代数:行列の分解 Practice 練習問題5-10 Practice 練習問題5-11 Practice 練習問題5-12 Practice 練習問題5-13 Practice 練習問題5-14 5-3-3 積分と微分方程式 Practice 練習問題5-15 Practice 練習問題5-16 5-3-4 最適化 Practice 練習問題5-17 Practice 練習問題5-18 Practice 5章 総合問題 Chapter 6 Pandasを使ったデータ加工処理 6-1 概要と事前準備 6-1-1 この章で使うライブラリのインポート 6-2 Pandasの基本的なデータ操作 6-2-1 階層型インデックス Practice 練習問題6-1 Practice 練習問題6-2 Practice 練習問題6-3 6-2-2 データの結合 Practice 練習問題6-4 練習問題6-5 練習問題6-6 6-2-3 データの操作と変換 Practice 練習問題6-7 Practice 練習問題6-8 Practice 練習問題6-9 6-2-4 データの集約とグループ演算 Practice 練習問題6-10 Practice 練習問題6-11 Practice 練習問題6-12 6-3 欠損データと異常値の取り扱いの基礎 6-3-1 欠損データの扱い方 Practice 練習問題6-13 Practice 練習問題6-14 Practice 練習問題6-15 6-3-2 異常データの扱い方 6-4 時系列データの取り扱いの基礎 6-4-1 時系列データの処理と変換 Practice 練習問題6-16 6-4-2 移動平均 Practice 練習問題6-17 Practice 6章 総合問題 Chapter 7 Matplotlibを使ったデータ可視化 7-1 データの可視化 7-1-1 データの可視化について 7-1-2 この章で使うライブラリのインポート 7-2 データ可視化の基礎 7-2-1 棒グラフ 7-2-2 円グラフ Practice 練習問題7-1 Practice 練習問題7-2 Practice 練習問題7-3 7-3 応用:金融データの可視化 7-3-1 可視化する金融データ 7-3-2 ローソクチャートを表示するライブラリ 7-4 応用:分析結果の見せ方を考えよう 7-4-1 資料作成のポイントについて Practice 7章 総合問題 Column 移動平均時系列データと対数時系列データ Chapter 8 機械学習の基礎(教師あり学習) 8-1 機械学習の全体像 8-1-1 機械学習とは 8-1-2 教師あり学習 8-1-3 教師なし学習 8-1-4 強化学習 8-1-5 この章で使うライブラリのインポート 8-2 重回帰 8-2-1 自動車価格データの取り込み 8-2-2 データの整理 8-2-3 モデル構築と評価 8-2-4 モデル構築とモデル評価の流れのまとめ Practice 練習問題8-1 8-3 ロジスティック回帰 8-3-1 ロジスティック回帰の例 8-3-2 データの整理 8-3-3 モデル構築と評価 8-3-4 スケーリングによる予測精度の向上 Practice 練習問題8-2 Practice 練習問題8-3 8-4 正則化項のある回帰:ラッソ回帰、リッジ回帰 8-4-1 ラッソ回帰、リッジ回帰の特徴 8-4-2 重回帰とリッジ回帰の比較 Practice 練習問題8-4 8-5 決定木 8-5-1 キノコデータセット 8-5-2 データの整理 8-5-3 エントロピー:不純度の指標 8-5-4 情報利得:分岐条件の有益さを測る 8-5-5 決定木のモデル構築 Practice 練習問題8-5 8-6 k-NN(k近傍法) 8-6-1 k-NNのモデル構築 Practice 練習問題8-6 Practice 練習問題8-7 8-7 サポートベクターマシン 8-7-1 サポートベクターマシンのモデル構築 Practice 練習問題8-8 Practice 8章 総合問題 Chapter 9 機械学習の基礎(教師なし学習) 9-1 教師なし学習 9-1-1 教師なしモデルの種類 9-1-2 この章で使うライブラリのインポート 9-2 クラスタリング 9-2-1 k-means法 9-2-2 k-means法でクラスタリングする 9-2-3 金融マーケティングデータをクラスタリングする 9-2-4 エルボー法によるクラスター数の推定 9-2-5 クラスタリング結果の解釈 9-2-6 k-means法以外の手法 Practice 練習問題9-1 9-3 主成分分析 9-3-1 主成分分析を試す 9-3-2 主成分分析の実例 Practice 練習問題9-2 9-4 マーケットバスケット分析とアソシエーションルール 9-4-1 マーケットバスケット分析とは 9-4-2 マーケットバスケット分析のためのサンプルデータを読み込む 9-4-3 アソシエーションルール Practice 9章 総合問題 Chapter 10 モデルの検証方法とチューニング方法 10-1 モデルの評価と精度を上げる方法とは 10-1-1 機械学習の課題とアプローチ 10-1-2 この章で使うライブラリのインポート 10-2 モデルの評価とパフォーマンスチューニング 10-2-1 ホールドアウト法と交差検証法 10-2-2 パフォーマンスチューニング:ハイパーパラメータチューニング Practice 練習問題10-1 Practice 練習問題10-2 10-2-3 パフォーマンスチューニング:特徴量の扱い 10-2-4 モデルの種類 10-3 モデルの評価指標 10-3-1 分類モデルの評価:混同行列と関連指標 10-3-2 分類モデルの評価:ROC曲線とAUC Practice 練習問題10-3 10-3-3 回帰モデルの評価指標 Practice 練習問題10-4 10-4 アンサンブル学習 10-4-1 バギング Practice 練習問題10-5 10-4-2 ブースティング 10-4-3 ランダムフォレスト、勾配ブースティング Practice 練習問題10-6 10-4-4 今後の学習に向けて Practice 練習問題10-7 Practice 10 章 総合問題 Chapter 11 総合演習問題 11-1 総合演習問題 11-1-1 総合演習問題(1) 11-1-2 総合演習問題(2) 11-1-3 総合演習問題(3) 11-1-4 総合演習問題(4) 11-1-5 総合演習問題(5) 11-1-6 総合演習問題(6) 11-1-7 参考:今後のデータ分析に向けて Appendix A-1 本書の環境構築について A-1-1 Anacondaについて A-1-2 Anacondaのパッケージをダウンロードする A-1-3 Anacondaをインストールする A-1-4 pandas-datareaderおよびPlotlyのインストール A-2 練習問題解答 A-2-1 Chapter1 練習問題 A-2-2 Chapter2 練習問題 A-2-3 Chapter3 練習問題 A-2-4 Chapter4 練習問題 A-2-5 Chapter5 練習問題 A-2-6 Chapter6 練習問題 A-2-7 Chapter7 練習問題 A-2-8 Chapter8 練習問題 A-2-9 Chapter9 練習問題 A-2-10 Chapter10 練習問題 A-2-11 Chapter11 総合演習問題 Column ダミー変数と多重共線性 A-3 参考文献・参考URL A-3-1 参考文献 A-3-2 参考URL
新シラバスに完全対応!G検定受験者必携の問題集が増補改訂して再登場!2021年春に公開された最新シラバスに沿って収録問題を増補。新たに「人工知能と法律・契約および動向」の章を追加して、個人情報保護法に関する設問、道路交通法に関する設問(自動運転など)、知財・発明・AI創作物の著作権に関する設問、AI開発契約に関する設問(契約ガイドラインなど)、国や自治体のAI活用方針に関する設問などにバッチリ対応しました。また、最新技術動向として、XAI、DX、自然言語処理、音声認識、強化学習最新技術などの設問なども追加し、近々の出題傾向もしっかり学習できます。巻末には、実際の試験と同等の出題数による模擬試験「総仕上げ問題」を収録。試験直前の実力診断までしっかりサポート!
日本ディープラーニング協会が実施している「ディープラーニングG検定ジェネラリスト」試験向けの資格試験対策用テキスト&問題集 本書は、日本ディープラーニング協会が実施している「ディープラーニングG検定ジェネラリスト」試験向けの資格試験対策用のテキスト&問題集です。試験に合格するために必要な知識習得と問題対策を一冊にまとめました。簡潔なレイアウトにし、数式をなるべく使わず、わかりやすい文章や図で説明しています。ディープラーニングをビジネスで活用したいと考えている人が対象読者となります。 試験について(試験概要) 合格のための攻略法 G検定ジェネラリスト合格への効率学習ロードマップ 本書の5つの工夫! 第1章 人工知能(AI)をめぐる歴史と動向 Theme1 人工知能(AI)とは(人工知能の定義) Theme2 人工知能をめぐる動向 Theme3 人工知能分野の問題 章末問題・解答 第2章 数学的基礎 Theme1 確率統計 Theme2 情報理論 Theme3 行列・線形代数 Theme4 基礎解析 章末問題・解答 第3章 機械学習 Theme1 機械学習の基礎 Theme2 教師あり学習 Theme3 教師なし学習 章末問題・解答 第4章 機械学習の実装 Theme1 実装の全体像・事前準備 Theme2 前処理 Theme3 モデルの学習 Theme4 モデルの評価 章末問題・解答 第5章 ディープラーニングの概要 Theme1 ディープラーニングの特徴 Theme2 多層パーセプトロン Theme3 確率的最急降下法 Theme4 ニューラルネットワークの歴史 章末問題・解答 第6章 ディープラーニングの基本 Theme1 畳込みニューラルネットワーク Theme2 再帰型ニューラルネットワーク Theme3 自己符号化器(Autoencoder) Theme4 深層強化学習 Theme5 その他の手法 章末問題・解答 第7章 ディープラーニングの研究分野 Theme1 画像認識 Theme2 自然言語処理 Theme3 音声処理 Theme4 強化学習 章末問題・解答 第8章 ディープラーニングの産業展開 Theme1 製造業 Theme2 自動車産業 Theme3 インフラ・農業 Theme4 その他の事業 章末問題・解答 第9章 ディープラーニングの制度政策などの動向 Theme1 知的財産 Theme2 原則・ガイドラインと制度・政策 章末問題・解答
人気の「ディープラーニングG検定」試験を徹底分析! 試験に出る知識と問題で効率よく学習できる、テキスト&問題集。 人気の「ディープラーニングG検定」合格のために、本試験を徹底分析! 試験に出る知識を効率よく習得し、出題実績の高いテーマの問題演習もできるオールインワンのテキスト&問題集です。 ディープラーニングとは、現在AI(人工知能)の学習法の主流となっている学習手法です。そのため、ディープラーニングについて知ることは、AIについて知ることと言っても過言ではありません。 ディープラーニング「G検定」は、専門家ではない一般のビジネスパーソンや学生を対象としており、回を重ねるほどに受験者が著しく増加している注目の検定試験です。 本書は、過去に実施された本試験を徹底的に分析し、「出るところだけ」をわかりやすいテキストとしてまとめました。また、アウトプット演習として、過去問分析にもとづく予想問題を作成。本試験1回分を超える数の問題を解説付きで収録しています。1冊でインプット&アウトプット学習を効率よくできるおすすめの対策本です。 【本書の特長】 ■ディープラーニングG検定の最新シラバスに基づいた章構成で体系的に、また、「出るところだけ」を効率的に学習できます! ■分野・テーマごとに最重要な知識を「Super Summary」としてまとめました。学習を始める前に概略・全体像をつかむために、また、本試験の直前チェックとして役立ちます。 ■テキスト部分は、説明を「出るところだけ」に絞りました。また、図表を豊富に掲載し、知識をわかりやすく習得できます。 ■問題演習は、出題実績の高いテーマを厳選。また、本試験を超える問題数を収録し、この一冊だけで十分なアウトプット学習ができるようにしました。
本書では、機械学習の各コンセプトについて、理論的背景とPythonコーディングの実際を解説。初期の機械学習アルゴリズムから、ニューラルネットワーク(CNN/RNN)までの手法を取り上げます。Python関連ライブラリとしてはscikit‐learnやTensorFlowなどを使用。第2版では、第1版への読者のフィードバックを随所に反映し、ライブラリの更新に対応しました。13章以降はほとんど新規の書き下ろしです。本書は、機械学習を本格的に理解・実践するのに不可欠な一冊となっています。 「データから学習する能力」をコンピュータに与える 分類問題-単純な機械学習アルゴリズムのトレーニング 分類問題-機械学習ライブラリscikit‐learnの活用 データ前処理-よりよいトレーニングセットの構築 次元削減でデータを圧縮する モデルの評価とハイパーパラメータのチューニングのベストプラクティス アンサンブル学習-異なるモデルの組み合わせ 機械学習の適用1-感情分析 機械学習の適用2-Webアプリケーション 回帰分析-連続値をとる目的変数の予測〔ほか〕
「人工知能を使ったプロジェクト」でチャンスをつかむ! 世の中で氾濫している「人工知能・AI」という言葉に惑わされないようにするため、人工知能についての正しい知識を身につけ、理解することが必要です。 人工知能分野の発展に貢献しているのが 機械学習・深層学習(ディープラーニング)と呼ばれる技術で「人工知能(AI)を使ってなにかプロジェクトをやってほしい」と言われたとき「ビジネス課題を機械学習・深層学習でどのように解決すればよいか」と置き換えて考えればよいケースがほとんどです。 本書では、あいまいな状態になっているビジネス上の課題を機械学習を試すことのできるような形に課題を書き換えたり、人工知能の代表的な手法である推論・探索、知識表現、機械学習、深層学習の各手法をフレームワークとして考え、実際のビジネスで活用できるといった“AI的思考力”を高める方法を解説していきます。 また人工知能は万能ではなく、ビジネス上における課題は千差万別です。本書の目指すところは「人工知能で解決できるものなのか」を自ら判断し、「人工知能のどの技術を使えばよいのか」が分かるようになることです。 人工知能技術の大部分は数学によって支えられていますが、本書はあくまでも「ビジネスで人工知能を活用するために知っておくべきこと」をまとめたものですので“難しい数式”は一切出てきません(もちろん、プログラミングも)。 『機械学習・深層学習という言葉は聞いたことはあるけれど、よく分からない』『ビジネス課題に適用できる自信がない』『どのように評価すればよいのか検討がつかない』といった方にとって、本書は役に立つはずです。 イントロダクション 1 [知識編] 人工知能とは 1.1 そもそも人工知能をつくる目的は? 「面倒くさい」が技術を進歩させる / ビジネスも「効率化」するのではなく「楽」をする 1.2 その人工知能「どの」人工知能? 強い人工知能と弱い人工知能 / 「弱さ」にも種類がある 1.3 知能を得るには知識が必要 思考が早い人工知能 ―第1次ブーム / 何を思考すればいい? / 博識な人工知能 第2次ブーム / あいまいな知識は人間だけのもの / 知識だけで知能はできない 1.4 人間が頑張るから機械が学習するへ 学習とは、パターンに分けること / パターンに分けるとは、知識を身につけること / 学習する人工知能 ―第3次ブーム 2 [実用編] 機械学習:問題を整理し解決する 2.1 問題を整理する 課題のパターンを整理する / 課題設定を整理する 2.2 問題へのアプローチ 人間も機械も、知らないものは知らない / アプローチのときは、三角関係を意識する 2.3 学習を評価する 評価のために未知をつくりだす / 評価の落とし穴に注意 / 数値が悪くても「いい」場合がある / 評価のインパクトは%になる 2.4 推薦問題を考える 3 [発展編] 深層学習というブレイクスルー 3.1 深層学習は「どこが」すごいのか? 特徴を捉えないと予測はできない / 脳みそをモデル化する / テクノロジーの進化は単独では成し得ない 3.2 深層学習は「どこで」すごいのか? 4 [実践編]ビジネスでAIを展開する 4.1 中を育てるのか 外に頼むのか データサイエンティストなのか 機械学習エンジニアなのか / ブーム最大の貢献は環境が整ったこと 4.2 機械学習に必要なものを知る (再び)ブーム最大の貢献は環境が整ったこと 4.3 機械学習なのか 統計なのか エピローグ