【本書の内容】
本書は
Rishal Hurbans, "Grokking Artificial Intelligence Algorithms",
Manning Publishing, 2021
の邦訳です。
ここ十数年の(ハードウェアを始めとするさまざまな)進歩によって、想像をはるかに超える規模の、人工知能へのハイウェイが整備されてきました。
本書は、そのハイウェイを高速で走行しながら、周囲の景色や走行時の注意事項、交通法規を図や例題・演習などで理解を促します。
目的地は、AIのコアを形成するアルゴリズムの理解と構築です。
取り上げるアルゴリズムは、画像内のオブジェクトの識別やテキストの意味の解釈、不正や異常を検知するパターン検索などを、効率よく・手際よく行う手法です。
とはいえ、それぞれを仔細に論じることはありません。かといって、大雑把な地図を広げるだけでもありません。
本書はあくまでもAIに興味のある読者自身が走行するハイウェイの見どころと、有用なアイテムを提供するだけです。
アイテムのほとんどは高校レベルの代数学ですし、図を多用することで数式は極力排除しています。Pythonが多少わかれば、すぐにでもハイウェイをぶっ飛ばせます!!
【本書のポイント】
・小難しい理屈をイタズラ描きのような図で解説
・直観的にAIの問題と解決を把握できる
・理解を促すための演習問題
・迷路パズルゲームやドローンの最適化問題など実開発の練習
【読者が得られること】
・人工知能を構成するアルゴリズムの理解
・統計・分析/解析だけにとどまらない未来
・スキルアップのための底力
【著者について】
リシャル・ハーバンズは、技術者、スタートアップ、AIグループの創設者であり、国際的なスピーカーです。
本書は、Rishal Hurbans著『Grokking Artificial Intelligence Algorithms』(Manning Publishing, 2021)の邦訳です。人工知能アルゴリズムと問題解決における用途を理解して実装する方法をわかりやすく説明しています。関連する例え、実例、イラストを交えた、テクノロジ業界の一般的な人にとってよりわかりやすい内容になっています。
本書は10の章で構成されています。各章はそれぞれ異なる人工知能アルゴリズムやアプローチに焦点を合わせています。最初に基本的なアルゴリズムと概念を取り上げ、それ以降の章でさらに高度なアルゴリズムの基礎固めをします。
詳細な理論と数学的な証明に基づく実例とイラストを使い、わかりやすく説明しています。
本書で説明しているすべてのアルゴリズムに対して、GitHubリポジトリでPythonコードの例を提供しています。ソースコードには、セットアップの手順と学習の参考になるコメントが含まれています。
第1章 人工知能を直観的に理解する
1.1 人工知能とは何か
1.2 人工知能の略史
1.3 問題の種類と問題解決のパラダイム
1.4 人工知能の概念を直観的に理解する
1.5 人工知能アルゴリズムの用途
本章のまとめ
第2章 探索の基礎
2.1 計画と探索
2.2 計算のコスト:スマートアルゴリズムの意義
2.3 探索アルゴリズムに適用できる問題
2.4 状態を表現する:問題空間と解を表すフレームワークの作成
2.5 知識なし探索:盲目的な解の探索
2.6 幅優先探索:深さよりも幅を優先する探索
2.7 深さ優先探索:幅よりも深さを優先する探索
2.8 知識なし探索アルゴリズムのユースケース
2.9 補足情報:グラフの種類について
2.10 補足情報:グラフを表すその他の方法
本章のまとめ
第3章 知的探索
3.1 ヒューリスティクスの定義:知識に基づく推測
3.2 知識あり探索:ガイダンスに従って解を求める
3.3 敵対探索:変化する環境で解を求める
本章のまとめ
第4章 進化的アルゴリズム
4.1 進化とは何か
4.2 進化的アルゴリズムに適用できる問題
4.3 遺伝的アルゴリズム:ライフサイクル
4.4 解空間をコード化する
4.5 解の個体群を作成する
4.6 各個体の適合度を計測する
4.7 親を適合度に基づいて選択する
4.8 親から個体を繁殖させる
4.9 次の世代を選択する
4.10 遺伝的アルゴリズムのパラメータを設定する
4.11 遺伝的アルゴリズムのユースケース
本章のまとめ
第5章 高度な進化的アプローチ
5.1 進化的アルゴリズムのライフサイクル
5.2 別の選択方式
5.3 実数値エンコーディング:実数を扱う
5.4 順序エンコーディング:シーケンスを扱う
5.5 木構造エンコーディング:階層を扱う
5.6 一般的な進化的アルゴリズム
5.7 進化的アルゴリズムの用語集
5.8 進化的アルゴリズムの他のユースケース
本章のまとめ
第6章 群知能:蟻
6.1 群知能とは何か
6.2 蟻コロニー最適化に適用できる問題
6.3 状態の表現:経路と蟻をどのように表すか
6.4 蟻コロニー最適化アルゴリズムのライフサイクル
6.5 蟻コロニー最適化アルゴリズムのユースケース
本章のまとめ
第7章 群知能:粒子
7.1 粒子群最適化とは何か
7.2 より技術的な観点から見た最適化問題
7.3 粒子群最適化に適した問題
7.4 状態の表現:粒子はどのように表されるか
7.5 粒子群最適化のライフサイクル
7.6 粒子群最適化アルゴリズムのユースケース
本章のまとめ
第8章 機械学習
8.1 機械学習とは何か
8.2 機械学習に適用できる問題
8.3 機械学習のワークフロー
8.4 決定木による分類
8.5 よく知られているその他の機械学習アルゴリズム
8.6 機械学習アルゴリズムのユースケース
本章のまとめ
第9章 人工ニューラルネットワーク
9.1 人工ニューラルネットワークとは何か
9.2 パーセプトロン:ニューロンの表現
9.3 人工ニューラルネットワークを定義する
9.4 順伝播:訓練済みの人工ニューラルネットワークを使う
9.5 逆伝播:人工ニューラルネットワークを訓練する
9.6 活性化関数の選択肢
9.7 人工ニューラルネットワークを設計する
9.8 人工ニューラルネットワークの種類とユースケース
本章のまとめ
第10章 Q学習による強化学習
10.1 強化学習とは何か
10.2 強化学習に適用できる問題
10.3 強化学習のライフサイクル
10.4 ディープラーニングによる強化学習
10.5 強化学習のユースケース
本章のまとめ