Aplicações de Torch
com o R

Verão IME-USP

Julio Trecenti

Doutor em Estatística pelo IME-USP. Professor no Insper. Diretor-Técnico da Associação Brasileira de Jurimetria (ABJ). Trabalha com web scraping, arrumação de dados, inteligência artificial, processamento de linguagem natural, visualização de dados e dashboards.

https://jtrecenti.com/cv

Alan da Silva

Doutorando em estatística no IME-USP, tive meu primeiro contato com o R no início da graduação. Tive oportunidade de contribuir com o pacote {geobr}. Costumo pesquisar por novos pacotes nas horas vagas, principalmente os focados em modelagem de dados.

LinkedIn

Contexto

Hype da Inteligência Artificial

Hype da Inteligência Artificial

Pesquisa em IA+ML

IA “está” Machine Learning

No futuro, talvez não seja assim!

O que é Machine Learning?

Deep Learning é Machine Learning

Ferramentas

TensorFlow e PyTorch

Diferenciais

GPU

Autograd

Sobre o torch

O torch é uma ferramenta de computação científica.

É bastante usado para deep learning, mas também pode ser usado para implementar outras classes de modelos.

Vamos explorar o torch nessas duas vertentes.

Torch para R

  • É uma interface do PyTorch para R
  • Escrito completamente em R e C++ (e um pouco de C)
  • Não depende de instalação do Python
  • É um framework: possui extensões como o pacote luz, torchaudio e torchvision.

O curso

Objetivos de aprendizagem

  • Apresentar a notação básica do torch
  • Mostrar como usar o torch para ajustar modelos de regressão e outras operações matemáticas
  • Utilizar o pacote luz para ajustar modelos de redes neurais
  • Discutir sobre extensões do torch e perspectivas futuras

Desejo

O torch foi desenvolvido por um ex-aluno do IME-USP: Daniel Falbel.

Nosso desejo é que o torch seja utilizado pelo IME-USP e outros institutos como uma ferramenta de ensino e pesquisa.

⚠️ Alerta ⚠️

Este curso é intermediário / avançado.

A ideia é que você já tenha alguma experiência com o R e com modelagem estatística.

A ideia do curso é começar com aspectos básicos (básicos != fáceis) e ir avançando para aplicações com menor detalhamento.

Agenda do curso

Tema: Introdução ao torch

  • Panorama da inteligência artificial
  • histórico das ferramentas tensorflow e pytorch
  • Torch no R
  • Sintaxe do torch
  • Aplicação 1: multiplicação de matrizes (regressão linear)

Tema: torch avançado e otimização

  • Descida de gradiente
  • Autograd
  • Aplicação 2: regressão linear com SGD
  • Módulos
  • Aplicação 3: MLP
  • Otimizadores
  • Aplicação 4: regressão logística e MLP logístico

Tema: Pacote luz e imagens

  • Pacote Luz
  • Aplicação 5: todos os modelos anteriores com o Luz
  • Datasets e dataloaders
  • Convolução
  • Aplicação 6: CNN com mnist

Tema: Sequências, textos, séries de tempo

  • Embeddings
  • Aplicação 7: modelo de texto simples
  • LSTM
  • Aplicação 8: séries temporais com LSTM

Tema: Outras aplicações e perspectivas

  • Transformers
  • Hugging face
  • Autoencoder
  • GAN
  • Tabular data
  • Captcha
  • … outros assuntos …

Materiais

Você pode acessar a página de materiais neste link:

https://jtrecenti.github.io/2024-verao-torch/

Limitações

Não vamos falar de configuração de GPU.

Se você quiser usar GPU, você vai precisar configurar a sua máquina.

Não vamos falar do GPT-4, Llama 2, etc

O instrutor não é especialista no assunto, e não é nosso objetivo falar dos Large Language Models (LLMs) de forma aprofundada.

Vamos falar um pouco sobre como é a arquitetura desses modelos, mas não vamos discutir como eles são treinados em detalhes.

Dinâmica

Teremos aulas expositivas, sendo a menor parte nos slides e a maior parte no próprio R.

Posit Cloud

Se quiser, deixamos um ambiente preparado para você trabalhar.

Acesse: https://posit.cloud e faça sua conta.

Link de convite

Exercícios

Ao final das aulas 1-4, vamos liberar uma lista de exercícios.

Os exercícios não são obrigatórios

O objetivo dos exercícios é gerar dúvidas.

Avaliação - Quiz

Ao final das aulas 1-4, teremos um quiz. Ele terá perguntas sobre o conteúdo da aula.

Alguns exercícios envolvem rodar códigos. Outros serão perguntas conceituais.

O quiz será a sua avaliação! Não deixe de fazer! O prazo para entrega dos 4 quizes será o último dia de aula, 07/02.

A última aula terá, no lugar de um quiz, um formulário de feedback. Quem responder ao quiz terá um ponto extra na nota final. O prazo para responder ao último quiz também é dia 07/02.

Certificado

O certificado para o curso terá os seguintes critérios:

  • 75% de presença (ou seja, só pode faltar uma aula!)
  • 50% de acerto nos quizes

Discussões

EasyRetro

link aqui

Forum do Moodle

link aqui

Referências