딥러닝에서의 활성화 함수
정의
실제 생물의 역치를 모방한 비선형 함수를 활성화 함수activation function라 한다.
수학적 정의
딥러닝에서 비선형 스칼라 함수 을 활성화 함수라 부른다.
설명
비선형인 스칼라 함수를 활성화 함수라 부르는 반면, 선형인 벡터 함수는 레이어layer, 층라 불린다. 예외로 정의를 벗어난 소프트 맥스같은 것도 있다.
만약 로 정의된 활성화함수가 벡터를 인풋으로 받는다는 표현이나 코드가 있다면, 다음과 같이 성분별로 적용한다는 의미이다.
모티브
역치란 생물이 자극에 대해 어떤 반응을 일으키는 데 필요한 최소한의 자극의 세기로써, 딥러닝은 이를 모방하기 위해 각 노드의 계산 결과에 활성화 함수를 취해 다음 레이어로 넘긴다. 이러한 비선형적 보정이 없다면 딥러닝에서 히든 레이어를 두며 계산을 여러번 하는 의미가 없다.활성화 함수는 여러 종류가 있는데, 어떤게 좋은지는 말 그대로 케이스 바이 케이스다. 무슨 활성화 함수를 쓰면 퍼포먼스가 어떻게 달라진다는 식의 이론은 거의 없고, 그냥 시도해 보고 결과가 좋으면 채택하는 식이다.
예시
계단 함수
계단 함수는 역치라는 이름에 가장 잘 맞는 함수지만 계산 결과를 너무 단순하게 축약시키기 때문에 실제로 쓰기엔 어려운 측면이 있다. 다른 활성화 함수들도 계단 함수는 아니지만 마치 계단 함수처럼 작용하기 위해서 고안되었다고 생각하면 좋다.
시그모이드 함수
시그모이드 함수 중 가장 유명한 것은 아무래도 로지스틱 함수 로, 마치 계단함수를 연속함수로 이어놓은 듯한 모양을 가지고 있다. 치역은 다르지만 역시 비슷한 이유로 사용되었다. 최근에는 그래디언트 배니싱이라는 문제가 발견되어 거의 쓰이지 않는다.
ReLu(Rectified Linear Unit) 함수
시그모이드 함수의 문제점을 극복하기 위해 고안된 함수다. 이면 아예 함수값을 죽여버리고, 을 넘겨야 그대로 전달된다는 점에서 활성화 함수답다고 할 수 있다.