• Nenhum resultado encontrado

Cap7RN

N/A
N/A
Protected

Academic year: 2021

Share "Cap7RN"

Copied!
122
0
0

Texto

(1)

Inteligência Artificial: Uma Abordagem

de Aprendizado de Máquina

Métodos Baseados em

Otimização

(2)

Métodos Baseados em Otimização

Algumas técnicas de AM buscam hipótese

recorrendo à

otimização

de uma função:

Ex. erro médio quadrático

Em problemas supervisionados, rótulo dos objetos é

considerado na formulação

Estudaremos duas técnicas:

Redes Neurais Artificiais (RNAs)

(3)

Redes Neurais Artificiais

Cérebro

humano é responsável pelo

proces-samento e controle de diversas informações

Realizamos ações que requerem atenção a diversos

eventos ao mesmo tempo e processamentos variados

 Ex. pegar objeto, caminhar, envolvem ação de diversos componentes, como memória, coordenação, aprendizado

(4)

Redes Neurais Artificiais

Sistemas distribuídos inspirados na estrutura

e funcionamento do sistema nervoso

Objetivo:

simular capacidade de aprendizado do

cérebro na aquisição de conhecimento

Compostas por várias unidades de processamento (“neurônios”) Interligadas por um grande número de conexões (“sinapses”)

(5)

Histórico

1940

1950

1960

1970

1980...

1943

Primeiro modelo de neurônio artificial

W. McCulloch e W. Pitts (neurônio MCP)

McCulloch: psicólogo e neurofisiologista

Pitts: matemático

(6)

Histórico

1940

1950

1960

1970

1980...

1949

Primeiro trabalho demonstrando aprendizado

em redes neurais artificiais (D. Hebb)

Conseguido através de alterações nos pesos de

entrada dos neurônios

Regra de Hebb: baseada no reforço das ligações

entre neurônios excitados

(7)

Histórico

1940

1950

1960

1970

1980...

1958

Modelo de RNA Perceptron de F. Rosenblatt

Sinapses ajustáveis com neurônios MCP poderiam

ser treinadas para classificação

(8)

Histórico

1940

1950

1960

1970

1980...

1969

Artigo de Minsky e Papert

Perceptron de Rosenblatt não é capaz de resolver

alguns problemas simples

(Perceptron simples é limitado à resolução de

blemas linearmente separáveis)

(9)

Histórico

1940

1950

1960

1970

1980...

Década de 70

abordagem conexionista adormecida

Alguns poucos trabalhos importantes:

• Redes sem peso

• Sistemas auto-adaptativos

(10)

Histórico

1940

1950

1960

1970

1980...

Década de 80:

ressurgimento

1982

J. Hopfield: propriedades associativas das

RNAs – relação com sistemas físicos

1986

D. E. Rumelhart e J. L. McClelland

(11)

Histórico

1940

1950

1960

1970

1980...

Interesses mais recentes em RNAs:

• Implementação em hardware

• Modelos mais próximos ao biológico

• Sistemas neurais híbridos

(12)

Redes Biológicas

Cérebro humano: 10

11

neurônios

Cada neurônio processa e se comunica com

milhares de outros continuamente e em paralelo

Cérebro: responsável por funções cognitivas e

execução de funções sensoriomotoras e

autônomas

 Tem capacidade de reconhecer padrões e relacioná-los, usar e armazenar conhecimento por experiência e

(13)

Um neurônio simplificado:

Neurônio Natural

Corpo

Dendritos

Axônio

Sinal

Sinapse

(14)

Neurônio

Dendritos são prolongamen-tos numerosos dos neurô-nios, especializados na re-cepção de estímulos

nervosos

Estes estímulos podem ser do meio ambiente, como de outros neurônios

Cada dendrito carrega o sinal

O somma coleta, combina e processa as informações recebidas dos dendritos

Manda informações já proces-sadas para o axônio

(15)

Neurônio

Concentrações de potássio (negativo) e

