o que são redes neurais convolucionais

Introdução às Redes Neurais Convolucionais


Que melhor maneira de as máquinas aprenderem do que imitar o cérebro humano? Redes neurais artificiais, como o próprio nome sugere, são técnicas de machine learning modeladas a partir da estrutura do cérebro. É composto por uma rede de unidades de aprendizagem chamadas neurônios. Esses neurônios aprendem como converter sinais de entrada (por exemplo, imagem de um gato) em sinais de saída correspondentes (por exemplo, o rótulo “gato”), formando a base do reconhecimento automatizado. Nesse texto iremos abordar os aspectos das Redes Neurais Convolucionais.

Vamos pegar o exemplo do reconhecimento automático de imagens. O processo de determinar se uma imagem contém um gato envolve uma função de ativação. Se a imagem se assemelhar a imagens de gatos anteriores que os neurônios viram antes, o rótulo “gato” seria ativado. Assim, quanto mais imagens rotuladas os neurônios são expostos, melhor ele aprende a reconhecer outras imagens não marcadas. Nós chamamos isso de processo de treinamento de neurônios.

A inteligência das redes neurais é estranha. Enquanto as redes neurais artificiais foram pesquisadas no início da década de 1960 por Rosenblatt, foi somente no final dos anos 2000, quando o deep learning usando redes neurais decolou. O principal facilitador foi a escala de poder de computação e conjuntos de dados com a pesquisa pioneira do Google em deep learning. Em julho de 2012, pesquisadores do Google expuseram uma rede neural avançada a uma série de imagens estáticas, sem rótulos, cortadas de vídeos do YouTube. Para sua surpresa, eles descobriram que a rede neural aprendeu sozinho um neurônio detector de gatos, apoiando a popular afirmação de que “a internet é feita de gatos”.

Redes Neurais Artificiais inspiradas na biologia

A técnica usada pelos pesquisadores do Google é chamada de Redes Neurais Convolucionais (CNN), um tipo de rede neural artificial avançada. Difere das redes neurais regulares em termos do fluxo de sinais entre os neurônios. As redes neurais típicas transmitem sinais ao longo do canal de entrada / saída em uma única direção, sem permitir que os sinais voltem para a rede. Isso é chamado de alimentação direta ou forward feed.

Embora as redes de alimentação direta fossem empregadas com sucesso para reconhecimento de imagem e texto, era necessário que todos os neurônios estivessem conectados, resultando em uma estrutura de rede excessivamente complexa. O custo da complexidade aumenta quando a rede precisa ser treinada em grandes conjuntos de dados que, associados às limitações das velocidades de processamento do computador, resultam em tempos de treinamento extremamente longos. Portanto, as redes de feeds avançadas caíram em desuso devido ao machine learning convencional na atual alta resolução, alta largura de banda e idade da mídia de massa. Uma nova solução foi necessária.

Em 1986, os pesquisadores Hubel e Wiesel estavam examinando o córtex visual de um gato quando descobriram que seu campo receptivo compreendia sub-regiões que se sobrepunham para cobrir todo o campo visual. Essas camadas atuam como filtros que processam imagens de entrada, que são então passadas para camadas subsequentes. Isto provou ser uma maneira mais simples e eficiente de transportar sinais. Em 1998, Yann LeCun e Yoshua Bengio tentaram capturar a organização dos neurônios no córtex visual do gato como uma forma de rede neural artificial, estabelecendo a base da primeira rede neural convolucional.

Redes Neurais Convolucionais resumidas em 5 passos

Há quatro etapas principais nas redes neurais convolucionais:

  • Convolução
  • Subamostragem
  • Ativação
  • Conectividade total
  • Perdas durante o treinamento

A implementação mais popular da CNN é a LeNet, depois de Yann LeCun. As 4 camadas principais de uma CNN são convolução, subamostragem, ativação e totalmente conectadas.

redes neurais convolucionais

 

Convolução

As primeiras camadas que recebem um sinal de entrada são chamadas de filtros de convolução. Convolução é um processo em que a rede tenta rotular o sinal de entrada referindo-se ao que aprendeu no passado. Se o sinal de entrada se parece com as imagens de gato anteriores que ele viu antes, o sinal de referência “gato” será misturado ou convolvido com o sinal de entrada. O sinal de saída resultante é então passado para a próxima camada.

Convolução tem a boa propriedade de ser invariante translacional. Intuitivamente, isto significa que cada filtro de convolução representa uma característica de interesse (por exemplo, bigodes, pele), e o algoritmo CNN aprende quais as características que compõem a referência resultante (ou seja, gato). A intensidade do sinal de saída não depende de onde os recursos estão localizados, mas simplesmente se os recursos estão presentes. Assim, um gato poderia estar sentado em posições diferentes, e o algoritmo da CNN ainda seria capaz de reconhecê-lo.

Subamostragem

As entradas da camada de convolução podem ser “suavizadas” para reduzir a sensibilidade dos filtros ao ruído e às variações. Esse processo de suavização é chamado de subamostragem e pode ser obtido pela obtenção de médias ou pelo máximo de uma amostra do sinal. Exemplos de métodos de subamostragem (para sinais de imagem) incluem a redução do tamanho da imagem ou a redução do contraste de cores nos canais vermelho, verde e azul (RGB).

Ativação

A camada de ativação controla como o sinal flui de uma camada para a próxima, emulando como os neurônios são disparados em nosso cérebro. Os sinais de saída que estão fortemente associados a referências anteriores ativariam mais neurônios, permitindo que os sinais sejam propagados de maneira mais eficiente para identificação.

