es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comprendiendo key_dim y num_heads en tf.keras.layers.MultiHeadAttention.

Por ejemplo, tengo una entrada con forma (1, 1000, 10) (por lo tanto, src.shape será (1, 1000, 10)). Luego:
* Esto funciona
“`
class Model(tf.keras.Model):
def init(self):
super(Model, self).init()
self.attention1 = tf.keras.layers.MultiHeadAttention(numheads=20, keydim=9)
self.dense = tf.keras.layers.Dense(10, activation=”softmax”)

    def call(self, src):
        output = self.attention1(src, src)
        output = tf.reshape(output, [1, 10000])
        output = self.dense(output)
        return output


* Y esto:

class Model(tf.keras.Model):
def init(self):
super(Model, self).init()
self.attention1 = tf.keras.layers.MultiHeadAttention(numheads=123, keydim=17)
self.dense = tf.keras.layers.Dense(10, activation=”softmax”)

    def call(self, src):
        output = self.attention1(src, src)
        output = tf.reshape(output, [1, 10000])
        output = self.dense(output)
        return output


Entonces, esta capa funciona con cualquier valor de
numheads y keydimpero la longitud de la secuencia (es decir, 1000) debe ser divisible pornumheads. ¿POR QUÉ? ¿Es un error? Por ejemplo, el mismo código para Pytorch no funciona. Además, ¿qué eskeydim... Gracias de antemano.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    No es un error, es una característica de la capa de atención múltiple. El parámetro num_heads determina cuántas cabezas de atención usará la capa. El parámetro key_dim determina la dimensión de las claves utilizadas en el mecanismo de atención. La longitud de la secuencia debe ser divisible por num_heads porque el mecanismo de atención funciona dividiendo la secuencia en múltiples cabezas, cada una de las cuales se procesa de manera independiente. Esto permite que el modelo atienda diferentes partes de la secuencia al mismo tiempo.

Comments are closed.