• Nenhum resultado encontrado

Redes Neurais Artificiais

N/A
N/A
Protected

Academic year: 2021

Share "Redes Neurais Artificiais"

Copied!
48
0
0

Texto

(1)

Redes Neurais Artificiais

Profa. Anna Helena Reali Costa

POLI – PCS/EPUSP

Material com contribuições de:

Prof. Reinaldo A. C. Bianchi, FEI – Depto. Engenharia Elétrica

Profa. Leliane N. Barros, IME – USP

Prof. Carlos H. C. Ribeiro, ITA – Divisão de Ciência da Computação

(2)

2

■ 

Descrever as características básicas das

Redes Neurais Artificiais (RNAs).

■ 

Descrever o funcionamento de uma RNA.

■ 

Descrever algumas das principais

arquiteturas existentes para RNAs.

■ 

Exemplificar o uso de RNAs em

Reconhecimento de Padrões e Controle.

(3)

3

Motivação Biológica

■ 

Idéia central:

–  utilizar neurônios biológicos como modelos para

neurônios artificiais. ■ 

Neurônio Biológico:

–  Elemento fundamental do sistema nervoso. –  Diversos tipos. ■ 

Cérebro humano:

relativamente lento, mas

com muito paralelismo

–  1011 processadores de 1 KHz

–  cada neurônio se conecta com outros 104

(4)

4

Funcionamento simplificado de

um Neurônio Biológico

■ 

Neurônios podem estar em 2 estados:

–  Ativo ou excitado: envia sinais para outros

neurônios por meio do axônio e sinapses.

–  Inativo ou inibido: não envia sinais.

■ 

Sinapses podem ser de 2 tipos:

–  Excitatórias (excitam o neurônio receptor).

–  Inibitórias (inibem o neurônio receptor).

■ 

Quando o efeito cumulativo das várias sinapses

que chegam a um neurônio excede um valor

