내 세상

케라스 창시자에게 배우는 딥러닝 > 8장 생성 모델을 위한 딥러닝 본문

Technical/ML&DL

케라스 창시자에게 배우는 딥러닝 > 8장 생성 모델을 위한 딥러닝

sga8 2018. 12. 14. 14:07
728x90
반응형

인공 지능이 사람의 지능을 어떤 다른 것으로 대체하지 않는다. 인공 지능은 우리 생활과 일에 지능을 더한다. 이 지능은 다른 종류의 지능이다.

AI는 Artificial Intelligence가 아니라 Augmented Intelligence이다.


LSTM으로 텍스트 생성하기

생성 RNN의 간단한 역사

- 1997년 LSTM 알고리즘 개발


시퀀스 데이터를 어떻게 생성할까?

- 이전 토큰을 입력으로 사용해서 시퀀스의 다음 1개 또는 몇 개의 토큰을 RNN 또는 CNN으로 예측하는 것


- language model

- 이전 토큰들이 주어졌을 때 다음 토큰의 확률을 모델링할 수 있는 네트워크

- 언어의 통계적 구조인 잠재 공간을 탐색함.


- 시퀀스 생성 프로세스

1. language model 훈련하고 나면 해당 model에서 sampling을 할 수 있음. 즉 새로운 시퀀스를 생성함.

2. 초기 텍스트 문자열(conditioning data, 조건 데이터)를 주입하고 새로운 글자나 단어를 생성함.

3. 생성된 출력은 다시 입력 데이터로 추가되어 이 과정을 반복함.

4. 이런 반복 과정을 통해 모델이 훈련한 데이터 구조가 반영된 임의의 길이를 가진 시퀀스를 생성함.


- LSTM (Long Short-Term Memory models)

- 글자 수준의 신경망 언어 모델(character-level neural language model)

- 텍스트 말뭉치(corpus)에서 N개의 글자로 이루어진 문자열을 추출하여 주입하고 N+1번째 글자를 예측하도록 훈련함.

- 모델의 출력은 출력 가능한 모든 글자에 해당하는 소프트맥스 값. 즉, 다음 글자의 확률 분포.


샘플링 전략의 중요성

- 텍스트를 생성할 때 다음 글자를 선택하는 방법이 아주 중요함.

- 탐욕적 샘플링 (Greedy Sampling)

- 반복적이고 예상 가능한 문자열을 만들기 때문에 논리적인 언어처럼 보이지 않음.

- 확률적 샘플링 (Stochastic Sampling)

- M/L에서 stochastic 이란 뜻은 random하다는 의미

- 다음 글자의 확률 분포에서 샘플링하는 과정에 무작위성을 주입하는 방법



728x90
반응형