<<< Post: Lição 5 | Wiki: Lesson 7 >>>
Conteúdos da lição (traduzido do wiki from @rachel )
- Vídeo da lição 6
- Timelines para lição 6
- O power point está no repositório do github
- Optimization for Deep Learning Highlights in 2017 post do Sebastian Ruder sobre diferentes avanços na otimização de modelos de deep learning em 2017
- Entity Embeddings of Categorical Variables - Guo, Berkhahn paper
- Lesson notes from @timlee
- Nietzsche notes! lesson 6 from @amritv
- Configure tags for code navigation in vim Navegação pelo VIM que o Jeremy usa no vídeo. Bem interessante para quem utiliza o VIM.
Linha do tempo para lição 6
- 
00:00:10 Revisão dos artigos e trabalhos realizados, 
 “Optimization for Deep Learning Highlights in 2017” by Sebastian Ruder,
 “Implementation of AdamW/SGDW paper in Fastai”,
 “Improving the way we work with learning rate”,
 “The Cyclical Learning Rate technique”.
- 
00:02:10 Revisão do conteúdo da lição 5 sobre filtro colaborativo com MovieLens, 
 análise do modelo,
 ‘movie bias’,
 ‘@property’,
 ‘self.models.model’,‘learn.models’,
 ‘CollabFilterModel’,
 ‘get_layer_groups(self)’,
 ‘lesson5-movielens.ipynb’.
- 
00:12:10 Jeremy: “Eu tento utilizar Numpy para tudo, exceto quando é necessário rodar na GPU, ou derivadas”. 
 Pergunta: “Como transportar o modelo da GPU para CPU quando em produção?”
 "Mover o modelo para cpu com ‘m.cpu()’,
 ‘load_model(m,p)’,
 bring back to GPU with ‘m.cuda()’,
 ‘zip()’ function in Python.
- 
00:16:10 Organizar os filmes de acordo com o bias, 
 pior filme de todos os tempos “Battlefield Earth” ou em português “A reconquista(2000)” com John Travolta,
 ‘key=itemgetter()jj’, ‘key=lambda’
- 
00:18:30 Interpretação de ‘Embeddings’ utilizando ‘PCA’ da biblioteca ‘sklearn.decomposition’ 
- 
00:24:15 Observando a competição da lição 3 “Rossman Retail/Store” com o artigo ‘Entity Embeddings of Categorical Variables’. 
- 
00:41:02 “Rossman” limpeza de dados e feature engineering, utilizando uma base de teste(Test set) corretamente, 
 criando as variáveis(features),
 ‘apply_cats’ ao invés de ‘train_cats’,
 ‘pred_test = m.predict(true)’,
 avaliando o resultado no Kaggle,
 Public Leaderboard vs Private Leaderboard com um ‘validation set’ ruim,
 Exemplo: Competição ‘Statoil/Iceberg’ que utiliza imagens geradas por computador como avaliação do leaderboard público.
- 
00:47:10 Um erro cometido pela equipe que conseguiu o terçeiro lugar na competição ‘Rossman Stores’ 
- 
00:53:20 “Como escrever algo diferente da biblioteca fast.ai” 
- 
PAUSA 
- 
00:59:55 Entrando em detalhes sobre “Stochastic Gradient Descent” com o notebook ‘lesson6-sgd.ipynb’, 
 Regressão linear com saída contínua,
 ‘a*x+b’,
 função de perda ‘y_hat’ com erro quadrático médio (Mean Squared Error)
- 
01:02:55 Implementação do gradiente descendente em PyTorch, 
 ‘loss.backward()’,
 ‘.grad.data.zero_()’ na classe ‘optim.sgd’
- 
01:07:05 Gradiente descendente em Numpy 
- 
01:09:15 RNNs (Recurrent Neural Networks) com o notebook ‘lesson6-rnn.ipynb’, 
 post do Swiftkey sobre software de teclados que utilizam redes neurais.
- 
01:11:10 Por que utilizar RNNs? 
- 
01:12:05 Explicação de uma rede neural básica com uma única camada pelo Jeremy a partir de triângulos, caixas e círculos, 
 uma CNN com uma única camada escondida.
- 
01:23:25 Modelo de três caracteres, perguntas com relação a dimensão das entradas 
- 
01:36:05 Test model with ‘get_next(inp)’, 
 Let’s create our first RNN, why use the same weight matrices ?
- 
01:48:45 RNN com PyTorch, 
 Pergunta: " What does the hidden state represents?"
- 
01:57:55 Modelo com múltiplas saídas 
- 
02:05:55 Pergunta sobre tamanho da sequência vs o tamanho da batch 
- 
02:09:15 Inicialização utilizando a matriz de identidade.Artigo de Geoffrey Hinton “A Simple Way to Initialize Recurrent Networks of Rectified Linear Units” 












