Это реализация Pytorch модели Transformer в «Внимание - это все, что вам нужно» (Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Arxiv, 2017).
В новой последовательности в рамках последовательности используется механизм самоуправления , вместо операции свертки или повторяющейся структуры, и достигайте современной производительности в задаче перевода на английский на герман WMT 2014 . (2017/06/12)
Официальной реализации TensorFlow можно найти в: Tensorflow/Tensor2tensor.
Чтобы узнать больше о механизме самосознания, вы могли бы прочитать «структурированное самообладающее предложение».
Обучение и перевод проекта поддержки и перевод с обученной моделью сейчас.
Обратите внимание, что этот проект все еще находится в стадии разработки.
Детали, связанные с BPE, еще не полностью протестированы.
Если есть какие -либо предложения или ошибки, не стесняйтесь увольнять проблему, чтобы сообщить мне. :)
Пример обучения для задачи мультимодального перевода WMT'16 (http://www.statmt.org/wmt16/multimodal-task.html).
# conda install -c conda-forge spacy
python -m spacy download en
python -m spacy download depython preprocess.py -lang_src de -lang_trg en -share_vocab -save_data m30k_deen_shr.pklpython train.py -data_pkl m30k_deen_shr.pkl -log m30k_deen_shr -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400python translate.py -data_pkl m30k_deen_shr.pkl -model trained.chkpt -output prediction.txtПоскольку интерфейсы не объединены, вам необходимо переключить основной вызов функции с
main_wo_bpeнаmain.
python preprocess.py -raw_dir /tmp/raw_deen -data_dir ./bpe_deen -save_data bpe_vocab.pkl -codes codes.txt -prefix deenpython train.py -data_pkl ./bpe_deen/bpe_vocab.pkl -train_path ./bpe_deen/deen-train -val_path ./bpe_deen/deen-val -log deen_bpe -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400