본문 바로가기

Deep Learning/Hands On Machine Learning34

17.1 효율적인 데이터 표현 AutoEncoder introduction * 위 두 개의 sequence를 완벽하게 외워야 된다고 생각해보자. 얼핏 보기엔 첫 번째 sequence가 더 짧기 때문에 더 외우기 쉬울 것으로 보인다. 하지만 자세히 들여다보면, 두 번째 sequence는 50부터 2씩 14까지 줄어드는 pattern을 가지고 있기 때문에 오히려 두 번째 sequence가 더 외우기 쉬울 것이다. * 이와 같이 긴 sequence의 경우 pattern을 찾아 기억하는 것이 더 쉽다. 우리가 사용할 autoencoder 또한 마찬가지이다. * AutoEncoder는 기본적으로 Encoder(recognition network), Decoder(generative network)부분으로 구분된다. Encoder는 입력된 정보.. 2021. 12. 23.
16.3 신경망 기계 번역을 위한 인코더-디코더 네트워크 인코더 디코더 네트워크 인코더 디코더 네트워크 구조 * 위 그림은 영어 단어를 입력하면 프랑스어로 번역해주는 인코더-디코더 네트워크를 뜻한다. * 인코더 부분의 input은 I drink milk를 뒤집어 놓은 문장인 것을 확인할 수 있다. 이는 문장의 시작 단어가 인코더의 마지막에 가도록 하기 위해서이며, 디코더가 번역할 첫 단어가 문장의 시작 단어( ' I ' ) 이기 때문이다. * 각 단어는 초기에 1차원 값(ex - milk : 288) 으로 표현되어 있지만, Embedding layer를 지나면서 단어 임베딩으로 변환되어 인코더, 디코더의 input으로 들어가게 된다. * 각 time step마다 디코더는 vocabulary dictionary에 있는 단어에 대한 점수를 출력하고 이 output.. 2021. 11. 24.
16.2 감성 분석 IMDB 데이터를 통한 감성분석 데이터셋 로드 (X_train, y_train), (X_test, y_test) = keras.datasets.imdb.load_data() X_train[0][:10] #[1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65] * IMDB의 training set은 문장의 구두점을 제거하고 소문자로 변환하여 빈도에 따라 인덱스가 부여되어있다. * 인덱스가 낮을 수록 자주 등장하는 단어이다. * 또한 0은 , 1은 , 2는 즉, 알 수 없는 단어를 의미한다. 만약 데이터셋을 문장으로 디코딩하고 싶다면 아래와 같이 디코딩해야 한다. #인덱스를 단어로 디코딩하는 법 word_index=keras.datasets.imdb.get_word_index() .. 2021. 11. 23.
16.1 Char-RNN을 통해 셰익스피어 문체 생성하기 In [16]: import sklearn import tensorflow as tf from tensorflow import keras import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt 16.1 훈련 데이터셋 만들기¶ In [17]: shakespear_url="https://raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt" filepath=keras.utils.get_file('shakespear.txt', shakespear_url) with open(filepath) as f: shakespear_te.. 2021. 11. 23.