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

  1. O que é aprendertarefa, experiência, desempenho
  2. Por que aprenderquando as regras falham; o fluxo invertido
  3. Uma máquina que aprendecaixas de fósforos e contas aprendem o Hexapawn
  4. 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

  1. Para jogar: abra a caixa da posição atual e sorteie uma conta. Essa é a jogada.
  2. Se a máquina perder: remova a conta que levou à jogada perdedora (punição).
  3. 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

\(T\)

jogar Hexapawn

\(E\)

as partidas jogadas

\(P\)

a taxa de vitórias

  • 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

eraquandoo que aconteceu
a estatística prepara o terreno1805–1936os mínimos quadrados de Legendre (1805), para órbitas de cometas; Galton dá nome à regressão; Fisher
as primeiras máquinas que aprendem1950–1962a 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–1993as promessas ultrapassaram os resultados e as verbas foram cortadas; retropropagação e árvores no meio
aprendizado estatístico1995–2001máquinas de vetores de suporte, boosting, random forests: teoria e validação honesta
deep learning, modelos de fundação2012–hojeredes 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

  1. ML: programas que inferem as regras a partir de exemplos.
  2. Mitchell: aprender = o desempenho \(P\) na tarefa \(T\) melhora com a experiência \(E\). Sem \(P\), não há aprendizado.
  3. Ele inverte o fluxo: dados + respostas → modelo; vale a pena quando as regras são desconhecidas, mudam, são numerosas demais ou pessoais.
  4. Caixas de fósforos: aprender é ajustar parâmetros a partir de feedback.
  5. 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.