relu redes neuronales multicapa libro las inteligencia historia funciones funcion artificial algoritmo activacion machine-learning artificial-intelligence neural-network matlab

machine-learning - multicapa - redes neuronales libro pdf



Red neuronal: función de activación vs función de transferencia (5)

Creo que el diagrama es correcto, pero no es terminológicamente preciso.

La función de transferencia incluye las funciones de activación y transferencia en su diagrama. Lo que se llama función de transferencia en su diagrama generalmente se conoce como la función de entrada neta. La función de entrada neta solo agrega ponderaciones a las entradas y calcula la entrada neta, que generalmente es igual a la suma de las entradas multiplicadas por pesos dados. La función de activación, que puede ser una función sigmoidea, de paso, etc., se aplica a la entrada neta para generar la salida.

Parece que hay un poco de confusión entre la activación y la función de transferencia. De Wikipedia ANN :

Parece que la función de transferencia calcula la red mientras que la función de activación es la salida de la neurona. Pero en la documentación de Matlab de una función de activación cito:

satlin (N, FP) es una función de transferencia neuronal. Las funciones de transferencia calculan la salida de una capa desde su entrada neta.

Entonces, ¿quién tiene razón? ¿Y puede usar el término función de activación o función de transferencia indistintamente?


Después de algunas investigaciones, he encontrado en "Encuesta de funciones de transferencia neuronal", de Duch y Jankowski (1999) que:

transfer_function = activation function + output function

Y la terminología OMI tiene sentido ahora ya que necesitamos tener un valor (intensidad de la señal) para verificar que la neurona se activará y luego calcular una salida de la misma. Y lo que hace todo el proceso es transferir una señal de una capa a otra.

Dos funciones determinan la forma en que las neuronas procesan las señales. La función de activación determina la señal total que recibe una neurona. El valor de la función de activación suele ser escalar y los argumentos son vectores. La segunda función que determina el procesamiento de señal de la neurona es la función de salida o (I), que opera en activaciones escalares y devuelve valores escalares. Normalmente, se utiliza una función de aplastamiento para mantener los valores de salida dentro de los límites especificados. Estas dos funciones juntas determinan los valores de las señales de salida de la neurona. La composición de la activación y la función de salida se denomina función de transferencia o (I (x)).


La función de transferencia proviene de la transformación del nombre y se utiliza para fines de transformación. Por otro lado, la función de activación verifica la salida si cumple un cierto umbral y cualquiera de las salidas es cero o una. Algunos ejemplos de funciones de transferencia no lineales son softmax y sigmoid. Por ejemplo, supongamos que tenemos una señal de entrada continua x (t). Esta señal de entrada se transforma en una señal de salida y(t) través de una función de transferencia H(s) .

Y(s) = H(s)X(s)

La función de transferencia H(s) como se puede ver arriba cambia el estado de la entrada X(s) a un nuevo estado de salida Y(s) través de la transformación. Una mirada más cercana a H (s) muestra que puede representar un peso en una red neuronal. Por lo tanto, H(s)X(s) es simplemente la multiplicación de la señal de entrada y su peso. Varios de estos pares de entrada y peso en una capa dada se suman para formar la entrada de otra capa. Esto significa que la entrada a cualquier capa a una red neuronal es simplemente la función de transferencia de su entrada y el peso, es decir, una transformación lineal porque la entrada ahora se transforma por los pesos. Pero en el mundo real, los problemas son de naturaleza no lineal. Por lo tanto, para hacer que los datos entrantes no sean lineales, usamos un mapeo no lineal llamado función de activación. Una función de activación es una función de toma de decisiones que determina la presencia de una característica neural particular. Está mapeado entre 0 y 1, donde cero significa que la característica no está allí, mientras que uno significa que la característica está presente. Desafortunadamente, los pequeños cambios que ocurren en los pesos no se pueden reflejar en el valor de activación porque solo pueden tomar 0 o 1. Por lo tanto, las finas no lineales deben ser continuas y diferenciables entre este rango.
En sentido real antes de emitir una activación, se calcula primero el sigmoide ya que es continuo y diferencial y luego se usa como una entrada a una función de activación que verifica si la salida del sigmoide es más alta que su umbral de activación. Una red neuronal debe poder tomar cualquier entrada de -infinito a + infinito positivo, pero debería poder asignarla a una salida que oscila entre {0,1} o entre {-1,1} en algunos casos, por lo tanto, la necesidad de la función de activación.


También cito de la wikipedia : "Por lo general, las sumas de cada nodo se ponderan, y la suma se pasa a través de una función no lineal conocida como función de activación o función de transferencia.

En el aprendizaje automático, al menos, son utilizados indistintamente por todos los profesionales que conozco (la "función de activación" se usa con más frecuencia, mientras que creo que la "función de transferencia" se usa más comúnmente en el procesamiento de señal). Si hay una definición más estricta, no es comúnmente conocida / aceptada, por lo que cualquiera que la use como dos términos diferentes tendrá que ser más clara.


También soy un novato en el campo del aprendizaje automático. Por lo que entiendo ...

Función de transferencia: la función de transferencia calcula el peso neto, por lo que debe modificar su código o calcularlo antes de la función de transferencia. Puede usar varias funciones de transferencia como adecuadas para su tarea.

Función de activación: Esto se utiliza para calcular el valor de umbral, es decir, cuando su red dará la salida. Si el resultado calculado es mayor que el valor umbral, mostrará el resultado de lo contrario no.

Espero que esto ayude.