Neural Network Learning Rules – Perceptron & Hebbian Learning

Este Tutorial em profundidade sobre Neural Network Learning Rules Explica o Aprendizado Hebbian e o Algoritmo de Aprendizado Perceptron com Exemplos:

Em nosso tutorial anterior discutimos sobre Artificial Neural Network que é uma arquitetura de um grande número de elementos interconectados chamados neurônios.

Esses neurônios processam a entrada recebida para dar a saída desejada. Os nós ou neurônios são ligados por inputs, pesos de conexão e funções de ativação.

A principal característica de uma rede neural é sua capacidade de aprender. As redes neurais se treinam com exemplos conhecidos. Uma vez que a rede é treinada, ela pode ser usada para resolver os valores desconhecidos do problema.

=> Leia Através da Série Completa de Treinamento de Aprendizagem da Máquina

A Rede Neural aprende através de vários esquemas de aprendizagem que são categorizados como aprendizagem supervisionada ou não supervisionada.

Nos algoritmos de aprendizagem supervisionada, os valores alvo são conhecidos pela rede. Ele tenta reduzir o erro entre o output desejado (alvo) e o output real para um ótimo desempenho. Em algoritmos de aprendizagem não supervisionada, os valores alvo são desconhecidos e a rede aprende por si mesma identificando os padrões ocultos na entrada, formando clusters, etc.

Uma ANN consiste em 3 partes, ou seja, entrada, camada oculta e camada de saída. Há uma única camada de entrada e saída, enquanto pode não haver nenhuma camada oculta ou 1 ou mais camadas ocultas que podem estar presentes na rede. Com base nesta estrutura, a ANN é classificada em uma única camada, multicamadas, feed-forward ou redes recorrentes.

Terminologia Importante da ANN

Antes de classificarmos as várias regras de aprendizagem na ANN, vamos entender algumas terminologias importantes relacionadas à ANN.

#1) Pesos: Em um ANN, cada neurônio é conectado aos outros neurônios através de links de conexão. Estes links carregam um peso. O peso tem informações sobre o sinal de entrada para o neurônio. Os pesos e o sinal de entrada são usados para obter uma saída. Os pesos podem ser indicados em uma forma matricial que também é chamada de matriz de conexão.

Cada neurônio é conectado a todos os outros neurônios da próxima camada através de pesos de conexão. Assim, se houver “n” nós e cada nó tiver pesos “m”, então a matriz de peso será:

W1 representa o vetor de peso a partir do nó 1. W11 representa o vetor de peso desde o 1º nó da camada anterior até o 1º nó da camada seguinte. Similarmente, wij representa o vetor de peso do elemento de processamento “ith” (neurônio) para o elemento de processamento “jth” da camada seguinte.

#2) Viés: O viés é adicionado à rede adicionando um elemento de entrada x (b) = 1 no vetor de entrada. O viés também carrega um peso indicado por w (b).

O viés tem um papel importante no cálculo da saída do neurônio. O viés pode ser positivo ou negativo. Um viés positivo aumenta o peso da entrada líquida, enquanto o viés negativo reduz a entrada líquida.

#3) Limiar: Um valor limiar é usado na função de ativação. A entrada líquida é comparada com o limiar para obter a saída. Em NN, a função de ativação é definida com base no valor limiar e a saída é calculada.

> O valor limiar é:

#4) Taxa de aprendizagem: É denotada por alfa ?. A taxa de aprendizagem varia de 0 a 1. É utilizada para ajuste de peso durante o processo de aprendizagem de NN.

#5) Factor Momentum: É adicionado para uma convergência mais rápida dos resultados. O factor de momento é adicionado ao peso e é geralmente utilizado em redes de retropropagação.

Comparação das Regras de Aprendizagem em Redes Neurais

Métodos de Aprendizagem -> Descida de Grau Hebbian Competitivo Stochastic
Tipo de Arquitectura
||
Alimentação de Camada Única ADALINA
Hopfield
Perceptron
Associativo
Memória
Hopfield
Linear Vector
Quantificação
Avanço de alimentação de várias camadas Cascade
Correlação
Avanço de alimentação de várias camadas
Avanço
Vias radiais
Função
Neocognitron
Recorrente Neural Recorrente
Rede
Auto bidireccional
Associativo
Memória
Cérebro- State- In-a- Box
Hopfield
Adaptativo
Teoria da Ressonância
Boltzmann
Máquina
Cauchy
Máquina

A classificação de vários tipos de aprendizagem de ANN é mostrada abaixo.

Classificação de Algoritmos de Aprendizagem Supervisionada

  1. Descida Gradiente
  2. Stochastic

#1) Aprendizagem Gradiente Descendente

Neste tipo de aprendizagem, a redução de erros ocorre com a ajuda de pesos e a função de activação da rede. A função de ativação deve ser diferenciável.

O ajuste dos pesos depende do gradiente de erro E nesta aprendizagem. A regra de retropropagação é um exemplo deste tipo de aprendizagem. Assim o ajuste de pesos é definido como

