Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Modelos de Secuencia a Secuencia

Descubra cómo los modelos de secuencia a secuencia transforman las secuencias de entrada en secuencias de salida, impulsando tareas de IA como la traducción, los chatbots y el reconocimiento de voz.

Los modelos secuencia a secuencia (Seq2Seq) son una clase fundamental de arquitecturas de aprendizaje profundo diseñadas para transformar una secuencia de entrada de longitud fija en una secuencia de salida de longitud fija, donde las longitudes de la entrada y la salida pueden variar independientemente. Esta capacidad los hace esenciales para resolver problemas complejos en los que la relación entre la entrada y la salida es secuencial y no lineal. A diferencia de los modelos estándar, que asignan una única entrada a una única etiqueta, los modelos Seq2Seq destacan en la comprensión del contexto a lo largo del tiempo. Procesamiento del Lenguaje Natural (PLN) que se utilizan a diario, como los servicios de traducción y los asistentes de voz.

Arquitectura codificador-decodificador

El marco básico de un modelo Seq2Seq se basa en una estructura codificador-decodificador, un concepto introducido en investigaciones fundacionales como investigación como el Sequence to Sequence Learning with Neural Networks. Esta arquitectura Esta arquitectura divide la tarea en dos fases distintas: la codificación del contexto y la descodificación de los resultados.

  • El codificador: Este componente procesa la secuencia de entrada elemento por elemento (por ejemplo, palabras en una frase o fotogramas de un vídeo). Comprime la información en una representación interna de longitud fija denominada vector de contexto. vector. Tradicionalmente, los codificadores se construyen utilizando redes neuronales recurrentes (RNN) o variantes especializadas como memoria a corto plazo (LSTM) capaces de captar las dependencias a largo plazo de los datos.
  • El descodificador: Una vez codificada la entrada, el descodificador toma el vector de contexto y genera la secuencia de salida paso a paso. secuencia de salida paso a paso. Predice el siguiente elemento de la secuencia basándose en las predicciones anteriores y en el vector de contexto. el vector de contexto. Las implementaciones avanzadas suelen utilizar un mecanismo de atención para centrarse de la secuencia de entrada de forma dinámica, mitigando el cuello de botella de información que se encuentra en los pares codificador-decodificador básicos.

Aplicaciones en el mundo real

La flexibilidad de los modelos Seq2Seq permite su aplicación en diversos ámbitos, más allá del simple análisis de textos.

  • Traducción automática: Quizás la aplicación más famosa, Seq2Seq modela herramientas de potencia como Google Translate. El modelo acepta una frase en un idioma de origen (por ejemplo, English) y produce una frase en el idioma de destino (por ejemplo, español), manejando con fluidez las diferencias gramaticales y de estructura. gramática y la estructura de las frases.
  • Resumir textos: Estos modelos de pueden procesar documentos o artículos extensos y generar resúmenes concisos. Al comprender el significado central del del texto de entrada, el descodificador produce una secuencia más corta que conserva la información clave. la agregación automática de noticias.
  • Subtitulado de imágenes: Al unir visión por ordenador y la PNL, un modelo Seq2Seq puede describir el contenido de una imagen. Una red neuronal convolucional (CNN) actúa como codificador para extraer características visuales, mientras que una RNN o transformador lo hace como decodificador para generar una frase descriptiva. visual, mientras que una RNN o transformador actúa como decodificador para generar una frase descriptiva. Este es un ejemplo de modelo multimodal.
  • Reconocimiento de voz: En estos sistemas, la entrada es una secuencia de tramas de señales de audio, y la salida, una secuencia de caracteres de texto o palabras. Esta tecnología es la base de asistentes virtuales como Siri y Alexa.

Comparación con conceptos relacionados

Es importante distinguir los modelos Seq2Seq de otras arquitecturas para comprender su utilidad específica.

  • Vs. Clasificación estándar: Los clasificadores estándar, como los utilizados en la clasificación clasificación básica de imágenes, asignan (como una imagen) a una única etiqueta de clase. En cambio, los modelos Seq2Seq asignan secuencias a secuencias, lo que permite longitudes de salida variables. longitudes de salida variables.
  • Vs. Detección de objetos: Modelos como Ultralytics YOLO11 se centran en la detección espacial un único fotograma, identificando objetos y su ubicación. Mientras que YOLO procesa las imágenes estructuralmente, los modelos Seq2Seq procesan los datos temporalmente. Sin embargo, los dominios se solapan en tareas como seguimiento de objetos, en las que la identificación de trayectorias de objetos en de vídeo implica un análisis secuencial de los datos.
  • Vs. Transformers: La Transformer es la evolución moderna de Seq2Seq. Mientras que los modelos Seq2Seq originales se basaban en gran medida en RNNs y unidades recurrentes controladas (GRU), los Transformers utilizan la autoatención para procesar secuencias en paralelo, ofreciendo mejoras significativas en velocidad y precisión. y precisión.

Ejemplo de aplicación

Aunque los modelos Seq2Seq completos para la traducción son complejos, los componentes básicos son accesibles a través de bibliotecas como PyTorch. El siguiente ejemplo muestra cómo inicializar un codificador simple basado en LSTM que podría servir como la primera mitad de un modelo Seq2Seq.

import torch
import torch.nn as nn

# Initialize an LSTM layer (The Encoder)
# input_size=10 (feature dimension), hidden_size=20 (context vector size)
encoder = nn.LSTM(input_size=10, hidden_size=20, batch_first=True)

# Create a dummy input sequence: Batch size 1, Sequence length 5, Features 10
input_seq = torch.randn(1, 5, 10)

# Forward pass processing the sequence
output, (hidden_state, cell_state) = encoder(input_seq)

# The hidden_state represents the 'context vector' for the sequence
print(f"Context Vector shape: {hidden_state.shape}")
# Output: torch.Size([1, 1, 20])

Para quienes estén interesados en explorar tareas de secuenciación dentro de la visión por ordenador, como el seguimiento de objetos a través de fotogramas de vídeo, la exploración de los modos de seguimiento de Ultralytics de vídeo, la exploración de los modos de seguimientoUltralytics un punto de partida práctico. Para profundizar en el conocimiento de la mecánica subyacente, el curso curso de PNL CS224n de Stanford ofrece materiales exhaustivos sobre modelado de secuencias y aprendizaje profundo.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora