워드투벡을 적용하여 RNN모델을 적용하기 전에, 딥러닝 학습시 필요한 용어들을 한 번 정리하고 넘어가려고 한다.
1. 활성화 함수(Activation Function)
신경망의 뉴런들을 선형 결합한 하면, 선형 모형이 된다. 이를 비선형 모형으로 결합하기 위해서는 활성화 함수가 필요하다고 한다. 활성화 함수는 x값이 들어왔을 때, 이를 변형하여 출력한다. 활성화함수에 따라 특정 값에서는 0값이 되기도 하고, -1과 1사이의 값이 나오기도 한다. 가장 일반적으로 많이 사용하는 함수는 Relu로, 성능이 가장 잘 나온다고 한다. 그 외에 binary값을 예측하기 위해서는 마지막 뉴런에 sigmoid 함수를 적용한다. 값이 0과 1사이의 값이 나오기 때문이다. 여러 개의 카테고리를 에측한다면, softmax가 좋다고 한다. 다른 카테고리의 출력값과 비교하여, 최종 출력값이 결정되기 때문이다. SoftMax 활성화 함수에 대한 자세한 내용은 아래 포스팅을 참고하면 좋을 듯 하다.
2. 옵티마이저
딥러닝은 뉴런에 적용되는 최적의 가중치 값을 찾기 위해 'gradient descent'라는 방법을 이용한다. 최적의 가중치 값은 손실함수(loss function)를 최소화하는 값이다.
손실함수는 보통 에측값과 실제값의 차이를 말한다. 고등학교 수학시간을 복귀해보면 이차함수의 최소값을 찾기 위해 우리는 미분을 한다. 그렇게 손실함수를 최소값을 찾기 위해서는 미분을 하면 되지만, 그게 어렵기 때문에 값을 바꿔 가면서 어느 지점이 최소값이 찾는 것이다. 이 때 최소값을 찾기 위해 특정 지점에서의 기울기를 이용한다. 그 지점의 기울기의 반대값으로, 즉 아래로 값을 이동하면서 최소값인지 확인하는 것이다.
기본은 이런데, 이 움직이는 범위나 방법에 따라 여러 개의 옵티마이저가 있다. 너무 조금씩 움직이면, 최소값을 찾는데 시간이 오래 걸리고 너무 많이 움직이면 최적의 최소값을 차지 못할 수도 있다. 옵티마이저의 종류에 대해서는 아래 포스팅에 잘 설명이 되어 있으니 참고하기 바란다.
오늘은 이렇게 딥러닝 학습에 필요한 용어인 활성화 함수, 옵티마이저에 대해서 알아보았다. 다음 포스팅에서는 손실함수, 배치크기, 에포크 등에 대해서 알아보도록 하겠다.
'딥러닝' 카테고리의 다른 글
워드투벡 의미와 한글에 적용하는 방법은?! (0) | 2020.12.23 |
---|---|
딥러닝 용어(2/2) - 손실함수, 배치크기, 에포크, 학습률 (1) | 2020.12.20 |
원핫인코딩 텍스트 생성 딥러닝 학습하기 (1) | 2020.12.16 |
코랩 사용하는 방법, py파일 및 데이터 파일 업로드하기! (0) | 2020.12.14 |
텍스트 전처리 수행하기 (0) | 2020.12.13 |