O que é uma Rede Neural Residual?

Uma rede neural residual referida como “ResNet” é uma rede neural artificial de renome. Ela monta-se em construções obtidas a partir das células da pirâmide do córtex cerebral. As redes neurais residuais conseguem-no através de atalhos ou “saltar ligações” para se moverem sobre várias camadas.

Especialistas implementam modelos tradicionais de redes neurais residuais com duas ou três camadas de saltos contendo normalização de lotes e não linearidades no meio. Os cientistas de dados também tiram partido de uma matriz de peso extra para aprender os pesos dos saltos em alguns casos. O termo utilizado para descrever este fenómeno é “Highwaynets”. Os modelos que consistem em múltiplos saltos paralelos são “Densenets”. As redes não residenciais também podem ser referidas como redes simples quando se fala de redes neurais residuais.

Uma razão maciça para saltar camadas é para se manter afastado de gradientes de fuga e questões semelhantes. Como o gradiente é retropropagado para camadas anteriores, este processo repetido pode tornar o gradiente extremamente pequeno. A maioria dos indivíduos faz isto utilizando as activações das camadas anteriores até à camada adjacente aprender em particular os pesos. Durante o treino, estes pesos ajustam-se às camadas a montante e ampliam a camada saltada anteriormente. No caso mais simples, os pesos utilizados para ligar as camadas adjacentes entram em jogo.

No entanto, isto só funciona eficazmente quando todas as camadas intermédias são lineares ou sobrepostas sobre a camada não linear. Se não for esse o caso, a utilização de uma matriz de peso diferente seria útil para as ligações saltadas. Seria melhor se se considerasse a utilização de uma rede rodoviária nesses casos.

Saltar elimina complicações da rede, tornando-a mais simples, utilizando muito poucas camadas durante a fase inicial de treino. Acelera a aprendizagem em dez vezes, minimizando o efeito do desaparecimento de desníveis. Porquê? Porque quase não existem camadas a serem espalhadas. Depois disto, a rede acaba por colocar de volta as camadas habilidosas enquanto aprende o espaço de características.

À medida que a formação se aproxima da conclusão e cada camada se expande, elas aproximam-se do colector e aprendem as coisas mais rapidamente. Uma rede neural que não tem partes residuais tem mais liberdade para explorar o espaço de características, tornando-o altamente ameaçado de perturbações, fazendo-o sair do colector, e tornando-o essencial para a recuperação dos dados de treino extra.

O que Necessitava a Necessidade de Redes Neurais Residuais?

Depois de AlexNets ter celebrado um triunfo no concurso de classificação LSVRC de 2012, a rede residual profunda tornou-se indiscutivelmente a inovação mais inovadora e engenhosa na história da paisagem de aprendizagem profunda e visão computacional. A ResNet permite treinar centenas, se não milhares de camadas, ao mesmo tempo que alcança um desempenho fascinante.

Numerosas aplicações de visão por computador tiraram partido das fortes capacidades de representação da rede neural residual e notaram um enorme impulso. A classificação da imagem não foi a única aplicação de visão por computador que utilizou a ResNet – reconhecimento facial, e a detecção de objectos também beneficiou desta inovação pioneira.

Desde que as redes neurais residuais deixaram as pessoas espantadas durante a sua inauguração em 2015, vários indivíduos da comunidade de investigação tentaram descobrir os segredos por detrás do seu sucesso, e é seguro dizer que houve toneladas de refinamentos feitos na vasta arquitectura da ResNet.

Vanishing Gradient

O problema do gradiente de fuga (vanishing gradient) é comum na comunidade de aprendizagem profunda e ciência dos dados. As pessoas deparam-se frequentemente com este problema quando treinam redes neurais artificiais envolvendo retropropagação e aprendizagem com base no gradiente. Como discutido anteriormente, os peritos utilizam gradientes para actualizar os pesos numa rede específica.
No entanto, as coisas são por vezes diferentes à medida que o gradiente se torna incrivelmente pequeno e quase desaparece. Impede que os pesos alterem os seus valores, fazendo com que a rede interrompa a formação, uma vez que os mesmos valores se difundirão vezes sem conta, sem que seja feito qualquer trabalho significativo.

ResNet e Aprendizagem Profunda

Cada modelo de aprendizagem profunda possui múltiplas camadas que lhe permitem compreender as características de entrada, ajudando-o a tomar uma decisão informada. Embora isso seja bastante simples, como é que as redes identificam as várias características presentes nos dados?
Seria justo pensar em redes neurais como aproximadores universais de funções. Os modelos tentam aprender os parâmetros certos que representam de perto uma característica ou função que fornece a saída certa. Incorporar mais camadas é uma excelente forma de acrescentar parâmetros, e também permite o mapeamento de funções não lineares complicadas.

No entanto, isto não significa que o empilhamento de toneladas de camadas resultará num melhor desempenho. Se olhar com atenção, aperceber-se-á de que existe um senão. Enquanto notamos que a implementação dos nossos modelos com mais camadas leva a melhores desempenhos, os resultados podem mudar drasticamente em algumas condições, levando à saturação, e eventualmente, a um rápido declínio.

Compreender a questão Com Múltiplas Camadas

Temos primeiro de compreender como os modelos aprendem com os dados de formação. O processo acontece passando cada entrada através do modelo (aka feedforward) e passando-o novamente (aka backpropagation.) Enquanto a backpropagation está a acontecer, actualizamos os pesos do nosso modelo de acordo com a sua classificação de entrada. A actualização subtrai o gradiente da função de perda relativamente ao valor anterior do peso.

Como a ResNet resolve o problema do gradiente de fuga (Vanishing Gradient)

Como foi abundantemente mencionado, as redes neurais residuais são a solução ideal para o problema do gradiente de fuga. Especialistas em aprendizagem profunda acrescentam atalhos para saltar duas ou três camadas para tornar o processo mais rápido, fazendo com que o atalho altere a forma como calculamos os gradientes em cada camada. Para simplificar as coisas, a passagem da entrada através da saída evita que algumas camadas alterem os valores do gradiente, o que significa que podemos saltar o procedimento de aprendizagem para algumas camadas específicas. O fenómeno também esclarece como o gradiente volta a entrar na rede.

À medida que continuamos a formação, o modelo capta o conceito de reter as camadas úteis e não utilizar aquelas que não ajudam. O modelo converterá os últimos em mapeamentos de identidade. É um factor significativo por detrás do sucesso da rede neural residual, uma vez que é incrivelmente simples criar camadas de mapeamento para a função de identidade.

Além disso, o facto de haver uma opção de esconder camadas que não ajudam é imensamente útil. Uma enorme quantidade de camadas pode tornar as coisas bastante confusas, mas com a ajuda das redes neurais residuais, podemos decidir quais as que queremos manter e quais as que não servem um propósito.

Pensamentos finais

Seria justo dizer que a arquitectura residual das redes neurais tem sido incrivelmente útil para aumentar o desempenho das redes neurais com múltiplas camadas. No seu núcleo, as ResNets são como várias redes com pequenas modificações. Esta arquitectura tem passos funcionais semelhantes à CNN (redes neuronais convolucionais) ou outras. No entanto, há um passo adicional para resolver o problema do gradiente de fuga e outras questões relacionadas.