OMOGANEYA Technical Academy 〜 重金屋 技術塾 〜

技術アカデミー

【深層学習の基礎|深層学習に関する数学・確率の基礎】1. 関数

関数は、ある集合の要素を別の集合の要素へ対応づける規則である。

集合 𝒳\mathcal{X} から集合 𝒴\mathcal{Y} への関数 ff は、f:𝒳𝒴f:\mathcal{X}\rightarrow\mathcal{Y} と表される。
このとき、集合 𝒳\mathcal{X} の各要素には、集合 𝒴\mathcal{Y} の要素が1つずつ対応する。

異なる入力が必ず異なる出力へ対応する関数を単射という。
単射では、集合 𝒴\mathcal{Y} の中に、どの入力とも対応しない要素が残っていてもよい。

集合 𝒴\mathcal{Y} のすべての要素が、集合 𝒳\mathcal{X} の少なくとも1つの要素と対応する関数を全射という。
全射では、複数の入力が同じ出力へ対応することがある。

単射と全射の両方の性質を持つ関数を全単射または双射という。
全単射では、2つの集合の要素が重複や不足なく1対1で対応する。

微分同相写像とは、全単射であり、順写像と逆写像の両方が滑らか、すなわち必要な回数だけ微分可能な写像である。

Lipschitz定数

関数 𝒇[𝒛]\boldsymbol{f}[\boldsymbol{z}]Lipschitz連続であるとは、任意の 𝒛1\boldsymbol{z}_1𝒛2\boldsymbol{z}_2 に対して、次式を満たす定数 β\beta が存在することをいう。

𝒇[𝒛1]𝒇[𝒛2]β𝒛1𝒛2(1-1)\left\| \boldsymbol{f}[\boldsymbol{z}_1] – \boldsymbol{f}[\boldsymbol{z}_2] \right\| \leq \beta \left\| \boldsymbol{z}_1-\boldsymbol{z}_2 \right\| \tag{1-1}



ここで、β\betaLipschitz定数である。
式(1-1)は、2つの入力間の距離が変化したときに、出力間の距離がどの程度まで変化し得るかを表している。

Lipschitz定数が小さい関数は入力の変化に対する出力の変化が緩やかであり、Lipschitz定数が大きい関数は出力が急激に変化する可能性がある。

Lipschitz定数が1未満である関数は、縮小写像と呼ばれる。

適切な条件を満たす空間では、縮小写像を繰り返し適用することで、初期値にかかわらず一意な不動点へ収束することがBanachの不動点定理によって示される。

不動点とは、関数を適用しても値が変わらない点である。

Lipschitz定数がそれぞれ β1\beta_1β2\beta_2 である2つの関数を加えると、その和もLipschitz連続となり、Lipschitz定数は β1+β2\beta_1+\beta_2 以下になる。

また、アフィン変換 𝒇[𝒛]=𝑨𝒛+𝒃\boldsymbol{f}[\boldsymbol{z}]=\boldsymbol{A}\boldsymbol{z}+\boldsymbol{b} のユークリッド距離に関するLipschitz定数は、行列 𝑨\boldsymbol{A} のスペクトルノルム、すなわち最大特異値によって与えられる。

凸性

関数上の任意の2点を直線で結んだとき、その線分が常に関数のグラフ以上の位置にある関数を凸関数という。
一方、任意の2点を結ぶ線分が常に関数のグラフ以下の位置にある関数を凹関数という。

凸関数では、局所的に最小となる点は大域的にも最小となる。
ただし、平らな部分を持つ凸関数では、最小となる点が複数存在する場合がある。

これに対して、線分が両端以外で常にグラフよりも上に位置する狭義凸関数では、最小点は高々1つとなる。
凹関数についても関係は逆になり、局所最大値は大域最大値となる。

狭義凹関数の最大点は高々1つである。

D\mathbb{R}^{D} 内の領域が凸集合であるとは、その領域に含まれる任意の2点を選んだとき、その2点を結ぶ線分全体が領域内に含まれることをいう。

凸性は、モデルの学習に用いる損失関数を考えるうえで重要である。凸関数では局所最小値が大域最小値となるため、非凸関数と比べて最小値の性質を把握しやすい。

適切な条件の下では、勾配降下法などを用いて凸関数の大域最小値を求めることができる。

関数の表記

本記事では、関数名の後に引数を角括弧で囲んで表す。
例えば、log[x]\log[x] は、変数 xx の対数を返す関数である。

ベクトルを返す関数は、小文字の太字で表記する。
例えば、𝒚=mlp[𝒙,𝝓]\boldsymbol{y}=\boldsymbol{\mathrm{mlp}}[\boldsymbol{x},\boldsymbol{\phi}] は、ベクトル 𝒙\boldsymbol{x} とパラメータベクトル 𝝓\boldsymbol{\phi} を引数として受け取り、ベクトル 𝒚\boldsymbol{y} を返す関数を表す。

行列またはテンソルを返す関数は、大文字の太字で表記する。
例えば、𝒀=Sa[𝑿,𝝓]\boldsymbol{Y}=\boldsymbol{\mathrm{Sa}}[\boldsymbol{X},\boldsymbol{\phi}] は、行列 𝑿\boldsymbol{X} とパラメータベクトル 𝝓\boldsymbol{\phi} を引数として受け取り、行列 𝒀\boldsymbol{Y} を返す関数を表す。

