AI Tech 1주차 - DAY 4

YeonJu Kim·2021년 8월 6일
0

Boostcamp AI Tech 2nd

목록 보기
4/13
post-thumbnail

6. 확률론 기초

확률론은 딥러닝을 전반적으로 이해할 수 있게 해 준다.

딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있고, 기계학습에서 사용되는 loss function들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 되므로, 딥러닝에서 확률론이 꼭 필요하다.
회귀 분석의 경우, 손실함수로 사용되는 L2-norm은 예측 오차 분산을 최소화하도록 학습을 유도하고, 분류 문제에서의 교차엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습을 유도한다.

확률변수의 종류

확률변수는 확률분포 DD 에 따라 이산형(discrete)과 연속형(continuous) 확률변수로 구분하게 된다.
확률변수는 데이터공간 (X,Y)(X, Y)에 의해 결정되는 것이 아니라, 확률분포에 따라 결정된다. (실수 Data 공간이라고 무조건 연속형은 아니다!)

  • 이산형 : 확률질량함수 = P(XA)=xAP(X=x)\mathbb{P}(X \in A)=\sum_{\mathbf{x} \in A} P(X=\mathbf{x})
  • 연속형 : 확률밀도함수 = P(XA)=AP(x)dx\mathbb{P}(X \in A)=\int_{A} P(\mathbf{x}) \mathrm{d} \mathbf{x}
    밀도는 누적확률분포의 변화율을 모델링하고, 확률로 해석하면 안된다 !

이산확률변수와 연속확률변수는, 확률값의 확률분포를 구하는 모델링 방식에 차이가 있다. 모든 확률변수가 이 두가지로 나뉘는 것은 아니고, 이산형과 연속형이 혼합된 경우도 있다.

분포의 종류

확률분포

확률 변수가 특정한 값을 가질 확률을 나타내는 함수를 의미한다.
데이터 공간을 (X,Y)(X, Y)라 할 때, 확률변수 (X,Y)(X, Y)확률분포 DD 를 알아내는 것은 불가능하고, 기계학습 모형으로 DD를 추론해야 한다.

예를 들어, 주사위를 던졌을 때 나오는 눈에 대한 확률변수가 있을 때, 그 변수의 확률분포는 이산균등분포가 된다.

결합분포

결합분포는 확률변수를 모델링하는 분포이다. DD 는 이론적으로 존재하는 확률분포이기 때문에, 사전에 알 수 없고 주어진 data의 모양으로 결합분포 P(x,y)P(x, y)를 선택한다.

확률분포가 연속형이라도, 결합분포는 이산형으로 모델링 할 수 있다.
원래 데이터의 확률분포를 추출하는 DD와, 주어진 데이터에서 실증적으로 추정하는 분포 P(x,y)P(x, y)는 다를 수 있기 때문이다. 원래 확률분포와 달라도, 근사할 수 있는 방법을 알 수 있고, 모델링 방법에 따라 결정된다.

주변확률분포 (Marginal Distribution)

