Uncategorized – Nelson Koshoji https://nelsonkoshoji.com My WordPress Blog Tue, 12 May 2026 01:13:19 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.9.4 Você não está ensinando IA. Você está ensinando a versão de 2019 da IA. https://nelsonkoshoji.com/voce-nao-esta-ensinando-ia-voce-esta-ensinando-a-versao-de-2019-da-ia/ https://nelsonkoshoji.com/voce-nao-esta-ensinando-ia-voce-esta-ensinando-a-versao-de-2019-da-ia/#respond Tue, 12 May 2026 01:12:54 +0000 https://nelsonkoshoji.com/?p=231

Levei algumas semanas preparando aquela aula.

O tema era geração de texto com redes neurais — um assunto que havia entrado no currículo recentemente, ainda sem material consolidado em português. Pesquisei, organizei, montei os slides. Escolhi os exemplos com cuidado. Estava satisfeito com o resultado.

Na semana antes de dar a aula, um colega me mandou um link com a mensagem: “você viu isso?”

Era o anúncio de um modelo que tornava boa parte do que eu havia preparado — não errado, mas visivelmente desatualizado. A abordagem que eu ia apresentar como estado da arte havia sido superada. Não por anos, não por décadas. Por meses.

Dei a aula assim mesmo, com uma nota de rodapé oral: isso que estou mostrando já foi superado, mas precisamos entender a base antes de entender o que veio depois. Os alunos assentiram. Mas a sensação que ficou — de estar sempre um passo atrás de um campo que corre mais rápido do que consigo acompanhar — não foi embora.

Esse desconforto é, descobri depois, endêmico entre quem ensina IA hoje. E lidar com ele de forma honesta pode ser mais valioso do que fingir que o currículo está em dia.


O problema específico de ensinar um campo em construção

A maioria das disciplinas que ensinamos em computação tem uma estabilidade razoável. Os fundamentos de algoritmos e estruturas de dados que Knuth sistematizou nos anos 1960 ainda são o que ensinamos hoje. Redes de computadores, sistemas operacionais, engenharia de software — os princípios fundamentais mudam lentamente. Você pode preparar um bom curso e ele continua bom por vários anos.

IA não funciona assim. E nos últimos anos, passou a funcionar ainda menos assim.

Entre 2017 e hoje, o campo passou por pelo menos três transformações que cada uma, individualmente, teria sido suficiente para tornar um currículo preparado antes delas parcialmente obsoleto. A arquitetura Transformer, proposta em 2017, mudou radicalmente o estado da arte em processamento de linguagem natural. Os modelos de difusão transformaram geração de imagens a partir de 2020. Os grandes modelos de linguagem treinados com feedback humano mudaram o que entendemos por capacidade de modelos de linguagem a partir de 2022.

Cada uma dessas transformações não apenas introduziu técnicas novas. Mudou o que é considerado abordagem padrão, quais benchmarks importam, quais arquiteturas vale a pena ensinar como ponto de partida.

Um professor que preparou um curso de processamento de linguagem natural em 2016 — com foco em LSTMs e modelos sequenciais — não estava errado. Estava ensinando o estado da arte daquele momento. Dois anos depois, o Transformer tornava boa parte daquele material historicamente interessante mas pedagogicamente secundário.

Isso não acontece em cálculo. Não acontece em física clássica. Acontece em IA — e acontece cada vez mais rápido.


O que fica quando tudo muda

Diante disso, a pergunta que me faço — e que acho que todo professor de IA deveria se fazer — é: o que no meu currículo é realmente estável, e o que é apenas o estado da arte de hoje?

A distinção importa porque o que é estável merece tempo de aula diferente do que é transitório. Ensinar um algoritmo específico que pode ser obsoleto em dois anos tem valor diferente de ensinar o princípio que faz aquele algoritmo funcionar — e que vai continuar relevante independentemente de qual arquitetura domine o campo amanhã.

Na minha experiência, há pelo menos três camadas de estabilidade diferentes num currículo de IA.

A camada dos fundamentos matemáticos. Álgebra linear, cálculo, probabilidade, teoria da informação — esses são os alicerces sobre os quais qualquer avanço do campo é construído. Um aluno que entende profundamente por que gradiente descendente funciona, o que uma função de perda realmente mede, o que significa uma distribuição de probabilidade sobre saídas — esse aluno consegue aprender qualquer arquitetura nova em semanas. Essa camada não envelhece.

