Chapter 06
微分と導関数:瞬間の傾き、学習の羅針盤
微分はある点での瞬間の変化率(傾き)を表します。導関数はそれを関数にしたもので、ディープラーニングの勾配降下法・誤差逆伝播の基礎になります。
チャプター別 数学図
チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。基礎数学の流れを一覧で確認できます。
左: 接線 — 曲線上の一点で一点だけ接する直線です。その傾きがその点での微分です。右: 二点を結ぶ線 — 曲線上の二点を結ぶ線です。二点を近づけるとこの線は接線に近づき、その極限が微分です。
曲線 上に一点 (2, 4) を取ります。この点で「傾き」を測りたいのです。
微分は接線の傾きです。「二点を結ぶ線の傾き」を二点を重ねたときの極限が接線の傾きです。
微分と導関数とは何か
微分(Derivative)は、曲線上の特定の点でグラフがどれだけ急に変わっているかを表す「瞬間の変化率」です。幾何学的には、その点における接線の傾きに等しくなります。車のスピードメーターが瞬間ごとの速度を示すように、微分は入力 がごくわずかに変わるとき、出力 がどれだけ敏感に反応するかを数で教えてくれます。
数学では、この傾きは「ごく近い2点間の平均の傾き」を求めたあと、2点の間隔を 0 に近づける極限(Limit)をとって得られます。式では です。(分母の は2点間の距離、分子はその変化に対する の変化量です。)この過程で得られた値を微分係数といい、 と書きます。この値が大きいと傾きが急で、0 なら平らな状態を意味します。
導関数は、関数 のすべての点に対して、その点での微分係数(傾き)を対応させた新しい関数です。つまり、傾きをいちいち計算しなくても、導関数の式に を代入すればその位置の傾きがすぐ分かる「傾き生成器」です。この導関数を求める過程を「微分する」といいます。
- 区分以下
- 説明よく使う微分公式です。
- 区分
- 説明微分(導関数)を表します。
| 区分 | 説明 |
|---|---|
| 以下 | よく使う微分公式です。 |
| 微分(導関数)を表します。 |
- 公式定数
- 説明微分すると 0
- 公式べき乗
- 説明前に を出し、指数は
- 公式自然指数
- 説明微分してもそのまま
- 公式一般の指数
- 説明
- 公式自然対数
- 説明
- 公式対数(底 a)
- 説明
- 公式sin
- 説明微分すると cos
- 公式cos
- 説明微分すると
- 公式tan
- 説明微分すると
- 公式和・差
- 説明それぞれ微分して足すか引く
- 公式定数倍
- 説明定数はそのまま、中だけ微分
- 公式積の微分
- 説明(1つ目微分)×2つ目 + 1つ目×(2つ目微分)
- 公式商の微分
- 説明(上微分×下 − 上×下微分) / 下の2乗
- 公式直感(積)
- 説明「1つ目を微分×2つ目」+「1つ目×2つ目を微分」。極限で分けると二つの変化が足されて2項になります。
- 公式直感(商)
- 説明商を「上×(1/下)」と見て積の微分を使う。(1/下)の微分を代入して整理すると上の公式になります。
| 公式 | 説明 |
|---|---|
| 定数 | 微分すると 0 |
| べき乗 | 前に を出し、指数は |
| 自然指数 | 微分してもそのまま |
| 一般の指数 | |
| 自然対数 | |
| 対数(底 a) | |
| sin | 微分すると cos |
| cos | 微分すると |
| tan | 微分すると |
| 和・差 | それぞれ微分して足すか引く |
| 定数倍 | 定数はそのまま、中だけ微分 |
| 積の微分 | (1つ目微分)×2つ目 + 1つ目×(2つ目微分) |
| 商の微分 | (上微分×下 − 上×下微分) / 下の2乗 |
| 直感(積) | 「1つ目を微分×2つ目」+「1つ目×2つ目を微分」。極限で分けると二つの変化が足されて2項になります。 |
| 直感(商) | 商を「上×(1/下)」と見て積の微分を使う。(1/下)の微分を代入して整理すると上の公式になります。 |
- 公式定数
- 数値例(5)'=0、(-3)'=0
- 解き方微分すると 0
- 公式
- 数値例、 で 12
- 解き方指数を前に、指数は
- 公式
- 数値例 で 1、 で
- 解き方微分してもそのまま
- 公式
- 数値例
- 解き方 に をかける
- 公式
- 数値例 で
- 解き方微分すると
- 公式sin
- 数値例 で 1
- 解き方sin → cos
- 公式cos
- 数値例 で 0
- 解き方cos →
- 公式和
- 数値例
- 解き方項ごとに微分して足す
- 公式定数倍
- 数値例
- 解き方定数そのまま、 だけ微分
- 公式積
- 数値例
- 解き方(1つ目微分)×2つ目 + 1つ目×(2つ目微分)
- 公式商
- 数値例 → で 0
- 解き方(上微分×下−上×下微分)/下の2乗 に代入
| 公式 | 数値例 | 解き方 |
|---|---|---|
| 定数 | (5)'=0、(-3)'=0 | 微分すると 0 |
| 、 で 12 | 指数を前に、指数は | |
| で 1、 で | 微分してもそのまま | |
| に をかける | ||
| で | 微分すると | |
| sin | で 1 | sin → cos |
| cos | で 0 | cos → |
| 和 | 項ごとに微分して足す | |
| 定数倍 | 定数そのまま、 だけ微分 | |
| 積 | (1つ目微分)×2つ目 + 1つ目×(2つ目微分) | |
| 商 | → で 0 | (上微分×下−上×下微分)/下の2乗 に代入 |
日常でも「傾き」は「どちらの方向に、どれだけ速く変わっているか」を表します。例えば山を下るとき、いちばん急な方向が「傾きがいちばん大きい方向」です。反対に谷底(最小値)や山の頂上(最大値)では、上がるでも下がるでもないので、その場所では傾きは0です。だから「いちばん低いところ」「いちばん高いところ」を探すのは「傾きが0のところ」を探すのと同じです。こういう「傾き」を式ではっきり表したのが微分です。微分がわかると、「どこがいちばん低い・高いか」だけでなく「どちらに進むと一番速く下れるか」まで計算できます。
ディープラーニングではまず「予測が正解に近いほどよい」という点数(損失)を一つ決めます。この点数が低いほどモデルがよく当たっていることになります。その点数を下げるために、モデルの中のたくさんの数(重み)を少しずつ変えます。でも数が多すぎて、「これを増やそう、あれを減らそう」と全部試すことはできません。そこで勾配(グラディエント)を使います。勾配は「各数を少し増やすと点数が下がるか上がるか、少し減らすとどうなるか」を一度に教えてくれる値で、導関数と同じ考え方です。それを見て「点数を下げるにはこの数は増やして、あの数は減らそう」と決めます。微分を知っていると「AIがなぜこう数字を変えるか」を説明できます。
誤差逆伝播は「答え(出力)側から入力側へ逆向きに」一歩ずつ進みながら、各数(重み)について「損失がどれだけ変わるか(微分)」を一つずつ計算する方法です。モデルは何段も重なっている(入力→第1層→…→出力)ので、重みを一つ変えると次の段が順に変わり、最後に損失が変わります。この「連鎖的に変わる」関係をたどって微分するには合成関数の微分(連鎖律)が必要です。この章で学ぶ導関数と公式がそのまま使われるので、ここでしっかり覚えておくとあとが楽です。
ふつう微分は「この値を少し変えたとき、結果がどれだけ変わり、どちら向き(増えるか減るか)に変わるか」を測る道具です。だから「この数字を増やすのがよいか、減らすのがよいか」を決めるときに使います。例えば気温が上がると売上が増えるか減るか、価格を上げると需要がどれだけ減るか、広告費を増やすと売上がどれだけ増えるか—こういう「一つを少し変えたとき、もう一つがどれだけ・どちらに変わるか」は、全部微分で測れます。
AIの学習では「各重みをどれだけ・どの方向に変えるか」が損失をその重みで微分した値で決まります。損失(点数)を下げたいけれど、重みが何千・何万もあるので一つずつ試すことはできません。だから「この重みを少し増やすと損失が下がるか上がるか」を微分で求めるのです。この章の微分公式(和・積・商・連鎖律)を知っていると逆伝播の式を読めるし、あとで偏微分・勾配(Ch08)に広げていけます。
導関数を求めるには、どの公式が使えるか(べき乗、指数、対数、三角、積・商・連鎖)を見て、公式通りに書き、整理します。
例題と解答を表にまとめました。
- 問題例1. の導関数
- 解答べき・和:
- 問題例2. の導関数
- 解答積の微分:
- 問題例3. の導関数
- 解答商の微分:
| 問題 | 解答 |
|---|---|
| 例1. の導関数 | べき・和: |
| 例2. の導関数 | 積の微分: |
| 例3. の導関数 | 商の微分: |
問題タイプ別の解法
- タイプべき乗
- 式・公式
- で の求め方。指数を前に出し、指数から1引いたものに を代入。
- タイプ一次式
- 式・公式
- で の求め方。傾きが導関数なので に無関係に が答え。
- タイプ二次式
- 式・公式
- で の求め方。 の係数の2倍×+一次の係数。
- タイプ定数倍・べき乗
- 式・公式
- で の求め方。定数 はそのまま、 の微分に掛ける。
| タイプ | 式・公式 | で の求め方 |
|---|---|---|
| べき乗 | 。指数を前に出し、指数から1引いたものに を代入。 | |
| 一次式 | 。傾きが導関数なので に無関係に が答え。 | |
| 二次式 | 。 の係数の2倍×+一次の係数。 | |
| 定数倍・べき乗 | 。定数 はそのまま、 の微分に掛ける。 |
例(べき乗)
のとき での微分係数 を求めなさい。
解答
なので 。→ 答 12
例(一次式)
のとき での微分係数 を求めなさい。
解答
一次式の導関数は傾きに等しいので 。 に無関係に 。→ 答 3
例(二次式)
のとき での微分係数 を求めなさい。
解答
なので 。→ 答 8
例(定数倍・べき乗)
のとき での微分係数 を求めなさい。
解答
なので 。→ 答 8