Deep Learning na Unb (Brasília) - Parte 1 - Lição 4

[ <<< Lição 3 | Lição 5 >>> ]

Lesson 4 - NLP, Tabular data, Collaborative filtering, Embeddings (13/11/2019 - UnB - Brasília)

Este tópico permite que os membros do Grupo de IA da UnB (Brasília) estudem coletivamente (em reuniões presenciais e on-line) a lição 4 (parte 1) do curso fastai , mas de um jeito aberto para ajudar também pelas questões, respostas e pelos recursos publicados todos os leitores em português interessados em DL.

1%20D0WqPCX7RfOL47TOEfkzYg

Lesson links

Lesson resources

Other resources

Ementa (13/11/2019 - UnB - Brasília)

  1. [ 20mn ] O que aconteceu online desde a aula precedente
  2. [ 20mn ] Lista dos projetos e 5 pontos importantes para ter sucesso
    1. Em 2019, a gente não começa um projeto de IA a partir de zero.
    2. O ponto mais importante é a definição e a escolha de um dataset correspondente ao objetivo do projeto.
    3. Não existe uma IA geral ou quase geral. Uma IA treinada a partir de um dataset para uma tarefa particular pode fazer só isso (ie, precisa de dados iguais na produção).
    4. A verdadeira meta do projeto: apresentar um aplicativo realístico e útil que o publico misturado no auditório (técnico ou não) vai entender e gostar.
    5. O aplicativo de cada projeto tem de ser apresentado ao grupo antes da conferência para melhorar a sua apresentação (ie, treino) e verificar que dá certo.
  3. [ 15mn ] Organização da conferência de dezembro (data, horário, lugar, responsável geral, responsável da logística, responsável da comunicação, mentor dos projetos = Pierre)
  4. [ 10mn ] Pontos-chave da turma anterior
  5. [ 30mn ] NLP da lição 4 (veja “Videos timeline”)
  6. [ 1h25mn ] Oficinas práticas
    • Imagens (Pierre)
    • NLP (Thiago)
  7. [ 0mn ] Fotos da aula :slight_smile:

Videos timeline

  • Natural Language Processing (NLP) [2:00]
  • Transfer learning in NLP & Language Model [6:04]
  • Wikitext 103 [8:30]
  • Fine-tuning Wikitext to create a new language model [11:10]
  • Review of the basic process [15:14]
  • With the data block API [18:31]
  • Language model [19:44]
  • Training [22:29]
  • Predicting with Language Model [25:43]
  • Classifier [27:18]
  • Tabular [33:10]
  • Where does the magic number of in the learning rate come from? [33:38]
  • Back to Tabular [36:41]
  • Tabular examples [39:51]
  • Continuous vs. Categorical [43:07]
  • Processor [45:04]
  • Collaborative Filtering [53:08]
  • Cold start problem [58:55]
  • The half way point [1:06:34]
  • Collaborative filter with Microsoft Excel [1:07:25]
  • Jeremy’s spreadsheet tip of the day! [1:08:37]
  • Excel Solver [1:14:30]
  • Embedding [1:21:41]
  • Back to code [1:23:55]
  • Overview of important terminology [1:31:24]

Recursos

Exercícios até a próxima aula

  • Definição de um modelo de linguagem

Como sempre, leiam as postagens de @hiromi para entender melhor todas as explicações de Jeremy sobre a lição:

3 etapas para obter um classificador de sentimentos de nível internacional:

  1. Treinando um modelo de linguagem geral (com Wikipedia por exemplo) para aprender uma linguá e um conhecimento do mundo.
  2. Fine-tune o modelo geral com um corpus especifico para especiá-lo.
  3. Fine-tune o modelo especializado para classificar os textos do corpus especifico.

Fotos da turma da lição 4 :slight_smile:




Boa tarde a todos!

Na lição passada o @pierreguillou comentou que havia pretreinado um modelo em português com MultiFit e disponibilizado no GitHub.

Ao tentar implementar o language model pelo Google Colab usando a arquitetura QNRR, obtive o erro No module named ‘forget_mult_cuda’. Ao pesquisar na web, achei poucos foruns tratando do assunto e que não apresentaram uma solução.

Aparentemente o erro é intrínseco da prlataforma Google Colab. Por acaso, @pierreguillou, você já obteve esse tipo de erro ou tentou usar a arquitetura no Colab?

Muito obrigado!

Boa noite @matheuscosta.

Fala destes notebooks: lm3-portuguese.ipynb e lm3-portuguese-classifier-TCU-jurisprudencia.ipynb (nbviewer)?

Não usei o Google Colab para treiná-los mas GCP (um Tesla V100). O seu problema é especifique ao Colab e QRNN.

Testou esta solução Issues importing QRNN in Google Colab?