A camada dos princípios algorítmicos. Overfitting e regularização. O trade-off entre viés e variância. A importância da separação entre dados de treino, validação e teste. O que significa generalização. Por que mais dados quase sempre ajudam mais do que mais complexidade. Esses princípios foram verdadeiros em 1990 e continuam verdadeiros hoje — independentemente de qual modelo específico você esteja usando. Essa camada envelhece muito lentamente.

A camada das arquiteturas e ferramentas específicas. CNNs, RNNs, Transformers, modelos de difusão, LLMs — essas são as implementações concretas que dominam o estado da arte em determinado momento. São importantes de ensinar porque os alunos vão trabalhar com elas. Mas são exatamente a camada que envelhece mais rápido. Essa camada precisa ser ensinada com uma nota de rodapé permanente: isso é o que funciona melhor agora — não necessariamente o que vai funcionar melhor em cinco anos.

O erro que vejo em muitos currículos — incluindo o meu, nos primeiros meses — é inverter as proporções. Gastar a maior parte do tempo na terceira camada, a mais transitória, e pouco tempo nas duas primeiras, as mais duradouras.


O paradoxo do tutorial

Há um fenômeno que observo nos meus alunos que chamo internamente de paradoxo do tutorial.

Vivemos num momento em que nunca houve tanto material de qualidade sobre IA disponível gratuitamente. Tutoriais, cursos online, documentação, papers explicados em vídeo, implementações comentadas no GitHub. Um estudante dedicado consegue aprender a usar as ferramentas mais modernas em semanas.

O problema é que aprender a usar uma ferramenta não é o mesmo que entender o que ela faz. E a abundância de tutoriais cria uma ilusão perigosa: a de que dominar a sintaxe do framework equivale a compreender o campo.

Vejo alunos que conseguem treinar um modelo de linguagem em cinquenta linhas de código — usando uma biblioteca que abstrai completamente a arquitetura, o treinamento e a avaliação — mas que não conseguem responder por que o modelo falha em certos tipos de entrada, o que as métricas de avaliação realmente medem, ou como modificariam a abordagem se o problema mudasse ligeiramente.

Eles aprenderam a versão de hoje da ferramenta. Não aprenderam a pensar sobre o problema.

Quando a ferramenta mudar — e vai mudar — eles vão precisar aprender tudo de novo, do zero, porque não têm os fundamentos que permitem transferir o conhecimento de um framework para outro, de uma arquitetura para a seguinte.

É um problema de horizonte temporal. Tutoriais otimizam para resultados rápidos. Fundamentos otimizam para adaptabilidade de longo prazo. E num campo que muda tão rapidamente quanto IA, adaptabilidade de longo prazo é a habilidade mais valiosa que um curso pode desenvolver.


O que fazer com a defasagem inevitável

Não tenho uma solução completa para o problema de ensinar um campo em movimento acelerado. Mas tenho algumas práticas que adotei e que parecem ajudar.

A primeira é ser explícito sobre o que é fundamento e o que é estado da arte. Toda vez que apresento uma técnica ou arquitetura específica, digo com clareza: isso é o que o campo usa predominantemente agora — pode não ser o que vai usar daqui a três anos. O que não vai mudar é o princípio por trás. E é no princípio que o tempo de aula deve se concentrar.

A segunda é incluir deliberadamente material histórico. Mostrar como o campo chegou onde está — quais abordagens dominaram em diferentes épocas, por que foram superadas, o que cada transição revela sobre o que o campo havia entendido mal antes — é uma das formas mais eficazes de preparar alunos para as transições futuras que inevitavelmente virão. Quem entende por que as RNNs foram superadas pelos Transformers está melhor preparado para entender o que pode superar os Transformers.

A terceira é admitir publicamente quando não sei. Quando um aluno pergunta sobre uma técnica ou resultado recente que não conheço bem, digo isso. E às vezes peço que o aluno pesquise e apresente para a turma. Um professor que admite os limites do próprio conhecimento num campo em movimento acelerado não está demonstrando fraqueza — está demonstrando o modelo de postura intelectual que os alunos vão precisar adotar para o resto da carreira.


Aquela aula que preparei e que ficou desatualizada antes de dar — dei ela assim mesmo, com a nota de rodapé, e foi uma das melhores aulas do semestre.

Não porque o conteúdo era o mais atual. Mas porque a situação criou uma conversa real sobre o que significa aprender num campo que não para. Sobre como avaliar se um conhecimento tem vida útil de meses ou de décadas. Sobre por que entender o mecanismo vale mais do que conhecer a ferramenta.

Nenhum desses temas estava nos meus slides originais.

Às vezes o que o currículo não previu ensina mais do que o que estava planejado.


