Redes Neurais Artificiais Introdução

Propaganda
Redes Neurais Artificiais
Introdução
Capítulos
p
1e2
Redes Neurais Artificiais (RNA)
• São modelos computacionais inspirados nos
mecanismos de aprendizagem do cérebro
humano.
humano
• São modelos computacionais que tentam emular
a forma com que o cérebro resolve problemas.
RNA
Inspiração no cérebro humano
• O processamento de informações no cérebro
humano é altamente complexo, não-linear e
paralelo.
▫ O cérebro é constituído por aproximadamente 100
bilhões de neurônios (1011)
▫ Cada neurônio é interligado em média com outros
6.000 neurônios (60 trilhões de sinapses).
▫ Número de neurônios equivale à quantidade de
estrelas de via Láctea.
▫ É um dos sistemas mais complexos que é atualmente
conhecido pelo ser humano
RNA
Comparação
p ç entre o computador
p
e o cérebro
Computador
Cérebro
p de
Tipo
processamento
Sequencial
q
(serial)
(
)
Paralelo
Quantidade e
complexidade
l id d
Um ou poucos
processadores
d
 1010 neurônios;
 1010
conexões/neurônio.
Velocidade de
processamento
 10-9 segundos
g
 10-6 segundos
g
Eficiência energética
 10-16 Joules (por
 10-6 Joules (por
operação/segundo)
ã /
d )
operação/segundo)
ã /
d )
RNA: Principais características
• Adaptação por experiência
▫ Parâmetros internos da rede, tipicamente seus pesos sinápticos, são
ajustados a partir da apresentação sucessiva de exemplos (amostras e
medidas) relacionados ao comportamento do processo
• Capacidade de Aprendizado
▫ Aplicação de método de treinamento possibilita a rede extrair o
relacionamento existente entre variáveis que compõem a aplicação.
• Habilidade de generalização
▫ Após o processo de treinamento, a rede é capaz de generalizar o
conhecimento
h i
adquirido,
d i id possibilitando
ibili d a estimação
i
ã d
de soluções
l õ que
eram até então desconhecidas.
• Organização de dados
▫ Baseada em características marcantes de um conjunto de dados a
respeito do processo, a rede é capaz de realizar sua organização interna
para agrupamento de amostras que são similares/comuns.
RNA: Principais características
• Tolerância a falhas
▫ Devido
d ao elevado
l d nívell d
de interconexões entre neurônios artificiais,
f
a
rede torna-se um sistema tolerante a falhas quando parte de sua
estrutura interna for sensivelmente corrompida.
• Armazenamento distribuído
▫ O conhecimento dentro da rede é realizado de forma distribuída entre as
sinapses dos neurônios artificiais, permitindo-se então robustez frente a
eventuais
i neurônios
ô i que se tornaram iinoperantes.
• Facilidade de Prototipagem
▫ A implementação
i l
t ã da
d maioria
i i d
das arquiteturas
it t
neurais
i pode
d ser
facilmente prototipadas em hardware ou em software
▫ Após o processo de treinamento, os seus resultados são normalmente
por algumas
g
operações
p ç
matemáticas elementares.
obtidos p
Histórico das RNA
• 1943 – McCulloch e Pitts
▫ Primeiro modelamento matemático inspirado
no neurônio biológico
• 1949 – Hebb
▫ Primeiro método de treinamento para redes
neurais artificiais (regra de aprendizado de
Hebb)
▫ Baseada em hipóteses e observações de caráter
neurofisiológico
• 1957-1958 – Frank Rosenblatt
▫ Desenvolvimento do primeiro
p
neurocomputador: Mark I – Perceptron
▫ o modelo Perceptron despertou interesse devido
à sua capacidade em reconhecer padrões
simples
Histórico das RNA
• 1960 – Widrow & Hoff
▫ Rede Adaline (ADAptive LINear Element)
▫ Madaline
 Adaline múltipla, que é uma rede cujo aprendizado é
