Abaixo uma coleção de funções que podem ser usadas para construção de redes neurais, aqui apresento as principais funções, e discutirei posteriormente o melhor uso de cada uma.

Abaixo apresentaremos alguns funções muito importante para a compreenção de como funciona as redes neurais, as funções do tipo degrau podem ser usadas para ativar ou desativar um grupo de neurônios, por exemplo.

Já as funções logística e tangente hiperbólicas podem ser usada também no processo de ativação e desativação de redes mais complexas como LTSM, que veremos mais no final desta série de postagens.

Temos também as funções Gausianas são usadas em sistemas neurais que determinam um ponto central de classificação com base em umam édia e a Função linear, é a mais simples de todas e são usadas em redes neurais para nivelar sinais para se equiprar nívies de entradas, como um sistema de acoplamento, elas podem ter entradas e saidas com valores iguais ou proporcionais direta ou inversamente.

Na próxima postagem veremos os tipos de redes neurais existentes e como estas funções podem ser aplicadas nelas.

As funções do tipo degrau.

Há funções simples do tipo degrau conhecidas do inglês como Heavyside/band limiter, são funções com algortimos de tomada de decisão bem simples baseada em um IF por neuronio, sendo o valor potencial da sinapse maior que zero provoca assim a ativação do neuronio, ou mesmo duas faixas limites quando for uma função degrau bipolar ou função sinal tambem conhecida do inglês de Symmetric board limiter, a ativação tendo dois estágios, um positivo outro negativo.

Para degrau simples temos:

Já para degrau bipolar temos:

No uso da função degrau bipolar é possível aproveitar o ultimo valor obtido informado no algortimo que a função mantem este valor inalterado caso o valor atual na sinapse é igual a zero.

Há também a possiblidade de resumir a função degrau bipolar de forma a ficar conforme abaixo:

Função Rampa

Uma outra amadurecimento da função degrau bipolar é a função rampa, que é presentada pela função:

Neste caso tanto o valor é ajustado conforme os limites desejados para a rampa.

Funções totalmente diferenciáveis.

Temos 4 funções diferenciáveis que podem ser usadas como solução para nossos neurônios, tais funções são apresentadas abaixo e possuem suas diferenciais de primeira ordem conhecidas em todos os pontos de domínio de definição.

Função Logística

Na formula acima e é o número de euler portanto , e é uma constante que ajusta a inclinação da curva, veja o gráfico baixo, onde o segundo parametro o que vai após o ponto e virgula é o valor de .

x f(x;.01) f(x;0.02) f(x;0.03) f(x;0.04) f(x;0.05)
-1.000 0,000 0,000 0,000 0,000 0,000
-900 0,000 0,000 0,000 0,000 0,000
-800 0,000 0,000 0,000 0,000 0,000
-700 0,001 0,000 0,000 0,000 0,000
-600 0,002 0,000 0,000 0,000 0,000
-500 0,007 0,000 0,000 0,000 0,000
-400 0,018 0,000 0,000 0,000 0,000
-300 0,047 0,002 0,000 0,000 0,000
-200 0,119 0,018 0,002 0,000 0,000
-100 0,269 0,119 0,047 0,018 0,007
0 0,500 0,500 0,500 0,500 0,500
100 0,731 0,881 0,953 0,982 0,993
200 0,881 0,982 0,998 1,000 1,000
300 0,953 0,998 1,000 1,000 1,000
400 0,982 1,000 1,000 1,000 1,000
500 0,993 1,000 1,000 1,000 1,000
600 0,998 1,000 1,000 1,000 1,000
700 0,999 1,000 1,000 1,000 1,000
800 1,000 1,000 1,000 1,000 1,000
900 1,000 1,000 1,000 1,000 1,000
1.000 1,000 1,000 1,000 1,000 1,000
Influência do Parametro $$\beta$$ na função de Ativação Tangente Hiperbólic

No gráfico abaixo apresento a mesma função em um formato tridimencional, onde o eixo z é a variação das alternativas para .

Influência do Parametro $$\beta$$ na função de Ativação Tangente Hiperbólica Visão Tridimensional ocnforme variação de Beta

Função Tangente Hiperbólica

Na fórmula acima e é o número de Euler, , e é uma constante que ajusta a inclinação da curva, veja o gráfico a baixo, onde o segundo parâmetro o que vai após o ponto e vírgula é o valor de .