Próximo artigo: “ChatGPT passou no exame. Isso diz mais sobre o exame do que sobre o ChatGPT.”

]]>
https://nelsonkoshoji.com/voce-nao-esta-ensinando-ia-voce-esta-ensinando-a-versao-de-2019-da-ia/feed/ 0
O que os meus alunos acham que é uma rede neural — e o que ela realmente é. https://nelsonkoshoji.com/o-que-os-meus-alunos-acham-que-e-uma-rede-neural-e-o-que-ela-realmente-e/ https://nelsonkoshoji.com/o-que-os-meus-alunos-acham-que-e-uma-rede-neural-e-o-que-ela-realmente-e/#respond Tue, 12 May 2026 00:59:36 +0000 https://nelsonkoshoji.com/?p=226

Todo semestre, antes de começar a aula sobre redes neurais, faço o mesmo experimento informal.

Peço que cada aluno escreva numa folha, em duas ou três frases, o que acha que é uma rede neural. Não vale pesquisar. Só o que já sabe, ou acha que sabe.

Recolho as folhas. Leio em voz alta, sem identificar quem escreveu.

As respostas variam na forma, mas convergem num tema central. Um sistema que funciona como o cérebro humano. Uma rede de neurônios artificiais que aprende como nós aprendemos. Uma simulação do pensamento humano. Alguns alunos vão mais longe: algo que pode desenvolver consciência se ficar complexo o suficiente. Um aluno, numa turma recente, escreveu com toda a seriedade: a primeira etapa para criar vida artificial.

Então mostro o que uma rede neural realmente é.

Uma função matemática. Composta de outras funções matemáticas menores, organizadas em camadas. Cada camada recebe números, multiplica por pesos, aplica uma transformação não-linear, passa o resultado para a próxima camada. No final, sai um número — ou um vetor de números — que representa a saída do modelo.

O silêncio que se segue tem uma qualidade específica. Não é decepção exatamente. É o silêncio de quem está recalibrando a distância entre o que esperava e o que encontrou.


De onde vem a imagem errada

A culpa não é dos alunos. A imagem que eles carregam foi construída cuidadosamente, ao longo de anos, por filmes, séries, noticiários e — é preciso admitir — pela própria forma como o campo se apresenta ao mundo.

“Rede neural” é um nome que evoca biologia. “Neurônio artificial” sugere que estamos reproduzindo algo do cérebro. “Deep learning” — aprendizado profundo — soa como cognição em camadas, como se profundidade matemática fosse profundidade de pensamento. Quando veículos de comunicação publicam imagens de redes neurais, mostram esferas luminosas conectadas por linhas pulsantes, como sinapses num cérebro digitalizado.

Tudo isso é representação, não descrição. E a representação criou uma expectativa que o mecanismo real não sustenta.

A história real é mais simples — e, a meu ver, mais bonita precisamente por ser simples.


O que realmente é um neurônio artificial

Em 1943, Warren McCulloch e Walter Pitts propuseram o primeiro modelo matemático de um neurônio. A ideia era elegante: um neurônio biológico recebe sinais de outros neurônios, soma esses sinais, e dispara — ou não — dependendo se a soma ultrapassa um limiar.

McCulloch e Pitts abstraíram isso para matemática: uma unidade que recebe entradas numéricas, multiplica cada uma por um peso, soma tudo, e aplica uma função que decide a saída. Um perceptron, como Frank Rosenblatt chamaria em 1958.

A analogia com o neurônio biológico era uma inspiração, não uma afirmação. McCulloch era neurocientista e sabia que estava fazendo uma simplificação radical. Um neurônio biológico é um objeto extraordinariamente complexo — com dinâmicas eletroquímicas, plasticidade sináptica, ramificações dendríticas, modulação por neurotransmissores. O neurônio artificial captura uma caricatura minimalista dessa complexidade: entradas ponderadas, soma, limiar.

O que emergiu dessa caricatura, ao longo de décadas de desenvolvimento, foi algo poderoso por razões que nada têm a ver com fidelidade biológica. Quando você empilha muitas dessas unidades simples em camadas e as treina com gradiente descendente sobre grandes volumes de dados, o sistema resultante consegue aproximar funções extraordinariamente complexas. Reconhecer faces em fotos. Transcrever fala em texto. Traduzir entre idiomas. Jogar Go melhor que qualquer humano.

Não porque o sistema pensa. Mas porque aproximação de funções complexas é, surpreendentemente, o que muitos problemas práticos requerem.


O que “profundo” significa em deep learning

Quando o campo adotou o termo “deep learning” para redes com muitas camadas, a palavra “profundo” ganhou uma conotação que não era intencional.

