redes neurais artificiais...

141
Redes Neurais Artificiais (RNA) Definições: 1. Técnica inspirada no funcionamento do cérebro, onde neurônios artificiais, conectados em rede, são capazes de aprender e de generalizar. 2. Técnica de aproximação de funções por regressão não linear.

Upload: vuthuy

Post on 22-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Redes Neurais Artificiais (RNA)

Definições:

1. Técnica inspirada no funcionamento do cérebro, onde neurônios artificiais, conectados em rede, são capazes de aprender e de generalizar.

2. Técnica de aproximação de funções por regressão não linear.

Page 2: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Capacidade de Generalização

Isso significa que se a rede aprende a lidar com um certo problema, e lhe é apresentado um similar, mas não exatamente o mesmo, ela tende a reconhecer esse novo problema, oferecendo a mesma solução.

Page 3: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Redes Neurais Artificiais (RNA)

Devido à sua estrutura, as Redes Neurais Artificiais são bastante efetivas no aprendizado de padrões a partir de dados:

•não-lineares,

•incompletos,

•com ruído e até

•compostos de exemplos contraditórios.

Page 4: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Inspiração biológica

Page 5: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal
Page 6: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

Page 7: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

• Os dendritos tem por função, receber os estímulos transmitidos pelos outros neurônios;

• O corpo de neurônio, também chamado de soma, é responsável por coletar e combinar informações vindas de outros neurônios;

• E finalmente o axônio, protegido por uma bainha de mielina, o canal de saída do neurônio, é responsável por transmitir os estímulos para outros neurônios ou músculos.

O neurônio biológico

Page 8: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

O fluxo da informação ocorre sempre no sentido:

Dendritos - Corpo celular - Axônio

Page 9: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Cérebro humano

Page 10: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

A chegada de um trem de pulso no botão sináptico localizado na região terminal do axônio provoca a liberação de transmissores na fenda sináptica.

Sinapses podem ser excitatórias (facilitam a passagem do potencial de ação) ou inibitórias (inibem a passagem do potencial de ação).

Page 11: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

Neurônios podem se conectar com outros neurônios ...

Page 12: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

Neurônios podem se conectar com os músculos ...

Page 13: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

Neurônios podem se conectar com os órgãos sensoriais...

Page 14: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

• Há cerca de 100 bilhões deles no cérebro e na coluna vertebral.

• A maioria deles está localizado no córtex cerebral, o córtex é identificado popularmente como massa cinzenta.

• O córtex existe apenas nos cérebros de mamíferos.

• O córtex é a estrutura responsável pelas habilidades cognitivas superiores, tais como memória, raciocínio lógico, linguagem, consciência, dentre outras..

Page 15: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio biológico

• Em média, cada neurônio forma entre mil e dez mil sinapses.

• O cérebro humano possui cerca de 1011

neurônios, e o número de sinapses é de mais de 1014, possibilitando a formação de redes muito complexas.

Page 16: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Neurônio artificial

Page 17: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

• Modelo matemático de um neurônio biológico proposto em

W.S. McCulloch and W. Pitts (1943). “A logical calculus of the ideas immanent nervousactivity”, Bulletin of Mathematical Biophysics, vol.5, p. 115-133

• É bom lembrar que todo modelo é apenas uma aproximação do fenômeno ou objeto real cujas funcionalidades se pretende estudar.

“All models are wrong, but some are useful.”

George E. P. Box

• Assim, o neurônio MP é uma aproximação útil do neurônio real, pois serve até hoje como bloco construtivo básico de algoritmos de redes neurais

Page 18: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

• Na construção do neurônio MP se está interessado em modelar aspectos ligados ao Processamento da Informação em um neurônio biológico.

• Entendese por processamento da informação os caminhos e etapas pelas quais passam os potenciais de ação que trafegam de:– um neurônio a outro neurônio,

– receptores sensoriais a um neurônio, ou

– de um neurônio a um atuador (e.g. músculo).

• Assim, devemos desenvolver modelos matemáticos que representem os dendritos, as sinapses, o corpo celular e o axônio.

Page 19: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

Page 20: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

• Passo 2: A força (ou eficiência) das conexões sinápticas de uma certa árvore dendrítica é modelada como um fator (peso sináptico), cujo papel é modular o fluxo de sinais passando por uma certa árvore dendrítica.

Page 21: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

Passo 3: A função do corpo celular de realizar o balanço ou acúmulo energético é modelada por uma operação de somatório sobre as entradas moduladas pelos pesos sinápticos.

�(�): somatório ou ativação�(�) = ��� + … + �� � − �

Onde:

�, �, … �: entradas

��, ��, … ��: pesos sinápticos

�� = �

�: Limiar (bias)

Page 22: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O neurônio McCulloch-Pitts (MP)

• Passo 4: O axônio é modelado como uma chave ONOFF, que indica se o neurônio respondeu ao estímulo atual. Em outras palavras, se houve ou não o envio de um potencial de ação.

�, �, … �: entradas

��, ��, … ��: pesos sinápticos

�(�) = ��� + … + �� � − �

� = função degrau �(�) = � � = +1, �� � > 0

� � = � � = −1, caso contrário

Modelo completo do neurônio de McCulloch-Pitts

Page 23: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

• Matematicamente a saída pode ser expressa por:

ou considerando o bias como entrada de valor x0=-1 e peso w0=θ,

Expressão matemática do neurônio artificial

== ∑

=

p

j

