INTRODUÇÃO:
Convolucionais Neural Network(CNN ou ConvNet)é uma classe de profundidade, redes neurais, que é usado principalmente para fazer o reconhecimento da imagem, imagem, classificação, detecção de objetos, etc.
the advancements in Computer Vision with Deep Learning has been constructed and perfected with time, primarily over one particular algorithm-a convolucional Neural Network.
o Google utiliza-o para a busca de fotos, Facebook para o seu nome automático de algoritmos, Amazon para suas recomendações de produtos, e a lista vai sobre e sobre…
Com a ajuda da CNN, você pode fazer um monte de coisas legais como, Eu fiz uma carta de reconhecimento de dígitos modelo que prevê o dígito de imagem com 98.82% de precisão.Bónus:
código -> https://github.com/UPPERCASEGUY/CNN-implementation
Você também pode fazer seus modelos legais com pouca ajuda em conceitos sobre CNN. Este blog vai começar a construir seus conceitos sobre CNNs e você está pronto para ir!
redes neurais convolucionais:
classificação de imagem é a tarefa de tomar uma imagem de entrada e superar uma classe ou uma probabilidade de classes que melhor descreve a imagem. Na CNN, tomamos uma imagem como uma entrada, atribuímos importância aos seus vários aspectos / características na imagem e somos capazes de nos diferenciar uns dos outros. O pré-processamento exigido na CNN é muito menor do que outros algoritmos de classificação.
ARQUITETURA:
os computadores não podem ver as coisas como nós, pois a imagem dos computadores não é nada mais que uma matriz.
uma CNN normalmente tem três camadas: uma camada convolucional, camada de agregação, e camada totalmente conectada.
Convolucionais camada:
eu tenho certeza que você já se deparou com a palavra “convolução” em sua vida antes e aqui está o significado não muda. É! você está certo, esta camada é tudo sobre objetos convolvando um no outro. A camada de convolução é o núcleo do bloco de construção da CNN. Ele carrega a parte principal da carga computacional da rede.
o principal objectivo da convolução é extrair características tais como arestas, cores, cantos da entrada. À medida que vamos mais fundo dentro da rede, a rede começa a identificar características mais complexas,tais como formas, dígitos, partes da face também.
Esta camada desempenha um produto escalar entre duas matrizes, onde uma matriz(conhecido como filtro/kernel)é o conjunto do que pode ser aprendida parâmetros, e a outra matriz é restrito parte da imagem.
se a imagem é RGB então o filtro terá menor altura e largura em comparação com a imagem, mas terá a mesma profundidade(altura x largura x 3) que a da imagem.
Para imagens RGB, o convolving parte pode ser visualizado da seguinte forma:
No final do processo de convolução, temos um destaque matriz que tem menor parâmetros(dimensões) do que a imagem real, bem como mais clara as características do que a real. Então, agora vamos trabalhar com nossa matriz de destaque a partir de agora.
Pooling Layer:
esta camada é apenas para diminuir o poder computacional necessário para processar os dados. É feito diminuindo ainda mais as dimensões da matriz de destaque. Nesta camada, tentamos extrair as características dominantes de uma quantidade restrita de vizinhança. Vamos deixar isso claro, tomando um exemplo.
laranja matriz é o nosso destaque matriz, o marrom é um agrupamento de kernel e nós temos o nosso azul de matrix como saída, após o agrupamento é feito. Então, aqui o que estamos fazendo é pegar o máximo entre todos os números que estão na região de pooling e mudar a região de pooling cada vez para processar outro bairro da matriz.
existem dois tipos de técnicas de agregação: agregação média e agregação máxima.
a diferença entre estes dois é, em pooling médio, pegamos a média de todos os valores da pooling região e em pooling máximo, apenas pegamos o máximo entre todos os valores que estão dentro da pooling região.
assim, após a camada de pooling, temos uma matriz contendo características principais da imagem e esta matriz tem dimensões ainda menores, o que irá ajudar muito no próximo passo.
camada totalmente conectada:
até agora não fizemos nada sobre classificar diferentes imagens, o que fizemos é destacar algumas características em uma imagem e reduz drasticamente as dimensões da imagem.
a Partir de agora, nós estamos indo realmente para fazer o processo de classificação.
agora que convertemos a nossa imagem de entrada em uma forma adequada para a nossa arquitetura Multi-nível totalmente conectada, vamos achatar a imagem em um vetor de coluna. A saída achatada é alimentada a uma rede neural de alimentação e contrapropagação aplicada a cada iteração de treinamento. Ao longo de uma série de epochs, o modelo pode distinguir entre dominar e certas características de baixo nível nas imagens e classificá-las.
resumo:
- forneça a imagem de entrada na camada de convolução.
- Tome convolução com kernel/filtros caracterizados.
- aplicar a camada de agrupamento para reduzir as dimensões.
- adicione estas camadas várias vezes.
- alisar a saída e alimentar-se em uma camada totalmente conectada.
- agora treina o modelo com contrapropagação usando regressão logística.E fez a sua rede neural convolucional.