Google Colaboratoryで学ぶ!あたらしい人工知能技術の教科書 第2版 機械学習・深層学習・強化学習で学ぶAIの基礎技術(我妻 幸長)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Google Colaboratoryで学ぶ!あたらしい人工知能技術の教科書 第2版 機械学習・深層学習・強化学習で学ぶAIの基礎技術

Google Colaboratoryで学ぶ!あたらしい人工知能技術の教科書 第2版 機械学習・深層学習・強化学習で学ぶAIの基礎技術


形式:
書籍
発売日:
ISBN:
9784798186092
定価:
3,850(本体3,500円+税10%)
仕様:
A5・488ページ
カテゴリ:
人工知能・機械学習
キーワード:
#プログラミング,#開発手法,#データ・データベース,#ビジネスIT
シリーズ:
AI & TECHNOLOGY
紙の書籍

待望の第2版!
定番のAI開発プラットフォームで
機械学習や深層学習、強化学習、転移学習の
基礎を習得

【本書の概要】
本書はUdemyで大人気の講座 『AIパーフェクトマスター講座 -Google Colaboratoryで隅々まで学ぶ実用的な人工知能/機械学習-』をもとにした書籍です。
●機械学習(回帰、k平均法、サポートベクターマシン)
●深層学習(画像識別や画像生成、RNN)
●強化学習(Cart Pole問題、深層強化学習)
などのAI開発で必要となる人工知能技術について解説します。
サンプルを動かしながら、AI技術の仕組みを理解できます。
開発環境にはGoogle Colaboratoryを使用します。

【Google Colaboratoryとは】
ブラウザ上で利用できる機械学習や深層学習向けの開発環境です。
GPUを無料で利用できるので、コードの実行時間を大幅に短縮できます。

【本書ポイント】
●機械学習・深層学習・強化学習の基礎知識を一気に学べる
●Pythonでコードを動かしながら機械学習・深層学習・強化学習の理論を学べる

【第2版の変更点】
●Google Colaboratory環境のアップデート(2024年8月時点)
●各種ライブラリのアップデート
●データセット(住宅データ)の変更

【対象読者】
●何らかのプログラミング経験のある方
●機械学習・深層学習・強化学習を学ぶ意欲のある方
●高校数学以上の数学知識のある方

【著者プロフィール】
我妻幸長(あづま・ゆきなが)
SAI-Lab株式会社を起業。「ヒトとAIの共生」がミッション。人工知能(AI)関連の研究開発、教育、アプリ開発が主な事業。著者のYouTubeチャンネルでは、無料の講座が多数公開されている。

画像
02
03

Google Colaboratoryを使って学習できる

本書は開発環境にGoogle Colaboratoryを利用しています。Google ColaboratoryはGoogleアカウントさえあればWeb上で誰でも利用できます。無料でGPUを利用できるので、コードの実行時間を短縮できます。

04

機械学習・深層学習・強化学習の基礎知識を一気に学べる

機械学習(回帰、k平均法、サポートベクターマシン)、深層学習(画像識別や画像生成、RNN)、強化学習(Cart Pole問題、深層強化学習)などのAI開発で必要となる人工知能技術を一気に学ぶことができます。

05

理論とPythonによる実装方法を丁寧に解説

AI技術の基本的な理論について、図やチャプターによっては数式を交えながら解説。その後、Pythonを使った実装方法を具体的なサンプルを元に紹介しています。

Chapter 0 イントロダクション
0.1 はじめに
0.1.1 本書の特徴
0.1.2 本書の構成
0.1.3 本書でできるようになること
0.1.4 本書の対象
0.1.5 本書の使い方

Chapter 1 人工知能、 ディープラーニングの概要
1.1 人工知能の概要
1.1.1 人工知能、機械学習、ディープラーニング
1.1.2 人工知能とは?
1.1.3 機械学習
1.1.4 ディープラーニング
1.1.5 生成AI
1.2 人工知能の活用例
1.2.1 身近なAI
1.2.2 画像や動画を扱う
1.2.3 言葉を扱う
1.2.4 ゲームで活躍するAI
1.2.5 産業上の応用
1.3 人工知能の歴史
1.3.1 第1次AIブーム
1.3.2 第2次AIブーム
1.3.3 第3次AIブーム
1.3.4 第4次AIブーム
1.4 Chapter1のまとめ

