Neural Architecture Search (NAS)
Saiba como a Pesquisa de Arquitetura Neural (NAS) automatiza o design de modelos de deep learning. Descubra os seus mecanismos principais e explore modelos otimizados, como Ultralytics .
A Pesquisa de Arquitetura Neural (NAS) é uma técnica sofisticada no âmbito da
Aprendizagem Automática (AutoML)
que automatiza o design de redes neurais artificiais. Tradicionalmente, a engenharia de arquiteturas de aprendizagem profunda (DL) de alto desempenho
exigia
amplo conhecimento humano, intuição e tentativa e erro demorados. A NAS substitui esse processo manual por
estratégias algorítmicas que exploram sistematicamente uma vasta gama de topologias de rede para descobrir a estrutura ideal
para uma tarefa específica. Ao testar várias combinações de camadas e operações, a NAS pode identificar
arquiteturas que superam significativamente os modelos projetados por humanos em termos de
precisão, eficiência computacional ou velocidade de inferência.
Mecanismos centrais da NAS
O processo de descoberta de uma arquitetura superior geralmente envolve três dimensões fundamentais que interagem para
encontrar a melhor rede neural (NN):
-
Espaço de pesquisa: define o conjunto de todas as arquiteturas possíveis que o algoritmo pode explorar. Ele funciona
como uma biblioteca de blocos de construção, como
filtros de convolução, camadas de pooling e várias
funções de ativação. Um espaço de pesquisa bem definido
restringe a complexidade para garantir que a pesquisa permaneça computacionalmente viável, ao mesmo tempo que permite flexibilidade suficiente
para inovação.
-
Estratégia de pesquisa: Em vez de testar todas as possibilidades (força bruta), o NAS emprega algoritmos inteligentes
para navegar no espaço de pesquisa de forma eficiente. Abordagens comuns incluem
aprendizagem por reforço, em que um agente
aprende a gerar arquiteturas melhores ao longo do tempo, e
algoritmos evolutivos, que mutam e
combinam modelos de melhor desempenho para gerar candidatos superiores.
-
Estratégia de estimativa de desempenho: treinar todas as redes candidatas a partir do zero é proibitivamente
lento. Para acelerar isso, o NAS usa técnicas de estimativa — como treinar em menos
épocas, usar conjuntos de dados proxy de menor resolução ou empregar
partilha de pesos— para classificar rapidamente o potencial de uma arquitetura candidata
.
Aplicações no Mundo Real
O NAS tornou-se essencial em setores onde as restrições de hardware ou os requisitos de desempenho são rigorosos, ampliando os
limites da visão computacional (CV) e outros domínios da IA
.
-
Computação de ponta eficiente: a implementação de IA em dispositivos móveis requer modelos que sejam leves
e rápidos. O NAS é amplamente utilizado para descobrir arquiteturas como
MobileNetV3 e
EfficientNet, que minimizam
a latência de inferência, mantendo alta
precisão. Isso é vital para aplicações de IA de ponta, como
análise de vídeo em tempo real em câmaras inteligentes ou drones autónomos.
-
Imagiologia médica: Na
análise de imagens médicas, a precisão é
fundamental. A NAS pode adaptar redes para detect anomalias detect em raios-X ou ressonâncias magnéticas, muitas vezes encontrando novas vias de extração de características
que os engenheiros humanos podem ignorar. Isso leva a ferramentas mais fiáveis para identificar
condições como tumores cerebrais ou fraturas
com maior sensibilidade.
NAS vs. Conceitos relacionados
Para compreender o papel específico do NAS, é útil distingui-lo de técnicas de otimização semelhantes:
-
NAS vs. Ajuste de hiperparâmetros: Embora ambos envolvam otimização,
o ajuste de hiperparâmetros concentra-se em ajustar
as configurações (como taxa de aprendizagem ou
tamanho do lote) para uma arquitetura fixa. Em
contraste, o NAS altera a estrutura fundamental do próprio modelo, como o número de camadas ou como os neurónios estão
conectados.
-
NAS vs. Aprendizagem por transferência:
A aprendizagem por transferência utiliza um modelo pré-treinado existente e adapta os seus pesos a uma nova tarefa. O NAS cria a arquitetura do modelo a partir do zero (ou procura uma estrutura melhor) antes do início do treino.
Utilização de modelos derivados de NAS
Embora a execução de uma pesquisa NAS completa exija recursos significativos
GPU , os programadores podem usar facilmente modelos que
foram criados via NAS. Por exemplo, a
arquitetura YOLO foi descoberta usando esses princípios de pesquisa
para otimizar tarefas de detecção de objetos.
Python a seguir demonstra como carregar e usar um modelo NAS pré-pesquisado usando o
ultralytics pacote:
from ultralytics import NAS
# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")
# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")
Para aqueles que desejam treinar modelos de última geração sem a complexidade do NAS, o
Ultralytics oferece uma arquitetura altamente otimizada
pronta para uso, incorporando os mais recentes avanços em pesquisa. Você pode gerenciar facilmente conjuntos de dados, treinamento e
implantação para esses modelos usando a Ultralytics , que
simplifica todo o ciclo de vida do MLOps.