Jusqu'à présent, il existe de nombreuses applications intéressantes pour l'apprentissage en profondeur en vision par ordinateur ou en traitement du langage naturel.
Comment est-ce dans d'autres domaines plus traditionnels? Par exemple, j'ai des variables sociodémographiques traditionnelles et peut-être beaucoup de mesures de laboratoire et je veux prédire une certaine maladie. Serait-ce une application d'apprentissage en profondeur si j'ai beaucoup d'observations? Comment pourrais-je construire un réseau ici, je pense que toutes les couches fantaisies (convolutionnelles etc.) ne sont pas vraiment nécessaires?! Rendez-vous juste profond?
Sur mon ensemble de données spécifique, j'ai essayé quelques algorithmes d'apprentissage machine courants comme les forêts aléatoires, gbm, etc. avec des résultats mitigés en termes de précision. J'ai une expérience d'apprentissage en profondeur limitée avec la reconnaissance d'image.
la source
Réponses:
Oui, vous pouvez utiliser des techniques d'apprentissage approfondi pour traiter des données non liées à l'image. Cependant, d'autres classes de modèles sont encore très compétitives avec les réseaux de neurones en dehors du traitement du signal et des tâches connexes.
Pour utiliser des approches d'apprentissage approfondi sur des données sans signal / sans séquence, vous utilisez généralement un réseau multicouche simple à action directe. Pas besoin de couches convolutives ou de couches de mise en commun. La meilleure architecture autre que celle doit être explorée avec une validation croisée, et peut être longue à découvrir car les NN profonds nécessitent beaucoup de calculs pour s'entraîner.
D'après mon expérience, j'essaie d'utiliser des réseaux de neurones profonds (-ish, généralement ~ 5 couches) dans les compétitions Kaggle:
Le décrochage est toujours très efficace pour la régularisation et l'amélioration de la précision
La normalisation des entrées - généralement égale à 0, écart-type 1, est importante
Les fonctions d'activation des couches cachées peuvent faire la différence. Bien que ReLU réduit certains problèmes avec les gradients de fuite, d'après mon expérience, il est moins robuste avec des données non-signal et vous voudrez une autre forme. Si vous n'avez que quelques couches, alors sigmoïde ou tanh fonctionnent toujours bien. Sinon, examinez les ReLU, PReLU, ELU qui fuient et d'autres variantes de ReLU qui tentent de corriger ses problèmes avec des neurones "morts".
Utilisez des optimiseurs conçus pour l'apprentissage en profondeur, tels qu'Adam, Adagrad ou RMSProp
Utilisez une approche d'initialisation du poids qui fonctionne avec l'apprentissage en profondeur, comme Glorot.
Pensez à utiliser des couches de normalisation par lots. Ce n'est pas quelque chose que j'ai beaucoup d'expérience, mais j'ai vu d'autres personnes bien faire avec cette approche.
Malgré tout cela, XGBoost peut régulièrement et facilement battre des NN profonds avec un effort de réglage et d'entraînement minimal en comparaison (en fonction bien sûr du problème et des données dont vous disposez). Si la précision est tout pour vous, il est possible - bien que cela ne soit pas garanti - qu'un ensemble de NN profonds et d'autres modèles tels que XGBoost fonctionneront mieux que l'un ou l'autre.
la source
Un réseau peut être approprié à des fins de classification. Pour cela, vous devez être en mesure de définir un ensemble de formation et un ensemble de test de vos données qui représentent les données que le réseau sera invité à classer en production. Cela détermine si vous pouvez obtenir un réseau fonctionnel mauvais, raisonnable ou bon.
Je considère les termes comme «deep learning» comme trompeurs: un réseau n'apprend pas, vous ne pouvez que le former.
En supposant que vous pouvez créer un ensemble de formation et de test, à un niveau élevé, vous pouvez utiliser un
Multi-couche: si vos données n'ont pas d'ordre et que les structures ont une position fixe.
Réseaux récursifs: si l'ordre des données est important pour la classification
Convolution: si vos données ont des structures comme dans les images mais qu'il n'y a pas de position fixe.
Obtenir une bonne configuration, comme le nombre de couches, nécessite des essais et des erreurs; c'est une sorte de magie noire.
la source