jj xwfufy0

)(

+== ∑

=

p

j

jj biasxwfufy1

)(

Page 24: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Componentes do neurônio artificial

• Neurônio Biológico possui de forma resumida:– Dendritos,

– Sinapses,

– Corpo celular

– Axônio

• Neurônio Artificial possui:– As conexões (arestas ponderadas),

– As sinapses (entradas),

– A junção somadora, e

– A função de ativação.

Page 25: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

A operação de um neurônio artificial se resume em: • Sinais são apresentados à entrada (xj à xp); • Cada sinal é multiplicado por um peso que indica sua influência

na saída da unidade (w); • É feita a soma ponderada dos sinais que produz um nível de

atividade (u); • A função de ativação f(u) tem a função de limitar a saída e

introduzir não-linearidade ao modelo.• O bias tem o papel de aumentar ou diminuir a influência do

valor das entradas.• É possível considerar o bias como uma entrada de valor

constante 1 ( excitatória) ou -1 (inibitória), multiplicado por um peso igual a θ.

Page 26: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

Seja o neurônio artificial mostrado na figura a seguir.

�, �: entradas

�, �: pesos sinápticos

�: Limiar (bias)

�: ativação

A ativação (�) do neurônio é dada por:

� = ���, ��� − � (1)

Page 27: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

A equação (1) define um plano em (�, �, �)

O tracejado indica onde o plano está abaixo do plano (�, �).

Page 28: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

• Para fins de classificação basta trabalhar no plano (�, �).

• Isto equivale a fazer u=0 na equação do plano, ou seja:

� = ���, ��� − � = 0

• Assim, a equação da reta no plano (�, �) é dada por:

� = (��/��)� + �/��(2)

Page 29: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

• A equação (2) define a reta em (�, �) apresentada a seguir:

Page 30: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Princípio de funcionamento

• Assim, um neurônio pode ser usado para separar com eficiência duas classes que estejam bem isoladas uma da outra.

• O perceptron de limiar é chamado separador linear

Page 31: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplos de Funções Lógicas

• Exemplo 1(1): Implementando funções lógicas (AND, OR, NOT).

Representação do Problema (Função OR)

Page 32: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplos de Funções Lógicas

• Exemplo 1(2): É possível encontrar uma reta que separe os pontos da Classe 1 (y=1) dos da Classe 2 (y=0)? SIM.

Observação: Na verdade, é possível encontrar infinitas retas que separam as duas classes.

Page 33: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplos de Funções Lógicas

• Exemplo 2: O seguinte neurônio implementa a porta OR.

�� = �� = 1 e � = 0,5

� = 1 se u ≥ 0

� = 0 se u < 0

Page 34: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplos de Funções Lógicas

• Exemplo 3: O seguinte neurônio implementa a porta AND.

�� = �� = 1 e � = 1,5

� = 1 se u ≥ 0

� = 0 se u < 0

Page 35: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplos de Funções Lógicas

• Exemplo 4: O seguinte neurônio implementa a porta NOT.

�� = −1 e � = −0,5

� = 1 se u ≥ 0

� = 0 se u < 0

Page 36: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Resumo

• O neurônio MP pode ser usado para implementar as portas lógicas AND, OR e NOT porque estas, do ponto de vista geométrico, podem ser interpretadas como um problema de classificação binária (duas categorias).

• O neurônio MP, do ponto de vista geométrico, pode ser interpretado como uma reta (2D), ou um plano (3D) ou ainda um hiperplano (> 3D), que é usado para separar duas categorias de dados distintas.

• Na implementação das portas lógicas AND, OR e NOT, os valores dos pesos e do limiar foram determinados pelo projetista com base na análise geométrica do problema.

Page 37: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Resumo

• Como fazer com que o neurônio MP determine de forma automática os valores dos pesos e do limiar para um problema específico?

• Para que o neurônio MP seja capaz de aprender sozinho a resolver um problema de classificação é necessário dotá-lo de uma regra de aprendizagem.

• Uma regra de aprendizagem nada mais é do que uma equação que altera os valores dos pesos e do limiar em função dos erros cometidos durante a execução da tarefa de classificação.

Page 38: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Rede Perceptron Simples (PS)

• A rede PS é considerada o primeiro algoritmo de redes neurais artificiais.

• A rede PS foi proposta por Frank Rosenblatt em 1958.

F. Rosemblat (1958). “The Perceptron: A probabilistic model for iformation storage

and organization in the brain”, Psychological Review, v.65, p.386-408.

Perceptron Simples = Neurônio de MP + Regra de Aprendizagem

• A regra de aprendizagem é o mecanismo que torna a rede Perceptron Simples um dispositivo inteligente.

Page 39: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Rede Perceptron Simples (PS)

Regra de Aprendizagem do Perceptron

• A atualização do peso depende do erro e da entrada:

� � + 1 = � � + � � �

• A fim de tornar o processo de ajuste do vetor w mais estável, é comum introduzir na equação anterior um fator , chamado de passo de aprendizagem:

� � + 1 = � � + !� � �

Onde: 0 < ! ≪ 1

Page 40: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Rede Perceptron Simples (PS)

Perceptron Simples = Neurônio MP + Regra de Aprendizagem

� � + 1 = � � + !� � �

Onde: 0 < ! ≪ 1

Page 41: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Algoritmo do Perceptron Simples

1. Início (t=0)1.1 – Definir valor de ! entre 0 e 1.

1.2 – Iniciar w(0) com valores nulos ou aleatórios.

2. Funcionamento2.1 – Selecionar vetor de entrada x(t).

2.2 – Calcular ativação u(t).

2.3 – Calcular saída y(t).

3. Treinamento3.1 – Calcular erro: e(t) = d(t) - y(t)

3.2 – Ajustar pesos via regra de aprendizagem.

3.3 – Verificar critério de parada.3.3.1 – Se atendido, finalizar treinamento.

3.3.2 – Caso contrário, fazer t=t+1 e ir para Passo 2.

Page 42: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Treinamento do neurônio

Page 43: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Exemplo Passo­a­Passo: Aprendendo a Porta Lógica OR.

t =0: Iniciar com zeros os pesos e o limiar.

w10=w2 0=0=0

Passo de aprendizagem escolhido:   = 0,5;

Logo:

w 0=[0w10w20]

=[000] x t =[

−1x1t x2 t ]

Page 44: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

t=1: Calcular saída para w(1) = [0  0  0]  e  x(1) =[­1  0  0].

u(1) =  (0)(­1) + (0)(0) + (0)(0) = 0 => y (1)= 0, e(1)=0.

t=2: Calcular saída para w(2) = [0  0  0]  e  x(2) =[­1  0  1].

u(2) = (0)(­1) + (0)(0) + (0)(1) = 0 => y(2) = 0, e(2)=1

w 3=w 2e 2x 2=[000]0,51[

−101 ]=[

−0,50

0,5 ]

w 2=w 1e 1x 1=[000]0,50[

−100 ]=[

000]=w 1

Page 45: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

t=3: Calcular saída para w(3) = [­0,5  0  0,5]  e  x(3) =[­1  1  0].u(3)=(­0,5)(­1)+(0)(1) + (0,5)(0) = 0,5 => y (3)= 1, e(1)=0.

t=4: Calcular saída para w(4) = [­0,5  0  0,5]  e  x(4) =[­1  1  1].u(4) = (­0,5)(­1) + (0)(1) + (0,5)(1) = 1 => y(4) = 1, e(4)=0.w 5=w 4

w 4=w 3

t=5: Calcular saída para w(5) = [­0,5  0  0,5]  e  x(5) =[­1  0  0].u(5) = (­0,5)(­1) + (0)(0) + (0,5)(0) = 0,5 => y(5) = 1, e(5)=­1.

w 6=w 5 e5x 5=[−0,5

00,5 ]0,5−1[

−100 ]=[

00

0,5]

Page 46: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

t=6: Calcular saída para w(6) = [0  0  0,5]  e  x(6) =[­1  0  1].u(6)=(0)(­1)+(0)(0) + (0,5)(1) = 0,5 => y (6)= 1, e(6)=0.

t=7: Calcular saída para w(7) = [0  0  0,5]  e  x(7) =[­1  1  0].u(7) = (0)(­1) + (0)(1) + (0,5)(0) = 0 => y(7) = 0, e(7)=1.

w 7=w 6

t=8: Calcular saída para w(8) = [­0,5  0,5  0,5]  e  x(8) =[­1  1  1].u(8) = (­0,5)(­1)+(0,5)(1)+(0,5)(1) = 0,5 => y(8) = 1, e(8)=0.

w 8=w 7e 7x 7=[00

0,5]0,51[−110 ]=[

−0,50,50,5 ]

w 9=w 8

Page 47: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

t=9: Calcular saída para w(9) = [­0,5 0,5  0,5]  e  x(9) =[­1  0  0].u(9)=(­0,5)(­1)+(0,5)(0) + (0,5)(0) = 0,5 => y (9)= 1, e(9)=­1.

t=10: Calcular saída para w(10) = [0  0,5  0,5]  e  x(10) =[­1  0  1].u(7) = (0)(­1) + (0,5)(0) + (0,5)(1) = 0,5 => y(10) = 1, e(10)=0.

t=11: Calcular saída para w(11) = [0  0,5  0,5]  e  x(11) =[­1  1  0].u(11) = (0)(­1)+(0,5)(1)+(0,5)(0) = 0,5 => y(11) = 1, e(11)=0.

w 11=w 10

w 12=w 11

w 10=w 9e 9x 9=[−0,50,50,5 ]0,5−1[

−100 ]=[

00,50,5]

Page 48: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

t=12: Calcular saída para w(12) = [0  0,5  0,5]  e  x(12) = [­1  1  1].u(12)=(0)(­1)+(0,5)(1) + (0,5)(1) = 1 => y (12)= 1, e(12)=0.

t=13: Calcular saída para w(13) = [0  0,5  0,5]  e  x(13) =[­1  0  0].u(13) = (0)(­1) + (0,5)(0) + (0,5)(0) = 0 => y(13) = 0, e(13)=0.

w 14=w 13

w 13=w 12

FIM do treinamento!

Page 49: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Solução Encontrada:

w=[

w1

w2]=[

00,50,5]

Page 50: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

w=[

w1

w2]=[

00,50,5]

Solução Encontrada:

Note que esta não é a melhor das soluções, porque a reta passa bem em  cima  do  ponto  (0,0).  Se  os  pesos  tivessem  sido  iniciados aleatoriamente, dificilmente uma situação como essa ocorreria.

Page 51: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Um único neurônio M­P categoriza apenas duas classes de dados.Em  problemas  com  múltiplas  classes,  deve­se  utilizar  vários neurônios em paralelo.

Page 52: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

O i­ésimo neurônio da rede PS é representado na figura abaixo.

Page 53: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

O funcionamento de cada neurônio individualmente é o mesmo.

Assim, a ativação do i­ésimo neurônio da rede PS é dada por:

ui=wiT x=w i1 x1w i 2 x2...wip x p

 i = 1, ..., Q (Q ≥ 1 é o número de neurônios de saída).

yi=sinalui=sinalwiT x

A saída do i­ésimo neurônio é dada por:

O erro do i­ésimo neurônio é dado por: ei=d i−yi

onde di é a saída desejada do i­ésimo neurônio.

Page 54: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Como cada neurônio tem seu próprio vetor de pesos wi , i = 1, 2, ...., Q, então teremos agora Q regras de aprendizagem!

Assim, a regra de aprendizagem do i­ésimo neurônio é dada por:

wi t1=wi t ei t x t

Em que 0 <  << 1  e  i=1, 2, ..., Q.

Ou seja, uma regra de aprendizagem para cada vetor wi.

Page 55: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)Resumo da Rede Percepron Simples (Q neurônios)

