XYZNOT

Artigos · arXiv 1512.03385

Deep Residual Learning for Image Recognition

Publicado em cs.CV arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 Redes neurais simples (plain) mais profundas sofrem de degradação na otimização, em que o aumento da profundidade resulta em maior erro de treino, apesar de gradientes não nulos.
  2. 🔧 Reformulação de camadas empilhadas para ajustar um mapeamento residual usando conexões de atalho de identidade livres de parâmetros .
  3. 📈 Permitiu o treinamento de redes com até 152 camadas no ImageNet (alcançando 3,57% de erro top-5 em ensemble) e venceu o 1º lugar nas competições ILSVRC e COCO 2015.

Resumo

Redes neurais mais profundas são mais difíceis de treinar. Apresentamos um framework de aprendizado residual para facilitar o treinamento de redes substancialmente mais profundas do que as utilizadas anteriormente. Reformulamos explicitamente as camadas para aprender funções residuais com referência às entradas das camadas, em vez de aprender funções sem referência. Fornecemos evidências empíricas abrangentes mostrando que essas redes residuais são mais fáceis de otimizar e podem obter ganhos de acurácia a partir de uma profundidade consideravelmente maior. No conjunto de dados ImageNet, avaliamos redes residuais com profundidade de até 152 camadas — 8 vezes mais profundas que as redes VGG, mas ainda com menor complexidade. Um ensemble dessas redes residuais alcança 3,57% de erro no conjunto de teste do ImageNet. Esse resultado conquistou o 1º lugar na tarefa de classificação do ILSVRC 2015. Também apresentamos análises no CIFAR-10 com 100 e 1000 camadas. A profundidade das representações é de importância central para muitas tarefas de reconhecimento visual. Exclusivamente devido às nossas representações extremamente profundas, obtemos uma melhoria relativa de 28% no conjunto de dados de detecção de objetos COCO. As redes residuais profundas são a base das nossas submissões às competições ILSVRC & COCO 2015, nas quais também conquistamos o 1º lugar nas tarefas de detecção no ImageNet, localização no ImageNet, detecção no COCO e segmentação no COCO.

Resumo original (inglês)

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.

Guia de leitura

Problema e motivação

A profundidade da rede é fundamental para representações de reconhecimento visual, mas empilhar mais camadas expõe um problema de degradação (degradation problem) fundamental: à medida que a profundidade aumenta, a acurácia se satura e então se degrada rapidamente. Crucialmente, essa degradação não é causada por overfitting — as redes mais profundas produzem maior erro de treinamento do que suas contrapartes mais rasas, apesar de técnicas como Batch Normalization e inicialização normalizada garantirem que as ativações no sentido direto e os gradientes retropropagados não desapareçam.

Em teoria, um modelo mais profundo possui uma solução de mapeamento de identidade por construção: copiar o modelo mais raso já treinado e definir as camadas extras como transformações de identidade. No entanto, os otimizadores convencionais falham em encontrar essa solução ao tentar aprender diretamente mapeamentos não lineares sem referência.

Ideias principais

  • Framework de Aprendizado Residual (Residual Learning Framework): Em vez de otimizar camadas empilhadas para aproximar um mapeamento desejado , permite-se explicitamente que as camadas aproximem o mapeamento residual . O mapeamento original é recuperado como .
  • Conexões de Atalho de Identidade (Identity Shortcut Connections): Implementação de por meio de conexões de atalho feedforward que pulam uma ou mais camadas. Atalhos de identidade requerem zero parâmetros extras e não adicionam praticamente nenhum custo computacional.
  • Otimização mais Fácil e Pré-condicionamento: Se mapeamentos de identidade forem ótimos, os otimizadores podem simplesmente conduzir os pesos residuais a zero. Na prática, as respostas das funções residuais têm pequenas magnitudes, indicando que as conexões de identidade atuam como um pré-condicionamento eficaz.
  • Arquitetura Bottleneck: Para variantes muito profundas (ResNet-50, ResNet-101, ResNet-152), cada unidade residual de 2 camadas é substituída por um bloco bottleneck de 3 camadas (convoluções , , ), reduzindo o custo computacional enquanto preserva a capacidade representacional.

Método

Para um bloco de construção residual onde as dimensões de entrada e saída coincidem: onde e são os vetores de entrada e saída, e para uma unidade de 2 camadas (com denotando ReLU, omitindo os vieses para simplificar). A adição elemento a elemento é realizada antes da aplicação da segunda ativação ReLU .

Quando as dimensões dos mapas de características mudam (por exemplo, durante a redução da resolução espacial ou duplicação de canais): Aqui, denota:

  • Opção A: Preenchimento com zeros (zero-padding) para as dimensões extras junto com atalhos de identidade (stride 2 para subamostragem), o que introduz 0 parâmetros adicionais.
  • Opção B: Uma projeção linear convolucional usada apenas ao aumentar as dimensões, usando conexões puras de identidade nos demais casos.
  • Opção C: Atalhos de projeção linear para todos os blocos residuais.

O artigo adota a Opção B para os modelos do ImageNet (ResNet-50/101/152) porque a Opção C infla o número de parâmetros sem ganhos significativos de acurácia, e os atalhos puros de identidade são essenciais para manter as estruturas bottleneck eficientes.