fundamentado na regra Delta ou LMS (least mean square)
• 1969 – Publicação do livro Perceptron (Minsky & Papert)
▫ Limitação de RNA constituídas por apenas uma única camada em
aprender
d o relacionamento
l i
t entre
t as entradas
t d e saídas
íd d
de ffunções
õ
lógicas bem simples como o XOR (ou-exclusivo).
p
das RNAs realizarem a correta classificação
ç de
▫ Impossibilidade
padrões para classes não lineamente separáveis.
Histórico das RNA
• De 1970
97 a 1986
9
▫ Trabalhos de Werbos (gradiente reverso), Grossberg(ART),
Kohonen (mapas auto-organizáveis), Hopfield (redes recorrentes
baseadas em funções de energia)
• 1986 – livro de Rumelhart, Hinton e Williams
▫ Processamento paralelo distribuído
▫ Resolvia o problema do XOR
▫ Algoritmo Backpropagation
Potenciais áreas de aplicações de RNA
• Aproximador
p
unirversal de funções
ç
▫ Mapeiam o relacionamento entre variáveis de um sistema a partir
de um conjunto conhecido de seus valores representativos
▫ Envolvem normalmente o mapeamento de processos cuja
modelagem por técnicas convencionais são de difícil obtenção
▫ Necessitam de domínio específico para variáveis de entrada
• Controle de processos
▫ Consistem em identificar ações de controle que permitam o
alcance dos requisitos de qualidade, de eficiência e de segurança
do processo.
▫ Ex:
E controles
l aplicados
li d em robótica,
bó i aeronaves, elevadores,
l d
eletrodomésticos, satélites, etc.
Potenciais áreas de aplicações de RNA
• Classificação
ç de Padrões
▫ Associar um padrão de entrada (amostra) para uma das
classes previamente definidas.
problema p
pode ser tratado p
possui um conjunto
j
discreto e
▫ Op
conhecido das possíveis saídas desejadas.
▫ Ex: reconhecimento de imagens, voz, escrita, etc.
• Agrupamento de dados (clusterização)
▫ Identificação e detecção de similaridades e particularidades
entre os diversos padrões de entrada a fim de possibilitar
seu agrupamento.
▫ Ex: identificação automática de classes (como em
problemas de diagnóstico médico),
médico) compressão de dados e
mineração de dados (data mining)
Potenciais áreas de aplicações de RNA
• Sistemas de Previsão
▫ Estimar valores futuros de um processo levando-se em
consideração diversas medidas prévias observadas em
seu domínio.
▫ Ex: previsão de séries temporais, mercados
financeiros, climáticas, etc.
• Otimização de Sistemas
▫ Minimizar ou maximizar uma função
ç custo ((objetivo)
j
)
obedecendo também eventuais restrições que são
impostas para o correto mapeamento do problema.
▫ Ex: problemas de otmização restrita, otimização
combinatorial, programação dinâmica, etc.
Potenciais áreas de aplicações de RNA
• Memórias Associativas
▫ Recuperar padrões corretos mesmo se os seus
elementos constituintes forem apresentados de
forma incerta ou imprecisa.
▫ Ex: processamento de imagens, transmissão de
sinais, identificação de caracteres manuscritos,
etc.
Neurônio biológico
Características da célula nervosa
• O processamento de informações no cérebro humano é regido por
elementos processadores bológicos que operam em paralelo
• Tem
T
como objetivo
bj ti a produção
d ã de
d ações
õ apropriadas
i d para cada
d uma
de suas funcionalidades, como o pensar e o memorizar.
Neurônio biológico
g
Características da célula nervosa
Neurônio biológico
Características da célula nervosa
Neurônio biológico
g
Variação do potencial de ação do neurônio
• Etapas de variação (potencial de ação):
Característica
Dimensão
Massa do cérebro
1,5
,5 kg
g
Energia consumida
20%
Comprimento do neurônio
100μm
Potencial de repouso
-70 mV
Potencial de ativação
-55 mV
Potencial de ação (máximo)
35 mV
Representação do neurônio artificial
• Modelo matemático do neurônio artificial
• Sinais de entrada: {x1, x2, …,
xn}

u   wi  xi  

