¿Cómo resolverías el siguiente diagrama de perceptrón?

primero que nada vamos a anotar un diagrama dado

ahora definamos funciones de costo

[matemática] Función de costo (X_i) = \ frac {(y_i – x7) ^ 2} {2} [/ matemática]

habría una función similar para el bit de acarreo (x6) también.

Entonces, el propósito de esta tarea de aprendizaje es aprender los pesos de la red que son

a, b, c … i, j

datos de entrenamiento: de la figura parece que es la salida de medio sumador binario (con carry)

aquí está la tabla de verdad

Como puede ver, la columna “s” funcionará como la salida correcta para x7 (que denotamos como y en nuestra ecuación) y la columna “c” será la salida correcta para x6

ahora veamos un gradiente decente para aprender todos esos pesos, para “peso”

Є {a, b, c, …, i, j}

[math] weight (new) = weight (old) – \ eta * \ frac {\ partial (Cost)} {\ partial (weight)} [/ math]

ahora veamos cuál sería derivado de la función de costo con respecto a todo el peso uno por uno

(entonces puede usar la derivada en la fórmula anterior para actualizar ese peso en particular)

wrt i:

es simple ya que x7 siendo perceptrón sigue la ecuación: [matemática] f = x4 * i + x5 * j + sesgo [/ matemática]

pero la función de costo es = [matemática] \ frac {(y_i – x7) ^ 2} {2} [/ matemática]

entonces [matemática] \ frac {\ costo parcial} {\ parcial i} = (x4 * i + x5 * j + sesgo) * \ frac {\ parcial f} {\ parcial i} [/ matemática]

que es igual a [matemáticas] (x4 * i + x5 * j + sesgo) * x4 [/ matemáticas]

wrt j:

similar

[matemática] \ frac {\ costo parcial} {\ parcial j} = (x4 * i + x5 * j + sesgo) * x5 [/ matemática]

wrt x4:

[matemática] \ frac {\ parcial de costo} {\ parcial x4} = (x4 * i + x5 * j + sesgo) * \ frac {\ parcial (x4 * i + x5 * j + sesgo)} {\ parcial x4} [/matemáticas]

y eso sería [matemáticas] (x4 * i + x5 * j + sesgo) * i [/ matemáticas]

igualmente wrt x5:

[matemática] \ frac {\ costo parcial} {\ parcial x5} = (x4 * i + x5 * j + sesgo) * j [/ matemática]

wrt c:

aquí usas la regla de la cadena

[matemática] \ frac {\ costo parcial} {\ partial c} = \ frac {\ costo parcial} {\ partial x4} * \ frac {\ partial x4} {\ partial c} [/ matemática]

si miras arriba, ya tenemos

[matemáticas] \ frac {\ costo parcial} {\ parcial x4} [/ matemáticas]

ahora solo calcula,

[matemáticas] \ frac {\ partial x4} {\ partial c} = \ frac {\ partial (x1 * c + x3 * e + sesgo)} {\ partial c} [/ matemática]

por lo tanto, [matemática] \ frac {\ parcial x4} {\ parcial c} = x1 [/ matemática]

[matemática] \ frac {\ costo parcial} {\ partial c} = \ frac {\ costo parcial} {\ partial x4} * x1 [/ matemática]

igualmente wrt d:

[matemática] \ frac {\ parcial x5} {\ parcial d} = x2 [/ matemática]

y

[matemática] \ frac {\ costo parcial} {\ partial d} = \ frac {\ costo parcial} {\ partial x5} * x2 [/ matemática]

wrt e:

de nuevo regla de la cadena.

[matemáticas] \ frac {\ costo parcial} {\ partial e} = \ frac {\ costo parcial} {\ partial x4} * \ frac {\ partial x4} {\ partial e} [/ math]

(supongo que ahora puedo omitir algunos pasos)

[matemáticas] \ frac {\ costo parcial} {\ partial e} = \ frac {\ costo parcial} {\ partial x4} * x3 [/ matemáticas]

igualmente wrt f:

[matemáticas] \ frac {\ costo parcial} {\ partial f} = \ frac {\ costo parcial} {\ partial x5} * x3 [/ matemáticas]

