카테고리 없음

[딥러닝]배치 정규화(Batch Normalization)

玄曄 2022. 3. 24. 11:48

[딥러닝]배치 정규화(Batch Normalization)

1. 의의

2. 효과

3. 레이어 구성

==========================

 

[딥러닝]배치 정규화(Batch Normalization)

 

1. 의의

○ 모델에 투입되는 샘플들을 균일하게 만드는 방법

○ 가중치의 활성화값이 적당히 퍼지게끔함.

- 미니 배치 단위로 데이터의 평균ρ이 0, 표준편차σ가 1이 되도록 정규화

 

2. 효과

- 학습을 빨리 진행할 수 있음

- 학습후 새로운 데이터에 잘 일반화할 수 있도록 도와줌

- 초기값에 크게 의존하지 않아도 됨.

- 과대적합 방지

 

3. 레이어 구성

- 데이터 전처리 단계에서 진행도 되지만, 정규화가 되어서 층(layer)에 들어갔다는 보장이 없음.

- 주로 Dense층 또는 Conv2D층 뒤, 활성화 함수 앞에 놓임.

- 코드

model = Sequential()

model.add(Dense(32, input_shape=(28 * 28, ), kernel_initializer='he_normal'))
model.add(BatchNormalization())
model.add(Activation('relu'))
model.summary()