O que é pesquisa de arquitetura neural?
[ad_1]
As redes neurais profundas têm uma enorme vantagem: elas substituem a “engenharia de recursos” – uma parte difícil e árdua do clássico aprendizado de máquina ciclo—com um processo de ponta a ponta que aprende automaticamente a extrair recursos.
No entanto, encontrar a arquitetura de deep studying certa para seu aplicativo pode ser um desafio. Existem várias maneiras de estruturar e configurar uma rede neural, usando diferentes tipos e tamanhos de camada, funções de ativação e operações. Cada arquitetura tem seus pontos fortes e fracos. E dependendo do aplicativo e do ambiente em que você deseja implantar suas redes neurais, você pode ter requisitos especiais, como memória e restrições computacionais.
A maneira clássica de encontrar uma arquitetura de aprendizado profundo adequada é começar com um modelo que pareça promissor e modificá-lo gradualmente e treiná-lo até encontrar a melhor configuração. No entanto, isso pode levar muito pace, dadas as inúmeras configurações e a quantidade de pace que cada rodada de treinamento e teste pode levar.
Uma alternativa ao design handbook é a “pesquisa de arquitetura neural” (NAS), uma série de técnicas de aprendizado de máquina que podem ajudar a descobrir redes neurais ideais para um determinado problema. A pesquisa de arquitetura neural é uma grande área de pesquisa e é muito promissora para futuras aplicações de aprendizado profundo.
Espaços de pesquisa para aprendizado profundo
Embora existam inúmeras técnicas de pesquisa de arquitetura neural, elas geralmente têm algumas coisas em comum. Em um artigo intitulado “Pesquisa de arquitetura neural: uma pesquisa,” pesquisadores da Bosch e da Universidade de Freiburg dividem o NAS em três componentes: espaço de busca, estratégia de busca e estratégia de estimativa de desempenho.
A primeira parte de uma estratégia NAS é definir o espaço de busca para a rede neural alvo. O componente básico de qualquer modelo de aprendizado profundo é a camada neural. Você pode determinar o número e o tipo de camadas a serem exploradas. Por exemplo, você pode querer que seu modelo de aprendizado profundo seja composto por uma variedade de convolucional (CNN) e camadas totalmente conectadas. Você também pode determinar as configurações das camadas, como o número de unidades, ou no caso de CNNs, tamanho do kernel, número de filtros e passo. Outros elementos podem ser incluídos no espaço de busca, como funções de ativação e operações (camadas de pooling, camadas de dropout, and so on.).
Quanto mais elementos você adicionar ao espaço de pesquisa, mais versatilidade você terá. Mas, naturalmente, graus de liberdade adicionais expandem o espaço de pesquisa e aumentam os custos de encontrar a arquitetura supreme de aprendizado profundo.
Arquiteturas mais avançadas geralmente possuem vários ramos de camadas e outros elementos. Por exemplo, ResNet, um modelo de reconhecimento de imagem widespread, united states conexões de salto, onde a saída de uma camada é fornecida não apenas para a próxima camada, mas também para camadas que estão mais abaixo no fluxo. Esses tipos de arquiteturas são mais difíceis de explorar com NAS porque têm mais partes móveis.
Uma das técnicas que ajudam a reduzir a complexidade do espaço de busca mantendo a complexidade da arquitetura da rede neural é o uso de “células”. Nesse caso, o algoritmo NAS pode otimizar pequenos blocos separadamente e depois usá-los em combinação. Por exemplo, a VGGNet, outra famosa rede de reconhecimento de imagem, é composta de blocos repetidos compostos por uma camada de convolução, uma função de ativação e uma camada de agrupamento. O algoritmo NAS pode otimizar o bloco separadamente e então encontrar a melhor configuração de blocos em uma grande rede.
Procurar estratégia

