Arquiteturas CNN Profundas (Deep CNNs)

programador
1.1.2.4 – Redes Neurais – Visao Computacional
1.1.2.4.4 – Arquiteturas CNN Profundas (Deep CNNs)
1.1.2.4.4.1 – LeNet-5
1.1.2.4.4.2 – AlexNet
1.1.2.4.4.3 – VGGNet
1.1.2.4.4.4 – ResNet
1.1.2.4.4.5 – GoogLeNet (Inception)
1.1.2.4.4.6 – MobileNet
1.1.2.4.4.7 – Vision Transformer (ViT)
1.1.2.4.4.8 – Tecnicas de Treinamento
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

Redes Neurais Convolucionais profundas (Deep CNNs) revolucionaram o reconhecimento de imagens. Diferentemente de redes rasas, elas possuem muitas camadas escondidas. Cada camada aprende características cada vez mais abstratas da imagem. Primeiramente, camadas iniciais detectam bordas e texturas simples. Em seguida, camadas intermediárias reconhecem partes de objetos, como olhos ou rodas. Finalmente, as camadas finais combinam estas partes em conceitos complexos. Este aprendizado hierárquico é a grande força das CNNs profundas. Elas dispensam a engenharia manual de características. Consequentemente, alcançam desempenho superior em tarefas desafiadoras. A escolha da arquitetura certa depende do problema específico. Fatores como tamanho do conjunto de dados e poder computacional influenciam esta decisão.

lenet-5: a arquitetura pioneira para dígitos

A LeNet-5 foi desenvolvida por Yann LeCun nos anos 1990. Ela se tornou famosa pelo reconhecimento de dígitos manuscritos. Esta arquitetura possui duas camadas convolucionais intercaladas com pooling. Primeiramente, ela usa kernels pequenos de tamanho 5×5. Em seguida, aplica camadas totalmente conectadas ao final. A ativação utilizada é a tangente hiperbólica ou sigmoide. Por exemplo, a LeNet-5 processava imagens de 32×32 pixels da base MNIST. Seu uso é recomendado para problemas simples com poucas classes. Ademais, ela serve como excelente ponto de partida para iniciantes. Portanto, a LeNet-5 é uma prova de conceito fundamental na área.

alexnet: o marco da revolução do deep learning

A AlexNet venceu o desafio ImageNet em 2012. Ela foi um divisor de águas na visão computacional. Primeiramente, sua arquitetura é muito mais profunda que a LeNet-5. Ela possui oito camadas com pesos treináveis. Inovações importantes incluem o uso da ReLU como ativação. Além disso, ela introduziu o dropout para evitar overfitting. A AlexNet também utilizou aumento de dados (data augmentation) extensivamente. Por exemplo, ela classificava imagens em 1000 categorias diferentes. Recomenda-se a AlexNet para problemas com grande variabilidade de objetos. Seu uso em imagens naturais complexas é particularmente eficaz.

resnet: resolvendo o problema do gradiente vanishing

A ResNet (Residual Network) introduziu conexões residuais inovadoras. O problema do gradiente vanishing afligia redes muito profundas. Basicamente, a ResNet permite que a informação flua diretamente por atalhos. A cada duas camadas convolucionais, ela soma a entrada original à saída. Este mecanismo é chamado de “bloco residual”. Consequentemente, é possível treinar redes com mais de 100 camadas. A ResNet-50 e a ResNet-101 são versões muito populares. Por exemplo, ela é amplamente usada como base para transfer learning. Recomenda-se a ResNet quando a precisão máxima é necessária. Seu uso é ideal para conjuntos de dados grandes e diversos.

vision transformer (vit): a alternativa aos convnets

