[PYTHON] Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)

En lisant "Deep Learning from scratch" (écrit par Yasuki Saito, publié par O'Reilly Japan), je prendrai note des sites auxquels j'ai fait référence.

Il est naturel que de nouveaux mots et termes apparaissent dans de nouveaux champs, mais si ce sont des abréviations qui prennent la tête de l'alphabet, les non-anglais ne savent pas comment les lire. Il y a longtemps, lors de l'enseignement du COBOL dans une école professionnelle, la première chose sur laquelle les élèves sont tombés était la prononciation et la signification des instructions utilisées en COBOL. Je ne me souviens pas de ce que je ne peux pas prononcer et je ne peux pas l'utiliser.

En disant ça

Voici quelques mots que j'ai recherchés dans ce livre. Je lis, donc c'est dans l'ordre dans lequel ils apparaissent dans le livre.

Chapitre 1

Python
Python À l'origine, un mot anglais signifiant "Nishikihebi", alors lisez-le avec cette prononciation. Pourquoi un serpent? En parlant de cela, il existe un programme télévisé appelé Monty Python ... (Comme c'est une histoire célèbre, elle est omise)

NumPy  Nampai Il s'agit à l'origine d'une bibliothèque python pour des opérations numériques, je me suis donc demandé s'il serait acceptable d'utiliser Nampai avec le numéro Nan et le python pie.

SciPy  Saipai Parce que c'est pour le calcul scientifique et technologique (science science), Saipai. Il y a longtemps, on parlait d'appeler les romans SF (science-fiction) SF ou SciFi, mais c'est une histoire complètement différente.

TensorFlow Tenser Flow Au Japon, certaines personnes le lisent comme "Tensol Flow", mais les gens de Google le lisent comme Tenser Flow. Le mot tenseur est tenseur en anglais et tenseur en allemand. "Tensol" est le courant dominant dans la littérature japonaise liée à la science et à la technologie. C'est peut-être un mot qui a été établi avant la guerre.

Matplotlib  Matt Plot Rib Une bibliothèque qui permet à python d'utiliser le même logiciel d'analyse numérique que MATLAB. Mat semble être le mot original pour Matrix. plot est le mot anglais "draw a graph". Une bibliothèque qui représente graphiquement des matrices (tableaux).

Anaconda Anakonda À l'origine le nom d'un serpent sud-américain. Puisque python est un serpent, la distribution est probablement le nom du serpent.

Chapitre 2

AND  NAND  OR  XOR Et Nando ou Exor est la base du calcul logique.

chapitre 3

