[인공지능] 케라스 학습 기술 - 배치 정규화
- 인공지능
- 2022. 2. 17. 23:00
참조
- https://www.youtube.com/watch?v=E3HhuCjyZoA&list=PL7ZVZgsnLwEHGS6EId3B_AnRYSCi_35rj&index=7
- https://ichi.pro/ko/silje-baechi-jeong-gyuhwa-keras-mich-tensorflow-2-0eul-sayonghan-yeje-195627853932911
배치 정규화란?
- 배치 정규화는 각 미니 배치의 레이어에 대한 입력을 표준화하는 매우 심층 신경망을 훈련하는 기술입니다.
- 이는 학습 프로세스를 안정화하고 딥 네트워크를 훈련하는 데 필요한 훈련 시대의 수를 극적으로 줄이는 효과가 있습니다.
배치 정규화
- 모델에 주입되는 샘플들을 균일하게 만드는 방법
- 학습 후 새로운 데이터에 잘 일반화 할 수 있도록 도와줌
- 데이터 전처리 단계에서 진행해도 되지만 정규화가 되어서 layer에 들어갔다는 보장이 없음
- 주로 Dense 또는 Conv2D Layer 후, 활성화 함수 이전에 놓임
from tensorflow.keras.layers import BatchNormalization, Dense, Activation
from tensorflow.keras.utils import plot_model
from tensorflow.keras.models import Sequential
model = Sequential()
model.add(Dense(32, input_shape=(28*28,), kernel_initializer='he_normal'))
model.add(BatchNormalization())
model.add(Activation('relu'))
model.summary()
plot_model(model, show_shapes=True)
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 32) 25120
batch_normalization (BatchN (None, 32) 128
ormalization)
activation (Activation) (None, 32) 0
=================================================================
Total params: 25,248
Trainable params: 25,184
Non-trainable params: 64
_________________________________________________________________
728x90
'인공지능' 카테고리의 다른 글
[인공지능] 텐서플로우 서빙이란?(TensorFlow Serving) (0) | 2022.03.14 |
---|---|
[인공지능] TensorFlow Could not load library cudnn_cnn_infer64_8.dll. Error code 126 에러 해결 (7) | 2022.02.23 |
[인공지능] 케라스 학습 기술 - 규제화 (0) | 2022.02.17 |
[인공지능] 케라스 학습 기술 - 옵티마이저 (0) | 2022.02.17 |
[인공지능] 케라스 학습 기술 - 가중치 초기화 (0) | 2022.02.17 |
이 글을 공유하기