« Étude approfondie peut être programmé pour remplacer le différentiel? » En regardant les réseaux de neurones et la programmation fonctionnelle après 30 ans

[New Ji-won EXAMEN en Yann LeCun « l'apprentissage profond est mort » En vertu de la déclaration étonnante, le concept de la programmation différentiables suscité l'inquiétude généralisée. L'apprentissage machine célèbre blogueur Colah (Christopher Olah) perspectives d'apprentissage en profondeur après 30 ans en 2015, il a fait référence à la programmation différentiables. Il a exprimé l'apprentissage profond du point de vue de l'un des trois (représentation) point de vue, que la profondeur de l'étude était d'étudier les liens entre l'optimisation et la programmation fonctionnelle, mais la programmation est la programmation fonctionnelle différentiables et l'optimisation de l'intersection naturelle, très simple et élégante digne d'une étude plus approfondie.

À l'heure actuelle, l'apprentissage en profondeur est un outil très efficace. Mais cet outil est que nous avons découvert par hasard, comme un champ, il n'y a pas vue unifiée ou une compréhension commune. En fait, dans ce domaine, il existe plusieurs expressions concurrentes!

En regardant en arrière, je pense que dans 30 ans, nous verrons un apprentissage en profondeur très différente.

Etude approfondie 30 ans plus tard: vues Neuroscience, avis et caractérisation des probabilités et statistiques point de vue, qui gagnerait?

Si nous croyons 30 ans, nous pouvons être d'une manière très différente de regarder la profondeur de l'apprentissage, donc cela soulève une question intéressante:

Jusque-là, nous allons apprendre à regarder la profondeur?

Bien sûr, personne ne peut vraiment connaître l'avenir que nous comprenons ce domaine. Mais la chose intéressante est que nous pouvons maintenant faire certains spéculent.

À l'heure actuelle, il y a trois déclarations sont en concurrence les uns avec les autres, nous avons l'intention de devenir la clé pour comprendre la profondeur de l'apprentissage. Il y a des principes biologiques de tirage L'expression des neurosciences . Il existe des données et convertir le centre naturel du collecteur est supposé être Représentation (représentation) expression . Enfin, il y a déclarations probabilistes , Le réseau de neurones interprétée comme variables cachées (variables latentes). Ces déclarations ne sont pas mutuellement exclusives, mais leur façon de penser à la profondeur de l'apprentissage, mais très différent.

La présentation sera représentée à cet article étend une nouvelle réponse: étude approfondie et la recherche est le lien entre l'optimisation et la programmation fonctionnelle.

Dans cette perspective, l'étude approfondie de l'expression représentée par la théorie correspondant au type (théorie de type) fonction de programmation. Selon cette théorie, l'apprentissage en profondeur à l'intersection des deux domaines que nous connaissons, les deux régions ont beaucoup de recherche, ils sont si beaux, si naturel, dans mon esprit mathématiciens je peux presque croire que ce description de la réalité sous-jacente.

Ceci est une idée inférées. Je ne dis pas que cela est vrai, mais de suggérer que ce soit crédible, imagine la profondeur pleinement de l'apprentissage se déplace dans cette direction. Il convient de noter: Mon argument principal est lorsque vous effectuez sur l'esthétique, plutôt que le fait que la démonstration. Je veux montrer que c'est une idée naturelle et élégante, elle couvre nous parlons de l'apprentissage en profondeur.

L'optimisation et la composition fonction

Unique dans la profondeur de l'apprentissage est qu'il est l'étude approfondie des réseaux de neurones - réseau de neurones multicouches. Dans le processus à plusieurs niveaux, le modèle se plier progressivement données, plier en facile à résoudre une forme de tâche donnée.

Les détails de ces couches changeront tous les temps en temps. Reste constante est une couche de séquence.

Chaque couche est une fonction de la sortie, on applique sur la couche précédente. Dans l'ensemble, ce réseau est une chaîne de fonction complexe (une chaîne de fonctions composés). Cette fonction complexe de la chaîne a été optimisé pour effectuer des tâches.

Tout ce que je sais modèle d'apprentissage profond implique l'optimisation des fonctions complexes. Je pense que c'est le cur de la recherche actuelle.

Cela représente un nombre entier

A chaque niveau, le réseau de neurones convertit les données en une autre forme, pour le rendre plus facile d'atteindre la tâche. Nous appelons ces données sont converties en « représenter » (représentation).

Représente entier (Représentations) (types) correspondent.

informatique entier (type) est un type de données de base, nous voulons dire que certaines données de n bits est intégré. De même, l'étude de la profondeur représente (représentation) fait référence à un moyen d'incorporation des données dans le collecteur dimension n.

Comme les deux fonctions que si elles sont compatibles avec le type d'ensemble de talents en tant que composite, combinaison à deux couches aussi seulement en accord avec leur représentation. Les données dans la mauvaise représentation du réseau de neurones est dénué de sens. Pendant la formation, la couche voisine négociera leur représentation à livrer, la performance du réseau dépend du réseau de données dans la représentation souhaitée.

Suivie d'une couche derrière f f. f f représentation de sortie est entrée.

Dans une architecture de réseau de neurones très simple, seule la séquence linéaire de couches. Elle représente les besoins de la couche de sortie pour correspondre à la couche suivante représentant l'entrée.

Mais beaucoup réseau de neurones a une structure plus complexe. Pour un exemple très simple, imaginons un réseau de neurones avec une variété d'entrées similaires, il effectue un certain nombre de tâches connexes. Il peut avoir besoin d'image RVB et l'image en niveaux de gris en entrée. Peut-être un peuple photos comme entrée, et ensuite essayer de prédire l'âge et le sexe de l'image humaine. Depuis l'entrée de type similaire et type de tâche, il est préférable de remplir toutes ces tâches dans un modèle, de sorte que les données de formation peuvent jouer un rôle. En conséquence, une pluralité de couche d'entrée est mis en correspondance à une représentation, et une pluralité de représentation de sortie par le même mappage.

Peut-être que ce cas est trop artificiel, mais les différents types de données mis en correspondance avec la même représentation pourrait atteindre des résultats remarquables. Par exemple, en traçant les mots de deux langues dans une représentation, nous pouvons trouver la traduction correspondante du mot, et ces mots ne sont pas connus au début. En cartographiant les images et les mots pour exprimer la même, on peut classer les images jamais vu une classe d'ordinateur!

Et il représente un nombre entier de l'apprentissage et de la profondeur en fonction de la programmation des blocs de construction de base, respectivement. Décrit la profondeur de l'apprentissage, à savoir, un collecteur (manifold) et représenté (représentation), au centre de laquelle est pliée dans un réseau de neurones exprimant une nouvelle représentation de données. Il est connu entre la géométrie, la logique, la topologie et des liens de programmation fonctionnelle montre que le lien entre la représentation entière et peut avoir une importance fondamentale.

correspondance étonnante RNN, CNN et d'autres modèles et fonctions: l'apprentissage profondeur et la programmation fonctionnelle

Un aperçu important derrière les réseaux de neurones modernes est que de nombreuses copies d'un neurone peuvent être utilisés dans les réseaux de neurones.

Dans la programmation, la fonction abstraite est la clé. Nous pouvons écrire le code une fois et l'utiliser au besoin, ce qui élimine la nécessité d'un code répété. Cela permet non seulement de réduire considérablement la quantité de code que nous devons écrire et à maintenir et à accélérer le processus de développement, mais réduit également le risque d'introduire des erreurs et de faire nos erreurs à trouver plus probable.

Dans un réseau de neurones en utilisant des copies multiples des mêmes neurones dans différents endroits, en fait, l'équivalent d'appeler une fonction à plusieurs reprises dans le programme. Parce que le contenu est moins à apprendre, modèle d'apprentissage plus rapide, vous pouvez apprendre à mieux modéliser. Cette technique est aussi appelée « poids Bind » (de nouage de poids), il est essentiel que nous avons récemment vu de l'étude approfondie des performances exceptionnelles.

Bien sûr, nous ne pouvons pas simplement mettre une copie des neurones dans tous les sens. Afin de rendre un modèle utile que vous devez avoir les principes d'utilisation, l'utilisation de certaines données structurelles. Dans la pratique, il existe certains modèles sont largement utilisés, tels que la couche cyclique et une couche de convolution.

Le modèle de réseau de neurones seulement les fonctions d'ordre supérieur, qui est la fonction d'argument. Une situation similaire a été largement étudié dans la programmation fonctionnelle. En fait, beaucoup de ces modèles de réseau correspondent à des fonctions communes, telles que la fonction double. La seule différence est que normalement ils ne sont pas reçus en fonction de l'objet, mais reçoit module de réseau de neurones.

  • Cycle codant réseau neuronal (RNN) est fonction de pliage. RNN est souvent utilisé pour recevoir une liste de longueur variable, comme la phrase d'entrée.

codant pour la fonction de pliage = RNN

  • Générer fonction réseau de neurones récurrent est de se dérouler. Réseau de neurones permettent de générer RNN utilisé pour générer une liste de sortie, comme un mot dans une phrase.

génération de fonctions dépliage = RNN

  • RNN fait pour générer la cartographie cumulative (carte Accumuler). Lorsque nous prédisons selon l'ordre, souvent les utiliser. Par exemple, dans la reconnaissance vocale, nous pourrions en fonction du contexte du passé, prévoir des clips audio chaque phénomène pas de temps.

cartographie cumulative = RNN

  • Deux voies RNN Est une variante relativement obscure, je voudrais mentionner ici. Sur le plan de la programmation fonctionnelle, comme ils sont comme une fermeture à glissière, deux carte de déplacement accumulé deux côtés réunis, pour le cas où le passé, et séquence de prévision de l'avenir.

La liaison accumulation de carte de déplacement autour bidirectionnel = RNN

  • réseau neuronal convolutif (CNN) est une application de la variante. fonction de mappage commune est appliquée à chaque élément. réseau neuronal convolutif est également concevable d'un élément adjacent, l'application d'une fonction de chaque élément autour d'un widget.

Mapping = convolution couche de fenêtre

Dans le réseau de neurones convolution à deux dimensions, ce qui est particulièrement importante.

Réseau convolution à deux dimensions

  • les réseaux de neurones récurrents (les « TreeNets ») est une généralisation fonction de pliage . Ils abaissent le traitement de la structure de données, principalement pour le traitement du langage naturel, de sorte que le réseau de neurones calcule l'arbre analyse syntaxique.

Catamorphisme = TreeNet

L'exemple ci-dessus illustre le modèle de réseau de neurones est commun en fonction naturellement facile correspondant au programme.

Un nouveau programme, la programmation différentiables: programmation fonctionnelle et de l'optimisation d'intersection naturelle

Ces motifs (pattern) peuvent tous être combinés ensemble pour construire un module de réseau plus grand. Comme les blocs de construction de base, une combinaison de ces procédures sont les fonctions, qui contient un grand nombre de réseaux de neurones. programmes fonctionnels fournissent une structure de haut niveau, et dans lequel la partie flexible est un bloc de construction, d'effectuer les tâches réelles peuvent apprendre dans le cadre fourni par la fonction d'application.

  • Sutskever et al. (2014) par le codeur et le générateur RNN RNN regroupés pour effectuer la tâche de traduire l'anglais vers le français. En termes de programmation fonctionnelle, ils se replient essentiellement phrase en anglais, puis générer un dépliage de traduction en français.

  • Vinyals et al (2014) avec un réseau de convolution et ledit générateur génère RNN Fig. Essentiellement, le système est traité avec une image d'entrée du réseau de convolution, puis vecteur de résultat se dérouler, une description des phrases de génération d'image.

Ces modèles sont considérés comme une nouvelle différentiables de programmation fonctionnelle.

Vous écrivez une programmation fonctionnelle très approximative d'un flexible, des modules d'apprentissage, vous définissez également la procédure comportement correct, et lui donner beaucoup de données. Ensuite, vous appliquez une descente de gradient ou d'autres algorithmes d'optimisation. Le résultat final est que vous obtenez un système puissant, on ne sait pas comment construire directement le système, mais il peut générer une carte image de classification.

Ceci est la programmation fonctionnelle et l'optimisation de l'intersection naturelle, je pense qu'il est très beau.

épilogue

Je pense que cette idée est vraiment beau. En outre, c'est un article très étrange, publier, je me sens un peu maladroit. En plus de son enthousiasme, je fis sans soutenir une idée spéculative. Pour être honnête, basée sur un point de vue objectif, je sais, je l'ai mentionné plus haut, cette idée est fausse, la plupart des idées non testées sont fausses. Mais il peut aussi être raison, mais je pense que mentionner la valeur.

De plus, je ne suis pas la bonne personne pour explorer cette direction, ce qui nécessite le même type du point de vue de la théorie (théorie du type homotopie) pour analyser le réseau de neurones, je n'ai pas l'arrière-plan pertinent. Cependant, cette idée a besoin de plus en plus largement discuté. Par conséquent, je dois de publier cet article sur.

Enfin, j'espère que cet article inspirera une discussion plus approfondie et à la réflexion sur l'apprentissage.

D'ailleurs, si je ne peux pas spéculer, écrire un blog, quelle signification at-il? J'espère pouvoir trouver le bon équilibre entre son enthousiasme et de l'incertitude.

Adresse originale: http: //colah.github.io/posts/2015-09-NN-Types-FP/

Les mitrailleuses, véhicules blindés, beau chien ...... ce camp d'hiver mis en place afin que les enfants peuvent jouer?
Précédent
HR doit savoir: est le flux d'affaires, est la même nature humaine
Prochain
de meilleures décisions dans la vie que le travail acharné, la pensée axée sur la croissance est
La philosophie de l'équilibre entre l'homme et la nature - du ciel récemment, le plus éloigné des troubles de Bali lumineux
Lei chercher des remèdes grand, petite fille Meng Meng da or, Manuel a continué la propagation de la nourriture pour chiens
Hong Kong Lai club Hanchuan bon travail vous attend pour
Kai-Fu Lee : Abandonner à la légère ou se précipiter au milieu de la nuit ne réussira pas
Même Dieu a vu la beauté de chinois sont choqués!
Sui Ran Shandong équipe de mariage de capitaine, le meilleur homme la meilleure combinaison de Zhou Qi Ding Yan Yu-hang dans l'histoire du groupe
Liste des nouvelles de détail d'une semaine (2017.2.13-2.19)
Zibo a conduit à une rue, les conducteurs doivent piétons éviter, né le 3 jours, il a alerté la police
Les patients restent en place Rater-toute la nuit, le cerveau est un auto-nettoyage
Star peut faire ce coup? Magie comparable à Van Gogh, Zhang agitation!
Luneng laisser ces choses: sourire les muscles du cheval Tardelli, ainsi qu'une grande marée de tonnerre