본문 바로가기

부스트캠프 AI Tech

[WEEK 1] AI Math

이왕 이렇게 된 거 기초부터 다지자

 

# 선형모델에서는...

 

경사하강법(gradient descent)

- 쉽게 말하자면 미분, 행렬 등을 통해 효율적으로 최소점을 잡는 기법

- 이를 이용해 선형회귀가 가능

확률적 경사하강법(stochastic gradient descent), SGD

- 미니배치를 확률적으로 선택하여 연산자원을 효율적으로 활용

- non-convex 목적식에도 사용 가능하여 머신러닝 학습에 더 효율적

다변수 함수에서 도출되는 gradient는 -np.transpose(expand_x) @ error

참고로 expand_x는 기존 x에 상수항 1을 expand 한 행렬

 

# 비선형모델에서는...

 

소프트맥스(softmax)

- 선형모델과 결합해 모델의 출력을 확률로 해석할 수 있게 변환하는 연산

- 추론을 할 때는 ont_hot 벡터를 사용하고 학습할 때 사용

신경망

- 선형모델과 활성함수를 합성한 함수

- 다층(multi-layer) 퍼셉트론(MLP)은 이런 신경망이 여러 층 합성된 함수

활성함수(activation function)

- 비선형(nonlinear) 함수로 쓰지 않으면 딥러닝은 그냥 선형모형이 됨

- 시그모이드(sigmoid) 함수, tanh 함수, 그리고 딥러닝에서 많이 쓰이는 ReLU 함수

역전파(backpropagation) 알고리즘

- 딥러닝의 학습원리

- 연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation) 사용

- 각 층 패러미터의 그레디언트 벡터를 역순으로 계산

 

# 확률 통계

 

이산형(discrete)과 연속형(continuous)

조건부확률

- P(y|x)는 x에 대해 정답이 y일 확률

몬테카를로(Monte Carlo) 샘플링

- 확률분포를 모를 때 데이터를 이용하여 기댓값을 계산하기 위해 사용

최대가능도 추정법(maximum likelihood estimation, MLE)

- 이론적으로 가장 가능성이 높은 모수를 추정하는 방법

- 독립적으로 추출 시 연산량을 줄이기 위해 곱셈대신 덧셈으로 표현 가능한 로그가능도 사용

쿨백-라이블러 발산(Kullback-Leibler Divergence, KL)

- KL(P||Q)

- 총 변동 거리(Total Variation Distance, TV), 바슈타인 거리(Wasserstein Distance)처럼 두 확률분포 사이의 거리(distance)를 계산

- 정답 레이블 P, 모델 예측 Q에서 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것

베이즈 정리

- 앞선 사후확률을 사전확률로 사용하여 갱신된 사후확률 정보를 업데이트 가능

인과관계를 알기 위해서는 중첩요인(confounding factor)의 효과를 제거

 

# CNN RNN

 

Convolution 연산

- fully connected 구조인 MLP와 달리 커널(kernel)을 움직여가며 적용되는 구조

- 신호(signal)를 커널을 이용해 국소적(local)으로 필터링

- 역전파를 계산할 때도 gradient에 대한 convolution 연산이 나오게 됨

BPTT(Backpropagation Through Time)

- RNN의 역전파 방법

- 시퀀스 길이가 길면 계산이 불안정하므로 길이를 끊어야 함 (truncated BPTT)

- 길이가 긴 시퀀스를 처리하기 위해 LSTM과 GRU가 등장

'부스트캠프 AI Tech' 카테고리의 다른 글

[WEEK 4-5] CV 이론  (1) 2023.11.30
데이터 직군에 대한 지식 쌓기  (0) 2023.11.30
[WEEK 3-4] Data Visualization  (1) 2023.11.23
[WEEK 3] DL Basic  (0) 2023.11.20
[WEEK 2] PyTorch  (0) 2023.11.13