Hágalo usted mismo desde cero. Parte 1. Teoría

Hola. Mi nombre es Andrey, soy desarrollador frontend y quiero hablarles sobre un tema como las redes neuronales. El hecho es que las tecnologías de aprendizaje automático penetran más profundamente en nuestras vidas, y se ha dicho y escrito mucho sobre las redes neuronales, pero cuando quise entender este tema, me di cuenta de que hay muchas guías en Internet sobre cómo crear una red neuronal. y tienen el siguiente aspecto:





  1. Toma Tensorflow





  2. Creamos una red neuronal





Hay más información dispersa en trozos por todo Internet. Por lo tanto, traté de armarlo y presentarlo en este artículo. Haré una reserva de inmediato de que no soy un especialista en ML o biología, por lo que en algunos lugares puedo ser inexacto. En este caso, estaré encantado de recibir sus comentarios.





Mientras escribía este artículo, me di cuenta de que estaba obteniendo un texto largo bastante voluminoso, así que decidí dividirlo en varias partes. En la primera parte hablaremos de teoría, en la segunda escribiremos nuestra propia red neuronal desde cero sin usar bibliotecas, en la tercera intentaremos aplicarla en la práctica.





Dado que esta es mi primera publicación, aparecerán a medida que avanza la moderación, después de lo cual agregaré enlaces a todas las partes. Entonces empecemos.





Hágalo usted mismo desde cero. Parte 2. Implementación





Hágalo usted mismo desde cero. Parte 3. ¿Triste o feliz?





. - . .





, . . , , , , , , , . 





, , , . , .





. , , , , . - - - .





: , - .





, . . .





, , , , , , .





- . , , , .





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





, . , .





sigmoide (x) dx = sigmoide (x) (1 - sigmoide (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