Aprendizagem profunda aplicada com TensorFlow*
Resumo
TensorFlow* é um framework de aprendizagem de máquina popular e uma biblioteca de código aberto para programação de fluxo de dados. Nesse curso você aprenderá sobre:
- Os conceitos fundamentais sobre a construção de modelos com o TensorFlow*
- Conceitos básicos de aprendizado de máquina como regressão linear, funções de perda e método do máximo declive (gradiente)
- Técnicas importantes como normalização, regularização e mini-batching
- Kernels e como aplicá-los a redes neurais convolutivas (CNN)
- O modelo básico para uma CNN e diferentes parâmetros que podem ser ajustados
- TFRecord, filas e coordenadores
No final desse curso, os estudantes terão uma sólida compreensão sobre:
- Construção básica de redes, kernels, pooling e classificação multiclasse
- Como expandir uma rede básica para uma rede mais complexa
- Usando o aprendizado de transferência para tirar proveito das redes existentes, construindo a partir delas
O curso é estruturado para aproximadamente 8 semanas de apresentações e exercícios. Três horas serão necessárias para completar cada semana.
Pré-requisitos
Programação em Python*
Cálculo
Álgebra linear
Estatísticas
Aprendizagem profunda (recomendado)
Antes de começar
Melhore a velocidade do TensorFlow * em sua CPU: crie e instale TensorFlow* na arquitetura Intel®
Colaboração entre Intel e Google*: otimizações do TensorFlow* na arquitetura Intel® moderna
Semana 1
Durante este curso, você aprenderá os fundamentos do TensorFlow, bem como de que forma usá-lo para definir e executar um gráfico computacional.
Semana 2
Revise os conceitos básicos de aprendizado da máquina começando com regressão linear, funções de perda e método do máximo declive (gradiente). Saiba como implementar um método do máximo declive (gradiente) básico em TensorFlow.
Semana 3
Atualize seu conhecimento de normalização e regularização. Explore as redes neurais e como elas mapeiam para TensorFlow*. Começando com um único neurônio, aplique uma função de ativação, aprenda sobre camadas de neurônios e, finalmente, compreenda como isso se traduz em uma rede feed-forward.
Semana 4
Saiba mais sobre o processamento de lotes e como usá-lo para ajudar a treinar sua rede. Descubra formas de usar o processamento em lotes completos, mini lotes ou o gradiente descendente estocástico. Saiba como implementar uma classificação multiclasse, use propagação reversa para atualizar os pesos na rede e identifique os tipos de funções de ativação a serem usadas. Veja como usar o dropout para suavizar sua solução e evitar que um único neurônio domine sua rede.
Semana 5
Aprenda sobre kernels e como eles se aplicam a redes neurais convolutivas (CNN). Explore os diferentes parâmetros em uma CNN e como uma camada de pooling pode ajudar. Analise a topologia LeNet* e como ela abrange todas as diferentes camadas CNN discutidas em lições anteriores.
Semana 6
Compreenda a topologia do AlexNet e como ela se compara à LeNet. Veja como usar um modelo básico para uma CNN. Saiba como salvar e carregar modelos no TensorFlow*. Conheça o momentum e certos otimizadores, como o AdaGrad (método do gradiente adaptativo), o RMSProp (propagação do valor quadrático médio) e o Adam que ajudam a regularizar uma rede neural.
Semana 7
Adquira um conhecimento básico sobre transferência de aprendizado, tensores e operações. Veja como aplicá-los a um modelo pré-treinado existente e acelerar seu treinamento. Saiba mais sobre a normalização de arquivos de lote, por que é importante e como implementá-la no TensorFlow. Tenha uma visão sumária do Visual Geometry Group (VGG) e como ele se compara com outras redes.
Semana 8
Saiba mais sobre o formato dos TFRecords e como você pode criar seu próprio TFRecord. Aprenda também sobre filas TensorFlow e como ele acelera a entrega de dados.