Apa itu Layer Konvolusional 1D dalam Pembelajaran Jauh?

13

Saya memiliki pemahaman umum yang baik tentang peran dan mekanisme lapisan konvolusional dalam Pembelajaran Jauh untuk pemrosesan gambar dalam kasus implementasi 2D atau 3D - mereka "hanya" mencoba menangkap pola 2D dalam gambar (dalam 3 saluran dalam kasus 3D).

Tetapi baru-baru ini saya bertemu lapisan konvolusional 1D dalam konteks Natural Language Processing, yang merupakan kejutan bagi saya, karena dalam pemahaman saya konvolusi 2D terutama digunakan untuk menangkap pola 2D yang tidak mungkin diungkapkan dalam bentuk 1D (vektor) piksel gambar. Apa logika di balik konvolusi 1D?

Hendrik
sumber

Jawaban:

16

Singkatnya, tidak ada yang istimewa tentang jumlah dimensi untuk konvolusi. Dimensi konvolusi apa pun dapat dipertimbangkan, jika cocok dengan masalah.

Jumlah dimensi adalah properti dari masalah yang sedang dipecahkan. Misalnya, 1D untuk sinyal audio, 2D untuk gambar, 3D untuk film. . .

Mengabaikan jumlah dimensi secara singkat, berikut ini dapat dianggap kekuatan dari jaringan saraf convolutional (CNN), dibandingkan dengan model yang sepenuhnya terhubung, ketika berhadapan dengan tipe data tertentu:

  1. Penggunaan bobot bersama untuk setiap lokasi yang proses konvolusi secara signifikan mengurangi jumlah parameter yang perlu dipelajari, dibandingkan dengan data yang sama yang diproses melalui jaringan yang terhubung penuh.

  2. Bobot bersama adalah bentuk regularisasi.

  3. Struktur model convolutional membuat asumsi kuat tentang hubungan lokal dalam data, yang ketika benar membuatnya cocok dengan masalah.

    3.1 Pola lokal memberikan data prediksi yang baik (dan / atau dapat dikombinasikan dengan pola prediksi yang lebih kompleks di lapisan yang lebih tinggi)

    3.2 Jenis pola yang ditemukan dalam data dapat ditemukan di banyak tempat. Menemukan pola yang sama di set titik data yang berbeda adalah bermakna.

Properti CNN ini tidak tergantung pada jumlah dimensi. CNN satu dimensi bekerja dengan pola dalam satu dimensi, dan cenderung berguna dalam analisis sinyal dibandingkan sinyal panjang tetap. Mereka bekerja dengan baik untuk analisis sinyal audio, misalnya. Juga untuk beberapa pemrosesan bahasa alami - meskipun jaringan saraf berulang, yang memungkinkan untuk panjang urutan yang berbeda, mungkin lebih cocok di sana, terutama yang dengan pengaturan gerbang memori seperti LSTM atau GRU. Masih CNN bisa lebih mudah dikelola, dan Anda bisa menempelkan input agar panjangnya tetap.

Neil Slater
sumber
Apakah 2D hanya untuk gambar skala abu-abu? Apa yang terjadi ketika Anda memperkenalkan RGB?
Mohammad Athar
1
@MohammadAthar: RGB direpresentasikan sebagai saluran (atau peta fitur ) dari informasi 2D yang terpisah, dan biasanya dianggap 2D juga ketika menggambarkan lapisan CNN. Jika Anda menggunakan TensorFlow atau Keras, Anda pasti akan menggunakan definisi layer Conv2D untuk menangani gambar berwarna. Namun, implementasi akan sering memiliki struktur 3D dan 4D secara internal untuk menyimpan bobot. . . dan konvolusi 2D di berbagai saluran secara efektif merupakan kasus khusus konvolusi 3D secara matematis (di mana dimensi input dan kernel harus cocok dengan lapisan terakhir). Jadi ini adalah konvensi penamaan sebanyak apapun.
Neil Slater