Cet article
Bien que ce soit également dans le titre, il s'agit d'un article sur un disque laissé par un amateur qui n'est ni un chercheur en Deep Learning ni quoi que ce soit, alors pardonnez-moi toute erreur et lisez-le. (S'il y a quelque chose qui ne va pas, j'apprécierais que vous le signaliez dans les commentaires)
En gros, il existe différents points de vue, mais Deep Learning rend Neural Network, qui est connu comme une sorte d'apprentissage automatique, étonnamment multicouche (Deep), et une grande quantité de données (images, etc.) qui ne peuvent être communément connues jusque-là. C'est l'une des méthodes d'apprentissage automatique qui permet d'apprendre des concepts d'ordre supérieur tels que les caractéristiques et les significations contenues dans les données à l'aide de la voix.
Deep Learning est né dans Paper publié par Geoffrey Hinton et al. Autour de l'année, dans le [Concours célèbre] de reconnaissance d'image (http://www.image-net.org/), c'était une évolution graduelle qui améliorait les performances de 1 à 2% par an, mais il était classé deuxième ou moins. Il s'est fait remarquer en remportant le championnat avec une énorme différence de performance de reconnaissance de 10% ou plus.
Récemment, Google a déclaré que les ordinateurs peuvent reconnaître les chats. Il a été rapporté que l'équipe UC Berkley a appris à utiliser le Deep Learning pour aider les robots à effectuer automatiquement des tâches simples.
De cette manière, il est également appliqué à l'apprentissage des robots, etc., et il est polyvalent car il a des performances extrêmement élevées et la machine peut automatiquement apprendre des pièces d'artisanat telles que les caractéristiques d'image conçues par des humains jusqu'à présent. Il attire l'attention en raison de sa haute sexualité et la recherche est promue partout dans le monde.
Bien sûr, je n'ai pas eu de mal à comprendre diverses choses (j'y suis toujours pas du tout), mais pour le moment, les amateurs vont commencer le Deep Learning! Avant cela, je n'écrirai brièvement que trois choses que vous devez savoir Neural Network Le Deep Learning est un type de réseau neuronal. Vous devez donc connaître le réseau neuronal. Alors, quel est exactement le réseau neuronal?
Neural Network est un modèle simplifié des échanges de signaux électriques effectués par les neurones du cerveau.
Dans Neural Network, les neurones sont modélisés comme celui qui émet un signal lorsque l'entrée pondérée dépasse un certain seuil, et plusieurs d'entre eux sont préparés et connectés.
Extrait de Wikipedia
Dans cet exemple, il y a 3 neurones en entrée, 4 en caché et 2 en sortie, l'entrée est connectée à caché et caché est connecté à la sortie dans un sens (il y a aussi un réseau de neurones qui se connecte les uns aux autres, mais je ne vais pas l'expliquer. ) De plus, bien que non représenté sur la figure, pensez que le poids ci-dessus est sur chaque flèche. Ensuite, procédez comme suit:
J'omettrai les détails des formules, mais celles-ci seront finalement exprimées et calculées sous forme d'opérations matricielles. Pour le moment, je pense qu'il serait bon d'avoir l'image que chaque neurone reçoit l'entrée d'autres neurones et la transmet au neurone suivant qui est au-dessus d'un certain niveau. En faisant cela, nous avons pu modéliser l'échange de signaux électriques qui se propagent les uns après les autres dans le cerveau.
Dans Deep Learning, augmentez le nombre de couches (deep = Deep) pour que cela devienne Entrée → Caché → Caché → ・ ・ ・ (plusieurs) ・ ・ ・ → Caché → Sortie.
Ensuite, par exemple, placez l'image, c'est-à-dire la valeur de chaque pixel dans Input, et ajustez la valeur de poids de sorte que le neurone supérieur de Output soit 1 si l'image est un chat et 0 sinon. C'est apprendre sur le réseau neuronal Ensuite, (espérons-le) ce neurone se déclenchera s'il s'agit d'un chat, cela se déclenchera s'il s'agit d'un humain, et ainsi de suite, la sortie répondra en fonction de l'image d'entrée, et le réseau créera un concept plus élevé de chat ou d'humain à partir de l'image. Vous pourrez reconnaître
GPU Après tout, Neural Network répète les opérations de la matrice pour procéder à l'apprentissage. Bien sûr, le calcul se fait à l'aide d'un ordinateur, mais en Deep Learning, comme le nom l'indique "Deep", l'opération de matrice s'exécute beaucoup pendant l'apprentissage. Si le calcul prend beaucoup de temps, cela peut prendre des jours pour obtenir le résultat d'apprentissage, ce qui pose problème.
Nous utilisons donc GPU. Le GPU est à l'origine destiné à accélérer le traitement graphique que le CPU ne peut pas faire beaucoup, mais le GPU a plus de cœurs que le CPU et crée des milliers de threads pour traiter la même chose en parallèle. Il a la particularité de bien le faire avec sérieux. En revanche, les opérations matricielles répètent la somme et le produit des lignes et des colonnes, mais elles peuvent être calculées indépendamment (le calcul des lignes 2 et des colonnes 2 doit être attendu pour la multiplication des lignes 1 et des colonnes 1). Ce n'est pas que vous ne pouvez pas le faire), il est donc très approprié pour le traitement sur GPU. L'utilisation de GPU au lieu de CPU réduit le temps requis pour l'apprentissage final, il est donc très courant dans la zone Deep Learning d'utiliser des GPU pour les calculs, et il est recommandé d'utiliser des GPU dans les bibliothèques décrites ci-dessous.
En particulier, la bibliothèque d'utilisation du GPU appelée CUDA émise par nVidia est souvent utilisée. Veuillez vérifier s'il s'agit d'un GPU compatible CUDA tel qu'il est écrit dans le mode d'emploi de la carte graphique avec la puce nVidia. Liste des puces compatibles CUDA (Je suis désolé si ce n'est pas nVidia en premier lieu. Si la carte graphique compatible CUDA est bon marché, vous pouvez l'acheter à partir d'environ 20 000 yens!)
Au fait, je n'ai pas un tel GPU! Je n'ai pas l'intention de l'acheter! Même si vous dites cela, Caffe, qui sera décrit plus tard, peut exécuter l'apprentissage (même si ce sera plus lent) même si vous utilisez le processeur. De plus, si les données sont petites, l'apprentissage peut être effectué en quelques dizaines de secondes à quelques minutes, même avec le processeur.
Pour le moment, je pense que vous devez vous rappeler que si vous utilisez GPU en Deep Learning, l'apprentissage se terminera plus rapidement que le CPU.
Pour démarrer avec Deep Leaning, vous pouvez coder à partir de zéro pour modéliser Neuron et créer des mécanismes d'apprentissage, mais Deep Learning dispose d'une bibliothèque pratique pour faciliter l'apprentissage. Beaucoup sont ouverts au public Ici, nous allons faire du Deep Learning en utilisant Caffe, qui est l'une des bibliothèques qu'il contient.
En plus de Caffe, il existe des bibliothèques telles que Theano et Torch.
Il n'y a pas de raison claire, mais l'information selon laquelle c'est plus facile (probablement) que Theano, et que la bibliothèque est écrite en C ++ et peut être utilisée à partir de Python, il semble donc que le seuil d'apprentissage en termes de langage de programmation soit bas, alors voici Caffe Procéder à
Ce que je veux dire, c'est qu'il y a une bibliothèque pour que vous puissiez le faire sans aucune connaissance.
Vous êtes maintenant prêt à démarrer le Deep Learning Dans le prochain article, je voudrais expliquer la procédure d'installation de Caffe sur Ubuntu.
Deep Learning Caffe Video of Deep Learning Lecture at Nara Advanced University (anglais) Introduction à la programmation CUDA
Recommended Posts