-
AAE
AAE (Adversarial AE)
이번에는 AAE(Adversarial AE)를 배워보자. AAE는 VAE와 GAN을 합친 모델이다. GAN은 다음시간에 배울 내용이며 GAN을 보고 오시면 이해가 쉽다. AAE는 GAN에 구조를 띄고 있고 제너레이터(generator)를 VAE로 바꾼 모델이다 try: %tensorflow_version 2.x" except Exception: pass import tensorflow as tf from tensorflow.keras import layers,models,datasets,losses import numpy as np import matplotlib.pyplot as plt 모델을 만들기 전 패키지를 선언하자. (x_train, _), (_,_) = datasets.mnist.load_da..
-
CVAE
CVAE (Convolution VAE)
Convolution VAE를 해보자 기존에 사용했더 VAE는 순환 신경망를 사용하였지만 이번 모델은 CNN으로 바꾼 모델이다. 패키지들은 VAE와 동일하게 때문에 생략을 한다. (x_train, _), (x_test,_) = datasets.mnist.load_data() x_train = x_train.astype('float32') / 255. x_train = x_train.reshape(-1,28,28,1) x_test = x_test.astype('float32') / 255. x_test = x_test.reshape(-1,28,28,1) CNN을 사용하기 때문에 차원은 2차원이 아닌 3차원으로 변경하였다. input_shape = (28,28,1) latent = 2 # 차원 축소의 크기 ..
-
VAE
VAE(Variational Auto Encoder) _인코더, 평균 분산
확률분포를 이용하는 모델인 VAE(Variational Auto Encoder)를 알아보자 try: %tensorflow_version 2.x" except Exception: pass import tensorflow as tf from tensorflow.keras import layers,models,datasets,losses from tensorflow.keras import backend as K import numpy as np import matplotlib.pyplot as plt VAE모델 만들기에 앞서 패키지들을 선언을 한다. 새롭게 추가된 패키지에는 백엔드(backend) 패키지가 있는데 케라스내에서 텐서플로우 패키지를 사용하는 것입니다. (x_train, _), (x_test,_) ..
-
Convolutional AE
Convolutional AE
이번에는 CNN과 AE과 결합된 모델인 CAE를 실습해보자 이미지에서 강점을 보인 CNN이기 때문에 성능은 좋아졌다. 바로 CAE로 생성된 mnist 이미지부터 보겠습니다. 위에 있는 이미지는 원본이미지고 아래는 CAE로 나온 예측 이미지다. 손실이 거의 발생하지 않은 상태의 이미지인 것을 확인 할 수가 있다. 높은 성능을 보이기에 책에는 따로 실습을 담지 않았지만 실습파일에는 있으니 시간이 있다면 실습을 하는걸 추천한다. 실습은 노이즈가 섞인 이미지 데이터를 CAE로 학습하는 것을 할 것이다. try: %tensorflow_version 2.x" except Exception: pass import tensorflow as tf import numpy as np from tensorflow.keras ..
-
이미지 생성 실습으로 익히는 AE
Deep AE를 이용한 가짜 이미지 생성
이번에는 Deep AE를 배워보자 기존에 AE에서 순환신경망을 여러 개 쌓아 깊게 변형된 모델이다 기존코드에서 사용했던 모듈들을 그대로 사용하기에 전처리까지는 생략을 한다 Hidden_input1 = 512 Hidden_input2 = 256 Hidden_input3 = 128 Hidden_input4 = 64 Hidden_input5 = 32 input_layer = layers.Input(shape=(784,)) Encoding = layers.Dense(Hidden_input1)(input_layer) Encoding = layers.Dense(Hidden_input2)(Encoding) Encoding = layers.Dense(Hidden_input3)(Encoding) Encoding = la..