試験公開中

このエントリーをはてなブックマークに追加

ディープラーニング構築テンプレート[AIプロジェクトの必須事項と技術的指針]

インプレス

2,970円 (2,700円+税)

本書では、さまざまなAIプロジェクトでの経験を有するアダム・ギブソン氏が、ディープラーニングなどAIを活用したシステム化のキーポイントを説明します。また、ディープラーニングの使いこなしに役立つ本質的な知識も解説。

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

関連サイト

本書の関連ページが用意されています。

内容紹介

ディープラーニングは、近年のAIテクノロジーの中心的な存在です。企業でもこの技術を活用しようとする動きが増えてきていますが、ディープラーニングのシステム化に成功するには、そのための十分な知識が必要です。本書では、ディープラーニングフレームワークの開発者であり、さまざまなAIプロジェクトでの経験を有するアダム・ギブソン氏が、ディープラーニングなどAIを活用したシステム化のキーポイントを説明します。また、ディープラーニングの使いこなしに役立つ本質的な技術的知識も解説。今まさに現場でAI技術の実装を行っている方、AIプロジェクトの管理を行っている方に格好の内容となっています。

書誌情報

  • 著者: Adam Gibson, 新郷 美紀
  • 発行日: (紙書籍版発行日: 2020-09-23)
  • 最終更新日: 2020-09-23
  • バージョン: 1.0.0
  • ページ数: 272ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

データサイエンティストであり、作成したディープラーニングのモデルをアプリケーションに適用することや前処理などについて知識を深めたい方・アプリケーションエンジニアやデータエンジニアなどのシステムエンジニアであり、ディープラーニングを学びたい方・プロジェクト決定権を持つか、プロジェクトマネージャであり、ディープラーニングのプロジェクトでやるべきタスクがイメージできていない方

著者について

Adam Gibson

Konduit社のCTO。前職はSkymind社の共同経営者。2010年からオープンソースソフトウェアの開発を行っている。2012年にJavaベースの機械学習システムであるDeeplearning4jを発案。アメリカのミシガン州で育ち、数年間をシリコンバレーで過ごす。現在は東京在住。

新郷 美紀

現在、AI領域のソリューションアーキテクトとして活動中。東京工業大学卒、日本電気勤務。著書に『アプリケーションエンジニアのためのApache Spark入門』(秀和システム)がある。また『詳説Deep Learning―実務者のためのアプローチ』(オライリージャパン)の一部の翻訳を担当。2019年と2020年に世界の人物年鑑Who's Who in the WorldのScience and Engineering部門に選出された。

目次

まえがき

第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 LSTM
  • 5.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

著者/訳者プロフィール

Home 書籍一覧 ディープラーニング構築テンプレート[AIプロジェクトの必須事項と技術的指針] ▲ ページトップへ戻る