J'ai posté cela plus tôt sur MSE, mais il a été suggéré qu'ici pourrait être un meilleur endroit pour demander.
Le théorème de l'approximation universelle stipule que "le réseau à anticipation multicouche standard avec une seule couche cachée, qui contient un nombre fini de neurones cachés, est un approximateur universel parmi les fonctions continues sur des sous-ensembles compacts de Rn, sous des hypothèses douces sur la fonction d'activation."
Je comprends ce que cela signifie, mais les articles pertinents sont trop loin sur mon niveau de compréhension mathématique pour comprendre pourquoi c'est vrai ou comment une couche cachée se rapproche des fonctions non linéaires.
Donc, en termes peu plus avancés que le calcul de base et l'algèbre linéaire, comment un réseau à action directe avec une couche cachée se rapproche-t-il des fonctions non linéaires? La réponse ne doit pas nécessairement être totalement concrète.
Réponses:
Le résultat de Cybenko est assez intuitif, comme j'espère le transmettre ci-dessous; ce qui rend les choses plus difficiles, c'est qu'il visait à la fois la généralité et un nombre minimal de couches cachées. Le résultat de Kolmogorov (mentionné par vzn) obtient en fait une garantie plus forte, mais est un peu moins pertinent pour l'apprentissage automatique (en particulier, il ne construit pas un réseau neuronal standard, car les nœuds sont hétérogènes); ce résultat est à son tour décourageant car en surface, il ne s'agit que de 3 pages enregistrant des limites et des fonctions continues, mais en réalité, il construit un ensemble de fractales. Bien que le résultat de Cybenko soit inhabituel et très intéressant en raison des techniques exactes qu'il utilise, les résultats de cette saveur sont très largement utilisés dans l'apprentissage automatique (et je peux vous en indiquer d'autres).
Voici un résumé de haut niveau des raisons pour lesquelles le résultat de Cybenko devrait tenir.
En ce qui concerne le premier point ci-dessus, cela peut être considéré comme l'énoncé "une fonction continue sur un ensemble compact est uniformément continue". Ce que cela signifie pour nous, c'est que vous pouvez prendre votre fonction continue sur , et une erreur cible ϵ > 0 , puis vous pouvez mailler [ 0 , 1 ] d à l'échelle τ > 0 (pour finir avec environ ( 1 / τ ) d sous- cubes) de sorte qu'une fonction constante sur chaque sous-cube se trouve à moins de ϵ de la fonction cible.[ 0 , 1 ]ré ϵ > 0 [ 0 , 1 ]ré τ> 0 ( 1 / τ)ré ϵ
Maintenant, un réseau neuronal ne peut pas représenter précisément un indicateur, mais vous pouvez vous en approcher très près. Supposons que la "fonction de transfert" soit un sigmoïde. (La fonction de transfert est la fonction continue que vous appliquez à une combinaison linéaire d'entrées afin d'obtenir la valeur du nœud de réseau neuronal.) Ensuite, en rendant les poids énormes, vous produisez quelque chose près de 0 ou près de 1 pour plus d'entrées. Cela est cohérent avec le développement de Cybenko: notez qu'il a besoin que les fonctions impliquées soient égales à 0 ou 1 dans la limite: par définition de limite, vous obtenez exactement ce que je dis, ce qui signifie que vous poussez les choses arbitrairement près de 0 ou 1.
(J'ai ignoré la fonction de transfert dans la couche finale; si elle est là, et qu'elle est continue, alors nous pouvons adapter tout mappage à en remplaçant les poids constants par quelque chose dans l'image inverse de cette constante en fonction du transfert une fonction.)[ 0 , 1 ]
Notez que ce qui précède peut sembler prendre quelques couches: disons, 2 pour construire les indicateurs sur des cubes, puis une couche de sortie finale. Cybenko cherchait deux points de généralité: un nombre minimal de couches cachées et une flexibilité dans le choix de la fonction de transfert. J'ai déjà décrit comment il travaille la flexibilité dans la fonction de transfert.
Pour obtenir le nombre minimum de couches, il évite la construction ci-dessus, et utilise plutôt l'analyse fonctionnelle pour développer une contradiction. Voici un croquis de l'argument.
Le nœud final calcule une combinaison linéaire des éléments de la couche située en dessous et lui applique une fonction de transfert. Cette combinaison linéaire est une combinaison linéaire de fonctions, et en tant que telle, elle-même est une fonction, une fonction dans un sous-espace de fonctions, recouvert par les nœuds possibles dans la couche cachée.
Un sous-espace de fonctions est exactement comme un sous-espace de dimension finie ordinaire, avec la principale différence qu'il n'est potentiellement pas un ensemble fermé; c'est pourquoi les arguments de cybenko prennent tous la fermeture de ce sous-espace. Nous essayons de prouver que cette fermeture contient toutes les fonctions continues; cela signifie que nous sommes arbitrairement proches de toutes les fonctions continues.
Si l'espace de fonction était simple (un espace de Hilbert), nous pourrions argumenter comme suit. Choisissez une fonction continue cible qui est supposée contradictoirement ne pas se trouver dans le sous-espace et projetez-la sur le complément orthogonal du sous-espace. Ce résidu doit être différent de zéro. Mais comme notre sous-espace peut représenter des choses comme ces petits cubes ci-dessus, nous pouvons trouver une région de ce résidu, y ajuster un petit cube (comme ci-dessus), et ainsi nous rapprocher de notre fonction cible. C'est une contradiction puisque les projections choisissent des éléments minimaux. (Remarque, je laisse quelque chose ici: l'argument de Cybenko ne construit pas de petits cubes, il le gère également en général; c'est là qu'il utilise une forme du théorème de représentation de Riesz et les propriétés des fonctions de transfert (si je me souviens bien correctement, il existe un lemme distinct pour cette étape,
Nous ne sommes pas dans un espace de Hilbert, mais nous pouvons utiliser le théorème de Hahn-Banach pour remplacer l'étape de projection ci-dessus (note, prouver que Hahn-Banach utilise l'axiome de choix).
J'aimerais maintenant dire quelques mots sur le résultat de Kolmogorov. Bien que ce résultat n'ait apparemment pas besoin du type de contexte de Cybenko, je pense personnellement qu'il est beaucoup plus intimidant.
D'accord, alors avec tout ça, comment cette chose peut-elle fonctionner?!
Notez que le résultat de Cybenko, en raison de l'utilisation d'un seul type de fonction de transfert, est plus pertinent pour l'apprentissage automatique. Les théorèmes de ce type sont très courants dans l'apprentissage automatique (vzn l'a suggéré dans sa réponse, mais il a fait référence au résultat de Kolmogorov, qui est moins applicable en raison des fonctions de transfert personnalisées; cela est affaibli dans certaines versions plus fantaisistes du résultat de Kolmogorov (produit par autres auteurs), mais celles-ci impliquent encore des fractales, et au moins deux fonctions de transfert).
J'ai quelques diapositives sur ces sujets, que je pourrais publier si vous êtes intéressé (avec moins de chance, je l'espère, et j'ai quelques photos; je les ai écrites avant d'être adepte de Hahn-Banach, cependant). Je pense que les deux preuves sont très, très belles. (Aussi, j'ai une autre réponse ici sur ces sujets, mais je l'ai écrite avant d'avoir grokké le résultat de Kolmogorov.)
la source
Il existe un résultat avancé, clé de l'apprentissage automatique, connu sous le nom de théorème de Kolmogorov [1]; Je n'ai jamais vu d'esquisse intuitive de pourquoi cela fonctionne. Cela peut avoir à voir avec les différentes cultures qui l'approchent. La foule d'apprentissage appliqué considère le théorème de Kolmogorov comme un théorème d'existence qui indique simplement que des NN peuvent exister, donc au moins la structure n'est pas trop limitative, mais le théorème ne garantit pas que ces NN peuvent être trouvés. Les mathématiciens ne se préoccupent pas autant des applications de bas niveau du théorème.
Le théorème a également été historiquement utilisé pour invoquer / défendre la sophistication inhérente des NN multicouches pour contrer une critique de Perceptrons (Minsky / Papert) selon laquelle il y avait des fonctions de base [c.-à-d. Non linéaires] qu'ils ne pouvaient pas apprendre.
Les informaticiens théoriques préfèrent ne pas considérer les NN comme des "approximations" , car ce terme a une signification spéciale / différente. Il y a probablement une analogie approximative avec une interpolation linéaire par morceaux, mais encore une fois, je ne l'ai pas vue présentée.
[1] Kolmogorov, AN (1957). Sur la représentation des fonctions continues de nombreuses variables par superposition de fonctions continues d'une variable et addition. Doklady Akademii Nauk SSSR, 144, 679-681; Traduction de l'American Mathematical Society, 28, 55-59 [1963]
[2] 2.3 Capacités d'approximation des réseaux de neurones à action directe pour les fonctions continues
[3] Théorème de Kolmogorov et réseaux de neurones multicouches Kurkova
la source