/reportfolio

Portfólio do Grupo Turing na forma de awesome list.

Reportfólio do Grupo Turing, o grupo de IA da USP.

O Grupo Turing, grupo de IA da USP, tem como objetivo estudar, aplicar e difundir inteligência artifical no ecossistema de São Paulo, buscando se tornar uma referência em IA no Brasil. Neste repositório, apresentamos, na forma de awesome list, quem somos e nosso trabalho.

Índice

Quem somos

Somos o grupo de extensão acadêmica da Universidade de São Paulo que estuda, dissemina e aplica conhecimentos de Inteligência Artificial.

História

Surgimos em 2015 como um grupo de estudos originalmente idealizado por duas mulheres, fundado por um grupo de três politécnicos e batizado em homenagem a Alan Turing (1912-1954), matemático e lógico inglês considerado o pai da computação.

Missão

Nossa missão é se tornar uma referência nacional em produção de conteúdo relacionado à Inteligência Artificial. Abrangendo material de estudo em português, a realização de eventos como workshops e até a aplicação em projetos.

Cultura

Prezamos pela diversidade e o respeito ao próximo. Valorizamos a proatividade de nossos membros nos quesitos de entrega, liderança e a habilidade de trabalhar em equipe tomando atitudes, mas mantendo-se aberto a sugestões.

Implementações limpas e explicadas de papers relevantes de IA:

O que é:

A motivação deste reportfólio foi criar um lugar onde houvesse implementações de referência de IA feito por falantes de língua portuguesa para falantes de língua portuguesa - e para isso escolheríamos papers relevantes de Deep Learning e Machine Learning e os implementaríamos num repositório do GitHub.

Nesta seção do reportfólio, membros do grupo escolhem artigos ou ideias interessantes em Deep Learning e as implementam de forma simples e explicada, eventualmente extentendo a ideia. No final, nem tudo ficou em portugês... Acontece...

O que implementamos:

  1. Weight Uncertainty in Neural Networks - se tornou uma lib em PyTorch de Deep Learning com inferência variacional, BLiTZ.
  1. Curvilinear Component Analysis implementation for Python - um método para redução de dimensionalidade não linear.
  1. Auto-Encoder no PyTorch
  1. Playing Atari with Deep Reinforcement Learning - O trabalho que inaugurou a área de Deep Reinforcement Learning, tão hypada (com razão) nos dias de hoje.
  1. Policy Gradients for Reinforcement Learning with Function Approximation- Implementação de REINFORCE - Policy Gradients no VizDoom:
  1. Bayesian Recurrent Neural Networks - Redes Neurais Recorrentes como parte da lib de Deep Learning Bayesiano
  1. Long Short-term memory
  1. LSTM peephole connections
  1. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

Visão Computacional

O que é:

Como humanos somos capazes de enteder conteudos de imagens facilmente, mas e o computador? Como ele enxerga uma imagem? Como ele consegue discernir o seu conteudo e tirar informações dela? Visão Computacional é a aréa de estudos focada em estudar justamente isso e como aproveitar todo o potencial de um computador tem de analisar imagens em um tempo infinitamente menor que pessoas. Usamos todo esse potencial para criar aplicações que melhorem processos antes não automatizados. Atualmente, trabalhamos em um sistema de reconhecimento e codificação de rostos para uma empresa parceira.

O que já fizemos:

O que estamos fazendo:

  • Estudos de técnicas de reconhecimento de imagens, como as grandes empresas implementam algoritmos de classificação etentamos nos atualizar nas técnicas atuais de CV.
  • Projeto de reconhecimento facial com codificação não reversível do rosto humano, visando a recente LGPD.

Aprendizado por reforço (Reinforcement Learning)

O que é:

Em poucas palavras, Reinforecemnt Learning é uma modalidade de Machine Learning em que o modelo matemático, enquanto parte decisória de um agente, 'aprende fazendo': iniciado aleatoriamente, o modelo aprende tomando ações e escolhendo a que tem melhor resultado. Depois do treinamento, o modelo passa a encontrar a ação com melhor resultado e o agente passa a ser apto a realizar a tarefa que está fazendo.

O que já fizemos:

  1. Workshop Introdutório de Aprendizado por Reforço:
  1. Rede neural que aprende a jogar Super Mario Bros:
  1. Agente que aprende a jogar Pong com Q-Learning:
  1. Seríe de posts introdutórios sobre o tema em nosso Medium:

O que estamos fazendo:

  • Estudo dos métodos e técnicas de RL, como DQN, PG, AC, ... e como modelar os problemas, implementando esses métodos em ambientes do gym e outros jogos.

  • Projeto: controle de um carrinho usando RL, pra fazer ele seguir um caminho ou desviar de obstáculos (estamos num estado inicial ainda), envolvendo a simulação do agente e criação de modelo físico (após a quarentena)

Processamento de Linguagem Natural (NLP)

O que é:

Processamento de Linguagem Natural (do inglês Natural Language Processing - NLP) é uma área da Inteligência Artificial que estuda a intepretação e manipulação de linguagens humanas - naturais por computadores. Entre suas aplicações estão:

  • Interpretação de texto;
  • Criação de conteúdo, e até
  • Tradução de texto

O que já fizemos:

  1. Uso de Machine Learning para classificação dos heterônimos de Fernando Pessoa
  1. Análise de sentimento em texto com Deep Learning
  1. Post no Medium de introdução à NLP

O que estamos fazendo:

Temos projetos em andamento relacionados a interpretação de textos curtos para extração de insights.

Finanças quantitativas (Quant)

O que é:

Aplicações de programação e inteligência artificial no mercado financeiro, estudando finanças, aplicações e métodos quantitativos. Tudo isso através de cursos, implementações de papers, competições, e visitas a gestoras quantitativas e outras empresas do setor.

O que já fizemos:

  1. Repositório no GitHub com script utilitário para obtenção de dados do mercado financeiro:
  1. Lib em Python com estratégias de investimento do Turing Quant:

Data Science

O que é:

A área de Data Science, nova no grupo, tem como objetivo aplicar o conhecimento desenvolvido dentro do grupo para resolver problemas reais dentro de organizações. Alinhando-se com a filosofia do grupo, a área procura sempre se aproximar de ONGs, com o intuito de produzir resultados que tenham um impacto positivo na sociedade.

O que fazemos:

No momento, temos trabalhos em andamento com entidades públicas e privadas que serão publicados e mostrados aqui quanto estiverem prontos.