keras rnn 예제

벡터라는 단어는 이 자습서에서와 같이 별도로 학습하거나 Keras LSTM 네트워크를 학습하는 동안 학습할 수 있습니다. 다음 예제에서는 각 단어를 의미 있는 단어 벡터로 변환하기 위해 포함 레이어라고 하는 것을 설정합니다. 포함 레이어의 크기를 지정해야 합니다. 즉, 포함 레이어 크기가 250이면 각 단어는 [$x_1, x_2, x_3,ldots, x_{250}]과 같은 250길이 벡터로 표시됩니다. 이전 섹션에서 더 큰 창 크기로 예제를 다시 실행할 수 있습니다. 완전성을 위해 창 크기 변경만 있는 전체 코드 목록이 아래에 나열되어 있습니다. 학습된 Keras LSTM 모델을 테스트하기 위해 예측된 단어 출력을 학습 및 테스트 데이터 집합에 있는 실제 단어 시퀀스와 비교할 수 있습니다. 아래 코드는 예측된 모델 출력 및 학습 데이터 집합과 비교하여 이 작업을 수행하는 방법의 코드입니다(test_data 데이터로 동일한 작업을 수행할 수 있음). 예측된 단어와 실제 단어 사이에 완벽한 서신이 없는 것은 아니지만, 대략적인 서신과 예측된 하위 문장이 적어도 문법적인 의미를 갖는다는 것을 알 수 있습니다. 그래서 결국 그렇게 나쁘지 않습니다. 그러나 이 사실적이고 큰 텍스트 모음에서 잘 수행할 수 있는 Keras LSTM 네트워크를 교육하려면 더 많은 교육과 최적화가 필요합니다.

난 당신이 원하는 경우 더 실험, 독자, 당신에게 그것을 떠날 것이다. 그러나 현재 코드는 LSTM 네트워크 뒤에 있는 이론에 대한 이해와 함께 Keras LSTM 네트워크를 구축하는 방법을 이해하기에 충분합니다. 안녕하세요 데이터에 원시 예제를 실행할 때 발견, 학습 데이터는 실제 플롯의 오른쪽으로 이동 하는 것 같고 첫 번째 예제에서 그래프와 동일 하지, 왜 이것 수 있을까? 어떤 버전의 파이썬 라이브러리를 사용하고 있습니까? 케라스? sklearn? 팬더? 이 명령에서는 Keras가 모델을 학습하는 데 사용해야 하는 손실 유형을 지정해야 합니다. 이 경우, 우리는 `카테고리_crossentropy`를 사용하고 있습니다 교차 엔트로피는 많은 클래스 또는 범주가있는 경우 적용, 그 중 하나만 사실이다. 다음으로, 이 예제에서는 적응형 스테핑을 사용하는 효과적인 “올 라운드” 최적화 프로그램인 Adam optimizer가 사용될 최적화 프로그램입니다. 마지막으로 메트릭이 지정됩니다. 위의 다이어그램에서 볼 수 있듯이 return_sequences=False – $h_t$ 때 출력이 하나만 있습니다. 그러나 return_sequences=TrueLSTM 셀의 모든 롤링되지 않은 출력이 $h_0으로 반환됩니다. h_t$.

이 경우 후자의 배열을 원합니다. 왜? 이 예제에서는 시퀀스의 바로 다음 단어를 예측하려고 합니다. 그러나 모델을 학습하려는 경우 각 단계의 LSTM 셀 출력을 시퀀스의 바로 다음 단어와 비교할 수 있는 것이 가장 좋습니다. 각 샘플을 채취한다. RNN에 공급되는 기능 의 수 보다 낮은 뉴런 수를 줄이면 모델은 뉴런 번호가 허용하는 한 많은 기능을 사용합니까? 예를 들어 10개의 피처가 있지만 초기 레이어에 5개의 뉴런만 있는 모델을 정의하는 경우 모델은 FIRST 5 피처만 사용합니까? 나는 하나의 질문이 있습니다.

Comments are closed.