Deep learning study 1. this slide includes basic mathematical theorems for deep learning, such as Bayes's theorem, Bayesian inference, information theorem.
12. 딥러닝의 특징과 Conveltional한 딥러닝
• 딥러닝은 최적화 문제를 잘 푼다.
• 최적화하고자 하는 Objective function을 정해주면 그 objective function을 최적화
하기 위해 feature extraction까지 해가며 최적화하는데, 이는 그 구조가 매우 복잡
하고 높은 성능의 Optimizer 때문에 가능하다.
Conventional한 딥러닝 어플리케이션 설계
1. 학습시키고자 하는 작업을 확률분포로 생각하고, 해당 확률분포를 어떠한 확률분
포로 가정한다.
2. 가정한 확률분포를 근사하기 위한 Objective function(예를 들어 Maximize
likelihood)를 정의하여 Optimization 문제로 바꾼다.
3. Deep Neural Network 구조를 해당하는 작업의 Input에서 특징을 잘 뽑아낼 수 있
게 만든다. (Input이 이미지인 경우 보통 Convolution) (또한 학습이 잘 되게 하기
위한 구조로 만든다. ReLU, Residual connection 등)
4. Deep Learning을 이용하여 학습시킨다. (Network의 Weight를 Optimizer를 이용해
Update한다.)
13. Bayes’s theorem
𝑃 𝐴 𝐵 =
𝑃 𝐵 𝐴 𝑃(𝐴)
𝑃(𝐵)
A : 남성 or 여성
B: 머리카락의 길이
𝑃 𝐵 𝐴 : 남성 또는 여성의 머리카락이 x cm일 확률
𝑃 𝐴 𝐵 : x cm의 머리카락이 있을 때, 이 머리카락이
남성 또는 여성으로부터 나왔을 확률.
15. Bayes’s theorem
Generating human face
미간 넓이의 분포
턱수염은 남자만 있다.
피부색의 분포
머리카락 길이 분포
남자는 보통 여자보다 얼굴이 크다.
탈모는 남자만 있다.
⋮
• 복잡한 문제의 경우 prior가 뭐가 있는지도 알기 힘들다.
• 잘못된 prior가 입력될 수 있다. (운 좋게 잘못된 걸 알 수 있는 sample을 뽑았을
경우 update 가능)
• Prior의 정확한 분포를 얻기가 힘들다.
17. Bayesian inference
𝑝 𝜃 𝑿, 𝛼 =
𝑝 𝑿 𝜃 𝑝(𝜃|𝛼)
𝑝(𝑿|𝛼)
∝ 𝑝 𝑿 𝜃 𝑝(𝜃|𝛼)
x: a general data point
𝜃: the parameter of the data point’s distribution
𝛼: the hyperparameter of the parameter distribution
𝑿: sample data, a set of n observed data points, i. e., 𝑥1, ⋯ , 𝑥 𝑛
𝑥: a new data point whose distribution is to be predicted.
p(𝜃|𝛼): prior distribution
𝑝 𝑿 𝜃 : sampling distribution
𝑝(𝑿|𝛼): marginal distribution
𝑝 𝜃 𝑿, 𝛼 : posterior distribution
20. Maximum likelihood estimation
10 sample 50 sample
키 측정.
Ground truth: 1.78 m, gaussian dist, sigma: 0.1
Sigma는 알고 있다고 가정. 키 측정 (point estimate)
(sample mean값은 week law of large numbers에 의하여 실제 평균으로 수렴함.
(unbiased,
25. Exponential Family
• Normal
• Exponential
• Gamma
• Chi-squared
• Beta
• Dirichlet
• Bernoulli
• Categorical
• Poisson
• Wishart
• Invert Wishart
• geometric
• Binomial (with fixed number of trials)
• Multinomial (with fixed number of trials)
• Negative binomial (with fixed number of failures)
26. Exponential Family
𝑓𝑥 𝑥 𝜃 = ℎ 𝑥 exp(𝜂 𝜃 ∙ 𝑇 𝑥 − 𝐴 𝜃 )
When 𝑇 𝑥 , ℎ 𝑥 , 𝜂 𝜃 , and 𝐴 𝜃 are known function.
The value 𝜃 is called the parameter of the family.
35. Maximum Entropy Distribution
Continuous-value Distribution: Gaussian distribution
Binary classification: Binomial distribution
Multiple class classification: multinomial distribution
Continuous-value Distribution(regression): 주식 가격 변동
Binary classification: 남성 or 여성. True or false.
Multiple class classification: 사자 or 호랑이 or 침팬치
36. Schedule
• 다음 시간: 딥러닝 (solver, batch, ensemble 등) or 머신러닝에
필요한 통계 기본
• 다다음 시간: 문제를 딥러닝으로 설계하기
Editor's Notes
Iris 꽃에는 꽃잎의 넓이, 꽃잎의 길이, 꽃받침의 길이, 꽃의 색깔, 잎의 모양 등 수없이 많은 feature들이 있다. 각 feature들은 distribution으로 생각할 수 있고, Iris 꽃의 분포는 이러한 모든 feature distribution들의 joint probability distribution으로 생각할 수 있다.
Classification문제는 P(class|x)를 최대화하는 class를 찾는 문제로 생각 할 수 있다.
문제를 확률분포로 생각하자. 얼굴의 확률분포 p_x를 알면 sampling을 하는 행위는 얼굴을 생성하는 행위일 것이다. 얼굴이 남자인지 여자인지 classification하는 문제의 경우, 남성 or 여성의 2가지 class를 가지고 있는 베르누이 분포 p_y가 있다고 할때 P(Y|X) 분포로 볼 수 있다.
Feature의 갯수가 무한하면 sample space가 무한하기 때문에 우리가 아무리 많은 데이터를 얻는다고 해도 극히 일부에 지나지 않는다.
차원이 늘어날 수록 필요한 데이터 수가 너무 많아진다. 따라서 우리는 distribution을 estimation하기 전에 해당 분포를 가장 잘 표현하는 feature들만 사용하여 차원을 줄일 필요가 있다.
Classic ML과 Deep learning의 차이점은 ‘feature를 사람이 뽑아내는가?’이다. 일반적인 CNN구조를 보면 convolution layer들은 input domain인 image에서 가정한 분포를 최적화하는 feature를 뽑아내는 영역으로 생각 할 수 있고, full connected layer는 뽑아낸 feature들로부터 가정한 분포를 estimation하는 영역으로 생각할 수도 있다. (일반적으로 optimization의 objective function으로 multi-class classification의 경우 cross entropy를 사용하기 때문에.)
Ian goodfellow의 taxonomy. MLE를 한다고 했을때, 분포를 우리가 아는 어떠한 분포로 가정하고 Estimation하느냐, 가정하지 않고 Esimation하느냐에 따라서 Explicit density, implicit density로 나눠 생각할 수 있다. Explicit density는 또한 가정한 분포가 tractable하느냐에 따라 tractable density로 구분지어 생각할 수 있고, intractable한 경우에는 density를 approximate하는 수 밖에 없다.
Linear activation function을 사용하면, 여러개의 layer를 쓰는 것이 하나의 layer를 쓰는 것과 같아진다. (물론 layer의 연산이 linear라는 가정. Eg. Full connected layer, linear neural network in pytorch)
Exponential family는 distribution의 parameter를 알 수 있기 때문에 편하고, log를 씌웠을때 간단해져서 좋다.
Binomial distribution과 multinomial distribution은 parameter가 각각 𝜙, 𝜋 𝑘 에 대한 식으로 나타나며, maximize log likelihood를 계산 했을때, 이 또한 𝜙, 𝜋 𝑘 에 대한 식으로 나타나기 때문에, output layer에서 마지막에 각각 parameter 𝜃에 sigmoid와 softmax를 취해줘서 값을 변환해준다. 이는 나중에 conventional한 deep learning을 설명하며 언급할 예정.
베이지안 추론에서 MAP을 하면 parameter에 대한 prior를 추가적으로 고려하게 된다. (MAP에서 marginal likelihood는 생략한다고 가정). 이는 위와 같은 과정을 통해 parameter가 너무 커지는 것을 방지하는 것을 확인할 수 있는데, 보통 이를 parameter regularization이라고 한다.
Entropy는 불확실성을 나타내는 척도이다. Information theory에 의하면 log의 밑수가 2이면, 해당 분포에서 sampling한 sample을 표현하는데 필요한 최소 bit수이다.
P가 target이고, q가 우리가 학습시킨 분포라고 했을때, p가 앞에 있으면 forward KL divergence, p가 뒤에 있으면 reverse KL divergence라고 부른다. Minimize forward KL divergence는 MLE (or minimize negative log likelihood)와 계산하면 같아진다. 위 그림은 서로 평균이 다른 2개의 normal distribution을 1개의 normal distribution으로 estimation하려고한 결과다. Minimize forward KL divergence는 전체 분포를 포함하려고 하는데, 이는 p의 0인 부분이 KL divergence 값 계산에 영향을 미치지 않고, 0이 아닌 부분은 크게 영향을 미치기 때문이다. 반대로 reverse KL divergence는 한 분포에 최적화 되는데, 이는 q가 0인 부분이 KL divergence 값 계산에 영향을 미치지 않기 때문이다.
Jensen-Shannon divergence는 KL divergence와는 달리 교환법칙이 성립한다. 따라서 두 distribution 간 정량적인 차이를 구할 수 있다.
앞서 언급했듯이, reverse KL divergence는 아래 그림과 같은 mode collapsing이 일어나게 하는 원인이 된다. 아래 그림의 오른쪽 그림이 target인데, 아래 줄을 보면 전체적으로 분포를 학습하지 않고 옮겨 가는 것을 볼 수 있다. (보통 Generative Adversarial Network에서 학습의 불안정성 때문에 종종 이러한 현상을 보인다.)
MLE에서는 모든 prior를 제외하기 위하여 보통 문제를 Maximum Entropy distribution으로 가정한다.
각 constraint 별 Maximum entropy distribution. Wekipedia에서 Maximum entropy function을 보면 constraint 별 다양한 distribution을 확인할 수 있다.