関数の具体的な引数を明記しない場合には、黒丸記号を用いて f[]f[\bullet] のように表す。

特殊関数

深層学習では、指数関数や対数、ガンマ関数などの特殊な関数が用いられる。

指数関数

指数関数 y=exp[x]=exy=\exp[x]=e^x は、実数 xx\in\mathbb{R} を正の実数 y>0y\in\mathbb{R}_{>0} へ写像する。
xx がどのような実数であっても、指数関数の出力は常に正の値となる。

対数

対数 x=log[y]x=\log[y] は、指数関数の逆関数である。
正の実数 y>0y\in\mathbb{R}_{>0} を入力とし、実数 xx\in\mathbb{R} を返す。

したがって、y=exy=e^x であるとき、x=log[y]x=\log[y] が成り立つ。

ガンマ関数

ガンマ関数 Γ[x]\Gamma[x] は、x>0x>0 に対して次式で定義される。

Γ[x]=0tx1etdt(1-2)\Gamma[x] = \int_{0}^{\infty} t^{x-1}e^{-t} \,dt \tag{1-2}



ガンマ関数は、階乗を正の実数へ拡張した関数であり、正の整数 x{1,2,}x\in\{1,2,\ldots\} に対して、Γ[x]=(x1)!\Gamma[x]=(x-1)! が成り立つ。

Diracのデルタ関数

Diracのデルタ関数 δ[𝒛]\delta[\boldsymbol{z}] は、𝒛=0\boldsymbol{z}=\boldsymbol{0} 以外の位置ではゼロとなり、全領域にわたる積分が1となるように扱われる。
直感的には、面積または体積のすべてが 𝒛=0\boldsymbol{z}=\boldsymbol{0} の位置に集中しているものと考えられる。

厳密には通常の関数ではなく、分布または一般化関数として扱われるが、物理学や工学、応用数学ではDiracのデルタ関数という名称が広く用いられている。

N 個のデータ点からなるデータセットは、各データ点 𝒙i\boldsymbol{x}_i を中心とし、それぞれを 1/N で重み付けした N 個のデルタ関数から構成される確率分布として表すことができる。

デルタ関数は、グラフ上では一般に矢印を用いて表される。

Diracのデルタ関数には、関数から特定の位置における値を取り出す性質がある。
この性質は、次式で表される。

Df[𝒙]δ[𝒙𝒙0]d𝒙=f[𝒙0](1-3)\int_{\mathbb{R}^{D}} f[\boldsymbol{x}] \delta[\boldsymbol{x}-\boldsymbol{x}_0] \,d\boldsymbol{x} = f[\boldsymbol{x}_0] \tag{1-3}



式(1-3)は、関数 f[𝒙]f[\boldsymbol{x}] と、𝒙0\boldsymbol{x}_0 を中心とするデルタ関数を掛けて全領域で積分すると、f[𝒙0]f[\boldsymbol{x}_0] が得られることを表している。

最小値と最大値を表す関数

min\minarg min\operatorname{arg\,min} は、どちらも関数の最小化に関係するが、返す値が異なる。
minxf[x]\underset{x}{\min}\,f[x] は、変数 x が取り得る範囲における関数 f[x] の最小値を返す。

これに対して、arg minxf[x]\underset{x}{\operatorname{arg\,min}}\,f[x] は、関数 f[x]f[x] を最小にする xx の値を表す。
最小にする xx が複数存在する場合には、それらの集合として扱われる。

最小化する xx が一意に定まり、その値を yy とすると、次の関係が成り立つ。

y=arg minxf[x]f[y]=minxf[x](1-4)\begin{aligned} y &= \underset{x}{\operatorname{arg\,min}} \,f[x] \\ f[y] &= \underset{x}{\min} \,f[x] \end{aligned} \tag{1-4}


同様に、maxxf[x]\underset{x}{\max}\,f[x] は関数の最大値を返し、arg maxxf[x]\underset{x}{\operatorname{arg\,max}}\,f[x] は関数を最大にする xx の値、またはその集合を返す。


この記事について

参考文献
・「深層学習を理解する I―教師あり学習とモデルの基礎―」Simon J. D. Prince 著、黒川利明 訳
・「深層学習を理解する II―教師なし学習・強化学習・倫理―」Simon J. D. Prince 著、黒川利明 訳
・「Convex Optimization—Convex Sets」Stephen Boyd、Lieven Vandenberghe、Parth Nobel、Stanford University
・「Convex Optimization—Convex Functions」Stephen Boyd、Lieven Vandenberghe、Parth Nobel、Stanford University
・「DLMF §5.2 Definitions—Gamma Function」National Institute of Standards and Technology(NIST)
・「DLMF §1.17 Integral and Series Representations of the Dirac Delta」National Institute of Standards and Technology(NIST)

(最終閲覧日:2026年9月21日)


※本記事は、上記文献を参考にしつつ、筆者の理解に基づいて内容を整理・再構成したものである。


この記事を書いた企業

企業名
株式会社Lightcone Technology
事業内容
LLMを活用したAIサービスの企画・開発・運営
Web・モバイルアプリケーションの企画・開発・運営
Webサイトの企画・制作
AI基盤技術の研究・開発
URL
https://lc-techno.com/
連絡先
info@lc-techno.com
企業ページを見る
contact

製品・サービスの掲載、掲載情報に関するお問い合わせ、OMOGANEYAを通じた調達・販売・取引支援について、お気軽にご相談ください。