neural network learning rules perceptron hebbian learning
Este tutorial aprofundado sobre regras de aprendizado de rede neural explica o algoritmo de aprendizado Hebbian e o algoritmo de aprendizado Perceptron com exemplos:
Em nosso tutorial anterior, discutimos sobre Rede neural artificial 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 entradas, 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 a série completa de treinamento em aprendizado de máquina
A Rede Neural aprende por meio de vários esquemas de aprendizagem que são categorizados como aprendizagem supervisionada ou não supervisionada.
Em algoritmos de aprendizagem supervisionada, os valores alvo são conhecidos pela rede. Ele tenta reduzir o erro entre a saída desejada (destino) e a saída real para um desempenho ideal. Em algoritmos de aprendizagem não supervisionados, 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, camada de entrada, camada oculta e camada de saída. Há uma única camada de entrada e camada de saída, embora possa não haver nenhuma camada oculta ou 1 ou mais camadas ocultas que podem estar presentes na rede. Com base nesta estrutura, a RNA é classificada em uma única camada, multicamadas, feed-forward ou redes recorrentes.
O que você aprenderá:
- Terminologia de ANN importante
- Comparação de regras de aprendizagem de rede neural
- Conclusão
Terminologia de ANN importante
Antes de classificarmos as várias regras de aprendizagem em RNA, vamos entender algumas terminologias importantes relacionadas a RNA.
# 1) Pesos: Em uma RNA, cada neurônio está conectado a outros neurônios por meio de links de conexão. Esses links têm um peso. O peso contém 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 denotados em uma forma de matriz que também é chamada de matriz de conexão.
Cada neurônio está conectado a todos os outros neurônios da próxima camada por meio de pesos de conexão. Portanto, se houver “n” nós e cada nó tiver “m” pesos, então a matriz de peso será:
W1 representa o vetor de peso começando no nó 1. W11 representa o vetor de peso de 1stnó da camada anterior para o 1stnó da próxima camada. Da mesma forma, wij representa o vetor de peso do elemento de processamento “i” (neurônio) para o elemento de processamento “i” da próxima camada.
# 2) Polarização : O bias é adicionado à rede adicionando um elemento de entrada x (b) = 1 ao vetor de entrada. A tendência também carrega um peso denotado por w (b).
O viés desempenha um papel importante no cálculo da saída do neurônio. A tendência pode ser positiva ou negativa. Uma tendência positiva aumenta o peso líquido da entrada, enquanto a polarização negativa reduz a entrada líquida.
# 3) Limiar: Um valor limite é usado na função de ativação. A entrada líquida é comparada com o limite para obter a saída. Em NN, a função de ativação é definida com base no valor do limite e a saída é calculada.
O valor limite é:
# 4) Taxa de aprendizagem : É denotado por alfa?. A taxa de aprendizagem varia de 0 a 1. É usada para ajuste de peso durante o processo de aprendizagem do NN.
# 5) Fator de Momento : É adicionado para uma convergência mais rápida dos resultados. O fator de momentum é adicionado ao peso e geralmente é usado em redes de retropropagação.
Comparação de regras de aprendizagem de rede neural
Métodos de aprendizagem -> | Gradiente descendente | Hebbian | Competitivo | Estocástico | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ÉPOCA 2 | |||||||||||
Tipo de Arquitetura || | |||||||||||
Single Layer Feedforward | ADALINE Hopfield Perceptron | Associativo Memória Hopfield | Vector Linear Quantização | ||||||||
Multilayer Feed Forward | Cascata Correlação Alimentação multicamadas Avançar Polarização radial Função | Neocognitron | |||||||||
Recorrente | Neural recorrente Rede | Auto bidirecional Associativo Memória Brain- 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 RNA é mostrada abaixo.
Classificação de algoritmos de aprendizagem supervisionada
- Gradiente descendente
- Estocástico
# 1) Aprendizagem de Gradiente Descendente
Nesse tipo de aprendizado, a redução do erro ocorre com o auxílio de pesos e da função de ativação da rede. A função de ativação deve ser diferenciável.
O ajuste dos pesos depende do gradiente de erro E neste aprendizado. A regra de retropropagação é um exemplo desse tipo de aprendizado. Assim, o ajuste de peso é definido como
# 2) Aprendizagem Estocástica
Nesse aprendizado, os pesos são ajustados de forma probabilística.
Classificação de algoritmos de aprendizagem não supervisionados
- Hebbian
- Competitivo
# 1) Aprendizagem Hebbian
Este aprendizado foi proposto por Hebb em 1949. É baseado no ajuste correlativo de pesos. Os pares de padrões de entrada e saída estão associados a uma matriz de ponderação, W.
A transposição da saída é feita para ajuste de peso.
# 2) Aprendizagem competitiva
É um vencedor leva toda a estratégia. Nesse 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.
Neurônio Mc Culloch-Pitts
Também conhecido como neurônio M-P, esta é a primeira rede neural descoberta em 1943. Nesse modelo, os neurônios são conectados por pesos de conexão e a função de ativação é usada em binário. O limite é usado para determinar se o neurônio irá disparar ou não.
A função do neurônio M-P é:
Algoritmo de Aprendizagem Hebbian
Rede Hebb foi declarado 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, os pesos associados a esses neurônios podem ser aumentados por mudanças na lacuna sináptica.
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 regra de aprendizagem Hebbian
As etapas de treinamento do algoritmo são as seguintes:
- Inicialmente, os pesos são definidos como zero, ou seja, w = 0 para todas as entradas i = 1 a n e n é o número total de neurônios de entrada.
- Vamos 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 polarização são ajustados para:
- As etapas 2 a 4 são repetidas para cada vetor de entrada e saída.
Exemplo de regra de aprendizagem Hebbian
Vamos implementar a função lógica AND com entradas bipolares usando o Hebbian Learning
X1 e X2 são entradas, b é a polarização considerada como 1, o valor alvo é a saída da operação lógica AND sobre as entradas.
Entrada | Entrada | Tendência | Alvo |
---|---|---|---|
X1 | X2 | b | Y |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
# 1) Inicialmente, os pesos são definidos como zero e o bias também é definido como zero.
W1 = w2 = b = 0
#dois) O primeiro vetor de entrada é considerado como (x1 x2 b) = (1 1 1) e o valor alvo é 1.
Os novos pesos serão:
perguntas e respostas da entrevista de bootstrap para experientes
# 3) Os pesos acima são os novos pesos finais. Quando a segunda entrada é passada, eles se tornam os pesos iniciais.
# 4) Pegue a segunda entrada = (1 -1 1). A meta é -1.
# 5) Da mesma forma, as outras entradas e pesos são calculados.
A tabela abaixo mostra todas as entradas:
Entradas | Tendência | Resultado de destino | Alterações de peso | Alterações de polarização | Novos Pesos | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y | ? w1 | ? w2 | ? b | W1 | W2 | b |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | dois | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | dois | dois | -dois |
Hebb Net para função AND
Algoritmo de Aprendizagem Perceptron
As redes Perceptron são redes feed-forward de camada única. Eles também são chamados de Redes Perceptron Únicas. O Perceptron consiste em uma camada de entrada, uma camada oculta e uma camada de saída.
A camada de entrada é conectada à camada oculta por meio de pesos que podem ser inibitórios ou excitantes ou zero (-1, +1 ou 0). A função de ativação usada é uma função de etapa binária para a camada de entrada e a camada oculta.
A saída é
Y = f (y)
A função de ativação é:
A atualização do peso ocorre entre a camada oculta e a camada de saída para corresponder à saída de destino. O erro é calculado com base na saída real e na saída desejada.
Se a saída corresponder à meta, nenhuma atualização de peso ocorrerá. Os pesos são inicialmente definidos como 0 ou 1 e ajustados sucessivamente até que uma solução ótima seja encontrada.
Os pesos na rede podem ser definidos com qualquer valor inicialmente. O aprendizado do Perceptron convergirá para o vetor de peso que dá saída correta para todos os padrões de treinamento de entrada e esse aprendizado acontece em um número finito de etapas.
A regra Perceptron pode ser usada para entradas binárias e bipolares.
Regra de aprendizagem para percepção de saída única
# 1) Sejam “n” vetores de entrada de treinamento ex (n) e t (n) estão associados aos valores alvo.
#dois) Inicialize os pesos e o viés. Defina-os como zero para um cálculo fácil.
# 3) Deixe a taxa de aprendizagem ser 1.
# 4) A camada de entrada tem função de ativação de identidade, então x (i) = s (i).
# 5) Para calcular a saída da rede:
# 6) A função de ativação é aplicada sobre a entrada líquida para obter uma saída.
serviços da web testando perguntas e respostas para entrevistas
# 7) Agora, com base na saída, compare o valor alvo desejado (t) e a saída real.
# 8) Continue a iteração até que não haja alteração de peso. Pare quando essa condição for alcançada.
Regra de aprendizagem para percepção de múltiplas saídas
# 1) Sejam “n” vetores de entrada de treinamento ex (n) e t (n) estão associados aos valores alvo.
#dois) Inicialize os pesos e o viés. Defina-os como zero para um cálculo fácil.
# 3) Deixe a taxa de aprendizagem ser 1.
# 4) A camada de entrada tem função de ativação de identidade, então x (i) = s (i).
# 5) Para calcular a saída de cada vetor de saída de j = 1 a m, a entrada líquida é:
# 6) A função de ativação é aplicada sobre a entrada líquida para obter uma saída.
# 7) Agora, com base na saída, compare o valor alvo desejado (t) e a saída real e faça ajustes de peso.
w é o vetor de peso das ligações de conexão entre i-ésimo neurônio de entrada e j-ésimo e t é a saída alvo para a unidade de saída j.
# 8) Continue a iteração até que não haja alteração de peso. Pare quando essa condição for alcançada.
Exemplo de regra de aprendizado do 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 que os pesos iniciais sejam 0 e o bias seja 0. O limite é definido como zero e a taxa de aprendizagem é 1.
AND Gate
X1 | X2 | Alvo |
---|---|---|
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
Como o limite é zero, portanto:
A partir daqui obtemos, output = 0. Agora verifique se output (y) = target (t).
y = 0 mas t = 1, o que significa que não são iguais, portanto, ocorre a atualização do peso.
Os novos pesos são 1, 1 e 1 depois que o primeiro vetor de entrada é apresentado.
#dois) 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:
Portanto, novamente, alvo = -1 não corresponde à saída real = 1. As atualizações de peso ocorrem.
Agora os novos pesos são w1 = 0 w2 = 2 e wb = 0
Da mesma forma, continuando com o próximo conjunto de entradas, obtemos a seguinte tabela:
Entrada | Tendência | Alvo | Entrada líquida | Produto Calculado | Alterações de peso | Novos Pesos | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Y | ? w1 | ? w2 | ? b | W1 | W2 | wb |
ÉPOCA 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | dois | 0 |
-1 | 1 | 1 | -1 | dois | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
Os EPOCHS são o ciclo de padrões de entrada alimentados ao sistema até que nenhuma mudança de peso seja necessária e a iteração pare.
Widrow Hoff Learning Algorithm
Também conhecido como Regra Delta , segue a regra de gradiente descendente para regressão linear.
Ele atualiza os pesos de conexão com a diferença entre o valor de destino e de saída. É o algoritmo de aprendizado de mínimos quadrados que se enquadra na categoria de 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 mínimo erro quadrático médio. MADALINE é uma rede de mais de uma ADALINE.
O motivo da regra de aprendizado delta é minimizar o erro entre a saída e o vetor de destino.
Os pesos nas redes ADALINE são atualizados por:
Erro quadrado médio mínimo = (t- yno)dois, ADALINE converge quando o mínimo erro quadrático médio é alcançado.
Conclusão
Neste tutorial, discutimos os dois algoritmos, ou seja, Regra de aprendizagem de Hebbian e Regra de aprendizagem de Perceptron. A regra de Hebbian é baseada na regra de que o vetor de peso aumenta proporcionalmente ao sinal de entrada e aprendizagem, ou seja, a 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 de Hebb reside em problemas de associação, classificação e categorização de padrões.
A regra de aprendizagem Perceptron pode ser aplicada a uma única saída e à rede de várias classes de saída. O objetivo da rede perceptron é classificar o padrão de entrada em uma classe de membro específica. Os neurônios de entrada e o neurônio de saída são conectados por meio de links com pesos.
Os pesos são ajustados para combinar 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 atualizados de acordo com:
Além dessas regras de aprendizagem, os algoritmos de aprendizagem de máquina aprendem por meio de muitos outros métodos, ou seja, supervisionado, não supervisionado, reforço. Alguns dos outros algoritmos de ML comuns são Back Propagation, ART, Kohonen Self Organizing Maps, etc.
Esperamos que você tenha gostado de todos os tutoriais desta série de aprendizado de máquina !!
=> Visite aqui para a série exclusiva de aprendizado de máquina
Leitura recomendada
- Um guia completo para redes neurais artificiais em aprendizado de máquina
- Tipos de aprendizado de máquina: aprendizado supervisionado versus aprendizado não supervisionado
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Teste de segurança de rede e as melhores ferramentas de segurança de rede
- 11 ferramentas de software de aprendizado de máquina mais populares em 2021
- Tutorial de aprendizado de máquina: introdução ao ML e seus aplicativos
- 15 melhores ferramentas de digitalização em rede (scanner de rede e IP) de 2021
- 30 principais ferramentas de teste de rede (ferramentas de diagnóstico de desempenho de rede)