-
순방향 네트워크 (2) | 패스트캠퍼스 챌린지 23일차딥러닝 2022. 2. 15. 21:36
지난 글에서 변형함수Transformational Function을 거쳐 data를 representation 내지로 feature로 변형시켰다면, 출력 함수를 거쳐서 그 값을 비용함수(Cost Function)를 이용해 실제 값과 의 차이를 계산하게 된다(지도학습의 경우). 이 비용함수는 가능도를 최대로 하는 전제(MLE)로 보통 결정되는데, 이는 결국 크로스 엔트로피와 비슷한 모양이 되어서 (특히 분류문제에서) 비용함수로 크로스엔트로피를 사용하게 된다.
MLE를 전제로 한 비용함수 J의 값은 데이터의 확률분포와 모델이 예측한 확률분포로 이루어지는데, 데이터의 확률분포는 바꿀 수 없다(이걸 바꾸면 데이터 조작이다). 따라서 모델이 예측한 확률분포를 조작하여 데이터의 확률분포와 최대한 같도록 만드는 것이 비용함수가 가지는 의미라고 할 수 있겠다.
출력 유닛은 linear 유닛, Sigmoid 유닛, Softmax 유닛 등이 주로 사용된다. Linear는 출력값이 이미 확률분포를 따를 때, 혹은 regression 문제일 때 출력값을 그대로 살리기 위해 쓰인다. Sigmoid와 Softmax는 확률값을 내보내기 위에 사용되는데, Sigmoid는 이진분류, Softmax는 다항분류에 사용된다. 물론 Softmax를 이진분류에 사용할 수도 있다. 클래스가 2인 Softmax를 설정하면 된다. Sigmoid가 왜 확률로 해석할 수 있는지는 logit을 확률 p에 대해 정리하면 Sigmoid 꼴이 되기 때문이다. 이 외에도 mixture density라는 출력 유닛도 있는데, 이는 단순히 하나의 값을 내보내고 끝내는 것이 아닌, '이 값은 평균이 m이고 표준편차가 s인 분포 안에 있습니다'라고 출력하는 유닛이다. 즉, 모델이 어쩔 수 없이 가지는 불확실성을 있는 그대로 표현해주는 유닛이다. 내용이 상당히 흥미로운데, 나중에 더욱 깊게 공부해 보아야 할 듯 하다.
순방향 네트워크의 학습은 결국 transformational function과 cost function을 적용해 이루어진다. 라벨이 붙은 데이터가 충분하다면 고민없이 지도학습을 진행하면 된다. 하지만 라벨이 붙은 데이터가 충분하지 않다면 비지도학습을 조금 섞어야 되는데, 이는 비지도 layer를 훈련시킨 뒤 이 layer를 freeze 시킨 뒤 지도학습 layer를 얹지는 방법과, 비지도 layer를 학습시킨 뒤 layer를 얹지고 전체 layer를 unfreeze 한 뒤 훈련시키는 파인튜닝 방법이 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다. https://bit.ly/37BpXiC
'딥러닝' 카테고리의 다른 글
정규화(Regularization) (1) | 패스트캠퍼스 챌린지 25일차 (0) 2022.02.17 순방향 네트워크 (3) | 패스트캠퍼스 챌린지 24일차 (0) 2022.02.16 순방향 네트워크 (1) | 패스트캠퍼스 챌린지 22일차 (0) 2022.02.14 ML 기초 (3) | KL 발산과 교차엔트로피 | MLE | 패스트캠퍼스 챌린지 21일 (0) 2022.02.13 ML 기초 (2) | 패스트캠퍼스 챌린지 20일차 (0) 2022.02.12