インプレス[コンピュータ・IT]ムック ディープラーニング構築テンプレート[AIプロジェクトの必須事項と技術的指針]
インプレス / 2020年09月23日 / 全271ページ
ディープラーニングは、近年のAIテクノロジーの中心的な存在です。企業でもこの技術を活用しようとする動きが増えてきていますが、そのシステム化に成功するには、十分な知識が必要です。本書では、さまざまなAIプロジェクトでの経験を有するアダム・ギブソン氏が、ディープラーニングなどAIを活用したシステム化のキーポイントを説明します。また、ディープラーニングの使いこなしに役立つ本質的な知識も解説。今まさに現場でAI技術の実装を行っている方、AIプロジェクトの管理を行っている方に格好の内容となっています。
目次
- 商標サンプル正誤表
- まえがき
- 第1章 ディープラーニングプロジェクトはなぜうまくいかないのか
- 1.1 本書がディープラーニングに注力する理由
- 1.2 なぜディープラーニングから学ぼうとするのか
- 1.3 ディープラーニングが採用される要因
- 1.4 ディープラーニングの現場での課題
- 1.5 AIテンプレートの重要性
- 1.6 本書で取り上げる内容
- 第2章 機械学習プロジェクトの標準プロセス[課題理解からメンテナンスまで]
- 2.1 ビジネス課題の理解
- 2.1.1 チームのスキル要件2.1.2 適切なチームの構築方法
- 2.1.3 データサイエンティストを雇うタイミング
- 2.1.4 ビジネス要件
- 2.1.5 ITインフラ要件
- 2.1.6 機械学習の採用基準の確立
- 2.1.7 課題の設定指針
- 2.2 探索的データ分析
- 2.2.1 探索的データ分析の直感的理解2.2.2 データの理解
- 2.2.3 EDAプロセスの全体像2.2.3.1 EDAプロセスで用いられるツール
- 商標サンプル正誤表
- まえがき
- 第1章 ディープラーニングプロジェクトはなぜうまくいかないのか
- 1.1 本書がディープラーニングに注力する理由
- 1.2 なぜディープラーニングから学ぼうとするのか
- 1.3 ディープラーニングが採用される要因
- 1.4 ディープラーニングの現場での課題
- 1.5 AIテンプレートの重要性
- 1.6 本書で取り上げる内容
- 第2章 機械学習プロジェクトの標準プロセス[課題理解からメンテナンスまで]
- 2.1 ビジネス課題の理解
- 2.1.1 チームのスキル要件2.1.2 適切なチームの構築方法
- 2.1.3 データサイエンティストを雇うタイミング
- 2.1.4 ビジネス要件
- 2.1.5 ITインフラ要件
- 2.1.6 機械学習の採用基準の確立
- 2.1.7 課題の設定指針
- 2.2 探索的データ分析
- 2.2.1 探索的データ分析の直感的理解2.2.2 データの理解
- 2.2.3 EDAプロセスの全体像2.2.3.1 EDAプロセスで用いられるツール
- 2.2.4 評価指標の使用方法
- 2.2.5 EDAの繰り返し実行
- 2.2.6 パイプラインの不具合の調査方法
- 2.2.7 プロジェクト範囲の設定方法
- 2.2.8 プロジェクト期間の見積もり方法
- 2.2.9 問題の未然防止策
- 2.2.9.1 EDA結果の検証手順
- 2.3 モデル開発の下準備2.3.1 データ準備の最適化
- 2.3.2 モデルのアーキテクチャの最適化
- 2.3.3 データサイエンスのコンペティションの利用について
- 2.4 モデル開発2.4.1 経験(Experience)の実行
- 2.4.2 経験の実行ステップ
- 2.4.3 評価指標(Metrics:メトリクス)の理解
- 2.5 モデルのサービス展開(デプロイ)
- 2.5.1 サービス展開の要件2.5.2 モデルの公開方法
- 2.5.3 フロントエンドサービスの要件
- 2.5.4 クラウドへのサービス展開2.5.5 オンプレミスへのサービス展開
- 2.5.6 クラスタへのサービス展開2.5.6.1 Kubernetesへのサービス展開
- 2.5.6.2 クラスタのアーキテクチャ概要
- 2.5.7 ハードウェアの選択
- 2.5.7.1 特定用途のチップの利用
- 2.5.7.2 デフォルト値の利用2.5.8 サービス展開の準備
- 2.5.8.1 GDPRの取り扱い
- 2.5.8.2 ソフトウェアのバージョン管理2.5.8.3 モデルのサービス展開手順
- 2.5.8.4 データ処理方式
- 2.6 モデルの品質管理2.6.1 モデルのモニタリング
- 2.6.1.1 インフラストラクチャの指標2.6.1.2 機械学習のモデルの品質検査指標
- 2.6.2 SLAのモニタリング2.6.2.1 SLAの定義2.6.2.2 SLAの典型的な仕組み
- 2.6.2.3 SLAを満たしていない場合の対処方法2.6.3 モデルのメンテナンス
- 2.6.3.1 メンテナンスで生じる問題2.6.4 コンセプトの不安定さのモニタリング
- 2.6.4.1 コンセプトの不安定さが生じる代表例2.6.4.2 コンセプトの不安定さのテスト方法2.6.4.3 コンセプトの不安定さと戦う方法
- 2.6.5 オンラインでのモデルの再訓練
- 2.6.6 A/Bテスト
- 2.7 プロジェクトの検討項目としてのAIテンプレート
- 2.8 まとめ
- 第3章 ディープラーニングの基本構成
- 3.1 ニューラルネットワークの処理概要
- 3.1.1 ニューラルネットワークの情報伝達の仕組み
- 3.1.2 ニューラルネットの可視化―数学的な理解のために
- 3.2 ニューラルネットワーク処理プロセスの概要
- 3.3 ニューラルネットワークの学習
- 3.4 ニューラルネットワークの各機能3.4.1 重みとは3.4.2 バイアスとは
- 3.4.3 活性化関数とは3.4.3.1 隠れ層の活性化関数
- 3.4.3.2 回帰問題の出力層で使う活性化関数[恒等関数]
- 3.4.3.3 分類問題の出力層で使う活性化関数[シグモイド関数、ソフトマックス関数]
- 3.4.4 損失関数とは
- 3.4.4.1 回帰問題で用いられる損失関数
- 3.4.4.2 分類問題の損失関数
- 3.5 ニューラルネットワークの学習の動作3.5.1 最適化とは
- 3.5.2 勾配降下法とは
- 3.5.2.1 確率的勾配降下法3.5.2.2 ミニバッチ確率的勾配降下法
- 3.5.2.3 バッチ勾配降下法
- 3.5.3 局所解の問題
- 3.6 ニューラルネットワークの隠れ層の学習についての直感的理解
- 3.7 ニューラルネットワークの学習の割合や回数に関する指定3.7.1 (ミニ)バッチサイズ
- 3.7.2 イテレーション数3.7.3 エポック数3.7.4 学習率
- 3.8 ニューラルネットワークの評価
- 3.8.1 回帰問題の評価関数3.8.2 分類問題の評価関数
- 3.9 ディープニューラルネットとは
- 3.9.1 ディープニューラルネットの処理プロセスと構成
- 3.9.2 データの準備・整形3.9.2.1 データのベクトル化
- 3.9.2.2 ラベルエンコーディング3.9.2.3 one-hot エンコーディング
- 3.9.2.4 データの標準化
- 3.9.2.5 データ分割
- 3.9.3 ディープニューラルネットのモデルの実装
- 3.9.4 ディープニューラルネットにする意味
- 3.10 ディープニューラルネットの学習
- 3.10.1 誤差逆伝播法とは
- 3.10.2 数式を用いた誤差逆伝播法についての補足
- 3.10.2.1 計算グラフを用いた偏微分・連鎖律の理解
- 3.10.3 誤差逆伝播法の数式的理解
- 3.11 まとめ
- 第4章 畳み込みニューラルネットワークのメカニズムと意味をとらえる4.1 CNN の本質を理解するために4.1.1 立ちはだかる学習リソースとのギャップ
- 4.1.1.1 ギャップを埋めるためのチャレンジ
- 4.2 CNNの概要
- 4.2.1 CNN誕生の背景4.2.1.1 全結合型ニューラルネットワークから学ぶCNNの必要性
- 4.2.2 全結合型と畳み込みの違い
- 4.2.3 画像の入力データ
- 4.2.4 CNNの構成要素と操作
- 4.2.4.1 畳み込み層
- 4.2.4.2 プーリング(Pooling)層
- 4.2.4.3 プーリングの役割
- 4.2.4.4 CNNにおける全結合層
- 4.3 CNNの特徴4.3.1 カーネルの役割
- 4.3.2 CNNにとっての学習とは
- 4.3.3 畳み込みの階層構造
- 4.3.4 パラメータ共有(parameter sharing)
- 4.3.5 受容野
- 4.3.6 パディング
- 4.4 まとめ
- 第5章 再帰型ニューラルネットワークのメカニズムと意味をとらえる5.1 本章の目的
- 5.2 シーケンシャルデータとRNNの概要5.2.1 シーケンシャルデータ
- 5.2.2 RNNが必要な理由
- 5.2.3 RNNアーキテクチャの概要
- 5.2.4 RNNにおけるデータフロー
- 5.2.5 RNNのメモリ機能
- 5.2.6 RNNの操作フロー
- 5.3 LSTM5.3.1 LSTMの全体構成
- 5.3.2 LSTMセルの機能と動作
- 5.3.2.1 第1ステップ:忘却ゲート(Forget Gate)
- 5.3.2.2 第2ステップ:入力ゲート
- 5.3.2.3 第3ステップ:メモリセル
- 5.3.2.4 第4ステップ:出力ゲート
- 5.3.3 データの次元
- 5.3.3.1 入力データのベクトル表現
- 5.3.3.2 隠れ層のユニットのサイズ
- 5.3.3.3 ミニバッチの次元の設定
- 5.4 その他のトピックス5.4.1 RNNのバリエーションについて
- 5.5 まとめ
- 第6章 AI開発テンプレート適用のユースケース6.1 ビジネスのポイントと分析
- 6.2 機械学習に対応できるチームやプロジェクトの選定
- 6.3 課題の例:解約予測(Churn Prediction)
- 6.4 解約予測で考慮すべき内容
- 6.5 解約予測で用いる探索的データ分析
- 6.6 最初の機械学習の実験(Experiment)
- 6.7 モデルの構築方法
- 6.8 モデルの展開
- 6.9 解約予測モデルの維持管理
- 6.10 長期的に価値を維持するためにすべきこと
- 6.11 従来の解約予測と機械学習による方法の比較
- 6.12 おわりに
- Appendix AIテンプレートを実装したサンプルA.1 利用するデータセット
- A.2 サンプルの実行条件
- A.3 Docker上でのサンプルの実行手順
- INDEX
- 著者/訳者プロフィール
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。