¿Existe una manera matemáticamente definida de fusionar dos redes neuronales en una sola de dimensiones iguales?

Supongo que “Y1 + Y2” significa una salida Y con el doble de unidades, no que las unidades Y1 e Y2 se agreguen literalmente entre sí.

Suponga que las matrices de peso originales son A y B, donde A asigna X a las unidades ocultas H y B asigna las unidades ocultas a Y. Entonces, la red completa es X – (A) -> H – (B) -> Y, donde “- (A) ->” es un intento de dibujar una flecha “->” con la etiqueta de matriz de peso A superpuesta. O para la red n. ° 1, X1 – (A1) -> H1 – (B1) -> Y1.

La matriz de peso combinada podría definirse como pesos para mapear X en unidades ocultas H1 y H2, y luego pesos para mapear H1 en Y1 y H2 en Y2, donde la salida final Y es la concatenación de los vectores Y1 e Y2.

La red (donde “;” significa concatenación vertical de los vectores o matrices):

X = X
H = [H1; H2]
Y = [Y1; Y2]

Los pesos:

A = [A1; A2]
B = [B1 0; 0 B2]

La única parte difícil es la segunda matriz de peso B, donde todos los pesos H1 se ignoran al calcular Y2 y todos los pesos H2 se ignoran al calcular Y1 (de ahí los ceros en la matriz).

Tenga en cuenta que una vez que se inicia el entrenamiento en la nueva red, las unidades ocultas de H1 y H2 comenzarán a mezclarse y “trabajarán juntas” para mapear X en Y. Como resultado, los ceros en B no permanecerán cero por mucho tiempo.

Puede, pero no creo que gane nada a menos que combine dos entrenados en el mismo conjunto de entrenamiento y use sus resultados para el consenso.

Por supuesto, si realizan tareas bien definidas, entonces se pueden combinar de manera similar a los circuitos y subrutinas de programas.

¿Cómo funciona la propagación hacia atrás en una red neuronal siamesa?