Alto razonamiento en aprendizaje profundo

Hola amigos. El material de hoy está dedicado al lanzamiento del próximo grupo de grupos en los cursos básicos y avanzados "Matemáticas para la ciencia de datos".




Hoy tocaremos algunas reflexiones sobre los métodos de aprendizaje profundo. Comenzamos con una revisión de los métodos de plantilla para aplicar el aprendizaje profundo en el entorno científico, y luego hablaremos sobre el proceso de diseño de extremo a extremo, así como brevemente sobre las características de los métodos alternativos de aprendizaje automático que pueden resultar más prometedores para resolver problemas específicos.

Plantillas de aprendizaje profundo de ciencias


¿Cómo se usan típicamente los métodos de aprendizaje profundo en la comunidad científica? A un alto nivel, puede formular varios métodos de plantilla con los que se puede utilizar el aprendizaje profundo en las siguientes tareas:

  1. Predicciones. , – (). . , , , , . , « / ». – , , . , ( ) (, ), .
  2. . , , . . , . , , , . , . , .
  3. . , (, , , ), . , , , , .

Workflow


Usando las plantillas de aplicación de aprendizaje profundo antes mencionadas, analizaremos el flujo de trabajo de diseño de un sistema de aprendizaje profundo de principio a fin. En la Figura 1, puede ver cómo se ve un flujo de trabajo de aprendizaje profundo típico.


Figura 1: Diagrama de un flujo de trabajo típico de aprendizaje profundo.

Un proceso típico de desarrollo de aplicaciones de aprendizaje profundo puede verse como consistente en tres pasos principales: (i) el paso de procesamiento de datos, (ii) el componente de capacitación, (iii) validación y análisis. Cada una de estas etapas incluye varias etapas y métodos asociados con ellas, que también se muestran en la figura. En esta revisión, cubriremos la mayoría de los métodos de la etapa de capacitación y varias técnicas de validación y análisis de datos. Tenga en cuenta que si bien la secuencia natural incluye primero el procesamiento de los datos, luego la capacitación y, finalmente, la validación, es probable que el proceso de desarrollo estándar conduzca a varias iteraciones de etapas, es decir, se revisará el método o la elección realizada en una etapa en particular basado en los resultados de una etapa posterior.

Después de elegir un problema de pronóstico que le interese, puede pensar en tres etapas de diseño y uso de un sistema de aprendizaje profundo: (i) la etapa de procesamiento de datos, por ejemplo, recopilación, etiquetado, preprocesamiento, visualización, etc., (ii) la etapa de capacitación, por ejemplo, elegir un modelo red neuronal, la definición de tareas y métodos para entrenar el modelo, (iii) la etapa de validación y análisis, donde sobre la base de los datos obtenidos, se lleva a cabo una evaluación de efectividad, así como el análisis e interpretación de representaciones ocultas y estudios ablativos de métodos generales.

Naturalmente, estas tres etapas se suceden. Sin embargo, muy a menudo el primer intento de crear un sistema de aprendizaje profundo no tiene éxito. Para resolver los problemas, es importante recordar la naturaleza iterativa del proceso de diseño, en el que los resultados de las distintas etapas sirven como base para una revisión de la arquitectura y la ejecución de otras etapas.

En la Figura 1 se muestran ejemplos de iteraciones comunes con flechas de conexión bilaterales: (i) flecha Iterar (1) , que corresponde a la iteración en la recopilación de datos del proceso, ya que sucede que después del proceso de visualización de datos, es posible que sea necesario ajustar una ley de datos brutos, ya que el resultado también fue ruidoso o no capturado el objetivo deseado; (ii) flecha iterar (2), que corresponde a iteraciones en el proceso de aprendizaje, por ejemplo, si otro objetivo o método es más adecuado, o si el proceso de aprendizaje necesita dividirse en varias etapas, realizar primero una auto-supervisión y luego capacitarse con el maestro; (iii) la flecha Iterate (3) , que es responsable de cambiar los pasos del procesamiento de datos en función de los resultados de la fase de capacitación; (iv) flecha iterar (4)es responsable de cambiar la arquitectura del proceso de aprendizaje en función de los resultados obtenidos en la etapa de validación para reducir el tiempo de capacitación o utilizar un modelo más simple; (v) la flecha Iterar (5) es una adaptación de los pasos de procesamiento de datos en función de los resultados de validación / análisis, por ejemplo, cuando el modelo se basa en atributos de datos falsos, y los datos deben ser reensamblados para evitar esto.

Enfoque de investigación y nomenclatura


En esta sección, hablaremos sobre los muchos métodos utilizados en la etapa de capacitación, junto con algunos métodos que son característicos de las etapas de procesamiento y validación de datos (por ejemplo, aumento, interpretabilidad y análisis de representaciones).

En la etapa de capacitación, consideramos modelos, tareas y métodos populares. Por modelos (que a veces también se llaman arquitectura) entendemos la estructura de la red neuronal del aprendizaje profundo: la cantidad de capas, su tipo, la cantidad de neuronas, etc. Por ejemplo, en la tarea de clasificar imágenes, las imágenes se ingresan y entra la distribución de probabilidad sobre el conjunto (discreto) de diferentes categorías (o clases). Por métodos, nos referimos al tipo de entrenamiento utilizado para entrenar el sistema. Por ejemplo, aprender con un maestro es un proceso de aprendizaje popular cuando una red neuronal recibe datos etiquetados, donde las etiquetas indican observaciones.