só-dio (positivo) criam diferenças de potencial

- 70 mV - 50 mV

Tempo V

(16)

Neurônio

Axônios são prolongamentos dos neurônios, responsá-veis pela condução dos

impulsos elétricos até outro local mais distante

São responsáveis pela

transmissão de estímulos Alguns axiônios de um

humano adulto podem

chegar a mais de um metro

Sinapse é o nome dado à co-nexão entre neurônios

Cada sinapse tem um peso, que caracteriza a força da conexão entre dois

neurônios

Os sinais são transportados através de sinapses por substâncias químicas cha-madas neurotransmissores

(17)

Redes Biológicas

Neurônios são bem mais lentos que os circuitos

elétricos, mas o cérebro é capaz de realizar muitas

tarefas mais rápido que qualquer computador

Redes neurais biológicas trabalham de forma

massiva-mente paralela

Neurônios estão organizados em cerca de 1000

nódu-los principais, cada um com 500 redes neurais

E cada neurônio pode estar ligado a centenas ou até

(18)

Rede Neural Artificial

Uma

Rede Neural Artificial

(RNA) é um sistema

computacional que apresenta um modelo inspirado na

estrutura neural do cérebro humano

 Componentes básicos:

Neurônio: unidade computacional básica da rede

Arquitetura: estrutura topológica de como os neurônios são conectados

(19)

Neurônio artificial

Unidade de processamento fundamental de uma RNA

Sinal Entradas Saída

Σ

f

a

Pesos w2 w 1 wd x1 x2 ... xd y

Objeto x com d atributos fornece entrada

Pesos para as entradas são dados pelo vetor w

É realizada uma soma ponderada da entrada, à qual é aplicada uma

(20)

Entrada total

do neurônio:

Neurônio artificial

=

=

d j j j

w

x

u

1

f (

xw)

x

1

x

2

x

d

y

w

1

w

2

w

d

f

a

(

x

j

w

j

)

(21)

Saída

do neurônio: aplica de função de

ativação a entrada total

Neurônio artificial

( )

u

f

y

=

a

f (

xw)

x

1

x

2

x

d

y

w

1

w

2

w

d

f

a

(

x

j

w

j

)

(22)

Funções de ativação

Funções de ativação mais comuns:

Linear

: f

a

(u) = u

Threshold ou limiar

: f

a

(u) =

Sigmoide Logística

: f

a

(u) = 1/(1 + e

- λu

)

Tangente hiperbólica

: f

a

(u) = (1 - e

-λu

)

1 , se u

θ

0, se u

<

θ

(ou -1)

(23)

Função linear

f(u)

u

f(u) = u

(24)

Função limiar

u

f(u) =

1, se u

θ

f(u)

(25)

Função sigmoide logística

f(u)

f(u) =1/(1 + e

- λu

)

1

(26)

Função tangente hiperbólica

f(u)

+1

-1

f(u) =

(1 +e

-λu

)

(1 - e

-λu

)

(27)

Topologia

Definida por:

Número de camadas da RNA

Número de neurônios em cada camada

Grau de conectividade dos neurônios

(28)

Topologia

Neurônios podem estar dispostos em camadas

 Neurônio pode receber como entrada a saída de neurônios

da camada anterior

 E enviar sua saída para entrada de neurônios em camada

seguinte

camada de saída camada de

(29)

Topologia

Rede multicamadas

:

 Pode ter diferentes padrões de conexões entre neurônios:

Completamente co-nectada: neurônios estão todos conecta-dos aos da camada anterior/seguinte

Parcialmente co-nectada: neurônios estão conectados a apenas alguns neu-rônios da camada anterior/seguinte

Localmente

co-nectada: neurônios conectados encon-tram-se em uma re-gião específica

(30)

Topologia

Rede multicamadas

:

 Pode ter diferentes arranjos de conexões:

Redes feedforward: processamento da ca-mada de entrada à de saída

Tipo mais comum

Redes recorrentes: apresentam cone-xões de retroalimen-tação (uso em siste-mas dinâmicos)

