Articulo de referencia

Función Swish

La función swish es una familia de funciones matemáticas definidas de la siguiente manera: La función de swish silbido β ⁡ ( incógnita ) = incógnita sigmoideo ⁡ ( β incógnita ) ...

La función swish es una familia de funciones matemáticas definidas de la siguiente manera:

La función de swish
silbidoβ(incógnita)=incógnitasigmoideo(βincógnita)=incógnita1+miβincógnita.{\displaystyle \operatorname {swish} _{\beta }(x)=x\operatorname {sigmoid} (\beta x)={\frac {x}{1+e^{-\beta x}}}.}[ 1 ]

dóndeβ{\displaystyle \beta }puede ser constante (normalmente se establece en 1) o entrenable y "sigmoide" se refiere a la función logística .

La familia de funciones swish fue diseñada para interpolar suavemente entre una función lineal y la función de unidad lineal rectificada (ReLU).

Al considerar valores positivos, Swish es un caso particular de la función de contracción sigmoide doblemente parametrizada definida en [ 2 ] : Eq 3 . Las variantes de la función swish incluyen Mish . [ 3 ]

Valores especiales

Para β  =  0, la función es lineal: f( x ) = x /2.

Para β  = 1, la función es la Unidad Lineal Sigmoide (SiLU).

Para β  = 1,702, la función se aproxima a GeLU . [ 4 ]

Cuando β   ∞, la función converge a ReLU .

De este modo, la familia swish interpola suavemente entre una función lineal y la función ReLU. [ 1 ]

Desdesilbidoβ(incógnita)=silbido1(βincógnita)/β{\displaystyle \operatorname {swish} _{\beta }(x)=\operatorname {swish} _{1}(\beta x)/\beta }, todas las instancias de swish tienen la misma forma que la predeterminadasilbido1{\displaystyle \operatorname {swish} _{1}}, ampliado porβ{\displaystyle \beta }. Normalmente se estableceβ>0{\displaystyle \beta >0}. Cuandoβ{\displaystyle \beta }es entrenable, esta restricción puede ser impuesta porβ=mib{\displaystyle \beta =e^{b}}, dóndeb{\displaystyle b}es entrenable.

silbido1(incógnita)=incógnita2+incógnita24incógnita448+incógnita6480+O(incógnita8){\displaystyle \operatorname {swish} _{1}(x)={\frac {x}{2}}+{\frac {x^{2}}{4}}-{\frac {x^{4}}{48}}+{\frac {x^{6}}{480}}+O\left(x^{8}\right)}

silbido1(incógnita)=incógnita2tanh(incógnita2)+incógnita2silbido1(incógnita)+silbido1(incógnita)=incógnitatanh(incógnita2)silbido1(incógnita)silbido1(incógnita)=incógnita{\displaystyle {\begin{aligned}\operatorname {swish} _{1}(x)&={\frac {x}{2}}\tanh \left({\frac {x}{2}}\right)+{\frac {x}{2}}\\\operatorname {swish} _{1}(x)+\operatorname {swish} _{-1}(x)&=x\tanh \left({\frac {x}{2}}\right)\\\operatorname {swish} _{1}(x)-\operatorname {swish} _{-1}(x)&=x\end{aligned}}}

Derivados

Porquesilbidoβ(incógnita)=silbido1(βincógnita)/β{\displaystyle \operatorname {swish} _{\beta }(x)=\operatorname {swish} _{1}(\beta x)/\beta }, basta con calcular sus derivadas para el caso por defecto.silbido1(incógnita)=incógnita+sinh(incógnita)4aporrear2(incógnita2)+12{\displaystyle \operatorname {swish} _{1}'(x)={\frac {x+\sinh(x)}{4\cosh ^{2}\left({\frac {x}{2}}\right)}}+{\frac {1}{2}}}entoncessilbido1(incógnita)12{\displaystyle \operatorname {swish} _{1}'(x)-{\frac {1}{2}}}es extraño.silbido1(incógnita)=1incógnita2tanh(incógnita2)2aporrear2(incógnita2){\displaystyle \operatorname {swish} _{1}''(x)={\frac {1-{\frac {x}{2}}\tanh \left({\frac {x}{2}}\right)}{2\cosh ^{2}\left({\frac {x}{2}}\right)}}}entoncessilbido1(incógnita){\displaystyle \operatorname {swish} _{1}''(x)}es par.

Historia

SiLU se propuso por primera vez junto con GELU en 2016, [ 4 ] luego se propuso nuevamente en 2017 como la Unidad Lineal Ponderada Sigmoide (SiL) en aprendizaje por refuerzo . [ 5 ] [ 1 ] SiLU/SiL se propuso nuevamente como SWISH más de un año después de su descubrimiento inicial, propuesto originalmente sin el parámetro de aprendizaje β, de modo que β implícitamente era igual a 1. El artículo de SWISH se actualizó posteriormente para proponer la activación con el parámetro de aprendizaje β.

En 2017, tras analizar datos de ImageNet , investigadores de Google indicaron que el uso de esta función como función de activación en redes neuronales artificiales mejora el rendimiento, en comparación con las funciones ReLU y sigmoide. [ 1 ] Se cree que una de las razones de esta mejora es que la función swish ayuda a mitigar el problema del gradiente evanescente durante la retropropagación . [ 6 ]

Véase también

Referencias

  1. 1 2 3 4 Ramachandran, Prajit; Zoph, Barret; Le, Quoc V. (2017-10-27). "Búsqueda de funciones de activación". arXiv : 1710.05941v2 [ cs.NE ].
  2. Atto, Abdourrahmane M.; Pastor, Dominique; Mercier, Gregoire (marzo de 2008). «Reducción suave de ondículas sigmoideas para estimación no paramétrica» . Conferencia Internacional IEEE de 2008 sobre Acústica, Habla y Procesamiento de Señales (PDF) . págs. 3265–3268 . doi : 10.1109/ICASSP.2008.4518347 . ISBN  978-1-4244-1483-3. S2CID 9959057 . 
  3. Misra, Diganta (2019). "Mish: Una función de activación neuronal no monótona autorregularizada". arXiv : 1908.08681 [ cs.LG ].
  4. 1 2 Hendrycks, Dan; Gimpel, Kevin (2016). "Unidades lineales de error gaussiano (GELUs)". arXiv : 1606.08415 [ cs.LG ].
  5. Elfwing, Stefan; Uchibe, Eiji; Doya, Kenji (2017-11-02). "Unidades lineales ponderadas por sigmoide para la aproximación de funciones de redes neuronales en el aprendizaje por refuerzo". arXiv : 1702.03118v3 [ cs.LG ].
  6. Serengil, Sefik Ilkin (21 de agosto de 2018). "Swish como función de activación de redes neuronales" . Aprendizaje automático, matemáticas. Archivado del original el 18 de junio de 2020. Recuperado el 18 de junio de 2020 .