この章で学ぶこと
第2章までは「何を学習させるか」という機械学習の枠組みを見てきました。この章からは、その中でもディープラーニングが「どうやって学習するか」という理論的な仕組みに踏み込みます。ニューラルネットワークの基本構造を土台に、出力を非線形に変換する活性化関数、正解とのズレを測る誤差関数、過学習を防ぐ正則化、誤差を逆向きに伝えてパラメータを更新する誤差逆伝播法、そして学習を効率よく進める最適化手法という順に学びます。ここで学ぶ用語は、第4章の要素技術・第5〜6章の応用モデルのあらゆる説明で前提知識として登場するため、この章の理解度がコース全体の理解度を左右します。既存theory記事「ディープラーニングの基礎」もあわせて参照してください。
ニューラルネットワークとディープラーニング
ニューラルネットワークは、人間の神経細胞(ニューロン)の仕組みを模したモデルです。最も単純な形が、入力に重みを掛けて足し合わせ、しきい値を超えたら発火する単純パーセプトロンで、直線で分けられる単純な問題しか扱えないという限界がありました。この限界を、入力と出力の間に複数の層を挟むことで克服したのが多層パーセプトロンです。データを受け取る入力層、間で計算処理を行う隠れ層、結果を出力する出力層という3種類の層で構成され、隠れ層を何層も重ねて深くしたものがディープラーニングです。
層を深くするほど表現力は高まりますが、その分だけ学習に必要なデータ量と計算量が増えます。この計算を高速に処理するハードウェアとして、汎用的な演算を担うCPU、大量の並列計算が得意なGPU(元々は画像処理用に開発されましたが、ニューラルネットワークの行列演算と相性が良く転用されるようになりました)、そしてディープラーニングの演算に特化して設計されたTPUがあります。ディープラーニングの学習・推論では大量の行列演算を並列に処理する必要があるため、逐次処理が得意なCPUより、並列処理が得意なGPU・TPUの方が適しています。
扱う用語(精選・6語)
- 単純パーセプトロン/多層パーセプトロン
- 入力層・隠れ層・出力層
- CPU/GPU/TPU
活性化関数と誤差関数
ニューラルネットワークの各層は、入力の重み付き和を計算した後、活性化関数を通して非線形な変換を行います。活性化関数がなければ、何層重ねても結局は1つの線形変換と同じになってしまい、複雑なパターンを学習できません。出力を0〜1の範囲に押し込めるシグモイド関数は古典的な活性化関数ですが、入力が大きく(または小さく)なると勾配がほぼ0になり、層を逆伝播するほど勾配が消えていく勾配消失問題を起こしやすいという弱点があります。同様の形状で出力範囲を-1〜1にしたtanh関数も同じ弱点を抱えます。この弱点を緩和するために広く使われるのがReLU関数(入力が0以下なら0、0より大きければそのまま出力するシンプルな関数)で、その改良版として、入力が負のときもわずかな傾きを残すLeaky ReLU関数があります。出力層で多クラス分類を行う際には、各クラスの出力を合計1になる確率分布に変換するソフトマックス関数が使われます。
活性化関数が「各層の中でどう変換するか」を扱うのに対し、誤差関数(損失関数)は「モデルの予測と正解がどれだけズレているか」を数値化する役割を持ちます。回帰問題の基本が平均二乗誤差関数(第2章のMSEと同じ考え方)、分類問題の基本が、予測した確率分布と正解の確率分布のズレを測る交差エントロピーです。2つの確率分布がどれだけ異なるかを測る一般的な指標がカルバック・ライブラー情報量(KL)で、交差エントロピーの計算にもこの考え方が使われています。似ているデータ同士を近づけ、似ていないデータ同士を遠ざけるように学習させたいタスク(顔認証など)では、Contrastive Lossや、3つのデータ(基準・似ているデータ・似ていないデータ)を同時に比較するTriplet Lossが使われます。
扱う用語(精選・11語)
- シグモイド関数/tanh関数/ReLU関数/Leaky ReLU関数/ソフトマックス関数/勾配消失問題
- 平均二乗誤差関数/交差エントロピー/カルバック・ライブラー情報量(KL)/Contrastive Loss/Triplet Loss
正則化と誤差逆伝播法
第2章で学んだ過学習は、ディープラーニングのように表現力が高いモデルほど起こりやすくなります。これを防ぐための工夫が正則化です。モデルのパラメータ(重み)が大きくなりすぎないよう罰則を加える手法として、重みの絶対値の合計にペナルティを課すL1正則化(一部の重みを完全に0にし、不要な特徴量を自動的に削る効果がある)、重みの2乗の合計にペナルティを課すL2正則化(重み全体を滑らかに小さくする)、0でない重みの数そのものにペナルティを課すL0正則化があります。線形回帰にL1正則化を組み合わせた手法がラッソ回帰、L2正則化を組み合わせた手法がリッジ回帰です。ニューラルネットワーク特有の正則化手法として、学習の各ステップでランダムにニューロンの一部を無効化するドロップアウトがあり、特定のニューロンに過度に依存しないモデルに育てる効果があります。
モデルのパラメータをどう更新するかを支えるのが誤差逆伝播法です。出力層で計算した誤差を、入力層に向かって逆方向に伝えながら、各層の重みをどの方向にどれだけ動かせば誤差が小さくなるかを計算します。この計算の数学的な土台が、合成関数の微分を扱う連鎖律です。層が深くなるほど、逆伝播の過程で勾配がどんどん小さくなって消えてしまう勾配消失問題(活性化関数の項でも登場した現象で、誤差逆伝播法の文脈でも重要な課題です)や、逆に勾配が指数的に大きくなり発散してしまう勾配爆発問題が起こることがあります。また、深い層のどの部分が最終的な誤差にどれだけ「責任」を持つかを正しく特定する難しさを信用割当問題と呼びます。
扱う用語(精選・11語)
- 正則化/L0正則化/L1正則化/L2正則化/ラッソ回帰/リッジ回帰/ドロップアウト
- 誤差逆伝播法/連鎖律/勾配爆発問題/信用割当問題
最適化手法
誤差逆伝播法で各パラメータをどちらに動かすべきかが分かった後、実際にパラメータを更新していく手続きが最適化手法です。基本となるのが勾配降下法で、誤差関数の値が小さくなる方向(勾配が下る方向)にパラメータを少しずつ動かします。1回の更新に使うデータの単位によって、全データを使ってから1回更新するバッチ学習、1件ごとに更新するオンライン学習、その中間で少量のまとまり(ミニバッチ)ごとに更新するミニバッチ学習に分かれ、実務では計算効率と安定性のバランスが良いミニバッチ学習が広く使われます。全データを1周する単位をエポック、パラメータを1回更新する単位をイテレーションと呼びます。
勾配降下法には、勾配が0に近い平坦な場所で学習が止まってしまうという課題があります。全体で見れば最も低い場所である大域最適解に到達したいのに、周辺だけを見ると最も低く見える局所最適解に捕まってしまったり、ある方向には低く別の方向には高く見える鞍点で足踏みしてしまったりします。これを解決するために、更新の勢い(慣性)を持たせて平坦な場所を通過しやすくするモーメンタムや、パラメータごとに学習の進み具合に応じて学習率(1回の更新でどれだけ大きく動くかを決めるハイパーパラメータ)を自動調整する手法が考案されました。更新量の蓄積に応じて学習率を下げていくAdaGrad、その改良版であるAdaDelta・RMSprop、モーメンタムと学習率の自動調整を組み合わせたAdam(現在最も広く使われる標準的な手法)、さらにその改良版であるAMSBound・AdaBoundなどが提案されています。確率的勾配降下法(SGD)は、ミニバッチ学習と組み合わせて使われる最も基本的な勾配降下法の一種です。
学習率や正則化の強さなど、学習前に人間が設定する必要があるパラメータをハイパーパラメータと呼び、モデルが学習するパラメータ(重み)とは区別されます。ハイパーパラメータを調整する代表的な方法が、候補の組み合わせをしらみつぶしに試すグリッドサーチ、ランダムに組み合わせを試すランダムサーチです。学習を進めすぎると過学習に陥るため、検証データへの性能が悪化し始めた時点で学習を打ち切る早期終了もハイパーパラメータ調整と並ぶ実務上の重要なテクニックです。なお、モデルの複雑さを上げ続けると一度誤差が悪化した後で再び改善するという二重降下現象が観測されており、「複雑にすればするほど過学習する」という単純な直感が常には成り立たない例として知られています。また、あらゆる問題に万能な最適化アルゴリズムは存在しないというノーフリーランチの定理も、手法選択の指針として押さえておきましょう。
扱う用語(精選・18語)
- 勾配降下法/バッチ学習/オンライン学習/ミニバッチ学習/エポック/イテレーション
- 大域最適解/局所最適解/鞍点/モーメンタム/学習率
- AdaGrad/AdaDelta/RMSprop/Adam/確率的勾配降下法(SGD)
- ハイパーパラメータ/グリッドサーチ/ランダムサーチ/早期終了/二重降下現象/ノーフリーランチの定理
AIで学ぶ
ここまでの用語は、ChatGPTやClaudeなどの生成AIに以下のプロンプトを投げかけると、比較表つきでさらに深く掘り下げて学習できます。コピーして使ってみましょう。
あなたはG検定(ジェネラリスト検定)の講師です。「ディープラーニングの理論基盤」の範囲について、以下の用語を初学者向けに**関連づけながら**説明してください(単体の丸暗記より、用語同士のつながりを理解したほうが記憶に定着しやすく、試験本番で紛らわしい選択肢を見分ける力もつくためです)。ニューラルネットワークの「順伝播(活性化関数)→誤差計算(誤差関数)→逆伝播(誤差逆伝播法)→更新(最適化手法)」という学習の流れに沿って整理し、用語同士の違いが分かる**比較表**を最後に付けてください。
【NNの基本構造】単純パーセプトロン、多層パーセプトロン、入力層、隠れ層、出力層、CPU、GPU、TPU
【活性化関数と誤差関数】シグモイド関数、tanh関数、ReLU関数、Leaky ReLU関数、ソフトマックス関数、勾配消失問題、平均二乗誤差関数、交差エントロピー、カルバック・ライブラー情報量(KL)、Contrastive Loss、Triplet Loss
【正則化と誤差逆伝播法】正則化、L0正則化、L1正則化、L2正則化、ラッソ回帰、リッジ回帰、ドロップアウト、誤差逆伝播法、連鎖律、勾配爆発問題、信用割当問題
【最適化手法】勾配降下法、バッチ学習、オンライン学習、ミニバッチ学習、エポック、イテレーション、大域最適解、局所最適解、鞍点、モーメンタム、学習率、AdaGrad、AdaDelta、RMSprop、Adam、確率的勾配降下法(SGD)、ハイパーパラメータ、グリッドサーチ、ランダムサーチ、早期終了、二重降下現象、ノーフリーランチの定理このプロンプトが「順伝播→誤差計算→逆伝播→更新」という学習の流れに沿った整理を指示しているのは、この章の用語が単独の暗記対象ではなく、一連のプロセスの中でそれぞれ役割を持っているためです。流れの中でどこに位置する用語かを意識すると、初見の選択肢でも仕組みから推測できるようになります。
章末チェック
最後に、この章で学んだ知識をアウトプットして定着させましょう。全問に答えたら「答え合わせ」を押してください。
問1. ニューラルネットワークにおいて、入力の重み付き和を非線形な出力に変換する関数を何と呼ぶか。
問2. 現在のディープラーニングで最も広く使われている活性化関数で、入力が0以下なら0、0より大きければそのまま出力する関数はどれか。
問3. ニューラルネットワークの学習において、出力層の誤差を入力層に向かって伝播させ、各層の重みを更新する手法はどれか。
問4. 層が深くなるにつれて、逆伝播の際に勾配が極端に小さくなり、学習が進まなくなる問題を何と呼ぶか。
問5. 学習中にランダムに一部のニューロンを無効化することで過学習を抑制する正則化の手法はどれか。
問6. モーメンタムと学習率の自動調整を組み合わせた最適化手法で、現在最も広く使われている標準的な手法はどれか。
問7. 重みの絶対値の合計にペナルティを課し、一部の重みを完全に0にすることで不要な特徴量を自動的に削る効果がある正則化はどれか。
問8. 分類問題において、予測した確率分布と正解の確率分布のズレを測る誤差関数として最も一般的に使われるものはどれか。
この章のまとめ
この章では、ニューラルネットワークの基本構造、活性化関数・誤差関数、正則化と誤差逆伝播法、そして勾配降下法を中心とした最適化手法という、ディープラーニングの学習プロセス全体を貫く理論を学びました。ここで押さえた「順伝播→誤差計算→逆伝播→更新」という流れは、次章で学ぶ畳み込み層やRNNなど、どんな要素技術にも共通する土台です。
次章では、この理論基盤の上に積み重なる具体的な部品——畳み込み層・回帰結合層(RNN)・Attentionといったニューラルネットワークの要素技術を学びます。→ 第4章 ニューラルネットワークの要素技術