概要
本書は,ディープラーニングによる画像認識を題材に,現場のプロジェクトで必要とされる知識をハンズオン形式で学習するための入門書です。ディープラーニング開発プロジェクトにおける「データ収集」「モデル実装」「データ準備」「学習」「評価」「性能向上」という6つのプロセスについて,それぞれの工程でどんなツールを使うのか,何をすれば良いのか,求められることや注意すべき点は何かなど,手を動かしながら理解を深めます。フレームワークの使い方を知っているだけではなく,ディープラーニングプロジェクトの全体像を正しく理解し,きちんと手を動かすことのできるAIエンジニアを目指すために役立つ基本の1冊です。
こんな方におすすめ
- ディープラーニング開発プロジェクトに関わることになった人
- AI業界への就職,転職を目指す学生やエンジニア
目次
第1章 機械学習/ディープラーニングの基礎知識
1.1 機械学習と深層学習(ディープラーニング)
1.2 ニューラルネットワークの学習
- 学習の流れ
- 学習の方法
- 勾配降下法
- 教師なしディープラーニング
1.3 畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)
- ニューラルネットワークの主要な層
- 工夫のために使用される層
- CNN
1.4 タスクとモデル
1.5 画像処理の基礎
- 開発環境の構築
- 画像データの形式
- 簡単な画像処理の実装
1.6 AIエンジニアに求められる素養
- 深い業務理解
- データの整理整頓
- 細やかなアノテーション
- 論文やサンプルコードを読む英語力
- AI以外のロジックを含めたソリューションを考える力
第2章 ディープラーニングプロジェクトの進め方
2.1 プロジェクトの全体像
- ディープラーニングプロジェクトの2つのパターン
- 業務への理解は必要不可欠
2.2 プロジェクトにおける各プロセスの役割と目的
- ディープラーニングプロジェクトの6つのプロセス
- プロセス:データの収集
- プロセス:モデルの実装
- プロセス:データの準備
- プロセス:学習
- プロセス:評価
- プロセス:性能向上
2.3 フレームワーク
環境
ハードウェア
- ディープラーニングのフレームワーク・ライブラリ
- ディープラーニング環境とハードウェア
- クラウドサービスの活用
第3章 VGGによる画像分類
3.1 モデルの実装
- VGGとは
- VGGの実装
- Loss関数とOptimizer
3.2 データの準備
- 学習データ・評価データの準備
- データオーグメンテーション
3.3 学習
- 学習環境について
- オンライン学習
- 学習曲線とTrain Loss
3.4 評価
- Confusion Matrixの作成
- 正解率・再現率・適合率
3.5 性能向上
- 原因の分析
- バッチ学習の利用
- 過学習
- トラブルシューティング
第4章 AutoEncoderによる正常・異常検知
4.1 モデルの実装
- AutoEncoderとは
- Convolutional AutoEncoderの実装
4.2 データの準備
- AutoEncoderのデータ準備
- データのダウンロード
4.3 AutoEncoderによる学習
4.4 評価
4.5 性能向上 159
- モデルの改善[グレースケール化・二値化]
- モデルの改善[データの整理・切り取り]
- モデルの改善[入力データの工夫・差分関数の調整]
- 閾値による精度調整
第5章 SSDによる物体検出
5.1 モデルの実装
5.2 データの準備
5.3 学習
- 転移学習とファインチューニング
- 学習のための準備
- 学習の実行
5.4 評価
- IoUとは
- IoUによる検出精度評価
- mAPの算出
5.5 性能向上
第6章 U-Netによる画像からの領域検出[実装~データの準備~学習]
6.1 モデルの実装
- U-Netとは
- U-Net(複数クラスセグメンテーション)の実装
6.2 データの準備
- Pascal VOCデータの準備
- マスク画像の確認
- 対象データの準備と確認
6.3 学習
- 学習用データと検証用データの分離
- データジェネレータの実装
- 学習の実装と実行
- ネットワークと学習の改良
第7章 U-Netによる画像からの領域検出[評価~性能向上~まとめ]
7.1 評価
7.2 性能向上
- オーグメンテーション―ランダムイレイズ/グレースケール化
- Loss関数の変更―Dice係数loss
7.3 実験のまとめ
サポート
ダウンロード
サンプルファイル
(2021年10月14日更新)
本書で使用しているサンプルファイル(ソースコード,学習データ等)を章ごとにダウンロードできます。中に含まれるデータやその利用方法は,本書の各章の解説をお読みください。また,章によっては前提となるディレクトリ構成が本文に記載されている場合があります。ご自身の作業用ディレクトリに適宜コピーするなどしてご利用ください。
第6章~第7章サンプル(chapter6_7.zip)において,下記のファイルを更新しました。2021年10月13日以前にダウンロードされた方は,お手数ですが再度ダウンロードをお願いいたします。
- list6-2-1.py
- list6-2-2.py
- utils/jupyter_utils.py
- ダウンロード
- 第1章(chapter1.zip)約320KB
- 第3章(chapter3.zip)約106MB
- 第4章(chapter4.zip)約12.2MB
- 第5章(chapter5.zip)約6.8GB
※サイズが大きいのでご注意ください
- 第6章~第7章(chapter6_7.zip)24KB(2021年10月14日更新)
正誤表
本書の記載内容に誤りがありました。お詫びして訂正いたします。
P.228 本文下から2行目
誤 |
また、同じ階層の「utils」ディレクトリにjupyter_utils.pyを作成します。
|
---|
正 |
また、同じ階層の「utils」ディレクトリに、本書のダウンロードサンプルファイル(chapter6_7.zip)に含まれるutils/jupyter_utils.pyを配置します。
|
---|
P.229 リスト6.2.1(10行目)
誤 |
from utilsjupyter_utils import ImageLinePlotter
|
正 |
from utils.jupyter_utils import ImageLinePlotter
|
---|