i 1
 y  g (u
(u )

n
• Pesos sinápticos: {w1, w2, …,
wn}
• Combinador
bi d linear:
li
{Ʃ}
{ }
•Limiar de ativação: {θ}
• Potencial de ativação: {u}
• Função de ativação: {g}
• Sinal de saída: {y}
Neurônio artificial – resumo do
funcionamento
1.
Apresentação de um conjunto de valores que representam as
variáveis de entrada do neurônio;
2
2.
Multiplicação de cada entrada do neurônio pelo seu respectivo
peso sináptico
3.
Obtenção do potencial de ativação produzido pela soma ponderada
d sinais
dos
i i d
de entrada,
d subtraindo-se
b i d
o li
limiar
i d
de ativação
i ã
4.
Aplicação de uma função de ativação apropriada, tendo-se como
objetivo
obje
o limitar
a a sa
saída
da do neurônio
eu ô o
5.
Compilação da saída a partir da aplicação da função de ativação
neural em relação ao seu potencial de ativação
n

u   wi  xi  

i
1
1
 y  g (u )

Funções
ç
de ativação
ç neural parcialmente
diferenciáveis
• São aquelas
q
que p
q
possuem p
pontos cujas
j derivadas de
primeira ordem são inexistentes.
a) Função degrau (heavyside)
b) Função
F
ã degrau
d
bi l ou função
bipolar
f
ã sinal
i l
Classifcação de padrões
Funções de ativação neural parcialmente
diferenciáveis
c) Função rampa simétrica
Os valores retornados são iguais aos próprios valores dos
potenciais de ativação quando estes estão definidos no
intervalo [[-a,a],
, ], restingindo-se
g
aos valores limites em
caso contrário.
Funções
ç
de ativação
ç neural totalmente
diferenciáveis
• São aquelas cujas derivadas de primeira ordem
existem e são conhecidas em todos os pontos de
seu domínio de definição
• São quatro as principais funções.
funções
Funções
ç
de ativação
ç neural totalmente
diferenciáveis
a)) Função
ç logística
g
▫ Saída: valores entre 0 e 1.
• β é uma constante real associada ao nível de inclinação da função
logística frente ao seu ponto de inflexão
• Formato geométrico tende a ser similar ao da função degrau quando β
for muito elevado (tender ao infinito)
Funções
ç
de ativação
ç neural totalmente
diferenciáveis
b) Função
F
ã tangente
t
t hiperbólica
hi
bóli
 Saída: valores reais entre -11 e 1
 β também está associado ao nível de inclinação da função em relação ao
seu ponto de inflexão
 Formato geométrico tende a ser similar ao da função degrau bipolar
quando β for muito elevado (tender ao infinito).
Funções
ç
de ativação
ç neural totalmente
diferenciáveis
c) Função gaussiana
d) Função linear
(identidade)
c define o centro
(média) da função
 2 especifica
σ
ifi a variância
iâ i
(espalhamento)
 Produz resultados
