Redes Neurais em IA e Deep Learning - página 8

 

Hacia la singularidad: neurociencia que inspira a la IA




Hacia la singularidad: neurociencia que inspira a la IA

Este video analiza el potencial de la inteligencia artificial para alcanzar un punto de inteligencia general y los diversos desafíos que deberán superarse en el camino.
También analiza el potencial de los robots para ser considerados como una especie y las ventajas y desventajas de este enfoque.

  • 00:00:00 El cerebro es un órgano complejo que es responsable de muchas tareas diferentes. Investigaciones recientes han demostrado que el cerebro también es capaz de realizar tareas simples que alguna vez se pensó que eran difíciles para los humanos. Esto sugiere que el cerebro no es solo un intelecto, sino que también contiene una gran cantidad de complejidad computacional.

  • 00:05:00 El autor analiza la dificultad de comprender el cerebro a nivel de sistemas y cómo los científicos utilizan el pez cebra para comprender cómo se produce el desarrollo normal del cerebro. Continúa diciendo que la inteligencia artificial eventualmente podrá crecer de manera más orgánica, según lo que aprendamos sobre cómo funciona el cerebro.

  • 00:10:00 El cerebro es muy diferente de una computadora, la forma en que está estructurado. Básicamente, una computadora tiene la CPU separada de la memoria y conectando la CPU con la memoria, tienes esta cosa llamada bus, el bus de memoria. Y el bus de memoria funciona a tiempo completo de forma continua cuando se enciende una computadora. Y en realidad es un cuello de botella. Entonces, la CPU puede ser muy poderosa y la memoria puede ser enorme, pero
    está limitado en cuanto a la cantidad de información que puede transferir entre los dos. Y ese es un factor muy limitante en el poder general de la computadora estándar. Por el contrario, el cerebro funciona masivamente de una manera masivamente paralela, cada neurona está haciendo lo mejor que puede todo el tiempo. Incluso la mejor IA actual que tenemos sigue siendo muy, muy diferente al cerebro. Es... se podría decir que está inspirado en el cerebro, pero no está copiando el cerebro. En el cerebro hay cantidades masivas de conexiones de retroalimentación. Entonces, obviamente, cuando procesamos la entrada sensorial, y eso llega a las regiones superiores del cerebro, y se procesa y abstrae más de la entrada original que vemos. Pero también hay una gran cantidad de comentarios provenientes de esas regiones superiores que regresan a las áreas de percepción. Y esta retroalimentación dirige hacia dónde miramos y

  • 00:15:00 El video discute el concepto de inteligencia artificial, discutiendo los pros y los contras de tenerla en el mundo. Continúa diciendo que la IA es un enfoque prometedor, pero que requerirá un salto en la tecnología para lograr precisión y confiabilidad.

  • 00:20:00 El video analiza los avances en neurociencia que se utilizan para inspirar la inteligencia artificial y cómo esto ayuda a crear robots que son tan inteligentes como los humanos. Sin embargo, la tecnología aún tiene mucho camino por recorrer antes de que pueda implementarse ampliamente.

  • 00:25:00 La inteligencia artificial está jugando un papel importante en el desarrollo de robots sociales que pueden entender, comportarse y comunicarse con las personas en su vida diaria. Actualmente, el mundo está diseñado para humanos, por lo que diseñar robots que tengan una forma humanoide o una comprensión de cómo funciona el mundo humano hace que sea más fácil para esos robots integrarse en la sociedad, pero también crear algún valor y beneficio sin tener que reestructurar edificios o tareas o la forma en que el mundo está diseñado para adaptarse a ese ser humano.

  • 00:30:00 El video analiza cómo la neurociencia está inspirando avances en IA, incluido el aprendizaje profundo y la cognición incorporada. La cognición incorporada es lo opuesto a la idea de Descarte de que "pienso, luego existo". La robótica eventualmente se integrará más estrechamente con la sociedad y la IA se convertirá en una "herramienta muy útil" para la ciencia.

  • 00:35:00 El video analiza la idea de "inteligencia artificial general" o AGI, que es la capacidad de una máquina para alcanzar el nivel de inteligencia de un humano adulto competente. Si bien la validez de la "prueba de Turing", un examen que mide si una máquina puede engañar a alguien para que piense que es un ser humano, aún se discute, la mayoría de los investigadores creen que es necesario que las máquinas alcancen este nivel de inteligencia.

  • 00:40:00 El video analiza el potencial de la inteligencia artificial para impregnar más y más partes de nuestras vidas, y la importancia de manejar la IA con cuidado para que no comience a tomar decisiones por su cuenta. Sugiere que la IA eventualmente se convertirá en una utilidad pública y analiza las formas en que las personas pueden tener esta discusión en la radio y el video.

  • 00:45:00 El autor argumenta que los gobiernos deben ser proactivos en la inversión en inteligencia artificial y robótica, ya que es una inversión enorme y podría tener grandes resultados para la sociedad. Sin embargo, si no se hace correctamente, los robots podrían provocar un desempleo masivo. También señala que la sociedad deberá adaptarse a la próxima revolución robótica, ya que los trabajos que actualmente realizan los humanos serán reemplazados por máquinas.

  • 00:50:00 El autor analiza el potencial de la inteligencia artificial general y la singularidad, que es el punto en el que la inteligencia de las máquinas supera a la inteligencia humana. Señalan que aunque esta tecnología todavía es algo especulativa, es probable que suceda en los próximos 200 años. Si bien muchas personas pueden ser escépticas, los que saben están de acuerdo en que esto definitivamente es algo que sucederá.

  • 00:55:00 Este video analiza el potencial de la inteligencia artificial para alcanzar un punto de inteligencia general y los diversos desafíos que deberán superarse en el camino. También analiza el potencial de los robots para ser considerados como una especie y las ventajas y desventajas de este enfoque.

  • 01:00:00 El orador brinda una descripción general de los riesgos y beneficios potenciales asociados con los avances en inteligencia artificial y analiza una situación hipotética en la que una IA se vuelve rebelde y acaba con la humanidad. La mayoría de los investigadores en el campo no están preocupados por este tipo de amenaza, sino que se centran en los beneficios potenciales de la inteligencia artificial.
Toward Singularity - Neuroscience Inspiring AI
Toward Singularity - Neuroscience Inspiring AI
  • 2023.01.08
  • www.youtube.com
Toward Singularity takes a look at how neuroscience is inspiring the development of artificial intelligence. Our amazing brain, one of the most complicated s...
 

Stanford CS230: aprendizaje profundo | Otoño 2018 | Conferencia 1 - Introducción a la clase y logística, Andrew Ng




Stanford CS230: aprendizaje profundo | Otoño 2018 | Conferencia 1 - Introducción a la clase y logística, Andrew Ng

Andrew Ng, el instructor del curso CS230 Deep Learning de Stanford, presenta el curso y explica el formato de aula invertida. Destaca la repentina popularidad del aprendizaje profundo debido al aumento de los registros digitales, lo que permite sistemas de aprendizaje profundo más efectivos. Los objetivos principales del curso son que los estudiantes se conviertan en expertos en algoritmos de aprendizaje profundo y comprendan cómo aplicarlos para resolver problemas del mundo real. Ng enfatiza la importancia del conocimiento práctico en la construcción de sistemas de aprendizaje automático eficientes y efectivos y espera enseñar y derivar sistemáticamente algoritmos de aprendizaje automático mientras los implementa de manera efectiva con los procesos correctos. El curso cubrirá las redes neuronales de convolución y los modelos de secuencia a través de videos en Coursera y asignaciones de programación en Jupyter Notebooks.

La primera lección del curso CS230 Deep Learning de Stanford presenta la variedad de aplicaciones del mundo real que se desarrollarán a través de asignaciones de programación y proyectos de estudiantes, que se pueden personalizar y diseñar para que coincidan con los intereses de los estudiantes. Los ejemplos de proyectos de estudiantes anteriores van desde la predicción del precio de las bicicletas hasta la detección de señales de terremotos. El proyecto final se enfatiza como el aspecto más importante del curso, y la tutoría personalizada está disponible a través del equipo de TA y los instructores. También se analiza la logística del curso, incluida la formación de equipos para proyectos grupales, la realización de cuestionarios en Coursera y la combinación del curso con otras clases.

  • 00:00:00 En esta sección, Andrew Ng, el instructor del CS230 de Stanford, presenta el curso y explica el formato de aula invertida. En esta clase, los estudiantes verán contenido de deeplearning.ai en Coursera en casa y participarán en debates más profundos durante el salón de clases y las secciones de debate. Ng presenta al equipo docente, compuesto por los co-instructores Kian Katanforosh, el co-creador de la especialización de Deep Learning, Swati Dubei, el coordinador de la clase, Younes Mourri, el asesor del curso y jefe de TA, y Aarti Bagul y Abhijeet, co-director TA. Ng explica la repentina popularidad del aprendizaje profundo y afirma que la digitalización de la sociedad ha llevado a un aumento en la recopilación de datos, brindando a los estudiantes la oportunidad de construir sistemas de aprendizaje profundo más efectivos que nunca.

  • 00:05:00 En esta sección, Andrew Ng explica que el aumento de los registros digitales ha llevado a un aumento en los datos, pero los algoritmos tradicionales de aprendizaje automático se estancan incluso cuando se alimentan con más datos. Sin embargo, a medida que las redes neuronales se hacen más grandes, su rendimiento mejora cada vez más, hasta un límite teórico llamado tasa de error base. Con la llegada de la computación GPU y los servicios en la nube, el acceso a un poder de cómputo lo suficientemente grande ha permitido que más personas entrenen redes neuronales lo suficientemente grandes para impulsar altos niveles de precisión en muchas aplicaciones. Si bien el aprendizaje profundo es solo una herramienta entre muchas en IA, se ha vuelto tan popular porque brinda excelentes resultados de manera constante.

  • 00:10:00 En esta sección, el disertante explica que hay una variedad de herramientas y tecnologías que los investigadores usan en IA además del aprendizaje profundo, como los algoritmos de planificación y la representación del conocimiento. Sin embargo, el aprendizaje profundo ha despegado increíblemente rápido en los últimos años debido al uso de conjuntos de datos masivos y poder computacional, así como a la innovación algorítmica y la inversión masiva. Los objetivos principales de CS230 son que los estudiantes se conviertan en expertos en algoritmos de aprendizaje profundo y comprendan cómo aplicarlos para resolver problemas del mundo real. El disertante, que tiene experiencia práctica liderando equipos exitosos de IA en Google, Baidu y Landing AI, también enfatiza la importancia de aprender los aspectos prácticos del aprendizaje automático, que, según él, pueden no estar cubiertos en otros cursos académicos.

  • 00:15:00 En esta sección, Andrew Ng habla sobre la importancia del conocimiento práctico para tomar decisiones eficientes y efectivas al construir un sistema de aprendizaje automático. Él enfatiza la diferencia entre un gran ingeniero de software y uno junior en términos de decisiones de juicio de alto nivel y abstracciones arquitectónicas. De igual manera, destaca la importancia de saber cuándo recopilar más datos o buscar hiperparámetros en sistemas de aprendizaje profundo para tomar mejores decisiones que puedan aumentar de 2x a 10x la eficiencia del equipo. Su objetivo es impartir este conocimiento práctico a los estudiantes en el curso a través de la enseñanza sistemática y también recomienda su libro, Machine Learning Yearning, para estudiantes con un poco de experiencia en aprendizaje automático.

  • 00:20:00 En esta sección, Andrew Ng analiza un borrador de su nuevo libro llamado "Anhelo de aprendizaje automático" que, según él, es un intento de recopilar los mejores principios para crear una disciplina de ingeniería sistemática a partir del aprendizaje automático. Ng también explica el formato de aula invertida del curso donde los estudiantes ven videos y completan cuestionarios en línea en su propio tiempo, y asisten a sesiones semanales para interacciones y discusiones más profundas con los TA, Kian y él mismo. Continúa hablando sobre la importancia de la IA y el aprendizaje automático, afirmando que cree que transformará todas las industrias de la misma manera que la electricidad transformó varios campos hace más de un siglo.

  • 00:25:00 En esta sección del video, Andrew Ng, el instructor del curso CS230 Deep Learning de Stanford, expresa su esperanza de que los estudiantes usen sus nuevas habilidades de aprendizaje profundo para transformar industrias fuera del sector tecnológico tradicional, como la atención médica, ingeniería civil y cosmología. Comparte una valiosa lección aprendida a través del estudio del auge de Internet, que es que crear un sitio web no convierte un negocio físico en una empresa de Internet; más bien, es la organización del equipo y la incorporación de prácticas específicas de Internet, como las pruebas A/B generalizadas, lo que realmente define a una empresa de Internet.

  • 00:30:00 En esta sección de la transcripción, Andrew Ng analiza las diferencias entre las empresas tradicionales y las empresas de Internet y de inteligencia artificial. Explica que las empresas de Internet y de IA tienden a dejar el poder de toma de decisiones en manos de los ingenieros o ingenieros y gerentes de productos porque estas personas están más cerca de la tecnología, los algoritmos y los usuarios. Ng también menciona la importancia de organizar equipos para hacer las cosas que permiten el aprendizaje automático moderno y el aprendizaje profundo. Además, Ng describe cómo las empresas de IA tienden a organizar los datos de manera diferente y se especializan en detectar oportunidades de automatización. Finalmente, señala que el auge del aprendizaje automático ha creado nuevos roles, como ingeniero de aprendizaje automático y científico investigador de aprendizaje automático de recursos.

  • 00:35:00 En esta sección, Andrew Ng enfatiza la importancia de una organización de equipo efectiva en la era de la IA para hacer un trabajo más valioso. Él hace una analogía de cómo el mundo de la ingeniería de software tuvo que desarrollar el desarrollo Agile, los procesos Scrum y la revisión de código para crear equipos de inteligencia artificial industrial de alto rendimiento que construyeron software de manera efectiva. Ng espera enseñar y derivar sistemáticamente algoritmos de aprendizaje automático e implementarlos de manera efectiva con los procesos correctos. Por último, Ng guía a las personas que aspiran a aprender aprendizaje automático sobre qué clases tomar para lograr sus objetivos.

  • 00:40:00 En esta sección, Andrew Ng analiza las diferencias entre CS229, CS229A y CS230. CS229 es la más matemática de estas clases y se centra en las derivaciones matemáticas de los algoritmos. CS229A es aprendizaje automático aplicado, dedica más tiempo a los aspectos prácticos y es la vía de acceso más fácil al aprendizaje automático, mientras que CS230 se encuentra en algún punto intermedio, más matemático que CS229A pero menos matemático que CS229. Lo único de CS230 es que se enfoca en el aprendizaje profundo, que es el subconjunto más difícil del aprendizaje automático. Andrew Ng establece expectativas precisas al querer pasar más tiempo enseñando los conocimientos prácticos de la aplicación de estos algoritmos, en lugar de centrarse únicamente en las matemáticas.

  • 00:45:00 En esta sección, Andrew Ng presenta el concepto de IA y aprendizaje automático desapareciendo en segundo plano y convirtiéndose en una herramienta mágica que podemos usar sin pensar en los algoritmos de aprendizaje que lo hacen posible. Habla sobre la importancia del aprendizaje automático en el cuidado de la salud, la fabricación, la agricultura y la educación, donde se pueden lograr tutorías y comentarios precisos sobre las asignaciones de tareas de codificación utilizando algoritmos de aprendizaje. El formato del curso de CS230 implica ver videos de deeplearning.ai en Coursera con conferencias adicionales de Kian en Stanford para un conocimiento y una práctica más profundos. La clase está estructurada en cinco cursos que enseñan a los estudiantes sobre neuronas, capas, redes de construcción, redes de ajuste y aplicaciones industriales de IA.

  • 00:50:00 En esta sección, Andrew Ng presenta los temas tratados en el curso y la estructura del plan de estudios. El curso se divide en dos partes que se centran en las redes neuronales de convolución para imágenes y videos, y los modelos de secuencia, incluidas las redes neuronales recurrentes para el procesamiento del lenguaje natural y el reconocimiento de voz. Cada módulo incluirá videos sobre Coursera, cuestionarios y tareas de programación en Jupyter Notebooks. La asistencia es el dos por ciento de la calificación final, el ocho por ciento en las pruebas, el 25 por ciento en las asignaciones de programación y una parte significativa en un proyecto final.

  • 00:55:00 En esta sección, Andrew Ng explica las tareas de programación que los estudiantes realizarán durante el curso. Los estudiantes traducirán imágenes de lenguaje de señas a números, se convertirán en ingenieros de aprendizaje profundo para Happy House y crearán una red utilizando el algoritmo de detección de objetos YOLOv2. Trabajarán en la optimización de la predicción de tiro de un portero, detectarán automóviles mientras conducen de forma autónoma, realizarán reconocimiento facial y transferencia de estilo, y crearán un modelo de secuencia para generar música de jazz y poesía de Shakespeare. El profesor proporciona a los estudiantes enlaces a documentos relacionados para cada uno de los proyectos.

  • 01:00:00 En esta sección, el orador analiza la variedad de aplicaciones que se construirán en el curso a través de asignaciones de programación, así como la oportunidad de que los estudiantes elijan sus propios proyectos a lo largo del curso. Se dan ejemplos de proyectos de estudiantes anteriores, que incluyen imágenes en blanco y negro para colorear, predicción del precio de las bicicletas y detección de señales precursoras de terremotos. Se alienta a los estudiantes a construir y estar orgullosos de sus proyectos, ya que el proyecto final es el aspecto más importante del curso. El curso es aplicado, con algunas matemáticas involucradas, y la tutoría personalizada está disponible a través del equipo de TA y los instructores.

  • 01:05:00 En esta sección, el instructor explica los detalles logísticos del curso, incluido cómo crear cuentas de Coursera, qué tareas completar y cómo formar equipos para el proyecto del curso. Los equipos de proyecto consistirán de uno a tres estudiantes, con excepciones para proyectos desafiantes. Los estudiantes pueden combinar el proyecto con otras clases siempre que lo analicen con el instructor, y los cuestionarios se pueden volver a realizar en Coursera y el último cuestionario enviado se considera para la clase CS230.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
  • 2019.03.21
  • www.youtube.com
