内容説明
Pythonによるプログラミングを行いつつ人工知能、機械学習の仕組みを学ぶ。新しい技術である「追加学習」のやさしい解説を通して、現在の機械学習が抱える問題点・限界を示し、読者により深い理解をもたらすことを目指す。
目次
1.人工知能とは
1.1 人工知能の定義と歴史
1.2 人工知能における機械学習とは
2.機械学習の基礎
2.1 プロトタイプとパターン認識
2.2 ベイズ識別境界
2.3 識別境界線の表現方法
課題
3.ニューラルネットワーク
3.1 ニューロンとそのモデル
3.1.1 ニューロンの工学的モデル
3.1.2 形式ニューロンモデルを使った情報処理
3.2 単層ニューラルネットワークの構築
3.2.1 最近傍法と等価なパーセプトロン
3.2.2 必要なデータ構造
3.3 3層ニューラルネットワークの構築
3.3.1 学習法
3.3.2 誤差逆伝搬法
3.3.3 多層パーセプトロンのプログラム
3.3.4 実行例
3.4 ニューラルネットワークの評価
3.4.1 タスクと評価関数
3.4.2 汎化能力とその計測手法
3.5 3層以上のニューラルネットワークの構築
3.5.1 PyTorchを使った多層ニューラルネットワークの構築
3.5.2 実行準備
3.5.3 実行
3.5.4 ドロップアウト法の追加
課題
4.追加学習
4.1 破滅的忘却
4.2 再学習を行わせる手法
4.2.1 手法および実装例
4.2.2 実行例
4.3 一部のパラメータの変化量を制限する手法
4.3.1 手法の解説
4.3.2 実装例
4.3.3 実行例
4.4 忘却を起こしにくい学習機械の使用
4.4.1 双子ニューラルネットワーク
4.4.2 双子ニューラルネットワークを使った少数ショット学習プログラム
4.4.3 学習アルゴリズムとデータセットの準備
4.4.4 実行例
4.5 その他の手法
課題
付録:オブジェクト指向言語Python
引用・参考文献
課題解答例
おわりに
索引