Réseau de neurones à faire soi-même à partir de zéro. Partie 1. Théorie

Salut. Je m'appelle Andrey, je suis un développeur frontend et je veux vous parler d'un sujet tel que les réseaux de neurones. Le fait est que les technologies de ML pénètrent plus profondément dans nos vies, et beaucoup de choses ont été dites et écrites sur les réseaux de neurones, mais quand j'ai voulu comprendre ce problème, j'ai réalisé qu'il existe de nombreux guides sur Internet sur la façon de créer un réseau de neurones. et ils ressemblent à ceci:





  1. Prenez Tensorflow





  2. Nous créons un réseau de neurones





Plus d'informations sont dispersées en morceaux partout sur Internet. Par conséquent, j'ai essayé de le rassembler et de le présenter dans cet article. Je vais faire une réservation tout de suite que je ne suis pas un spécialiste en ML ou en biologie, donc dans certains endroits, je peux être inexact. Dans ce cas, je serai heureux de recevoir vos commentaires.





Pendant que j'écrivais cet article, je me suis rendu compte que je recevais une lecture longue assez volumineuse, j'ai donc décidé de la scinder en plusieurs parties. Dans la première partie, nous parlerons de théorie, dans la seconde, nous écrirons notre propre réseau de neurones à partir de zéro sans utiliser de bibliothèques, dans la troisième, nous essaierons de l'appliquer dans la pratique.





Puisqu'il s'agit de mon premier article, ils apparaîtront au fur et à mesure de la progression de la modération, après quoi j'ajouterai des liens vers toutes les parties. Alors, commençons.





Réseau de neurones à faire soi-même à partir de zéro. Partie 2. Mise en œuvre





Réseau de neurones à faire soi-même à partir de zéro. Partie 3. Triste ou heureux?





. - . .





, . . , , , , , , , . 





, , , . , .





. , , , , . - - - .





: , - .





, . . .





, , , , , , .





- . , , , .





IT

, , ? 





, , , , . , . 





, , - , .





, , . , , .





, .





, , . . , .





, , , . . , . , . .





- , . 





, , . , , , , . , , . , . .





.

, , . . , 0 1 0,5 0. . :





f (x) = 1 / (1 + e ^ -x)

0 1. , , > 0.5, , - .





, . , , ( ), , , . , -0,5 0,5. 





 





1 * 0,43 + 0 * 0,18 + 1 * -0,21 = 0,22





, , .





sigmoid(0,22) = 1 / (1 + e^-0,22) = 0,55





0,60.





, , 0,60, .





, . , , . , .





. , .





error = 0.60 - 0 = 0.60





, . , .





sigmoïde (x) dx = sigmoïde (x) (1 - sigmoïde (x))





delta = 0.60 * (1 - 0.60) = 0.24









weight = weight - output * delta * learning rate





weight - , output - , delta - , learning rate - , , . - , . learning rate 0,3. :





w = 0,22 - 0,55 * 0,24 * 0,3 = 0,18





:





w = 0.47 - 0.60 * 0.24 * 0.3 = 0.43





, , , . , . . :





error = 0.18 * 0.24 = 0.04





, , , , . .





, , . , .








All Articles