Deep Learning & Probability Theory

전체 글

(1)

Deep Learning

&

Probability Theory

Wanho Choi

(wanochoi.com)

(2)

Random Variable

변수(variable): 자료의 내용을 그때그때 받아들여서 값이 변할 수 있는 수 (반대: 상수)

확률변수(random variable)가 일반변수와 다른 점: 각 값에는 연관되어 있는 확률(probability)이 존재

이산확률변수

(discrete random variable) (continuous random variable)연속확률변수

countable

separate and individual categories by counting

dice, token, etc.

PMF (Probability Mass Function) the height of distribution

probability (=likelihood)

uncountable

infinite number of possible values by measuring

height, weight, speed, etc.

PDF (Probability Density Function) the area of distribution

likelihood

property assumption

how to obtain values examples

probability distribution function probability

(3)

Discrete vs Continuous

확률 질량 함수

(Probability Mass Function)

확률 밀도 함수

(Probability Density Function) Discrete Distribution Continuous Distribution

(4)

ℒ(Θ; X = x) = ℒ(μ, σ; X = x) X = x

Likelihood

연속확률분포에서는 특정 구간의 면적이 확률이 된다.

이 내용에 따르면 특정 사건에 대한 면적은 0이므로 특정 사건이 일어날 확률은 0이 된다.

그냥 y값을 확률처럼 쓸 수는 없을까? (y값은 1보다 클 수 있으므로 엄밀하게 말하면 확률은 아니지만…)

두 사건이 일어날 가능성의 크기를 비교하는 등의 용도로 필요

Llikelihood

주어진 확률분포에 관측값을 넣었을 때 나오는 (확률처럼 취급할 수 있는) 출력값

확률분포가 주어졌을 때 해당 관측치를 얻을 확률 이산확률분포: 확률(probability) 가능도(likelihood) 연속확률분포: 확률(probability) 가능도(likelihood) = ≠

(5)

Probability vs Likelihood

https://www.youtube.com/watch?v=pYxNSUDSFH4&app=desktop

(6)

Maximum Likelihood Estimation

주어진 데이터를 가장 잘 표현하는 확률분포함수를 찾는 방법 (수치 기법)

(7)

Cleary Explained Material on MLE

(8)

Gaussian Distribution

정규분포(normal distribution)라고도 부른다.

가장 널리 사용되는 연속확률 분포

많은 수의 경제, 사회, 자연 현상들이 정규분포를 따른다.

한국 남자의 평균키가 170 cm라는 것은, 키가 170 cm에 가까운 사람들이 가장 많고, 이 수치에서 크게 벗어난 150 cm, 또는 190 cm의 사람들의 수는 기하급수적으로 적어진다는 의미이다. https://www.youtube.com/watch?v=xDIyAOBa_yU f(x) = 1 σ 2π e −(x − μ)2 2σ2

(9)

Two Types of Probabilities

Frequentist Probability

우리가 일반적으로 알고 있는 확률

어떤 사건을 무한 반복했을 때 일어나는 빈도의 수

주사위를 던졌을 때 3이 나올 확률: 1/6

동전을 던졌을 때 앞면이 나올 확률: 1/2

P(E) = lim

n→∞

n

E

n

Bayesian Probability

사전지식(prior knowledge)을 기반으로 확신(belief)의 정도를 수치화한 것

토목 엔지니어는 자신의 생각을 기반으로 비가 많이 올 때 교량이 붕괴될 가능성을 예측할 수 있음

자신의 생각: 일반적인 교량의 수명, 사용된 자재 등

이러한 경우 무한 시행에 의한 빈도수 체크 불가능

P(A|B) = P(B|A) ⋅ P(A)

P(B)

: 교량이 붕괴되는 사건 : 폭우가 오는 사건

A B

(10)

Bayes Rule

P(A|B) = P(B|A) ⋅ P(A)

P(B)

posterior probability marginal probability ( : evidence)E prior probability likelihood