Mesmo os espaços de pesquisa básicos geralmente exigem muitas tentativas e erros para encontrar a arquitetura supreme de aprendizado profundo. Portanto, um algoritmo de pesquisa de arquitetura neural também precisa de uma “estratégia de pesquisa”. A estratégia de busca determina como o algoritmo NAS experimenta com diferentes redes neurais.
A estratégia mais básica é a “busca aleatória”, na qual o algoritmo NAS seleciona aleatoriamente uma rede neural do espaço de busca, treina e valida, registra os resultados e passa para a próxima. A pesquisa aleatória é extremamente cara porque o algoritmo NAS é basicamente forçando seu caminho através do espaço de pesquisa, desperdiçando recursos caros em soluções de teste que podem ser eliminadas com métodos mais fáceis. Dependendo da complexidade do espaço de pesquisa, a pesquisa aleatória pode levar dias ou semanas de pace de GPU para verificar todas as arquiteturas de rede neural possíveis.
Existem outras técnicas que aceleram o processo de busca. Um exemplo é Otimização Bayesianaque começa com escolhas aleatórias e gradualmente ajusta sua direção de busca à medida que reúne informações sobre o desempenho de diferentes arquiteturas.
Outra estratégia é enquadrar a pesquisa de arquitetura neural como um problema de aprendizado por reforço. Nesse caso, o ambiente do agente RL é o espaço de busca, as ações são as diferentes configurações da rede neural e a recompensa é o desempenho da rede. O agente de aprendizado por reforço começa com modificações aleatórias, mas com o pace aprende a escolher as configurações que melhoram o desempenho da rede neural.
Outras estratégias de busca incluem algoritmos evolutivos e Pesquisa em árvore de Monte Carlo. Cada estratégia de busca tem seus pontos fortes e fracos, e os engenheiros devem encontrar o equilíbrio certo entre “exploração e exploração”, o que basicamente significa testar arquiteturas totalmente novas ou ajustar aquelas que até agora se mostraram promissoras.
Estratégia de estimativa de desempenho
À medida que o algoritmo NAS passa pelo espaço de pesquisa, ele deve treinar e validar modelos de aprendizado profundo para comparar seu desempenho e escolher a rede neural supreme. Obviamente, fazer um treinamento completo em cada rede neural leva muito pace e requer recursos computacionais muito grandes.
Para reduzir os custos de avaliação de modelos de aprendizado profundo, engenheiros de algoritmos NAS usam “métricas de proxy” que podem ser medidas sem exigir treinamento completo da rede neural.
Por exemplo, eles podem treinar seus modelos para menos épocas, em um conjunto de dados menor ou em dados de resolução mais baixa. Embora o modelo de aprendizado profundo resultante não atinja todo o seu potencial, esses regimes de treinamento de baixa fidelidade fornecem uma linha de base para comparar diferentes modelos a um custo menor. Uma vez que o conjunto de arquiteturas tenha sido selecionado para algumas redes neurais promissoras, o algoritmo NAS pode fazer um treinamento e teste mais completos dos modelos.
Outra forma de reduzir os custos de estimativa de desempenho é inicializar novos modelos nos pesos de modelos previamente treinados. Conhecida como aprendizado de transferência, essa prática resulta em uma convergência muito mais rápida, o que significa que o modelo de aprendizado profundo precisará de menos épocas de treinamento. O aprendizado de transferência é aplicável quando o modelo de origem e destino possui arquiteturas compatíveis.
Um trabalho em andamento
A pesquisa de arquitetura neural ainda tem desafios a serem superados, como fornecer explicações de por que algumas arquiteturas são melhores que outras e abordar aplicativos complicados que vão além da simples classificação de imagens.
O NAS é, no entanto, um campo muito útil e atraente para a comunidade de aprendizado profundo e pode ter ótimas aplicações tanto para pesquisa acadêmica e aprendizado de máquina aplicado.
Às vezes, tecnologias como NAS são retratadas como inteligência synthetic que cria sua própria IA, tornando os humanos redundantes e nos levando Singularidade de IA. Mas, na realidade, o NAS é um exemplo perfeito de como humanos e sistemas de IA contemporâneos podem trabalhar juntos para resolver problemas complicados. Os seres humanos usam sua intuição, conhecimento e bom senso para encontrar espaços de problemas interessantes e definir seus limites e resultados pretendidos. Os algoritmos NAS, por outro lado, são solucionadores de problemas muito eficientes que podem pesquisar o espaço da solução e encontrar a melhor arquitetura de rede neural para a aplicação pretendida.
Este artigo foi originalmente publicado por Ben Dickson em TechTalks, uma publicação que examina as tendências em tecnologia, como elas afetam a maneira como vivemos e fazemos negócios e os problemas que elas resolvem. Mas também discutimos o lado maligno da tecnologia, as implicações mais sombrias da nova tecnologia e o que precisamos observar. Você pode ler o artigo unique aqui.
[ad_2]
Fonte da Notícia


