AI用語集・ディープラーニングの概要

連鎖律とは

れんさりつchain rule

別名:合成関数の微分、チェインルール

  • シラバス 技術15
  • ◯×チェック3問
  • 練習問題3問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

連鎖律とは、関数の中に別の関数が入った合成関数の微分を、外側の関数の微分と内側の関数の微分の積として求める規則のことです。

くわしく

連鎖律は、高校数学で習う「合成関数の微分」の規則です。ニューラルネットワークの学習で使う誤差逆伝播法は、この規則を繰り返し使って勾配を求めます。

規則の中身

yがuの関数で、uがxの関数のとき、xを少し動かしたときのyの変化の割合は、次の積で求めます。

dy/dx = (dy/du) × (du/dx)

歯車にたとえてみます。xの歯車が1回転するとuの歯車が3回転し、uが1回転するとyが2回転するとします。このときxが1回転すると、yは3 × 2 = 6回転します。変化の倍率が掛け算で伝わる、というのが連鎖律です。

計算例

y = (2x + 1)²を、x = 1のときについて微分します。u = 2x + 1とおくと、y = u²です。

  • dy/du = 2uです。x = 1のときu = 3なので、6です。
  • du/dx = 2です。
  • よってdy/dx = 6 × 2 = 12です。

展開したy = 4x² + 4x + 1を微分するとdy/dx = 8x + 4で、x = 1を入れても12になり、結果が一致します。

ニューラルネットワークでの使われ方

ニューラルネットワークは、層ごとの計算を何重にも重ねた大きな合成関数です。誤差逆伝播法は、出力層の誤差から出発し、各層の微分を順に掛けながら入力層側へ勾配を伝えます。途中の結果を使い回すので、すべての重みの勾配を効率よく求められます。PyTorchなどのフレームワークは、この計算を自動で行います(自動微分)。

一方で、勾配が微分の積になることは弱点にもなります。1より小さい値を何度も掛けると勾配消失問題が、1より大きい値を掛け続けると勾配爆発問題が起きます。

覚え方

「変化の倍率は掛け算でつながる」と覚えます。

G検定での出題

出題のされ方

誤差逆伝播法が連鎖律で出力層側から勾配を求める流れ、各層の微分の積になるため勾配消失問題や勾配爆発問題が起きる理由、簡単な合成関数の微分の計算が問われます。

混同しやすい用語

用語意味
連鎖律このページの用語関数の中に別の関数が入った合成関数の微分を、外側の関数の微分と内側の関数の微分の積として求める規則
誤差逆伝播法ニューラルネットワークの出力の誤差をもとに、連鎖律を使って出力層側から入力層側へ順に、各重みの勾配を効率よく計算する方法

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. y = 3u、u = x²のとき、x = 3におけるyのxについての微分dy/dxの値は18である。

    答えを見る

    答え ◯ 正しい

    連鎖律より、dy/dx = (dy/du) × (du/dx) = 3 × 2xです。x = 3を入れると3 × 6 = 18になります。

  2. 連鎖律では、合成関数の微分を、外側の関数の微分と内側の関数の微分の和として求める。

    答えを見る

    答え × 誤り

    和ではなく積です。dy/dx = (dy/du) × (du/dx)のように、各段階の変化の倍率を掛け合わせます。

  3. PyTorchなどの深層学習のフレームワークは、順伝播の計算の過程を記録し、連鎖律を使って勾配を自動で計算する。

    答えを見る

    答え ◯ 正しい

    自動微分と呼ばれる機能です。計算の過程を計算グラフとして記録し、逆向きにたどりながら各段階の微分を掛け合わせて勾配を求めます。

この用語の練習問題

3問
  1. #0042誤差逆伝播法の仕組み難易度 基礎・単一選択未回答
  2. #0361連鎖律による勾配の計算難易度 標準・単一選択未回答
  3. #0379プーリング層の誤差逆伝播難易度 標準・組合せ未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術15

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習