Você está na página 1de 47

REDES NEURAIS

ARTIFICIAIS
RNA ou ANN
Redes de neurônios: Arquitetura das ANNs
▪ Uma rede neural artificial é composta por várias unidades
de processamento (neurônios), cujo funcionamento é
bastante simples.

▪ Essas unidades, geralmente são conectadas por canais de


comunicação que estão associados a determinado peso.

▪ As unidades fazem operações apenas sobre seus dados


locais, que são entradas recebidas pelas suas conexões.

▪ O comportamento inteligente de uma Rede Neural Artificial


vem das interações entre as unidades de processamento
da rede.

2
Redes de neurônios: Características Gerais
das ANNs
▪ São modelos adaptativos, robustos e treináveis

▪ Podem representar domínios complexos (não lineares)

▪ São capazes de generalização diante de informação


incompleta

▪ São capazes de fazer armazenamento associativo de


informações

▪ Processam informações Espaço/temporais

▪ Possuem grande paralelismo, o que lhe conferem rapidez de


processamento 3
Redes Neurais Artificiais: Tipos

Existem basicamente 3 tipos de arquitetura de ANNs:

– Feedforward de uma única camada

– Feedforward de múltiplas camadas e

– Redes recorrentes.

4
Redes Neurais Artificiais: classificação
das camadas

▪ Usualmente as camadas são classificadas em três


grupos:
– Camada de Entrada: onde os padrões são
apresentados à rede;

– Camadas Intermediárias ou Ocultas: onde é feita a


maior parte do processamento, através das conexões
ponderadas; podem ser consideradas como extratoras
de características;

– Camada de Saída: onde o resultado final é concluído e


apresentado.
Redes Neurais Artificiais: classificação
das camadas

camada
de entrada
camada
camada de saída
6
escondida
Redes Neurais Artificiais: classificação
das camadas

7
Rede feedforward de uma única camada

o
▪ Os neurônios da camada de
entrada correspondem aos
neurônios sensoriais que
possibilitam a entrada de
sinais na rede (não fazem
processamento).

▪ Os neurônios da camada de
saída fazem processamento.

8
Rede feedforward de Múltiplas Camadas
(Multilayer Perceptron - MLP)
▪ Essas redes tem uma ou mais camadas intermediárias
ou ocultas (escondidas).

9
Redes recorrentes
Essas redes possuem pelo menos uma interconexão
realimentando a saída de neurônios para outros neurônios
da rede (conexão cíclica).

Exemplo: Rede de Hopfield


A rede neural de Hopfield apresenta comportamento dinâmico e
fluxo de dados multidirecional devido à integração total dos
neurônios (realimentação), desaparecendo assim a ideia de
camadas distintas. 10
Rede de Kohonen

11
Topologias das redes neurais

Exemplo: Rede de Hopfield

12
Treinamento de uma ANN: Modelos de
aprendizagem
▪ A propriedade mais importante das redes neurais é a
habilidade de aprender de seu ambiente e com isso
melhorar seu desempenho.

▪ Isso é feito através de um processo iterativo de ajustes


aplicado a seus pesos, o treinamento.

▪ O aprendizado ocorre quando a rede neural atinge uma


solução generalizada para uma classe de problemas.

▪ Denomina-se algoritmo de aprendizado a um conjunto


de regras bem definidas para a solução de um
problema de aprendizado.

13
Treinamento de uma ANN: Modelos de
aprendizagem
Existem muitos tipos de algoritmos de aprendizado específicos
para determinados modelos de redes neurais.

Estes algoritmos diferem entre si principalmente pelo modo


como os pesos são modificados

Os principais modelos (paradigmas) de aprendizagem são:

1) supervisionado;

2) não-supervisionado; e

3) com reforço.
14
Modelo do aprendizado supervisionado
▪ Também conhecida com aprendizagem com professor,
consiste em que o professor tenha o conhecimento do
ambiente, e fornece o conjunto de exemplos de
entrada-resposta desejada.
▪ Com esse conjunto, o treinamento é feito usando a regra de
aprendizagem por correção de erro.

15
Modelo do aprendizado Não supervisionado
▪ Neste caso não há um professor para supervisionar o processo
de aprendizagem. Isso significa que não há exemplos rotulados
da função a ser aprendida pela rede.

