Você está na página 1de 23

Intelig^ncia Computacional Aplicada e

(Redes Neuronais Arti ciais)


Robson da Silva Siqueira Charles Casimiro Cavalcante y Departamento de Engenharia Eletrica Departamento de Engenharia Eletrica Universidade Federal do Ceara Universidade Federal do Ceara FORTALEZA April 22, 1998

y Email:

Email: siqueira@dee.ufc.br charlesc@dee.ufc.br

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

Indice
1 2 3 4

4.1 A Regra Delta . . . . . . . . . . . . . . . . . 4.1.1 Atualizac~o dos Pesos . . . . . . . . . a 4.2 Algoritmo Back-Propagation Padr~o . . . . . a 4.3 Modi cac~es do Algoritmo Back-Propagation o 5.1 Aspectos Operacionais das Redes de Hop eld 5.1.1 Fase de Armazenamento . . . . . . . . 5.1.2 Fase de Recuperac~o . . . . . . . . . . a 5.2 Programa Implementado . . . . . . . . . . . .

~ INTRODUCAO Modelo de um Neur^nio o Intelig^ncia Arti cial e Redes Neuronais e Redes de Multicamadas

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. 9 . 9 . 10 . 10 . . . . . . . . . . . . . .

4 5 6 7

5 Redes Recorrentes

11

12 12 12 12

6 Problemas

6.1 Porta Logica E com cinco entradas . . . . . . . . . . . 6.1.1 Resultado . . . . . . . . . . . . . . . . . . . . . 6.2 Porta Logica OU-Exclusivo com duas entradas . . . . 6.2.1 Resultado OU-Exclusivo com padr~es binarios o 6.2.2 Resultado OU-Exclusivo com padr~es bipolares o 6.3 Func~o ( 1 2 ) = sin(2 a 1 ) sin(2 2) . . . . 6.4 Resultados da func~o de duas variaveis . . . . . . . . . a 6.5 Separac~o de Regi~es . . . . . . . . . . . . . . . . . . . a o 6.5.1 Resultados . . . . . . . . . . . . . . . . . . . . 6.5.2 Implementac~o . . . . . . . . . . . . . . . . . . a
f x x x x

13

13 13 13 14 14 14 15 15 17 17

7 Comentario Final

17

Lista de Figuras
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Modelo N~o Linear de um Neur^nio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 a o Problema da Porta E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Problema da Porta OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Problema da Porta OU-Exclusivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Modelo da Maquina de Aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Func~o do Erro Medio Quadrado versus Peso Qualquer da Rede . . . . . . . . . . . . . . . . . . 8 a Funcionamento do Algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Erro Medio Quadrado do Problema da Porta Logica E com modelo Perceptron, ambos com taxa de aprendizado = 0 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Arquitetura do Problema do OU-Exclusivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Erro Medio Quadrado do Problema do OU-Exclusivo para Exemplos Binarios. Back-Propagation Padr~o com: = 0 9 Back-Propagation com Momentum com: = 0 2 e = 0 8 Super a SAB com: = 0 5, = 0 8, d = 0 5, a = 1 2 e max = 10 . . . . . . . . . . . . . . . . . . . . . 17 Erro Medio Quadrado do Problema do OU-Exclusivo para Exemplos Bipolares: Back-Propagation Padr~o com: = 0 9 Back-Propagation com Momentum com: = 0 2 e = 0 8 Super a SAB com: = 0 5, = 0 2, d = 0 6, a = 1 5 e max = 1 . . . . . . . . . . . . . . . . . . . . . . 18 Func~o de 2 variaveis ( 1 2 ) = sin(2 a 1 ) sin(2 2 ), com uma rede de 11 11. . . . . . 19 Erro Medio Quadrado do Problema de Interpolac~o metodo Back-Propagation com Momentum a com = 0 05 e = 0 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Sa da obtida apos 100 epocas, onde foram tomados 441 pontos uniformemente distribu dos. . . . 19 Sa da obtida apos 1000 epocas, onde foram tomados 441 pontos uniformemente distribu dos. . . 20 Sa da obtida apos 2000 epocas, onde foram tomados 441 pontos uniformemente distribu dos. . . 20 Sa da obtida apos 5000 epocas, onde foram tomados 441 pontos uniformemente distribu dos. . . 20
: : : : : : : : : : : : : : : f x x x x : :

Intelig^ncia Computacional Aplicada e 18 19 20 21

Charles Casimiro Cavalcante e Robson da Silva Siqueira

3 21 21 21 22 22 22 23

Regi~es a serem aprendidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o Taxa de Padr~es Errados versus Erro Medio Quadrado . . . . . . . . . . . . . . . . . . . . . . . o Padr~es apresentados na simulac~o, 250 em cada regi~o. . . . . . . . . . . . . . . . . . . . . . . o a a Erro Medio Quadrado do Problema das Regi~es com = 0 6 e = 0 8 para Exemplos Bipolares o com 500 exemplos para treinamento, utilizando o processo Batch. . . . . . . . . . . . . . . . . . . 22 Taxa de Padr~es Errados do Problema das Regi~es com = 0 6 e = 0 8 para Exemplos o o Bipolares com 500 exemplos para treinamento, utilizando o processo Batch . . . . . . . . . . . . 23 Resultados obtidos da escolha aleatoria de 400 pontos em cada uma das duas regi~es e o resultado o obtido, apos o treinamento da rede cujo gra co do Erro Medio Quadrado esta acima. . . . . . . . 24 Exemplos apresentados apos a fase de aprendizado. Exemplos distribu dos de forma radial, em relac~o aos centros das regi~es. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a o
: : : :

Lista de Tabelas
1 2 3 4 5 6 Mapeamento das Entradas e Sa das da porta E . . . . . . . . . . . . . . . . . . . . . . . . . . . . Padr~es da AND aprendidos para um Erro Medio Quadrado de 0 001 com padr~es binarios. . . . o o Padr~es da OU-Exclusivo para func~o de ativac~o Sigmoide . . . . . . . . . . . . . . . . . . . . . o a a Padr~es da OU-Exclusivo para func~o de ativac~o Tangente-Hiperbolica . . . . . . . . . . . . . . o a a Padr~es da OU-Exclusivo aprendidos para um Erro Medio Quadrado de 0 001 com padr~es binarios. o o Padr~es da OU-Exclusivo aprendidos para um Erro Medio Quadrado de 0 001 com padr~es bipoo o lares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
: : :

13 15 16 17 18 19

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

