Redes neurais: estrutura

Para ver como as redes neurais podem ajudar em problemas não lineares, vamos começar representando um modelo linear como um gráfico:

Três círculos azuis seguidos por setas, ligados a um círculo verde acima deles

Figura 3. Modelo linear como gráfico.

Cada círculo azul representa um atributo de entrada, e o círculo verde representa a soma ponderada das entradas.

Como podemos alterar esse modelo para melhorar a capacidade de lidar com problemas?

Camadas escondidas

No modelo representado pelo gráfico a seguir, adicionamos uma "camada escondida" de valores intermediários. Cada nó amarelo na camada escondida é uma soma ponderada dos valores azuis de nó de entrada. O resultado é uma soma ponderada dos valores nós.

Três círculos azuis seguidos por uma linha

Figura 4. Gráfico do modelo de duas camadas.

Esse modelo é linear? Sim, a saída ainda é uma combinação linear de das entradas.

No modelo representado pelo gráfico a seguir, adicionamos uma segunda camada de somas ponderadas.

Três círculos azuis seguidos por uma linha

Figura 5. Gráfico do modelo de três camadas.

Esse modelo ainda é linear? Sim. Quando você expressa a saída como uma da entrada e simplificar, você obtém apenas outra soma ponderada do das entradas. Essa soma não modela efetivamente o problema não linear da Figura 2.

Funções de ativação

Para modelar um problema não linear, podemos introduzir diretamente uma não linearidade. Podemos canalize cada nó da camada escondida por meio de uma função não linear.

No modelo representado pelo gráfico a seguir, o valor de cada nó em A camada escondida 1 é transformada por uma função não linear antes de ser passada às somas ponderadas da próxima camada. Essa função não linear é chamada de função de ativação.

O mesmo que a figura anterior, porém uma linha de círculos rosa rotulada como "Camada de transformação não linear" foi adicionado entre as duas camadas escondidas.

Figura 6. Gráfico do modelo de três camadas com a função de ativação.

Agora que adicionamos uma função de ativação, a adição de camadas tem mais impacto. Empilhar não linearidades em não linearidades nos permite criar modelos muito complicados relações entre as entradas e as saídas previstas. Em resumo, cada é aprender uma função mais complexa e de alto nível entradas brutas. Se quiser entender melhor como isso funciona, consulte Excelente postagem do blog de Chris Olah.

Funções de ativação comuns

A função de ativação sigmoide a seguir converte a soma ponderada em um valor entre 0 e 1.

$$F(x)=\frac{1} {1+e^{-x}}$$

Aqui está um gráfico:

Função sigmoide

Figura 7. Função de ativação sigmoide.

A seguinte função de ativação de unidade linear retificada (ou ReLU, para curta) geralmente funciona um pouco melhor do que uma função suave como a sigmoide, além de ser significativamente mais fácil de calcular.

$$F(x)=max(0,x)$$

A superioridade da ReLU é baseada em descobertas empíricas, provavelmente impulsionadas pela ReLU ter uma gama mais útil de capacidade de resposta. A capacidade de resposta de uma sigmoide cai relativamente rápido em ambos os lados.

Função de ativação ReLU

Figura 8. função de ativação ReLU.

Na verdade, qualquer função matemática pode servir como uma função de ativação. Suponha que \(\sigma\) representa nossa função de ativação. (Relu, Sigmoid ou qualquer outra coisa). Consequentemente, o valor de um nó na rede é fornecido pelo seguinte fórmula:

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

Resumo

Agora, nosso modelo tem todos os componentes padrão do que as pessoas significam quando dizem "rede neural":

  • Um conjunto de nós, análogos aos neurônios, organizados em camadas.
  • Conjunto de pesos que representam as conexões entre cada rede neural camada e a camada abaixo dela. A camada abaixo pode ser outra camada de rede neural ou algum outro tipo de camada.
  • Um conjunto de vieses, um para cada nó.
  • Uma função de ativação que transforma a saída de cada nó em uma camada. Diferentes camadas podem ter diferentes funções de ativação.

Uma ressalva: as redes neurais nem sempre são melhores do que cruzamentos de atributos, mas as redes neurais oferecem uma alternativa flexível que funciona funciona bem em muitos casos.