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!