As RNA ( Redes Neuronais Arti ciais ) s~o um promissor campo de pesquisa para solucionar problemas a classicos de uma forma mais otimizada, e uma ferramenta para ser utilizada nos novos problemas. Seus estudos foram motivados, no in cio pelo processamento de informac~es efetuado pelo cerebro ser inteirao mente diferente do convencional computador digital. Pensando-se em emula-lo desenvolveram-se as Redes Neuronais Arti ciais. Abordaremos o modelo de neur^nio e de redes neuronais e mostraremos as formas de o ensina-las a solucionar problemas. Neste trabalho mostraremos a utilizac~o de Redes Neuronais Arti ciais a na soluc~o de alguns problemas classicos como portas logicas XOR e AND, aprendizado de uma func~o de a a duas variaveis e classi cac~o de regi~es. Para tanto abordaremos as arquiteturas de redes adequadas a cada a o um dos problemas, bem como o tipo de treinamento que sera promovido em cada um deles. Mostraremos o desempenho obtido pela rede ensinada atraves da obtenc~o do Erro Medio Quadrado como par^metro de a a otimizac~o, mostrando o caminho do processo de aprendizado dos metodos utilizados comparando-os em a relac~o ao criterio tempo de processamento. a

Resumo

A motivac~o para o estudo de uma forma que fosse capaz de representar o funcionamento do cerebro e a o fato de por exemplo pelos meios convencionais sermos capazes de reconhecer um objeto dentro de um ambiente em frac~es de segundos, enquanto o mais rapido computador n~o consegue o mesmo desempenho o a em per odos muito maiores de tempo. Um dado interessante e que as unidades processadoras de informac~o do cerebro demoram em media 1ms a para processar uma unidade de informac~o enquanto um computador digital consegue executar a mesma a func~o 1000000 vezes mais rapido. a Descobriu-se que o motivo da sua extraordinaria velocidade e a sua alt ssima complexidade, n~o lina earidade, paralelismo (capacidade de processar varios dados ao mesmo tempo em lugares distintos). Outra importante caracter stica do cerebro e o fato de que a informac~o n~o estar concentrade em um local esa a pec co e sim distribu da em toda a estrutura. Os conhecimentos adquiridos sobre o funcionamento da menor unidade processadora do cerebro permitiu que um modelo fosse proposto para representa-lo. Para isso dever-se-ia caracterizar as tr^s parte que o e comp~em, s~o elas: o a Dendritos Corpo Celular Ax^nio o Suponha um neur^nio com suas tr^s partes os dendritos fazem a conecc~o de alguns neur^nios com o o e a o neur^nio em questo, o corpo celular promove o processamento de todas as informac~es recebidas e transporta o o aos neur^nios com os quais ele se comunica transmitindo dados. o Estas partes s~o emulados por tr^s elementos: a e Conjunto de ligac~es sinapticas caracterizadas por pesos !i j que multiplicam os sinais xj associados o ao neur^nio j resultando uma entrada para o neur^nio i. Estes pesos podem ser positivos e desta forma o o ter~o efeito excitador e se forem negativos ter~o efeito inibidor, caso ele seja nulo e como se a ligac~o a a a podesse ser cortada sem preju zo ao resultado nal. Um somador que adiciona todas as entradas do neur^nio. o Uma func~o de ativac~o que e aplicada a sa da do somador. Normalmente a sa da desta func~o e a a a normalizada e pertence ao intervalo unitario 0 1] ou alternativamente ;1 1]. As varias caracter sticas do cerebro foram estudadas de forma a tentar-se imita-lo digitalmente, e uma serie de caracter sticas das redes neuronais naturais foram alcancadas: 1. N~o Linearidade: o neur^nio e basicamente um dispositivo n~o linear, logo a rede tambem o sera. a o a 2. Adaptatividade: as RNA t^m a capacidade de alterar os pesos sinapticos de forma a se adaptar a e mudancas no ambiente. Logo, elas s~o operacionais em ambientes n~o estacionarios, ou seja, ambientes a a cujas estat sticas mudam com o tempo. 3. Toler^ncia a Falhas: o fato de a informac~o estar distribu da em toda a rede permite que mesmo que a a haja algum problema com algumas sinapses, a rede n~o que totalmente comprometida. a 4. Implementabilidade em tecnologia VLSI: pela sua natureza massivamente paralela, o processo pode ser dividido em varias tarefas que podem ser distribu das de forma a cooperarem entre si, e desta forma poderem atender as exig^ncia de tempo real em alguns processos hoje computacionalmente lentos como e reconhecimento de padr~es, processamento de sinais e controle. o

~ 1 INTRODUCAO

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

5. Extens~o dos Resultados: uma rede pode ser treinada para reconhecer alguns padr~es pre-de nidos a o atraves por exemplo de um treinamento supervisionado onde algumas entradas s~o apresentadas, coma putada a sa da que e comparada com a sa da desejada que tambem e conhecida, a diferenca entre as duas serve como par^metro de ajuste dos pesos sinapticos. Bem apos o treinamento a redes e capaz de a n~o somente reconhecer os padr~es a ela apresentados na fase de treinamento, mas tambem a outros a o exemplos, mostrando assim a sua capacidade de aprender caracter sticas das entradas apresentadas e n~o decora-las. a

O componente basico de uma rede neural e o neur^nio, que e modelado por tr^s partes: o e 1. Serie de pesos associados com cada uma de suas entradas. 2. Somador 3. Func~o de ativac~o. a a A esse modelo denominou-se Perceptron. Podemos observa-lo bem como seus componentes na gura abaixo.

2 Modelo de um Neur^nio o

X1

X2

Xp

j j rr rr r r j
-

wk 1

A A A A

wk 2

A A U A @ R @ P

'$ &%
uk -

'( )

- Yk

wkp

j
6

Figura 1: Modelo N~o Linear de um Neur^nio a o


Vamos observar como funciona uma rede de um neur^nio com duas entradas, e sendo a func~o de ativac~o o a a a func~o sinal: a

y = '(w1 x1 +{z2 x2 ; }) w |
Net

(1)

De posse desta equac~o podemos de nir tr^s espacos distintos: a e ; ; 1. O lugar geometrico onde Net = 0, que e a reta que passa pelas coordenadas 0 w2 e w1 0 . 2. O semiplano mais a direita, quando Net > 0. 3. O semiplano mais a esquerda, quando Net < 0. Basicamente este modelo permite separar duas regi~es do espaco em discurso se tivermos mais de duas o entradas estaremos falando de um problema que separa duas regi~es do <n . o Ele pode ent~o aprender algumas func~es basicas como as portas logicas E e OR, que s~o soluc~es a o a o t picas de separac~o de regi~es mas ca claro que ela n~o e capaz de aprender uma simples porta logica a o a OU-Exclusivo. Para solucionar este problema utilizou-se uma arquitetura de multi-camadas de neur^nios, e demonstrouo se que esta rede poderia aprender qualquer func~o, mas sem especi car o numero de camadas nem o numero a de neur^nios em cada uma delas. o Nas guras 2 e 3 podemos observar os problemas daa portas logicas E, OU e OU-Exclusivo.

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

w2 @

(0 0)

f f v f

@ @

