Vamos falar um pouco sobre a Inteligência Artificial (IA) e desmistificar uma série de assuntos esclarecendo alguns dos principais mitos em relação a esta tecnologia.
Hoje, a inteligência artificial gira em torno principalmente de redes neurais artificiais e aprendizado profundo, mas nem sempre foi assim.
Durante a maior parte de sua história de pouco mais de seis décadas, o campo da IA foi dominado pela inteligência artificial simbólica, também conhecida como IA clássica, sendo uma IA baseada em regras e antiquada.
A IA simbólica envolve a incorporação explícita do conhecimento humano e regras de comportamento em programas de computador, a prática mostrou muitas promessas nas primeiras décadas de pesquisa em IA.
Mas nos últimos anos, à medida que as redes neurais também conhecidas como IA conexionista ganharam força, a IA simbólica acabou caindo no esquecimento.
O papel dos símbolos na inteligência artificial
Símbolos são coisas que usamos para representar outras coisas, eles desempenham um papel vital no pensamento humano e no processo de raciocínio.
Se eu lhe disser que vi um pássaro em uma árvore, sua mente rapidamente trará uma imagem. Usamos símbolos o tempo todo para definir coisas como: gato, carro, avião, etc. E também pessoas: professor, polícia, vendedor.
Eles também podem representar conceitos abstratos como transações bancárias ou coisas que não existem fisicamente como páginas da web, postagem em blogs, etc.
Eles ainda podem descrever ações em execução ou estados inativos, ou podem ser organizados em hierarquias. Por exemplo, um carro é feito de portas, janelas, pneus, assentos, etc.
Além disso, os símbolos também podem ser usados para descrever outros símbolos, por exemplo, um gato com orelhas fofas, tapete vermelho, etc.
Ser capaz de se comunicar em símbolos é uma das principais características que tornam os humanos inteligentes. Portanto, os símbolos também tiveram um papel crucial na criação da inteligência artificial.
Os pioneiros da IA acreditavam que "todo aspecto do aprendizado ou qualquer outro recurso da inteligência pode, em princípio, ser descrito com tanta precisão que é possível criar uma máquina para simulá-la".
Portanto, a IA simbólica ocupou o centro do palco e se tornou o foco de projetos de pesquisa, os cientistas desenvolveram ferramentas para definir e manipular símbolos.
Muitos dos conceitos e ferramentas que você encontra na ciência da computação são os resultados desses esforços, os programas simbólicos de IA são baseados na criação de estruturas e regras de comportamento explícitas.
Um exemplo de ferramentas simbólicas de IA é a Programação Orientada a Objetos (OOP). Os idiomas OOP permitem definir classes, especificar suas propriedades e organizá-las em hierarquias.
Com isso, você pode criar instâncias dessas classes chamadas de objetos e manipular suas propriedades. As instâncias de classe também podem executar ações, também conhecidas como funções, métodos ou procedimentos.
Cada método executa uma série de instruções baseadas em regras que podem ler e alterar as propriedades dos objetos atuais e outros.
Isso significa que usando a OOP, você pode criar programas de IA simbólicos extensos e complexos que executam várias tarefas.
Os benefícios e limites da IA simbólica
A inteligência artificial simbólica mostrou um ótimo progresso no início da IA e da computação, é possível visualizar facilmente a lógica dos programas baseados em regras, comunicá-los e enviar soluções.
A inteligência artificial simbólica é muito conveniente para configurações nas quais as regras são muito claras, e você pode facilmente obter informações e transformá-las em símbolos.Os sistemas baseados em regras ainda são responsáveis pela maioria dos programas de computador atualmente, incluindo aqueles usados para criar aplicativos de aprendizado profundo.
Mas a IA simbólica começa a apresentar problemas quando é preciso lidar com a bagunça do mundo.
Por exemplo, considere a visão computacional, a ciência de permitir que os computadores compreendam o conteúdo de imagens e vídeos.
Agora, digamos que você tenha uma foto do seu gato e queira criar um programa que possa detectar imagens que contenham ele.
Para isso, você terá que criar um programa baseado em regras que obtém novas imagens como entradas, comparando os pixels à imagem original do gato e responder dizendo se o seu gato está nessas imagens.
Isso funcionará apenas enquanto você fornecer uma cópia exata da imagem original para o seu programa, uma imagem ligeiramente diferente do seu gato produzirá uma resposta negativa.
Por exemplo, se você tirar uma foto do seu gato de um ângulo um pouco diferente, o programa não poderá mais detectá-lo e irá falhar no seu objetivo.
Uma solução é tirar fotos do seu gato de diferentes ângulos e criar novas regras para o seu aplicativo comparar cada entrada com todas essas imagens.
No entanto, mesmo que você tire um milhão de fotos do seu gato e implemente outras regras, isso não preencherá todos os casos possíveis.
Uma simples alteração nas condições de iluminação ou no fundo da imagem altera o valor do pixel e poderá causar alguma falha no programa, você precisará de milhões de outras fotos e regras para isso.
E se você quisesse criar um programa que pudesse detectar qualquer gato? Quantas regras você precisaria criar para isso?
O exemplo do gato pode parecer ridículo, mas esses são os tipos de problemas com os quais os programas simbólicos de IA sempre tiveram que enfrentar.
Você não pode definir regras para os dados confusos existentes no mundo real. Por exemplo, como você pode definir as regras de um carro autônomo para detectar todos os diferentes pedestres que ele pode encontrar?
Além disso, algumas tarefas não podem ser traduzidas para regras diretas, incluindo reconhecimento de fala e processamento de idioma natural.
Houve vários esforços para criar sistemas de IA simbólicos complicados que abrangem as inúmeras regras de determinados domínios chamados de sistemas especialistas.
Esses modelos simbólicos de IA usam conhecimento e regras codificadas para lidar com tarefas complicadas, como por exemplo, diagnóstico médico.
Mas eles exigem muito esforço de especialistas e engenheiros de software e trabalham apenas em casos de uso muito restritos.
Assim que você generalizar o problema, haverá uma explosão de novas regras a serem adicionadas, lembra do problema de detecção de gatos?
Bom, para solucionar isso, o programa exigirá mais trabalho humano, e de acordo com alguns cientistas da IA, os sistemas simbólicos da IA não podem resolver a nível do problema.
Redes neurais vs IA simbólica
As redes neurais são quase tão antigas quanto a IA simbólica, mas foram amplamente descartadas por serem ineficientes e precisar de recursos de computação que não estavam disponíveis no momento.
Na década passada, graças a grande disponibilidade de dados e poder de processamento, o aprendizado profundo ganhou popularidade e ultrapassou os sistemas simbólicos de IA.
A vantagem das redes neurais é que elas podem lidar com dados confusos e não estruturados. Considere o exemplo do detector de gatos novamente.
Em vez de trabalhar manualmente com as regras de detecção de pixels de gatos, você pode treinar um algoritmo de aprendizado profundo em muitas fotos de gatos.
A rede neural desenvolve um modelo estatístico para imagens de gatos. Quando você fornecer uma nova imagem, ela retornará a probabilidade de conter um gato na imagem.
O aprendizado profundo e as redes neurais se destacam exatamente nas tarefas com as quais a IA simbólica luta para entender.
Essas tecnologias criaram uma revolução em aplicativos de visão computacional, como reconhecimento facial e detecção de câncer, o aprendizado profundo também promoveu avanços nas tarefas relacionadas ao idioma.
As redes neurais profundas também são muito adequadas para o aprendizado por reforço, modelos de IA que desenvolvem seu comportamento através de inúmeras tentativas e erros, esse é o tipo de IA que domina jogos complicados, como GO, StarCraft e Dota.
Mas os benefícios do aprendizado profundo e das redes neurais não são isentos de compromissos, o aprendizado profundo tem vários desafios e desvantagens em comparação com a IA simbólica.
Notavelmente, os algoritmos de aprendizado profundo são opacos, e descobrir como eles funcionam deixa até seus criadores intrigados. Além disso, é muito difícil se comunicar e solucionar problemas em seu funcionamento interno.
As redes neurais também têm muita fome de dados. Diferente da IA simbólica, as redes neurais não têm noção de símbolos e representação hierárquica do conhecimento.
Essa limitação dificulta a aplicação de redes neurais em tarefas que exigem lógica e raciocínio, como ciências e matemática do ensino médio.
O estado atual da IA simbólica
Alguns acreditam que a IA simbólica está morta, mas essa é uma suposição equivocada, os sistemas de IA baseados em regras ainda são muito importantes nos aplicativos atuais.
Muitos cientistas importantes acreditam que o raciocínio simbólico continuará sendo um componente muito importante da inteligência artificial.
Atualmente, existem vários esforços para combinar redes neurais e IA simbólica, um desses projetos é o Neuro-Symbolic Concept Learner (NSCL), um sistema híbrido de IA desenvolvido pelo MIT-IBM Watson AI Lab.
O NSCL usa programas baseados em regras e redes neurais para resolver problemas visuais de resposta à perguntas.
Ao contrário dos modelos puros baseados em redes neurais, a IA híbrida pode aprender novas tarefas com menos dados e é explicável.
Além disso, diferente dos modelos apenas simbólicos, o NSCL não luta para analisar o conteúdo das imagens. Talvez no futuro, teremos tecnologias de IA capazes de raciocinar e aprender.
Mas no momento, a IA simbólica é o principal método para lidar com problemas que exigem pensamento lógico e representação do conhecimento.