Astuce de nucléation, pour les réseaux de neurones

9

J'ai découvert les réseaux neuronaux et les SVM. Les tutoriels que j'ai lus ont souligné l'importance de la noyauisation pour les SVM. Sans fonction de noyau, les SVM ne sont qu'un classificateur linéaire. Avec la noyauisation, les SVM peuvent également incorporer des fonctionnalités non linéaires, ce qui en fait un classificateur plus puissant.

Il me semble que l'on pourrait également appliquer la noyauisation aux réseaux de neurones, mais aucun des tutoriels sur les réseaux de neurones que j'ai vus n'en a parlé. Les gens utilisent-ils couramment l'astuce du noyau avec les réseaux de neurones? Je suppose que quelqu'un doit l'avoir expérimenté pour voir si cela fait une grande différence. La noyauisation aide-t-elle les réseaux de neurones autant qu'elle aide les SVM? Pourquoi ou pourquoi pas?

(Je peux imaginer plusieurs façons d'incorporer l'astuce du noyau dans les réseaux de neurones. Une façon serait d'utiliser une fonction de noyau appropriée pour prétraiter l'entrée, un vecteur dans Rn , dans une entrée de dimension supérieure, un vecteur dans Rm pour mn . Pour les réseaux neuronaux multicouches, une autre alternative serait d'appliquer une fonction noyau à chaque niveau du réseau neuronal.)

DW
la source
2
L'astuce du noyau fonctionne lorsque votre accès informatique à vos points de données consiste à calculer des produits internes. Je ne suis pas sûr que ce soit le cas pour les réseaux de neurones.
Yuval Filmus

Réponses:

6

Je pense que vous risquez de confondre la terminologie d'une manière qui rend le problème confus. Les SVM fonctionnent en définissant une frontière de décision linéaire, c'est-à-dire un hyperplan. On peut définir cet hyperplan en termes de produits internes entre les points. Par conséquent, si nous définissons ce produit intérieur comme étant dans un espace de dimension élevée, voire infini, ce qui ressemble à un hyperplan dans ce nouvel espace n'est pas nécessairement linéaire dans l'espace caractéristique d'origine. Donc, tout est toujours linéaire, la seule chose que nous avons faite est d'impliquer implicitement (via le nouveau produit interne) les points dans un espace de dimension supérieure. Peut-être que vous savez déjà tout cela.

Il y a 2 questions à considérer en ce qui concerne les réseaux de neurones. Le premier a été évoqué par @Yuval Filmus, car les réseaux de neurones de la couche cachée dépendent de plus que des seuls produits internes entre les points. Si vous supprimez la couche cachée, vous avez juste quelque chose comme la régression logistique, dont il existe des versions noyauées . Il y a peut-être un moyen de contourner cela, mais je ne le vois pas.

Deuxièmement, vous mentionnez le prétraitement de l'entrée en projetant dans un espace dimensionnel supérieur, mais pas infini. Les réseaux de neurones définissent une surface de décision et cette surface n'est pas contrainte d'être linéaire. Cela signifie que le gain de la projection des points dans un espace de dimension supérieure sera différent, c'est-à-dire qu'il peut faciliter la recherche d'un bon ensemble de poids, mais nous n'avons pas nécessairement rendu notre modèle plus puissant. Cela découle du théorème d'approximation universel qui nous dit, étant donné un nombre suffisamment grand d'unités cachées, nous pouvons approximer n'importe quelle fonction (sous certaines restrictions). Cette dernière déclaration est plutôt vide de sens et je déteste en quelque sorte la mentionner. En ne vous disant rien sur la façon de trouver les bons poids, cela n'apporte pas grand-chose au tableau du point de vue de l'application.

alto
la source
Je vous remercie. Oui. Je sais que nous pouvons penser aux SVM comme mappant les entrées originales à un espace dimensionnel supérieur (ou même infini), puis faisant une frontière de décision linéaire dans cet espace dimensionnel supérieur. Alors, pouvons-nous faire cela avec les réseaux de neurones aussi? Pouvons-nous mapper les entrées sur un espace de dimension supérieure, puis traiter cela comme l'entrée réelle d'un réseau neuronal? Je suppose que nous pouvons (et je suppose que nous pourrions également le faire à chaque couche, si nous le voulions). Et, si nous le pouvons, ma vraie question est: est-ce que cela offre une amélioration aussi importante pour les réseaux de neurones (en pratique) que pour les SVM? Pourquoi ou pourquoi pas?
DW
Je connais le théorème de l'approximation universelle, mais cela ne répond pas vraiment à la question (comme vous l'avez indiqué). Ce qui m'importe, c'est la qualité du fonctionnement des neurones dans la pratique. Je me demande si le prétraitement des entrées via une astuce de noyauisation pourrait rendre les réseaux de neurones plus efficaces en pratique. Bien sûr, il n'y a aucune garantie et il y aura toujours des situations où tout ce que vous ferez pourrait aggraver les choses, mais je m'interroge sur le comportement typique, dans la pratique (dans le même sens que nous disons que la noyauisation tend à rendre les SVM significativement plus efficaces, dans entraine toi).
DW
2
@DW La kernelization rend les SVM plus efficaces parce qu'elle leur permet de définir des limites de décision non linéaires. Les réseaux de neurones peuvent déjà définir des limites de décision non linéaires, donc le seul avantage de projeter vos données dans un espace de dimension supérieure serait de faciliter le problème d'optimisation.
alto
1

L'astuce du noyau est possible pour les SVM en raison d'une propriété spéciale du processus d'apprentissage pour les SVM. Les réseaux de neurones ne semblent pas avoir cette propriété (pour autant que je sache).

x1,,xnRdxixixixj

KK(xi,xj)ϕ:RdRmm>dK(xi,xj)=ϕ(xi)ϕ(xj)ϕK(xi,xj)ϕ(xi),ϕ(xj)K(xi,xj)O(d)O(m) temps.

xixjK(xi,xj)xi

DW
la source
1

Je voudrais partager quelques observations que j'ai faites. Dimension d'entrée: 144. J'ai formé un réseau de neurones, et pendant l'entraînement, la sortie des couches cachées a été donnée comme entrée pour la régression logistique, et la valeur moyenne de la fonction de perte après l'ajustement du modèle a été tracée.entrez la description de l'image ici

entrez la description de l'image ici

Nous pouvons voir qu'avec l'augmentation de la taille des calques, les entités ou la sortie des calques masqués deviennent linéairement séparables. Bien que ce soit le but de l'apprentissage du vecteur de caractéristiques noyau , le réseau de neurones semble le faire en interne. entrez la description de l'image ici

explorateur
la source