1pckqhr Rykrns28f98tibq.png

Explore los detalles detrás del poder de los transformadores

Ha habido un nuevo desarrollo en nuestro vecindario.

Un ‘Robo-Truck’, como le gusta llamarlo a mi hijo, ha hecho su nuevo hogar en nuestra calle.

Es un Tesla Cyber ​​Truck y he intentado explicarle ese nombre muchas veces a mi hijo, pero él insiste en llamarlo Robo-Truck. Ahora, cada vez que miro Robo-Truck y escucho ese nombre, me recuerda a la película Transformers, donde los robots podían transformarse hacia y desde los automóviles.

¿Y no es extraño que los Transformers tal como los conocemos hoy puedan estar en camino de impulsar estos Robo-Trucks? Es casi un momento de cierre del círculo. ¿Pero adónde voy con todo esto?

Bueno, me dirijo al destino: Transformers. No los de los coches robot sino los de las redes neuronales. ¡Y estás invitado!

Imagen del autor (Nuestro transformador: ‘Robtimus Prime’. Colores según lo dispuesto por mi hijo artista).

¿Qué son los transformadores?

Los transformadores son esencialmente redes neuronales. Redes neuronales que se especializan en aprender el contexto a partir de los datos.

Pero lo que los hace especiales es la presencia de mecanismos que eliminan la necesidad de conjuntos de datos etiquetados y convolución o recurrencia en la red.

¿Cuáles son estos mecanismos especiales?

Hay muchos. Pero los dos mecanismos que realmente son la fuerza detrás de los transformadores son la ponderación de atención y las redes de retroalimentación (FFN).

¿Qué es la ponderación de la atención?

La ponderación de la atención es una técnica mediante la cual el modelo aprende en qué parte de la secuencia entrante debe centrarse. Piense en ello como el ‘Ojo de Sauron’ que escanea todo en todo momento y arroja luz sobre las partes que son relevantes.

Dato curioso: aparentemente, los investigadores casi habían llamado al modelo Transformer ‘Attention-Net’, dado que la atención es una parte tan crucial del mismo.

¿Qué es FFN?

En el contexto de los transformadores, FFN es esencialmente un perceptrón multicapa regular que actúa sobre un lote de vectores de datos independientes. Combinado con atención, produce la combinación correcta de «posición-dimensión».

Entonces, sin más preámbulos, profundicemos en cómo ponderación de atención y FFN hacer que los transformadores sean tan poderosos.

Esta discusión se basa en la maravillosa serie AI by Hand del Prof. Tom Yeh sobre transformadores . (Todas las imágenes a continuación, a menos que se indique lo contrario, son del Prof. Tom Yeh de las publicaciones de LinkedIn mencionadas anteriormente, que he editado con su permiso).

Así que, aquí vamos:

Las ideas clave aquí: Red de ponderación de atención y retroalimentación (FFN).

Teniendo esto en cuenta, supongamos que se nos da:

  • 5 características de entrada de un bloque anterior (aquí una matriz de 3×5, donde X1, X2, X3, X4 y X5 son las características y cada una de las tres filas denota sus características respectivamente).

[1] Obtener atención matriz de peso A

El primer paso del proceso es obtener la matriz de peso de atención A. Ésta es la parte donde entra en juego el mecanismo de autoatención. Lo que intenta hacer es encontrar las partes más relevantes en esta secuencia de entrada.

Lo hacemos introduciendo las funciones de entrada en el módulo de clave de consulta (QK). Para simplificar, los detalles del módulo QK no se incluyen aquí.

[2] Ponderación de atención

Una vez que tengamos el matriz de peso de atención A (5×5)multiplicamos las características de entrada (3×5) con él para obtener el características ponderadas de atención Z.

La parte importante aquí es que las características aquí se combinan. en base a sus posiciones P1, P2 y P3, es decir horizontalmente.

Para desglosarlo aún más, considere este cálculo realizado por filas:

P1 X A1 = Z1 → Posición [1,1] = 11

P1 X A2 = Z2 → Posición [1,2] = 6