Grades: matriz de nodos

0 1 0 0 1 0

(31)

Topologia

Escolhas dependem de vários fatores:

Complexidade do problema

Dimensionalidade da entrada

Características dinâmicas ou estáticas

Conhecimento a priori

(32)

Aprendizado

Ajuste dos pesos das conexões

Algoritmos de aprendizado

Conjunto de regras bem definidas para ensinar a

rede a resolver um dado problema

Divergem na maneira como os pesos são ajustados

Em como

w é calculado

w(t+1) = w(t) +

w(t)

(33)

Aprendizado

Quatro grupos de algoritmos:

Correção de erros: procuram ajustar pesos para reduzir erros cometidos pela rede (supervisionado)

Hebbiano: baseados na regra de Hebb, se dois neurônios estão simultaneamente ati-vos, a conexão entre eles deve ser reforçada

(não supervisionado)

Competitivo: promovem

competição entre neurônios para definir quais terão pe-sos ajustados, geralmente os que respondem mais for-temente à entrada

(não supervisionado)

Termodinâmico (Boltzmann):

algoritmos estocásticos ba-seados em princípios ob-servados na metalurgia

(34)

Perceptron

Desenvolvida por Rosemblat em 1958

Utiliza modelo de McCulloch-Pitts como

neurônio

Rede mais simples para classificação de

dados linearmente separáveis

Dados que podem ser separados por um

(35)

Perceptron

Na realidade, é RNA com uma única camada

Estado de ativação

 1 = ativo

 0 = inativo

 Pode ser usado +1 e -1 também

Aprendizado por

correção de erro

Obter valor de incremento

w(t) para que valor

w(t+1) = w(t) +

w(t) esteja mais próximo da

solução desejada que w(t)

(

(36)

Aprendizado Perceptron

Considere um neurônio arbitrário

Com entradas x’e pesos w’

 Ativação = Σ i w’i x’i = w’ . x’Condição de disparo: w’ . x’ = θ  Ou w’ . x’ - θ = 0 Produto interno Limiar de ativação

(37)

Aprendizado Perceptron

w’ . x’ -

θ

= 0 é equivalente a adicionar um

peso w

0

com valor -

θ

às entradas do neurônio

e conectá-lo a uma entrada com valor fixo x

0

=

1

w = (-

θ

, w

1

, ..., w

n

)

)

x = (1, x

1

, ..., x

n

)

x

1

x

2

x

3

+1

w1 w2 w3

f

(38)

Aprendizado

Considere o par de treinamento {x, y

d

} e a

saída atual da rede y

Erro devido à saída atual: e = y

d

– y

-1

0

1

1

1

0

0

0

0

e

y

d

y

(39)

Aprendizado

w . x < 0, já que y = 0

||w|| ||x|| cos(

α

) < 0

α

= ângulo entre vetores w e x

cos(

α

) < 0

α

> 90º

1

1

0

e

y

d

y

