「y = sin(x²)を微分してください」と言われたら、どう計算しますか?
「えっと…sinの微分はcosで…x²の微分は2xで…あれ?どう組み合わせればいいの?」
こんな経験、ありませんか?
実は、この「関数の中に別の関数が入っている」タイプの微分には、特別なルールがあります。それが連鎖律(チェインルール)です。
連鎖律は、高校数学から大学数学、さらには機械学習(AI)の世界でも超重要な概念です。この記事では、連鎖律の基本から実際の応用まで、初心者の方にも分かりやすく、順を追って解説していきます。
連鎖律(チェインルール)って何?

連鎖律(れんさりつ)は、英語で「Chain Rule(チェインルール)」と呼ばれる、微分の公式の一つです。日本語では「合成関数の微分公式」とも言います。
連鎖律を一言で表すと
「関数の中に別の関数が入っている(合成関数)を微分するとき、外側の微分×内側の微分で計算できる」
これが連鎖律の基本的な考え方です。
合成関数って何?
連鎖律を理解するには、まず「合成関数」を理解する必要があります。
合成関数とは、ある関数の結果を、別の関数に入れることです。
イメージで理解しよう
料理に例えると分かりやすいです。
- 材料(x)を洗う → きれいな材料(u)になる
- きれいな材料(u)を調理する → 完成品(y)になる
この「洗って、調理する」という2段階の処理が、合成関数です。
数式で表すと
- u = g(x)(xを使ってuを作る)
- y = f(u)(uを使ってyを作る)
これをまとめて書くと:
y = f(g(x))
これが合成関数です。gの結果をfに入れているわけですね。
なぜ連鎖律が必要なの?
普通の関数なら、習った微分の公式を使えば簡単に微分できます。
- y = x² → y’ = 2x
- y = sin(x) → y’ = cos(x)
でも、関数の中に別の関数が入っていたら?
y = sin(x²)
これをそのまま「sinの微分はcos」と単純に考えると、cos(x²)になってしまいますが、これは間違いです。
正しい答えは:2x·cos(x²)
この「内側のx²の微分である2xを掛ける」という部分が、連鎖律のポイントなんです。
連鎖律の公式
それでは、連鎖律の公式を見ていきましょう。
基本形(1変数の場合)
合成関数 y = f(g(x)) を微分すると:
dy/dx = f'(g(x)) · g'(x)
または、u = g(x) とおくと:
dy/dx = (dy/du) · (du/dx)
読み方・意味
- dy/dx:yをxで微分したもの
- dy/du:yをuで微分したもの(外側の関数の微分)
- du/dx:uをxで微分したもの(内側の関数の微分)
「外側の微分」に「内側の微分」を掛ければOKというわけです。
なぜ「連鎖」律なのか
連鎖律という名前の由来は、複数の微分を「鎖のようにつなぐ」からです。
xが変化すると → uが変化して → yが変化する
という変化の連鎖を、微分を掛け算でつなぐことで表現しているんですね。
連鎖律の使い方|ステップバイステップ
それでは、実際に連鎖律を使って微分してみましょう。
ステップ1:外側と内側を見分ける
合成関数を見たら、まず「外側の関数」と「内側の関数」を区別します。
例:y = (3x + 5)⁴
- 外側の関数:f(u) = u⁴(何か4乗にしている)
- 内側の関数:u = 3x + 5
ステップ2:外側を微分する(内側はそのまま)
外側の関数を微分します。このとき、内側はそのまま残しておきます。
f(u) = u⁴ の微分は f'(u) = 4u³
uの部分は内側の (3x + 5) のままなので:
4(3x + 5)³
ステップ3:内側を微分する
次に、内側の関数を微分します。
u = 3x + 5 の微分は u’ = 3
ステップ4:掛け算する
外側の微分×内側の微分を計算します。
y’ = 4(3x + 5)³ · 3 = 12(3x + 5)³
完成です!
具体例で理解を深めよう

