Ini digunakan karena beberapa alasan, pada dasarnya itu digunakan untuk bergabung dengan beberapa jaringan bersama. Contoh yang baik adalah ketika Anda memiliki dua jenis input, misalnya tag dan gambar. Anda dapat membangun jaringan yang misalnya memiliki:
IMAGE -> Conv -> Max Pooling -> Conv -> Max Pooling -> Dense
TAG -> Embedding -> Lapisan padat
Untuk menggabungkan jaringan-jaringan ini menjadi satu prediksi dan melatihnya bersama, Anda bisa menggabungkan lapisan-lapisan padat ini sebelum klasifikasi akhir.
Jaringan di mana Anda memiliki banyak input adalah penggunaannya yang paling 'jelas', di sini adalah gambar yang menggabungkan kata-kata dengan gambar di dalam RNN, bagian Multimodal adalah tempat dua input digabungkan:
Contoh lain adalah lapisan Inception Google di mana Anda memiliki konvolusi berbeda yang ditambahkan kembali bersama sebelum sampai ke lapisan berikutnya.
Untuk mengumpankan beberapa input ke Keras, Anda dapat melewati daftar array. Dalam contoh kata / gambar Anda akan memiliki dua daftar:
x_input_image = [image1, image2, image3]
x_input_word = ['Feline', 'Dog', 'TV']
y_output = [1, 0, 0]
Maka Anda bisa masuk sebagai berikut:
model.fit(x=[x_input_image, x_input_word], y=y_output]