Cet article est l'article du 18e jour du Calendrier de l'avent NTT Communications 2019. Hier était l'article de @ yusuke84, Réflexion sur le support de la plate-forme WebRTC SkyWay. **Joyeux Noël! **: santa :: christamas_tree :: cadeau :: père noël :: christamas_tree :: cadeau :: père noël :: christamas_tree :: cadeau :: père noël :: christamas_tree :: cadeau :: père noël :: christamas_tree :: cadeau :: père noël :: : christums_tree :: cadeau ::
Comme il s'agit du calendrier de l'Avent de l'entreprise, écrivons quelques conseils techniques au début! En y réfléchissant, je cherchais une histoire sur Neural Network, mais à la fin je me suis installé sur une histoire qui m'intéressait, qui était plus théorique que la mise en œuvre, et cet article est la fin de cela. (Eh bien, c'est normal pour une personne de s'enfuir, j'en suis sûr)
J'écrirai donc une histoire qui m'intéresse depuis un moment sur l'expression des systèmes physiques à l'aide du Neural Network. En attendant, je publierai une nouvelle méthode basée sur l'histoire de ce domaine, donc je fantasme de vouloir recevoir une évaluation correspondante de l'entreprise. (Briller
Je suis un employé de deuxième année qui recherche et développe généralement des technologies de base qui contribuent à la science des données et à l'IA au sein du département de développement technologique. Ceci est un article de @ BootCamp_2019 car la vraie saleté (presque uniquement ROM) est plus contaminée.
Comme vous pouvez le deviner d'après ce nom, j'ai été conférencier du cours de science des données et d'intelligence artificielle de cette année dans le cadre de notre formation interne "Boot Camp".
Après cela, chaque fois qu'il y a quelque chose, "Test statistique 1ère année" "Test mathématique 1ère année ", Il montre ses qualifications qui sont inutiles dans l'industrie de la recherche.
La société recherche et développe principalement des analyses de séries chronologiques multivariées, des estimations parcellaires, des analyses factorielles, etc., mais personnellement j'aime la mécanique non linéaire, la théorie de la contraction et la mécanique statistique de l'information.
En conséquence, cet article est également basé sur mes goûts personnels. (Tehepero
Récemment, depuis un certain temps déjà, l'application du Deep Learning a été discutée dans divers domaines. C'est une chose très agréable, et pour moi, qui était à l'origine dans le système théorique des sciences mathématiques, c'est une grande motivation pour prendre au sérieux le Deep Learning. La rumeur dit-elle que l'intégration de théories et de schémas valorisés dans différents domaines dans le Deep Learning est entrée dans une période de désillusion? C'est synonyme de prendre un nouveau souffle dans l'apprentissage en profondeur qui se fait, et je pense que c'est une chose merveilleuse que vous puissiez explorer la prochaine évolution sous de nombreux angles.
Cet article a été écrit avec l'espoir que vous sympathiserez avec cela.
J'ai l'intention de le résumer avec un modèle simple et une explication autant que possible, donc j'apprécierais que vous pensiez que l'ambiance est intéressante. (Si vous le connaissez, dites-moi s'il vous plaît la dynamique de Hamilton du modèle d'oscillateur de phase multi-corps. Cela m'intéresse le plus maintenant.)
Par exemple, l'équation cinétique de la vibration simple du ressort apprise en physique au lycée est décrite comme suit.
(Supposons que $ m $ est la masse, $ a $ est l'accélération, $ k $ est la constante de ressort, $ x $ est la position de l'objet et la position d'équilibre est l'origine, un simple mouvement unidimensionnel.)
Dans le futur, si vous creusez un peu plus et apprenez, vous apprendrez que la vitesse $ v $ d'un objet est la différenciation temporelle du premier ordre de la position $ x $, et l'accélération $ a $ signifie la différenciation temporelle du premier ordre de la vitesse $ v $. Je vais. Autrement dit, l'accélération $ a $ signifie une différenciation temporelle de second ordre de la position $ x $.
En déclarant clairement que la position est fonction du temps $ x (t) $ et en la décrivant soigneusement, l'équation cinétique ci-dessus peut être réécrite comme suit.
Une équation différentielle est une équation fonctionnelle décrite comme une expression relationnelle entre une fonction inconnue et sa dérivée. L'équation cinétique de la vibration simple du ressort est également une équation différentielle.
Un meilleur modèle mathématique est essentiel pour une meilleure interprétation théorique des phénomènes physiques. En utilisant des équations différentielles, les phénomènes du monde réel peuvent être formulés sous forme de problèmes mathématiques (basés sur certaines hypothèses et approximations), et en interprétant la signification de la solution du problème, le phénomène original lui-même Vous pouvez donner une interprétation théorique.
Par exemple, si vous résolvez mathématiquement l'équation différentielle qui exprime la simple vibration du ressort, vous obtiendrez la solution suivante.
(Cependant, $ A $ est l'amplitude et $ \ alpha $ est la phase initiale, toutes deux déterminées à partir de la position initiale $ x (0) $ et de la vitesse initiale $ v (0)
[^2]
[^ 2]: Note d'examen La partie la plus difficile de la mécanique! Qu'est-ce qu'une simple vibration? Commentaires approfondis des étudiants diplômés de l'Université de Tokyo![Physique au lycée]. Il couvre uniformément la théorie de la vibration simple et la figure est facile à comprendre.
En fait, la formulation de modèles mathématiques utilisant des équations différentielles est utile non seulement pour les phénomènes physiques, mais aussi pour un large éventail de phénomènes tels que la biologie, la chimie, la politique, l'économie et la société. En d'autres termes, les phénomènes dans le monde peuvent être exprimés par les équations différentielles, et inversement, la découverte d'une équation différentielle valide peut être considérée comme un problème équivalent à l'interprétation théorique du phénomène. (Vous devriez avoir un rêve et le dire!)
Cependant, malheureusement, dans l'enseignement supérieur japonais, bien que nous enseignions comment résoudre des équations différentielles, nous n'enseignons pas beaucoup comment faire des équations différentielles. S'il est facile pour quiconque de résoudre avec les bons outils, il est très difficile d'en créer un nouveau, et c'est beaucoup plus important que de le résoudre. Si vous souhaitez créer des équations différentielles, ce livre [^ 3] est recommandé. C'est un bon livre avec un grand nombre d'exemples d'application et est idéal pour la formation de modèles de construction.
[^ 3]: Faisons un modèle mathématique avec des équations différentielles, Japan Critics (1990/4/9).
J'ai oublié de mentionner que les équations différentielles traitées dans cet article sont strictement un groupe appelé équations différentielles ordinaires. Mais qu'est-ce qu'une équation différentielle normale? Puisqu'elle sera longue, je la donnerai à un autre endroit, et comme elle est difficile à réparer, je continuerai à appeler l'équation différentielle ordinaire comme une équation différentielle.
Maintenant, l'équation différentielle de base du premier ordre est généralement donnée dans le format suivant.
Au contraire, du côté du réseau de neurones, je vais essayer d'atteindre cette équation pas à pas.
Ce qui suit est un diagramme tiré de la figure 2 de ResNet [^ 4].
À chaque couche de toute architecture, après tout, pour une entrée $ x $, une transformation non linéaire flexible (telle que la transformation Afiine) et une transformation non linéaire (telle qu'une fonction d'activation) sont combinées de manière appropriée. La conversion $ \ mathcal {F} (x) $ est sortie et propagée à la couche suivante. Le trajet de propagation de la flèche verticale centrale sur la figure illustre exactement cela. (La figure indique Relu, mais en général, autre que Relu est également possible.)
Le cœur de ResNet se trouve sur le côté droit du chemin de propagation (détour) marqué "$ x $ identity". Les détails sont laissés au papier original [^ 4], mais ce chemin de propagation (détour) est un mappage constant, et l'entrée est fusionnée avec la sortie telle quelle. En conséquence, on sait que l'apprentissage se déroule efficacement même dans un réseau avec un très grand nombre de couches, et on pense que la raison en est que la rétro-propagation d'erreur se déroule efficacement.
Ici, si l'entrée est $ x_n $ et la sortie est $ x_ {n + 1} $ pour le $ n $ e bloc ResNet, la figure précédente peut être réécrite comme suit.
On peut dire que c'est exactement la même forme de l'équation différentielle discrète elle-même montrée précédemment. Pour être plus explicite, il serait plus facile de comprendre si $ x (t_n) $ dans l'équation différentielle et $ x_n $ dans le bloc ResNet correspondent.
De plus, dans RevNet [^ 5], qui est connu comme une généralisation de ResNet, chaque bloc a la structure symétrique suivante.
En considérant la même discussion que précédemment, nous pouvons voir qu'il s'agit d'une version discrète des équations différentielles simultanées suivantes.
D'après la discussion jusqu'à présent, il convient de noter que toutes les équations différentielles ne peuvent pas être décrites dans ResNet (ou RevNet). Pour plus d'informations sur ce domaine, consultez ce livre [^ 6], qui a été populaire récemment. Ce livre est un très bon livre, donc si vous souhaitez explorer la relation profonde entre l'apprentissage profond et la physique, je vous serais reconnaissant de bien vouloir le reprendre. Surtout dans cet article, dans un souci de simplification de la discussion, la prise en compte du nombre d'unités, etc. a été coupée, veuillez donc vérifier les détails dans ce livre, etc.
[^ 6]: Comprendre l'apprentissage en profondeur et les principes de physique peut être appliqué, Kodansha (2019/6/22) ).
ODENet (Neural Ordinary Differential Equations) Cet article [^ 8], qui a été sélectionné comme meilleur article de NeurIPS 2018 [^ 7], propose une méthode de création d'époque qui relie l'équation d'évolution temporelle pilotée par l'équation différentielle et le réseau de neurones. L'implémentation de l'auteur est publiée sur Github [^ 9].
ODENet considère le traitement de chaque couche telle que la couche cachée de ResNet et RNN comme une équation d'évolution temporelle qui prend une limite continue dans la direction du temps, et construit un réseau neuronal en le résolvant explicitement comme une équation différentielle (normale). est. En le rendant continu, le concept de couche d'apprentissage en profondeur disparaît, l'efficacité de la mémoire et de la quantité de calcul est bonne, et en tant qu'optimisation équivalente à la rétro-propagation, un solveur d'équation différentielle (normale) peut être utilisé, et diverses choses innovantes telles que Nous proposons une méthode.
Il s'agit d'un diagramme tiré de la figure 1 d'ODENet [^ 8]. Alors que la figure de gauche décrit l'évolution temporelle discrète avec ResNet normal, ODENet sur la droite peut représenter une évolution temporelle continue. Il n'y a plus le concept de couches discrètes. (C'est parfait si vous sentez qu'il y a beaucoup de flèches d'ambiance (champs de vecteurs).)
De plus, le flux de normalisation continu (CNF), qui est une extension du flux de normalisation ^ 10, peut être utilisé pour apprendre efficacement la densité de probabilité, et l'évolution temporelle des variables latentes peut être rendue continue pour rendre les données chronologiques plus efficaces. Une méthode d'apprentissage est proposée.
Veuillez vous référer à ce site [^ 11] [^ 12] [^ 13] pour une explication détaillée de la théorie sur ODENet.
En passant, le code est publié dans ce Normalizing Flow, un autre référentiel [^ 14] du même auteur. C'est amusant de construire une densité de probabilité étrange.
Par exemple, la densité de probabilité d'un gars qui nous surveille toujours chaleureusement peut être calculée assez proprement comme ça.
[^ 7]: Neural Information Processing Systems, NeuroIPS en abrégé. De nos jours, l'ancienne abréviation NIPS est encore plus appropriée.
La mécanique de Hamilton est une forme de mécanique analytique qui analyse les phénomènes à l'aide d'une mystérieuse fonction caractéristique appelée hamiltonien. Hamiltonien est une quantité physique équivalente à l'énergie en physique, et de nombreuses propriétés d'un système physique peuvent être décrites par hamiltonien. (L'hamiltonien n'est pas forcément un concept limité aux phénomènes physiques, mais il est plus facile d'imaginer les discussions suivantes si le sujet est des phénomènes physiques, alors je dis l'énergie ici.)
Eh bien, je vais mettre de côté l'histoire difficile et penser que c'est une quantité physique équivalente à l'énergie totale de la physique du lycée. Autrement dit, si l'énergie hamiltonienne et cinétique et l'énergie potentielle sont respectivement exprimées en $ \ mathcal {H}, \ mathcal {K}, \ mathcal {U} $, elles sont liées comme suit.
Un autre concept important est que la mécanique de Hamilton introduit des coordonnées généralisées et un élan généralisé. Cependant, il suffit ici de considérer simplement les coordonnées généralisées comme des coordonnées normales et le moment généralisé comme un moment normal (produit de la masse et de la vitesse). Si ceux-ci sont respectivement exprimés en $ q et p $, ils peuvent être exprimés dans la relation suivante avec des quantités physiques ordinaires.
C'est très descendant, mais je pense qu'il y a une notation tellement folle, et je vais en fait demander un hamiltonien sur l'équation différentielle de la vibration simple du ressort.
C'est très simple, il suffit de réécrire l'énergie cinétique et l'énergie potentielle en utilisant respectivement des coordonnées généralisées et une impulsion généralisée, comme suit:
La raison de l'introduction de la quantité telle que l'hamiltonien est que la symétrie de la transformation canonique et de l'équation canonique est belle, mais il existe une relation commode.
C'est frustrant, mais je laisserai les détails aux autres et je crois qu'ils ont les relations suivantes ici.
Et à titre d'exemple, appliquons hamiltonien avec une simple vibration de ressort.
Comme il est un peu difficile à comprendre tel quel, les coordonnées généralisées et l'élan généralisé sont renvoyés aux quantités physiques d'origine.
La première expression relationnelle exprime que la vitesse est un différentiel temporel de position.
Le problème est la deuxième expression relationnelle, qui est en fait l'équation de mouvement originale de la vibration simple du ressort elle-même.
En remplaçant que la vitesse est en fait le différentiel temporel de la position (la première expression relationnelle), il devient clair qu'elle correspond à l'équation de mouvement de la vibration simple du ressort mentionnée au début de cet article.
En fait, l'hamiltonien contient trop d'informations importantes pour décrire le phénomène, et l'analyse du phénomène du point de vue de l'hamiltonien (pour permettre un petit malentendu) est l'essence même de la dynamique de Hamilton. Puisque nous avons traité ici du mouvement unique de la vibration simple du ressort, il est difficile de transmettre la gratitude, mais lorsqu'il s'agit de phénomènes compliqués tels que le mouvement multi-corps et l'interconnexion, la véritable essence est démontrée.
Pour hamiltonien (et lagrangien), il peut être judicieux de lire d'abord cette zone [^ 15]. [^ 15]: Voir Kamakiri Analytical Mechanics in Space Lagrange and Hamilton Formats selon le cas. Surtout, la comparaison avec le format Lagrange est facile à comprendre. À propos, l'histoire comme la physique du lycée avant cela s'appelle la mécanique de Newton.
Hamilton Neural Network Ici, nous allons introduire une approche différente d'ODENet, qui a été introduite plus tôt, parmi les réseaux de neurones qui expriment des phénomènes. Cette méthode a également été adoptée dans NeuroIPS 2019 [^ 7], et vous pouvez l'essayer immédiatement avec cet article original [^ 16] et l'implémentation de l'auteur [^ 17].
Cette méthode est intuitivement très simple et facile à comprendre. En utilisant l'équation canonique, qui est au cœur de la mécanique de Hamilton, comme fonction de perte, nous apprenons un réseau de neurones qui exprime bien l'hamiltonien à partir de l'entrée de coordonnées généralisées et de l'élan généralisé.
Le fait ici est que vous n'apprenez pas nécessairement l'hamiltonien lui-même, qu'il soit bon ou mauvais, mais quelque chose de similaire à l'hamiltonien. Par conséquent, même si l'hamiltonien spécifique du phénomène est inconnu, on peut s'attendre à ce qu'un réseau neuronal qui puisse bien exprimer le développement temporel puisse être construit.
Le flux général d'apprentissage dans Hamilton Neural Network est le suivant.
(1) Les coordonnées généralisées et l'impulsion généralisée séparées dans le sens du temps sont utilisées comme données d'entrée.
(2) Le réseau neuronal sera caractérisé par le paramètre $ \ theta $
(3) Sortie de la valeur scalaire $ \ mathcal {H} _ \ {\ theta } $ par propagation avant (notez que la requête de hamiltonien n'est pas incluse à cette étape de sortie).
(4) Calculez les valeurs suivantes par rétropropagation en utilisant la différenciation automatique.
(5) Obtenir la différenciation temporelle des coordonnées généralisées et de l'élan généralisé en utilisant les informations du temps avec une longueur d'avance (cela correspond aux données de l'enseignant).
(6) En vous basant sur l'équation canonique, apprenez à minimiser la fonction de perte suivante.
Ce qui suit est un diagramme tiré de la figure 1 du réseau hamiltonien [^ 16].
Par rapport au simple réseau de neurones, que l'on dit être la ligne de base, on peut voir que la méthode proposée est capable d'exprimer bien le comportement du phénomène physique d'origine.
Comme application intéressante, comme le montre la figure 4 ci-dessous, est-il possible de bien reproduire le phénomène même si seules les données d'image du phénomène physique sont entrées?
Cependant, le problème est que si un mouvement unique peut exprimer quelque chose qui est relativement équivalent à la valeur mesurée, il n'a pas été capable d'apprendre très bien pour le mouvement multicorps avec interaction.
Comme vous pouvez le voir sur la figure B.3 ci-dessous, le comportement de l'exercice à trois corps s'est effondré à un stade relativement précoce. (Il est susceptible d'entrer en collision avec la force d'attraction de l'autre ...) Cependant, par rapport à Baseline, je pense qu'il essaie de maintenir une orbite circulaire, donc je pense que c'est relativement bon.
Cependant, bien qu'il s'agisse d'un réseau de neurones très intuitif et simple, il est très intéressant de pouvoir exprimer spécifiquement un seul mouvement. Je pense qu'il y a encore de la place pour le développement, donc la recherche et le développement progresseront.
Pour cet article, veuillez vous référer aux explications sur les sites [^ 18] [^ 19] ici car ils sont faciles à comprendre. [^ 18]: AI-SCHOLAR Hamiltonian Neural Networks qui permet la prédiction du mouvement d'objet qui satisfait à la loi de conservation de l'énergie, Je suis toujours redevable. [^ 19]: Github yoheikikuta / paper-reading [2019] Hamiltonian Neural Networks, c'est toujours facile à comprendre.
C'était un article résumant le contenu des coups de couteau pour ceux qui poignardent comme ça. Je pensais écrire un résumé hautement vertueux, mais je viens juste de venir à Nanki Shirahama au camp de développement de l'entreprise, et il me reste moins de 10 minutes avant l'heure de la réunion pour aller dîner, donc si je me souviens encore de cette fois Je vais! J'ai faim. .. ..
Il semble que le dieu de notre équipe soit également revenu du bain public, alors c'est tout pour l'instant.
Demain, c'est un article très vertueux de @kirikei, un grand senior de la même équipe et de la même université! !! !! Nous vous attendons pour vous asseoir droit! !! !! Étudiera! !! !!
Recommended Posts