0
はじめに Basics

13 章を読む前に知っておきたい、共通のことば 6 つ

約 15 分

ディープラーニングとは

人工知能(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 と上げていくと、赤い線が訓練の点を無理に通ろうとして暴れ、テストの損失が跳ね上がります。「別のデータで試す」で何度か確かめてください。実際のディープラーニングでは、データを増やす・正則化・早めに学習を止める、などで防ぎます。

ふりかえり

  1. ディープラーニング=層を深く重ねたニューラルネットワークによる機械学習
  2. どの章も「モデル → 損失 → 最適化(勾配降下法)」の繰り返しで学習する
  3. 訓練データとテストデータを分け、過学習していないかを確かめる
参考文献・さらに読む

第1章 パーセプトロンへ →