#2) Aprendizagem estocástica

Nesta aprendizagem, os pesos são ajustados de uma forma probabilística.

Classificação de Algoritmos de Aprendizagem Sem Supervisão

  1. Hebbian
  2. Competitivo

#1) Aprendizagem Hebbian

Esta aprendizagem foi proposta por Hebb em 1949. Ele é baseado no ajuste correlativo de pesos. Os pares de padrões de entrada e saída estão associados a uma matriz de pesos, W.

A transposição da saída é tomada para o ajuste de pesos.

#2) Aprendizagem Competitiva

É um vencedor toma toda a estratégia. Neste tipo de aprendizado, quando um padrão de entrada é enviado para a rede, todos os neurônios da camada competem e apenas os neurônios vencedores têm ajustes de peso.

Mc Culloch-Pitts Neuron

Tão conhecido como M-P Neuron, esta é a mais antiga rede neural que foi descoberta em 1943. Neste modelo, os neurônios são conectados por pesos de conexão, e a função de ativação é usada em binário. O limiar é usado para determinar se o neurônio irá disparar ou não.

A função do neurônio M-P é:

Algoritmo de Aprendizado Hebbiano

Rede Hebb foi declarada por Donald Hebb em 1949. De acordo com a regra de Hebb, os pesos aumentam proporcionalmente ao produto de entrada e saída. Isso significa que em uma rede Hebb se dois neurônios estiverem interconectados, então os pesos associados a esses neurônios podem ser aumentados por mudanças no gap sináptico.

Esta rede é adequada para dados bipolares. A regra de aprendizagem Hebbian é geralmente aplicada a portas lógicas.

Os pesos são atualizados como:

W (novo) = w (antigo) + x*y

Algoritmo de treinamento para a regra de aprendizagem Hebbian

Os passos de treinamento do algoritmo são os seguintes:

  • Inicialmente, os pesos são ajustados para zero, i.e. w =0 para todas as entradas i =1 a n e n é o número total de neurónios de entrada.
  • Deixe s ser a saída. A função de ativação para entradas é geralmente definida como uma função de identidade.
  • A função de ativação para saída também é definida como y= t.
  • Os ajustes de peso e viés são ajustados para:
  • Os passos 2 a 4 são repetidos para cada vetor de entrada e saída.

Exemplo da Regra de Aprendizagem Hebbian

Deixe-nos implementar a função lógica AND com entradas bipolares usando a Aprendizagem Hebbian

X1 e X2 são entradas, b é o viés tomado como 1, o valor alvo é a saída da operação lógica AND sobre as entradas.

Input Input Bias Target
X1 X2 b y
1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1

#1) Inicialmente, os pesos são fixados em zero e o viés também é fixado como zero.

W1=w2=b=0

#2) O primeiro vector de entrada é tomado como = e o valor alvo é 1.

Os novos pesos serão:

#3) Os pesos acima são os novos pesos finais. Quando o segundo input é passado, estes tornam-se os pesos iniciais.

#4) Pegue o segundo input = . O alvo é -1.

#5) Da mesma forma, os outros inputs e pesos são calculados.

A tabela abaixo mostra todos os inputs:

Hebb Net for AND Function

Perceptron Learning Algorithm

Perceptron Networks are single-layer feed-forward networks. Estas também são chamadas de Redes Perceptron de camada única. O Perceptron consiste de uma camada de entrada, uma camada oculta e uma camada de saída.

A camada de entrada é ligada à camada oculta através de pesos que podem ser inibidores ou excitórios ou zero (-1, +1 ou 0). A função de ativação usada é uma função de passo binário para a camada de entrada e a camada oculta.

A saída é

Y= f (y)

A função de ativação é:

A updation do peso ocorre entre a camada oculta e a camada de saída para combinar com a saída alvo. O erro é calculado com base no output real e no output desejado.

Se o output corresponder ao alvo, não ocorrerá aumento de peso. Os pesos são inicialmente definidos para 0 ou 1 e ajustados sucessivamente até encontrar uma solução ótima.

Os pesos na rede podem ser definidos inicialmente para qualquer valor. A aprendizagem do Perceptron irá convergir para o vector de peso que dá a saída correcta para todos os padrões de treino de entrada e esta aprendizagem acontece num número finito de passos.

A regra Perceptron pode ser usada tanto para entradas binárias como bipolares.

Regra de aprendizagem para Perceptron de saída única

#1) Que haja “n” vectores de entrada de treino e x (n) e t (n) estão associados aos valores alvo.

#2) Inicializar os pesos e o viés. Ajuste-os para zero para facilitar o cálculo.

#3) Deixe a taxa de aprendizagem ser 1.

#4) A camada de entrada tem a função de activação de identidade de modo a x (i)= s ( i).

#5) Para calcular a saída da rede:

#6) A função de activação é aplicada sobre a entrada da rede para obter uma saída.

#7) Agora baseado no output, compare o valor alvo desejado (t) e o output real.