For more information about Stanford's Artificial Intelligence professional and graduate programs visit: https://stanford.io/3eJW8yTAndrew Ng is an Adjunct Pr...
 

Clase 2 - Intuición de aprendizaje profundo



Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 2 - Intuición de aprendizaje profundo

La primera parte de la conferencia se centra en varias aplicaciones de aprendizaje profundo, incluida la clasificación de imágenes, el reconocimiento facial y la transferencia de estilos de imágenes. El instructor explica la importancia de varios factores, como el tamaño del conjunto de datos, la resolución de la imagen y la función de pérdida en el desarrollo de un modelo de aprendizaje profundo. También se analiza el concepto de codificación de imágenes utilizando redes profundas para crear representaciones útiles, con énfasis en la función de pérdida de tripletes utilizada en el reconocimiento facial. Además, el disertante explica el agrupamiento utilizando el algoritmo K-Means para la clasificación de imágenes y la extracción de estilo y contenido de las imágenes. En general, la sección presenta a los estudiantes las diversas técnicas y consideraciones involucradas en el desarrollo exitoso de modelos de aprendizaje profundo.

La segunda parte del video cubre una variedad de temas de aprendizaje profundo, como la generación de imágenes, el reconocimiento de voz y la detección de objetos. El orador enfatiza la importancia de consultar con expertos cuando se encuentran problemas y los elementos críticos de un proyecto exitoso de aprendizaje profundo: una canalización estratégica de adquisición de datos y búsqueda de arquitectura y ajuste de hiperparámetros. El video también analiza diferentes funciones de pérdida utilizadas en el aprendizaje profundo, incluida la función de pérdida de detección de objetos, que incluye una raíz cuadrada para penalizar los errores en las cajas más pequeñas con más fuerza que en las cajas más grandes. El video concluye con un resumen de los próximos módulos y tareas, incluidas las sesiones obligatorias de tutoría de proyectos de TA y las secciones de TA de los viernes centradas en la transferencia de estilo neuronal y el llenado de un formulario de AWS para obtener posibles créditos de GPU.

  • 00:00:00 En esta sección de la conferencia, el objetivo es brindar una forma sistemática de pensar en proyectos relacionados con el aprendizaje profundo. Esto implica tomar decisiones sobre cómo recopilar y etiquetar datos, elegir la arquitectura y diseñar una función de pérdida adecuada para la optimización. Un modelo se puede definir como una arquitectura más parámetros, donde la arquitectura es el diseño elegido para el modelo y los parámetros son los números que hacen que la función tome entradas y las convierta en salidas. La función de pérdida se usa para comparar la salida con la realidad del terreno, y el gradiente de la función de pérdida se calcula para actualizar los parámetros para mejorar el reconocimiento. Muchas cosas pueden cambiar dentro del contexto del aprendizaje profundo, incluida la entrada, la salida, la arquitectura, la función de pérdida, las funciones de activación, el ciclo de optimización y los hiperparámetros. La regresión logística es la primera arquitectura discutida, y una imagen se puede representar como una matriz 3D en informática.

  • 00:05:00 En esta sección del video, el instructor analiza la estructura básica de una red neuronal para clasificar imágenes de gatos y cómo se puede modificar para clasificar varios animales mediante el uso de regresión logística múltiple. Se enfatiza la importancia de etiquetar los datos correctamente y se introduce el concepto de codificación one-hot, con la desventaja de que solo se pueden clasificar las imágenes con un animal mencionado. También se menciona el uso de Softmax como función de activación para la codificación multi-hot, y se explica la notación utilizada en el curso para capas e índices de neuronas.

  • 00:10:00 En esta sección, el disertante explica cómo el aprendizaje profundo extrae información de cada capa en una red y cómo se usa para codificar los datos de entrada. Utiliza ejemplos de reconocimiento facial y clasificación de imágenes para generar intuición en torno a aplicaciones concretas de aprendizaje profundo. El disertante también analiza la estimación de la cantidad de imágenes necesarias para un problema determinado y sugiere que debe basarse en la complejidad de la tarea en lugar de la cantidad de parámetros en la red.

  • 00:15:00 En esta sección, el instructor analiza cómo determinar la cantidad de datos necesarios para un proyecto de aprendizaje profundo, y cómo dividir los datos en conjuntos de entrenamiento, validación y prueba. El instructor explica que la cantidad de datos necesarios depende de la complejidad de la tarea y de si el proyecto involucra imágenes de interiores o exteriores. Un conjunto de datos equilibrado también es importante para entrenar adecuadamente la red. También se analiza la resolución de la imagen, con el objetivo de lograr un buen rendimiento y minimizar la complejidad computacional. El instructor sugiere comparar el desempeño humano en diferentes resoluciones para determinar la resolución mínima necesaria. Finalmente, se determinó que una resolución de 64 por 64 por tres era suficiente para la imagen de ejemplo utilizada.

  • 00:20:00 En esta sección, el disertante discute un problema básico de clasificación de imágenes donde la tarea es detectar si una imagen fue tomada durante el día o la noche. La salida del modelo debería ser una etiqueta para la imagen, donde Y es igual a cero para el día e Y es igual a uno para la noche. La arquitectura recomendada para esta tarea es una red superficial totalmente conectada o convolucional. La función de pérdida que debe utilizarse es la log-verosimilitud, que es más fácil de optimizar que otras funciones de pérdida para problemas de clasificación. Luego, el disertante aplica este concepto básico a un escenario del mundo real donde el objetivo es usar la verificación facial para validar las identificaciones de los estudiantes en instalaciones como el gimnasio. El conjunto de datos requerido para este problema sería una colección de imágenes para comparar con las imágenes capturadas por la cámara durante el pase de identificación.

  • 00:25:00 En este extracto de una conferencia sobre aprendizaje profundo, el orador discute la idea de usar el reconocimiento facial como un medio para verificar la identidad de los asistentes al gimnasio. El orador sugiere que para entrenar el sistema, la escuela necesitaría fotos de cada estudiante, etiquetadas con sus nombres, así como más fotos de cada estudiante para la entrada del modelo. Al hablar de la resolución, el ponente sugiere que es necesaria una resolución más alta (alrededor de 400 por 400) para detectar mejor detalles como la distancia entre los ojos o el tamaño de la nariz. Finalmente, el orador señala que las comparaciones simples de distancia entre píxeles para determinar si dos imágenes son de la misma persona no funcionarán debido a las variaciones en la iluminación u otros factores como el maquillaje o el vello facial.

  • 00:30:00 En esta sección de la conferencia, el instructor analiza el proceso de codificación de imágenes utilizando una red profunda para crear representaciones útiles de imágenes. El objetivo es crear un vector que represente las características clave de una imagen, como la distancia entre las características faciales, el color y el cabello. Estos vectores se utilizan para comparar diferentes imágenes del mismo sujeto y determinar una coincidencia. El instructor explica el proceso de minimizar la distancia entre el ancla y las imágenes positivas, mientras se maximiza la distancia entre el ancla y la imagen negativa, para generar una función de pérdida útil para la red profunda. La función de pérdida es crucial para entrenar la red para que reconozca características específicas y haga predicciones precisas.

  • 00:35:00 En esta sección, el instructor analiza la función de pérdida de trillizos utilizada en el reconocimiento facial. La pérdida se calcula como la distancia L2 entre los vectores de codificación de A y P restada de la distancia L2 entre los vectores de codificación de A y N. El objetivo es maximizar la distancia entre los vectores de codificación de A y N, mientras se minimiza la diferencia. entre A y P. La función de pérdida verdadera contiene alfa, que tiene un papel específico además de prevenir la pérdida negativa. El instructor explica que el uso de alfa en la función de pérdida agrega peso a ciertas partes de la función de pérdida. El objetivo es encontrar una codificación que represente las características de la cara, y el algoritmo de optimización tiene como objetivo minimizar la función de pérdida después de varias pasadas.

  • 00:40:00 En esta sección, el disertante explica el uso de un término alfa en la función de pérdida de una red. Este término alfa se conoce como Margen, y su propósito es penalizar un gran peso y estabilizar la red en ceros. Sin embargo, no afecta el gradiente o el peso. El propósito de este término alfa es empujar a la red a aprender algo significativo en lugar de aprender una función nula. El disertante también analiza la diferencia entre la verificación de rostros y el reconocimiento de rostros, y sugiere que agregar un elemento de detección a la canalización puede mejorar el reconocimiento de rostros. Se puede usar un algoritmo K-vecinos más cercanos para comparar los vectores de caras ingresadas con vectores en una base de datos para identificar individuos.

  • 00:45:00 En esta sección, el instructor explica el agrupamiento, más específicamente el algoritmo K-Means y cómo se usa en la clasificación de imágenes. Explica cómo el algoritmo toma todos los vectores en una base de datos y los agrupa en grupos que se parecen. Esto se puede usar para separar imágenes de diferentes personas en carpetas separadas en un teléfono, por ejemplo. También analiza formas de definir el parámetro K en el algoritmo y cómo se pueden usar diferentes métodos. El instructor también analiza la generación de arte, que implica generar una imagen que es el contenido de una imagen pero está pintada con el estilo de otra, usando datos en ese estilo. El instructor utiliza el Museo del Louvre como ejemplo de una imagen de contenido y una pintura de Claude Monet como imagen de estilo.

  • 00:50:00 En esta sección, el orador analiza cómo extraer estilo y contenido de las imágenes utilizando técnicas de aprendizaje profundo. Explican que, si bien un método es entrenar una red para que aprenda un estilo específico, el método preferido es aprender una imagen. Esto implica dar una imagen de contenido y extraer información sobre su contenido utilizando una red neuronal entrenada para el reconocimiento de imágenes. Para extraer la información de estilo, el orador introduce el uso de la matriz de Gram y explica que el estilo es información no localizada. Al combinar el contenido y el estilo extraídos, es posible generar una imagen con el estilo de una imagen determinada conservando el contenido. El orador enfatiza que esta técnica implica la retropropagación hasta la imagen y no solo el aprendizaje de los parámetros de una red.

  • 00:55:00 En esta sección, el instructor analiza la función de pérdida para extraer estilo utilizando el método de matriz de Gram y cómo se calcula utilizando la distancia L2 entre el estilo de la imagen de estilo y el estilo generado, así como entre el contenido del imagen de contenido y contenido generado. El instructor enfatiza que ImageNet se usa en este proceso no para la clasificación, sino para usar parámetros previamente entrenados para la red. La atención se centra en entrenar la imagen con ruido blanco, y el contenido G y el estilo G se extraen al ejecutarlo a través de la red y calcular derivados de la función de pérdida para volver a los píxeles de la imagen.

  • 01:00:00 En esta sección, el disertante analiza el proceso de capacitación de una red para generar una imagen basada en el contenido y el estilo de las imágenes. Si bien esta red tiene la flexibilidad de trabajar con cualquier estilo y contenido, requiere un nuevo ciclo de entrenamiento cada vez que se genera una imagen. La red está entrenada en millones de imágenes y no necesita ser entrenada específicamente en imágenes de Monet. La función de pérdida para esta red proviene de las imágenes de contenido y estilo, donde la línea de base es comenzar con ruido blanco. Luego, el orador pasa a discutir una aplicación de detección de palabras desencadenantes, que requiere una gran cantidad de clips de audio de 10 segundos que incluyen una palabra positiva como "activar" y palabras negativas como "cocina" y "león".

  • 01:05:00 En esta sección, el video analiza el proceso de selección del mejor esquema de etiquetado para el reconocimiento de voz. El orador explica que se debe consultar con un experto en reconocimiento de voz para determinar la mejor frecuencia de muestreo para el procesamiento del habla y ofrece un ejemplo de un esquema de etiquetado débil que dificulta la detección de la palabra desencadenante en una oración hablada. El orador demuestra un esquema de etiquetado diferente que facilita que el modelo detecte la palabra desencadenante, pero señala que aún es importante considerar problemas como el desequilibrio en el conjunto de datos y la necesidad de una función sigmoidea en cada paso de tiempo para generar cero o uno.

  • 01:10:00 En esta sección del video, el orador analiza las dos cosas críticas para construir un proyecto exitoso de aprendizaje profundo. El primero es tener una canalización estratégica de adquisición de datos. Una forma de hacer esto es recopilar grabaciones de audio de 10 segundos que contengan palabras positivas y negativas con varios acentos de todo el campus usando teléfonos. El segundo elemento crítico es la búsqueda de arquitectura y el ajuste de hiperparámetros. El orador cuenta una historia de cómo usó una transformada de Fourier al principio para extraer características del habla y luego habló con expertos e hizo cambios en la red según sus consejos. Él enfatiza que encontrar la arquitectura correcta es un proceso complicado pero que no se debe abandonar y se debe consultar a los expertos.

  • 01:15:00 En esta sección, el orador analiza un problema de reconocimiento de voz y cómo luchó para adaptar una red neuronal a los datos hasta que encontró a un experto en reconocimiento de voz que lo aconsejó sobre el uso correcto de los hiperparámetros transformados de Fourier, reduciendo el tamaño de la red y usar una convolución para reducir el número de pasos de tiempo, así como expandir la salida. Destaca la importancia de buscar el consejo de expertos y no darse por vencido cuando se encuentran problemas durante un proyecto. Luego, el orador menciona brevemente otra forma de resolver la detección de acordes mediante el uso del algoritmo de pérdida de triplete y la codificación del habla de audio en un determinado vector para comparar la distancia entre esos vectores. Finalmente, analiza una hermosa función de pérdida que corresponde a la detección de objetos y se usa en una red llamada YOLO, donde la pérdida compara x, y, el ancho y el alto de los cuadros delimitadores.

  • 01:20:00 En esta sección del video, el orador analiza la función de pérdida de detección de objetos en el aprendizaje profundo y por qué incluye una raíz cuadrada. La función de pérdida incluye varios términos que tienen como objetivo minimizar la distancia entre el cuadro delimitador real y el cuadro delimitador previsto, así como identificar la clase de objeto dentro del cuadro. La raíz cuadrada se incluye para penalizar más los errores en las casillas más pequeñas que en las casillas más grandes. El video concluye con un resumen de los próximos módulos y tareas, sesiones obligatorias de tutoría de proyectos de TA y secciones de TA de los viernes centradas en la transferencia de estilo neuronal y el llenado de un formulario de AWS para obtener posibles créditos de GPU.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Clase 3 - Proyectos de aprendizaje profundo de ciclo completo



Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 3 - Proyectos de aprendizaje profundo de ciclo completo