A diferencia de varios modelos y tareas, los métodos pueden ser subconjuntos de otros métodos. Por ejemplo, auto-supervisión- este es un método en el que una red neuronal se entrena en instancias de datos y etiquetas, donde las etiquetas se crean automáticamente en instancias de datos, también este método se puede atribuir a los métodos de enseñanza con un maestro. Eso suena un poco confuso! Sin embargo, en esta etapa, es suficiente tener al menos un concepto general de modelos, problemas y métodos.

¿Utiliza el aprendizaje profundo o no?


Antes de sumergirse en los diversos métodos de aprendizaje profundo, es importante formular el problema y comprender si el aprendizaje profundo proporcionará las herramientas adecuadas para resolverlo. Los potentes modelos básicos de redes neuronales ofrecen muchas funcionalidades complejas, como transformaciones complejas de imágenes. Sin embargo, en muchos casos, el aprendizaje profundo puede no ser el mejor primer paso o puede no ser adecuado para resolver el problema. A continuación, revisamos brevemente los métodos de aprendizaje automático más comunes, especialmente en contextos científicos.

Reducción de dimensiones y agrupamiento. En la comunidad científica, el objetivo final del análisis de datos es comprender los mecanismos básicos que generan patrones en los datos. Cuando el objetivo es así, la reducción de la dimensionalidad y la agrupación son métodos simples pero extremadamente efectivos para revelar propiedades de datos ocultos. A menudo resultan útiles en el paso de investigar y visualizar datos (incluso si posteriormente se utilizan métodos más complejos).

Reducción de dimensiones.Los métodos de reducción de dimensiones son lineales, es decir, se basan en transformaciones lineales para reducir la dimensión de datos, o no lineal, es decir, reducen la dimensión con una preservación aproximada de la estructura de datos no lineal. Los métodos lineales populares para reducir la dimensionalidad son el Método del componente principal y la descomposición matricial no negativa, mientras que los métodos no lineales son la incrustación estocástica de vecinos con distribución t y UMAP. Muchos métodos de reducción dimensional ya tienen implementaciones de calidad en paquetes como scikit-learn o en github (por ejemplo, github.com/oreillymedia/t-SNE-tutorial o github.com/lmcinnes/umap ).

Agrupamiento. Las técnicas de agrupamiento a menudo utilizadas junto con la reducción dimensional proporcionan una forma poderosa de identificar similitudes y diferencias en un conjunto de datos. Los métodos se usan comúnmente, como el método de k-medias (a menudo un método de k-medias modificado), un modelo de mezcla de distribuciones gaussianas, agrupación jerárquica y agrupación espectral. Al igual que los métodos de reducción dimensional, los métodos de agrupación tienen buenas implementaciones en paquetes como scikit-learn .

Regresión lineal, regresión logística (y variaciones). Quizás los métodos más fundamentales para resolver el problema de la enseñanza con un maestro, como la clasificación y la regresión, la regresión lineal y logística y sus variaciones (por ejemplo, la regresión Lasso y la cresta) pueden ser especialmente útiles en caso de datos limitados y un conjunto claro de características (posiblemente preprocesadas) (por ejemplo, en forma de datos tabulares). Estos métodos también permiten evaluar la adecuación de la formulación del problema y pueden ser un buen punto de partida para verificar una versión simplificada del problema que se está resolviendo. Debido a su simplicidad, las regresiones lineales y logísticas son altamente interpretables y proporcionan formas simples de realizar la atribución de atributos.

Árboles de decisión, bosque aleatorio y aumento de gradiente. Otra clase popular de métodos son árboles de decisión, bosque aleatorio y aumento de gradiente. Estos métodos también pueden funcionar junto con problemas de regresión / clasificación y son muy adecuados para modelar relaciones no lineales entre entrada y salida. El bosque aleatorio, que forma parte del conjunto de árboles de decisión, a menudo puede preferirse a los métodos de aprendizaje profundo cuando los datos tienen una baja relación señal / ruido. Estos métodos pueden ser menos interpretables que la regresión lineal / logística, sin embargo, en un trabajo reciente, analizamos bibliotecas de software en desarrollo que resuelven este problema.

Otros métodos y recursos.. Todos los métodos anteriores, así como muchos otros métodos populares, como modelos gráficos, procesos gaussianos, optimización bayesiana, se analizan en detalle en el curso de Machine Learning de la Universidad de Toronto o en Stanford CS229, en artículos detallados en directiondatascience.com y tutoriales interactivos como d2l.ai /index.html (llamado Dive into Deep Learning) y en github.com/rasbt/python-machine-learning-book2nd-edition .



¿Qué tareas resuelve un científico de datos? ¿Qué secciones de matemáticas y para qué tareas necesitas saber? ¿Cuáles son los requisitos para los científicos de datos? ¿Qué conocimiento en matemáticas se necesita para destacar entre la multitud y asegurar el progreso profesional ? Las respuestas a todas estas preguntas y no solo se pueden obtener en nuestro seminario web gratuito , que se realizará el 6 de mayo. ¡Date prisa para registrarte !



All Articles