#8) Continue a iteração até que não haja mudança de peso. Pare quando esta condição for alcançada.

Regra de aprendizado para Perceptron de Saída Múltipla

#1) Deixe haver “n” vetores de entrada de treinamento e x (n) e t (n) estão associados aos valores alvo.

#2) Inicialize os pesos e o viés. Ajuste-os para zero para facilitar o cálculo.

#3) Deixe a taxa de aprendizagem ser 1.

#4) A camada de entrada tem a função de activação de identidade de modo que x (i)= s ( i).

#5) Para calcular a saída de cada vector de saída de j= 1 a m, a entrada líquida é:

#6) A função de activação é aplicada sobre a entrada líquida para obter uma saída.

#7) Agora baseado no output, compare o valor alvo desejado (t) e o output real e faça ajustes de peso.

w é o vector de peso das ligações de ligação entre o neurónio de entrada e o neurónio de saída j e t é o output alvo para a unidade de saída j.

#8) Continue a iteração até que não haja alteração de peso. Pare quando esta condição for alcançada.

Exemplo da Regra de Aprendizagem Perceptron

Implementação da função AND usando uma rede Perceptron para entradas e saídas bipolares.

O padrão de entrada será x1, x2 e bias b. Deixe os pesos iniciais serem 0 e a bias ser 0. O limiar é definido para zero e a taxa de aprendizagem é 1.

E Portão

X1 X2 Target
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1

#1) X1=1 , X2= 1 e saída alvo = 1
W1=w2=wb=0 e x1=x2=b=1, t=1
Entrada líquida= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0

As limiar é zero portanto:

Daqui obtemos, saída = 0. Agora verifique se a saída (y) = target (t).

y = 0 mas t= 1 o que significa que estes não são iguais, portanto a elevação do peso ocorre.

Os novos pesos são 1, 1, e 1 depois que o primeiro vetor de entrada é apresentado.

#2) X1= 1 X2= -1 , b= 1 e alvo = -1, W1=1 ,W2=2, Wb=1
Entrada líquida= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
A saída líquida para entrada= 1 será 1 de:

Então, novamente, alvo = -1 não coincide com a saída real =1. Atualizações de peso ocorrem.

Agora novos pesos são w1 = 0 w2 =2 e wb =0

Simplesmente, continuando com o próximo conjunto de entradas, obtemos a seguinte tabela:

Os EPOCHS são o ciclo de padrões de entrada alimentados ao sistema até que não haja nenhuma mudança de peso necessária e a iteração pare.

Algoritmo de Aprendizagem de Hoff Hoff de Amplitude

Tão conhecido como Regra Delta, segue a regra de descida de gradiente para regressão linear.

Actualiza os pesos de conexão com a diferença entre o alvo e o valor de saída. É o algoritmo de aprendizado quadrado menos médio enquadrado na categoria do algoritmo de aprendizado supervisionado.

Esta regra é seguida por ADALINE (Adaptive Linear Neural Networks) e MADALINE. Ao contrário do Perceptron, as iterações das redes Adaline não param, mas convergem reduzindo o menor erro quadrático médio. MADALINE é uma rede de mais de uma ADALINE.

O motivo da regra de aprendizagem do delta é minimizar o erro entre o vetor de saída e o vetor alvo.

Os pesos nas redes ADALINE são atualizados por:

Menos erro quadrático médio = (t- yin)2, ADALINE converge quando o erro quadrático menos médio é alcançado.

Conclusão

Neste tutorial, discutimos os dois algoritmos, ou seja, Regra de Aprendizagem Hebbian e Regra de Aprendizagem Perceptron. A regra Hebbian é baseada na regra de que o vector de peso aumenta proporcionalmente à entrada e ao sinal de aprendizagem, ou seja, à saída. Os pesos são incrementados adicionando o produto da entrada e saída ao peso antigo.

W (novo) = w (antigo) +x*y

A aplicação das regras Hebb reside na associação de padrões, classificação e problemas de categorização.

A regra de aprendizagem Perceptron pode ser aplicada tanto à rede de saída única como à rede de múltiplas classes de saída. O objetivo da rede Perceptron é classificar o padrão de entrada em uma determinada classe de membros. Os neurónios de entrada e o neurónio de saída são ligados através de links com pesos.

Os pesos são ajustados para corresponder a saída real com o valor alvo. A taxa de aprendizagem é definida de 0 a 1 e determina a escalabilidade dos pesos.

Os pesos são actualizados de acordo com:

Uma parte destas regras de aprendizagem, os algoritmos de aprendizagem da máquina aprendem através de muitos outros métodos, ou seja, Supervisionado, Sem supervisão, Reforço. Alguns dos outros algoritmos comuns de ML são Propagação Costal, ART, Kohonen Self Organizing Maps, etc.

Esperamos que tenha gostado de todos os tutoriais desta série de aprendizagem de máquinas!!

=> Visite Aqui Para A Série Exclusiva de Aprendizagem de Máquinas

Deixe uma resposta

O seu endereço de email não será publicado.