Casa > O > O Que É O Viés Na Rede Neural Artificial?

O que é o viés na rede neural artificial?

Em uma rede neural artificial típica, cada neurônio/atividade em uma "camada" está conectado - através de um peso - a cada neurônio na próxima atividade. Cada uma dessas atividades armazena algum tipo de cálculo, normalmente um composto das atividades ponderadas nas camadas anteriores.

Uma unidade de polarização é um neurônio "extra" adicionado a cada camada pré-saída que armazena o valor de 1. As unidades de polarização são't conectadas a qualquer camada anterior e neste sentido don't representam uma verdadeira "atividade".

Vejam a seguinte ilustração:

main-qimg-bf5a21006f36c6653a586b06da1a04f2.webp

As unidades de polarização são caracterizadas pelo texto "+1". Como você pode ver, uma unidade de polarização é apenas anexada ao início/fim da entrada e a cada camada oculta, e é't influenciada pelos valores da camada anterior. Em outras palavras, esses neurônios don't têm qualquer conexão de entrada.

Então por que nós temos unidades de polarização? Bem, as unidades de polarização ainda têm conexões de saída e elas podem contribuir para a saída da ANN. Let's chamam os pesos de saída das unidades de enviesamento w_b. Agora, vamos's olhar para uma rede neural realmente simples que tem apenas uma entrada e uma conexão:

main-qimg-fd13145970660aedcb5039a8a87c148c.webp

Let's dizer act() - nossa função de ativação - é apenas f(x) = x, ou a função de identidade. Nesse caso, nossa ANN representaria uma linha porque a saída é apenas o peso (m) vezes o input (x).

main-qimg-221fcc2dae6dafaf455a115e3869955a

Quando alterarmos nosso peso w1, alteraremos o gradiente da função para torná-la mais inclinada ou mais plana. Mas e se mudarmos a função verticalmente? Em outras palavras, e que tal ajustar o y-intercepção. Isto é crucial para muitos problemas de modelagem! Nossos modelos ideais podem não passar pela origem.

Então, sabemos que nossa saída de função = w*input (y = mx) precisa ter este termo constante adicionado a ela. Em outras palavras, podemos dizer output = w*input + w_b, onde w_b é nosso termo constante c. Quando usamos redes neurais, ou fazemos qualquer aprendizagem multi-variável, nossos cálculos serão feitos através de Álgebra Linear e aritmética matricial, por exemplo, ponto-produto, multiplicação. Isto também pode ser visto graficamente na ANN. Deve haver um número correspondente de pesos e atividades para que uma soma ponderada possa ocorrer. Devido a isso, precisamos "adicionar" um termo de entrada extra para que possamos adicionar um termo constante com ele. Como, um multiplicado por qualquer valor é esse valor, nós apenas "inserimos" um valor extra de 1 em cada camada. Isso é chamado de bias unit.

main-qimg-045c821538df289d43b0af89f042d037

Deste diagrama, você pode ver que nós'agora adicionamos o termo bias e, portanto, o peso w_b será adicionado à soma ponderada, e alimentado através da função de ativação como um valor constante. Este termo constante, também chamado de "termo de intercepção" (como demonstrado pelo exemplo linear), desloca a função de ativação para a esquerda ou para a direita. Também será a saída quando a entrada for zero.

Aqui está um diagrama de como diferentes pesos transformarão a função de ativação (sigmóide neste caso), escalando-a para cima/baixo:

main-qimg-7da5eb9504422a24d138f4612395574d.webp

Mas agora, adicionando a unidade de polarização, temos a possibilidade de traduzir a função de ativação:

main-qimg-aed2b6ef414653dbc14fd9dc9d9c58f5.webp

Voltando ao exemplo da regressão linear, se w_b é 1, então adicionaremos bias*w_b = 1*w_b = w_b à função de ativação. No exemplo com a linha, podemos criar um não-zero y-intercept:

main-qimg-7b820f440148858ad7e7c9584babbab9.webp

I'com certeza você pode imaginar cenários infinitos onde a linha de melhor ajuste não atravessa a origem ou mesmo chega perto dela. Unidades de viés são importantes com redes neurais da mesma forma.

De Maegan Igwe

Os danos nos nervos do nariz podem ser reparados? :: O Elon Musk é demasiado tímido?