Aula 23 – Tensor Flow – Keras – Redes Neurais Convolucionais

Aula 23 – Tensor Flow – Keras – Redes Neurais Convolucionais

Voltar para página principal do blog

Todas as aulas desse curso

Aula 22                      Aula 24

Meu github:

https://github.com/toticavalcanti

Documentação oficial do TensorFlow:

https://www.tensorflow.org/

Quer aprender python3 de graça e com certificado? Acesse então:

https://workover.com.br/python-codigo-fluente

Python com Tensorflow

Python com Tensorflow

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

https://digitalinnovation.one/

Aproveito para deixar meus link de afiliados:

Hostinger

Digital Ocean

One.com

Toti:

https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA

Backing track / Play-along:

https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA

Código Fluente

https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w

Putz!

https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw

Fiquem a vontade para me adicionar ao linkedin.

Notebook da aula

Aula 23 – Tensor Flow – Keras – Redes Neurais Convolucionais

Revisão do código

Nas últimas aulas, criamos uma rede de uma camada, depois uma com 4 camadas internas ou intermediárias usando a função de ativação sigmoide nas camadas internas, depois alteramos para usar a relu nas camadas internas.

Depois adicionamos dropout a rede e vimos que melhorou a precisão da rede.

Por último , criamos uma rede com 3 camadas convolucionais, uma camada para achatar a matriz da imagem, uma camada totalmente conectada que usa a relu como função de ativação, uma camada de dropout e a camada de saída, usando a softmax.

Resumo teórico

Redes Neurais Convolucionais (CNN) têm sido usadas em tarefas de visão computacional de última geração, como detecção de rosto e carros autônomos.

Possui várias camadas, sendo capaz de detectar recursos complexos em dados de imagens.

Como funcionam?

Cada imagem contém dados de pixel que podem ser representados em uma forma numérica.

Essa representação numérica é o que é passado para uma CNN.

Por mais que as redes neurais artificiais normais possam ser usadas no processamento de dados de imagem, as CNNs provaram ter um desempenho melhor, resultando em maior precisão.

Convolução

Normalmente, você não alimentará a imagem inteira em uma CNN.

Você alimentará apenas com os recursos mais importantes na classificação da imagem.

Os recursos são obtidos por meio de um processo conhecido como convolução.

O objetivo da operação de convolução é extrair os recursos de alto nível, como bordas, loops, retas, etc. Da imagem de entrada.

A operação de convolução resulta no que é conhecido como mapa de características (features).

Também é conhecido como recurso convolvido ou mapa de ativação.

O mapa de características é obtido aplicando um detector de características à imagem de entrada.

O detector de recursos também é conhecido como kernel ou filtro.

Convolução

Convolução

O filtro é geralmente uma matriz de 3 por 3.

No entanto, outros tipos de matrizes podem ser usados.

O mapa de características é obtido através de uma multiplicação elemento a elemento do filtro com a representação da matriz da imagem de entrada.

O objetivo aqui é reduzir o tamanho da imagem que está sendo passada para a CNN, mantendo as características importantes.

O filtro desliza passo a passo por cada um dos elementos da imagem de entrada.

Essas etapas são conhecidas como passos largos e podem ser definidas durante a criação da CNN.

Ao construir a CNN você poderá definir o número de filtros que deseja para sua rede.

Pooling

O agrupamento ou pooling, resulta no que é conhecido como mapa de recursos agrupados.

O pooling garante que a rede neural seja capaz de detectar recursos em uma imagem, independentemente de sua localização na matriz.

Isso é conhecido como invariância espacial.

Existem vários tipos de pooling: pooling máximo, pooling médio e pooling mínimo.

Número 2 manuscrito

Número 2 manuscrito

Por exemplo, no pooling máximo, uma matriz 2 por 2 é deslizada sobre o mapa de características enquanto seleciona o maior valor em uma determinada caixa.

Com isso, reduzimos o uso de memória diminuindo o número de parâmetros, ganhando em processamento.

Pooling máximo

Pooling máximo

Achatamento

A próxima etapa é nivelar o mapa de recursos agrupados.

Isso envolve a transformação de todo o mapa de features agrupadas em uma única coluna que pode ser passada para a camada totalmente conectada.

Conexão completa

O mapa de recursos achatados é então passado para a camada de entrada da rede neural.

O resultado disso é passado para uma camada totalmente conectada.

Depois disso, o resultado de todo o processo é emitido pela camada de saída.

Uma função de ativação é geralmente aplicada dependendo do tipo de problema de classificação.

Para classificações binárias, a função de ativação sigmóide pode ser usada, enquanto a função de ativação softmax é usada para problemas multiclasse.

Por essa aula é só.

Voltar para página principal do blog

Todas as aulas desse curso

Aula 22                      Aula 24

Meu github:

https://github.com/toticavalcanti

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Link do código fluente no Pinterest

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

 

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>