Redes Neurais
Introdução e histórico
Controle de Processos Março/2010
Referência Bibliográfica
Bibliografia básica
[1] – Capítulo 1;
Bibliografia Complementar
[1] – Capítulo 14;
[2] – Capítulo 1;
Redes Neurais - Motivação
Constatação de que o cérebro processa informações de forma diferente dos computadores convencionais.
Computador
Processamento extremamente rápido;
Lentidão no reconhecimento de padrões;
Sem capacidade intrínseca de generalização;
Execução seqüencial de instruções.
Cérebro
Velocidade 1 milhão de vezes mais lenta que qualquer porta digital;
Reconhecimento de padrões;
Capacidade de generalização;
Processamento paralelo (1011 neurônios com 104 conexões cada).
Redes Neurais – Cérebro
Sistema Nervoso Neurônio
Figura 1 - Esquema do neurônio biológico
Redes Neurais - Neurônio biológico x processador
Tempo de processamento de um neurônio é de 2 ms (10-3 s);
Tempo de processamento de um processador é de 2 s (10-9 s);
Processador é 1 milhão de vezes mais rápido que o neurônio;
Cérebro responde a um estímulo com um delay entre 0,2 a 1 s.
O cérebro responde numa equivalência de 100 ciclos de um processador ;
Cérebro tem 100 bilhões de neurônios;
Cada neurônio tem 1.000 a 10.000 conexões sinápticas;
60 trilhões de conexões - 1014 sinapses !
Cada pessoa pode dedicar 100.000 conexões para armazenar cada segundo de experiência;
65 anos 2. 000. 000. 000 de segundos !
Durante os 2 primeiros anos de vida cerca de 1.000.000 de sinapses são formadas por segundo.
Redes Neurais - Neurônio biológico
A comunicação entre as células nervosas se dá através das sinapses, através da transmissão de impulsos nervosos entre eles;
Neurônio B Neurônio A
Terminais Sinápticos
Neurônio C
Como se dá a transmissão de informações entre os neurônios?
Informações
Ligação Sináptica
Impulso elétrico transmitido Impulso elétrico recebido
Ligação Sináptica acionada (Theshold)
Figura 2 - Esquema de trânsito de informações entre neurônios
Redes Neurais - Motivação
Devido a estas e outras características é que o cérebro constituí-se num computador paralelo, não-linear e altamente complexo;
O cérebro tem a capacidade de organizar seus constituintes estruturais, os neurônios para realizar certos processamentos:
Reconhecimento de padrões;
Percepção;
Memorização;
Generalização;
Controlar um motor, etc.
muito mais rápido que o mais rápido computador digital de hoje.
Reconhecimento de padrões visuais pelo cérebro humano são realizados de 100-200 ms !
Redes Neurais – Breve Histórico
Década de 40 – surgem primeiras informações sobre a neurocomputação;
McCulloch, Pitts (1943) – serem modelo para neurônio artificial, no qual baseava-se a máquina criada por eles baseada no cérebro humano, o Psychon. Incapaz de aprender;
Figura 3 - Esquema do neurônio artificial proposto por McCulloch e Pitts
Histórico
Hebb (1949) – foi o primeiro a propor uma lei de aprendizagem específica para as sinapses dos neurônios;
Minsky (1951) – cria o primeiro neurocomputador, o Snark, o qual ajustava com sucesso os pesos de suas ligações sinápticas;
Redes Neurais – Breve Histórico
Rosenblatt, Wightman e outros (1958) – criam o MARK I Perceptron, primeiro neurocomputador de sucesso, criado para reconhecer padrões, a qual deu origem posteriormente aos modelos MLP (Multi Layer Perceptron);
Esquema da MLP
Widrow (1962) – desenvolve o Adaline (Adaptative Linear Element), equipado com uma poderosa lei de aprendizado, em uso até hoje. Similarmente ao Perceptron o Adaline é baseado no aprendizado supervisionado por correção de erros;
Redes Neurais – Breve Histórico
Minsky e Papert (1962) – provam que redes neurais baseadas em um Perceptron são incapazes de aprender uma simples função lógica XOR ( Ou-exclusivo) ;
Hopfield (1982) – cria uma rede (diferente da baseada no Perceptron) de aprendizado não-supervisionado, com conexões recorrentes e cuja base do comportamento consiste na competição entre os neurônios;
Esquema do modelo Hopfield
Saída
X1 X2
Xj
Bi z-1
Kohonen (1982) – propõe modelo que permite aprendizado competitivo com uma auto- organização da rede neural, criando os chamados “ mapas de atributos auto- organizáveis” (self-organizing maps);
Redes Neurais – Breve Histórico
Rumelhart, Hinton e Willams (1986) – desenvolveram o algoritmo de aprendizado Back-Propagation: o algoritmo mais popular de retropropagação para treinamento de redes Perceptron de múltiplas camadas (MLP – Multi-Layer Perceptron);
Esquema do Back-Propagation
Carpenter e Grossberg – desenvolveram o modelo ART (Adaptative Ressonance Theory). É um modelo de aprendizado não-supervisionado criando agrupamentos (clusters) dos padrões aprendidos.
x1 (n)
xj (n)
xm (n)
ek (n)
dk (n) yk (n)
vk (n)
(.) -1 1
wkm (n) wkj (n)
wk1 (n)
x(n)
Redes Neurais - Propriedades e Capacidades
Não-linearidade: um neurônio artificial pode ser linear ou não-linear. Esta propriedade é muito importante pois permite representação de funções não- lineares, anular certas não-linearidades, etc.
Mapeamento entrada-saída: as redes podem ser treinadas para fornecer uma função que reproduza para um dado conjunto de dados de entrada o conjunto esperado de dados de saída, e ainda além disso promover generalizações.
Redes Neurais Artificiais
Propriedades e capacidades das Redes Neurais
De modo a aproveitar as melhores características funcionais do cérebro humano foram criadas as redes neurais artificiais, ou simplesmente redes neurais (RN).
Redes Neurais - Propriedades e Capacidades
Adaptatividade: redes neurais podem ser treinadas para adaptar seus pesos sinápticos em condições real-time quando operando em ambientes não estacionários.
Tolerância a falhas: em caso de danos a um dos neurônios da rede ou suas conexões sinápticas, apesar da qualidade da resposta ser influenciada é preciso que a amplitude do dano a rede seja elevado antes que sua resposta seja completamente degradada.
Implementabilidade em VSLI : devido a sua natureza massivamente paralela a implementação das redes neurais em tecnologia VLSI é bastante susceptível.
Analogia com a neurobiologia;
Propriedades e capacidades das Redes Neurais
Redes Neurais - Aplicações Gerais
Reconhecimento de padrões (ex: reconhecimento de faces humanas);
Classificação de dados (ex: reconhecimento óptico de caracteres) ;
Predição (ex: previsão de séries temporais, como a cotação de bolsa de valores ;
Controle de processos e aproximação de funções (ex: robótica) ;
Análise e processamento de sinais;
Filtro contra ruídos eletrônicos ;
Análise de imagem e voz ;
Controle adaptativo reverso, etc .
Aplicações gerais para Redes Neurais
Redes Neurais - Aplicações Gerais
Automotiva: sistema de direção automática
Defesa: direcionamento de armas, rastreamento de alvos, reconhecimento facial, sonar, radar, supressão de ruídos, compressão de imagens, etc;
Eletrônica: predição de seqüência de código, controle de processos, análise de falhas em chips, roteamento de layout de placas de circuito impresso, , visão computacional, etc;
Entretenimento: animação, efeitos especiais, etc;
Finanças: consultor de empréstimos, predição de oscilação de valores de ações;
Manufatura: diagnóstico de máquinas, inspeção visual de qualidade, predição de qualidade de papel, teste de cerveja, sistema de modelamento dinâmico de processos químicos, etc.