x . w(t) ( α

(40)

Aprendizado

Mudança plausível para w é somá-lo a um

vetor na direção de x

Para modificar ângulo

Vetor

η

x

x . w(t) ( w(t+1) ( ηx

Assim,

w(t) =

η

x(t)

(

w(t+1) = w(t) +

η

x(t)

(

Como e = 1, podemos escrever:

w(t+1) = w(t) +

η

ex(t)

(

(41)

Aprendizado

η

= taxa de aprendizado

0 <

η

< 1

Taxas pequenas

Taxas grandes

Taxas variáveis

 Maiores no começo

Estimativas estáveis de peso

Aprendizado lento

Aprendizado rápido

Captação de mudanças no

processo

(42)

Aprendizado

w . x > 0, já que y = 1

||w|| ||x|| cos(

α

) > 0

cos(

α

) > 0

α

< 90º

-1

0

1

e

y

d

y

x . w(t) ( α

(43)

Aprendizado

Mudança plausível para w é subtraí-lo de um

vetor na direção de x

Para modificar ângulo

Vetor

η

x

x . w(t+1) ( w(t) ( ηx

Assim,

w(t) = -

η

x(t)

(

w(t+1) = w(t) -

η

x(t)

(

Como e = -1, podemos escrever:

w(t+1) = w(t) +

η

ex(t)

(

(44)

Aprendizado

Para duas situações de erro possíveis,

chegou-se à mesma regra de atualização:

Logo,

w(t) =

η

ex(t), se y

y

d

0, se y = y

d

w(t+1) = w(t) +

η

ex(t)

(

(45)

Aprendizado por correção de erro

Superfície de erro

Superfície multi-dimensional representando gráfico

da função de custos X peso

Objetivo do aprendizado:

A partir de um ponto qualquer da superfície, mover em

(46)

Superfície de erro

Erro

(47)

Superfície de erro

X

Erro

mínimo global

mínimos locais

(48)

Algoritmo de treinamento Perceptron

Teorema de convergência:

Se é possível classificar um conjunto de entradas

linearmente, uma rede Perceptron fará a

classificação

 Em um número finito de passos  Mas tempo pode ser proibitivo!

(49)

Algoritmo de treinamento

Algoritmo de treinamento de RNA Perceptron

Entrada: Conjunto de treinamento D = {(xi,yi), i = 1,...n}

Saída: Rede Perceptron com pesos ajustados

Iniciar pesos da rede com valores baixos

repita

para cada xi faça

Calcular valor da saída produzida pela rede f(xi)

erro e = yi - f(xi) se e > 0 então

Ajustar pesos do neurônio w(t+1) = w(t) + ηex(t)

(50)

Algoritmo de treinamento

Vetor peso ideal

2

3

4

5

(51)

Algoritmo de treinamento

1

2

3

4

5

6

7

8

(52)

Algoritmo de teste

Uso da RNA treinada

Algoritmo de teste de RNA Perceptron

Entrada: Exemplo de teste x e RNA Perceptron com pesos

ajus-tados

Saída: previsão para classificação de x

Apresentar x à entrada da RNA Calcular a saída f(x)

(53)

Exemplo

Dada uma rede Perceptron com:

Três terminais de entrada, utilizando pesos iniciais

w

1

= 0.4, w

2

= -0.6 e w

3

= 0.6, e limiar

θ

= 0.5:

 Ensinar a rede com os dados (001, -1) e (110, +1) E

 Utilizar taxa de aprendizado η = 0.4

(54)

Exemplo

x1

x2

x3

y

Limiar

001 -1 Situação desejada

(55)

Exemplo

a)

Treinar a rede

a.1)

Para o dado 001

(y

d

= -1)

Passo 1

: definir a saída da rede

u = 0(0.4) + 0(-0.6) + 1(0.6) -1(0.5) = 0.1 y = +1 (uma vez 0.1 ≥ 0)

0

Passo 2:

atualizar pesos (y

y

d

)

)

w1 = 0.4 + 0.4(0)(-1 - (+1)) = 0.4 w2 = -0.6 + 0.4(0)(-1 - (+1)) = -0.6 w3 = 0.6 + 0.4(1)(-1 - (+1)) = -0.2 w = 0.5 + 0.4(-1)(-1 - (+1)) = 1.3 (bias) = 001 -1

(56)

Exemplo

a)

Treinar a rede

a.2)

Para o dado 110

(y

d

= +1)

Passo 1: definir a saída da rede

u = 1(0.4) + 1(-0.6) + 0(-0.2) -1(1.3) = -1.5 y = -1 (uma vez -1.5 < 0)

y

Passo 2: atualizar pesos (y ≠ yd) ) w1 = 0.4 + 0.4(1)(1 - (-1)) = 1.2 w2 = -0.6 + 0.4(1)(1 - (-1)) = 0.2 w = -0.2 + 0.4(0)(1 - (-1)) = -0.2 001 -1

(57)

Exemplo

a)

Treinar a rede

a.3)

Para o dado 001

(y

d

= -1)

Passo 1: definir a saída da rede

u = 0(1.2) + 0(0.2) + 1(-0.2) -1(0.5) = -0.7 y = -1 (uma vez -0.7 < 0)

y

Passo 2: atualizar pesos :

Como y = yd, os pesos não precisam ser modificados

001 -1

(58)

Exemplo

a)

Treinar a rede

a.4) Para o dado 110 (yd = +1)

Passo 1: definir a saída da rede

u = 1(1.2) + 1(0.2) + 0(-0.2) -1(0.5) = +0.9 y = +1 (uma vez 0.9 > 0)

y

Passo 2: atualizar pesos :

Como y = yd, os pesos não precisam ser modificados

001 -1

(59)

Exemplo

b)

Testar a rede

b.1)

Para o dado 111

u = 1(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = 0.7 y = +1 (porque 0.7 ≥ 0)

b.2)

Para o dado 000

u = 0(1.2) + 0(0.2) + 0(-0.2) -1(0.5) = -0.5 y = -1 (porque -0.5 < 0)

(60)

Exemplo

b)

