<<< 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”