最新のAI開発プラットフォームで
機械学習・深層学習・強化学習の
基礎技術を学ぼう!
【本書の概要】
本書はUdemyで大人気の講座
『AIパーフェクトマスター講座 -Google Colaboratoryで隅々まで学ぶ実用的な人工知能/機械学習-』をもとにした書籍です。
・機械学習(回帰、k平均法、サポートベクターマシン)
・深層学習(画像識別や画像生成、RNN)
・強化学習(Cart Pole問題、深層強化学習)
といった、AI開発でニーズの高い人工知能技術を、深層学習を中心に解説しています。
また本書ではサンプルを用意していますので、サンプルを動かしながら、AI技術の仕組みを理解できます。
開発環境にはGoogle Colaboratoryを使用します。
【Google Colaboratoryとは】
ブラウザ上で利用できる機械学習や深層学習向けの開発環境です。
GPUを無料で利用できるので、コードの実行時間を大幅に短縮できます。
【本書ポイント】
・機械学習・深層学習・強化学習の基礎知識を一気に学べる
・Pythonでコードを動かしながら機械学習・深層学習・強化学習の理論を学べる
【対象読者】
・何らかのプログラミング経験のある方
・機械学習・深層学習・強化学習を学ぶ意欲のある方
・高校数学以上の数学知識のある方
【著者プロフィール】
我妻幸長(あづま・ゆきなが)
SAI-Lab株式会社を起業。「ヒトとAIの共生」がミッション。
人工知能(AI)関連の研究開発、教育、アプリ開発が主な事業。
著者のYouTubeチャンネルでは、無料の講座が多数公開されている。
Chapter 0 イントロダクション
0.1 はじめに
Chapter 1 人工知能、ディープラーニングの概要
1.1 人工知能の概要
1.2 人工知能の活用例
1.3 人工知能の歴史
1.4 Chapter 1のまとめ
Chapter 2 開発環境
2.1 Google Colaboratoryのはじめ方
2.2 セッションとインスタンス
2.3 CPUとGPU
2.4 Google Colaboratoryの様々な機能
2.5 Chapter 2のまとめ
Chapter 3 Pythonの基礎
3.1 Pythonの基礎
3.2 NumPyの基礎
3.3 matplotlibの基礎
3.4 pandasの基礎
3.5 演習
3.6 解答例
3.7 Chapter 3のまとめ
Chapter 4 簡単なディープラーニング
4.1 ディープラーニングの概要
4.2 シンプルなディープラーニングの実装
4.3 様々なニューラルネットワーク
4.4 演習
4.5 解答例
4.6 Chapter 4のまとめ
Chapter 5 ディープラーニングの理論
5.1 数学の基礎
5.2 単一ニューロンの計算
5.3 活性化関数
5.4 順伝播と逆伝播
5.5 行列と行列積
5.6 層間の計算
5.7 微分の基礎
5.8 損失関数
5.9 勾配降下法
5.10 出力層の勾配
5.11 中間層の勾配
5.12 エポックとバッチ
5.13 最適化アルゴリズム
5.14 演習
5.15 解答例
5.16 Chapter 5のまとめ
Chapter 6 様々な機械学習の手法
6.1 回帰
6.2 k平均法
6.3 サポートベクターマシン
6.4 演習
6.5 解答例
6.6 Chapter 6のまとめ
Chapter 7 畳み込みニューラルネットワーク(CNN)
7.1 CNNの概要
7.2 畳み込みとプーリング
7.3 im2colとcol2im
7.4 畳み込みの実装
7.5 プーリングの実装
7.6 CNNの実装
7.7 データ拡張
7.8 演習
7.9 Chapter 7のまとめ
Chapter 8 再帰型ニューラルネットワーク(RNN)
8.1 RNNの概要
8.2 シンプルなRNNの実装
8.3 LSTMの概要
8.4 シンプルなLSTMの実装
8.5 GRUの概要
8.6 シンプルなGRUの実装
8.7 RNNによる文章の自動生成
8.8 自然言語処理の概要
8.9 演習
8.10 解答例
8.11 Chapter 8のまとめ
Chapter 9 変分オートエンコーダ(VAE)
9.1 VAEの概要
9.2 VAEの仕組み
9.3 オートエンコーダの実装
9.4 VAEの実装
9.5 さらにVAEを学びたい方のために
9.6 演習
9.7 Chapter 9のまとめ
Chapter 10 敵対的生成ネットワーク(GAN)
10.1 GANの概要
10.2 GANの仕組み
10.3 GANの実装
10.4 さらにGANを学びたい方のために
10.5 演習
10.6 解答例
10.7 Chapter 10のまとめ
Chapter 11 強化学習
11.1 強化学習の概要
11.2 強化学習のアルゴリズム
11.3 深層強化学習の概要
11.4 Cart Pole問題
11.5 深層強化学習の実装
11.6 月面着陸船の制御―概要―
11.7 月面着陸船の制御―実装―
11.8 演習
11.9 解答例
11.10 Chapter 11のまとめ
Chapter 12 転移学習
12.1 転移学習の概要
12.2 転移学習の実装
12.3 ファインチューニングの実装
12.4 演習
12.5 解答例
12.6 Chapter 12のまとめ
Appendix さらに学びたい方のために
AP.1 著書
AP.2 オンライン講座
AP.3 YouTubeチャンネル
お問い合わせ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォーム からお送りください。
利用許諾に関するお問い合わせ
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォーム から申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちら からお問い合わせください。
ご購入いただいた書籍の種類を選択してください。
書籍・SEshop限定PDF
電子書籍
刷数は奥付(書籍の最終ページ)に記載されています。
現在表示されている正誤表の対象書籍
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
正誤表を選びなおす
最終更新日:2023年11月28日
発生刷
ページ数
書籍改訂刷
電子書籍訂正
内容
登録日
1刷
042
リスト3.5
inの下から2行目のコメント
3刷
済
2022.12.05
1刷
073
上から1-2行目
2刷
済
誤
そして、中間色はこれらの中間の値の 表します。
正
そして、中間色はこれらの中間の値を 表します。
備
考
※リフローEPUBの場合、「3-3-6 画像の表示」の「Out」の図の下にある段落が該当箇所になります。
2022.02.02
1刷
096
リスト4.2 in 上から2行目と下から3行目(ライブラリのバージョンアップによる修正)
未
未
誤
・・・
from keras.utils import np_utils
・・・
t = np_utils.to_categorical(iris.target)
正
・・・
import tensorflow as tf
・・・
t = tf.keras.utils.to_categorical(iris.target)
備
考
※リフローEPUBの場合は「下から3行目」ではなく「下から2行目」になります。
2023.10.11
1刷
110
リスト4.10 in 上から5行目、下から空行ふくめて4行目(ライブラリのバージョンアップによる修正)
未
未
誤
…
from keras.utils import np_utils
…
t = np_utils.to_categorical(iris.target)
正
…
import tensorflow as tf
…
t = tf.keras.utils.to_categorical(iris.target)
備
考
※リフローEPUBの場合、「下から空行ふくめて4行目」ではなく「下から空行ふくめて3行目」になります。
2023.10.13
1刷
160
式5.10.6の下の文章、式5.10.7の左辺分母の記載
3刷
済
誤
・式5.10.6の下の文章
これは、損失関数である二乗和誤差を出力x k で偏微分することにより求めることができます。
・式5.10.7の左辺分母の記載
正
・式5.10.6の下の文章
これは、損失関数である二乗和誤差を出力y k で偏微分することにより求めることができます。
・式5.10.7の左辺分母の記載
2022.04.28
1刷
297
リスト8.14の結果(Out)のグラフ(右上の凡例も変更)
2刷
済
誤
(画像クリックで拡大)
正
(画像クリックで拡大)
2022.03.24
1刷
298
リスト8.15の結果(Out)のグラフ(右上の凡例も変更)
2刷
済
誤
(画像クリックで拡大)
正
(画像クリックで拡大)
2022.02.02
1刷
364
リスト10.2 (ライブラリのバージョンアップによる修正)
未
未
誤
from tensorflow.keras.optimizers import Adam
optimizer = Adam(0.0002, 0.5)
正
from tensorflow.keras.optimizers.legacy import Adam
from tensorflow.keras.utils import disable_interactive_logging
disable_interactive_logging()
optimizer = Adam(0.0002, 0.5)
2023.11.24
1刷
412
リスト11.8 (ライブラリのバージョンアップによる修正)
未
未
誤
!apt install swig cmake libopenmpi-dev zlib1g-dev
!pip install stable-baselines==2.5.1 box2d box2d-kengz pyvirtualdisplay
!apt-get install -y xvfb python-opengl ffmpeg
!pip install tensorflow==1.14
正
!pip install setuptools==65.5.1 wheel==0.38.4 -U
!apt-get update
!apt install swig cmake libopenmpi-dev zlib1g-dev
!pip install stable-baselines3==1.6.0 box2d box2d-kengz pyvirtualdisplay
!apt-get install -y xvfb freeglut3-dev ffmpeg
!pip install PyOpenGL PyOpenGL_accelerate
!pip install pyglet==1.5.27
!pip uninstall box2d-py
!pip install box2d-py
2023.11.28
1刷
413
リスト11.9(ライブラリのバージョンアップによる修正)
未
未
誤
import os
import io
import glob
import base64
import gym
from gym.wrappers import Monitor
import numpy as np
from stable_baselines.deepq.policies import MlpPolicy # 2層のニューラルネットワーク
from stable_baselines.common.vec_env import DummyVecEnv # ベクトル化環境
from stable_baselines import DQN
from stable_baselines.common.vec_env import VecVideoRecorder
from IPython import display as ipythondisplay
from IPython.display import HTML
import warnings
warnings.filterwarnings("ignore")
正
import os
import io
import glob
import base64
import gym
import numpy as np
from stable_baselines3.common.vec_env import DummyVecEnv # ベクトル化環境
from stable_baselines3 import DQN
from stable_baselines3.common.vec_env import VecVideoRecorder
from IPython import display as ipythondisplay
from IPython.display import HTML
import warnings
warnings.filterwarnings("ignore")
2023.11.28
1刷
415,416
リスト11.13 (MlpPolicyを"MlpPolicy"に修正)
未
未
誤
env = VecVideoRecorder(env_vec, video_folder="videos_before_train/", # 動画記録の設定
record_video_trigger=lambda step: step == 0, video_length=500,
name_prefix="")
model = DQN(MlpPolicy, env, verbose=0) # DQNの設定
ave_reward, n_episode = evaluate(env, model, n_step=10000, n_ave=100) # モデルの評価
print("ave_reward:", ave_reward, "n_episode:", n_episode)
正
env = VecVideoRecorder(env_vec, video_folder="videos_before_train/", # 動画記録の設定
record_video_trigger=lambda step: step == 0, video_length=500,
name_prefix="")
model = DQN("MlpPolicy", env, verbose=0) # DQNの設定
ave_reward, n_episode = evaluate(env, model, n_step=10000, n_ave=100) # モデルの評価
print("ave_reward:", ave_reward, "n_episode:", n_episode)
2023.11.28
1刷
417
リスト11.15(MlpPolicyを"MlpPolicy"に修正)
未
未
誤
trained_model = DQN(MlpPolicy, env_vec, verbose=0) # モデルの初期化
trained_model.learn(total_timesteps=100000) # モデルの訓練
trained_model.save("lunar_lander_control") # モデルの保存
正
trained_model = DQN("MlpPolicy", env_vec, verbose=0) # モデルの初期化
trained_model.learn(total_timesteps=100000) # モデルの訓練
trained_model.save("lunar_lander_control") # モデルの保存
2023.11.28