Inteligência artificial comoEngenharia: uma abordagem
baseada em problemas e técnicasJacques Wainer
Instituto de Computacao
UNICAMP
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 1
Definições de IA
modelagem do inteligência humana no computador(50-60)
sistemas que implementam comportamentos quechamamos de inteligentes quando os vemos emhumanos
sistemas cujo aspecto central é a representação doconhecimento e busca heurística (70)
sistemas implementados em linguagens exóticas(Lisp e Prolog) (70-80)
inteligência simbólica, sub-simbólica e social (90)
desenvolvimento de sistemas autônomos eadaptáveis (90)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 2
Minha definição de IA
IA é um conjunto deproblemasgenéricos(moderadamente estáveis) e odesenvolvimentoeanálisede técnicas que resolvem esses problemas. IAcomo engenharia.
O engenheirode IA tem que saber como mapear seuproblema prático num problema genérico e que técnicassãoboaspara resolver o problema genérico
O cientistade IA tem que desenvolver novas técnicaspara resolver um problema genérico e tem quecompará-lascom as existentes.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 3
Os problemas genéricos
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 4
Os problemas genéricos II (NLP)
recuperação
tradução
classificação
agrupamento
geração (a partir de fontes estruturadas)
sumarização
diálogo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 5
Problemas genéricos III
Problemas genéricos em visão(?)
Problemas genéricos em processamento de sinais(?)
Problemas genéricos em reconhecimento de fala, deescrita (?)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 6
Diagnóstico
Dado um sistema e observações (talvez) anômalas dosistema, determine a(s) causa(s).
Variações:
pode ser um problema em batch - dado todasobservações de uma só vez, determine o diagnóstico,
ou o problema iterativo - dado uma observaçãodetermine a próxima pergunta/teste ou o diagnóstico
variações quanto o que é o diagnóstico - apenas umafalha, múltiplas falhas, disjunção de falhas, graus decerteza quanto as falhas, etc.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 7
Planejamento
Dado um conjunto de ações, um estado inicial, e umadescrição de possíveis estados objetivos, determine umaordem das ações que leva do estado inicial ao objetivo
ações determinísticas ou não determinísticas
conhecimento do mundo completo ou não
recompensas em vez de objetivos
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 8
Prova de teorema
Dado uma lógica, um conjunto de axiomas, e umaexpressão, verifique se a expressão é uma conseqüênciados axiomas na lógica.
retornar uma prova (inteligível) ou apenas sim/não
prova automática ou direcionada pelo usuário
a lógica é parte do provador ou um dado de entrada
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 9
Jogos
Dado um campo (ou tabuleiro), pelo menos 2 jogadoresindependentes e as ações que cada jogador pode fazer,determinar uma seqüencia de ações em resposta àseqüencia de ações do oponente que leva o jogo a umestado objetivo.
ações em turnos, simultâneas ou assíncronas
conhecimento completo ou não do tabuleiro
aspectos randômicos
tabuleiro estático ou não
recompensas em vez de objetivo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 10
Design/Projeto/Configuração
Dado várias classes de objetos, crie as instanciasapropriadas, coloque-as em certas relações entre si de talforma que o conjunto (ou sistema) satisfaz requisitosfuncionais.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 11
Classificação
Dado um vetor multi-dimensional, classifique-o em umaden classes.
Variações:
atributos numéricos e/ou categóricos
atributos faltantes
classificar em uma ou mais classes talvez com grausde certeza
vários vetores e talvez relações entre eles
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 12
Regressão
Dado um vetor multi-dimensional, compute um valornumérico associado ao vetor.
atributos numéricos e/ou categóricos e/ou faltantes
a saída é um vetor de valores
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 13
Agrupamento
Dado um conjunto de vetores multi-dimensionais (comatributos numéricos e/ou categóricos e/ou faltantes),agrupe-os em sub-conjuntos “razoáveis” ou emhierarquias.
o número de sub-conjuntos pode ou não serconhecido
um mesmo vetor pode pertencer a mais de umsub-conjunto
associar um grau de certeza a cada pardado/sub-conjunto.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 14
Detecção de outliers
Dado um conjunto de vetores multi-dimensionais (comatributos numéricos e/ou categóricos,faltantes) agrupe-osem conjuntos “normal” e “excepcional” onde o conjuntoexcepcional tem “poucos” elementos.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 15
Percepção/monitoração
Dado uma seqüencia de observações, segmente aseqüencia e classifique cada segmento em uma den
classes.
seqüencia pode ser de observações discretas eatômicas, ou pode ser uma seqüencia continua de“sinais” (processamento de sinais ?)
classificar em uma ou mais classes, com possíveisgraus de certeza
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 16
Previsão
Dado uma seqüencia de valores preveja o próximoelemento da seqüencia
dadon seqüencias em paralelo
preveja os próximosn valores
a previsão pode ser varias sequencias em paralelo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 17
Controle
Dado um sistema em um ambiente, e observações dealgumas características do sistema e do ambiente, definauma seqüencia de ações do sistema em resposta àsobservações que mantém o sistema num estado “bom.”
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 18
Robótica
Dado um robô num ambiente, defina uma seqüencia deações do robô que faça com que ele atinja um certoobjetivo.
ambiente real ou simulado
discreto ou continuo
robô sozinho ou não
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 19
Problemas genéricos em NLP
Recuperacao Dado um documento, ou palavras eexpressões, e um conjunto de textos, recupere doconjunto os textos que são “similares” ou”relevantes” ao documento ou palavras dado.
Traducao Dado um documento em uma língua, produzaum documento com o “mesmo conteúdo” em outralíngua.
Classificacao Dado um documento, classifique-o emuma den classes.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 20
Problemas genéricos em NLP
Agrupamento Dado um conjunto de documentos,agrupe-os em sub-conjuntos de documentos“similares.”
Geracao Dado informação estruturada como tabelas,listas, frames, etc, gere um texto que “contém” essainformação.
Sumarizacao Dado um texto, gere um texto menor quecontém o “essencial” do texto original
Sistema de dialogo Um sistema que entende fala(escrita ?) e responde dentro de um domínioespecífico, Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 21
Outro nomes para alguns problemas
classificação + agrupamento + outliers = data mining
classificação = aprendizado supervisionado,reconhecimento de padrões
regressão = aproximação de funções
agrupamento = aprendizado não supervisionado
previsão = séries temporais
percepção = processamento de sinais (?)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 22
As técnicas
Dados os problemas quais são as técnicas que podem serrazoavelmente usadas na sua solução?
Dados os problemas quais são as técnicas que sãoboaseas que sãoruins para resolver o problema (e qual é amétrica)?
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 23
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
diagnóstico em batch defalha única
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
janela de tamanho fixo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
agrupar em normal e nãonormal
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
quantização da saída oumúltiplas saídas (RN)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
janela de tamanho fixo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
A relação “pode ser visto como”
diagnóstico
planejamento
prova de teoremas
jogos competitivos
design(projeto)
classificação
regressão
agrupamento
detecção deoutliers
percepção
previsão
controle
robótica
Observações = entrada , At-uador = saída
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 24
Mapeando NLP com outros proble-mas
Usando a idéia devector modelNLP
recuperação
tradução
classificação
agrupamento
geração (de fontesestruturadas)
sumarização
dialogo
classificação
regressão
agrupamento
outliers
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 25
Mapeando NLP com outros proble-mas
Usando a idéia devector modelNLP
recuperação
tradução
classificação
agrupamento
geração (de fontesestruturadas)
sumarização
dialogo
classificação
regressão
agrupamento
outliers
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 25
Mapeando NLP com outros proble-mas
Usando a idéia devector modelNLP
recuperação
tradução
classificação
agrupamento
geração (de fontesestruturadas)
sumarização
dialogo
classificação
regressão
agrupamento
outliers
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 25
Isso é tudo?
Há tambémdomínios: áreas de pesquisaauto-sustentadas por maiores ou menores períodos detempo. Sem uma clara definição se são problemas outécnicas.
lógicas para IA
fuzzy
multi-agentes
ontologias
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 26
Isso é tudo?
Provavelmente será benéfico criar o conceito demacro-técnicasque agregam técnicas com idéias econceitos parecidos:
aprendizado estatístico
busca por uma solução “boa” (busca genética, local,etc)
busca por um caminho para um objetivo (buscatradicional em IA)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 27
Isso é tudo?
Talvez não.
Outras coisas podem ser classificadas como IA(temporariamente) mas voce ficará muito sozinhotrabalhando nelas, e terá problemas para publicar.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 28
Por que esses problemas?
Por que são esses os problemas genéricos, e não outros?
minha intuição
próximos de problemas práticos
não embutem a solução na definição do problema
definem métricas naturais para comparar soluções
definem comunidades de práticas
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 29
Próximo aos problemas práticos
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
exceções
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 30
Não embutem a solução na definição
Quero evitar coisas como, “como controlar um conjuntode sistemas autônomos?”. Ou “como bolar uma lógicaque me permita raciocionar sobre agentes com posiçõescontraditórias?” que são justificativas para os domínios.
Problemas práticos não tem esses requisitos:“autonomos”, “raciocinar”
Problema com provadores de teoremas!
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 31
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Taxa de acerto, etc
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Erro quadrado médio, etc
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Competições
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Velocidade da prova, com-pletude, tamanho da prova(?)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Velocidade do provador,completude, qualidade doplano
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Qualidade do design (?)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem métricas naturais
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não tem métricas !!
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 32
Definem comunidades de práticas
Alguns dos problemas genéricos congregamcomunidades “epistêmicas” mais ou menos bemdefinidas com mesmos valores, pressuposições, etc.
Exemplo mais claro - planejamento:
valores: qual são as conferências boas(AIPS/ICAPS) e as menos boas.
método de pesquisa: entrar na competição e ir bem
discussão metodológica pelos “decanos”
espaço (não central) para pesquisas na fronteira
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 33
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não é uma comu-nidade bem definida(conferência de 2 em 2anos)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Comunidade pequena,método: TPTP (1000probl. de prova deteoremas) conferencia(CADE), revista
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Provavelmente comu-nidades especificas porjogo
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não sei, pouca genteem design
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Grande quantidade degente; método: UCIML data set, conferen-cias (ICML, NIPS), re-vistas (Machine Learn-ing)
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Subgrupos dentro demineração
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não sei
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não sei, talvez na es-tatística
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não sei, talvez na en-genharia elétrica
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Comunidades
diagnóstico
planejamento
prova de teoremas
jogos
design
classificação
regressão
agrupamento
outliers
percepção
previsão
controle
robótica
Não sei muito,mas provavel-mente há váriassub-comunidades
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 34
Contra-exemplos para comunidades
Classificação, regressão, e outliers se congregam numaúnica comunidade (data mining).
Domínios também geram suas comunidades!!
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 35
Métrica de pesquisa vs de uso
A pesquisa em IA envolve desenvolver técnicas que seigualam ou melhoram os resultados de outras técnicasnas métricas naturais do problema genérico.
Mas para o engenheiro de IA, outra métrica é tambémimportante: quão fácil é usar a técnica em questão, ouquantos graus de liberdade é preciso controlar para sechegar no desempenho desejado.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 36
Ensino de IA
A graduação forma engenheiros de IA. Ensinar osproblemas genéricos e algumas técnicas produtivas emresolve-los. Dizer explicitamente quais são as técnicasboas e as ruins (segundo a métrica de uso!!)
Pós-graduação forma cientistas de IA. Estudar a fundoum ou mais problemas genéricos e as várias técnicaspara resolve-lo.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 37
O cientista de IA
Na sua maioria dos cientistas de IA no Brasil seaprofundam na técnica e não no problema.
Minha hipótese é que é melhor se aprofundar noproblema genérico e não na técnica.
Problema prático em fixar-se numa técnica: fica cada vezmais difícil justificar sua contribuição.
Problema téorico/filosófico: é preciso comparar asvárias técnicas (inclusive pela métrica de uso).
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 38
O cientista de IA - domínios
Cuidado ao trabalhar em domínios!! Fique atento.
Eles podem sair do “mainline”, e voce fica isolado emconferências e revistas “secundárias” e/ou próprias.
Voce terá problemas crescentes em justificar suapesquisa para grupos mais amplos.
Inteligencia artificial como Engenharia: uma abordagem baseada em problemas e tecnicas – p. 39
Top Related