(1 1)
@ @ @

v f v v

@ @

w1

Figura 2: Problema da Porta E

(1 1)
@

w2

@ @

@ @

(0 0)

w1

Figura 3: Problema da Porta OU

3 Intelig^ncia Arti cial e Redes Neuronais e

O objetivo da Intelig^ncia Arti cial (IA) e desenvolver paradigmas ou algoritmos que necessitem de maquinas e para realizar tarefas que aparentemente requerem cognic~o quando realizados por humanos. a Um sistema IA deve ser capaz de realizar tr^s tarefas: e 1. Armazenar Conhecimento. 2. Aplicar o conhecimento armazenado para resolver problemas. 3. Adquirir novos conhecimentos atraves da experi^ncia. e Um sistema IA possui tr^s componentes chaves: e 1. Representac~o. A mais caracter stico aspecto de IA e provavelmente o difuso uso da linguagem de a s mbolos para representar tanto conhecimento geral sobre um problema de interesse quanto conhecimento espec co sobre a soluc~o. a 2. Racioc nio. Capacidade de resolver problemas. Para a rmar que um sistema possui racioc nio ele deve satisfazer a certas condic~es: o (a) O sistema deve ser capaz de expressar e resolver um larga faixa de problemas e classes de problemas. (b) O sistema deve ser capaz de explicitar qualquer informac~o impl cita por ele conhecida. a

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

(0 0)

f v

(1 1)

v f

Figura 4: Problema da Porta OU-Exclusivo


(c) O sistema deve ter um mecanismo de controle que determine que operac~es aplicar para um paro ticular problema, quando a soluc~o para o problema for obtida, ou quando um trabalho adicional a sobre o problema for determinado. 3. Aprendizado. Em um modelo simples da maquina de aprendizado, descrita na gura 5, o ambiente prov^ algumas informac~es para o elemento de aprendizado, este elemento usa esta informac~o para e o a aperfeicoar a base de conhecimento e nalmente o elemento de desempenho usa a base de conhecimento para realizar a tarefa.

Ambiente
6

Elemento de Aprendizado

Base de Conhecimento

Elemento de Performance

Figura 5: Modelo da Maquina de Aprendizado

Para treinar a rede existem tr^s paradigmas: e 1. Supervisionado 2. N~o-Supervisionado a 3. Associativo Usaremos o supervisinado que se trata de um mapeamento Entrada/Sa da ate que uma condic~o prea estabelecida seja alcancada. Nesse treinamento existe uma serie de padr~es de entrada e suas respectivas o sa das. Apresenta-se cada um dos padr~es para a rede e atualiza-se os pesos de acordo com o erro encontrado o na camada de sa da. Esse erro e propagado no sentido da entrada atualizando assim os pesos de todas as camadas da rede. Esse e conhecido como o Algoritmo Back-Propagation, que possui uma regra padr~o, onde deve-se infora mar a rede a taxa de aprendizado, que e a raz~o com a qual os pesos ser~o atualizados. a a Os algoritmos para treinamento se baseiam no princ pio que a rede deve ser aperfeicoada ate que um certo erro maximo permitido seja alcancado, erro este toleravel para o processo em quest~o. Para desenvolver as a regras de aprendizado, relaciona-se o erro com os pesos e supondo que a func~o (w i] j ]) possua um m nimo a na abcissa wp podemos sugerir o seguinte processo: Considere a func~o (Wk i] j ]) descrita na gura 6. a

4 Redes de Multicamadas

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

Passo 1 Passo 2

1 m

Figura 6: Func~o do Erro Medio Quadrado versus Peso Qualquer da Rede a

Figura 7: Funcionamento do Algoritmo LMS


Agora, suponha que estamos no ponto de abcissa wk na gura 7, cujo vetor que representa a derivada desta func~o naquela abscissa esta devidamente representada. O oposto desta derivada aponta uma a direc~o que leva para o ponto de m nimo1 . a Para levarmos o valor de wk+1 mais proximo de wp , devemos acrescentar ao seu valor a seguinte parcela:

@ wk = ; @w (w = wk ) (2) O valor de e um valor emp rico que pertence, normalmente, ao intervalo 0 1], e e chamado de taxa de aprendizado. O mesmo ocorre se a abcissa estiver em wk+t. Podemos interpretar a taxa de aprendizado como o passo com o qual o valor de wk deve se aproximar de wp . Observe que n~o e um passo constante e sim proporcional ao ultimo valor de wk . a Alguns cuidados devem ser tomados com , pois dois fen^menos poder~o ocorrer. o a 1. Se o valor de for muito grande, w pode por exemplo oscilar em torno de wk e wk+t sem nunca se aproximar de wp . 2. Se o valor de ao contrario for muito pequeno ele podera demorar muito para convergir para wp . Logo, como n~o e poss vel predizer qual e o melhor valor para , devemos treinar a rede para varios a valores, e comparar seus desempenhos. Um outro fator que pode diferenciar no treinamento de uma rede s~o os valores iniciais dos pesos. Para a conjuntos iniciais distintos teremos tempos de treinamento tambem distintos. A forma de calcular o erro deve ser explicitada por cada algoritmo proposto. Observe que n~o possu mos a explicitamente a func~o (wk i] j ]), mas abstra mos para sua representac~o como uma func~o n~o-linear, a a a a com pelo menos um m nimo, o qual e o objetivo do algoritmo de treinamento.
1

Este m nimo pode ser local ou global.

Intelig^ncia Computacional Aplicada e

4.1 A Regra Delta

Charles Casimiro Cavalcante e Robson da Silva Siqueira

E o nome dado a regra de treinamento do modelo Perceptron. Ela e baseada no algoritmo LMS (Least Mean Square), ou Media dos M nimo Quadrados. Um conjunto de valores de treinamento deve ser escolhido de acordo com o problema. Este conjunto deve constar de uma serie de valores de entrada Xr i] com suas respectivas sa das Yr j ]. Observe que cada padr~o de entrada possui i argumentos, e cada sa da possui j argumentos que e o numero de neur^nios na a o camada de sa da. Neste algoritmo apresentamos todos os valores de entrada e as respectivas sa das, ou seja, fazemos um mapeamento entrada/sa da de forma a cobrir todas as possibilidades. Sequ^ncia de passos para o treinamento de uma rede perceptron com N padr~es e n entradas de cada e o padr~o. A taxa de aprendizado e e o erro desejado e de . Iniciamos com k = 1. a Passo 1 Apresenta-se um dos padr~es. o

net =

n;1 X i=0

fA0

i] W i]g

(3)

Y1 = ' (net + ) (4) Passo 3 Calcula-se o Erro da rede para aquele padr~o. a E k ] = Yk ; Y1 (5) Passo 4 Atualiza-se os Pesos da Rede. W i] = E k] (6) o Passo 5 Incrementa-se k e retorna-se ao Passo 1 ate k = N , ou seja ate que todos os padr~es de entrada sejam testados, quando se completa uma epoca. Passo 6 Calculo do Erro Medio Quadrado para a epoca completada.
N 1X Erroe = N k=1