Posterior probability

사건 B가 참일 때 사건 A가 참일 확률

폭우시 교량이 붕괴될 확률

Likelihood

사건 A가 참일 때 사건 B가 참일 확률

교량이 붕괴되었을 때 비가 올 확률??!?

Prior probability

사건 B에 대해서 알기 전에 사건 A가 참일 확률

강수량과 상관 없이 교량이 붕괴될 확률

Marginal probability

사건 A에 대해서 알기 전에 사건 B가 참일 확률

폭우가 올 확률

(11)

Bayes Rule: Meaning

데이터라는 조건이 주어졌을 때의 조건부확률을 구하는 공식

주어진 사건이 일어났다는 가정 하에 다른 한 사건이 일어날 확률

사건 B가 true일 때, 사건 A가 true일 확률

P(A|B) = P(B|A) ⋅ P(A)

(12)

Bayes Rule: Meaning

어떤 사건이 일어날 확률을 구하는 과정에서 또 다른 사건을 단서로 제공하는 개념

A: 구하고자 하는 사건 (관심 사건), B: 제공되는 사건 (단서)

우리의 관심사는 A이고 이를 위한 단서로서 B를 고려하는 것

P(A|B) = P(B|A) ⋅ P(A)

P(B)

⟺ P(A|B) = P(B|A)

P(B)

⋅ P(A)

update factor

update

prior posterior

(13)

Bayes Rule: Demo

Given: 총 52장으로 구성된 일반적인 플레잉 카드

이중에서 한 장의 카드를 뽑았는데 빨간색이었다. 이 때, 이 카드가 숫자 3일 확률은?

빨간 카드 중에서 숫자 3일 확률은?

× 13

P(3|red) = P(red|3) ⋅ P(3)

P(red)

=

2 4

524 1 2

= 1

13

P(3|red) = 2

26

= 1

13

서로 같은 결과인 것을 확인할 수 있다.

(14)

Bayes Rule: Example (1/4)

당신은 어느 날 아침에 일어나보니 몸 상태가 좋지 않다는 것을 느꼈습니다.

그래서 병원에 갔더니 의사가 검사를 받기를 권유했습니다. 그래서, 검사를 받았습니다.

일주일 뒤에 검사 결과가 나왔습니다. “당신은 전세계 인구의 0.1%만이 걸리는 희귀병에 걸렸습니다.”

당신은 의사에게 다음과 같이 묻습니다. “검사의 정확도가 어떻게 되나요?”

의사는 검사의 정확도는 99%라고 말했습니다. (즉, 양성으로 나오는 100명 중에서 1명만 오진)

당신이 실제로 병에 걸렸을 가능성이 얼마나 될까요?

많은 사람들이 99%라고 말하겠지만, 이는 틀린 답입니다.

베이즈 정리를 이용하여 당신이 병에 걸렸을 확률을 구해보겠습니다. https://www.youtube.com/watch?v=R13BD8qKeTg&t=43s

(15)

Bayes Rule: Example (2/4)

https://www.youtube.com/watch?v=R13BD8qKeTg&t=43s

A: 당신이 병에 걸렸을 사건, B: 검사 결과 양성이 나올 사건

따라서, 약 9%라는 확률이 나옵니다.

P(A|B) = P(B|A) ⋅ P(A)

P(B)

=

P(A) ⋅ P(B|A) + P(−A) ⋅ P(B| − A)

P(B|A) ⋅ P(A)

병에 걸림 양성반응∩ 검사 통지서를 받기 전에 당신이 병을 가지고 있을 확률 병에 걸렸을 때 양성반응이 나올 확률 검사결과 양성반응이 나올 확률 병에 걸리지 않음 양성반응

=

0.99 × 0.001

0.001 × 0.99 + (1 − 0.001) × (1 − 0.99)

≈ 0.09

= +

(16)

Bayes Rule: Example (3/4)

