¿Por qué los nodos en una capa oculta producen resultados diferentes (cuando se basan en las mismas entradas)?

Cada neurona en una capa de redes neuronales produce resultados diferentes incluso cuando se les da el mismo valor de entrada de las capas anteriores porque cada neurona tiene asignado un conjunto diferente de pesos y sesgos.

A modo de ilustración, aquí hay un ejemplo simple de redes neuronales [1]

Como puede ver, cada neurona en la misma capa obtiene la misma entrada de la capa anterior, luego a cada entrada se le asigna un peso. Tenga en cuenta que cada neurona asigna diferentes pesos para la entrada recibida. Por ejemplo, en la ilustración, la neurona [matemáticas] j [/ matemáticas] asigna el peso en la entrada [matemáticas] x_i [/ ​​matemáticas] de la neurona [matemáticas] i [/ matemáticas] con [matemáticas] W_ {ij} [/ matemática], si otra neurona de las unidades de entrada es [matemática] x_g [/ matemática] y [matemática] x_h [/ matemática] de neurona [matemática] g [/ matemática] y [matemática] h [/ matemática], entonces neurona [math] j [/ math] también tendrá los pesos [math] W_ {gj} [/ math] y [math] W_ {hj} [/ math] también. Entonces, las salidas [matemáticas] x_j [/ matemáticas] de la neurona [matemáticas] j [/ matemáticas] serán [matemáticas] x_j = [/ matemáticas] [matemáticas] x_g \ veces W_ {gj} + x_h \ veces W_ {hj } + x_i \ times W_ {ij} + b_j [/ math] (no asigné una función de activación para fines de simplificación).

Ahora suponga que hay otra neurona [matemática] m [/ matemática] en unidades ocultas H1, y que también tiene las mismas entradas que la neurona [matemática] j [/ matemática]. La neurona [matemática] m [/ matemática] tendrá el conjunto de pesos [matemática] W_ {gm} [/ matemática], [matemática] W_ {hm} [/ matemática] y [matemática] W_ {im} [/ matemática ], y la salida [math] x_m [/ math] de la neurona [math] m [/ math] será [math] x_m = x_g \ times W_ {gm} + x_h \ times W_ {hm} + x_i \ times W_ {im} + b_m [/ math].

Espero que puedas ver por qué la salida es diferente

Notas al pie

[1] https://www.researchgate.net/pub…

La respuesta simple se debe a la inicialización aleatoria.

Si comenzó con los mismos pesos a través de la red neuronal (NN), entonces todos los nodos producirán la misma salida.

Esto se debe a que cuando se usa el algoritmo de backprop, el error se extiende según la fuerza de activación de cada nodo. Si comienzan de la misma manera, el error se extenderá por igual y, por lo tanto, los nodos en el NN no podrán aprender diferentes características.

Entonces, la inicialización aleatoria básica asegura que cada nodo se especialice. Por lo tanto, después del aprendizaje, los nodos en las capas ocultas producirán diferentes salidas incluso cuando la entrada sea la misma.

Espero que esto ayude.

More Interesting

¿Cómo son convexos los métodos del núcleo?

¿Qué parte del autoencoder realmente representa las características aprendidas?

Cómo aumentar la precisión utilizando redes neuronales convolucionales (CNN / ConvNets) para la regresión

¿Cómo afectan las imágenes que se filtran con diferentes filtros de imagen al entrenamiento de las redes neuronales profundas?

¿Cuáles son las mejores empresas de minería de datos?

¿Hay otros ejemplos de algoritmos de PNL que escriben libros publicados?

En el modelado de datos, ¿podría ser una buena idea crear algorítmicamente una característica grande para activar las meta características actuales antes del modelado?

¿Cómo toman decisiones las neuronas del cerebro? ¿Funcionan de la misma manera que las neuronas artificiales en ANN?

¿De qué fuente será mejor aprender el aprendizaje automático?

¿Cuáles son algunos buenos recursos para conceptos sobre la identificación de similitudes entre documentos?

Cómo crear un motor de búsqueda médica utilizando el aprendizaje automático en Java

¿Es cierto que la cantidad de datos es, con mucho, la ventaja competitiva más importante para las empresas de aprendizaje automático (por ejemplo, en automóviles autónomos)?

¿Son buenos los cursos de Machine Learning AZ y Deep Learning AZ de Kirill Eremenko en Udemy?

Kaggle: ¿Cuáles son las técnicas utilizadas para reducir el número de columnas antes de predecir la variable dependiente? Por favor vea la descripción

Cómo construir y ejecutar mi primera red de aprendizaje profundo