Después de derramar agua sobre mi MacBook, entré en crisis y perdí alrededor de 3 a 4 días.
Ahora que lo pienso, debería haber hecho algo, pensando que mi MacBook ya estaba arruinada y que la mandaría a reparar de todas formas.
Aunque estoy un poco atrasado, quiero dejar mi reseña del capítulo 3 porque creo que debo continuar hasta el final.
1. Mecanismo de atención
El contenido principal del capítulo 3 es el mecanismo de atención.
La atención, como su nombre indica, muestra qué parte de la oración desea enfatizar.
Por ejemplo, tomemos la frase 나는 어제 밥을 먹었다 e intentemos comprenderla.
Nos concentraremos naturalmente en palabras como 나, 어제, 밥, 먹었다.
Para entender la palabra que se está procesando, se necesita la combinación de algunas palabras, y el mecanismo de atención ayuda a comprender el contexto mediante la combinación de palabras.

2. Auto-atención
La auto-atención calcula la relación entre los tokens dentro de una oración.
Supongamos que ya hemos implementado los tokens como vectores de incrustación, como se muestra a continuación.
import torch
inputs = torch.tensor(
[[0.43, 0.15, 0.89], # Your (x^1)
[0.55, 0.87, 0.66], # journey (x^2)
[0.57, 0.85, 0.64], # starts (x^3)
[0.22, 0.58, 0.33], # with (x^4)
[0.77, 0.25, 0.10], # one (x^5)
[0.05, 0.80, 0.55]] # step (x^6)
)Aquí, obtenemos la relación entre tokens usando la multiplicación de puntos de otros tokens para un token deseado, consiguiendo así la puntuación de atención.
El concepto de multiplicación de puntos puede parecer nuevo, pero la multiplicación de puntos en matrices es igual al producto punto en vectores.

Esto significa que cuanto más similar sea la dirección de dos vectores, mayor será su valor, y si son perpendiculares, el valor será cercano a 0.
Esto permite verificar cuánta similitud tienen dos incrustaciones.
No se observa el vector en sí, sino la similitud entre dos vectores debido a la dispersión de vectores sin sentido al inicializar las incrustaciones.
Por lo tanto, medir el vector en sí carece de sentido.

Luego, los pesos de atención se normalizan de modo que su suma sea 1, multiplicando cada vector de entrada por su peso de atención y sumándolos.
Con pesos de atención altos, influyen más en el vector contextual, obteniendo así la dirección del vector de la posición adecuada del vector de incrustación de consulta.
Esto se llama vector de contexto.
Al calcular esto para todas las incrustaciones, se obtiene un tensor con la siguiente forma.
tensor([[0.4421, 0.5931, 0.5790],
[0.4419, 0.6515, 0.5683],
[0.4431, 0.6496, 0.5671],
[0.4304, 0.6298, 0.5510],
[0.4671, 0.5910, 0.5266],
[0.4177, 0.6503, 0.5645]])La propia estructura del tensor es bidimensional, pero su contenido interno es un vector de contexto tridimensional.
Esto permite expresar la relación entre cada incrustación en términos de dirección.
3. Auto-atención entrenable
En la auto-atención entrenable, cada valor de clave y consulta se reduce a una dimensión más baja.
Los valores iniciales son todos aleatorios.
Después del procesamiento, se actualizan mediante el proceso de retropropagación.
torch.manual_seed(123)
W_query = torch.nn.Parameter(torch.rand(d_in, d_out), requires_grad=False)
W_key = torch.nn.Parameter(torch.rand(d_in, d_out), requires_grad=False)
W_value = torch.nn.Parameter(torch.rand(d_in, d_out), requires_grad=False)Al ver los valores iniciales de query, key y value, todos se generan con rand.
Los valores iniciales pueden carecer de sentido, pero se vuelven significativos a través del entrenamiento.
A través de este proceso, se puede obtener un vector de contexto para una palabra.
4. Atención casual
La atención casual utiliza una máscara en los tokens.
Al prever el futuro, permite predecir el contexto siguiente.
Al principio, uno podría pensar en el problema de sobreajuste...
pero la respuesta de chatgpt fue diferente.

La prevención del sobreajuste es un efecto secundario de la atención casual.
Ayuda al modelo a aprender el contexto en la dirección real de generación del lenguaje (izquierda→derecha).
El vector de contexto aprendido de esta forma puede comprender el significado de la oración, generar frases nuevas, permitir inferencias y suposiciones.
Se introducen varios métodos para lograr esto.
5. Preguntas
Tuve varios pensamientos mientras leía el libro.
¿Por qué hacer esto que parece mucho más complicado que el codificador one-hot?
¿Es la atención casual solo para evitar el sobreajuste?

Después de largas conversaciones con chatgpt, la conclusión es la siguiente.
Sabiendo la respuesta
--> El modelo solo copia en lugar de predecir
--> La pérdida se vuelve casi 0 (calculable)
--> El gradiente es casi 0
--> Casi no hay actualizaciones
--> No hay cambios significativos en la retropropagación
--> El aprendizaje prácticamente no ocurrePor ejemplo, si intentaras encontrar algo en un cuarto oscuro, tendrías que sentir alrededor con las manos.
Este proceso cultiva la capacidad de comprender el espacio y encontrar objetos.
Si ya supieras dónde están los objetos, no sentirías la necesidad de buscarlos y, por lo tanto, no aprenderías 'cómo' encontrarlos.
En el modelo de lenguaje, mirar el token futuro es similar: si ya sabes la respuesta, pierdes la capacidad de predicción.

Por eso, la atención casual es una función que induce pérdidas.
La atención casual oculta el futuro, causando pérdidas, y este proceso de pérdidas actualiza el vector de contexto.
Reducir los errores de predicción en este proceso permite que el modelo profundice su comprensión del contexto, desarrollando capacidades de inferencia, suposición y evaluación.
6. Conclusión
Después de derramar agua sobre mi MacBook, mi semana se retrasó y me puse ansioso.
Quise leer rápidamente y avanzar, pero no pude hacerlo.
Cada frase que vi por primera vez fue difícil y novedosa.

¿Por qué multiplican aquí una matriz reducida? ¿Por qué hacen un enmascaramiento repentino aquí?
El proceso de encontrar respuestas a estas preguntas fue bastante largo y a menudo frustrante.
La IA respondía a mis preguntas, pero siempre decía que estaba equivocado cuando elaboraba una nueva interpretación, lo que me hizo cuestionar mucho el significado correcto.
Creo que este proceso de reflexión me ayudará a crecer.
Estoy emocionado de ver qué más puedo aprender en el capítulo 4.
댓글을 불러오는 중...