それでは、いろいろなパターンの例題を見ていきましょう。
例題1:基本的な多項式
問題:y = (x² + 1)³ を微分せよ
解答
外側:f(u) = u³ → f'(u) = 3u²
内側:u = x² + 1 → u’ = 2x
連鎖律を適用:
y’ = 3(x² + 1)² · 2x = 6x(x² + 1)²
例題2:三角関数
問題:y = sin(3x) を微分せよ
解答
外側:f(u) = sin(u) → f'(u) = cos(u)
内側:u = 3x → u’ = 3
連鎖律を適用:
y’ = cos(3x) · 3 = 3cos(3x)
覚え方のコツ
sin(○)の形なら、「cosにして、○の微分を掛ける」と覚えましょう。
例題3:指数関数
問題:y = e^(2x) を微分せよ
解答
外側:f(u) = e^u → f'(u) = e^u
内側:u = 2x → u’ = 2
連鎖律を適用:
y’ = e^(2x) · 2 = 2e^(2x)
覚え方のコツ
e^(○)の形なら、「eはそのまま、○の微分を掛ける」と覚えましょう。
例題4:平方根
問題:y = √(x² + 4) を微分せよ
解答
まず、√を指数の形に書き換えます:y = (x² + 4)^(1/2)
外側:f(u) = u^(1/2) → f'(u) = (1/2)u^(-1/2) = 1/(2√u)
内側:u = x² + 4 → u’ = 2x
連鎖律を適用:
y’ = 1/(2√(x² + 4)) · 2x = x/√(x² + 4)
例題5:複雑な合成関数
問題:y = sin(x²) を微分せよ
解答
外側:f(u) = sin(u) → f'(u) = cos(u)
内側:u = x² → u’ = 2x
連鎖律を適用:
y’ = cos(x²) · 2x = 2x cos(x²)
これが冒頭で出てきた問題の答えです!
例題6:3段階の合成関数
問題:y = sin((2x + 1)³) を微分せよ
これは関数が3段階になっています。
解答
一番外側から順番に微分していきます。
- 一番外側:sin(○) → cos(○)
- 中間:(○)³ → 3(○)²
- 一番内側:2x + 1 → 2
全部掛け算します:
y’ = cos((2x + 1)³) · 3(2x + 1)² · 2
整理すると:
y’ = 6(2x + 1)² cos((2x + 1)³)
ポイント
複雑な合成関数でも、外側から順番に微分して、全部掛け算すればOKです。
連鎖律の仕組み|なぜこれで合ってるの?
「なんで外側と内側を掛け算すればいいの?」と疑問に思いませんか?
直感的な理解
変化率(微分)は「どれだけ変化するか」を表します。
xが少し変化すると → uがどれだけ変化するか(du/dx)
uが少し変化すると → yがどれだけ変化するか(dy/du)
この2つの変化率を掛け算すれば、「xが変化したときにyがどれだけ変化するか」(dy/dx)が分かるわけです。
具体例で考える
温度の変化を例にしましょう。
- 1時間で気温が2℃上がる(du/dt = 2)
- 気温が1℃上がると、アイスの売上が10個増える(dy/du = 10)
では、1時間でアイスの売上は何個増える?
2℃上がる × 10個/℃ = 20個増える
これが連鎖律の考え方です!
数式での証明(興味がある人向け)
xがΔxだけ変化すると、uはΔuだけ変化し、yはΔyだけ変化します。
Δy ≈ (dy/du) · Δu(yの変化 = uの変化率 × uの変化量)
Δu ≈ (du/dx) · Δx(uの変化 = xの変化率 × xの変化量)
Δuを代入すると:
Δy ≈ (dy/du) · (du/dx) · Δx
両辺をΔxで割って、Δx → 0 の極限を取ると:
dy/dx = (dy/du) · (du/dx)
これが連鎖律の公式です。
多変数関数の連鎖律
ここまでは1変数の関数(yがxだけに依存する)の連鎖律を見てきました。でも、実際の世界では、複数の変数に依存する関数(多変数関数)がたくさんあります。
2変数関数の連鎖律
関数 f(x, y) があって、x と y がそれぞれ t の関数である場合を考えます。
- x = x(t)
- y = y(t)
- f = f(x(t), y(t))
このとき、f を t で微分すると:
df/dt = (∂f/∂x) · (dx/dt) + (∂f/∂y) · (dy/dt)
記号の意味
- ∂f/∂x(デルエフ デルエックス):fをxで偏微分したもの(yは定数として扱う)
- ∂f/∂y:fをyで偏微分したもの(xは定数として扱う)
覚え方
「各変数ごとに、連鎖律を適用して、全部足し合わせる」
具体例:2変数関数
問題:f = x² + xy、x = 2t、y = t² のとき、df/dt を求めよ
解答
まず、偏微分を計算:
∂f/∂x = 2x + y
∂f/∂y = x
次に、x と y の t による微分:
dx/dt = 2
dy/dt = 2t
連鎖律を適用:
df/dt = (2x + y) · 2 + x · 2t
x = 2t、y = t² を代入:
df/dt = (2·2t + t²) · 2 + 2t · 2t
= (4t + t²) · 2 + 4t²
= 8t + 2t² + 4t²
= 8t + 6t²
連鎖律の図解(木構造)
多変数関数の連鎖律は、木構造(ツリー図)で考えると分かりやすくなります。
f
/ \
x y
\ /
t
f から t への経路が2つあります:
- f → x → t
- f → y → t
それぞれの経路で微分を掛け算して、最後に全部足し合わせます。
連鎖律の実際の応用
連鎖律は、理論だけでなく、実際のいろいろな場面で使われています。
応用1:機械学習(AI)
連鎖律が最も活躍しているのが、機械学習の世界です。
ニューラルネットワークの学習
AIの脳みそであるニューラルネットワークは、複数の層(レイヤー)が積み重なった構造をしています。
入力 → 層1 → 層2 → 層3 → … → 出力
これは、まさに何重にも入れ子になった合成関数です!
バックプロパゲーション(誤差逆伝播)
ニューラルネットワークの学習では、「誤差を出力層から入力層に向かって逆向きに伝える」という処理をします。これをバックプロパゲーション(Backpropagation)と呼びます。
この計算こそが、連鎖律の連続適用なんです。
具体例
簡単なニューラルネットワークを考えます:
入力 x → 重み w₁ で変換 → z₁ → 活性化関数 → a₁ → 重み w₂ で変換 → z₂ → 出力 y
損失(誤差)L を重み w₁ で微分したい場合、連鎖律を使います:
∂L/∂w₁ = (∂L/∂y) × (∂y/∂z₂) × (∂z₂/∂a₁) × (∂a₁/∂z₁) × (∂z₁/∂w₁)
この計算によって、「重みをどう調整すれば誤差が減るか」が分かります。これがAIの「学習」の正体です。
TensorFlowやPyTorchの自動微分
最近の機械学習フレームワーク(TensorFlowやPyTorch)は、連鎖律を自動的に計算してくれる「自動微分」機能を持っています。人間がいちいち連鎖律を計算しなくても、コンピューターが勝手にやってくれるわけです。
応用2:物理学
物理学でも連鎖律は大活躍します。
速度と加速度
物体の位置 x が時間 t の関数 x(t) のとき:
- 速度:v = dx/dt
- 加速度:a = dv/dt = d²x/dt²
でも、加速度を速度の関数として表すこともできます(a を v と x の関数として)。このとき、連鎖律を使います:
a = dv/dt = (dv/dx) · (dx/dt) = v · (dv/dx)
これは、速度が位置によって変化する問題を解くときに便利です。
温度の変化
金属棒の温度 T が位置 x と時間 t に依存する場合(T = T(x, t))、ある点での温度の時間変化を知りたいとき:
dT/dt = (∂T/∂t) + (∂T/∂x) · (dx/dt)
ここで dx/dt は、その点が移動する速度です。
応用3:経済学
経済学でも連鎖律は重要です。
生産関数
生産量 Y が資本 K と労働 L に依存する場合(Y = f(K, L))、時間による生産量の変化は:
dY/dt = (∂Y/∂K) · (dK/dt) + (∂Y/∂L) · (dL/dt)
これによって、「資本を増やすのと労働を増やすのと、どちらが生産量を増やすのに効果的か」などが分析できます。
需要と価格
商品の需要 D が価格 p と所得 I に依存する場合(D = D(p, I))、価格の変化による需要の変化を分析する際に連鎖律が使われます。
よくある間違いと注意点

