Trilha machine learning: Redes neurais artificiais (Deep Learning)




As Redes Neurais Artificiais (RNAs), especialmente no contexto de Deep Learning, são modelos computacionais inspirados na estrutura e funcionamento do cérebro humano, elas consistem em uma rede de neurônios interconectados, organizados em camadas, onde cada neurônio é uma unidade computacional que processa informações.

Em uma RNA, os neurônios são organizados em camadas, incluindo uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída, cada conexão entre neurônios tem um peso associado, e a rede aprende ajustando esses pesos durante o treinamento. A propagação para frente (forward propagation) envolve a passagem de dados da camada de entrada até a camada de saída, enquanto a retropropagação (backpropagation) é utilizada para ajustar os pesos com base no erro da previsão.


Temos algumas variações da aplicação das redes neurais, as redes neurais convolucionais (CNNs) são usadas para identificar objetos em imagens, redes neurais recorrentes (RNNs) são aplicadas em tarefas como tradução automática e geração de texto, redes neurais podem ser treinadas para reconhecer padrões em dados de áudio.

As redes podem aprender representações complexas e hierárquicas dos dados, são eficazes quando há grandes quantidades de dados disponíveis, podem ser aplicadas em uma variedade de tarefas, desde visão computacional até processamento de linguagem natural. Em muitos casos, redes neurais precisam de grandes volumes de dados para alcançar desempenho ideal, o treinamento de redes profundas pode exigir considerável poder computacional, e entender o motivo pelo qual a rede tomou uma decisão específica pode ser desafiador.

O Deep Learning, especialmente com o advento de arquiteturas como Redes Neurais Convolucionais (CNNs) e Redes Neurais Recorrentes (RNNs), tem impulsionado avanços significativos em diversas áreas, incluindo visão computacional, processamento de linguagem natural e reconhecimento de padrões.

Para saber mais sobre deep learning pode me acompanhar por aqui, mas também pode acessar o Deep learning book que é uma iniciativa da Data Science Academy, e tem muito conteúdo legal por lá!

Agora vamos para a nossa aplicação!














Vamos analisar nosso código:

  1. Importamos as bibliotecas, entre elas a biblioteca Keras que é usada para criar nossa Rede Neural Artificial (RNA) 
  2. Importamos nossa base de dígitos escritos à mão do conjunto de dados Dígitos MNIST. 
  3. Os dados do conjunto de dígitos são divididos em conjuntos de treino e teste, e são normalizados usando o `StandardScaler`.
  4. Um modelo sequencial é criado com uma camada densa (totalmente conectada) de 128 neurônios e ativação ReLU. A camada de saída tem 10 neurônios (um para cada dígito) e ativação softmax para classificação multiclasses.
  5. O modelo é compilado usando a função de perda `sparse_categorical_crossentropy` e o otimizador `adam`.
  6. O modelo é treinado com 10 épocas e um tamanho de lote de 32. A curva de aprendizado (acurácia no treino e na validação ao longo do tempo) é armazenada na variável `history`.
  7. Um gráfico mostra como a acurácia no treino e na validação evoluem durante o treinamento.
  8. A acurácia final do modelo é avaliada no conjunto de teste.

Este código fornece uma visão visual da curva de aprendizado do modelo durante o treinamento, permitindo a análise do desempenho ao longo das épocas.


Espero que tenha gostado! Até mais 😉

Comentários

Postagens mais visitadas deste blog

Resenha: Storytelling com dados - Cole Nussbaumer Knaflic

Trilha estatística: Variância e desvio padrão

Trilha machine learning: Algoritmo de regressão linear