Chapter 2 開発環境
2.1 Google Colaboratoryの始め方
2.1.1 Google Colaboratoryの下準備
2.1.2 ノートブックの使い方
2.1.3 ファイルの扱い方
2.2 セッションとインスタンス
2.2.1 セッション、インスタンスとは?
2.2.2 90分ルール
2.2.3 12時間ルール
2.2.4 セッションの管理
2.3 CPUとGPU
2.3.1 CPU、GPU、TPUとは?
2.3.2 GPUの使い方
2.3.3 パフォーマンスの比較
2.4 Google Colaboratoryの様々な機能
2.4.1 テキストセル
2.4.2 スクラッチコードセル
2.4.3 コードスニペット
2.4.4 コードの実行履歴
2.4.5 GitHubとの連携
2.5 Chapter2のまとめ

Chapter 3 Pythonの基礎
3.1 Pythonの基礎
3.1.1 Pythonとは?
3.1.2 変数と型
3.1.3 演算子
3.1.4 リスト
3.1.5 タプル
3.1.6 辞書
3.1.7 セット
3.1.8 if文
3.1.9 for文
3.1.10 while文
3.1.11 内包表記
3.1.12 関数
3.1.13 変数のスコープ
3.1.14 クラス
3.1.15 クラスの継承
3.1.16 _ _call_ _()メソッド
3.1.17 with構文
3.1.18 ローカルとのやりとり
3.1.19 Googleドライブとの連携
3.2 NumPyの基礎
3.2.1 NumPyの導入
3.2.2 NumPyの配列
3.2.3 配列の演算
3.2.4 形状の変換
3.2.5 要素へのアクセス
3.2.6 NumPyの配列と関数
3.2.7 NumPyの様々な演算機能
3.3 matplotlibの基礎
3.3.1 matplotlibのインポート
3.3.2 linspace()関数
3.3.3 グラフの描画
3.3.4 グラフの装飾
3.3.5 散布図の表示
3.3.6 画像の表示
3.4 pandasの基礎
3.4.1 pandasの導入
3.4.2 Seriesの作成
3.4.3 Seriesの操作
3.4.4 DataFrameの作成
3.4.5 データの特徴
3.4.6 DataFrameの操作
3.5 演習
3.5.1 reshapeによる配列形状の操作
3.5.2 3次関数の描画
3.6 解答例
3.6.1 reshapeによる配列形状の操作
3.6.2 3次関数の描画
3.7 Chapter3のまとめ

Chapter 4 簡単なディープラーニング
4.1 ディープラーニングの概要
4.1.1 神経細胞
4.1.2 神経細胞のネットワーク
4.1.3 人工ニューロン
4.1.4 ニューラルネットワーク
4.1.5 バックプロパゲーション
4.1.6 ディープラーニング
4.2 シンプルなディープラーニングの実装
4.2.1 Kerasとは?
4.2.2 データの読み込み
4.2.3 データの前処理
4.2.4 訓練用データとテスト用データ
4.2.5 モデルの構築
4.2.6 学習
4.2.7 学習の推移
4.2.8 評価
4.2.9 予測
4.2.10 モデルの保存
4.3 様々なニューラルネットワーク
4.3.1 畳み込みニューラルネットワーク
4.3.2 再帰型ニューラルネットワーク
4.3.3 GoogLeNet
4.3.4 ボルツマンマシン
4.4 演習
4.4.1 データの準備
4.4.2 モデルの構築
4.4.3 学習
4.4.4 学習の推移
4.4.5 評価
4.4.6 予測
4.5 解答例
4.6 Chapter4のまとめ

