Siamese LSTM
1.0.0
질문 쌍 사이의 의미 론적 유사성을 감지하기 위해 MALSTM 모델 (맨해튼 거리가있는 Siamese Networks + LSTM)을 사용합니다. 사용 된 교육 데이터 세트는 원래 Quora 질문 쌍 데이터 세트 (~ 363k 쌍)의 하위 집합입니다.
원래 논문 (PDF)과 우수한 중간 기사를 기반으로 한 Keras 구현입니다.
Kaggle의 test.csv 너무 커서 상위 20 개의 질문 만 추출하고 test-20.csv 라는 파일을 만들었으며 predict.py 에 사용됩니다.
모든 데이터 파일을 ./data 디렉토리에 넣어야합니다.
$ python3 train.py
위에서 언급 한 test-20.csv 파일을 사용합니다.
$ python3 predict.py
나는 LSTM 셀의 숨겨진 상태 수, LSTM 셀의 활성화 기능 및 반복 된 에포크와 같은 다양한 매개 변수로 시도했습니다. 나는 훈련에 nvidia tesla p40 gpu x 2를 사용했으며 10% 데이터를 검증 세트 (배치 크기 = 1024*2)로 사용했습니다. 결과적으로 약 10 분 후에 50 개의 에포크 후 약 82.29% 정확도에 도달했습니다.
Epoch 50/50
363861/363861 [==============================] - 12s 33us/step - loss: 0.1172 - acc: 0.8486 - val_loss: 0.1315 - val_acc: 0.8229
Training time finished.
50 epochs in 601.24