Lista completa de funciones de activación en redes neuronales con pros / contras


95

¿Hay algún documento de referencia que proporcione una lista completa de las funciones de activación en las redes neuronales junto con sus pros / contras (e idealmente algunos consejos para publicaciones en las que tuvieron éxito o no)?


No sé lo suficiente sobre las ANN, pero a menos que las funciones de activación difieran sustancialmente en su forma, será muy difícil distinguirlas. Para una discusión de una situación análoga, puede ver mi respuesta aquí: Diferencia entre modelos logit y probit .
gung - Restablece a Monica

1
no, hace una gran diferencia.
Viliami

en.wikipedia.org/wiki/Activation_function es un buen recurso; puede utilizar muchos otros, incluyendo sin(x), ver openreview.net/pdf?id=Sks3zF9eg .
Piotr Migdal

Para ver un video tutorial sobre las funciones de activación, visite: quickkt.com/tutorials/artificial-intelligence/deep-learning/…
vinay kumar el

Respuestas:


144

Comenzaré a hacer una lista de las que he aprendido hasta ahora. Como dijo @marcodena, los pros y los contras son más difíciles porque en su mayoría son solo heurísticas aprendidas al probar estas cosas, pero me imagino que al menos tengo una lista de lo que no pueden dañar.

Primero, definiré la notación explícitamente para que no haya confusión:

Notación

Esta notación es del libro de Neilsen .

Una red neuronal Feedforward es muchas capas de neuronas conectadas entre sí. Toma una entrada, luego esa entrada "gotea" a través de la red y la red neuronal devuelve un vector de salida.

Más formalmente, llame la activación (también conocida como salida) de la neurona en la capa , donde es el elemento en el vector de entrada. j t h i t h a 1 j j t hajijthithaj1jth

Entonces podemos relacionar la entrada de la siguiente capa con la anterior a través de la siguiente relación:

aji=σ(k(wjkiaki1)+bji)

dónde

  • σ es la función de activación,
  • k t h ( i - 1 ) t h j t h i t hwjki es el peso desde la neurona en la capa hasta la neurona en la capa ,kth(i1)thjthith
  • j t h i t hbji es el sesgo de la neurona en la capa , yjthith
  • j t h i t haji representa el valor de activación de la neurona en la capa .jthith

A veces escribimos para representar , en otras palabras, el valor de activación de una neurona antes de aplicar la función de activación .k ( w i j ka i - 1 k ) + b i jzjik(wjkiaki1)+bji

ingrese la descripción de la imagen aquí

Para una notación más concisa podemos escribir

ai=σ(wi×ai1+bi)

Para usar esta fórmula para calcular la salida de una red de alimentación directa para alguna entrada , establezca , luego calcule , donde es el número de capas.a 1 = I a 2 , a 3 , ... , a m mIRna1=Ia2,a3,,amm

Funciones de activacion

(a continuación, escribiremos lugar de para facilitar la lectura)e xexp(x)ex

Identidad

También conocido como una función de activación lineal.

aji=σ(zji)=zji

Identidad

Paso

