Alto raciocínio na aprendizagem profunda

Oi amigos. o material de hoje é dedicado ao lançamento do próximo conjunto de grupos nos cursos básicos e avançados "Matemática para ciência de dados".




Hoje abordaremos algumas reflexões sobre métodos de aprendizado profundo. Começamos com uma revisão dos métodos de modelo para a aplicação de aprendizado profundo no ambiente científico, e depois falaremos sobre o processo de design de ponta a ponta, bem como brevemente sobre os recursos de métodos alternativos de aprendizado de máquina que podem se revelar mais promissores para resolver problemas específicos.

Modelos de aprendizagem profunda da ciência


Como os métodos de aprendizado profundo são normalmente usados ​​na comunidade científica? Em um nível alto, você pode formular vários métodos de modelo com os quais o aprendizado profundo pode ser usado nas seguintes tarefas:

  1. Previsões. , – (). . , , , , . , « / ». – , , . , ( ) (, ), .
  2. . , , . . , . , , , . , . , .
  3. . , (, , , ), . , , , , .

Workflow


Usando os modelos de aplicativos de aprendizado profundo mencionados acima, examinaremos o fluxo de trabalho da criação de um sistema de aprendizado profundo do início ao fim. Na Figura 1, você pode ver como é um fluxo de trabalho típico de aprendizado profundo.


Figura 1: Diagrama de um fluxo de trabalho típico de aprendizado profundo.

Um processo típico de desenvolvimento de aplicativos de aprendizado profundo pode ser visto como consistindo em três etapas principais: (i) a etapa de processamento de dados, (ii) o componente de treinamento, (iii) validação e análise. Cada um desses estágios inclui vários estágios e métodos associados a eles, o que também é mostrado na figura. Nesta revisão, abordaremos a maioria dos métodos da etapa de treinamento e várias técnicas de validação e análise de dados. Observe que, embora a sequência natural inclua primeiro o processamento dos dados, o treinamento e a validação, o processo de desenvolvimento padrão provavelmente levará a várias iterações de estágios, ou seja, o método ou a escolha feita em um estágio específico será revisado. com base nos resultados de uma fase posterior.

Tendo escolhido um problema de previsão que lhe interessa, você pode pensar em três estágios de design e uso de um sistema de aprendizado profundo: (i) o estágio de processamento de dados, por exemplo, coleta, rotulagem, pré-processamento, visualização etc., (ii) o estágio de treinamento, por exemplo, escolhendo um modelo rede neural, a definição de tarefas e métodos para o treinamento do modelo; (iii) o estágio de validação e análise, onde, com base nos dados obtidos, é realizada uma avaliação de eficácia, bem como a análise e interpretação de representações ocultas e estudos ablativos de métodos gerais.

Naturalmente, esses três estágios se seguem. No entanto, muitas vezes a primeira tentativa de criar um sistema de aprendizado profundo não é bem sucedida. Para resolver os problemas, é importante lembrar a natureza iterativa do processo de design, na qual os resultados das várias etapas servem como base para uma revisão da arquitetura e a re-execução de outras etapas.

Na Figura 1, são mostrados exemplos de iterações comuns com setas de conexão bilaterais: (i) arrow Iterate (1) , que corresponde à iteração na coleta de dados do processo, pois acontece que após o processo de visualização de dados, os dados brutos leyblinga podem precisar ser ajustados, pois o resultado foi muito barulhento ou não capturou o alvo desejado; (ii) seta Iterar (2), que corresponde às iterações no processo de aprendizagem, por exemplo, se outro objetivo ou método for mais adequado ou se o processo de aprendizagem precisar ser dividido em várias etapas, conduzindo a primeira auto-supervisão e treinando com o professor; (iii) a seta Iterate (3) , responsável por alterar as etapas do processamento de dados com base nos resultados da fase de treinamento; (iv) seta Iterar (4)é responsável por alterar a arquitetura do processo de aprendizado com base nos resultados obtidos no estágio de validação, a fim de reduzir o tempo de treinamento ou usar um modelo mais simples; (v) a seta Iterar (5) é uma adaptação das etapas do processamento de dados com base nos resultados da validação / análise, por exemplo, quando o modelo se baseia em atributos de dados falsos, e os dados devem ser coletados novamente para evitar isso.

Foco e Nomenclatura da Pesquisa


Nesta seção, falaremos sobre os vários métodos usados ​​na etapa de treinamento, juntamente com alguns métodos característicos das etapas de processamento e validação de dados (por exemplo, aumento, interpretabilidade e análise de representações).

Na fase de treinamento, consideramos modelos, tarefas e métodos populares. Por modelos (que também são chamados de arquitetura), entendemos a estrutura da rede neural do aprendizado profundo - o número de camadas, seu tipo, número de neurônios etc. Por exemplo, na tarefa de classificar imagens, as imagens são inseridas e a distribuição de probabilidade sobre o conjunto (discreto) de diferentes categorias (ou classes) é exibida. Por métodos, entendemos o tipo de treinamento usado para treinar o sistema. Por exemplo, aprender com um professor é um processo popular de aprendizado quando uma rede neural recebe dados marcados, onde os rótulos indicam observações.

