• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

4.7 – Práctica 1: Generación de Texto con Redes Recurrentes

Lección 7 del módulo “Redes Recurrentes y LSTM” del curso Fundamentos de Deep Learning con Python.

En la lección anterior hablamos de las diferentes configuraciones de Redes Recurrentes (one-to-many, many-to-one, many-to-many) útiles en la solución de diferentes problemas de procesamiento de secuencias.

En esta primera práctica pondremos a prueba todo lo aprendido hasta el momento acerca de las Redes Recurrentes para implementar y entrenar un modelo de lenguaje capaz de generar texto a nivel de caracteres.

Así que comencemos hablando del set de datos y de las características del modelo a implementar en esta práctica:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Bien, en este proyecto usaremos un texto en español, de libre acceso, y que contiene una serie de cuentos de Edgar Allan Poe.

La idea es usar este set de datos para crear un modelo de lenguaje a nivel de caracter: para cada predicción el modelo tomará 10 caracteres de entrada y generará 1 de salida.

Y el modelo a construir hará uso del módulo «SimpleRNN» de la librería Keras para crear una pequeña Red Neuronal Recurrente con un total de 256 neuronas y una salida con función de activación softmax, que entregará el caracter predicho por el modelo.

Veamos entonces cómo entrenar este modelo y cómo usarlo para la generación de texto:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Muy bien, acabamos de ver cómo durante las primeras iteraciones del entrenamiento el modelo genera texto completamente aleatorio, pero que a medida que progresa el entrenamiento la predicción mejora y el texto generado se asemeja a algo que escribiría un ser humano y de hecho resulta muy similar al texto usado como set de entrenamiento.

Así que acabamos de entrenar nuestro primer modelo que, a pesar de ser tan simple, tiene un desempeño aceptable en la generación de texto. Sin embargo, vimos que al final de cada secuencia generada, el modelo tiene a repetir los últimos caracteres. Esto se debe a la memoria de corto plazo que poseen las Redes Recurrentes.

Para entender este fenómeno, en la próxima lección veremos en detalle las limitaciones de las Redes Neuronales Recurrentes.

Todas las lecciones del curso Fundamentos de Deep Learning con Python.

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }