Você está na página 1de 14

Redes

experimental.

Neurais

Artificiais

têm

capacidade

de

adquirir,

armazenar

e

utilizar

conhecimento

A rede aprende por experiência, não necessitando explicitar os algoritmos para executar uma determinada tarefa. Redes Neurais são capazes de generalizar o seu conhecimento a partir de exemplos anteriores. Habilidade de lidar com ruídos e distorções, respondendo corretamente a novos padrões.

Modelo de McCulloch & Pitts:

o

A atividade de um neurônio é um processo tudo ou nada.

o

Um certo número fixo (>1) de entradas devem ser excitadas dentro de um período de adição latente para excitar um neurônio.

o

Único atraso significativo é o atraso sináptico.

o

A atividade de qualquer sinapse inibitória previne absolutamente a excitação do neurônio.

o

A estrutura das interconexões não muda com o tempo.

o

Tem-se o neurônio com n terminais de entrada x1, x2,

xn (dendritos) e apenas um terminal de

saída y (axônio).

o

O comportamento das sinapses é emulado através de pesos w1, w2, dos neurônios, cujo valor pode ser excitatório ou inibitório.

,

wn acoplados as entradas

o

O efeito de uma sinapse i no neurônio pós-sináptico é dado por xi.wi.

sinapse i no neurônio pós-sináptico é dado por xi.wi. • As entradas podem ser as saídas

As entradas podem ser as saídas de outros neurônios, entradas extrenas, um bias ou qualquer combinação destes elementos.

Bias (Tendência) é um erro sistemático diferentemente de erro aleatório. Um ou mais componentes do erro sistemático podem contribuir para a tendência. Uma grande diferença sistemática em relação ao valor de referência aceito reflete-se em um grande valor de tendência.

O somatório de todas estas entradas, multiplicadas por suas respectivas forças de conexão sináptica (os pesos), dá origem ao chamado "net" de um neurônio.

pesos), dá origem ao chamado "net" de um neurônio. Wij é um número real que representa

Wij é um número real que representa a conexão sináptica da entrada do j-ésimo neurônio. A conexão sináptica é conhecida como excitatória se wij>0 ou inibitória caso wij<0. Após a determinação do net, o valor da ativação do neurônio é atualizado através da função de ativação fa e finalmente, o valor de saída do neurônio é produzido através da função de saída fs. Função de Ativação (fa):

x(t+1) = fa (x(t), net(t))

Os estados futuros de um neurônio são afetados pelo estado atual do neurônio e pelo valor do net de entrada. Este tipo de neurônio, que possui "memória" é conhecido como neurônio dinâmico.

Por outro lado, se considerarmos a função como constante, teremos neurônios que não possuem "memória", ou seja, o estado atual é igual aos estados anteriores e, portanto o neurônio é considerado como "neurônio estático".

Função de Saída (fs):

Essencialmente, qualquer função contínua e monotômica crescente, tal que x E R e y(x) E [-1,1], pode ser utilizada como função de saída na modelagem neural.

Existem uma série de funções mais comumente utilizadas como funções de saída em neurônios. Estas funções são:

o

A Função Linear y(x) = ax

o

A Função Sigmoidal ou Logística y(x) = 1 / (1 + e -kx )

o

A Função Tangente Hiperbólica y(x) = tanh(kx) = (1 - e -kx ) / (1 + e -kx )

Modelo de McCulloch e Pitts: neste modelo, os pesos sinápticos eram fixos e a saída obtida pela aplicação de uma função de limiar.

saída obtida pela aplicação de uma função de limiar . Conjunto de sinapses (W): Ligações entre

Conjunto de sinapses (W): Ligações entre neurônios. Cada ligação possui um valor (peso), que representa a sua força: os estímulos de entrada são multiplicados pelos respectivos pesos de cada ligação, podendo gerar um sinal tanto positivo (excitatório) quanto negativo (inibitório).

tanto positivo (excitatório) quanto negativo (inibitório). Combinador Linear ( ): Executa o somatório dos sinais

Combinador Linear ( ): Executa o somatório dos sinais produzidos pelo produto entre os pesos sinápticos e as entradas fornecidas ao neurônio. Em outras palavras, é o integrador dos sinais que chegam ao neurônio.

A saída do neurônio é definida pelo seu valor de ativação:

do neurônio é definida pelo seu valor de ativação: Sj: estado de ativação Função de ativação:

Sj: estado de ativação Função de ativação: determina o novo valor do estado de ativação do processador sj= F(net j) ou yi = f(u i)

de ativação do processador sj= F(net j) ou yi = f(u i) • Input: recebe os

Input: recebe os dados de entrada

Output: recebe os dados de saída

Hidden: as suas entradas e saídas permanecem dentro do sistema

Função Sigmóide: Esta função, ao contrário da função limiar, pode assumir todos os valores entre 0 e 1. A representação mais utilizada para esta função é a função logística, definida por:

para esta função é a função logística, definida por: Onde a é o parâmetro de inclinação

Onde a é o parâmetro de inclinação da função sigmóide e v é o valor de ativação do neurônio.

sigmóide e v é o valor de ativação do neurônio. • Redes Feed -Forward : cada
sigmóide e v é o valor de ativação do neurônio. • Redes Feed -Forward : cada
sigmóide e v é o valor de ativação do neurônio. • Redes Feed -Forward : cada

Redes Feed-Forward: cada camada se conecta à próxima camada, porém não há caminho de volta. Todas as conexões, portanto, têm a mesma direção, partindo da camada de entrada rumo a camada de saída.

Redes Recorrentes: redes com conexões entre processadores da mesma camada e/ou das camadas anteriores (realimentação). Apresentam ciclos nas suas conexões, isto é, a saída de neurônios de uma camada i são entradas de neurônios de uma camida i-j, com j>=0

são entradas de neurônios de uma camida i-j, com j>=0 • Memórias associativas são redes nas

Memórias associativas são redes nas quais os pesos são determinados de forma que a rede possa armazenar um conjunto de associações de padrões P. A rede pode ser usada para determinar se um vetor de entrada é “conhecido” (isto é, está armazenado na rede) ou “desconhecido”. Recupera um padrão armazenado como resposta a apresentação de uma versão incompleta ou ruidosa deste padrão.

Learning: processo de atualização dos pesos sinápticos para a aquisição do conhecimento/informação.

Recall: processo de cálculo da saída da rede, dado um certo padrão de entrada. Recuperação de informação.

Aprendizado: processo pelo qual os parâmetros livres, pesos sinápticos, de uma rede neural são adaptados através de um processo contínuo de estimulação pelo ambiente.

o

Treinamento supervisionado: a rede é treinada através do fornecimento dos valores de entrada e de seus respectivos valores desejados de saída (training pair). É geralmente efetuado através do processo de minimização do erro calculado na saída.

o

Treinamento não-supervisionado: não requer o valor desejado de saída da rede. O sistema extrai as características do conjunto de padrões, agrupando-os em classes inerentes aos dados. Usado para classificação dos padrões de entrada.

o

Reinforcement learning: existe uma realimentação (sinal de reforço) que avalia a resposta como boa ou ruim. O objetivo é maximizar a quantidade de reforço positivo. O sistema de aprendizado aprende a realizar uma certa tarefa somente com base nos resultados de sua experiência com uma interação com o ambiente.

Perceptron aprende conceitos, ele pode aprender a responder com verdadeiro (1) ou falso (0) pelas entradas estudando repetidamente os exemplos apresentados. O perceptron é uma rede neural cujos pesos e inclinações podem ser treinados para produzir um vetor alvo que deve corresponder ao vetor de entrada. Se a saída da rede estiver correta, nenhuma mudança é feita. Uma passagem inteira de treinamento de entrada de um vetor é chamada época. As redes perceptron têm duas limitações: os valores de saída do perceptron podem assumir somente dois valores (Verdadeiro ou Falso); e perceptrons somente podem classificar grupos de vetores linearmente separados.

dois valores (Verdadeiro ou Falso); e perceptrons somente podem classificar grupos de vetores linearmente separados.
• Conclusão : mudando-se os valores de w1, w2 e θ , muda-se a inclinação
• Conclusão : mudando-se os valores de w1, w2 e θ , muda-se a inclinação
• Conclusão : mudando-se os valores de w1, w2 e θ , muda-se a inclinação

Conclusão: mudando-se os valores de w1, w2 e θ , muda-se a inclinação e a posição da reta. Entretanto,

é

impossível achar uma reta que divida o plano de forma a separar os pontos A1 e A2 de um lado e A0

e

A3 de outro. Redes de uma única camada só representam funções linearmente separáveis!

e A2 de um lado e A0 e A3 de outro. Redes de uma única camada
• Multi-Layer Perceptrons : Minsky & Papert provaram que este problema pode ser solucionado adicionando-se

Multi-Layer Perceptrons: Minsky & Papert provaram que este problema pode ser solucionado adicionando-se uma outra camada intermediária de processadores.

Net1 = x1.w11 + x2.w12 + θ 1 = 0 x1 + x2 - 1,5 = 0 x2 = - x1 + 1,5

Net2 = x1.w21 + x2.w22 + θ 2 = 0 x1 + x2 - 0,5 = 0 x2 = - x1 + 0,5

+ x2.w22 + θ 2 = 0 x1 + x2 - 0,5 = 0 x2 =

Redes Neurais de múltiplas camadas só oferecem vantagens sobre as de uma única camada se existir uma função de ativação não-linear entre as camadas!

só oferecem vantagens sobre as de uma única camada se existir uma função de ativação não-linear
• Back Propagation : atualização dos pesos das camadas intermediárias. Os erros dos elementos processadores

Back Propagation: atualização dos pesos das camadas intermediárias. Os erros dos elementos processadores da camada de saída (conhecidos pelo treinamento supervisionado) são retro-propagados para as camadas intermediárias.

são retro-propagados para as camadas intermediárias. • Deve-se minimizar o erro de todos os processadores da
são retro-propagados para as camadas intermediárias. • Deve-se minimizar o erro de todos os processadores da

Deve-se minimizar o erro de todos os processadores da camada de saída, para todos os padrões

Usa-se o ESSE à Sum of Squared Errors

erro de todos os processadores da camada de saída, para todos os padrões • Usa -se
Após o cálculo da derivada, tem- se: ∆ wji = η .si.ej Onde: si à
Após o cálculo da derivada, tem- se: ∆ wji = η .si.ej Onde: si à
Após o cálculo da derivada, tem- se: ∆ wji = η .si.ej Onde: si à

Após o cálculo da derivada, tem-se:

wji = η.si.ej

Onde:

si à valor de entrada recebido pela conexão i ej à valor calculado do erro do processador j

• O algoritmo Back Propagation tem portanto duas fases, para cada padrão apresentado: o Feed
• O algoritmo Back Propagation tem portanto duas fases, para cada padrão apresentado: o Feed

O algoritmo Back Propagation tem portanto duas fases, para cada padrão apresentado:

o

Feed-Forward: as entradas se propagam pela rede, da camada de entrada até a camada de saída.

o

Feed-Backward: os erros se propagam na direção contrária ao fluxo de dados, indo da camada de saída até a primeira camada escondida.

os erros se propagam na direção contrária ao fluxo de dados, indo da camada de saída
Este procedimento de aprendizado é repetido diversas vezes, até que, para todos os processadores da

Este procedimento de aprendizado é repetido diversas vezes, até que, para todos os processadores da camada de saída e para todos os padrões de treinamento, o erro seja menor do que o especificado.

de treinamento, o erro seja menor do que o especificado. A Multi-Layer Perceptron é um Aproximador

A Multi-Layer Perceptron é um Aproximador Universal, isto é, pode representar qualquer função. O BP é o algoritmo de Redes Neurais mais utilizado em aplicações práticas de previsão, classificação e reconhecimento de padrões em geral.

