Wow gracias por tu comentario. Realmente el tema de las redes LSTM es denso, y no he visto ningún video en UA-cam que lo explique de una manera relativamente sencilla. Realmente me costó trabajo sintetizarlo de esta manera. Qué bueno que te haya gustado, un saludo!
@@liznv1536 La gran ventaja de todos estos modelos de Deep Learning es que lograr resultados impresionantes como por ejemplo con secuencias, como en el caso de las Redes LSTM. La gran desventaja es que cada modelo se diseña a la medida de los datos. Así que, para responder tu pregunta, no existe un método analítico o matemático o una fórmula que nos permita definir los hiperparámetros del modelo (número de capas, número de celdas, etc.). La manera de definir estos hiperparámetros es a través de las curvas de entrenamiento/validación, verificando el desempeño del modelo y que no exista under/overfitting. En el canal tengo videos que explican este proceso. ¡Un saludo!
Sr. Miguel, muy buenos dias, antes todo permiteme felicitarte, lo haces muy bien. Se entiende perfectamente lo que he visto hasta aqui. Felicitaciones nuevamente. Vale, aprovecho y te pido una orientacion que me han solicitado en mi trabajo. Actualmente se tienen muchos pdfs, estos pdf pueden contener 5, 6 o 13 hojas. Cada pdf contiene informacion de gran relevancia y el cual la idea es "extraer lo mas relevante". Una forma en como se puede encontra en un parrafo algo como "ANTICIPO 30% antes de IVA, del valor total del contrato suma equivalente a $16.961.724 (DIECISÉIS MILLONES NOVECIENTOS SESENTA Y UN MIL SETECIENTOS VEINTICUATRO" [Anticipo] es un valor de gran importancia y se desea obtener el valor que le sigue, es decir el 30% para asi mostrar esos resultados y no tener que estar leyendo todo las hojas para asi obtener el resultado. Otro valor de relevancia a tomar es lo que está asociado a la palabara contrato, es decir, $16.961.724 Cabe destacar que las posiciones de estos valores pueden cambiar, es decir, ese parrafo se encuentra en la hoja 2 pero hay casos en donde se encuentra en la hoja 5, 3 entre otras posiciones. Pienso que es un tema bastante complejo, he estado estudiando, documentandome, pero agradezco toda la orientacion que puedas darme para dar inicio e ir logrando el objetivo que tanto se desea en mi trabajo. [En una de esos estudios que he tenido, me he encontrado con algo llamado TEXT EXTRACTION "NER" y BIDIRECTIONAL LSTM pero sinceramente como todo novato no se por donde comenzar]. Agradezco tu pronta respuesta y nuevamente, felicitaciones lo haces muy bien.
@@codificandobits Gracias a ti hombre. Como sugerencia, en mi humilde opinión, una explicación de las GRUs, con tu maestría, haría la serie más completa. Un saludo
@@miguelpradesfarron9384 Gracias por la sugerencia. Y claro que sí, las GRU son una arquitectura esencial de las redes recurrentes. Tan pronto pueda haré un video sobre el tema. Saludos!
Cuando planteas la fórmula de la forget gate pones sigmoidal(Wf[at-1,X]+bf). A que te refieres con la coma entre at-1 y x, es multiplicación? Buen video. Muchas gracias.
Hola muy interesante la manera de enseñar. Sin embargo vengo investigando por varios lados y no consigo obtener respuesta con el siguiente problema. Tengo una red entrenada con datos de ventas (por poner un ejemplo) diarias, que abarca un historico de enero de 2010 a diciembre de 2019. OK! Ahora bien, se supone que guardo mi modelo. Yo quiero saber, como podria hacer proyecciones o predicciones para febrero de 2020?. supongamos que yo , tengo los datos de ventas de enero de 2020. Pero quiero que, en base a esos datos, mi modelo (ya que se supone que detecta patrones), me haga una proyeccion para el mes de febrero. En otro lado lei que el modelo en produccion si o si necesitara de toooodo el historico para hacer la prediccion, lo cual me parece poco util y costoso computacionalmente, pasarle al modelo que ya esta "listo", un historico de 2010 a enero de 2020... No se si logre hacerme entender.. Saludos!
Muy buen video, me ha ayudado mucho para un trabajo de bachillerato. Pero tengo una pequeña duda de comprensión. Cuando operamos con c_t-1 y c_t que estamos haciendo realmente? f_t es un vector por ejemplo, x_t es un escalar. Pero c_t que es? Un vector o un escalar? O es algo más abstracto o diferente? P.D. También tengo entendido que el estado oculto (a_t) funciona como un escalar.
Hola!! Muy buen video!! Tengo una duda si, he visto varias LSTM pero todas hacen predicciones de poco tiempo... ¿que tipo de red debo ocupar si necesito predecir un periodo de tiempo mayor (un año por ejemplo)?
Hola Miguel realmente explicas muy bien los temas, sigue así. Tengo una duda: la manera como entras a LSTM es única y tiene mucha lógica pero ¿por qué no mencionas el desvanecimiento del gradiente?, me refiero a que no necesitas mencionarlo para dar una buena razón para usar LSTM, ¿que relación tiene el desvanecimiento del gradiente con lo que explicas en el vídeo ?
Hola Samuel gracias por tu comentario y qué buena pregunta. Sí, el desvanecimiento del gradiente es un problema inevitable en todo tipo de arquitectura Deep Learning, especialmente en las redes recurrentes convencionales. Y como tú lo mencionas es un problema en parte resuelto por las redes LSTM. El tema del desvanecimiento del gradiente lo menciono en este video, cerca del minuto 2:50. Aunque no entro en mucho detalle!!! Saludos! 😉
Hola Hernán. Creo que es arriesgado pensar en hacer trading usando Redes LSTM... El precio de una acción o el precio de un "commodity" (como el oro) depende de muchos factores que no podemos ver tan sólo a través de una serie de tiempo. Por tanto estos precios son muy volátiles y prácticamente imposibles de predecir con un alto grado de certeza... De hecho, y esto es una opinión personal, creo que este es el gran problema del "trading": la imposibilidad de tener certeza con las predicciones a corto plazo. A veces funcionará, y ganaremos dinero, pero la mayoría de las veces la predicción fallará (sea cual sea el método que usemos).
Hola. Vi tu video y me quedé con una gran duda. En estos momentos estoy desarrollando un modelo de LSTM para la predicción de valores de series temporales. En la generación del modelo en python, según una documentación, uno puede especificar el número de neuronas (256) deseadas y la función de activación (por defecto trabajo con ReLu), en ese contexto cómo sería la arquitectura de toda la red? Pd: Excelente explicación de este tipo de redes. Saludos!
Hola Juan. Para la red que mencionas la arquitectura sería la siguiente: - CAPA DE ENTRADA: con un tamaño igual al de cada dato de entrenamiento - RED LSTM: con 256 neuronas (en Keras la creas como "LSTM(units=256, ...)") - CAPA DE SALIDA: con un tamaño igual a 1, pues supongo que en cada iteración generarás 1 dato a la vez. En Keras la creas como "Dense(units=1)". Un saludo y me cuentas si te funciona.
@@codificandobits Hola, muchas gracias por responder, se te aprecia. Una solución que encontré es de la siguiente forma (por si alguien le interesa). # numNeuronas es una variable de tipo entero model.add(LSTM(numNeuronas, activation='relu', input_shape=(#ejemplos, #Pasos de tiempo))) model.add(Dense(1))
como se manejan hidden y los layers, por ejemplo si tengo 120 neuronas en el hidden y 3 capas eso quiere decir que tengo 120 neuronas repartidas que son las celdas LSTM en las tres capas ..muchas gracias
Hola Jorge. No, en realidad tendrás: - Capa de entrada con un número de neuronas igual al número de elementos de cada dato de entrada - Capa oculta: LSTM con 120 neuronas - Capa de salida: con un número de neuronas igual al número de categorías que tengas (si estamos hablando de clasificación). Por ejemplo este número de neuronas será igual a 2 si es clasificación binaria. Un saludo!
Buena explicación. Y un detalle, en español no se utiliza "remover" cuando queremos decir "eliminar", es un falso amigo del inglés. Remover en español es agitar, menear,... para mezclar algo.
Por mucho que he buscado, en ningún lugar dicen con un mínimo de claridad, cómo se entrena una red LSTM. ¿Se hace con la regla de la cadena igualmente, aplicada a esta estructura particular?
Hola Octavio. Usualmente se entrena con los métodos convencionales usados en otro tipo de redes (como las neuronales y las recurrentes): gradiente descendente (o alguna variante) para actualizar los coeficientes de cada neurona, y "backpropagation" para calcular las derivadas que, a su vez, permiten actualizar los valores del gradiente. En este caso, y desde el punto de vista matemático, backpropagation usa precisamente la regla de la cadena. Un saludo!
@@codificandobits Muchas gracias. Tengo el problema de que mi carrera es de ciencias matemáticas, y para mí las notaciones de diferenciales de los físicos, químicos e ingenieros tienen poco sentido, aunque ya me aclaré lo suficiente, pero no sin sufrimiento. ☺👍
@@octaviooctavio1548 jajaja!!! Yo soy Ingeniero y sí, a veces me cuesta entender a los matemáticos!!! Es como si "habláramos" lenguajes diferentes. Un saludo!
@@codificandobits El problema es que todo esto está escrito por ingenieros, o casi todo, y me cuesta mucho entenderlo. Estaba desesperado cuando te escribí. Un saludo.
esto queria que hicieran video... cuesta hallar info en youtube... por que....... bueno pueden hacer i.a. que haga cosas malas XD. yo si quisiera hacer i.a. en pc bajo recurso si se puede.
🔥🔥Academia Online: codificandobits.com 🔥🔥
🔥🔥Asesorías y formación personalizada: codificandobits.com/servicios 🔥🔥
I know I'm kinda randomly asking but do anybody know a good website to stream newly released movies online ?
@Zane Malik meh I watch on flixportal. just search on google for it=) -darren
@Darren Alexis Thanks, I signed up and it seems like a nice service :D I really appreciate it !
@Zane Malik you are welcome :D
Este man es un monstruo de la explicación, tiene un talento de síntesis de otro nivel, que mago, MIl gracias!!
Wow gracias por tu comentario. Realmente el tema de las redes LSTM es denso, y no he visto ningún video en UA-cam que lo explique de una manera relativamente sencilla. Realmente me costó trabajo sintetizarlo de esta manera. Qué bueno que te haya gustado, un saludo!
Tu también has sintetizado muy bien la respuesta de muchos sobre este video.
Confirmo. Muchisimas gracias de verdad
@@codificandobits
En función de que parámetro se cuantas celdas LSTM se deben utilizar en un modelo?
@@liznv1536 La gran ventaja de todos estos modelos de Deep Learning es que lograr resultados impresionantes como por ejemplo con secuencias, como en el caso de las Redes LSTM.
La gran desventaja es que cada modelo se diseña a la medida de los datos. Así que, para responder tu pregunta, no existe un método analítico o matemático o una fórmula que nos permita definir los hiperparámetros del modelo (número de capas, número de celdas, etc.).
La manera de definir estos hiperparámetros es a través de las curvas de entrenamiento/validación, verificando el desempeño del modelo y que no exista under/overfitting. En el canal tengo videos que explican este proceso.
¡Un saludo!
Por fin veo una explicación clara y concisa de las redes LSTM. Muy bien!
Muchísimas gracias, se nota el amor con el que haces los vídeos, y tu pasión por enseñar, un saludo !
Gracias por tu comentario Pablo... creo que sí, la pasión por este tema se nota en los videos. Un saludo!
Se ganó un suscriptor, me gustan mucho sus explicaciones y sobre todo me ayudan mucho a comprender los temas de manera más arpida.
Bienvenido Ángel y un saludo!
Increíble la capacidad de transmitir conocimiento, saludos.
Gracias por tu comentario David! Un saludo!
Sr. Miguel, muy buenos dias, antes todo permiteme felicitarte, lo haces muy bien. Se entiende perfectamente lo que he visto hasta aqui. Felicitaciones nuevamente.
Vale, aprovecho y te pido una orientacion que me han solicitado en mi trabajo. Actualmente se tienen muchos pdfs, estos pdf pueden contener 5, 6 o 13 hojas. Cada pdf contiene informacion de gran relevancia y el cual la idea es "extraer lo mas relevante". Una forma en como se puede encontra en un parrafo algo como "ANTICIPO 30% antes de IVA, del valor total del contrato suma equivalente a $16.961.724 (DIECISÉIS MILLONES NOVECIENTOS SESENTA Y UN MIL SETECIENTOS VEINTICUATRO" [Anticipo] es un valor de gran importancia y se desea obtener el valor que le sigue, es decir el 30% para asi mostrar esos resultados y no tener que estar leyendo todo las hojas para asi obtener el resultado.
Otro valor de relevancia a tomar es lo que está asociado a la palabara contrato, es decir, $16.961.724
Cabe destacar que las posiciones de estos valores pueden cambiar, es decir, ese parrafo se encuentra en la hoja 2 pero hay casos en donde se encuentra en la hoja 5, 3 entre otras posiciones.
Pienso que es un tema bastante complejo, he estado estudiando, documentandome, pero agradezco toda la orientacion que puedas darme para dar inicio e ir logrando el objetivo que tanto se desea en mi trabajo.
[En una de esos estudios que he tenido, me he encontrado con algo llamado TEXT EXTRACTION "NER" y BIDIRECTIONAL LSTM pero sinceramente como todo novato no se por donde comenzar].
Agradezco tu pronta respuesta y nuevamente, felicitaciones lo haces muy bien.
Muy bueno, por fin un video de LSTM bien explicado !
Excelente explicación, saludos desde México!
se agradece el empeño puesto en la explicación !
😉
Te acabo de descubrir! Wow, sigue así y verás cómo crece tu canal, acabas de ganar un suscriptor y gracias por compartir tu conocimiento
Gracias por tu comentario Joshua! Y bienvenido al canal!
Estoy flipando, muchísimas gracias, tengo exámen en 2h
ohhh... Espero te sirva de algo!!! Un saludo
@@codificandobits eh aprové gracias a tí y le acabo de enviar el video a un colega que tiene el mismo examen.
Muchas gracias. Por fin una explicación simple y precisa del funcionamiento de las redes LSTM!
😉
Una genialidad de explicación. Muchas gracias por tu tiempo. Se agradece muchísimo este tipo de explicaciones!
Gracias por tu comentario Julián. Un saludo!
¡Muchas gracias Miguel!. ¡Es una excelente explicación!
Buenas tardes ... disculpe este tipo de red se puede utilizar para la clasificación de imágenes??
Excelente ..... continua mejorando y ampliando la información ..
Claro que sí. Un saludo!
Mejor no se puede explicar. Muchas gracias, amigo.
A ti un saludo Antonio y gracias por tu comentario!
eres muy bueno explicando, gracias por compartir
Gracias por tu comentario Ricardo! Un saludo!
Excelente claro y preciso!!! Muchas gracias.
Gracias por tu comentario Braulio. Saludos! 😀
SOS un crack brother gracias por lo enseñado
es cuestión de tiempo para que tengas muchos seguidores :), buen trabajo Miguel, sigo atento todos tus vídeos :D
Gracias por tu comentario. Un saludo y esperemos que así sea!
La mejor explicación que he encontrado de LSTM. Gracias Miguel. Tienes mi like y mi suscribe
Wow Miguel, gracias por tu comentario. De todos modos quedo abierto a cualquier sugerencia que tengas para mejorar el contenido del canal.
Un saludo!
@@codificandobits Gracias a ti hombre. Como sugerencia, en mi humilde opinión, una explicación de las GRUs, con tu maestría, haría la serie más completa. Un saludo
@@miguelpradesfarron9384 Gracias por la sugerencia. Y claro que sí, las GRU son una arquitectura esencial de las redes recurrentes.
Tan pronto pueda haré un video sobre el tema. Saludos!
@@codificandobitsMuchas gracias por tener en cuenta las sugerencias.
Cuando planteas la fórmula de la forget gate pones sigmoidal(Wf[at-1,X]+bf). A que te refieres con la coma entre at-1 y x, es multiplicación? Buen video. Muchas gracias.
Hola muy interesante la manera de enseñar. Sin embargo vengo investigando por varios lados y no consigo obtener respuesta con el siguiente problema.
Tengo una red entrenada con datos de ventas (por poner un ejemplo) diarias, que abarca un historico de enero de 2010 a diciembre de 2019. OK! Ahora bien, se supone que guardo mi modelo. Yo quiero saber, como podria hacer proyecciones o predicciones para febrero de 2020?. supongamos que yo , tengo los datos de ventas de enero de 2020. Pero quiero que, en base a esos datos, mi modelo (ya que se supone que detecta patrones), me haga una proyeccion para el mes de febrero. En otro lado lei que el modelo en produccion si o si necesitara de toooodo el historico para hacer la prediccion, lo cual me parece poco util y costoso computacionalmente, pasarle al modelo que ya esta "listo", un historico de 2010 a enero de 2020... No se si logre hacerme entender.. Saludos!
Muy didactico, muy bien!
¡Hola Julio y gracias por tu comentario! ¡Un saludo!
En función de que parámetro se cuantas celdas LSTM se deben utilizar en un modelo?
Muy buen video, me ha ayudado mucho para un trabajo de bachillerato. Pero tengo una pequeña duda de comprensión. Cuando operamos con c_t-1 y c_t que estamos haciendo realmente? f_t es un vector por ejemplo, x_t es un escalar. Pero c_t que es? Un vector o un escalar? O es algo más abstracto o diferente?
P.D. También tengo entendido que el estado oculto (a_t) funciona como un escalar.
Hola!! Muy buen video!! Tengo una duda si, he visto varias LSTM pero todas hacen predicciones de poco tiempo... ¿que tipo de red debo ocupar si necesito predecir un periodo de tiempo mayor (un año por ejemplo)?
muy bien explicado :) gracias por tu tiempo
Gracias por tu comentario. Un saludo!
Que bibliografía usas? Simon Haykin?
Excelente trabajo
Muy bueno. Mil gracias
No suelo comentar vídeos de UA-cam, pero de verdad, muchas gracias por el contenido
Gracias a ti Javier por seguir el canal. Y un saludo!
excelente explicacion amigo seria bueno que mostraras un ejemplo facil y muuuuuuuy elemental con python
Hola Abraham. Gracias por tu comentario y lo tendré en cuenta para un futuro video. Un saludo!
Hola Miguel realmente explicas muy bien los temas, sigue así.
Tengo una duda: la manera como entras a LSTM es única y tiene mucha lógica pero ¿por qué no mencionas el desvanecimiento del gradiente?, me refiero a que no necesitas mencionarlo para dar una buena razón para usar LSTM, ¿que relación tiene el desvanecimiento del gradiente con lo que explicas en el vídeo ?
Hola Samuel gracias por tu comentario y qué buena pregunta. Sí, el desvanecimiento del gradiente es un problema inevitable en todo tipo de arquitectura Deep Learning, especialmente en las redes recurrentes convencionales. Y como tú lo mencionas es un problema en parte resuelto por las redes LSTM.
El tema del desvanecimiento del gradiente lo menciono en este video, cerca del minuto 2:50. Aunque no entro en mucho detalle!!!
Saludos! 😉
Samuel aplicaste lstm para predecir texto ?
Que buena explicación, gracias. Saludos :D
😉
impresionante, mil gracias
😉
Fantástico video!!
¡Gracias por tu comentario Nicolás! Un saludo!
Excelente video! Gracias!
😉
Muy buen video, como siempre
😉
#Miguel... simplemente genial, muchas gracias. Tienes video sobre clasificación de textos con keras?
excelente video
Bro. Excelente explicación...
como demore en llegar qui
gracias
😉
Muy bueno!!!!
necesito una red , para prediciones financieras en el oro , donde puedo buscar repositorios para el entrenamiento ?
Hola Hernán. Creo que es arriesgado pensar en hacer trading usando Redes LSTM... El precio de una acción o el precio de un "commodity" (como el oro) depende de muchos factores que no podemos ver tan sólo a través de una serie de tiempo. Por tanto estos precios son muy volátiles y prácticamente imposibles de predecir con un alto grado de certeza...
De hecho, y esto es una opinión personal, creo que este es el gran problema del "trading": la imposibilidad de tener certeza con las predicciones a corto plazo. A veces funcionará, y ganaremos dinero, pero la mayoría de las veces la predicción fallará (sea cual sea el método que usemos).
Hola. Vi tu video y me quedé con una gran duda. En estos momentos estoy desarrollando un modelo de LSTM para la predicción de valores de series temporales. En la generación del modelo en python, según una documentación, uno puede especificar el número de neuronas (256) deseadas y la función de activación (por defecto trabajo con ReLu), en ese contexto cómo sería la arquitectura de toda la red?
Pd: Excelente explicación de este tipo de redes. Saludos!
Hola Juan. Para la red que mencionas la arquitectura sería la siguiente:
- CAPA DE ENTRADA: con un tamaño igual al de cada dato de entrenamiento
- RED LSTM: con 256 neuronas (en Keras la creas como "LSTM(units=256, ...)")
- CAPA DE SALIDA: con un tamaño igual a 1, pues supongo que en cada iteración generarás 1 dato a la vez. En Keras la creas como "Dense(units=1)".
Un saludo y me cuentas si te funciona.
@@codificandobits Hola, muchas gracias por responder, se te aprecia. Una solución que encontré es de la siguiente forma (por si alguien le interesa).
# numNeuronas es una variable de tipo entero
model.add(LSTM(numNeuronas, activation='relu', input_shape=(#ejemplos, #Pasos de tiempo)))
model.add(Dense(1))
@@JuanMantilla77 Tienes razón, en la misma función "LSTM" se puede agregar el tipo de activación. Un saludo!
como se manejan hidden y los layers, por ejemplo si tengo 120 neuronas en el hidden y 3 capas eso quiere decir que tengo 120 neuronas repartidas que son las celdas LSTM en las tres capas ..muchas gracias
Hola Jorge. No, en realidad tendrás:
- Capa de entrada con un número de neuronas igual al número de elementos de cada dato de entrada
- Capa oculta: LSTM con 120 neuronas
- Capa de salida: con un número de neuronas igual al número de categorías que tengas (si estamos hablando de clasificación). Por ejemplo este número de neuronas será igual a 2 si es clasificación binaria.
Un saludo!
Muy bueno el video
😉
Buena explicación.
Y un detalle, en español no se utiliza "remover" cuando queremos decir "eliminar", es un falso amigo del inglés.
Remover en español es agitar, menear,... para mezclar algo.
De acuerdo con el diccionario de la RAE, en su acepción número 3, «remover» puede ser un sinónimo de «quitar», «retirar».
Por mucho que he buscado, en ningún lugar dicen con un mínimo de claridad, cómo se entrena una red LSTM. ¿Se hace con la regla de la cadena igualmente, aplicada a esta estructura particular?
Hola Octavio. Usualmente se entrena con los métodos convencionales usados en otro tipo de redes (como las neuronales y las recurrentes): gradiente descendente (o alguna variante) para actualizar los coeficientes de cada neurona, y "backpropagation" para calcular las derivadas que, a su vez, permiten actualizar los valores del gradiente. En este caso, y desde el punto de vista matemático, backpropagation usa precisamente la regla de la cadena.
Un saludo!
@@codificandobits Muchas gracias.
Tengo el problema de que mi carrera es de ciencias matemáticas, y para mí las notaciones de diferenciales de los físicos, químicos e ingenieros tienen poco sentido, aunque ya me aclaré lo suficiente, pero no sin sufrimiento. ☺👍
@@octaviooctavio1548 jajaja!!! Yo soy Ingeniero y sí, a veces me cuesta entender a los matemáticos!!! Es como si "habláramos" lenguajes diferentes. Un saludo!
@@codificandobits El problema es que todo esto está escrito por ingenieros, o casi todo, y me cuesta mucho entenderlo. Estaba desesperado cuando te escribí.
Un saludo.
@@octaviooctavio1548 :) :) :)
el Dios de las explicaciones jaja el unico que le entendi
gracias por el video
Maestro!
esto queria que hicieran video...
cuesta hallar info en youtube...
por que.......
bueno pueden hacer i.a.
que haga cosas malas XD.
yo si quisiera hacer i.a. en pc bajo recurso si se puede.
¿Cómo le doy like otra vez?
😆😆😆
Yo viendo esto para mi trabajo de física sobre biomecanoca estudiando medicina:"v 😢😢
XD jajajajajaja, si se dio cuenta del "Forgate" XD
ja, ja, ja... No lo había notado!