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
        Juan Pablo Montoya

        Juan Pablo Montoya

        student•
        hace 7 años
      Juan Sebastián Daza Vanegas

      Juan Sebastián Daza Vanegas

      student•
      hace 8 años
      Richard Armuelles

      Richard Armuelles

      student•
      hace 7 años
      Oscar Eduardo Berganza Cardona

      Oscar Eduardo Berganza Cardona

      student•
      hace 7 años
      Victor Daniel Aguirre Gil

      Victor Daniel Aguirre Gil

      student•
      hace 7 años
      Juan Sebastián Daza Vanegas

      Juan Sebastián Daza Vanegas

      student•
      hace 8 años
      Andres Leonardo Arevalo

      Andres Leonardo Arevalo

      student•
      hace 8 años
      Osmandi Gomez

      Osmandi Gomez

      student•
      hace 8 años
        Omar Florez

        Omar Florez

        teacher•
        hace 8 años
        Osmandi Gomez

        Osmandi Gomez

        student•
        hace 8 años
      Evelyn Graterol Rosales

      Evelyn Graterol Rosales

      student•
      hace 5 años
      Jefferson Quispe Pinares

      Jefferson Quispe Pinares

      student•
      hace 8 años
        Omar Florez

        Omar Florez

        teacher•
        hace 8 años
      Andres Mauricio Maca Hurtado

      Andres Mauricio Maca Hurtado

      student•
      hace 8 años
      José A Azocar

      José A Azocar

      student•
      hace 8 años
        Omar Florez

        Omar Florez

        teacher•
        hace 8 años
      Jason Meza

      Jason Meza

      student•
      hace 8 años
        Omar Florez

        Omar Florez

        teacher•
        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.

      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.

      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.

      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.

      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?

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

      ¡Ó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.

      Genial este curso 😃!!

      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?

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

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

      Sin palabras...Excelente curso!!!

      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.

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

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

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

      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!

      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

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