A maioria das redes neurais recebe um treinamento supervisionado de maneira a atingir uma performance desejada. Durante este processo, um algoritmo de treinamento ajusta, a cada iteração, os valores dos pesos e dos bias da rede. Para isto, um conjunto global de exemplos é utilizado de forma a orientar o comportamento e a saída da rede.
Inicialmente, é fornecido um conjunto de entradas com as respectivas saídas desejadas. O conjunto de entradas percorre a rede neural, produzindo o conjunto de saídas reais. A partir das saídas reais e das saídas desejadas, calcula-se o conjunto de erros.
Em seguida, um algoritmo de treinamento ajusta, a partir dos erros calculados e dos valores dos pesos iniciais, o conjunto de pesos de toda a rede, de maneira a reduzir os próximos erros. O processo inicial é repetido, obtendo-se um novo conjunto de erros.
Este procedimento é repetido até reduzir os erros entre as saídas reais e as saídas desejadas a um patamar ideal. Alternativamente, o processo de treinamento pode parar após um certo número máximo de iterações.
A figura abaixo mostra o algoritmo de treinamento supervisionado de uma rede neural. X representa os valores de entrada da rede, D os valores de saída desejados e O os valores de saída reais; E é o erro entre os valores desejados D e os valores produzidos O; por último, e representa o erro mínimo desejado.
Em redes neurais supervisionadas, existem diversos algoritmos de treinamento: backpropagation, backpropagation com momentum, algoritmo de Levenberg-Marquardt, etc.
O algoritmo de treinamento por retropropagação (backpropagation) baseia-se no método do gradiente descendente. No treinamento de uma rede neural, busca-se a minimização dos erros dos neurônios de saída.
O erro total de saída da rede é uma função dos valores dos pesos.
O algoritmo de treinamento por retropropagação (backpropagation) é um dos mais conhecidos e usados. Como o nome indica, o processo de retropropagação consiste em transmitir os erros de saída em direção aos neurônios de entrada da rede.