Skip to content
CatBus

카테고리: background

"background" 로 분류된 글.

BACKGROUNDEuclidean

a,b∈Za, b \in \mathbb{Z}이고 aa를 bb로 나눈 나머지를 rr이라 하자. (b≤a,0≤r≤bb \leq a, 0 \leq r \leq b)

a,ba, b의 최대 공약수를 (a,b)(a, b)라고 하면, 다음이 성립한다.

(a,b)=(b,r)(a, b)=(b, r)

출처: wikipidia

rr이 0이 될 때 알고리즘을 멈추며, 이 때의 bb가 최대공약수가 된다.

예를 들어 1460과 1037에 대해 알고리즘을 진행해보면 다음과 같다.

\begin{flalign*} (1460, 1037)\\=(1037, 323)\\=(323, 68)\\=(68, 52)\\=(52, 16)\\=(16, 4)\\=(4,0) \end{flalign*}

rr이 0일때 bb가 4이므로 1460과 1037의 최대공약수는 4이다.

유클리드 호제법

유클리드 호제법은 2개의 자연수에 대해 최대공약수를 구하는 알고리즘이며 다음과 같은 성질을 통해 알고리즘을 진행한다.

2022.11.22·1분·math
BACKGROUNDAttention
종류점수 함수Q의 출처K, V의 출처출처 논문
Bahdanau (additive)va⊤tanh⁡(Wast−1+Uahj)v_a^\top \tanh(W_a s_{t-1} + U_a h_j)decoder 직전 상태encoder 전체Bahdanau et al. (2015)
Luong dotht⊤hˉsh_t^\top \bar{h}_sdecoder 현재 상태encoder 전체Luong et al. (2015)
Luong generalht⊤Wahˉsh_t^\top W_a \bar{h}_sdecoder 현재 상태encoder 전체Luong et al. (2015)
Luong concatva⊤tanh⁡(Wa[ht;hˉs])v_a^\top \tanh(W_a[h_t ; \bar{h}_s])decoder 현재 상태encoder 전체Luong et al. (2015)
Encoder self-attentionQK⊤/dkQK^\top / \sqrt{d_k}encoder 이전 층encoder 이전 층Vaswani et al. (2017)
Masked self-attentionQK⊤/dkQK^\top / \sqrt{d_k} (뒤쪽 −∞-\infty)decoder 이전 층decoder 이전 층Vaswani et al. (2017)
Encoder-decoder attentionQK⊤/dkQK^\top / \sqrt{d_k}decoder 이전 층encoder 출력Vaswani et al. (2017)

Attention 메커니즘 정리 - Seq2Seq에서 Transformer까지

Lab11-5에서 Seq2Seq model을 공부하면서 입력 문장 전체를 vector 하나로 압축한다는 점이 계속 걸렸다.

2022.06.10·19분·attention
BACKGROUNDBackpropagation
∇w3=∂cost∂W3=∂cost∂o1∂o1∂y1∂y1∂W3\nabla w_3=\frac{\partial cost}{\partial W_3}=\frac{\partial cost}{\partial o_1}\frac{\partial o_1}{\partial y_1}\frac{\partial y_1}{\partial W_3}

∇W3\nabla W_3는 chain rule을 통해 위와 같이 미분이 바로 되는 형식으로 표현할 수 있다. 한 번 더 거슬러 올라가 보자.

이번에는 ∇W1\nabla W_1과 ∇W2\nabla W_2를 구할 차례이다. 먼저 ∇X1\nabla X_1을 구해보자.

∂cost∂W1=∂cost∂y1∂y1∂hz2∂hz2∂z2∂z2∂W1\frac{\partial cost}{\partial W_1}=\frac{\partial cost}{\partial y_1}\frac{\partial y_1}{\partial h_{z_2}}\frac{\partial h_{z_2}}{\partial z_2}\frac{\partial z_2}{\partial W_1}

Backpropagation

데이터를 레이어의 노드들을 통과시키면서 설정된 weight에 따라 예측 결과값을 계산하는 것을 forward pass라고 한다.

2022.05.12·3분·backpropagation
BACKGROUNDCross
KL(P∥∥Q)=H(P,Q)=−∑i=1np(xi)log⁡q(xi)KL\left( P\|\|Q \right) = H\left( P, Q \right) = -\sum^n_{i=1} p\left( x_i \right) \log{ q\left( x_i\right ) }

이런 이유 때문에 교차 엔트로피 자체가 loss로 기능할 수 있는 것이다.

Cross Entropy(교차 엔트로피)

교차 엔트로피의 의미는 이름에서 찾아볼 수 있다. 먼저 교차 엔트로피의 식을 한번 보자. 엔트로피 식에 와 의 밀도함수들이 교차해서 들어가 있다. 그런 의미에서 교차 엔트로피라는 이름이 붙은 것이다.

2022.04.27·2분·entropy
BACKGROUNDKL

KL(P∥∥Q)=H(P,Q)−H(P)KL\left( P\|\|Q \right) = H\left( P, Q \right) - H\left( P \right) =(−∑i=1np(xi)log⁡q(xi))−(−∑i=1np(xi)log⁡p(xi))= \left( -\sum^n_{i=1} p\left( x_i \right) \log{ q\left( x_i\right ) } \right) - \left( -\sum^n_{i=1} p\left( x_i \right) \log{ p\left( x_i\right ) } \right)

=−∑i=1np(xi)log⁡q(xi)p(xi)= -\sum^n_{i=1} p\left( x_i \right) \log{ \frac{ q\left( x_i\right )}{ p\left( x_i\right ) } }

이때 이산확률분포의 쿨백-라이블러 발산은 위에서 표현한 것과 같이 총 합으로 나타낼 수 있으며 다음과 같고

KL(P∥∥Q)=∑iP(i)log⁡P(i)Q(i)KL\left( P\|\|Q \right) = \sum_i P\left( i \right) \log{ \frac{ P\left( i \right )}{ Q\left( i \right ) } }

KL divergence(쿨백-라이블러 발산)

이번에는 엔트로피에 이어 쿨백-라이블러 발산(Kullback-Leibler divergence)에 대해 알아보려 한다.

2022.04.26·3분·entropy
BACKGROUNDEntropy
H(x)=E(I(x))=−∑i=1np(xi)log⁡bp(xi)H\left(x\right) = E\left( I\left ( x\right ) \right) = -\sum^n_{i=1} p\left( x_i \right) \log_b{ p\left( x_i\right ) }

엔트로피는 정보량이 클수록 커지는 성질을 가진다. 다른 정보이론에서는 모르겠지만 머신러닝 분야에서는 예측을 하는 것이 목적이므로 예측에 맞춰 다시 말을 정리하면, 예측이 힘들수록 더 크다는 것이 된다.

이것이 앞서 예측하기 어려운 정도가 가장 와닿았다고 하는 이유였다.

다음 포스팅에서는 이 엔트로피를 이용한 대표적인 loss인 cross entropy를 알아보기 위해 KL divergence에 대해 먼저 알아보려 한다.

Entropy(엔트로피)란?

오토인코더에 대한 공부를 하다가 entropy, cross entropy, KL divergence 등 모르는 용어들이 있어서 더 이상 미루지 않고 공부를 해 보기로 했다.

2022.04.26·3분·entropy