1. Início (t=0) 1.1 – Definir valor de  entre 0 e 1.1.2 – Iniciar wi(0) com valores aleatórios.

2. Funcionamento2.1 – Selecionar o vetor de entrada x(t).2.2 – Calcular as Q ativações ui(t).2.3 – Calcular as Q saídas  yi(t).

3. Treinamento3.1 – Calcular os Q erros: ei(t) = di(t) ­ yi(t)3.2 – Ajustar os Q vetores de pesos wi(t).3.3 – Verificar critério de parada.

3.3.1 – Se atendido, finalizar treinamento.3.3.2 – Caso contrário, fazer t=t+1 e ir para Passo 2.

Page 56: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Para o PS, existem basicamente 2 métodos para especificar Q.

Método 1: Codificação binária simples.Se tenho C classes, então Q é o maior inteiro igual a ou menor que  C.

Exemplo: Se C = 6 classes, então Q > 2,45 = 3. 

Os vetores de saídas desejadas são construídos do seguinte modo:

d=[001]

Classe 1: Classe 1:  Classe 2: d=[

010]

Classe 2: d=[

011]

Classe 3: 

E assim por diante até a Classe 6: d = [1  1  0]T. 

Page 57: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Método 2: Codificação 1­out­of­Q.

Se tenho C classes, então Q = C.Exemplo: Se C = 4 classes, então Q = 4. 

