Jest używany z kilku powodów, w zasadzie służy do łączenia wielu sieci razem. Dobrym przykładem mogą być dwa typy danych wejściowych, na przykład tagi i obraz. Możesz zbudować sieć, która na przykład ma:
OBRAZ -> Konw. -> Maksymalne zbieranie -> Konw. -> Maksymalne zbieranie -> Gęsty
TAG -> Osadzanie -> Gęsta warstwa
Aby połączyć te sieci w jedną prognozę i trenować je razem, możesz scalić te Gęste warstwy przed ostateczną klasyfikacją.
Sieci, w których masz wiele danych wejściowych, są najbardziej „oczywistym” zastosowaniem, oto zdjęcie, które łączy słowa z obrazami wewnątrz RNN, część Multimodalna polega na połączeniu dwóch danych wejściowych:
Innym przykładem jest warstwa początkowa Google, w której masz różne sploty, które są dodawane z powrotem przed przejściem do następnej warstwy.
Aby podać wiele danych wejściowych do Keras, możesz przekazać listę tablic. W przykładzie słowo / obraz masz dwie listy:
x_input_image = [image1, image2, image3]
x_input_word = ['Feline', 'Dog', 'TV']
y_output = [1, 0, 0]
Następnie możesz dopasować w następujący sposób:
model.fit(x=[x_input_image, x_input_word], y=y_output]
model.fit()
przyjmuje zarówno X jak i Y dla dopasowania,model
w tym przypadku może to być również model „niepołączony”. Na przykład prawie jak inne typy modeli w Sklearn.