Deep Learning: comment ça marche? Partie 1

Dans cet article, vous apprendrez





-Quelle est l' essence de l'apprentissage profond -Quelles sont les



fonctions d'activation pour



-Qu'est-ce que FCNN -Quelles



tâches le FCNN peut-il résoudre -Quels



sont les inconvénients du FCNN et comment y faire face




Petite introduction



C'est le début d'une série d'articles sur les tâches de DL, les réseaux, les architectures, les principes de travail, comment certaines tâches sont résolues et pourquoi l'une est meilleure que l'autre.



Quelles compétences préliminaires sont nécessaires pour tout comprendre? C'est difficile à dire, mais si vous savez comment Google ou poser des questions correctement, alors je suis sûr que ma série d'articles vous aidera à comprendre beaucoup.



Quel est l'intérêt de l'apprentissage profond?



L'essentiel est de construire un algorithme qui prendrait X comme entrée et prédirait Y. Si nous écrivons l'algorithme d'Euclid pour trouver GCD, alors nous écrivons simplement des cycles, des conditions, des affectations et c'est tout - nous savons comment construire un tel algorithme. Et comment construire un algorithme qui prend une image en entrée et dit un chien ou un chat? Ou rien du tout? Et l'algorithme, à l'entrée duquel nous soumettons le texte et voulons savoir - de quel genre s'agit-il? Il est si facile d'écrire des cycles et des conditions avec des stylos - ici, les réseaux de neurones, l'apprentissage en profondeur et tous ces mots à la mode viennent à la rescousse.



Plus formellement et un peu sur les fonctions d'activation



Formellement parlant, nous voulons construire une fonction à partir d'une fonction à partir d'une fonction ... à partir du paramètre d'entrée X et des poids de notre réseau W, ce qui nous donnerait un résultat. Il est important de noter ici que nous ne pouvons pas simplement prendre de nombreuses fonctions linéaires, car superposition de fonctions linéaires - fonction linéaire. Tout réseau profond est alors analogue à un réseau à deux couches (entrée et sortie). Pourquoi avons-nous besoin de non-linéarité? Nos paramètres, que nous voulons apprendre à prédire, peuvent dépendre de manière non linéaire des données d'entrée. La non-linéarité est obtenue en utilisant différentes fonctions d'activation sur chaque couche.



Réseaux de neurones entièrement connectés (FCNN)



Juste un réseau neuronal entièrement connecté. Cela ressemble à quelque chose comme ceci:



image



L'essentiel est que chaque neurone d'une couche est connecté à chaque neurone du suivant et du précédent (le cas échéant).



La première couche est l'entrée. Par exemple, si nous voulons alimenter une image 256x256x3 à l'entrée d'un tel réseau, alors nous avons besoin d'exactement 256x256x3 neurones dans la couche d'entrée (chaque neurone recevra 1 composant (R, V ou B) d'un pixel). Si nous voulons afficher la taille d'une personne, son poids et 23 autres caractéristiques, nous avons besoin de 25 neurones dans la couche d'entrée. Le nombre de neurones en sortie est le nombre de caractéristiques que nous voulons prédire. Il peut s'agir d'une fonction ou de la totalité des 100. Dans le cas général, par la couche de sortie du réseau, vous pouvez presque certainement dire quel problème il résout.



Chaque connexion entre neurones est un poids qui est entraîné par l'algorithme de rétropropagation, dont j'ai parlé ici .



Quelles tâches le FCNN peut-il résoudre?



-Problème de régression . Par exemple, prédire la valeur d'un magasin en fonction de certains critères d'entrée tels que le pays, la ville, la rue, le trafic, etc.



-Problème de classification . Par exemple, le classique est la classification MNIST.



-Je n'entreprendrai pas de dire sur la tâche de segmentation et de détection d'objets à l'aide de FCNN. Peut-être que quelqu'un partagera dans les commentaires :)



Inconvénients du FCNN



  1. Les neurones d'une couche n'ont pas d'informations «communes» (tous les poids du réseau sont uniques).
  2. Un grand nombre de paramètres entraînés (poids), si nous voulons former le réseau en photographies.


Que faire face à ces inconvénients? Les réseaux de neurones convolutifs (CNN) sont corrects. Ce sera mon prochain article.



Conclusion



Je ne vois pas l'intérêt de s'attarder sur des réseaux de neurones entièrement connectés pendant très longtemps. Si quelqu'un est intéressé par la mise en œuvre même de ces réseaux, alors ici , vous pouvez voir et lire au sujet de ma mise en œuvre.



All Articles