4 pontos por GN⁺ 2025-03-22 | 1 comentários | Compartilhar no WhatsApp
  • Pen & Paper é uma coletânea de exercícios com soluções detalhadas feita para leitores que já tiveram contato com a teoria e os conceitos de machine learning aprofundarem seu entendimento por meio da resolução de problemas
  • Quando as soluções dos exercícios em livros didáticos e cursos são curtas demais ou inexistentes, a oportunidade de aprendizado pode facilmente virar frustração; por isso, o objetivo é oferecer um nível de detalhamento nas soluções que permita acompanhar o processo de resolução
  • Programação e simulações também são importantes, mas a obra é estruturada para que a maioria dos problemas possa ser resolvida com papel e caneta, com foco em fortalecer o raciocínio matemático
  • Os problemas combinam principalmente exercícios dos cursos “Unsupervised Machine Learning”, da University of Helsinki, e “Probabilistic Modelling and Reasoning”, da University of Edinburgh, com escopo concentrado em métodos não supervisionados, inferência e aprendizado
  • Michael Gutmann espera que a coletânea de problemas continue a se expandir e orienta sobre a disponibilização do código-fonte em LaTeX, o relato de erros via issues no GitHub e o contato direto para contribuições maiores

Um livro para aprofundar o entendimento por meio de exercícios

  • Como na expressão “use it or lose it”, habilidades enferrujam quando não são praticadas, e aprender novas habilidades também exige aplicação repetida
  • Muitos livros didáticos e cursos oferecem exercícios, mas, se as soluções forem curtas demais ou inexistentes, a resolução de problemas pode se tornar uma fonte de frustração e acabar sendo deixada de lado
  • Este livro é uma coletânea de exercícios acompanhados de soluções detalhadas
    • O objetivo é ter um nível de detalhamento suficiente para que o leitor acompanhe a solução e entenda as técnicas utilizadas
    • Não substitui livros didáticos ou cursos de machine learning
    • É adequado para situações em que a pessoa já viu a teoria e os conceitos relacionados e quer consolidar o entendimento resolvendo problemas

Estrutura centrada em papel e caneta

  • Em machine learning, programação e simulações computacionais são muito importantes
  • Ainda assim, a maioria dos problemas deste livro pode ser resolvida com papel e caneta
    • A estrutura centrada em papel e caneta reduz o volume e simplifica as explicações
    • Ajuda a fortalecer a capacidade matemática
  • Usado em conjunto com práticas no computador, pode aprofundar ainda mais a compreensão dos conceitos

Temas e escopo abordados

  • Os problemas são principalmente uma combinação de materiais desenvolvidos em dois cursos
    • Unsupervised Machine Learning”, da University of Helsinki
    • Probabilistic Modelling and Reasoning”, da University of Edinburgh
  • Não cobre machine learning como um todo
  • O foco é fortemente voltado a métodos não supervisionados, inferência e aprendizado
  • O texto fornecido inclui, como exemplo do Capítulo 1, Linear Algebra, um problema de ortogonalização de Gram–Schmidt
    • Verifica-se pelo produto interno que u1 e u2, criados a partir de dois vetores, são ortogonais entre si
    • Se a2 for um múltiplo de a1, então, durante o processo de ortogonalização, u2 se torna o vetor nulo
    • Mostra-se que uma combinação linear arbitrária de a1 e a2, quando linearmente independentes, pode ser reescrita em termos de u1 e u2

Expansão e formas de contribuição

  • A coletânea de problemas tem como objetivo crescer ao longo do tempo por meio da adição de novos problemas
  • O código-fonte em LaTeX está disponível no repositório do GitHub
  • Erros ou typos podem ser relatados por issues no GitHub
  • Para contribuições maiores, é indicado entrar em contato diretamente