▪ Nesse modelo, o treinamento consiste em agrupar (organizar)


populações de dados em classes distintas a partir das
peculiaridades das populações.

▪ Para a realização da aprendizagem não-supervisionada


pode-se utilizar a regra de aprendizagem competitiva.

16
Modelo do aprendizado Não supervisionado

São aspectos marcantes dos classificadores auto


organizáveis (mapas e sistemas) a plasticidade, isto é, a
capacidade que a rede tem de aprender um novo padrão
em qualquer tempo de sua operação e a estabilidade, ou
seja, a habilidade em reconhecer populações já
memorizadas mesmo na presença de ruído.
O treinamento supervisionado (TS) possuem maior
capacidade de generalização do que o treinamento não
supervisionado (TNS), pois o TS proporciona o aprendizado
pelo valor médio das ocorrências.
Contudo, o TS não têm a mesma capacidade de classificar
corretamente eventos raros que o TNS proporciona, pois
eles tendem a apagar da memória eventos já assimilados
quando aprendem novos eventos. 17
Modelo de Aprendizagem por reforço
▪ Pode ser visto como um caso particular de aprendizagem supervisionada.

▪ A principal diferença entre o aprendizado supervisionado e o aprendizado por reforço


é a medida de desempenho usada em cada um deles.

▪ No aprendizado supervisionado, a medida de desempenho é baseada no conjunto


de respostas desejadas usando um critério de erro conhecido, enquanto que no
aprendizado por reforço a única informação fornecida à rede é se uma determinada
saída está correta ou não.

▪ A ideia básica tem origem em estudos experimentais sobre aprendizado dos


animais. Quanto maior a satisfação obtida com uma certa experiência em um
animal, maiores as chances dele aprender.

18
Redes Neurais Artificiais: Efeitos da
Arquitetura da rede
A quantidade de neurônios na camada de entrada e saída é
dada pelo problema a ser abordado.

A quantidade de neurônios nas camadas de processamento são


características do projeto.

Aumentando-se o número de neurônios na camada escondida


aumenta-se a capacidade de mapeamento não-linear da rede.

No entanto, quando esse número for muito grande, o modelo


pode se sobre-ajustar aos dados, na presença de ruído nas
amostras de treinamento. Diz-se que a rede está sujeita ao
sobre-treinamento (overfitting).

19
20
21
Redes Neurais Artificiais: Efeitos da
Arquitetura da rede
Por outro lado, uma rede com poucos neurônios na camada
escondida pode não ser capaz de realizar o mapeamento
desejado, o que é denominado de underfitting.

O underfitting também pode ser causado quando o treinamento


é interrompido de forma prematura.

22
23
Inicialização dos vetores de pesos e bias

A eficiência do aprendizado em redes multicamadas depende


da:

especificação de arquitetura da rede,


📫 função de ativação,
📫 regra de aprendizagem e
📫 valores iniciais dos vetores de pesos e bias.

Considerando-se que os três primeiros itens já foram


definidos, verifica-se agora a inicialização dos vetores de
pesos e bias.

24
Inicialização aleatória dos pesos
A atualização de um peso entre duas unidades depende da derivada da função de
ativação da unidade posterior e função de ativação da unidade anterior.

Por esta razão, é importante evitar escolhas de pesos iniciais que tornem as funções de
ativação ou suas derivadas iguais a zero.

Os valores para os pesos iniciais não devem ser


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

Um procedimento comum é inicializar os pesos e bias a valores randômicos entre


-0.5 e 0.5, ou entre -1 e 1. Os valores podem ser positivos ou negativos porque os
pesos finais após o treinamento também podem ser positivos ou negativos

25
Treinamento da MLP

▪ Algoritmo de aprendizagem – backpropagation

– Regra de aprendizagem baseada na correção do


erro pelo método do Gradiente

– O algoritmo de aprendizagem é composto de duas


fases:
– Cálculo do erro (forward)
– Correção dos pesos sinápticos (backward)

26
Algoritmo de Retropropagação
(Backpropagation)
● Erro no j-ésimo neurônio da camada de saída no instante t.

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

● Ajuste dos pesos:

Para camada de saída: Para camada oculta:

27
Algoritmo de Retropropagação
(Backpropagation)C
Durante o treinamento com o algoritmo backpropagation, a
rede opera em uma sequência de dois passos:

