Rede neural feedforward - Feedforward neural network

Em uma rede feedforward, as informações sempre se movem em uma direção; nunca vai para trás.

Uma rede neural feedforward é uma rede neural artificial em que as conexões entre os nós não formam um ciclo. Como tal, é diferente de seu descendente: redes neurais recorrentes .

A rede neural feedforward foi o primeiro e mais simples tipo de rede neural artificial desenvolvida. Nessa rede, as informações se movem em apenas uma direção - para a frente - dos nós de entrada, através dos nós ocultos (se houver) e para os nós de saída. Não há ciclos ou loops na rede.

Perceptron de camada única

O tipo mais simples de rede neural é uma rede perceptron de camada única , que consiste em uma única camada de nós de saída; as entradas são alimentadas diretamente nas saídas por meio de uma série de pesos. A soma dos produtos dos pesos e das entradas é calculada em cada nó, e se o valor estiver acima de algum limiar (normalmente 0) o neurônio dispara e assume o valor ativado (normalmente 1); caso contrário, ele assume o valor desativado (normalmente -1). Os neurônios com esse tipo de função de ativação também são chamados de neurônios artificiais ou unidades de limiar linear . Na literatura, o termo perceptron geralmente se refere a redes que consistem em apenas uma dessas unidades. Um neurônio semelhante foi descrito por Warren McCulloch e Walter Pitts na década de 1940.

Um perceptron pode ser criado usando quaisquer valores para os estados ativado e desativado, desde que o valor limite esteja entre os dois.

Os perceptrons podem ser treinados por um algoritmo de aprendizado simples, geralmente chamado de regra delta . Ele calcula os erros entre a saída calculada e os dados de saída da amostra e usa isso para criar um ajuste para os pesos, implementando assim uma forma de gradiente descendente .

Perceptrons de camada única são capazes apenas de aprender padrões linearmente separáveis ; em 1969, em uma famosa monografia intitulada Perceptrons , Marvin Minsky e Seymour Papert mostraram que era impossível para uma rede perceptron de camada única aprender uma função XOR (no entanto, sabia-se que perceptrons multicamadas são capazes de produzir qualquer função booleana possível )

Embora uma única unidade de limiar seja bastante limitada em seu poder computacional, foi mostrado que redes de unidades de limiar paralelas podem aproximar qualquer função contínua de um intervalo compacto de números reais no intervalo [-1,1]. Este resultado pode ser encontrado em Peter Auer, Harald Burgsteiner e Wolfgang Maass "Uma regra de aprendizagem para aproximadores universais muito simples consistindo em uma única camada de perceptrons".

Uma rede neural de camada única pode calcular uma saída contínua em vez de uma função de etapa . Uma escolha comum é a chamada função logística :

Com essa escolha, a rede de camada única é idêntica ao modelo de regressão logística , amplamente utilizado em modelagem estatística . A função logística faz parte da família de funções chamadas funções sigmóides porque seus gráficos em forma de S se assemelham à letra minúscula final da letra grega Sigma . Possui uma derivada contínua, o que permite sua utilização na retropropagação . Esta função também é preferida porque sua derivada é facilmente calculada:

.

(O fato que satisfaz a equação diferencial acima pode ser facilmente mostrado aplicando a regra da cadeia .)

Se a função de ativação da rede neural de camada única for módulo 1, essa rede pode resolver o problema XOR com um único neurônio.

Perceptron multicamadas

Uma rede neural de duas camadas capaz de calcular XOR. Os números dentro dos neurônios representam o limite explícito de cada neurônio (que pode ser fatorado para que todos os neurônios tenham o mesmo limite, geralmente 1). Os números que anotam as setas representam o peso das entradas. Esta rede assume que, se o limite não for atingido, zero (não -1) será gerado. Observe que a camada inferior de entradas nem sempre é considerada uma camada de rede neural real

Essa classe de redes consiste em várias camadas de unidades computacionais, geralmente interconectadas de forma feed-forward. Cada neurônio em uma camada direcionou conexões para os neurônios da camada subsequente. Em muitas aplicações, as unidades dessas redes aplicam uma função sigmóide como uma função de ativação.

O teorema da aproximação universal para redes neurais afirma que cada função contínua que mapeia intervalos de números reais para algum intervalo de saída de números reais pode ser aproximada arbitrariamente por um perceptron multicamadas com apenas uma camada oculta. Este resultado é válido para uma ampla gama de funções de ativação, por exemplo, para as funções sigmoidais.

As redes multicamadas usam uma variedade de técnicas de aprendizado, sendo a mais popular a propagação reversa . Aqui, os valores de saída são comparados com a resposta correta para calcular o valor de alguma função de erro predefinida. Por várias técnicas, o erro é então realimentado pela rede. Usando essas informações, o algoritmo ajusta os pesos de cada conexão para reduzir o valor da função de erro em um pequeno valor. Depois de repetir este processo por um número suficientemente grande de ciclos de treinamento, a rede geralmente convergirá para algum estado onde o erro dos cálculos seja pequeno. Nesse caso, pode-se dizer que a rede aprendeu uma determinada função de destino. Para ajustar os pesos de maneira adequada, aplica-se um método geral de otimização não linear que é chamado de gradiente descendente . Para isso, a rede calcula a derivada da função de erro em relação aos pesos da rede e altera os pesos de forma que o erro diminua (descendo assim na superfície da função de erro). Por esse motivo, a retropropagação só pode ser aplicada em redes com funções de ativação diferenciáveis.

Em geral, o problema de ensinar uma rede a ter um bom desempenho, mesmo em amostras que não foram usadas como amostras de treinamento, é uma questão bastante sutil que requer técnicas adicionais. Isso é especialmente importante para os casos em que apenas um número muito limitado de amostras de treinamento está disponível. O perigo é que a rede super ajuste os dados de treinamento e não consiga capturar o verdadeiro processo estatístico que gera os dados. A teoria da aprendizagem computacional preocupa-se com o treinamento de classificadores em uma quantidade limitada de dados. No contexto de redes neurais, uma heurística simples , chamada de parada antecipada , geralmente garante que a rede irá generalizar bem para exemplos que não estão no conjunto de treinamento.

Outros problemas típicos do algoritmo de retropropagação são a velocidade de convergência e a possibilidade de terminar em um mínimo local da função de erro. Hoje, existem métodos práticos que tornam a retropropagação em perceptrons multicamadas a ferramenta de escolha para muitas tarefas de aprendizado de máquina .

Também se pode usar uma série de redes neurais independentes moderadas por algum intermediário, um comportamento semelhante que ocorre no cérebro. Esses neurônios podem funcionar separadamente e lidar com uma grande tarefa, e os resultados podem ser finalmente combinados.

Outras redes feedforward

Mais geralmente, qualquer gráfico acíclico direcionado pode ser usado para uma rede feedforward, com alguns nós (sem pais) designados como entradas e alguns nós (sem filhos) designados como saídas. Elas podem ser vistas como redes multicamadas em que algumas arestas pulam camadas, contando as camadas para trás a partir das saídas ou para a frente a partir das entradas. Várias funções de ativação podem ser usadas e pode haver relações entre pesos, como nas redes neurais convolucionais .

Exemplos de outras redes feedforward incluem redes de função de base radial , que usam uma função de ativação diferente.

Às vezes , perceptron multicamadas é usado livremente para se referir a qualquer rede neural feedforward, enquanto em outros casos é restrito a algumas específicas (por exemplo, com funções de ativação específicas, ou com camadas totalmente conectadas, ou treinadas pelo algoritmo perceptron).

Veja também

Referências

links externos