활성화 함수는 무엇인가요? 왜 필요한가요?
relu와 같은 활성화 함수(또는 비선형성(non-linearity)이라고도 부릅니다)가 없다면 Dense 층은 선형적인 연산인 점곱과 덧셈 2개로 구성됩니다.
output = dot(W, input) + b
그러므로 이 층은 입력에 대한 선형 변환(아핀 변환)만 학습할 수 있습니다. 이 층의 가설 공간은 입력 데이터를 16차원의 공간으로 바꾸는 가능한 모든 선형 변환의 집합입니다. 이런 가설 공간은 매우 제약이 많으며, 선형 층을 깊게 쌓아도 여전히 하나의 선형 연산이기 때문에 층을 여러 개로 구성하는 장점이 없습니다. (2장에서 보았듯이) 층을 추가해도 가설 공간이 확장되지 않습니다.
가설 공간을 풍부하게 만들어 층을 깊게 만드는 장점을 살리기 위해서는 비선형성 또는 활성화 함수를 추가해야 합니다. relu는 딥러닝에서 가장 인기 있는 활성화 함수입니다. 이름은 조금 이상하지만 prelu, elu 등 비슷한 다른 함수도 많습니다.11
마지막으로 손실 함수와 옵티마이저를 선택해야 합니다. 이진 분류 문제이고 모델의 출력이 확률이기 때문에(모델의 끝에 시그모이드 활성화 함수를 사용한 하나의 유닛으로 된 층을 놓았습니다), binary_crossentropy 손실이 적합합니다. 이 함수가 유일한 선택은 아니고 mean_squared_error도 사용할 수 있습니다.12 확률을 출력하는 모델을 사용할 때는 크로스엔트로피가 최선의 선택입니다. 크로스엔트로피(crossentropy)는 정보 이론(information theory) 분야에서 온 개념으로 확률 분포 간의 차이를 측정합니다. 여기에서는 원본 분포와 예측 분포 사이를 측정합니다.