En esta lección sobre proyectos de aprendizaje profundo de ciclo completo, el instructor enfatiza la importancia de considerar todos los aspectos de la creación de una aplicación de aprendizaje automático exitosa, incluida la selección de problemas, la recopilación de datos, el diseño de modelos, las pruebas, la implementación y el mantenimiento. A través del ejemplo de la construcción de un dispositivo activado por voz, el instructor analiza los componentes clave involucrados en los proyectos de aprendizaje profundo y alienta a los estudiantes a centrarse en proyectos factibles con un impacto positivo potencial y contribuciones únicas a sus respectivos campos. El instructor también destaca la importancia de recopilar datos rápidamente, tomar buenas notas durante todo el proceso e iterar durante el desarrollo, al tiempo que analiza enfoques específicos para la activación del habla y la detección de la actividad de la voz.

La segunda parte de la conferencia se enfoca en la importancia del monitoreo y mantenimiento en proyectos de aprendizaje automático, particularmente la necesidad de monitorear y actualizar continuamente los modelos para garantizar que funcionen bien en el mundo real. El disertante aborda el problema del cambio de datos, que puede hacer que los modelos de aprendizaje automático pierdan precisión, y destaca la necesidad de monitoreo constante, recopilación de datos y rediseño de modelos para garantizar que los modelos continúen funcionando de manera efectiva. La conferencia también analiza el impacto de usar un sistema que no sea ML versus una red neuronal entrenada en un sistema de detección de actividad de voz y sugiere que las reglas codificadas a mano son generalmente más sólidas para cambiar los datos. El disertante concluye la necesidad de prestar mucha atención a la privacidad de los datos y obtener el consentimiento del usuario al recopilar datos para los modelos de reentrenamiento.

  • 00:00:00 En esta sección del video, el instructor presenta la idea de proyectos de aprendizaje profundo de ciclo completo al explicar los pasos necesarios para crear una aplicación de aprendizaje automático exitosa más allá de solo construir un modelo de red neuronal. Usa el ejemplo de construir un dispositivo activado por voz y explica que el primer paso es seleccionar un problema, como usar el aprendizaje supervisado para construir la aplicación. También menciona el próximo proyecto en el que trabajarán los estudiantes que involucra la implementación de un dispositivo activado por voz como un problema establecido más adelante en el trimestre.

  • 00:05:00 En esta sección de la conferencia, el orador analiza los componentes clave involucrados en la construcción de un dispositivo activado por voz usando aprendizaje profundo, que incluye un algoritmo de aprendizaje que detecta palabras desencadenantes como "Alexa", "OK Google" "Hola Siri" o "Activar". El orador describe los pasos importantes en la creación de un producto de aprendizaje automático, comenzando con la selección de un problema, la obtención de datos etiquetados, el diseño de un modelo, la prueba en un conjunto de prueba, la implementación y el mantenimiento del sistema. El orador enfatiza que entrenar un modelo es a menudo un proceso iterativo, y que construir un gran modelo implica centrarse en los pasos uno, seis y siete, además del núcleo del aprendizaje automático.

  • 00:10:00 En esta sección de la conferencia, el orador analiza las propiedades de un buen candidato a proyecto de aprendizaje profundo. Usa el ejemplo de un dispositivo activado por voz y habla sobre cómo dispositivos como Echo y Google Home, que tienen el potencial de ser activados por voz, son difíciles de configurar debido a la necesidad de configurarlos para Wi-Fi. Brinda una solución a este problema a través de un dispositivo integrado que se puede vender a los fabricantes de lámparas, que incluye un micrófono incorporado y puede encenderse y apagarse a través de un simple comando de voz a la propia lámpara. El orador menciona que este proyecto requiere la construcción de un algoritmo de aprendizaje que pueda ejecutarse en un dispositivo integrado y detectar la palabra de activación para encender y apagar la lámpara. Sugiere además dar nombres a estos dispositivos para evitar ambigüedades. El orador indica que, si bien no estaba trabajando en este proyecto, podría ser un producto razonable para las nuevas empresas.

  • 00:15:00 En esta sección del video, el presentador le pregunta a la audiencia cuáles son las propiedades que suelen tener en cuenta al seleccionar una idea de proyecto de aprendizaje profundo. Luego procede a compartir su propia lista de cinco puntos clave a tener en cuenta al generar ideas para proyectos. El comienzo del segmento se distrae con algunas dificultades técnicas con un sistema de contestador, pero el presentador finalmente entra en el tema en cuestión, alentando a la audiencia a reflexionar sobre sus propias ideas y prioridades.

  • 00:20:00 En esta sección del video, el profesor Ng comparte sus cinco viñetas sobre cómo elegir un proyecto de aprendizaje profundo. Aconseja a los estudiantes que elijan algo que les interese genuinamente y consideren la disponibilidad de datos. Además, deben aprovechar su conocimiento de dominio para aplicar técnicas de aprendizaje automático a aspectos únicos de sus campos, haciendo una contribución única. Además, anima a elegir un proyecto que pueda tener un impacto positivo y proporcione utilidad a las personas sin centrarse necesariamente en el dinero. Por último, enfatiza que la viabilidad es un factor crucial para evaluar la viabilidad de cualquier proyecto o idea de aprendizaje automático. El Prof. Ng también da un ejemplo de médicos y estudiantes de radiología interesados en el aprendizaje profundo, recordándoles que aprovechar su conocimiento de dominio en radiología de atención médica podría crear contribuciones más únicas que simplemente comenzar desde cero.

  • 00:25:00 En esta sección, el instructor analiza la importancia de elegir un proyecto factible y obtener datos para entrenar el algoritmo de aprendizaje profundo. Plantea un escenario en el que los estudiantes necesitan entrenar un algoritmo de aprendizaje profundo para detectar ciertas frases para un proyecto de puesta en marcha y les pide que estimen la cantidad de días necesarios para recopilar datos utilizando el método de secuencia de Fibonacci. También se les pide a los estudiantes que describan cómo harían para recopilar los datos requeridos. Se encuentran dificultades técnicas con la computadora portátil del presentador y se sugiere usar el navegador Firefox como alternativa.

  • 00:30:00 En esta sección del video, el instructor les pide a los estudiantes que discutan entre ellos en pequeños grupos y propongan la mejor estrategia para recopilar datos y decidir cuántos días dedicar a recopilar datos. Sugiere que consideren cuánto tiempo les llevará entrenar su primer modelo y cuánto tiempo quieren dedicar a recopilar datos. El instructor advierte que si lleva uno o dos días entrenar al primer modelo, es posible que deseen dedicar menos tiempo a la recopilación de datos. Aconseja a los estudiantes que hablen con sus socios del proyecto para idear un plan para la recopilación de datos.

  • 00:35:00 En esta sección, el instructor analiza la importancia de recopilar datos para probar cómo funciona el algoritmo antes de recopilar el siguiente conjunto de datos mientras trabaja en proyectos de aprendizaje automático. El instructor sugiere pasar 1 o 2 días recopilando datos y conseguir un micrófono barato para recopilar datos recorriendo el campus de Stanford o con amigos y pidiéndoles que digan diferentes palabras clave. Señala que es difícil saber qué será difícil o fácil del problema al construir un nuevo sistema de aprendizaje automático. Por lo tanto, es fundamental comenzar con un algoritmo de aprendizaje rudimentario para ponerse en marcha.

  • 00:40:00 En esta sección, el orador habla sobre la importancia de recopilar datos e iterar rápidamente durante el desarrollo de Machine Learning. Él desaconseja dedicar demasiado tiempo a la recopilación de datos y sugiere comenzar primero con un conjunto de datos más pequeño para comprender lo que es necesario. Es fundamental mantener notas claras sobre los experimentos realizados y los detalles de cada modelo para que los investigadores puedan consultar los experimentos anteriores en lugar de ejecutarlos nuevamente. Además, recomienda hacer una búsqueda bibliográfica para ver qué algoritmos están usando otros en un campo específico, pero advierte que la literatura puede ser inmadura en algunas áreas.

  • 00:45:00 En esta sección, el disertante analiza la importancia de tomar buenas notas a lo largo del proceso de aprendizaje profundo, desde la recopilación de datos y el diseño del modelo hasta la implementación. Utiliza el ejemplo de la implementación de un sistema de reconocimiento de voz en dispositivos periféricos (como parlantes inteligentes) para enfatizar los desafíos de ejecutar una gran red neuronal en procesadores de bajo consumo con presupuestos computacionales y de energía limitados. A
    Para abordar este desafío, se usa un algoritmo más simple para detectar si alguien está hablando antes de pasar el clip de audio a la red neuronal más grande para su clasificación. Este algoritmo más simple se conoce como detección de actividad de voz (VAD) y es un componente estándar en muchos sistemas de reconocimiento de voz, incluidos los que se usan en los teléfonos celulares.

  • 00:50:00 En esta sección de la conferencia, el profesor plantea la pregunta de si usar un sistema de detección de actividad de voz no basado en aprendizaje automático o entrenar una pequeña red neuronal para reconocer el habla humana para un proyecto. Señala que se podría ejecutar una red neuronal pequeña con un presupuesto computacional bajo y sugiere que es más fácil detectar si alguien está hablando que reconocer las palabras que dijo. Los estudiantes de la clase tienen opiniones variadas, y algunos argumentan que la opción uno es fácil de depurar y simple, mientras que la opción dos es mejor para detectar ruido de cosas como perros ladrando o personas susurrando.

  • 00:55:00 En esta sección, el disertante analiza dos opciones para implementar la activación por voz, que es un problema que surge con los parlantes inteligentes cuando hay ruido de fondo. La opción uno es una solución simple y rápida que se puede implementar en 10 minutos e implica filtrar el ruido de fondo con unas pocas líneas de código. La opción dos es más complicada y requiere construir una gran red neuronal para manejar entornos ruidosos. Si bien la opción dos puede ser necesaria para las grandes empresas de altavoces inteligentes, los pequeños equipos de inicio pueden beneficiarse al comenzar con la opción uno e invertir solo en la opción dos cuando sea necesario. El disertante también destaca el problema de los cambios de datos al enviar un producto y ofrece ideas prácticas sobre cómo resolverlo.

  • 01:00:00 En esta sección, el orador analiza una debilidad práctica en el aprendizaje automático que a menudo se ignora en la academia: el problema del cambio de datos. Cuando los modelos de aprendizaje automático se entrenan en un conjunto de datos específico, es posible que no funcionen bien cuando los datos cambian, como nuevas clases de usuarios con acentos, ruido de fondo diferente o nuevos eventos como un escándalo presidencial. Los ejemplos dados incluyen búsquedas en la web, vehículos autónomos e inspecciones de fábricas. Este problema destaca la necesidad de monitoreo continuo, recopilación de datos y rediseño de modelos para garantizar que las plataformas de aprendizaje automático continúen funcionando en el mundo real.

  • 01:05:00 En esta sección, la clase analiza qué sistema sería más robusto para VAD, detección de actividad de voz, entre un enfoque sin aprendizaje automático y una red neuronal entrenada. La mayoría de la clase votó por un sistema sin ML. Sin embargo, resulta que entrenar una pequeña red neuronal en el habla con acento estadounidense hace que sea más probable que la red neuronal detecte ciertas idiosincrasias del acento estadounidense, lo que la hace menos sólida para detectar el habla con acento británico. La clase concluye que si una regla codificada a mano puede funcionar lo suficientemente bien, generalmente es más sólida para cambiar datos y, a menudo, generalizará mejor, aunque los algoritmos de aprendizaje automático son necesarios cuando no existe tal regla.

  • 01:10:00 En esta sección, el disertante discute la idea de que tener menos parámetros en un modelo puede conducir a una mejor generalización, como lo respalda la teoría rigurosa del aprendizaje. Luego plantea la pregunta de qué tipo de implementación, nube o borde, facilita el mantenimiento del modelo, dado que el mundo está en constante cambio y pueden ser necesarias actualizaciones. Después de darle tiempo a la audiencia para ingresar sus respuestas, la mayoría respondió que las implementaciones en la nube facilitan el mantenimiento debido a la capacidad de enviar actualizaciones y recibir todos los datos procesados en una ubicación central, aunque con problemas de privacidad y seguridad del usuario.

  • 01:15:00 En esta sección, el orador analiza cómo el monitoreo y el mantenimiento son consideraciones importantes en la implementación de proyectos de aprendizaje automático. Hacen hincapié en que es esencial monitorear el rendimiento y la retroalimentación del modelo y abordar cualquier cambio necesario para mejorar su precisión o volver a entrenar el modelo si es necesario. También sugieren que las empresas están estableciendo procesos de garantía de calidad mediante pruebas estadísticas para garantizar que el modelo continúe funcionando incluso si hay actualizaciones o cambios. Además, destacan la importancia de respetar la privacidad del usuario y obtener el consentimiento del usuario al recopilar datos para utilizarlos como comentarios y volver a capacitar al modelo.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Clase 4 - Ataques adversarios / GAN




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 4 - Ataques adversarios / GAN

