Machine Learning · Insper
Introdução & História
Abordagem fundamental
O que significa uma máquina aprender, quando vale a pena e uma máquina de caixas de fósforos que aprende
Dois jeitos de fazer um computador decidir
escrever as regras
uma pessoa pensa em cada caso e o escreve como código
aprender as regras
escrevemos um programa que infere as regras a partir de exemplos
Machine Learning (ML): o campo que dá aos computadores a capacidade de aprender a partir de dados sem serem explicitamente programados para cada situação.
O caminho desta parte
- O que é aprendertarefa, experiência, desempenho
- Por que aprenderquando as regras falham; o fluxo invertido
- Uma máquina que aprendecaixas de fósforos e contas aprendem o Hexapawn
- Por que agoradados, computação, software; as grandes eras
Cada etapa responde a uma pergunta: o que quer dizer "aprender"? → por que não escrever as regras à mão? → como é aprender sem computador algum? → se as ideias são antigas, por que só agora?
Etapa 1 · o que quer dizer "aprender"?
O que é "aprender"? Mitchell (1997)
Dizemos que um programa de computador aprende com a experiência E em relação a alguma classe de tarefas T e medida de desempenho P, se seu desempenho nas tarefas em T, medido por P, melhora com a experiência E.
- Todo projeto deste curso pode ser descrito com esse vocabulário.
- Sem \(P\), não há aprendizado: um sistema que só guarda mais exemplos, sem medida de que responde melhor, não aprendeu.
Exemplo: um filtro de spam
Preveja. Quais são a tarefa, a experiência e a medida de desempenho de um filtro de spam?
tarefa \(T\)
classificar e-mails como spam ou não spam
experiência \(E\)
um corpus de e-mails já rotulados por humanos
desempenho \(P\)
a fração classificada corretamente (ou uma métrica mais cuidadosa, na aula de métricas de classificação)
Etapa 2 · por que não escrever as regras à mão?
Por que aprender a partir de dados? Quando as regras falham
1. as regras são desconhecidas
ninguém consegue escrever as regras exatas que distinguem um tumor maligno de um benigno numa imagem bruta
2. as regras mudam
spammers se adaptam; um filtro estático se degrada, um sistema que aprende pode ser retreinado
3. as regras são numerosas demais
dígitos manuscritos com if/else: há maneiras demais de escrever um "7"
4. é preciso personalização
um recomendador deve se comportar diferente para cada usuário; aprender do histórico de cada um escala
O machine learning inverte o fluxo
O que a inversão nos dá
tradicional
regras + dados → respostas
machine learning
dados + respostas → modelo
O modelo é uma aproximação das regras; com ele respondemos a casos novos, nunca vistos.
A recíproca: uma regra fixa, conhecida e curta ("o número do cartão tem exatos 16 dígitos") deve simplesmente ser programada.
Etapa 3 · como é aprender sem computador algum?
Uma máquina que aprende feita de caixas de fósforos
- Martin Gardner, Scientific American, 1962. Sem eletrônica alguma.
- O minijogo Hexapawn: três peões por lado num tabuleiro 3×3.
- Uma caixa de fósforos por posição possível do tabuleiro, cheia de contas, uma cor por jogada legal.
Preveja. Só com caixas e contas, como essa máquina poderia jogar melhor a cada partida?
As regras das caixas de fósforos
- Para jogar: abra a caixa da posição atual e sorteie uma conta. Essa é a jogada.
- Se a máquina perder: remova a conta que levou à jogada perdedora (punição).
- Se ela vencer: as contas ficam ou ganham cópias extras (recompensa).
Uma caixa vazia quer dizer que toda jogada dali já perdeu: a máquina desiste e a punição vai para a jogada anterior.
Depois de algumas dezenas de partidas, as jogadas ruins foram literalmente removidas das caixas: a máquina joga perfeitamente.
O laço de aprendizado, passo a passo
Preveja. 19 caixas, 47 contas e um oponente que joga ao acaso. Depois de três partidas, quantas contas terão saído e quanto será \(P\)? Depois percorra as três primeiras partidas de treino.
Simulador: a máquina de caixas de fósforos
Preveja. Treine-a por 50 partidas contra um oponente aleatório. A taxa de vitórias vai subir de forma suave? Ela um dia para de perder?
O que as caixas de fósforos ensinam
- Aprendizagem por reforço em sua forma mecânica mais pura. Donald Michie construiu a mesma ideia para o jogo da velha em 1961: o MENACE (Matchbox Educable Noughts And Crosses Engine).
Aprender nada mais é do que ajustar parâmetros (contas) com base em feedback.
Etapa 4 · se as ideias são antigas, por que só agora?
Por que agora?
Preveja. Os mínimos quadrados são de 1805. Se as ideias centrais são tão antigas, por que o ML ficou onipresente só nas últimas duas décadas?
dados
a web, os sensores e a digitalização produziram conjuntos grandes o suficiente para aprender padrões sutis
poder computacional
unidades de processamento gráfico (GPUs) e computação em nuvem tornaram barato ajustar modelos grandes
algoritmos & software
bibliotecas de código aberto (scikit-learn, XGBoost, PyTorch): décadas de pesquisa em poucas linhas
200 anos em cinco eras
| era | quando | o que aconteceu |
| a estatística prepara o terreno | 1805–1936 | os mínimos quadrados de Legendre (1805), para órbitas de cometas; Galton dá nome à regressão; Fisher |
| as primeiras máquinas que aprendem | 1950–1962 | a pergunta de Turing; o perceptron (1958); as damas de Samuel; o MENACE e as caixas de fósforos |
| dois invernos da inteligência artificial (IA) | 1969–1993 | as promessas ultrapassaram os resultados e as verbas foram cortadas; retropropagação e árvores no meio |
| aprendizado estatístico | 1995–2001 | máquinas de vetores de suporte, boosting, random forests: teoria e validação honesta |
| deep learning, modelos de fundação | 2012–hoje | redes profundas em GPUs, transformers, um modelo pré-treinado para muitas tarefas |
A última era é onde as três forças se encontram: uma ideia dos anos 1980 que precisava dos dados e da computação dos anos 2010.
Resumo
- ML: programas que inferem as regras a partir de exemplos.
- Mitchell: aprender = o desempenho \(P\) na tarefa \(T\) melhora com a experiência \(E\). Sem \(P\), não há aprendizado.
- Ele inverte o fluxo: dados + respostas → modelo; vale a pena quando as regras são desconhecidas, mudam, são numerosas demais ou pessoais.
- Caixas de fósforos: aprender é ajustar parâmetros a partir de feedback.
- Por que agora: dados, poder computacional, software aberto.
Próxima: O panorama de ML, um mapa dos tipos de aprendizado e de um projeto real.
Lab fundamental · cerca de 25 min, em duplas
Ensine a máquina de caixas de fósforos, passos 1 a 3
- No simulador das caixas de fósforos da página da aula: nada a instalar. Aperte antes reiniciar máquina: os mesmos botões dão as mesmas partidas.
- Passo 1: jogue contra uma máquina nova. Passo 2: treine-a por 50 partidas. Passo 3: mais 50, a campeã que ainda pode ser vencida.
- Em cada passo, responda o Preveja antes de apertar um botão.
- Simulações: vença a campeã e deixe o oponente aleatório encontrá-la (passo 3).
Ritmo: passo 1 em 7 min; passo 2 em 6 min; passo 3 e as duas simulações em 12 min.