Inteligência Biológica

Propaganda
Inteligência?
?
que
uar
B
io
a
and
l
o
de H
r, a
nde de
e
r
p
e
de a ender
e
d
r
e
a
p
culd e com udeza
a
f
g
d
a
“ É cidade -se, é a ia. ”
r
c
a
cap adapta rspicá
pe
él
Au r
___________________
Antonio G. Thomé - 98
A história da pesquisa em IA não é tão recente quanto se possa pensar. Na
realidade, muito antes dos computadores surgirem, o homem ansiava por
conhecer os mistérios do seu próprio cérebro e tornar-se capaz de recriá-lo
artificialmente. De uma maneira científica, pode-se dizer que as pesquisas em
torno da capacidade cerebral do homem remonta há aproximadamente 40 anos
de existência. Alguns dos resultados concretos obtidos até então incluem o
reconhecimento da sua complexidade tanto estrutural quanto operacional, e a
concientização de que Inteligência requer conhecimento e que este, geralmente,
é volumoso, difícil de ser formalizado e está em constante mutação.
As seguintes questões são sempre levantadas pela comunidade científica, sem
que ainda se tenha resposta convincente para qualquer delas:
1. Como é projetado o cérebro humano?
2. Como o cérebro processa a informação?
3. Que algoritmos e aritmética usa o cérebro para realizar seus cálculos?
4. Como o cérebro cria imaginações?
5. Como o cérebro inventa ou gera inovações?
6. O que é pensamento?
7. O que são sentimentos?
8. Como o cérebro aprende e guarda conhecimento?
1
Inteligência Computacional
**** Webster ****
“ É o braço da Ciência da Computação que estuda
formas de criar máquinas expertas, i.e. com
capacidade de realizar funções normalmente
associadas à Inteligência Humana. “
Emular a inteligência humana é o
maior dos desafios para a ciência.
___________________
Antonio G. Thomé - 98
Vários cientistas no passado, incluindo Newton e Maxwell, motivaram suas
pesquisas na tentativa de descobrir a arte e a ordem na criação do Universo,
com a finalidade de conhecer a mente de Deus através de suas criações.
Toda a invenção humana tem uma contrapartida ou é uma extensão própria da
natureza. A engenharia faz uso das ciências e da matemática para modelar e
construir artefatos que emulem e extendam artificialmente a natureza.
Da mesma forma que os pássaros motivaram o surgimento da aviação, os mistérios da inteligência humana motivam hoje o estudo de avançados paradígmas
computacionais.
Os modelos computacionais que emulam a inteligência humana precisam ser
cautelosamente classificados e descritos de forma a não gerarem expectativas
em excesso. Assim, um programa em IA é aquele que se caracteriza pelo
emprego de técnicas que o possibilitem:
• realizar uma busca heurística da solução de um problema;
• utilizar o conhecimento existente sobre o problema de forma explícita
e implícita;
• abstraír-se automáticamente das características pouco relevantes do
problema; e
• generalizar a solução para problemas parecidos que não tenham sido
vistos nem utilizados no processo de modelagem.
2
Modelos de Inteligência
Biológico
Inerente ao ser humano e constituído pelo cérebro, pelos
órgãos sensoriais e pela mente.
Artificial
Algoritmos computacionais que desenvolvem proces-samento
numérico e simbólico, associados a bases de conhecimento
extratificados.
Computacional
Algorítmos computacionais que desenvolvem apenas
processamento numérico, com componente para reconhecimento de padrões e níveis de adaptabilidade, de
tolerância à falhas e de auto-aprendizado.
___________________
Antonio G. Thomé - 98
Pesquisadores estimam a existência de aproximadamente 100 bilhões de
neurônios no cortex cerebral do ser humano. Cada neurônio podendo tratar até
1000 estímulos simultâneos de entrada, o que traduz na capacidade do cérebro
processar até 100 trilhões de estímulos simultâneos. Cada neurônio pode
disparar até 100 vezes por segundo e, assim, o cérebro humano apresenta uma
singela capacidade de processar até 10 000 trilhões de estímulos/seg. Maior que
os maiores supercomputadores até hoje construídos pelo homem.
Esta imensa capacidade de processamento torna-se ainda mais expressiva ao se
constatar que o cérebro não pesa mais que 1.5 Kg e ocupa aproximadamente
300 cm3 (menos de 1/2 litro).
Apesar do desafio quase desetimulante, pesquisadores se sentem motivados a
buscar, com o auxílio do avanço tecnológico, a capacidade de emular algumas
funções específicas do cérebro, seja ele humano ou animal, tais como: a visão
(reconhecimento e interpretação de cenas específicas); a fala (reconhecimento e
síntese); controle da locomoção e interpretação lógica de situações definidas.
Observando as habilidades cérebrais dos humanos e mesmo dos animais mais
simples como os insetos, podemos destacar algumas que embora sejam de
execução até desapercebida, constituem verdadeiros desafios à tecnologia.
3
Inteligência Biológica
a) Processamento de Estímulos
conversão e manipulação
qualificada e quantificada de
fluxos de energia.
b) Busca de Padrões
Explícitos
___________________
Antonio G. Thomé - 98
O processamento da informação inicia pela capacidade seletiva de neurônios
especializados captarem estímulos do mundo externo, e os converterem para
processamento e manipulação por outras partes do cérebro.
Observe e constate a relevância do papel desempenhado e a capacidade dos
sistemas visual, auditivo, olfativo, tátil e da fala. A quantidade de sensores,
receptores, transdutores e transmissores é enorme e todos operam de forma
simultânea, alimentando o grande processador central.
É importante notar que vários destes sistemas não são exclusivos do homem e,
em termos absolutos, são até melhor operacionalizados por outras espécies.
Captar ou gerar imagem e som, são habilidades de certa forma já sob domínio
da tecnologia. Sistemas para captar o aroma e a sensação tátil ainda estão num
estágio mais embrionário.
Uma vez captada a cena exterior, o passo seguinte é associar a mesma a algum
padrão previamente aprendido e armazenado na forma de conhecimento ou de
experiência prévia. O padrões são aprendidos e armazenados, causam estímulo
e reação. Os animais podem ser condicionados a reagir aos padrões de forma
diversa ao seu instinto e o homem geralmente responde aos padrões em função
da sua cultura e conhecimento.
4
Inteligência Biológica (cont...)
Implícitos
c) Generalização
Associação,
comparação,
conclusão e
aprendizado
ano
oce marinha
ilha deser
ta
navio
Coqueiro
___________________
Antonio G. Thomé - 98
Os padrões podem se apresentar de duas formas, isto é, podem ser explícitos, ou
seja, visivelmente definidos, ou podem ser implícitos, imaginados, criados na
mente ou deduzidos.
Observe na figura acima a imagem do quadrado criada pela ilusão de ótica e a
capacidade que temos de extrair padrões visuais de imagens complexas.
Inúmeras são as habilidades impressionantes do cérebro e notem que várias
delas realizamos de forma aparentemente automática sem siquer apercebermos
da sua complexidade.
De todas as habilidades no entanto, aquela que distingüe o homem das demais
espécies e nos garante uma posição de predomínio, é a capacidade de extrair
conhecimento e experiência dos padrões vivenciados. Só o homem é capaz de
gerar padrões novos, não vivenciados, isto é de comparar, associar, aprender,
concluir e generalizar. Esta, sem dúvida, será a última habilidade reproduzida ,
se algum dia o homem conseguir desenvolver tecnologia para tal.
5
Modelos Computacionais
• Tratamento de Incertezas
Lógica Nebulosa (Fuzzy)
• Seleção Natural
• Forma de Raciocínio
Sistemas Especialistas
Resolução de Problemas
• Estrutura do Cérebro
Redes Neurais
Algoritmos Genéticos
• Sistemas Híbridos
___________________
Antonio G. Thomé - 98
Resolução de Problemas: é a utilização de técnicas heurísticas de busca na
resolução de casos específicos. Geralmente aplicada na resolução de jogos
complexos como xadrez, velha, gamão e outros.
Sistemas Especialistas: é a utilização explícita do conhecimento específico do
perito humano em determinado assunto que, após extratificado e armazenado
em uma base de conhecimentos, é manipulado de forma automática por um
programa de computador. Geralmente utilizados em Sistemas de Apoio para
Decisão, Diagnóstico e Análise.
Lógica Nebulosa (Fuzzy): implementa o raciocínio vago e impreciso do ser
humano pela adoção de uma escala gradual e contínua de valores entre 0 e 1,
para simular os diferentes graus de incerteza entre o Sim e o Não da lógica
binária. Geralmente utilizados em mecanismos de servo-controle.
Algoritmos Genéticos: fazem uso dos princípios de seleção e evolução natural
das espécies introduzido por Charles Darwin. Segundo este paradígma, a melhor solução para um determinado problema sobrevive e destaca-se das demais,
após um número razoável de gerações, graças ao seu melhor grau de aptidão e
adequabilidade ao problema.
6
Aplicações
Problemas que envolvam:
•complexidade
•incerteza
•ambigüidade
Co
ntr
Apoio a
e
d
s
a
ole
Decisão
istem
S
s
o
g
Jo
Processam
ento de
to
l
n
e
atura
im
N
c
e
m
uage
onh de Padrões
Ling
Rec
Processamento de Sinais
___________________
Antonio G. Thomé - 98
Redes Neurais (ou Neuronais): são modelos computacionais que emulam a
estrutura e o funcionamento do cérebro humano. Através de uma rede de neurônios (elementos de processamento muito simples) altamente interconectada e
paralela são capazes de realizar reconhecimento de padrões e aproximação de
funções.
Sistemas Híbridos: sistemas computacionais que integram dois ou mais dos
paradígmas anteriores na busca de um modelo mais adequado para a solução de
problemas reais de alto nível de complexidade.
7
REDES NEURAIS
?
O
M
O
C
NC
U
F
AM
N
IO
?
?
O
E
QU
O
SÃ
?
PARA QUE SERVEM ?
___________________
Antonio G. Thomé - 98
Redes Neurais, dentre as diferentes técnicas aqui discutidas e que compõem o
elenco da Inteligência Computacional, será aquela que estudaremos com maior
profundidade neste curso.
Considerando a abrangência do tema no que tange aos diferentes modelos hoje
existentes na literatura, as restrições de contexto teórico naturais em um curso
de graduação, e a disponibilidade de tempo, o conteúdo programático previsto
será limitado aos conceitos e fundamentos básicos do assunto.
Neste semestre termos como objetivos principais mostrar o que são as redes
neurais, como funcionam alguns dos seus modelos e para que servem. Esperase que com isto, seja possível desenvolver alguns experimentos práticos bem
como despertar o interesse para a continuidade do estudo do assunto em etapas
posteriores do projeto de formação e especialização de cada um.
Com base nestas premissas e objetivos, veremos a seguir os conceitos básicos e
fundamentais que suportam os modelos neurais e depois, aprofundaremos o
assunto no estudo dos modelos Perceptron, Adaline, Madaline e Multicamadas.
8
O que são?
Redes Neurais são Sistemas Computacionais formados pela
integração de inúmeros Elementos de Processamento (EP)
muito simples, altamente interconectados e trabalhando
massivamente em paralelo.
São inspiradas
no modelo
biológico do
cérebro
humano
___________________
Antonio G. Thomé - 98
Redes Neurais diferem completamente de qualquer outra forma de algoritmo
computacional, seja ele convencional, orientado a objeto, sistemas especialistas e etc.
O paradigma neural não faz uso dos conceitos que até então caracterizam os
demais algoritmos e sistemas computacionais. Uma rede neural pode ser integralmente implementada em Hardware, os chips neurais são objeto de intensa
pesquisa em grandes universidades americanas e muito em breve serão realidade em muitas aplicações e produtos comerciais. No Japão é comum encontrar-se hoje eletrodomesticos sendo lançados com recursos de auto-controle por
eles chamados neuro-fuzzy (Sistemas híbridos combinando redes neurais e
lógica nebulosa - fuzzy).
Numa rede neural não se tem a idéia de programa, onde o programador introduz e codifica a estratégia de solução do problema, também não se tem a idéia
de um conhecimento explícitamente armazenado e que conduza a busca na
resolução do problema. A rede é dinâmica, não possui memória, “pelo menos
no estilo convencional que conhecemos”, não acessa nem possui arquivos de
dados, e não é programável.
Uma rede neural ajusta a si própria (“aprende”) com base em fatos históricos.
9
Breve Histórico
• 1943 - McCulloch e Pits
Estudo do Neurônio
• 1962 - Rosemblat
O Perceptron
• 1963 - Bernard Widrow
Filtros Adaptativos
• 1969 - Minsky e Papert
Crítica aos Perceptrons
• 1982 - John Hopfield
Resgata Interesse em RNs
• 1986 - Rumelhart
Alg. Backpropagation
• 2000 - ????
?
___________________
Antonio G. Thomé - 98
Em 1943 McCulloch e Pits propõem o modelo matemático (artificial) do neurônio bilológico. O campo de atuação estava limitado ao entendimento do funcionamento do cérebro para aplicações em medicina e psicologia.
Aproximadamente 20 anos após, Rosemblat vislumbra a primeira rede neural
chamada de Perceptron. O fato causou frenesí no meio científico da época e
expectativas muito acima das possibilidades foram espalhadas e divulgadas no
seio da sociedade. “O cérebro humano finalmente chegava aos computadores”.
Em 1969 Minsky e Papert, que pertencia ao ramo convencional da IA e provávelmente tocados por uma pitada de ciúmes quanto ao sucesso de Rosemblat, estudaram a fundo o modelo do Perceptron e descobriram restrições que
colocavam água na fervura dos novos “ricos”. Minsky e Papert publicaram
então um livro intitulado “Os Perceptrons” onde “mataram a cobra e mostraram o pau” como na gíria popular. Em função disto, as pesquisas e os entusiasmados com a nova onda reduziram-se a quase zero.
Somente em 1982, mais de uma década depois, que surge um fato novo trazendo luz outra vez para o então pequeno mundo das redes neurais. A partir de
Hopfield o interesse por redes neurais vem crescendo sistemáticamente, ganhando impulso ainda maior com o algoritmo de backpropagation proposto por
Rumelhart em 1986.
10
Um Paralelo com o Cérebro
Inspiradas na estrutura do cérebro,
são radicalmente diferentes dos
demais sistemas computacionais
s
rito
d
n
de
axônio
corpo
celular
___________________
Antonio G. Thomé - 98
__
>_
modelo
biológico
w
f (.)
modelo artificial
Nos animais, o sistema nervoso é responsável por receber estímulos do ambiente externo, que são colhidos pelos órgãos sensores, que também se encarregam de transcodificá-los e encaminhá-los para as células cerebrais. Estas, por
sua vez, processam e interpretam os impulsos recebidos e encaminham reações para os órgão responsáveis pela sua execução.
O sistema nervoso do homem é composto por cerca de 100 bilhões de células
interligadas em uma rede da ordem de 100 trilhões de interconexões, por onde
fluem os impulsos elétricos que carregam a informação sendo processada.
Um neurônio típico constitui-se de um corpo celular, de ramificações por onde
entram os impulsos nervosos, chamadas de dendritos, e de uma ramificação de
saída, chamada axônio. O axônio de um neurônio pode ligar-se a vários dendritos de diversos outros neurônios (estas ligações são chamadas de sinapses).
Assim, os dendritos recebem os impulsos vindos dos órgãos sensores ou de
neurônios anteriormente posicionados na rede de interconexão, e os repassam
ao corpo celular. Ali, através de uma série de processos físico-químicos, os
impulsos recebidos são processados e um novo impulso é gerado e transmitidos para frente através do axônio.
11
Capacidade Cerebral
100 trilhões de interconexões
I
n
t
e
r
c
/
S
e
g
1018
1015
Homem (1014,1016)
Abelha
1012
Barata
Mosca
109
106
103
Minhoca
Sanguessuga
103
___________________
Antonio G. Thomé - 98
106
109
1012
Número de Interconexões
Os neurônios artificiais são, na realidade, uma abstração e um modelo matemático bastante simplificado de um neurônio biológico. Fato este ocasionado não
só pelas restrições tecnológicas existentes mas também pelo pouco conhecimento que a ciência possui hoje dos mistérios do nosso cérebro.
As redes neurais hoje existentes sofrem restrições tecnológicas de toda sorte e
com isto não se consegue implementar estruturas com um número de neurônios que aproxime siquer ao do existente no cérebro de uma minhoca.
Mesmo com estas restrições, a área de redes neurais tem demonstrado sua potencialidade em diversas aplicações, superando expectativas e resultados até
então alcançados com qualquer outra técnica, seja computacional ou convencional.
Até criarmos o computador que realmente simule e tenha a capacidade de raciocínio do ser humano muito ainda tem que ser feito, uma vez que animais
inferiores como a minhoca e mesmo a sanguessuga, são capazes de apresentar
reações que o mais rápido dos supercomputadores hoje existente é incapaz de
fazer. A rede neural hoje, é vista como um paradigma com possibilidade de nos
proporcionar uma redução neste gap e uma aproximação maior daquilo que
hoje ainda está no mundo da ficção científica.
12
Modelo Matemático do
Neurônio
x1
w1
x2
Função
de
Ativação
w2
Função
de
Propagação
y
w3
x3
y = f ( X , W ) = P • A( X , W )
___________________
Antonio G. Thomé - 98
Na sua tarefa de emular a estrutura e o funcionamento básico do cérebro, as
redes neurais fazem uso de um modelo abstrato (matemático) do neurônio cerebral.
No modelo de neurônio artificial, a intensidade das ligações proporcionadas
pelos dendritos são emuladas através de pesos, que são ajustáveis durante a
evolução do treinamento e “aprendizado” da rede. O corpo celular é emulado
pela composição de duas funções, chamadas comumente na literatura de ativação e propagação. Estas funções realizam o mapeamento (transferência) dos
sinais de entrada em um único sinal de saída. Este sinal de saída é propagado
para os neurônios seguintes da rede, como no modelo biológico.
A função de ativação opera nos sinais de entrada e gera uma saída intermediária, normalmente chamada de net, que num paralelo com o modelo biológico
estabeleceria o estado de ativação do neurônio e sua capacidade de disparar
algum sinal excitador ou inibidor para os neurônio a sua frente.
Os pesos, na maioria das arquiteturas de rede hoje propostas, são ajustáveis e,
na realidade constituem a memória e no conhecimento usado na solução do
problema.
13
Resolução de Problemas
•
•
•
•
•
•
Identificar o Problema;
Entender o Problema;
Formular um Procedimento de Solução;
Coletar / Organizar / Formatar Dados Representativos;
Implementar o Procedimento de Solução;
Testar e Corrigir o Modelo.
O quê fazer quando?
Þ
Þ
Þ
Þ
Þ
Þ
não se conhece um procedimento de solução, ou
a solução é muito complexa, ou
os critérios de decisão são imprecisos, ou
os dados são incompletos, ou
os dados são afetados por perturbações aleatórias, ou
os dados não possuem uma forma (padrão) definido.
___________________
Antonio G. Thomé - 98
Como já deve ter sido notado por todos, a cada evolução surgida nas técnicas
ou nos equipamentos de computação, corresponde um acrescimo e uma nova
dimensão da demanda pelos mesmos.
Trata-se de um efeito natural e até característico da personalidade e do espírito
de investigação do ser humano. Quanto mais ele conquista e tem, mais quer.
O computador e com ele a informática são vistos hoje não mais como um fim
em si mesmos, mas como uma ferramenta de suporte e de excelência a todos os
demais ramos e áreas de conhecimento humano.
Problemas cada vez mais complexos, abrangentes e diversificados aparecem
como desafio para os programadores. As próximas décadas, primeiras do novo
milênio, se caracterizarão por trazerem demandas consideradas não triviais que
demandarão novos paradigmas e técnicas de solução.
Dentre estes problemas estarão aqueles envolvendo o tratamento de dados não
completos, dotados de ambigüidade, ruído e imprecisão. As soluções por outro
lado, não serão esperadas exatas dos tipos sim ou não ou 0 e 1.
14
Modelo Convencional x Modelo Neural
• Conhecimento
– pré-estabelecido
- extraído dos dados
• Solução do Problema
– definida
– estática
– código e dados
- ajustada automaticamente
- dinâmica
- distribuído
• Características
– corretude
– inflexibilidade
– intolerância a falhas
- aproximado
- flexível
- tolerante a falhas
___________________
Antonio G. Thomé - 98
Problemas envolvendo reconhecimento e classificação de padrões de dados do
tipo multimídia (texto, som e imagem) serão cada vez mais comuns. Nesta área
gravitarão os robôs, os sistemas de segurança audiovisuais, os sistemas de
comando a voz, os sistemas de automação e etc.
Sistemas tipo “data mining” e agentes inteligentes para educação baseada em
computador e busca na Internet também se tornarão demanda pesada. Outro
tipo de aplicação que também se mostra bastante promissora é a de previsão e
de aproximação de funções.
Os modelos neurais de hoje, juntamente com as demais técnicas conhecidas de
inteligência computacional, podem não vir a ser a melhor solução para os tipos
de problemas apontados acima, mas com certeza representam hoje o caminho e
a esperança dos pesquisadores em encontrar a tecnologia e os métodos mais
promissores e adequados para tal.
15
Resolução de Problema
Reconhecimento de Dígitos
0
0
1
7
8
2
3
4
0
5
9
6
8
0
9
7
8
?
Domínio
___________________
Antonio G. Thomé - 98
9
Contra-Domínio
Neste exemplo apresentamos o problema de reconhecimento da escrita a mão,
no caso, o reconhecimento do dígitos de zero a nove.
É um problema de grande interesse comercial, principalmente para os serviços
de correio, que podem obter expressivos ganhos operacionais e de custos.
Um sistema como este envolve:
1. a captura da imagem e sua digitalização,
2. a identificação da porção da imagem onde se localiza o CEP;
3. a segmentação dos diversos dígitos que compõem o CEP,
4. o reconhecimento de cada um dos dígitos encontrados,
5. a recomposição do código do CEP;
6. a validação do código reconhecido e, finalmente,
7. a execução das operações desejadas a partir do reconhecimento do CEP.
E tudo isto deve ser feito de forma a atender o cliente no tempo de resposta que
ele desejar ou necessitar. Trata-se portanto, de um sistema do tipo que pode ser
enquadrado como não convencional.
16
Resolução de Problema
Y
X
0
0
1
Y = f (X)
7
8
caracterização do domínio
0
2
3
4
mapeamento desconhecido
9
consistência
5
6
ambigüidade
8
0
incerteza
9
Domínio
___________________
Antonio G. Thomé - 98
7
8
ruído
Modelo Convencional
9
Contra-Domínio
Como este, muitos outros sistemas semelhantes pode ser rapidamente pensados
e, em conseqüência, nos certificarmos do tamanho da demanda reprimida, que
hoje não se manifesta por não imaginar ser de resolução possível por um meio
automatizado.
É importante notarmos que o aparecimento dos modelos “inteligentes” não vai
eliminar ou substituir aos modelos convencionais, mas pelo contrário, vai
estimular a integração com estes.
17
O Modelo Neural
Y
X
Não linear
Numérico
^
Y
-
+
S
e
Supervisionado
• Mecanismo de Aprendizado
Não Supervisionado
Intensidade das Conexões
• Regra de Aprendizado
___________________
Antonio G. Thomé - 98
Estrutura do Modelo
Função de Mapeamento
A concepção básica dos modelos neurais está centrada na figura do neurônio. A
potencialidade do modelo para solução de problemas complexos se baseia no
paralelismo, na capacidade de processamento advinda da integração, na não
linearidade proporcionada pela atividade operacional de cada elemento da rede
e pela capacidade da mesma de buscar a solução através de um método próprio
de treinamento e auto-aprendizado.
Diversos são os modelos de rede propostos na literatura, cada qual advindo de
uma linha de pesquisa diferente e visando um melhor desempenho na solução
de um tipo específico de problema.
Basicamente, os modelos neurais podem ser classificados segundo:
a) a estratégia de treinamento em supervisionados (quando a rede dispõe de um
instrutor apontando erros e acertos) ou não-supervisionados (caso contrário).
b) a forma de treinamento em incremental (quando o conhecimento da rede se
ajusta após a apresentação de cada padrão de entrada (estímulo) ou lote (onde o
ajuste do conhecimento só é realizado após “visão” de todos os estímulos), e
c) a forma de operação em unidirecional (os sinais internos se propagam
apenas na direção entrada/saída e recorrente (quando há realimentação).
18
Estrutura de uma Rede Neural
E
n
t
r
a
d
a
s
S
a
í
d
a
s
Aprendizado
Parâmetros de Projeto:
• nr. de camadas
• nr. de neurônios / camada
• topologia das interconexões
___________________
• função de transferência
• representação dos dados
• dinâmica de aprendizado
Antonio G. Thomé - 98
Infelizmente não existe qualquer método ou procedimento sistemático e determinístico para o projeto da estrutura e especificação dos parâmetros envolvidos
em uma rede neural.
O número de parâmetro e detalhes de projeto é grande e o maior ou menor sucesso na expecificação dos mesmos depende fortemente na experiência e no
sentimento do projetista.
Tudo começa pela escolha adequada da representação dos dados a serem usados na caracterização do problema e no treinamento da rede. A capacidade de
resolução do problema, a performance do treinamento e a acurácia dos resultados estão intimamente ligados à qualidade da representação adotada.
A rede é organizada geralmente em camadas e o padrão de interconexão mais
comumente utilizado é o de conexão completa inter-camadas (full connected),
apenas na direção entrada-saída, e nenhuma conexão intra-camada. Isto é, um
neurônio situado na primeira camada (mais próxima da entrada) tem sua saída
conectada a todos os neurônios da segunda camada e a nenhum outro neurônio
da primeira camada. A saída de nenhum neurônio da segunda camada se conecta a entrada de qualquer neurônio da primeira camada.
19
Projeto de um Sistema Neural
P
r
e
P
o
s
Pré-processamento
do dados
Pós-processamento
do dados
___________________
Antonio G. Thomé - 98
O Projeto de um sistema neural deve portanto, observar etapas e seguir uma
estratégia de prototipação, teste, avaliação e refnamento sistemáticos. Embora
similar a estratégia adotada nas técnicas modernas de desenvolvimento de sistemas de software, lembramos mais uma vez que aqui não há idéia de DFD,
análise estruturada, programação e coisas do gênero. Programação até que pode ser necessária, mas apenas para simular em software a estrutura e o funcionamento da rede.
Existem várias arquiteturas e várias técnicas de treinamento de rede neural propostas na literatura. Cada uma com características vantajosas e desvantajosas
dependendo do problema e aplicação específica a que se destinam.
Redes neurais “aprendem” por experiência, como uma criança que aprende a
andar, falar, associar objetos e nomes, através de exemplos, tentativa e erro.
Assim, após a escolha de uma representação para os dados do problema, devese montar um conjunto de treinamento. Este conjunto é gerado a partir de dados históricos, ou seja, a partir de experiências e fatos ocorridos no passado.
Dependendo de termos ou não em mãos a resposta desejada para cada um dos
eventos históricos (tipo condição-ação dos SEs), podemos implementar uma
dinâmica de treinamento chamada “supervisionada”, no primeiro caso, ou “nãosupervisionada” no segundo.
20
Funções de Ativação e
de Propagação
• Ativação
A( x , w ) = ∑ wx
• Propagação
p(x)
1
1
1/2
-1
x
Função Degrau
___________________
Antonio G. Thomé - 98
Função Sigmoidal
A função de ativação, conforme vista no slide anterior, tem a finalidade de ativar ou desativar um determinado neurônio, em função de um conjunto específico e momentâneo de estímulos presentes em suas entradas. Dentre as diversas
funções matemáticas possíveis, a ,ais utilizada é a simples soma ponderada das
entradas. Neste somatório, tendo os valores de entrada como incógnitas, os pesos ajustáveis realizam o importante papel de definir hiperplanos que particionam o espaço de entrada na busca de discriminar eventuais padrões existentes.
No exemplo abaixo vê-se um possível hiperplano gerado por um único neurônio atuando dentro de um espaço bi-dimensional.
x2
x1
A(x,w)= w1x1+w2x2
1
x2
2
x1
Observe que a função de ativação do neurônio constitui uma reta que passa pelos pontos (2,1) no caso de w1= 1 e w2= -2, dividindo o espaço de entrada em
dois hemisférios distintos. A função de propagação é geralmente utilizada para
introduzir capacidade não-linear ao neurônio e muitas são as opções de função
empregadas. Dentre elas, as mais comumente adotadas são: a sigmoid, o degrau, a gaussiana e a identidade.
21
O Modelo Perceptron
a. Arquitetura Básica do Neurônio (EP)
x1
w1
net
S
xm wm
A
o
açã
tiv
net =
w0
1
m
∑ wi xi ;
i =0
x i ∈ { 0,1};
^y
x0 = 1
ção
a
g
1 se net > 0
pa
y$ =
Pro
0 se net ≤ 0
{
___________________
Antonio G. Thomé - 98
A arquitetura básica de neurônio do Perceptron possui como função de ativação a soma das entradas ponderada pelos pesos das interconexões e como função de propagação a função degrau aplicada sobre o net (saída da função de
ativação).
Uma rede Perceptron é montada a partir da agregação de vários neurônios com
as características operacionais especificada no slide acima. A rede Perceptron
trabalha única e exclusivamente com sinais binários e, embora constituída de
neurônios muito simples, ela apresenta uma boa capacidade para resolver
problemas de classificação.
A restrição do Perceptron é de que todos os neurônios têm que estar posicionados em uma única camada.
No exemplo acima, temos uma rede com 4 Perceptrons, 3 entradas, 4 saídas e
12 pesos.
22
O Aprendizado do Perceptron
x0 w0
S
net
^y
xm w
m
DWi
x
yd
+
+
l
^
DWi= l.(yd-y).X
___________________
Antonio G. Thomé - 98
A grande novidade oferecida pelo esquema Perceptron é que ele é capaz de
resolver o problema, isto é encontrar os pesos corretos, de forma automática e
sem interferência do projetista, programador ou usuário.
Para que isto seja possível, usando como exemplo as portas lógicas, veja o
exemplo da figura 4.3.4 à frente, constrói-se um conjunto de treinamento contendo todos os pares possíveis de entrada e um vetor correspondente contendo
as saídas corretas (desejadas) para cada par. Feito isto, escolhe-se aleatoriamente valores iniciais para os pesos das conexões e, fazendo-se uso de uma
regra de “aprendizado” (ou seja, de ajuste automático dos pesos), apresenta-se
sistematicamente os pares entrada-saída várias vezes seguidas à rede (até que
esta consiga atinjir o objetivo, ou seja produzir as saídas desejadas, com um
grau aceitável de precisão). Neste instante e rede terá “aprendido” a resolver o
problema em questão.
Observando a regra de aprendizado do Perceptron pode-se notar que o ajuste
dos pesos se dá sempre que o valor de saída fornecido pela rede for diferente do
correto (desejado) para uma dada entrada corrente.
A variável “T” vista no slide sobre separabilidade linear à frente, é conhecida
como “threshold” e pode ser préviamente estabelecida pelo projetista da rede
ou também ajustada automaticamente pelo algoritmo de aprendizado.
23
Dinâmica de Treinamento
• Batch
Os parâmetros (pesos) são ajustados somente ao
final de cada “epoch” (processamento de todo o
conjunto de observações)
• Incremental
Os parâmetros (pesos) são ajustados ao final do
processamento de cada observação
___________________
Antonio G. Thomé - 98
A dinâmica de ajuste dos pesos geralmente segue uma das duas estratégias
apresentadas neste slide: batch ou incremental.
Na estratégia batch, os pesos são ajustados pela média dos erros encontrados
sobre todo o conjunto de observações usado para treinamento, enquanto que na
estratégia incremental, o ajuste é local, isto é, realizado após a apresentação de
cada observação do conjunto de treinamento.
Existem vantagens e desvantagens associadas a cada estratégia, de modo que a
escolha de uma ou outra deve ser feita com base no problema específico que se
está resolvendo.
A estratégia batch é geralmente mais lenta mas, por outro lado, costuma ser
muito mais estável. Em termos de custo computacional, a estratégia incremental é mais onerosa, porém requer menos espaço de memória para execução.
A estratégia batch é a mais utilizada das duas, pelas suas características de
estabilidade e custo computacional.
24
Características e Restrições
a. Características
•aprendizado supervisionado;
•representação binária;
•apenas 1 camada de pesos ajustáveis.
b. Restrições
•aprendizado nem sempre ocorre;
•tempo de convergência pode ser longo;
•não admite mais de 1 camada ajustável;
•classifica apenas padrões Linearmente Independentes
___________________
Antonio G. Thomé - 98
De todas as características e desvantagens do modelo Perceptron, a mais crítica
e que foi duramente condenada por Minky e Papert, é a de classificar apenas
padrões que sejam linearmente separáveis.
Isto deve-se ao fato de que na prática, os problemas linearmente separáveis
representam apenas um sub-conjunto, muito pequeno, do espaço total de problemas do mundo real.
Outro grande óbice do Perceptron é ter a capacidade de atualizar automaticamente (“aprender”) apenas uma camada de pesos (a mais próxima da saída).
Isto porque não havia como estabelecer medidas de erro para as camadas mais
internas e assim a fórmula de aprendizado não podia ser utilizada.
Com mais de uma camada é possível sobrepor esta restrição, e isto pode ser
vislumbrado na época, mas tal procedimento não moustrou-se viável pela falta
de uma forma razoável para se estabeler os valores para os pesos das camadas
internas da rede, que fossem matematicamente corretos e garantissem a viabilidade da solução completa do problema.
Somente em 1986, com Rumelhart, a barreira de apenas uma camada de pesos
ajustáveis foi vencida e, desde então, a área de RNs vem experimentando um
crescimento acelerado.
25
Separabilidade Linear
• Porta “OU“
• Porta “E“
x
x
.5
x y z
0
0
1
1
0
1
0
1
0
0
0
1
z
.9
y
.5
0
0
1
1
0
1
0
1
1
1
1
0
y
y
.5
x y z
z
.4
.5
y
.5x+.5y=.4
.5x+.5y=.9
x
x
___________________
Antonio G. Thomé - 98
x
x
Cada Perceptron cria uma hiper-superfície que pode ser usada para separar
padrões num espaço multi-dimensional. Com um único neurônio Perceptron,
por exemplo, pode-se construir facilmente quase todas as portas lógicas que
compõem o conjunto básico da eletrônica digital.
Veja abaixo uma possível implementação das portas “AND” e “OR”:
x1 x2 AND
x1
w1
OR
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
T
x2
w2
Será um AND se w1=1, w2=1, e T=-1
Será um OR se w1=1, w2=1, e T=-0.5
A porta X-OR (ou exclusivo) é não-linear e, por tanto, impossível de ser implementada por um Perceptron. Este foi o principal exemplo usado por Minsky
e Papert para combater a utilidade e a capacidade real do Perceptron para resolver problemas reconhecidamente simples.
26
Separabilidade Linear (cont.)
“N” variáveis binárias
n
n
2 padrões diferentes de entrada
n
22 funções possíveis de saída
2
3
4
5
6
2
n
2
FLS
16
256
65.536
4.3x109
1.8x1019
14
104
1.882
94.572
5.028.134
___________________
Antonio G. Thomé - 98
Como pode ser observado neste slide, o número de problemas não-linearmente
separáveis, no sub-conjunto do espaço binário, cresce muitíssimo mais rápido
do que o dos linearmente separáveis, a medida que se aumenta a dimensão do
problema.
Em problemas de classificação é comum termos casos em que a separação das
classes não é linear, como pode ser visto no exemplo abaixo:
Neste exemplo as classes das bolinhas e dos quadrados não podem ser separadas por uma superfície linear.
27
O Algoritmo Backpropagation
Possibilitou a implementação de redes multicamadas
x0 w0
xm w
m
S
net
^y
f’(net)
DWi
x
x
yd
+
+
l
^
DWi= l.(yd-y).f’(net).X
___________________
Antonio G. Thomé - 98
Rumelhart introduziu o conceito da retro-propagação do erro através das camadas intermediárias ou escondidas, como as camadas internas do modelo são
conhecidas. Para que isto fosse possível ele substituiu a função degrau, utilizada no modelo Perceptron, pela função sigmoid, vista alguns slides atrás.
Esta simples troca não parece, a primeira vista, ter um significado muito
importante ou mesmo introduzir novidade no esquema já conhecido do modelo
Perceptron. O fato é que por trás desta simples modificação está a troca de uma
função não-derivável (que é a função degrau) por uma derivável (a sigmoid).
Fazendo isto, Rumelhart mostrou que a regra de aprendizado dos neurônios
poderia ser matematicamente deduzida seguindo os mesmos fundamentos da
teoria de otimização. Além de matematicamente formulada, a regra poderia,
agora, ser expandida para as camadas escondidas fazendo-se apenas um exercício algébrico sobre a formulação básica. O algoritmo batizado com o nome de
backpropagation implementa a técnica do “gradiente descendente” sobre uma
superfície de erro formada pelo quadrado da diferença entre a saída desejada e a
saída gerada pela rede.
E(k ) =
1
2
y d − y$ )
(
∑
2
e
∆ W ( k + 1) = − λ
∂E ( k )
∂W ( k )
28
A Regra de Aprendizado
Ativação
= net = ∑ w i x i = WX
Propagação
1
= sig ( x ) = 1 + e − x
Medida de Performance
n
E ( k ) = ∑ ( yi − y$ i )
i=1
}
f ( net ) = sig ( net ) =
1
1 + e −WX
f ’( net ) = (1 − f ( net ). f ( net )
Aprendizado
2
∆W ( k + 1) = − λ
∂E ( k )
∂W ( k )
___________________
Antonio G. Thomé - 98
A resolução desta equação matemática, para qualquer das camadas, é feita por
intermédio da regra da cadeia, isto é:
∂E ∂ E ∂ y$ ∂ net
=
.
.
∂ W ∂ y$ ∂ net ∂ W
O nome de retro-propagaçãp do erro (ou error backpropagation em inglês) vem
do fato de que o ajuste dos pesos para as camadas mais internas é realizado a
partir da retro-propagação do erro existente na camada de saída que, na realidade, é o único erro que pode ser medido e avaliado.
Outras arquiteturas e regras de aprendizado estão disponíveis na literatura, mas
fogem ao escopo deste curso, não só pelo objetivo do mesmo e pelo
“background” exigido, mas principalmente, pelo curto espaço de tempo disponível.
29
Algumas Aplicações
• Processamento da Voz
– reconhecimento de comandos
– reconhecimento de locutor
• Processamento de Imagens
– reconhecimento de caracteres
– reconhecimento de objetos
– classificação
• Controle Adaptativo
• Suporte à Decisão
– análise de crédito,
– mercado financeiro,
– etc.
___________________
Antonio G. Thomé - 98
30
Sistemas Híbridos
Caracterizam-se pela união de duas ou mais técnicas de IC
na busca de uma melhor eficiência e eficácia, na resolução
de um problema. As uniões mais comumente encontradas
são:
• Sistemas Neuro-Fuzzy;
• Sistemas Neuro-Genéticos
• Sistemas Neuro-Especialistas
• Sistemas Fuzzy-Especialistas
• Sistemas Neuro-Fuzzy-Genéticos
___________________
Antonio G. Thomé - 98
Não só a integração com os modelos convencionais é prevista mas também a
integração de mais de uma técnica de inteligência computacional aparece com
freqüência cada vez maior na literatura.
A explicação para tal tendência se explica na potencialidade maior de se achar
melhores soluções juntando o que houver de melhor nas diferentes técnicas.
Os sistemas neuro-fuzzy ou neuro-nebulosos são de particular interesse e já
aparecem em diversos dispositivos e utensílios comerciais de uso doméstico.
Apesar de toda a expectativa e esperança depositados com vistas ao futuro da
inteligência computacional, é importante relembrar o compromisso e o cuidado
alertados no início do curso, de não extrapolar nas promessas para não cair em
descrédito e desmotivação.
31
Download