Neurais mais utilizado em aplicações práticas de previsão, classificação e reconhecimento de padrões em geral.
Neurais mais utilizado em aplicações práticas de previsão, classificação e reconhecimento de padrões em geral.
• Convergência : É a capacidade da Rede Neural de aprender todos os padrões do

Convergência: É a capacidade da Rede Neural de aprender todos os padrões do conjunto de treinamento. Se a rede neural for pequena, não será capaz de armazenar todos os padrões necessários, isto é, a rede não deve ser rígida a ponto de não modelar fielmente os dados.

deve ser rígida a ponto de não modelar fielmente os dados. • Problemas do Back Propagation

Problemas do Back Propagation: tamanho da rede, paralisia da rede e o fato de ficar preso em um mínimo local. o Tamanho da Rede Neural: define o número de camadas escondidas e o número de processadores em cada uma dessas camadas. Compromisso entre convergência e generalização. Também conhecido como “bias and variance dilemma”.

Generalização: Responder corretamente a padrões nunca vistos, ou seja, fora do conjunto de treinamento. Interpola corretamente a um padrão de entrada novo. Se a rede for muito grande (muitos parâmetros = pesos), não responderá corretamente aos padrões nunca vistos, isto é, a rede não deve ser excessivamente flexível a ponto de modelar também o ruído.

aos padrões nunca vistos, isto é, a rede não deve ser excessivamente flexível a ponto de
Métricas de Generalização: N out : n° de PEs na camada de saída Resumo sobre

Métricas de Generalização:

Métricas de Generalização: N out : n° de PEs na camada de saída Resumo sobre número
Métricas de Generalização: N out : n° de PEs na camada de saída Resumo sobre número
Métricas de Generalização: N out : n° de PEs na camada de saída Resumo sobre número
Métricas de Generalização: N out : n° de PEs na camada de saída Resumo sobre número

Nout: n° de PEs na camada de saída

Resumo sobre número de Processadores Escondidos:

§ Nunca escolha h > 2i

§ Assegure-se que se tem pelo menos 1/ε vezes mais padrões do que w

§ Desejável: número de padrões 10 x número de pesos

o Problema de Paralisia:

vezes mais padrões do que w § Desejável: número de padrões ≈ 10 x número de

Como evitar paralisia da Rede?

§ Deve-se escolher valores de pesos e bias uniformemente distribuídos dentro de um intervalo pequeno

§ Os neurônios devem, inicialmente, operar na sua região linear

§ O número de processadores na(s) camada(s) escondida(s) deve ser pequeno

o Problema do Mínimo Local:

escondida(s) deve ser pequeno o Problema do Mínimo Local : Ao chegar ao vale, qualquer mudança
escondida(s) deve ser pequeno o Problema do Mínimo Local : Ao chegar ao vale, qualquer mudança

Ao chegar ao vale, qualquer mudança faz o erro aumentar, logo, não consegue sair do vale.

Com η pequeno e dependendo da inicialização dos pesos (feita de forma aleatória) não é possível calcular um w que faça a Rede Neural sair do Mínimo Local. A Rede Neural não consegue aprender com a precisão especificada (Erro Mínimo)!

a Rede Neural sair do Mínimo Local. A Rede Neural não consegue aprender com a precisão

Conclusão: quando η é grande, a Rede Neural pode não conseguir chegar ao Mínimo Global, pois os valores de w são grandes. A Rede Neural também não consegue aprender com a precisão especificada (fica oscilando em torno do mínimo global)!

Soluções:

§ Utilizar taxa de aprendizado ( η) adaptativa

§ Utilizar o termo de Momento ( α)

mínimo global)! Soluções: § Utilizar taxa de aprendizado ( η ) adaptativa § Utilizar o termo
mínimo global)! Soluções: § Utilizar taxa de aprendizado ( η ) adaptativa § Utilizar o termo
mínimo global)! Soluções: § Utilizar taxa de aprendizado ( η ) adaptativa § Utilizar o termo
mínimo global)! Soluções: § Utilizar taxa de aprendizado ( η ) adaptativa § Utilizar o termo