https://www.youtube.com/watch?v=R13BD8qKeTg&t=43s

애초에 99%라고 생각했던 것보다 확연히 작은 확률입니다. 이 결과가 맞을까요?

다른 방법으로 다시 확인해보겠습니다.

0.001%라는 것은 1000명의 인구가 있다고 할 때, 이 중에 1명이 병에 걸렸다는 의미입니다.

이 사람이 검사를 받으면 99%의 확률로 양성반응이 나옵니다.

하지만, 나머지 999명이 검사를 받으면 1%의 확률로, 즉 약 10명이 양성반응 결과를 받습니다.

당신은 이 11명(실제 병에 걸린 1명과 잘못된 검사결과를 받은 10명) 중 한 명입니다.

따라서, 1/11=0.0909, 즉 약 9%의 확률로 보는 것이 맞습니다.

(17)

Bayes Rule: Example (4/4)

https://www.youtube.com/watch?v=R13BD8qKeTg&t=43s

베이즈 정리는 1번만 사용되도록 고안된 공식이 아닙니다.

여러 번 사용을 하면서 주어진 근거들을 바탕으로 확신의 정도를 높여가도록 만들어졌습니다.

당신은 다른 의사를 찾아가서 다시 검사를 받았는데 또 양성이 나왔습니다.

두 번의 검사 결과에 기반한 새로운 확률은 90% 이상입니다. (애석하게도…)

P(A|B) = P(B|A) ⋅ P(A)

P(B)

=

P(A) ⋅ P(B|A) + P(−A) ⋅ P(B| − A)

P(B|A) ⋅ P(A)

=

0.99 × 0.09

0.09 × 0.99 + (1 − 0.09) × (1 − 0.99)

≈ 0.907

(18)

Denom can be often disregarded.

P(A|B) = P(B|A) ⋅ P(A)

P(B)

⟹ P(A|B) ∝ P(B|A) ⋅ P(A)

크게 중요하지 않음

Posterior의 전확률을 1로 만들어주기 위한 정규화 상수(normalization constant)에 지나지 않음

일반적으로 구하기 쉽지도 않음

(19)

Prior Information

This is how Bayes’ theorem allows us to incorporate prior information.

Prior: “선입견” 또는 “사전 지식” 정도로 생각할 수 있음

특정 사건이 일어나기 전에 이미 알고 있는 확률 (관측자가 관측을 하기 전에 가지고 있는 정보)

어떤 사건이 일어날 확률을 구하는 과정에서 또 다른 사건을 단서로 제공하는 개념

사전 확률은 일반적으로 실험하는 대상에 대해 잘 알고 있는 전문가가 선택하거나(informative prior), 혹은 전문적인 정보가 없는 무정보적 분포(uninformative prior)로 주어진다.

만약 어떠한 사건에 대해 적절한 가정을 할 수 있다면 예측 결과가 달라질 수 있음

만약 옳은 prior를 사용한다면 아무런 사전 정보가 없을 때보다 더 좋은 결과를 얻을 수 있음

반대로 만약 잘못된 prior를 사용한다면 오히려 더 나쁜 결과를 얻을 수도 있음 ex) 아무개가 추천을 해주었으니 일을 잘 하겠지? 명문대 출신이 아니니 일을 잘 못하겠지?

(20)

Bayesian Inference

http://godplaysdice.com/2019/05/15/bad-habits-and-the-bayesian-brain/

P(A|B) ∝ P(B|A) ⋅ P(A)

P(A)

P(B|A)

(21)

from Probability to Distribution

날씨의 종류에 따른 아이스크림이 팔릴 확률?

: 날씨에 관계 없이 아이스크림이 팔릴 확률

만약 다른 가게에 가봤더니 100명 중 30명이 사갔다면 이라고 볼 수 있음 (물론 다른 정보를 활용할 수도 있으며, 어떤 정보를 사용하는지에 따라 결과가 달라짐)

그런데, 0.3이라고 명확하게 이야기하기 어려운 경우가 많음

