lab
Neural Network
Português

Mergulhe no neurônio

Visão geral

Na seção anterior (O que é rede neural), aprendemos que uma rede neural é uma função, que é composta de neurônios, e neurônio também é uma função.


O neurônio pode continuar a ser dividido em 2 subfunções:

  • nn função linear do elemento: g(x1,...,xn)g(x_1, ..., x_n)
  • função não linear unária: h(x)h(x)

A função representada pelo neurônio é:

f(x1,...,xn)=h(g(x1,...,xn))f(x_1, ..., x_n) = h(g(x_1, ..., x_n))

Função linear g(x1,...,xn)g(x_1, ..., x_n)

A função linear tem a seguinte forma:

g(x1,...,xn)=w1x1+...,wnxn+bg(x_1, ..., x_n) = w_1x_1 + ..., w_nx_n + b

Entre eles, w1,...,wn,bw_1, ..., w_n, b são todos parâmetros, e diferentes funções lineares possuem parâmetros diferentes.

Função linear unária

Quando n=1n = 1, g(x1)=w1x1+bg(x_1) = w_1x_1 + b, a imagem da função é uma linha reta:

w1w_11
bb0

Função linear binária

Quando n=2n = 2, g(x1,x2)=w1x1+w2x2+bg(x_1, x_2) = w_1x_1 + w_2x_2 + b, a imagem da função é um plano:

w1w_10
w2w_21
bb0

Função linear do elemento nn

Quando n>2n > 2, a imagem da função é um hiperplano. Além do 3D, a visualização não é conveniente. Mas você pode imaginar que sua característica é reta.

Função não linear h(x)h(x)

É fácil entender pelo nome que uma função não linear é uma função diferente de uma função linear. Uma função linear é reta e uma função não linear é curva. Como a função sigmoid mais comum:

Função de ativação

Em redes neurais, chamamos essa função não linear unária de função de ativação. Para algumas funções de ativação comuns, consulte função de ativação na base de conhecimento, onde:

  • Linear: f(x)=xf(x) = x é uma função linear, o que significa que uma função não linear não é usada
  • Softmax é um caso especial. Estritamente falando, não é uma função de ativação

Necessidade

Por que uma função de ativação não linear deve ser seguida por uma função linear?


Isto é porque:

  1. Se todos os neurônios são funções lineares, então a rede neural composta de neurônios também é uma função linear.

Como o exemplo a seguir:

  • f1(x,y)=w1x+w2y+b1f_1(x, y) = w_1x + w_2y + b_1
  • f2(x,y)=w3x+w4y+b2f_2(x, y) = w_3x + w_4y + b_2
  • f3(x,y)=w5x+w6y+b3f_3(x, y) = w_5x + w_6y + b_3

Então a função representada por toda a rede neural é:

f3(f1(x1,x2,x3),f2(x1,x2,x3))=w5(w1x1+w2x2+b1)+w6(w3x2+w4x3+b2)+b3=(w1w5)x1+(w2w5+w3w6)x2+(w4w6)x3+(w5b1+w6b2+b3)\begin{aligned} &f_3(f_1(x_1, x_2, x_3), f_2(x_1, x_2, x_3)) \\ = &w_5(w_1x_1 + w_2x_2 + b_1) + w_6(w_3x_2 + w_4x_3 + b_2) + b_3 \\ = &(w_1w_5)x_1 + (w_2w_5 + w_3w_6)x_2 + (w_4w_6)x_3 + (w_5b_1 + w_6b_2 + b_3) \\ \end{aligned}

Esta é uma função linear ternária.

  1. A função objetivo que precisamos construir contém várias funções, e a função linear é apenas uma delas.

Esperamos que as redes neurais possam simular funções arbitrárias, não apenas funções lineares. Então adicionamos uma função de ativação não linear e "dobramos" a função linear.

Neurônio completo

O neurônio completo combina uma função linear e uma função de ativação não linear, tornando-o mais interessante e poderoso.

Função unária

Quando n=1n = 1, g(x1)=w1x1+bg(x_1) = w_1x_1 + b, usando a função de ativação sigmoid, a função correspondente do neurônio é:

h(g(x))=sigmoid(wx+b)h(g(x))=\text{sigmoid}(wx + b)

A imagem da função é:

ww1
bb0

Função binária

Quando n=2n = 2, g(x1,x2)=w1x1+w2x2+bg(x_1, x_2) = w_1x_1 + w_2x_2 + b, usando a função de ativação sigmoid, a função correspondente do neurônio é:

h(g(x))=sigmoid(w1x1+w2x2+b)h(g(x))=\text{sigmoid}(w_1x_1 + w_2x_2 + b)

A imagem da função é:

w1w_10
w2w_21
bb0

nn-função do elemento

Devido ao problema de visualização, cabe inteiramente à minha imaginação aqui! 😥

Pergunta

Por que a rede neural pode simular funções complexas a partir da combinação de neurônios?

Você pode imaginar intuitivamente como simular uma função um pouco mais complicada por meio de neurônios simples.