Chapter 5 ディープラーニングの理論
5.1 数学の基礎
5.1.1 シグマ()を使った総和の表記
5.1.2 ネイピア数 e
5.1.3 自然対数log
5.2 単一ニューロンの計算
5.2.1 コンピュータ上における神経細胞のモデル化
5.2.2 単一ニューロンを数式で表す
5.3 活性化関数
5.3.1 ステップ関数
5.3.2 シグモイド関数
5.3.3 tanh
5.3.4 ReLU
5.3.5 恒等関数
5.3.6 ソフトマックス関数
5.4 順伝播と逆伝播
5.4.1 ニューラルネットワークにおける層
5.4.2 本書における層の数え方と、層の上下
5.4.3 順伝播と逆伝播
5.5 行列と行列積
5.5.1 スカラー
5.5.2 ベクトル
5.5.3 行列
5.5.4 行列の積
5.5.5 要素ごとの積(アダマール積)
5.5.6 転置
5.6 層間の計算
5.6.1 2層間の接続
5.6.2 2層間の順伝播
5.7 微分の基礎
5.7.1 微分
5.7.2 微分の公式
5.7.3 合成関数
5.7.4 連鎖律
5.7.5 偏微分
5.7.6 全微分
5.7.7 多変数の合成関数を微分する
5.7.8 ネイピア数のべき乗を微分する
5.8 損失関数
5.8.1 二乗和誤差
5.8.2 交差エントロピー誤差
5.9 勾配降下法
5.9.1 勾配降下法の概要
5.9.2 勾配の求め方
5.10 出力層の勾配
5.10.1 数式上の表記について
5.10.2 重みの勾配
5.10.3 バイアスの勾配
5.10.4 入力の勾配
5.10.5 恒等関数+二乗和誤差の適用
5.10.6 ソフトマックス関数+交差エントロピー誤差の適用
5.11 中間層の勾配
5.11.1 数式上の表記について
5.11.2 重みの勾配
5.11.3 バイアス、入力の勾配
5.11.4 活性化関数の適用
5.12 エポックとバッチ
5.12.1 エポックとバッチ
5.12.2 バッチ学習
5.12.3 ミニバッチ学習
5.12.4 オンライン学習
5.12.5 学習の例
5.13 最適化アルゴリズム
5.13.1 最適化アルゴリズムの概要
5.13.2 確率的勾配降下法(SGD)
5.13.3 Momentum
5.13.4 AdaGrad
5.13.5 RMSProp
5.13.6 Adam
5.14 演習
5.14.1 出力層の勾配を導出
5.15 解答例
5.15.1 重みの勾配
5.15.2 バイアスの勾配
5.16 Chapter5のまとめ

Chapter 6 様々な機械学習の手法
6.1 回帰
6.1.1 データセットの読み込み
6.1.2 単回帰
6.1.3 重回帰
6.2 k平均法
6.2.1 データセットの読み込み
6.2.2 k平均法
6.3 サポートベクターマシン
6.3.1 サポートベクターマシンとは?
6.3.2 データセットの読み込み
6.3.3 SVMの実装
6.4 演習
6.4.1 データセットの読み込み
6.4.2 モデルの構築
6.5 解答例
6.6 Chapter6のまとめ

Chapter 7 畳み込みニューラルネットワーク (CNN)
7.1 CNNの概要
7.1.1 ヒトの「視覚」
7.1.2 畳み込みニューラルネットワーク(CNN)とは?
7.1.3 CNNの各層
7.2 畳み込みとプーリング
7.2.1 畳み込み層
7.2.2 畳み込みとは?
7.2.3 複数のチャンネル、複数のフィルタによる畳み込み
7.2.4 畳み込み層で行われる処理の全体
7.2.5 プーリング層
7.2.6 パディング
7.2.7 ストライド
7.2.8 畳み込みによる画像サイズの変化
7.3 im2colとcol2im
7.3.1 im2col、col2imとは?
7.3.2 im2colとは?
7.3.3 im2colによる変換
7.3.4 行列積による畳み込み
7.3.5 col2imとは?
7.3.6 col2imによる変換
7.4 畳み込みの実装
7.4.1 im2colの実装
7.4.2 畳み込みの実装
7.5 プーリングの実装
7.5.1 プーリングの実装
7.6 CNNの実装
7.6.1 CIFAR-10
7.6.2 各設定
7.6.3 モデルの構築
7.6.4 学習
7.6.5 学習の推移
7.7 データ拡張
7.7.1 データ拡張の実装
7.7.2 様々なデータ拡張
7.7.3 CNNのモデル
7.7.4 学習
7.7.5 学習の推移
7.7.6 評価
7.7.7 予測
7.7.8 モデルの保存
7.8 演習
7.8.1 データセットの読み込みと前処理
7.8.2 学習
7.8.3 学習の推移
7.8.4 評価
7.9 Chapter7のまとめ