Ao contrário de vários modelos e tarefas, os métodos podem ser subconjuntos de outros métodos. Por exemplo, auto-supervisão- este é um método no qual uma rede neural é treinada em instâncias e rótulos de dados, onde os rótulos são criados automaticamente em instâncias de dados, esse método também pode ser atribuído aos métodos de ensino com um professor. Isso parece um pouco confuso! No entanto, nesse estágio, basta ter pelo menos uma compreensão geral de modelos, problemas e métodos.

Use aprendizado profundo ou não?


Antes de mergulhar nos vários métodos de aprendizado profundo, é importante formular o problema e entender se o aprendizado profundo fornecerá as ferramentas certas para resolvê-lo. Modelos básicos poderosos de redes neurais oferecem muitas funcionalidades complexas, como transformações complexas de imagem. No entanto, em muitos casos, o aprendizado profundo pode não ser o melhor primeiro passo ou pode não ser adequado para resolver o problema. Abaixo, revisamos brevemente os métodos mais comuns de aprendizado de máquina, especialmente em contextos científicos.

Redução e agrupamento de dimensões. Na comunidade científica, o objetivo final da análise de dados é entender os mecanismos básicos que geram padrões nos dados. Quando o objetivo é esse, a redução de dimensionalidade e o clustering são métodos simples, mas extremamente eficazes para revelar propriedades de dados ocultos. Eles costumam ser úteis na etapa de pesquisa e visualização de dados (mesmo que métodos mais complexos sejam usados ​​posteriormente).

Redução de dimensão.Os métodos de redução de dimensão são lineares, ou seja, são baseados em transformações lineares para reduzir a dimensão dos dados, ou não linear, ou seja, reduzindo a dimensão com preservação aproximada da estrutura de dados não linear. Os métodos lineares populares para reduzir a dimensionalidade são o Método dos Componentes Principais e a decomposição da matriz não negativa, enquanto os métodos não lineares são a incorporação estocástica de vizinhos com distribuição t e UMAP. Muitos métodos de redução dimensional já possuem implementações de qualidade em pacotes como o scikit-learn ou no github (por exemplo, github.com/oreillymedia/t-SNE-tutorial ou github.com/lmcinnes/umap ).

Agrupamento. As técnicas de cluster geralmente usadas em conjunto com a redução dimensional fornecem uma maneira poderosa de identificar semelhanças e diferenças em um conjunto de dados. Os métodos são comumente usados, como o método k-means (geralmente um método k-means modificado), um modelo de mistura de distribuições gaussianas, agrupamento hierárquico e agrupamento espectral. Como os métodos de redução dimensional, os métodos de cluster têm boas implementações em pacotes como o scikit-learn .

Regressão linear, regressão logística (e variações). Talvez os métodos mais fundamentais para resolver o problema do ensino com um professor, como classificação e regressão, regressão linear e logística e suas variações (por exemplo, regressão de Lasso e cordilheira), possam ser especialmente úteis no caso de dados limitados e um conjunto claro de recursos (possivelmente pré-processados) (por exemplo, na forma de dados tabulares). Esses métodos também possibilitam avaliar a adequação da formulação do problema e podem ser um bom ponto de partida para verificar uma versão simplificada do problema que está sendo resolvido. Devido à sua simplicidade, as regressões lineares e logísticas são altamente interpretáveis ​​e fornecem maneiras simples de executar a atribuição de atributos.

Árvores de decisão, floresta aleatória e aumento de gradiente. Outra classe popular de métodos são Árvores de Decisão, Floresta Aleatória e Impulso de Gradiente. Esses métodos também podem funcionar em conjunto com problemas de regressão / classificação e são adequados para modelar relacionamentos não lineares entre entrada e saída. A floresta aleatória, que faz parte do conjunto de árvores de decisão, geralmente pode ser preferida aos métodos de aprendizado profundo em condições em que os dados têm uma baixa relação sinal / ruído. Esses métodos podem ser menos interpretáveis ​​que a regressão linear / logística; no entanto, em um trabalho recente, analisamos as bibliotecas de software em desenvolvimento que resolvem esse problema.

Outros métodos e recursos. Todos os métodos acima, bem como muitos outros métodos populares, como modelos gráficos, processos gaussianos, otimização bayesiana, são discutidos em detalhes no curso Machine Learning da Universidade de Toronto ou no Stanford CS229, em artigos detalhados no direçãodatascience.com e em tutoriais interativos como d2l.ai /index.html (chamado Dive into Deep Learning) e em github.com/rasbt/python-machine-learning-book2nd-edition .



Quais tarefas um cientista de dados resolve? Quais seções da matemática e para quais tarefas você precisa saber? Quais são os requisitos para os cientistas de dados? Que conhecimento em matemática é necessário para se destacar da multidão e garantir o progresso na carreira ? As respostas para todas essas perguntas e não apenas podem ser obtidas em nosso seminário on-line gratuito , que será realizado em 6 de maio. Apresse-se para se inscrever !



All Articles