이럴 경우에는 0.25 ~ 0.4 정도라는 식의 정보를 사용하는게 좋음: prior probability → prior distribution

이때 결과에 해당하는 posterior probability 또한 posterior probability → posterior distribution 가 됨

P(A)

P(A) = 0.3

P(A = ice cream sale|B = type of weather) ∝ P(B|A) ⋅ P(A)

(22)

Parameter Form

Distribution은 파라미터들의 집합 로서 기술됨 (normal distribution )

(만약 확률분포 그래프가 라면 )

: 데이터의 분포(distribution)을 정의하는 parameter set

: 실험(or 시행)에 의해 관측되는 데이터(주어지는 자료)로 부터 구함

: likelihood distribution

우리가 원하는 것: 오른쪽의 posterior가 최대가 되는 것! 오른쪽의 likelihood가 최대가 되는 것! MLE

Θ

← μ & σ

2

Θ = {θ

1

, θ

2

, ⋯, θ

m

}

ax + b

Θ = {a, b}

data

f(data|Θ)

f(data|Θ) = ℒ(Θ; data)

f(Θ|data) ∝ f(data|Θ) ⋅ f(Θ)

https://towardsdatascience.com/probability-concepts-explained-bayesian-inference-for-parameter-estimation-90e8930e5348

(23)

Prior Distribution for the Example

f(Θ|data) ∝ f(data|Θ) ⋅ f(Θ)

https://towardsdatascience.com/probability-concepts-explained-bayesian-inference-for-parameter-estimation-90e8930e5348

f(Θ)

: 다른 가계에 가서 지켜봤더니 아이스크림이 팔릴 확률이 0.25 ~ 0.4 정도라는 사전 정보 둘 다 0.3 근처에서 최대값을 가지만 - 파란색 곡선: 0.3이라는 것에 대한 확신도가 높음 - 노란색 곡선: 0.3이라는 것에 대한 확신도가 낮음

(24)

Hydrogen Bond Example (1/3)

Prior: Google을 통해 조사해보면 3.2Å ~ 4.0Å (1Å = 0.1 nanometers)

Maximum likelihood estimation을 사용하여 distribution을 얻을 수 있다.

이 예에서는 (μ, σ) = (3.6Å, 0.2Å)라고 하자.

(25)

Hydrogen Bond Example (2/3)

5개의 데이터를 획득해보자.

1) 실험을 통해서 측정하는 방법

2) Gaussian distribution를 이용해서 수치적으로 random sampling을 통해 얻는 방법

MLE를 사용하여 이 5개의 데이터로부터 likelihood distribution을 얻을 수 있음

: 5개의 데이터로부터 만들어진 확률분포

: 구글에서 조사한 정보로부터 만들어진 확률분포

(26)

Hydrogen Bond Example (3/3)

Gaussian distribution 수식을 사용하여 두 분포들을 곱하면 핑크색 분포를 얻을 수 있다.

이러한 방식을 MAP (Maximum A Posteriori) estimation이라고 부른다.

: prior distribution : likelihood distribution : posterior distribution f(x) = 1 σ1 e −(x − μ1)2 2σ21 g(x) = 1 σ2 e −(x − μ2)2 2σ22

f(x) ⋅ g(x) = 1 2πσ1σ2 e −(x − μ1)2 2σ21 +−(x − μ2)22σ22 https://towardsdatascience.com/probability-concepts-explained-bayesian-inference-for-parameter-estimation-90e8930e5348

(27)

Bayesian Inference: Summary

기존의 지식(prior)이 데이터(data의 likelihood) 학습을 통해 새로운 지식(posterior)로 업데이트됨

(28)

Deep Neural Network

Input: (주어지는 데이터)

Output: (알고 있는 정답지)

: 를 로 mapping하는 함수에 가까워지도록 학습

ML: 주어진 데이터를 가장 잘 설명하는 함수를 찾는 과정

