Quelle est la différence entre le «deep learning» et la modélisation multi-niveaux / hiérarchique?

31

Le «deep learning» n'est-il qu'un autre terme pour la modélisation multi-niveaux / hiérarchique?

Je connais beaucoup mieux ce dernier que le premier, mais d'après ce que je peux dire, la principale différence n'est pas dans leur définition, mais dans la façon dont ils sont utilisés et évalués dans leur domaine d'application.

Il semble que le nombre de nœuds dans une application "d'apprentissage profond" typique soit plus grand et utilise une forme hiérarchique générique, tandis que les applications de modélisation à plusieurs niveaux utilisent généralement des relations hiérarchiques qui imitent le processus génératif modélisé. L'utilisation d'une hiérarchie générique dans un domaine de statistiques appliquées (modélisation hiérarchique) serait considérée comme un modèle "incorrect" des phénomènes, tandis que la modélisation d'une hiérarchie propre à un domaine pourrait être considérée comme renversant l'objectif de fabrication d'une machine d'apprentissage générique d'apprentissage en profondeur.

Ces deux choses sont-elles vraiment la même machine sous deux noms différents, utilisées de deux manières différentes?

user4733
la source

Réponses:

38

Similarité

Fondamentalement, les deux types d'algorithmes ont été développés pour répondre à une question générale dans les applications d'apprentissage automatique:

Compte tenu des prédicteurs (facteurs) - comment intégrer les interactions entre ces facteurs afin d'augmenter les performances?X1,X2,,Xp

Une façon consiste simplement à introduire de nouveaux prédicteurs: Mais cela s'avère être une mauvaise idée en raison du grand nombre de paramètres et d'un type d'interactions très spécifique.Xp+1=X1X2,Xp+2=X1X3,

La modélisation à plusieurs niveaux et les algorithmes d'apprentissage en profondeur répondent à cette question en introduisant un modèle d'interaction beaucoup plus intelligent. Et de ce point de vue, ils sont très similaires.

Différence

Permettez-moi maintenant d'essayer de vous faire comprendre quelle est la grande différence conceptuelle entre eux. Afin de donner quelques explications, voyons les hypothèses que nous faisons dans chacun des modèles:

Modélisation à plusieurs niveaux: couches qui reflètent la structure des données peuvent être représentées comme un réseau hiérarchique bayésien . Ce réseau est fixe et provient généralement d'applications de domaine.1

Deep Learning: les données ont été générées par les interactions de nombreux facteurs. La structure des interactions n'est pas connue, mais peut être représentée comme une factorisation en couches: les interactions de niveau supérieur sont obtenues en transformant les représentations de niveau inférieur.2

La différence fondamentale vient de l'expression "la structure des interactions n'est pas connue" dans le Deep Learning. On peut supposer quelques priors sur le type d'interaction, mais pourtant l'algorithme définit toutes les interactions pendant la procédure d'apprentissage. D'autre part, nous devons définir la structure des interactions pour la modélisation multiniveau (nous apprenons à ne faire varier que les paramètres du modèle par la suite).

Exemples

Par exemple, supposons que l'on nous donne trois facteurs et nous définissons et tant que couches différentes.X1,X2,X3{X1}{X2,X3}

Dans la régression de modélisation multiniveau, par exemple, nous obtiendrons les interactions et , mais nous n'obtiendrons jamais l'interaction . Bien sûr, en partie, les résultats seront affectés par la corrélation des erreurs, mais ce n'est pas si important pour l'exemple.X1X2X1X3X2X3

En apprentissage profond, par exemple dans des machines Boltzmann restreintes multicouches ( RBM ) avec deux couches cachées et une fonction d'activation linéaire, nous aurons toutes les interactions polinomiales possibles avec un degré inférieur ou égal à trois.

Avantages et inconvénients communs

Modélisation à plusieurs niveaux

(-) nécessité de définir la structure des interactions

(+) les résultats sont généralement plus faciles à interpréter

(+) peut appliquer des méthodes statistiques (évaluer les intervalles de confiance, vérifier les hypothèses)

L'apprentissage en profondeur

(-) nécessite une énorme quantité de données pour s'entraîner (et du temps pour la formation également)

(-) les résultats sont généralement impossibles à interpréter (fournis sous forme de boîte noire)

(+) aucune connaissance d'expert requise

(+) une fois bien formé, surpasse généralement la plupart des autres méthodes générales (non spécifique à l'application)

J'espère que cela vous aidera!

Dmitry Laptev
la source
Pourquoi un réseau neuronal profond nécessite-t-il une énorme quantité de données pour s'entraîner? Je n'en ai jamais entendu parler auparavant.
Jase
1
Les réseaux de neurones @Jase ont généralement beaucoup de paramètres, donc dans de nombreux cas, si vous utilisez un petit ensemble de données, vous serez probablement suréquipé. Bien sûr, tout dépend de la tâche, mais la plupart des résultats NN les plus impressionnants utilisent aujourd'hui des ensembles de données extrêmement énormes.
Dmitry Laptev
Je suis d'accord pour dire que les résultats impressionnants sont sur d'énormes ensembles de données, mais je ne suis pas sûr que nous ne pouvons pas utiliser le décrochage et d'autres astuces pour qu'il se généralise bien à partir de petits ensembles de données.
Jase
1
@Jase Bien sûr, il existe différentes heuristiques que vous pouvez utiliser. Mais d'après mon expérience avec le traitement d'image, presque tous introduisent une certaine régularisation, ce qui équivaut essentiellement à introduire un certain biais avant et donc. Ce qui n'est pas toujours ce que vous voulez.
Dmitry Laptev
Vraisemblablement, vous n'avez pas besoin de définir la structure des interactions si vous utilisez des paramètres non paramétriques, par exemple un Dirichlet hiérarchique préalable.
Astrid
2

Bien que cette question / réponse existe un peu, j'ai pensé qu'il pourrait être utile de clarifier quelques points de la réponse. Premièrement, la phrase soulevée comme une distinction majeure entre les méthodes hiérarchiques et les réseaux de neurones profonds «Ce réseau est fixe». est incorrect. Les méthodes hiérarchiques ne sont pas plus «fixes» que les réseaux neuronaux alternatifs. Voir, par exemple, l'étude Deep Learning with Hierarchical Convolutional Factor Analysis, Chen et. Al.. Je pense que vous constaterez également que l'exigence de définir les interactions n'est plus un point distinctif. D'après mon expérience, quelques points qui ne sont pas répertoriés comme un avantage avec la modélisation hiérarchique sont le problème considérablement réduit de sur-ajustement et la capacité de gérer des ensembles d'entraînement très grands et très petits. Un point critique est que lorsque des méthodes hiérarchiques bayésiennes sont utilisées, les intervalles de confiance et les tests d'hypothèse ne sont généralement pas des méthodes statistiques qui seraient appliquées.

Aengus
la source