Saltar al contenido principal

términos del glosario

Codificación posicional

Categoría
Neural Networks & Architectures
Dificultad
Intermedio

Definición

Una técnica utilizada en arquitecturas Transformer para inyectar información sobre la posición relativa o absoluta de los tokens en una secuencia dentro de las incrustaciones (embeddings) de entrada del modelo.

Cómo funciona y contexto

A diferencia de las redes neuronales recurrentes (RNN) que procesan datos secuencialmente, los modelos Transformer procesan secuencias completas en paralelo. Aunque esto mejora significativamente la velocidad de entrenamiento, elimina la conciencia inherente del modelo sobre el orden de las palabras. La codificación posicional resuelve esto añadiendo un vector único a cada incrustación de entrada, representando su posición dentro de la secuencia. Estos vectores se generan típicamente utilizando funciones de seno y coseno de diferentes frecuencias, lo que permite al modelo aprender posiciones relativas de manera efectiva. Al combinar el significado semántico de una palabra con su contexto posicional, el modelo puede distinguir entre frases como 'el perro mordió al hombre' y 'el hombre mordió al perro'. Sin este mecanismo, el modelo trataría la entrada como una 'bolsa de palabras', perdiendo las relaciones sintácticas y semánticas críticas definidas por el orden de las palabras.

Por qué es importante

La codificación posicional es fundamental para el éxito de los grandes modelos de lenguaje (LLM) modernos. Debido a que los Transformers dependen de mecanismos de autoatención que son invariantes a la permutación, serían incapaces de interpretar la estructura del lenguaje sin señales posicionales explícitas. Esta técnica permite a los modelos mantener la coherencia en textos largos, entender dependencias gramaticales complejas y realizar traducciones precisas, lo que la convierte en una piedra angular de las capacidades actuales de la IA generativa.

Ejemplo real

Imagina un modelo de traducción procesando la frase 'The cat chased the mouse'. Sin codificación posicional, el modelo podría confundir el sujeto y el objeto, traduciéndolo potencialmente como 'El ratón persiguió al gato'. Al inyectar información posicional, el modelo reconoce que 'cat' aparece en el índice 1 y 'mouse' en el índice 5, asegurando que los roles semánticos permanezcan correctamente mapeados durante el proceso de traducción.

Errores frecuentes

  • Asumir que la codificación posicional solo se usa en texto; es igualmente vital para parches de imagen en Vision Transformers (ViTs).
  • Confundir la codificación posicional con las incrustaciones posicionales; aunque ambas sirven para el mismo propósito, las codificaciones suelen ser funciones matemáticas fijas, mientras que las incrustaciones son parámetros aprendidos.
  • Creer que los Transformers no pueden funcionar sin ella; pueden, pero pierden la capacidad de entender el orden de la secuencia, lo que los hace ineficaces para la mayoría de las tareas lingüísticas.

Preguntas frecuentes

¿Por qué usar funciones de seno y coseno en lugar de simplemente asignar un índice entero simple?

El uso de funciones trigonométricas permite al modelo extrapolar a longitudes de secuencia más largas que las vistas durante el entrenamiento y ayuda al modelo a aprender posiciones relativas más fácilmente a través de transformaciones lineales.

¿La codificación posicional cambia el significado semántico de los tokens de entrada?

No, se añade a la incrustación del token para proporcionar contexto, pero no altera el vector semántico subyacente de la palabra en sí.

¿Existen alternativas a la codificación posicional estándar?

Sí, las arquitecturas modernas a menudo utilizan incrustaciones posicionales rotativas (RoPE) o sesgo posicional relativo, que son más eficientes para capturar la relación entre tokens independientemente de su posición absoluta.