Testar a rede

b.3)

Para o dado 100

u = 1(1.2) + 0(0.2) + 0(-0.2) -1(0.5) = 0.7 y = +1 (porque 0.7 ≥ 0)

b.4)

Para o dado 011

u = 0(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = -0.5 y = -1 (porque -0.5 < 0)

(61)

Adaline

Perceptron: ajuste de pesos não leva em

con-ta distância entre saída e resposcon-ta desejada

Rede

Adaline

(ADAptive LINEar)

Proposta pôr Widrow e Hoff em 1960

Função de ativação é linear

(62)

Adaline

Estado de ativação

1 = ativo

0 = inativo (ou -1)

Função de ativação linear

f

a

(u) = u =

Σ

i=0:d

x

i

w

i

(63)

Adaline

θ

corresponde a um grau de liberdade a mais

Deslocamento da função de ativação em relação

à origem do sistema de coordenadas

 Em Perceptron era limiar de ativação do neurônio

f(x) =

Σ

i=0:n

x

i

w

i

= w . x

Para uma Adaline de d entradas a saída f(x) é:

f(x) = w

0

+ w

1

x

1

+ w

2

x

2

+ ... + w

d

x

d

(64)

Adaline

Logo, saída corresponde a uma combinação

linear das entradas x

i

Pesos da combinação obtidos por meio de

treinamento

y = w

0

+ w

1

x

1

+ w

2

x

2

+ ... + w

d

x

d y x0 = +1 x1 x2 w0 = θ w1 w2

(65)

Adaline

Treinamento

Supervisionado

Correção de erro (regra Delta)

 ∆w

i = ηxi(yd - y) (yd ≠ y)

 ∆w

i = 0 (yd = y)

 Reajuste gradual do peso

(66)

Aprendizado

Seja um par de treinamento (x, y

d

)

Erro quadrático

: e

2

= (y

d

– w.x)

2

 e2 = (y

d)2 –2ydw.x + (w.x)2

Encontrar o w que leve a menor e

2  Superfície de erro

Na realidade deseja-se encontrar o mínimo da

superfície correspondente à

soma

das superfícies

de erro de todos os dados de treinamento

(67)

Aprendizado

Para o conjunto de treinamento com n dados

Função de erro

(custo):

J = ½

Σ

i=1:n

(y

di

– w.x

i

)

2

Algoritmo de treinamento deve atualizar os

pesos visando atingir o mínimo de J

(68)

Aprendizado

Dada uma condição inicial w(0), qual a direção

do ajuste a ser aplicado para que w se

aproxime do mínimo de J?

Pelo gradiente da função de custo no ponto

 Gradiente possui a mesma direção da maior variação de erro ⇒ ajuste deve ser na direção contrária

(69)

Gradiente

J = (

J/

w

0

,

J/

w

1

, ...,

J/

w

d

)

J/

w

i

= -x

i

e

w(t)

α

ex

i

w(t) =

η

ex

i

(70)

Aprendizado

η

= taxa de aprendizado

Define velocidade com que o vetor de pesos é

modificado

Equação de ajuste:

(71)

Algoritmo de treinamento

Algoritmo de treinamento de RNA Adaline

Entrada: Conjunto de treinamento D = {(xi,yi), i = 1,...n}

Saída: Rede Perceptron com pesos ajustados

Iniciar pesos da rede com valores baixos

repita

para cada xi faça

Calcular valor da saída produzida pela rede f(xi)

erro e = yi - f(xi) se e > ε então

Ajustar pesos do neurônio w(t+1) = w(t) + ηex(t)

(72)

Algoritmo de teste

Uso da RNA treinada

Algoritmo de teste de RNA Adaline

Entrada: Exemplo de teste x e RNA Adaline com pesos

ajusta-dos

Saída: previsão para x

Apresentar x à entrada da RNA Calcular a saída f(x)

(73)

Problemas com redes de uma

única camada

Redes de uma camada geram apenas

fronteiras lineares

Grande número de aplicações importantes

são não lineares

(74)

1

0, 0

0

0, 1

1

1, 0

1

1, 1

0

Problemas com Perceptron

(75)

Solução

: utilizar mais de uma camada

Camada 1

: uma rede Perceptron para cada

grupo de entradas linearmente separáveis

Camada 2

: uma rede combina as saídas das

redes da primeira camada, produzindo a

classificação final

Como treinar?

(76)

1

3 2

(77)

Rede multicamadas

Modelo de rede mais popular

Resolvem problemas mais complexos do que o

Perceptron simples e Adaline

Possuem uma ou mais camadas intermediárias

Funções de ativação não-lineares em pelo menos uma

das camadas intermediárias

 Sempre vai existir uma rede com uma camada equivalen-te a uma multicamadas com funções de ativação lineares

(78)

Rede multicamadas

Grande Funcionalidade

Uma camada intermediária aproxima:

 Qualquer função contínua ou Booleana

Duas camadas intermediárias aproximam:

 Qualquer função

 Qualidade da aproximação depende da complexidade da rede

(79)

Perceptron multicamadas

MLP – Multilayer Perceptron

Uma ou mais camadas intermediárias de neurônios

 Função de ativação Sigmoide ou Tangente Hiperbólica

Arquitetura mais comum: completamente conectada

Cada neurônio realiza uma função específica

 Função implementada é uma combinação das funções realiza-das pelos neurônios da camada anterior conectados a ele

Termo θ usado para desvio da função em relação à origem

(80)
(81)

MLPs

Função implementada por cada neurônio

Formada pela combinação das funções

implementadas por neurônios da camada anterior

 Camada 1: hiperplanos no espaço de entradas  Camada 2: regiões convexas

 Número de lados = número de unidades na camada anterior

 Camada 3: Combinações de figuras convexas, produzindo formatos abstratos

 Número de figuras convexas = número de unidades da camada anterior

Funções cada vez mais complexas

(82)

MLPs

Combinação das funções desempenha das por cada

neurônio define a

função associada à

(83)

MLPs

Camada de saída

: um neurônio para cada um

dos rótulos presentes

Classificação

: função de ativação Sigmoide ou

tangente hiperbólica

Regressão

: função de ativação linear

Saída para um objeto x: y = [y1, y2, ..., yk]t, k = número de rótulos

Classificação: vetor y para cada objeto de entrada tem valor 1 na posição associada à classe do objeto e 0 nas demais posições

(84)

MLPs

Treinamento por

correção de erros

Camada de saída

: comparação entre vetor de saída

dos neurônios e vetor de valores desejados

 Classificação: rede classifica objeto corretamente quando a saída mais elevada é a do neurônio correspondente à classe correta do exemplo

 Se valores são baixos ou mais de um neurônio dá valor de saída alto, a rede não tem condições de prever

Camadas intermediárias

: Qual a saída desejada de

(85)

MLPs

Algoritmo Backpropagation

Estimar o erro das camadas intermediárias por efeito

que elas causam no erro da camada de saída

 Erro da saída é retroalimentado para as camadas intermediárias

 Requer funções de ativação contínuas e diferenciáveis

(86)

Backpropagation

Treinamento

: iteração de duas fases

Cada fase percorre a rede em dois sentidos

Sinal (forward)

(87)

Backpropagation

Treinamento

: iteração de duas fases

Fase Forward

“Para frente”

Cada objeto de entrada é apresentado à rede

Neurônios são percorridos da primeira camada

intermediária até a saída Valores de saída são

comparados aos desejados

Fase backward

“Para trás”

Erro de cada neurônio da camada de saída é

usados para ajustar seus pesos de entrada

Ajuste prossegue até a primeira camada

(88)

Rede MLP

camada de

entrada

camadas intermediárias

camada de

saída

(89)

Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

E n t r a d a S a í d a D e s e j a d a

(90)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a E n t r a d a

(91)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a d a E n t r a d a

(92)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a E n t r a d a

(93)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a d a E n t r a d a

(94)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a E n t r a d a

(95)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a d a E n t r a d a

(96)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a S a í d a D e s e j a E n t r a d a

(97)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a d a E n t r a d a

(98)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a E n t r a d a

(99)

RNA - Aprendizado

camada de

entrada

camadas intermediárias

camada de

saída

S a í d a D e s e j a d a E n t r a d a

(100)

Back-propagation

Treinamento

w

ij

=

η

x

i

δ

j

Se f for uma função sigmoidal f´(x) = f(x)(1 – f(x))

Treinamento não é garantido de convergir

    =

se jfor camada intemediária ´ saída de camada for j se ´ k jk j j w f e f δ δ ) ˆ ( 2 1 1 q k q q j y f e =

− =

Erro estimado: soma dos erros dos neurônios da camada seguinte, ponderadas pelas conexões

(101)

Back-propagation

Treinamento

Derivada parcial define ajuste dos pesos: mede

contribuição de cada peso no erro da rede

 Derivada positiva ⇒ peso está provocando aumento na diferença entre a saída produzida e a desejada

 Sua magnitude deve ser reduzida para baixar o erro

 Derivada negativa ⇒ peso está contribuindo para que saída produzida seja mais próxima da desejada

(102)

Treinamento

Algoritmo Back-propagation

Iniciar todas as conexões com valores aleatórios

Repita

para cada par de treinamento (x, y)

para cada camada i := 1 a N

para cada neurônio j := 1 a Mi Calcular a saída fij(x)

erro = y - fij(x)

para cada camada i := N a 1

para cada neurônio j:= 1 a Mi Atualizar pesos

(103)
(104)
(105)
(106)
(107)
(108)

Teste

Algoritmo de teste de RNA MLP

Apresentar dado x a ser reconhecido

para cada camada i := 1 a N

para cada neurônio j := 1 a Mi

Calcular a saída fij(x)

Se classificação: discretizar a saída

(verifica o maior valor produzido; se valores forem baixos ou muito próximos, rejeitar)

(109)

Termo momentum

Para reduzir influência da escolha do valor de

η

Adiciona uma fração

α

do valor anterior de

atualização dos pesos ao atual

 ∆ w

ji (t+1) ← η δj xji + α ( wji (t) - wji (t - 1) )

 Quantifica grau de importância da variação do ciclo anterior

Quando o gradiente se mantém apontando na

mesma direção, o tamanho dos passos na direção

do mínimo crescerá

Atenção: se ambos

η

e

α

forem muito grandes,

(110)

Termo momentum

Solução original de Caminho seguido

(111)

Variações

Versão padrão

: ajuste de pesos para cada

objeto individualmente

Variação batch

: pesos são ajustados uma

(112)

Variações

Mínimos locais

: solução estável que não é a melhor

solução

 Incidência pode ser reduzida

 Empregando taxa de aprendizado decrescente  Adicionando nós intermediários

Utilizando termo de momentum

Backpropagation é muito lento em superfícies

complexas

 Utilizar métodos de segunda ordem Outros algoritmos

(113)

Critérios de parada

Diferentes critérios podem ser usados:

Número máximo de ciclos

Taxa máxima de erro

Early stop: estratégia para evitar overfitting

Separa parte dos dados de treinamento para

validação

Dados de validação são apresentados à rede a

cada l ciclos

(114)

Critérios de parada

(115)

Convergência do algoritmo

Superfície de erro apresenta mínimos locais e

global para problemas complexos

Objetivo é atingir mínimo global

Não há teorema de convergência

Rede pode convergir para mínimo local ou demorar

(116)

Projeto da arquitetura de RNA

Escolhas de função de ativação e topologia da

rede

Número de camadas e neurônios, padrão das

conexões

Geralmente empíricas (tentativa e erro)

Problema de busca

(117)

Projeto da arquitetura de RNA

Abordagens:

Empírica

Busca cega, tentativa e erro Diversas arquiteturas são

testadas e comparadas Mais utilizada, mas com

elevado custo de tempo Algumas heurísticas: testar

apenas uma camada

intermediária, pois já tem bastante poder expressivo

Meta-heurística

Gera conjunto de variações de RNAs e combina as que apresentam melhores resultados

Geralmente usa Algoritmos Genéticos na busca e variações

(118)

Projeto da arquitetura de RNA

Abordagens:

Poda (pruning)

Começa com uma RNA com um grande número de

neurônios

Poda remove conexões ou neurônios redundantes ou irrelevantes

Construtiva

Gradualmente insere novos neurônios e conexões a uma RNA inicialmente

sem neurônios intermediá-rios

(119)

Observações

Atributos devem ser numéricos

Categóricos devem ser pré-processados

É necessário normalizar os dados

Similar a k-NN

Relacionado também a ter crescimento muito grande

(120)

Vantagens RNAs

Várias soluções de sucesso em problemas

práticos (principalmente percepção e controle)

(121)

Desvantagens RNAs

Capacidade preditiva ainda está aquém à do

cérebro

Dificuldade de interpretação do modelo gerado

(caixas-pretas)

(122)

Referências

Slides de:

 Prof Dr André C. P. L. F. de Carvalho  Prof Dr Ricardo Campello

 Prof Dr Marcilio Carlos Pereira de Souto

 Livro: A. P. Braga, A. C. P. L. F. Carvalho, T. B. Ludermir, Redes

Referências

Documentos relacionados

- Remover as pastilhas usadas e retornar todo o parafuso de regulagem em seguida montar uma pastilha nova do lado da roda, empurrando com a mão a pinça no sentido do cilindro de

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Chris Goodwin-Hudson recorreu mais uma vez a vídeos para mostrar que a forma como as Forças de Defesa e Segurança se apresen- tam junto às comunidades e a forma como interpelam

- Renda média do emprego formal do total de trabalhadores com ensino médio completo - Número de vínculos de empregos formais do total de trabalhadores com ensino médio

As tintas imobiliárias são utilizadas para proteção, acabamento e decoração de superfícies com características e de natureza distintas, tais como: metálicas, madeira, concreto

Police Neto contribuiu para melhorar o Plano Diretor Temas como Plano de Bairro, controle de adensamento na cidade, limitação de altura dos prédios, Função Social da Propriedade,

As aplicações de gerenciamento são implementadas como agentes móveis do GRAM com todas as funções necessárias para sua execução e em seguida, são despachados na rede

MODELO ELITEPAD, MARCA HEWLETT PACKARD, DOCKING STATION D' ACCUEIL ELITEPAD, CARACTERÍSTICAS: QUATRO PORTAS USB 2.0; PORTAS HDMI E VGA, ETHERNET, SAÍDA DE ÁUDIO, TRAVA