본문 바로가기

keras6

[keras, NLP] Seq2Seq로 번역 모델 구현하기 2019-02-02-seq2seq_translation seq2seq 모델로 번역 모델을 만들어보자. 1. 데이터 전처리seq2seq 모델을 번역 모델로 학습하기 위해서는 세 가지 종류의 데이터가 필요하다.인코더의 입력으로써 넣을 원 언어의 텍스트 데이터디코더의 입력으로써 넣을 타겟 언어의 텍스트 데이터Teacher forcing을 위한 타겟 언어의 텍스트 데이터학습에는 영어 텍스와 이에 대해 프랑스어로 변역된 텍스트의 모임인 코퍼스 데이터를 사용할 것이다. Data download http://www.manythings.org/anki/fra-eng.zip 이 데이터는 각 줄에 하나의 (영어, 프랑스어) 텍스트 쌍이 있고 이는 Tab으로 구분된다. 이를 다음과 같이 source 텍스트와 target 텍.. 2019. 2. 2.
[keras] Boston Housing 데이터를 통한 주택 가격 예측(regression) 2019-01-05-boston-housing 1. 보스턴 주택 가격 데이터셋1970년 중반 보스턴 외곽 지역의 범죄율, 방 개수, 지방세율 등 총 14개의 변수로 이루어진 데이터셋으로, 이를 통해 주택 가격을 예측할 수 있다. 변수에 대한 자세한 내용은 kaggle: boston housing에서 확인할 수 있다. 데이터 수는 총 506개로, 훈련 샘플 404개, 테스트 샘플 102개로 나뉘어 있어 비교적 개수가 적은 데이터셋이다. 따라서 K-fold cross validation을 이용하여 좀 더 정확한 평가를 할 것이다. 데이터셋 로드from keras.datasets import boston_housing(train_data, train_targets), (test_data, test_target.. 2019. 1. 5.
[keras] 정확한 평가를 위한 검증(validation) 데이터 나누기 2019-01-05-validation 딥러닝 모델을 구축할 때, 훈련 데이터와 테스트 데이터만으로도 훈련의 척도를 판단할 수 있다. 하지만, 훈련 데이터에 대한 학습만을 바탕으로 모델의 설정(Hyperparameter)를 튜닝하게 되면 과대적합(overfitting)이 일어날 가능성이 매우 크다. 또한, 테스트 데이터는 학습에서 모델에 간접적으로라도 영향을 미치면 안 되기 때문에 테스트 데이터로 검증을 해서는 안 된다. 그래서 검증(validation) 데이터셋을 따로 두어 매 훈련마다 검증 데이터셋에 대해 평가하여 모델을 튜닝해야 한다. 하지만, 검증 데이터셋이 훈련에 사용되지 않더라도 검증 데이터셋에 대한 성능을 기반으로 hyperparameter를 튜닝하므로 정보 누설(information lea.. 2019. 1. 5.
[keras] tensorflow-gpu ImportError 해결 및 keras 간단 설치 2019-01-04-tensorflow-gpu xxxxxxxxxxpip install tensorflow-gpu위 명령어를 통해 tensorflow gpu를 설치하고 import를 하면 다음과 같은 오류가 날 때가 있다.xxxxxxxxxxImportError: DLL load failed: The specified module could not be found.일반적으로 CUDA를 설치해야 하기 때문에 발생하는 에러일 가능성이 높다. 인터넷 상에 CUDA 홈페이지에서 이것저것을 다운받아 설치하는 방법들이 많이 소개되어있지만, 최근 keras까지 anaconda를 이용해서 간단히 설치할 수 있는 방법을 소개하고자 한다. 방법은 간단하다. 그저 다음 명령어들을 따라 입력하면 된다.conda install -.. 2019. 1. 4.
[Keras] 뉴스 기사 토픽 분류로 보는 다중 분류(multi-classification) 2018-12-26-reuter-dataset 1986년에 공개된 로이터(Reuter) 데이터셋은 짧은 뉴스 기사와 토픽의 집합으로 이루어져 있다. 알다시피 뉴스 기사는 텍스트 데이터이며, 단어 순서가 유지되어야 하는 시퀀스 데이터다. 총 46개의 토픽이 있으며, 각 토픽마다 기사 데이터 수가 일정하지는 않다. 1. 데이터 준비하기from keras.datasets import reuters(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)로이터 데이터셋도 IMDB 데이터셋과 마찬가지로 Keras에 포함되어 있으며, 같은 형태를 취하고 있다. 학습 데이터는 정의된 단어 사전 내 해당 단어의 인덱스.. 2018. 12. 26.
[Keras] 영화 리뷰 데이터로 알아보는 시퀀스 데이터 2018-12-26-keras-sequence-data-imdb 1. 시퀀스(Sequence), 시계열 데이터시퀀스(Sequence) 데이터는 쉽게 말하자면, 순서가 있는 데이터다. 하지만, 순서가 있다는 것이 정렬되었다는 의미는 아니다. 예를 들어 대표적인 시퀀스 데이터인 문자열을 살펴보자. "안녕하세요" 라는 문자열은 '안', '녕', '하', '세', '요' 의 순서를 유지해야 그 뜻이 유지된다. 만약 순서가 뒤바뀌어 "녕안세하요" 라고 하면 동일한 데이터라고 볼 수 없는 것이다. 비디오 데이터도 마찬가지다. 비디오 데이터셋은 (samples, frames, height, width, cmap)의 5D 텐서로 나타낼 수 있는데 여기서 frame 순서가 뒤바뀌면 안 되므로 시퀀스 데이터다. 만약 순서.. 2018. 12. 26.