Esse guia resume um pouco dos meus passos
(Video) 3blue1brown - But what is a neural network? Explica conceitos básicos de estrutura, operações e treinamento de forma visual/geométrica. Obs: A arquitetura utilizada é o MLP ou Multi Layer Perceptron, uma das arquieteturas mais simples para redes neurais.
(Video-aulas) Coding Train - The Nature of Code - Introduction to Neural Networks: Uma approach bem lúdica, explica os conceitos mais básicos de redes neurais em uma sequência de aulas e prática em javascript. Inicia com conceitos de baixo nível como perceptron, matrizes e gradientes (inclusive ele escreve a própria lib de operações com matrizes, mas pode pular essa parte) e termina escrevendo uma rede neural que joga uma versão simplificada de flappy bird. Acompanha o livro dele Nature of Code, capítulo 10. Também utiliza MLP para explicar os conceitos gerais que podem ser aplicados a outras arquiteturas mais complexas.
Apesar de muito poderosas, as técnicas de ML como são as redes MLP tem algumas limitações quando aplicadas a imagens. A quantidade de parâmetros (weights e biases) cresce exponencialmente de acordo com a resolução da imagem de entrada, o que requer muito hardware para rodar modelos mais complexos. O conceito de convoluções entra na jogada nesse contexto.
(Video) Computerphile - How Blurs and Filters Work? O que é um "filtro" e como funciona uma convolução no contexto de visão computacional?
(Video) Computerphile - Finding the Edges (Sobel Operator) Bom exemplo de aplicação de filtros e convoluções em visão clássica. Assista pensando em o que acontece quando podemos variar os valores do filtro em si!
(Video) Computerphile - Neural Network that Changes Everything Faz o link da aplicação de convoluções na visão clássica com seu uso em redes neurais convolucionais (Adivinha da onde vem esse nome?)
(Blog Post) Towards Data Science - Intuitively Understanding Convolutions for Deep Learning Finalmente um pouco de texto! Os conceitos anteriores são resumidos nesse post, é uma boa referência (com animações!) pra internalizar o funcionamento de filtros e alguns de seus parâmetros já com o contexto de deep learning em mente.
(Blog Post) Towards Data Science - AlexNet: The Architecture that Challenged CNNs Considerado o pontapé da recente revolução das CNNs, esse paper de 2012 possibilitou a aplicação de redes neurais convolucionais a grandes datasets de imagens de alta resolução
(Blog Post) Analytics Vidhya - Image Classification vs. Object Detection vs. Image Segmentation Resumo bem curto diferenciando classificação, detecção de objetos e segmentação, os três grandes grupos de ML com imagens
(Blog Post) Towards Data Science - Detection and Segmentation through ConvNets Revisão mais aprofundada do funcionamento e diferenciação desses três grupos.
(Tutorial) PyImageSearch - Transfer Learning with Keras and Deep Learning Mão na massa! Essa série utiliza o Keras para treinar um classificador simples usando Keras. Esse primeiro post utiliza a CNN como feature extractor ou seja, um módulo de reconhecimento de padrões, e realiza a classificação com modelos de machine learning tradicionais (SVM e Logistic Regression)
(Tutorial) PyImageSearch - Fine-tuning with Keras and Deep Learning Segundo post com tutorial para utilização do Keras. Dessa vez, usando uma rede neural como "Head" do modelo ao invés da regressão.
#[WIP] Vem mais por aí!