Lectura rápida del nuevo artículo de Deepseek sobre Conexiones Hiper-Restringidas por Múltiples: - Quieres aumentar el tamaño residual de 1×C a n×C (n corrientes en lugar de 1). Actualización residual anterior: x' = x + capa(x). Haz que la x sea n×C y usa x' = Ax + B capa(Cx) en su lugar. A, B, C dependen todos de x y son matrices pequeñas (n×n, n×1, n×1). A parece la más impactante. Esto es Hiperconexiones (HC). - HC tiene el mismo problema que otros esquemas de modificación residual: eventualmente el producto de las matrices A aprendidas (a lo largo del camino identidad) se anula. - Para solucionar esto, proyectan las matrices A sobre el politopo de Birkhoff (palabras más sencillas: transfórverlo, tras exp para hacer los elementos positivos, en una matriz cuyas sumas de filas y columnas se convierten en 1 - llamada matriz doble estocástica). Esto tiene buenas propiedades: los productos de este tipo de matrices siguen teniendo suma de fila y columna 1 (debido al cierre), así que las cosas no explotan (acotadas espectralmente), y el invariante es que la suma de pesos a través de flujos es 1. Para n = 1, esto se convierte en el flujo residual estándar, lo cual es agradable. Su método de transformación es sencillo: alternativamente, dividir filas y columnas por sumas de filas y columnas respectivamente durante 20 iteraciones (converge a nuestra matriz deseada a medida que las iteraciones van al infinito). Encuentran que 20 es suficiente tanto para el pase hacia adelante como hacia atrás (en 60 capas, la ganancia máxima hacia atrás es 1,6 frente a 3000 del HC habitual, y 1,6 no está muy fuera de 1). - Componer estas matrices (envolvente convexa de todas las matrices de permutación) conduce a una mezcla de información a medida que aumenta el índice de capas, lo cual es una buena intuición y también se muestra muy claramente en su matriz compuesta para 60 capas. Creo que, en general, obtenemos una suma ponderada de caminos residuales (pensando en gradientes), donde los caminos lógicamente agrupables tienen pesos que suman 1. En mi opinión, un enfoque bastante principiado, también hace que las ganancias (hacia adelante y hacia atrás) sean muy estables. - Curioso a destacar: mucha mezcla tipo "pooling" en la primera mitad comparada con la segunda mitad de las capas. La segunda mitad de las capas trata diferentes canales con más precisión y precisión que la primera mitad, bastante intuitivo. - También cambian la parametrización de B y C (sigmoide en lugar de tanh, probablemente para evitar cambiar de signo, y un factor de 2 delante de B, creo que para conservar el multiplicador residual medio, C no necesita esto porque la entrada ya está pre-normada de todos modos). - Optimizaciones de sistemas interesantes para hacer esta operación rápida: hacen fusión de kernel, recomputación en el pase hacia atrás de mHC e incluso modifican DualPipe (su implementación de paralelismo de pipeline). - Solo un 6,7% de sobrecarga en entrenamiento cuando n = 4, la pérdida disminuye 0,02 y mejoras en los benchmarks.