Konsep perhatian terkenal dalam model seq2seq terjemahan mesin saraf. Jumlah maklumat yang dihantar daripada pengekod kepada penyahkod adalah terhad, mengehadkan prestasi model. Walau bagaimanapun, pengenalan perhatian boleh mengatasi kesesakan ini dan membolehkan model mengendalikan ayat panjang dan semantik kompleks dengan lebih baik.
Ringkasnya, model menggunakan semua keadaan tersembunyi pengekod semasa peringkat penyahkodan dan menyuapkan keadaan tersembunyi terakhir kepada penyahkod sebagai keadaan tersembunyi awal. Faedahnya ialah model ini dapat menggunakan lebih banyak maklumat semasa penyahkodan dan dapat "memberi perhatian" kepada bahagian jujukan input yang paling relevan, membuat ramalan yang lebih tepat apabila menjana bahagian jujukan output yang berlainan.
Walaupun mekanisme perhatian berbeza dalam seni bina dan butiran pelaksanaan yang berbeza, ia juga mempunyai beberapa persamaan. Sebagai contoh, pertimbangkan senario di mana kita ingin membuat ramalan menggunakan rangkaian saraf dengan seni bina tertentu. Dalam kes ini, kami mendapat vektor yang mengandungi beberapa maklumat yang dikodkan. Kita boleh menggunakan vektor ini untuk ramalan, seperti memasukkannya ke dalam lapisan yang disambungkan sepenuhnya, dan kemudian memprosesnya melalui lapisan softmax. Walaupun langkah pemprosesan tertentu mungkin berbeza-beza, idea asas adalah serupa merentas seni bina yang berbeza.
Namun, keputusan ramalannya ternyata tidak memuaskan. Mungkin terdapat banyak sebab, berikut adalah idea yang mungkin:
1. Vektor yang digunakan ini tidak mengandungi semua maklumat yang berguna untuk mencapai ramalan yang baik.
Selalunya, maklumat yang diperlukan untuk membuat ramalan yang baik tersebar merentasi banyak vektor, seperti dalam kes tugasan NLP, di mana terdapat jujukan vektor yang dikodkan oleh penanda. Walaupun semua maklumat yang diedarkan telah diambil kira, beberapa maklumat pasti akan hilang kerana ia mengalir lebih dalam dalam rangkaian saraf.
2. Apa yang berguna bukan sahaja maklumat individu yang terkandung dalam vektor ini, tetapi juga hubungannya dengan vektor semasa.
Vektor semasa mungkin perlu berinteraksi dan berkomunikasi dengan vektor lain dan membantu menentukan maklumat yang perlu dihantar. Oleh itu, cara yang lebih bijak diperlukan untuk menggabungkan semua vektor yang berpotensi berguna yang anda miliki dan membenarkan model mempelajari perkara yang perlu diberi perhatian untuk membuat ramalan yang lebih baik.
Selepas mempertimbangkan kedua-dua perkara ini, anggap bahawa kini terdapat vektor sedemikian dan vektor lain yang layak.
Dalam rangka kerja ini terima pertanyaan dan biarkan ia berinteraksi dengan kunci satu demi satu:
1 Interaksi khusus antara pertanyaan dan setiap kunci, ia boleh menjadi gabungan produk dalaman atau tambahan atau bergabung dan suapan ke Small rangkaian saraf, dsb. Setiap kunci pertanyaan yang berbeza diproses menggunakan operasi yang sama dengan parameter yang sama dilatih daripada perambatan balik. Tambahan pula, adalah dikehendaki bahawa output akhir selepas operasi ini adalah satu nilai. Nilai keluaran ini dipanggil tenaga. Selepas mengulangi proses ini pada pertanyaan dan semua vektor utama, satu siri tenaga akan diperolehi.
2 Gunakan lapisan softmax untuk menormalkan semua tenaga.
3 Lakukan penjumlahan wajaran bagi vektor nilai, dan berat ialah tenaga ternormal. Ini menghasilkan vektor konteks dengan dimensi yang sama seperti vektor nilai yang mengandungi maklumat tentang semua elemen digabungkan dengan cara yang bijak.
4. Vektor konteks dan vektor pertanyaan boleh digunakan bersama untuk membuat ramalan, mis.
Di atas ialah proses rangka kerja umum perhatian Mari kita lihat bagaimana rangka kerja ini digunakan untuk tugasan yang berbeza.
Tugas jenis analisis sentimen ialah tugas klasifikasi di mana input adalah sekeping teks dan output ialah label yang sepadan dengan salah satu emosi yang mungkin. Sebelum teks dimasukkan ke dalam rangkaian saraf, ia perlu dibersihkan, diformatkan, ditandakan dan ditukar kepada satu siri indeks berasaskan perbendaharaan kata. Walaupun ini bukan seq2seq tetapi seq2one, mekanisme perhatian masih terpakai dan membantu meningkatkan prestasi.
Rangkaian berasaskan LSTM satu arah atau dua hala biasa boleh digunakan untuk melaksanakan tugas ini. Dalam kes ini, hanya keadaan tersembunyi terakhir lapisan terakhir (satu arah) atau dua keadaan tersembunyi terakhir (dua arah, satu dari hadapan dan satu dari belakang) digunakan untuk ramalan dengan menghantar ke kepala pengelasan, cth. lapisan bersambung sepenuhnya dan softmax . Maklumat terhad yang dibawa hanya oleh keadaan tersembunyi terakhir menetapkan kesesakan untuk prestasi model.
Terjemahan tarikh ialah contoh tugasan seq2seq peringkat aksara. Matlamat tugas ini adalah untuk mengambil tarikh yang boleh dibaca manusia sebagai input, seperti "27 Disember 2022", dan mengeluarkan tarikh boleh dibaca mesin yang mewakili tarikh yang sama dengan input, seperti "2022-12-27".
Model berasaskan perhatian mempunyai blok perhatian sebelum unit LSTM dalam penyahkod. Pada setiap langkah gelung, vektor konteks output blok perhatian dan output langkah terakhir digabungkan dan kemudian disalurkan ke unit LSTM. Satu lagi pelaksanaan perhatian adalah untuk menggabungkan blok perhatian dengan vektor output langkah semasa selepas unit LSTM dan vektor konteks output, yang kemudiannya disalurkan ke lapisan bersambung sepenuhnya untuk meramalkan token seterusnya. Blok perhatian di sini mengikuti rangka kerja umum, vektor kunci dan nilai adalah set vektor yang sama, iaitu keadaan tersembunyi lapisan terakhir pengekod, dan interaksi antara pertanyaan dan setiap kunci ialah rangkaian saraf kecil.
Dalam peringkat penyahkodan, LSTM sehala meramalkan satu token pada satu masa, jadi input untuk setiap langkah mempunyai dua pilihan: token yang diramalkan oleh langkah semasa daripada output langkah sebelumnya atau kebenaran asas. Di sini hiperparameter boleh ditakrifkan untuk mengawal peratusan token input yang digunakan semasa latihan adalah kebenaran asas dan boleh dicuba untuk mengoptimumkan prestasi model.
Atas ialah kandungan terperinci Aplikasi mekanisme perhatian dalam NLP dalam pemprosesan bahasa semula jadi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!