Función de activación

A función de activación dun nodo nunha rede neural artificial é unha función que calcula a saída do nodo baseándose nas súas entradas individuais e os seus pesos. Os problemas non triviais poden ser solucionados utilizando só uns cantos nodos se a función de activación é non linear. As funcións de activación modernas inclúen a versión suave da ReLU, a GELU, o cal foi utilizado no 2018 modelo BERT, a función loxística (sigmoide) utilizada no modelo de recoñecemento da fala de 2012 desenvolvido por Hinton et al. , a ReLU utilizada no modelo de visión por computador AlexNet de 2012 e no modelo ResNet de 2015. Comparación de funcións de activación
Á parte do seu rendemento empírico, as funcións de activacións tamén teñen propiedades matemáticas diferentes: Non linear
Cando a función de activación é non linear, pódese probar que unha rede neural de dúas capas pode ser un aproximador universal de funcións. Isto coñécese como o teorema de aproximación universal. A función de activación identidade non satisfai esta propiedade. Cando múltiples capas utilizan a función de activación identidade, toda a rede é equivalente a un modelo dunha única capa.
Imaxe
Cando a imaxe da función de activación é finita, os métodos de adestramento baseados non descenso do gradiente tenden a ser máis estables, porque as presentacións de patróns afectan de forma significativa só a un número limitado de pesos. Cando a imaxe é infinita, o adestramento é xeralmente máis eficiente porque as presentacións de patróns afectan de forma significativa á maioría dos pesos. No caso último, tipicamente son necesarios taxas de aprendizaxe máis pequenas.
Continuamente diferenciable
Esta propiedade é desexable (ReLU non é continuamente diferenciable e ten algúns problemas coa optimización baseada en gradientes, mais aínda é posible) para os métodos de optimización baseados no gradiente. A función de activación do paso binario non é diferenciable no 0, e a súa derivada é 0 no resto de valores, polo que os métodos baseados no gradiente non poden facer ningún progreso con ela.
Estas propiedades non inflúen decisivamente no rendemento, nin son as únicas propiedades matemáticas que poden ser útiles. Por exemplo, a imaxe estritamente positiva da función de activación suave positiva faina adecuada para predicir varianzas en auto-codificadores variacionais. Aspectos matemáticos
As funcións de activación máis comúns poden dividirse en tres categorías: funcións de crista, funcións radiais e funcións de prego.
Unha función de activación f {\displaystyle f} considérase saturante se lim | v | → ∞ | ∇ f ( v ) |
0 {\displaystyle \lim _{|v|\to \infty }|\nabla f(v)|
0}. É non saturante se lim | v | → ∞ | ∇ f ( v ) | ≠ 0 {\displaystyle \lim _{|v|\to \infty }|\nabla f(v)|\neq 0}. As funcións de activación non saturantes, como ReLU, poden ser mellores que as saturantes, porque son menos propensas a sufrir o problema do esvaecemento do gradiente.
Funcións de activación de crista
As funcións de crista son funcións de varias variables que actúan sobre unha combinación linear das variables de entrada. Algúns exemplos utilizados a miúdo son os seguintes: Función de activación linear: ϕ ( v )
a + v ′ b {\displaystyle \phi (\mathbf {v} )
a+\mathbf {v} '\mathbf {b} } Función de activación ReLU: ϕ ( v )
max ( 0, a + v ′ b ) {\displaystyle \phi (\mathbf {v} )
\max(0, a+\mathbf {v} '\mathbf {b} )} Función de activación Heaviside: ϕ ( v )
1 a + v ′ b > 0 {\displaystyle \phi (\mathbf {v} )
1_{a+\mathbf {v} '\mathbf {b} >0}} Función de activación loxística: ϕ ( v )
( 1 + exp ⁡ ( − a − v ′ b ) ) − 1 {\displaystyle \phi (\mathbf {v} )
(1+\exp(-a-\mathbf {v} '\mathbf {b} ))^{-1}} En redes neurais inspiradas na bioloxía, a función de activación é normalmente unha abstracción que representa a taxa de impulso de potenciais de acción na célula. Na súa forma máis sinxela, esta función é binaria, é dicir, ou a neurona está nun impulso ou non. As neuronas tampouco poden facer impulsos máis rápido que un determinado valor, motivando as funcións de activación sigmoides, cuxa imaxe é un intervalo finito. A función é a seguinte, ϕ ( v )
U ( a + v ′ b ) {\displaystyle \phi (\mathbf {v} )
U(a+\mathbf {v} '\mathbf {b} )} U {\displaystyle U}, onde U {\displaystyle U} é a función de paso Heaviside.
Se unha liña ten unha pendente positiva, pode reflectir o aumento na taxa de impulsos que ocorre a medida que aumenta a corrente de entrada. Tal función sería da forma ϕ ( v )
a + v ′ b {\displaystyle \phi (\mathbf {v} )
a+\mathbf {v} '\mathbf {b} }.
Funcións de activación radiais
Unha clase especial de funcións de activación son as funcións radiais básicas (RBFs, das súas siglas en inglés), utilizadas en redes de RBF, as cales son extremadamente eficientes como aproximadores universais de funcións. Estas funcións de activación poden tomar moitas formas, pero normalmente atópanse como algunha das funcións seguintes: Función gaussiana: ϕ ( v )
exp ⁡ ( − ‖ v − c ‖ 22 σ 2 ) {\displaystyle \, \phi (\mathbf {v} )
\exp \left(-{\frac {\|\mathbf {v} -\mathbf {c} \|^{2}}{2\sigma ^{2}}}\right)} Función multicadrática: ϕ ( v )
‖ v − c ‖ 2 + a 2 {\displaystyle \, \phi (\mathbf {v} )
{\sqrt {\|\mathbf {v} -\mathbf {c} \|^{2}+a^{2}}}} Función multicadrática inversa: ϕ ( v )
( ‖ v − c ‖ 2 + a 2 ) − 12 {\displaystyle \, \phi (\mathbf {v} )
\left(\|\mathbf {v} -\mathbf {c} \|^{2}+a^{2}\right)^{-{\frac {1}{2}}}} Splines poliharmónicos
Onde c {\displaystyle \mathbf {c} } é o vector representando o centro da función e a {\displaystyle a} e σ {\displaystyle \sigma } os parámetros que afectan á dispersión do radio.
Funcións de activación de prego
As funcións de activación de prego son amplamente usadas nas capas de agrupamento nas redes neurais convolucionais e en capas de saída de redes de clasificación multiclases. Estas funcións de activación realizan agregación sobre as entradas, como tomar a media, mínimo ou máximo. En problemas de clasificación multiclase, utilízase con frecuencia a función de activación softmax.
Táboa de funcións de activación
A seguinte táboa compara as propiedades de varias funcións de activación: A seguinte táboa lista funcións de activación que non son funcións dun só prego x da capa ou capas anteriores: ^ Aquí, δ i j {\displaystyle \delta _{ij}} é a Delta de Kronecker.
Funcións de activación cuánticas
Nas redes neurais cuánticas programadas en computadoras cuánticas de modelo de porta, baseadas en perceptróns cuánticos en lugar de circuítos cuánticos variacionales, a non linearidade da función de activación pódese implementar sen necesidade de medir a saída de cada perceptrón en cada capa. As propiedades cuánticas cargadas dentro do circuíto, como a superposición, poden ser preservadas creando a serie de Taylor do argumento calculado polo propio perceptrón, con circuítos cuánticos axeitados que calculan as potencias ata un grao de aproximación desexado. Debido á flexibilidade de ditos circuítos cuánticos, poden ser deseñados para aproximar calquera función de activación clásica arbitraria. Vantaxes e inconvenientes dalgunhas funcións de activación
Sigmoide
Esta función de activación presenta numerosos inconvenientes, tales como que a saída non está centrada no cero (o que deriva en problemas coa actualización de pesos polas direccións do gradiente), que as neuronas saturadas "matan" ao gradiente e que a operación expoñencial é cara computacionalmente.
Tanxente hiperbólica
Neste caso, a tanxente hiperbólica si que está centrada no cero. Malia isto, comparte o resto de desvantaxes coa función sigmoide.
ReLU
Esta función de activación non satura (pois é positiva), é eficiente computacionalmente e ten unha converxencia rápida (ao redor de 6 veces máis rápida que as dúas funcións anteriores). Porén, a saída non está centrada no cero e as neuronas poden morrer (polo que hai que escoller unha taxa de aprendizaxe axeitada, xeralmente baixa).
ReLU con fuga
Nesta función as neuronas non morren e a media das saídas está cerca do cero, alén de ter tódalas vantaxes da ReLU.
Maxout
Nesta función de activación as neuronas tampouco morren, mais o número de parámetros dóbrase.
ELU
Esta función ten tódalas vantaxes da ReLU salvo o seu tempo de cómputo, pois utiliza a aplicación expoñencial, que demora os cálculos.