wrt a:

[matemática] \ frac {\ partial cost} {\ partial a} = \ frac {\ partial cost} {\ partial x4} * \ frac {\ partial x4} {\ partial x3} * \ frac {\ partial x3} { \ partial a} + \ frac {\ partial cost} {\ partial x5} * \ frac {\ partial x5} {\ partial x3} * \ frac {\ partial x3} {\ partial a} [/ math]

y finalmente se convertiría en

[matemática] \ frac {\ parcial de costo} {\ parcial a} = \ frac {\ parcial de costo} {\ parcial x4} * e * x1 + \ frac {\ parcial de costo} {\ parcial x5} * f * x1 [/ matemáticas]

El paso anterior podría ser un poco complicado …

queremos calcular cuál sería el cambio en el costo ([matemática] {\ costo parcial} [/ matemática]) con respecto al peso ‘a’ ([matemática] {\ parcial a} [/ matemática]). el cambio en el valor de a causará un cambio en x3, el cambio en x3 causará un cambio en x4 y x5 ambos. Y x4 y x5 cambiarán la función de costo. Para acomodar el cambio realizado por x5 y x4, agregamos los cambios realizados por ambos por separado y ahí es donde la “adición” de

[matemáticas] \ frac {\ costo parcial} {\ partial x4} * \ frac {\ partial x4} {\ partail x3} * \ frac {\ partial x3} {\ partial a} [/ math]

y

[math] \ frac {\ partial cost} {\ partial x5} * \ frac {\ partial x5} {\ partial x3} * \ frac {\ partial x3} {\ partial a} [/ math] entra en el marco.

lo mismo para b:

[matemática] \ frac {\ partial cost} {\ partial a} = \ frac {\ partial cost} {\ partial x4} * \ frac {\ partial x4} {\ partial x3} * \ frac {\ partial x3} { \ partial b} + \ frac {\ partial cost} {\ partial x5} * \ frac {\ partial x5} {\ partial x3} * \ frac {\ partial x3} {\ partial b} [/ math]

y finalmente se convertiría en

[matemática] \ frac {\ parcial de costo} {\ parcial a} = \ frac {\ parcial de costo} {\ parcial x4} * e * x2 + \ frac {\ parcial de costo} {\ parcial x5} * f * x2 [ /matemáticas]

ahora tiene derivado de wrt de costo para todos los pesos, así que aplíquelo en una formulación decente de gradiente. Luego repítelo hasta lograr la precisión deseada …

para llevar, tendremos otra función de costo diferente, denotémosla por cost_c. A diferencia de la función de costo principal, no tenemos que encontrar derivadas de esta función de costo wrt para todos los pesos, sino solo

a, b, g, h porque estos son los únicos bordes que realmente pueden cambiar x6.

entonces wrt g:

[matemática] \ frac {\ partial cost_c} {\ partial g} = (x3 * g + x3 * h + sesgo) * x3 [/ math]

wrt h:

[matemática] \ frac {\ partial cost_c} {\ partial h} = (x3 * g + x3 * h + sesgo) * x3 [/ math]

wrt a:

[math] \ frac {\ partial cost_c} {\ partial a} = \ frac {\ partial cost_c} {\ partial x3} * \ frac {\ partial x3} {\ partial a} [/ math]

[matemática] \ frac {\ partial cost_c} {\ partial a} = (x3 * g + x3 * h + sesgo) * (g + h) * x1 [/ matemática]

wrt b:

[matemáticas] \ frac {\ partial cost_c} {\ partial b} = \ frac {\ partial cost_c} {\ partial x3} * \ frac {\ partial x3} {\ partial b} [/ math]

[matemática] \ frac {\ partial cost_c} {\ partial b} = (x3 * g + x3 * h + sesgo) * (g + h) * x2 [/ matemática]

Esta es mi primera respuesta donde he usado algunas formulaciones y ecuaciones, así que señale si encuentra algunos pequeños errores tipográficos. He hecho todo lo posible para expresarlo, sin embargo, si sientes que algunas cosas requieren poca explicación, escríbelas en la sección de comentarios …