Esta lección presenta el concepto de ejemplos contradictorios, que son entradas que se han modificado ligeramente para engañar a una red neuronal previamente entrenada. La conferencia explica la base teórica de cómo funcionan estos ataques y analiza las aplicaciones maliciosas de utilizar ejemplos adversarios en el aprendizaje profundo. La lección también presenta las redes adversarias generativas (GAN) como una forma de entrenar un modelo que puede generar imágenes que parecen reales, y la lección analiza la función de costo para el generador en un modelo GAN. La conferencia concluye explicando el gráfico logarítmico de la salida de D cuando se da un ejemplo generado.

La conferencia cubre varios temas relacionados con las redes antagónicas generativas (GAN), incluidos consejos y trucos para entrenar GAN y sus aplicaciones en la traducción de imagen a imagen y redes antagónicas generativas no emparejadas que utilizan la arquitectura CycleGAN. También se analiza la evaluación de las GAN, con métodos como la anotación humana, las redes de clasificación y la puntuación de inicio y la distancia de inicio de Frechet como métodos populares para verificar el realismo de las imágenes generadas.

  • 00:00:00 En esta sección, el instructor introduce el concepto de ataques adversarios en redes neuronales y establece el objetivo de encontrar una imagen de entrada que no sea una iguana, pero que una red preentrenada clasifique como tal. El instructor explica que las redes neuronales tienen puntos ciegos que las hacen vulnerables a estos ataques y analiza la base teórica de cómo funcionan estos ataques. El instructor enfatiza que este tema es más teórico y enumera lecturas recomendadas para una mayor comprensión.

  • 00:05:00 En esta sección, el orador analiza el proceso de generar ejemplos contradictorios usando una función de pérdida que minimiza la diferencia entre la salida esperada y la no esperada. La función de pérdida puede ser L1, L2 o entropía cruzada, según cuál funcione mejor en la práctica. Luego, la imagen se optimiza de forma iterativa mediante el descenso de gradiente hasta que se clasifica como la salida deseada. Sin embargo, es posible que la imagen resultante no se parezca necesariamente a la salida deseada debido al amplio espacio de posibles imágenes de entrada que puede ver la red, que es considerablemente más grande que el espacio de las imágenes del mundo real.

  • 00:10:00 En esta sección, el disertante analiza las aplicaciones maliciosas de los ejemplos adversarios en el aprendizaje profundo, donde los atacantes pueden usar estos ejemplos para engañar a las redes neuronales para que malinterpreten las entradas. Por ejemplo, un atacante podría usar un ejemplo adversario para hacer que una imagen de su rostro aparezca como la de otra persona, romper los CAPTCHA o eludir los algoritmos que detectan contenido violento en las redes sociales. Luego, el disertante explica cómo restringir el problema de optimización puede hacer que los ejemplos contradictorios sean más peligrosos, donde una imagen que parece un gato para los humanos podría interpretarse como una iguana por una red neuronal, lo que tiene implicaciones para los autos sin conductor y otros del mundo real. aplicaciones Finalmente, se discute la imagen inicial utilizada para el problema de optimización, y el disertante sugiere que comenzar con la imagen del objeto objetivo puede ser la estrategia más eficiente.

  • 00:15:00 En esta sección, el orador analiza el uso del error RMSE como una función de pérdida y cómo puede no ser una forma precisa de medir si un ser humano ve o no dos imágenes similares. También abordan el desafío de hacer una función de pérdida compleja que toma un montón de gatos y pone una distancia mínima entre ellos. Luego, el orador pasa a hablar sobre ejemplos contradictorios y cómo el espacio de imágenes que parecen reales para los humanos es en realidad más grande que el espacio de imágenes reales. El orador continúa explicando los ataques dirigidos y no dirigidos y cómo el conocimiento del atacante es un factor importante al considerar diferentes tipos de ataques.

  • 00:20:00 En esta sección de la conferencia, el profesor analiza formas de atacar un modelo de caja negra para ataques adversarios. Una idea es usar el gradiente numérico para estimar cómo cambia la pérdida cuando una imagen se perturba levemente. Otro concepto es la transferibilidad, donde un ejemplo adversario creado para un modelo también puede engañar a otro modelo similar. El profesor menciona posibles defensas, como la creación de un modelo de "red de seguridad" para filtrar ejemplos adversarios y ensamblar múltiples redes con diferentes funciones de pérdida. Otro enfoque es entrenar en ejemplos contradictorios junto con ejemplos normales, pero esto puede ser costoso y no necesariamente generalizarse a otros ejemplos contradictorios.

  • 00:25:00 En esta sección, el disertante analiza la complejidad de utilizar ejemplos antagónicos en la optimización del descenso de gradiente. El proceso consiste en propagar x a través de la red para calcular el primer término, generar un ejemplo antagónico con el proceso de optimización, calcular el segundo término al reenviar la propagación del ejemplo antagónico y luego usar la propagación hacia atrás para actualizar los pesos de la red. La técnica de emparejamiento logit también se menciona brevemente como otro método para el entrenamiento de confrontación. También se plantean perspectivas teóricas sobre la vulnerabilidad de las redes neuronales a los ejemplos contradictorios, siendo el argumento clave que las partes lineales de las redes, en lugar de las altas no linealidades y el sobreajuste, son la causa de la existencia de ejemplos contradictorios.

  • 00:30:00 En esta sección, el orador analiza el concepto de ejemplos contradictorios y cómo modificar una entrada de tal manera que cambie radicalmente la salida de la red mientras se acerca a la entrada original. El orador usa la derivada de y-hat con respecto a x y define el valor de perturbación, épsilon, y muestra que al agregar épsilon*w-transpose a x, podemos mover x un poco, lo que ayuda a cambiar la salida en consecuencia. . El orador destaca que el término w*w-transpose siempre es positivo, y podemos hacer que este cambio sea pequeño cambiando epsilon a un valor pequeño.

  • 00:35:00 En esta sección, el disertante analiza un ejemplo de cómo crear un ataque adversario calculando un ligero cambio en x, llamado x-star, que empuja y-hat, la salida de la red neuronal, de -4 a 0,5. El disertante señala que si W es grande, x-star será diferente de x, y si se usa el signo de W en lugar de W, el resultado siempre empujará el término x hacia el lado positivo. Además, a medida que x crece en dimensión, aumenta el impacto del signo épsilon positivo de W.

  • 00:40:00 En esta sección, el orador analiza un método llamado Método de signo de gradiente rápido, que es una forma general de generar ejemplos contradictorios. Este método linealiza la función de costo en la proximidad de los parámetros y se usa para empujar las imágenes de píxeles en una dirección que afectará significativamente la salida. El ponente explica que este método funciona tanto para redes neuronales lineales como para redes neuronales más profundas, ya que la investigación se centra en linealizar los comportamientos de estas redes. Además, el disertante analiza cómo se usa la regla de la cadena para calcular la derivada de la función de pérdida y la importancia de tener un gradiente alto para entrenar los parámetros de una neurona.

  • 00:45:00 En esta sección del video, se presenta el concepto de redes antagónicas generativas (GAN) como una forma de entrenar un modelo que puede generar imágenes que parecen reales, incluso si nunca antes existieron. El objetivo es que la red comprenda las características más destacadas de un conjunto de datos y aprenda a generar nuevas imágenes que coincidan con la distribución del mundo real. Se juega un juego minimax entre dos redes: un generador y un discriminador. El generador comienza emitiendo una imagen aleatoria y utiliza la retroalimentación del discriminador para aprender a generar imágenes más realistas. Las GAN son difíciles de entrenar, pero el objetivo es que el generador aprenda a imitar la distribución de imágenes del mundo real con menos parámetros que la cantidad de datos disponibles.

  • 00:50:00 En esta sección, el instructor presenta el concepto de redes adversarias generativas (GAN) y cómo se pueden entrenar a través de la retropropagación. La GAN consta de un generador y un discriminador, y el discriminador intenta identificar si una imagen es real o falsa. Luego, el generador genera imágenes falsas e intenta engañar al discriminador para que piense que son reales. El discriminador se entrena usando entropía cruzada binaria, con imágenes reales etiquetadas como uno e imágenes generadas etiquetadas como cero. La función de pérdida para el discriminador es JD, que tiene dos términos: uno que etiqueta correctamente los datos reales como uno y el otro es la entropía cruzada binaria.

  • 00:55:00 En esta sección, los instructores hablan sobre la función de costo del generador en un modelo GAN. El objetivo es que el generador cree muestras realistas que engañen al discriminador, y la función de costo debería reflejar esto. Sin embargo, debido a que es un juego, tanto D como G deben mejorar juntos hasta que se alcance un equilibrio. La función de costo del generador establece que el discriminador debería clasificar las imágenes generadas como "una", y esto se logra cambiando el signo del gradiente. Los instructores también discuten el gráfico logarítmico de la salida de D cuando se les da un ejemplo generado.

  • 01:00:00 En esta sección, el instructor analiza el problema con la función de costo del generador y cómo llega a infinito negativo, lo que hace que el gradiente sea muy grande cuando se acerca a uno. En su lugar, sugiere usar una función de costo no saturada que tiene un gradiente más alto cuando está más cerca de cero y convierte la función de costo actual en esta función de costo no saturada usando un truco matemático. La función de costo de no saturación tiene un gradiente alto al principio cuando el discriminador es mejor que el generador, que es donde suelen estar al principio del entrenamiento.

  • 01:05:00 En esta sección, el orador analiza consejos y trucos para entrenar GAN, incluida la modificación de la función de costo, la actualización del discriminador más que el generador y el uso de Virtual BatchNorm. El orador también muestra ejemplos de resultados GAN impresionantes, incluido el uso de un generador para crear caras con un código aleatorio y la realización de operaciones lineales en el espacio latente de códigos para impactar directamente en el espacio de la imagen. Además, el orador demuestra cómo se pueden usar las GAN en la traducción de imagen a imagen para generar imágenes satelitales basadas en imágenes de mapas y convertir entre diferentes objetos, como cebras y caballos o manzanas y naranjas.

  • 01:10:00 En esta sección, el instructor analiza el uso de redes antagónicas generativas desapareadas para convertir caballos en cebras y viceversa. La arquitectura utilizada se denomina CycleGAN, que involucra dos generadores y dos discriminadores. Los generadores están capacitados para transformar una imagen del dominio de origen al dominio de destino y luego de vuelta al dominio de origen. Esto es importante para hacer cumplir la restricción de que el caballo debe ser el mismo caballo que una cebra y viceversa. Las funciones de pérdida utilizadas incluyen las clásicas funciones de costo vistas anteriormente y términos adicionales que aseguran la coincidencia entre la imagen original y la generada.

  • 01:15:00 En esta sección del video, los oradores discuten varias aplicaciones de GAN, incluido el uso de costos de ciclo para mejorar las funciones de pérdida para GAN condicionales, la capacidad de generar imágenes basadas en bordes o imágenes de baja resolución, y el potencial para que las GAN se utilicen en conjuntos de datos médicos que preservan la privacidad y en la fabricación personalizada de objetos como huesos y reemplazos dentales. Los ponentes también destacan las divertidas aplicaciones que se han creado, como la conversión de ramen a cara y espalda, y la generación de gatos a partir de aristas.

  • 01:20:00 En esta sección, el disertante analiza la evaluación de las GAN y cómo verificar si las imágenes generadas son realistas o no. Un método es la anotación humana, donde se crea un software y se pide a los usuarios que indiquen qué imágenes son falsas y cuáles son reales. Otro método es utilizar una red de clasificación como la red Inception para evaluar las imágenes. El disertante también menciona el puntaje de inicio y la distancia de inicio de Frechet como métodos populares para evaluar las GAN. Por último, el disertante recuerda a los estudiantes sobre los próximos cuestionarios y tareas de programación y les aconseja que revisen los videos de BatchNorm.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Clase 5 - IA + Salud




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 5 - IA + Salud

La conferencia proporciona una descripción general de las aplicaciones de IA en el cuidado de la salud en esta conferencia. Desglosa los tipos de preguntas que la IA puede responder, como descriptivas, de diagnóstico, predictivas y prescriptivas. Luego, el autor presenta tres estudios de casos de su laboratorio que demuestran la aplicación de la IA a diferentes problemas de atención médica. Un ejemplo es la detección de arritmias cardíacas graves, que los expertos podrían haber diagnosticado erróneamente pero que una máquina podría detectar. Otro ejemplo es el uso de redes neuronales convolucionales para identificar anomalías de los exámenes de RM de rodilla, identificando específicamente la probabilidad de un desgarro de LCA y un desgarro de menisco. Finalmente, el orador analiza cuestiones relacionadas con la distribución de datos y el aumento de datos en la IA del cuidado de la salud.

