[PYTHON] Expérience de réseau de neurones pliable

J'étudie l'apprentissage profond pour une raison quelconque. Jusqu'à présent, j'ai écrit sur la touche d'apprentissage en profondeur chez Qiita.

Implémentation de réseau neuronal simple à l'aide de Chainer Implémentation de réseau neuronal simple à l'aide de la préparation Chainer-Data- Implémentation de réseau neuronal simple à l'aide de la description du modèle Chainer- Implémentation de réseau neuronal simple en utilisant Chainer-setting de l'algorithme d'optimisation-

Mon objectif est de créer une application qui lit les images et classe ce qu'elles sont, donc j'étudie les réseaux de neurones convolutifs. Sans parler de l'étude de la théorie, j'ai décidé d'expérimenter ce que signifie réellement laisser une machine apprendre des images.

Profitez de la sagesse de nos prédécesseurs

J'ai trouvé cet article une fois et je l'ai trouvé intéressant. Les six enfants d'Osomatsu-san peuvent-ils être identifiés par apprentissage profond ~ Mise en œuvre ~

Ce classificateur utilise un modèle modifié basé sur ImageNet appelé le modèle NIN de chaînage. Le blog auquel je faisais référence Salut-roi http://hi-king.hatenablog.com/entry/2015/06/11/021144 Quand shi3z http://d.hatena.ne.jp/shi3z/20150709/1436397615 est.

Je voulais exécuter l'exemple ImageNet, j'ai donc décidé de me référer à ces blogs. (Surtout, j'ai toujours lu le blog de shi3z !!!)

Cependant, comme les spécifications du chainer changent à chaque fois que la version change, il a fallu faire attention en se référant à ces articles il y a plus d'un an. Les points d'achoppement sont résumés dans ici.

Après cela, vous pouvez apprendre en vous référant aux deux articles ci-dessus.

Environnement d'exécution

J'écrirai l'environnement d'exécution pour référence. OS:Ubuntu14.04 GPU:GeForce GTX 750 Ti memory:8GB

Entraine toi

État pendant l'apprentissage

Screenshot from 2016-12-25 16:14:02.png

L'apprentissage se termine lorsque l'erreur approche 0,2. Si l'erreur est trop faible, elle sera surapprise.

l'époque est le cycle d'apprentissage. L'apprentissage progresse à mesure que le nombre de fois augmente. Par exemple, voici l'image que j'ai essayé de reconnaître cette fois.

dalmatian.jpg

C'est un joli darmesien. Puisqu'il y avait du Dalmesian à l'image d'ImageNet, j'ai adopté le Dalmesian cette fois.

Image ImageNet Dalmesian Screenshot from 2016-12-25 16:25:30.png

Il existe également des images de ballons de football qui ont des caractéristiques similaires (taches noires et blanches) au dalmesien, comme le yin et le yang.

Résultat d'apprentissage

Tout d'abord, voici le résultat lorsqu'une seule époque est apprise Screenshot from 2016-12-25 16:18:56.png

La probabilité d'être un avion est de 43,1%.

おまえは何を言っているんだ.jpg

Je ne suis toujours pas intelligent.

Mais quand cela va 28 epoch,

Screenshot from 2016-12-25 16:19:35.png

99,9% de chances d'être dalmesien

20c003f3.png

Je suis devenu plus intelligent.

en conclusion

Tout d'abord, j'ai pu découvrir ce que signifie classer des images dans des machines. Quant aux projets futurs, -Apprenez votre image préférée, pas un échantillon -Comprendre les principes des réseaux de neurones convolutifs J'étudierai dans le but de.

référence

Les six enfants d'Osomatsu-san peuvent-ils être identifiés par apprentissage profond? http://bohemia.hatenablog.com/entry/2015/11/22/174603

La classification des images se fait avec le chainer de framework d'apprentissage en profondeur de PFN (Neural net 1 with chainer) http://hi-king.hatenablog.com/entry/2015/06/11/021144

Apprenez en profondeur et reconnaissez votre image avec NIN de Chainer http://d.hatena.ne.jp/shi3z/20150709/1436397615

Recommended Posts

Expérience de réseau de neurones pliable
Implémenter un réseau neuronal convolutif
Réseau neuronal paramétrique
Essayez d'utiliser TensorFlow-Part 2-Convolution Neural Network (MNIST)
[Chainer] Classification des documents par réseau de neurones convolutifs
Une autre méthode de conversion de style utilisant le réseau neuronal convolutif
Implémenter le réseau neuronal à partir de zéro
Modèle utilisant un réseau neuronal convolutif dans le traitement du langage naturel
Implémentation d'un réseau de neurones convolutifs utilisant uniquement Numpy
Implémenter un réseau neuronal à 3 couches
Réseau de neurones avec Python (scikit-learn)
Réseau de neurones commençant par Chainer
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!
Implémentation de réseau neuronal (NumPy uniquement)
Tutoriel TensorFlow - Réseau neuronal à convolution (traduction)
[Apprentissage en profondeur] Classification d'images avec un réseau neuronal convolutif [DW jour 4]
Série d'accélération CNN ~ FCNN: Introduction du réseau neuronal convolutif de Fourier ~
Implémentation simple d'un réseau neuronal à l'aide de Chainer
Réseau neuronal avec OpenCV 3 et Python 3
Implémentation d'un réseau de neurones à deux couches 2
PRML Chapitre 5 Implémentation Python du réseau neuronal
Modèle de classification simple avec réseau neuronal
J'ai essayé de mettre en œuvre un réseau de neurones à deux couches
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
réseau
Comprendre le nombre de paramètres d'entrée / sortie du réseau neuronal convolutif
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
Prédiction des survivants à l'aide du réseau neuronal titanesque de Kaggle [80,8%]
Composez avec un réseau neuronal! Run Magenta
Prédire les données de séries chronologiques avec un réseau neuronal
Implémentation d'un réseau neuronal à 3 couches (pas d'apprentissage)
Persister le réseau de neurones construit avec PyBrain
Liste des travaux gagnants du défi de la console de réseau neuronal
Implémentation de réseaux neuronaux "flous" avec Chainer
Implémentation de réseau neuronal simple à l'aide de la préparation Chainer-Data-
Tutoriel [PyTorch] (version japonaise) ③ ~ NEURAL NETWORKS (Neural Network) ~
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Implémentation de réseau neuronal simple à l'aide de la description du modèle Chainer-
2. Écart moyen et standard avec le réseau neuronal!