Head vs breakz

[인공지능] - 신경망 (Neural Networks) Q&A 본문

Break/인공지능

[인공지능] - 신경망 (Neural Networks) Q&A

headbreakz 2020. 1. 21. 16:03

기계학습과 딥러닝 차이

  • 인공지능 > 기계학습 > 딥러닝

  • 기계학습과 딥러닝은 컴퓨터를 학습시킨다.

  • 딥러닝은 신경망을 사용한다.

  • 신경망 구조를 통해 스스로 답을 찾는 방법

  • 신경망은 가중치를 통해 출력값이 결정

  • GPU를 통해 연산속도를 가속

기계학습과 딥러닝의 차이는 다양한 차이점이 있지만, 가장 핵심적인 차이는 신경망이다.

 


다층 학습이 어려운 이유

  • 모델이 깊어 질수록 학습이 안된다.

  • 모델의 앞부분보다 뒷부분이 학습이 잘된다.

    • 왜 뒷부분이 잘되는가?

    • Back propagation

      • 신경망 학습의 경우, Back propagation을 통해 weight 값을 조정

      • 뒷부분부터 weight 값을 조정하면서 앞부분으로 가는데 이부분에서 문제가 생김

    • 뒷부분보다 앞부분이 학습이 안되는 층이 발생한다.

  • 왜 학습이 안되는 층이 존재하는가? 활성화 함수를 봐야한다.

    • Back propagation 시, 활성화 함수를 통해 다음 단계에 전달 유무를 결정하는데 sigmoid 함수의 경우 일정구간에서 sigmoid(wx+b)의 값을 미분 할 경우 0의 값을 가지게 되면서 전달하는 값이 없어진다. 이로 인해 다음 단계에서 학습이 불가능 하게 된다.

    • 이런 현상이 Vanishing Gradient이다.

    • 초창기 sigmoid 함수를 사용할 때에는 미분이 불가능한 부분이 없고, 기울기가 갑자기 변화 하지 않기 때문에 sigmoid 함수를 선호 했다고 한다.

 

학습이 잘되지 않는다면, 활성화함수를 다시보자 + @

 

 


참조 & 도움

곰가드의라이브러리

ratsgo's blog

untitled blog

'Break > 인공지능' 카테고리의 다른 글

[인공지능] - 실행 오류 모음집  (0) 2020.01.22
Comments