2 votos

Normalización: ¿qué es mejor?

Digamos que quiero que el usuario escriba las 5 primeras letras de una palabra en la que está pensando; quiero que la red neuronal emita las letras restantes de la palabra.

Sin embargo, debería:

  • Convertir la cadena de 5 letras a binario ( A=01000001 , B=01000010 etc.)
  • Esto significa que tendré 5 * 8 = 40 neuronas de entrada

O debería:

  • Vincular letras a números ( A=1 , B=2 etc.)
  • Divida este número por ALPHABET_LENGTH=26 (normalizar)
  • Como resultado A~0.04 , B~0.08 etc.
  • Lo que significa que sólo tendré neuronas de entrada 5x1

Lo mismo ocurriría con la salida, por supuesto.

Sin embargo, ¿qué es más eficaz? Qué normalización tendrá un efecto más positivo en el entrenamiento de la red neuronal (mediante retropropagación y algoritmos genéticos, ambos). ¿Existen artículos al respecto?

2voto

Biswanath Puntos 158

En lugar de adivinar la mejor codificación para la predicción, ¡deje que la red neuronal lo haga por usted!

La forma de hacerlo, sobre todo si tienes un rango limitado de posibles caracteres de entrada, es empezar con una codificación de un solo golpe. Es decir, A = 0000...0001, B = 0000...0010, etc.

A continuación, la primera capa de la red neuronal será una capa de incrustación, que proyectará la codificación de un punto en una representación vectorial más densa que contenga información sobre las distintas relaciones entre los caracteres.

Las siguientes capas de tu red neuronal empezarán con esta representación vectorial densa y partirán de ahí.

Para entender mejor cómo funciona este proceso de incrustación, echa un vistazo a word2vec. Ilustra el proceso de creación de incrustaciones de palabras en textos extensos. Puede encontrar más información aquí, por ejemplo: https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/

Añadir una capa de incrustación es particularmente fácil cuando se utiliza keras.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X