Redes neurais… Num Atari 8 bits?

Redes neurais, segundo a Wikipédia, são modelos computacionais inspirados pelo sistema nervoso central de um animal (em particular o cérebro) que são capazes de realizar o aprendizado de máquina bem como o reconhecimento de padrões. [Redes neurais artificiais] (…) são apresentadas como sistemas de “neurônios interconectados, que podem computar valores de entradas”, simulando o comportamento de redes neurais biológicas.

Então, resolveram usar um Atari 800XL para reconhecimento de padrões! Mas como fizeram isso?

Vamos a algumas explicações:

  • Nessa experiência, o Atari 800XL fará o reconhecimento de padrões.
  • A rede neural é composta de 4 camadas, 1 entrada, 196 neurônios, 2 neurônios “escondidos” e 1 saída. No total, 212 neurônios. Eu não sei como essa conta é feita, mas vou acreditando.
  • Foram criadas 18623 amostras de treinamento e 3147 amostras de teste.
  • O interpretador BASIC usado foi o Turbo BASIC XL 1.5, escrito por Frank Ostrowski. Sim, é um programa em BASIC, que é exibido no vídeo.
  • Os resultados são impressionantes: O Atari tem uma precisão de 96,75% com as amostras de treinamento e 97,23% das amostras de teste.
  • O treinamento foi feito em uma máquina atual, com processador de 64 bita. Logo, o Atari 800XL não realizou o aprendizado de máquina, mas herdou esse aprendizado feito por outra máquina. Antes que alguém o recrimine por isso, isto é algo bem comum, acontece o tempo todo no campo da IA.
  • Para acelerar o processo e reduzir a base de dados, foi determinado que ele deveria reconhecer uma imagem com resolução de 14 x 14 pixels, em preto e branco. As imagens seriam na verdade os algarismos 0, 1 e 2. Logo, eles seriam desenhados em ASCII na tela, para que o programa reconhecesse.
  • O programa foi executado em um emulador do Atari 800XL (o Altirra/x64) para facilitar o processo de captura das imagens e geração do vídeo. Mas poderia ter sido executado em um Atari 800XL real.
  • Não vamos detalhar informações a respeito do Atari 800XL, mesmo porque vocês já conhecem a arquitetura: processador 6502, 1,73 MHz, 64 Kb de RAM, lançado em 1983… Maiores informações estão aqui.

O resultado está no vídeo abaixo.

E eu já fiquei pensando em fazer algo do tipo no MSX! Olha só a ideia…

Eu tenho quase certeza de que o Augusto Baffa vai ler isso tudo aqui e nos corrigir. Afinal, quem entende de IA é ele, não nós. Mas se você entende também e quer mencionar alguma besteira que falamos, fique a vontade!

Sobre Ricardo Pinheiro

Ricardo Jurczyk Pinheiro é uma das mentes em baixa resolução que compõem o Governo de Retrópolis. Editor do podcast, rabiscador não profissional e usuário apaixonado, fiel e monogâmico do mais mágico dos microcomputadores, o Eme Esse Xis.