Name: | Description: | Size: | Format: | |
---|---|---|---|---|
8.63 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Advances in Artificial Intelligence (AI) and Machine Learning (ML) obtained impressive
breakthroughs and remarkable results in various problems. These advances can be
largely attributed to deep learning algorithms, especially Convolutional Neural Networks
(CNNs). The ever-growing success of CNNs is mainly due to the ingenuity and engineering
efforts of human experts who have designed and optimized powerful neural network
architectures, which obtained unprecedented results in a vast panoply of tasks. However,
applying a ML method to a problem for which it has not been explicitly tailor-made usually
leads to sub-optimal results, which in extreme cases can even lead to poor performances,
thus hindering the sustainability of a system and the wide-spread application of ML by
non-experts. Designing tailor-made CNNs for specific problems is a difficult task, as many
design choices depend on each other. Thus, it became logical to automate this process by
designing and developing automated Neural Architecture Search (NAS) methods.
Architectures found with NAS achieve state-of-the-art performance in various tasks,
outperforming human-designed networks. However, NAS methods still face several problems.
Most heavily rely on human-defined assumptions constraining the search, such
as the architecture’s outer-skeletons, number of layers, parameter heuristics, and search
spaces. Common search spaces consist of repeatable modules (cells) instead of fully exploring
the architecture’s search space by designing entire architectures (macro-search),
which requires deep human expertise and restricts the search to pre-defined settings and
narrows the exploration of new and diverse architectures by having forced rules. Also, considerable
computation is still inherent to most NAS methods, and only a few can perform
macro-search.
In this thesis, we focused on proposing novel solutions to mitigate the problems mentioned
above. First, we provide a comprehensive review of NAS components, methods,
and benchmarks. For the latter, we conduct a study on operation importance to evaluate
how the operation pool of search spaces influences the performance of generated architectures.
Following, we studied how different neural networks behave for different classification
problems and proposed two novel methods to improve upon existing neural networks
with NAS by i) searching for a new classification head and ii) searching for a fusion
method that allows performing multimodal classification. We then looked into improving
the search cost of NAS methods by proposing a zero-proxy estimation strategy that
scores architectures at initialization stage through the analysis of the Jacobian matrix and
an evolutionary strategy that generates architectures by performing operation mutation
and by leveraging the zero-cost proxy estimation to efficiently guide the search process.
To further improve the capabilities of NAS methods, we extend the analysis of architectures
at initialization stage by proposing a second zero-cost proxy method, which looks
at the Neural Tangent Kernel of a generated architecture to infer its final performance if
trained. With this, we also propose a novel search space that leverages large pre-trained feature extractors (CNNs) and forces the search only to a small middleware architecture
that learns a downstream task. These two methods showed that large models can be efficiently
leveraged to learn new tasks without requiring any fine-tuning or extensive computational
resources. To further improve the search and memory costs of NAS methods,
we proposed MANAS. This method frames NAS as a multi-agent optimization problem
and uses independent agents that search for operations in a distributed manner. With
MANAS, we showed that both the search cost and the memory resources can be heavily
reduced while improving the final performance. Finally, to push NAS to less constrained
search spaces and settings, we proposed LCMNAS, a NAS method that performs macrosearch
without relying on pre-defined heuristics or bounded search spaces. LCMNAS introduces
three components for the NAS pipeline: i) a method that leverages information
about well-known architectures to autonomously generate complex search spaces based
on weighted directed graphs with hidden properties, ii) an evolutionary search strategy
that generates complete architectures from scratch, and iii) a mixed-performance estimation
approach that combines information about architectures at initialization stage and
lower fidelity estimates to infer their trainability and capacity to model complex functions.
Results obtained by the proposed methods show that it is possible to improve NAS
methods regarding search and memory costs, as well as computation requirements, while
still obtaining state-of-the-art results. All proposed methods were evaluated in multiple
search spaces and several data sets, showing improved performances while requiring only
a fraction of previous NAS methods’ time and computation needs.
Os avanços nos domínios da Inteligência Artificial (IA) e da Aprendizagem Automática (AA) permitiram obter resultados impressionantes em vários problemas. Estes avanços podem ser atribuídos, em grande medida, aos algoritmos de aprendizagem profunda, especialmente às Redes Neuronais Convolucionais (RNCs). O sucesso crescente das RNCs deve-se principalmente ao engenho e aos esforços de engenharia de especialistas que conceberam e otimizaram arquiteturas de redes neuronais poderosas, obtendo resultados sem precedentes numa vasta panóplia de tarefas. No entanto, a aplicação de um método de AA a um problema para o qual não foi especifícamente concebido traduz-se normalmente em resultados sub-óptimos, que, em casos extremos, pode levar a desempenhos medíocres, dificultando assim a sustentabilidade dos sistemas e a massificação da sua utilização por não-especialistas. A conceção de RNCs para problemas específicos é uma tarefa difícil, uma vez que muitas escolhas de conceção das redes não são independentes umas das outras. Assim, tornou-se imperativo automatizar este processo através da conceção e desenvolvimento de métodos de Pesquisa Automática de Arquiteturas (PAA). As arquiteturas encontradas com base em métodos de PAA alcançaram desempenhos notáveis em várias tarefas, superando as redes concebidas por humanos. No entanto, os métodos de PAA ainda enfrentam vários problemas. A maioria destes métodos depende fortemente de pressupostos definidos por humanos que restringem a pesquisa, como a estrutura da arquitetura, o número de camadas, heurísticas para a definição de parâmetros e os espaços de pesquisa. Os espaços de pesquisa mais comuns consistem em módulos repetíveis (células), em vez de explorarem totalmente o espaço de pesquisa da arquitetura através da conceção de arquiteturas completas (pesquisa macro), necessitando assim de conhecimento humano, restringindo a pesquisa a definições pré-definidas e limitando a exploração de arquiteturas novas e diversas, devido à existência de regras prédefinidas. Mais ainda, a necessidade de grandes capacidades de computação é ainda inerente à maioria dos métodos PAA e apenas alguns podem efetuar uma pesquisa macro. No plano desta tese, o objetivo principal foi desenvolver novas soluções para mitigar os problemas mencionados anteriormente. Em primeiro lugar, apresentamos uma análise exaustiva dos componentes, métodos e benchmarks de PAA. Para este último, realizamos um estudo sobre a importância das diferentes operações, avaliando a influência que o conjunto de operações dos espaços de pesquisa tem sobre o desempenho das arquiteturas geradas. De seguida, estudámos o comportamento de várias redes neuronais em diferentes problemas de classificação e propusemos dois novos métodos para melhorar as redes neuronais existentes com PAA: i) procurando um novo componente de classificação e ii) procurando um método de fusão que permita efetuar uma classificação multimodal. De seguida, procurámos melhorar o custo de pesquisa dos métodos de PAA, propondo uma estratégia de estimativa que classifica as arquiteturas na fase de inicialização através da análise da matriz Jacobiana e uma pesquisa evolutiva que gera arquiteturas com base em operações de mutação, tirando partido da estimativa de custo zero para orientar eficazmente o processo de pesquisa. Para melhorar ainda mais as capacidades dos métodos de PAA, estendemos o estudo sobre arquiteturas em fase de inicialização, propondo um segundo método de custo zero, que analisa o Neural Tangent Kernel de uma arquitetura gerada para inferir o seu desempenho final caso esta seja treinada. Propusemos também um novo espaço de pesquisa que aproveita extratores de características prétreinados (RNCs) e força a pesquisa apenas para uma pequena arquitetura que aprende uma nova tarefa baseado nas informações geradas pelas redes maiores. Com estes dois métodos, mostrámos que redes de grande dimensão podem ser eficientemente aproveitadas para aprender novas tarefas sem necessidade de qualquer afinação ou de grandes recursos computacionais. De forma a aprimorar os custos de pesquisa e de memória dos métodos de PAA, propusemos o MANAS. Este método formula o problema de otimização de PAA como um problema de multi-agentes. Este utiliza agentes independentes que procuram operações de forma distribuída, repartindo assim o espaço de pesquisa. Com o MANAS, mostrámos que tanto o custo de pesquisa como os recursos de memória podem ser significativamente reduzidos, melhorando em simultâneo, o desempenho final. Por fim, para levar a área de PAA a espaços e configurações de pesquisa menos restritos, propusemos o LCMNAS, um método de PAA que efetua uma macro-pesquisa sem depender de heurísticas predefinidas ou de espaços de pesquisa restritivos. O LCMNAS introduz três componentes para o melhorar a otimização de PAA: i) um método que aproveita as informações sobre arquiteturas existentes para autonomamente gerar espaços de pesquisa complexos com base em grafos pesados com parâmetros ocultos, ii) uma estratégia de pesquisa evolutiva que gera arquiteturas completas a partir do zero e iii) uma abordagem de estimação de desempenho misto que combina informações sobre arquiteturas na fase de inicialização e estimativas de fidelidade reduzida para inferir a capacidade de treino de uma arquitetura, assim como a sua capacidade de modelar funções complexas. Os resultados obtidos pelos métodos propostos mostram que é possível melhorar os métodos de PAA no que respeita aos custos de pesquisa e de memória, bem como em termos de computação necessária, obtendo resultados competitivos. Todos os métodos propostos foram avaliados em vários espaços de pesquisa e em vários conjuntos de dados, mostrando desempenhos elevados, requerendo ao mesmo tempo apenas uma fração do tempo e das necessidades de computação dos métodos de PAA anteriores.
Os avanços nos domínios da Inteligência Artificial (IA) e da Aprendizagem Automática (AA) permitiram obter resultados impressionantes em vários problemas. Estes avanços podem ser atribuídos, em grande medida, aos algoritmos de aprendizagem profunda, especialmente às Redes Neuronais Convolucionais (RNCs). O sucesso crescente das RNCs deve-se principalmente ao engenho e aos esforços de engenharia de especialistas que conceberam e otimizaram arquiteturas de redes neuronais poderosas, obtendo resultados sem precedentes numa vasta panóplia de tarefas. No entanto, a aplicação de um método de AA a um problema para o qual não foi especifícamente concebido traduz-se normalmente em resultados sub-óptimos, que, em casos extremos, pode levar a desempenhos medíocres, dificultando assim a sustentabilidade dos sistemas e a massificação da sua utilização por não-especialistas. A conceção de RNCs para problemas específicos é uma tarefa difícil, uma vez que muitas escolhas de conceção das redes não são independentes umas das outras. Assim, tornou-se imperativo automatizar este processo através da conceção e desenvolvimento de métodos de Pesquisa Automática de Arquiteturas (PAA). As arquiteturas encontradas com base em métodos de PAA alcançaram desempenhos notáveis em várias tarefas, superando as redes concebidas por humanos. No entanto, os métodos de PAA ainda enfrentam vários problemas. A maioria destes métodos depende fortemente de pressupostos definidos por humanos que restringem a pesquisa, como a estrutura da arquitetura, o número de camadas, heurísticas para a definição de parâmetros e os espaços de pesquisa. Os espaços de pesquisa mais comuns consistem em módulos repetíveis (células), em vez de explorarem totalmente o espaço de pesquisa da arquitetura através da conceção de arquiteturas completas (pesquisa macro), necessitando assim de conhecimento humano, restringindo a pesquisa a definições pré-definidas e limitando a exploração de arquiteturas novas e diversas, devido à existência de regras prédefinidas. Mais ainda, a necessidade de grandes capacidades de computação é ainda inerente à maioria dos métodos PAA e apenas alguns podem efetuar uma pesquisa macro. No plano desta tese, o objetivo principal foi desenvolver novas soluções para mitigar os problemas mencionados anteriormente. Em primeiro lugar, apresentamos uma análise exaustiva dos componentes, métodos e benchmarks de PAA. Para este último, realizamos um estudo sobre a importância das diferentes operações, avaliando a influência que o conjunto de operações dos espaços de pesquisa tem sobre o desempenho das arquiteturas geradas. De seguida, estudámos o comportamento de várias redes neuronais em diferentes problemas de classificação e propusemos dois novos métodos para melhorar as redes neuronais existentes com PAA: i) procurando um novo componente de classificação e ii) procurando um método de fusão que permita efetuar uma classificação multimodal. De seguida, procurámos melhorar o custo de pesquisa dos métodos de PAA, propondo uma estratégia de estimativa que classifica as arquiteturas na fase de inicialização através da análise da matriz Jacobiana e uma pesquisa evolutiva que gera arquiteturas com base em operações de mutação, tirando partido da estimativa de custo zero para orientar eficazmente o processo de pesquisa. Para melhorar ainda mais as capacidades dos métodos de PAA, estendemos o estudo sobre arquiteturas em fase de inicialização, propondo um segundo método de custo zero, que analisa o Neural Tangent Kernel de uma arquitetura gerada para inferir o seu desempenho final caso esta seja treinada. Propusemos também um novo espaço de pesquisa que aproveita extratores de características prétreinados (RNCs) e força a pesquisa apenas para uma pequena arquitetura que aprende uma nova tarefa baseado nas informações geradas pelas redes maiores. Com estes dois métodos, mostrámos que redes de grande dimensão podem ser eficientemente aproveitadas para aprender novas tarefas sem necessidade de qualquer afinação ou de grandes recursos computacionais. De forma a aprimorar os custos de pesquisa e de memória dos métodos de PAA, propusemos o MANAS. Este método formula o problema de otimização de PAA como um problema de multi-agentes. Este utiliza agentes independentes que procuram operações de forma distribuída, repartindo assim o espaço de pesquisa. Com o MANAS, mostrámos que tanto o custo de pesquisa como os recursos de memória podem ser significativamente reduzidos, melhorando em simultâneo, o desempenho final. Por fim, para levar a área de PAA a espaços e configurações de pesquisa menos restritos, propusemos o LCMNAS, um método de PAA que efetua uma macro-pesquisa sem depender de heurísticas predefinidas ou de espaços de pesquisa restritivos. O LCMNAS introduz três componentes para o melhorar a otimização de PAA: i) um método que aproveita as informações sobre arquiteturas existentes para autonomamente gerar espaços de pesquisa complexos com base em grafos pesados com parâmetros ocultos, ii) uma estratégia de pesquisa evolutiva que gera arquiteturas completas a partir do zero e iii) uma abordagem de estimação de desempenho misto que combina informações sobre arquiteturas na fase de inicialização e estimativas de fidelidade reduzida para inferir a capacidade de treino de uma arquitetura, assim como a sua capacidade de modelar funções complexas. Os resultados obtidos pelos métodos propostos mostram que é possível melhorar os métodos de PAA no que respeita aos custos de pesquisa e de memória, bem como em termos de computação necessária, obtendo resultados competitivos. Todos os métodos propostos foram avaliados em vários espaços de pesquisa e em vários conjuntos de dados, mostrando desempenhos elevados, requerendo ao mesmo tempo apenas uma fração do tempo e das necessidades de computação dos métodos de PAA anteriores.
Description
Keywords
Pesquisa Automática de Arquitecturas Automatização de Aprendizagem Automática Aprendizagem Automática Visão Computacional Aprendizagem Profunda Redes Neuronais Convolucionais Otimização de Parâmetros Neural Architecture Search Convolutional Neural Networks Computer Vision