글 수 208
https://www.facebook.com/groups/TensorFlowKR/permalink/900098033664589/
신경망에서 활성화 함수가 필요한 이유를 잘 설명한 글입니다. 과거 단층신경망인 퍼셉트론은 XOR 연산을 할 수가 없었습니다. 당시 기호주의 인공지능의 대가인 마빈 민스키가 이를 공격했고, 그후 신경망의 첫 번째 겨울이 시작되었습니다.
XOR 연산을 풀기 위해서는 신경망의 출력인 가설 공간을 비선형으로 분리해야 합니다. 직선 하나만으로 4개의 입력을 제대로 구분할 수 없기 때문입니다. 이를 위해서는 먼저 히든 레이어가 필요합니다. 하나의 층으로는 한 번만 분리가 가능하므로 레이어를 중첩하여 여러번 가설 공간을 나눌 필요가 있습니다.
두 번째는 비선형으로 된 활성화 함수로 신경망의 출력을 변환해야 합니다. 단순히 중간층을 연결한다고 비선형이 되지 않습니다. 선형 행렬과 선형 행렬을 곱하면 선형이 될 뿐입니다. 그래서 활성화 함수로 한 번 비선형 변환을 거쳐야 합니다.
예전에는 활성화 함수로 sigmoid나 tanh를 주로 사용했습니다. 그러나 양 끝의 정보가 없어지면서 그래디언트 소실 문제가 발생하는 것을 발견했습니다. 지금은 ReLU 같이 출력의 정보가 계속 유지되는 함수를 많이 적용합니다.