Profundidade, aqui, é arquitetural. Uma rede é “profunda” no mesmo sentido em que um prédio de trinta andares é mais alto que um de três — há mais camadas entre a entrada e a saída. Cada camada aprende a representar o dado em diferentes níveis de abstração: as primeiras camadas de uma rede de visão computacional detectam bordas e gradientes; as intermediárias detectam formas e texturas; as mais próximas da saída detectam estruturas de alto nível como rostos ou objetos.

Isso é genuinamente interessante do ponto de vista de representação de dados. Não tem relação com profundidade cognitiva, filosófica ou consciente.

Mas “deep learning” soa como aprendizado profundo no sentido humano. E esse equívoco tem consequências. Quando um modelo de linguagem produz um texto eloquente sobre sofrimento humano, pessoas treinadas pela metáfora do cérebro digital perguntam se o modelo está sofrendo. A pergunta não é absurda dado o vocabulário — é absurda dado o mecanismo. O modelo está computando distribuições de probabilidade sobre sequências de tokens. A eloquência emergiu do treinamento sobre textos humanos, não de experiência interna.


Por que a diferença importa para quem vai construir sistemas

Um estudante que acredita que redes neurais são simulações do cérebro vai fazer perguntas erradas — e deixar de fazer as certas.

Vai perguntar: quando o modelo vai desenvolver consciência? Em vez de: em que condições esse modelo falha de formas sistemáticas?

Vai perguntar: o modelo está realmente entendendo o problema? Em vez de: o modelo está generalizando bem para exemplos fora da distribuição de treinamento?

Vai perguntar: como o modelo pensa internamente? Em vez de: o que os pesos aprendidos revelam sobre os padrões nos dados?

A primeira família de perguntas é fascinante filosoficamente e quase inútil praticamente. A segunda família é o que permite construir sistemas que funcionam — e identificar quando estão falhando.

Há também uma consequência mais sutil. Quem acredita que redes neurais são análogas ao cérebro tende a atribuir ao modelo uma robustez que ele não tem. Se funciona como um cérebro, deve ser resiliente, adaptável, capaz de lidar com situações inesperadas — como seres humanos são, dentro de certos limites.

Mas redes neurais são profundamente frágeis em formas que cérebros não são. Exemplos adversariais — perturbações mínimas numa imagem, invisíveis ao olho humano — podem fazer um modelo de visão computacional classificar um gato como uma torradeira com alta confiança. Nenhum ser humano faria isso. A fragilidade revela que o modelo não aprendeu nenhuma representação robusta do que é um gato — aprendeu padrões estatísticos que funcionam na maioria dos casos e quebram de formas bizarras em casos que um humano acharia triviais.

Isso não é bug. É consequência direta do que o modelo é: uma função matemática otimizada sobre dados, não um sistema cognitivo com representações do mundo.


O que eu faço com o silêncio depois do experimento

Quando os alunos processam a distância entre o que esperavam e o que encontraram, faço questão de dizer uma coisa:

O mecanismo real não é menos impressionante que a fantasia. É impressionante por razões diferentes — e mais verdadeiras.

É impressionante que uma função matemática relativamente simples, repetida em camadas, seja capaz de aprender a reconhecer tumores em radiografias sem que ninguém tenha programado explicitamente o que é um tumor. É impressionante que o mesmo princípio matemático — ajuste iterativo de pesos para minimizar erro — produza sistemas capazes de traduzir poesia, compor música e prever a estrutura de proteínas que décadas de bioquímica não haviam conseguido resolver.

A impressionante não é a semelhança com o cérebro. É que algo tão simples na concepção seja tão poderoso na escala.

Mas essa admiração só é possível se você vê o mecanismo real. Se você vê apenas a metáfora do cérebro digital, admira uma ficção — e perde a chance de admirar o que realmente está acontecendo.

E, mais importante: perde a chance de entender onde o sistema vai falhar. Porque sistemas que falham de formas que você não previu, em produção, afetando pessoas reais, não são abstrações filosóficas. São consequências de engenheiros que não entenderam o que estavam construindo.


No final da aula em que mostro o que uma rede neural realmente é, sempre há um aluno que pergunta, com uma mistura de alívio e decepção:

— Então é só matemática?

Respondo sempre da mesma forma:

— É apenas matemática da mesma forma que uma sinfonia é apenas vibrações no ar.