Chapter 8 再帰型ニューラルネットワーク (RNN)
8.1 RNNの概要
8.1.1 再帰型ニューラルネットワーク(RNN)とは?
8.1.2 RNNの展開
8.1.3 RNNで特に顕著な問題
8.2 シンプルなRNNの実装
8.2.1 訓練用データの作成
8.2.2 RNNの構築
8.2.3 学習
8.2.4 学習の推移
8.2.5 学習済みモデルの使用
8.3 LSTMの概要
8.3.1 LSTMとは?
8.3.2 LSTM層の内部要素
8.3.3 出力ゲート(Output gate)
8.3.4 忘却ゲート(Forget gate)
8.3.5 入力ゲート(Input gate)
8.3.6 記憶セル(Memory cell)
8.4 シンプルなLSTMの実装
8.4.1 訓練用データの作成
8.4.2 SimpleRNNとLSTMの比較
8.4.3 学習
8.4.4 学習の推移
8.4.5 学習済みモデルの使用
8.5 GRUの概要
8.5.1 GRUとは?
8.6 シンプルなGRUの実装
8.6.1 訓練用データの作成
8.6.2 LSTMとGRUの比較
8.6.3 学習
8.6.4 学習の推移
8.6.5 学習済みモデルの使用
8.7 RNNによる文章の自動生成
8.7.1 テキストデータの読み込み
8.7.2 正規表現による前処理
8.7.3 RNNの各設定
8.7.4 文字のベクトル化
8.7.5 モデルの構築
8.7.6 文章生成用の関数
8.7.7 学習と文章の生成
8.7.8 学習の推移
8.8 自然言語処理の概要
8.8.1 自然言語処理とは?
8.8.2 Seq2Seqとは?
8.8.3 Seq2Seqによる対話文の生成
8.9 演習
8.9.1 テキストデータの読み込み
8.9.2 正規表現による前処理
8.9.3 RNNの各設定
8.9.4 文字のベクトル化
8.9.5 モデルの構築
8.9.6 文章生成用の関数
8.9.7 学習
8.10 解答例
8.11 Chapter8のまとめ

Chapter 9 変分オートエンコーダ (VAE)
9.1 VAEの概要
9.1.1 生成モデルとは?
9.1.2 オートエンコーダとは?
9.1.3 VAEとは?
9.2 VAEの仕組み
9.2.1 Reparameterization Trick
9.2.2 誤差の定義
9.2.3 再構成誤差
9.2.4 正則化項
9.2.5 実装のテクニック
9.3 オートエンコーダの実装
9.3.1 訓練用データの用意
9.3.2 オートエンコーダの各設定
9.3.3 モデルの構築
9.3.4 学習
9.3.5 生成結果
9.4 VAEの実装
9.4.1 訓練用データの用意
9.4.2 VAEの各設定
9.4.3 モデルの構築
9.4.4 学習
9.4.5 潜在空間の可視化
9.4.6 画像の生成
9.5 さらにVAEを学びたい方のために
9.5.1 理論的背景
9.5.2 VAEの発展技術
9.5.3 PyTorchによる実装
9.5.4 フレームワークを使わない実装
9.6 演習
9.6.1 Fashion-MNIST
9.6.2 解答例
9.7 Chapter9のまとめ