limite, o neurônio dispara (fica ativo por um

(5)

5

O que é uma RNA?

■ 

É um sistema de processamento de

informações desenvolvido a partir de

modelos matemáticos simplificados dos

neurônios biológicos.

■ 

Um estilo diferente de computação:

processamento distribuído e paralelo

■ 

Uma arquitetura computacional universal:

a mesma estrutura executa muitas funções

diferentes

■ 

Pode aprender novos conhecimentos,

(6)

6

Um pouco de História

1950s & 1960s: Infância

1943 - Neurônio de McCulloch-Pitts 1959 - Perceptrons (Rosenblatt)

1960 - Adaline (Widrow & Hoff)

1970s: Os anos negros...

1969 - Minsky and Papert ( MIT ) publicam um livro que põe em dúvida a capacidade de aprendizado dos perceptrons.

1972 - Redes auto-organizáveis (Kohonen)

1976 - Teoria de Ressonância Adaptativa (Grossberg & Carpenter)

1980s: Entusiasmo renovado

1986 - Surgimento do algoritmo backpropagation (Werbos) 1987 - Redes de Hopfield ( Hopfield & Tank )

1988 - Redes Neocognitron ( Fukushima ), RBF (Broomhead e Lowe)

1990s: Amadurecimento

-  Aplicações no mundo real

-  Teoria computacional da aprendizagem: support vector machines (Vapnik), aprendizado PAC (Anthony e Biggs).

2010s: Deep Fever

(7)

7

Aplicações

Identificação de alvos militares: B-52, Boeing 747 e Space Shuttle

Controle de Navegação Autônoma de Veículos: ALVINN at CMU Exploração de petróleo: Determinação e Litologia Autentificação de usuário. Reconhecimento de Faces Predição no Mercado Financeiro

(8)

8

Referências Bibliográficas

■ 

A “Bíblia”:

–  Simon Haykin. Neural Networks: A

Comprehensive Foundation.

■ 

Livro de IA com bom capítulo de RNAs:

–  Russel e Norvig. Artificial Intelligence: A Modern

Approach.

■ 

Livro de Aprendizagem de Máquina com bom

capítulo de RNA:

–  Tom Mitchell. Machine Learning.

WCB/McGraw-Hill, 1997.

■ 

Livro em Português:

–  Braga, Ludermir e Carvalho. Redes Neurais

Artificiais. LTC.

(9)

9

Redes Neurais Artificiais:

Propriedades

■ 

Aprendizado:

–  RNA pode modificar seu comportamento em

respostas a seu domínio, de forma a produzir

saídas consistentes.

■ 

Generalização:

–  Uma vez treinada, a resposta de uma RNA pode

ser, num certo grau, insensível a pequenas

variações (ruídos, distorções) nas suas entradas.

■ 

Abstração:

–  Algumas RNAs podem extrair “um ideal” a partir

de exemplos imperfeitos na sua entrada.

(10)

10

Projeto de uma RNA

■ 

O projeto de uma RNA envolve a

determinação dos seguintes parâmetros:

–  Neurônios e função de ativação.

–  Conexões e disposição dos neurônios: topologia

(arquitetura da rede).

–  Pesos sinápticos: valores (no caso de pesos

aprendidos) ou o algoritmo de treinamento a ser

utilizado e seus parâmetros particulares.

–  Recall: procedimento a ser utilizado – como a rede

calcula a saída para uma dada entrada?

(11)

Modelo Biológico

Axon

Terminal Branches of Axon

(12)

Perceptron

Axon Terminal Branches of Axon Dendrites

S

x1 x2 w1 w2 wn xn x3 w3

OUT = f net

( )

=

1: net > 0

−1: net ≤ 0

#

$

%

&%

with net =

w

ij j

In

j

Função de ativação

θ

f(net)

net

In

Out

(13)

Perceptron

■ 

Introduzido por Frank Rosenblatt em 1958

■ 

Características do Perceptron:

–  Pesos e limiares não são todos idênticos.

–  Pesos podem ser positivos ou negativos.

–  Neurônios são binários e a função de ativação

f(net) é [-1,1].

–  Mais importante: existe uma regra de

(14)

14

Perceptron

■ 

Formalmente, o perceptron com função limiar

implementa um hiperplano de dimensão

n – 1, definido pelas coordenadas x1,

x2, ....xn (entradas) que passa por w.x=net=0

e particiona o espaço n dimensional das

instâncias de treinamento em duas regiões

(correspondentes às duas classes das

instâncias) (a 1ª. Região em w.x>0 e a 2ª.,

em w.x<0).

(15)

15

Operação do Perceptron: Exemplo

■ 

Duas entradas: x, y

■ 

Dois pesos: w

1

, w

2

■ 

Uma entrada de viés (bias): w

0

[

w

w

x

w

y

]

f

out

=

0

+

1

+

2 x y

0

2 1 0

+

w

x

+

w

y

=

w

0

2

1

0

+

w

x

+

w

y

>

w

Σ

x

y

w

1

w

2

f

w

0

1

out +1

0

2

1

0

+

w

x

+

w

y

<

w

-1

(16)

16

Poder de representação dos Perceptrons

Conseguem representar qualquer função linearmente

separável

Função linearmente separável:

consigo separar as classes com retas

(ou planos, ou hiperplanos).

1 neurônio: classes +1 e –1

← OK

Não OK →

A

B

A

B

(17)

17

Exercício 1

■ 

Projete um neurônio tipo

Perceptron (Figura 1) que

calcula a função lógica

implicação y = x1 → x2,

descrita na Tabela 1.

Figura 1 – Neurônio Perceptron.

x1 x2 y

0

0

0

1

1

0

1

1

Tabela 1

(18)

18

Aprender

Hipóteses de Funções

■ 

Aprendizagem: consiste em escolher valores

para os pesos

w

0

, ..., w

n

.

■ 

É preciso agora definir algoritmos para

encontrar essas hipóteses!

–  e selecionar apenas uma para adotarmos como o

sistema de classificação de dados futuros

O espaço de hipóteses candidatas H é

(19)

Exemplo

Com w

0

= -0,8;

w

1

= 0,5; w

2

= 0,5

Qual a função

implementada

pelo perceptron?

19 Σ x y w1 w2 f w0 1 out X y out 0 0 0 1 1 0 1 1

(20)

20

Aprendizado Supervisionado

no Perceptron:

■ 

A regra de atualização dos pesos é:

w

i ç

w

i

+

α

δ

x

i

Onde

δ

= (t – o)

–  x

i

é a entrada,

–  t

é o valor desejado (ou a saída correta),

–  o

é a saída apresentada pelo perceptron,

– 

α

é uma constante pequena (ex: 0.1), chamada

taxa (ou coeficiente) de aprendizagem.

Funciona para entradas/saídas discretas ou

contínuas.

(21)

Comentários sobre a regra de

aprendizagem do Perceptron:

■ 

Se o exemplo é corretamente classificado, o termo.

(t – o) é igual a zero e nenhuma atualização de

pesos é necessária.

■ 

Se a saída do perceptron é –1 e t = 1, os pesos

aumentam.

■ 

Se a saída do perceptron é 1 e t = –1, os pesos

diminuem.

■ 

Se os exemplos forem linearmente separáveis e um

pequeno valor for usado para

α

, a regra é provada

classificar corretamente todos os exemplos de

treinamento (isto é, é consistente com os dados de

treinamento).

(22)

22

Limitações do Perceptron com

uma camada

■ 

Infelizmente, várias funções de interesse não

são linearmente separáveis.

■ 

Por exemplo, o Perceptron não pode

representar o XOR (OU exclusivo).

X1 X2 Out

a 0 0 0

b 0 1 1

c 1 0 1

d 1 1 0

X1 X2 Out = 0 Out = 1 0 1 1 d c b a

(23)

23

Neurônio 1: separa em classes C1 e C2

Separação em 4 classes: Exemplo

Neurônio 2: separa em classes C1’ e C2’

Σ x y w1w2f w01 Σ x y w1 w2 f w0 1 x’ y’

(24)

24

Separação em 4 classes: Exemplo

x y w1 w1’ Σ f w0 1 x’ Σ f y’ w2w2 1 w0’ +1 +1 +1 -1 -1 +1 -1 -1

Dois neurônios:

x’=+1, y’=+1 ⇒ classe x’=+1, y’=-1 ⇒ classe x’=-1, y’=+1 ⇒ classe x’=-1, y’=-1 ⇒ classe

(25)

25

MLP: Multilayer Perceptrons

■ 

Conjuntos de Perceptrons arranjados em

diversas camadas.

■ 

Pelo menos uma camada escondida.

–  Uma camada

intermediária é

suficiente para

aproximar qualquer

função contínua.

–  Duas camadas

intermediárias são

suficientes para

aproximar qualquer

função matemática.

(26)

26

MLP: Multi-layer Perceptrons

Classificação requer 3 linhas

discriminantes que criam 7

compartimentos e 2 regiões

de decisão: uma para e outra

para .

compartimentos A B C (-1-1-1) (111) X1 X2 (1-11)

x

1

x

2

out

Camada Escondida Entradas A B C Classe 1 Classe 2 (-1-1-1),(-1-11),…..,(111)

1

-1

Solução:

Saída

(27)

27

Exemplo de Rede MLP

■  x1 = x2 = entradas binárias. ■  w1 = w2 = w3 = w4 = w5 = 1 e w6 = -2 ■  f1 (x.w) = 1 se nível de ativação ≥ 0,5, 0 caso contrário. ■  f2 (x.w) = 1 se nível de ativação ≥ 1,5, 0 caso contrário.

Efetue o

recall

desta rede, completando a tabela.

1 1 1 1 -2 1 0,5 0,5 1,5

x

1

x

2

out

x1 x2 Out 0 0 0 1 1 0 1 1

(28)

28

Exemplo de Rede MLP

■  x1 = x2 = entradas binárias. ■  w1 = w2 = w3 = w4 = w5 = 1 e w6 = -2 ■  f1 (x.w) = 1 se nível de ativação ≥ 0,5, 0 caso contrário. ■  f2 (x.w) = 1 se nível de ativação ≥ 1,5, 0 caso contrário. 1 1 1 1 -2 1 0,5 0,5 1,5

x

1

x

2

out

x1 x2 Out 0 0 0 0 1 1 1 0 1 1 1 0

(29)

29

Tipos de Função de Ativação

Out θ 1 0 net Out Out = 1 if net > θ = 0 if net < θ

0 1 net -1 θ Out = 1 if net > θ = -1 if net < θ

Função Limiar

0 1 net Out Out = --- 1 1 + exp (-λ.net) Função Logística

Função Sigmoide

Out = tanh(λ.net)

Função Tangente Hiperbólica 0

1

net Out

(30)

30

MLP Sigmóide

■ 

Neurônio com função de ativação limiar sigmóide:

(

)

( )

(

)

(

1

( )

)

2

tanh

)