A simplicidade do mecanismo não diminui o resultado. Mas você precisa entender o mecanismo para saber o que o resultado pode e não pode ser.

]]>
https://nelsonkoshoji.com/o-que-os-meus-alunos-acham-que-e-uma-rede-neural-e-o-que-ela-realmente-e/feed/ 0
Seu algoritmo é enviesado. Não porque alguém quis — mas porque o mundo é. https://nelsonkoshoji.com/seu-algoritmo-e-enviesado-nao-porque-alguem-quis-mas-porque-o-mundo-e/ https://nelsonkoshoji.com/seu-algoritmo-e-enviesado-nao-porque-alguem-quis-mas-porque-o-mundo-e/#respond Tue, 12 May 2026 00:56:57 +0000 https://nelsonkoshoji.com/?p=221

Tem um exercício que gosto de fazer no início do semestre.

Peço aos alunos que imaginem um sistema de triagem de currículos treinado com dados históricos de contratação de uma empresa de tecnologia. O modelo foi treinado para prever quais candidatos têm maior probabilidade de ser contratados. Os dados abrangem dez anos de processos seletivos. A acurácia é boa.

Então faço uma pergunta: esse modelo é justo?

A maioria dos alunos responde instintivamente que sim — afinal, o modelo apenas aprendeu com dados reais, com decisões humanas reais. Não há nenhuma regra explícita discriminando ninguém. Nenhuma intenção maliciosa. Só matemática.

Então faço a segunda pergunta: e se, nos últimos dez anos, essa empresa contratou predominantemente homens para cargos técnicos?

O silêncio que se segue é o momento em que o problema se torna real.

O modelo não foi programado para discriminar. Ele foi treinado para reproduzir o padrão histórico de contratação. E o padrão histórico de contratação carregava um viés que existia muito antes do algoritmo — no mercado de trabalho, nas desigualdades de acesso à formação técnica, nas dinâmicas sociais que moldaram quem chegou a candidatar aquelas vagas durante uma década. O modelo não criou esse viés. Ele o herdou. E ao reproduzi-lo em escala, com a aparência de objetividade que números conferem, ele o perpetuou.

Isso é viés algorítmico. E começa muito antes do primeiro linha de código.


O viés não está no algoritmo. Está em tudo que veio antes.

Quando o tema de viés em IA aparece na mídia, a narrativa costuma ser binária: ou o algoritmo é neutro e objetivo — afinal, são apenas números — ou foi deliberadamente programado para discriminar por engenheiros mal-intencionados.

As duas narrativas são falsas. E a segunda é particularmente perigosa porque, ao exigir intenção maliciosa como condição para o problema existir, acaba absolvendo a maioria dos casos reais — onde não há intenção alguma, mas o dano é concreto.

O viés algorítmico é quase sempre involuntário. E é quase sempre inevitável quando você treina modelos sobre dados que refletem um mundo historicamente desigual — o que descreve praticamente todos os dados que existem sobre comportamento humano.

O viés entra em pelo menos quatro momentos distintos do processo, e vale examinar cada um.

No momento da coleta. Os dados que existem não são uma amostra aleatória do mundo. São um registro do que foi medido, por quem tinha acesso aos instrumentos de medição, sobre quem estava visível para ser medido. Dados históricos de saúde sobrerrepresentam populações com acesso a serviços médicos. Dados de crédito sobrerrepresentam pessoas que já participaram do sistema financeiro formal. Dados de desempenho acadêmico refletem quem teve acesso a educação de qualidade. Quem não está nos dados não existe para o modelo.

No momento da rotulação. Dados supervisionados precisam de rótulos — alguém ou algum sistema que diga o que é correto. Quando os rótulos são decisões humanas históricas, eles carregam os preconceitos de quem as tomou. Um modelo treinado para prever “bom funcionário” a partir de avaliações de desempenho históricas aprende o que os gestores daquela época, naquele contexto, consideravam bom desempenho. Incluindo todos os vieses conscientes e inconscientes que isso implica.

No momento da escolha do objetivo. Como já discutimos no artigo anterior, a métrica que você otimiza molda o que o modelo aprende a valorizar. Se você otimiza para maximizar a produtividade medida de certas formas, o modelo vai aprender a favorecer quem historicamente produziu mais segundo essas métricas — que pode ser sistematicamente correlacionado com características demográficas que nada têm a ver com capacidade real.

No momento da implantação. Mesmo um modelo bem construído pode produzir viés quando implantado em contextos diferentes do que foi treinado. Um modelo de reconhecimento facial treinado principalmente com rostos de pessoas de pele clara vai performar pior em pessoas de pele escura — não porque foi programado assim, mas porque os dados de treinamento não representavam o mundo onde o modelo seria usado.


O problema com a solução óbvia

