この記事は、Markdown環境における数式(LaTeX形式)のレンダリングテストと、基本的な数式から深層学習で頻出の数式までの書き方をまとめた備忘録です。全てブロック形式で記載しています。

※数式が潰れないように \dfrac\limits を使用し、ベクトル・行列には \mathbf{}(立体太字)や \boldsymbol{}(斜体/ギリシャ文字太字)を適用しています。

0. 基本的な数式 (Basic Math)

分数 (Fractions)

\frac の代わりに \dfrac を使うことで、行内で分数が小さく潰れるのを防ぎます。

\[y = \dfrac{a}{b}\]
$$y = \dfrac{a}{b}$$

平方根・累乗根 (Roots)

\[y = \sqrt{x} + \sqrt[n]{x}\]
$$y = \sqrt{x} + \sqrt[n]{x}$$

行列 (Matrices)

行列を表す大文字アルファベットには \mathbf{} を使って太字にします。

\[\mathbf{A} = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}\]
$$
\mathbf{A} = \begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{pmatrix}
$$

総和と総乗 (Sum and Product)

\(S = \sum_{i=1}^{n} x_i, \quad P = \prod_{i=1}^{n} x_i\)

$$S = \sum_{i=1}^{n} x_i, \quad P = \prod_{i=1}^{n} x_i$$

\limitsをいれると、数字が記号の上下にきます。
\(S = \sum\limits_{i=1}^{n} x_i, \quad P = \prod\limits_{i=1}^{n} x_i\)

$$S = \sum\limits_{i=1}^{n} x_i, \quad P = \prod\limits_{i=1}^{n} x_i$$

1. 活性化関数 (Activation Functions)

シグモイド関数 (Sigmoid Function)

\[\sigma(x) = \dfrac{1}{1 + e^{-x}}\]
$$\sigma(x) = \dfrac{1}{1 + e^{-x}}$$

ReLU関数 (Rectified Linear Unit)

\[f(x) = \max(0, x)\]
$$f(x) = \max(0, x)$$

ソフトマックス関数 (Softmax Function)

\[y_i = \dfrac{e^{x_i}}{\sum_{k=1}^{n} e^{x_k}}\]
$$y_i = \dfrac{e^{x_i}}{\sum_{k=1}^{n} e^{x_k}}$$

2. 損失関数 (Loss Functions)

平均二乗誤差 (Mean Squared Error: MSE)

\[L = \dfrac{1}{N} \sum\limits_{i=1}^{N} (y_i - t_i)^2\]
$$L = \dfrac{1}{N} \sum\limits_{i=1}^{N} (y_i - t_i)^2$$

交差エントロピー誤差 (Cross-Entropy Loss)

\[L = -\sum_{i} t_i \log y_i\]
$$L = -\sum_{i} t_i \log y_i$$

3. 最適化と学習 (Optimization and Learning)

勾配降下法 (Gradient Descent)

パラメータ(ギリシャ文字)を太字にするために \boldsymbol{} を使用しています。

\[\boldsymbol{\theta}_{t+1} = \boldsymbol{\theta}_t - \eta \nabla L(\boldsymbol{\theta}_t)\]
$$\boldsymbol{\theta}_{t+1} = \boldsymbol{\theta}_t - \eta \nabla L(\boldsymbol{\theta}_t)$$

Adam (Adaptive Moment Estimation)の更新式

ベクトル($m, v, g$)には \mathbf{}、パラメータ($\theta$)には \boldsymbol{} を適用しています。

\[\begin{aligned} \mathbf{m}_t &= \beta_1 \mathbf{m}_{t-1} + (1 - \beta_1) \mathbf{g}_t \\ \mathbf{v}_t &= \beta_2 \mathbf{v}_{t-1} + (1 - \beta_2) \mathbf{g}_t^2 \\ \hat{\mathbf{m}}_t &= \dfrac{\mathbf{m}_t}{1 - \beta_1^t} \\ \hat{\mathbf{v}}_t &= \dfrac{\mathbf{v}_t}{1 - \beta_2^t} \\ \boldsymbol{\theta}_{t+1} &= \boldsymbol{\theta}_t - \dfrac{\eta}{\sqrt{\hat{\mathbf{v}}_t} + \epsilon} \hat{\mathbf{m}}_t \end{aligned}\]
$$
\begin{aligned}
\mathbf{m}_t &= \beta_1 \mathbf{m}_{t-1} + (1 - \beta_1) \mathbf{g}_t \\
\mathbf{v}_t &= \beta_2 \mathbf{v}_{t-1} + (1 - \beta_2) \mathbf{g}_t^2 \\
\hat{\mathbf{m}}_t &= \dfrac{\mathbf{m}_t}{1 - \beta_1^t} \\
\hat{\mathbf{v}}_t &= \dfrac{\mathbf{v}_t}{1 - \beta_2^t} \\
\boldsymbol{\theta}_{t+1} &= \boldsymbol{\theta}_t - \dfrac{\eta}{\sqrt{\hat{\mathbf{v}}_t} + \epsilon} \hat{\mathbf{m}}_t
\end{aligned}
$$

4. 発展的な構造 (Advanced Architectures)

Scaled Dot-Product Attention (Transformer)

テキストがイタリックにならないよう、\text{}を使用しています。
行列 $Q, K, V$ を太字にしています。
カッコのサイズを合わせるため、( )ではなく\left \right を使っています。

\[\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\left(\dfrac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right)\mathbf{V}\]
$$\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\left(\dfrac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right)\mathbf{V}$$

畳み込み演算 (Convolution)

\[(f * g)(t) = \displaystyle \int_{-\infty}^{\infty} f(\tau)g(t - \tau) d\tau\]
$$(f * g)(t) = \displaystyle \int_{-\infty}^{\infty} f(\tau)g(t - \tau) d\tau$$