Passo 2 Calculo da Sa da para o padr~o k. a

E 2 k] 2

(7)

Passo 7 Teste de converg^ncia. e

Erroe < (8) Passo 8 Se teste for verdadeiro termina a fase de treinamento, sen~o faz-se k = 0 e retorna-se ao Passo 1. a

Podemos fazer a atualizac~o dos pesos sinapticos de duas formas, descritas abaixo: a On-Line Onde os pesos sinapticos s~o atualizados a toda vez que um padr~o e apresentado, como descrito a a no metodo acima. Batch Onde as atualizac~es s~o acumuladas durante toda uma epoca e no nal e feita uma media deste o a valor pelo numero de padr~es apresentados, e so ent~o os pesos s~o atualizados. o a a Estas duas formas de fazer a rede aprender possuem peculiaridades que devem ser aplicadas de acordo com o problema, em casos simples a aplicac~o de ambos pode resolver o problema, mas em outros casos n~o. a a Imagine um problema de interpolac~o, onde queremos aproximar uma func~o atraves de alguns de seus a a pontos, e imagine um segundo problema onde queremos de nir duas regi~es distintas, atraves de alguns o pontos representativos2 . No primeiro caso ao apresentarmos um padr~o, no caso um dos pontos da func~o a ser aprendida, o a a incremento do peso calculado para aquela interac~o carrega consigo uma informac~o relativa aquele ponto a a em espec co, e deve ser considerado de pronto, nestes casos o processo On-Line deve ser aplicado. Ja no segundo caso, o que desejamos n~o e retirar informac~es individuais de cada ponto, mas sim do a o conjunto de pontos que representam as regi~es em quest~o. Logo uma forma de melhorar o aprendizado da o a rede e aplicar uma media dos incrementos que conduzira a uma resposta considerando todos os pontos com uma mesma considerac~o sen~o vejamos, se neste caso aplicassemos o processso On-Line os pesos nais a a a cada epoca cariam viciados a tender as informac~es obtidas dos ultimos padr~es apresentados suponha o o agora que por acaso estes ultimos padr~es estejam concentrados no centro de uma das regi~es3 a fronteira o o desejada sera deslocada, deformando assim da fronteira desejada. Neste caso o processo Batch deve ser aplicado.
2 3

4.1.1 Atualizac~o dos Pesos a

Posteriormente dois problemas como os descritos aqui ser~o apresentados com as respectivas soluc~es. a o Os dados importantes neste exemplo est~o armazenados principalmente nos pontos proximos a fronteira entre as regi~es. a o

Intelig^ncia Computacional Aplicada e

A diferenca entre o modelo perceptron e o multicamadas e que no perceptron a sa da desejada do neur^nio o era conhecida, no modelo de multicamadas apenas a sa da dos neur^nios da ultima camada s~o conhecidos. o a Era necessario para extender o processo para este outro modelo encontrar uma forma de conhecer as sa das desejadas dos neur^nios das camadas encondidas. A soluc~o veio com o processo chamado de ac~o o a a retroativa do erro, onde o erro da camada de sa da se propaga retroativamente para encontrar as sa das desejadas dos neur^nios das outras camadas. o Suponha uma rede de camadas, onde a ultima e chamada de Camada de Saida e as demais s~o a chamadas de Camadas Escondidas, cada uma delas com N neur^nios. o Passo 1 Apresenta-se o padr~o Xr para a rede e calcula-se os nets da camada escondida k . a

4.2 Algoritmo Back-Propagation Padr~o a

Charles Casimiro Cavalcante e Robson da Silva Siqueira

10

netk i] =

N ;1 X j =1

fYk;1

j ] Wk i] j ]g

i k

1 Nk ] 1 ]

(9)

Yk i] = ' (netsk i] + k i]) i 1N] (10) Passo 3 Calculo do Erro na camada de sa da. Er i] = Yr i] ; Y i] i 1N] (11) Passo 4 Incrementa-se r e retorna-se ao Passo 1 ate que todos os padr~es sejam apresentados, quando se o completa uma epoca. Passo 5 Calculo do Erro Medio Quadrado para a epoca completada.
R 1X Erroe = R k=1

Passo 2 Aplicac~o da func~o de ativac~o na camada escondida. a a a

E 2 k] 2

(12)

Passo 6 Teste de converg^ncia. e

Erroe < (13) Passo 7 Se o erro for menor que o desejado, o algoritmo para e o treinamento esta terminado, sen~o inicia-se a a atualizac~o dos pesos. a Passo 8 Atualizac~o dos pesos da camada de sa da. a W i] j ] =
N X k=1
f' (nets _

i] +

i]) E k]g

;1

j]

i j
1 Nk+1 ]

1N] 1 N ;1 ]

(14)

Passo 9 Calculo do Erro na camada escondida, tambem chamada de Propagac~o Retroativa do Erro. a
Ek i] =
c;1 X v=0 Nk X j =1
fEk+1

j ] Wk+1 i] j ]g

(15) 1 Nk+1 ] 1 Nk ]

Passo 10 Atualizac~o dos pesos das camadas escondidas. a


W i] j ] =
f'

(netsk i] + k i]) Ek v]g

Yk;1 j ]

i j

(16)

Passo 11 Retorna-se ao passo 1 com a apresentac~o de todos os padr~es novamente. a o


Existem duas modi caes do algoritmo Algoritmo Back-Propagation Padr~o chamadas de: a 1. Algoritmo Back-Propagation com Momentum 2. Algoritmo Super-SAB O primeiro se baseia no fato de que seria interessante aumentar o passo em direc~o a um mnimo local a isso e feito quando alem da taxa de aprendizagem introduzimos uma taxa de esquecimento que atua no ultimo valor de W i] j ]. Isto faz com que quando o sentido da derivada do erro permanece o mesmo o passo em direc~o ao m nimo aumenta e diminui no momento em que a derivada do erro muda de sentido, ja a que o W i] j ] da iterac~o anterior tem um sentido diferente. a e Isso se manifesta no algoritmo Back-Propagation apenas nos passos 8 e 10, podemos rescrev^-los da seguinte forma:

4.3 Modi cac~es do Algoritmo Back-Propagation o

Intelig^ncia Computacional Aplicada e


W i] j ] =
N X k=1 c;1 X
f' (nets _

Charles Casimiro Cavalcante e Robson da Silva Siqueira


i]) E k]g A j] + W i] j ] i j
1N] 1 N ;1 ] (17)

11

Passo 8 Atualizac~o dos pesos da camada de sa da. a


i] +
;1

Passo 10 Atualizac~o dos pesos das camadas escondidas. a


W i] j ] =
f'

