มันถูกใช้ด้วยเหตุผลหลายประการโดยทั่วไปมันถูกใช้เพื่อเข้าร่วมหลายเครือข่ายด้วยกัน ตัวอย่างที่ดีคือที่ที่คุณมีอินพุตสองประเภทเช่นแท็กและรูปภาพ คุณสามารถสร้างเครือข่ายที่มีตัวอย่างเช่น:
IMAGE -> Conv -> Max Pooling -> Conv -> Max Pooling -> หนาแน่น
TAG -> การฝัง -> เลเยอร์หนาแน่น
หากต้องการรวมเครือข่ายเหล่านี้เข้าด้วยกันเป็นหนึ่งคำทำนายและฝึกฝนพวกมันเข้าด้วยกันคุณสามารถรวมเลเยอร์หนาแน่นเหล่านี้ก่อนการจำแนกขั้นสุดท้าย
เครือข่ายที่คุณมีอินพุตหลายอินพุทเป็นการใช้ที่ 'ชัดเจนที่สุด' นี่คือรูปภาพที่รวมคำกับรูปภาพภายใน RNN ส่วน Multimodal เป็นที่รวมอินพุตทั้งสองเข้าด้วยกัน:
อีกตัวอย่างหนึ่งคือเลเยอร์ Inception ของ Google ซึ่งคุณมีความมั่นใจที่แตกต่างกันซึ่งจะถูกรวมเข้าด้วยกันก่อนที่จะเข้าสู่เลเยอร์ถัดไป
หากต้องการป้อนหลายอินพุตไปยัง Keras คุณสามารถส่งรายการอาร์เรย์ได้ ในตัวอย่างคำ / รูปภาพคุณจะมีสองรายการ:
x_input_image = [image1, image2, image3]
x_input_word = ['Feline', 'Dog', 'TV']
y_output = [1, 0, 0]
จากนั้นคุณสามารถใส่ดังนี้:
model.fit(x=[x_input_image, x_input_word], y=y_output]