L'autre jour, Google a publié la bibliothèque d'apprentissage en profondeur TensorFlow. De nombreuses personnes l'ont déjà essayé, et leurs impressions et leur utilisation ont été écrites. J'aimerais le toucher moi-même et écrire ce que j'ai pensé.
Dans l'explication de l'apprentissage profond commun, la figure suivante est utilisée.
Il est présenté comme un mécanisme rappelant le mécanisme des nerfs. Les données sont transmises d'une cellule nerveuse à une cellule nerveuse via la synapse, et la cellule nerveuse qui reçoit les données voit les données et envoie à nouveau de nouvelles données.
Cependant, lorsque je regarde ce chiffre et que je le reflète dans le programme, j'ai du mal à devoir reproduire beaucoup de cellules. Par conséquent, il serait plus facile à comprendre si vous pensez à des cellules nerveuses ayant la même fonction qu'une masse et simplifiez la figure en utilisant un espace vectoriel de grande dimension.
Considérez les cellules nerveuses comme des connexions synaptiques dans l'espace vectoriel comme une sorte de cartographie (ceux qui ne le comprennent pas sont des fonctions). Ce mappage est souvent non linéaire, mais je pense que beaucoup utilisent quelque chose qui est représenté par un composite d'un mappage linéaire (représenté par une matrice) et une simple fonction non linéaire. En apprentissage automatique, les performances de ce mappage sont améliorées par l'apprentissage. Si vous disposez d'un composite d'un mappage linéaire et d'une fonction non linéaire, vous pouvez représenter la partie du mappage linéaire comme une matrice et mettre à jour la matrice à chaque fois que vous apprenez.
Sur la base de cette compréhension, lorsque je lisais l'explication de TensorFlow, j'ai été immédiatement convaincu que je faisais un apprentissage en profondeur à l'aide de graphiques, mais je me suis parfois demandé «Quoi? Autrement dit, bien qu'il existe de nombreuses explications sur les sommets, il n'y a presque pas de parties qui correspondent aux arêtes. Dans la figure précédente, la partie de la cartographie, c'est-à-dire le côté du graphe, est renforcée par l'apprentissage, mais il n'y a aucune explication pour ce côté. Au lieu de cela, il y a Variable, et il semble que vous êtes censé apprendre en la mettant à jour.
Apparemment, j'ai besoin de réécrire à nouveau l'image d'apprentissage profond en moi-même.
Notez que la partie du mappage est généralement divisée en une partie variable et mise à jour par apprentissage (la partie de mappage linéaire) et une partie invariante (la partie fonction non linéaire). La partie variable est représentée par une colonne de nombres. On comprend que le style de TensorFlow consiste à traiter cela comme une variable et à le traiter comme un sommet au lieu de l'incorporer dans un côté. En séparant du côté vers le sommet, les données et la fonction sont séparées, et les données provenant de l'entrée et les données d'apprentissage sont traitées de la même manière. Ensuite, l'image sera comme indiqué dans la figure suivante.
Au moment de l'apprentissage, le côté retourne et la partie des données d'apprentissage est mise à jour. Si vous y réfléchissez avec une telle image, vous pouvez considérer le deep learning comme quelque chose de similaire au mécanisme d'autres applications.
Recommended Posts