CursosEmpresasBlogLiveConfPrecios

Implementación y ejemplos de redes neuronales funcionando

Clase 9 de 9 • Curso de Redes Neuronales y Backpropagation 2017

Contenido del curso

Retropropagación: Visión general

  • 1
    Cómo funciona el aprendizaje supervisado en una Red Neuronal

    Cómo funciona el aprendizaje supervisado en una Red Neuronal

    10:21 min
  • 2
    Un LEGO a la vez: Explicando las matemáticas de cómo aprenden las Redes Neuronales

    Un LEGO a la vez: Explicando las matemáticas de cómo aprenden las Redes Neuronales

    02:25 min

Evaluación de errores

  • 3
    Función de costo, supuestos y probabilidad

    Función de costo, supuestos y probabilidad

    04:51 min
  • 4
    Un Ejemplo Concreto: Aprendiendo la Función XOR

    Un Ejemplo Concreto: Aprendiendo la Función XOR

    02:14 min

Optimización matemática

  • 5
    Cuál es el algoritmo de retropropagación

    Cuál es el algoritmo de retropropagación

    06:26 min
  • 6
    Actualizar los pesos de la red neuronal utilizando gradientes

    Actualizar los pesos de la red neuronal utilizando gradientes

    10:19 min
  • 7
    Propagación hacia atrás

    Propagación hacia atrás

    01:29 min
  • 8
    Demo: aprendiendo a separar clases

    Demo: aprendiendo a separar clases

    14:08 min
  • 9
    Implementación y ejemplos de redes neuronales funcionando

    Implementación y ejemplos de redes neuronales funcionando

    Viendo ahora
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Traduzcamos las ecuaciones matemáticas en código solamente utilizando Numpy como nuestro motor de algebra lineal. Las redes neuronales son entrenadas en un loop en el cual cada iteración presenta datos de entrada ya calibrados a la red.

      En este pequeño ejemplo, consideremos todo el dataset en cada iteración. Los cálculos del paso de Propagación hacia adelante, función de costo o pérdida, y Propagación hacia atrás conducen a obtener una buena generalización ya que actualizaremos los parámetros entrenables (matrices W1 and W2 en el código) con sus correspondientes gradientes (matrices dL_dw1 and dL_dw2) en cada ciclo.

      El código está almacenado en este repositorio: https://github.com/omar-florez/scratch_mlp

      ¡Ejecutemos esto!

      Mire abajo algunas redes neuronales entrenadas para aproximar la función XOR en múltiple iteraciones.

      Izquierda: Exactitud. Centro: Borde de decisión aprendido. Derecha: Función Loss.

      Primero veamos como una red neuronal con 3 neuronas en la capa escondida tiene una pequeña capacidad. Este modelo aprende a separar dos clases con un simple borde de decisión que empieza una línea recta, pero luego muestra un comportamiento no lineal. La función de costo en la derecha suavemente se reduce mientras el proceso de aprendizaje ocurre.

      Teniendo 50 neuronas en la capa escondida notablemente incremental el poder del modelo para aprender bordes de decisión mas complejos. Esto podría no solo producir resultados mas exactos, pero también explotar las gradientes, un problema notable cuando se entrena redes neuronales. Esto sucede cuando gradientes muy grandes multiplican pesos durante la propagación hacia atrás y así generan pesos actualizados muy grandes. Esta es la razón por la que los valores de la función de costo repentinamente se incrementan durante los últimos pasos del entrenamiento (step > 90). El componente de regularización de la función de costo calcula los valores cuadrados de los pesos que ya tienen valores muy altos (sum(W^2)/2N).

      Este problema puede ser evitado reduciendo la velocidad de aprendizaje como puede ver abajo, implementado una política que reduzca la velocidad de aprendizaje con el tiempo, o imponiendo una regularización mas fuerte, quizás L1 en vez de L2. Los gradientes que explotan y se desvanecen son interesantes fenómenos y haremos un análisis detallada de eso en otra ocasión.

      Comentarios

        Nagcely Mendoza

        Nagcely Mendoza

        student•
        hace 8 años

        Excelente curso Profesor; sin embargo, me gustaría saber lo siguiente:

        1. Como determinar la cantidad de capas ocultas que pueda tener la red?.
        2. Como determinar la cantidad de neuronas que debe tener cada capa oculta?.
        3. Sería interesante realizar un modelo de la vida real para predecir el comportamiento de una variable (por ejemplo predecir las ventas futuras) y ver la representación gráfica de la red.

        Saludos.

          Juan Pablo Montoya

          Juan Pablo Montoya

          student•
          hace 7 años

          No hay una forma exacta de obtener el número de neuronas, mas hay intentos de modelos que sacan ese numero. Lo que normalmente se hace es intentar distintos modelos hasta encontrar el de mayor precisión. Depende del tamaño del dataset y como se relacione entre si va a cambiar el numero de capas y de neuronas por capa.

        Juan Sebastián Daza Vanegas

        Juan Sebastián Daza Vanegas

        student•
        hace 8 años

        Para ver el efecto de más de dos neuronas y de más de capas ocultas, esta página hace un representación bastante gráfica de esto. Además, en este video muestran cómo resolver uno de los cuatro problemas de clasificación y en este otro cómo pueden ser aplicados.

        Richard Armuelles

        Richard Armuelles

        student•
        hace 7 años

        Una introducción a redes neuronales excelente, solo es cuestión de recordar algunas cosas de la universidad, pero es un material bastante accesible que evita ser tan abstracto para aquellos que no tenemos una formación tan fuerte en matemáticas.

        Oscar Eduardo Berganza Cardona

        Oscar Eduardo Berganza Cardona

        student•
        hace 7 años

        Se puede utilizar una función del circulo en lugar de una función sigmoide. A fin de que la misma se vaya adaptando a la dispersión del de los datos de entrada?

        Victor Daniel Aguirre Gil

        Victor Daniel Aguirre Gil

        student•
        hace 7 años

        Excelente curso. Me hubiera gustado ir de la mano con usted durante la programación del código de esta Red Neuronal Artificial.

        Juan Sebastián Daza Vanegas

        Juan Sebastián Daza Vanegas

        student•
        hace 8 años

        ¡Ómar, qué buen profesor eres! Esta ha sido una excelente introducción a la redes neuronales. Sin embargo, esperaba que este curso profundizara más. Al igual que el curso antecesor a este, sólo se fijaron en un algoritmo. Esperamos que profundicen más en estos buenos cursos.

        Andres Leonardo Arevalo

        Andres Leonardo Arevalo

        student•
        hace 8 años

        Genial este curso 😃!!

        Osmandi Gomez

        Osmandi Gomez

        student•
        hace 8 años

        Profesor Omar, ¿cuánto tiempo le tardó en ejecutarse su algoritmo y cuánta RAM y procesador tiene la máquina donde ejecutó el algoritmo?

          Omar Florez

          Omar Florez

          teacher•
          hace 8 años

          El algoritmo no requiere de mucha memoria y debería generar inferencias apenas ejecutado.

          Osmandi Gomez

          Osmandi Gomez

          student•
          hace 8 años

          Efectivamente, gracias por acotar que las imágenes se guardan la carpeta ‘plots’.

        Evelyn Graterol Rosales

        Evelyn Graterol Rosales

        student•
        hace 5 años

        Sin palabras...Excelente curso!!!

        Jefferson Quispe Pinares

        Jefferson Quispe Pinares

        student•
        hace 8 años

        Buen curso profesor Omar, me intereso el Aprendizaje Automático desde la universidad, también soy de Perú pero aún no he visto aplicaciones dentro del contexto en mi región y aun menos existen comunidades sobre ello (Si las hay espero encontrar uno pronto). Ojalá haga mas cursos y siga motivándonos para profundizar el tema. Éxitos.

          Omar Florez

          Omar Florez

          teacher•
          hace 8 años

          Muchas gracias por tus amables palabras Jefferson. Tienes razón, vienen más conocimiento y cosas interesantes este 2018. Estate atento!

        Andres Mauricio Maca Hurtado

        Andres Mauricio Maca Hurtado

        student•
        hace 8 años

        Sin duda el mejor profe de los tres, quedo atento a nuevos cursos con usted

        José A Azocar

        José A Azocar

        student•
        hace 8 años

        Excelente curso Profesor que casos de uso tenemos aplicable para este algoritmo en la cotidianidad ? Por ejemplo robótica es aplicable ?

          Omar Florez

          Omar Florez

          teacher•
          hace 8 años

          Gracias 😃 Efectivamente, el control automatico del brazo de un robot por ejemplo es una funcion matematica que requiere 1) aprendizaje 2) movimientos suaves a traves del tiempo. Una red neuronal es un aproximador universal de funciones matematicas y la suavidad de la funcion es proporcional a la capacidad o profundidad de la red neuronal, lo cual lo hace una opcion muy interesante para robotica. Saludos cordiales!

        Jason Meza

        Jason Meza

        student•
        hace 8 años

        Profesor Omar estuvo genial su curso y también el material que usó, ahora sí entiendo por completo la Neural Network Back-Propagation. Voy a seguir investigando sobre otras redes neuronales, sería chevre si nos pasa algún link que ayude.
        Saludos

          Omar Florez

          Omar Florez

          teacher•
          hace 8 años

          Contento de saber eso Jasson13 😃 Las clases de Andrew Ng son siempre una motivación constante en este largo camino. Un abrazo.