Universal approximation theorem

x = {x

1

, x

2

, ⋯, x

n

}

y = {y

1

, y

2

, ⋯, y

n

}

y = f(x) x y

(29)

DNN을 바라보는 또 다른 관점

Input: (주어지는 데이터)

Output: (알고 있는 정답지)

: 가 입력으로 들어갔을 때 출력이 가 되는 조건부 확률을 최대화하도록 학습

x = {x

1

, x

2

, ⋯, x

n

}

y = {y

1

, y

2

, ⋯, y

n

}

P(Y = y|X = x) x

y

Θ* = argmax

Θ

P(Y|X)

= argmax

Θ

P(Θ|X) = argmax

Θ

P(X|Θ) ⋅ P(Θ)

P(X)

= argmax

Θ

P(X|Θ) ⋅ P(Θ) = argmax

Θ

ℒ(Θ; X) ⋅ P(Θ)

(30)

DNN을 바라보는 또 다른 관점

: DNN’s parameter set (weights, biases)

Training시 iteration(back-propagation update)을 진행하면서 posterior가 최대가 되도록 업데이트됨

여기에 결과에 도움이 되도록 사전 정보(prior)를 제공해줌 (supervised learning)

Θ = {θ

1

, θ

2

, ⋯, θ

m

}

argmax

Θ

ℒ(Θ; X) ⋅ P(Θ)

input output error with labels

(31)

What is prior in deep learning?

The pior is, generally speaking, a probability distribution that express one’s beliefs about

a quantity before some evidence is taken into account. If we restrict ourselves to an

machine learning model, the prior can be thought as of the distribution that is imputed

before the model starts to see data. However, a more holistic view into the process

should consider not only the model training, but the design of the system as a whole,

including the choice of model and the data. Therefore, the prior includes anything from the choice of the algorithm itself to the way that the data is labeled.

The way to inject prior knowledge and beliefs into the process

Uninformative prior (easy): 개와 고양이를 구분하는 labeling

Informative prior (difficult): 암세포와 정상 세포를 구분하는 labeling

Prior가 어떻게 제공되느냐에 따라 bias가 발생할 수 있다.

(32)

How to incorporate prior knowledge

into deep learning systems by using synthetic data

(33)

What is self-prior in deep learning?

Self‐prior image‐guided MRI reconstruction with dictionary learning

(34)

End-to-End Deep Learning

Deep learning with no priori knowledge

최근 딥러닝의 급속한 발전으로 인해 선험 지식이 필요없는 end-to-end learning의 중요성이 부각됨

한 쪽 끝에서 시작해서 반대쪽 끝으로 단번에 가는 개념

Pros

사람의 선입견(prior)에 영향을 받지 않고 데이터 그 자체를 학습함

편향(bias) 없이 성능이 향상될 가능성이 높음

작업을 획기적으로 단순화할 수 있음 (중간 요소 설계가 필요 없기 때문)

Cons

많은 양의 데이터가 필요함

잠재적으로 유용한 수작업 요소가 배제됨 (정보가 적을 때에는 prior를 제공하는 것이 성능 향상에 도움됨)

(35)

End-to-End Deep Learning

Speech recognition example

음소(phoneme)란 언어학자들이 만들어낸 인위적인 개념

DNN에서도 음소 단위로 구분하는가? 음소(phoneme)의 개념을 취해야할 필요가 없을 수도 있음

사람이 개입할 경우 음소라는 데이터 공간을 거쳐서 결과에 도달하지만

컴퓨터 입장에서는 또 다른 보다 효과적인 데이터 공간을 거쳐서 결과를 도출할 수도 있음

(36)

End-to-End Deep Learning

https://medium.com/@yckim/end-to-end-learning-for-lane-keeping-of-self-driving-cars-%EC%A0%95%EB%A6%AC-f4ea216f8741

(37)

End-to-End Deep Learning

(38)

수치

Updating...

관련 주제 :