La segunda parte cubre varios temas relacionados con la implementación del aprendizaje profundo en aplicaciones de atención médica. Se analiza la importancia del aumento de datos, como lo demuestra la solución de una empresa a los problemas de reconocimiento de voz en los automóviles autónomos causados por personas que hablan con el asistente virtual mientras miran hacia atrás. También se analizan los hiperparámetros involucrados en el aprendizaje de transferencia para aplicaciones de atención médica, como decidir cuántas capas agregar y cuáles congelar. Luego, la conferencia pasa al análisis de imágenes, donde se destaca la importancia de agregar límites a los conjuntos de datos etiquetados. Se discuten las ventajas y diferencias entre la detección de objetos y la segmentación en el análisis de imágenes médicas, y se introduce el tema de la clasificación binaria para imágenes médicas etiquetadas con cero o uno. La conferencia concluye discutiendo la importancia de los datos en el aprendizaje profundo y las próximas evaluaciones del curso.

  • 00:00:00 En esta sección del video, la conferencia brinda una descripción general de las aplicaciones de IA en el cuidado de la salud. Desglosa los tipos de preguntas que la IA puede responder, como descriptivas, de diagnóstico, predictivas y prescriptivas. También analiza el cambio de paradigma del aprendizaje profundo y el potencial de la IA para automatizar el trabajo del ingeniero de aprendizaje automático. Luego, Rajpurkar presenta tres estudios de casos de su laboratorio que demuestran la aplicación de la IA a diferentes problemas de atención médica.

  • 00:05:00 En esta sección, el ponente analiza el problema de detectar arritmias mediante imágenes médicas. Las arritmias son un problema importante que afecta a millones de personas, y detectarlas a través de pruebas de ECG puede ser un desafío debido a las sutiles diferencias entre los ritmos cardíacos. El ponente destaca la cantidad de datos generados en dos semanas a partir del seguimiento de pacientes con dispositivos recientes, como Zio Patch, que pueden hacer necesaria la interpretación automatizada. Sin embargo, la detección de arritmias mediante métodos automatizados presenta desafíos, como la disponibilidad limitada de varios electrodos y las sutiles diferencias entre los ritmos cardíacos. Para superar estos desafíos, el orador propone utilizar el aprendizaje profundo, que puede cambiar los enfoques tradicionales de clasificación e ingeniería de características.

  • 00:10:00 En esta sección, el orador analiza el uso de una red neuronal profunda con una arquitectura de red neuronal convolucional 1D que tiene 34 capas de profundidad, para mapear los ritmos cardíacos (etiquetados como A, B y C) desde la entrada hasta la salida. La red utilizada fue una red residual con atajos que ayudan a minimizar la distancia desde la señal de error a cada una de las capas, y se combinó con una base de datos más grande que era 600 veces más grande que el conjunto de datos más grande anterior. Esta nueva base de datos permite que el algoritmo supere a los cardiólogos en la precisión y recuperación de las métricas de F1, siendo el mayor error distinguir dos ritmos que se ven muy similares pero que no tienen diferencia en el tratamiento, e incluso encontrar un error de costos que los expertos no detectaron.

  • 00:15:00 En esta sección, el disertante analiza el uso de la automatización en el cuidado de la salud y cómo el aprendizaje profundo y el aprendizaje automático permiten el monitoreo continuo de los pacientes, lo que mejora la comprensión científica de los factores de riesgo y los posibles avances médicos. Un ejemplo es la detección de arritmias cardíacas graves, que los expertos podrían haber diagnosticado erróneamente, pero que podrían ser detectadas por una máquina. El disertante también aborda la detección de neumonía con radiografía de tórax, destacando la utilidad de la detección automática, especialmente en niños donde la neumonía tiene una alta carga global.

  • 00:20:00 En esta sección, el orador analiza el uso de una red neuronal convolucional 2D que ha sido entrenada previamente en ImageNet para tomar una imagen de entrada de la radiografía de tórax de un paciente y generar una etiqueta binaria que indica la presencia o ausencia de neumonía El conjunto de datos utilizado fue un gran conjunto de datos de 100 000 radiografías de tórax publicadas por los NIH, con cada radiografía anotada con hasta 14 patologías diferentes. Se hizo una evaluación para determinar si el modelo era mejor que los radiólogos o estaba a la par con ellos evaluando si coincidían con otros expertos de manera similar. La puntuación F1 se calculó una vez para cada experto y el modelo, y se demostró que el modelo se desempeñó mejor que el radiólogo promedio en esta tarea. Los resultados también fueron mejores que el estado del arte anterior en las 14 patologías.

  • 00:25:00 En esta sección, el ponente analiza los desafíos de diagnosticar pacientes sin acceso a sus historias clínicas y cómo se pueden entrenar algoritmos de aprendizaje profundo sobre informes de radiología que tienen acceso a más información. El objetivo es identificar posibles patologías a partir de un conjunto de síntomas observados en la radiografía de tórax de un nuevo paciente. La interpretación del modelo es esencial para informar a los médicos sobre el proceso de toma de decisiones del algoritmo, y utilizan mapas de activación de clases para generar mapas de calor que resaltan áreas de una imagen con patologías. El enfoque puede mejorar la prestación de atención médica al priorizar el flujo de trabajo, especialmente en el mundo desarrollado, y aumentar la experiencia en imágenes médicas a nivel mundial, donde dos tercios de la población carece de acceso a diagnósticos.

  • 00:30:00 En esta sección, el disertante demuestra una aplicación prototipo que permite a los usuarios cargar imágenes de rayos X, que luego el modelo diagnostica. El modelo está entrenado en 14 patologías y es capaz de identificar la cardiomegalia, el agrandamiento del corazón. El disertante está entusiasmado con la capacidad del algoritmo para generalizar a poblaciones más allá de las que se entrenó, como lo demuestra el diagnóstico exitoso de una imagen descargada de Internet. Además, el disertante analiza un estudio de caso sobre imágenes de RM de la rodilla, donde el objetivo era identificar anomalías en la rodilla. El problema 3D permite ver la rodilla desde diferentes ángulos, lo cual es fundamental para que los radiólogos realicen diagnósticos.

  • 00:35:00 En esta sección, el orador analiza el uso de redes neuronales convolucionales para identificar anomalías en los exámenes de RM de la rodilla, identificando específicamente la probabilidad de un desgarro del LCA y un desgarro del menisco. El orador entrenó nueve redes convolucionales para cada par de vista-patología y luego las combinó mediante regresión logística. Probaron el modelo en 120 exámenes y descubrieron que funcionaba bien en la identificación de anomalías. El ponente también analiza la importancia de poder generalizar modelos para trabajar con conjuntos de datos de diferentes instituciones y países. También se menciona el tema de modelos que trabajan junto con expertos en diferentes campos, como radiólogos, para mejorar el rendimiento.

  • 00:40:00 En esta sección de la conferencia, el orador analiza un estudio sobre la eficacia de los radiólogos que utilizan un modelo de IA para detectar desgarros del LCA. El estudio encontró que el uso del modelo junto con los radiólogos aumentó el rendimiento y la especificidad de la detección de roturas del LCA. Sin embargo, surge la preocupación por el sesgo de automatización, y el orador aborda posibles soluciones, como aprobar exámenes con respuestas invertidas para alertar a los radiólogos si confían demasiado en el modelo. El orador también comparte dos oportunidades para que los estudiantes se involucren con la IA y la atención médica, incluido el trabajo con el conjunto de datos MURA y la participación en AI for Healthcare Bootcamp.

  • 00:45:00 En esta sección, el orador analiza las aplicaciones y la compensación potencial para los expertos médicos en el desarrollo e implementación de modelos de IA en el cuidado de la salud. Si bien se está trabajando mucho sobre el tema, no existe una solución directa a las preocupaciones éticas que rodean el impacto potencial en los medios de vida de los profesionales médicos. El ponente también aborda una cuestión sobre las limitaciones de los modelos de IA a la hora de detectar determinadas patologías y la importancia de trasladar estas limitaciones a los usuarios. La sección concluye con un estudio de caso sobre el uso del aprendizaje profundo para segmentar imágenes microscópicas de células de la piel para detectar enfermedades.

  • 00:50:00 En esta sección, el orador analiza la segmentación de imágenes médicas y la división del conjunto de datos en conjuntos de entrenamiento, desarrollo y prueba. Las imágenes son binarias segmentadas en píxeles que corresponden a celda o no celda. Se le pide a la audiencia que discuta y proporcione estrategias para dividir los datos de tres microscopios diferentes: A, B y C, con los datos divididos en 50 % para A, 25 % para B y 25 % para C. El consenso es divida los datos en 95-5 para el entrenamiento y la prueba de desarrollo, con imágenes C en los conjuntos de desarrollo y prueba, e imágenes C también incluidas en el 90 % de los datos de entrenamiento.

  • 00:55:00 En esta sección, el orador analiza cuestiones relacionadas con la distribución y el aumento de datos en la IA de atención médica. Hace hincapié en la importancia de garantizar que la distribución de los datos de entrenamiento coincida con la aplicación del mundo real y sugiere técnicas de aumento como la rotación, el zoom, el desenfoque y la simetría. El orador también advierte sobre los casos en los que el aumento de datos puede dañar el modelo en lugar de ayudarlo, como en el reconocimiento de caracteres, donde los cambios de simetría pueden conducir a un etiquetado incorrecto.

  • 01:00:00 En esta sección, se analiza la importancia del aumento de datos con un ejemplo de una empresa que trabaja en automóviles autónomos y asistentes virtuales en los automóviles. Se dieron cuenta de que el sistema de reconocimiento de voz no funcionaba bien cuando el coche iba marcha atrás y descubrieron que las personas hablaban con el asistente virtual con la mano en el asiento del pasajero mirando hacia atrás. Usando el aumento inteligente de datos, pudieron cambiar las voces de los datos para que parecieran haber sido utilizados por alguien que estaba hablando con la parte trasera del automóvil, lo que resolvió el problema. Además, se discuten temas como los hiperparámetros involucrados en el aprendizaje por transferencia.

  • 01:05:00 En esta sección, el orador analiza los hiperparámetros involucrados en el aprendizaje de transferencia para aplicaciones de atención médica que utilizan aprendizaje profundo. Se centran en hiperparámetros como el número de capas, el tamaño de las capas añadidas y la decisión de qué capas congelar durante el entrenamiento. El orador explica cómo elegir qué capas mantener de una red previamente entrenada y cuántas capas agregar para crear una nueva red para la segmentación. Además, comentan que es importante decidir qué parte de las capas preentrenadas congelar durante el reentrenamiento para un conjunto de datos pequeño.

  • 01:10:00 En esta sección, el instructor muestra una imagen de un resultado producido por un algoritmo, que no coincide con lo que desea el médico. La imagen tiene células que no se pueden separar, lo que dificulta que el médico la interprete. La solución a este problema es agregar límites al conjunto de datos etiquetado. Los conjuntos de datos se pueden volver a etiquetar, teniendo en cuenta la presencia de límites. Cuando el modelo sigue sin funcionar bien, se ajusta la ponderación de la función de pérdida, lo que significa que el modelo está entrenado para centrarse en los límites. Se pueden atribuir coeficientes a cada valor en la función de pérdida para decirle al modelo cómo proceder en caso de que pierda los límites. El reetiquetado del conjunto de datos se puede hacer manualmente donde dibuja líneas, y el área dentro de las líneas se tratará como la celda, y el límite se tratará como la línea.

  • 01:15:00 En esta sección, la conferencia analiza las ventajas y diferencias entre la detección de objetos y la segmentación en el análisis de imágenes médicas. Si bien la detección de objetos puede funcionar mejor para un análisis más rápido, la segmentación es más precisa en la separación de celdas. Luego, la conferencia pasa a discutir la clasificación binaria de las imágenes médicas que están etiquetadas con cero o uno, lo que indica la presencia o ausencia de células cancerosas. El orador recomienda usar valores de gradiente para interpretar la predicción de la red después de lograr una tasa de precisión del 99%. Se cuestiona entonces si es posible que una red logre mayor precisión que un médico, a lo que la respuesta es sí debido a las diferencias de experiencia y percepción.

  • 01:20:00 En esta sección, los instructores analizan el error básico y el rendimiento a nivel humano en los modelos de IA para el cuidado de la salud. Mencionan que se debe tener en cuenta la precisión de un grupo de médicos que etiquetó el conjunto de datos, ya que podría superar la de un solo médico. También se analiza la tubería para la conducción autónoma, y se sugiere que aislar cada componente y verificar su rendimiento puede ayudar a identificar dónde radica el problema. Además, se analizan las ventajas de un enfoque de tubería, incluido que la recopilación de datos puede ser más fácil de obtener para cada paso individual que para todo el sistema de extremo a extremo.

  • 01:25:00 En esta sección, el instructor analiza la importancia de los datos en el aprendizaje profundo y cómo la elección del problema en el que trabajar puede depender de qué datos son fácilmente accesibles. Luego presenta el tema de las redes neuronales convolucionales y menciona que los próximos módulos se centrarán en gran medida en el análisis de imágenes. El instructor les recuerda a los estudiantes el próximo cuestionario, las tareas de programación y el examen parcial, que cubrirá todo hasta los videos de la semana actual.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Clase 6 - Estrategia del proyecto de aprendizaje profundo




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 6 - Estrategia del proyecto de aprendizaje profundo