activation function  Fonction d'activation d'activation Plus tard, le mot activation (données de sortie après la fonction d'activation) apparaît.

sigmoid function Fonction Sigmaid le sigmoïde est en forme de S

exp()  exponential function Une fonction exponentielle avec e (nombre de napiers) comme base. exp (x) est e à la xième puissance. Il semble que certaines personnes le lisent correctement comme Exponential X, mais la X-ème puissance de E a du sens.

ReLU(Rectified Linear Unit)  Rel Une unité qui utilise une fonction linéaire rectifiée (fonction linéaire). Si vous connectez la lecture du mot original, il devient un rel. Il semble y avoir un autre nom pour la fonction de rampe, mais il ne serait pas naturel de le relire.

softmax  Softmax Une version souple de la fonction qui indique lequel des arguments est le maximum. Plus tard, il y aura une fonction appelée argmax

MNIST Modified National Institute of Standards and Technology database  Emnist Le NIST est l'Institut national des normes et de la technologie, une agence gouvernementale qui normalise les normes liées à la technologie, à l'industrie et à l'industrie américaines. S'agit-il d'une version modifiée de la base de données créée par NIST?

Chapitre 4

Fonction de perte

Fonction de perte

La fonction de perte est un indicateur de la «mauvaise» des performances du réseau neuronal. Il montre à quel point le réseau neuronal actuel correspond aux données de l'enseignant et à quel point il ne correspond pas aux données de l'enseignant.

Pente

Pente

Taux d'apprentissage

Taux d'apprentissage $ \ Eta $ Eta → Comment lire les caractères grecs

différentiel

\frac{dy}{dx}DWD X

Différenciation partielle

\frac{\delta f}{ \delta x}Del F Del X

Chapitre 5

Couche

couche Lay (pile à plat)

Affine  Il semble qu'il existe des termes tels que la conversion Affin Affin et l'espace Affin.

Chapitre 6

SGD stochastic gradient descent SGD: Ce genre de chose qui ne peut pas être lu est facile à comprendre. Descente de gradient stocastique Méthode de descente de gradient probabiliste Une des méthodes pour trouver les paramètres optimaux Plutôt qu'une probabilité, c'est comme si vous piquez dans le stock et que vous cherchez une direction où la pente descend.

Momentum Momentum Momentum Une des méthodes pour trouver le paramètre optimal

AdaGrad  Adagrad? Si vous connectez les lectures des mots originaux, cela ressemblera à ceci. Méthodes de sous-gradients adaptatifs Méthodes de sous-gradients adaptatifs? Une des méthodes pour trouver le paramètre optimal

Adam  Adam AdaGrad et Momentum ont fusionné? Une des méthodes pour trouver le paramètre optimal

Distribution gaussienne avec un écart type de 0,01

La distribution gaussienne est également appelée distribution normale. Parmi les distributions normales, la distribution de μ (valeur moyenne mu) = 0 et $ σ ^ 2 $ (variance sigma au carré) = 1 est appelée distribution normale standard, et peut être générée par la méthode randn dans le module rondom de la bibliothèque Numpy.

np.random.randn(node_num, node_num)

De plus, si vous utilisez la méthode normale, contrairement à randn, vous pouvez générer un tableau aléatoire qui suit une distribution normale dans laquelle μ (valeur moyenne) et σ (écart-type sigma) sont spécifiés arbitrairement.

np.random.normal(loc=0, scale=0.01, size=(node_num, node_num)) 

Cependant, P178 utilise la méthode randn au lieu de la méthode normale.

P178 Jusqu'à présent, la valeur initiale du poids a été Nous avons utilisé une petite valeur, telle que 0,01 * np.random.randn (10, 100), qui est 0,01 fois la valeur générée par la distribution gaussienne - une distribution gaussienne avec un écart type de 0,01.

Je ne suis pas familier avec ce domaine, mais lorsque je standardise le X normalement distribué et le convertis en distribution normale standard Z Il semble que $ Z = \ frac {X --μ} {σ} $, donc si la moyenne μ = 0 et l'écart type σ = 0,01, Parce que $ Z = \ frac {X} {0.01} $ X = 0.01 ×Z Cela signifie t-il?

Limitation de l'expressivité

P182 La répartition des activations dans chaque couche est nécessaire pour avoir une diffusion modérée. En effet, des données modérément diverses circulent à travers chaque couche, ce qui donne un réseau neuronal. C'est parce que le travail peut être appris efficacement. Au contraire, lorsque des données biaisées circulent, L'apprentissage peut échouer en raison de problèmes tels que la perte de distribution et la «limitation de l'expressivité». Je vais.

représentation? Je n'ai pas compris le sens du mot «expressivité» qui est apparu soudainement, j'ai donc cherché des documents qui pourraient être utiles.

L'expressivité est un concept qui exprime la taille d'un ensemble de fonctions qu'un modèle d'apprentissage automatique peut approcher. → Analyse mathématique et conception basée sur le pouvoir expressif des réseaux de neurones profonds avec des connexions à sauts résiduelles

L'un des faits les plus choquants concernant les réseaux de neurones est la capacité à représenter des fonctions arbitraires. Par exemple, supposons que quelqu'un vous donne une fonction complexe et ondulée f (x): pour chaque entrée x possible, quelle que soit sa fonction, la valeur de sortie est f (x) (ou une approximation de celle-ci). ) Il existe un réseau neuronal. → Preuve visuelle que le réseau de neurones peut représenter des fonctions arbitraires

Même avec un perceptron à trois couches, n'importe quelle fonction peut être approximée avec n'importe quelle précision en augmentant le nombre d'unités dans la couche intermédiaire à l'infini. Alors pourquoi vaut-il mieux être profond? Parce que le pouvoir d'expression augmente de façon exponentielle par rapport à la profondeur → La technologie d'apprentissage automatique et ses fondements mathématiques

Valeur initiale de Xavier

Du nom du chercheur Xavier Glorot Xavier? Missionnaire?

Valeur initiale de He

Du nom du chercheur, Kaiming He. quelle? Qui?

fonction tanh

Fonction bicourbe tangente hyperbolique \tanh x=\frac{\sinh x}{\cosh x} 6-6.jpg

Batch Normalization Normalisation par lots La normalisation est effectuée pour chaque mini-lot en unités de mini-lot lors de l'exécution de l'apprentissage.

Robuste à la valeur initiale

robuste <Personnes, physique, etc.> Robuste, solide, solide

P259 La robustesse mentionnée ici est, par exemple, un réseau de neurones dans une image d'entrée. Il a une propriété robuste que le résultat de sortie ne change pas même si un petit bruit est ajouté. à propos de ça. Grâce à une telle robustesse, les données circulant sur le réseau Même s'il est "détérioré", on peut considérer que l'effet sur le résultat de sortie est faible.

Surapprentissage surapprentissage

Surapprentissage J'ai appris à n'adapter que les données d'entraînement.

Weight decay Amortissement de la charge de décroissance du poids Une technique souvent utilisée depuis longtemps pour supprimer le surapprentissage

Norme L2

Montant représentant la "taille" de diverses choses La norme d'ordre p du vecteur à M dimensions x est la quantité définie ci-dessous.

∥x∥_p =(∑^M_i|x_i|^p)^{1/p}= \sqrt[p]{|x_1|^p + · · · + |x_M|^p} 

La norme L2 est la norme quadratique du vecteur à M dimensions x.

