Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Multiplicación de n...
 
Avisos
Vaciar todo

Multiplicación de numeros de 8bits

8 Respuestas
4 Usuarios
0 Reactions
2,377 Visitas
ionthas
Respuestas: 153
Topic starter
(@ionthas)
Estimable Member
Registrado: hace 17 años

Buenas a todos.

Actualmente estoy trabajando en la implementación de una red neuronal para controlar un robot con una FPGA.

Al implementar el diseño lógico de la neurona tengo un problema:

La neurona recibe unas entradas "X" con buses de 8 bits. Esas entradas tienen que multiplicarse por otro número de 8 bits "Weight". El problema que tengo es que al multiplicar los dos número de 8 bits sale un número de 16bits. Después de unas operaciones más, el número que sale por la neurona es de 16 bits y ese tiene que ir conectado a otra neurona con entrada de 8 bits.

No se si me he explicado bien, pero necesito hacer una multiplicación de numeros de 8 bits y que la salida tambien sea de 8 bits. Ya que sino, en cada capa de neuronas los buses se multiplicarian por dos.

Saludos y gracias por la ayuda,

Ionthas.

Responder
7 respuestas
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 20 años

Las multiplicaciones de 8x8 bits son de 16 bits siempre (a no ser que tengas los números acotados), lo que puedes hacer es coger los 8 bits de más peso pero de esa forma estás perdiendo mucha información.

S2

Ranganok Schahzaman

Responder
sphinx
Respuestas: 651
(@sphinx)
Ardero
Registrado: hace 17 años

Las multiplicaciones de 8x8 bits son de 16 bits siempre (a no ser que tengas los números acotados), lo que puedes hacer es coger los 8 bits de más peso pero de esa forma estás perdiendo mucha información.

S2

Ranganok SchahzamanExacto, o transmitir por ese bus de 8 bits primero los de mayor peso y luego los de menor peso. No sé si esto es aplicable.

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Con una FPGA prácticamente todo es implementable... dado el suficiente presupuesto.

Dependiendo de las 'capas' de neuronas que uses en la red, puede ser interesante acarrear dicho doblado de bus. Por lo poco que he visto de redes neuronales, tres o cuatro capas son suficientes. Eso es 8, 16, 32 y 64 bits. Me imagino que aplicando el truncado que propone Maese Ranganok y dejándolo todo a 16 bits como mucho, habrá más que suficiente.

Las pocas FPGA que conozco, suelen llevar multiplicadores de 18 bits... con acumuladores de 48.

Responder
ionthas
Respuestas: 153
Topic starter
(@ionthas)
Estimable Member
Registrado: hace 17 años

Si que llevan multiplcadores, pero mi idea es hacer que cada neurona tenga su propio multiplicador.
Voy a provar de hacer el truncado que me ha propuesto ragnarok.

Responder
Página 1 / 2
Compartir: