C.W.K.
Stream
Lesson 03 of 07 · published

Layer 인자 이해하기

~8 min · sequential

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

layer 의 손잡이들

Dense layer 는 인자가 여러 개지만, 거의 모든 layer 에서 만지는 건 딱 둘 — unitsactivation. 나머지는 잘 고른 default 가 있으니 *구체적인 이유* 생기기 전엔 그냥 둬.

인자타입설명
unitsint출력 차원 — 이 layer 의 뉴런 수
activationstr/fnactivation 함수: 'relu', 'sigmoid', 'softmax', 'tanh', None
input_shapetuple입력 shape (첫 layer 만 필요, keras.Input 권장)
use_biasboolbias 항 추가 여부 (기본 True)
kernel_initializerstrweight 초기화: 'glorot_uniform' (기본), 'he_normal' 등

activation 은 취향이 아니라 출력에 대한 결정

*마지막* layer 의 activation 은 취향이 아니라 *task* 가 정해. 틀리면 loss 함수가 해석 못 하는 값을 조용히 받아 — 에러 없이 학습이 이상해지는 최악의 케이스:

  • ReLU — hidden layer 기본. 단순하고 빠르고, 깊은 stack 에서 sigmoid/tanh 가 빠지는 vanishing-gradient 함정을 피해.
  • Sigmoid — binary 분류 출력. [0, 1] 확률 하나로 짜부.
  • Softmax — multi-class 분류 출력. class 들 합이 1 인 확률 벡터.
  • Tanh — 출력 [-1, 1]. hidden 에 가끔, 옛 RNN cell 에 흔해.
  • None / Linear — regression 출력. 변환 안 해서 임의의 실수 뱉을 수 있어.

패턴 보여? hidden 은 거의 항상 ReLU, 마지막 activation 은 *뭘 예측하느냐* 가 정해. 이 규칙 하나가 초보 버그 한 무리를 통째로 없애.

External links

Exercise

activation=None 으로 Dense layer 짜고, layer 호출 후에 keras.activations.relu 직접 적용. Dense(activation='relu') 와 비교 — 결과 동일해야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.