Neste  método  apenas  uma  das  componentes  do  vetor  de  saídas desejadas tem valor igual a 1, i.e. Os vetores d são ortogonais.

d=[1000 ]

Classe 1:  Classe 2: 

d=[0100 ] d=[

0010 ]

Classe 3: 

E assim por diante até a Classe 4: d = [0  0  0  1]T. 

Page 58: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Dicas para Projetar uma Rede PS

(1) Usar uma taxa de aprendizagem pequena (e.g. = 0,1 ou 0,01).

(2) Usar valores de saída yi ∈ {­1,+1}, em vez de yi ∈ {0,+1}.

(3) Mudar a ordem de apresentação dos vetores de treinamento a cada época de treinamento, tornando­a aleatória.

(4) Usar o método dois para determinar o número de neurônios (Q) e a representação dos vetores de saídas desejadas (d).

Page 59: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

5. Rede Perceptron Simples (PS)

Dicas para Projetar uma Rede PS

(5) Normalizar os vetores de entrada se as variáveis apresentarem ordens de grandeza muito díspares. 

x jnorm

=x j−x j

min

x jmax

−x jmin

ou dentro da faixa [­1,+1]: x jnorm

=2 .x j−x j

min

x jmax

−x jmin −1

Recomenda­se deixar toda variável com valores

dentro da faixa [0,+1]:

Page 60: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Adaline

• Na mesma época em que Rosenblatt propôs o Perceptron,

Widrow e Hoff propuseram o algoritmo dos mínimos

quadrados (regra delta) para a rede Adaline (Adaptive Linear

Element), similar ao Perceptron, porém com função de

ativação linear ao invés de função degrau.

•O algoritmo backpropagation é uma generalização da regra

delta.

• O objetivo do algoritmo de treinamento é minimizar o erro

quadrático médio (MSE) entre a saída de rede e a saída

desejada.

Page 61: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Adaline

Rede com várias entradas/

saídas

O i-ésimo neurônio

da rede

Page 62: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Adaline

∑∑==

−==n

i

ii

n

i

i ydeE1

2

1