(

)

(

1

)

(

)

(

1

1

)

(

2

x

x

x

x

x

x

x

e

x

x

σ

σ

σ

σ

σ

σ

σ

=

ʹ′

=

=

ʹ′

+

=

( )

tanh

)

(

ou

1

1

)

(

net

net

e

net

net

=

+

=

σ

σ

Propriedade

Interessante

derivada

(31)

31

Como treinar um MLP?

■ 

Descida do gradiente:

Aprende w

i

’s que

minimizam erro

quadrático com o

conjunto de treinamento:

2

)

(

2

1

]

[

=

D d d d

o

t

w

E

!

D = dados de treinamento

x

1

o

x

1

(32)

32

Descida do Gradiente

(1camada, 2 entradas)

Gradiente:

⎥

⎦

⎤

⎢

⎣

⎡

=

n

w

E

w

E

w

E

w

E

[

]

,

,...,

1 0

!

i i

w

E

w

=

Δ

η

Regra:

Δ

w

!

=

η

E

[w

!

]

2

)

(

2

1

]

[

=

D d d d

o

t

w

E

ε

!

Pois deseja-se mover o vetor de peso na direção que o erro E diminui

η positivo

1 neurônio com 2 entradas (e dois pesos, w0 e w1)

(33)

33

Descida do Gradiente (uma camada)

d i d d d d d d i d d d d d d i d d d d d i d d d d d i d d d i i

x

x

w

x

w

o

t

x

w

w

o

t

x

w

t

w

o

t

o

t

w

o

t

o

t

w

o

t

w

w

E

, 2 2

))

