Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

BERT (Bidirectional Encoder Representations from Transformers)

Descubra BERT, el revolucionario modelo de PNL de Google. Descubre cómo su comprensión bidireccional del contexto transforma tareas de IA como la búsqueda y los chatbots.

A usuarios familiarizados con conceptos básicos de aprendizaje automático, BERT (Bidirectional Encoder Representations from Transformers) representa un hito importante en la evolución del Procesamiento del Lenguaje Natural (PLN). Desarrollado por investigadoresGoogle en 2018, este modelo cambió el paradigma de procesar texto secuencialmente (de izquierda a derecha o de derecha a izquierda) a analizar secuencias completas de forma simultánea. Al aprovechar un enfoque bidireccional, BERT logra una comprensión más profunda y matizada del contexto lingüístico. matizada del contexto lingüístico, lo que lo convierte en un modelo para las aplicaciones modernas de IA.

La arquitectura de BERT

En su núcleo, BERT utiliza el mecanismo codificador de la arquitectura arquitectura Transformer. A diferencia de sus predecesores, que a menudo se basaban en redes neuronales recurrentes (RNN), BERT emplea la autoatención para ponderar la importancia de las distintas palabras de una frase. Esto permite al modelo captar dependencias complejas independientemente de la distancia entre las palabras. Para lograrlo, BERT se entrena previamente en corpus de texto masivos mediante dos estrategias innovadoras no supervisadas:

  • Modelado del lenguaje enmascarado (MLM): En este proceso, las palabras aleatorias de una frase se ocultan o "enmascaran" y el modelo intenta predecir la palabra original basándose en el contexto que la rodea. palabra original basándose en el contexto circundante. Esto obliga al BERT a comprender la relación bidireccional entre las palabras.
  • Predicción de la siguiente frase (NSP): Esta tarea entrena al modelo para predecir si una segunda frase sigue lógicamente a la primera. Dominar esta tarea ayuda a BERT a comprender la estructura y la coherencia de los párrafos, lo que es esencial para tareas como la respuesta a preguntas. respuesta a preguntas.

Una vez preentrenado, BERT puede adaptarse a tareas específicas mediante el modelo se entrena en un conjunto de datos más de datos más pequeños y específicos de la tarea para optimizar el rendimiento.

Comparación de BERT con otros modelos

Es importante distinguir el BERT de otros modelos destacados de modelos de IA:

Aplicaciones en el mundo real

La capacidad de BERT para captar el contexto ha llevado a su adopción generalizada en diversos sectores:

  • Motores de búsqueda mejorados: La búsqueda deGoogle integró BERT para interpretar mejor las consultas complejas de los usuarios. Por ejemplo, en la consulta "libros de práctica de matemáticas para adultos". BERT ayuda al motor a comprender la intención específica, garantizando que los resultados se centren en recursos para adultos en lugar de en libros de texto generales. libros de texto generales.
  • Análisis de Sentimiento Avanzado: Las empresas utilizan el análisis BERT para procesar las opiniones comentarios de los clientes. Al comprender matices como el sarcasmo o las dobles negaciones, estos modelos pueden classify con precisión las opiniones como críticas como positivas o negativas, proporcionando información mejorar la experiencia del cliente.

Implementación de un codificador por transformador

Aunque los modelos BERT suelen cargarse con pesos preentrenados, la arquitectura subyacente se basa en el codificador transformador. El PyTorch ejemplo demuestra cómo inicializar una capa básica de codificador, que sirve como bloque de construcción para BERT.

import torch
import torch.nn as nn

# Initialize a Transformer Encoder Layer similar to BERT's building blocks
# d_model: number of expected features in the input
# nhead: number of heads in the multiheadattention models
encoder_layer = nn.TransformerEncoderLayer(d_model=512, nhead=8)

# Stack multiple layers to create the full Encoder
transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=6)

# Create a dummy input tensor: (sequence_length, batch_size, feature_dim)
src = torch.rand(10, 32, 512)

# Forward pass through the encoder
output = transformer_encoder(src)

print(f"Input shape: {src.shape}")
print(f"Output shape: {output.shape}")
# Output maintains the same shape, containing context-aware representations

Únase a la comunidad Ultralytics

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

Únete ahora