2)(

• O gradiente de E, também denominado de índice de

desempenho ou função custo, fornece a direção de

crescimento mais rápido de E.

• Portanto, a direção oposta ao gradiente de E é a direção de maior decrescimento.

• A soma dos erros quadráticos para um determinado

padrão é dada por:

Page 63: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

onde �#$ é o peso específico para o neurônio pós-

sináptico %, da entrada & (' com( = 1,…)), e α é a taxa

de aprendizagem (� é o bias) .

Adaline

IJ

IJIJw

Eww

∂−= α

O erro pode ser reduzido ajustando-se os pesos da

rede de acordo com:

Page 64: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Adaline

2

1

2 )()( II

p

i IJ

ii

IJIJ

ydw

ydww

E−

∂=−

∂=

∂∑

=

JII

IJ

III

IJ

j j

jIjjIjII

xydw

yyd

w

E

xwxwffy

)(2)(2

)()(

−−=∂

∂−−=

=== ∑ ∑.xw

Como

Como �#$influencia apenas o neurônio %,

Page 65: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Regra delta

• Portanto a regra delta para o Adaline resume-se

em:

• Onde *# é o ajuste do peso para o bias (�+�)

com � = 1.

)(

)(

IIII

JIIIJIJ

ydbb

xydww

−+=

−+=

α

α

Page 66: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal
Page 67: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Aprendizagem com Momento

• Aprendizagem com momento usa uma

memória (incremento anterior) para aumentar

a velocidade e estabilizar a convergência

• Equação de correção dos pesos:

Observação: β é a constante de momento,

normalmente é ajustada entre 0,5 e 0,9

( ) ( ) ( ) ( ) [ ( ) ( ) ]11 −−++=+ nwnwnxnenwnw ijijjiijij βα

Page 68: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo de Momento

Page 69: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

• Momentum

Page 70: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo: É possível implementar a porta XOR com 1 neurônio? Representação do Problema (Função XOR)

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 71: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Não, porque a função lógica XOR é 

não­linearmente separável.  

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Ou seja, não é possível separar as classes por uma única reta.

Page 72: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : São necessários pelo menos TRÊS neurônios!! 

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 73: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Dois neurônios são necessários para separar o

espaço (x1, x2) em 4 regiões (R1, R2, R3, R4).

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 74: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Note que a reta em vermelho corresponde a um

neurônio que implementa a porta AND, enquanto a reta em azul corresponde a um neurônio que implementa a porta OR.

Sejam z1 e z2, as saídas dos neurônios responsáveis pelas retas em

vermelho e azul, respectivamente. Assim, temos que: 

 Em R1,  z1 = 0  e  z2 = 1.             Em R2,  z1 = 1  e   z2 = 1.  

Em R3,  z1 = 1  e  z2 = 0.             Em R4,  z1 = 0  e   z2 = 0. 

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 75: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Precisa­se ainda de um terceiro neurônio para 

combinar os valores de z1 e z2, a fim de gerar o valor de y correto.

Quando um ponto da função que cair em qualquer uma das regiões

R2, R3 e R4, deve gerar uma saída igual a y = 0.

Quando um ponto da função que cair em na região R1, o terceiro 

neurônio deve gerar uma saída igual a y = 1.

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 76: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Representação da função XOR no espaço (z1, z2).

No espaço (z1, z2) a função XOR passa a ser linearmente separável, 

pois o ponto (x1, x2) = (1,0) é mapeado no ponto (z1, z2) = (0,1)!

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 77: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Assim, devemos projetar um neurônio que

implemente a seguinte função lógica no espaço (z1, z2).

6. Problemas Não­Linearmente Separáveis (Porta XOR)

Page 78: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.): O neurônio de saída tem a seguinte configuração.

6. Problemas Não­Linearmente Separáveis (Porta XOR)

z2=2 z10,5 Equação da reta:

Page 79: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Colocando os dois primeiros neurônios em uma

camada e o terceiro neurônio na camada seguinte (subseqüente), chega­se à seguinte rede multicamadas que implementa a porta XOR.

7. Implementação da Porta XOR

Page 80: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Exemplo (cont.) : Uma outra possível rede multicamadas que

também implementa a porta lógica XOR é dada abaixo.  

7. Implementação da Porta XOR

Page 81: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

A rede neural conhecida como Perceptron Multicamadas (Multilayer Perceptron – MLP) contém os seguintes elementos:   

8. Rede Perceptron Multicamadas

(i)  Unidades  de  entrada:  responsáveis  pela  simples  passagem  dos valores de entrada para os neurônios das camadas seguintes. 

(ii) Camada(s) oculta(s): contém neurônios responsáveis pelo processamento não­linear da informação de entrada, de modo a facilitar  a resolução do problema para os neurônios da camada de saída . 

(iii) Camada de saída: contém neurônios responsáveis pela geração da saída da rede neural, após as entradas terem sido devidamente processadas pelos neurônios ocultos. 

Page 82: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Uma Rede MLP com 1 camada oculta é representada por:   

MLP(p, q1, m)Onde:         p é o número de variáveis de entrada                  q1 é o número de neurônios ocultos                  m é o número de neurônios de saída.

Logo,  o  número  total  de  parâmetros  (Z)  de  uma  rede  MLP  de  uma camada oculta é dado por:

Z = (p+1)q1 + (q1+1)m

Page 83: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Uma Rede MLP com 1 camada oculta é representada por:   

MLP(p, q1, q2, m)Onde:         p é o número de variáveis de entrada                  q1 é o número de neurônios da 1a. camada oculta                  q2 é o número de neurônios da 2a. camada oculta                  m é o número de neurônios de saída.

Logo, o  número  total de parâmetros  (Z)  de uma rede MLP  de duas   camadas ocultas é dado por:

Z = (p+1)q1 + (q1+1)q2 + (q2+1)m

Page 84: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Uma  rede  MLP  com  4  variáveis  de  entrada  (p=4),  10  neurônios  ocultos (q1=10) e 2 neurônios de saída (m=2) é representada como MLP(4,10,2). 

NOTA 1:   A especificação de p  e m  são ditadas pela forma como o problema é codificado para ser resolvido por uma rede neural.

NOTA 2: As especificações de q1 e q2 dependem da complexidade do problema,  ou  seja,  é  preciso  realizar  vários  testes  até  encontrar  os valores mais adequados.

Uma  rede MLP com  15  variáveis de  entrada (p=15), 20 neurônios na  1a. camada  oculta  (q1=20),  10  neurônios  na  2a.  camada  oculta  (q2=10)  e  4 neurônios de saída (m=4) é representada como MLP(15,20,10,2). 

Page 85: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Um  neurônio  qualquer  da  rede  MLP,  seja  oculto  ou  de  saída,  é representado genericamente como na figura abaixo.

Page 86: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Note que a função de ativação do neurônio M­P, que é do tipo 

Degrau (não­linearidade dura ou hard) 

foi substituída por uma função de ativação do tipo 

Sigmoidal (não­linearidade suave ou soft).

Assim, a saída deixa de ser uma variável do tipo 

ON­OFF (binária [0,1] ou bipolar [­1,+1]) 

e passa a ser uma variável do tipo 

Real ou Analógica (qq valor entre [0,1] ou [­1,+1]).

Page 87: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Função de ativação Sigmóide Logística

y it =1

1exp −ui t

y it ∈ 0,1

Page 88: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Derivada da Sigmóide Logística

y i,t =

d yi t

d ui t

y i,t =yi t [1−yi t ]

Page 89: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Função de ativação Tangente Hiperbólica

y it =1−exp −ui t

1exp −ui t

y it ∈ −1,1

Page 90: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Derivada da Tangente Hiperbólica

y i,t =

d yi t

d ui t

y i,t =0,5 [1−yi

2t ]

Page 91: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Sobre o Uso de Funções de Ativação Sigmoidais Vantagens:  (1) Derivadas fáceis de calcular.

(2) Não­linearidade fraca (trecho central é quase linear)(3)  Interpretação da  saída  como  taxa  média  de  disparo (mean firing rate), em vez de simplesmente indicar se o neurônio está ou não ativado (ON­OFF).

Desvantagens: (1) Elevado custo computacional para implementação em sistemas embarcados devido à presença da função EXP. 

exp x =1

x1!

x2

2 !

x3

3!⋯

Page 92: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Funcionamento de uma rede MLP com 1 camada oculta(1) A ativação do i­ésimo neurônio da camada oculta é dada por:

ui=wiT x=wi 0 x0wi 1 x1wi2 x2...wip x p , i=1,, q1

z i t =1

1exp −ui t , i=1,, q1

(2) A saída do i­ésimo neurônio da camada oculta é dada por:

ou

z i t =1−exp −ui t

1exp −ui t , i=1,, q1

Page 93: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Funcionamento de uma rede MLP com 1 camada oculta(1) A ativação do k­ésimo neurônio de saída é dada por:

ak=mkT z=mk 0 z0mk1 z1mk 2 z2⋯mkq1

zq1, k=1,, m

ok t =1

1exp−a k t , k=1,, m

(2) A saída do k­ésimo neurônio de saída é dada por:

ou

ok t =1−exp−a k t

1exp−a k t , k=1,, m

Page 94: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Treinamento de uma rede MLP (1 camada oculta)O k­ésimo neurônio de saída têm acesso à saída desejada, dk.Assim, é possível calcular o erro associado a esse neurônio:

ek = dk ­ ok 

Este  erro  pode  então  ser  utilizado  em  uma  regra  de  aprendizagem similar àquela usada pelo algoritmo Perceptron Simples.

mk t1=mk t ek t ok, t z t

z(t) é o vetor de entrada da camada de saída. 

ok, t =ok t [1−ok t ] (p/ sigmóide logística) 

ok, t =0,5[1−ok

2t ] (p/ tangente hiperbólica) 

Onde:

Page 95: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Treinamento de uma rede MLP (1 camada oculta)Contudo, o i­ésimo neurônio oculto não tem acesso a uma saída desejada equivalente, di.

Assim, NÃO é possível calcular o erro associado a esse neurônio.

A saída encontrada pelos pesquisadores foi “inventar” uma espécie de erro para os neurônios ocultos, sem que houvesse a necessidade de uma saída desejada, di.

O  erro  dos  neurônios  ocultos  são  obtidos  a  partir  dos  erros  dos neurônios de saída por meio de uma projeção no sentido inverso  ao do fluxo de informação convencional.

Page 96: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Treinamento de uma rede MLP (1 camada oculta)Esta projeção no sentido inverso dos erros de saída é mais conhecida pelo nome de retropropagação dos erros (Error Backpropagation).

Page 97: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

O algoritmo de backpropagation é o mais usado para treinar redes MLP, tendo sido proposto por diferentes autores em diferentes épocas.    

8. Rede Perceptron Multicamadas

P.  Werbos  (1974).  “Beyond  regression:  new  tools  for  prediction  and  analysis  in  the behavioral sciences”, PhD thesis, Harvard University, Boston, MA.

D. E. Rumelhart, G. E. Hinton, & R. J. Williams (1986). “Learning representations by back­propagating errors”. Nature, 323:533­536, 1986.

Y. Le Cun, “Learning processes in an asymmetric threshold network”, In: Disordered Systems and Biological Organization (eds. F. Soulie, E. Bienenstock, and G. Weisbuch, Eds.). Les Houches, France: Springer­Verlag, 1986, pp. 233­340.

Parker, D. (1985). “Learning Logic”, Technical Report TR­87. Cambridge, MA: Center for Computational Research in Economics and Management Science, MIT.

Page 98: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Regras de Aprendizagem da Rede MLP (1 camada oculta)Neurônios Ocultos:

wi t1=w i tei t zi,t x t

Onde:         ei é o erro retroprojetado do i­ésimo neurônio de saída

x(t) é o vetor de entrada da rede. 

zi,t =zi t [1−z i t ] (p/ sigmóide logística) 

zi,t =0,5[1−zi

2 t ] (p/ tangente hiperbólica) 

ei t =∑k=1

mmki ok

, t ek t , i=1,, q1

Page 99: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Obtenção Teórica da Regra de Aprendizagem da Rede MLPPara  a  rede  PS,  a  regra  de  aprendizagem  foi  obtida  através  de  uma análise geométrica do problema.

Para a rede MLP vamos obter uma regra de aprendizagem semelhante, a partir da minimização de uma função­custo (ou função objetivo).

Para isso, considere inicialmente que o erro quadrático instantâneo para todos os m neurônios de saída é dado por:

J t =12∑k=1

mek

2t =1

2∑k=1

md k t −ok t

2

Page 100: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Obtenção da Regra de Aprendizagem da Rede MLPUm gráfico hipotético que ilustra o efeito da não­linearidade na função J(t) para um único neurônio de saída com peso w é mostrado abaixo:

Page 101: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Obtenção da Regra de Aprendizagem da Rede MLP

A função­custo de interesse é o Erro Quadrático Médio (EQM), para os N exemplos de treinamento:

J W =1N∑t=1

NJ t = 1

2 N∑t=1

N∑k=1

mek

2t

=1

2 N∑t=1

N∑k=1

md k t −ok t

2

Note que a função J(W) pode ser minimizada ao se minimizar J(t)!

onde W é o conjunto de todos os parâmetros (pesos e limiares) da rede.

Page 102: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Obtenção da Regra de Aprendizagem da Rede MLPComo a função custo é não­linear, então o processo de minimização deve ser realizado de modo iterativo por meio da seguinte equação recursiva:

mk t1=mk t −∂ J t ∂mk t

onde  é passo de aprendizagem (0 <  < 1).

Note que o segundo termo da equação acima é o incremento imposto ao vetor de pesos wk no instante t, ou seja

mk t1=−∂ J t ∂mk t

Page 103: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Obtenção da Regra de Aprendizagem da Rede MLPTemos então que calcular  a  seguinte derivada, também chamada de gradiente da função J(t) na direção do vetor mk(t):

∂ J t ∂mk t

Para isso, usaremos a regra da cadeia para fatorar esta derivada em vários termos:

∂ J t ∂mk t

=∂ J t ∂ ek t

∂ek t

∂ok t

∂ ok t

∂ ak t

∂ ak t

∂mk t

Page 104: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Vamos calcular cada derivada separadamente:

∂ J t ∂ ek t

=ek t J t =12∑k=1

mek

2t (1)   Se Então

∂ ek t

∂ ok t =−1(2)   Se Entãoek = dk ­ ok 

(4)   Se

Entãook t = ak t ∂ok t

∂ ak t =

,t =ok

,t (3)   Se

ak t =mkT t z t Então

∂ ak t

∂mk t =zt

Page 105: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Juntando novamente cada derivada, chega­se ao seguinte resultado:

∂ J t ∂mk t

=∂ J t ∂ ek t

∂ek t

∂ok t

∂ ok t

∂ ak t

∂ ak t

∂mk t

=ek t −1o,t zt =−ek t o

, t z t

Assim, obtemos a regra de aprendizagem para os neurônios de saída:

mk t1=mk t−∂ J t ∂mk t

mk t1=mk t ek t ok, t z t

Page 106: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Para obter a regra de aprendizagem dos neurônios ocultos adota­se um raciocínio semelhante.Assim, o processo de minimização deve ser realizado de modo iterativopor meio da seguinte equação recursiva:

wi t1=w i t−∂ J t ∂w it

O segredo está em calcular o gradiente da função função custo J(t) agora na direção do vetor wi(t), ou seja:

∂ J t ∂w it

=∂ J t ∂ y it

∂ y i t

∂ui t

∂uit

∂w i t ( exercício)

Page 107: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Avaliação Gráfica do TreinamentoA avaliação do treinamento é feita através do gráfico de J(W) versus o número de épocas de treinamento, chamado de curva de aprendizagem.

Page 108: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

A Rede MLP é um Aproximador Universal de Função

Uma rede MLP(p, q1, m), ou seja, uma rede com uma camada oculta, é capaz  de  aproximar  qualquer  função  contínua,  com  grau  de  precisão arbitrário, dado um número suficientemente grande de neurônios ocultos com função de ativação sigmoidal.

Uma  rede  MLP(p,  q1,  q2,  m),  ou  seja,  uma  rede  com  duas  camadas ocultas, é capaz de aproximar qualquer função descontínua, com grau de precisão  arbitrário,  dado  um  número  suficientemente  grande  de neurônios ocultos com função de ativação sigmoidal em cada camada.

Page 109: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

A Rede MLP é um Aproximador Universal de Função

K. Hornik, M. Stinchcombe & H. White (1989). “Multilayer Feedforward Networks are Universal Approximators”, Neural Networks, vol. 2, no. 5, p. 359­­366.

K. Hornik (1991). “Approximation Capabilities of Multilayer Feedforward Networks”, Neural Networks, vol. 4, no. 2, p. 251­­257.

R. Hecht­Nielsen  (1987).  “Kolmogorov's mapping neural network  existence  theorem”, Proceedings of the IEEE International Conference on Neural Networks, pp. 11­­14.

J. L. Castro, C. J. Mantas & J. M. Benitez (1987). “Neural networks with a continuous squashing function in the output are universal approximators”, Neural Networks, vol. 13, no. 6, pp. 561­­563.

Page 110: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

A Rede MLP é um Aproximador Universal de Função

Os  resultados obtidos nas referências acima são apresentados  na  forma de teoremas de existência, ou seja, eles dizem que existe uma rede MLP que pode aproximar uma certa função, porém não dizem como obtê­la.

V.  Kurkova  (1992).  “Kolmogorov's  Theorem  and  Multilayer  Neural  Networks”, Neural Networks, vol. 5, no. 3, p. 501­­506.

Exceção:

Isto quer dizer que, por menor que seja o erro quadrático médio exigido para uma boa aproximação do problema, a rede MLP será eventualmente capaz de atingi­lo, desde que o número de neurônios ocultos seja elevado.

Page 111: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Papel da Derivada da Função de Ativação na Regra de Aprendizagem

Assumindo uma função de ativação logística, tem­se que

CONCLUSÃO: Quando a ativação é muito alta (ou muito baixa), a saída estará próxima da região de saturação e, assim, o ajuste dos pesos será muito pequeno e o aprendizado mais lento. 

eQuando ak t ∞ , então ok t ≈ 1 ⇒ ok

, t ≈ 0

Quando ak t −∞ , então ok t ≈ 0 ⇒ ok, t ≈ 0

Logo, se ok,t ≈ 0 ⇒ mk t =ek t ok

,t z t ≈ 0

Page 112: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Este fênomeno recebe o nome de “paralisia da rede” e pode ser melhor  visualizado  colocando­se  os  gráficos  da  função  de  ativação  e  de  sua derivada lado a lado.

Page 113: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Minimizar a paralisia da rede

• A atualização de um peso entre duas unidades depende da derivada da função de ativação da unidade posterior e função de ativação da unidade anterior. Por tanto, é importante evitar escolhas de pesos iniciais que tornem as funções de ativação ou suas derivadas iguais a zero.

• Os valores para os pesos iniciais não devem ser muito grandes, tal que as derivadas das funções de ativação tenham valores muito pequenos (região de saturação). Por outro lado, se os pesos iniciais são muito pequenos, a soma pode cair perto de zero, onde o aprendizado é muito lento.

• Assim, devem-se inicializar os pesos e bias com valores randômicos entre [-0.5, 0.5] ou [-1, 1].

Page 114: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Rede Multilayer Perceptron (MLP)

Page 115: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Treinamento da MLP

• A rede MLP utiliza aprendizado supervisionado: para determinadas entradas esperam-se saídas específicas.

• Algoritmo de aprendizagem – backpropagation:

– Regra de aprendizagem baseada na correção do erro pelométodo do Gradiente

– O algoritmo de aprendizagem é composto de duas fases:

– Cálculo do erro (forward)

– Correção dos pesos sinápticos (backward)

Page 116: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Algoritmo Backpropagation

• Erro no j-ésimo neurônio da camada de saída no instante t.

t = iteração, t-ésimo padrão de treinamento apresentado à rede.

• Ajuste dos pesos:�'+ � + 1 = �'+ � − , ∙ .'(�) ∙ +(�)

• Para camada de saída: .'(�) = �/'[�' � ] ∙ �'(�)

• Para camada oculta: .'(�) = �/'[�' � ] ∙ ∑ [

345� .4(�) ∙ �4+]

( ) ( ) ( )tytdte jjj −=

Page 117: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Algoritmo Backpropagation

• Treinamento é feito em duas fases:

Fase forward

Fase backward

Page 118: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase forward

Camadas intermediárias

Camada de entrada

Camada de saída

Entrada é apresentada à primeira

camada da rede e propagado em

direção às saídas.

Page 119: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase forward

Camadas intermediárias

Camada de entrada

Camada de saída

Os neurônios da camada i calculam

seus sinais de saída e propagam

à camada i + 1

Page 120: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase forward

Camadas intermediárias

Camada de entrada

Camada de saída

A última camada oculta calcula

seus sinais de saída e os envia

à camada de saída

Page 121: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase forward

Camadas intermediárias

Camada de entrada

Camada de saída

A camada de saída calcula

os valores de saída da rede.

Page 122: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de entrada

Camada de saída

Page 123: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de entrada

Camada de saída

A camada de saída

calcula o erro da rede: δj

Erro (δδδδj)

Page 124: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

Calcula o termo de correção dos pesos

(a atualização será feita depois)

∆wji = αδjxi

Erro (δj)

Page 125: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

Envia o erro para a

última camada oculta

Erro (δj)

Page 126: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

A camada oculta calcula o seu erro

δj = f’(uj). ∑ δkwlk

Erro (δj) Erro (δk)

Page 127: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

Calcula o termo de correção dos pesos

(a atualização será feita depois)

∆wij = αδjxi

Erro (δj)

Page 128: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

A camada oculta calcula o seu erro

δj = f’(uj).∑ δkwlk

Erro (δk)Erro (δj)

Page 129: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

Calcula o termo de correção dos pesos

(a atualização será feita depois)

∆wij = αδjxi

Erro (δj)

Page 130: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Fase backward

Camadas intermediárias

Camada de

entrada

Camada de

saída

Cada unidade atualiza seus pesos

wij(novo) = wij(velho) + ∆wjk

Page 131: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Backpropagation

Camadas intermediárias

Camada de

entrada

Camada de

saída

Repete-se o processo enquanto

enquanto a rede não aprender

o padrão de entrada

Page 132: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Características do treinamento da rede MLP

• O aprendizado é resultado de apresentação repetitiva de

todas as amostras do conjunto de treinamento.

• Cada apresentação de todo o conjunto de treinamento é

denominada época.

• O processo de aprendizagem é repetido época após

época, até que um critério de parada seja satisfeito.

Page 133: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Critérios de Parada para a rede MLP

• O processo de minimização do MSE (função custo) não

apresenta convergência garantida e não possui um

critério de parada bem definido.

• Critério de parada não muito recomendável, que não

leva em conta o estado do processo iterativo é

predeterminar o número total de iterações (épocas).

Page 134: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Critérios de Parada para a rede MLP

• Critério de parada que leva em conta o processo

iterativo (inclui a possibilidade de existência de mínimos

locais):– Seja θ* o vetor de pesos que denota um ponto mínimo (local ou

global).– A condição para que θ* seja um mínimo é que, o

gradiente∇ℑ(�) da função custo seja zero em θ= θ*

• Como critério de parada tem-se:– Quando o erro quadrático médio atingir um valor

suficientemente pequeno.– Quando a norma euclidiana da estimativa do vetor gradiente

�ℑ(�) atinge um valor suficientemente pequeno .

Page 135: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Critérios de Parada para a rede MLP

• Nota-se que se o critério é de valor mínimo de MSE então não se garante que o algoritmo irá atingir esse valor.

• Por outro lado, se o critério é o mínimo valor do vetor gradiente deve-se considerar que o algoritmo termina no mínimo local mais próximo.

Page 136: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Critérios de Parada para a rede MLP• Outro critério de parada, que pode ser usado em conjunto com um

dos critérios anteriores é a avaliação da capacidade de generalização da rede após cada época de treinamento.

• O processo de treinamento é interrompido antes que a capacidade de generalização da rede fique restrita.

Overfitting: Depois de um certo ponto dotreinamento, a rede piora ao invés de Melhorar.

Page 137: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

8. Rede Perceptron Multicamadas

Heurísticas para Especificar o No. de Neurônios Ocultos

(1) Regra do Valor Médio:

(2) Regra da Raiz Quadrada:

(3) Regra de Kolmogorov:

q1=pm

2

q1= p . m

q1=2 p1

(4) Regra de Fletcher­Gloss: 2 pm≤q1≤2 p1

Page 138: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Definindo uma Rede MLP

• Arquitetura da rede: número de camadas entrada, saída e

ocultas.

• Função de ativação: sigmoidal, tangente hiperbólica.

• Regra de aprendizagem

• A quantidade de neurônios na camada de entrada e saída

é dada pelo problema a ser abordado.

Page 139: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Definindo uma Rede MLP

• A quantidade de neurônios nas camadas ocultas pode

ser determinado usando heurísticas.

• Deve-se lembrar que:– Um número grande de neurônios na camada oculta aumenta a

capacidade de mapeamento não-linear da rede, mas,– Se o número for muito grande, o modelo pode se sobre-ajustar

aos dados e diz-se que a rede está sujeita ao sobre-treinamento(overfitting).

– Uma rede com poucos neurônios na camada oculta pode não ser capaz de realizar o mapeamento desejado, o que é denominado de underfitting.

– O underfitting também pode ser causado quando o treinamento é interrompido de forma prematura.

Page 140: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Definindo uma Rede MLP

• Normalizar os dados de entrada:

– É importante trabalhar com valores de entrada que estejam contidos num intervalo de [0, 1]para evitar a saturação da função de ativação (p.e. sigmoidal).

• Inicialização aleatória dos pesos:– Inicializar os pesos e bias a valores randômicos entre -0.5 e 0.5,

ou entre -1 e 1.– Os valores dos pesos não devem muito grandes nem muito

pequenos, pois, podem gerar dois problemas: saturar as funções de ativação ou tornar o aprendizado muito lento respectivamente.

Page 141: Redes Neurais Artificiais (RNA)paginapessoal.utfpr.edu.br/kathya/Disciplinas/sistemas_inteligentes... · A chegada de um trem de pulso no botão sináptico localizado na região terminal

Definindo uma Rede MLP

• Treinamento e validação da rede– Os dados dividem-se em 3 grupos: 70% para treinamento, 15%

para teste e 15% para validação.– Os dados de teste permitem evitar o overfitting, são utilizados

durante o treinamento.– Os dados de validação são utilizados após o treinamento,

permitem verificar a eficiência da rede.