Perceptron Multicamadas

Aprendizado Indutivo

Processo de adquirir conhecimento através de uma função qualquer F(.) através do uso de pares de entrada-saída {Xn,Dn}, onde n é o n-ésimo par do conjunto de dados.

Para fazer isso, é possível utilizar uma rede neural qualquer, para o vetor de entrada Xn. Para a saída, é esperado que ela seja muito próxima de Dn (a saída desejada).

O que é Perceptron Multicamadas?

Percentron Multicamada (MLP – Multi Layer Perceptron) é uma das principais arquiteturas de redes neurais adaptativas, com o propósito de representar um mapeamento entrada-saída qualquer, aproximado.

Camada escondida, camada oculta ou camada intermediária: os neurônios dessa camada são denominados escondidos porque eles não tem acesso direto a saída da rede de Perceptron Multicamada, onde os erros de aproximação são calculados.

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Treinamento da Rede de Perceptron Multicamadas

O treinamento da rede ocorre em duas fases, descritas a seguir:

Sentido Direto – Fase 1

Essa fase tem esse nome pois o fluxo da informação vai dos neurônios de entrada, passando pela camada intermediária, para depois chegar a camada de saída.  Nesssa etapa ocorrem os cálculos para as saídas de todos os neurônios da camada de saída e da camada escondida. A entrada dos neurônios da camada de saída será a saída dos neurônios da camada escondida.

Sentido Inverso – Fase 2

Essa etapa ocorre no sentido contrário, ou seja, o fluxo de informação vai dos neurônios da camada saída para a camada escondida. Nela são feitos os cálculos de gradientes locais, e o ajuste de todos os pesos dos neurônios da camada de saída e escondida.

Características e Convergência

Em uma rede neural, vários fatores podem influenciar diretamente no funcionamento do algoritmo. São eles:

Dimensão do vetor de entrada (p): valores podem ir de 1 até infinito, que pode ter um limite superior, dependendo da aplicação e do custo das variáveis. Pode haver redundância na medição, portanto, um valor alto nem sempre quer dizer bom desempenho.

Dimensão do valor de saída (M): assim como a dimensão dos vetores de entrada, o valor também dependente da aplicação. A codificação da saída da rede é o procedimento de converter o rótulo associado a uma classe (classe de mamíferos, classe de aves) para a forma numérica, de forma que possam ser usados no treinamento da rede de Perceptron Multicamadas. No processo de codificação mais comum, existe um neurônio de saída para cada classe definida.

Número de neurônios da camada escondida (q):  Se existirem muitos neurônios, o desemenho será excelente para os dados de treinamento e tende a ser ruim para novas entradas. Se existirem poucos, o desempenho não será muito bom para os dados de treinamento. Determinar o número de neurônios dessa camada  é complexo, pois envolve uma série de fatores difíceis de controlar. Por isso, esse valor geralmente é encontrado através de tentativa-e-erro e pode avaliar a resposta que a rede dará a novos dados de entrada.

Funções de Ativação: Para simplificar o projeto, os neurônios costumam ter a mesma função de ativação, porém, nada impede que cada um tenha sua própria função. Para a camada escondida, é comum adotar a tangente hiperbólica ou função logística.

Critério de Parada e Convergência: em geral, a convergência da rede de Perceptron Multicamadas é avaliada de acordo com os valores de erro médio quadrático por época de treinamento.

Avaliação de rede treinada: Geralmente o erro da generalização é maior que o erro durante o treinamento, portanto, o mais importante na hora de avaliar uma rede, é inserir dados de entrada diferentes daqueles para os quais a rede foi treinada.

MLP - MultiLayer Perceptron

MLP - MultiLayer Perceptron

Sugestões para Projetos de Rede de Múltiplas Camadas

Pré Processamento da Entrada: é comum mudar a escala dos valores de X e D para (0 e 1 : ativação logística) ou (-1 e 1 : tangente hiperbólica).

Taxa de Aprendizagem variável:  outra coisa interessante a se fazer é usar uma taxa de aprendizagem que varie no tempo, que vá caindo conforme as iterações acontecem.

Termo de Momento: tem por objetivo estabilizar o processo de modificação dos pesos através de um fator de momento.

Função Tangente Hiberbólica: utilizando a função de ativação tangente hiberbólica, ao invés da tradicional função logística (0’s e 1’s), o processo de treinamento converge muito mais rápido.

Generalização

Generalização é a capacidade da rede de utilizar o conhecimento armazenado para produzir saídas condizentes com as entradas para vetores de valores que não foram utilizados no treinamento dessa rede. Um dos grandes segredos para que a rede tenha uma boa generalização é encontrar o ajuste ideal  para o número de camadas ocultas e a quantidade de neurônios existente nelas.

Gostou? Curta e Compartilhe!

Categoria(s) do artigo:
Inteligência Artificial

Artigos Relacionados


Artigos populares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Time limit is exhausted. Please reload CAPTCHA.