Head vs breakz
[인공지능] - 신경망 (Neural Networks) Q&A 본문
기계학습과 딥러닝 차이
-
인공지능 > 기계학습 > 딥러닝
-
기계학습과 딥러닝은 컴퓨터를 학습시킨다.
-
딥러닝은 신경망을 사용한다.
-
신경망 구조를 통해 스스로 답을 찾는 방법
-
신경망은 가중치를 통해 출력값이 결정
-
GPU를 통해 연산속도를 가속
기계학습과 딥러닝의 차이는 다양한 차이점이 있지만, 가장 핵심적인 차이는 신경망이다.
다층 학습이 어려운 이유
-
모델이 깊어 질수록 학습이 안된다.
-
모델의 앞부분보다 뒷부분이 학습이 잘된다.
-
왜 뒷부분이 잘되는가?
-
Back propagation
-
신경망 학습의 경우, Back propagation을 통해 weight 값을 조정
-
뒷부분부터 weight 값을 조정하면서 앞부분으로 가는데 이부분에서 문제가 생김
-
-
뒷부분보다 앞부분이 학습이 안되는 층이 발생한다.
-
-
왜 학습이 안되는 층이 존재하는가? 활성화 함수를 봐야한다.
-
Back propagation 시, 활성화 함수를 통해 다음 단계에 전달 유무를 결정하는데 sigmoid 함수의 경우 일정구간에서 sigmoid(wx+b)의 값을 미분 할 경우 0의 값을 가지게 되면서 전달하는 값이 없어진다. 이로 인해 다음 단계에서 학습이 불가능 하게 된다.
-
이런 현상이 Vanishing Gradient이다.
-
초창기 sigmoid 함수를 사용할 때에는 미분이 불가능한 부분이 없고, 기울기가 갑자기 변화 하지 않기 때문에 sigmoid 함수를 선호 했다고 한다.
-
학습이 잘되지 않는다면, 활성화함수를 다시보자 + @
참조 & 도움
'Break > 인공지능' 카테고리의 다른 글
[인공지능] - 실행 오류 모음집 (0) | 2020.01.22 |
---|
Comments