En este video, el orador analiza la importancia de elegir una buena métrica para medir el éxito de un proyecto de aprendizaje automático. La métrica elegida debe reflejar el problema en cuestión y el resultado deseado. El orador proporciona los ejemplos de exactitud, precisión, recuperación y puntaje F1 y explica cuándo se debe usar cada uno. También discuten la diferencia entre el conjunto de validación y el conjunto de prueba y explican por qué es importante usar ambos. Además, el orador enfatiza la necesidad de un modelo de referencia como punto de comparación para medir la efectividad del algoritmo de aprendizaje. Finalmente, el orador responde algunas preguntas de la audiencia sobre la elección del umbral para la clasificación binaria y cómo lidiar con el desequilibrio de clases.

  • 00:00:00 En esta sección, el instructor presenta un escenario de proyecto de construcción de un sistema de reconocimiento de voz para detectar una frase específica, "Robert enciende", que se puede usar para encender una lámpara usando un comando de voz. El objetivo es construir un algoritmo de aprendizaje que pueda reconocer esta frase y encender la lámpara cuando se pronuncia. El instructor enfatiza la importancia de ser estratégicamente sofisticado al decidir qué hacer a continuación en un proyecto de aprendizaje automático para hacerlo más eficiente e impulsarlo rápidamente. La conferencia será interactiva y se anima a los estudiantes a sentarse con alguien con quien no trabajan tradicionalmente.

  • 00:05:00 En esta sección, el instructor le pide a la audiencia que se imagine como el CEO de una startup con la tarea de construir un algoritmo de aprendizaje para detectar una frase específica. Hace hincapié en la importancia de leer la literatura existente antes de embarcarse en un nuevo proyecto y brinda consejos sobre cómo leer los artículos de investigación de manera eficiente. Aconseja a la audiencia que hojee varios documentos a nivel superficial antes de decidir cuál leer con mayor detalle. También advierte que no todos los documentos tienen sentido o son importantes y, por lo tanto, es esencial filtrar la información irrelevante.

  • 00:10:00 En esta sección de la conferencia, se enfatiza la importancia de hablar con expertos y contactar a los autores de artículos cuando se trata de comprender un tema en particular. El orador también analiza el proceso de recopilación de conjuntos de datos de capacitación, desarrollo y prueba apropiados para un proyecto de aprendizaje profundo. Sugieren grabar a las personas que dicen la frase específica que se va a detectar, como "Robert enciende", y usar técnicas de aumento de datos para reducir la variación en el algoritmo de aprendizaje. El ponente destaca la importancia de validar la necesidad de aumentar los datos antes de invertir tiempo y esfuerzo en ello.

  • 00:15:00 En esta sección, el orador analiza un problema de tarea de ejemplo que implica la creación de un sistema de detección de palabras desencadenantes. El sistema está diseñado para detectar cuando alguien dice una frase específica, como "Robert enciende", y luego activa una acción, como encender una lámpara. Para recopilar los datos necesarios, el orador sugiere recopilar 100 clips de audio de 10 segundos cada uno, con 25 para el conjunto de desarrollo y 0 para el conjunto de prueba. Explica que este proceso se podría hacer rápidamente, estimando que se podría grabar a una persona cada minuto o dos en un área concurrida como la cafetería de Stanford.

  • 00:20:00 En esta sección del video, el disertante analiza cómo convertir un problema de detección de audio en un problema de clasificación binaria para el aprendizaje supervisado. Sugieren recortar clips de audio de tres segundos de un clip de diez segundos, con diferentes etiquetas de destino para cada clip. Este método puede producir miles de ejemplos de entrenamiento. El disertante reconoce que existen otros métodos para procesar datos de secuencias, pero esta es una forma de hacerlo. También responden preguntas de la audiencia sobre objetivos dispersos y la elección de clips de tres segundos. Finalmente, analizan un escenario en el que la precisión es alta, pero el algoritmo no detecta ninguna instancia de la frase en cuestión.

  • 00:25:00 En esta sección, el orador analiza un escenario en el que un algoritmo de aprendizaje brinda un 95 % de precisión pero no detecta. Sugieren que una forma de mejorar el algoritmo es especificar un conjunto de desarrollo y evaluar métricas que estén más cerca del objetivo real. Esto se puede hacer volviendo a muestrear conjuntos de entrenamiento y desarrollo para hacerlos más proporcionados en términos de ejemplos positivos y negativos o dando mayor peso a los ejemplos positivos. Otro enfoque podría ser cambiar las etiquetas de destino a un montón de unos, lo que puede ser un método rápido y sucio, pero no matemáticamente riguroso. El orador también aborda una pregunta sobre cómo reequilibrar los conjuntos de datos al implementar y se refiere a la necesidad de ajustar el sesgo que se puede introducir.

  • 00:30:00 En esta sección, el orador analiza la estrategia para construir algoritmos de aprendizaje y enfatiza que puede parecer más una depuración que un desarrollo. El flujo de trabajo generalmente implica solucionar un problema y luego encontrar uno nuevo para resolver. Por ejemplo, si el algoritmo se sobreajusta, se necesita un análisis de errores y se pueden agregar más para equilibrar el conjunto de datos. Sin embargo, la forma sencilla de reequilibrar puede hacer que se descarten muchos ejemplos negativos, lo que podría haber sido útil para el algoritmo de aprendizaje. El ponente también mencionó las métricas para medir la eficiencia de un sistema, como la posibilidad de despertar o encender la lámpara y la aleatoriedad de que se encienda sola.

  • 00:35:00 En esta sección, el orador analiza el aumento de datos para audio y sugiere tres formas posibles de recopilar datos de ruido de fondo para hacer que un sistema sea más sólido. El primer método consiste en recopilar muestras de audio de sonidos de fondo dentro de las casas de las personas con su permiso para agregarlas a los clips de audio para simular cómo sonarían en la casa del usuario. El segundo método consiste en descargar clips de audio de lluvia o automóviles de 10 horas de duración de contenido en línea con licencia Creative Commons, mientras que la tercera opción es usar Amazon Mechanical Turk para que personas de todo el mundo proporcionen muestras de audio.

  • 00:40:00 En esta sección del video, el orador le pide a la audiencia que calcule cuánto tiempo tomaría recolectar 10 horas de datos de audio en varios lugares alrededor de Stanford a través de diferentes mecanismos. El orador sugiere que la recopilación de datos en paralelo al tener varios amigos con computadoras portátiles se puede hacer rápidamente, mientras que la descarga de clips en línea puede ser más difícil ya que los clips pueden repetirse y, por lo tanto, no contribuir a la diversidad de datos. El orador enfatiza la importancia de realizar tales ejercicios para generar ideas de manera eficiente y determinar cuánto tiempo y esfuerzo requerirán.

  • 00:45:00 En esta sección, el instructor explica la importancia de ser eficiente y tomar decisiones basadas en ideas generadas y estimaciones de tiempo para construir un sistema decente de detección de palabras desencadenantes. El consejo dado es construir rápidamente algo "sucio" y luego desarrollar conjuntos de datos para mejorar aún más el sistema. El instructor enfatiza que la diferencia entre el éxito o el fracaso de una empresa se reduce en última instancia a ser eficiente y aprovechar al máximo el período de tiempo dado. Por último, el instructor alienta a los estudiantes a completar una encuesta anónima para ayudar a mejorar el curso .
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Clase 7 - Interpretabilidad de la Red Neuronal




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 7 - Interpretabilidad de la Red Neuronal

En esta lección, el disertante presenta varios métodos para interpretar y visualizar redes neuronales, como mapas de prominencia, sensibilidad de oclusión y mapas de activación de clases. Los mapas de activación de clase se utilizan para interpretar las capas intermedias de una red neuronal al mapear la salida al espacio de entrada para visualizar qué partes de la entrada fueron más discriminatorias en el proceso de toma de decisiones. El profesor también analiza la agrupación de promedios globales como una forma de mantener la información espacial en una red neuronal convolucional y la deconvolución como una forma de aumentar la muestra de la altura y el ancho de las imágenes para tareas como la segmentación de imágenes. Además, la conferencia explora la suposición de ortogonalidad en los filtros convolucionales y cómo se puede utilizar la convolución de subpíxeles para la reconstrucción en aplicaciones de visualización.

La conferencia cubre varios métodos para interpretar y visualizar redes neuronales, incluida la convolución de subpíxeles, la deconvolución 2D, el muestreo ascendente, la desagrupación y el uso de herramientas como la caja de herramientas DeepViz y el algoritmo Deep Dream. El ponente explica cómo visualizar filtros en la primera capa de una red puede facilitar la interpretación, pero a medida que profundizamos, la red se vuelve más difícil de entender. Al examinar las activaciones en diferentes capas, el hablante muestra cómo ciertas neuronas responden a características específicas. Si bien existen limitaciones para interpretar las redes neuronales, las técnicas de visualización pueden proporcionar información y aplicaciones potenciales, como la segmentación, la reconstrucción y la generación de redes antagónicas.

  • 00:00:00 En esta sección, el orador presenta la idea de interpretar las redes neuronales, en lugar de simplemente usar prueba y error para mejorarlas. Continúan presentando tres métodos para interpretar redes neuronales: mapas de prominencia, sensibilidad de oclusión y mapas de activación de clases. Estos métodos ayudan a comprender el proceso de toma de decisiones de la red al mapear el espacio de entrada para verificar qué parte de la entrada fue discriminatoria para una determinada salida. Luego, el orador continúa explicando cómo profundizarán aún más en las capas intermedias y cómo utilizarán métodos como la visualización del modelo de clase de ascenso de gradiente, la búsqueda de conjuntos de datos y la deconvolución para comprender mejor la red. El objetivo es proporcionar un método científico para mejorar las redes neuronales en lugar de confiar solo en el ensayo y error.

  • 00:05:00 En esta sección, el disertante analiza la interpretabilidad de las redes neuronales y el uso de mapas de prominencia para visualizar lo que está mirando la red. Explican que en lugar de usar las probabilidades de la capa softmax, es mejor usar las puntuaciones pre-softmax para identificar qué píxeles tienen la mayor influencia en la salida general de la red. El disertante también introduce la sensibilidad de oclusión como un método para una visualización más precisa. Esto implica colocar un cuadrado gris sobre el perro en la imagen de entrada y propagarlo a través de la red varias veces para crear un mapa de probabilidad de la clase perro, donde la confianza de la red se indica con diferentes colores. Al desplazar el cuadrado gris, el mapa muestra qué regiones de la imagen de entrada son más cruciales para que la red lo clasifique como un perro.

  • 00:10:00 En esta sección, el disertante analiza tres métodos diferentes para interpretar y comprender las redes neuronales. El primer método consiste en ocluir partes de la imagen para ver hacia dónde mira la red y en qué se está enfocando. El disertante demuestra este método con imágenes de perros y sillas, mostrando cómo cambia la confianza de la red dependiendo de qué parte de la imagen se ocluye. El segundo método es la sensibilidad a la oclusión, donde la confianza de la red en realidad aumenta cuando se eliminan ciertas partes de la imagen. El tercer método son los mapas de activación de clases, que demuestran la capacidad de una red para localizar objetos en imágenes incluso cuando se entrenan solo en etiquetas a nivel de imagen. El profesor explica que esta capacidad de localización es crucial para tareas como la detección de objetos y, a menudo, se desarrolla a través del entrenamiento en tareas de clasificación.

  • 00:15:00 En esta sección, el instructor demuestra cómo usar la agrupación promedio global en lugar de aplanada más completamente conectada en una red neuronal convolucional (CNN) para mantener la información espacial, que es útil para visualizar lo que está mirando la red. Después de obtener un volumen con seis mapas de características, se aplica la agrupación promedio global para convertirlo en un vector de seis valores, que luego se alimentan a una capa completamente conectada con activación softmax para obtener probabilidades. Al observar los pesos de la capa completamente conectada, es posible determinar cuánto contribuye cada mapa de características a la salida, y una suma ponderada de todos estos mapas de características puede revelar lo que la red está viendo en la imagen de entrada.

  • 00:20:00 En esta sección, el orador analiza los mapas de activación de clases y cómo dependen de la clase que se analiza en la red neuronal. Al examinar los bordes entre la primera activación y la capa anterior, el orador explica que los pesos diferirán según la clase que se analice. Al sumar todos los mapas de características, se obtienen diferentes resultados. Luego, el orador analiza cómo se pueden visualizar los mapas de activación de clases con una red cambiando las últimas capas, y cómo esto requiere algunos ajustes. El orador también analiza cómo el proceso de agrupación promedio global, que implica una normalización de 116, no elimina la información espacial porque los mapas de características se conocen y, por lo tanto, se pueden mapear exactamente.

  • 00:25:00 En esta sección, el ponente explica cómo funcionan los mapas de activación de clases para interpretar las capas intermedias de una red neuronal. Este método mapea la salida al espacio de entrada, lo que permite a los usuarios visualizar qué partes de la entrada fueron más discriminatorias en el proceso de toma de decisiones. A través del ascenso de gradiente, un proceso iterativo que maximiza la puntuación del resultado deseado, el orador ofrece una demostración de cómo usar este método para encontrar la imagen que representa cómo la red cree que es un perro. El orador dice que si bien este método es una forma efectiva de interpretar datos de imágenes, otros métodos, como los modelos de atención, se utilizan para interpretar datos que no son imágenes.

  • 00:30:00 En esta sección de la conferencia, el profesor analiza diferentes técnicas para visualizar lo que ve una red neuronal. Muestra ejemplos de cómo empujar ciertos valores de píxeles puede conducir a una puntuación más alta para una clase en particular, y cómo la regularización, como L2 o el desenfoque gaussiano, puede mejorar la calidad de las visualizaciones. El profesor también presenta la idea de la visualización del modelo de clase, donde se usa una función objetiva para maximizar el puntaje de una clase en particular, y cómo se puede usar para validar que la red está buscando lo correcto. Además, el profesor habla sobre cómo se puede usar la búsqueda de conjuntos de datos para comprender qué está pensando una activación particular en el medio de la red, seleccionando un mapa de características y ejecutando una gran cantidad de datos a través de la red para ver qué puntos de datos tienen el activación máxima de ese mapa de características.

  • 00:35:00 En esta sección, el disertante explica cómo diferentes mapas de características en una red neuronal convolucional son activados por diferentes partes de una imagen. El disertante presenta ejemplos de un mapa de características que detecta camisas y otro que detecta bordes. Luego, el disertante explica que las activaciones de una imagen en la red solo ven una subparte de la imagen de entrada y, a medida que la red se profundiza, la activación de cada capa mira una parte más grande de la imagen. El disertante también explica cómo se pueden usar las redes de deconvolución para generar imágenes basadas en una entrada de código, y cómo este método puede ser más práctico que usar una capa completamente conectada con muchas neuronas.

  • 00:40:00 En esta sección, el ponente explica el uso de la deconvolución en las redes neuronales. La deconvolución puede aumentar la muestra de la altura y el ancho de las imágenes, lo que la hace útil para tareas como la segmentación de imágenes. El orador también analiza el método de ascenso de gradiente y cómo reconstruir las activaciones en el espacio de entrada a través de la desagrupación, la eliminación de ReLU y la deconvolución. Luego, el orador procede a definir la deconvolución como una operación matemática de matriz vectorial y da un ejemplo de una convolución 1D con relleno.

  • 00:45:00 En esta sección de la conferencia, el profesor está discutiendo la operación matemática entre una matriz y un vector. Da un ejemplo de una capa convolucional con un filtro que tiene un tamaño de cuatro y un paso de dos. El tamaño de salida se calcula mediante una fórmula, que es nx-f+2p/zancada. Luego explica cómo definir esta convolución como una operación matemática entre una matriz y un vector, escribiendo un sistema de ecuaciones y encontrando la forma de la matriz. La matriz resultante se completa de acuerdo con el sistema de ecuaciones, y el vector de activaciones se multiplica por la matriz.

  • 00:50:00 En esta sección de la lección, el instructor explica cómo la operación de convolución se puede representar como una matriz simple multiplicada por un vector. La matriz consta de pesos y su ubicación en la matriz está dictada por el tamaño de la zancada y la ventana. Al enmarcar la convolución como una operación de matriz, podemos invertir la matriz para realizar la deconvolución y reconstruir la entrada original. Sin embargo, este enfoque supone que la matriz de pesos es invertible y ortogonal, lo que no siempre es cierto en la práctica. La suposición de ortogonalidad es útil en los casos en que el filtro convolucional es un detector de bordes.

  • 00:55:00 En esta sección de la conferencia, el profesor presenta un método para generar X a partir de Y asumiendo que la reconstrucción será útil incluso si no siempre es cierta. Demuestran el proceso usando ilustraciones y un código Menti, mostrando cómo se puede usar una convolución de subpíxeles para realizar la misma operación con un golpe que va de izquierda a derecha en lugar de arriba hacia abajo. La técnica consiste en recortar y rellenar la entrada para obtener la salida deseada. El profesor señala que este tipo de convolución se usa a menudo para la reconstrucción en aplicaciones de visualización.

  • 01:00:00 En esta sección, el profesor explica el concepto de convolución de subpíxeles, que consiste en insertar ceros en un vector Y para permitir un cálculo más eficiente de la deconvolución. Al invertir los pesos, dividir la zancada por dos e insertar ceros, el proceso de desconvolución se vuelve esencialmente equivalente a la convolución. Este proceso se puede extender a la convolución bidimensional y, en general, proporciona una mejor comprensión de la operación matemática entre una matriz y un vector para la convolución.

  • 01:05:00 En esta sección, el ponente profundiza en la interpretación de la deconvolución 2D. La intención detrás de la desconvolución es obtener una entrada de cinco por cinco, que es la x reconstruida. Para hacer esto, el orador demuestra que se aplica un filtro de tamaño dos por dos a las entradas de propagación hacia adelante con un paso igual a dos en una capa conv. Luego, se aplica la técnica de deconvolución para obtener la imagen reconstruida. La lección explica que el proceso de deconvolución involucra tomar el filtro y multiplicar todos los pesos por y11, cambiando esto en un paso de uno y repitiendo el mismo proceso para todas las entradas. El ponente concluye señalando que el proceso es algo complicado; sin embargo, no hay necesidad de preocuparse si el concepto de desconvolución no se entiende bien.

  • 01:10:00 En esta sección de la conferencia, el profesor explica el proceso de muestreo superior de una imagen de forma visual. Él explica que para reconstruir una imagen, se deben usar los pesos de ConvNet si es posible. Luego muestra una representación visual del proceso de sobremuestreo que comienza con una imagen de 4x4, inserta ceros y la rellena a una imagen de 9x9 antes de usar un filtro para convolucionar sobre la imagen y realizar la convolución a medida que avanza. También analiza brevemente cómo desagrupar y desreLU, afirmando que el grupo máximo no es matemáticamente invertible, pero el proceso se puede aproximar a través de interruptores de distribución y almacenamiento en caché para valores máximos.

  • 01:15:00 En esta sección, se explica el concepto de unpooling y maxpooling en redes neuronales, junto con el uso de interruptores y filtros para reconstruir la entrada original. También se analiza la función de activación de ReLU y se introduce el concepto de ReLU hacia atrás. El uso de ReLU DeconvNet se explica como un método para la reconstrucción imparcial que no depende de la propagación directa. El enfoque se describe como un truco y no siempre es científicamente viable, pero es útil para visualizar e interpretar la red neuronal.

  • 01:20:00 En esta sección de la conferencia, el ponente explica cómo visualizar y comprender lo que sucede dentro de las redes neuronales averiguando a qué corresponde cada activación. La técnica de visualización consiste en elegir una activación, encontrar la activación máxima, establecer todas las demás en cero y luego reconstruir la imagen. El orador analiza cómo los filtros en la primera capa de la red pueden interpretarse debido al hecho de que los pesos multiplican directamente los píxeles. Sin embargo, a medida que profundizamos en la red, los filtros se vuelven más difíciles de interpretar. El ponente también continúa explicando cómo cuanto más profundizamos, más complejidad vemos, y proporciona ejemplos de diferentes filtros y los tipos de imágenes que los activan.

  • 01:25:00 En esta sección de la conferencia, el orador demuestra el uso de la caja de herramientas DeepViz para investigar la interpretabilidad de las redes neuronales. Al examinar las activaciones de las neuronas en diferentes capas de una red convolucional, el orador muestra cómo ciertas neuronas se activan en respuesta a características específicas, como rostros o arrugas. El orador también menciona el uso opcional de la técnica Deep Dream para generar imágenes configurando el gradiente para que sea igual a las activaciones de una capa específica, lo que permite una mayor exploración del comportamiento de la red neuronal.

  • 01:30:00 En esta sección, el orador demuestra el algoritmo Deep Dream, que genera imágenes retropropagando las activaciones de una red neuronal a la capa de entrada y actualizando los píxeles. El resultado es una variedad de imágenes surrealistas con animales y otros objetos transformados juntos. El orador también analiza las limitaciones de la interpretación de las redes neuronales y las formas en que las técnicas de visualización, como los mapas de activación de clases y las deconvoluciones, pueden usarse para comprender cómo la red ve el mundo y detecta las neuronas muertas. Además, el orador destaca las posibles aplicaciones de estas visualizaciones, incluida la segmentación, la reconstrucción y la generación de redes antagónicas.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Clase 8 - Asesoramiento profesional / Lectura de trabajos de investigación




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 8 - Asesoramiento profesional / Lectura de trabajos de investigación