1 Nk+1 ] 1 Nk ] v=0 (18) Ja o Super-SAB se baseia em duas heur sticas que t^m por objetivo aumentar a velocidade do Backe Propagation. H1 Deve-se permitir que possa variar durante o treinamento. H2 Quando o gradiente da func~o custo permanecer por varias iterac~es consecutivas com o mesmo sinal, a o o valor de deve aumentar e caso a func~o custo mude de sinal, o valor de deve diminuir. a Para implementar este algoritmo os seguintes passos devem ser adequadamente sequenciados no algoritmo padr~o. a Inicializac~o dos Pesos i] j ] = 0 . a Se o sentido de mudanca do peso ( W i] j ] ) calculado da iterac~o atual for oposto ao da iterac~o a a anterior: Ent~o: n~o atualize o peso W i] j ], reverta a atualizac~o realizada na iterac~o anterior e ajuste: a a a a i] j ] = i] j ] D (19) Se n~o: atualize o peso W i] j ], e aumente a taxa de aprendizagem: a (20) i] j ] = Min ( i] j ] A MAX ) (netsk i] + k i]) Ek v]g

Yk ; 1 j ] +

W i] j ]

i j

5 Redes Recorrentes

S~o redes que apresentam uma estrutura recorrente na qual um uxo de realimentac~o dos nos de sa da para a a os nos de entrada, s~o portanto Sistemas Din^micos. a a Dentro das redes recorrentes temos: Redes de Hop eld Maquina de Boltzman MFT ( Mean-Field-Theory ) As redes de Hop eld podem ser vistas como uma memoria associativa n~o linear. a Sua func~o primaria e recuperar um padr~o armazenado na memoria como resposta a apresentac~o de a a a um a vers~o incompleta ou ruidosa do padr~o original. a a Dado um razoavel subconjunto da informac~o contida em um padr~o. Alem disso, essa rede e um a a corretor de erro no sentido que ela pode vencer uma informac~o inconsistente no padr~o apresentado. A a a sua ess^ncia e mapear uma memoria fundamental sobre um ponto s estavel de um sistema din^mico. e a Matematicamente, podemos expressar este mapeamento da seguinte forma: (21) A seta da esquerda para a direita descreve a operac~o de codi cac~o, e a seta da direita para a esquerda a a descreve a operac~o de decodi cac~o. Os pontos estaveis da rede s~o chamados de Memoria Fundamental a a a ou Estados Prototipos da rede. Suponha agora que a rede e apresentada a um padr~o contendo parcial mas su ciente informac~es sobre a o uma das memorias fundamentais. Nos podemos representar aquele particular padr~o como um ponto inicial. a A princ pio, munido que o ponto inicial e proximo de um ponto estavel representado na memoria sendo recuperado. O sistema pode evoluir com o tempo e nalmente convergir sobre um estado da memoria. Observe que falamos de pontos estaveis, e suponha que o que queremos reconhecer seja uma imagem, ora, esse ponto nada mais e que um vetor do <n , logo podemos transformar a matriz da imagem em um vetor e assim submet^-la a uma rede de Hop eld. e

*s )

Intelig^ncia Computacional Aplicada e

5.1 Aspectos Operacionais das Redes de Hop eld

Charles Casimiro Cavalcante e Robson da Silva Siqueira

12

O modelo de neur^nio e id^ntico ao anterior com o fato que a func~o de ativac~o ser a func ao a m '(x) = x. o e a a Cada neur^nio possui dois estados estaveis si = 1 e si = ;1. Para uma rede de N neur^nios o estado da o o rede e de nido pelo vetor:

s = s1 s2 : : : sN ]T (22) O par de neur^nios i e j est~o conectados por um peso sinaptico Wji que especi ca a contribuic~o do o a a sinal de sa da si do neur^nio i para a potencial ac~ono neur^nio j . O potencial de ac~o vj no neur^nio j e a o a o a o soma do todos potenciais possinapticos entregues a ele, como indicado na gura. Especi camente podemos escrever: vj =
N X i=1
fWji

si g ; j

(23)

Onde j e um termo externo ao neur^nio. O neur^nio sj modi ca seu valor de acordo com as seguintes o o regras: +1 se vj > 0 ;1 se vj < 0 sj se vj = 0 Esta relac~o pode ser simpli cada pela express~o: a a
(

sj =

(24)

sj = sng vj ] (25) onde sng e a func~o sinal. a Existem duas fases para a operac~o da Rede de Hop eld, a fase de armazenamento e a fase de recuperac~o. a a
a Suponha que voc^ deseja armazenar um conjunto de vetores de dimens~o N , denotados por f j = e 1 2 : : : pg. Chamamos estes p vetores por memorias fundamentais representando os padr~es a serem memo orizados pela rede. Seja i o elemento i da memoria fundamental . De nimos a matriz de pesos da seguinte forma:
p 1X Wji = N j i

5.1.1 Fase de Armazenamento

(26) (27) (28)

Pela relac~o acima podemos concluir que: a e tambem:

=1

Wii = 0 Wji = Wij

5.1.2 Fase de Recuperac~o a

Nesta fase um vetor e apresentado a rede de Hop eld como um de seus estados. Normalmente este vetor representa uma vers~o incompleta ou ruidosa de um elemento fundamental da rede. A recuperac~o se procede a a de acordo com uma Regra Din^mica na qual cada neur^nio j da rede e acionado randomicamente. Toma-se a o o potencial de ativac~o e modi ca-se os valores de sj de acordo com a equac~o 24. Isto continua ate que a a apos uma rodada de todos os neur^nis os elementos i n~o mais modi cam sugerindo que o atual estado o a da Rede seja um estado estavel. Espera-se que este estado seja um dos armazenados no subconjunto . Mas e fato que a rede possui a estados espurios, ou seja, estados estaveis que n~o pertencem ao subconjunto .

5.2 Programa Implementado

Um programa foi implementado em C++ e o seu arquivo executavel esta a disposic~o na pagina: a Ele possui uma descric~o do problema, bem como informac~es sobre como utilizar o programa. a o

http://www.dee.ufc.br/ pimentel

Intelig^ncia Computacional Aplicada e

6 Problemas

Charles Casimiro Cavalcante e Robson da Silva Siqueira

13

Apresentaremos a seguir os problemas propostos na disciplina, e discutiremos a arquitetura a ser utilizada em cada um deles, bem como as func~es de ativac~o em cada caso, isso nos quatro primeiros problemas. o a No caso da Rede de Hop eld armazenaremos padr~es das letras X , Y , K e W entraremos padr~es o o deturpados destas letras e observaremos se elas convergem para os padr~es desejados. o Este problema sera resolvido simplesmente com o perceptron, usando a regra delta. As entradas s~o conhecidas e s~o em numero de 32. Treinaremos a rede com duas func~es de ativac~o a a o a diferentes, a Sigmoide e a Tangente-Hiperbolica. Para cada uma das func~es de ativac~o teremos um tipo o a de entrada diferente. Para a func~o Sigmoide os padr~es de entrada ser~o os numeros decimais de 0 a 31 convertidos em a o a numeros binarios, ou seja, compostos apenas de zeros e uns. E as sa das ser~o nulas para todas as entradas a com excec~o para o numero 31 cuja sa da e 1, o que caracteriza a func~o logica E. a a

