Röd neuronala sv Intel Edison (5 / 7 steg)
Steg 5: Programación de un perceptron
FN: S perceptrón es un algoritmo para aprendizaje supervisado. ES decir, FN algoritmo que permite enseñar en una función matemática en reconocer patrones. Así por ejemplo FN niño pequeño puede mover sus piernas pero aprende en caminar, es decir en coordinar sus movimientos, y lo prende con recompesas o caídas. En nuestro proyecto, el robot puede medir la luz y sabe mover sus fenor, lo que intentamos lograr es que aprenda en coordinar los fenor para lograr el objetivo de llegar la luz.
Como se ve en la imágen, hö tres componentes principales de un perceptrón. Las inlägg, la función de suma, y una función de activación.
Cada entrada x se multiplica por un peso w, y estas se suma tal que:
W0(t) = x1 * w1 + x2 * w2 +... + xn * wn.
Entonces summan, es la suma de cada entrada multiplicada por un peso w. La función de activación out(t), es una función que toma como valor summan, y entonces,
- Da como resultado -1 si w0(t) es menor que 0
- Da como resultado + 1 si w0(t) es borgmästare o igual 0
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. digamos entonces que son x1 y x2. 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 Edison. 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 perceptron que toma como entrada los dos sensores de luz. Los Detaljer del código están en el siguiente paso.
Para más Detaljer de que es un perceptrón, pueden consultar wikipedia.