인프런 - 강의/나도 만들어본다 AI 앱 (tensorflow+android)

8 - relu, dropout, softmax

개복치 개발자 2020. 3. 5. 03:57

RELU에 대해 설명해보겠습니다.

 

RELU에 대해 설명드리려면

 

1. 분류(logistic regression)

2. sigmoid

3. vanishing gradient

4. relu

 

이런 순서대로 설명드려야 합니다.

 

자, 1. 분류 문제부터 봅시다.

 

분류를 왜 하는가에 대해서 알아보면, 아빠키 아들키 예측하는 것과 달리, Yes or No로 분류될 수 있는 문제를 처리합니다.

 

 

이런 문제가 아니라, Yes or No 로 분류되는 문제를 봅니다.

 

카카오에 합격하기 위해 기술면접을 봤다고 생각해봅니다.

 

 

조금만 공부하면 실패하고 더 공부하면 합격하는 경우를 생각해봅시다.

 

 

 

근데 데이터가 이상한게 하나 들어오면 그래프가 이상해집니다.

 

 

 

때문에, 아래와 같이 sigmoid 함수를 사용합니다.

 

 

 

그런데 얘를 쓰면 문제가 생깁니다.

 

 

여기에서 backpropagation과정에서 값이 전달되지 않는 문제가 발생합니다.

 

 

때문에 relu라는 애를 사용합니다.

 

 

그리고 또 dropout이라는 친구가 나옵니다.

 

얘는 또 뭘까요?

 

얘를 알려면 또 overfitting 이라는 것을 알아야 합니다.

 

그럼 또 오버피팅은 뭔가?

 

데이터를 학습 시킬 때, 데이터가 굉장이 많으면 무조건 좋을까요??

 

https://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html

맨 오른쪽과 같이 이상하게 model 이 만들어질 수도 있습니다.

 

때문에, 오버피팅을 방지하기 위해 dropout기법을 사용합니다.

 

 

 

위의 그림처럼 그냥 뉴런을 날려버리면 됩니다.

 

자 여기까지 했고 그다음에 softmax 라는 애를 봅니다.