6.1 Porta Logica E com cinco entradas

Padr~es de Entrada Padr~es de Sa da o o


1 1 1 1 1 demais opc~es o 1 0

Tabela 1: Mapeamento das Entradas e Sa das da porta E


Ja para a func~o Tangente-Hiperbolica teremos as mesmas entradas so que em vez de zeros teremos a valores ;1, tanto para as entradas quanto para as sa das. Para efeito comparativo inicializamos os pesos com os mesmos valores para que possamos comparar os resultados obtidos entre si. Os pesos foram inicializados com os valores que se seguem abaixo. +0:2190 6 ;0:0470 W = 6 +0:6789 6 4 ;0:6793 +0:9347 = ;0:3835
2 3 7 7 7 5

(29) (30)

Observamos, na gura 8, que para alcancar o erro de 10;3 usando padr~es bipolares o algoritmo demora o mais de 2000 epocas, enquanto o simples fato de mudar o tipo de padr~o4 faz com que o numero de epocas a caia para 43, trazendo uma tremenda melhora de converg^ncia. e Na tabela 2, mostramos os resultados obtidos apos do treinamento da rede.

6.1.1 Resultado

6.2 Porta Logica OU-Exclusivo com duas entradas

Neste caso usaremos uma rede de multicamadas com quatro neur^nios na camada escondida e como a sa da o da porta logica e apenas um valor, teremos apenas um neur^nio na camada de sa da como mostrado na o gura 9. Os valores dos pesos e para os quais a rede foi treinada seguem abaixo: +0:0470 6 +0:6789 +0:6793 W1 = 4 ;0:9347 ;0:3835 +0:5194 ;0:8310 3 2 ;0:7012 6 +0:9103 7 1 =4 +0:7620 5 ;0:2625 W2 = ;0:0475 +0:7361 +0:3282
2

;0:2190

3 7 5

(31)

(32)
;0:6326

(33) (34)

;0:7564

paralelelamente a func~o de ativac~o tambem e modi cada Sigmoide para Tangente-Hiperbolica a a

Intelig^ncia Computacional Aplicada e


1

Charles Casimiro Cavalcante e Robson da Silva Siqueira


Exemplos Binarios Exemplos Bipolares

14

0.1

Erro Medio Quadrado

0.01

0.001

0.0001 1 10 100 Numero de Epocas 1000 10000

Figura 8: Erro Medio Quadrado do Problema da Porta Logica E com modelo Perceptron, ambos com taxa de aprendizado = 0 9
:

Observe que estes valores de pesos pre-estabelecidos se devem ao fato de que queremos testar qual dos tr^s metodos converge mais rapido, e para que todos comecem em condic~es iguais. e o Para cada func~o de ativac~o (Sigmoide ou Tangente-Hiperbolica) temos entradas e sa das mapeadas a a diferentemente. Nas tabelas 3 e 4, mostra-se como isso e feito.

6.2.1 Resultado OU-Exclusivo com padr~es binarios o

Observe, na gura 10, que o algoritmo padr~o permanece muito tempo com um erro aproximadamente a constante5 , e a partir de um certo momento ele comeca a convergir suavemente. O algoritmo com momentum se comporta inicialmente da mesma forma do anterior e antes do padr~o comeca a convergir com uma a inclinac~o maior, como esperado. Ja o algoritmo Super-SAB se comporta diferentemente das duas anteriores, a tendo duas fases de aumento do erro6 , uma outra de certa estabilidade e duas onde o erro cai abruptamente. O esperado seria que o Super-SAB fosse mais rapido que o com momentum, mas isso n~o e observado embora a que o que se percebe e que a partir do momento que ele comeca a convergir o faz de forma extremamente abrupta, o que nos faz esperar que para erros menores ele convirja mais rapidamente que os demais. Na tabela 5, mostramos os resultados obtidos apos do treinamento das redes.

6.2.2 Resultado OU-Exclusivo com padr~es bipolares o

Observamos, na gura 11, o mesmo comportamento descrito anteriormente com uma diferenc a basica que o numero de epocas cai bastante principalmente no algoritmo como momentum. Na tabela 6, mostramos os resultados obtidos apos do treinamento das redes. Inicialmente de niremos a regi~o do espaco onde a func~o sera de nida e no qual deve aprendida. Neste a a x1 0 1] e os padr~es de entrada escolhidos foram obtidos a partir da divis~o deste intervalo caso, x2 o a 0 1] com espacmento de 0:1, obtendo desta forma 121 padr~es. As sa das respectivas foram obtidas atraves da o aplicac~o da formula diretamente. a A vantagem e que apos o nal do treinamento, mesmo tendo sido treinado para apenas 121 padr~es o igualmente espacados, ele aproximara qualquer valor desejado da func~o no mesmo intervalo. a O conjunto de pontos que foram treinados e mostrado na gura 12. Neste problema mostraremos que as redes neurais podem ser aplicadas a processo de interpolac~o, ou a seja, aproximac~o de func~es dado um certo numero de pontos da mesma. a o
5 6

6.3 Func~o ( a

f x

2 ) = sin(2

1)

sin(2

2)

regi~o de plat^ a o lembre-se que o algoritmo padr~o e sempre decrescente. a

Intelig^ncia Computacional Aplicada e


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Charles Casimiro Cavalcante e Robson da Silva Siqueira


0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0.000000 0.000000 0.000000 0.000025 0.000000 0.000026 0.000027 0.001476 0.000000 0.000027 0.000027 0.001511 0.000028 0.001548 0.001586 0.081004 0.000000 0.000027 0.000028 0.001548 0.000029 0.001585 0.001624 0.082797 0.000029 0.001624 0.001663 0.084630 0.001703 0.086506 0.088425 0.843357 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 +1 +1 +1 +1 -1 -1 -1 -1 +1 +1 +1 +1 -1 -1 -1 -1 +1 +1 +1 +1 -1 -1 -1 -1 +1 +1 +1 +1

15

AND Binario
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

AND Bipolar
-1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1 -1 -1 +1 +1

-1 -1.000000 +1 -1.000000 -1 -1.000000 +1 -1.000000 -1 -1.000000 +1 -1.000000 -1 -1.000000 +1 -0.999841 -1 -1.000000 +1 -1.000000 -1 -1.000000 +1 -0.999952 -1 -1.000000 +1 -0.999984 -1 -0.999924 +1 -0.902303 -1 -1.000000 +1 -1.000000 -1 -1.000000 +1 -0.999957 -1 -1.000000 +1 -0.999985 -1 -0.999932 +1 -0.911669 -1 -1.000000 +1 -0.999996 -1 -0.999980 +1 -0.972781 -1 -0.999993 +1 -0.990538 -1 -0.956858 +1 +0.935081
:

