Redes Neurais - Puc Rio - Arquitetura e Backuppropagation

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 4

4

Redes Neurais

4.1
Introdução

Redes neurais são sistemas computacionais criados com base na modelagem


do cérebro humano e sua principal característica é aprender através de exemplos.
É a forma computacional de expressar o funcionamento do sistema nervoso do ser
humano. Classificação de padrões e previsão são as principais áreas de aplicação
de redes neurais.

4.2
Arquitetura da rede
PUC-Rio - Certificação Digital Nº 0024879/CA

As redes neurais com múltiplas camadas de neurônios (MLP - multilayer


perceptron) são formadas por um conjunto de nós de entrada, por uma ou mais
camadas ocultas de neurônios e por uma camada de saída de neurônios. O sinal de
entrada se propaga para a frente através da rede, de camada em camada.
Neste tipo de rede neural, cada camada possui sua própria matriz de pesos
(W), seu vetor polarizador (b), um vetor de entrada (v) e um vetor de saída (y). A
figura 16 representa uma rede neural com três camadas de neurônios: duas
camadas ocultas e uma camada de saída. Os expoentes são utilizados para
identificar a qual camada os parâmetros pertencem.
4. Redes Neurais 50

Entradas 1ª camada 2ª camada 3ª camada


oculta oculta saída
v1 v21 y21 v31
y11 w211 w311
w111 y31
x1
x2
v12 y12 v2 y22 v32
x3 y32

, v1k y1k1 v2 v3k3 y3k3


y2k2
1 2
,
w1k1m b 1 1 2 2 1
w b 2 2
w3k3k2 b3k3
xm k k k k

y1 = f1 (W1x + b1) y2 = f2 (W2y1 + b2) y3 = f3 (W3y2 + b3)

Figura 16 - Representação de uma rede neural com m nós na camada de entrada, 2


camadas ocultas de neurônios e uma camada de saída
PUC-Rio - Certificação Digital Nº 0024879/CA

Fonte: Adaptado de Neuron Model and Network Architectures

As redes com múltiplas camadas são mais robustas que as redes neurais com
uma camada pois elas são capazes de extrair estatísticas de ordem elevada.
Normalmente, uma rede neural tem apenas duas ou três camadas. As de
quatro ou mais camadas são pouco utilizadas.

4.3
Processos de Aprendizagem

A partir da definição de Haykin, segundo quem a

“Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural


são adaptados através de um processo de estimulação pelo ambiente no qual a rede
está inserida. O tipo de aprendizagem é determinado pela maneira pela qual a
modificação dos parâmetros ocorre.” (Haykin, 2001:75)

Os passos para o aprendizado são:

1. A rede neural é estimulada por um ambiente através de exemplos


extraídos do mesmo.
2. A rede neural sofre modificações nos seus pesos através de
processos iterativos (treinamento), como resultado do 1º passo.
4. Redes Neurais 51

3. A rede neural responde de uma nova forma ao ambiente em


decorrência das mudanças ocorridas no 2º passo. O aprendizado
ocorre quando a rede neural atinge uma solução generalizada para
uma classe de problemas. Todo o conhecimento de uma rede neural
está armazenado nos pesos atribuídos às conexões entre os
neurônios.

O problema do aprendizado é solucionado através de um algoritmo de


aprendizagem que é formado por regras definidas. Nas redes neurais existem
vários algoritmos de aprendizagem, e cada qual possui características e vantagens
específicas.

4.4
Treinamento de uma rede neural
PUC-Rio - Certificação Digital Nº 0024879/CA

É na fase do treinamento que a rede neural aprende o problema. Existem


várias técnicas para se treinar uma rede neural; a escolha da mais adequada
depende do problema e da aplicação. Na fase do treinamento é escolhido o
algoritmo de aprendizado juntamente com os parâmetros de aprendizado, que são:
taxa de aprendizado (learning rate), taxa de momento (momentum), critérios de
parada e forma de treinamento.

4.5
O Algoritmo Retropropagação (backpropagation)

O algoritmo de retropropagação do erro (error backpropagation ou


simplesmente backpropagation) é um algoritmo utilizado em perceptrons de
múltiplas camadas e utiliza funções de transferência diferenciáveis e não-lineares
em um treinamento supervisionado.
A aprendizagem por backpropagation consiste, basicamente, em dois
passos: um passo para frente, que é a propagação, e um passo para trás, a
retropropagação. No passo para frente, um vetor é apresentado aos nós de entrada
da rede e seu efeito se propaga através desta, da esquerda para a direita e de
camada em camada. Um conjunto de saídas é produzido como resposta da rede.
Durante este processo, os pesos sinápticos da rede são todos fixos. A resposta da
4. Redes Neurais 52

rede é subtraída da resposta desejada e, então, determina-se o sinal de erro. Este


sinal de erro é propagado para trás através da rede, contra a direção das conexões
sinápticas. Os pesos são então ajustados de modo a se minimizar o sinal de erro.
Na figura 17 tem-se a representação dos sinais de entrada, também
conhecidos como sinais funcionais e de erro em um perceptron de múltiplas
camadas.

sinais de entrada
sinais de erro

Figura 17 - Sinais funcionais e de erro numa rede neural


Fonte: Haykin (2001:186)
PUC-Rio - Certificação Digital Nº 0024879/CA

Neste trabalho será utilizado o perceptron de múltiplas camadas (MLP) e o


algoritmo de treinamento será o RPROP (Resilient backpropagation algorithm),
uma versão mais rápida do backpropagation, pois, de forma supervisionada, ele
reduz o erro de aprendizagem por correção de erro.

Você também pode gostar