“Backpropagation” - Fundamentos de Deep Learning - (Parte 7)

Sdílet
Vložit
  • čas přidán 13. 09. 2024
  • En este video empiezo con una recapitulación del algoritmo de “Gradient Descent” para actualizar nuestros parámetros, es decir los pesos sinápticos (W) y los biases (b). Después muestro cómo calcular el número total de parámetros de una red neuronal, para finalmente explicar “Backpropagation” o algoritmo de “retro propagación”, que es utilizado para calcular el gradiente de la función de costo con respecto a los parámetros de la red neuronal.
    Acerca de la serie Fundamentos de Deep Learning con Python y PyTorch:
    En esta serie de videos explico qué son las Redes Neuronales (Neural Networks) y qué es Aprendizaje Computacional (Machine Learning) así como Deep Learning. Empezamos con los principios matemáticos fundamentales hasta su implementación en código. Para esto, primero utilizaremos Python y Numpy para entender los principios de programación de Redes Neuronales incluyendo el algoritmo de retropropagación (backpropagation). Con estas bases, presentaremos el framework PyTorch y construiremos modelos más complejos como son Redes Neuronales Convolucionales (Convolutional Neural Networks - CNNs).
    About the video series:
    In this video series I will explain what Neural Networks are, and how Deep Neural Networks work, from the mathematical principles to their implementation in code. Firstly, we will use pure Python and Numpy to understand the fundamentals including backpropagation for a simple Fully Connected Network, and from there we will build on to Convolutional Neural Networks (CNN) using PyTorch. I will be uploading at least one new video every week until we reach different architectures of CNNs. Then, depending on the response and interest in the series I may cover newer models using Generative Adversarial Networks (GANs), and Recurrent Neural Networks.

Komentáře • 21

  • @SRV900
    @SRV900 Před 6 měsíci +1

    Sigo con esta maratón de 53 videos!
    9/53 vistos. Muchas gracias Pepe! Volví recargado luego de 4 meses, a seguir con esta maratón. Clarísimo todo, lo hacés taaan fácil!

    • @PepeCantoralPhD
      @PepeCantoralPhD  Před 5 měsíci

      @SRV900, de verdad muchas gracias por tu comentario y por el apoyo al canal! Muchos saludos!

  • @galoomarvera1719
    @galoomarvera1719 Před 5 měsíci +2

    Eres lo máximo

    • @PepeCantoralPhD
      @PepeCantoralPhD  Před 5 měsíci

      De verdad, muchísimas gracias por tu apoyo al canal y tu comentario! Muchos saludos!

  • @walterrodriguez2696
    @walterrodriguez2696 Před rokem +1

    Excelente explicación! Debería tener 137k likes

  • @PituPonsone
    @PituPonsone Před rokem +1

    Pepe, buen día desde Argentina. Soy Ingeniero Electrónico y me estoy metiendo de a poco en este mundo. Muchas gracias por tus aportes, hay muchos videos o recursos que se limitan a aplicar funciones y modelos sin explicar realmente que está pasando o cuales son los fundamentos detrás de cada concepto.
    Te agradezco nuevamente, saludos!

    • @PepeCantoralPhD
      @PepeCantoralPhD  Před rokem +2

      Muchísimas gracias por tu comentario y apoyo al canal! Yo también soy de formación Ing. Electrónica, pero llevo muchos años trabajando en Ciencias computacionales. Pienso que tener conocimientos de programación a bajo nivel por ejemplo C para embebidos, o VHDL/Verilog te permite implementar código en lenguajes de alto nivel como Python de forma mucho más eficiente. Muchos saludos y de nuevo muchas gracias por tu comentario. Muchos saludos!

  • @gabopython
    @gabopython Před 2 lety +1

    gracias profe

    • @PepeCantoralPhD
      @PepeCantoralPhD  Před 2 lety

      Muchas gracias por tu comentario y apoyo al canal! Muchos saludos!

  • @cristhianipanaquesanchez4679

    gracias!

  • @untalbj
    @untalbj Před 3 lety +3

    Hola, una pregunta, para el algoritmo, según la red neuronal que utiliza, no está aplicando la función de activación a la suma ponderada de cada neurona (que sería Z--fn-->A) y según he visto en otros videos, aplicar la función de activación implica otro gradiente de J respecto a A y ya no sería de J respecto a Z ?

    • @PepeCantoralPhD
      @PepeCantoralPhD  Před 3 lety +2

      Hola Brandon! Muchas gracias por tu pregunta. Tienes toda la razón, se debe aplicar una función de activación no lineal (ReLU, leaky ReLU, sigmoid, por ejemplo) después de la transformación lineal (por cada capa).
      Sin embargo, en este video aún no presento funciones de activación y mi intención es explicar qué es "backpropagation" sin necesidad de saber qué son las funciones de activación.
      Esta liga czcams.com/video/ftlqZwb33SE/video.html debe llevarte a la lista completa de videos de la serie, este video es el video 9 de la serie, en el video 12 presento el tema de funciones de activación (czcams.com/video/IdlYuBKeFXo/video.html) donde explico la necesidad de utilizar esta funciones no lineales,
      En particular te invito a ver el video 13 (czcams.com/video/Xc2Gsx2DkJA/video.html) donde presento como crear una red neuronal multicapa ya considerando funciones de activación, incluyendo el gradiente con respecto a las mismas como tu comentas (dJ/dA). Asimismo, en los videos de programación, muestro como programar desde cero (sólo Python) los gradientes de la función de Costo con respecto a todas los puntos requeridos, incluyendo funciones de activación. A partir del video 14 son videos de código, y en la siguiente liga está el primer video de una red neuronal completa de dos capas czcams.com/video/W5HJKWL2i08/video.html. También tengo un video donde explico cómo inicializar los parámetros de la red (czcams.com/video/hFa6sYJnTfs/video.html), y cómo crear una red neuronal multicapa creado tus propios objetos de capas sin utilizar frameworks czcams.com/video/_shpKyA89QQ/video.html
      Con estos fundamentos, en mi siguiente video, empezaré a utilizar PyTorch para crear arquitecturas más complejas.
      Muchas gracias por tu comentario, espero haber contestado tu pregunta.

    • @untalbj
      @untalbj Před 3 lety +1

      @@PepeCantoralPhD Muchísimas gracias !

  • @JoelPasapera
    @JoelPasapera Před rokem

    aqui 15:19 , ¿porque usas la notación tradicional y no la de derivada parcial ? veo que se trata de una función con varias variables. Es decir el nodo es igual al producto entre w y z + b. Aqui hay mas de una variable. ¿en este caso no seria mejor usar la notación de derivada parcial porque se trata de varias variables? ¿porque decias que se trata de una sola variable? ¿que sucede con b y w, son 2 variables?

  • @SwirlTornadoJuega
    @SwirlTornadoJuega Před rokem

    Hola... Quisiera saber si me compartirias algún artículo relacionado a Descenso del gradiente.

  • @angellaguna5374
    @angellaguna5374 Před rokem

    muy bien explicado !

  • @luismiguelpatinobuendia5141

    Se nota mucho la diferencia entre la organización y precisión del contenido de éste vídeo en comparación con la parte 6.

  • @chriss6114
    @chriss6114 Před 11 měsíci +1

    arriba MNA ITESM