Quando apresento esse quadro em aula, a solução que os alunos propõem quase imediatamente é: basta remover as variáveis sensíveis dos dados. Não inclui raça, gênero, origem — e o modelo não pode usar essas informações para discriminar.

É uma solução intuitiva. E frequentemente não funciona.

O motivo é que variáveis sensíveis raramente estão isoladas nos dados. Elas estão correlacionadas com dezenas de outras variáveis que parecem neutras mas não são. CEP é uma proxy para raça em cidades historicamente segregadas. Escola frequentada é uma proxy para classe social. Tipo de telefone celular é uma proxy para renda. Lacunas no currículo são uma proxy para gênero em culturas onde mulheres interrompem carreiras por responsabilidades de cuidado.

Quando você remove a variável sensível, o modelo não perde a informação — ele a reconstrói a partir das variáveis correlacionadas. Esse fenômeno tem um nome: proxy discrimination. O modelo não usa raça diretamente. Usa CEP, que usa raça indiretamente. O resultado discriminatório é o mesmo.

Mas há um problema ainda mais fundo. A própria ideia de “remover o viés” pressupõe que existe uma versão neutra dos dados — uma descrição do mundo sem viés, que só precisaria ser revelada se tirássemos as variáveis problemáticas. Essa versão neutra não existe. Os dados são um registro do mundo. E o mundo é desigual. Qualquer modelo treinado sobre dados do mundo real vai aprender, em alguma medida, as desigualdades do mundo real.

Isso não significa que não há nada a fazer. Significa que o problema é mais difícil do que parece — e que soluções simplistas frequentemente criam novos problemas.


Quando remover o viés piora as coisas

Há casos documentados onde tentativas de corrigir viés algorítmico produziram resultados piores para os grupos que pretendiam proteger. Vale examinar um.

Em sistemas de justiça criminal nos Estados Unidos, algoritmos de avaliação de risco são usados para prever a probabilidade de reincidência de réus. Pesquisadores descobriram que um desses sistemas atribuía pontuações de risco mais altas a réus negros em comparação com réus brancos com históricos similares — um viés claro.

A resposta intuitiva seria: ajuste o modelo para que as taxas de erro sejam iguais entre grupos. Problema resolvido.

Mas pesquisadores de fairness em ML descobriram algo perturbador: dependendo de como você define “justo”, as definições são matematicamente incompatíveis entre si. Você pode garantir que o modelo erre na mesma proporção para ambos os grupos. Ou pode garantir que, entre as pessoas que o modelo classifica como alto risco, a proporção de reincidência real seja igual nos dois grupos. Mas não pode garantir as duas coisas ao mesmo tempo — não quando as taxas de reincidência históricas são diferentes entre os grupos, o que é frequentemente o caso em sistemas com histórico de discriminação.

Isso não é um bug que será corrigido com mais dados ou melhor engenharia. É uma impossibilidade matemática que reflete uma tensão real entre diferentes noções de justiça — e que nenhum algoritmo pode resolver sozinho, porque é fundamentalmente uma questão ética e política, não técnica.


O que isso muda na sala de aula

Quando comecei a ensinar IA, tratava viés como um tópico especial — uma seção dedicada no final do semestre, depois de cobrir os algoritmos “de verdade”. Como se fosse um apêndice ético numa disciplina técnica.

Não faço mais isso.

Hoje, a questão do viés aparece na primeira aula, quando discutimos o que significa treinar um modelo sobre dados. Aparece quando falamos de coleta de dados. Aparece quando discutimos métricas de avaliação. Aparece quando analisamos casos reais de implantação.

Porque viés não é um problema ético separado dos problemas técnicos. É uma consequência direta das escolhas técnicas — quais dados usar, o que otimizar, como avaliar, onde implantar. Tratar as duas coisas como separadas é o que permite que engenheiros construam sistemas com consequências discriminatórias e depois digam, com honestidade, que não foi intencional.

Não foi intencional. Mas era previsível. E previsível significa responsabilidade.


O aluno que imaginou o sistema de triagem de currículos no início desta aula estava prestes a construir algo exatamente assim — não por malícia, mas por falta das perguntas certas.

De onde vieram esses dados? Quem estava visível neles e quem estava ausente? O que os rótulos históricos realmente medem? Quem é afetado quando o modelo erra — e erra de formas sistemáticas?

Essas perguntas não aparecem em nenhum tutorial de scikit-learn. Não estão nos benchmarks que usamos para comparar algoritmos. Não são cobradas na maioria das provas de Machine Learning.

Mas são as perguntas que determinam se o sistema que você vai construir vai funcionar para todo mundo — ou apenas para quem já estava bem representado nos dados.

