0
はじめに Basics
13 章を読む前に知っておきたい、共通のことば 6 つ
ディープラーニングとは
人工知能(AI)の中に機械学習があり、その中にディープラーニング(深層学習)があります。
機械学習=「ルールを人が書く代わりに、データから規則を見つけさせる」こと。ディープラーニング=その道具として層を深く重ねたニューラルネットワークを使うこと。
この教材の 13 章は、そのネットワークの「形(アーキテクチャ)」がどう進化してきたかを順にたどります。
すべての章に共通する「学習の 3 ステップ」
1. モデル
入力から出力を計算する「式」。中に重み(調整できる数)がたくさん入っている。各章で学ぶのは、この式の形の違い。
2. 損失
予測と正解のズレを 1 つの数にしたもの。数値を当てる問題では平均二乗誤差、分類では交差エントロピーがよく使われる。小さいほど良い。
3. 最適化
損失が減る方向(勾配)に重みを少しずつ動かす。基本は勾配降下法(SGD)、よく使われる改良版が Adam。1 回動かす幅が学習率。
ことばの意味(タップで開閉)
- 重み(パラメータ):モデルの中の調整可能な数。学習で変わるのはこれだけ。
- 損失関数:ズレを数にする関数。平均二乗誤差 (y − t)²、交差エントロピー −log p など。
- 勾配降下法:損失の坂を下る方向へ重みを動かす方法。「確率的(SGD)」は少しのデータで勾配を見積もって頻繁に動かすやり方。
- Adam:勾配の大きさや向きの履歴を使って、重みごとに歩幅を自動調整する最適化手法。多くの場面で既定として使われる。
- 学習率:1 回の更新で動かす幅。大きいと速いが暴れる、小さいと安定だが遅い。
- エポック/バッチ/ステップ:訓練データを 1 周=1 エポック。1 回の更新に使う小さなかたまり=バッチ。1 回の更新=1 ステップ。
体験:覚えすぎると当たらなくなる(過学習)
学習に使った訓練データでよく当たっても、見たことのないテストデータで当たらなければ意味がありません。 モデルを複雑にしすぎると、訓練データの「たまたまのブレ」まで覚えてしまい、テストで外れます。これが過学習。
青い点=訓練データ(学習に使う)、白抜きの点=テストデータ(答え合わせにだけ使う)、灰色の線=本当の規則、赤い線=モデルの予測。
次数ごとの損失。訓練(青)は複雑にするほど下がり続けるが、テスト(赤)はある所から上がり始める=過学習。ちょうど良い複雑さを選ぶのが大切。
試してみよう:次数を 1 → 3 → 8 → 12 と上げていくと、赤い線が訓練の点を無理に通ろうとして暴れ、テストの損失が跳ね上がります。「別のデータで試す」で何度か確かめてください。実際のディープラーニングでは、データを増やす・正則化・早めに学習を止める、などで防ぎます。
ふりかえり
- ディープラーニング=層を深く重ねたニューラルネットワークによる機械学習
- どの章も「モデル → 損失 → 最適化(勾配降下法)」の繰り返しで学習する
- 訓練データとテストデータを分け、過学習していないかを確かめる
参考文献・さらに読む
- Goodfellow, Bengio & Courville, Deep Learning (MIT Press) 定番の教科書(英語・無料公開)
- TensorFlow Playground 訓練/テストの損失と過学習を観察できる