2

저는 Keras를 사용하여 캐릭터 레벨 텍스트 생성기를 개발 중입니다. 예제/튜토리얼을 살펴볼 때 아직 이해할 수없는 것이 있습니다.텍스트 생성을위한 Keras LSTM 교육

훈련 데이터 (X)는 길이 maxlen의 세미 중복 시퀀스로 분할되며, y는 시퀀스 직후의 문자입니다.

나는 훈련이 maxlen 문자 내의 의존성을 실현한다는 것을 의미하므로 효율성을위한 것임을 알고 있습니다.

나는 왜 그것이 연속적으로 행해지는지 이해하기 위해 고심하고있다. 나는 LSTM/RNN이 한 번에 하나씩 문자를 입력하고 예측 된 다음 문자를 실제 다음 문자와 비교함으로써 훈련을 받았다고 생각했다. 이것은 매우 다르다. 그리고 한 번에 maxlen = 50 문자를 말하고 길이 50 ​​시퀀스를 다음 문자와 비교한다.

실제로 케라는 훈련 시퀀스를 해체하고 "두포"라는 문자로 문자를 입력합니까?

왜 아닌가요?

답변

1

시퀀스 생성 때문에 반복적 인 계층에 플래그 stateful=True을 설정한다고 가정합니다. 이 옵션을 사용하지 않으면 다른 시퀀스/문자를 독립적으로 만들고 있다고 생각하지 않습니다. 이 플래그가 True으로 설정된 경우이 두 가지 방법 모두 동등합니다. 텍스트를 시퀀스로 나누는 것은 성능 및 단순성의 이유로 향상됩니다.

+0

X가 maxlen 문자 시퀀스로 구성되어 있고 훈련 데이터에서 X의 각 maxlen 시퀀스 다음에 오는 한 문자 만 y로 트레이닝중인 경우 명확히하기 위해. 그것은 y가 다음 문자 인 개별 문자로 구성된 X와 같습니다. 트레이닝 데이터는 알파벳이고 MAXLEN 3 (단계 = 1) X와 = 경우 ABC, BCD, CDE 등 및 는 X VS 는 A, B, C를 = 등 f를 Y = D, E, 및 y = b, c, d 등 – user3692508