P1 X A3 = Z3 → Posición [1,3] = 7

P1 X A4 = Z4 → Posición [1,4] = 7

P1 X A5 = Z5 → Posición [1,5] = 5

.

.

.

P2 X A4 = Z4 → Posición [2,4] = 3

P3 X A5 = Z5 →Posición [3,5] = 1

Como ejemplo:

Parece un poco tedioso al principio, pero sigue la multiplicación por filas y el resultado debería ser bastante sencillo.

Lo interesante es la forma en que nuestra matriz atención-peso A está organizado, las nuevas características z resultan ser las combinaciones de X como a continuación :

Z1 = X1 + X2

Z2 = X2 + X3

Z3 = X3 + X4

Z4 = X4 + X5

Z5 = X5 + X1

(Pista: observe las posiciones de 0 y 1 en la matriz A).

[3] FFN: Primera capa

El siguiente paso es introducir las características ponderadas en atención en la red neuronal de retroalimentación.

Sin embargo, la diferencia aquí radica en combinando los valores entre dimensiones a diferencia de las posiciones del paso anterior. Se hace de la siguiente manera:

Lo que esto hace es que mira los datos desde la otra dirección.

– En el paso de atención, combinamos nuestros aportes sobre la base de las características originales para obtener nuevas características.

– En este paso de FFN, consideramos sus características, es decir, combinamos características verticalmente para obtener nuestra nueva matriz.

Por ejemplo: P1(1,1) * Z1(1,1)

+ P2(1,2) * Z1 (2,1)

+ P3 (1,3) * Z1(3,1) + b(1) = 11, donde b es el sesgo.

Una vez más, las operaciones de fila de elementos al rescate. Observe que aquí el número de dimensiones de la nueva matriz aumenta a 4.

[4] ReLU

Nuestro paso favorito: ReLU, donde los valores negativos obtenidos en la matriz anterior se devuelven como cero y el valor positivo permanece sin cambios.

[5] FFN: Segunda capa

Finalmente lo pasamos a través de la segunda capa donde la dimensionalidad de la matriz resultante se reduce de 4 a 3.

La salida aquí está lista para pasar al siguiente bloque (vea su similitud con la matriz original) y todo el proceso se repite desde el principio.

Las dos cosas clave para recordar aquí son:

  1. La capa de atención se combina entre posiciones (horizontalmente).
  2. La capa de avance se combina entre dimensiones (verticalmente).

Y éste es el ingrediente secreto detrás del poder de los transformadores: la capacidad de analizar datos desde diferentes direcciones.

Para resumir las ideas anteriores, aquí están los puntos clave:

  1. La arquitectura del transformador puede percibirse como una combinación de la capa de atención y la capa de retroalimentación.
  2. El La capa de atención combina las características. para producir una nueva característica. Por ejemplo, piense en combinar dos robots Robo-Truck y Optimus Prime para obtener un nuevo robot Robtimus Prime.
  3. El La capa de avance (FFN) combina las partes o las características de una característica para producir nuevas piezas/características. Por ejemplo, las ruedas de Robo-Truck y el láser de iones de Optimus Prime podrían producir un láser sobre ruedas.

Las redes neuronales existen desde hace bastante tiempo. Las redes neuronales convolucionales (CNN) y las redes neuronales recurrentes (RNN) habían estado reinando, pero las cosas dieron un giro bastante agitado una vez que se introdujeron los Transformers en el año 2017. Y desde entonces, el campo de la IA ha crecido a un ritmo exponencial, con nuevas Modelos, nuevos puntos de referencia, nuevos aprendizajes que llegan todos los días. Y sólo el tiempo dirá si esta fenomenal idea algún día abrirá el camino hacia algo aún más grande: un verdadero ‘Transformer’.

Pero por ahora no sería un error decir que una idea realmente puede transformar ¡Cómo vivimos!

Imagen del autor

PD: Si desea realizar este ejercicio por su cuenta, aquí tiene la plantilla en blanco para su uso.

Plantilla en blanco para ejercicio de manos

Ahora diviértete y crea el tuyo propio. Robtimus Prime!