En esta conferencia, el profesor Andrew Ng brinda consejos sobre cómo leer de manera eficiente artículos de investigación y mantenerse al día con el campo del aprendizaje profundo en rápida evolución. Destaca la importancia de resumir el trabajo en las secciones introductorias y finales, así como prestar atención a las figuras y tablas. Ng también comparte consejos profesionales, y recomienda que los candidatos a un puesto de trabajo tengan un conocimiento amplio y profundo en múltiples áreas de inteligencia artificial y aprendizaje automático, y que se centren en trabajar con personas en lugar de grandes marcas para maximizar las oportunidades de crecimiento. Sugiere consistencia en la lectura de documentos y la construcción de habilidades tanto horizontales como verticales a través de cursos y proyectos para una base sólida en el aprendizaje automático.

  • 00:00:00 En esta sección de la conferencia, el orador comparte consejos sobre cómo leer documentos de investigación de manera eficiente, particularmente en el campo de rápido desarrollo del aprendizaje profundo. Sugiere compilar una lista de documentos y recursos, incluidos documentos de investigación publicados en arXiv, publicaciones de Medium y publicaciones ocasionales de GitHub. Luego recomienda hojear los documentos y comprender rápidamente cada uno de ellos, omitiendo los documentos que no tienen sentido o no son útiles. Sugiere dedicar más tiempo a los artículos seminales y usar las citas para encontrar artículos adicionales sobre el tema.

  • 00:05:00 En esta sección, el disertante proporciona pautas para leer trabajos de investigación con el fin de aumentar la comprensión de un tema en particular. Sugiere que leer de 15 a 20 artículos dará una comprensión básica de un área, mientras que leer de 50 a 100 artículos conducirá a una muy buena comprensión. Además, brinda consejos sobre cómo leer un documento, sugiriendo que se deben realizar varias pasadas por el documento, con un enfoque en la lectura del título, el resumen y las figuras durante la primera pasada. El disertante enfatiza la importancia de resumir el trabajo en las secciones de introducción y conclusión, ya que a menudo es ahí donde los autores exponen claramente la importancia de su trabajo.

  • 00:10:00 En esta sección de la conferencia, el orador da consejos sobre cómo leer eficientemente trabajos de investigación. Sugiere comenzar con el resumen, la introducción y la conclusión del artículo para obtener una comprensión clara de lo que se trata. También aconseja hojear la sección de trabajo relacionado, que a menudo puede ser difícil de entender si no está familiarizado con la literatura. El orador recomienda leer todo el documento, pero saltándose las partes que no tienen sentido, ya que no es raro que los documentos incluyan secciones sin importancia. Por último, ofrece un conjunto de preguntas para que los lectores prueben y respondan a fin de solidificar su comprensión del artículo, incluido lo que los autores estaban tratando de lograr y qué elementos clave se pueden aplicar.

  • 00:15:00 En esta sección de la conferencia, el profesor alienta a los estudiantes a leer trabajos de investigación y recomienda comenzar con el texto en inglés antes de profundizar en las matemáticas. Asigna un trabajo llamado "Redes neuronales convolucionales densamente conectadas" y sugiere que los estudiantes tomen siete minutos para leerlo antes de discutirlo con sus compañeros de clase. También señala que con la práctica, los estudiantes pueden ser más rápidos en la lectura y comprensión de trabajos de investigación, incluida la comprensión de los formatos comunes utilizados para describir la arquitectura de red. El profesor destaca que se puede aprender más rápidamente centrándose en los conceptos principales presentados en las figuras y tablas del trabajo.

  • 00:20:00 En esta sección, el profesor Andrew Ng brinda consejos sobre cómo mantenerse al día y comprender la investigación del aprendizaje profundo. Sugiere hacer búsquedas en la web y buscar publicaciones de blog sobre documentos importantes, consultar Twitter y el subreddit de ML, y seguir a los investigadores que con frecuencia comparten documentos en línea. Ng también recomienda formar una comunidad con colegas o compañeros de clase para compartir documentos interesantes y volver a derivar matemáticas de notas detalladas para comprender profundamente el algoritmo. Ng enfatiza que el tiempo dedicado a cada artículo puede variar según el nivel de experiencia y la dificultad, pero pasar más tiempo puede conducir a una comprensión más rica de los conceptos de aprendizaje profundo.

  • 00:25:00 En esta sección, el instructor aconseja a los estudiantes que vuelvan a derivar algoritmos de aprendizaje automático desde cero para garantizar una comprensión profunda, ya que permite la capacidad de generalizar y derivar nuevos algoritmos. También recomienda la repetición espaciada en lugar de abarrotar cuando se trata de aprender, y alienta a los estudiantes a formar grupos de lectura y colaborar con sus compañeros para continuar aprendiendo y navegando en una carrera en el aprendizaje automático. Hace hincapié en el aprendizaje constante sobre la actividad intensa y brinda consejos sobre cómo abordar la navegación profesional.

  • 00:30:00 En esta sección de la conferencia, el orador analiza cómo conseguir un trabajo o unirse a un programa de doctorado en el campo del aprendizaje automático y enfatiza la importancia de hacer un trabajo importante. Los reclutadores buscan habilidades técnicas, capacidad de codificación y experiencia laboral significativa en el aprendizaje automático. También se valora mucho la capacidad de seguir aprendiendo nuevas habilidades y mantenerse al día con la rápida evolución del campo. Los ingenieros exitosos de inteligencia artificial y aprendizaje automático son aquellos que han aprendido sobre diferentes áreas del aprendizaje automático y han experimentado trabajar con esas áreas, lo que les lleva a una sólida comprensión de cómo aplicar algoritmos de aprendizaje automático en varios entornos.

  • 00:35:00 En esta sección, el disertante analiza las habilidades "en forma de T" que son deseables en los candidatos para el puesto, lo que significa tener una comprensión amplia de múltiples áreas de inteligencia artificial y aprendizaje automático, al mismo tiempo que tiene una comprensión profunda de al menos una específica área. Él enfatiza la importancia de tener experiencia práctica, como trabajar en proyectos significativos, contribuir al código abierto o investigar para convencer a los reclutadores de las habilidades del candidato. El disertante advierte contra tomar demasiadas clases sin adquirir experiencia práctica, intentar saltar demasiado profundo demasiado rápido o hacer demasiados proyectos pequeños con poca profundidad.

  • 00:40:00 En esta sección de la conferencia, el profesor Ng da consejos sobre cómo construir una base sólida en el aprendizaje automático al recomendar la construcción de piezas horizontales y verticales. Señala que completar 10 proyectos pequeños puede no impresionar a los reclutadores tanto como uno o dos grandes proyectos. Para construir la pieza horizontal, que consiste en habilidades fundamentales en inteligencia artificial y aprendizaje automático, recomienda tomar cursos, leer artículos de investigación y unirse a una comunidad. Para construir la pieza vertical, que implica hacer proyectos más relevantes y profundos, Ng aconseja trabajar en cosas que son relevantes para el aprendizaje automático o la IA para ayudar a desarrollar una carrera en estos campos. Continúa enfatizando la importancia de divertirse y tomar descansos, ya que a menudo no hay una recompensa a corto plazo por el trabajo de aprendizaje profundo aparte de la satisfacción personal.

  • 00:45:00 En esta sección, el disertante analiza cómo la consistencia es clave para mejorar en el campo del aprendizaje profundo. Leer dos artículos a la semana constantemente durante un año conducirá a haber leído 100 artículos y contribuirá a la mejora de uno en el campo. Además, las personas y los proyectos excelentes son los principales predictores del éxito, y tener amigos cercanos que trabajen duro, lean muchos periódicos y se preocupen por su trabajo puede influir para que uno haga lo mismo. Al seleccionar un trabajo, se recomienda concentrarse en el equipo e interactuar con un grupo de 10 a 30 personas que puedan desarrollar su carrera y mejorar sus habilidades.

  • 00:50:00 En esta sección, el orador brinda consejos profesionales para los entusiastas del aprendizaje profundo, instándolos a centrarse en las personas de una empresa en lugar de en su marca. El orador destaca que el gerente y el grupo central con el que interactúan serán los que más los influirán, considerando su nivel de trabajo duro y disposición para enseñar, haciendo que la evaluación personal y las conexiones con las personas sean más importantes que la marca de la empresa. Se evalúan los escenarios de ejemplo dados, como una empresa gigante que envía ofertas de trabajo a un pequeño equipo de IA, centrándose en las personas y cómo influye en el crecimiento de uno. El modo fallido de ignorar a las personas a favor de la marca de la empresa se destaca con un ejemplo personal de un estudiante cuya carrera se estancó después de aceptar una oferta de trabajo de pago back-end basada en Java de una empresa conocida, en lugar de centrarse en trabajar con personas específicas. en un pequeño equipo.

  • 00:55:00 En esta sección, Andrew Ng recomienda precaución al considerar programas de rotación que suenan bien en teoría pero que pueden no brindar una dirección clara u oportunidad de crecimiento dentro de una empresa. Él sugiere buscar oportunidades para trabajar con equipos más pequeños y menos conocidos que pueden estar haciendo un trabajo importante en el aprendizaje automático, en lugar de perseguir grandes marcas. Él enfatiza la importancia de priorizar las experiencias de aprendizaje y hacer un trabajo impactante en lugar de centrarse únicamente en las marcas prestigiosas de la industria.

  • 01:00:00 En esta sección del video, el orador brinda consejos profesionales a quienes se encuentran en las primeras etapas de su carrera. Se recomienda unirse a un equipo con un gran grupo de compañeros y hacer un trabajo significativo que ayude a otras personas. Sin embargo, aconseja no trabajar para empresas que producen productos nocivos como los cigarrillos. Él cree que hay mucho trabajo importante por hacer en varias industrias, y que el mundo necesita gente que trabaje en diferentes cosas. Sugiere que la próxima ola de aprendizaje automático no es solo para las empresas de tecnología, sino también para observar todas las industrias tradicionales que no tienen tecnología implementada.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Clase 9 - Aprendizaje por refuerzo profundo




