Que tal Miguel, excelentes explicaciones nos has regalado a todos los que estamos tratando de crecer en lo que es machine learning. Te agradezco mucho por esto. También me gustaría robarte un poco de tu tiempo con una consulta. En este video , el output actual "y" incluye en su transformación el estado oculto actual "a", lo cual me lleva a pensar que "a" precede a "y". Sin embargo, en la parte de LSTM, pareciera ocurrir lo inverso. Sabrías por que esto es así?...Gracias!!..Saludos cordiales,
Muy buena explicación, saber enseñar de esa forma es un don que require mucho entrenamiento al pasar del tiempo ... similarmente al entrenamiento de RNNs 😉
@@ignaciosanchezgendriz1457 La mayor parte de mi experiencia ha sido en la academia, como profesor e investigador universitario. Pero en la actualidad estoy dedicado de lleno a Codificando Bits, ofreciendo cursos de formación y consultorías en temas de Machine Learning y Ciencia de Datos. Un saludo!
Ummm... no creo que sea el uso más adecuado. Aunque desconozco la aplicación que estás desarrollando creo que el Aprendizaje por Refuerzo es la técnica de IA más adecuada si te interesa controlar un robot. Un saludo!
Muy Buen trabajo amigo, este tipo de canales es de mucha ayuda para los que estamos entrando en este mundo del IA, Machine Learning y Deep Learning, un saludo sigue asi.
Hola, buen video. Pero no me queda claro que beneficios tiene que los coeficientes Waa, Wax, ba, Wya by sean invariantes en el tiempo. ¿Si fueran variantes en el tiempo esto tendría un costo en términos de memoria más alto?
Tengo una duda, la RNN como puede ser utilizada para analizar series de tiempo (ejemplo: señal de un electrocardiograma, electroencefalograma), digamos que en estos casos cada instante de tiempo tiene un valor de voltaje diferente, como podría utilizar RNN ?
En realidad se podrían usar redes convolucionales (CNN) o redes recurrentes (RNN, LSTM) dependiendo del tipo de análisis que quieras realizar. Si por ejemplo el objetivo es detectar patrones, como por ejemplo la respuesta del cerebro ante la presencia de un estímulo, se pueden usar las CNN, dividiendo previamente la señal EEG por bloques de tiempo. Por otra parte, si deseas por ejemplo detectar emociones (lo que en psicología se conoce como valencia, arousal o dominancia) en tiempo real, se puede usar una variante de las redes recurrentes mostradas en este video (conocidas como LSTM y que veremos en un próximo video). Un saludo!
Hola, muy bine explicado. Te consulto, me serviría para predecir procesos? Yo tengo proceso con pasa que van del 0 al 24. Tengo modelos que predicen el paso 24, cuando ya están en el 23. Luego tengo otros que predicen en que estado terminara el paso 24 partiendo de variables, antes de empezar por el primero. Pero lo que estoy necesitando es llegar por ejemplo hasta el paso 12 o 16(o cualquiera intermedio) y que me marque las futuras secuencias de pasos- se entiende?
Hola Walter. No sé si te entienda, pero creo que quieres predecir más de un paso a futuro. Es decir, predecir hasta el paso 12 partiendo por ejemplo del paso 8? Esto sería en principio posible con una red LSTM, aunque realmente habría que mirar qué tipo de datos tienes en cada paso, así como la cantidad de datos disponibles para el entrenamiento. Me podrías dar más información?
Muchas gracias por la explicacion aunque tengo dos dudas cuando conectas una capa de RNN a otra (una densa por ejemplo) las salidas de las celulas RNN se conectan totalmente como entre densas? y cuando definimos una capa de RNN con una cantidad x de celulas cada una de ellas intenta aprender diferentes dependencias en el tiempo o todas se comportan como una sola? de antemano gracias.
Hola! Respondo acá tus preguntas: 1. Sí, entre una capa y otra de una RNN las unidades (o células) se conectan unas con otras, tal como ocurre en una red neuronal convencional. 2. Si tengo "x" unidades en una RNN cada una de ellas aprende diferentes coeficientes, pero todos ellos combinados permiten realizar la predicción de un instante de tiempo a otro. Un saludo!
Hola Hassan. El tema del número de neuronas y número de capas en cualquier arquitectura (DNN, CNN o RNN) es un aspecto muy discutido en la actualidad. Hasta la fecha no existe una regla que defina con claridad cuántas capas y cuántos nodos debe tener la arquitectura. Esto se debe a que el comportamiento de la red depende de los datos que queramos procesar, y estos pueden ser muy variados, lo que hace muy difícil que "a priori" podamos establecer una regla para determinar el tamaño de la red. Usualmente lo que se hace es un proceso de prueba y error, en donde se define una arquitectura lo más compacta posible y que genere un error de entrenamiento y validación relativamente bajo. En el caso de las RNNs se sugiere comenzar con una sola capa oculta, y entre 2 y 5 neuronas. Entrenar y verificar cómo se comporta el entrenamiento al incrementar el número de neuronas. Es un proceso de prueba y error, donde poco a poco podemos ir "afinando" nuestra red, hasta que tenga el tamaño que genere los mejores resultados. Un saludo!
@@codificandobits normal mente el DNN calculo cuantas variables ay, si tengo 5 variables pongo 6 capas ocultas y 6 neuronas en cada una y me funciona muy bien, en el caso de XOR tenemos 2 variables, y con 3 capas y 3 neuronas encuentra el mejor resultado, esto lo encontre en youtube, ay alguna manera de calcular variables o longitud de frase que me pueda ayudar a calcular por primera vez ??
Hola Hassan. Desafortunadamente en el caso de las RNN/LSTM no existe una regla de este estilo que permita definir el número de capas y neuronas(unidades) por capa. De hecho el número de neuronas no está relacionado con la longitud de la frase, lo cual dificulta aún más la definición de un modelo base. Aunque si existe una recomendación general (que también aplica para las DNN): el número total de parámetros del modelo debe ser siempre menor al número de ejemplos de entrenamiento, con lo cual se garantiza que durante el entrenamiento el modelo no solo "aprenderá" los datos, sino que también estará en capacidad de "generalizar" ante datos no vistos previamente.
Como sería el entrenamiento de una RNN con una estructura many to one, con un vector de entrada de 4 caracteristicas estadisticas para predecir un lesion
Por favor quien me ayuda con esta duda, La recurrencia se hace para todas y cada una de las neuronas de la red o solo se guarda la salida de toda la red neuronal, para luego usar esa salida como entrada de toda la red neuronal
Hola Carlos. Las dos cosas que mencionas son válidas! Es decir: (1) La salida de la iteración anterior se preserva y se usa como parte de la entrada a la red en la siguiente iteración (2) Y lo anterior implica que cada neurona es alimentada por esta información proveniente de las iteraciones anteriores Un saludo!
@@codificandobits muchas gracias, pero la pregunta es si en las neuronas de las capas ocultas, son retroalimentarás con su propia salida de un instante previo ?
🔥🔥Academia Online: codificandobits.com 🔥🔥
🔥🔥Asesorías y formación personalizada: codificandobits.com/servicios 🔥🔥
excelente su explicación del primer video, y en este fue genial. Muchas gracias¡¡¡¡¡
primer video de youtube que ve4o sin 'dislikes' jaja buen video!
Sí César, tienes razón, no lo había notado. Un saludo!
@Angel Maximilian hi, i dont understand, why this message ?
excelente, ya estudie los 3 principales tipos de aprendizajes, ahora voy con el deep learning desde el perceptron ahora voy con esta red
Super bien explicado, muchas gracias !
Magistral explicación!!
Excelente explicación, ¡gracias Miguel!
muy buenos videos, bien explicados.
Hola y muchas gracias por tu comentario. Un saludo!
Gracias por aclarar conceptos
Muy bien explicado. Muchísimas gracias.
😉
Me encanta, eres excelente explicando y espero puedas seguir desarrollando contenido.
Hola. Gracias por tu comentario. Sí, el canal va creciendo poco a poco, y la idea es seguir publicando contenido de gran calidad. Un saludo!
Excelente video y excelente canal.
Excelente !!! Muy bien explicado, se esmera
Que tal Miguel, excelentes explicaciones nos has regalado a todos los que estamos tratando de crecer en lo que es machine learning. Te agradezco mucho por esto. También me gustaría robarte un poco de tu tiempo con una consulta. En este video , el output actual "y" incluye en su transformación el estado oculto actual "a", lo cual me lleva a pensar que "a" precede a "y". Sin embargo, en la parte de LSTM, pareciera ocurrir lo inverso. Sabrías por que esto es así?...Gracias!!..Saludos cordiales,
Excelente explicación! muy clara! gracias
gracias
😉
Muy buena explicación, saber enseñar de esa forma es un don que require mucho entrenamiento al pasar del tiempo ... similarmente al entrenamiento de RNNs 😉
Wow, gracias por tu comentario Ignacio! Un saludo!
@@codificandobits Una didática fantástica Miguel, mis felicitaciones! Ud trabaja donde: área académica, mercado ...?
@@ignaciosanchezgendriz1457 La mayor parte de mi experiencia ha sido en la academia, como profesor e investigador universitario. Pero en la actualidad estoy dedicado de lleno a Codificando Bits, ofreciendo cursos de formación y consultorías en temas de Machine Learning y Ciencia de Datos. Un saludo!
@@codificandobits pues continue esa linda labor mi amigo, fantásticos sus vídeos!
Buen Video! gracias
Fantástico Curso.
José Manuel gracias por tu comentario y ¡un saludo!
ufff que buen video! me aclaraste un montón el concepto, mil gracias :D
:) :) qué bueno. Un saludo!
Buenos dias. Muy buen Video. Una pregunta, podría usar una red recurrente para poder generar movimiento de un punto a otro par aun brazo robotico. ?
Ummm... no creo que sea el uso más adecuado. Aunque desconozco la aplicación que estás desarrollando creo que el Aprendizaje por Refuerzo es la técnica de IA más adecuada si te interesa controlar un robot. Un saludo!
Muy Buen trabajo amigo, este tipo de canales es de mucha ayuda para los que estamos entrando en este mundo del IA, Machine Learning y Deep Learning, un saludo sigue asi.
Gracias por tus comentarios. Un saludo!
Que bibliografía usas? Simón Haykin? Cuál recomiendas más?
Hola, buen video. Pero no me queda claro que beneficios tiene que los coeficientes Waa, Wax, ba, Wya by sean invariantes en el tiempo. ¿Si fueran variantes en el tiempo esto tendría un costo en términos de memoria más alto?
Estoy atrasado 4 años, gracias por tu buen video
¿Alguien más llegó aquí haciendo la especialización de Coursera?
Cual, menvia el link por favor
Tengo una duda, la RNN como puede ser utilizada para analizar series de tiempo (ejemplo: señal de un electrocardiograma, electroencefalograma), digamos que en estos casos cada instante de tiempo tiene un valor de voltaje diferente, como podría utilizar RNN ?
En realidad se podrían usar redes convolucionales (CNN) o redes recurrentes (RNN, LSTM) dependiendo del tipo de análisis que quieras realizar.
Si por ejemplo el objetivo es detectar patrones, como por ejemplo la respuesta del cerebro ante la presencia de un estímulo, se pueden usar las CNN, dividiendo previamente la señal EEG por bloques de tiempo.
Por otra parte, si deseas por ejemplo detectar emociones (lo que en psicología se conoce como valencia, arousal o dominancia) en tiempo real, se puede usar una variante de las redes recurrentes mostradas en este video (conocidas como LSTM y que veremos en un próximo video).
Un saludo!
Hola, muy bine explicado. Te consulto, me serviría para predecir procesos? Yo tengo proceso con pasa que van del 0 al 24. Tengo modelos que predicen el paso 24, cuando ya están en el 23. Luego tengo otros que predicen en que estado terminara el paso 24 partiendo de variables, antes de empezar por el primero. Pero lo que estoy necesitando es llegar por ejemplo hasta el paso 12 o 16(o cualquiera intermedio) y que me marque las futuras secuencias de pasos- se entiende?
Hola Walter. No sé si te entienda, pero creo que quieres predecir más de un paso a futuro. Es decir, predecir hasta el paso 12 partiendo por ejemplo del paso 8?
Esto sería en principio posible con una red LSTM, aunque realmente habría que mirar qué tipo de datos tienes en cada paso, así como la cantidad de datos disponibles para el entrenamiento.
Me podrías dar más información?
Muchas gracias por la explicacion aunque tengo dos dudas cuando conectas una capa de RNN a otra (una densa por ejemplo) las salidas de las celulas RNN se conectan totalmente como entre densas? y cuando definimos una capa de RNN con una cantidad x de celulas cada una de ellas intenta aprender diferentes dependencias en el tiempo o todas se comportan como una sola? de antemano gracias.
Hola!
Respondo acá tus preguntas:
1. Sí, entre una capa y otra de una RNN las unidades (o células) se conectan unas con otras, tal como ocurre en una red neuronal convencional.
2. Si tengo "x" unidades en una RNN cada una de ellas aprende diferentes coeficientes, pero todos ellos combinados permiten realizar la predicción de un instante de tiempo a otro.
Un saludo!
Hola . muchas gracias por su muy útil explicación . Tengo una pregunta , en instante inicial t1 , cual seria el valor de a(t-1) ?
Hola Iván. a(t-1) es un valor aleatorio. Un saludo!
Buenas tardes, entonces si quiero mejorar la precisión de un transcriptor de audio a texto, puedo o debo ocupar redes neuronales recurrentes?
buen trabajo, esta muy bien explicado. pero podrías explicarnos como calcular el numero de neuronas necesarias para crear un proyecto
Hola Hassan.
El tema del número de neuronas y número de capas en cualquier arquitectura (DNN, CNN o RNN) es un aspecto muy discutido en la actualidad.
Hasta la fecha no existe una regla que defina con claridad cuántas capas y cuántos nodos debe tener la arquitectura. Esto se debe a que el comportamiento de la red depende de los datos que queramos procesar, y estos pueden ser muy variados, lo que hace muy difícil que "a priori" podamos establecer una regla para determinar el tamaño de la red.
Usualmente lo que se hace es un proceso de prueba y error, en donde se define una arquitectura lo más compacta posible y que genere un error de entrenamiento y validación relativamente bajo.
En el caso de las RNNs se sugiere comenzar con una sola capa oculta, y entre 2 y 5 neuronas. Entrenar y verificar cómo se comporta el entrenamiento al incrementar el número de neuronas. Es un proceso de prueba y error, donde poco a poco podemos ir "afinando" nuestra red, hasta que tenga el tamaño que genere los mejores resultados.
Un saludo!
@@codificandobits normal mente el DNN calculo cuantas variables ay, si tengo 5 variables pongo 6 capas ocultas y 6 neuronas en cada una y me funciona muy bien, en el caso de XOR tenemos 2 variables, y con 3 capas y 3 neuronas encuentra el mejor resultado, esto lo encontre en youtube, ay alguna manera de calcular variables o longitud de frase que me pueda ayudar a calcular por primera vez ??
Hola Hassan. Desafortunadamente en el caso de las RNN/LSTM no existe una regla de este estilo que permita definir el número de capas y neuronas(unidades) por capa. De hecho el número de neuronas no está relacionado con la longitud de la frase, lo cual dificulta aún más la definición de un modelo base.
Aunque si existe una recomendación general (que también aplica para las DNN): el número total de parámetros del modelo debe ser siempre menor al número de ejemplos de entrenamiento, con lo cual se garantiza que durante el entrenamiento el modelo no solo "aprenderá" los datos, sino que también estará en capacidad de "generalizar" ante datos no vistos previamente.
@@codificandobits bueno muchas gracias :)
@@sniperdaoud ;)
Como sería el entrenamiento de una RNN con una estructura many to one, con un vector de entrada de 4 caracteristicas estadisticas para predecir un lesion
5:38 mencionas que el output usa el estado del instante previo pero ahí muestras como usa (At), siendo At el estado actual???
Hola Hugo gracias por tu comentario. El estado previo es a_(t-1) que aparece del lado izquierdo del bloque RNN.
Un saludo!
Por favor quien me ayuda con esta duda, La recurrencia se hace para todas y cada una de las neuronas de la red o solo se guarda la salida de toda la red neuronal, para luego usar esa salida como entrada de toda la red neuronal
Hola Carlos. Las dos cosas que mencionas son válidas! Es decir:
(1) La salida de la iteración anterior se preserva y se usa como parte de la entrada a la red en la siguiente iteración
(2) Y lo anterior implica que cada neurona es alimentada por esta información proveniente de las iteraciones anteriores
Un saludo!
@@codificandobits muchas gracias, pero la pregunta es si en las neuronas de las capas ocultas, son retroalimentarás con su propia salida de un instante previo ?
Wuaw no