Algoritmo de retropropagação - uma visão geral

Publicados: 2021-10-15

As redes neurais têm sido a palavra mais tendência no mundo da tecnologia de IA. E quando se fala em redes neurais, retropropagação é uma palavra que deve ser focada. O algoritmo de retropropagação é um dos blocos fundamentais da rede neural. Como qualquer rede neural precisa ser treinada para o desempenho da tarefa, o backpropagation é um algoritmo que é utilizado para o treinamento da rede neural. É uma forma de algoritmo para aprendizado supervisionado que é usado para treinar perceptrons de múltiplas camadas em uma Rede Neural Artificial.

A programação típica é considerada onde os dados são inseridos e a lógica da programação é executada. Enquanto o processamento é feito, a saída é recebida pelo usuário. Mas, essa saída, de certa forma, pode influenciar na lógica da programação. Isso é o que o algoritmo de retropropagação faz. A saída influenciará a lógica e resultará em uma saída melhor.

O artigo se concentrará no algoritmo de retropropagação e seu processo de trabalho.

Índice

Importância da retropropagação

A importância da retropropagação está em seu uso em redes neurais. O projeto de redes neurais requer que os pesos sejam inicializados apenas no início. Esses pesos são alguns valores aleatórios ou quaisquer variáveis ​​aleatórias que são consideradas para inicializar os pesos. Como os pesos são inseridos aleatoriamente, há uma chance de que os pesos não sejam os corretos. Isso significa que os pesos não caberão no modelo. A saída do modelo pode ser diferente da saída esperada. Como resultado, há um alto valor de erro. Mas, é sempre importante reduzir o erro, e pensar em maneiras de reduzir o erro é um desafio. O modelo precisa ser treinado para que, sempre que esses tipos de cenários ocorram, ele precise alterar os parâmetros de acordo. E com a alteração dos parâmetros, o valor do erro será reduzido.

Portanto, o treinamento do modelo é necessário, e a retropropagação é uma forma pela qual um modelo pode ser treinado para que haja valores mínimos de erro.

Algumas etapas do algoritmo de retropropagação em redes neurais podem ser resumidas abaixo:

● Cálculo de erro: Calculará o desvio da saída do modelo da saída real do modelo.

● Erro mínimo: Nesta etapa, será verificado se o erro gerado é minimizado ou não.

● Atualização de parâmetros: A etapa destina-se à atualização dos parâmetros do modelo. Se o modelo gerar um valor de erro muito alto, ele precisa atualizar seus parâmetros,

como os pesos e os vieses. O modelo é verificado novamente quanto ao erro e o processo é repetido até que o erro gerado seja minimizado.

● Modelo final: Após um processo repetido de verificação e atualização, o erro é minimizado e o modelo está pronto para as entradas. As entradas podem ser inseridas no modelo e as saídas do modelo podem ser analisadas.

A rede neural de retropropagação

Em qualquer rede neural, o algoritmo de retropropagação procura o valor mínimo de erro. Isso é feito através da técnica de gradiente descendente ou regra delta, através da qual se busca a função mínima de erro a partir do espaço de pesos. Uma vez identificados os pesos que reduzem a função de erro, ela é considerada a solução para o problema de aprendizagem. Na década de 1960, quando o algoritmo foi introduzido primeiro e depois nos últimos anos, a popularidade do algoritmo aumentou. A rede neural pode ser efetivamente treinada por meio desse algoritmo usando um método da regra da cadeia. Se houver uma passagem para frente pela rede neural, uma passagem para trás é realizada pelo parâmetro do modelo por meio de seu ajuste dos parâmetros como vieses e pesos. Para que o algoritmo de retropropagação funcione, a rede neural deve ser definida primeiro.

O modelo de rede neural

Se for considerado um modelo de 4 camadas da rede neural, ele será composto pelas camadas; a camada de entrada, 4 neurônios projetados para as camadas ocultas e haverá 1 neurônio projetado para a camada de saída.

Camada de entrada: A camada de entrada pode ser simples ou complexa. Uma camada de entrada simples conterá os escalares, e uma camada de entrada complexa, consistirá de matrizes de multidimensionais ou vetores. Os primeiros conjuntos de ativação são considerados iguais aos valores de entrada.

