Este artigo foi publicado como parte do Data Science Blogathon.
Introdução
Você está trabalhando em um projeto de reconhecimento de imagem ou detecção de objetos, mas não tinha o básico para construir uma arquitetura??
Neste artigo, veremos quais são as arquiteturas de rede neural convolucional a partir do básico e usaremos uma arquitetura básica como um estudo de caso para aplicar nossos aprendizados. O único pré-requisito é que você só precisa saber como funciona a convolução. se preocupe é muito simples !!
Vamos dar uma olhada convolucional neuronal vermelhoRedes Neurais Convolucionais (CNN) são um tipo de arquitetura de rede neural projetada especialmente para processamento de dados com uma estrutura de grade, como fotos. Eles usam camadas de convolução para extrair recursos hierárquicos, o que os torna especialmente eficazes em tarefas de reconhecimento e classificação de padrões. Graças à sua capacidade de aprender com grandes volumes de dados, As CNNs revolucionaram campos como a visão computacional.. simples,
Iremos em camadas para obter informações detalhadas sobre esta CNN.
Primeiro, há algumas coisas para aprender com a capa 1 o que é passos largos e acolchoamento, veremos cada um deles em breve com exemplos
Suponha que isso na matriz de entrada de 5 × 5 e um filtro de matriz 3X3, para quem não sabe o que O filtro é um conjunto de pesos em uma matriz que é aplicado em uma imagem ou matriz para obter as características requeridas., procure por convolução se for a primeira vez.
Observação: Sempre pegamos a soma ou média de todos os valores ao fazer uma convolução.
Um filtro pode ser de qualquer profundidade, se um filtro tem uma profundidade d, pode ir a uma profundidade de camadas d e convolver, quer dizer, adicionar tudo (pesos x ingressos) de d camadas
Aqui a entrada é grande 5 × 5 depois de aplicar um kernel ou filtros 3 × 3, um mapa das características de saída de 3 × 3, então vamos tentar formular isso
Então, a altura de saída é formulada e a mesma com a largura de ou / p também …
O preenchimento
Ao aplicar as convoluções, não obteremos as mesmas dimensões de saída que as dimensões de entrada, vamos perder dados nas bordas, então adicionamos uma borda de zeros e recalculamos a convolução que cobre todos os valores de entrada.
Tentaremos formular isso,
Aqui 2 é para duas colunas de zeros junto com a altura e a largura, e formular o mesmo para a largura também
Strides
Às vezes não queremos capturar todos os dados ou informações disponíveis, então pulamos algumas células vizinhas para visualizá-lo,
Aqui, a matriz de entrada ou imagem tem dimensões 5 × 5 com um filtro 3 × 3 e um passo de 2 então, toda vez que pulamos duas colunas e convolvemos, vamos formular isso
Se as dimensões estiverem em flutuação, pode tomar teto () na saída, quer dizer (próximo próximo ao inteiro)
Aqui, H se refere à altura, então a altura de saída é formulada e a mesma com a largura de ou / p também e aqui 2 é o valor do passo para que você possa torná-lo igual a S nas fórmulas.
Agrupamento
Em termos gerais, agrupamento refere-se a uma pequena parte, então aqui pegamos uma pequena parte da entrada e tentamos pegar o valor médio chamado pool médio ou pegar um valor máximo chamado pool máximo, então, ao agrupar em uma imagem, não estamos obtendo todos os valores, estamos considerando um valor resumido de todos os valores presentes !!!
aqui, este é um exemplo de agrupamento máximo, então aqui, dando um passo de dois, estamos pegando o valor máximo presente na matriz
Função de gatilhoA função de ativação é um componente chave em redes neurais, uma vez que determina a saída de um neurônio com base em sua entrada. Seu principal objetivo é introduzir não linearidades no modelo, permitindo que você aprenda padrões complexos em dados. Existem várias funções de ativação, como o sigmóide, ReLU e tanh, cada um com características particulares que afetam o desempenho do modelo em diferentes aplicações....
A função de ativação é um nóO Nodo é uma plataforma digital que facilita a conexão entre profissionais e empresas em busca de talentos. Através de um sistema intuitivo, permite que os usuários criem perfis, Compartilhar experiências e acessar oportunidades de trabalho. Seu foco em colaboração e networking torna o Nodo uma ferramenta valiosa para quem deseja expandir sua rede profissional e encontrar projetos que se alinhem com suas habilidades e objetivos.... que é colocado no final ou entre as redes neurais. Eles ajudam a decidir se o neurônio vai disparar ou não.. Temos diferentes tipos de funções de ativação, como no figura"Figura" é um termo usado em vários contextos, Da arte à anatomia. No campo artístico, refere-se à representação de formas humanas ou animais em esculturas e pinturas. Em anatomia, designa a forma e a estrutura do corpo. O que mais, em matemática, "figura" está relacionado a formas geométricas. Sua versatilidade o torna um conceito fundamental em várias disciplinas.... anterior, mas para este post, meu foco estará em Unidade linear retificada (retomarA função de ativação do ReLU (Unidade linear retificada) É amplamente utilizado em redes neurais devido à sua simplicidade e eficácia. Definido como ( f(x) = máx.(0, x) ), O ReLU permite que os neurônios disparem apenas quando a entrada é positiva, o que ajuda a mitigar o problema do desbotamento do gradiente. Seu uso demonstrou melhorar o desempenho em várias tarefas de aprendizado profundo, tornando o ReLU uma opção...)
Não deixe cair o queixo, isso não é tão complexo esta função simplesmente retorna 0 se seu valor for negativo, pelo contrário, retorna o mesmo valor que você deu, nada mais do que elimina saídas negativas e mantém valores entre 0 e + Infinidade
Agora que aprendemos todos os fundamentos necessários, Vamos estudar um neuronal vermelhoAs redes neurais são modelos computacionais inspirados no funcionamento do cérebro humano. Eles usam estruturas conhecidas como neurônios artificiais para processar e aprender com os dados. Essas redes são fundamentais no campo da inteligência artificial, permitindo avanços significativos em tarefas como reconhecimento de imagem, Processamento de linguagem natural e previsão de séries temporais, entre outros. Sua capacidade de aprender padrões complexos os torna ferramentas poderosas.. Chamada Básica LeNet.
LeNet-5
Antes de começar, veremos quais são as arquiteturas projetadas até hoje. Esses modelos foram testados em dados ImageNet, onde temos mais de um milhão de imagens e 1000 classes para prever
LeNet-5 é uma arquitetura muito básica, então qualquer pessoa pode começar com arquiteturas avançadas
Quais são as entradas e saídas (Capa 0 e camada N):
Aqui estamos prevendo dígitos com base na imagem de entrada fornecida, note que aqui a imagem tem as dimensões de altura = 32 píxeis, largura = 32 pixels e uma profundidade de 1, então podemos assumir que é uma imagem em tons de cinza ou preto e branco, tendo em conta que a saída é um softmax do 10 valores, aqui softmax dá probabilidades ou razões para todos 10 dígitos, podemos tomar o número como a saída com a maior probabilidade ou razão.
Convolución 1 (Capa 1):
Aqui estamos pegando a entrada e convolvendo com filtros de tamanho 5 x 5, produzindo assim uma saída de tamanho 28 x 28 Verifique a fórmula acima para calcular as dimensões de saída, o que aqui é que nós pegamos 6 filtros deste tipo e, portanto, a profundidade de conv1 é 6, portanto, suas dimensões eram 28 x 28 x 6 agora passe isso para a camada de agrupamento
Agrupamento 1 (Capa 2):
Aqui estamos pegando 28 x 28 x 6 como entrada e aplicando a combinação média de uma matriz de 2 × 2 e um passo de 2, quer dizer, colocando uma matriz de 2 x 2 na entrada e pegando a média de todos esses quatro pixels e pulando com um salto de 2 colunas todas as vezes, o que da 14 x 14 x 6 como uma saída, estamos calculando o agrupamento para cada camada, então aqui a profundidade de saída é 6
Convolución 2 (Capa 3):
Aqui estamos pegando o 14 x 14 x 6, quer dizer, o o / convolvendo py com um filtro de tamanho 5 x5, com um passo de 1, quer dizer (sem saltos), e com zero recheios, então obtemos uma saída de 10 x 10, agora aqui nós pegamos 16 filtros deste tipo de profundidade 6 e nós convolvemos, obtendo assim uma saída de 10 x 10 x 16
Agrupamento 2 (Capa 4):
Aqui estamos pegando a saída da camada anterior e realizando um agrupamento médio com uma etapa de 2, quer dizer (pule duas colunas) e com um filtro de tamanho 2 x 2, aqui nós sobrepomos este filtro nas camadas de 10 x 10 x 16 então para cada 10 x 10 nós obtemos resultados de 5 x 5, portanto, obtendo 5 x 5 x 16
Capa (N-2) e cabo (N-1):
Finalmente, nós nivelamos todos os valores de 5 x 5 x 16 para uma única camada de tamanho 400 e os inserimos em uma rede neural de alimentação direta de 120 neurônios que têm uma matriz de peso de tamanho. [400,120] e uma camada oculta de 84 neurônios conectados por 120 neurônios com uma matriz de peso de [120,84] e está 84 neurônios estão de fato conectados a 10 neurônios de saída
Esses neurônios o / p finalizar o número previsto por softmaxing.
Como uma rede neural convolucional realmente funciona??
Funciona por meio de compartilhamento de peso e conectividade deficiente,
Então aqui, como pode ver a convolução tem alguns pesos, esses pesos são compartilhados por todos os neurônios de entrada, nem cada entrada tem um peso separado chamado peso compartilhado, e nem todos os neurônios de entrada estão conectados ao neurônio de saída e apenas alguns que são convolutos são ativados, o que é conhecido como conectividade fraca, CNN não é diferente de redes neurais feedforward, Essas duas propriedades os tornam especiais!
Pontos para olhar
1. Após cada convolução, a saída é enviada para uma função de gatilho para melhores características e para manter a positividade, por exemplo: retomar
2. Má conectividade e peso compartilhado são os principais motivos para o funcionamento de uma rede neural convolucional.
3. O conceito de escolha de uma série de filtros entre as camadas e o enchimento e as dimensões da passada e do filtro é obtido por meio da realização de uma série de experimentos., Não se preocupe com isso, foco na construção da base, algum dia você fará esses experimentos e construirá um ambiente mais produtivo !!!