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:
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:
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).
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.
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:
Mas agora, adicionando a unidade de polarização, temos a possibilidade de traduzir a função de ativação:
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:
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.
Artigos semelhantes
- O que é inteligência artificial? Como é feita? O que é o processo de inteligência artificial?
- Qual é a explicação formal para que um modelo adversário como um ataque de um pixel funcione contra a rede neural?
- Como o Amazon SageMaker se compara ao Google Cloud ML Engine para a implantação de uma rede neural?
- Como eu poderia escolher o valor de decadência de peso para a regularização da rede neural?