Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Uma perceptron multicamadas (MLP, do inglês, multilayer perceptron) é um tipo de rede neural artificial formada por composições de camadas de perceptrons. Consultamos a Figura 3.1.
Denotamos uma MLP de camadas por
(3.1) |
onde é a tripa de pesos, biases e função de ativação da -ésima camada da rede, . Uma rede com essa arquitetura é dita ter uma camada de entrada, camadas escondidas e uma camada de saída.
A saída da rede é calculada por iteradas composições das camadas, i.e.
(3.2) |
para , denotando a entrada por e a saída por .
Em um treinamento supervisionado, tem-se um dado conjunto de treinamento , com amostras. O treinamento da rede consiste em resolver o problema de minimização
(3.3) |
onde é uma dada função erro (em inglês, loss function) e é uma medida do erro da saída estimada da saída esperada .
O problema de minimização pode ser resolvido por um método de declive e, de forma geral, consiste em:
aproximações iniciais.
Para :
onde, é o número de épocas, é uma dada taxa de aprendizagem (em inglês, learning rate)) e é o vetor direção, onde
(3.4) | ||||
(3.5) |
O cálculo dos gradientes pode ser feito por retropropagação (em inglês, backward). Para os pesos da última camada, temos88endnote: 8Com um cero abuso de linguagem devido à álgebra matricial envolvida.
(3.6) | ||||
(3.7) |
Para os pesos da penúltima camada, temos
(3.8) | ||||
(3.9) | ||||
(3.10) |
e assim, sucessivamente para as demais camadas da rede. Os gradientes em relação aos biases podem ser calculados de forma análoga.
Vamos desenvolver uma MLP que faça a operação xor (ou exclusivo). A rede recebe como entrada dois valores lógicos e (V, verdadeiro ou F, falso) e fornece como saída o valor lógico . Consultamos a tabela verdade:
V | V | F |
V | F | V |
F | V | V |
F | F | F |
Assumindo e , podemos modelar o problema tendo entradas e saída como na seguinte tabela:
Vamos usar uma MLP de estrutura e com funções de ativação e . Ou seja, nossa rede tem duas entradas, uma camada escondida com 2 unidades (função de ativação tangente hiperbólica) e uma camada de saída com uma unidade (função de ativação identidade).
Para o treinamento, vamos usar a função erro quadrático médio (em inglês, mean squared error)
(3.11) |
onde são os valores estimados e , , o conjunto de treinamento conforme na tabela acima.
O seguinte código implementa a MLP com Método do Gradiente Descendente (DG) como otimizador do algoritmo de treinamento.
Faça uma nova versão do Código , de forma que a MLP tenha tangente hiperbólica como função de ativação na sua saída.
Faça uma nova versão do Código usando o método do gradiente estocástico (SGD) como otimizador no algoritmo de treinamento.
Crie uma MLP para emular a operação lógica (e-lógico). No treinamento, use como otimizador:
Método GD.
Método SGD.
Crie uma MLP para emular a operação lógica (ou-lógico). No treinamento, use como otimizador:
Método GD.
Método SGD.
Considere uma MLP com camadas escondidas. Sendo uma dada função erro, calcule:
.
.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.
Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Uma perceptron multicamadas (MLP, do inglês, multilayer perceptron) é um tipo de rede neural artificial formada por composições de camadas de perceptrons. Consultamos a Figura 3.1.
Denotamos uma MLP de camadas por
(3.1) |
onde é a tripa de pesos, biases e função de ativação da -ésima camada da rede, . Uma rede com essa arquitetura é dita ter uma camada de entrada, camadas escondidas e uma camada de saída.
A saída da rede é calculada por iteradas composições das camadas, i.e.
(3.2) |
para , denotando a entrada por e a saída por .
Em um treinamento supervisionado, tem-se um dado conjunto de treinamento , com amostras. O treinamento da rede consiste em resolver o problema de minimização
(3.3) |
onde é uma dada função erro (em inglês, loss function) e é uma medida do erro da saída estimada da saída esperada .
O problema de minimização pode ser resolvido por um método de declive e, de forma geral, consiste em:
aproximações iniciais.
Para :
onde, é o número de épocas, é uma dada taxa de aprendizagem (em inglês, learning rate)) e é o vetor direção, onde
(3.4) | ||||
(3.5) |
O cálculo dos gradientes pode ser feito por retropropagação (em inglês, backward). Para os pesos da última camada, temos88endnote: 8Com um cero abuso de linguagem devido à álgebra matricial envolvida.
(3.6) | ||||
(3.7) |
Para os pesos da penúltima camada, temos
(3.8) | ||||
(3.9) | ||||
(3.10) |
e assim, sucessivamente para as demais camadas da rede. Os gradientes em relação aos biases podem ser calculados de forma análoga.
Vamos desenvolver uma MLP que faça a operação xor (ou exclusivo). A rede recebe como entrada dois valores lógicos e (V, verdadeiro ou F, falso) e fornece como saída o valor lógico . Consultamos a tabela verdade:
V | V | F |
V | F | V |
F | V | V |
F | F | F |
Assumindo e , podemos modelar o problema tendo entradas e saída como na seguinte tabela:
Vamos usar uma MLP de estrutura e com funções de ativação e . Ou seja, nossa rede tem duas entradas, uma camada escondida com 2 unidades (função de ativação tangente hiperbólica) e uma camada de saída com uma unidade (função de ativação identidade).
Para o treinamento, vamos usar a função erro quadrático médio (em inglês, mean squared error)
(3.11) |
onde são os valores estimados e , , o conjunto de treinamento conforme na tabela acima.
O seguinte código implementa a MLP com Método do Gradiente Descendente (DG) como otimizador do algoritmo de treinamento.
Faça uma nova versão do Código , de forma que a MLP tenha tangente hiperbólica como função de ativação na sua saída.
Faça uma nova versão do Código usando o método do gradiente estocástico (SGD) como otimizador no algoritmo de treinamento.
Crie uma MLP para emular a operação lógica (e-lógico). No treinamento, use como otimizador:
Método GD.
Método SGD.
Crie uma MLP para emular a operação lógica (ou-lógico). No treinamento, use como otimizador:
Método GD.
Método SGD.
Considere uma MLP com camadas escondidas. Sendo uma dada função erro, calcule:
.
.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.