Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Redes Neurais Artificiais

Redes Neurais Artificiais

Material utilizado para tech talk sobre redes neurais artificiais e reconhecimento de digitos manuscritos

Avatar for Monycky Vasconcelos

Monycky Vasconcelos

October 08, 2018

Other Decks in Programming

Transcript

  1. “ Redes neurais artificiais são modelos computacionais inspirados pelo nosso

    sistema nervoso que são capazes de realizar o aprendizado de máquina através da experiência e treinamento
  2. Os neurônios biológicos são formados por dendritos e pelos axônios.

    A comunicação é realizada através de sinapses, quando um impulso é recebido e processado ele dispara uma substância para o axônio. Funcionamento de um neurônio biológico dendritos axônio sinápses
  3. Características de um neurônio artificial ◉ Estrutura lógica-matemática que procura

    simular a forma, o comportamento e as funções de um neurônio biológico ◉ Dendritos foram substituídos por entradas, cuja ligações são realizadas através de um peso. ◉ Os estímulos captados pelas entradas são processados pela função de soma, e o limiar de disparo do neurônio biológico foi substituído pela função de ativação.
  4. Combinando diversos neurônios artificiais podemos formar o que é chamado

    de rede neural artificial. As entradas, simulam uma área de captação de estímulos, podem ser conectadas em muitos neurônios, resultando, assim, em uma série de saídas, onde cada saída representa um neurônio. Redes Neurais Artificiais (RNA)
  5. Perceptrons O perceptron é um neurônio artificial, formando o tipo

    mais básico de uma rede neural Usado como um classificador linear
  6. Funções de ativação ◉ A função de ativação é a

    transformação não linear que fazemos ao longo do sinal de entrada. ◉ A saída transformada é então enviada para a próxima camada de neurônios como entrada ◉ Uma função de ativação define se um neurônio deve ser ativado ou não
  7. Multilayer Perceptron Perceptrons organizados em camadas formam uma rede neural

    do tipo feedforward, sendo compostas pelas camadas de entrada e saída e por camadas escondidas.
  8. Tipos de RNA ◉ Redes Neurais Convolucionais ◉ Redes Neurais

    Recorrentes ◉ Long Short-Term Memory (LSTM) ◉ Redes de Hopfield ◉ Máquinas de Boltzmann ◉ Deep Belief Network ◉ Deep Auto-Encoders ◉ Generative Adversarial Network ◉ Deep Neural Network Capsules
  9. “ Em RNAs, aprendizagem ou treinamento corresponde ao processo de

    ajuste dos pesos através de um mecanismo de apresentação de estímulos, conhecidos como padrões de entrada ou de treinamento
  10. Aprendizagem supervisionada ◉ Na aprendizagem supervisionada é utilizado um agente

    externo que indica à rede a resposta desejada para o padrão de entrada. ◉ O valor de cada saída será comparado ao valor esperado, gerando uma margem de erro ◉ Os pesos irão ser ajustados para que o resultado gere uma margem de erro mínima aceitável
  11. Backpropagation O objetivo do backpropagation é otimizar os pesos para

    que a rede neural possa aprender a mapear corretamente as entradas para as saídas.
  12. Implementação de RNA Exemplo de uma rede neural usando sigmoid

    como função de ativação sem treinamento 2
  13. Aplicações em RNA ◉ Reconhecimento Automático de Alvos ◉ Reconhecimento

    de Caracteres ◉ Robótica ◉ Diagnóstico Médico ◉ Sensoriamento Remoto ◉ Processamento de Voz ◉ Biometria
  14. SCIKIT Learning Para construir e treinar a RNA foi usado

    Scikit-Learning, uma biblioteca para machine learning em python. Contém diversos algoritmos como classificação, regressão, agrupamento e etc, utilizando Numpy, Scipy e Matplotlib Documentação: http://scikit-learn.org/stable/modules/neural_networks_supervised.html
  15. MNIST Dataset Para a base de dados, foi usado MNIST,

    contém 60 mil dados de treino e 10 mil dados de teste. Os dados são imagens de 28x28 pixels, o que nos dá 784 variáveis para colocar na camada de entrada da nossa rede neural. Documentação: http://yann.lecun.com/exdb/mnist/
  16. Classificação ◉ Imagem referente ao dígito deve estar em escala

    de cinza ◉ Cada pixel é representado por um número entre 0 e 255, formando uma matriz ◉ Quanto mais branco mais próximo de 0 e quanto mais preto mais próximo de 255
  17. Classificação ◉ Matriz correspondente a imagem é transformada em um

    array ◉ Array será dado como entrada na rede neural ◉ Na fase de treinamento a RNA irá aprender cada array enviado ◉ Na fase de teste será comparado o valor de saída com o valor de entrada para gerar a margem de erro e correção de pesos