Neurônio
Neste artigo, você aprenderá o básico de como funcionam os neurônios artificiais. Em artigos subsequentes, aprenderemos o básico sobre redes neurais e escreveremos uma rede neural simples em python.
As redes neurais são compostas de neurônios conectados uns aos outros, portanto, um neurônio é a parte principal de uma rede neural. Os neurônios realizam apenas 2 ações: eles multiplicam os dados de entrada pelos pesos e os somam e somam o bias, e a segunda ação é a ativação.
Agora mais sobre os dados de entrada, pesos, vieses e a função de ativação.
Os dados de entrada são dados que um neurônio recebe de neurônios anteriores ou do usuário.
Pesos são atribuídos a cada entrada do neurônio, inicialmente eles são atribuídos a números aleatórios. Ao treinar uma rede neural, o valor dos neurônios e dos deslocamentos muda. Os pesos são multiplicados pelos dados de entrada que são fornecidos ao neurônio.
Os deslocamentos são atribuídos a cada neurônio, assim como os pesos do viés inicial, são números aleatórios. Os deslocamentos tornam mais fácil e rápido treinar a rede neural.
A função de ativação que usaremos em nossa rede neural é chamada sigmóide. A fórmula sigmóide é:
Esta função envolve qualquer número de -∞ a + ∞ no intervalo de 0 a 1.
Se descrevermos matematicamente as tarefas que o neurônio realiza, obteremos 2 fórmulas: Notação:
f (x) - função de ativação
x - a soma do produto dos dados de entrada com os pesos e o viés
i - matriz de dados de entrada
w -
b -
j -
python.
numpy. Linux Window:
pip install numpy
:
import numpy as np
Neuron, :
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
, , . . :
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
, . :
def sig(x):
return 1 / (1 + np.exp(-x))
Math.py
numpy:
import numpy as np
Neuron.py. Neuron.py Math.py:
from Math import *
2 :
Neuron.py
import numpy as np
from Math import *
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
Math.py
import numpy as np
def sig(x):
return 1 / (1 + np.exp(-x))
.
, :
,
Python
- .