Chapter 10 敵対的生成ネットワーク (GAN)
10.1 GANの概要
10.1.1 GANとは?
10.1.2 GANの構成
10.1.3 DCGAN
10.1.4 GANの用途
10.2 GANの仕組み
10.2.1 Discriminatorの学習
10.2.2 Generatorの学習
10.2.3 GANの評価関数
10.3 GANの実装
10.3.1 訓練用データの用意
10.3.2 GANの各設定
10.3.3 Generatorの構築
10.3.4 Discriminatorの構築
10.3.5 モデルの結合
10.3.6 画像を生成する関数
10.3.7 学習
10.3.8 誤差と精度の推移
10.4 さらにGANを学びたい方のために
10.4.1 理論的背景
10.4.2 GANの発展技術
10.4.3 GANを使ったサービス
10.4.4 PyTorchによる実装
10.4.5 フレームワークを使わない実装
10.5 演習
10.5.1 バッチ正規化の導入
10.6 解答例
10.7 Chapter10のまとめ

Chapter 11 強化学習
11.1 強化学習の概要
11.1.1 人工知能(AI)、機械学習、強化学習
11.1.2 強化学習とは?
11.1.3 強化学習に必要な概念
11.2 強化学習のアルゴリズム
11.2.1 Q学習
11.2.2 Q値の更新
11.2.3 SARSA
11.2.4 -greedy法
11.3 深層強化学習の概要
11.3.1 Q-Tableの問題点と深層強化学習
11.3.2 Deep Q-Network(DQN)
11.3.3 Deep Q-Networkの学習
11.4 Cart Pole問題
11.4.1 Cart Pole問題とは?
11.4.2 Q-Tableの設定
11.4.3 ニューラルネットワークの設定
11.4.4 デモ:Cart Pole問題
11.5 深層強化学習の実装
11.5.1 エージェントの飛行
11.5.2 各設定
11.5.3 Brainクラス
11.5.4 エージェントのクラス
11.5.5 環境のクラス
11.5.6 アニメーション
11.5.7 ランダムな行動
11.5.8 DQNの導入
11.5.9 DQNのテクニック
11.6 月面着陸船の制御 ―概要―
11.6.1 使用するライブラリ
11.6.2 LunarLanderとは?
11.7 月面着陸船の制御 ―実装―
11.7.1 ライブラリのインストール
11.7.2 ライブラリの導入
11.7.3 環境の設定
11.7.4 モデル評価用の関数
11.7.5 動画表示用の関数
11.7.6 モデルの評価(訓練前)
11.7.7 モデルの訓練
11.7.8 訓練済みモデルの評価
11.8 演習
11.8.1 各設定
11.8.2 Brainクラス
11.8.3 エージェントのクラス
11.8.4 環境のクラス
11.8.5 アニメーション
11.8.6 SARSAの実行
11.9 解答例
11.10 Chapter11のまとめ

Chapter 12 転移学習
12.1 転移学習の概要
12.1.1 転移学習とは?
12.1.2 転移学習とファインチューニング
12.2 転移学習の実装
12.2.1 各設定
12.2.2 VGG16の導入
12.2.3 CIFAR-10
12.2.4 モデルの構築
12.2.5 学習
12.2.6 学習の推移
12.3 ファインチューニングの実装
12.3.1 各設定
12.3.2 VGG16の導入
12.3.3 CIFAR-10
12.3.4 モデルの構築
12.3.5 学習
12.3.6 学習の推移
12.4 演習
12.4.1 各設定
12.4.2 VGG16の導入
12.4.3 CIFAR-10
12.4.4 モデルの構築
12.4.5 学習
12.4.6 学習の推移
12.5 解答例
12.5.1 転移学習
12.5.2 ファインチューニング
12.6 Chapter12のまとめ

Appendix さらに学びたい方のために
AP.1 さらに学びたい方のために
AP.1.1 コミュニティ「自由研究室 AIRS-Lab」
AP.1.2 著書
AP.1.3 News! AIRS-Lab
AP.1.4 YouTubeチャンネル「AI教室 AIRS-Lab」
AP.1.5 オンライン講座
AP.1.6 著者のX/Instagramアカウント

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。
正誤表の登録はありません。