on
5. 딥러닝의 학습 방법
5. 딥러닝의 학습 방법
선형모델의 표현
O(n x p) = X(n x d)W(d x p) + b(n x p)
O에 포함되는 각 행벡터 o는 데이터 x와 가중치 행렬 W 사이의 행렬곱과 절편 b 벡터의 합으로 가정하면
아래 그림과 같이 d개의 변수로 p개의 선형모델을 만들어 p개의 잠재변수를 설명하는 모델을 생각할 수 있음 화살표는 x 를 o 로 연결하는 W (웨이트) 라고 생각하면 됨 d개가 p개로 바뀌므로 W 는 d x p개가 있음
즉, W 는 d 개의 변수로 p 개의 선형모델을 만들어서 p 개의 잠재변수를 설명하는 모델임
원그림 출처 : 네이버 부스트코스 - 인공지능 기초 다지기 - 딥러닝의 학습 방법 이해하기
신경망(Neural Network)
선형모델은 단순한 데이터를 해석할 때는 유용하지만 분류문제나 좀 더 복잡한 패턴의 문제를 풀 때는 예측성공률이 높지 않음
이를 개선하기 위한 비선형 모델인 신경망(Neural Network)을 사용
신경망 은 선형모델들과 활성화 함수의 결합(시그마) 으로 이루어짐
원그림 출처 : 네이버 부스트코스 - 인공지능 기초 다지기 - 딥러닝의 학습 방법 이해하기
활성화 함수 는 시그마는 비선형함수 로써 잠재벡터의 각 노드에 적용하여 새로운 잠재 벡터를 만듬
는 시그마는 로써 잠재벡터의 각 노드에 적용하여 새로운 잠재 벡터를 만듬 활성화 함수를 사용하지 않는다면 딥러닝은 선형모델과 차이가 없음
대표적인 활성화 함수로 전통적으로는 sigmoid나 tanh를 많이 사용하였지만, 딥러닝에서는 ReLU 함수를 많이 사용함
원그림 출처 : 네이버 부스트코스 - 인공지능 기초 다지기 - 딥러닝의 학습 방법 이해하기
이러한 신경망이 여러층을 쌓아서 만든 함수 를 다 층 퍼셉트론(MLP) 라고 함
원그림 출처 : 네이버 부스트코스 - 인공지능 기초 다지기 - 딥러닝의 학습 방법 이해하기
위의 이미지를 수식적으로 표현하면 아래와 같음
이를 MLP로써, 많이쌓아서 L개의 가중치(W)을 포함하여 쌓았다고 가정하였을 때, 1부터 L까지 차례로 신경망을 계산해 나가는 과정 을 순전파 라고 부름
을 라고 부름 이론적으로 2층 신경망으로도 임의의 연속함수를 근사할 수 있지만, 층이 깊을 수록 목적함수를 근사하는데 필요한 뉴런(노드)의 수가 훨씬 빨리 줄어들어 좀 더 효율적인 학습 이 가능함 (적은 뉴런을 가지고 복잡한 패턴의 표현이 가능)
목적함수를 근사하는데 필요한 이 가능함 (적은 뉴런을 가지고 복잡한 패턴의 표현이 가능) 층이 얇으면 필요한 뉴런의 숫자가 기하급수적으로 늘어나서 층이 넓어져야함
Softmax
모델의 출력을 확률로 해석할 수 있게 해주는 연산 (함수가 분류될 클래스가 n개라면, n개의 차원을 입력받아 각 클래스에 속할 확률을 추정, 확률의 합 = 1)으로 보통 출력층에만 사용
이미지 출처 : https://gooopy.tistory.com/53, 클래스가 3개일 때 softmax 예시
은닉층에 적용하지 않는 이유는 은닉층에 소프트 맥스를 사용할 경우, 기울기 소실문제가 발생하여 학습효율이 감소함
분류문제를 풀 때는 선형모델과 소프트맥스를 합쳐서 사용
학습을 할 때는 소프트맥스가 필요하지만, 추론할 때는 원-핫 벡터 값으로 최대값만 뱉도록하므로 소프트 맥스를 사용하지 않음
원-핫 벡터 값으로 최대값만 뱉도록하므로 주의점으로는 지수승으로 표현되기 때문에 연산시 오버플로우가 발생할 수 있기에 이에 대한 전처리가 필요함 Reference : https://gooopy.tistory.com/53
역전파
신경망 에서 파라미터에 대한 그레디언트를 계산하는 방법
에서 각 층의 파라미터 그래디언트 벡터는 위 그림의 윗층부터 역순으로 계산 하게 됨(아래 변수에 대한 정보가 없으므로)
합성함수 미분의 Chain Rule을 적용 하여 자동미분을 사용함
역전파를 하기 위해서는 Chain Rule을 사용하므로 각각의 변수값들은 tensor에 저장이 되어 있어야 함
따라서, 순전파로 진행할때 보다 메모리 공간을 더 많이 사용하게됨
(Chain Rule을 이용한 미분 예제 손으로 직접해보고 추가하기)
from http://14blacktea.tistory.com/88 by ccl(A) rewrite - 2021-08-06 17:00:18