|
|
||
|---|---|---|
| .. | ||
| 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 fazer 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 explicitamente programada, porque não sabemos como chegamos a um número na nossa cabeça ao fazer isso.
Existem algumas tarefas, no entanto, que não sabemos explicitamente como resolver. 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 fazemos isso, 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 você 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 se beneficiando 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 se destacam em realizar uma tarefa predefinida, mas não possuem verdadeira compreensão ou consciência. | Esses sistemas de IA têm a capacidade de realizar qualquer tarefa intelectual que um ser humano pode 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 se adaptar 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 inteligência está conectada 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?". Pessoas diferentes tendem a dar respostas diferentes a essa pergunta, já que não há um teste universalmente aceito para provar se a afirmação é verdadeira ou não. E se você acha que há - tente aplicar um teste de QI ao seu gato...
✅ Pense por um minuto sobre como você define inteligência. Um corvo que consegue resolver um labirinto para alcançar comida é inteligente? Uma criança é inteligente?
Ao falar sobre AGI, precisamos ter alguma forma de dizer se criamos um sistema verdadeiramente inteligente. Alan Turing propôs uma maneira chamada Teste de Turing, que também funciona como uma definição de inteligência. O teste compara um sistema dado com algo inerentemente inteligente - um ser humano real, e como qualquer comparação automática pode ser burlada 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 menino 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 passar até 2000. No entanto, deve-se entender que isso não indica que criamos 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 você já foi enganado por um chatbot pensando que estava falando com um humano? Como ele te convenceu?
Diferentes Abordagens para IA
Se quisermos que um computador se comporte como um humano, precisamos de alguma forma modelar dentro do computador nossa maneira de pensar. Consequentemente, precisamos tentar entender o que torna um ser humano inteligente.
Para ser capaz de programar inteligência em uma máquina, precisamos entender como funcionam nossos próprios processos de tomada de decisão. Se você fizer um pouco de autoanálise, 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 de Cima para Baixo (Raciocínio Simbólico) | Abordagem de Baixo para Cima (Redes Neurais) |
|---|---|
| Uma abordagem de cima para baixo modela a maneira como uma pessoa raciocina para resolver um problema. Envolve extrair conhecimento de um ser humano e representá-lo em uma forma legível por computador. Também precisamos desenvolver uma maneira de modelar o raciocínio dentro de um computador. | Uma abordagem de baixo para cima modela a estrutura do cérebro humano, consistindo 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 vamos nos concentrar em duas direções principais: de cima para baixo e de baixo para cima.
A Abordagem de Cima para Baixo
Na abordagem de cima para baixo, tentamos modelar nosso raciocínio. Como podemos seguir 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 em sua mente que orientam seus processos de tomada de decisão. Por exemplo, quando um médico está diagnosticando um paciente, ele ou ela pode perceber que a pessoa tem febre e, portanto, pode haver alguma inflamação ocorrendo no corpo. Ao aplicar um grande conjunto de regras a um problema específico, o médico pode ser capaz de chegar ao diagnóstico final.
Essa 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 saberia exatamente por que está chegando a um diagnóstico específico. Às vezes, a solução simplesmente surge em sua mente sem pensar explicitamente. Algumas tarefas, como determinar a idade de uma pessoa a partir de uma fotografia, não podem ser reduzidas à manipulação de conhecimento.
Abordagem de Baixo para Cima
Alternativamente, podemos tentar modelar os elementos mais simples dentro do nosso cérebro – um neurónio. Podemos construir uma chamada rede neural artificial dentro de um computador e, em seguida, tentar ensiná-la a resolver problemas fornecendo exemplos. Esse processo é semelhante à forma como um recém-nascido aprende sobre 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 o ML? Parte da Inteligência Artificial que se baseia no computador aprendendo a resolver um problema com base em alguns dados é chamada de Machine Learning. Não consideraremos o aprendizado de máquina clássico neste curso - recomendamos o currículo separado Machine Learning para Iniciantes.
Um Breve Histórico 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 isso levou a uma série de sucessos importantes, como sistemas especialistas – programas de computador que eram capazes de agir 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 em um computador e manter essa base de conhecimento precisa acaba sendo 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 são baseados 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 eram baseados em busca – um programa tentava explicitamente estimar os possíveis movimentos de um oponente para um determinado número de próximos movimentos 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 são baseados em redes neurais e aprendizado por reforço, onde os programas aprendem a jogar exclusivamente jogando contra si mesmos por muito tempo e aprendendo com seus 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 falantes” (que podem passar no Teste de Turing) mudou:
- Programas iniciais desse tipo, como Eliza, eram baseados em regras gramaticais muito simples e na reformulação da frase de entrada em uma 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 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 neurais 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 Neurais Convolucionais foram usadas pela primeira vez na classificação de imagens, o que levou a uma queda 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 Neurais 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 haver uma grande quantidade de dados de texto geral disponíveis, permitindo treinar modelos para capturar a estrutura e o significado dos textos, pré-treiná-los em coleções de texto geral e, depois, 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 mapeamento, 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 Individual
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 pesquise-o mais profundamente para compreender o contexto cultural que informa a sua evolução.
Tarefa: Game Jam
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos pela precisão, esteja ciente de 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 uma tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.




