본문 바로가기
728x90
반응형
SMALL

배치 정규화4

[Generative Model] DCGAN (CIFAR-10) 데이터 로드 from keras.layers import Input, Dense, Reshape, Flatten, Dropout from keras.layers import BatchNormalization, Activation, ZeroPadding2D from keras.layers.advanced_activations import LeakyReLU from keras.layers.convolutional import UpSampling2D, Conv2D, Conv2DTranspose from keras.models import Sequential, Model from keras.optimizers import Adam,SGD from keras import initializers import os .. 2022. 12. 13.
[Generative Model] DCGAN DCGAN Ian Goodfellow가 GAN을 발표한 이후로 많은 분야에 GAN이 적용하여 연구가 되었지만 복잡한 영상에서는 좋은 이미지를 생성하지 못하였고 항상 불안정한 구조로 인한 문제가 따라붙었다. 그래서 이후 GAN을 다룬 논문들을 보면 공통적으로 이러한 부분에 대한 어려움에 대해 토로하고 있고, NIPS 2016 에서 Tutorial이나 workshop 세션에서도 큰 주제가 되었던 부분이 바로 이 "GAN의 안정화"였다. Minimax problem을 풀어야하는 GAN은 어쩔 수 없이 태생적으로 불안정할 수밖에 없는데 이는 fixed solution으로 수렴하는 것이 보장되어 보이지만, 실제 적용에서는 이론적 가정이 깨지면서 생기는 불안정한 구조적 단점을 보이곤 했다. 이후 나온 여러 논문들이.. 2022. 12. 9.
[Keras] 배치 정규화 (Batch Normalization) 배치 정규화 (Batch Normalization) 배치 정규화 (batch normalization, BN)는 층으로 들어가는 입력값이 한쪽으로 쏠리거나 너무 퍼지거나 너무 좁아지지 않게 해주는 인공신경망 기법이다. 여러 입력값을 모은 배치에 대해, 각 층의 입력값의 평균과 표준편차를 다시 맞추어 주어, 입력값이 쏠리는 것을 막는다. BN은 주어진 데이터 세트의 평균 (shifting)과 분산 (scaling)을 특정 값으로 조정하는 것이다. 이것은 주어진 모델을 훈련하는 데 사용된 이전 입력 데이터에 따라 선택된다. 데이터 평균을 0, 표준편차를 1로 분포시킨다. 높은 학습율을 사용하여 빠른 속도로 학습하면서 overfitting을 줄이는 효과가 있다고 알려져 있다. tf.keras.layers.Ba.. 2022. 7. 31.
[Deep Learning] 배치 정규화 (Batch Normalization) 배치 정규화 (Batch Normalization) 학습의 효율을 높이기 위해 도입되었다. batch normalization은 학습률을 높게 설정할 수 있기 때문에 학습 속도가 개선된다. 그리고 학습을 할 때마다 출력값을 정규화하기 때문에 weight 초기값 선택의 의존성이 적어진다. 마지막으로 overfitting 위험을 줄일 수 있고 gradient vanishing 문제도 해결 가능하다. batch normalization는 activation function의 활성화 값 또는 출력값을 정규화 (정규분포)하는 작업을 말한다. 다시 말해, 신경망의 각 layer에서 데이터 (배치)의 분포를 normalization하는 작업이다. 일종의 noise를 추가하는 방법으로 (bias와 유사) 이는 batc.. 2022. 1. 3.
728x90
반응형
LIST