이왕 이렇게 된 거 기초부터 다지자
# 선형모델에서는...
경사하강법(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 |