본문 바로가기

Onds의 모든 게시글 보기

(61)
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 (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(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 이번에는 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 ..
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..
<AE 이미지 생성 실습> 직접 코드 구현해보기 이번에는 AE 모델을 만들어보자 try: %tensorflow_version 2.x" except Exception: pass import tensorflow as tf import numpy as np from tensorflow.keras import layers,models,datasets import matplotlib.pyplot as plt 모델을 작성하기 전 간단히 패키지를 선언한다. (x_train,_),(x_test,_) = datasets.mnist.load_data() 학습에 사용할 데이터셋은 Mnist이고 AE는 비지도 학습이므로 y의 값을 불러 올 필요가 없다. x_train = x_train.astype('float32') / 255.0 x_test = x_test.astype(..
LSTM을 이용한 자연어처리(실습) 이번에는 RNN의 강점이라고 할 수 있는 자연어처리를 해보자 모델에 사용 할 데이터셋은 IMDB 데이터다. IMDB 사이트에 등록된 리뷰를 긍정인지 부정인지를 분류하는 문제다. from tensorflow.keras import models,layers,datasets from tensorflow.keras.preprocessing.sequence import pad_sequences 텐서플로우 2.0 생략하고 자연어처리 실습에 사용될 패키지들이다. (x_train,y_train),(x_test,y_test) = datasets.imdb.load_data(num_words=10000) IMDB 데이터셋을 호출하는 코드다. 이번에는 num_words라는 매개변수를 사용했는데 이는 많이 사용되는 단어순으로 ..
LSTM을 이용한 시계열 데이터 분석(실습) 이전에 실습했던 내용은 SimpleRNN을 사용했고 이번에는 LSTM을 이용한 시계열 데이터 처리를 배워보자 데이터셋은 SimpleRNN 실습 때 사용했던 것을 재사용한다. data = np.sin( np.pi * np.arange(0, 100)* 2.025 ) + np.random.random(100) x = np.array([data[i+j] for i in range(len(data)-10) for j in range(10)]) x_train = x[:700].reshape(-1,10,1) x_test = x[700:].reshape(-1,10,1) y = np.array([data[i+10] for i in range(len(data)-10)]) y_train = y[:70].reshape(-1,..