두가지 이상의 사건이 동시에 일어날 수 있을 때에, 하나의 특정 사건에 주목하여 그것이 일어날 확률이다. 이때, 다른 사건은 고려하지 않는다.
즉, 여러 확률변수의 결합 확률적 특성이 아니라, 각 확률변수가 분리되었을 때의 사건확률에 초점을 맞춘다.
(http://www.ktword.co.kr/test/view/view.php?m_temp1=4362)

P(x)P(x) : 입력 xx에 대한 주변확률분포. 결합분포를 각각의 yy에 대해 더하거나, 적분을 해 유도한다. (yy에 대한 정보를 주지 않는다.)

P(x)=yP(x,y)P(x)=yP(x,y)dyP(\mathbf{x})=\sum_{y} P(\mathbf{x}, y) \quad P(\mathbf{x})=\int_{y} P(\mathbf{x}, y) \mathrm{d} y

조건부확률분포

조건부확률분포 P(xy)P(x|y)는, 특정 클래스(yy)가 주어진 조건에서 데이터의 확률분포를 보여준다.

두 입력과 출력 사이의 통계적 관계를 모델링할 때, 또는 예측모형을 세울때 사용할 수 있고 주변확률분포보다 조건부확률분포를 활용하면 더 명확히 통계적 관계를 모델링 할 수 있다.

P(xy)=P(x|y) = 입력변수 xx에 대해 정답이 yy일 확률
(연속확률분포의 경우 P(xy)P(x|y)은 활률이 아닌 밀도로 해석한다.)

  • 분류 문제
    : softmax(Wϕ+b)\operatorname{softmax}(\mathbf{W} \phi+\mathbf{b}) : 데이터 xx로부터 추출된 특징패턴 ϕ(x)\phi(x), 가중치행렬 W\mathbf{W}를 통해 조건부확률 P(yx)P(y|x) (또는 (yϕ(x))(y|\phi(x)))를 계산
  • 회귀 문제
    : 예측의 오차의 분산을 최소화하는 적절한 통계치로 사용할 수 있어서, 보통 조건부기대값 E[yx]\mathbb{E}[y \mid \mathbf{x}]를 추정하고, 원하는 목적에 따라 사용되는 통계 추정량은 달라진다.
    EyP(yx)[yx]=yyP(yx)dy\mathbb{E}_{y \sim P(y \mid \mathbf{x})}[y \mid \mathbf{x}]=\int_{y} y P(y \mid \mathbf{x}) \mathrm{d} y

    조건부 기대값은 l2-norm을 최소화하는 Eyf(x)2\mathbb{E}\|y-f(\mathbf{x})\|_{2} 함수 f(x)f(\mathbf{x})와 일치한다.

기대값(Expectation)

확률 분포가 주어지면, 데이터 분석에 사용 가능한 여러 통계적 범함수(statistical functional)를 계산할 수 있다.
기대값은 평균과 동일한 개념으로 사용 가능하고, 목적으로 하는 함수의 기대값 계산을 통해, data를 해석할 때 여러 방면에서 더 폭넓게 사용한다.

ExP(x)[f(x)]=Xf(x)P(x)dx,ExP(x)[f(x)]=xXf(x)P(x)\mathbb{E}_{\mathbf{x} \sim P(\mathbf{x})}[f(\mathbf{x})]=\int_{X} f(\mathbf{x}) P(\mathbf{x}) \mathrm{d} \mathbf{x}, \quad \mathbb{E}_{\mathbf{x} \sim P(\mathbf{x})}[f(\mathbf{x})]=\sum_{\mathbf{x} \in \mathcal{X}} f(\mathbf{x}) P(\mathbf{x})

기대값은 데이터를 대표하는 대표적 범함수이고, 확률분포를 통해 다른 통계적 범함수를 계산하는 데 사용된다.

  • 분산, 첨도, 공분산 등
    V(x)=ExP(x)[(xE[x])2] Skewness (x)=E[(xE[x]V(x))3]Cov(x1,x2)=Ex1,x2P(x1,x2)[(x1E[x1])(x2E[x2])]\begin{aligned} &\mathbb{V}(\mathbf{x})=\mathbb{E}_{\mathbf{x} \sim P(\mathbf{x})}\left[(\mathbf{x}-\mathbb{E}[\mathbf{x}])^{2}\right] \quad \text { Skewness }(\mathbf{x})=\mathbb{E}\left[\left(\frac{\mathbf{x}-\mathbb{E}[\mathbf{x}]}{\sqrt{\mathbb{V}(\mathbf{x})}}\right)^{3}\right] \\ &\operatorname{Cov}\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right)=\mathbb{E}_{\mathbf{x}_{1}, \mathbf{x}_{2} \sim P\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right)}\left[\left(\mathbf{x}_{1}-\mathbb{E}\left[\mathbf{x}_{1}\right]\right)\left(\mathbf{x}_{2}-\mathbb{E}\left[\mathbf{x}_{2}\right]\right)\right] \end{aligned}