E essa diferença, no fim, é a única que importa para as pessoas do outro lado do algoritmo.

]]>
https://nelsonkoshoji.com/seu-algoritmo-e-enviesado-nao-porque-alguem-quis-mas-porque-o-mundo-e/feed/ 0
Por que eu parei de usar a palavra “inteligência” quando falo de IA para os meus alunos. https://nelsonkoshoji.com/por-que-eu-parei-de-usar-a-palavra-inteligencia-quando-falo-de-ia-para-os-meus-alunos/ https://nelsonkoshoji.com/por-que-eu-parei-de-usar-a-palavra-inteligencia-quando-falo-de-ia-para-os-meus-alunos/#respond Tue, 12 May 2026 00:52:25 +0000 https://nelsonkoshoji.com/?p=214

Foi durante uma aula sobre redes neurais.

Eu havia explicado a arquitetura, mostrado como os pesos são ajustados durante o treinamento, demonstrado o resultado num problema de classificação de imagens. O modelo performava bem. Os alunos estavam engajados.

Então um aluno levantou a mão e fez uma pergunta que, na superfície, parecia simples:

— Professor, em que momento a rede começa a entender o que está vendo?

Fiz uma pausa.

Não porque a pergunta fosse ingênua — era, na verdade, uma das perguntas mais inteligentes que alguém poderia fazer. Era porque percebi, naquele momento, que não havia uma resposta boa dentro do vocabulário que eu havia usado a aula inteira. Eu havia falado em “inteligência artificial”, em como o modelo “aprende a reconhecer padrões”, em como ele “decide” qual classe atribuir a cada imagem.

O aluno estava apenas seguindo o vocabulário que eu mesmo havia oferecido. E esse vocabulário havia criado uma expectativa que o mecanismo real não conseguia satisfazer.

A rede não entende nada. Nunca vai entender. E eu havia passado cinquenta minutos usando palavras que sugeriam o contrário.


Um campo que se nomeou com as palavras erradas

A Inteligência Artificial nasceu, como campo formal, numa conferência em Dartmouth em 1956. John McCarthy, um dos organizadores, escolheu o nome. A proposta original dizia que o objetivo era fazer máquinas se comportarem de formas que, se observadas em seres humanos, seriam chamadas de inteligentes.

É uma definição operacional cuidadosa — baseada no comportamento observável, não em afirmações sobre estados internos. McCarthy sabia o que estava fazendo. O problema não foi a definição. Foi o nome.

“Inteligência Artificial” é um nome que carrega consigo décadas de ficção científica, intuições sobre a mente humana e expectativas sobre o que “ser inteligente” significa. Quando você ouve que uma máquina é inteligente, não pensa em multiplicações de matrizes e gradiente descendente. Pensa em algo que entende, que raciocina, que talvez sinta.

E o campo não parou no nome. Ao longo das décadas, foi acumulando um vocabulário inteiro emprestado da psicologia e da filosofia da mente: os modelos aprendem, compreendem, decidem, reconhecem, raciocinam, julgam. Redes neurais têm neurônios e sinapses. Sistemas têm memória e atenção. Agentes têm crenças e intenções.

Cada uma dessas palavras é uma metáfora. Cada metáfora é útil para comunicar rapidamente o que um sistema faz de forma aproximada. E cada metáfora, quando tomada ao pé da letra, cria uma falsa imagem do que está realmente acontecendo.


O que cada palavra está escondendo

Vale a pena examinar algumas dessas metáforas de perto — não para descartá-las, mas para ver o que elas iluminam e o que elas escondem.

“Inteligência”

No uso cotidiano, inteligência implica flexibilidade — a capacidade de resolver problemas novos em domínios variados, de transferir conhecimento entre contextos, de adaptar estratégias quando o ambiente muda. Um ser humano inteligente não precisa ter visto exatamente aquele problema antes para ter uma chance razoável de resolvê-lo.

Os sistemas que chamamos de IA em geral não têm isso. São extraordinariamente competentes dentro do domínio em que foram treinados — e frequentemente frágeis fora dele. Um modelo que joga xadrez melhor que qualquer humano não consegue jogar damas. Um modelo de linguagem que escreve código fluente em Python pode gerar absurdos numa linguagem menos representada nos dados de treinamento. Isso não é inteligência geral — é competência estreita e profunda, que é uma coisa diferente e em vários aspectos mais limitada.

“Compreensão”

Compreender algo implica representação interna — uma estrutura mental que captura as relações entre conceitos, que permite fazer inferências, que sustenta explicações. Quando você compreende por que objetos caem, você entende gravidade de uma forma que permite raciocinar sobre casos que nunca viu.

