자주 조절하는 손잡이는 많지 않아
Dense에는 여러 인자가 있지만 처음부터 자주 바꿀 값은 units와 activation 정도야. 나머지 기본값은 잘 선택되어 있으므로 바꿔야 할 구체적인 이유가 생길 때까지 두는 편이 좋아.
| 인자 | 자료형 | 설명 |
|---|---|---|
units | int | 출력 차원, 곧 이 레이어의 뉴런 수 |
activation | str/fn | 활성화 함수: 'relu', 'sigmoid', 'softmax', 'tanh', None |
input_shape | tuple | 입력 모양. 첫 레이어에만 필요하며 keras.Input 권장 |
use_bias | bool | 편향 항을 추가할지 결정. 기본값 True |
kernel_initializer | str | 가중치 초기화 방식: 기본 'glorot_uniform', 'he_normal' 등 |
마지막 활성화 함수는 문제의 형태가 정해
출력 레이어의 활성화 함수는 취향으로 고르면 안 돼. 손실 함수가 기대하는 값과 맞지 않으면 오류 없이도 학습이 이상해질 수 있어.
- ReLU는 은닉층의 기본 선택이야. 단순하고 빠르며 깊은 모델에서 sigmoid나 tanh가 겪는 기울기 소실을 줄여.
- Sigmoid는 이진 분류에서 하나의 [0, 1] 확률을 출력해.
- Softmax는 다중 분류에서 합이 1인 클래스 확률 벡터를 만들어.
- Tanh는 [-1, 1] 범위를 출력하며 일부 은닉층과 전통적인 RNN 셀에서 사용해.
- None 또는 Linear는 값을 바꾸지 않아 임의의 실수가 필요한 회귀 출력에 맞아.
은닉층에서는 대개 ReLU로 시작하고, 마지막 활성화 함수는 예측하려는 값의 의미에 맞춰 선택해. 이 규칙만 지켜도 흔한 오류를 많이 피할 수 있어.