Bagaimana menangani perubahan panjang vektor input dengan jaringan saraf

9

Saya ingin melatih jaringan saraf dengan urutan karakter sebagai vektor input. Contoh pembelajaran memiliki panjang yang berbeda dan untuk alasan ini saya tidak tahu bagaimana cara mewakili mereka.

Katakanlah saya memiliki dua contoh urutan, di sini nama:

john doe
maurice delanoe

Contoh pertama adalah panjang 8, kedua panjang 15.

Apakah ada cara untuk mempelajari kedua contoh ini? Berarti menggunakan kedua vektor input ukuran 8 dan 15 dalam sistem pembelajaran yang sama.

Terima kasih atas bantuan Anda !

mazieres
sumber

Jawaban:

4

Ada tiga strategi umum yang dapat saya pikirkan untuk NN dengan ukuran input yang bervariasi:

  1. Memproses ulang input untuk menyimpan ukuran yang sama. Misalnya, orang sering mengubah ukuran gambar (mengabaikan rasio aspek) ke resolusi kuadrat standar untuk NN. Dalam kasus bahasa, Anda dapat mengubah semua kata menjadi representasi simbolis (mis. "John" = 1, "james" = 2, "maurice" = 3, "kelly" = 4, "doe" = 5) jika itu masuk akal dalam aplikasi Anda.
  2. Gunakan jendela geser. Jaringan dapat melihat bagian ukuran tetap dari input, dan kemudian Anda menggeser jendela dengan langkah tetap dan menjalankannya lagi (dari awal), ulangi sampai Anda mencapai akhirnya, dan kemudian gabungkan semua output dengan beberapa cara.
  3. Sama seperti # 2, tetapi menggunakan jaringan saraf berulang sehingga jaringan memiliki beberapa keadaan internal yang membawa di antara setiap langkah. Ini adalah bagaimana NNs memproses audio ucapan, misalnya. Jelas ini adalah perubahan arsitektur yang lebih dramatis daripada opsi lain, tetapi untuk banyak tugas bahasa ini mungkin diperlukan (jika Anda memiliki input panjang dan perlu menggabungkan informasi lintas string dengan cara yang rumit).
Chris
sumber