Pelo termo ativação, significa o valor do neurônio que resulta após a aplicação da função de ativação.

Camadas ocultas: usando certas entradas ponderadas, como z^l nas camadas l, e as ativações a^l na mesma camada l. As equações são geradas para essas camadas, como a camada 2 e a camada 3.

As ativações para camadas são computadas através do uso da função de ativação f. A função de ativação “f”, é uma função não linear que permite o aprendizado de padrões complexos presentes nos dados pela rede.

Uma matriz de pesos é formada tendo a forma de (n,m), onde o número “n” denota os neurônios de saída, enquanto o “m” denota os neurônios de entrada da rede neural. No modelo das camadas mencionadas acima, o número de n será 2, e o número de m será 4. Além disso, o primeiro número no subscrito do peso deve corresponder ao índice do neurônio que está na próxima camada. O segundo número deve corresponder ao índice neuronal da camada anterior da rede.

Camada de saída: A camada de saída é a camada final da rede neural. Ele prevê o valor do modelo. Uma representação matricial é usada para a simplificação da equação.

Propagação direta da rede neural e sua avaliação

As equações geradas na definição da rede neural constituem a propagação direta da rede. Ele prevê a saída do modelo. Em um algoritmo de propagação direta, a etapa final envolvida é a avaliação da saída prevista em relação à saída esperada. Se a saída prevista for “s” e a saída esperada for “y”, então s deve ser avaliado em relação a y. Para o conjunto de dados de treinamento (x,y), x é a entrada e y é a saída.

Uma função de custo “C” é usada para a avaliação de s contra y. A função de custo pode ser simples, como o erro quadrático médio (MSE), ou pode ser complexa, como a entropia cruzada. Com base no valor de C, o modelo fica sabendo o quanto os parâmetros devem ser ajustados para se aproximar da saída que se espera, que é y. Isso é feito através do algoritmo de retropropagação.

Algoritmo de retropropagação

O algoritmo de retropropagação faz repetidamente o ajuste dos pesos nas conexões da rede de forma a minimizar a diferença entre as saídas do modelo para a saída esperada. É também no algoritmo de retropropagação que recursos novos e úteis podem ser criados na rede.

O algoritmo de retropropagação também visa diminuir ou minimizar a função de custo definida da rede, ou seja, C. Isso é feito através do ajuste de parâmetros como os bias e os pesos. Este ajuste a ser feito nos parâmetros é determinado através dos gradientes das funções de custo em relação a todos esses parâmetros.

O gradiente da função C no ponto x é definido como o vetor de todas as derivadas parciais que estão na função custo C em x.

A sensibilidade à mudança no valor de uma função é medida pela derivada da função C em relação à mudança no argumento x. Isso significa que é a derivada que informa para onde a função de custo C está se movendo.

A mudança no parâmetro x é definida pelo gradiente. Ela mostra as mudanças que são necessárias no parâmetro x para minimizar C. A regra da cadeia é usada para calcular os gradientes. É o gradiente que permite a otimização dos parâmetros.

É assim que o algoritmo de retropropagação funciona no aprimoramento e no treinamento da rede neural. Ele serve para ser uma parte importante dos aspectos de aprendizado de máquina. Sendo uma parte essencial do treinamento da rede neural, entender o algoritmo de retropropagação é essencial. Se você quer ser um especialista em aprendizado de máquina e inteligência artificial, confira o curso “Master of Science in Machine Learning & Artificial Intelligence” oferecido pelo upGrad. Todos os profissionais que trabalham são elegíveis para o curso. Você será treinado através de faculdades especializadas do IIIT Bangalore e também da LJMU. O aprendizado de conteúdo de mais de 650 horas ajudará você a se preparar para o futuro da IA. Qualquer dúvida sobre o curso é bem-vinda.

Qual é o método que é usado no algoritmo de retropropagação?

O método que é usado no algoritmo de retropropagação é a regra da cadeia.

Por que o algoritmo de retropropagação é usado?

O algoritmo de retropropagação é usado para minimizar o erro do modelo.

Como o algoritmo de retropropagação minimiza o erro da rede?

O algoritmo de retropropagação tenta ajustar os parâmetros de acordo, resultando na minimização do erro.