(

1

(

)

(

)

(

))

(

(

)

(

))

(

(

)

(

)

(

)

(

2

2

1

)

(

2

1

)

(

2

1

!

!

!

!

!

!

!

!

=

=

=

=

=

=

σ

σ

σ

σ

o

d

o

d

(34)

34

Descida do gradiente: várias saídas

2

)

(

2

1

]

[

∈ ∈

=

saidas k kd kd D d

o

t

w

E !

D = dados de treinamento

O erro agora deve ser redefinido para k saídas:

(35)

35

Algoritmo Backpropagation (I)

■ 

Para rede com 1 camada escondida com n

hid

unidades

sigmoidais, n

out

saídas (unidades sigmoidais), n

in

entradas, vários exemplos de treinamento < x, t >

n

in

n

hid

n

out

x

t (saídas do

treinamento)

o (saídas dadas

pela rede)

w (pesos)

Parâmetros de entrada do backpropagation:

(36)

36

Algoritmo Backpropagation (II)

■ 

Iniciar w aleatoriamente (valores pequenos)

■ 

Repetir até estar na condição de parada:

–  Para cada exemplo de treinamento <x, t>, fazer:

//propagar a entrada para frente até obter as saídas:

1.  Colocar x como entrada e computar cada saída ok. //propagar os erros para trás na rede:

2.  Para cada unidade k de saída, calcular o erro δk:

δ

k

← o

k

(1 - o

k

) (t

k

- o

k

)

3.  Para cada unidade escondida h, calcular o erro δh:

δ

h

← o

h

(1 - o

h

) Σ

k∈saidas

w

hk

k

4.  Atualizar cada peso wij da rede:

w

ij

← w

ij

+ η δ

j

x

ij

Entrada do nó i para o j

Mostra quanto cada h é

(37)

37

http://www.trapexit.org/images/b/ba/Animate_ANN.gif

Algoritmo Backpropagation:

animação

(38)

Exemplo

■ 

Considere a taxa de aprendizagem

η

= 0.9 e

que o exemplo de treino seja X = (1,0,1), cujo

rótulo de classe seja 1.

(39)

Table 1: Initial input and weight values

x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 w04 w05 w06 --- 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

Table 2: Cálculo da net de entrada e saída

Unit j Net input Ij Output Oj

--- 4

5 6

Table 3: Cálculo do erro em cada nó

Unit j δj

---6 5 4

(40)

Table 1: Initial input and weight values

x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 w04 w05 w06 --- 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

Table 2: Cálculo da net de entrada e saída

Unit j Net input Ij Output Oj

--- 4 0.2 + 0 -0.5 -0.4 = -0.7 1/(1+e0.7)=0.332

5 -0.3 +0+0.2 +0.2 =0.1 1/(1+e0.1)=0.525

6 (-0.3)(0.332)-(0.2)(0.525)+0.1 = -0.105 1/(1+e0.105)=0.474

Table 3: Cálculo do erro em cada nó

Unit j δj

---6 5 4

(41)

Table 1: Initial input and weight values

x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 w04 w05 w06 --- 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

Table 2: Cálculo da net de entrada e saída

Unit j Net input Ij Output Oj

--- 4 0.2 + 0 -0.5 -0.4 = -0.7 1/(1+e0.7)=0.332

5 -0.3 +0+0.2 +0.2 =0.1 1/(1+e0.1)=0.525

6 (-0.3)(0.332)-(0.2)(0.525)+0.1 = -0.105 1/(1+e0.105)=0.474

Table 3: Cálculo do erro em cada nó

Unit j δj

---6 (0.474)(1-0.474)(1-0.474)=0.1311

5 (0.525)(1-0.525)(0.1311)(-0.2)=-0.0065 4 (0.332)(1-0.332)(0.1311)(-0.3)=-0.0087

(42)

Table 4:

Cálculo da atualização dos pesos

Peso

Novo valor

---

w

46

w

56

w

14

w

15

w

24

w

25

w

34

w

35

w

06

w

05

w

04

(43)

Table 4:

Cálculo da atualização dos pesos

Peso

Novo valor

---

w

46

-0.3+(0.9)(0.1311)(0.332)= -0.261

w

56

-0.2+(0.9)(0.1311)(0.525)= -0.138

w

14

0.2 +(0.9)(-0.0087)(1) = 0.192

w

15

-0.3 +(0.9)(-0.0065)(1) = -0.306

w

24

0.4+ (0.9)(-0.0087)(0) = 0.4

w

25

0.1+ (0.9)(-0.0065)(0) = 0.1

w

34

-0.5+ (0.9)(-0.0087)(1) = -0.508

w

35

0.2 + (0.9)(-0.0065)(1) = 0.194

w

06

0.1 + (0.9)(0.1311) = 0.218

w

05

0.2 + (0.9)(-0.0065)=0.194

w

04

-0.4 +(0.9)(-0.0087) = -0.408

(44)

44

Exemplo:

pesos iniciais: (-0.1 a +0.1); η = 0.3

Entrada Saída 10000000 → 10000000 01000000 → 01000000 00100000 → 00100000 00010000 → 00010000 00001000 → 00001000 00000100 → 00000100 00000010 → 00000010 00000001 → 00000001

(45)

45

Aprendizado da representação (camada interna)

Entrada Saída hs Saída 10000000 → .89 .04 .08 → 10000000 01000000 → .15 .99 .99 → 01000000 00100000 → .01 .97 .27 → 00100000 00010000 → .99 .97 .71 → 00010000 00001000 → .03 .05 .02 → 00001000 00000100 → .01 .11 .88 → 00000100 00000010 → .80 .01 .98 → 00000010 00000001 → .60 .94 .01 → 00000001

Representação intermediária: “descobre” código binário!!!!

1 0 0

0 1 1

(46)

46

Exemplo: ALVINN

(47)

47

Exemplo: MLP Sigmóide

■ 

Reconhecimento de fala – reconhecer 1 de

10 vogais entre h_d (em inglês)

–  F1 e F2: parâmetros retirados da análise espectral

do som da palavra.

(48)

48

Referências

Russel, S.; Norvig, P. Artificial

Intelligence: a modern approach.

2nd.edition. Prentice Hall, 2003.

Cap. 20.5.

Mitchell, T.M. Machine Learning.

Referências

Documentos relacionados

A PFU Limited não se responsabilizará por quaisquer danos ou vazamento de informações decorrentes em um ambiente com conexão Wi-Fi, por exemplo pela utilização do ScanSnap em

As principais características que distinguem a GBE dos modelos tradicionais de gestão são: (i) o embasamento dos processos deliberativos por meio de estudos científicos; (ii)

O tempo de admisintração de Pmxs está relacionado com a maior ocorrência de LRA, e mesmo sendo observado a utilização em menor tempo com outros estudos, a presença de LRA

Nos embargos à execução – que são apresentados pelo IBAMA para discordar de critérios como legitimidade e parâmetros de cálculo –, foi proferida sentença que

6.2 PRINCIPAIS CONTRIBUIÇÕES De acordo com os resultados obtidos através dos estudos experimentais, foram identificadas como principais contribuições deste trabalho:  Uma

Tais medidas foram realizadas atrav´ es da detec¸c˜ ao de raios-γ em singles, e tamb´ em utilizando a t´ ecnica de coincidˆ encia γ-part´ıcula, e possibilitaram a identifica¸c˜

Os objetivos deste estudo são: a Mensurar a incidência de comunidades existentes, no Orkut, ligadas à cultura gaúcha; b Apreender as representações nucleares em que a identidade

Pela manhã, saída para realizar uma visita à cidade incluindo seus principais monumentos: Puerta del Sol, As Cortes, Praça de Netuno e Cibeles, Puerta de Alcalá, Parque do Retiro,