
Estamos recopilando (una lista de recursos y progresos realizados en la IA centrada en los datos, con instrucciones emocionantes pasadas, presentes y futuro. Este blog habla sobre nuestro viaje a la IA centrada en los datos y articulamos por qué estamos entusiasmados con los datos como punto de vista para la IA en este blog.
Si bien la IA se ha centrado bastante en los modelos, la experiencia del mundo real de aquellos que ponen modelos en producción es que los datos a menudo importan más. El objetivo de este repositorio es consolidar esta experiencia en un solo lugar al que pueda acceder a cualquier persona que quiera entender y contribuir a esta área.
¡Solo estamos al principio, y puedes ayudar contribuyendo a este GitHub! Gracias a todos los que han contribuido hasta ahora.
Si está interesado en esta área y desea escuchar más, ¡únase a nuestra lista de correo! También apreciamos si pudiera completar este breve formulario para ayudarnos a comprender mejor cuáles podrían ser sus intereses.
Estamos creando una clase en Stanford sobre la IA centrada en los datos, y nos encantaría sus comentarios. Si está interesado en aprender más, complete este formulario.
Si tiene ideas sobre cómo podemos mejorar este repositorio, no dude en enviar un problema con sugerencias.
Queremos que este recurso crezca con contribuciones de lectores y entusiastas de los datos. Si desea hacer contribuciones a este repositorio de GitHub, lea nuestras pautas contribuyentes.
Fondo
Esta área es un trozo, puede ayudar mejorando.
Hay mucha emoción en torno a comprender cómo hacer que el aprendizaje automático funcione en casos de uso reales. La IA centrada en los datos encarna un punto de vista particular sobre cómo puede ocurrir este progreso: enfocarse en facilitar que los profesionales comprendan, programen e iteraran en conjuntos de datos, en lugar de pasar tiempo en modelos.
Programación de datos y página del área de supervisión débil
Muchos sistemas de aprendizaje automático modernos requieren conjuntos de datos grandes y etiquetados para tener éxito, pero producir tales conjuntos de datos lleva mucho tiempo y costoso. En cambio, las fuentes más débiles de supervisión, como el crowdsourcing, la supervisión distante y las heurísticas de los expertos en dominios, como los patrones de Hearst, se han utilizado desde los años 90.
Sin embargo, estos fueron considerados en gran medida por las personas AI y AI/ML como técnicas ad hoc o aisladas. El esfuerzo por unificarlos y combinarlos en un punto de vista centrado en datos comenzó en serio con la programación de datos, también conocido como etiquetado programático, incorporado en snorkel, ahora un proyecto de código abierto y una empresa próspera. En el enfoque de IA centrado en los datos de Snorkel, los usuarios especifican múltiples funciones de etiquetado que representan una estimación ruidosa de la etiqueta de verdad terrestre. Debido a que estas funciones de etiquetado varían en precisión y cobertura del conjunto de datos, e incluso pueden estar correlacionadas, se combinan y se denocan a través de un modelo gráfico variable latente. Por lo tanto, el desafío técnico es aprender parámetros de precisión y correlación en este modelo, y usarlos para inferir la etiqueta verdadera que se utilizará para las tareas aguas abajo.
La programación de datos se basa en una larga línea de trabajo sobre la estimación de parámetros en modelos gráficos de variables latentes. Concretamente, se aprende un modelo generativo para la distribución conjunta de las funciones de etiquetado y la etiqueta verdadera no observada (latente). Este modelo de etiqueta permite la agregación de diversas fuentes de señal, al tiempo que les permite tener diferentes precisiones y correlaciones potenciales.
Esta publicación de blog de snorkel contiene una descripción general de la supervisión débil, incluida la forma en que se compara con otros enfoques para obtener datos más etiquetados y los desafíos de modelado técnico. Estas notas de conferencia Stanford CS229 proporcionan un resumen teórico de cómo se utilizan modelos gráficos en la supervisión débil.
Página del área de aumento de datos
Un desafío clave al capacitar a los modelos de aprendizaje automático es recopilar un conjunto de datos grande y diverso que captura suficientemente la variabilidad observada en el mundo real. Debido al costo de recopilar y etiquetar conjuntos de datos, el aumento de datos ha surgido como una alternativa barata y prometedora.
La idea central en el aumento de datos es transformar ejemplos en un conjunto de datos existente para generar ejemplos aumentados adicionales que luego se pueden agregar al conjunto de datos. Estos ejemplos adicionales generalmente aumentan la diversidad de los datos observados por el modelo y proporcionan una supervisión adicional al modelo. Los fundamentos del aumento de datos se originan en la propagación tangente, que introdujo técnicas para hacer que un modelo aprendido sea invariante con respecto a alguna transformación de los datos.
Los primeros éxitos en el aumento, como Alexnet, se centraron en inducir las invarianzas en un clasificador de imagen generando ejemplos que fomenten la invariancia traslacional o rotacional. Estos éxitos hicieron del aumento en una parte de facto de las tuberías para un amplio conjunto de tareas como la clasificación de imágenes, voz y texto, traducción automática, etc.
La elección de las transformaciones utilizadas en el aumento es una consideración importante, ya que dicta las invarianzas aprendidas por el modelo y su comportamiento al encontrar una diversidad de ejemplos de pruebas. Si bien los aumentos heurísticos se han mantenido populares, es importante poder controlar y programar la tubería de aumento con más cuidado. TANDA inició un estudio del problema de la programación de las tuberías de aumento componiendo una selección de transformaciones de datos. Desde entonces, esta área ha visto un rápido crecimiento con una comprensión teórica más profunda e implementaciones prácticas como el autoaugmento. Una línea de trabajo incipiente ha aprovechado los modelos generativos condicionales para aprender, en realidad que especificar, estas transformaciones, extendiendo aún más este paradigma de programación.
Página del área de auto-supervisión
La necesidad de conjuntos de datos grandes y etiquetados ha motivado métodos para pre-entrenado representaciones latentes del espacio de entrada utilizando datos no etiquetados y utilizar las representaciones ricas en conocimiento resultantes en tareas aguas abajo. Como las representaciones permiten la transferencia de conocimiento a las tareas aguas abajo, estas tareas requieren menos datos etiquetados. Este paradigma, llamado "auto-supervisión", ha revolucionado cómo entrenamos (y pre-entrenamos) modelos. Estos modelos, que recientemente son denominados "modelos de base" por la iniciativa Stanford en torno a comprender los ecosistemas auto-supervisados, ha cambiado el enfoque de los datos marcados a mano para comprender qué datos alimentados con estos modelos.
Como los datos auto-supervisados a menudo se curan de grandes fuentes de datos públicos (por ejemplo, Wikipedia), puede contener sesgo de popularidad donde la larga cola de cosas raras no está bien representada en los datos de capacitación. Como Orr et. Alabama. Show, algunos modelos populares (por ejemplo, BERT) confían en la memorización del contexto y la lucha para resolver esta cola larga, ya que son incapaces de ver algo raro suficientes veces para memorizar el conjunto diverso de patrones asociados con él. El problema de la cola larga incluso se propaga a las tareas aguas abajo, como las tareas de recuperación de Amber. Una dirección futura emocionante que se encuentra en la intersección de la IA y los años de investigación de la comunidad de gestión de datos para abordar la cola larga es a través de la integración del conocimiento estructurado en el modelo. El conocimiento estructurado es la idea central detrás del éxito de la cola de Bootleg, un sistema para la desambiguación de entidad nombrada.
Página del área del final del Modelitis
Históricamente, el momento "Kid in a Candy Shop" para los investigadores de ML es construir y ajustar modelos que usan herramientas como Pytorch o Jax. Se producían nuevos modelos cada día y estos personalizan las arquitecturas de modelos y los parámetros finamente ajustados estaban superando los resultados de última generación. Sin embargo, esta locura de modelitis está llegando a su fin.
Recientemente, los investigadores se han dado cuenta de dos cosas: (1) Más ganancias provienen de comprender profundamente los datos en lugar de ajustar modelo (ver todo el trabajo emocionante en el aumento de datos), y (2) los modelos personalizados son difíciles de mantener y extender en una producción ambiente. Esto dio como resultado plataformas de construcción de modelos como Ludwig y Overton que hicieron cumplir las arquitecturas mercantilizadas, y se movieron hacia sistemas ML que pueden crearse declarativamente Molino y Ré 2021. ¡Y mostraron que estos modelos básicos eran incluso mejores que sus predecesores sintonizados! Este resultado fue respaldado por Kaplan et al que mostraron que la arquitectura es menos importante que los datos.
Esta tendencia, que estamos llamando el final de Modelitis, se está moviendo hacia una visión centrada en los datos de la construcción del modelo. La pregunta es cambiar de "cómo construir el mejor modelo" a "cómo alimentar a un modelo".
Página del área de evaluación
La evaluación del modelo es una parte crucial del proceso de desarrollo del modelo en el aprendizaje automático. El objetivo de la evaluación es comprender la calidad de un modelo y anticipar si funcionará bien en el futuro.
Si bien la evaluación es un problema clásico en el aprendizaje automático, los enfoques de IA centrados en los datos han catalizado un cambio hacia la evaluación de grano fino : ir más allá de las medidas estándar del rendimiento promedio, como la precisión y las puntuaciones de F1, para medir el rendimiento en poblaciones particulares de interés. Esto permite una comprensión más granular del rendimiento del modelo y brinda a los usuarios una idea más clara de las capacidades del modelo. Este cambio es complementario a un interés creciente en comprender la robustez del modelo, ya que el acceso a la evaluación de grano fino permite una capacidad mejorada para construir modelos más robustos.
Los enfoques para la evaluación de grano fino incluyen medir el rendimiento de los subconjuntos de datos críticos llamados cortes, invariancia o sensibilidad a las transformaciones de datos y resistencia a las perturbaciones adversas. Si bien la mayoría de la evaluación está especificada por el usuario, una línea de trabajo importante encontró que los modelos a menudo tienen un rendimiento inferior en los estratos ocultos que los constructores de modelos pierden en la evaluación, lo que puede tener profundas consecuencias en nuestra capacidad de implementar y usar modelos. Esto motiva el trabajo futuro para descubrir automáticamente estos estratos ocultos, o más en general, encontrar todos los modos de falla posibles de un modelo analizando conjuntos de datos y modelos sistemáticamente en conjunto.
Otra faceta importante de la evaluación de grano fino es el monitoreo de datos y modelos para anticipar, medir y mitigar las degradaciones en el rendimiento debido al cambio de distribución. Esto incluye identificar y aislar puntos de datos que pueden considerarse valores atípicos, estimar el rendimiento en datos no etiquetados que se transmiten a un modelo implementado y generando resúmenes ricos de cómo la distribución de datos puede estar cambiando con el tiempo.
Página de área de robustez
Una suposición estándar para implementar con éxito modelos de aprendizaje automático es que las distribuciones del tiempo de prueba son similares a las encontradas y bien representadas durante la capacitación. En realidad, sin embargo, esta suposición rara vez se mantiene: rara vez esperamos implementar modelos en configuraciones que coincidan exactamente con sus distribuciones de capacitación. Los modelos de capacitación sólidos para los cambios de distribución es entonces otro desafío central para mejorar el aprendizaje automático en la naturaleza, que argumentamos que puede abordarse bajo un paradigma centrado en los datos.
Aquí, clasificamos ampliamente los intentos de mejorar la robustez a los cambios de distribución como los que abordan (1) cambio de subpoblación o estratificación oculta, (2) cambio de dominio y (3) cambios de perturbaciones adversas.
Bajo el cambio de subpoblación, las distribuciones de capacitación y tiempo de prueba difieren en qué tan bien representada es cada subpoblación o "grupo de datos". Si ciertas subpoblaciones están subrepresentadas en los datos de capacitación, incluso si estas distribuciones se encuentran durante la capacitación, la minimización del riesgo empírico estándar (ERM) y el "aprendizaje de los promedios estadísticos" pueden dar como resultado modelos que solo funcionan bien en las subpoblaciones sobrerrepresentadas.
Tanto el grupo DRO como George introdujeron enfoques para manejar el cambio de subpoblación bajo instanciaciones del mundo real. Estos métodos han inspirado trabajo adicional relacionado con los grupos estimados de muestreo (LFF, JTT) y utilizando el aprendizaje contrastante para aprender representaciones invariantes de grupo (CNC - enlace próximamente).
Más allá del cambio de subpoblación, la robustez también presenta un cambio de dominio y perturbaciones adversas. Bajo el cambio de dominio, modelamos los datos del tiempo de prueba como provenientes de un dominio completamente diferente de los datos de entrenamiento. Bajo el cambio de distribución con perturbaciones adversas, los datos del tiempo de prueba pueden exhibir corrupciones o diferencias imperceptibles en el espacio de características de entrada que evitan que los modelos ERM capacitados se generalicen fuertemente a las distribuciones de tiempo de prueba. Estas secciones importantes son todavía a Stubs. ¡Agregue sus contribuciones!
Página del área de limpieza de datos
Otra forma de mejorar la calidad de los datos para aplicaciones ML/AI es a través de la limpieza de datos. Hay una amplia gama de trabajos emocionantes en esta línea para comprender conjuntamente la limpieza de datos y el aprendizaje automático.
Página de área de MLOPS
El papel central de los datos hace que el desarrollo y el despliegue de aplicaciones ML/AI sean un proceso humano en el bucle. Este es un proceso complejo en el que los ingenieros humanos podrían cometer errores, requerir orientación o es necesario advertirse cuando ocurra algo inesperado. El objetivo de MLOPS es proporcionar formas de principios para la gestión del ciclo de vida, el monitoreo y la validación.
Los investigadores han comenzado a abordar estos desafíos mediante el desarrollo de nuevas técnicas y sistemas de construcción como TFX, facilidad.ml o Overton diseñado para manejar todo el ciclo de vida de un modelo de aprendizaje automático tanto durante el desarrollo como en la producción. Estos sistemas generalmente consisten en componentes distintos a cargo del manejo de etapas específicas (p. Ej., Preirenías previas o posteriores) o aspectos (p. Ej., Monitoreo o depuración) de MLOP.
Página del área de selección de datos
Las cantidades masivas de datos habilitaron muchos de los éxitos del aprendizaje profundo, pero este big data trae sus propios problemas. Trabajar con conjuntos de datos masivos es engorroso y costoso en términos de recursos computacionales y etiquetado. Los métodos de selección de datos, como el aprendizaje activo y la selección del conjunto del núcleo, pueden mitigar los dolores de los big data seleccionando los ejemplos más valiosos para etiquetar o entrenar.
Si bien la selección de datos ha sido un área de larga data en IA/ML, la escala y la sesgo de conjuntos de datos industriales modernos han impulsado el campo a valorar con mayor precisión los datos y mejorar la escalabilidad de los métodos de selección. Los trabajos recientes, como (Seners & Savarese y Ghorbani et al.), Adoptan un enfoque más centrado en los datos para cuantificar la contribución de cada ejemplo de capacitación al centrarse en la diversidad y la representatividad en lugar de depender únicamente de la incertidumbre del modelo. Para ayudar a estos métodos a escalar, los enfoques, como SVP y sellos, presentan formas directas de reducir los costos computacionales en hasta tres órdenes de magnitud, lo que permite el aprendizaje activo a escala web y la selección de datos de manera más amplia.
Estos avances en la etiqueta y la eficiencia computacional hacen que la selección de datos sea aplicable a los conjuntos de datos modernos, lo que permite que AI/ML tome una visión más centrada en los datos centrada en la calidad en lugar de la cantidad.
Página del área de privacidad de datos
Esta descripción es un trozo, puede ayudarlo mejorando.
Página del área de flujo de datos
Esta área es un trozo, puede ayudar mejorando.
Página de área de aprendizaje de tareas múltiples y múltiples dominios
Esta área es un trozo, puede ayudar mejorando.
Página del área de tendencias emergentes
La IA centrada en los datos sigue creciendo, y queremos capturar las tendencias emergentes a medida que surgen. Algunas áreas nuevas que creemos que están formando implican aprendizaje automático interactivo, modelos de escala de mase y ML observacional. Eche un vistazo a la página del área.
Página del área de aplicaciones
Los enfoques centrados en los datos han tenido un impacto de gran alcance donde se usa e implementa el aprendizaje automático, ya sea en la academia, la industria u otras organizaciones. El impacto abarca modalidades como datos estructurados, texto, imágenes, videos, gráficos y otros, mientras que las áreas incluyen procesamiento de texto e imágenes, imágenes médicas, biología computacional, conducción autónoma, etc.