[PYTHON] Dossier d'apprentissage n ° 24 (28e jour)

Dossier d'apprentissage (28e jour)

Début des études: samedi 7 décembre

Matériel pédagogique, etc.: ・ Miyuki Oshige "Détails! Note d'introduction à Python3 »(Sotech, 2017): 12/7 (sam) -12/19 (jeu) lu ・ Progate Python course (5 cours au total): 12/19 (jeudi) -12/21 (samedi) fin ・ Andreas C. Müller, Sarah Guido "(titre japonais) Apprentissage automatique à partir de Python" (O'Reilly Japon, 2017): 21/12 (sam) -23 décembre (sam) ・ Kaggle: Real or Not? NLP with Disaster Tweets: Publié du samedi 28 décembre au vendredi 3 janvier Ajustement ・ Wes Mckinney "(titre japonais) Introduction à l'analyse de données par Python" (O'Reilly Japon, 2018): 1/4 (mercredi) à 1/13 (lundi) lire ・ ** Yasuki Saito "Deep Learning from Zero" (O'Reilly Japan, 2016): 1/15 (mercredi) ~ **

«Apprentissage profond à partir de zéro»

p.239 Chapitre 7 Fin de la lecture jusqu'au réseau de neurones convolutifs.

Chapitre 6 Techniques d'apprentissage

-Optimisation: Trouver les paramètres optimaux qui peuvent réduire au maximum la valeur de la fonction de perte. L'espace des paramètres est complexe et un problème très difficile. Il existe plusieurs optimiseurs.

W ← W - η\frac{\partial L}{\partial W}

η est le taux d'apprentissage. Mettez à jour le côté gauche avec la valeur sur le côté droit. L'inconvénient de SGD est que le chemin de recherche a tendance à être inefficace si la fonction est allongée, c'est-à-dire si elle n'est pas isotrope.

v ← αv - η\frac{\partial L}{\partial L}
W ← W + v
h ← h + \frac{\partial L}{\partial W} ⊙ \frac{\partial L}{\partial W}
W ← W - η\frac{1}{\sqrt{h}}\frac{\partial L}{\partial W}

⊙ est l'opérateur Adamar. Cela signifie multiplication pour chaque élément de la matrice. Plus h est grand (meilleur est le mouvement), plus le coefficient d'apprentissage est petit. En d'autres termes, l'échelle d'apprentissage est ajustée lorsque les paramètres sont mis à jour.

・ Comme mentionné ci-dessus, il existe différentes méthodes d'optimisation, mais chacune a ses propres forces et faiblesses, il est donc impossible de dire laquelle est la meilleure. (Cependant, de nombreuses études indiquent que SGD est préféré.)

・ ** Décroissance du poids **: Une méthode visant à apprendre afin que le paramètre de poids devienne plus petit. En réduisant le poids, le surapprentissage est moins susceptible de se produire, ce qui est proche d'améliorer les performances de généralisation. (Cependant, "0" rompt la structure contrastée des pondérations et tous ont des valeurs similaires.)

-Valeur initiale de ** He **: Pour n nœuds, utilisez une distribution gaussienne avec un écart type de (2 / √n) comme valeur initiale. Convient pour ReLU. Dans le cas de ReLU, la région négative devient 0, donc elle peut être interprétée comme multipliant par un double coefficient afin d'avoir un spread plus large.

・ ** Normalisation des lots **: elle est souvent utilisée dans les méthodes et les compétitions conçues en 2015. Il y a des avantages tels qu'une progression rapide de l'apprentissage, une moindre dépendance aux valeurs initiales et la suppression du surapprentissage. La distribution des données est normalisée en insérant ce que l'on appelle une couche Batch Norm entre Affine et ReLU. ** Normaliser pour chaque mini-lot en unités de mini-lot pour l'apprentissage **.

・ Pour l'optimisation, commencez par définir approximativement, observez le résultat de la précision de la reconnaissance et réduisez progressivement la plage où les bonnes valeurs existent. ** Dans le cas des réseaux de neurones, il a été rapporté que les recherches échantillonnées aléatoirement donnent de meilleurs résultats que les recherches régulières telles que les recherches de grille. ** ** En gros, la norme est une échelle de puissance de 10, 10 ^ (-3) à 10 ^ (3). Il est efficace de réduire l'époque de l'apprentissage car il faut renoncer à des choses qui semblent mauvaises à un stade précoce. Une époque est une unité lorsque toutes les données sont épuisées. Si vous voulez entraîner 10000 données dans 100 mini-lots, 100 fois = 1 époque, enregistrement d'apprentissage 22

・ L'optimisation bayésienne est également efficace. J'ai eu de nombreuses chances de le voir sur Kaggle.

Chapitre 7 Réseau neuronal à convolution

・ ** Réseau neuronal convoluntionnel (CNN) ** En plus du réseau de neurones habituel, le concept de ** «couche de convolution» et de «couche de regroupement» ** est ajouté. Deux exemples typiques sont ** LeNet ** et ** AlexNet **.

-Remplacer la connexion de couche "Affine --ReLU (sigmoïde)" par la connexion "Convoluntion --ReLU (sigmoïde) - (Pooling)". (Cependant, la partie près du calque de sortie est comme d'habitude.)

-La couche Affine utilise une couche entièrement connectée qui relie tous les neurones. Le problème avec ceci est qu'en traitant toutes les données d'entrée comme des neurones équivalents (même dimension), les informations sur la forme ne peuvent pas être utilisées. D'autre part, la couche Convoluntion sort les données d'entrée vers la couche suivante dans la même dimension, afin que les données puissent être comprises plus correctement (éventuellement).

-Opération de pliage: appliquez la fenêtre de filtre aux données d'entrée en la faisant glisser à intervalles réguliers. La variable qui ajuste l'intervalle d'application du filtre est appelée foulée. (Parlez de combien il faut changer et s'adapter)

-Remplissage: remplissez la zone autour des données d'entrée avec des données fixes (telles que 0).

-Pooling: Une opération qui réduit les espaces verticaux et horizontaux. Regardez la matrice 4x4 pour chaque zone 2x2, et dans le cas de la mise en commun Max, par exemple, effectuez des opérations telles que l'extraction et la sortie de la valeur maximale pour chaque zone.

-Il existe une fonction appelée ** im2col ** qui applique ces opérations de convolution. im2col est une fonction qui étend les données d'entrée afin qu'elles conviennent au filtre, et étend la zone applicable du filtre une colonne à la fois depuis le début. Après expansion, il sera plus grand que le nombre d'éléments dans le bloc d'origine et consommera beaucoup de mémoire, mais ** Le calcul de la matrice lui-même est hautement optimisé, il est donc très possible de le réduire à la forme de cette matrice. Il y a de nombreux avantages à. ** **

-Le filtre de couche de convolution peut extraire des informations primitives telles que des blobs (zones localement groupées) et des bords (bords où les couleurs changent) et les afficher dans la zone suivante. ..

Recommended Posts

Dossier d'apprentissage n ° 21 (25e jour)
Dossier d'apprentissage n ° 10 (14e jour)
Dossier d'apprentissage n ° 24 (28e jour)
Dossier d'apprentissage n ° 23 (27e jour)
Dossier d'apprentissage n ° 25 (29e jour)
Dossier d'apprentissage n ° 26 (30e jour)
Dossier d'apprentissage n ° 20 (24e jour)
Dossier d'apprentissage n ° 14 (18e jour) Kaggle4
Dossier d'apprentissage n ° 15 (19e jour) Kaggle5
Fiche d'apprentissage 4 (8e jour)
Fiche d'apprentissage 9 (13e jour)
Fiche d'apprentissage 3 (7e jour)
Fiche d'apprentissage 5 (9e jour)
Fiche d'apprentissage 6 (10e jour)
Fiche d'apprentissage 8 (12e jour)
Fiche d'apprentissage 1 (4e jour)
Fiche d'apprentissage 7 (11e jour)
Fiche d'apprentissage 2 (6e jour)
Fiche d'apprentissage 16 (20e jour)
Dossier d'apprentissage 22 (26e jour)
Fiche d'apprentissage 13 (17e jour) Kaggle3
Dossier d'apprentissage n ° 17 (21e jour)
Fiche d'apprentissage 12 (16e jour) Kaggle2
Dossier d'apprentissage n ° 18 (22e jour)
Dossier d'apprentissage n ° 19 (23e jour)
Dossier d'apprentissage n ° 29 (33e jour)
Dossier d'apprentissage n ° 28 (32e jour)
Dossier d'apprentissage n ° 27 (31e jour)
Fiche d'apprentissage 11 (15e jour) Participation de Kaggle
Enregistrement d'apprentissage de la programmation 2ème jour
Dossier d'apprentissage
Dossier d'apprentissage n ° 3
Dossier d'apprentissage n ° 1
Dossier d'apprentissage n ° 2
Apprentissage Python jour 4
Fiche d'apprentissage (2ème jour) Scraping par #BeautifulSoup
Fiche d'apprentissage (4e jour) #Comment obtenir le chemin absolu à partir du chemin relatif
Dossier d'apprentissage jusqu'à présent
Fiche d'apprentissage Linux ① Planifier
<Cours> Apprentissage en profondeur: Day2 CNN
Fiche d'apprentissage (3e jour) Méthode de description du sélecteur #CSS #Scraping avec BeautifulSoup
<Cours> Apprentissage en profondeur: Jour 1 NN
Enregistrement d'apprentissage (6ème jour) #Set type #Dictionary type #Conversion automatique de l'ensemble de taples de liste #ndarray type #Pandas (type DataFrame)
Sujets> Deep Learning: Day3 RNN
Étudiez en profondeur le Deep Learning [DW Day 0]