みんなのAI
機械学習AI論文
Loading...

学ぶ

🏅マイ実績

Chapter 02

指数と指数関数:成長と活性化の数学

指数は同じ数を何回かけたかを表し、指数関数はその規則を変数にした関数です。ディープラーニングの活性化・損失の設計で使われます。

チャプター別 数学図

チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。基礎数学の流れを一覧で確認できます。

0123024681012xy(x=0.0, y=1.0)

例: 20=12^0=120=1, 21=22^1=221=2, 22=42^2=422=4, 23=82^3=823=8

指数と指数関数とは何か

指数は、ある数(底)を何回かけたかを表す演算です。紙を42回折ると地球から月に届くという話のように、足し算(+++)ではなくかけ算(×\times×)でつながるため、爆発的に増える(指数関数的成長)性質があります。
指数関数は、その累乗の回数を変数 xxx にした関数 y=axy = a^xy=ax です。多項関数(x2x^2x2)では変数が底にありますが、指数関数では変数が肩にあります。これは「現在の大きさに比例して成長する」という意味です。a>1a>1a>1 なら xxx が増えると値は天井知らずに伸び(指数関数的成長)、0<a<10<a<10<a<1 なら xxx が増えると急速に 0 に近づきます(指数関数的減衰、Exponential Decay)。放射性崩壊や利子計算の「半減期」はこの指数関数的減衰の例です。
自然対数の底 eee(約 2.718…)は、数学とAIで最も重要な底です。y=exy=e^xy=ex は微分しても自分自身のままという唯一の関数です。この「変わらない性質」のおかげで、ディープラーニングの複雑な微分計算の計算量を劇的に減らす魔法のような存在です。
AIでは活性化関数の材料として使われます。線形計算(ax+bax+bax+b)だけでは複雑な問題を解けないため、指数関数で信号をぐいと曲げ(非線形性)、または 0 と 1 のあいだに滑らかに圧縮して伝える役割を果たします。
常に正だからです。指数関数 y=axy=a^xy=ax のグラフは常に xxx 軸の上にあります。どんな実数 xxx を入れても結果 yyy は必ず 0 より大きいので、AI が「確率が -50%」と言うことはできず、出力を0 より大きい「確率」や正の値に変えるときに指数関数が不可欠です。
小さな差を極端に拡大できるからです。入力が 1 と 2 なら見た目は 1 の差ですが、指数をとると 101=1010^1=10101=10 と 102=10010^2=100102=100 で 90 倍に開きます。AI はこの性質で、曖昧に似た二つのデータの差を一気に広げ、明確に分類します。
微分計算の効率のためです。ディープラーニングの学習(逆伝播)は無数の微分の連続ですが、exe^xex は微分しても形が変わらないか、とても簡単な形にまとまるので、学習の速度向上に決定的に役立ちます。
ソフトマックス関数で使います。AI が 1000 枚の画像から一つを選ぶとき、各候補のスコアに指数(exe^xex)をかけます。するとスコアが少しでも高い候補は大きく膨らみ、低い候補は 0 に近づきます。これで「これが正解である確率は 99%」と自信を持って言えます。
シグモイド関数は入力を 0 と 1 のあいだに圧縮します。式 y=11+e−xy = \frac{1}{1+e^{-x}}y=1+e−x1​ に指数が含まれています。入力がどれだけ大きくても 1 を超えず、どれだけ小さくても 0 より小さくならないので、ニューロンのオン(1)/オフ(0)のスイッチになります。
  • 式202^020
  • 値1
  • 式212^121
  • 値2
  • 式222^222
  • 値4
  • 式232^323
  • 値8
  • 式242^424
  • 値16
  • 式323^232
  • 値9
  • 式333^333
  • 値27
式値
202^0201
212^1212
222^2224
232^3238
242^42416
323^2329
333^33327
下のビジュアルのように y=2xy = 2^xy=2x では x=0x=0x=0 のとき 111、x=1x=1x=1 のとき 222、x=2x=2x=2 のとき 444、x=3x=3x=3 のとき 888 です。底と指数の関係を目で確認してください。
問題タイプ別の解き方
  • タイプ値をもとめる
  • 説明ax=?a^x = ?ax=?
  • 答えの出し方底 aaa を xxx 回かけた値。例: 23=82^3 = 823=8。
  • タイプ指数をもとめる
  • 説明a?=値a^? = \text{値}a?=値
  • 答えの出し方「aaa を何回かけたらこの値になるか」の回数が答え。例: 2?=8⇒32^? = 8 \Rightarrow 32?=8⇒3。
  • タイプ大きさくらべ
  • 説明1) ama^{m}am、2) bnb^{n}bn のどちらが大きいか
  • 答えの出し方それぞれ計算してくらべる。1 のほうが大きいときは 1、2 のほうが大きいときは 2 を入力。
  • タイプ同じ底のかけ算
  • 説明ap×aq=a?a^p \times a^q = a^?ap×aq=a?
  • 答えの出し方指数はかけ算ではなく たし算:?=p+q? = p + q?=p+q。(法則: ap⋅aq=ap+qa^p \cdot a^q = a^{p+q}ap⋅aq=ap+q)
  • タイプ同じ底のわり算
  • 説明ap÷aq=a?a^p \div a^q = a^?ap÷aq=a?(p≥qp \ge qp≥q)
  • 答えの出し方指数のひき算:?=p−q? = p - q?=p−q。(法則: ap/aq=ap−qa^p / a^q = a^{p-q}ap/aq=ap−q)
  • タイプべき乗のべき乗
  • 説明(ap)q=?(a^p)^q = ?(ap)q=?
  • 答えの出し方指数のかけ算でひとつに:?=ap×q? = a^{p \times q}?=ap×q。(法則: (ap)q=apq(a^p)^q = a^{pq}(ap)q=apq)
タイプ説明答えの出し方
値をもとめるax=?a^x = ?ax=?底 aaa を xxx 回かけた値。例: 23=82^3 = 823=8。
指数をもとめるa?=値a^? = \text{値}a?=値「aaa を何回かけたらこの値になるか」の回数が答え。例: 2?=8⇒32^? = 8 \Rightarrow 32?=8⇒3。
大きさくらべ1) ama^{m}am、2) bnb^{n}bn のどちらが大きいかそれぞれ計算してくらべる。1 のほうが大きいときは 1、2 のほうが大きいときは 2 を入力。
同じ底のかけ算ap×aq=a?a^p \times a^q = a^?ap×aq=a?指数はかけ算ではなく たし算:?=p+q? = p + q?=p+q。(法則: ap⋅aq=ap+qa^p \cdot a^q = a^{p+q}ap⋅aq=ap+q)
同じ底のわり算ap÷aq=a?a^p \div a^q = a^?ap÷aq=a?(p≥qp \ge qp≥q)指数のひき算:?=p−q? = p - q?=p−q。(法則: ap/aq=ap−qa^p / a^q = a^{p-q}ap/aq=ap−q)
べき乗のべき乗(ap)q=?(a^p)^q = ?(ap)q=?指数のかけ算でひとつに:?=ap×q? = a^{p \times q}?=ap×q。(法則: (ap)q=apq(a^p)^q = a^{pq}(ap)q=apq)