1. 0.2 G検定のシラバス(試験範囲)
1.1. 一般社団法人日本ディープラーニング協会
1.2. E資格との違い
2. 0.3 G検定合格へ向けて
2.1. 合格率の推移
2.2. 松尾豊先生の動画はいつ見てもモチベーションが上がります
2.3. 参考資料集
2.3.1. 模擬テストと公式例題解説
2.3.1.1. その問題解説をひたすらしくれている動画
2.3.1.1.1. AI白書のPDF版を入手しておいて、試験中に全文検索するのはいい方法です。
3. 第1章 人工知能(AI)とは
3.1. 1.1 人工知能の定義
3.1.1. 定義
3.1.1.1. 汎用型人工知能
3.1.1.1.1. 強いAI(ドラえもん)
3.1.1.2. 特化型人工知能
3.1.1.2.1. 弱いAI
3.1.1.3. ジョン・サール
3.1.1.3.1. 強いAI・弱いAIという言葉を作った
3.1.1.3.2. 中国語の部屋
3.1.2. AI効果
3.1.2.1. 人工知能の原理が分かってしまうと、「それはAIではない」と思われてしまうこと
3.1.3. 定義の問題(p17 問1、P19 問4)
3.2. 1.2 人工知能の歴史
3.2.1. 歴史(P20 問2)
3.2.1.1. ダートマス会議(P18 問2)
3.2.1.1.1. 1956年7月 人工知能という学術研究分野を確立した会議の通称
3.2.1.2. 第1次AIブーム「推論・探索の時代」
3.2.1.2.1. トイプロブレム
3.2.1.2.2. ELIZA(イライザ)
3.2.1.3. 第2次AIブーム「知識の時代」
3.2.1.3.1. エキスパートシステム
3.2.1.4. 第3次AIブーム「機械学習と特徴表現学習の時代」
3.2.1.4.1. 特徴表現学習
3.2.1.4.2. ジェフリー・ヒントン
3.2.2. レイ・カーツワイル
3.2.2.1. 2045年にシンギュラリティが起きると予想した
3.2.2.1.1. シンギュラリティとは、「人工知能が人間を超えて文明の主役に取って代わる」時点のこと。技術的特異点
4. 第2章 人工知能の変遷と問題
4.1. 2.1 探索・推論
4.2. 2.2 知識表現
4.2.1. ELIZA(P39 問1)
4.2.1.1. 人工無脳
4.2.2. チューリングテスト(P39 問2)
4.2.2.1. アラン・チューリング
4.2.2.1.1. 人工知能の判定テストであるチューリングテストを考案
4.2.2.1.2. イミテーション・ゲーム(映画)
4.2.3. エキスパートシステム(P40 問3)
4.2.3.1. Mycin
4.2.3.1.1. ストレプトマイシン 《抗生物質の一種で結核などの特効薬》
4.2.4. ナレッジグラフ(P40 問4)
4.2.4.1. さまざまな知識を体系的に連結し、グラフ構造で表した知識のネットワーク
4.2.5. オントロジー(P42 問5)
4.2.5.1. Cycプロジェクト
4.3. 2.3 人工知能における問題を1枚の図で見る
4.3.1. フレーム問題(P44 問2)
4.3.1.1. 人間は自然とフレーム(問題領域)を切り替えられるがAIはそれができない
4.3.1.1.1. 強いAI(汎用AI)と弱いAI(特化型AI)
4.3.2. 中国語の部屋(P45 問43
4.3.2.1. チューリングテストに対する反論
4.3.3. シンボルグラウンディング問題(P45 問4)
4.3.3.1. 記号 (シンボル )とその対象がいかにして結び付くかという問題
4.3.3.1.1. コンピュ ータは 「記号 (文字 ) 」の意味が分かっていないので 、記号が意味するものと結び付けることができない
4.3.3.1.2. 例えば、馬と縞は理解できても縞のある馬=シマウマは理解できない
4.3.4. シンギュラリティ(P48 問8)
5. 第3章 機械学習の具体的手法
5.1. 3.1 代表的な手法
5.1.1. 3.1.1 学習の種類(P77 問1)
5.1.1.1. 機械が学習するとはどういうことか?
5.1.1.1.1. ニューラルネットワークの場合
5.1.2. 3.1.2 教師あり学習(P77 問2、3)
5.1.2.1. 「教師」とは人間が予め用意した正解データのこと
5.1.2.2. 回帰(regression)
5.1.2.2.1. 出力値の予測
5.1.2.3. 分類(classification)
5.1.2.3.1. サポートベクターマシン(SVM)
5.1.2.3.2. 決定木
5.1.2.3.3. ロジスティック回帰
5.1.2.3.4. kNN法(最近傍法)
5.1.3. 3.1.3 教師なし学習(P79 問5)
5.1.3.1. 機械自身に正解データを見つけさせる手法
5.1.3.2. クラスタリング
5.1.3.2.1. データ群をいくつかのあつまり(クラスタ)に分けることで、データの本質的な構造を浮かび上がらせる
5.1.3.3. 次元削減
5.1.3.3.1. 次元=説明変数=パラーメータ
5.1.3.3.2. 情報をなるべく失わないようにデータを低次元に縮約すること
5.1.3.3.3. オートエンコーダはニューラルネットワークを用いた次元削減
5.1.3.3.4. 「次元の呪い」の回避
5.1.4. 3.1.4 強化学習(P80 問8,9)
5.1.4.1. 収益(報酬の和)を最大化する方策を獲得することを目的とした手法
5.1.4.1.1. マリオブラザーズをプレイしているYoutube動画
5.1.4.2. エージェント=ある環境で動くプレイヤー
5.1.4.3. 状態=エージェントが置かれている環境
5.1.4.4. 行動=エージェントがとる行動
5.1.4.5. 収益=エージェントが行動することで得られる評価値
5.1.4.6. 価値関数=将来的に得られる収益の期待値を表す関数
5.1.4.7. 方策=ある状態のとき、どの行動をとるべきかを示す関数
5.1.4.8. Deep-Q-Network (DQN) =価値関数を計算するディープニューラルネットワーク。
5.1.4.8.1. ディープマインド社が作った
5.1.4.8.2. これを使うものは深層強化学習と呼ぶ
5.1.4.8.3. 深層強化学習でほうきバランスをしているYouTube動画
5.2. 3.2 教師あり学習の代表的な手法
5.2.1. 3.2.1 線形回帰(P82 問1)
5.2.1.1. 相関係数は,x と y 相互間の関係
5.2.1.2. 回帰係数は, y に対する x の関係
5.2.1.3. 係数が0ということはx,yは無関係
5.2.1.3.1. 回帰係数が0を帰無仮説とした統計的仮説検定で判断する
5.2.2. 3.2.2 正則化
5.2.2.1. 最小二乗法の仕組みから正則化の必要性を説明するYouTube動画
5.2.2.2. L1正則化
5.2.2.2.1. Lasso回帰
5.2.2.3. L2正則化
5.2.2.3.1. Ridge回帰
5.2.3. 3.2.3 ロジスティック回帰
5.2.3.1. ある事象が発生する確率を予測・説明したいときに使う
5.2.3.2. 名前は回帰だが分類問題を解くための手法
5.2.3.3. オッズ
5.2.3.3.1. ある事象の起こる確率 p と起こらない確率 1 − p との比
5.2.3.4. 対数オッズ
5.2.3.4.1. オッズの自然対数を取った値
5.2.4. 3.2.4 サポートベクターマシン(P88 問11)
5.2.4.1. 各データから最も離れている超平面を決定する手法
5.2.4.2. サポートベクターマシンを図で見る
5.2.4.3. カーネルトリック
5.2.4.3.1. カーネルトリックを図で見る
5.2.5. 3.2.5 k近傍法(P88 問12)
5.2.5.1. ある未知データを近くのデータを参考に分類する方法
5.2.5.2. KNN(K Nearest Neighbor)ともいう
5.2.5.3. k近傍法を図で見る(再掲)
5.2.6. 3.2.6 決定木(P89 問14)
5.2.6.1. 分類、予測などのために作られる、木構造のこと
5.2.6.2. タイタニック号の乗客の生死を決定木に表した図
5.2.7. 3.2.7 ランダムフォレスト
5.2.7.1. 決定木をたくさん作って汎化性能を高める手法
5.2.7.2. たとえ:ランダムフォレスト 専門家の多数決
5.2.8. 3.2.8 勾配ブースティング
5.2.8.1. 複数の決定木を組み合わせてモデルを強化する手法
5.2.8.2. ランダムフォレストは並列的だが、勾配ブースティングは逐次的
5.2.8.3. 勾配ブースティングについてのYoutube動画を見る
5.2.8.4. たとえ:専門家の合議 専門家ほどポイント多い
5.2.9. 3.2.9 アンサンブル学習
5.2.9.1. 単独では精度の高くない弱学習器を多数用いることで高い精度を出す
5.2.9.1.1. 互いの過学習を打ち消し合う
5.2.9.2. ensembleにはもともと合唱という意味がある
5.2.9.3. ランダムフォレストと勾配ブースティングはアンサンブル学習の一種
5.2.9.4. アンサンブル学習についてのYoutube動画を見る
5.2.10. 3.2.10 ベイズの定理
5.2.10.1. ある「結果」が観測されたとき、その背景にある「原因」の確率を求める
5.2.10.2. ベイズの定理をモンティ・ホール問題からベイズフィルターまでの絡めて4回で解説しているYouTube動画
5.2.11. 3.2.11 最尤推定(P96 問27、28)
5.2.11.1. 最も尤もらしい推定量
5.3. 3.3 教師なし学習の代表的な手法
5.3.1. 3.3.1 k-means法
5.3.1.1. データを適当なクラスタに分けた後、クラスタの平均を計算し続けて精度を高める方法
5.3.1.1.1. K-means 法を D3.js でビジュアライズしてみたサイト
5.3.1.2. 統計学の世界では平均をmeanという(averageと区別する)
5.3.2. 3.3.2 階層的クラスタリング
5.3.2.1. 最も似ているデータ同士を1つずつ順番にグルーピングしていく手法
5.3.2.2. 階層的クラスタリングのイメージ
5.3.3. 3.3.3 主成分分析
5.4. 3.4 手法の評価
5.4.1. 3.4.1 データの扱い
5.4.2. 3.4.2 交差検証法
5.4.2.1. データを分割してそのうち1つをテストデータに、残りを学習データとして使用し、繰り返し学習を行なった平均を取る方法
5.5. 3.5 評価指標
5.5.1. 3.5.1 回帰
5.5.2. 3.5.2 分類
5.5.2.1. 混同行列
5.5.2.1.1. 混同行列は機械学習の精度評価で用いられる
5.5.2.1.2. 混同行列に関する知識を1枚の絵にした図
5.5.2.1.3. 混同行列の問題(P105 問5、6,7,8,9)
5.6. 3.6 特徴量設計
5.6.1. 特徴量=説明変数+目的変数
6. 第4章 ディープラーニングの概要
6.1. 4.1 ニューラルネットワークとディープラーニング
6.1.1. 単純パーセプトロン
6.1.1.1. 入力層と出力層の2層のみ
6.1.1.2. 線形分離はできる
6.1.1.3. 非線形分離ができない
6.1.1.3.1. ブール演算のXORが表現できない
6.1.1.4. 単純パーセプトロンの問題 (P154 問3)
6.1.2. 多層パーセプトロン
6.1.2.1. 一層以上の隠れ層が存在
6.1.2.2. ニューラルネットワークへ発展
6.2. 4.2 事前学習によるアプローチ
6.2.1. オートエンコーダ
6.2.1.1. 次元削減や特徴抽出が目的
6.2.1.2. 入力されたデータを、後で復元できる状態に圧縮するニューラルネットワーク
6.2.2. 積層オートエンコーダ
6.2.2.1. 複数のオートエンコーダの中間層を積み重ねたもの
6.3. 4.3 ハードウェア
6.3.1. GPU
6.3.1.1. Graphics Processing Unit
6.3.2. GPGPU
6.3.2.1. General-purpose computing on graphics processing units; GPUによる汎用計算
6.3.3. TPU
6.3.3.1. Tensor Processing Unit
6.3.3.1.1. 機械学習に特化したGoogleの自社開発プロセッサ
6.3.4. ハードウェアの問題 (P161 問5)
7. 第5章 ディープラーニングの手法
7.1. 5.1 活性化関数
7.1.1. シグモイド関数 (P177 問1)
7.1.1.1. sigmoidの語源はs
7.1.1.2. 二値分類に使う
7.1.1.3. 勾配消失起きやすい
7.1.1.3.1. 勾配消失問題を合成関数の微分との関係で説明しているサイト
7.1.2. ソフトマックス関数 (P178 問2)
7.1.2.1. 多値分類に使う
7.1.2.2. 確率になる
7.1.3. ランプ(ReLU)関数 (P179 問4)
7.1.3.1. 入力値が0以下の場合には出力値が常に0、入力値が0より上の場合には出力値が入力値と同じ値となる関数
7.1.3.2. ニューラルネットワークの隠れ層で多く使われている
7.1.4. ハイパボリックタンジェント(tanh)関数
7.1.5. シグモイド関数、ソフトマックス関数、ReLU関数の違いを図で見る
7.2. 5.2 学習の最適化
7.2.1. 5.2.1 学習と微分
7.2.1.1. 誤差関数 (P180 問1)
7.2.1.1.1. 「正解値」と、モデルによる出力された「予測値」とのズレの大きさ
7.2.1.1.2. 誤差関数の最小値を求める (P182 問2)
7.2.1.1.3. 誤算関数の傾きを求める (P182 問3)
7.2.1.1.4. 誤差関数の最小化と微分の関係 (P183 問4)
7.2.2. 5.2.2 勾配下降法
7.2.2.1. 誤差関数の勾配に沿って下降することで最小値を求める手法
7.2.2.2. 学習率とはどのくらい値を動かすかというパラメーター (P184 問5)
7.2.2.3. 局所最適解と大域最適解 (P185 問6)
7.2.2.4. 鞍点は3次元以上の関数の場合に学習の失敗原因になりうる (P187 問9,10)
7.2.2.4.1. 3次元で馬の鞍の形にいていることから
7.2.2.4.2. 鞍点に滞留状態にあることをプラトー【plateau】という
7.2.2.5. イテレーションとはパラメーターの更新回数 (P186 問7)
7.3. 5.3 さらなるテクニック
7.3.1. 5.3.1 過学習
7.3.1.1. 機械学習においてモデルが訓練データに過剰適合すること (P191 問1)
7.3.1.1.1. 訓練データ
7.3.1.1.2. テストデータ
7.3.2. 5.3.2 ドロップアウト
7.3.2.1. ニューラルネットワークの学習時に、一定割合のノードを脱落【dropout】させながら学習を行うことで過学習を防ぐ手法 (P192 問2)
7.3.3. 5.3.3 early stopping
7.3.3.1. 学習を進めて行く中で誤差関数が右上がりになり始めた時点で学習を止める手法 (P192 問3)
7.3.4. 5.3.4 データの正規化
7.3.4.1. 特徴量データはスケールの違いによりそのまま使えないこともある
7.3.4.2. 正規化とは特徴量のスケールに影響されないように各特徴量の最小値を0,最大値を1とすること
7.3.4.3. 標準化
7.3.4.3.1. 各特徴量を平均0、分散1となるように変換する
7.3.5. 5.3.5 重みの初期値
7.3.5.1. 重みの初期化のYoutube動画(英語)
7.3.6. 5.3.6 バッチ正規化
7.3.6.1. バッチ正規化ののYoutube動画
7.4. 5.4 CNN:畳み込みニューラルネットワーク
7.4.1. 畳み込み層(Convolutional Layer) , プーリング層(Pooling Layer) , 全結合層(Full Connected Layer) の3種類で構成されたニューラルネットワーク
7.4.1.1. 画像イメージ
7.4.2. 5.4.1 画像データの扱い
7.4.2.1. なぜ、CNN【Convolutional Neural Network】か?
7.4.2.1.1. 画像は位置関係が重要
7.4.3. 5.4.2 畳み込み
7.4.3.1. なぜ畳み込みが必要かを説明する問題 (P199 問1)
7.4.3.2. 畳み込みの方法を理解するための問題 (P200 問2、3)
7.4.4. 5.4.3 プーリング
7.4.4.1. プーリング処理の意味がわかる問題(P202 問4)
7.4.5. 5.4.4 全結合層
7.4.6. 5.4.5 データ拡張
7.4.6.1. 画像データを人工的に増やす方法
7.4.6.2. データ拡張の留意点の問題(P206 問7)
7.4.7. 5.4.6 転移学習
7.4.7.1. 通常のニューラルネットワークは赤ちゃんの脳を学習によって大人の脳にするようなもの
7.4.7.2. 転移学習は大学生の脳を赤ちゃんに移植して大人の脳にするようなもの
7.4.8. 5.4.7 CNNの初期モデル
7.4.8.1. ネオコグニトロン (P209 問9)
7.4.8.1.1. 1979年 福島邦彦氏
7.4.8.1.2. S細胞【Simple cell】とC細胞【Complex cell】
7.4.8.1.3. 視覚の細胞がヒントになった
7.5. 5.5 RNN:リカレントニューラルネットワーク
7.5.1. 5.5.1 RNNの基本形
7.5.1.1. Recurrentとは?
7.5.1.1.1. ある時点の入力が、それ以降の出力に影響を及ぼす場合に有効(P209 問1)
7.5.1.1.2. 得意なこと
7.5.2. 5.5.2 LSTM
7.5.2.1. Long Short Term Memory
7.5.2.1.1. 長・短期記憶
7.5.2.2. 「Forget Gate」「Input Gate」「Output Gate」の3つのゲートを持つ
7.5.3. 5.5.3 RNNの発展形
7.5.4. 5.5.4 Attention
7.5.4.1. Attentionのyutube動画
7.6. 5.6 強化学習の特徴
7.6.1. 強化学習の問題(P216 問1,2,3,4、5)
7.7. 5.7 深層強化学習
7.7.1. ディープラーニングと強化学習を組み合わせた技術や手法
7.8. 5.8 深層生成モデル
7.8.1. ディープラーニングを用いてデータを生成するモデル
7.8.1.1. GAN
7.8.1.1.1. Generative Adversarial Network
7.8.1.1.2. GANを解説しているYoutube動画
7.8.1.1.3. GANの人物画像生成を体験できるサイト
7.8.1.2. WaveNet
7.8.1.2.1. WaveNetは、「Google アシスタント」の合成音声