Misalkan kita sekarang menggunakan model bahasa tradisional untuk melakukan tugas prediksi sederhana, ada kalimat seperti itu:
CoreReading adalah akun publik yang sangat baik dengan banyak informasi berguna.Saya sering mencari informasi dan memperoleh pengetahuan di ___.Jika kita menggunakan model n-gram untuk memprediksi isi spasi, misalnya 2 gram, model akan memberikan kata dengan probabilitas kemunculan tertinggi setelah "setelah". Meskipun menurut pendapat kami, "pembacaan inti" adalah opsi dengan probabilitas tinggi, setelah melatih banyak data, probabilitas "pembacaan inti" yang muncul di belakang "dalam" pasti sangat rendah, karena biasanya kami mengatakan " Kata-kata umum seperti "di rumah". Tentu saja, kami dapat terus memperluas cakupan model hingga kami melihat nama teknologi pembacaan inti di artikel sebelumnya, tetapi gagasan ini tidak layak dalam praktiknya. Semakin besar N, semakin panjang rantai Markov dan data yang jarang. Serius, sulit untuk menghitungnya, dan yang lebih penting, kita perlu menyetel N ini ke nilai tetap, sehingga kita tidak bisa menangani kalimat dengan panjang sembarang.
Jaringan dengan struktur berulang dapat disebut jaringan saraf berulang. RNN dapat menyelesaikan masalah ini dengan sangat efektif. Dari teori sederhana, RNN dapat menangani urutan dengan panjang berapa pun dan tidak perlu memperbaiki N sebelumnya. Hidup, lebih fleksibel.
Jaringan saraf konvolusional juga dapat menangani masalah deret waktu, terutama ketika kita peduli tentang apakah fitur tertentu muncul, daripada lokasi spesifiknya, CNN memiliki keunggulan tertentu. Tetapi ketika berhadapan dengan data natural language, seperti pada masalah klasifikasi sentimen, kita membagi teks menjadi positif dan negatif, CNN dapat memproses kemunculan kata-kata tertentu, seperti "like" dan "beauty". , Jika kalimat seperti itu:
Bukannya saya tidak suka film ini, film ini tidak bisa dikatakan tidak cantik, tapi ...Kita dapat segera mengetahui bahwa evaluasi ini adalah evaluasi negatif. Jadi jika hanya fitur yang diekstrak dan hubungan antar kata diabaikan, CNN mungkin menemukan bahwa teks tersebut memiliki "suka" dan mengklasifikasikannya sebagai positif, melihat "tidak suka" dan mengklasifikasikannya sebagai negatif, lalu melihat "bukan tidak Jelas tidak masuk akal untuk mengklasifikasikannya sebagai positif lagi. Saat ini, kita perlu menggunakan model bahasa untuk memahami arti kalimat ini.
Memahami jaringan saraf berulangIkon RNN yang sering kita temui pada materi pembelajaran:
Gambar ini tidak bersahabat untuk pemula, dan sangat mudah untuk menyebabkan lebih banyak kesalahpahaman, meskipun kita dapat melihat ketergantungan deret waktu darinya, panah penyebaran ditambahkan dari st-1 ke st untuk menunjukkan bahwa ada informasi Dari neuron depan mengalir langsung ke neuron belakang, tetapi ada lebih banyak masalah yang tidak dapat dijelaskan oleh gambar ini kepada kita, seperti:
- Apakah datanya masuk pada waktu yang sama?
- Pada awalnya, apakah unit pertama juga akan menerima masukan dari neuron sebelumnya? Jika ya, neuron pertama tidak memiliki neuron sebelumnya, dari mana masukan ini berasal?
- Mengapa matriks bobot W disebarkan dalam unit tersembunyi dari lapisan yang sama, matriks bobot U dimasukkan ke lapisan tersembunyi, dan matriks bobot V dari lapisan tersembunyi ke keluaran, sama?
Meskipun gambar di atas adalah diagram yang banyak digunakan, pada kenyataannya, cara untuk lebih memahami struktur loop tidaklah demikian.
Untuk lebih membantu semua orang memahami struktur lingkaran, saya menggambar beberapa sketsa. Bayangkan jaringan neural feedforward sederhana dengan hanya satu neuron di input, output, dan lapisan tersembunyi, seperti yang ditunjukkan pada gambar di bawah. Lingkaran di sini tidak memiliki makna abstrak, lingkaran adalah neuron:
Saat kami memasukkan titik data pertama dari deret waktu, kami menyimpan nilai lapisan tersembunyi saat ini di unit memori. Unit memori ini bukanlah entitas, tetapi struktur yang digunakan untuk mengakses hal-hal:
Fungsi unit memori yang kami simpan mengakses fitur X1. Saat kami memasukkan titik data kedua dari deret waktu, kami harus mencatat bahwa struktur jaringan tetap tidak berubah, tetapi kami juga memasukkan informasi dalam memori ke yang tersembunyi Di lapisan, ini setara dengan lapisan tersembunyi dari titik data kedua menerima data dan karakteristik titik data pertama untuk keluaran, dan pada saat yang sama mengembalikan informasi dari lapisan tersembunyi saat ini ke memori, dan menyimpannya lagi:
Ketika titik data ketiga dimasukkan, operasi unit memori adalah informasi yang diperoleh pada langkah sebelumnya, dan informasi yang diperoleh disimpan untuk masukan pada langkah waktu berikutnya:
Jika kita lanjutkan dengan cara ini, kita mendapatkan struktur yang mirip dengan gambar yang disukai semua orang.Untuk mengekspresikan pengaruh informasi sebelumnya pada saat ini, kita menggunakan matriks bobot W untuk membuat parameter unit memori saat memasukkan unit memori, lalu satu Satu korespondensi menjadi:
Di sini, kita memahami setiap lingkaran sebagai neuron, tetapi jika kita memahami lingkaran sebagai lapisan neuron, yaitu, kita mengabstraksikannya menjadi sebuah struktur, masukan, lapisan tersembunyi, dan keluaran semuanya multi-dimensi, dan Perbanyak sesuai waktu, Anda akan mendapatkan:
Atas dasar ini, kami menjelaskan masalah di atas:
- Apakah datanya masuk pada waktu yang sama?
- Jelas tidak Data dimasukkan secara berurutan Ketika berurusan dengan data serial, kami sering menggunakan jendela geser untuk menyesuaikan struktur yang berbeda.
- Pada awalnya, apakah unit pertama juga akan menerima masukan dari neuron sebelumnya? Jika ya, tetapi neuron pertama tidak memiliki neuron sebelumnya, dari mana masukan ini berasal?
- Ketika kita memasuki titik data pertama, kita perlu mengatur nilai awal untuk unit memori, nilai awal ini dapat digunakan sebagai parameter, atau dapat diatur ke nol, yang berarti tidak ada informasi sebelumnya.
- Mengapa matriks bobot W disebarkan dalam unit tersembunyi dari lapisan yang sama, matriks bobot U dimasukkan ke lapisan tersembunyi, dan matriks bobot V dari lapisan tersembunyi ke keluaran, sama?
- Ini adalah pertanyaan yang sangat penting, dan juga pengetahuan yang tidak dapat kita simpulkan dari grafik. Mengurangi jumlah parameter secara drastis merupakan alasan, tetapi tidak penting. Kami tidak mempertimbangkan matriks W terlebih dahulu, dan hanya mempertimbangkan jaringan saraf biasa, karena data yang berbeda dalam urutan semuanya menggunakan jaringan saraf yang sama. CNN menggunakan kernel konvolusi berbagi parameter untuk mengekstrak fitur yang sama. Di RNN, berbagi parameter U dan V digunakan untuk memastikan bahwa masukan yang sama menghasilkan keluaran yang sama. Misalnya, sejumlah besar "anjing" mungkin muncul di bagian teks. , Berbagi parameter membuat jaringan saraf menghasilkan lapisan dan keluaran tersembunyi yang sama saat "anjing" dimasukkan.
- Pada saat ini, kita membahas matriks W. Matriks berbagi-parameter W memastikan bahwa untuk hal yang sama di atas, dihasilkan berikut ini.
Dalam proses pelatihan jaringan syaraf tiruan tidak hanya membutuhkan propagasi balik di ruang angkasa, tetapi juga membutuhkan inversi dalam langkah waktu. Masalah ketergantungan jangka panjang yang ditimbulkan oleh hal ini menyulitkan pengoptimalan. Kami akan memperkenalkan panjang dan waktu singkat pada bagian selanjutnya. Unit memori (LSTM) untuk mendapatkan kinerja RNN yang lebih baik.
- Model MPV pertama Hanteng, Hanteng V7, mulai pra-penjualan nasional, harga pra-penjualan RMB 95.800 hingga RMB 135.800
- Lincoln Aviator secara resmi memulai debutnya di Shanghai Auto Show, pilot kecil "dibangkitkan" lagi