Saya melatih jaringan saraf convolutional untuk mengklasifikasikan gambar pada kondisi kabut (3 kelas). Namun, untuk masing-masing sekitar 150.000 gambar saya juga memiliki empat variabel meteorologis yang tersedia yang dapat membantu dalam memprediksi kelas-kelas gambar. Saya bertanya-tanya bagaimana saya bisa menambahkan variabel meteorologi (misalnya suhu, kecepatan angin) ke struktur CNN yang ada sehingga dapat membantu dalam klasifikasi.
Salah satu cara yang sudah bisa saya pikirkan adalah membuat jaring neural feedforward (kecil) yang lain di samping CNN dan kemudian menggabungkan output dari lapisan CNN dan lapisan tersembunyi dari jaring neural non-gambar satu sama lain di lapisan padat.
Cara kedua yang bisa saya pikirkan adalah hanya menghubungi fitur-fitur ini ke lapisan padat. Namun, dalam hal ini, variabel non-gambar akan (saya pikir) hanya dapat membuat prediksi linier.
Apakah ada cara lain (lebih baik) agar fitur-fitur non-gambar dapat dimasukkan dalam model? Dan apa yang akan menjadi metode yang disarankan mengingat jumlah data yang saya miliki?
Pertanyaan lain yang saya miliki adalah apakah saya harus mencairkan lapisan convolutional sambil berlatih dengan fitur-fitur non-gambar ini? Lapisan-lapisan Resnet-18 (yang diinisialisasi sebagai pra-dilatih di ImageNet) telah disesuaikan dengan menggunakan gambar. Dugaan saya adalah bahwa saya harus menjaga mereka tetap beku dan hanya mencairkan lapisan padat karena hanya di sini fitur non-gambar masuk ke 'kontak' dengan fitur-fitur gambar (tidak lebih awal di CNN). Jika saya salah dalam hal ini, katakan saja!
Jawaban:
Solusi saya adalah seperti rekomendasi pertama Anda, tetapi dengan sedikit perubahan.
Anda dapat menggunakan fungsi biaya adat untuk arsitektur ini.
sumber
Concatenate()
layer?Concatenate()
atauconcatenate()
lapisan? Saya tidak tahu bedanya