Röd neuronala sv SparkFun SAMD21 (Arduino noll) (6 / 8 steg)
Steg 6: Aprendizaje
El algoritmo de aprendizaje consiste sv calcular correctamente los pesos w para obtener el sv out(t), que se considera correcto.
En este proyecto sv särskild tenemos dos inlägg que provienen de dos sensores de luz, fotoresistor 1 y fotoresistor 2, que están conectados como se ve sv la foto. Digamos entonces que son x1 y x2, respectivamente. En esto hay que agregarle una tercera x3 entrada que dejamos que siempre havet 1 (se conoce como bias), para evitar sumas 0.
Los valores de entrada de los fotoresistores van de 0 a 1023. Entonces, w0 (t) = x1 * w1 + x2 * w2 + x3 * w3 La función de activación out(t) hará que el resultado havet -1 o + 1.
Noten que se återvi t para ange una iteración, pues estos cálculos se realizan una vez por cada loop del procesador.
Ahora bien, digamos que + 1 indica en FN servo motor moverse hacia adelante y -1 moverse hacia en atrás. Para corregir el movimiento calculamos el fel de la siguiente manera, error(t) = deseado(t) - out(t).
Por últimoen, con este fel corregimos los pesos w, nuevo w = w + fel * x * c donde c, es una constante entre 0 y 1, de aprendizaje, que se ajusta para determinar que tan rápido debe aprender (si es muy rápido en veces nunca se estabiliza). Para cada motor utilizaremos un perceptrón que toma como entrada los dos sensores de luz. Los Detaljer del código están en el siguiente paso.