As redes neurais convolucionais são compatíveis com uma ampla variedade de funções de ativação complexas para modelar a propagação do sinal, sendo a função mais comum a Unidade Linear Retificada (ReLU), que é favorecida pela sua velocidade de treinamento mais rápida.

Conexão total

As últimas camadas da rede estão totalmente conectadas, o que significa que os neurônios das camadas anteriores estão conectados a todos os neurônios nas camadas subsequentes. Isso imita o raciocínio de alto nível em que todos os caminhos possíveis da entrada para a saída são considerados.

Perdas durante o treinamento

Ao treinar a rede neural, existe uma camada adicional chamada camada de perda. Essa camada fornece feedback para a rede neural sobre se ela identificou as entradas corretamente e, se não, o quão longe suas estimativas foram.

Isso ajuda a orientar a rede neural para reforçar os conceitos corretos enquanto treina. Esta é sempre a última camada durante o treinamento.

Implementação das redes neurais convolucionais

Algoritmos usados ​​no treinamento das redes neurais convolucionais são análogos ao estudo para exames usando cartões flash. Primeiro, você desenha vários flashcards e verifica se você dominou os conceitos em cada cartão. Para cartões com conceitos que você já conhece, descarte-os. Para aqueles cards com conceitos que você não tem certeza, coloque-os de volta na pilha. Repita esse processo até ter certeza de que você conhece conceitos suficientes para se sair bem no exame. Esse método permite que você se concentre em conceitos menos familiares, revisitando-os com frequência.

Formalmente, esses algoritmos são chamados de algoritmos de declínio de gradiente para aprendizado forward pass. O algoritmo moderno de deep learning usa uma variação chamada declínio de gradiente estocástico, em que, em vez de desenhar os cartões de memória em sequência, você os desenha aleatoriamente. Se tópicos semelhantes forem desenhados em sequência, os alunos podem superestimar o quão bem eles conhecem o tópico. A abordagem aleatória ajuda a minimizar qualquer forma de viés na aprendizagem de tópicos.

Algoritmos de aprendizado exigem feedback. Isso é feito usando um conjunto de validação em que a CNN faria previsões e as compararia com os rótulos verdadeiros ou a verdade básica. As previsões que os erros são feitos são então enviados para trás para a rede neural convolucional para refinar os pesos aprendidos, em um chamado backwards pass. Formalmente, esse algoritmo é chamado de retropropagação de erros e requer que as funções na CNN sejam diferenciáveis ​​(ou quase).

As redes neurais convolucionais são muito complexas para serem implementadas do zero. Hoje, os profissionais de machine learning frequentemente utilizam caixas de ferramentas desenvolvidas, como Caffe, Torch, MatConvNet e Tensorflow, para o seu trabalho.

Interpretação das redes neurais convolucionais

Semelhante a como às vezes achamos difícil racionalizar nossos pensamentos, a CNN inspirada no cérebro também é difícil de interpretar devido à sua enorme complexidade. Ele usa vários filtros, combinados de maneiras diferentes, regidos por várias funções de ativação. No entanto, recentemente foi desenvolvida uma técnica para nos ajudar a observar como uma rede neural aprendeu a reconhecer sinais.

filtro de redes neurais convolucionais

A DeConvolution Neural Net, como o próprio nome sugere, disseca o progresso do treinamento em cada camada. Ela examina a primeira camada de convolução, bem como a última camada totalmente conectada. A primeira camada representa o conjunto de recursos com os quais a CNN está familiarizada e determina quais objetos básicos (recursos de baixo nível) que a CNN seria capaz de detectar. Por outro lado, a camada final representa o quão bem as características são ligadas para formar conceitos – uma separação mais clara dos conceitos implica que a rede neural pode distinguir melhor entre diferentes conceitos sem confusão.

Conclusão

Rede neural convolucional é uma técnica popular de deep learning para tarefas atuais de reconhecimento visual. Como todas as técnicas de aprendizado profundo, a CNN é muito dependente do tamanho e da qualidade dos dados de treinamento. Dado um conjunto de dados bem preparado, CNNs são capazes de superar os seres humanos em tarefas de reconhecimento visual. No entanto, elas ainda não são robustos a artefatos visuais, como brilho e ruído, que os humanos são capazes de lidar. A teoria da CNN ainda está sendo desenvolvida e os pesquisadores estão trabalhando para dotá-la de propriedades como atenção ativa e memória on-line, permitindo que as CNNs avaliem novos itens que são muito diferentes do que foram treinados. Isto emula melhor o sistema visual dos mamíferos, movendo-se assim para um sistema de reconhecimento visual artificial mais inteligente.

Introdução às Redes Neurais Convolucionais
5 (100%) 1 vote

Artigos relacionados

Aprendizado de Máquina: Planejamento Comercial em Farmácia É provável que, se você for um executivo farmacêutico, já tenha dedicado muito tempo e energia para explorar as possibilidades do aprendizado de máqui...
Machine Learning permite métricas inspiradas na física para analisar a arte Uma pesquisa internacional colaborativa relata que uma análise sistematizada de Machine Learning de obras de arte produzidas ao longo do último milêni...
Machine learning identifica hackers que já invadiram Os modelos de aprendizagem sem supervisão do Darktrace soam o alarme antes que hackers possam causar sérios danos.Em 2013, um grupo de agentes de...
Rede neural aprende padrões de fala que evidenciam depressão Para diagnosticar a depressão, os médicos entrevistam os pacientes, fazem perguntas específicas - sobre, digamos, doenças mentais passadas, estilo de ...