딥러닝은 다층 신경망을 사용해서 데이터로부터 특징패턴 ϕ\phi를 추출하고, 조건부확률 또는 조건부기대값을 추정하는 방식으로 학습한다. (기계학습 문제와 모델에 의해 결정됨)

몬테카를로 샘플링

확률분포를 모를 때, 주어진 데이터를 사용해 기대값을 계산할 때 사용한다. 몬테카를로 샘플링 방법은 확률분포의 종류에 상관없이 성립한다.

ExP(x)[f(x)]1Ni=1Nf(x(i)),x(i) i. ..dP(x)\mathbb{E}_{\mathbf{x} \sim P(\mathbf{x})}[f(\mathbf{x})] \approx \frac{1}{N} \sum_{i=1}^{N} f\left(\mathbf{x}^{(i)}\right), \quad \mathbf{x}^{(i)} \stackrel{\text { i. } . . \mathrm{d}}{\sim} P(\mathbf{x})

샘플링한 데이터 xix^i의 산술평균을 계산하는 식으로 기대값을 계산한다. 이 때, 분포에서 독립적으로 샘플링을 해야 하고 독립추출이 보장된다면 수렴성을 보장한다 (대수의 법칙(law of large number))

피어세션

  • 오늘 피어세션에서는 이하경 멘토님과 대화를 나누는 시간을 가졌다. 부스트캠프에 필요한 태도, 대학원 진학 및 진로 등 다양한 얘기를 해 주셨다.
  • 번아웃 되지 않게 선택과 집중이 필요하고, 실력의 편차, 취준 등 다양한 문제가 발생할 수 있기 때문에 팀워크가 굉장히 중요하다고 하셨다.
  • 앞으로 주에 한번정도 모의 interview를 진행하기로 하였는데, 면접에 자신이 없는 나로써는 정말 좋은 시간이 될 것 같다.

마스터세션

오늘 마스터 세션에서는, AI Math FAQ 를 주제로 임성빈 교수님께서 특강을 진행해 주셨다.

Q. 수학을 어떻게 공부해야 하나요?
A. 인공지능 수학 공부의 경우, 머리로 모든 것을 이해하려고 하면 시간이 많이 걸리니, 우선 손으로 익히며 익숙해 지려 노력하고, 많이 보는것보다 많이 사용하는 게 더 좋다.
① 용어를 익히고 ② 예제를 찾으며 이 개념을 어떤 시점에서, 어떻게 사용하면 되는지를 판단하는 것이 좋은 공부법이고, 진짜 수학적으로 깊에 알아야 할 때는, 그 때 제대로 공부해도 늦지 않다.
여러 모델의 수학적 원리를 모두 이해하긴 어렵지만, 적어도 원리를 이해하는 데 필요한 기초를 갖춰야 하고, 이 기초에 해당하는 과목이 선형대수, 확률론, 통계다. 머신러닝에서 어떻게 활용되는지 공부하는 것 중요하고, 부딪히는 빈도수를 늘이는게 해법 !

예를 들어 분류에서 loss function을 어떤 것을 사용하는지 ? cross-entropy (1)
분류 문제에서 왜 cross-entropy를 손실함수로 사용하는지?
또한 cross-entropy를 어떻게 사용하는지? (2) 예제

수학을 어떻게 공부해야 할 지는, 이번 주 ai math 강의를 들으며 가장 고민했던 부분이었다. 공부하다 보면 수식을 이해하기 위해서, 계속 삼천포로 빠진다는 느낌을 받았었다. 현업에서는 수학적 개념을 어떻게 코드로 구현하는지가 중요하니까, 도구로써의 수학을 공부한다는 점을 잊지 말고 선택과 집중을 잘 해야 겠다.

다양한 질문에 대해 답을 해 주셨는데, 보안상 모든 답변을 올리지는 못하지만 정말 도움이 되는 세션이었다. 말씀해주신 부분들 잊지 말고 잘 익혀서 5개월을 잘 보내자 !!

0개의 댓글