본 포스팅은 2022-11-21(월), 국민대학교 이재구 교수님의 인공지능 수업을 통해 배운내용을 정리하기 위해 작성하는 게시글입니다.
# 모든 입력이 양수인 경우의 문제
다음과 같이 입력(x1,x2,x3)의 값이 모두 양수라면, 가중치를 갱신할때, 각 (감소, 증가, 감소) 시키는 것을 알 수 있다. 이렇게 최저점을 찾아가게 되면 경로가 지그재그하여 느린 수렴을 하게 된다고 한다.
그래서 데이터를 정규화 하여, 규모의 문제와 양수의 문제를 해결하도록한다. 쉽게 말해 데이터들을 이쁘게 정리해주는 것이다.
그렇게 된다면, 우리는 0을 기준점으로 나룰 수 있을 수도 있다. 활성함수의 대부분의 임계점은 0이기도 하다.
# one-hot-encoding
객체가 서로를 구분하기 위해서 명목변수로 써 사용한다. [자동차,비행기,보트]의 클래스가 존재한다면, 각각의 클래스에 해당하면 1 아니라면 0으로 처리한다.
# 가중치 초기화
만일 같은 값으로 가중치를 초기화 하게 된다면, 출력값이 같아져버릴 수 있다. 그러면 그 다음층에서도 또 같은게 반복 될 수 있다. 이렇게 대칭성을 가지면 훈련에 좋지 않기 대문에, 난수로 초기화 하여 대칭을 파괴 해버린다.
- 초기화값이 너무 작으면 -> 모든 활성 값이 0이 됨, 경사도도 역시 0학습 저하
- 초기화가 너무 크면 - > 호라성값 포화, 경사도는 영학습 저하
- 초기화가 적당하다면 -> 모든 층에서 활성 값의 분포가 좋음 적절한 학습 수행
# 활성함수
선형 연산에 비선형 연산을 특징을 주기위해서 비 선형성을 띈 비선형 활성함수를 사용한다.
초기 계단함수는 미분 불가능하여서 tanh함수 sigmoid함수를 사용했으나, 활성값(입력값)이 너무 커지면 그 지점에서 경사도가 0에 가까운 값이 되어 학습을 저해한다. 그렇기 때문에 ReLu활성 함수를 사용하게 됐다.
## ReLu
ReLu도 여러 종류가 있다.
## ELU
ELU는 좋아 보이지만, 지수함수를 사용하고, 지수 함수는 비싸다 계산에 대한 Cost가 높기 때문에 ReLu를 많이 사용하게 된다.
# 배치 정규화(batch normalization)
학습이 진행되면서, 첫번째 층의 매개변수가 바뀌면 출력값이 바뀐다. 그 출력값은 두번째 층에서 입력값으로 사용 되는데, 이런 공변량의 변화가 생기게 된다(Internal covariate shift-내부의 공변량 변화).
그렇기 때문에 이 공변량 시프트 현상을 억제하기 위해 정규화를 층 단위로 적용한다.
정규화가 적용 되는 곳은, 선형연산의 출력 후, 활성함수(비선형)가 들어가기 전이다. 즉 위에 식에서는 z에 배치 정규화를 진행하면 된다.
배치 정규화 장점
- 신경망의 경사도 흐름 개선
- 높은 학습률 허용
- 초기화에 대한 의존성 감소
- 의도하지 않았지만 규제와 유사한 행동을 보이고, 드롭아웃의 필요성을 감소시킨다.
미니 배치 단위로 노드마다 독립적으로 아래 코드1을 수행한다. 감마와 베타를 파라메타로 알아낸다.
배치 정규화 단점
- 채색이나 사이즈를 키우는 문제를 해결 할때는 모든 픽셀들이 정규분포를 따르지 않고 있는데, 배치 정규화는 정규분포의 특성을 이용하기 때문에 독이 된다.
배치 정규화 요약
- 평균과 분산을 구하는데 미니배치 단위로 한다.
- 활성함수 이전에 선형함수의 값을 정규화 시킨다.
- 평균이 0 분산이 1은 너무 강력하기 때문에, 감마 베타와 같은 학습파라메타를 만들어 학습시키도록 한다.
'•Compter Science > Artificial Intelligence' 카테고리의 다른 글
[인공지능#14/11-23] 경사하강법, 규제 (0) | 2022.11.29 |
---|---|
[인공지능#12/11-16] 목적함수의 알맞은 쓰임, 데이터 전처리 (0) | 2022.11.21 |
[인공지능#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 |