Post

Mathematics for Deep Learning

Mathematics for Deep Learning

Basic statistics와 matrix derivatives 등 앞서 post에서 다룬 기초 수학 내용 및 deep learning의 학습의 기본이 되는 gradient descent 등의 방법론은 아래 post를 참고

Distributions

Logistic Sigmoid

\[\sigma(x) = \frac{1}{1+\exp(-x)}\]

Softplus Function

\[\zeta(x) = \log(1+\exp(x))\]
  • softened version of $x^+ = \max(0,x)$

Properties of Sigmoid

  • $\sigma(x) = \frac{1}{1 + \exp(-x)} = \frac{\exp(x)}{\exp(x) + \exp(0)}$

  • $\frac{d}{dx} \sigma(x) = \sigma(x)(1 - \sigma(x))$

  • $1 - \sigma(x) = \sigma(-x)$

  • $\log \sigma(x) = -\zeta(-x)$

  • $\frac{d}{dx} \zeta(x) = \sigma(x)$

  • $\forall x \in (0, 1), \; \sigma^{-1}(x) = \log \left( \frac{x}{1 - x} \right)$

Information Theory

Entropy

Information theory는 information이라는 개념에 대한 quantifying하는 것에 대한 학문이다. 여기서 가장 기본 개념은, 발생 확률이 낮은 event가 더 informative하다는 것이다.

어떤 event $x$이 가지고 있는 information quantity 또는 self-information은 event $x$가 발생할 확률 $P(x)$를 표현하기 위한 최소 bits 개수로, 다음과 같이 정의한다.

\[I(x) = -\log_2 P(x)\]

$P(x)$가 낮을수록 $I(x)$는 증가한다는 것을 알 수 있다.

이 때, entropy란 self-information의 expectation을 말하며, 다음과 같이 정의된다.

\[H(x) = E_{x \sim P} [I(x)] = -E_{x \sim P} [\log P(x)]\]

어떤 distribution에서 발생한 event의 information quantity의 기댓값이므로, 해당 distribution의 uncertainty 크기에 대한 measure로 볼 수 있다.

예를 들어, Bernoulli distribution을 고려하자. 이 때의 entropy는 다음과 같이 정의된다.

\[H(x) = -p\log p - (1-p) \log (1-p)\]

만약, distribution이 deterministic하다면, 즉 $p=0$ 또는 $p=1$이면, $H(x)$는 0이 된다 (여기서 $0\log 0 = 0$으로 고려).

반면에, 가장 uncertain 한 상황인 $p=0.5$인 경우, $H(x)$는 약 0.693 정도로 가장 큰 값을 갖는다.

KL Divergence

Kullback–Leibler divergence, 또는 KL divergence는 두 distribution에 대한 차이를 나타내는 비대칭적 지표이다.

\[D_{KL}(P \parallel Q) = E_{x \sim P} \left[ \log \frac{P(x)}{Q(x)} \right] = E_{x \sim P} \left[ \log P(x) - \log Q(x) \right]\]
  • $D_{KL}(P \parallel Q) = 0$ if and only if $P$ and $Q$ are the same.

  • Asymmetric: $D_{KL}(P \parallel Q) \ne D_{KL}(Q \parallel P)$

Cross-entropy

우리가 관심있는 것이 data의 distribution $P$라고 하자. 하지만, 일반적으로 우리는 $P$에 대해서는 알지 못한다. 따라서 우리는 $P$를 모사하는 model을 만들고 $P$에 대한 추정을 진행한다. 이 때, model의 (output에 대한) distribution을 $Q$라고 하자.

Cross-entropy는 $Q$가 model $P$에 대한 추정을 얼마나 잘하는지를 나타내주는 지표로, 다음과 같이 정의된다.

\[H(P,Q) = H(P) + D_{KL}(P \parallel Q) = -E_{x \sim P} \log Q(x)\]

Cross-entropy는 $P$를 따르는 주어진 data와 우리가 가정한 distribution $Q$를 통해 계산할 수 있는 지표로, 이를 최소화하도록 학습을 진행한다면, $P$에 대해서 더 올바른 추정이 가능하게 된다.

‘Cross-entropy의 최소화 w.r.t. $Q$’는 KL divergence에 대한 최소화와 동일하다.

This post is licensed under CC BY 4.0 by the author.