[PYTHON] Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C1W3)

introduction

C'est le contenu du cours 1, semaine 3 (C1W3) de Spécialisation en apprentissage profond.

(C1W3L01) Newral Network Overview

Contenu

(C1W3L02) Neural Network Representation

Contenu

--Explication d'une seule couche cachée (= réseau de neurones à 2 couches, lors du comptage des couches, la couche d'entrée n'est pas comptée, la couche cachée et la couche de sortie sont comptées)

(C1W3L03) Computing a Neural Network Output

Contenu

--Explication de la façon de calculer le réseau neuronal

z^{[1]} = W^{[1]} x + b^{[1]} \\
a^{[1]} = \sigma(z^{[1]}) \\
z^{[2]} = W^{[2]} a^{[1]} + b^{[2]} \\
a^{[2]} = \sigma(z^{[2]}) \\

(C1W3L04) Vectorizing Across Multiple Examples

Contenu

--Comment calculer plusieurs exemples de formation

Z^{[1]} = W^{[1]} X + b^{[1]} \\
A^{[1]} = \sigma\left(Z^{[1]}\right) \\
Z^{[2]} = W^{[2]} Z^{[1]} + b^{[2]} \\
A^{[2]} = \sigma\left(Z^{[2]}\right)
Z^{[1]} = \left[ z^{[1](1)}\,z^{[1](2)}\,\cdotsz^{[1](m)} \right] \\
A^{[1]} = \left[ a^{[1](1)}\,a^{[1](2)}\,\cdotsa^{[1](m)} \right]

Impressions

(C1W3L05) Explanation For Vectorized Implementation

Contenu

X = \left[x^{(1)} \, x^{(2)} \, \cdots x^{(m)}\right] \\
Z^{[1]} = \left[z^{[1](1)}\,z^{[1](2)}\,\cdotsz^{[1](m)}\right] \\
Z^{[1]} = W^{[1]} X + b^{[1]}

(C1W3L06) Activation functions

Contenu

--fonction sigmoïde - a = \frac{1}{1+e^{-z}}

fonction --tanh - a = \tanh z = \frac{e^z - e^{-z}}{e^z + e^{-z}}

(C1W3L07) Why do you need non-linear activation function

Contenu

――Pourquoi utiliser une fonction non linéaire pour la fonction d'activation? → Si vous en faites une fonction linéaire, même si vous augmentez le calque caché, ce ne sera finalement qu'une fonction linéaire, donc c'est inutile.

(C1W3L08) Derivatives of activation functions

Contenu

g(z) = \frac{1}{1+e^{-z}} \\
g^\prime(z) = g(z) \left( 1-g(z) \right)
g(z) = \tanh (z) \\
g^\prime(z) = 1-\left( \tanh(z) \right)^2
g(z) = \max\left(0, z\right) \\
g^\prime(z) = 0 \ (\text{if}\  z \lt 0) \\
g^\prime(z) = 1 \ (\text{if}\  z \ge 0)
g(z) = \max\left(0.01z, z\right) \\
g^\prime(z) = 0.01 \ (\textrm{if}\  z \lt 0) \\
g^\prime(z) = 1 \ (\textrm{if}\  z \ge 0)

(C1W3L09) Gradient descent for neural network

Contenu

Z^{[1]} = W^{[1]} X + b^{[1]} \\
A^{[1]} = g^{[1]}\left( Z^{[1]} \right) \\
Z^{[2]} = W^{[2]} A^{[1]} + b^{[2]} \\
A^{[2]} = g^{[2]}\left( Z^{[2]} \right) = \sigma \left( Z^{[2]} \right) 

-backpropagation

dZ^{[2]} = A^{[2]} - Y \ \ \left( Y = \left[ y^{(1)} \, y^{(2)} \, \cdots y^{(m)} \right] \right) \\
dW^{[2]} = \frac{1}{m} dZ^{[2]} A^{[1]\textrm{T}}\\
db^{[2]} = \frac{1}{m} \textrm{np.sum} \left( dZ^{[2]} \textrm{, axis=1, keepdims=True} \right)\\

dZ^{[1]} = W^{[2]\textrm{T}}dZ^{[2]} \ast g^{[1]\prime} \left(Z^{[1]}\right) \\
dW^{[1]} = \frac{1}{m}dZ^{[1]} X^{\text{T}} \\
db^{[1]} = \frac{1}{m} \textrm{np.sum} \left( dZ^{[1]} \textrm{, axis=1, keepdims=True} \right)\\

--Si vous n'ajoutez pas keepdims = True``` à np.sum```, ce sera un vecteur $ (n ^ {[i]},) $. Avec keepdims = True```, il devient un vecteur $ (n ^ {[i]}, 1) $. --Si vous n'ajoutez pas keepdims = True```, faites remodeler```

Impressions

--Les pointes de `` np.sum '' sont entrelacées avec désinvolture (il est important d'être conscient de la dimension)

(C1W3L10) Backpropagation Intuition (optional)

Contenu

(C1W3L11) Random Initialization

Contenu

W^{[1]} = \textrm{np.random.randn(2, 2)} \ast 0.01 \\
b^{[1]} = \textrm{np.zero((2, 1))}

référence

Recommended Posts

Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C3W1)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C1W3)
Dossier d'auto-apprentissage de la spécialisation en apprentissage profond (Coursera) (C4W3)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C1W4)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C2W1)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C1W2)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C3W2)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C2W2)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C4W1)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C2W3)
Spécialisation en apprentissage profond (Coursera) Dossier d'auto-apprentissage (C4W2)
Dossier d'apprentissage
Dossier d'apprentissage n ° 3
Dossier d'apprentissage n ° 1
Dossier d'apprentissage n ° 2
L'apprentissage en profondeur
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 9) Classe MultiLayerNet
Mémorandum d'apprentissage profond
Commencer l'apprentissage en profondeur
Apprentissage en profondeur Python
Apprentissage profond × Python
Mémo d'auto-apprentissage «Deep Learning from scratch» (10) Classe MultiLayerNet
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 11) CNN
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 19) Augmentation des données
Dossier d'apprentissage jusqu'à présent
Premier apprentissage profond ~ Lutte ~
Python: pratique du Deep Learning
Fonctions d'apprentissage en profondeur / d'activation
Apprentissage profond à partir de zéro
Fiche d'apprentissage 4 (8e jour)
Fiche d'apprentissage 9 (13e jour)
Fiche d'apprentissage 3 (7e jour)
Deep learning 1 Pratique du deep learning
Apprentissage profond / entropie croisée
Fiche d'apprentissage 5 (9e jour)
Fiche d'apprentissage 6 (10e jour)
Premier apprentissage profond ~ Préparation ~
Enregistrement d'apprentissage de la programmation 2ème jour
Première solution d'apprentissage en profondeur ~
Fiche d'apprentissage 8 (12e jour)
[AI] Apprentissage métrique profond
Fiche d'apprentissage 1 (4e jour)
Fiche d'apprentissage 7 (11e jour)
J'ai essayé le deep learning
Python: réglage du Deep Learning
Fiche d'apprentissage 2 (6e jour)
Technologie d'apprentissage en profondeur à grande échelle
Fiche d'apprentissage Linux ① Planifier
Fiche d'apprentissage 16 (20e jour)
Dossier d'apprentissage 22 (26e jour)
Fonction d'apprentissage profond / softmax
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 18) One! Miaou! Grad-CAM!
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 15) Tutoriel pour débutants TensorFlow