Red neuronal
En esta parte, estudiaremos los principios de las redes neuronales y escribiremos una red neuronal de 2 capas.
Las redes neuronales están formadas por neuronas interconectadas.
Escribí más sobre las neuronas en la parte anterior.
Las redes neuronales se dividen en capas:
Capa de entrada
Capas ocultas
Capa de salida
Las capas ocultas son capas entre la entrada y la salida, el número de capas ocultas puede ser cualquiera.
Escribiremos una red neuronal de 2 capas, capas de entrada y salida.
Primero, veamos los principios de las redes neuronales.
Como dije, las redes neuronales se dividen en capas. Cada capa contiene varias neuronas. Las salidas de todas las neuronas de una capa se envían a las entradas de todas las neuronas de la siguiente capa.
Un diagrama de red neuronal de 3 capas con 2 neuronas en la entrada, 3 ocultas, 1 salida se verá así
Esta conexión entre capas se denomina feedforward.
Como resultado, obtuvimos 3 capas y 6 neuronas.
Para proyectos grandes esto no es mucho, pero como recién estamos aprendiendo, escribiremos una red neuronal de 2 capas con 2 neuronas de entrada y 1 de salida.
Esquema de nuestra red neuronal
Creemos el archivo NeuronNet.py
Conectemos la clase de neuronas que escribimos en la última parte:
from Neuron import *
Describamos la clase NeuronNet y el constructor para ella en el archivo:
class NeuronNet:
def __init__(self):
self.n = []
for i in range(3):
self.n.append(Neuron(2))
En el constructor de la clase se crea una matriz de objetos de la clase Neuron de 3 neuronas de tamaño. Pasamos el número 2 a la neurona en los parámetros, ya que habrá 2 entradas para todas las neuronas.
, 3 1 2 , 1 2 :
def activate(self, inputs):
return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))
NeuronNet. NeuronNet.py.
NeuronNet.py:
from Neuron import *
class NeuronNet:
def __init__(self):
self.n = []
for i in range(3):
self.n.append(Neuron(2))
def activate(self, inputs):
return self.n[2].activate(np.array([self.n[0].activate(inputs), self.n[1].activate(inputs)]))
main.py, .
main.py numpy NeuronNet.py:
import numpy as np
from NeuronNet import *
:
net = NeuronNet()
:
x = np.array([1, 2])
print(net.activate(x))
:
import numpy as np
from NeuronNet import *
net = NeuronNet()
x = np.array([1, 2])
print(net.activate(x))
. :
python main.py
. .
Resumamos.
Hoy nosotros:
Aprendió los principios de las redes neuronales.
Aprendió los principios de la comunicación neuronal en redes neuronales.
Escribimos la clase NeuronNet en el lenguaje de programación Python
Lanzamos nuestra primera red neuronal
En la siguiente parte, implementaremos el entrenamiento de nuestra red neuronal.
Si tiene alguna pregunta después de leer el artículo, hágala en los comentarios.