Modelos de linguagem produzem texto que frequentemente parece demonstrar compreensão. Respondem perguntas, explicam conceitos, fazem analogias. Mas há experimentos simples que revelam os limites: perguntas que invertem levemente a estrutura de um problema que o modelo “resolveu” corretamente produzem erros grosseiros. O modelo não estava compreendendo — estava reconhecendo padrões superficiais que se parecem com compreensão nos casos mais comuns.

“Decisão”

Quando um sistema de IA “decide” qual anúncio mostrar, qual candidato selecionar, qual paciente priorizar, a palavra “decisão” importa um peso ético que o mecanismo real não carrega. Decisões humanas envolvem responsabilidade, julgamento, possibilidade de ser questionado e de explicar o raciocínio.

Um modelo que produz uma saída a partir de uma entrada não decide no mesmo sentido. Ele computa. A responsabilidade pela decisão — quais dados usar, qual objetivo otimizar, quais consequências aceitar — pertence às pessoas que construíram e implantaram o sistema. Usar a palavra “decisão” para descrever a saída do modelo frequentemente serve para obscurecer onde a responsabilidade humana realmente está.


O perigo concreto das metáforas

Isso não é uma discussão filosófica sem consequências práticas. O vocabulário que usamos para descrever sistemas de IA molda as perguntas que fazemos sobre eles — e as perguntas que não fazemos.

Se um modelo “decide”, a pergunta natural é: a decisão foi correta? Se um sistema “computa uma saída a partir de dados otimizados para um objetivo específico”, as perguntas naturais são outras: quais dados? Otimizado para quê? Quem definiu o objetivo? Quem é responsável pelo resultado?

A segunda família de perguntas é mais trabalhosa. Mas é a que protege as pessoas afetadas pelos sistemas.

Há um padrão que se repete em casos de falha de IA que viraram notícia. Um sistema de reconhecimento facial identifica erroneamente uma pessoa como suspeita. Um algoritmo de seleção filtra currículos de forma discriminatória. Um modelo de concessão de crédito nega empréstimos de forma sistematicamente injusta para certos grupos. Em todos esses casos, a investigação posterior revela que as pessoas que implantaram o sistema confiaram demais no vocabulário — agiram como se o sistema estivesse decidindo ou julgando, quando estava apenas computando uma função sobre dados históricos enviesados.

O vocabulário não causou esses problemas. Mas criou o ambiente mental em que as perguntas certas não foram feitas.


O que eu faço diferente agora

Não abolí o vocabulário padrão das minhas aulas. Isso seria impraticável — os alunos vão encontrar esses termos em todo lugar, e precisam reconhecê-los e usá-los para se comunicar no campo.

O que mudou é que agora introduzo o vocabulário acompanhado explicitamente do que ele está escondendo.

Quando digo “o modelo aprende”, acrescento: no sentido de que seus parâmetros são ajustados para minimizar uma função de perda — não no sentido de que adquire compreensão.

Quando digo “o sistema decide”, acrescento: no sentido de que produz uma saída a partir de uma entrada — a responsabilidade pela escolha do objetivo e dos dados é humana.

Quando digo “rede neural”, menciono: o nome é uma metáfora histórica — o que temos são funções matemáticas compostas em camadas, não neurônios biológicos.

Isso toma mais tempo. Às vezes os alunos acham que estou sendo excessivamente cuidadoso com palavras. Mas volta e meia aparece uma pergunta — como a do aluno que queria saber em que momento a rede começa a entender — que me lembra por que esse cuidado importa.

Aquele aluno estava fazendo a pergunta que o vocabulário convidava a fazer. E a resposta honesta era: a pergunta está baseada numa premissa que o vocabulário criou e que o mecanismo não sustenta.

Isso não é culpa do aluno. É consequência de um campo que se nomeou com as palavras de uma coisa que ainda não sabe construir — e que, décadas depois, ainda não parou para examinar o que esse nome promete e o que os sistemas realmente entregam.


Hoje, quando começo a falar sobre Inteligência Artificial, gosto de fazer uma pausa antes e dizer:

Vamos combinar que vamos usar esse nome porque todo mundo usa. Mas vamos também combinar que vamos lembrar, durante o semestre todo, que é um nome — não uma descrição.

Os alunos riem. Achando que é um detalhe menor.

Não é.

]]>
https://nelsonkoshoji.com/por-que-eu-parei-de-usar-a-palavra-inteligencia-quando-falo-de-ia-para-os-meus-alunos/feed/ 0