Tabela 2: Padr~es da AND aprendidos para um Erro Medio Quadrado de 0 001 com padr~es binarios. o o

6.4 Resultados da func~o de duas variaveis a 6.5 Separac~o de Regi~es a o

Na gura 13, mostramos, para os par^metros descritos, o gra co do Erro Medio Quadrado para este problema. a Nas guras de 14 a 17, mostramos como a rede veio aprendendo apos o numero de epocas especi cado.

De nimos duas regi~es distintas e queremos que uma rede seja capaz de reconhecer, dada um coordenada o qualquer dentro do espaco em quest~o, a qual das duas regi~es este ponto pertence. Estas regi~es est~o a o o a especi cadas na gura 18. As regi~es que submeteremos ao treinamento deve ser de uma forma que n~o possam ser separadas o a linearmente, ja que nos interessa mostrar a capacidade que as redes neurais possuem de buscar n~o linearia a dades. Em particular, as regi~es em quest~o s~o circulares, para facilitar sua identi cac~o e determinac~o o a a a das coordenadas de cada uma. A forma de classi cac~o sera bem simples, atribuiremos valores 1 para pontos da Regi~o 1 e ;1 para a a pontos da Regi~o 2. a Existem certas diferencas entre esse problema e os anteriores: 1. A propria complexidade de como separar as regi~es em quest~o agora a regi~o de separac~o n~o e mais o a a a a uma reta 2. O mais importante e o fato de que n~o se trata simplesmente de um mapeamento Entrada/Sa da, pois a apenas alguns exemplos s~o tomados para treinamento a 3. Abordagem de uma outra caracter stica das redes neurais, a extens~o dos resultados a 4. Criterio de parada deve ser a taxa de padr~es errados e n~o mais o Erro Medio Quadrado, o que pode o a trazer uma maior compreens~o do que esta acontecendo. a

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira


Camada Escondida

16

X1k

X2k

u u

@ 3 7

Q SQ S Q S QQ 3 s Q S Q Q S Q Q S Q w S S Q Q Q S s Q S Q Q S Q S Q Q S

PP

@ PP q P PP@ P@ P @ P ; ; 1 ; ; ; ; ; ;

@ R @ @

Camada de Sa da
-Yk

Figura 9: Arquitetura do Problema do OU-Exclusivo

Padr~es de Entrada Padr~es de Sa da o o


0 0 1 1 0 1 0 1 0 1 1 0

Tabela 3: Padr~es da OU-Exclusivo para func~o de ativac~o Sigmoide o a a


Para mostrar a aplicac~o do tem 4, acima citado, a gura 19 nos mostra que nem sempre uma diminuic~o a a no erro medio quadrado signi ca uma diminuic~o no numero de padr~es errados. a o Bem neste caso o mapeamento seria impraticavel devido ao fato de existirem in nito pontos, neste caso devemos escolher um conjunto nito que possa ser treinado. O conjunto de padr~es a ser utilizado no treinamento deve ser representativo, ou seja contenham ino formac~es relevantes das caracter sticas das regi~es, de forma a permitir que a rede seja capaz de aprender o o exatamente o que queremos. Esta escolha pode obedecer a varios criterios de acordo com o requerido, por exemplo: Aleatoriamente distribu dos, Normalmente distribu dos, Com concentrac~o nas bordas entre as regi~es. a o O aumento na quantidade de padr~es para treinamento n~o corresponde necessariamente a um aumento o a na performance da rede, mas sim no tempo de treinamento. O problema da separac~o esta principalmente a na curva que separa as duas regi~es. Observe que os eventuais erros de classi cac~o que ocorrerem na o a execuc~o de uma rede treinada, ocorrera exatamente na zona de transic~o. Ent~o uma forma de melhorar a a a a performance seja escolher os padr~es de treinamento de forma que a zona de transic~o que bem povoada. o a Quanto ao criterio de parada, o Erro Medio Quadrado n~o mais satisfaz totalmente as necessidades do a nosso problema, observe que o objetivo e acertar em qual regi~o o ponto esta sem interessar o qu~o proximo a a esteja ou n~o da borda por exemplo. Bem podemos ter erro da ordem de 10;6 que n~o traz muito ganho a a em comparac~o a um erro de 10;3 pois acertam ou erram o mesmo numero de exemplos. a Um limiar interessante de ser encontrado e uma taxa e erro inferior a 2%, este pode ser um valor inicial para treinamento. Ent~o de nimos a Taxa de Pontos Errados como o numero de pontos mal classi cados a sobre o numero total de padr~es apresentados. o Podemos baseado neste conceito treinar a rede de duas formas distintas:

Intelig^ncia Computacional Aplicada e


;1 ;1

Charles Casimiro Cavalcante e Robson da Silva Siqueira


;1 ;1

17

Padr~es de Entrada Padr~es de Sa da o o


+1 +1 ;1 +1 +1 +1 +1 ;1

Tabela 4: Padr~es da OU-Exclusivo para func~o de ativac~o Tangente-Hiperbolica o a a


1 Back-Propagation Padrao Back-Propagation com Momentum Super SAB

0.1

Erro Medio Quadrado

0.01

0.001

0.0001 1 10 100 Numero de Epocas 1000 10000

Figura 10: Erro Medio Quadrado do Problema do OU-Exclusivo para Exemplos Binarios. Back-Propagation Padr~o com: = 0 9 Back-Propagation com Momentum com: = 0 2 e = 0 8 Super SAB com: a = 0 5, = 0 8, d = 0 5, a = 1 2 e max = 10
: : : : : : :

Taxa de Pontos Errados, Erro Medio Quadrado. A tomada de decis~o sera um bloco que realizara o papel de uma func~o sinal. a a Para este caso utilizaremos padr~es bipolares para de nir as regi~es, como de nido anteriormente. o o A topologia a ser utilizada sera composta de tr^s camadas respectivamente com 4, 12 e 1 neur^nios. e o Foi implementado o algoritmo com momentum e ele se apresentou bem diferente dos anteriores com regi~es o com variac~es abruptas, chamando atenc~o a uma regi~o que apos um certo tempo comeca a convergir o a a novamente. Uma observac~o interessante e o fato de que a regi~o onde a media da variac~o parece convergir. a a a Este foi o unico caso onde permitimos que o erro fosse menor que o dos anteriores, isso para podermos mostrar a regi~o onde comeca a convergir novamente. a Na gura 20 mostramos os padr~es apresentados para o treinamento da rede. o Nas guras 21 e 22, mostramos os gra co de desempenho durante o treinamento para Erro Medio Quadrado e Numero de Padr~es Errados respectivamente. o Nas guras 24 e 23 est~o apresentados o desempenho da rede apos ja no per odo de execuc~o, com a a exemplos distintos dos utilizados no treinamento.

