メディアのためのアルゴリズム
書籍情報
発売日 : 2023年08月23日
著者/編集 : 藤澤 公也/寺澤 卓也/羽田 久一
出版社 : コロナ社
発行形態 : 全集・双書
書籍説明
内容紹介
アルゴリズムの基本的な考え方から,さまざまな分野で使われる代表的なアルゴリズム(並べ替え,データ探索,経路探索,データの圧縮と展開,誤り検出・訂正,セキュリティ・暗号),人工知能や機械学習に関する内容まで解説。
目次
1.アルゴリズムの基本
1.1 アルゴリズムとは
1.2 データ構造
1.2.1 変数
1.2.2 配列
1.2.3 キュー
1.2.4 スタック
1.2.5 ポインタ
1.2.6 構造体
1.2.7 リスト
1.2.8 木構造
1.2.9 連想配列
1.3 アルゴリズムからプログラムへ
1.3.1 条件分岐と繰返し
1.3.2 サブルーチン
1.3.3 再帰
1.3.4 アルゴリズムの表現
1.3.5 手続き型とオブジェクト指向
1.3.6 実行可能プログラムへの変換
1.4 計算量
演習問題
2.並べ替え
2.1 ソートとは
2.2 さまざまなソートアルゴリズム
2.2.1 バブルソート
2.2.2 挿入ソート
2.2.3 選択ソート
2.2.4 マージソート
2.2.5 クイックソート
演習問題
3.データ探索
3.1 データ探索とは
3.2 線形探索
3.3 二分探索
3.4 ハッシュ探索
3.5 木構造の探索
3.6 コンピュータグラフィックスや画像検索での応用
3.6.1 BVH
3.6.2 k-dtree
3.6.3 SIFT
演習問題
4.経路探索
4.1 経路探索とは
4.2 ダイクストラ法
4.3 A*アルゴリズム
4.4 ベルマン-フォード法
4.5 インターネットでの経路探索
4.5.1 RIP
4.5.2 OSPF
演習問題
5.データの圧縮と展開
5.1 データ圧縮とその応用
5.2 可逆圧縮と非可逆圧縮
5.3 ランレングス圧縮
5.4 ハフマン符号化
5.5 LZ 法
5.6 画像の圧縮
5.6.1 可逆な画像圧縮
5.6.2 非可逆な画像圧縮
5.7 メディアデータの圧縮
5.7.1 音声データの圧縮
5.7.2 動画データの圧縮
演習問題
6.誤り検出と訂正
6.1 誤り検出と誤り訂正
6.2 パリティとチェックディジットによる誤り検出
6.2.1 パリティチェック
6.2.2 チェックディジット
6.3 誤り訂正の基礎
6.4 ハミング符合による誤り訂正
6.5 誤り訂正符号の応用
演習問題
7.データの暗号化
7.1 ディジタルデータと暗号化
7.1.1 暗号とは
7.1.2 暗号とメディアコンテンツ
7.1.3 共通鍵暗号と公開鍵暗号
7.2 暗号処理の基礎
7.3 暗号の歴史
7.3.1 古代の暗号
7.3.2 シーザー暗号
7.3.3 古典的な暗号
7.3.4 近代の暗号
7.4 共通鍵暗号
7.4.1 ストリーム暗号とブロック暗号
7.4.2 DESとAES
7.5 公開鍵暗号
7.6 RSA暗号
7.6.1 RSA暗号とは
7.6.2 RSA暗号の実際
7.6.3 RSA暗号の仕組み
7.6.4 RSA暗号とディジタル署名
7.7 暗号とインターネット
演習問題
8.人工知能と機械学習
8.1 人工知能とは
8.1.1 強いAIと弱いAI
8.1.2 人工知能の歴史
8.1.3 人工知能を実現する技術
8.2 機械学習とは
8.2.1 学習の対象
8.2.2 機械学習の仕組み
8.2.3 学習結果による予測と分類
8.3 機械学習の種類
8.3.1 教師あり学習
8.3.2 教師なし学習
8.3.3 強化学習
8.3.4 生成モデル
演習問題
9.ニューラルネットワークによる機械学習
9.1 ニューラルネットワークとは
9.1.1 ニューラルネットワークの仕組み
9.1.2 ニューラルネットワークの構造
9.2 ニューラルネットワークのモデル化
9.2.1 ニューロンのモデル化
9.2.2 ネットワークのモデル化
9.3 ニューラルネットワークの学習の仕組み
9.3.1 ニューラルネットワークにおける予測
9.3.2 最適化と損失関数
9.3.3 勾配法
9.3.4 バックプロパゲーション
9.3.5 勾配消失問題
9.4 ニューラルネットワークの実装
9.4.1 ニューラルネットワーク演算の行列演算表現
9.4.2 ニューラルネットワーク機械学習ライブラリ
演習問題
10.畳み込みニューラルネットワーク
10.1 畳み込みニューラルネットワークとは
10.1.1 空間フィルタリングと畳み込み
10.1.2 畳み込みと畳み込みニューラルネットワーク
10.2 畳み込み層とプーリング層
10.2.1 畳み込み層
10.2.2 プーリング層
10.2.3 畳み込みとプーリングを使ったネットワーク構造
10.3 カラー画像などの多層画像における畳み込み
10.4 畳み込みにおける外周処理
演習問題
11.ニューラルネットワークの学習効率化
11.1 バッチノーマライゼーション
11.1.1 バッチ処理
11.1.2 バッチデータの偏り
11.1.3 バッチノーマライゼーションによるデータの正規化
11.2 ドロップアウト
11.2.1 過学習
11.2.2 過学習の監視
11.2.3 ドロップアウトによる過学習の抑制
11.3 転移学習とファインチューニング
11.3.1 転移学習
11.3.2 ファインチューニング
演習問題
12.深層学習とその応用
12.1 深層学習
12.1.1 深層学習におけるGPUの利用
12.1.2 深層学習のネットワークモデル
12.2 物体検出
12.2.1 矩形による物体検出
12.2.2 物体検出における領域検出方法
12.2.3 物体検出のネットワークモデル
12.2.4 物体検出の学習に必要なデータ
12.2.5 アノテーションツール:Coco-Annotator
12.3 姿勢推定
12.3.1 キーポイント検出
12.3.2 キーポイント検出の二つのアプローチ
12.3.3 姿勢推定のネットワークモデル
12.4 生成モデル
12.4.1 VAE
12.4.2 GAN
12.4.3 GANの発展的手法
演習問題
13.人工知能のさまざまな技術と応用
13.1 時系列データの学習
13.1.1 RNN
13.1.2 LSTM
13.1.3 GRU
13.1.4 自然言語処理での活用
13.2 強化学習
13.2.1 強化学習と深層強化学習
13.2.2 強化学習の実例
13.3 画像生成の応用
13.3.1 画像変換
13.3.2 文章からの画像生成
13.3.3 異常検知
演習問題
引用・参考文献
索引
1.1 アルゴリズムとは
1.2 データ構造
1.2.1 変数
1.2.2 配列
1.2.3 キュー
1.2.4 スタック
1.2.5 ポインタ
1.2.6 構造体
1.2.7 リスト
1.2.8 木構造
1.2.9 連想配列
1.3 アルゴリズムからプログラムへ
1.3.1 条件分岐と繰返し
1.3.2 サブルーチン
1.3.3 再帰
1.3.4 アルゴリズムの表現
1.3.5 手続き型とオブジェクト指向
1.3.6 実行可能プログラムへの変換
1.4 計算量
演習問題
2.並べ替え
2.1 ソートとは
2.2 さまざまなソートアルゴリズム
2.2.1 バブルソート
2.2.2 挿入ソート
2.2.3 選択ソート
2.2.4 マージソート
2.2.5 クイックソート
演習問題
3.データ探索
3.1 データ探索とは
3.2 線形探索
3.3 二分探索
3.4 ハッシュ探索
3.5 木構造の探索
3.6 コンピュータグラフィックスや画像検索での応用
3.6.1 BVH
3.6.2 k-dtree
3.6.3 SIFT
演習問題
4.経路探索
4.1 経路探索とは
4.2 ダイクストラ法
4.3 A*アルゴリズム
4.4 ベルマン-フォード法
4.5 インターネットでの経路探索
4.5.1 RIP
4.5.2 OSPF
演習問題
5.データの圧縮と展開
5.1 データ圧縮とその応用
5.2 可逆圧縮と非可逆圧縮
5.3 ランレングス圧縮
5.4 ハフマン符号化
5.5 LZ 法
5.6 画像の圧縮
5.6.1 可逆な画像圧縮
5.6.2 非可逆な画像圧縮
5.7 メディアデータの圧縮
5.7.1 音声データの圧縮
5.7.2 動画データの圧縮
演習問題
6.誤り検出と訂正
6.1 誤り検出と誤り訂正
6.2 パリティとチェックディジットによる誤り検出
6.2.1 パリティチェック
6.2.2 チェックディジット
6.3 誤り訂正の基礎
6.4 ハミング符合による誤り訂正
6.5 誤り訂正符号の応用
演習問題
7.データの暗号化
7.1 ディジタルデータと暗号化
7.1.1 暗号とは
7.1.2 暗号とメディアコンテンツ
7.1.3 共通鍵暗号と公開鍵暗号
7.2 暗号処理の基礎
7.3 暗号の歴史
7.3.1 古代の暗号
7.3.2 シーザー暗号
7.3.3 古典的な暗号
7.3.4 近代の暗号
7.4 共通鍵暗号
7.4.1 ストリーム暗号とブロック暗号
7.4.2 DESとAES
7.5 公開鍵暗号
7.6 RSA暗号
7.6.1 RSA暗号とは
7.6.2 RSA暗号の実際
7.6.3 RSA暗号の仕組み
7.6.4 RSA暗号とディジタル署名
7.7 暗号とインターネット
演習問題
8.人工知能と機械学習
8.1 人工知能とは
8.1.1 強いAIと弱いAI
8.1.2 人工知能の歴史
8.1.3 人工知能を実現する技術
8.2 機械学習とは
8.2.1 学習の対象
8.2.2 機械学習の仕組み
8.2.3 学習結果による予測と分類
8.3 機械学習の種類
8.3.1 教師あり学習
8.3.2 教師なし学習
8.3.3 強化学習
8.3.4 生成モデル
演習問題
9.ニューラルネットワークによる機械学習
9.1 ニューラルネットワークとは
9.1.1 ニューラルネットワークの仕組み
9.1.2 ニューラルネットワークの構造
9.2 ニューラルネットワークのモデル化
9.2.1 ニューロンのモデル化
9.2.2 ネットワークのモデル化
9.3 ニューラルネットワークの学習の仕組み
9.3.1 ニューラルネットワークにおける予測
9.3.2 最適化と損失関数
9.3.3 勾配法
9.3.4 バックプロパゲーション
9.3.5 勾配消失問題
9.4 ニューラルネットワークの実装
9.4.1 ニューラルネットワーク演算の行列演算表現
9.4.2 ニューラルネットワーク機械学習ライブラリ
演習問題
10.畳み込みニューラルネットワーク
10.1 畳み込みニューラルネットワークとは
10.1.1 空間フィルタリングと畳み込み
10.1.2 畳み込みと畳み込みニューラルネットワーク
10.2 畳み込み層とプーリング層
10.2.1 畳み込み層
10.2.2 プーリング層
10.2.3 畳み込みとプーリングを使ったネットワーク構造
10.3 カラー画像などの多層画像における畳み込み
10.4 畳み込みにおける外周処理
演習問題
11.ニューラルネットワークの学習効率化
11.1 バッチノーマライゼーション
11.1.1 バッチ処理
11.1.2 バッチデータの偏り
11.1.3 バッチノーマライゼーションによるデータの正規化
11.2 ドロップアウト
11.2.1 過学習
11.2.2 過学習の監視
11.2.3 ドロップアウトによる過学習の抑制
11.3 転移学習とファインチューニング
11.3.1 転移学習
11.3.2 ファインチューニング
演習問題
12.深層学習とその応用
12.1 深層学習
12.1.1 深層学習におけるGPUの利用
12.1.2 深層学習のネットワークモデル
12.2 物体検出
12.2.1 矩形による物体検出
12.2.2 物体検出における領域検出方法
12.2.3 物体検出のネットワークモデル
12.2.4 物体検出の学習に必要なデータ
12.2.5 アノテーションツール:Coco-Annotator
12.3 姿勢推定
12.3.1 キーポイント検出
12.3.2 キーポイント検出の二つのアプローチ
12.3.3 姿勢推定のネットワークモデル
12.4 生成モデル
12.4.1 VAE
12.4.2 GAN
12.4.3 GANの発展的手法
演習問題
13.人工知能のさまざまな技術と応用
13.1 時系列データの学習
13.1.1 RNN
13.1.2 LSTM
13.1.3 GRU
13.1.4 自然言語処理での活用
13.2 強化学習
13.2.1 強化学習と深層強化学習
13.2.2 強化学習の実例
13.3 画像生成の応用
13.3.1 画像変換
13.3.2 文章からの画像生成
13.3.3 異常検知
演習問題
引用・参考文献
索引
著者情報
藤澤 公也
藤澤, 公也
寺澤 卓也
寺澤, 卓也
羽田 久一
羽田, 久一