
Estamos coletando (uma lista reconhecida) de recursos e progressos feitos na IA centrada em dados, com direções emocionantes passadas, presentes e futuras. Este blog fala sobre nossa jornada para a IA centrada em dados e articulamos por que estamos empolgados com os dados como um ponto de vista para a IA neste blog.
Embora a IA tenha se concentrado bastante nos modelos, a experiência do mundo real daqueles que colocam modelos em produção é que os dados geralmente são mais importantes. O objetivo deste repositório é consolidar essa experiência em um único local que pode ser acessado por quem quiser entender e contribuir com essa área.
Estamos apenas no começo e você pode ajudar contribuindo para este Github! Obrigado a todos aqueles que contribuíram até agora.
Se você estiver interessado nesta área e gostaria de ouvir mais, participe da nossa lista de discussão! Também gostaríamos que você pudesse preencher esse formulário curto para nos ajudar a entender melhor quais seriam seus interesses.
Estamos criando uma aula em Stanford sobre IA centrada em dados e adoraríamos seu feedback. Se você estiver interessado em aprender mais, preencha este formulário.
Se você tiver idéias sobre como podemos melhorar esse repositório, sinta -se à vontade para enviar um problema com sugestões.
Queremos que esse recurso cresça com contribuições de leitores e entusiastas de dados. Se você quiser fazer contribuições para este repositório do GitHub, leia nossas diretrizes contribuintes.
Fundo
Esta área é um stub, você pode ajudar melhorando -a.
Há muita emoção em torno de entender como colocar o aprendizado de máquina para trabalhar em casos de uso reais. A IA centrada em dados incorpora um ponto de vista específico sobre como esse progresso pode acontecer: concentrando-se em facilitar o entendimento, o programa e o iteração dos profissionais de dados, em vez de gastar tempo em modelos.
Programação de dados e página de área de supervisão fraca
Muitos sistemas modernos de aprendizado de máquina exigem conjuntos de dados grandes e rotulados para serem bem-sucedidos, mas a produção desses conjuntos de dados é demorada e cara. Em vez disso, fontes de supervisão mais fracas, como crowdsourcing, supervisão distante e heurísticas de especialistas em domínio, como padrões de Hearst, foram usados desde os anos 90.
No entanto, estes foram amplamente considerados pelo pessoal da IA e AI/ML como técnicas ad hoc ou isoladas. O esforço para unificá-los e combiná-los em um ponto de vista centrado em dados começou a seriamente com a programação de dados, também conhecida como rotulagem programática, incorporada em snorkel, agora um projeto de código aberto e empresa próspera. Na abordagem de IA centrada nos dados do Snorkel, os usuários especificam várias funções de rotulagem que representam uma estimativa barulhenta do rótulo de verdade no solo. Como essas funções de rotulagem variam em precisão e cobertura do conjunto de dados e podem até ser correlacionadas, elas são combinadas e denovadas por meio de um modelo gráfico variável latente. O desafio técnico é, portanto, aprender parâmetros de precisão e correlação neste modelo e usá -los para inferir o rótulo verdadeiro a ser usado para tarefas a jusante.
A programação de dados se baseia em uma longa linha de trabalho sobre estimativa de parâmetros em modelos gráficos variáveis latentes. Concretamente, um modelo generativo para a distribuição conjunta das funções de rotulagem e o rótulo verdadeiro não observado (latente) é aprendido. Esse modelo de rótulo permite a agregação de diversas fontes de sinal, enquanto lhes permitem ter uma precisura variável e possíveis correlações.
Esta postagem no blog Snorkel contém uma visão geral da supervisão fraca, incluindo como ela se compara a outras abordagens para obter mais dados rotulados e os desafios de modelagem técnica. Essas notas de palestras Stanford CS229 fornecem um resumo teórico de como os modelos gráficos são usados em supervisão fraca.
Página da área de aumento de dados
Um desafio importante ao treinar modelos de aprendizado de máquina é coletar um conjunto de dados grande e diversificado que captura suficientemente a variabilidade observada no mundo real. Devido ao custo da coleta e rotulagem de conjuntos de dados, o aumento de dados emergiu como uma alternativa barata e promissora.
A idéia central no aumento de dados é transformar exemplos em um conjunto de dados existente para gerar exemplos aumentados adicionais que podem ser adicionados ao conjunto de dados. Esses exemplos adicionais geralmente aumentam a diversidade dos dados vistos pelo modelo e fornecem supervisão adicional ao modelo. Os fundamentos do aumento de dados se originam na propagação tangente, que introduziu técnicas para fazer um modelo aprendido invariante em relação a alguma transformação dos dados.
Os primeiros sucessos no aumento, como Alexnet, focaram -se em induzir invariâncias em um classificador de imagem, gerando exemplos que incentivavam a invariância translacional ou rotacional. Esses sucessos tornaram o aumento de uma parte de fato de oleodutos para um amplo conjunto de tarefas como imagem, classificação de fala e texto, tradução para a máquina, etc.
A escolha das transformações usadas no aumento é uma consideração importante, pois determina as invariâncias aprendidas pelo modelo e seu comportamento ao encontrar uma diversidade de exemplos de testes. Embora os aumentos heurísticos tenham permanecido populares, é importante poder controlar e programar o pipeline de aumento com mais cuidado. Tanda iniciou um estudo do problema de programação de pipelines de aumento, compondo uma seleção de transformações de dados. Desde então, essa área viu um rápido crescimento, com um entendimento teórico mais profundo e implementações práticas, como auto -agrupamento. Uma linha de trabalho nascente alavancou modelos generativos condicionais para aprender-mais do que especificar-essas transformações, estendendo ainda mais esse paradigma de programação.
Página da área de auto-supervisão
A necessidade de conjuntos de dados grandes e rotulados tem métodos motivados para representações latentes pré-treinador do espaço de entrada usando dados não marcados e usar as representações ricas em conhecimento resultantes em tarefas a jusante. Como as representações permitem a transferência de conhecimento para tarefas a jusante, essas tarefas exigem dados menos rotulados. Esse paradigma, chamado de "auto-supervisão", revolucionou como treinamos modelos (e pré-trep). Esses modelos, que são denominados "modelos de fundação" pela Iniciativa Stanford, em torno da compreensão dos ecossistemas auto-supervisionados, afastaram o foco dos dados marcados à mão para entender quais dados alimentados a esses modelos.
Como os dados auto-supervisionados são frequentemente com curadoria de grandes fontes de dados públicos (por exemplo, Wikipedia), eles podem conter viés de popularidade, onde a cauda longa de coisas raras não está bem representada nos dados de treinamento. Como Orr et. al. Mostrar, alguns modelos populares (por exemplo, Bert) dependem da memorização de contexto e lutam para resolver essa cauda longa, pois são incapazes de ver uma coisa rara de momentos suficientes para memorizar o conjunto diversificado de padrões associados a ele. O problema da cauda longa se propaga a tarefas a jusante, como tarefas de recuperação de Amber. Uma direção futura emocionante que está na interseção da IA e anos de pesquisa da comunidade de gerenciamento de dados para abordar a cauda longa é através da integração do conhecimento estruturado no modelo. O conhecimento estruturado é a idéia central por trás do sucesso da cauda de Bootleg, um sistema para a desambiguação de entidade nomeada.
O fim da página da área da modelite
Historicamente, o momento "Kid in a Candy Shop" para os pesquisadores de ML está construindo e aprimorando modelos usando ferramentas como Pytorch ou Jax. Novos modelos estavam sendo lançados todos os dias e essas arquiteturas de modelos personalizadas e parâmetros ajustados estavam vencendo resultados de ponta. Essa mania da modelite, no entanto, está chegando ao fim.
Recentemente, os pesquisadores perceberam duas coisas: (1) Mais ganhos vêm de entender profundamente os dados, em vez de modelar ajustes (veja todo o trabalho emocionante no aumento de dados) e (2) modelos personalizados são difíceis de manter e estender em uma produção ambiente. Isso resultou em plataformas de construção de modelos como Ludwig e Overton, que forçaram arquiteturas comoditizadas e se moveu para os sistemas de ML que podem ser criados declarativamente Molino e Ré 2021. E eles mostraram que esses modelos de comodidade eram ainda melhores do que seus antecessores sintonizados! Esse resultado foi apoiado por Kaplan et al, que mostrou que a arquitetura é menor que os dados.
Essa tendência, que estamos chamando de fim da modelite, está avançando em direção a uma visão centrada nos dados da construção do modelo. A pergunta está mudando de "Como construir o melhor modelo" para "Como você alimenta um modelo".
Página da área de avaliação
A avaliação do modelo é uma parte crucial do processo de desenvolvimento do modelo no aprendizado de máquina. O objetivo da avaliação é entender a qualidade de um modelo e antecipar se ele tiver um bom desempenho no futuro.
Embora a avaliação seja um problema clássico no aprendizado de máquina, as abordagens de IA centradas em dados catalisaram uma mudança para a avaliação de granulação fina : indo além das medidas padrão de desempenho médio, como precisão e pontuações de F1, para medir o desempenho em populações específicas de interesse. Isso permite uma compreensão mais granular do desempenho do modelo e oferece aos usuários uma idéia mais clara dos recursos do modelo. Essa mudança é complementar a um interesse crescente em entender a robustez do modelo, uma vez que o acesso a avaliação de granulação fina permite uma capacidade aprimorada de construir modelos mais robustos.
As abordagens para a avaliação de granulação fina incluem a medição do desempenho em subconjuntos de dados críticos chamados fatias, invariância ou sensibilidade às transformações de dados e resistência a perturbações adversárias. Embora a maioria das avaliações seja especificada pelo usuário, uma importante linha de trabalho constatou que os modelos geralmente têm um desempenho inferior em estratos ocultos que são perdidos pelos construtores de modelos em avaliação, o que pode ter conseqüências profundas em nossa capacidade de implantar e usar modelos. Isso motiva trabalhos futuros na descoberta automática desses estratos ocultos, ou em geral, encontrando todos os modos de falha possíveis de um modelo analisando conjuntos de dados e modelos sistematicamente em conjunto.
Outra faceta importante da avaliação de granulação fina é o monitoramento de dados e modelos, a fim de antecipar, medir e mitigar degradações no desempenho devido à mudança de distribuição. Isso inclui identificar e isolar pontos de dados que podem ser considerados discrepantes, estimando o desempenho em dados não marcados que estão transmitindo para um modelo implantado e gerando resumos ricos de como a distribuição de dados pode estar mudando com o tempo.
Página da área de robustez
Uma suposição padrão para implantar com sucesso os modelos de aprendizado de máquina é que as distribuições de tempo de teste são semelhantes às encontradas e bem representadas durante o treinamento. Na realidade, no entanto, essa suposição raramente mantém: raramente esperamos implantar modelos em configurações que correspondam exatamente a suas distribuições de treinamento. Modelos de treinamento robustos para mudanças de distribuição é outro desafio central para melhorar o aprendizado de máquina na natureza, que argumentamos que pode ser abordado sob um paradigma centrado em dados.
Aqui, categorizamos amplamente as tentativas de melhorar a robustez nas mudanças de distribuição à medida que aqueles que abordam (1) mudança de subpopulação ou estratificação oculta, (2) mudança de domínio e (3) mudanças de perturbações adversárias.
De acordo com a mudança de subpopulação, as distribuições de treinamento e tempo de teste diferem em quão bem representados cada subpopulação ou "grupo de dados" é. Se certas subpopulações estiverem sub -representadas nos dados de treinamento, mesmo que essas distribuições sejam encontradas durante o treinamento, a minimização padrão de risco empírico (ERM) e o “aprendizado com as médias estatísticas” podem resultar em modelos que apenas têm um bom desempenho nas subpopulações super -representadas.
O grupo Dro e George introduziram abordagens para lidar com a mudança de subpopulação sob instanciações do mundo real. Esses métodos inspiraram trabalhos adicionais relacionados aos grupos estimados de amostragem (LFF, JTT) e usando aprendizado contrastivo para aprender representações invariantes de grupo (CNC - Link em breve).
Além da mudança de subpopulação, a robustez também apresenta mudança de domínio e perturbações adversárias. Na mudança de domínio, modelamos os dados no tempo de teste como provenientes de um domínio completamente diferente dos dados de treinamento. Sob a mudança de distribuição com perturbações adversárias, os dados do tempo de teste podem exibir corrupções ou diferenças imperceptíveis no espaço dos recursos de entrada que impedem que modelos treinados de ERM generalizem fortemente as distribuições de tempo de teste. Essas seções importantes são ainda são stubs. Por favor, adicione suas contribuições!
Página da área de limpeza de dados
Outra maneira de melhorar a qualidade dos dados para os aplicativos ML/AI é a limpeza de dados. Existe uma gama diversificada de trabalhos emocionantes ao longo desta linha para entender em conjunto a limpeza de dados e o aprendizado de máquina.
Página da área de Mlops
O papel central dos dados torna o desenvolvimento e a implantação dos aplicativos ML/AI um processo humano no loop. Este é um processo complexo no qual os engenheiros humanos podem cometer erros, exigir orientação ou precisar ser avisados quando algo inesperado acontecer. O objetivo do MLOPS é fornecer maneiras de princípios de gerenciamento, monitoramento e validação do ciclo de vida.
Os pesquisadores começaram a enfrentar esses desafios, desenvolvendo novas técnicas e sistemas de construção, como TFX, EASE.ML ou Overton projetados para lidar com todo o ciclo de vida de um modelo de aprendizado de máquina durante o desenvolvimento e na produção. Esses sistemas geralmente consistem em componentes distintos responsáveis pelo manuseio de estágios específicos (por exemplo, pré ou pós-treinamento) ou aspectos (por exemplo, monitoramento ou depuração) dos MLOPs.
Página da área de seleção de dados
Quantidades maciças de dados permitiram muitos dos sucessos de aprendizado profundo, mas esse big data traz seus próprios problemas. Trabalhar com conjuntos de dados maciços é complicado e caro em termos de recursos computacionais e rotulagem. Os métodos de seleção de dados, como aprendizado ativo e seleção de núcleo, podem mitigar as dores do big data, selecionando os exemplos mais valiosos para rotular ou treinar.
Embora a seleção de dados tenha sido uma área de longa data em IA/ml, a escala e a inclinação dos conjuntos de dados industriais modernos levaram o campo a valorizar mais com precisão dados e melhorar a escalabilidade dos métodos de seleção. Trabalhos recentes, como (Sener & Savarese e Ghorbani et al.), Adote uma abordagem mais centrada nos dados para quantificar a contribuição de cada exemplo de treinamento, concentrando-se na diversidade e representatividade, em vez de confiar apenas na incerteza do modelo. Para ajudar esses métodos a dimensionar, abordagens, como SVP e selos, apresentam maneiras diretas de reduzir os custos computacionais em até três ordens de magnitude, permitindo a aprendizagem ativa e a seleção de dados em escala da Web.
Esses avanços no rótulo e na eficiência computacional tornam a seleção de dados aplicável aos conjuntos de dados modernos, permitindo que a IA/ML tenha uma visão mais centrada nos dados focada na qualidade do que em quantidade.
Página da área de privacidade de dados
Esta descrição é um stub, você pode ajudar melhorando -o.
Página da área de fluxo de dados
Esta área é um stub, você pode ajudar melhorando -a.
Página de área de aprendizagem de várias tarefas e múltiplos domínios
Esta área é um stub, você pode ajudar melhorando -a.
Página de área emergentes de tendências
A IA centrada em dados ainda está crescendo e queremos capturar tendências emergentes à medida que surgem. Algumas novas áreas que achamos que estão se formando envolvem aprendizado de máquina interativo, modelos de escala de massa e ML observacional. Dê uma olhada na página da área.
Página da área de aplicações
As abordagens centradas em dados tiveram um impacto abrangente onde quer que o aprendizado de máquina seja usado e implantado, seja na academia, indústria ou outras organizações. As modalidades de impacto em abrangência, como dados estruturados, texto, imagens, vídeos, gráficos e outros, enquanto as áreas incluem processamento de texto e imagem, imagem médica, biologia computacional, direção autônoma, etc.