Stanford CS230: aprendizaje profundo | Otoño 2018 | Clase 9 - Aprendizaje por refuerzo profundo

La conferencia presenta el aprendizaje de refuerzo profundo, que combina el aprendizaje profundo y el aprendizaje de refuerzo. El aprendizaje por refuerzo se utiliza para tomar buenas secuencias de decisiones en situaciones con etiquetas retrasadas y se aplica en diferentes campos, como la robótica, los juegos y la publicidad. El aprendizaje de refuerzo profundo reemplaza la tabla Q con una función Q que es una red neuronal. El disertante analiza los desafíos de aplicar el aprendizaje por refuerzo profundo, pero describe una técnica para crear un valor objetivo para las puntuaciones Q en función de la ecuación de Bellman para entrenar la red. La conferencia también analiza la importancia de la repetición de la experiencia en el entrenamiento del aprendizaje por refuerzo profundo y el equilibrio entre la explotación y la exploración en los algoritmos de RL. También se analiza la aplicación práctica del aprendizaje por refuerzo profundo al juego Breakout.

La conferencia analiza varios temas relacionados con el aprendizaje de refuerzo profundo (DRL). Se analiza el equilibrio entre exploración y explotación en DRL y se propone una solución que utiliza un hiperparámetro que decide la probabilidad de exploración. Se explora la importancia del conocimiento humano en DRL y cómo puede aumentar los procesos algorítmicos de toma de decisiones. La conferencia también cubre los gradientes de políticas, los diferentes métodos para su implementación y la prevención del sobreajuste. Además, se destacan los desafíos en entornos de recompensas escasas y se analiza brevemente una solución de un documento reciente llamado "Unificación de las metas basadas en recuentos para la exploración". Por último, la conferencia menciona brevemente los artículos YOLO y YOLO v2 de Redmon et al. en cuanto a la detección de objetos.

  • 00:00:00 En esta sección, el orador presenta la idea del aprendizaje por refuerzo profundo, que es la combinación del aprendizaje profundo y otra área de la IA, que es el aprendizaje por refuerzo. El orador explica que las redes neuronales profundas son excelentes para la aproximación de funciones y se pueden aplicar a muchos campos diferentes que requieren aproximadores de funciones, y el aprendizaje por refuerzo es uno de estos ejemplos. El orador motiva la idea del aprendizaje por refuerzo con ejemplos como AlphaGo y el artículo DeepMind de Google, donde utilizaron el aprendizaje profundo para entrenar a un agente para que supere el rendimiento a nivel humano en varios juegos, principalmente juegos de Atari. El ponente también explica que el aprendizaje por refuerzo es importante porque permite a los agentes tener una estrategia a largo plazo en juegos complejos como el Go, que es mucho más grande que un tablero de ajedrez.

  • 00:05:00 En esta sección del video, el profesor desafía a los estudiantes a considerar cómo crear un agente que pueda aprender a ganar en el juego de Go utilizando el aprendizaje profundo. Un posible conjunto de datos sería un emparejamiento de entrada y salida del tablero de juego y una probabilidad de victoria para esa posición, pero esto es difícil porque es difícil representar la probabilidad de ganar en una posición dada del tablero. Otra opción sería observar los movimientos de los jugadores profesionales y registrarlos como entradas y salidas de datos, creando un conjunto de datos de movimientos que los jugadores profesionales realizaron en el pasado. Sin embargo, esto también es difícil porque hay demasiados estados en el juego para una representación precisa, y es probable que la realidad básica sea incorrecta, ya que diferentes jugadores profesionales tienen diferentes estrategias. También existe el riesgo de que el algoritmo no se generalice porque es una cuestión de estrategia más que un simple reconocimiento de patrones.

  • 00:10:00 En esta sección, el disertante introduce el aprendizaje por refuerzo (RL), que es un método para aprender automáticamente a tomar buenas secuencias de decisiones. RL se utiliza en situaciones en las que están presentes etiquetas retrasadas, como la probabilidad de victoria en un juego. RL se aplica en varios campos, como la robótica, los juegos y la publicidad. Para ilustrar cómo funciona RL, el disertante introduce un juego con cinco estados y explica cómo se define el rendimiento a largo plazo en este juego. El objetivo del juego es maximizar la recompensa a largo plazo moviéndose a través de los estados y tomando decisiones basadas en las recompensas disponibles.

  • 00:15:00 En esta sección, se analiza el concepto de rendimiento a largo plazo y el uso del rendimiento descontado para Q-learning en el aprendizaje por refuerzo. El rendimiento descontado tiene en cuenta la importancia del tiempo en la toma de decisiones y ayuda a mitigar el problema de la convergencia que podría ocurrir con un rendimiento sin descuento. El objetivo de Q-learning es aprender la acción óptima en cada estado almacenando una matriz de tabla Q que representa la puntuación de cada acción en cada estado. Mediante el uso de las puntuaciones de la tabla Q, un agente puede determinar el valor máximo y la acción correspondiente en un estado determinado para tomar decisiones rápidamente. También se explicó el proceso de construcción de una tabla Q a través de un diagrama de árbol.

  • 00:20:00 En esta sección, el profesor explica el algoritmo iterativo de Q-learning, utilizando una matriz que indica la acción a realizar en cada estado. Para calcular la recompensa descontada a largo plazo para cada estado, utilizan la ecuación de Bellman, que consiste en la recompensa inmediata más el descuento multiplicado por la recompensa futura máxima posible. El algoritmo iterativo debería converger en algún punto y la función Q debería seguir la ecuación óptima de Bellman. El profesor destaca la importancia de la ecuación de Bellman para entender el Q-learning.

  • 00:25:00 En esta sección, el orador habla sobre el vocabulario del aprendizaje por refuerzo que incluye el entorno, el agente, el estado, la acción, la política, la recompensa, el rendimiento total, el factor de descuento, la tabla Q y la ecuación de Bellman. La tabla Q es la matriz de entradas que representa qué tan bueno es tomar la acción A en el estado S, y la política es la función de toma de decisiones que nos dice cuál es la mejor estrategia para aplicar en un estado. El número de estados puede ser demasiado grande, lo que hace que la solución de la tabla Q no sea práctica. El aprendizaje profundo entra en el aprendizaje por refuerzo al reemplazar la tabla Q con una función Q que es una red neuronal. Sin embargo, los cambios dinámicos en los puntajes Q hacen que el entrenamiento de la red sea diferente de un entorno de aprendizaje supervisado clásico.

  • 00:30:00 En esta sección de la conferencia, el profesor analiza los desafíos que surgen al aplicar el aprendizaje de refuerzo profundo, ya que difiere significativamente del aprendizaje supervisado. Uno de los principales problemas es la falta de etiquetas, ya que los puntajes Q son dinámicos y cambian constantemente. Para abordar esto, el profesor describe una técnica para crear un valor objetivo o una etiqueta para las puntuaciones Q en función de la ecuación de Bellman. Usando este proxy como etiqueta, la red puede entrenarse para acercarse a la función Q óptima a través de actualizaciones iterativas que, con suerte, conducen a la convergencia.

  • 00:35:00 En esta sección, se analiza el concepto de la ecuación de Bellman y su uso en la retropropagación en el aprendizaje por refuerzo profundo. La ecuación de Bellman se usa para calcular valores que están más cerca de los valores óptimos a los que uno está tratando de llegar en términos de recompensas. La función Q se genera y se compara con la ecuación de Bellman para determinar la mejor función Q. Sin embargo, existe un potencial de divergencia en el algoritmo y la convergencia del algoritmo se demuestra en un artículo de Francisco Melo. La implementación del algoritmo DQN se explica a través de un pseudocódigo que implica la inicialización de los parámetros de la red Q, la repetición de episodios, el cálculo del valor objetivo a través de la ecuación de Bellman y la propagación hacia atrás utilizando una red objetivo Q fija.

  • 00:40:00 En esta sección, el video analiza la aplicación práctica de Deep Q-Network al juego Breakout. El objetivo de Breakout es destruir todos los ladrillos sin dejar que la bola pase la línea de fondo. Después de entrenar usando Q-learning, el agente ideó un truco para terminar el juego rápidamente cavando un túnel para llegar al otro lado de los ladrillos. La red descubrió esta estrategia por su cuenta sin supervisión humana. La entrada de la red Q es una representación de características que incluye la posición de la pelota, la paleta y los ladrillos. Sin embargo, para obtener toda la información se deben utilizar los píxeles. La salida de la red son tres valores Q que representan la acción de ir a la izquierda, ir a la derecha o permanecer inactivo en un estado específico.

  • 00:45:00 En esta sección, el orador analiza varias técnicas de preprocesamiento para ayudar a configurar la arquitectura de red Q profunda para el aprendizaje de refuerzo profundo, específicamente en el trabajo con imágenes. La primera técnica consiste en tomar fotogramas sucesivos para proporcionar información adicional a la red, mientras que otras técnicas de preprocesamiento incluyen la reducción del tamaño de las entradas, la conversión a escala de grises para la compresión de imágenes y la eliminación de píxeles sin importancia, como los puntajes en ciertos juegos. Sin embargo, el orador advierte sobre los peligros de perder información importante cuando se reduce a escala de grises, y explica en detalle la arquitectura de la red Q profunda, diciendo que las redes neuronales convolucionales se utilizan debido a que la entrada son imágenes. Finalmente, el orador explica la necesidad de realizar un seguimiento de un estado terminal para garantizar la terminación adecuada del bucle, lo cual es importante para la función y.

  • 00:50:00 En esta sección, el disertante explica la importancia de la repetición de experiencias en el aprendizaje por refuerzo, lo que permite entrenar sobre experiencias pasadas en lugar de solo lo que se está explorando actualmente. Dado que el aprendizaje por refuerzo solo entrena en lo que explora, es posible que nunca vuelva a encontrarse con ciertas transiciones de estado, lo que hace que las experiencias pasadas sean invaluables para el entrenamiento. La reproducción de experiencias crea una memoria de reproducción donde se pueden almacenar experiencias pasadas y, durante el entrenamiento, el algoritmo puede tomar muestras de la memoria de reproducción además de explorar nuevas transiciones de estado. Esto permite que las experiencias pasadas se utilicen varias veces en el entrenamiento, lo que puede ser crucial para aprender puntos de datos importantes.

  • 00:55:00 En esta sección de la conferencia, el orador analiza las ventajas de la repetición de experiencias en el aprendizaje por refuerzo profundo. En primer lugar, permite que los datos se utilicen muchas veces, en lugar de solo una vez, lo que mejora la eficiencia de los datos. En segundo lugar, la repetición de la experiencia descorrelaciona las experiencias, lo que evita que la red esté sesgada hacia la predicción de una acción repetidamente. Finalmente, permite que la computación y la memoria se intercambien por exploración, lo cual es costoso. El orador también habla sobre el equilibrio entre explotación y exploración en el algoritmo RL y sugiere una forma de incentivar la exploración no siempre tomando la mejor acción.

  • 01:00:00 En esta sección, el instructor y los estudiantes discuten el problema de compensación de exploración-explotación en el aprendizaje por refuerzo y ofrecen una solución utilizando un hiperparámetro que decide con qué probabilidad el agente debe explorar en lugar de explotar. Explican por qué la exploración es crucial y agregan líneas al pseudocódigo para una exploración ávida de épsilon en la memoria de reproducción. Destacan que la principal ventaja de usar el aprendizaje profundo en el aprendizaje por refuerzo es su capacidad para aproximar bien las funciones. Finalmente, tocan brevemente el tema del conocimiento humano en el aprendizaje por refuerzo y por qué es fundamental evaluar el desempeño del algoritmo.

  • 01:05:00 En esta sección de la conferencia, el profesor explica cómo el conocimiento humano juega un papel importante en el Aprendizaje por Refuerzo Profundo (DRL). Los humanos pueden interpretar de manera eficiente e instintiva las señales contextuales, por ejemplo, los humanos saben que una llave abre una puerta y esa comprensión puede aumentar significativamente el proceso algorítmico de toma de decisiones. La dificultad surge en el entrenamiento de algoritmos con información contextual limitada, como el notoriamente desafiante juego Montezuma's Revenge, una hazaña que DeepMind logró al implementar algoritmos de búsqueda en árbol y aprendizaje profundo. La conferencia aborda brevemente el juego Alpha Go y cómo las redes combinadas de búsqueda y valor de árboles pueden mejorar los procesos algorítmicos de toma de decisiones.

  • 01:10:00 En esta sección, el disertante presenta gradientes de política, que es una clase de algoritmo completamente diferente de DQN que optimiza el mapeo del estado a la acción (política) directamente. El disertante explica que en los gradientes de políticas, el enfoque está en la política en sí, en lugar del valor Q, y que la red de políticas se actualiza utilizando el gradiente de la política, a diferencia de la actualización de la función Q en DQN. A través de varios videos, el disertante explica los diferentes métodos de gradiente de políticas, como la optimización de políticas proximales (PPO) y el juego autónomo competitivo, y destaca los puntos técnicos sobre la sobreadaptación al agente real frente a usted, sugiriendo la necesidad de alternar entre diferentes versiones del agente para evitar el sobreajuste. Finalmente, el profesor explica cómo el metaaprendizaje se entrena en una distribución de tareas similares para permitir el aprendizaje de tareas específicas con pasos de gradiente mínimos.

  • 01:15:00 En esta sección de la conferencia, el orador analiza el dilema exploración-explotación y cómo puede ser un desafío, especialmente cuando la recompensa es escasa. Habla sobre un documento reciente llamado "Unificación de los metadatos para la exploración basados en conteos" que presenta la idea de contar cuántas veces se ha visitado un estado y otorgar una recompensa intrínseca al agente por visitar estados con menos conteos. Esto anima al agente a explorar y mirar más, llevándolo a descubrir diferentes salas del juego. El orador también analiza brevemente el aprendizaje por imitación y cómo puede ayudar cuando es difícil definir las recompensas.

  • 01:20:00 En esta sección, el orador menciona brevemente que cubrieron los documentos YOLO y YOLO v2 de Redmon et al. en cuanto a la detección de objetos. No se da más información.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...