• Primeiro, um padrão é apresentado à camada de entrada


da rede. A atividade resultante flui através da rede,
camada por camada, até que a resposta seja produzida
pela camada de saída.

• Segundo passo, a saída obtida é comparada à saída


desejada para esse padrão particular. Se esta não estiver
correta, o erro é calculado. O erro é propagado a partir da
camada de saída até a camada de entrada, e os pesos
das conexões das unidades das camadas internas vão
sendo modificados conforme o erro é retropropagado.
28
Algoritmo de backpropagation
Procedure [W] = backprop (max_it, min_err, α, X, R)
for m from 1 to M do
inicializa Wm e bm // valores pequenos escolhidos aleatoriamente
end // for
t🡨1
while t < max_it & MSE > min_err do
for i = 1 to N do // para cada padrão de treinamento
0
y 🡨 xi // propagação progressiva do sinal

// retro-propagação das sensibilidades

// atualização dos pesos

// cálculo do erro para o padrão i

end // for
MSE 🡨 1/N. sum(Ti)
t 🡨 t+1
end // while 29
end // procedure
Algoritmo Backpropagation
▪ Treinamento é feito em duas fases:

Fase forward

Fase backward 30
Entrada é apresentada à primeira
Fase forward camada da rede e propagado em
direção às saídas.
Camadas intermediárias
Camada de Camada de
entrada saída

31
Os neurônios da camada i calculam
Fase forward seus sinais de saída e propagam
à camada i + 1
Camadas intermediárias
Camada de Camada de
entrada saída

32
A última camada oculta calcula
Fase forward seus sinais de saída e os envia
à camada de saída
Camadas intermediárias
Camada de Camada de
entrada saída

33
A camada de saída calcula
Fase forward os valores de saída da rede.

Camadas intermediárias
Camada de Camada de
entrada saída

34
Fase backward
Camadas intermediárias
Camada de Camada de
entrada saída

35
A camada de saída
Fase backward calcula o erro da rede: δj

Camadas intermediárias
Camada de Camada de
entrada saída

Erro
(δj) 36
Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Δwji = αδjxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj) 37
Envia o erro para a
Fase backward última camada oculta

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj)
38
A camada oculta calcula o seu erro
Fase backward δj = f’(uj). ∑ δkwlk

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj) Erro (δk) 39


Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Δwij = αδjxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj) 40
A camada oculta calcula o seu erro
Fase backward δj = f’(uj).∑ δkwlk

Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj) Erro (δk) 41


Calcula o termo de correção dos pesos

Fase backward (a atualização será feita depois)


Δwij = αδjxi
Camadas intermediárias
Camada de Camada de
entrada saída

Erro (δj) 42
Cada unidade atualiza seus pesos

Fase backward wij(novo) = wij(velho) + Δwjk

Camadas intermediárias
Camada de Camada de
entrada saída

43
Repete-se o processo enquanto

Backpropagation enquanto a rede não aprender


o padrão de entrada
Camadas intermediárias
Camada de Camada de
entrada saída

44
▪ Desvantagens do algoritmo de aprendizagem
backpropagation:
– Normalmente o tempo de processamento é
elevado
– A arquitetura da rede deve ser fixada a priori

45
Aspectos do treinamento de redes MLP
O aprendizado é resultado de apresentação repetitiva de
todas as amostras do conjunto de treinamento.

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


denominada época.

O processo de aprendizagem é repetido época após


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

É recomendável que a ordem de apresentação das


amostras seja aleatória de uma época para outra. Isso
tende a fazer com que o ajuste de pesos tenha um
caráter estocástico ao longo do treinamento.

46
Atualização local ou por lote

Atualização dos pesos pode ser de duas maneiras básicas: local e


por lote.
Local: a atualização é feita imediatamente após a apresentação de
cada amostra de treinamento.
- é também chamado de método de atualização on-line ou padrão a
padrão.
📫 requer um menor armazenamento para cada conexão, e apresenta
menos possibilidade de convergência para um mínimo local.

Lote: a atualização dos pesos só é feita após a apresentação de todas


as amostras de treinamento que constituem uma época.
- é também conhecido como método de atualização off-line ou batch.
- o ajuste relativo a cada apresentação de uma amostra é acumulado.
- fornece uma melhor estimativa do vetor gradiente.

47

Você também pode gostar