본 포스팅은 2022-11-16(수), 국민대학교 이재구 교수님의 인공지능 수업을 통해 배운내용을 정리하기 위해 작성하는 게시글입니다.
# 시작하며
이번시간부터 새로운 단원에 들어왔다. 단원 명은 "심층학습 최적화 기법"이다.
수업시간에 상어를 그려봤다.
# 목적함수
기계학습은 전체데이터셋과, 검증 데이터셋을 통해서, 최적의 가중치값을 찾아내는 과정이다. 이 과정에서 목적(손실,로스)함수를 사용해서 Loss값을 판단하고 이 값을 낮추기 위해서 학습을 진행한다.
이러한 목적학수는 MSE, NLL, CE등 다양하게 존재한다. 그러나 적재 적소에 맞게 목적함수를 사용할 필요가 있다. 먼저 MSE와 시그모이드를 사용했을때의 문제점을 살펴보자.
## MSE 목적함수
목적함수의 정의를 인간에 비유 해보자면, 시험에 틀린점수만큼 감점을 받고, 감점이 클 수록 더 많이 공부를 해야 할 것이다.
평균 제곱 오차(MSE)는 2차놈으로 표현 할 수 있다. 과연 MSE는 감점만큼 공부를 할까?
놀랍게도, 시그모이드와 MSE를 조합해서 사용했을때의 상황에서는, 오른쪽이 Error가 더 커 더 많은 가중치를 갱신해야 하지만, 실상은 왼쪽이 더 많이 갱신한다.
이유는 시그모이드 활성함수의 특징이기도 하다.
시그모이드는 양 끝으로 갈 수록 미분 값이 0에 가까워지기 때문이다.
## 교차엔트로피
위와 같은 크로스 엔트로피를 사용하면, 이 문제를 해결 할 수 있다.
# 소프트 맥스 함수
출력값들을 0~1의 확률적 요인으로 바꿔줄 수 있다.
# 음의 로그 우도
소프트맥스와 잘 조합이 됨과 동시에, 멀티분류일경우 크로스엔트로피와 똑같이 계산 할 수 있다.
로그우도는 입력 샘플의 정답 부류에 해당하는 노드만을 보고 계산한다.
# 적용
아래와 같이, 출력값을 softmax로 0~1사이의 확률적 요인으로 근사화 시킨 뒤, 정답 라벨과의 오차를 구하게 된다.
# 데이터 전처리
데이터 전처리의 필요성중 첫번째는 Scale에서 온다. 예를들어 1.8m와 180cm는 우리가 보기에는 같은 값이기 때문에 별차이 없어보이지만, 단위가 붙어기 때문이다. 그래서 전처리 단계에서는 이러한 단위들을 잘 맞추어 줘야 한다. 그렇지 않으면, 큰 스케일의 값에 끌려가는 일이 벌어진다.
키와 몸무게의 데이터가 있다고 가정하자
- 1.885m , 1.525m는 0.36m가 차이난다
- 66.5kg와 45.0kg는 20.5kg이 차이가 난다.
이 두 데이터를 그대로 사용하는게 맞을까?
'•Compter Science > Artificial Intelligence' 카테고리의 다른 글
[인공지능#14/11-23] 경사하강법, 규제 (0) | 2022.11.29 |
---|---|
[인공지능#13/11-21] 성능향상 기법 - 정규화, 배치 정규화, 가중치 초기화, 활성함수, one-hot-encoding (0) | 2022.11.22 |
[인공지능#11/11-14] CNN - LeNet, AlexNet, VGCNet, GoogLeNet, ResNet, 심층학습 (0) | 2022.11.16 |
[인공지능#10/11-07] CNN의 구조 및 특징, 패딩, 보폭(Stride), Pooling (0) | 2022.11.09 |
[인공지능#9/10-31] 깊은 신경망(DNN)과 CNN 맛보기 (0) | 2022.10.31 |