Code to Pleasure: Por que todos deveriam aprender um pouco de programação é um novo livro de Michael LittmanProfessor de Ciência da Computação na Brown College e curador fundador do AIhub. Conversamos com Michael sobre o que o livro cobre, o que o inspirou e como estamos todos familiarizados com muitos conceitos de programação em nossas vidas diárias, quer percebamos ou não.
Você poderia começar nos contando um pouco sobre o livro e quem é o público-alvo?
O público-alvo não são cientistas da computação, embora eu tenha recebido uma recepção muito calorosa por parte dos cientistas da computação, o que agradeço. A ideia por trás do livro é tentar ajudar as pessoas a entenderem que dizer às máquinas o que fazer (que é como vejo grande parte da ciência da computação e da IA) é algo realmente acessível a todos. Baseia-se em habilidades e práticas que as pessoas já possuem. Acho que pode ser muito intimidante para muitas pessoas, mas não acho que exact ser. Acho que a base existe para todos e é apenas uma questão de aproveitá-la e construir sobre ela. O que espero, e o que estou vendo acontecer, é que o aprendizado de máquina e a IA estejam ajudando a conhecer pessoas no meio do caminho. As máquinas estão cada vez melhores em ouvir, à medida que tentamos dizer-lhes o que fazer.
O que fez você decidir escrever o livro, qual foi a inspiração por trás dele?
Dei grandes aulas introdutórias à ciência da computação e sinto que há uma mensagem importante ali sobre como um conhecimento mais profundo da computação pode ser muito fortalecedor, e eu queria levar isso a um público maior.
Você poderia falar um pouco sobre a estrutura do livro?
A essência do livro fala sobre os componentes fundamentais que constituem os programas, ou, em outras palavras, que constituem a maneira como dizemos aos computadores o que fazer. Cada capítulo aborda um tópico diferente – loops, variáveis, condicionais, por exemplo. Em cada capítulo falo sobre como esse conceito já é acquainted às pessoas, como ele aparece na vida regular. Aponto para softwares ou websites existentes onde você pode usar esse conceito específico para dizer aos computadores o que fazer. Cada capítulo termina com uma introdução a alguns conceitos de aprendizado de máquina que podem ajudar a criar aquela construção de programação específica. Por exemplo, no capítulo sobre condicionais, falo sobre as maneiras como usamos a palavra “se” na vida regular o tempo todo. Os casamentos, por exemplo, são estruturados de forma muito condicional, com afirmações como “se alguém tem algo a dizer, fale agora ou cale-se para sempre”. Isso é uma espécie de afirmação “se-então”. Em termos de ferramentas para brincar, falo sobre ficção interativa. A meio caminho entre videogames e romances está a noção de que você pode fazer uma história que se adapta enquanto é lida. O que torna isso interessante é a noção de condicionais – o leitor pode fazer uma escolha e isso causará uma ramificação. Existem ferramentas realmente maravilhosas para brincar com essa ideia on-line, então você não precisa ser um programador experiente para usar condicionais. O conceito de aprendizado de máquina introduzido lá são árvores de decisão, que é uma forma mais antiga de aprendizado de máquina em que você dá a um sistema vários exemplos e então ele gera um pequeno fluxograma para tomada de decisão.
Você aborda a IA generativa no livro?
O livro já estava em produção quando o ChatGPT foi lançado, mas eu estava à frente da curva e tinha uma seção especificamente sobre GPT-3 (pré-ChatGPT) que fala sobre o que é, como o aprendizado de máquina o cria, e como ele próprio pode ser útil na criação de programas. Então, você vê isso de ambas as direções. Você tem a noção de que essa ferramenta realmente ajuda as pessoas a dizer às máquinas o que fazer, e também a maneira como a humanidade criou essa ferramenta usando aprendizado de máquina.
Você aprendeu alguma coisa particularmente interessante ou surpreendente enquanto escrevia o livro?
Pesquisar os exemplos de cada capítulo me fez aprofundar vários tópicos. Essa noção de ficção interativa, e de que existem ferramentas para criar ficção interativa, achei bastante interessante. Ao pesquisar outro capítulo, encontrei um exemplo de um livro de orações judaico que foi muito chocante para mim. Portanto, os livros de orações judaicos (e não sei se isso também é verdade em outros sistemas de crenças, mas estou familiarizado principalmente com o judaísmo) contêm coisas que você deveria ler, mas têm pequenas marcações condicionais. às vezes. Por exemplo, pode-se dizer “não leia isto se for sábado”, ou “não leia isto se for lua cheia”, ou “não leia se for lua cheia num sábado”. Encontrei uma passagem que na verdade tinha 14 condições diferentes que você tinha que verificar para decidir se period ou não apropriado ler essa passagem em specific. Isso foi surpreendente para mim – eu não tinha ideia de que se esperava que as pessoas fizessem cálculos tão complexos durante uma atividade de adoração.
Por que é importante que todos aprendam um pouco de programação?
É muito importante ter em mente a ideia de que, no remaining das contas, o que a IA está fazendo é tornar mais fácil para nós dizermos às máquinas o que fazer, e devemos compartilhar essa capacidade aumentada com uma população ampla. Não deveriam ser apenas os engenheiros de aprendizado de máquina que diriam aos computadores o que fazer com mais facilidade. Deveríamos encontrar maneiras de tornar isso mais fácil para todos.
Porque os computadores estão aqui para ajudar, mas é uma by way of de mão dupla. Precisamos estar dispostos a aprender a expressar o que queremos de uma forma que possa ser realizada de forma precisa e automática. Se não fizermos esse esforço, outras partes, muitas vezes empresas, intervirão e farão isso por nós. Nesse ponto, as máquinas estão trabalhando para servir aos interesses de outras pessoas, e não aos nossos. Penso que se tornou absolutamente essencial restaurarmos uma relação saudável com estas máquinas antes de perdermos mais a nossa autonomia.
Alguma reflexão remaining ou conclusão que devemos ter em mente?
Acho que há uma mensagem aqui também para os pesquisadores da ciência da computação. Quando dizemos a outras pessoas o que fazer, tendemos a combinar uma descrição ou uma regra, algo parecido com um programa, com exemplos, algo mais parecido com dados. Nós apenas os misturamos quando conversamos. A certa altura, quando eu estava escrevendo o livro, minha máquina de lavar louça estava funcionando mal e queria entender por quê. Eu li seu guide e fiquei impressionado com a frequência com que, ao dizer às pessoas o que fazer com a máquina de lavar louça, os autores misturavam consistentemente uma descrição de alto nível do que eles estão dizendo para você fazer com algum determinado , exemplos vívidos: uma regra sobre o que carregar no rack superior e uma lista de itens que se enquadram nessa regra. Essa parece ser a forma como as pessoas desejam transmitir e receber informações. O que é loucura para mim é que não programamos computadores dessa maneira. Ou usamos algo que é estritamente programação, só regras, sem exemplos, ou usamos aprendizado de máquina, onde são só exemplos, sem regras. Acredito que a razão pela qual as pessoas se comunicam dessa maneira é porque esses dois mecanismos diferentes têm pontos fortes e fracos complementares e, quando você combina os dois, maximiza an opportunity de ser compreendido com precisão. E esse é o objetivo quando dizemos às máquinas o que fazer. Quero que a comunidade de IA pense em como podemos combinar o que aprendemos sobre aprendizado de máquina com algo mais parecido com programação para criar uma maneira muito mais poderosa de dizer às máquinas o que fazer. Não creio que este seja um problema resolvido ainda, e isso é algo que realmente espero que as pessoas da comunidade pensem.
Code to Pleasure: Por que todos deveriam aprender um pouco de programação está disponível para compra agora.
![]() | Michael L. Littman é professor universitário de Ciência da Computação na Brown College, estudando aprendizado de máquina e tomada de decisão sob incerteza. Ele ganhou vários prêmios de nível universitário por ensino e sua pesquisa sobre aprendizagem por reforço, planejamento probabilístico e solução automatizada de palavras cruzadas foi reconhecida com três prêmios de melhor artigo e três prêmios de artigo influente. Littman é codiretor da Iniciativa de Robótica Centrada na Humanidade de Brown e membro da Associação para o Avanço da Inteligência Synthetic e da Associação para Máquinas de Computação. Ele também é membro da Associação Americana para o Avanço da Ciência Leshner Management Institute for Public Engagement with Science, com foco em Inteligência Synthetic. Atualmente, ele atua como Diretor da Divisão de Informação e Sistemas Inteligentes da Nationwide Science Basis. |
AIhub
é uma organização sem fins lucrativos dedicada a conectar a comunidade de IA ao público, fornecendo informações gratuitas e de alta qualidade em IA.
AIhub é uma organização sem fins lucrativos dedicada a conectar a comunidade de IA ao público, fornecendo informações gratuitas e de alta qualidade em IA.
Lucy Smith é editora-chefe do AIhub.