O Vision Transformer (ViT) adaptou o mecanismo de atenção aos dados visuais. Diferentemente das CNNs, ele não usa convoluções. Primeiramente, a imagem é dividida em pequenos patches quadrados. Estes patches são linearmente projetados em sequências de vetores. Em seguida, um transformer padrão processa estas sequências. A grande vantagem é capturar relações globais na imagem. Por exemplo, o ViT supera CNNs em conjuntos de dados gigantes (ImageNet-21k). Contudo, ele necessita de muito mais dados para generalizar bem. Recomenda-se o ViT quando há disponibilidade massiva de dados. Portanto, ele representa uma alternativa promissora às arquiteturas tradicionais.

Classificacão de Padrões (Pattern Classification)

programador
1.1.2.4 – Redes Neurais – Visao Computacional
1.1.2.4.3 – Classificacao de Padroes (Pattern Classification)
1.1.2.4.3.1 – Classificador de Minima Distancia (Prototype Matching)
1.1.2.4.3.2 – Correlacao Cruzada (Template Matching)
1.1.2.4.3.3 – Classificador Bayesiano (Optimo)
1.1.2.4.3.4 – K-Vizinhos Mais Proximos (K-NN)
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

Após extrair as características, precisamos rotular o objeto. A classificação de padrões executa exatamente essa tarefa. Primeiramente, ela atribui uma classe a uma imagem ou região. Este é o último estágio do processo de reconhecimento. Além disso, um vetor de características representa cada padrão no espaço n-dimensional. O classificador decide a qual classe este vetor pertence. Portanto, a qualidade da classificação depende diretamente das características extraídas. Quanto melhores as características, mais precisa será a decisão final. Dessa forma, este capítulo foca em três abordagens principais de classificação.

classificação por protótipo (minimum-distance classifier)

Este método compara o padrão desconhecido com protótipos armazenados. Geralmente, o protótipo é o vetor médio de cada classe. O sistema calcula a distância euclidiana entre o vetor desconhecido e cada protótipo. Em seguida, ele atribui a classe do protótipo mais próximo ao padrão. Por exemplo, o sistema de reconhecimento de cheques E-13B utiliza esta abordagem. Caracteres são projetados para serem facilmente distinguíveis. Consequentemente, um classificador simples funciona muito bem. Esta técnica é eficaz quando as classes apresentam boa separação. Ademais, ela é computacionalmente muito rápida e fácil de implementar. Portanto, ela se mostra ideal para aplicações industriais em tempo real.

classificador bayesiano (bayes classifier)

Este classificador é considerado o padrão ouro estatístico. Ele minimiza a probabilidade média de erro de classificação. O classificador Bayesiano utiliza probabilidades a priori das classes. Além disso, ele necessita da função densidade de probabilidade de cada classe. Na prática, os dados geralmente seguem uma distribuição Gaussiana. As amostras de treinamento fornecem os parâmetros (média e covariância) do modelo. A vantagem principal reside na sua base matemática sólida e robusta. Por exemplo, este classificador distinguiu pixels de imagens multiespectrais. Dessa forma, água, vegetação e áreas urbanas foram separadas com alta precisão. O classificador Bayesiano é uma escolha excelente para dados bem comportados.

redes neurais e aprendizado profundo (neural networks & deep learning)

Redes neurais artificiais buscam inspiração no cérebro humano. Primeiramente, elas consistem em camadas de neurônios interconectados. O algoritmo de retropropagação (backpropagation) realiza o treinamento. Redes profundas (deep learning) possuem muitas camadas escondidas. Por outro lado, as redes neurais convolucionais (CNNs) são especialmente poderosas para imagens. Elas aprendem características diretamente dos pixels brutos. Consequentemente, não precisamos criar descritores manuais. Por exemplo, a arquitetura LeNet-5 reconhece dígitos manuscritos com altíssima acurácia. Modelos como AlexNet e ResNet revolucionaram o reconhecimento de objetos. Portanto, o aprendizado profundo é a técnica de escolha para problemas complexos. Grandes bases de dados são frequentemente necessárias para seu treinamento eficaz.