Visualização de dependências e herança entre modelos de aprendizado de máquina



Há alguns meses, encontrei um problema, meu modelo baseado em algoritmos de aprendizado de máquina simplesmente não funcionava. Pensei por um longo tempo sobre como resolver esse problema e, em algum momento, percebi que meu conhecimento é muito limitado e minhas idéias são escassas. Conheço algumas dúzias de modelos, e essa é uma parte muito pequena daqueles trabalhos que podem ser muito úteis.

O primeiro pensamento que veio à mente é que, se eu conhecer e entender mais modelos, minhas qualidades como pesquisador e engenheiro como um todo aumentarão. Essa ideia me levou a estudar artigos de conferências recentes de aprendizado de máquina. Estruturar essas informações é bastante difícil e é necessário registrar as dependências e os relacionamentos entre os métodos. Não queria apresentar as dependências na forma de uma tabela ou lista, mas queria algo mais natural. Como resultado, percebi que ter um gráfico tridimensional para mim com arestas entre os modelos e seus componentes parece bastante interessante.

Por exemplo, arquitetonicamente, o GAN [1] consiste em um gerador (GEN) e discriminador (DIS), o Auto-codificador adverso (AAE) [2] consiste no Auto-codificador (AE) [3] e em DIS,. Cada componente é um vértice separado neste gráfico, portanto, para AAE, teremos uma aresta com AE e DIS.

Passo a passo, analisei os artigos, escrevi em quais métodos eles consistem, em que área de aplicação são aplicados, em quais dados foram testados e assim por diante. No processo, percebi quantas soluções muito interessantes permanecem desconhecidas e não encontro sua aplicação.

O aprendizado de máquina é dividido em áreas de assunto, onde cada área tenta resolver um problema específico usando métodos específicos. Nos últimos anos, as fronteiras foram quase apagadas e é praticamente difícil identificar os componentes que são usados ​​apenas em uma determinada área. Essa tendência geralmente leva a melhores resultados, mas o problema é que, com o aumento do número de artigos, muitos métodos interessantes passam despercebidos. Há muitas razões para isso, e a popularização por grandes empresas de apenas determinadas áreas desempenha um papel importante nisso. Percebendo isso, o gráfico, anteriormente desenvolvido como algo estritamente pessoal, tornou-se público e aberto.

Naturalmente, conduzi pesquisas e tentei encontrar análogos ao que estava fazendo. Existem serviços suficientes que permitem monitorar o surgimento de novos artigos nessa área. Mas todos esses métodos têm como objetivo principal simplificar a aquisição de conhecimento, e não ajudar a criar novas idéias. A criatividade é mais importante que a experiência, e ferramentas que podem ajudá-lo a pensar em direções diferentes e a ver uma imagem mais completa, parece-me que deve se tornar parte integrante do processo de pesquisa.

Temos ferramentas que facilitam a experimentação, o lançamento e a avaliação de modelos, mas não temos métodos que nos permitam gerar e avaliar ideias rapidamente.

Em apenas alguns meses, classifiquei cerca de 250 artigos da última conferência NeurIPS e cerca de 250 outros artigos nos quais eles se baseiam. A maioria das áreas era completamente desconhecida para mim, demorou vários dias para entendê-las. Às vezes, simplesmente não conseguia encontrar a descrição correta para os modelos e de quais componentes eles consistem. A partir disso, o segundo passo lógico foi criar a possibilidade de os autores adicionarem e alterarem métodos no gráfico, porque ninguém, exceto os autores do artigo, sabe analisar e descrever seu método da melhor maneira.

Um exemplo do que aconteceu como resultado é apresentado aqui.

Espero que este projeto seja útil para alguém, mesmo que apenas porque talvez permita que alguém obtenha associações que possam levar a uma nova idéia interessante. Fiquei surpreso ao saber como se baseia a ideia de redes competitivas generativas. No podcast de Inteligência de máquina do MIT [4], Yan Goodfellow disse que a idéia de redes adversárias está associada às fases "positiva" e "negativa" do Boltzman Machine Learning [5].

Este projeto é orientado pela comunidade. Eu gostaria de desenvolvê-lo e motivar mais pessoas a adicionar informações sobre seus métodos lá ou editar o que já foi feito. Acredito que informações mais precisas sobre os métodos e melhores tecnologias de visualização realmente ajudarão a tornar essa ferramenta útil.

Há muito espaço para o desenvolvimento do projeto, começando com a melhoria da própria visualização, terminando com a capacidade de criar um gráfico individual com a possibilidade de obter recomendações para métodos de melhoria.

Alguns detalhes técnicos podem ser encontrados aqui .

[1] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville e Yoshua Bengio. Redes adversas generativas.

[2] Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow e Brendan Frey. Autoencoders adversos.

[3] Dana H. Ballard. Autoencoder.

[4] Ian J. Goodfellow: podcast de Inteligência Artificial no MIT.

[5] Ruslan Salakhutdinov, Geoffrey Hinton. Máquinas boltzmann profundas

Source: https://habr.com/ru/post/pt463175/


All Articles