idênticos aos valores do
potencial de ativação {u}
Arquiteturas
q
de RNA’s
• Arquitetura de RNA’s
▫ Define a forma como os seus diversos neurônios estão arranjados, ou
dispostos, uns em relação aos outros.
▫ Os arranjos são estruturados através do direcionamento do fluxo
sináptico.
p
• Topologia de RNA’s
▫ Define
D fi as diferentes
dif
f
formas
d composições
de
i õ estruturais
i que uma rede
d
pode assumir, dada uma determinada arquitetura.
▫ Ex: dada uma determinada arquitetura, uma das redes pode ser composta por 10
neurônios e a outra por 20 neurônios
• Processo de treinamento
▫ Consiste na aplicação de um conjunto de passos ordenados com o intuito de
ajustar os pesos e os limiares de seus neurônios.
▫ Visa sintonizar a rede para que as suas respostas estejam próximas dos valores
desejados.
▫ Conhecido como algoritmo de aprendizagem
Partes da RNA
• Camada de entrada
▫ Responsável pelo recebimento de informações (dados) advindas
do meio externo
▫ Entradas são normalizadas em relação aos valores limites
produzidos pelas funções de ativação
• Camadas escondidas, intermediárias, ocultas ou invisíveis
▫ Compostas de neurônios que possuem a responsabilidade de
extrair as características associadas ao processo ou sistema a ser
inferido.
• Camada de saída
▫ Também é constituida de neurônios, sendo responsável por
produzir/apresentar os resultados finais da rede
Arquiteturas
• As principais arquiteturas,
arquiteturas consideram
▫ Disposição de seus neurônios
▫ Formas de interligação entre os neurônios
▫ Constituição de suas camadas
1. Arquitetura feedforward (alimentação à
frente)
Camada simples
• Constituída de uma camada de
entrada e única camada de
neurônios, que é a própria saída.
• Fluxo de informações segue
sempre numa única direção
(unidirecional).
• Ex: Perceptron, Adaline
• Aplicações: classificação de
padrões, filtragem linear
2. Arquitetura
q
ffeedforward
f
((alimentação
ç à
frente)
C
Camadas
d múltiplas
úl i l
• Presença de uma ou mais camadas
neurais escondidas
• Quantidade de camadas escondidas
e de neurônios dependem,
dependem
sobreturo, do tipo e complexidade
do problema.
• Ex: Perceptron multicamadas,
redes de base radial (RBF).
• Aplicações: aproximação de
funções, classificação de padrões,
controle de processos,
processos otimização,
otimização
etc.
3 Arquitetura recorrente
3.
• Saídas
íd dos
d neurônios
ô i são
realimentadas como sinais de
entrada para outros neurônios.
• Realimentação as qualificam
para processamento dinâmico
de informações.
p
, Perceptron
p
• Ex: Hopfield,
multicamadas com
realimentação
• Aplicações sistemas de
previsão, otimização, controle
processos,, etc.
de p
4 Arquitetura
4.
Arq itet ra reticulada
retic lada
• Levam em consideração
ç a
forma em que a disposição
espacial dos neurônios está
organizada.
organizada
• Visa propósitos de extração de
características.
í i
• Ex: Kohonen.
• Aplicações: problemas de
agrupamento,
t classificação
l ifi ã de
d
padrões, otimização de
sistemas, etc.
Rede de Kohonen em que os
neurônios estão dispostos no
espaço bidimensional
Processos de treinamento
Aprender a partir da
apresentação
t ã de
d amostras
t
(padrões)
Exprimem o comportamento do sistema
Generalizar soluções
Produzir uma saída próxima da esperada
Processos de treinamento
• Processo de treinamento
▫ Consiste da aplicação de passos ordenados a fim
de ajustar (sintonizar) os parâmetros livre (pesos
sinápticos e limiares) dos neurônios.
▫ Objetivo final: generalização de soluções (as quais
não eram conhecidas)
Divisão das amostras
Representa todos os dados disponíveis sobre o
comportamento do
d processo a ser mapeado.
d
Conjunto total de
amostras
60 a 90%
Subconjunto de
treinamento
Usado para o processo de
aprendizado da rede.
rede
10 a 40%
Subconjunto de
teste
Usado para verificar se a
generalização
li ã de
d soluções
l õ por parte
t da
d
rede já estã em patamares aceitáveis.
Não participam do treinamento
da rede
Treinamento supervisionado
• Consiste em se ter disponível,
disponível considerando cada amostra dos sinais
de entrada, as respectivas saídas desejadas.
• Cada amostra de treinamento é então composta pelos sinais de
entradas e suas correpondentes saídas.
• Comporta como se houvesse um “professor” ensinando para a rede
qual seria a resposta correta para cada amostra apresentada
Passos do treinamento supervisionado
1.
Apresente uma amostra de treinamento.
2
2.
Calcule a saída produzida pela rede.
rede
3.
Compare com a saída desejada.
4.
Se estiver dentro de valores aceitáveis:
E ã
Então
T
Termine
i o processo de
d aprendizado
di d
Senão
Ajuste os pesos sinápticos e limiares
dos neurônios e volte ao passo 1.
1
Treinamento não-supervisionado
não supervisionado
• Diferentemente do supervisionado, as respectivas
saídas desejadas são inexistentes.
inexistentes
• A rede deve se auto-organizar em relação às
particularidades existentes entre os elementos do
conjunto total de amostras, identificado subconjuntos
((clusters)) q
que contenham similaridades.
Passos do treinamento não supervisionado:
1 Apresente
1.
A
t todas
t d as amostras
t
d treinamento.
de
t i
t
2. Obtenha as características que marcam as amostras
de treinamento.
3. Agrupe todas as amostras com características em
comum.
4 Coloque as amostras comuns em classes.
4.
classes
Aprendizagem off-line e on-line
• Off-line (usando lote de padrões)
▫ Os ajustes efetuados nos pesos e limiares dos neurônios só são
efetivados após a apresentação de todo o conjunto de
treinamento.
▫ Cada passo de ajuste leva em consideração o total de desvios
observados nas amostras de treinamento frentes aos respectivos
valores desejados para as usas saídas.
• On-line (usando padrão-por-padrão)
▫ Os ajustes nos pesos e limiares
l
d neurônios
dos
ô
são efetuados
f
d após
ó
a apresentação de cada amostra de treinamento.
▫ É normalmente
l
t utilizada
tili d quando
d o comportamento
t
t do
d sistema
i t
a
ser mapeado varia de forma bastante rápida.
Exercícios
• P.
P 43
43-44;
44; 54
54-55
55
Bibliografia
• Livro: Redes Neurais Artificiais: para engenharia
e ciências aplicadas – curso prático
Autores: Ivan Nunes da Silva
Danilo Hernane Spatti
Rogério Andrade Flauzino
Fla ino
Artliber: 2010.
Download