Nó được sử dụng vì nhiều lý do, về cơ bản, nó được sử dụng để kết nối nhiều mạng với nhau. Một ví dụ điển hình là nơi bạn có hai loại đầu vào, ví dụ thẻ và hình ảnh. Bạn có thể xây dựng một mạng mà ví dụ:
HÌNH ẢNH -> Chuyển đổi -> Tối đa hóa -> Chuyển đổi -> Tối đa hóa -> Mật độ dày đặc
TAG -> Nhúng -> Lớp dày đặc
Để kết hợp các mạng này thành một dự đoán và huấn luyện chúng lại với nhau, bạn có thể hợp nhất các lớp Mật độ này trước khi phân loại cuối cùng.
Các mạng nơi bạn có nhiều đầu vào là cách sử dụng chúng rõ ràng nhất, đây là hình ảnh kết hợp các từ với hình ảnh bên trong RNN, phần Đa phương thức là nơi hai đầu vào được hợp nhất:
Một ví dụ khác là lớp Inception của Google nơi bạn có các kết cấu khác nhau được thêm lại với nhau trước khi đến lớp tiếp theo.
Để cung cấp nhiều đầu vào cho Keras, bạn có thể chuyển một danh sách các mảng. Trong ví dụ từ / hình ảnh, bạn sẽ có hai danh sách:
x_input_image = [image1, image2, image3]
x_input_word = ['Feline', 'Dog', 'TV']
y_output = [1, 0, 0]
Sau đó, bạn có thể phù hợp như sau:
model.fit(x=[x_input_image, x_input_word], y=y_output]