Motivação

Vários especialistas e pesquisadores experientes na área de Deep Learning apoiam a ideia de que a melhor forma de aprender os conceitos fundamentais de uma determinada área é na prática. Isto é, na medida que vamos sendo expostos a novos conceitos, implementá-los para de fato entendê-los.

De longe a melhor estratégia para aprender muito é reimplementar tudo… Quando eu leio algo me iludo achando que entendi, quando me forço a reimplementar sempre compreendo as coisas melhor. É meu jeito favorito de aprender. - Andrej Kaparthy, Diretor de IA da Tesla

Este material é a lista mais extensiva de implementações de machine learning do zero - isso é uma mina de ouro para quem gosta de aprender como eu gosto (construindo as coisas do zero): https://t.co/LcoPAQBULv - Trask (@iamtrask), Líder da OpenMined, Pesquisador na DeepMind

Neste material iremos utilizar a abordagem de ensinar conceitos de Deep Learning para programadoras(es) da maneira que as coisas fiquem mais claras pra você: mostrando como as coisas funcionam, programando do zero!

Sobre

Aprender um conceito de maneira profunda (tun dun tisss) ainda é difícil e é uma tarefa que exige rigor e disciplina.

Os materiais disponíveis nesse site buscam apresentar conceitos básicos e avançados relacionados a redes neurais junto a implementações de fácil entendimento. Inicialmente não utilizaremos nenhum framework de Deep Learning apenas Python, em seguida apresentaremos JAX e como implementar uma sempre rede neural utilizando o framework.

O objetivo desta série de posts não é transformar uma programadora em uma “Machine Learning enginneer” mas sim um excelente material para quem já sabe programar em Python e quer aprender sobres redes neurais.

Junto do código + explicação são apresentados sugestões de exercícios, blogs, artigos, vídeos.

Quer ir direto ao código? Clique aqui

Estrutura

Atenção: o material é totalmente open source e colaborativo, tem sugestões? Quer ajudar? Chega mais!! Crie um issue/PR no repositório!


Extras


  1. O que são ?
  2. Do que se alimentam ? Introdução a Numpy!
  3. Como aprendem ?
  4. Minha primeira Rede Neural <3
  5. Funções de ativação
  6. Inicialização dos Pesos
  7. Introdução ao JAX
  8. Minha primeira Rede Neural com JAX
  9. Desafios e Exercicios