ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΏΡΠ΅Π²ΠΎΠ΄ OpenNMT 0.28.0 (Open Neural Machine Translation), ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π΅Π²ΡΠΎΠ½Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ TensorFlow. ΠΠΎΠ΄ΡΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenNMT, Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ, Π½Π΅ΠΌΡΠΊΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ½ΡΠΊΠΈ Π΅Π·ΠΈΡΠΈ; Π·Π° Π΄ΡΡΠ³ΠΈ Π΅Π·ΠΈΡΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΎΠ΄Π΅Π» Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° OPUS (Π·Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° - Π΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΠΈΠ·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ Π΅Π·ΠΈΠΊ, Π° Π²ΡΠΎΡΠΈΡΡ Ρ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΠ΅Π·ΠΈ ΠΈΠ·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ Π΅Π·ΠΈΠΊ).
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° SYSTRAN, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΏΡΠ΅Π²ΠΎΠ΄, ΠΈ Π³ΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π₯Π°ΡΠ²Π°ΡΠ΄, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΎΠΏΡΠΎΡΡΠ΅Π½ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅Π½ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ°ΠΉΠ» Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΠΏΡΠ΅Π²ΠΎΠ΄Π°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° OpenNMT, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°Π½Π΅, ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ±ΡΠΈΡΡΠΈ.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° TensorFlow Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ (Π·Π° Π΄Π° ΡΡΠΊΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π²ΡΠΎΠ½Π½Π° ΠΌΡΠ΅ΠΆΠ°. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΎΡΡΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΈ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΡΡΠ½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠ΅Π²ΠΎΠ΄Π°ΡΠ° Π² C++ - CTranslate2 , ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠ° ΠΊΡΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° initial_learning_rate ΠΈ ΠΏΡΠΈΠ»Π°Π³Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° (mha_bias ΠΈ output_layer_bias) Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° Transformer. ΠΡΡΠ°Π½Π°Π»ΠΎΡΠΎ Π΅ Π±Π΅Π»ΡΠ·Π°Π½ΠΎ Ρ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru