No artigo de hoje, quero compartilhar com vocês 3 cursos que considero excelentes para você aprender deep learning e implementar seus próprios códigos.
Apesar de haver muito conteúdo disponível na internet, eu sempre fiquei perdido sobre qual livro/curso escolher entre aquela infinidade de material disponível.
Normalmente, eu acabava caindo em dois extremos: encontrava um bom curso, porém 100% teórico, ou achava cursos em que a única preocupação do autor era usar bibliotecas prontas, sem explicar nada da teoria.
O que eu trago aqui são os 3 cursos que mais gostei, que na minha opinião são os mais completos, e que trazem um bom equilíbrio entre teoria e prática.
Obviamente, não são os únicos existentes para se aprender deep learning (e talvez você tenha outras sugestões melhores), mas estes com certeza vão contribuir muito para você ir mais deep no universo da Inteligência Artificial.
Inscreva-se na Newsletter
Receba artigos sobre Data Science e IA direto no seu email.
✓ Inscrito com sucesso!
1. Bootcamp Deep Learning (Sigmoidal)
Se você quer aprender deep learning de forma prática, com projetos reais e acompanhamento em português, o Bootcamp de Deep Learning da Sigmoidal é minha principal recomendação.
O bootcamp foi desenhado para levar você do zero ao domínio de redes neurais profundas, cobrindo desde os fundamentos matemáticos até arquiteturas modernas como CNNs, RNNs, Transformers e modelos generativos. Tudo isso com Python, PyTorch e projetos de portfólio que você constrói ao longo do curso.
Diferente de cursos apenas teóricos ou puramente práticos, o bootcamp equilibra os dois lados: você entende a teoria por trás de cada arquitetura e implementa tudo do zero. É o tipo de formação que eu gostaria de ter tido quando comecei na área.
Conheça o Bootcamp Deep Learning da Sigmoidal
2. Deep Learning Specialization (Coursera)
A especialização em deep learning é minha primeira recomendação, definitivamente. Apenas o fato de o cara por trás do curso ser o Andrew Ng, já seria de extrema relevância. Mas além de tudo, a divisão dos módulos e a estrutura preparada para este curso dentro da plataforma Coursera ficou ótima!
Andrew Ng é uma das pessoas mais influentes do mundo no campo de Inteligência Artificial , um dos fundadores do Coursera, professor adjunto na Universidade Stanford, criador do Google Brain, chefe de pesquisas do Baidu, entre várias outras coisas. Ele ficou muito conhecido pela comunidade graças ao seu primeiro curso de machine learning, lançado há alguns anos na Coursera.
Bom, mantendo a mesma qualidade de teoria e exercícios práticos que consagraram o instrutor, eis que está disponível uma especialização completa composta de 5 cursos! Usando Python como linguagem e Jupyter/iPython Notebooks para documentar todo o processo, todo o código roda diretamente no servidor da Coursera – ou seja, você não vai perder tempo instalando ambientes virtuais, pacotes, etc.
Abrangendo as principais áreas da deep learning, veja como a especialização está dividida:
Curso 1 – Neural Networks and Deep Learning
Este primeiro módulo vai ensinar os fundamentos da deep learning, mostrando as tendências atuais na área, e ensinando a construir na mão (from scratch) redes neurais profundas (deep neural networks).
O Andrew Ng também dá uma atenção especial em detalhar para o aluno a importância de se fazerem implementações vetorizadas, explicando a matemática por trás de operações de Algebra Linear e dando um curso rápido (opcional) sobre a biblioteca numpy.
Ou seja, ele vai mergulhar nos conceitos-chaves das arquiteturas das redes, deixando o aluno apto a colocar os conceitos aprendidos em aplicações diversas.
Curso 2 – Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
Aprendeu a construir suas próprias redes neurais profundas? Que tal melhorar a performance delas entendendo conceitos como hiper-parametrização e otimização?
Neste módulo você vai entender as melhores práticas modernas para construir aplicações deep learning. São abordados conceitos como batch normalization e dropout regularization, por exemplo.
Também são apresentados métodos de otimização (minimizar a loss function) melhores que o Gradient Descent (GD) introduzido no Módulo 1, assim como outros parâmetros que irão melhorar a convergência.
Por fim, você será capaz de implementar 100% uma rede neural no TensorFlow.
Curso 3 – Structuring Machine Learning Projects
Neste terceiro curso, o instrutor compartilha sua experiência pessoal sobre como construir e entregar produtos deep learning.
Ao término do módulo, é esperado que você tenha capacidade de entender e diagnosticar erros em um sistema de machine learning, entender as configurações complexas em um sistema de aprendizado.
Replicando a informação da descrição do módulo, este é um curso que pode ser feito fora da sequência, isoladamente. Tudo que você precisa é de conhecimentos básicos em machine learning.
Curso 4 – Convolutional Neural Networks
Chegamos ao meu curso preferido – definitivamente fui abduzido pela área de Computer Vision. Eis aqui o momento da especialização que trata sobre Redes Neurais Convolucionais (admito que quando comecei a especialização, não consegui terminar o Curso 1 antes deste aqui).
Acho essa área tão fantástica por que considero (opinião totalmente pessoal) a técnica mais disruptiva de todas, e que está revolucionando áreas como a medicina e de carros autônomos – apenas para citar dois exemplos.
Aqui você vai aprender os fundamentos sobre trabalhar com imagens, e vai construir sua rede neural convolucional na raça, e aplicá-la diretamente nos exercícios preparados pelo Andrew Ng. Além de aplicar sua rede em tarefas de reconhecimento e classificação de imagens, verá ainda um sub-módulo sobre “transferência de estilo” para gerar arte.
O instrutor faz ainda um review detalhado e muito didático sobre as principais arquiteturas modernas de redes convolucionais, entra em conceitos como data augmentation, e evolui até os complexos problemas de detecção de objetos.
Para ter noção da profundidade deste módulo, em um dos exercícios práticos você vai implementar o sistema YOLO, estado da arte para detecção de objetos em tempo real, para detectar carros em frames de um vídeo.
Curso 5 – Sequence Models
Finalizando a especialização, aqui você vai aprender a construir modelos de Processamento de Linguagem Natural (PLN) e outros modelos sequenciais.
Entre os assuntos abordados aqui, estão Recurrent Neural Networks (RNNs) e algumas variantes comumente encontradas, como GRUs e LSTMs.
Ao final do módulo você vai poder aplicar as estruturas a problemas de linguagem natural e à aplicações envolvendo reconhecimento de fala.
3. CS231n: Convolutional Neural Networks for Visual Recognition
O curso CS231n é um curso específico para a área de Computer Vision. Ministrado ao longo de 10 semanas de aulas em Stanford, a teoria é excelente e detalhada, e os exercícios são bem práticos.
Neste curso, você vai entrar nos detalhes das arquiteturas de deep learning, botando a mão na massa para implementar, treinar e debugar as redes neurais apresentadas. O destaque do CS231n vai para o fato de que os detalhes da matemática envolvida são bem acadêmicos e completos (que tal entender as derivações da backpropagation, por exemplo).
Na primeira parte do curso, é dada uma introdução sobre o contexto histórico da Computer Vision, e são apresentadas as primeiras abordagens rudimentares usadas para resolver problemas de classificação (K-nearest neighbor, classificação linear, etc).
Evoluindo os conceitos, são abordadas as redes neurais, o algoritmo backpropagation, as redes neurais convolucionais, problemas de detecção e segmentação, entre outros conceitos mais avançados. A programação completa das aulas está no Syllabus do curso. Detalhe importante, apenas os vídeos de 2017 se encontram liberados para não-alunos.
Para os exercícios, é utilizado o Google Cloud. Há um notebook bem detalhado sobre como o aluno deve criar sua instância, conectar via SSH e acessar os exercícios nessa instância.
Apesar de haverem exercícios práticos muito bem elaborados, este é um curso acadêmico, com ênfase na teoria. Você vai ver muita derivada parcial, operações de vetores e matrizes, e ver conceitos bem avançados de matemática.
Por isso, este é um curso recomendado apenas caso você queira dominar o assunto e possua conhecimentos sólidos de Cálculo, Algebra Linear, Probabilidade, Estatística e Python.



















