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
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.
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.
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.
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. 😉