連鎖律を使うときに、よくある間違いを紹介します。
間違い1:内側の微分を忘れる
間違った計算
y = sin(x²) → y’ = cos(x²) ❌
正しい計算
y = sin(x²) → y’ = 2x cos(x²) ⭕
内側のx²の微分である2xを掛けるのを忘れてはいけません。
間違い2:外側と内側を逆にする
間違った計算
y = (3x)² → y’ = 3 · 2(3x) = 6(3x) ❌
正しい計算
y = (3x)² → y’ = 2(3x) · 3 = 18x ⭕
「外側の微分×内側の微分」の順番は守りましょう(実際には掛け算なので順番は関係ないですが、計算ミスを防ぐため)。
間違い3:展開してから微分すれば良いと思う
確かに、展開できる場合は展開してから微分することもできます。
y = (x + 1)² を展開すると y = x² + 2x + 1 → y’ = 2x + 2
連鎖律を使うと y’ = 2(x + 1) = 2x + 2(同じ答え)
でも、複雑な式や展開できない式(sin、cos、e^xなど)では、連鎖律を使う方が圧倒的に簡単です。
例:y = (x³ + 5x² + 3x + 1)¹⁰⁰ を微分せよ
これを展開したら大変なことになります!連鎖律を使えば一瞬です:
y’ = 100(x³ + 5x² + 3x + 1)⁹⁹ · (3x² + 10x + 3)
間違い4:偏微分記号と普通の微分記号を混同する
多変数関数の場合、∂(ラウンド、デル)という記号を使います。
- dy/dx:y を x で微分(y は x だけの関数)
- ∂y/∂x:y を x で偏微分(y は x 以外の変数にも依存するが、x だけに注目して微分)
この違いを理解しておきましょう。
練習問題
理解を深めるために、自分で解いてみましょう。答えは下に載せています。
問題1
y = (2x + 3)⁵ を微分せよ
問題2
y = cos(4x) を微分せよ
問題3
y = e^(-x²) を微分せよ
問題4
y = √(1 + x²) を微分せよ
問題5
y = sin²(x)(= (sin(x))²)を微分せよ
解答
問題1の解答
外側:u⁵ → 5u⁴
内側:2x + 3 → 2
y’ = 5(2x + 3)⁴ · 2 = 10(2x + 3)⁴
問題2の解答
外側:cos(u) → -sin(u)
内側:4x → 4
y’ = -sin(4x) · 4 = -4sin(4x)
問題3の解答
外側:e^u → e^u
内側:-x² → -2x
y’ = e^(-x²) · (-2x) = -2x e^(-x²)
問題4の解答
y = (1 + x²)^(1/2) と書き換える
外側:u^(1/2) → (1/2)u^(-1/2) = 1/(2√u)
内側:1 + x² → 2x
y’ = 1/(2√(1 + x²)) · 2x = x/√(1 + x²)
問題5の解答
y = (sin(x))² と考える(これは2段階の合成関数)
外側:u² → 2u
中間:sin(x) → cos(x)
y’ = 2sin(x) · cos(x) = sin(2x)
(最後は三角関数の公式 2sin(x)cos(x) = sin(2x) を使いました)
よくある質問(FAQ)
Q1:連鎖律を使わなくても微分できる?
A:展開できる簡単な式なら可能ですが、複雑な式では連鎖律の方が圧倒的に楽です。
例えば y = (x + 1)² なら展開できますが、y = sin(x²) や y = e^(x³) などは展開できないので、連鎖律が必須です。
Q2:連鎖律を使うとき、どっちが外側か分からなくなる
A:「一番最後に行う計算」が外側です。
例えば y = sin(x²) なら、「x²を計算してから、その結果のsinを取る」ので、sinが外側です。
計算の順序を考えると分かりやすいです。
Q3:3段階以上の合成関数はどうする?
A:外側から順番に微分して、全部掛け算します。
y = f(g(h(x))) なら:
y’ = f'(g(h(x))) · g'(h(x)) · h'(x)
何段階でも、この原理は変わりません。
Q4:偏微分の連鎖律がよく分からない
A:「各変数ごとに、1変数の連鎖律を適用して、全部足す」と考えましょう。
f が x と y に依存し、x と y が t に依存するなら:
- f から x を通って t に行く経路 → (∂f/∂x) · (dx/dt)
- f から y を通って t に行く経路 → (∂f/∂y) · (dy/dt)
これらを足し合わせます。
Q5:機械学習を勉強するのに連鎖律は必須?
A:はい、バックプロパゲーション(誤差逆伝播)の理解には必須です。
ただし、TensorFlowやPyTorchなどのフレームワークが自動でやってくれるので、使うだけなら深く理解していなくても大丈夫です。
でも、「なぜそうなるのか」を理解したいなら、連鎖律の理解は欠かせません。
Q6:連鎖律を速く計算できるようになるには?
A:たくさん練習することです!
最初はゆっくりでも、何度も練習すれば、パターンが見えてきて自動的に計算できるようになります。
特に sin(○)、cos(○)、e^(○) などの基本パターンは、「○の微分を掛ける」と体で覚えましょう。
Q7:連鎖律と積の微分公式の違いは?
A:全く別の公式です。
- 積の微分公式:y = f(x) · g(x) のとき、y’ = f'(x) · g(x) + f(x) · g'(x)
- 連鎖律:y = f(g(x)) のとき、y’ = f'(g(x)) · g'(x)
積(掛け算)と合成(関数の入れ子)は違うので、使う公式も違います。
まとめ
連鎖律について、重要なポイントをおさらいしましょう。
連鎖律の基本
合成関数 y = f(g(x)) の微分は:
dy/dx = f'(g(x)) · g'(x)
または、u = g(x) とおくと:
dy/dx = (dy/du) · (du/dx)
「外側の微分×内側の微分」です。
連鎖律を使う手順
- 外側の関数と内側の関数を見分ける
- 外側を微分する(内側はそのまま残す)
- 内側を微分する
- 掛け算する
よく使うパターン
覚えておくと便利なパターン:
- (f(x))ⁿ → n·(f(x))^(n-1) · f'(x)
- sin(f(x)) → cos(f(x)) · f'(x)
- cos(f(x)) → -sin(f(x)) · f'(x)
- e^(f(x)) → e^(f(x)) · f'(x)
- ln(f(x)) → f'(x)/f(x)
多変数関数の場合
f = f(x, y)、x = x(t)、y = y(t) のとき:
df/dt = (∂f/∂x) · (dx/dt) + (∂f/∂y) · (dy/dt)
各変数ごとに連鎖律を適用して、全部足し合わせます。
実際の応用
連鎖律は単なる数学の公式ではなく、実際に使われています。
- 機械学習:ニューラルネットワークの学習(バックプロパゲーション)
- 物理学:速度、加速度、熱伝導などの計算
- 経済学:生産関数、需要関数の分析
- 工学:制御理論、信号処理
最後に
連鎖律は、最初は難しく感じるかもしれませんが、何度も練習すれば必ずできるようになります。特に、簡単な例題から始めて、徐々に複雑な問題にチャレンジすることが大切です。
連鎖律をマスターすれば、微分の世界が一気に広がります。機械学習やデータサイエンスを学ぶ人にとっては、必須のスキルです。
まずは基本的な合成関数から始めて、パターンに慣れていきましょう。そうすれば、連鎖律を使った微分が楽しくなってくるはずです!

コメント