Nesta série de posts vou mostrar como criar modelos de redes neurais de forma manual, usando a biblioteca numpy. Vou criar os notebooks no Google colab e fazer o passo a passo da rede neural, incluindo explicações sobre os tipos de arquiteturas e detalhes de cálculo.
Antes de começar, caso você queira saber um pouco mais sobre a teoria das redes neurais, neste artigo (acesse o link) estou descrevendo os conceitos básicos relacionados ao tema. Acho que é bom tê-los bem claro!
No artigo que referenciei acima, você também encontrará um código para criação de uma rede neural bem simples, usando a biblioteca Keras. Aconselho não gastar muito tempo com aquele notebook! O que queremos fazer aqui é justamente o contrário: deixaremos de lado todas estas bibliotecas que nos ajudam (e muito) a criar modelos de redes neurais, para que possamos criar nossos próprios modelos manualmente! É muito perigoso saber usar bibliotecas como Keras, mas não entender o que está acontecendo no plano de fundo.
Outro ponto importante: redes neurais podem ter inúmeras arquiteturas e suas aplicações vão do aprendizado supervisionado ao não supervisionado. Nesta série de posts iremos explorar as redes neurais mais simples (e talvez mais comuns) conhecidas como feedforward networks. Essas redes possuem camadas totalmente conectadas (todos os neurônios da camada origem se conectam com todos os neurônios da camada destino).
Também vale ressaltar que os modelos de redes neurais, mesmo os mais simples, possuem uma série de parâmetros que podemos configurar para melhorar o desempenho da rede. Vou mostrar alguns destes parâmetros durante esta série, mas lembre-se que existem muitos outros.
Se você está começando a estudar este tema, não se preocupe em conhecer todos estes parâmetros de uma única vez…vá com calma, aprenda o básico e, aos poucos, explore mais detalhes de cada rede neural. Não fique frustrado com a sensação que achar que sempre sabe pouco sobre o tema…em qualquer tema, quanto mais você estuda, mais descobre o quão pouco conhece 🙂
Por fim, acho que vale a pena comentar este ponto também, em geral você encontrará implementações manuais de redes neurais usando apenas vetores (array). Neste série, achei interessante usar uma combinação de vetores e dicionários do python. Achei que ficou bem mais simples de entender em que parte da rede estamos realizando os cálculos.
Obrigado por ter lido as recomendações até aqui, o primeiro notebook está disponível em https://colab.research.google.com/drive/1KGbpv4ojroPvkuAzqP5fvI_3NlSVcpWr
Começaremos com redes mais simples (parte 1), e terminaremos com modelos de deep learning completamente automatizados (parte 3).
Boa leitura!
Grande Wesley, quando crescer quero ser igual você. Sucesso e mantenha-se em casa!
CurtirCurtir
Obrigado meu parceiro, cuide-se também!
CurtirCurtir