∥x∥_2 =(∑^M_i|x_i|^2)^{1/2}= \sqrt{|x_1|^2 + · · · + |x_M|^2} 

Quand c'est bidimensionnel, ça ressemble à ça.

∥x∥_2 = \sqrt{x_1^2 + x_2^2}

Du point de vue du théorème de Pitagolas, il s'agit de la longueur du côté diagonal d'un triangle rectangle. Si vous équarrez et supprimez l'itinéraire

r^2 = x^2 + y^2

Ensuite, il devient l'équation d'un cercle de rayon r centré sur l'origine.

alors

Si le poids est W, la décroissance du poids de la norme L2 est $ \ frac {1} {2} \ lambda \ W ^ 2 $, soit $ \ frac {1} {2} \ lambda \ W ^ 2 Ajoutez $ à la fonction de perte.

Donc, ajoutez 0,5 $ x λ x (w_1 ^ 2 + ··· + w_M ^ 2) $ à la fonction de perte. En tant qu'image, je dessine un cercle avec l'origine de la fonction de perte 0 (l'endroit où elle devient surajustement) et apprends vers elle, mais j'ai l'impression que je ne peux pas la mettre dans la circonférence? Lorsque les données d'exception sont mélangées dans les données d'entraînement et que le poids w devient grand pour tenter de faire correspondre l'exception, le cercle devient également grand et l'apprentissage est bloqué, et lorsque les données d'exception sont ignorées et que le poids w devient petit, le cercle devient également petit et l'apprentissage. Cela signifie-t-il que vous ne bloquez pas?

λ Résistance à la décroissance du poids lambda (norme L2)

Dropout Abandon: une méthode d'apprentissage tout en effaçant au hasard les neurones pour supprimer le surapprentissage

Hyper-paramètre

Nombre de neurones dans chaque couche, taille du lot, coefficient d'apprentissage lors de la mise à jour des paramètres, décroissance du poids, etc.

Classe "CS231n" de l'Université de Stanford

CS231n: Convolutional Neural Networks for Visual Recognition

Chapitre 7

CNN convolutional neural network CNN: Ce genre de chose qui ne peut pas être lu est facile à comprendre. Réseau de neurones à convolution tourbillonnement convolutif

Couche de convolution

Tourbillon de convolution On a l'impression que le filtre circule sur les données d'entrée?

Rembourrage

pad "Remplissage pour mise en forme" Remplissez la zone autour des données d'entrée avec 0 pour les façonner.

Foulée

Chevaucher ~

Couche de regroupement

mise en commun Utilisation partagée

im2col C'est une abréviation pour image à colonne, donc Imtukar? De l'image à la matrice

Informations primitives telles que le bord et le blob

LeNet Renette? Si vous lisez en français, lisez Le comme le. Réseau de neurones convolutifs créé par le Français Yann LeCun

AlexNet Alex Net Réseau de neurones convolutifs créé par Alex Krizhevsky

Site référencé

Comment lire les caractères grecs Aide-mémoire sur la formule de Qiita [Machine learning] Qu'est-ce que la norme LP?

Recommended Posts

Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 9) Classe MultiLayerNet
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
Apprentissage profond à partir de zéro
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [Chapitre 5]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 18) One! Miaou! Grad-CAM!
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 15) Tutoriel pour débutants TensorFlow
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 13) Essayez d'utiliser Google Colaboratory
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 10-2) Valeur initiale du poids
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Apprentissage profond à partir de zéro 1 à 3 chapitres
Deep learning / Deep learning from scratch 2 Chapitre 4 Mémo
Deep learning / Deep learning made from scratch Chapitre 3 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 5 Mémo
Apprentissage profond à partir de zéro (calcul des coûts)
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 7 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 8 Mémo
Deep learning / Deep learning made from scratch Chapitre 5 Mémo
Deep learning / Deep learning made from scratch Chapitre 4 Mémo
Deep learning / Deep learning from scratch 2 Chapitre 3 Mémo
Mémo d'apprentissage profond créé à partir de zéro
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 6 Mémo
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 16) J'ai essayé de créer SimpleConvNet avec Keras
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 17) J'ai essayé de créer DeepConvNet avec Keras
Apprentissage profond à partir de zéro (propagation vers l'avant)
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
"Deep Learning from scratch" avec Haskell (inachevé)
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
[Deep Learning from scratch] À propos de l'optimisation des hyper paramètres
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 14) Exécutez le programme du chapitre 4 sur Google Colaboratory
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 8) J'ai dessiné le graphique du chapitre 6 avec matplotlib
Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"
GitHub du bon livre "Deep Learning from scratch"
Django memo n ° 1 à partir de zéro
Résumé Python vs Ruby "Deep Learning from scratch"
[Deep Learning from scratch] J'ai implémenté la couche Affine
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
[Deep Learning from scratch] J'ai essayé d'expliquer le décrochage
Apprentissage profond / code de travail LSTM
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 1
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 2
Créez un environnement pour "Deep Learning from scratch" avec Docker
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 3
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 7
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait de zéro Note: Chapitre 1