Resultados

  • Classificação no ImageNet:
    • A ResNet-34 supera a plain-34 por 3,5% no erro top-1 (erro de validação com 10-crop de 25,03% vs. 28,54%) e soluciona a degradação de treino.
    • A ResNet-152 atinge um erro de validação top-5 em modelo único de 4,49% (11,3 bilhões de FLOPs, complexidade menor que a VGG-16 com 15,3 bilhões de FLOPs).
    • Um ensemble de ResNets alcançou 3,57% de erro top-5 no conjunto de teste, vencendo o 1º lugar no desafio de classificação do ILSVRC 2015.
  • CIFAR-10: As profundidades da ResNet escalam de forma suave em 20, 32, 44, 56 e 110 camadas, com a ResNet-110 atingindo 6,43% de erro de teste. Uma rede experimental de 1202 camadas foi treinada sem nenhuma falha de otimização ( de erro de treino).
  • Transferência e Tarefas Downstream: Substituir a VGG-16 pela ResNet-101 no Faster R-CNN melhorou o mAP@[.5, .95] no MS COCO de 21,2% para 27,2% (um aumento relativo de 28%) e o mAP de teste no PASCAL VOC 2007 de 73,2% para 76,4%. As redes residuais profundas também conquistaram o 1º lugar em detecção no ImageNet, localização no ImageNet, detecção no COCO e segmentação no COCO.

Limitações e questões em aberto

  • Overfitting em Arquiteturas Ultraprofundas: No CIFAR-10, o modelo de 1202 camadas apresentou maior erro de teste (7,93%) do que a ResNet-110 (6,43%), apesar de atingir de erro de treino, devido à falta de regularização no conjunto de dados pequeno.
  • Causa Teórica da Degradação: O artigo demonstra experimentalmente que o desaparecimento do gradiente não é o problema, conjecturando que redes simples sofrem de taxas de convergência exponencialmente baixas, mas deixa demonstrações teóricas sobre a dinâmica de otimização para trabalhos futuros.
  • Residuais de Camada Única: A formulação residual não traz benefícios perceptíveis quando consiste em apenas uma única camada (reduzindo-se a ).

Termos-chave

degradation problem (problema de degradação)
O fenômeno contraintuitivo no qual a adição de mais camadas a uma rede neural profunda resulta em maior erro de treinamento, apesar da ausência de gradientes que explodem ou desaparecem.
residual learning (aprendizado residual)
A reformulação de camadas empilhadas de redes neurais para aprender explicitamente uma função residual em relação às suas entradas, em vez de ajustar diretamente um mapeamento sem referência.
identity shortcut connection (conexão de atalho de identidade)
Uma conexão de salto (skip connection) livre de parâmetros que repassa o vetor de entrada ou mapa de características inalterado e o soma elemento a elemento à saída das camadas convolucionais empilhadas.
projection shortcut (atalho de projeção)
Uma conexão de atalho que utiliza uma matriz de transformação linear ou convolução () para igualar as dimensões quando o número de canais ou o tamanho espacial de entrada e saída diferem.
bottleneck design (projeto bottleneck)
Um bloco residual de 3 camadas composto por convoluções , e , onde as camadas comprimem e restauram as dimensões de características para reduzir a complexidade computacional.
plain network (rede simples)
Uma arquitetura de rede convolucional de base que simplesmente empilha camadas convolucionais e de pooling padrão sem conexões de atalho ou residuais.

Perguntas

Por que o problema de degradação não é causado pelo desaparecimento de gradientes?

As redes foram treinadas com Batch Normalization e inicialização de pesos normalizada, que foram verificadas como capazes de manter variâncias de sinal não nulas na propagação direta e normas saudáveis de gradiente na retropropagação. Além disso, redes simples mais profundas, como a plain-34, continuaram convergindo para soluções não triviais, porém convergiram com erro de treinamento maior do que as mais rasas.

Qual é a diferença entre os atalhos de identidade da ResNet e as Highway Networks?

As Highway Networks utilizam funções de gating parametrizadas e dependentes de dados que podem fechar e tornar as camadas não residuais, enquanto os atalhos da ResNet são mapeamentos de identidade livres de parâmetros que nunca se fecham, garantindo o aprendizado residual de ponta a ponta.

Quando a projeção é utilizada em vez de um atalho de identidade?

A projeção (usando convoluções ) é utilizada principalmente quando as dimensões das características de entrada e saída não coincidem (por exemplo, ao dobrar os canais e reduzir a resolução espacial pela metade com stride 2). Para dimensões equivalentes, o mapeamento de identidade é suficiente, mais econômico e evita o aumento no número de parâmetros em unidades bottleneck.

Por que a ResNet-1202 teve desempenho inferior ao da ResNet-110 no CIFAR-10?

A ResNet-1202 sofreu com overfitting, e não com falha de otimização. Ela atingiu com sucesso de erro de treinamento, mas seus 19,4 milhões de parâmetros eram desnecessariamente elevados para o conjunto de dados reduzido do CIFAR-10 sem técnicas adicionais de regularização, como dropout.

A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.

Ler com tradução e IA