x f(x;.01) f(x;0.02) f(x;0.03) f(x;0.04) f(x;0.05)
-1.000 -1,000 -1,000 -1,000 -1,000 -1,000
-900 -1,000 -1,000 -1,000 -1,000 -1,000
-800 -0,999 -1,000 -1,000 -1,000 -1,000
-700 -0,998 -1,000 -1,000 -1,000 -1,000
-600 -0,995 -1,000 -1,000 -1,000 -1,000
-500 -0,987 -1,000 -1,000 -1,000 -1,000
-400 -0,964 -0,999 -1,000 -1,000 -1,000
-300 -0,905 -0,995 -1,000 -1,000 -1,000
-200 -0,762 -0,964 -0,995 -0,999 -1,000
-100 -0,462 -0,762 -0,905 -0,964 -0,987
0 0,000 0,000 0,000 0,000 0,000
100 0,462 0,762 0,905 0,964 0,987
200 0,762 0,964 0,995 0,999 1,000
300 0,905 0,995 1,000 1,000 1,000
400 0,964 0,999 1,000 1,000 1,000
500 0,987 1,000 1,000 1,000 1,000
600 0,995 1,000 1,000 1,000 1,000
700 0,998 1,000 1,000 1,000 1,000
800 0,999 1,000 1,000 1,000 1,000
900 1,000 1,000 1,000 1,000 1,000
1.000 1,000 1,000 1,000 1,000 1,000
Influência do Parâmetro $$\beta$$ na função de Ativação Tangente Hiperbólica

No gráfico abaixo apresento a mesma função em um formato tridimencional, onde o eixo z é a variação das alternativas para .

Influência do Parãmetro $$\beta$$ na função de Ativação Tangente Hiperbólica Visão Tridimensional ocnforme variação de $$\beta$$

Função Gausiana

x f(x;-10) f(x;-2) f(x;6)
-1.000 0,000 0,000 0,000
-900 0,000 0,000 0,000
-800 0,000 0,000 0,000
-700 0,000 0,000 0,000
-600 0,000 0,000 0,000
-500 0,000 0,000 0,000
-400 0,000 0,000 0,000
-300 0,000 0,000 0,000
-200 0,000 0,000 0,000
-100 0,000 0,000 0,000
0 0,801 0,991 0,923
100 0,000 0,000 0,000
200 0,000 0,000 0,000
300 0,000 0,000 0,000
400 0,000 0,000 0,000
500 0,000 0,000 0,000
600 0,000 0,000 0,000
700 0,000 0,000 0,000
800 0,000 0,000 0,000
900 0,000 0,000 0,000
1.000 0,000 0,000 0,000
função de Ativação Gausiana

No gráfico abaixo temos a mesma função em um formato tridimencional, onde o eixo z é a variação da posição do eixo central z, foi mantido fixo no valor 1.

função de Ativação Gausiana, demonstrando a variação da dispersão $$\sigma$$ conforme o eixo central $$c$$, sendo a formula de referência: $$f(x) = e ^{-/frac{(x-c)^2}{2\sigma^2}$$

Função Linear

A função linear pode ser do tipo identidade como na formula acima, ou pode ser proporcional, sendo seu objetivo acoplar a saida de uma rede neural a outra rede, compatiblizando nível de valores:

Neste caso será o fator de multiplicação para nivelar os sinais da rede.

No próximo post comento um pouco sobre as Redes do tipo Perceptron.

Caso esteja buscando aprender mais e compartilhar conhecimento, participe de nosso grupo no facebook: Artificial Intelligence and Neural Network

Ferramentas usadas para construir os gráficos

Nos links abaixo estão as ferramentas utilizadas para construir as formulas e gráficos, além de gerar os dados.

  • http://developer.wolframalpha.com/widgetbuilder/?_ga=1.243513221.1439349164.1470078370
  • http://www.mathe-fa.de/pt#result
  • http://detexify.kirelabs.org/classify.html
  • http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
  • https://domchristie.github.io/to-markdown/

Carlos Delfino

Escrito por:

Analista de Redes Windows e Linux, Analista de Desenvolvimento em diversas linguagens, incluindo para Microcontroladores, Consultor, mais de 20 anos de experiência no mercado de TICs

Google LinkedIn Digg Reddit StumbleUpon

Atualizado em