aji=σ(zji)={0if zji<01if zji>0

Paso

Lineal a trozos

Elija algunos y , que es nuestro "rango". Todo lo que sea menor que este rango será 0, y todo lo que sea mayor que este rango será 1. Cualquier otra cosa se interpola linealmente. Formalmente:xminxmax

aji=σ(zji)={0if zji<xminmzji+bif xminzjixmax1if zji>xmax

Dónde

m=1xmaxxmin

y

b=mxmin=1mxmax

Lineal a trozos

Sigmoideo

aji=σ(zji)=11+exp(zji)

Sigmoideo

Log-log complementario

aji=σ(zji)=1exp(exp(zji))

Log-log complementario

Bipolar

aji=σ(zji)={1if zji<0   1if zji>0

Bipolar

Sigmoide bipolar

aji=σ(zji)=1exp(zji)1+exp(zji)
Sigmoide bipolar

Tanh

aji=σ(zji)=tanh(zji)

Tanh

Tanh de LeCun

Ver Backprop eficiente .

aji=σ(zji)=1.7159tanh(23zji)

Tanh de LeCun

Escamoso:

Lehun's Tanh Scaled

Tanh duro

aji=σ(zji)=max(1,min(1,zji))

Tanh duro

Absoluto

aji=σ(zji)=∣zji

Absoluto

Rectificador

También conocido como Unidad lineal rectificada (ReLU), Max o la función de rampa .

aji=σ(zji)=max(0,zji)

Rectificador

Modificaciones de ReLU

Estas son algunas funciones de activación con las que he estado jugando que parecen tener un muy buen rendimiento para MNIST por razones misteriosas.

aji=σ(zji)=max(0,zji)+cos(zji)

ReLU cos

Escamoso:

ReLU cos escalado

aji=σ(zji)=max(0,zji)+sin(zji)

ReLU sin

Escamoso:

ReLU pecado escalado

Rectificador liso

También conocido como Unidad lineal rectificada suave, Max suave o Soft plus

aji=σ(zji)=log(1+exp(zji))

Rectificador liso

Logit

aji=σ(zji)=log(zji(1zji))

Logit

Escamoso:

Logit Escalado

Probit

aji=σ(zji)=2erf1(2zji1)
.

Donde es la función de error . No se puede describir a través de funciones elementales, pero puede encontrar formas de aproximar su inverso en esa página de Wikipedia y aquí .erf

Alternativamente, se puede expresar como

aji=σ(zji)=ϕ(zji)
.

Donde es la función de distribución acumulativa (CDF). Vea aquí los medios para aproximar esto.ϕ

Probit

Escamoso:

Probit escalado

Coseno

Ver fregaderos de cocina al azar .

aji=σ(zji)=cos(zji)
.

Coseno

Softmax

También conocido como el exponencial normalizado.

aji=exp(zji)kexp(zki)

Este es un poco extraño porque la salida de una sola neurona depende de las otras neuronas en esa capa. También se vuelve difícil de calcular, ya que puede ser un valor muy alto, en cuyo caso probablemente se desbordará. Del mismo modo, si es un valor muy bajo, se desbordará y se convertirá en .zjiexp(zji)zji0

Para combatir esto, calcularemos en su lugar . Esto nos da:log(aji)

log(aji)=log(exp(zji)kexp(zki))

log(aji)=zjilog(kexp(zki))

Aquí necesitamos usar el truco log-sum-exp :

Digamos que estamos computando:

log(e2+e9+e11+e7+e2+e5)

Primero ordenaremos nuestros exponenciales por magnitud por conveniencia:

log(e11+e9+e5+e2+e2+e7)

Entonces, dado que es nuestro más alto, multiplicamos por :e11e11e11

log(e11e11(e11+e9+e5+e2+e2+e7))

log(1e11(e0+e2+e6+e9+e13+e18))

log(e11(e0+e2+e6+e9+e13+e18))

log(e11)+log(e0+e2+e6+e9+e13+e18)

11+log(e0+e2+e6+e9+e13+e18)

Entonces podemos calcular la expresión a la derecha y tomar el registro de la misma. Está bien hacer esto porque esa suma es muy pequeña con respecto a , por lo que cualquier flujo inferior a 0 no habría sido lo suficientemente significativo como para marcar la diferencia de todos modos. El desbordamiento no puede suceder en la expresión de la derecha porque estamos garantizados que después de multiplicar por , todas las potencias serán .log(e11)e110

Formalmente, llamamos . Entonces:m=max(z1i,z2i,z3i,...)

log(kexp(zki))=m+log(kexp(zkim))

Nuestra función softmax se convierte en:

aji=exp(log(aji))=exp(zjimlog(kexp(zkim)))

También como nota al margen, la derivada de la función softmax es:

dσ(zji)dzji=σ(zji)=σ(zji)(1σ(zji))

Máximo fuera

Este también es un poco complicado. Esencialmente, la idea es dividir cada neurona en nuestra capa máxima en muchas sub-neuronas, cada una de las cuales tiene sus propios pesos y sesgos. Luego, la entrada a una neurona va a cada una de sus sub-neuronas, y cada sub-neurona simplemente emite sus 's (sin aplicar ninguna función de activación). El de esa neurona es entonces el máximo de todas las salidas de su sub-neurona.zaji

Formalmente, en una sola neurona, digamos que tenemos sub-neuronas. Entoncesn

aji=maxk[1,n]sjki

dónde

sjki=ai1wjki+bjki

( es el producto punto )

Para ayudarnos a pensar en esto, considere la matriz de peso para la capa de una red neuronal que utiliza, por ejemplo, una función de activación sigmoidea. es una matriz 2D, donde cada columna es un vector para la neurona contiene un peso para cada neurona en la capa anterior .WiithWiWjiji1

Si vamos a tener sub-neuronas, vamos a necesitar una matriz de peso 2D para cada neurona, ya que cada sub-neurona necesitará un vector que contenga un peso para cada neurona en la capa anterior. Esto significa que es ahora una matriz de peso 3D, donde cada es la matriz de peso 2D para una sola neurona . Y luego es un vector para la sub-neurona en la neurona que contiene un peso para cada neurona en la capa anterior .WiWjijWjkikji1

Del mismo modo, en una red neuronal que nuevamente utiliza, por ejemplo, una función de activación sigmoidea, es un vector con un sesgo para cada neurona en la capa .bibjiji

Para hacer esto con sub-neuronas, necesitamos una matriz de sesgo 2D para cada capa , donde es el vector con un sesgo para cada subneuron en neurona.biibjibjkikjth

Tener una matriz de peso y un vector de sesgo para cada neurona luego deja muy claras las expresiones anteriores, simplemente aplica los pesos de cada sub-neurona a las salidas de capa , luego aplicando sus sesgos y tomando el máximo de ellos.wjibjiwjkiai1i1bjki

Redes de funciones de base radial

Las redes de función de base radial son una modificación de las redes neuronales de alimentación directa, donde en lugar de usar

aji=σ(k(wjkiaki1)+bji)

tenemos un peso por nodo en la capa anterior (como es normal), y también un vector medio y un vector de desviación estándar para cada nodo en La capa anterior.wjkikμjkiσjki

Luego llamamos a nuestra función de activación para evitar confundirla con los vectores de desviación estándar . Ahora, para calcular , primero tenemos que calcular una para cada nodo en la capa anterior. Una opción es usar la distancia euclidiana:ρσjkiajizjki

zjki=(ai1μjki=(ai1μjki)2

Donde es el elemento de . Este no usa . Alternativamente, hay una distancia de Mahalanobis, que supuestamente funciona mejor:μjkithμjkiσjki

zjki=(ai1μjki)TΣjki(ai1μjki)

donde es la matriz de covarianza , definida como:Σjki

Σjki=diag(σjki)

En otras palabras, es la matriz diagonal con como elementos diagonales. Aquí definimos y como vectores de columna porque esa es la notación que normalmente se usa.Σjkiσjkiai1μjki

En realidad, esto solo dice que la distancia de Mahalanobis se define como

zjki=(ai1μjki)2σjki

Donde es el elemento de . Tenga en cuenta que siempre debe ser positivo, pero este es un requisito típico para la desviación estándar, por lo que esto no es tan sorprendente.σjkithσjkiσjki

Si lo desea, la distancia de Mahalanobis es lo suficientemente general como para que la matriz de covarianza pueda definirse como otras matrices. Por ejemplo, si la matriz de covarianza es la matriz de identidad, nuestra distancia de Mahalanobis se reduce a la distancia euclidiana. embargo, es bastante común y se conoce como distancia euclidiana normalizada .ΣjkiΣjki=diag(σjki)

De cualquier manera, una vez que se ha elegido nuestra función de distancia, podemos calcular través deaji

aji=kwjkiρ(zjki)

En estas redes, eligen multiplicar por pesos después de aplicar la función de activación por razones.

Esto describe cómo hacer una red de función de base radial de múltiples capas, sin embargo, generalmente solo hay una de estas neuronas, y su salida es la salida de la red. Se dibuja como múltiples neuronas porque cada vector medio y cada vector de desviación estándar de esa neurona individual se considera una "neurona" y luego, después de todas estas salidas, hay otra capa que toma la suma de esos valores calculados por los pesos, al igual que arriba. Dividirlo en dos capas con un vector "sumador" al final me parece extraño, pero es lo que hacen. σ i j k a i jμjkiσjkiaji

Ver también aquí .

Función de base radial Funciones de activación de red

Gaussiano

ρ(zjki)=exp(12(zjki)2)

Gaussiano

Multicuadrático

Elige algún punto . Luego calculamos la distancia desde a :( z i j , 0 )(x,y)(zji,0)(x,y)

ρ(zjki)=(zjkix)2+y2

Esto es de Wikipedia . No está limitado y puede ser cualquier valor positivo, aunque me pregunto si hay una manera de normalizarlo.

Cuando , esto es equivalente a absoluto (con un desplazamiento horizontal ).y=0x

Multicuadrático

Multiquadratic inverso

Igual que cuadrático, excepto volteado:

ρ(zjki)=1(zjkix)2+y2

Multiquadratic inverso

* Gráficos de los gráficos de intmath usando SVG .


12
Bienvenido a CV. +6 esto es fabulosamente informativo. Espero que veamos más como esto en el futuro.
gung - Restablece a Monica

1
también está la función lineal rectificada suave de la forma y probit. log(1+exp(x))
Memming

De acuerdo, creo que agregué Logit, Probit y Log-log complementario, sin embargo, no tengo una comprensión profunda de estos temas, por lo que es posible que haya entendido mal su forma escrita. ¿Es esto correcto?
Phylliida

3
Este sería un artículo interesante con una buena lista de referencias. Por ejemplo, arxiv.org/abs/1505.03654 . No dude en ponerse en contacto conmigo si decide escribir un artículo y desea otras referencias.
Hunaphu

99
alguien debería actualizar esto con Elu, Leaky ReLU, PReLU y RReLU.
Viliami

24

Una de esas listas, aunque no muy exhaustiva: http://cs231n.github.io/neural-networks-1/

Funciones de activación comúnmente utilizadas

Cada función de activación (o no linealidad ) toma un solo número y realiza una determinada operación matemática fija en él. Hay varias funciones de activación que puede encontrar en la práctica:

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Izquierda: la no linealidad sigmoidea aplasta los números reales para que oscilen entre [0,1]. Derecha: la no linealidad tanh aplasta los números reales para que oscilen entre [-1,1].

Sigmoideo. La no linealidad sigmoidea tiene la forma matemática y se muestra en la imagen de arriba a la izquierda. Como se aludió en la sección anterior, toma un número de valor real y lo "aplasta" en un rango entre 0 y 1. En particular, los números negativos grandes se convierten en 0 y los números positivos grandes se convierten en 1. La función sigmoide ha sido utilizada históricamente dado que tiene una buena interpretación como la velocidad de disparo de una neurona: desde no disparar en absoluto (0) hasta disparar completamente saturado a una frecuencia máxima supuesta (1). En la práctica, la no linealidad sigmoidea ha caído recientemente en desgracia y rara vez se utiliza. Tiene dos inconvenientes principales:σ(x)=1/(1+ex)

  • Los sigmoides saturan y matan los gradientes . Una propiedad muy indeseable de la neurona sigmoidea es que cuando la activación de la neurona se satura en la cola de 0 o 1, el gradiente en estas regiones es casi cero. Recuerde que durante la propagación hacia atrás, este gradiente (local) se multiplicará por el gradiente de la salida de esta puerta para todo el objetivo. Por lo tanto, si el gradiente local es muy pequeño, efectivamente "matará" el gradiente y casi ninguna señal fluirá a través de la neurona a sus pesos y recursivamente a sus datos. Además, se debe tener especial cuidado al inicializar los pesos de las neuronas sigmoideas para evitar la saturación. Por ejemplo, si los pesos iniciales son demasiado grandes, la mayoría de las neuronas se saturarán y la red apenas aprenderá.
  • Las salidas sigmoideas no están centradas en cero . Esto no es deseable ya que las neuronas en las capas posteriores de procesamiento en una red neuronal (más sobre esto pronto) recibirían datos que no están centrados en cero. Esto tiene implicaciones en la dinámica durante el descenso del gradiente, porque si los datos que ingresan a una neurona siempre son positivos (por ejemplo, en sentido de elemento en )), entonces el gradiente en los pesos durante la retropropagación se convertirá todos serán positivos o todos negativos (dependiendo del gradiente de toda la expresión x>0f=wTx+bwf) Esto podría introducir dinámicas de zigzag no deseadas en las actualizaciones de gradiente para los pesos. Sin embargo, tenga en cuenta que una vez que estos gradientes se suman en un lote de datos, la actualización final de los pesos puede tener signos variables, lo que mitiga un poco este problema. Por lo tanto, esto es un inconveniente, pero tiene consecuencias menos graves en comparación con el problema de activación saturado anterior.

Tanh La no linealidad de tanh se muestra en la imagen de arriba a la derecha. Aplasta un número de valor real al rango [-1, 1]. Al igual que la neurona sigmoidea, sus activaciones se saturan, pero a diferencia de la neurona sigmoidea, su salida está centrada en cero. Por lo tanto, en la práctica, la no linealidad de tanh siempre se prefiere a la no linealidad sigmoidea. También tenga en cuenta que la neurona tanh es simplemente una neurona sigmoidea escalada, en particular lo siguiente: .tanh(x)=2σ(2x)1

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Izquierda: función de activación de la Unidad lineal rectificada (ReLU), que es cero cuando x <0 y luego lineal con pendiente 1 cuando x> 0. Derecha: Un gráfico de Krizhevsky et al. (pdf) documento que indica la mejora 6x en la convergencia con la unidad ReLU en comparación con la unidad tanh.

ReLU. La unidad lineal rectificada se ha vuelto muy popular en los últimos años. Calcula la función . En otras palabras, la activación se limita simplemente a cero (ver imagen de arriba a la izquierda). Existen varios pros y contras para usar las ReLU:f(x)=max(0,x)

  • (+) Se descubrió que acelera en gran medida (por ejemplo, un factor de 6 en Krizhevsky et al. ) La convergencia del descenso del gradiente estocástico en comparación con las funciones sigmoideas / tanh. Se argumenta que esto se debe a su forma lineal, no saturante.
  • (+) En comparación con las neuronas tanh / sigmoideas que implican operaciones costosas (exponenciales, etc.), la ReLU se puede implementar simplemente con un umbral de una matriz de activaciones en cero.
  • (-) Desafortunadamente, las unidades ReLU pueden ser frágiles durante el entrenamiento y pueden "morir". Por ejemplo, un gran gradiente que fluye a través de una neurona ReLU podría hacer que los pesos se actualicen de tal manera que la neurona nunca se active en ningún punto de datos nuevamente. Si esto sucede, entonces el gradiente que fluye a través de la unidad será siempre cero desde ese punto en adelante. Es decir, las unidades ReLU pueden morir irreversiblemente durante el entrenamiento, ya que pueden ser eliminadas del múltiple de datos. Por ejemplo, puede encontrar que hasta el 40% de su red puede estar "muerta" (es decir, neuronas que nunca se activan en todo el conjunto de datos de entrenamiento) si la tasa de aprendizaje es demasiado alta. Con un ajuste adecuado de la tasa de aprendizaje, este problema es menos frecuente.

Fuga ReLU. Las ReLU con fugas son un intento de solucionar el problema de "ReLU moribundo". En lugar de que la función sea cero cuando x <0, una ReLU con fugas tendrá una pequeña pendiente negativa (de 0.01, más o menos). Es decir, la función calcula donde es una pequeña constante. Algunas personas informan éxito con esta forma de función de activación, pero los resultados no siempre son consistentes. La pendiente en la región negativa también se puede convertir en un parámetro de cada neurona, como se ve en las neuronas PReLU, introducidas en Delving Deep into Rectifiers , por Kaiming He et al., 2015. Sin embargo, la consistencia del beneficio entre las tareas es actualmente poco claro.f(x)=1(x<0)(αx)+1(x>=0)(x)α

ingrese la descripción de la imagen aquí

MAXOUT . Se han propuesto otros tipos de unidades que no tienen la forma funcional donde se aplica una no linealidad en el producto de punto entre los pesos y los datos. Una opción relativamente popular es la neurona Maxout (introducida recientemente por Goodfellow et al. ) Que generaliza la ReLU y su versión con fugas. La neurona Maxout calcula la función . Observe que tanto ReLU como Leaky ReLU son un caso especial de este formulario (por ejemplo, para ReLU tenemosmax ( w T 1 x + b 1 , w T 2 x + b 2 ) w 1 , b 1 = 0f(wTx+b)max(w1Tx+b1,w2Tx+b2)w1,b1=0) Por lo tanto, la neurona Maxout disfruta de todos los beneficios de una unidad ReLU (régimen lineal de operación, sin saturación) y no tiene sus inconvenientes (ReLU moribundo). Sin embargo, a diferencia de las neuronas ReLU, duplica el número de parámetros para cada neurona, lo que lleva a un alto número total de parámetros.

Esto concluye nuestra discusión sobre los tipos más comunes de neuronas y sus funciones de activación. Como último comentario, es muy raro mezclar y combinar diferentes tipos de neuronas en la misma red, a pesar de que no hay un problema fundamental al hacerlo.

TLDR : " ¿Qué tipo de neurona debo usar? " Utilice la no linealidad ReLU, tenga cuidado con sus tasas de aprendizaje y posiblemente controle la fracción de unidades "muertas" en una red. Si esto le preocupa, pruebe Leaky ReLU o Maxout. Nunca use sigmoide. Intente tanh, pero espere que funcione peor que ReLU / Maxout.


Licencia:


la licencia MIT (MIT)

Copyright (c) 2015 Andrej Karpathy

Por la presente, se otorga permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para negociar en el Software sin restricciones, incluidos, entre otros, los derechos de uso, copia, modificación, fusión , publicar, distribuir, sublicenciar y / o vender copias del Software, y permitir a las personas a quienes se les proporciona el Software que lo hagan, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPLÍCITA O IMPLÍCITA, INCLUYENDO PERO SIN LIMITARSE A LAS GARANTÍAS DE COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO Y NO INFRACCIÓN PARTICULARES. EN NINGÚN CASO, LOS AUTORES O LOS TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN ACCIÓN DE CONTRATO, TORT O DE OTRA MANERA, DERIVADA DE, FUERA DE, O EN CONEXIÓN CON EL SOFTWARE O EL USO O OTRO TRATO EN EL SOFTWARE.*

Otros enlaces:


10

No creo que exista una lista con pros y contras. Las funciones de activación dependen en gran medida de la aplicación, y también dependen de la arquitectura de su red neuronal ( aquí, por ejemplo, verá la aplicación de dos funciones softmax, que son similares a la sigmoidea).

Puede encontrar algunos estudios sobre el comportamiento general de las funciones, pero creo que nunca tendrá una lista definida y definitiva (lo que pregunta ...).

Todavía soy estudiante, así que señalo lo que sé hasta ahora:

  • aquí encontrará algunas ideas sobre los comportamientos de tanh y sigmoides con propagación hacia atrás. Los tanh son más genéricos, pero sigmoides ... (siempre habrá un "pero")
  • En las redes neuronales de Deep Sparse Rectifier de Glorot Xavier et al, afirman que las unidades Rectifier son más biológicamente plausibles y funcionan mejor que las demás (sigmoide / tanh)

Esta es la respuesta correcta. Uno puede producir una lista, pero los pros y los contras dependen completamente de los datos. De hecho, aprender funciones de activación es mucho más razonable en teoría. La razón por la que no hay mucha investigación se centra en que sigmoide "simplemente funciona". Al final, su única ganancia es la velocidad de convergencia, que a menudo no es importante
ejecute DOSrun el

4

Solo en aras de la gran respuesta de Danielle, hay otros paradigmas, donde uno `` gira la rueda '' al azar sobre los pesos y / o el tipo de activaciones: máquinas de estado líquido , máquinas de aprendizaje extremo y redes de estado de eco .

Una forma de pensar en estas arquitecturas: el depósito es una especie de núcleo como en SVM o una gran capa oculta en un FFNN simple donde los datos se proyectan en algún hiperespacio. No hay aprendizaje real, el depósito se vuelve a generar hasta que se alcanza una solución satisfactoria.

También vea esta buena respuesta .


2

Puede encontrar un artículo que revisa las funciones de activación recientes en

" Funciones de activación: comparación de tendencias en la práctica y la investigación para el aprendizaje profundo " por Chigozie Enyinna Nwankpa, Winifred Ijomah, Anthony Gachagan y Stephen Marshall

Las redes neuronales profundas se han utilizado con éxito en diversos dominios emergentes para resolver problemas complejos del mundo real con muchas arquitecturas de aprendizaje más profundo (DL), desarrolladas hasta la fecha. Para lograr estas actuaciones de vanguardia, las arquitecturas DL utilizan funciones de activación (AF), para realizar diversos cálculos entre las capas ocultas y las capas de salida de cualquier arquitectura DL dada. Este documento presenta una encuesta sobre los AF existentes utilizados en aplicaciones de aprendizaje profundo y destaca las tendencias recientes en el uso de las funciones de activación para aplicaciones de aprendizaje profundo. La novedad de este documento es que compila la mayoría de los AF utilizados en DL y describe las tendencias actuales en las aplicaciones y el uso de estas funciones en implementaciones prácticas de aprendizaje profundo contra los resultados de investigación de vanguardia. Esta compilación ayudará a tomar decisiones efectivas en la elección de la función de activación más adecuada y adecuada para cualquier aplicación, lista para su implementación. Este documento es oportuno porque la mayoría de los trabajos de investigación sobre FA destacan trabajos y resultados similares, mientras que este documento será el primero en recopilar las tendencias en las aplicaciones de FA en la práctica contra los resultados de investigación de la literatura, que se encuentran en la investigación de aprendizaje profundo hasta la fecha.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.