Keras Initializers — 초기화 전략을 레이어에 주입

Keras Initializers — 초기화 전략을 레이어에 주입

Keras 는 레이어의 kernel_initializer·bias_initializer 인자로 사용할 초기화 전략(initializer) 을 고를 수 있어요. 문자열 이름이나 초기화기 객체를 넘기면 됩니다.

주요 초기화기

  • RandomNormal / RandomUniform: 평균·표준편차(또는 최소·최대)를 지정한 분포에서 샘플링.
  • GlorotNormal / GlorotUniform (Xavier): 팬인·팬아웃으로 스케일을 맞춰 tanh/시그모이드 활성화에 적합.
  • HeNormal / HeUniform (Kaiming): ReLU 계열을 견디도록 팬인 기반 스케일 사용.
  • LecunNormal: tanh 전에 많이 쓰였던 레젠(LeCun) 초기화.
layer = keras.layers.Dense(
    128,
    kernel_initializer=keras.initializers.HeNormal(seed=42),
    bias_initializer=keras.initializers.Zeros(),
)

사용 팁

  • 문자열 이름("he_normal" 등)으로 간단하게 지정하거나, 객체로 세부 파라미터(seed 등)를 조절할 수 있어요.
  • keras.initializers.get(name) 으로 이름과 객체를 상호 변환할 수 있어요.
  • 학습 재현성을 위해 seed를 고정하면 좋아요.

더 알아보기