Por qué las redes neuronales no multiplican: De perceptrones a SwiGLU
Las redes neuronales, a pesar de su éxito en generar texto e imágenes, fundamentalmente no realizan multiplicación de datos de entrada. En un perceptrón, las entradas sufren una combinación lineal: se ponderan y suman. La fórmula para una neurona básica es: $$h = \sigma(\sum w_i x_i + b)$$, donde no hay producto de dos variables $x_1 \cdot x_2$.
Para una tarea como calcular el costo (precio × cantidad), la red aproxima el resultado memorizando patrones pero no calcula la multiplicación directamente. Añadir capas ocultas preserva el principio: en cada etapa, solo se involucran sumas de señales ponderadas.
En la primera capa:
$$h_1^{(1)} = x_1 w_{11}^{(1)} + x_2 w_{12}^{(1)}$$
$$h_2^{(1)} = x_1 w_{21}^{(1)} + x_2 w_{22}^{(1)}$$
En la segunda capa:
$$h_1^{(2)} = h_1^{(1)} w_{11}^{(2)} + h_2^{(1)} w_{12}^{(2)}$$
La sustitución muestra: $x_1$ y $x_2$ permanecen en sumas, su producto no surge. Los pesos se multiplican entre capas, pero las entradas no.
Soluciones alternativas: Cuadrados y precomputaciones
Los ingenieros añaden valores pre-multiplicados ($x_1 x_2$) o cuadrados a la entrada para simular la multiplicación. Una fórmula escolar permite expresar el producto:
$$x y = \frac{1}{2} \left( (x+y)^2 - x^2 - y^2 \right)$$
Esto reduce la multiplicación a suma, resta y elevación al cuadrado. Una activación hipotética $f(z) = z^2$ podría ayudar, pero las funciones estándar ReLU, Sigmoid y Tanh no proporcionan la no linealidad del cuadrado.
La práctica muestra: tales soluciones alternativas funcionan para demostraciones, pero en tareas del mundo real con muchas entradas, requieren conocer las combinaciones necesarias de antemano.
- Precomputaciones: Alimentar $x_1 x_2$ como entrada.
- Cuadrados: Usar $(x+y)^2$, $x^2$, $y^2$.
- Limitaciones: No escala, compromete la propiedad de aproximador universal.
Avance del Transformer: El papel de las variantes GLU
La arquitectura Transformer (2017) introdujo la atención, pero un paso clave fue reemplazar las activaciones con Unidades Lineales con Compuerta (GLU) en 2020 (Noam Shazeer, "GLU Variants Improve Transformer"). ReGLU, GEGLU y SwiGLU superan a ReLU en convergencia.
| Activación | Error |
|-----------|--------|
| ReLU | 2.45 |
| ReGLU | 2.32 |
| GEGLU | 2.25 |
| SwiGLU | 2.24 |
SwiGLU es preferida debido a su velocidad. La fórmula:
$$\text{SwiGLU}(x) = \text{Swish}(x W + b) \odot (x V + c)$$
Aquí $\odot$ es la multiplicación elemento a elemento de dos proyecciones. Esto introduce dependencias cuadráticas, permitiendo modelar $x_1 x_2$ sin soluciones alternativas. SwiGLU se usa en bloques FFN de LLMs modernos.
Mecanismo:
- La entrada $x$ se proyecta en dos caminos: $xW + b$ y $xV + c$.
- El primero pasa por Swish ($\text{Swish}(z) = z \sigma(\beta z)$).
- Multiplicación elemento a elemento.
Implicaciones prácticas para los modelos
SwiGLU mejora el entrenamiento pero no convierte a la IA en una calculadora precisa. Los modelos generativos son probabilísticos: "2×2=4" es un token probable, no una deducción. Para cálculos complejos, los LLMs delegan a código Python en un entorno controlado.
- Ventajas de GLU: Mejor convergencia, modelado de no linealidades.
- Desventajas: La red no siempre encuentra los pesos necesarios automáticamente.
- Requiere grandes cantidades de datos.
- La naturaleza probabilística persiste.
Las futuras integraciones (WebAssembly en Transformer) permitirán ejecutar código nativo dentro del modelo.
Conclusiones clave
- Los perceptrones clásicos suman pero no multiplican entradas.
- GLU (SwiGLU) introduce multiplicación elemento a elemento de proyecciones para dependencias cuadráticas.
- Las unidades con compuerta reemplazan a ReLU en transformers modernos, reduciendo el error en un 5–10%.
- Para cálculos precisos, los LLMs usan herramientas externas.
— Editorial Team
Aún no hay comentarios.