728x90
1. 선형 모델과 비선형 모델의 차이점
선형 모델에서의 신경망 : 각 x에 동일한 b가 곱해짐
비선형 모델에서의 신경망 : 각 x에 서로 다른 w가 곱해짐 + 편향 b 추가
2. 파이썬 코드 - 소프트 맥스
- vec - np.max(vec, axis=-1, keepdims=True)
- 오버플로 문제를 해결하기 위함
- 소프트맥스에 쓰이는 지수 함수는 지수에 작은 수가 들어가도 매우 큰 값, 나아가 무한대를 반환하기도 함 → 이런 큰 값을 연산에 사용하면 결과 수치가 ‘불안정’해짐 + 컴퓨터로 표현할 수 없어 NaN을 뱉어냄
- 분자와 분모 각각에 임의의 상수를 곱하고 계산할 시 (당연히) 결과 안바뀜 + 식 정리하면 f(x) 에서 x → x + 임의의 상수
- 일반적으로 x → x - max(x)로 변환
3. 신경망
1. 신경망 : 선형 모델 + 활성함수 합성한 함수
2. 활성함수
- 활성 함수(activation function)은 실수공간 위에 정의된 비선형 함수. 딥러닝에서 매우 중요
- 활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없음
- 시그모이드(sigmoid)함수나 하이퍼볼릭 탄젠트(tanh)함수는 전통적으로 많이 쓰인 활성화 함수
- 딥러닝에선 ReLU 함수가 많이 쓰임
- (추가) tanh 함수는 확장된 시그모이드 함수로, 시그모이드의 대체재로 나온 함수라고 함
4. 신경망을 수식으로 분해하기
- 잠재벡터 $H$에서, 가중치 행렬 $W^{(2)}$와 $b^{(2)}$를 통해 다시 한 번 선형 변환해서 출력하면, $(W^{(2)}, W^{(1)})$를 패러미터로 가진 2층 신경망이 됨 → 다층 퍼셉트론
- (참고) 잠재 벡터 : 답이 될 가능성이 잠재된 벡터라는 의미
5. 다층 퍼셉트론(MLP) : 신경망이 여러층 합성된 함수
- 층을 여러 개 쌓는 이유
- 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 개수가 빨리 줄어듦 → 보다 효율적인 학습 이뤄
- 층이 얇으면 필요한 뉴런의 수가 기하급수적으로 늘어자 넒은 신경망이 됨
6. 역전파 알고리즘
- 딥러닝은 역전파(backpropagation) 알고리즘 활용 → 각 층에 사용된 패러미터를 학습
- 패러미터 : $\left\{ W^{(l)}, b^{(l)}\right\}_{l=1}^{L}$
- 역전파는 L ~ 1 순서로 연쇄법칙을 통해 그레디언트 벡터 전달
- 연쇄법칙(chain-rule)
- 역전파 알고리즘은 합성함수 미분법인 연쇄법칙 기반 자동미분 사용
- 주의 ! 각 노드의 텐서 값을 컴퓨터가 기억해야 미분 계산이 가능(메모리 차지)
- 예제 (2층 신경망)
Further Question
Q. 분류 문제에서 softmax 함수가 사용되는 이유가 뭘까요? softmax 함수의 결과값을 분류 모델의 학습에 어떤식으로 사용할 수 있을까요?
소프트 맥스 함수의 출력은 0 ~ 1 사이의 실수로, 총합은 1이 된다. 이 성질 덕분에 소프트 맥스 함수의 출력을 확률로 해석할 수 있다. 이러한 소프트 맥스 함수의 결과값은 분류 모델의 학습에서 특정 클래스에 속할 가능성을 구체적인 확률로 제시함으로써, 정확성을 보다 높이는 데에 사용된다. 단, 실제로 어떤 클래스에 속하는지 추론을 실행하는 단계에서는 생략된다. 확률에 대한 정보가 불필요하므로 이때는 원핫인코딩한다.
728x90
'AI > AITech 3기' 카테고리의 다른 글
[AI Math] 7강 통계학 맛보기 (0) | 2022.01.22 |
---|---|
[AI Math] 6강 확률론 맛보기 (0) | 2022.01.22 |
[AI Math] 4강 경사하강법 매운맛 (0) | 2022.01.22 |
[AI Math] 3강 경사하강법 순한맛 (0) | 2022.01.21 |
[부스트캠프 AI Tech 3기] Pre-Course #1 인공지능 맛보기 (0) | 2022.01.02 |