1 comentários

 
GN⁺ 2025-03-22
Comentários do Hacker News
  • Parece legal, mas a parte mais frustrante ao estudar machine learning é que, por mais fundo que você vá na teoria, não fica muito claro como ela se conecta às escolhas práticas
    Por exemplo, quero entender como a teoria ajuda em decisões como o número de neurônios em uma camada, o número de camadas, a função de ativação, ou se devo usar uma rede neural ou outra técnica

    • Talvez ajude: https://github.com/google-research/tuning_playbook
    • Quando quase todo artigo de machine learning traz experimentos de ablação em larga escala para coisas como número de neurônios por camada, número de camadas e funções de ativação, isso é mais um sinal de que, na verdade, ninguém sabe ao certo essa parte
      É uma área em que se tenta um monte de coisas aleatoriamente, vê-se o que funciona, copia-se ideias uns dos outros e, com isso, surgem diretrizes meio nebulosas
      Se você quer algo lógico e explicável, é quase uma das piores áreas; na maior parte, o trabalho é rotular datasets, pagar o custo computacional e torcer para dar certo
    • A maior parte disso não pode ser aprendida só com teoria pura ou só com prática pura, e o mesmo vale para quase tudo relacionado ao trabalho moderno
      Em machine learning, não dá para derivar tudo a partir da teoria. Se desse, não teríamos ficado tão surpresos com o desempenho de modelos de linguagem de grande escala realmente grandes
      Ao mesmo tempo, se você não consegue raciocinar sobre a matemática envolvida, fica difícil entender por que algo não funciona ou quais opções existem. Há inúmeros fatores interligados: arquitetura, função de perda, função de ativação, técnicas de otimização, hiperparâmetros, tempo e recursos de treinamento etc.
    • Hoje, a prática de machine learning está muito à frente da teoria. Mesmo que a teoria alcance, a resposta provavelmente vai depender da natureza do processo que gera os dados, então no fim terá de ser respondida empiricamente
      Vejo o valor da teoria em fornecer uma estrutura conceitual geral. É parecido com a teoria assintótica de algoritmos hoje: ela não diz exatamente qual algoritmo usar, mas aponta uma direção ampla
    • Do ponto de vista de iniciante, o principal que tirei do curso do Andrew Ng no Coursera, especialmente da parte de redes neurais, é que colocar mais neurônios e camadas do que o “mínimo necessário” geralmente não tem problema
      Considerando termos de regularização razoáveis, o risco de overfitting não é grande, mas infelizmente não há uma regra para esse valor mínimo, então é preciso tentativa e erro. Por outro lado, aumentar a rede sem critério é ineficiente e acaba ficando lento
      A função de ativação, no caso da camada de saída, em geral é determinada pelo problema que você está tentando resolver; nas camadas internas, normalmente se começa com ReLU e depois se testam variações comuns com heurísticas adequadas ao problema
      Naturalmente, também vale considerar como ponto de partida outros modelos que tiveram sucesso em problemas semelhantes
  • Muito bem feito. Lembra os exercícios AI By Hand do Tom Yeh: https://www.byhand.ai/

    • Era exatamente esse tipo de coisa que eu esperava, muito obrigado. O artigo do post original também é bom, mas parece soar melhor para quem já conhece o conteúdo
      O material em si é excelente para quem já sabe o assunto
  • Parece bem organizado. Só é uma pena que as respostas venham logo depois dos problemas, então fica difícil não ler a resposta do próximo antes de pensar por conta própria

  • Muito bom. Trabalho com machine learning, mas ainda tenho síndrome do impostor em relação aos fundamentos de matemática, especialmente álgebra linear e operações com matrizes/tensores
    Gostaria de conhecer mais materiais com conjuntos de exercícios focados nas habilidades básicas de deep learning. O que funciona melhor para mim é fazer um pouco todos os dias, à mão, e aprender a partir da perspectiva de vários professores

  • Quantos profissionais que hoje criam machine learning “útil” conseguiriam resolver parte desses problemas? E deveriam conseguir?

    • Acho que não. Não é obrigatório conseguir resolvê-los, nem necessário
      Esses exercícios são úteis para a maturidade matemática que leva à intuição necessária para desenvolver novos algoritmos ou otimizações de baixo nível
      Para o caso comum de treinar, implantar e usar algoritmos de machine learning existentes, não são necessários
    • A boa notícia é que, se você não tem interesse em expandir técnicas de ponta e só quer fazer chamadas de API, não precisa aprender machine learning a fundo
    • Depende de como você define “profissional de machine learning”, “criar” e “machine learning”. Olhando a seção de otimização, algumas pessoas entendem isso muito bem e conseguem iterar mentalmente com rapidez sobre possíveis funções de perda, formas de atualizar parâmetros e pontos onde algo pode falhar
    • Algumas pessoas veem estudar como uma tarefa chata e querem aprender só o mínimo necessário para concluir o trabalho. Outras tiram insights e diversão do estudo e gostam de resolver problemas e ler materiais
      As duas abordagens podem contribuir e levar ao sucesso, mas de maneiras diferentes
    • Tenho a mesma curiosidade. Trabalhei alguns anos como engenheiro de machine learning e tenho alguns diplomas na área
      Folheando o documento, reconheci quase tudo, mas, se me perguntassem sem contexto, acho que muitos tópicos não me viriam à cabeça. Talvez em algum momento viessem
      Fico curioso para saber até que ponto as pessoas lembram esse conteúdo. Não sei se sou um impostor que nunca foi bom em matemática, ou se é natural esquecer com o tempo quando não se usa regularmente
  • É lindo por incluir até as respostas. Eu me interessaria por mais exercícios de papel e caneta desse tipo em outros temas

    • Não sei a que outros temas você se refere, mas só “1000 exercises in probability” já deve manter você ocupado por um tempo. O PDF pode ser encontrado online
      Para outros quebra-cabeças com viés matemático, veja “The colossal book of short puzzles and problems” e “The art and craft of problem solving”
  • Já foi discutido antes: Pen and paper exercises in machine learning (2021) - https://news.ycombinator.com/item?id=31913057 - junho de 2022, 55 comentários

  • Acho engraçado como matemáticos estão sempre tentando enfiar álgebra linear e teoria de matrizes em machine learning. Se você não soubesse, acharia que a academia inventou os modelos de linguagem de grande escala e que são os especialistas a consultar
    Pelo contrário, acho que a academia e os teóricos atrasaram o machine learning, tratando técnicas computacionais como algo inferior demais e obrigando gerações de pós-graduandos a fazer provas simbólicas como neste exemplo

    • Se você quer contribuir para machine learning e não apenas usar técnicas existentes, a capacidade matemática é o maior fator limitante
      Quem está contribuindo sem ser bom em álgebra linear?
      E também me pergunto por que resumir a área inteira a modelos de linguagem de grande escala
    • Ponto de vista interessante. Você pode recomendar materiais que priorizem técnicas computacionais em vez de provas simbólicas?
    • Interessante. Você poderia compartilhar um exemplo disso?
  • O arXiv não é para artigos em nível de pesquisa? Fico surpreso que esse tipo de material esteja lá