|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| assignment.md | ||
README.md
Introdução à IA
Sketchnote por Tomomi Imura
Questionário pré-aula
Inteligência Artificial é uma disciplina científica fascinante que estuda como podemos fazer com que os computadores exibam comportamentos inteligentes, ou seja, realizem aquelas coisas em que os seres humanos são bons.
Originalmente, os computadores foram inventados por Charles Babbage para operar com números seguindo um procedimento bem definido - um algoritmo. Os computadores modernos, embora significativamente mais avançados do que o modelo original proposto no século XIX, ainda seguem a mesma ideia de cálculos controlados. Assim, é possível programar um computador para realizar algo se soubermos a sequência exata de passos necessários para alcançar o objetivo.
Foto por Vickie Soshnikova
✅ Definir a idade de uma pessoa a partir de sua fotografia é uma tarefa que não pode ser programada explicitamente, porque não sabemos como chegamos a um número na nossa cabeça ao fazer isso.
No entanto, há algumas tarefas que não sabemos resolver explicitamente. Considere determinar a idade de uma pessoa a partir de sua fotografia. De alguma forma, aprendemos a fazer isso porque vimos muitos exemplos de pessoas de diferentes idades, mas não conseguimos explicar explicitamente como o fazemos, nem podemos programar o computador para fazê-lo. Este é exatamente o tipo de tarefa que interessa à Inteligência Artificial (IA).
✅ Pense em algumas tarefas que poderia delegar a um computador e que se beneficiariam da IA. Considere os campos de finanças, medicina e artes - como esses campos estão a beneficiar-se hoje da IA?
IA Fraca vs. IA Forte
| IA Fraca | IA Forte |
|---|---|
| IA Fraca refere-se a sistemas de IA projetados e treinados para uma tarefa específica ou um conjunto limitado de tarefas. | IA Forte, ou Inteligência Artificial Geral (AGI), refere-se a sistemas de IA com inteligência e compreensão ao nível humano. |
| Esses sistemas de IA não são geralmente inteligentes; eles são excelentes em realizar uma tarefa predefinida, mas carecem de verdadeira compreensão ou consciência. | Esses sistemas de IA têm a capacidade de realizar qualquer tarefa intelectual que um ser humano possa fazer, adaptar-se a diferentes domínios e possuir uma forma de consciência ou autoconsciência. |
| Exemplos de IA Fraca incluem assistentes virtuais como Siri ou Alexa, algoritmos de recomendação usados por serviços de streaming e chatbots projetados para tarefas específicas de atendimento ao cliente. | Alcançar a IA Forte é um objetivo de longo prazo da pesquisa em IA e exigiria o desenvolvimento de sistemas de IA que possam raciocinar, aprender, compreender e adaptar-se a uma ampla gama de tarefas e contextos. |
| IA Fraca é altamente especializada e não possui habilidades cognitivas semelhantes às humanas ou capacidades gerais de resolução de problemas além de seu domínio limitado. | IA Forte é atualmente um conceito teórico, e nenhum sistema de IA atingiu esse nível de inteligência geral. |
Para mais informações, consulte Inteligência Artificial Geral (AGI).
A Definição de Inteligência e o Teste de Turing
Um dos problemas ao lidar com o termo Inteligência é que não há uma definição clara para este termo. Pode-se argumentar que a inteligência está ligada ao pensamento abstrato ou à autoconsciência, mas não conseguimos defini-la adequadamente.
Foto por Amber Kipp do Unsplash
Para ver a ambiguidade do termo inteligência, tente responder à pergunta: "Um gato é inteligente?". Diferentes pessoas tendem a dar respostas diferentes a esta pergunta, pois não há um teste universalmente aceito para provar se a afirmação é verdadeira ou não. E se acha que há - tente submeter o seu gato a um teste de QI...
✅ Pense por um minuto sobre como define inteligência. Um corvo que consegue resolver um labirinto para obter comida é inteligente? Uma criança é inteligente?
Ao falar sobre AGI, precisamos de alguma forma de determinar se criámos um sistema verdadeiramente inteligente. Alan Turing propôs um método chamado Teste de Turing, que também funciona como uma definição de inteligência. O teste compara um sistema a algo inerentemente inteligente - um ser humano real, e como qualquer comparação automática pode ser contornada por um programa de computador, usamos um interrogador humano. Assim, se um ser humano não conseguir distinguir entre uma pessoa real e um sistema de computador em um diálogo baseado em texto - o sistema é considerado inteligente.
Um chatbot chamado Eugene Goostman, desenvolvido em São Petersburgo, chegou perto de passar no Teste de Turing em 2014 usando um truque de personalidade inteligente. Ele anunciou desde o início que era um rapaz ucraniano de 13 anos, o que explicaria a falta de conhecimento e algumas discrepâncias no texto. O bot convenceu 30% dos juízes de que era humano após um diálogo de 5 minutos, uma métrica que Turing acreditava que uma máquina seria capaz de alcançar até 2000. No entanto, deve-se entender que isso não indica que criámos um sistema inteligente ou que um sistema de computador enganou o interrogador humano - o sistema não enganou os humanos, mas sim os criadores do bot!
✅ Alguma vez foi enganado por um chatbot ao pensar que estava a falar com um humano? Como ele o convenceu?
Diferentes Abordagens para IA
Se quisermos que um computador se comporte como um humano, precisamos de alguma forma modelar dentro do computador a nossa maneira de pensar. Consequentemente, precisamos tentar entender o que torna um ser humano inteligente.
Para conseguir programar inteligência numa máquina, precisamos entender como funcionam os nossos próprios processos de tomada de decisão. Se fizer uma pequena introspeção, perceberá que há alguns processos que acontecem subconscientemente – por exemplo, conseguimos distinguir um gato de um cão sem pensar nisso - enquanto outros envolvem raciocínio.
Existem duas abordagens possíveis para este problema:
| Abordagem Top-down (Raciocínio Simbólico) | Abordagem Bottom-up (Redes Neurais) |
|---|---|
| Uma abordagem top-down modela a maneira como uma pessoa raciocina para resolver um problema. Envolve extrair conhecimento de um ser humano e representá-lo de forma legível por computador. Também precisamos desenvolver uma maneira de modelar o raciocínio dentro de um computador. | Uma abordagem bottom-up modela a estrutura do cérebro humano, que consiste em um grande número de unidades simples chamadas neurónios. Cada neurónio age como uma média ponderada de suas entradas, e podemos treinar uma rede de neurónios para resolver problemas úteis fornecendo dados de treino. |
Existem também outras abordagens possíveis para inteligência:
-
Uma abordagem Emergente, Sinergética ou multiagente baseia-se no fato de que comportamentos inteligentes complexos podem ser obtidos pela interação de um grande número de agentes simples. De acordo com a cibernética evolutiva, a inteligência pode emergir de comportamentos mais simples e reativos no processo de transição de metasistema.
-
Uma abordagem Evolutiva, ou algoritmo genético, é um processo de otimização baseado nos princípios da evolução.
Consideraremos essas abordagens mais tarde no curso, mas agora focaremos em duas direções principais: top-down e bottom-up.
A Abordagem Top-Down
Numa abordagem top-down, tentamos modelar o nosso raciocínio. Como conseguimos seguir os nossos pensamentos ao raciocinar, podemos tentar formalizar esse processo e programá-lo dentro do computador. Isso é chamado de raciocínio simbólico.
As pessoas tendem a ter algumas regras na cabeça que orientam os seus processos de tomada de decisão. Por exemplo, quando um médico está a diagnosticar um paciente, ele ou ela pode perceber que a pessoa tem febre e, portanto, pode haver alguma inflamação no corpo. Ao aplicar um grande conjunto de regras a um problema específico, o médico pode chegar ao diagnóstico final.
Esta abordagem depende muito da representação de conhecimento e do raciocínio. Extrair conhecimento de um especialista humano pode ser a parte mais difícil, porque um médico, em muitos casos, não saberá exatamente por que está a chegar a um diagnóstico específico. Às vezes, a solução simplesmente surge na sua cabeça sem pensar explicitamente. Algumas tarefas, como determinar a idade de uma pessoa a partir de uma fotografia, não podem ser reduzidas a manipulação de conhecimento.
Abordagem Bottom-Up
Alternativamente, podemos tentar modelar os elementos mais simples dentro do nosso cérebro – um neurónio. Podemos construir uma rede neural artificial dentro de um computador e, em seguida, tentar ensiná-la a resolver problemas fornecendo exemplos. Este processo é semelhante à forma como um recém-nascido aprende sobre o seu ambiente ao fazer observações.
✅ Faça uma pequena pesquisa sobre como os bebés aprendem. Quais são os elementos básicos do cérebro de um bebé?
E quanto ao ML? Parte da Inteligência Artificial que se baseia no computador aprender a resolver um problema com base em alguns dados é chamada de Machine Learning. Não consideraremos o machine learning clássico neste curso - remetemos para um currículo separado Machine Learning para Iniciantes.
Breve História da IA
A Inteligência Artificial começou como um campo no meio do século XX. Inicialmente, o raciocínio simbólico era a abordagem predominante e levou a uma série de sucessos importantes, como sistemas especialistas – programas de computador que conseguiam atuar como especialistas em alguns domínios de problemas limitados. No entanto, logo ficou claro que essa abordagem não escala bem. Extrair o conhecimento de um especialista, representá-lo num computador e manter essa base de conhecimento precisa revelou-se uma tarefa muito complexa e cara demais para ser prática em muitos casos. Isso levou ao chamado Inverno da IA na década de 1970.
Imagem por Dmitry Soshnikov
Com o passar do tempo, os recursos computacionais tornaram-se mais baratos e mais dados ficaram disponíveis, então as abordagens de redes neurais começaram a demonstrar grande desempenho ao competir com seres humanos em muitas áreas, como visão computacional ou compreensão de fala. Na última década, o termo Inteligência Artificial tem sido usado principalmente como sinónimo de Redes Neurais, porque a maioria dos sucessos da IA que ouvimos falar baseiam-se nelas.
Podemos observar como as abordagens mudaram, por exemplo, na criação de um programa de computador para jogar xadrez:
- Os primeiros programas de xadrez baseavam-se em busca – um programa tentava explicitamente estimar os possíveis movimentos de um oponente para um determinado número de movimentos seguintes e selecionava um movimento ótimo com base na posição ideal que poderia ser alcançada em alguns movimentos. Isso levou ao desenvolvimento do chamado algoritmo de busca alpha-beta pruning.
- Estratégias de busca funcionam bem no final do jogo, onde o espaço de busca é limitado por um pequeno número de movimentos possíveis. No entanto, no início do jogo, o espaço de busca é enorme, e o algoritmo pode ser melhorado aprendendo com partidas existentes entre jogadores humanos. Experimentos subsequentes empregaram o chamado raciocínio baseado em casos, onde o programa procurava casos na base de conhecimento muito semelhantes à posição atual no jogo.
- Programas modernos que vencem jogadores humanos baseiam-se em redes neurais e aprendizagem por reforço, onde os programas aprendem a jogar apenas jogando contra si mesmos por muito tempo e aprendendo com os próprios erros – muito parecido com o que os seres humanos fazem ao aprender a jogar xadrez. No entanto, um programa de computador pode jogar muito mais partidas em muito menos tempo e, assim, aprender muito mais rápido.
✅ Faça uma pequena pesquisa sobre outros jogos que foram jogados por IA.
Da mesma forma, podemos ver como a abordagem para criar “programas que falam” (que podem passar no Teste de Turing) mudou:
- Programas iniciais desse tipo, como Eliza, baseavam-se em regras gramaticais muito simples e na reformulação da frase de entrada numa pergunta.
- Assistentes modernos, como Cortana, Siri ou Google Assistant, são todos sistemas híbridos que usam redes neurais para converter fala em texto e reconhecer a nossa intenção, e depois empregam algum raciocínio ou algoritmos explícitos para realizar as ações necessárias.
- No futuro, podemos esperar um modelo completamente baseado em redes neurais para lidar com diálogos por conta própria. As recentes redes neurais da família GPT e Turing-NLG mostram grande sucesso nisso.
> Imagem de Dmitry Soshnikov, [foto](https://unsplash.com/photos/r8LmVbUKgns) de [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
Investigação Recente em IA
O grande crescimento recente na investigação sobre redes neuronais começou por volta de 2010, quando grandes conjuntos de dados públicos começaram a estar disponíveis. Uma enorme coleção de imagens chamada ImageNet, que contém cerca de 14 milhões de imagens anotadas, deu origem ao ImageNet Large Scale Visual Recognition Challenge.
Imagem de Dmitry Soshnikov
Em 2012, as Redes Neuronais Convolucionais foram usadas pela primeira vez na classificação de imagens, o que levou a uma redução significativa nos erros de classificação (de quase 30% para 16,4%). Em 2015, a arquitetura ResNet da Microsoft Research alcançou precisão ao nível humano.
Desde então, as Redes Neuronais demonstraram um comportamento muito bem-sucedido em várias tarefas:
| Ano | Paridade Humana alcançada |
|---|---|
| 2015 | Classificação de Imagens |
| 2016 | Reconhecimento de Fala Conversacional |
| 2018 | Tradução Automática de Máquinas (Chinês para Inglês) |
| 2020 | Legenda de Imagens |
Nos últimos anos, testemunhámos grandes sucessos com modelos de linguagem de grande escala, como BERT e GPT-3. Isto aconteceu principalmente devido ao facto de existir uma grande quantidade de dados de texto geral disponível, permitindo treinar modelos para capturar a estrutura e o significado dos textos, pré-treiná-los em coleções de texto geral e, posteriormente, especializar esses modelos para tarefas mais específicas. Vamos aprender mais sobre Processamento de Linguagem Natural mais tarde neste curso.
🚀 Desafio
Faça uma pesquisa na internet para determinar onde, na sua opinião, a IA é mais eficazmente utilizada. Será numa aplicação de mapas, num serviço de conversão de fala para texto ou num videojogo? Investigue como o sistema foi construído.
Questionário pós-aula
Revisão & Estudo Autónomo
Revise a história da IA e ML lendo esta lição. Escolha um elemento do sketchnote no início dessa lição ou desta e investigue-o mais profundamente para compreender o contexto cultural que informa a sua evolução.
Tarefa: Game Jam
Aviso:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.




