L'apprentissage en profondeur prend plusieurs semaines ou plus à apprendre sans PC avec GPU, et il est difficile de l'essayer facilement. De plus, le fait que le nombre de données d'entraînement soit souvent des dizaines de milliers ou plus est un autre facteur qui élève la barre. Par conséquent, cette fois, nous allons introduire une méthode d'apprentissage avec un PC sans GPU et un petit nombre de données.
Il existe une méthode appelée apprentissage par transfert [^ 1] comme méthode pour résoudre ces problèmes. L'apprentissage par transfert est une méthode d'apprentissage seulement d'une partie du réseau qui a été apprise par un autre problème tel qu'ImageNet. Diverses méthodes ont été conçues, mais ce qui est important dans la pratique, c'est qu'elles fonctionnent souvent bien même si elles sont détournées vers un autre problème de classification d'images. [^ 2] (Exemple: classification de l'herbe et des oiseaux, reconnaissance faciale, jugement émotionnel, etc.)
Il présente également les avantages suivants, c'est donc un moyen efficace lorsque vous voulez vous sentir libre de l'essayer.
Il existe différentes méthodes, mais j'ai récemment utilisé la méthode suivante.
Remarque). Veuillez noter qu'environ 30% sont faux lors de la collecte par recherche d'images Google.
En utilisant l'apprentissage en profondeur uniquement là où il se situe dans un espace de faible dimension comme celui-ci, Il peut être résolu par une autre méthode d'apprentissage à grande vitesse sans apprentissage réseau fastidieux, de sorte qu'il peut être résolu même sur un PC sans GPU.
J'ai essayé de résoudre le problème de la classification d'un certain personnage d'anime avec les 3 modèles suivants. A). Un CNN simple, (32x32x3) qui apparaît principalement dans le tutoriel B). Couche ResNet-50 (32x32x3, je pense que c'est principalement utilisé pour les problèmes de classification récents) C). Couche ResNet-50 (réseau appris) + SVM Le taux de réponse correcte était A). 94,33%, B). 94,57%, C). 93,83%, respectivement. Le résultat est presque le même que le cas de la résolution avec CNN pur. Note) Il semble que j'ai fait des erreurs lors de la création des données d'entraînement, alors je me suis demandé si une personne sérieuse pouvait améliorer un peu plus les performances.
Il existe un code qui décrit les méthodes 3 et 4. Je suis heureux que vous puissiez l'utiliser comme référence.
Nous avons introduit une méthode appelée apprentissage par transfert qui peut produire des performances raisonnablement bonnes sans PC avec un GPU par apprentissage par transfert. Je pense que cela dépend de l'application, mais cette méthode peut être classée même sur un PC sans GPU, alors pourquoi ne pas l'essayer?
References
Recommended Posts