Red Neuronal Convolucional en PyTorch / Tutorial de PyTorch para CNN - Parte 1

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น •

  • @anonimomccn
    @anonimomccn ปีที่แล้ว +2

    Super bueno el vídeo, me ha costado mucho el manejo de esta librería, pero sos súper claro en la explicación, gracias 👍🏽

  • @jadergiraldo7469
    @jadergiraldo7469 ปีที่แล้ว +1

    Excelente contenido son clases magistrales de ciencia computacional pero super prácticas y en tutoriales wowww....

    • @PepeCantoralPhD
      @PepeCantoralPhD  11 หลายเดือนก่อน

      Muchísimas gracias por tu comentario y apoyo al canal! Te deseo lo mejor en este año que está empezando! Muchos saludos!

  • @robertoroig553
    @robertoroig553 ปีที่แล้ว +2

    Hola Pepe, enhorabuena por tus videos. Necesito mejorar mis competencias con pytorch y cnn y tus videos son oro puro. Muchas gracias por compartir !

    • @PepeCantoralPhD
      @PepeCantoralPhD  ปีที่แล้ว

      De verdad muchas gracias por tu comentario y apoyo al canal. Lo aprecio mucho y me motiva mucho para continuar publicando contenido. Muchos saludos!

  • @sariojorgeroden
    @sariojorgeroden 2 ปีที่แล้ว +1

    Muy buen vídeo con todos los detalles muy bien explicados. Gracias Pepe.

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว

      Jorge, de verdad aprecio todo el apoyo que le has dado al canal. La segunda parte de la CNN en PyTorch está programada para salir en unas horas. En este video explico mi estilo favorito de utilizar PyTorch, ya que se usan clases para la implementación de la red, lo que te brinda bastante flexibilidad. Te mando muchos saludos, y de nuevo muchas gracias por tu comentario y apoyo al canal.

  • @acevedovielmasfelipealbert2551
    @acevedovielmasfelipealbert2551 2 ปีที่แล้ว +1

    Excelente vídeo.

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว

      Muchas gracias, te agradezco enormemente el comentario y el apoyo al canal! Saludos y hasta pronto!

  • @blancalorenamartinezmorfin2968
    @blancalorenamartinezmorfin2968 2 ปีที่แล้ว +1

    Gracias Pepe

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว

      Gracias a tí Blanca por tu comentario. Muchos saludos!

  • @mariacamiladurangobarrera2821
    @mariacamiladurangobarrera2821 2 ปีที่แล้ว +1

    Great!

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว

      Muchísimas gracias por tu comentario. Agradezco enormemente tu apoyo al canal. Muchos saludos!

  • @mauriciolugo6239
    @mauriciolugo6239 2 ปีที่แล้ว +1

    Muy buen vídeo. Me gustaría observar la implementación gráfica, utilizando matplotlib, de las gráficas de entrenamiento de los modelos. Para tener una referencia visual de la mejora del 53% (modelo lineal) vs 63% (modelo Convolucional)

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว +1

      Muchas gracias por tu comentario y tu sugerencia Mauricio. En los próximos videos implementaré alguna gráfica para desplegar de forma visual los resultados obtenidos, excelente sugerencia! Muchos saludos y hasta pronto!

  • @LeonardoEnriqueMorenoFlores
    @LeonardoEnriqueMorenoFlores 2 ปีที่แล้ว +1

    Muchísimas gracias Pepe fue un tremendo video pero tengo una consulta, cuando realizas la normalización la haces por cada capa y eso es , por que en cada se puede aprender diferentes características de la imagen?

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว +1

      Hola Leonardo! Que gusto leer tu comentario.
      Imagino te refieres a Batch Normalization (BN), que efectivamente es una normalización entre capas. La idea de realizar una normalización en cada capa es similar al proceso de normalizar las entradas a la red neuronal, haciendo un proceso de normalización estándar estadístico (z), donde restas la media y divides el resultado entre la desviación estándar del minibatch que estás procesando, generando así una distribución con una media de 0 y una std de 1.
      Pepe Cantoral, Ph.D.
      • 1 month ago 845 subscribers
      Hola David, muchas gracias por tu comentario! Es una excelente pregunta que definitivamente abordaré con más detalles en un video próximo.
      Por lo pronto, me imagino que te refieres a las capas de Batch Normalization (BN) que efectivamente se utilizan mucho entre capas de una red neuronal, no son exclusivas de las CNNs, pueden aplicarse en una red fully connected, pero definitivamente se utilizan casi siempre con CNNs.
      De forma breve, el principio de estas capas es que permiten acelerar el proceso de entrenamiento de una red neuronal. En un video pasado mencioné que se pueden normalizar las entradas a una red neuronal restando la media y dividiendo este resultado entre la desviación estándar de tu dataset, generando una media de 0 y una std de 1, lo cual puede acelerar el entrenamiento de tu modelo. (A continuación parafraseo una respuesta que dí a una pregunta previa que explica muy rápido el proceso de BN).
      En una capa de BN, el principio de normalización es el mismo, sólo que ahora en vez de normalizar los datos de entrada lo que normalizas es la salida de cada capa en la red neuronal antes de pasarla a la función de activación. Para normalizar, ahora lo que haces es utilizar los valores de media y desviación estándar del minibatch completo y así el efecto es que la distribuación estadística de tus neuronas tenga una media de 0 y std de 1, lo cual en general ayuda a entrenar más rápido.
      Es importante notar que puede darse el caso de que no siempre te convenga normalizar las salidas de tus neuronas, por esto el valor normalizado que acabas de obtener se multiplica por un parámetro gamma y se le suma un valor beta (no confundir con momentum, se llama beta pero es totalmente independiente), los cuáles son nuevos parámetros que la red neuronal tendrá que aprender a través del proceso de entrenamiento, así dependiendo de los valores de gamma y beta la red podría revertir completamente esta normalización.
      Recientemente, también se ha demostrado que estos parámetros gamma y beta ayudan mucho al proceso de entrenamiento ya que permiten reducir el valor de la función de costo más rápidamente.
      Entonces, en resumen estas capas de BN permiten entrenar más rápido porque: 1. normalizan las salidas de las neuronales generando una distribución con media de 0 y std de 1, y 2. Agregan parámetros al modelo que permiten ajustar las salidas de las neuronas permitiendo que el modelo converja más rápidamente. Además, de ser más conveniente estos parámetros pueden revertir la normalización completamente.
      Muchas gracias por tu pregunta Leonardo, como siempre un gusto leer tus mensajes. Muchos saludos y hasta pronto!

    • @LeonardoEnriqueMorenoFlores
      @LeonardoEnriqueMorenoFlores 2 ปีที่แล้ว +1

      @@PepeCantoralPhD Muchísimas gracias!!

  • @julian.lopz57
    @julian.lopz57 2 ปีที่แล้ว +1

    Hola Pepe. Muy buenos tus videos, estoy terminando de ver los de las redes convolucionales, pero vi todos los primeros que hiciste sobre conceptos de redes neuronales. Una duda que me queda, duda mas bien teórica, ¿por qué al final de toda la red no va una función de activación? Siempre utilizás ReLU para las salidas de las capas intermedias, pero al final no especificás que función de activación se utiliza. ¿Esto es así siempre?
    Saludos!

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว +1

      Hola Julián, muchas gracias por tu comentario y pregunta! Muy buen punto, en realidad sí se utiliza una función de activación para la última capa que es la función Softmax th-cam.com/video/3KhumV1S6vs/w-d-xo.html
      Sin embargo, al menos que hagamos una implementación desde cero, usualmente no mostramos su implementación. Esto es porque usualmente los frameworks de Deep Learning la implementan en conjunto con la función de costo (cross entropy) entonces solamente mándamos las salidas lineales o scores pero internamente en la función de costo cross entropy se implementa la función de activación Softmax para clasificadores multiclase. El motivo por el que se hace de esta manera es porque dado que hay funciones exponenciales en Softmax y logaritmos naturales en la función de costo, es más eficiente computacionalmente si se implementa todo en la misma función.
      Espero haya ayudado a resolver tu duda, muchas gracias y muchos saludos. Hasta pronto!!!

  • @BrunoF-yi4ow
    @BrunoF-yi4ow ปีที่แล้ว +1

    Viva 🇷🇺 Z 🇷🇺, Wagner y 🇲🇽 Z 🇲🇽,... #México apoya al pueblo Ruso y al presidente #Putin 👈🖤💜🖤💜🙏💪💪💪

  • @Rojass760
    @Rojass760 2 ปีที่แล้ว +1

    Alguien sabe en donde puedo ver el listado que tiene pytorch en cuanto a que CNN´s maneja?

    • @PepeCantoralPhD
      @PepeCantoralPhD  2 ปีที่แล้ว +1

      Hola Alexis, disculpa la demora en responder, en caso de que aún sea de tu interés en esta liga puedes revisar los modelos pre entrenados de PyTorch.
      pytorch.org/vision/stable/models.html
      Muchos saludos y mucho éxito!

    • @Rojass760
      @Rojass760 2 ปีที่แล้ว

      @@PepeCantoralPhD Muchas gracias dr, saludos!