{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# **NOTEBOOK 16**\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"# **Modelos del lenguaje basados en redes neuronales artificiales**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **Modelos seq2seq 3: Atención**\n",
"\n",
"El mecanismo de **atención** es una técnica que permite al modelo enfocarse en diferentes partes de la entrada para cada paso de la salida. Esto es particularmente útil en tareas como la traducción automática, donde el modelo necesita alinear segmentos de la entrada con la salida correspondiente. \n",
"\n",
"En un modelo seq2seq tradicional sin atención, se utiliza un codificador para transformar toda la entrada en un vector de características fijo, que luego se pasa a un decodificador para generar la salida. Este enfoque tiene una limitación importante: el vector fijo debe contener toda la información necesaria de la secuencia de entrada, lo cual es difícil cuando las secuencias son largas, ya que puede llevar a la pérdida de información y hacer que el aprendizaje y la traducción sean ineficientes.\n",
"\n",
"El mecanismo de atención aborda este problema permitiendo que el decodificador tenga acceso a toda la secuencia de entrada en cada paso de tiempo. En lugar de depender de un único vector de contexto para toda la secuencia de salida, el modelo puede aprender a atender (es decir, dar más peso o importancia) a diferentes partes de la entrada para cada palabra o elemento de la secuencia de salida que está generando.\n",
"\n",
"El mecanismo de atención ha sido fundamental para mejorar el rendimiento de los modelos seq2seq en muchas tareas de procesamiento de lenguaje natural (NLP), y la idea se ha extendido y refinado en modelos más avanzados como Transformer, que utiliza lo que se llama \"auto-atención\" (self-attention) para procesar toda la entrada de una vez, en lugar de secuencialmente. Esto permite que los modelos sean aún más eficientes y efectivos en capturar relaciones complejas en los datos.\n",
"\n",
"Se introdujo en 2016 en el artículo: [Neural Machine Translation by Jointly Learning to Align and Translate](https://arxiv.org/pdf/1409.0473.pdf)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **Esquema de funcionamiento**\n",
"\n",
"Un mecanismo de atención es una parte de una red neuronal. En cada paso del decodificador, decide qué partes de la fuente son más importantes. En este contexto, el codificador no tiene que comprimir toda la fuente en un solo vector\n",
"\n",
"