Probability For Deep Learning

2020. 3. 21. 11:52Artificial Intelligence

위 포스팅은 위키피디아, 일반통계학 서적 등을 참고하여 정리한 글임을 서두에 밝힙니다.

 

머신러닝, 딥러닝 모델은 기존의 알고리즘과는 다르게 본질적으로 불확실한 요소들을 가지고 있습니다. 주어진 입력값을 통해 결과를 잘 '예측' 하는 것이 딥러닝 모델의 주 목표이기 때문에, 딥러닝 모델이 취하는 관점은 '확률과 통계'에 기반하게 됩니다. 이번 포스팅에서는 딥러닝 모델과 확률의 관계에 관한 몇 가지 인사이트를 살펴보도록 하겠습니다.

 

Probability Conceps for Deep Learning

 

딥러닝 모델을 설계하다 보면, 딥러닝 모델 자체에 내재한 불확실성과 딥러닝 모델이 다루는 일상생활의 데이터에 대한 불확실성, 그리고 모델링 하려는 대상의 속성 자체에 내재된 여러 불확실성을 발견할 수 있습니다. 이를 정리하면 다음과 같습니다.

 

1. 딥 러닝 모델 자체에 내재한 불확실성

 

딥 러닝 모델을 학습시키다 보면 학습의 효율, 즉 연산속도를 높이기 위해 특정 뉴런들을 특정 시점에 무시하는 'Drop out'이나, 데이터의 특정 부분들을 무시하는 'Pooling'등의 방법을 사용하는 경우가 있습니다. 이는 실제 데이터의 속성을 100% 반영하지 않게 되므로 불확실한 속성을 띄게 됩니다.

 

2. 딥 러닝 모델이 다루는 일상생활의 데이터에 대한 불확실성

 

규모가 큰 빅 데이터(Big Data)를 다루게 되면 필연적으로 나타날 수 밖에 없는 것이 불확실성입니다. 이는 관측자가 데이터의 모든 측면을 한번에 정확하게 관측하기 어려운 문제와, 모델 자체가 $X$를 입력했을 때, 유일한 $Y$를 내놓더라도 관측하는 입장에서는 이 대응관계를 사전에 알 수 없는 경우가 대부분이기 때문에 관측자가 데이터를 확실하게 관측하기 어려워 불확실한 속성을 띄게 됩니다. 

 

3. 모델링 하려는 대상의 속성 자체에 내재된 불확실성

 

예컨대 주사위 던지기나 카드게임 등의 모델을 생각해보면, 주사위를 던졌을때 어떤 숫자가 나올 것인지, 카드 덱을 충분히 섞었을 떄, 해당 덱에서 어떤 순서로 카드가 나올 것인지 등에 대한 정보는 결정적인 속성이 아닙니다. 따라서 본질적으로 불확실한 속성을 띄고 있다고 말할 수 있습니다. 

 

이렇게 딥러닝 모델이 가지고 있는 여러 가지 불확실성들 때문에 확률 모델을 통해 딥러닝 모델을 구축하고 설계하게 됩니다.

 

 

Probabilistic Model

 

확률은 해당 사건이 일어날 가능성을 의미합니다. 우리에게 익숙한 개념으로는 주사위를 던졌을 때 1이 나오는 사건이 일어날 가능성이 $1/6$이라는 것 정도를 들 수 있습니다. 이는 해당 사건의 빈도수를 따져서 그 사건이 발생할 가능성을 추정하는 것으로 반복되는 시도를 통해 해당 사건이 발생할 가능성이 $p$정도 된다라고 말하는 것과 동일합니다.

 

이렇게 반복되는 시도를 통해서 해당 사건의 발생 가능성을 추정하는 것을 Frequentist probability 라고 부릅니다.

반면, 우리의 생활 속에서 맞닥뜨리는 다른 여러 상황들 중에서 위와 같이 무한히 반복되는 시도를 통해 해당 사건의 발생 가능성을 짐작하기 어려운 것들도 있습니다. 

 

환자의 여러 증상들을 보고 이 환자의 병명을 진단해야 하는 의사의 경우에는 위와 같은 확률론을 적용할 수 없습니다. 이와 같은 경우 확률을 지식 또는 믿음의 정도를 나타내는 양으로 해석하여 사용하기도 합니다. 다시 말해서 이 환자가 암에 걸릴 가능성이 40%라고 진단했다면, 그것은 이 환자에 대해서 '실험을 100번 해봤더니 40번 정도는 암에 걸리더라' 라고 판단한 것이 아니라, 여러 가능성들을 고려했을 때 이 환자가 암에 걸렸을 정도가 40정도 된다라는 것입니다. 

이 경우 확률이 해당 사건이 일어날 비율과 절대적으로 관련이 있는 것은 아니기 때문에 위의 Frequentist Probability와 구분하여 Basian Probability라고 부릅니다.

 

 

이후의 여러 포스팅들에서는 이 확률론의 여러 가지 개념들을 살펴보고, 그 개념들이 딥 러닝 모델 구축에 어떻게 사용되는지에 대해 차례로 정리해보도록 하겠습니다.

반응형

'Artificial Intelligence' 카테고리의 다른 글

Markov Chain  (1) 2020.03.24
Reinforcement Learning  (0) 2020.03.23
Generative Adversarial Network(GAN)  (0) 2020.03.20
Image Style Transfer Using Convolutional Neural Networks  (0) 2020.03.17
Gradient Ascent  (0) 2020.03.15