6.5.1 Resultados

6.5.2 Implementac~o a

Um programa foi implementado em C++ e o seu arquivo executavel esta a disposic~o na pagina: a Ele possui uma descric~o do problema, bem como informac~es sobre como utilizar o programa. a o

http://www.dee.ufc.br/ pimentel

As redes neuronais arti ciais se mostraram muito promissoras na soluc~o tanto de problemas bem simple a bem como de problemas ja mais complexos como e o caso das areas e o dos caracteres.

7 Comentario Final

Intelig^ncia Computacional Aplicada e


0 0 1 1

Charles Casimiro Cavalcante e Robson da Silva Siqueira

18

B.P. Padr~o a
0 1 0 1

0.057138 0.942092 0.973978 0.026126

B.P. com Momentum


0 0 1 1 0 1 0 1 0.037515 0.951366 0.964956 0.054197

0 0 1 1

Super-SAB
0 1 0 1

0.024438 0.964263 0.964365 0.066415


:

Tabela 5: Padr~es da OU-Exclusivo aprendidos para um Erro Medio Quadrado de 0 001 com padr~es binarios. o o
10 Back-Propagation Padrao Back-Propagation com Momentum Super-SAB 1

Erro Medio Quadrado

0.1

0.01

0.001

0.0001 1 10 100 Numero de Epocas 1000 10000

Figura 11: Erro Medio Quadrado do Problema do OU-Exclusivo para Exemplos Bipolares: Back-Propagation Padr~o com: = 0 9 Back-Propagation com Momentum com: = 0 2 e = 0 8 Super SAB com: a = 0 5, = 0 2, d = 0 6, a = 1 5 e max = 1
: : : : : : :

Algumas di culdades encontradas foram o ajuste de par^metros como taxa de aprendizagem, taxa de a esquecimento tempo de processamento dependendo do programa utilizado. No primeiro caso, os estes par^metros n~o possuem um valor espec co para o qual convergem ou deixam de convergir. No caso do a a a tempo de processamento, quando utilizamos C++ a velocidade e intensamente aumentada em relac~o a problemas feitos no Matlab.

Bibliogra a

1] Simon Haykin, NEURAL NETWORKS a compreensive foundation.

Intelig^ncia Computacional Aplicada e


-1 -1 -0.961262 -1 +1 +0.963467 +1 -1 +0.957521 +1 +1 -0.942330

Charles Casimiro Cavalcante e Robson da Silva Siqueira

19

B.P. Padr~o a

B.P. com Momentum


-1 -1 -1 +1 +1 -1 +1 +1 -0.947392 +0.973086 +0.947465 -0.962490

-1 -1 -0.980944 -1 +1 +0.992753 +1 -1 +0.999134 +1 +1 -0.927110


:

Super-SAB

Tabela 6: Padr~es da OU-Exclusivo aprendidos para um Erro Medio Quadrado de 0 001 com padr~es bipolares. o o
Funcao de 2 variaveis

1 0.5 0 -0.5 -1 1

0 0.5 X1 1 0

0.5

X2

Figura 12: Func~o de 2 variaveis ( a


1

f x1 x2

) = sin(2

x1

) sin(2

x2

), com uma rede de 11 11.

Back-Propagation com Momentum

0.1

Erro Medio Quadrado

0.01

0.001

0.0001 1 10 100 Numero de Epocas 1000 10000

Figura 13: Erro Medio Quadrado do Problema de Interpolac~o metodo Back-Propagation com Momentum a com = 0 05 e = 0 1.
: :

0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8

1 0.8 0.6 X1 0.4 0.2 0.2 0 0 0.4 X2 0.8 0.6 1

Figura 14: Sa da obtida apos 100 epocas, onde foram tomados 441 pontos uniformemente distribu dos.

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

20

1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

1 0.8 0.6 X1 0.4 0.2 0.2 0 0 0.4 X2 0.8 0.6 1

Figura 15: Sa da obtida apos 1000 epocas, onde foram tomados 441 pontos uniformemente distribu dos.

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

1 0.8 0.6 X1 0.4 0.2 0.2 0 0 0.4 X2 0.8 0.6 1

Figura 16: Sa da obtida apos 2000 epocas, onde foram tomados 441 pontos uniformemente distribu dos.

0.5

-0.5

-1

1 0.8 0.6 X1 0.4 0.2 0.2 0 0 0.4 X2 0.8 0.6 1

Figura 17: Sa da obtida apos 5000 epocas, onde foram tomados 441 pontos uniformemente distribu dos.

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

21

2 Regioes

0 X2

-1

-2

-3 -3 -2 -1 0 X1 1 2 3

Figura 18: Regi~es a serem aprendidas o

10 Erro Medio Quadrado Taxa de Padroes Errados

0.1 1 10 100 1000

Figura 19: Taxa de Padr~es Errados versus Erro Medio Quadrado o

2 Regiao 1 Regiao 2

0 X2

-1

-2

-3 -3 -2 -1 0 X1 1 2 3

Figura 20: Padr~es apresentados na simulac~o, 250 em cada regi~o. o a a

Intelig^ncia Computacional Aplicada e


1

Charles Casimiro Cavalcante e Robson da Silva Siqueira

22

0.1

Erro Medio Quadrado

0.01

0.001

0.0001

1e-05 1 10 100 Numero de Epocas 1000 10000

Figura 21: Erro Medio Quadrado do Problema das Regi~es com = 0 6 e o com 500 exemplos para treinamento, utilizando o processo Batch.
:

= 0 8 para Exemplos Bipolares


:

Taxa de Padroes Errados

0.1

0.01

0.001 1 10 Numero de Epocas 100 1000

Figura 22: Taxa de Padr~es Errados do Problema das Regi~es com = 0 6 e = 0 8 para Exemplos Bipolares o o com 500 exemplos para treinamento, utilizando o processo Batch
: :

2 Regiao1 Regiao2

0 X2

-1

-2

-3 -3 -2 -1 0 X1 1 2 3

Figura 23: Resultados obtidos da escolha aleatoria de 400 pontos em cada uma das duas regi~es e o resultado o obtido, apos o treinamento da rede cujo gra co do Erro Medio Quadrado esta acima.

Intelig^ncia Computacional Aplicada e

Charles Casimiro Cavalcante e Robson da Silva Siqueira

23

2 Regiao 1 Regiao 2

0 X2

-1

-2

-3 -3 -2 -1 0 X1 1 2 3

Figura 24: Exemplos apresentados apos a fase de aprendizado. Exemplos distribu dos de forma radial, em relac~o aos centros das regi~es. a o