[PYTHON] Implémenter un réseau neuronal à 3 couches

Cet article est un mémo d'apprentissage de Deep Learning from scratch.

Le point

Diagramme de réseau de neurones à 3 couches

Untitled_ニューロンネットワーク_-_Cacoo.png

Fonction Sigmaid

  h(x) = \frac{1}{1+ \mathrm{e}^{-x}}

Formule de conversion de chaque neurone

  a = w_1x_1+w_2x_2+b  
  z = h(a) 

Mettre en œuvre un réseau de neurones à trois couches

py3:3layered_neuralnetwork.py.py


import numpy as np
import matplotlib.pyplot as plt

#Initialisation du poids et du biais
def init_network():
    network = {}
    #1ère couche
    network['W1'] = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]])
    network['b1'] = np.array([0.1, 0.2, 0.3])
    #2ème couche
    network['W2'] = np.array([[0.1, 0.4], [0.2, 0.5], [0.3, 0.6]])
    network['b2'] = np.array([0.1, 0.2])
    #3e couche
    network['W3'] = np.array([[0.1, 0.3], [0.2, 0.4]])
    network['b3'] = np.array([0.1, 0.2])

    return network

#Entrée → sortie
def forward(network, x):
    W1, W2, W3 = network['W1'], network['W2'], network['W3']
    b1, b2, b3 = network['b1'], network['b2'], network['b3']

    #1ère couche
    a1 = np.dot(x, W1) +b1  # A = XW +B
    z1 = sigmoid(a1)        # Z = h(A)
    #2ème couche
    a2 = np.dot(z1, W2) +b2
    z2 = sigmoid(a2)
    #3e couche
    a3 = np.dot(z2, W3) +b3
    y = identity_function(a3)   #Seule la dernière couche a une fonction d'activation différente

    return y

#Fonction Sigmaid(Fonction d'activation)
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

#Fonction égale(Fonction d'activation)
def identity_function(x):
    return x

#Vérifiez le fonctionnement ci-dessous
network = init_network()
x = np.array([1.0, 0.5])
y = forward(network, x)
print(y) # [0.31682708  0.69627909]

Recommended Posts

Implémenter un réseau neuronal à 3 couches
Implémenter un réseau neuronal convolutif
Implémenter le réseau neuronal à partir de zéro
Visualisez la couche interne du réseau neuronal
Implémentation d'un réseau de neurones à deux couches 2
Qu'est-ce que le réseau neuronal convolutif?
J'ai essayé de mettre en œuvre un réseau de neurones à deux couches
Composez avec un réseau neuronal! Run Magenta
Implémentation d'un réseau neuronal à 3 couches (pas d'apprentissage)
Réseau neuronal paramétrique
Expérimentez avec divers algorithmes d'optimisation sur le réseau neuronal
Apprentissage par renforcement 10 Essayez d'utiliser un réseau neuronal formé.
Expérience de réseau de neurones pliable
Entraînez les données MNIST avec PyTorch en utilisant un réseau neuronal
L'histoire de la création d'un réseau neuronal de génération musicale
Implémentez un réseau de neurones feedforward dans Chainer pour classer les documents
Bases de PyTorch (2) -Comment créer un réseau de neurones-
Implémentation d'un réseau de neurones convolutifs utilisant uniquement Numpy
Créez une application Web qui reconnaît les nombres avec un réseau neuronal
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
Réseau de neurones avec Python (scikit-learn)
3. Distribution normale avec un réseau neuronal!
Réseau de neurones pour comprendre et mettre en œuvre en mathématiques au secondaire
Réseau de neurones commençant par Chainer
Essayez de créer un réseau de neurones en Python sans utiliser de bibliothèque
Implémentation de réseau neuronal en python
Tutoriel sur le réseau neuronal (CNN) de Pytorch 1.3.1.
4. Entourez les paramètres avec un réseau neuronal!
Construction d'un réseau neuronal qui reproduit XOR par Z3
[Recherche causale / inférence causale] Implémentez un réseau Basian avec des données Titanic
Implémentation de réseau neuronal (NumPy uniquement)
Tutoriel TensorFlow - Réseau neuronal à convolution (traduction)
J'ai fait un générateur de réseau neuronal qui fonctionne sur FPGA
[Deep Learning from scratch] À propos des couches requises pour implémenter le traitement de rétropropagation dans un réseau neuronal
Comprendre le nombre de paramètres d'entrée / sortie du réseau neuronal convolutif
Implémentation simple d'un réseau neuronal à l'aide de Chainer
Réseau neuronal avec OpenCV 3 et Python 3
Implémenter un paramètre de date dans Tkinter
PRML Chapitre 5 Implémentation Python du réseau neuronal
Modèle de classification simple avec réseau neuronal
Ecrire un réseau résiduel avec TFLearn
Implémenter l'application Django sur Hy
[TensorFlow] [Keras] Construction d'un réseau neuronal avec Keras
Théorie et implémentation simples des réseaux neuronaux
Touchez l'objet du réseau neuronal
[Traitement du langage 100 coups 2020] Chapitre 8: Réseau neuronal
Créez un classificateur avec un taux de reconnaissance de l'écriture manuscrite de 99,2% à l'aide du réseau neuronal convolutif TensorFlow
Création d'un modèle de discrimination d'image (cifar10) à l'aide d'un réseau neuronal convolutif