function Attention( queries, keys, values ) --> output

function Attention( queries, keys, values ) --> output

Postby Antonio Linares » Wed May 15, 2024 7:09 am

Code: Select all  Expand view
function Attention( query, keys, values )
   local scores, attention_weights, output

   // Calcula la matriz de scores
   scores = MatMul( query, Transpose( keys ) )

   // Aplica la función softmax a la matriz de scores
   attention_weights = Softmax( scores )

   // Calcula la salida mediante la multiplicación de la matriz de atención weights con la matriz de values
   output = MatMul( attention_weights, values )

return output
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: function Attention( queries, keys, values ) --> output

Postby Antonio Linares » Wed May 15, 2024 11:18 am

Para multiplicar dos matrices A y B, el número de columnas de A debe ser igual al número de filas de B

Ejemplos:

query := { { "¿Cuál es el clima?", "¿Cuánto cuesta?", "¿Dónde está?" }, { "¿Qué hora es?", "¿Cuántos días?", "¿Qué tal el tráfico?" } }
keys := { { "Clima", "Precio", "Ubicación" }, { "Hora", "Duración", "Tráfico" }, { "Lugar", "Costo", "Distancia" } }
values := { { "Soleado", "20€", "Cerca del parque" }, { "15:00", "3 días", "Mucho tráfico" }, { "Parque", "15€", "Lejos del centro" } }


Query: Preguntas que se pueden hacer sobre una película
query := {
{ "¿Cuál es el título?", "¿Quién es el director?", "¿Cuál es el género?" },
{ "¿Cuánto dura?", "¿Cuál es el año de estreno?", "¿Cuál es el presupuesto?" }
}

Keys: Categorías de información sobre una película
keys := {
{ "Título", "Director", "Género" },
{ "Duración", "Año de estreno", "Presupuesto" },
{ "Actores", "Productora", "Rating" }
}

Values: Información específica sobre una película
values := {
{ "La La Land", "Damien Chazelle", "Romántica" },
{ "128 minutos", "2016", "30 millones de dólares" },
{ "Ryan Gosling, Emma Stone", "Lionsgate", "8.0/10" }
}
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to Utilities / Utilidades

Who is online

Users browsing this forum: No registered users and 9 guests