Redes Neurais Artificiais #1 — Conceito Básico

Redes Neurais Artificiais

🧠 Redes neurais artificiais (RNA), são sistemas de computação inspirados nas redes neurais biológicas.

RNA é um conjunto de neurônios conectados organizados em camadas.

Tipos de RNAs

Perceptron
É o modelo mais simples e antigo de uma RNA, o perceptron é um classificador linear usado para previsões binárias.

Image for post
Image for post

Multi-layer
É mais sofisticada do que perceptron, uma RNA com várias camadas (por exemplo: Rede Neural Convolucional, Rede Neural Recorrente, etc …) é mais eficiente na solução de tarefas de classificação e regressão.

Image for post
Image for post

Funções de Ativação

🔘 Em redes neurais artificiais, a função de ativação de um nó define a saída desse nó, dada uma entrada ou conjunto de entradas.

Image for post
Image for post

Sigmoid

Uma função sigmóide é uma função matemática que possui uma curva em forma de “S” ou curva sigmóide.
Geralmente usado em casos que geram um conjunto de saídas de probabilidades entre 0 e 1.

Sigmoid(x)=11+e(−x)=ex1+exSigmoid(x)=11+e(−x)=ex1+ex

A função de ativação sigmóide é bastante usada em tarefas de classificação binária.

Code

Tan-h

Como a sigmoide, a função tan-h (tangente hiperbólica), também é sigmoidal (em forma de “S”), mas em vez disso gera valores que variam de -1 e 1

tanh(x)=21+e−2x−1tanh(x)=21+e−2x−1

Code

Image for post
Image for post

Softmax

Uma função softmax é usada para a classificação de várias classes. Ela calcula a distribuição de probabilidades do evento em diferentes eventos. As probabilidades calculadas são úteis para determinar a classe de destino para as entradas fornecidas.

Softmax(x)=ej∑ieiSoftmax(x)=ej∑iei

Code

Out[3]:

Text(0, 0.5, 'Softmax(x)')

ReLU

Uma ReLU (Unidade Linear Retificada) possui saída 0 se a entrada for menor que 0 e saída não é processada. Ou seja, se a entrada for maior que 0, a saída será igual à entrada.

ReLU(x)=max(0,x)ReLU(x)=max(0,x)

Code

Out[4]:

Text(0, 0.5, 'ReLU(x)')
Image for post
Image for post

Leaky ReLU

A Leaky ReLU funciona da mesma forma que a função de ativação ReLU, exceto que, em vez de substituir os valores negativos das entradas por 0, os últimos são multiplicados por um valor alfa, na tentativa de evitar o problema “morte de ReLU”.

LeakyReLU(x)={x,αx,if x > 0.otherwise.LeakyReLU(x)={x,if x > 0.αx,otherwise.

Code

Out[5]:

Text(0, 0.5, 'Leaky ReLU(x)')
Image for post
Image for post

Por que usamos funções de ativação?

Então.. ☕👌😌, sem uma função de ativação, deixaremos de introduzir a não linearidade na rede.
Uma função de ativação nos permitirá modelar uma variável de resposta (variável de destino, rótulo de classe ou pontuação) que varia de maneira não linear com suas variáveis explicativas.

“não linear significa que a saída não pode ser reproduzida a partir de uma combinação linear.”

Sem uma função de ativação não linear, uma rede neural artificial,se comportará como um Perceptron de camada única, porque a soma dessas camadas daria a você apenas outra Função linear.

Qual função de ativação é a 🏆 “melhor”?

🥱 Resposta: Não existe a “melhor” função de ativação.

O uso de uma função de ativação depende da tarefa com a qual você está lidando.
A tarefa é um problema de regressão ou classificação?
Se é um problema de classificação, então é uma classificação binária ou uma tarefa de classificação em várias classes?

tudo se resume à tarefa com a qual você está lidando.

https://www.kaggle.com/franckepeixoto/redes-neurais-artificiais-conceito-b-sico

Referências:

Written by

why? 🧱 Cogito, ergo sum

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store