Searching for Activation Functions/paper/es

    From Marovi AI
    < Searching for Activation Functions
    Revision as of 08:05, 27 April 2026 by DeployBot (talk | contribs) (Batch translate Searching for Activation Functions/paper unit 1 → es)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:
    SummarySource
    Research Paper
    Authors Prajit Ramachandran; Barret Zoph; Quoc V. Le
    Year 2017
    Topic area Machine Learning
    Difficulty Research
    arXiv 1710.05941
    PDF Download PDF

    Buscando funciones de activación

    Prajit Ramachandran, Barret Zoph, Quoc V. Le
    Google Brain
    {prajit,barretzoph,qvl}@google.com
    Trabajo realizado como miembro del programa Google Brain Residency (g.co/brainresidency).

    Resumen

    La elección de las funciones de activación en redes profundas tiene un efecto significativo sobre la dinámica de entrenamiento y el rendimiento de la tarea. Actualmente, la función de activación más exitosa y ampliamente utilizada es la Rectified Linear Unit (ReLU). Aunque se han propuesto distintas alternativas a ReLU diseñadas a mano, ninguna ha logrado reemplazarla debido a las ganancias inconsistentes. En este trabajo, proponemos aprovechar técnicas de búsqueda automática para descubrir nuevas funciones de activación. Mediante una combinación de búsqueda exhaustiva y basada en aprendizaje por refuerzo, descubrimos múltiples funciones de activación novedosas. Verificamos la efectividad de las búsquedas realizando una evaluación empírica con la mejor función de activación descubierta. Nuestros experimentos muestran que la mejor función de activación descubierta, $ {\textstyle {f\hspace{0pt}{(x)}} = {{x \cdot \text{sigmoid}}\hspace{0pt}{({\beta\hspace{0pt}x})}}} $, a la que llamamos Swish, tiende a funcionar mejor que ReLU en modelos más profundos a través de varios conjuntos de datos desafiantes. Por ejemplo, simplemente reemplazar las ReLU por unidades Swish mejora la precisión de clasificación top-1 en ImageNet en un 0.9% para Mobile NASNet-A y un 0.6% para Inception-ResNet-v2. La simplicidad de Swish y su similitud con ReLU hacen que sea fácil para los profesionales reemplazar las ReLU por unidades Swish en cualquier red neuronal.

    1 Introducción

    En el corazón de toda red profunda hay una transformación lineal seguida de una función de activación $ {\textstyle f\hspace{0pt}{( \cdot )}} $. La función de activación juega un papel fundamental en el éxito del entrenamiento de redes neuronales profundas. Actualmente, la función de activación más exitosa y ampliamente utilizada es la Rectified Linear Unit (ReLU) (Hahnloser et al., 2000; Jarrett et al., 2009; Nair & Hinton, 2010), definida como $ {\textstyle {f\hspace{0pt}{(x)}} = {\max{(x,0)}}} $. El uso de las ReLU fue un avance que permitió el entrenamiento totalmente supervisado de redes profundas de última generación (Krizhevsky et al., 2012). Las redes profundas con ReLU son más fáciles de optimizar que las redes con unidades sigmoide o tanh, porque los gradientes pueden fluir cuando la entrada a la función ReLU es positiva. Gracias a su simplicidad y eficacia, ReLU se ha convertido en la función de activación por defecto utilizada en toda la comunidad de aprendizaje profundo.

    Aunque se han propuesto numerosas funciones de activación para reemplazar a ReLU (Maas et al., 2013; He et al., 2015; Clevert et al., 2015; Klambauer et al., 2017), ninguna ha logrado conseguir la adopción generalizada que disfruta ReLU. Muchos profesionales han preferido la simplicidad y fiabilidad de ReLU porque las mejoras de rendimiento de las otras funciones de activación tienden a ser inconsistentes entre distintos modelos y conjuntos de datos.

    Las funciones de activación propuestas para reemplazar a ReLU se diseñaron a mano para ajustarse a propiedades consideradas importantes. Sin embargo, el uso de técnicas de búsqueda para automatizar el descubrimiento de componentes tradicionalmente diseñados por humanos ha demostrado recientemente ser extremadamente efectivo (Zoph & Le, 2016; Bello et al., 2017; Zoph et al., 2017). Por ejemplo, Zoph et al. (2017) utilizaron búsqueda basada en aprendizaje por refuerzo para encontrar una celda convolucional replicable que supera a las arquitecturas diseñadas por humanos en ImageNet.

    En este trabajo, utilizamos técnicas de búsqueda automatizada para descubrir funciones de activación novedosas. Nos enfocamos en encontrar nuevas funciones de activación escalares, que toman como entrada un escalar y producen un escalar, porque las funciones de activación escalares pueden usarse para reemplazar a ReLU sin cambiar la arquitectura de la red. Mediante una combinación de búsqueda exhaustiva y basada en aprendizaje por refuerzo, encontramos varias funciones de activación novedosas que muestran un rendimiento prometedor. Para validar adicionalmente la efectividad del uso de búsquedas para descubrir funciones de activación escalares, evaluamos empíricamente la mejor función de activación descubierta. La mejor función de activación descubierta, a la que llamamos Swish, es $ {\textstyle {f\hspace{0pt}{(x)}} = {{x \cdot \text{sigmoid}}\hspace{0pt}{({\beta\hspace{0pt}x})}}} $, donde $ {\textstyle \beta} $ es una constante o un parámetro entrenable. Nuestros extensos experimentos muestran que Swish iguala o supera consistentemente a ReLU en redes profundas aplicadas a una variedad de dominios desafiantes como la clasificación de imágenes y la traducción automática. En ImageNet, reemplazar las ReLU por unidades Swish mejora la precisión de clasificación top-1 en un 0.9% en Mobile NASNet-A (Zoph et al., 2017) y un 0.6% en Inception-ResNet-v2 (Szegedy et al., 2017). Estas ganancias de precisión son significativas dado que un año de ajustes y aumentos arquitectónicos produjo una mejora de precisión del 1.3% al pasar de Inception V3 (Szegedy et al., 2016) a Inception-ResNet-v2 (Szegedy et al., 2017).

    2 Métodos

    Para utilizar técnicas de búsqueda, debe diseñarse un espacio de búsqueda que contenga funciones de activación candidatas prometedoras. Un desafío importante al diseñar espacios de búsqueda es equilibrar el tamaño y la expresividad del espacio de búsqueda. Un espacio de búsqueda demasiado restringido no contendrá funciones de activación novedosas, mientras que un espacio de búsqueda demasiado grande será difícil de explorar de forma efectiva. Para equilibrar ambos criterios, diseñamos un espacio de búsqueda simple inspirado en el espacio de búsqueda de optimizadores de Bello et al. (2017) que compone funciones unarias y binarias para construir la función de activación.

    Ver pie de figura

    Como se muestra en la Figura 1, la función de activación se construye componiendo repetidamente la "unidad central", definida como $ {\textstyle b\hspace{0pt}{({u_{1}\hspace{0pt}{(x_{1})}},{u_{2}\hspace{0pt}{(x_{2})}})}} $. La unidad central toma dos entradas escalares, pasa cada entrada de forma independiente por una función unaria, y combina las dos salidas unarias con una función binaria que produce un escalar. Dado que nuestro objetivo es encontrar funciones de activación escalares que transformen una sola entrada escalar en una sola salida escalar, las entradas de las funciones unarias se restringen a la preactivación de la capa $ {\textstyle x} $ y a las salidas de la función binaria.

    Dado el espacio de búsqueda, el objetivo del algoritmo de búsqueda es encontrar elecciones efectivas de las funciones unarias y binarias. La elección del algoritmo de búsqueda depende del tamaño del espacio de búsqueda. Si el espacio de búsqueda es pequeño, como cuando se usa una sola unidad central, es posible enumerar exhaustivamente todo el espacio de búsqueda. Si la unidad central se repite varias veces, el espacio de búsqueda será extremadamente grande (es decir, del orden de $ {\textstyle 10^{12}} $ posibilidades), lo que hace inviable la búsqueda exhaustiva.

    Ver pie de figura

    Para espacios de búsqueda grandes, utilizamos un controlador RNN (Zoph & Le, 2016), que se visualiza en la Figura 2. En cada paso temporal, el controlador predice un único componente de la función de activación. La predicción se realimenta al controlador en el siguiente paso temporal, y este proceso se repite hasta que se predicen todos los componentes de la función de activación. La cadena predicha se utiliza después para construir la función de activación.

    Una vez que el algoritmo de búsqueda ha generado una función de activación candidata, se entrena una "red hija" con dicha función de activación candidata en alguna tarea, como la clasificación de imágenes en CIFAR-10. Tras el entrenamiento, se registra la precisión de validación de la red hija y se utiliza para actualizar el algoritmo de búsqueda. En el caso de la búsqueda exhaustiva, se mantiene una lista de las funciones de activación con mejor rendimiento ordenadas por precisión de validación. En el caso del controlador RNN, el controlador se entrena con aprendizaje por refuerzo para maximizar la precisión de validación, donde la precisión de validación sirve como recompensa. Este entrenamiento empuja al controlador a generar funciones de activación con altas precisiones de validación.

    Dado que evaluar una sola función de activación requiere entrenar una red hija, la búsqueda es computacionalmente costosa. Para reducir el tiempo total requerido para realizar la búsqueda, se utiliza un esquema de entrenamiento distribuido para paralelizar el entrenamiento de cada red hija. En este esquema, el algoritmo de búsqueda propone un lote de funciones de activación candidatas que se añaden a una cola. Las máquinas trabajadoras extraen funciones de activación de la cola, entrenan una red hija e informan de la precisión de validación final de la función de activación correspondiente. Las precisiones de validación se agregan y se utilizan para actualizar el algoritmo de búsqueda.

    3 Hallazgos de la búsqueda

    Realizamos todas nuestras búsquedas con la ResNet-20 (He et al., 2016a) como arquitectura de la red hija, y entrenamos en CIFAR-10 (Krizhevsky & Hinton, 2009) durante 10K pasos. Este entorno restringido podría sesgar los resultados, porque las funciones de activación con mejor rendimiento podrían funcionar bien solo para redes pequeñas. Sin embargo, mostramos en la sección de experimentos que muchas de las funciones descubiertas generalizan a modelos más grandes. Se utiliza búsqueda exhaustiva para espacios de búsqueda pequeños, mientras que se utiliza un controlador RNN para espacios de búsqueda más grandes. El controlador RNN se entrena con Policy Proximal Optimization (Schulman et al., 2017), utilizando el promedio móvil exponencial de las recompensas como baseline para reducir la varianza. La lista completa de funciones unarias y binarias consideradas es la siguiente:

    • Funciones unarias: $ {\textstyle x} $, $ {\textstyle - x} $, $ {\textstyle |x|} $, $ {\textstyle x^{2}} $, $ {\textstyle x^{3}} $, $ {\textstyle \sqrt{x}} $, $ {\textstyle \beta\hspace{0pt}x} $, $ {\textstyle x + \beta} $, $ {\textstyle \log{({{|x|} + \epsilon})}} $, $ {\textstyle \exp{(x)}} $ $ {\textstyle \sin{(x)}} $, $ {\textstyle \cos{(x)}} $, $ {\textstyle \sinh{(x)}} $, $ {\textstyle \cosh{(x)}} $, $ {\textstyle \tanh{(x)}} $, $ {\textstyle \sinh^{- 1}{(x)}} $, $ {\textstyle \tan^{- 1}{(x)}} $, $ {\textstyle \text{sinc}\hspace{0pt}{(x)}} $, $ {\textstyle \max{(x,0)}} $, $ {\textstyle \min{(x,0)}} $, $ {\textstyle \sigma\hspace{0pt}{(x)}} $, $ {\textstyle \log{({1 + {\exp{(x)}}})}} $, $ {\textstyle \exp{({- x^{2}})}} $, $ {\textstyle \text{erf}\hspace{0pt}{(x)}} $, $ {\textstyle \beta} $

    • Funciones binarias: $ {\textstyle x_{1} + x_{2}} $, $ {\textstyle x_{1} \cdot x_{2}} $, $ {\textstyle x_{1} - x_{2}} $, $ {\textstyle \frac{x_{1}}{x_{2} + \epsilon}} $, $ {\textstyle \max{(x_{1},x_{2})}} $, $ {\textstyle \min{(x_{1},x_{2})}} $, $ {\textstyle {\sigma\hspace{0pt}{(x_{1})}} \cdot x_{2}} $, $ {\textstyle \exp{({- {\beta\hspace{0pt}{({x_{1} - x_{2}})}^{2}}})}} $, $ {\textstyle \exp{({- {\beta\hspace{0pt}{|{x_{1} - x_{2}}|}}})}} $, $ {\textstyle {\beta\hspace{0pt}x_{1}} + {{({1 - \beta})}\hspace{0pt}x_{2}}} $

    donde $ {\textstyle \beta} $ indica un parámetro entrenable por canal y $ {\textstyle {\sigma\hspace{0pt}{(x)}} = {({1 + {\exp{({- x})}}})}^{- 1}} $ es la función sigmoide. Se crean diferentes espacios de búsqueda variando el número de unidades centrales utilizadas para construir la función de activación y variando las funciones unarias y binarias disponibles para el algoritmo de búsqueda.

    Ver pie de figura

    La Figura 3 representa las funciones de activación novedosas con mejor rendimiento encontradas por las búsquedas. Destacamos varias tendencias notables descubiertas por las búsquedas:

    • Las funciones de activación complicadas tienen consistentemente un rendimiento inferior al de las funciones de activación más simples, posiblemente debido a una mayor dificultad en la optimización. Las funciones de activación con mejor rendimiento pueden representarse mediante $ {\textstyle 1} $ o $ {\textstyle 2} $ unidades centrales.

    • Una estructura común que comparten las funciones de activación de cabecera es el uso de la preactivación cruda $ {\textstyle x} $ como entrada de la función binaria final: $ {\textstyle b\hspace{0pt}{(x,{g\hspace{0pt}{(x)}})}} $. La función ReLU también sigue esta estructura, donde $ {\textstyle {b\hspace{0pt}{(x_{1},x_{2})}} = {\max{(x_{1},x_{2})}}} $ y $ {\textstyle {g\hspace{0pt}{(x)}} = 0} $.

    • Las búsquedas descubrieron funciones de activación que utilizan funciones periódicas, como $ {\textstyle \sin} $ y $ {\textstyle \cos} $. El uso más común de las funciones periódicas es mediante adición o sustracción con la preactivación cruda $ {\textstyle x} $ (o un $ {\textstyle x} $ escalado linealmente). El uso de funciones periódicas en funciones de activación solo se ha explorado brevemente en trabajos previos (Parascandolo et al., 2016), por lo que estas funciones descubiertas sugieren una vía fructífera para investigaciones futuras.

    • Las funciones que utilizan división tienden a comportarse mal porque la salida explota cuando el denominador está cerca de $ {\textstyle 0} $. La división tiene éxito solo cuando las funciones del denominador están acotadas lejos de $ {\textstyle 0} $, como $ {\textstyle \cosh{(x)}} $, o se aproximan a $ {\textstyle 0} $ solo cuando el numerador también se aproxima a $ {\textstyle 0} $, produciendo una salida de $ {\textstyle 1} $.

    Dado que las funciones de activación se encontraron utilizando una red hija relativamente pequeña, su rendimiento puede no generalizar al aplicarse a modelos más grandes. Para probar la robustez de las funciones de activación novedosas con mejor rendimiento frente a distintas arquitecturas, ejecutamos experimentos adicionales utilizando los modelos preactivation ResNet-164 (RN) (He et al., 2016b), Wide ResNet 28-10 (WRN) (Zagoruyko & Komodakis, 2016) y DenseNet 100-12 (DN) (Huang et al., 2017). Implementamos los 3 modelos en TensorFlow y reemplazamos la función ReLU por cada una de las funciones de activación novedosas con mejor rendimiento descubiertas por las búsquedas. Utilizamos los mismos hiperparámetros descritos en cada trabajo, como optimizar usando SGD con momentum, y seguimos los trabajos previos reportando la mediana de 5 ejecuciones distintas.

    Función RN WRN DN
    ReLU [$ {\textstyle \max{(x,0)}} $] 93.8 95.3 94.8
    $ {\textstyle {x \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}} $ 94.5 95.5 94.9
    $ {\textstyle \max{(x,{\sigma\hspace{0pt}{(x)}})}} $ 94.3 95.3 94.8
    $ {\textstyle {\cos{(x)}} - x} $ 94.1 94.8 94.6
    $ {\textstyle \min{(x,{\sin{(x)}})}} $ 94.0 95.1 94.4
    $ {\textstyle {({\tan^{- 1}{(x)}})}^{2} - x} $ 93.9 94.7 94.9
    $ {\textstyle \max{(x,{\tanh{(x)}})}} $ 93.9 94.2 94.5
    $ {\textstyle {\text{sinc}\hspace{0pt}{(x)}} + x} $ 91.5 92.1 92.0
    $ {\textstyle x \cdot {({\sinh^{- 1}{(x)}})}^{2}} $ 85.1 92.1 91.1
    Función RN WRN DN
    ReLU [$ {\textstyle \max{(x,0)}} $] 74.2 77.8 83.7
    $ {\textstyle {x \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}} $ 75.1 78.0 83.9
    $ {\textstyle \max{(x,{\sigma\hspace{0pt}{(x)}})}} $ 74.8 78.6 84.2
    $ {\textstyle {\cos{(x)}} - x} $ 75.2 76.6 81.8
    $ {\textstyle \min{(x,{\sin{(x)}})}} $ 73.4 77.1 74.3
    $ {\textstyle {({\tan^{- 1}{(x)}})}^{2} - x} $ 75.2 76.7 83.1
    $ {\textstyle \max{(x,{\tanh{(x)}})}} $ 74.8 76.0 78.6
    $ {\textstyle {\text{sinc}\hspace{0pt}{(x)}} + x} $ 66.1 68.3 67.9
    $ {\textstyle x \cdot {({\sinh^{- 1}{(x)}})}^{2}} $ 52.8 70.6 68.1

    Los resultados se muestran en las Tablas 2 y 2. A pesar de los cambios en la arquitectura del modelo, seis de las ocho funciones de activación generalizan con éxito. De estas seis funciones de activación, todas igualan o superan a ReLU en ResNet-164. Además, dos de las funciones de activación descubiertas, $ {\textstyle {x \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}} $ y $ {\textstyle \max{(x,{\sigma\hspace{0pt}{(x)}})}} $, igualan o superan consistentemente a ReLU en los tres modelos.

    Aunque estos resultados son prometedores, todavía no está claro si las funciones de activación descubiertas pueden reemplazar con éxito a ReLU en conjuntos de datos del mundo real desafiantes. Para validar la efectividad de las búsquedas, en el resto de este trabajo nos centramos en evaluar empíricamente la función de activación $ {\textstyle {f\hspace{0pt}{(x)}} = {{x \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}}} $, a la que llamamos Swish. Elegimos evaluar exhaustivamente Swish en lugar de $ {\textstyle \max{(x,{\sigma\hspace{0pt}{(x)}})}} $ porque la experimentación inicial mostró una mejor generalización para Swish. En las siguientes secciones, analizamos las propiedades de Swish y luego realizamos una evaluación empírica exhaustiva comparando Swish, ReLU y otras funciones de activación de referencia candidatas en varios modelos grandes a través de una variedad de tareas.

    4 Swish

    Para resumir, Swish se define como $ {\textstyle {x \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}} $, donde $ {\textstyle {\sigma\hspace{0pt}{(z)}} = {({1 + {\exp{({- z})}}})}^{- 1}} $ es la función sigmoide y $ {\textstyle \beta} $ es una constante o un parámetro entrenable. La Figura 5 representa la gráfica de Swish para distintos valores de $ {\textstyle \beta} $. Si $ {\textstyle \beta = 1} $, Swish es equivalente a la Sigmoid-weighted Linear Unit (SiL) de Elfwing et al. (2017) que se propuso para aprendizaje por refuerzo. Si $ {\textstyle \beta = 0} $, Swish se convierte en la función lineal escalada $ {\textstyle {f\hspace{0pt}{(x)}} = \frac{x}{2}} $. Cuando $ {\textstyle \beta\rightarrow\infty} $, la componente sigmoide tiende a una función $ {\textstyle 0} $-$ {\textstyle 1} $, así que Swish se asemeja a la función ReLU. Esto sugiere que Swish puede verse a grandes rasgos como una función suave que interpola no linealmente entre la función lineal y la función ReLU. El grado de interpolación puede ser controlado por el modelo si $ {\textstyle \beta} $ se establece como un parámetro entrenable.

    Ver pie de figura

    Ver pie de figura

    Como ReLU, Swish no está acotada por arriba y está acotada por abajo. A diferencia de ReLU, Swish es suave y no monótona. De hecho, la propiedad de no monotonicidad de Swish la distingue de la mayoría de las funciones de activación habituales. La derivada de Swish es

    $ {\textstyle f^{\prime}\hspace{0pt}{(x)}} $ $ {\textstyle = {{\sigma\hspace{0pt}{({\beta\hspace{0pt}x})}} + {{{\beta\hspace{0pt}x} \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}\hspace{0pt}{({1 - {\sigma\hspace{0pt}{({\beta\hspace{0pt}x})}}})}}}} $
    $ {\textstyle = {{{\sigma\hspace{0pt}{({\beta\hspace{0pt}x})}} + {{{\beta\hspace{0pt}x} \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}}} - {{{\beta\hspace{0pt}x} \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}^{2}}}} $
    $ {\textstyle = {{{{\beta\hspace{0pt}x} \cdot \sigma}\hspace{0pt}{(x)}} + {\sigma\hspace{0pt}{({\beta\hspace{0pt}x})}\hspace{0pt}{({1 - {{{\beta\hspace{0pt}x} \cdot \sigma}\hspace{0pt}{({\beta\hspace{0pt}x})}}})}}}} $
    $ {\textstyle = {{\beta\hspace{0pt}f\hspace{0pt}{(x)}} + {\sigma\hspace{0pt}{({\beta\hspace{0pt}x})}\hspace{0pt}{({1 - {\beta\hspace{0pt}f\hspace{0pt}{(x)}}})}}}} $

    La primera derivada de Swish se muestra en la Figura 5 para distintos valores de $ {\textstyle \beta} $. La escala de $ {\textstyle \beta} $ controla cuán rápido la primera derivada se aproxima asintóticamente a $ {\textstyle 0} $ y $ {\textstyle 1} $. Cuando $ {\textstyle \beta = 1} $, la derivada tiene una magnitud menor que $ {\textstyle 1} $ para entradas que son menores que aproximadamente $ {\textstyle 1.25} $. Por tanto, el éxito de Swish con $ {\textstyle \beta = 1} $ implica que la propiedad de preservación del gradiente de ReLU (es decir, tener una derivada de 1 cuando $ {\textstyle x > 0} $) puede que ya no sea una ventaja distintiva en las arquitecturas modernas.

    Ver pie de figura

    Ver pie de figura

    La diferencia más llamativa entre Swish y ReLU es la "protuberancia" no monótona de Swish cuando $ {\textstyle x < 0} $. Como se muestra en la Figura 7, un gran porcentaje de las preactivaciones cae dentro del dominio de la protuberancia ($ {\textstyle - 5 \leq x \leq 0)} $, lo que indica que la protuberancia no monótona es un aspecto importante de Swish. La forma de la protuberancia puede controlarse cambiando el parámetro $ {\textstyle \beta} $. Aunque fijar $ {\textstyle \beta = 1} $ es efectivo en la práctica, la sección de experimentos muestra que entrenar $ {\textstyle \beta} $ puede mejorar aún más el rendimiento en algunos modelos. La Figura 7 muestra la distribución de los valores entrenados de $ {\textstyle \beta} $ de un modelo Mobile NASNet-A (Zoph et al., 2017). Los valores entrenados de $ {\textstyle \beta} $ se distribuyen entre $ {\textstyle 0} $ y $ {\textstyle 1.5} $ y tienen un pico en $ {\textstyle \beta \approx 1} $, lo que sugiere que el modelo aprovecha la flexibilidad adicional de los parámetros $ {\textstyle \beta} $ entrenables.

    En la práctica, Swish puede implementarse con un cambio de una sola línea de código en la mayoría de las bibliotecas de aprendizaje profundo, como TensorFlow (Abadi et al., 2016) (p. ej., x * tf.sigmoid(beta * x) o tf.nn.swish(x) si se utiliza una versión de TensorFlow publicada después de la entrega de este trabajo). Como advertencia, si se utiliza BatchNorm (Ioffe & Szegedy, 2015), debe establecerse el parámetro de escala. Algunas bibliotecas de alto nivel desactivan el parámetro de escala por defecto debido a que la función ReLU es lineal por tramos, pero esta configuración es incorrecta para Swish. Para entrenar redes Swish, encontramos que reducir ligeramente la tasa de aprendizaje utilizada para entrenar redes ReLU funciona bien.

    5 Experimentos con Swish

    Comparamos Swish con ReLU y con varias funciones de activación recientemente propuestas en conjuntos de datos desafiantes, y encontramos que Swish iguala o supera los baselines en casi todas las tareas. Las siguientes secciones describen nuestra configuración experimental y los resultados con mayor detalle. Como resumen, la Tabla 3 muestra Swish en comparación con cada función de activación de referencia que consideramos (que se definen en la siguiente sección). Los resultados de la Tabla 3 se agregan comparando el rendimiento de Swish con el rendimiento de distintas funciones de activación aplicadas a una variedad de modelos, como Inception ResNet-v2 (Szegedy et al., 2017) y Transformer (Vaswani et al., 2017), a través de múltiples conjuntos de datos, como CIFAR, ImageNet y traducción inglés$ {\textstyle \rightarrow} $alemán.111Para evitar sesgar la comparación, cada tipo de modelo se compara solo una vez. Un modelo con múltiples resultados se representa por la mediana de sus resultados. Concretamente, los modelos con resultados agregados son (a) ResNet-164, Wide ResNet 28-10 y DenseNet 100-12 a través de los resultados de CIFAR-10 y CIFAR-100, (b) Mobile NASNet-A e Inception-ResNet-v2 a través de las 3 ejecuciones, y (c) el modelo WMT Transformer a través de los 4 resultados de newstest. La mejora de Swish sobre las otras funciones de activación es estadísticamente significativa bajo una prueba de signos pareada de una cola.

    Baselines ReLU LReLU PReLU Softplus ELU SELU GELU
    Swish $ {\textstyle >} $ Baseline 9 7 6 6 8 8 8
    Swish $ {\textstyle =} $ Baseline 0 1 3 2 0 1 1
    Swish $ {\textstyle <} $ Baseline 0 1 0 1 1 0 0

    5.1 Configuración experimental

    Comparamos Swish frente a varias funciones de activación de referencia adicionales en una variedad de modelos y conjuntos de datos. Dado que se han propuesto muchas funciones de activación, elegimos las funciones de activación más comunes para comparar, y seguimos las directrices establecidas en cada trabajo:

    • Leaky ReLU (LReLU) (Maas et al., 2013):

      $ {\displaystyle {f\hspace{0pt}{(x)}} = \begin{cases} x & {{\text{if~}\hspace{0pt}x} \geq 0} \\ {\alpha\hspace{0pt}x} & {{\text{if~}\hspace{0pt}x} < 0} \end{cases}} $

      donde $ {\textstyle \alpha = 0.01} $. LReLU permite que una pequeña cantidad de información fluya cuando $ {\textstyle x < 0} $.

    • Parametric ReLU (PReLU) (He et al., 2015): La misma forma que LReLU pero $ {\textstyle \alpha} $ es un parámetro entrenable. Cada canal tiene un $ {\textstyle \alpha} $ compartido que se inicializa a $ {\textstyle 0.25} $.

    • Softplus (Nair & Hinton, 2010): $ {\textstyle {f\hspace{0pt}{(x)}} = {\log{({1 + {\exp{(x)}}})}}} $. Softplus es una función suave con propiedades similares a Swish, pero es estrictamente positiva y monótona. Puede verse como una versión suave de ReLU.

    • Exponential Linear Unit (ELU) (Clevert et al., 2015):

      $ {\displaystyle {f\hspace{0pt}{(x)}} = \begin{cases} x & {{\text{if~}\hspace{0pt}x} \geq 0} \\ {\alpha\hspace{0pt}{({{\exp{(x)}} - 1})}} & {{\text{if~}\hspace{0pt}x} < 0} \end{cases}} $

      donde $ {\textstyle \alpha = 1.0} $

    • Scaled Exponential Linear Unit (SELU) (Klambauer et al., 2017):

      $ {\displaystyle {f\hspace{0pt}{(x)}} = {\lambda\hspace{0pt}\begin{cases} x & {{\text{if~}\hspace{0pt}x} \geq 0} \\ {\alpha\hspace{0pt}{({{\exp{(x)}} - 1})}} & {{\text{if~}\hspace{0pt}x} < 0} \end{cases}}} $

      con $ {\textstyle \alpha \approx 1.6733} $ y $ {\textstyle \lambda \approx 1.0507} $.

    • Gaussian Error Linear Unit (GELU) (Hendrycks & Gimpel, 2016): $ {\textstyle {f\hspace{0pt}{(x)}} = {{x \cdot \Phi}\hspace{0pt}{(x)}}} $, donde $ {\textstyle \Phi\hspace{0pt}{(x)}} $ es la función de distribución acumulada de la normal estándar. GELU es una función no monótona que tiene una forma similar a Swish con $ {\textstyle \beta = 1.4} $.

    Evaluamos tanto Swish con un $ {\textstyle \beta} $ entrenable como Swish con un $ {\textstyle \beta = 1} $ fijo (al que por simplicidad llamamos Swish-1, pero es equivalente a la Sigmoid-weighted Linear Unit de Elfwing et al. (2017)). Tenga en cuenta que nuestros resultados pueden no ser directamente comparables con los resultados de los trabajos correspondientes debido a diferencias en nuestra configuración de entrenamiento.

    5.2 CIFAR

    Primero comparamos Swish con todas las funciones de activación de referencia en los conjuntos de datos CIFAR-10 y CIFAR-100 (Krizhevsky & Hinton, 2009). Seguimos la misma configuración utilizada al comparar las funciones de activación descubiertas por las técnicas de búsqueda, y comparamos la mediana de 5 ejecuciones con los modelos preactivation ResNet-164 (He et al., 2016b), Wide ResNet 28-10 (WRN) (Zagoruyko & Komodakis, 2016) y DenseNet 100-12 (Huang et al., 2017).

    Modelo ResNet WRN DenseNet
    LReLU 94.2 95.6 94.7
    PReLU 94.1 95.1 94.5
    Softplus 94.6 94.9 94.7
    ELU 94.1 94.1 94.4
    SELU 93.0 93.2 93.9
    GELU 94.3 95.5 94.8
    ReLU 93.8 95.3 94.8
    Swish-1 94.7 95.5 94.8
    Swish 94.5 95.5 94.8
    Modelo ResNet WRN DenseNet
    LReLU 74.2 78.0 83.3
    PReLU 74.5 77.3 81.5
    Softplus 76.0 78.4 83.7
    ELU 75.0 76.0 80.6
    SELU 73.2 74.3 80.8
    GELU 74.7 78.0 83.8
    ReLU 74.2 77.8 83.7
    Swish-1 75.1 78.5 83.8
    Swish 75.1 78.0 83.9

    Los resultados en las Tablas 5 y 5 muestran cómo Swish y Swish-1 igualan o superan consistentemente a ReLU en cada modelo tanto para CIFAR-10 como para CIFAR-100. Swish también iguala o supera el mejor rendimiento de los baselines en casi todos los modelos. Es importante destacar que el "mejor baseline" cambia entre distintos modelos, lo que demuestra la estabilidad de Swish para igualar a estos baselines variables. Softplus, que es suave y se aproxima a cero por un lado, similar a Swish, también tiene un rendimiento sólido.

    5.3 ImageNet

    A continuación, comparamos Swish con las funciones de activación de referencia en el conjunto de datos de clasificación ImageNet 2012 (Russakovsky et al., 2015). ImageNet se considera ampliamente uno de los conjuntos de datos de clasificación de imágenes más importantes, compuesto por 1.000 clases y 1,28 millones de imágenes de entrenamiento. Evaluamos en el conjunto de validación, que tiene 50.000 imágenes.

    Comparamos todas las funciones de activación en una variedad de arquitecturas diseñadas para ImageNet: Inception-ResNet-v2, Inception-v4, Inception-v3 (Szegedy et al., 2017), MobileNet (Howard et al., 2017) y Mobile NASNet-A (Zoph et al., 2017). Todas estas arquitecturas se diseñaron con ReLU. De nuevo reemplazamos la función de activación ReLU por distintas funciones de activación y entrenamos durante un número fijo de pasos, determinado por la convergencia del baseline ReLU. Para cada función de activación, probamos 3 tasas de aprendizaje distintas con RMSProp (Tieleman & Hinton, 2012) y elegimos la mejor.222Para algunos de los modelos con ELU, SELU y PReLU, entrenamos con 3 tasas de aprendizaje adicionales (un total de 6 tasas de aprendizaje) porque las 3 tasas de aprendizaje originales no convergieron. Todas las redes se inicializan con He initialization (He et al., 2015).333Para SELU, probamos tanto He initialization como la inicialización recomendada en Klambauer et al. (2017), y elegimos el mejor resultado por separado para cada modelo. Para verificar que las diferencias de rendimiento son reproducibles, ejecutamos los experimentos de Inception-ResNet-v2 y Mobile NASNet-A 3 veces con la mejor tasa de aprendizaje del primer experimento. Representamos las curvas de aprendizaje para Mobile NASNet-A en la Figura 8.

    [Uncaptioned image]

    Modelo Top-1 Acc. (%) Top-5 Acc. (%)
    LReLU 73.8 73.9 74.2 91.6 91.9 91.9
    PReLU 74.6 74.7 74.7 92.4 92.3 92.3
    Softplus 74.0 74.2 74.2 91.6 91.8 91.9
    ELU 74.1 74.2 74.2 91.8 91.8 91.8
    SELU 73.6 73.7 73.7 91.6 91.7 91.7
    GELU 74.6 - - 92.0 - -
    ReLU 73.5 73.6 73.8 91.4 91.5 91.6
    Swish-1 74.6 74.7 74.7 92.1 92.0 92.0
    Swish 74.9 74.9 75.2 92.3 92.4 92.4
    Modelo Top-1 Acc. (%) Top-5 Acc. (%)
    LReLU 79.5 79.5 79.6 94.7 94.7 94.7
    PReLU 79.7 79.8 80.1 94.8 94.9 94.9
    Softplus 80.1 80.2 80.4 95.2 95.2 95.3
    ELU 75.8 79.9 80.0 92.6 95.0 95.1
    SELU 79.0 79.2 79.2 94.5 94.4 94.5
    GELU 79.6 79.6 79.9 94.8 94.8 94.9
    ReLU 79.5 79.6 79.8 94.8 94.8 94.8
    Swish-1 80.2 80.3 80.4 95.1 95.2 95.2
    Swish 80.2 80.2 80.3 95.0 95.2 95.0
    Modelo Top-1 Acc. (%) Top-5 Acc. (%)
    LReLU 72.5 91.0
    PReLU 74.2 91.9
    Softplus 73.6 91.6
    ELU 73.9 91.3
    SELU 73.2 91.0
    GELU 73.5 91.4
    ReLU 72.0 90.8
    Swish-1 74.2 91.6
    Swish 74.2 91.7
    Modelo Top-1 Acc. (%) Top-5 Acc. (%)
    LReLU 78.4 94.1
    PReLU 77.7 93.5
    Softplus 78.7 94.4
    ELU 77.9 93.7
    SELU 76.7 92.8
    GELU 77.7 93.9
    ReLU 78.4 94.2
    Swish-1 78.7 94.2
    Swish 78.7 94.0
    Modelo Top-1 Acc. (%) Top-5 Acc. (%)
    LReLU 79.3 94.7
    PReLU 79.3 94.4
    Softplus 79.6 94.8
    ELU 79.5 94.5
    SELU 78.3 94.5
    GELU 79.0 94.6
    ReLU 79.2 94.6
    Swish-1 79.3 94.7
    Swish 79.3 94.6

    Los resultados de las Tablas 6-10 muestran un rendimiento sólido para Swish. En Inception-ResNet-v2, Swish supera a ReLU en un no trivial $ {\textstyle 0.5\%} $. Swish funciona especialmente bien en modelos de tamaño móvil, con un impulso de $ {\textstyle 1.4\%} $ en Mobile NASNet-A y un impulso de $ {\textstyle 2.2\%} $ en MobileNet sobre ReLU. Swish también iguala o supera al baseline con mejor rendimiento en la mayoría de los modelos, donde, de nuevo, el baseline con mejor rendimiento difiere según el modelo. Softplus alcanza precisiones comparables a Swish en los modelos más grandes, pero rinde peor en ambos modelos de tamaño móvil. Para Inception-v4, las ganancias por cambiar entre funciones de activación son más limitadas, y Swish queda ligeramente por debajo de Softplus y ELU. En general, los resultados sugieren que cambiar a Swish mejora el rendimiento con poco ajuste adicional.

    5.4 Traducción automática

    Adicionalmente comparamos Swish en el dominio de la traducción automática. Entrenamos modelos de traducción automática en el conjunto de datos estándar WMT 2014 inglés$ {\textstyle \rightarrow} $alemán, que tiene 4,5 millones de oraciones de entrenamiento, y evaluamos en 4 conjuntos newstest distintos utilizando la métrica BLEU estándar. Utilizamos el modelo Transformer basado en atención (Vaswani et al., 2017), que utiliza ReLU en una red feedforward de 2 capas entre cada capa de atención. Entrenamos un modelo "Base Transformer" de 12 capas con 2 tasas de aprendizaje distintas444Probamos una tasa de aprendizaje adicional para Softplus, pero encontramos que no funcionaba bien con ninguna de las tasas de aprendizaje. durante 300K pasos, pero por lo demás utilizamos los mismos hiperparámetros que en el trabajo original, como el uso de Adam (Kingma & Ba, 2015) para optimizar.

    Modelo newstest2013 newstest2014 newstest2015 newstest2016
    LReLU 26.2 27.9 29.8 33.4
    PReLU 26.3 27.7 29.7 33.1
    Softplus 23.4 23.6 25.8 29.2
    ELU 24.6 25.1 27.7 32.5
    SELU 23.7 23.5 25.9 30.5
    GELU 25.9 27.3 29.5 33.1
    ReLU 26.1 27.8 29.8 33.3
    Swish-1 26.2 28.0 30.1 34.0
    Swish 26.5 27.6 30.0 33.1

    La Tabla 11 muestra que Swish supera o iguala a los demás baselines en la traducción automática. Swish-1 lo hace especialmente bien en newstest2016, superando al siguiente baseline con mejor rendimiento por $ {\textstyle 0.6} $ puntos BLEU. La función baseline con peor rendimiento es Softplus, lo que demuestra una inconsistencia en el rendimiento entre dominios diferentes. En contraste, Swish rinde de forma consistente bien a través de múltiples dominios.

    6 Trabajo relacionado

    Swish se encontró utilizando una variedad de técnicas de búsqueda automatizadas. Se han utilizado técnicas de búsqueda en otros trabajos para descubrir arquitecturas convolucionales y recurrentes (Zoph & Le, 2016; Zoph et al., 2017; Real et al., 2017; Cai et al., 2017; Zhong et al., 2017) y optimizadores (Bello et al., 2017). El uso de técnicas de búsqueda para descubrir componentes tradicionalmente diseñados a mano es un caso particular del subcampo recientemente revivido del meta-learning (Schmidhuber, 1987; Naik & Mammone, 1992; Thrun & Pratt, 2012). El meta-learning se ha utilizado para encontrar inicializaciones para el aprendizaje one-shot (Finn et al., 2017; Ravi & Larochelle, 2016), aprendizaje por refuerzo adaptable (Wang et al., 2016; Duan et al., 2016) y la generación de parámetros del modelo (Ha et al., 2016). El meta-learning es potente porque la flexibilidad derivada de las suposiciones mínimas codificadas conduce a soluciones empíricamente efectivas. Aprovechamos esta propiedad para encontrar funciones de activación escalares, como Swish, que tienen un fuerte rendimiento empírico.

    Aunque este trabajo se centra en funciones de activación escalares, que transforman un escalar en otro escalar, hay muchos tipos de funciones de activación utilizadas en redes profundas. Las funciones many-to-one, como max pooling, maxout (Goodfellow et al., 2013) y gating (Hochreiter & Schmidhuber, 1997; Srivastava et al., 2015; van den Oord et al., 2016; Dauphin et al., 2016; Wu et al., 2016; Miech et al., 2017), derivan su poder de combinar múltiples fuentes de manera no lineal. Las funciones one-to-many, como Concatenated ReLU (Shang et al., 2016), mejoran el rendimiento aplicando varias funciones no lineales a una sola entrada. Por último, las funciones many-to-many, como BatchNorm (Ioffe & Szegedy, 2015) y LayerNorm (Ba et al., 2016), inducen relaciones no lineales potentes entre sus entradas.

    La mayor parte del trabajo previo se ha centrado en proponer nuevas funciones de activación (Maas et al., 2013; Agostinelli et al., 2014; He et al., 2015; Clevert et al., 2015; Hendrycks & Gimpel, 2016; Klambauer et al., 2017; Qiu & Cai, 2017; Zhou et al., 2017; Elfwing et al., 2017), pero pocos estudios, como Xu et al. (2015), han comparado sistemáticamente distintas funciones de activación. Hasta donde sabemos, este es el primer estudio que compara funciones de activación escalares a través de múltiples conjuntos de datos desafiantes.

    Nuestro estudio muestra que Swish supera consistentemente a ReLU en modelos profundos. El sólido rendimiento de Swish desafía la sabiduría convencional sobre ReLU. Las hipótesis sobre la importancia de la propiedad de preservación del gradiente de ReLU parecen innecesarias cuando las conexiones residuales (He et al., 2016a) permiten la optimización de redes muy profundas. Una idea similar puede encontrarse en el Transformer totalmente atencional (Vaswani et al., 2017), donde la celda LSTM intrincadamente construida (Hochreiter & Schmidhuber, 1997) ya no es necesaria cuando se utilizan conexiones de atención de longitud constante. Las mejoras arquitectónicas reducen la necesidad de que los componentes individuales preserven los gradientes.

    7 Conclusión

    En este trabajo, utilizamos técnicas de búsqueda automática para descubrir funciones de activación novedosas que tienen un fuerte rendimiento empírico. Después validamos empíricamente la mejor función de activación descubierta, a la que llamamos Swish y se define como $ {\textstyle {f\hspace{0pt}{(x)}} = {{x \cdot \text{sigmoid}}\hspace{0pt}{({\beta\hspace{0pt}x})}}} $. Nuestros experimentos utilizaron modelos e hiperparámetros que se diseñaron para ReLU y simplemente reemplazaron la función de activación ReLU por Swish; incluso este procedimiento simple y subóptimo dio como resultado que Swish superara consistentemente a ReLU y a otras funciones de activación. Esperamos que se obtengan ganancias adicionales cuando estos modelos e hiperparámetros se diseñen específicamente teniendo en cuenta a Swish. La simplicidad de Swish y su similitud con ReLU significa que reemplazar las ReLU en cualquier red es solo un sencillo cambio de una línea de código.

    Agradecimientos

    Agradecemos a Esteban Real, Geoffrey Hinton, Irwan Bello, Jascha Sohl-Dickstein, Jon Shlens, Kathryn Rough, Mohammad Norouzi, Navdeep Jaitly, Niki Parmar, Sam Smith, Simon Kornblith, Vijay Vasudevan y al equipo de Google Brain por su ayuda en este proyecto.

    Referencias

    • Abadi et al. (2016) Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, et al. Tensorflow: A system for large-scale machine learning. In USENIX Symposium on Operating Systems Design and Implementation, volume 16, pp.  265–283, 2016.
    • Agostinelli et al. (2014) Forest Agostinelli, Matthew Hoffman, Peter Sadowski, and Pierre Baldi. Learning activation functions to improve deep neural networks. arXiv preprint arXiv:1412.6830, 2014.
    • Ba et al. (2016) Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. Layer normalization. In Advances in Neural Information Processing Systems, 2016.
    • Bello et al. (2017) Irwan Bello, Barret Zoph, Vijay Vasudevan, and Quoc V Le. Neural optimizer search with reinforcement learning. In International Conference on Machine Learning, pp. 459–468, 2017.
    • Cai et al. (2017) Han Cai, Tianyao Chen, Weinan Zhang, Yong Yu, and Jun Wang. Reinforcement learning for architecture search by network transformation. arXiv preprint arXiv:1707.04873, 2017.
    • Clevert et al. (2015) Djork-Arné Clevert, Thomas Unterthiner, and Sepp Hochreiter. Fast and accurate deep network learning by exponential linear units (elus). arXiv preprint arXiv:1511.07289, 2015.
    • Dauphin et al. (2016) Yann N Dauphin, Angela Fan, Michael Auli, and David Grangier. Language modeling with gated convolutional networks. arXiv preprint arXiv:1612.08083, 2016.
    • Duan et al. (2016) Yan Duan, John Schulman, Xi Chen, Peter L Bartlett, Ilya Sutskever, and Pieter Abbeel. Rl2: Fast reinforcement learning via slow reinforcement learning. arXiv preprint arXiv:1611.02779, 2016.
    • Elfwing et al. (2017) Stefan Elfwing, Eiji Uchibe, and Kenji Doya. Sigmoid-weighted linear units for neural network function approximation in reinforcement learning. arXiv preprint arXiv:1702.03118, 2017.
    • Finn et al. (2017) Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model-agnostic meta-learning for fast adaptation of deep networks. arXiv preprint arXiv:1703.03400, 2017.
    • Goodfellow et al. (2013) Ian J Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron Courville, and Yoshua Bengio. Maxout networks. In International Conference on Machine Learning, 2013.
    • Ha et al. (2016) David Ha, Andrew Dai, and Quoc V Le. Hypernetworks. arXiv preprint arXiv:1609.09106, 2016.
    • Hahnloser et al. (2000) Richard HR Hahnloser, Rahul Sarpeshkar, Misha A Mahowald, Rodney J Douglas, and H Sebastian Seung. Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit. Nature, 405(6789):947, 2000.
    • He et al. (2015) Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE international conference on computer vision, pp.  1026–1034, 2015.
    • He et al. (2016a) Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp.  770–778, 2016a.
    • He et al. (2016b) Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Identity mappings in deep residual networks. In European Conference on Computer Vision, pp.  630–645. Springer, 2016b.
    • Hendrycks & Gimpel (2016) Dan Hendrycks and Kevin Gimpel. Bridging nonlinearities and stochastic regularizers with gaussian error linear units. arXiv preprint arXiv:1606.08415, 2016.
    • Hochreiter & Schmidhuber (1997) Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural Computation, 9(8):1735–1780, 1997.
    • Howard et al. (2017) Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.
    • Huang et al. (2017) Gao Huang, Zhuang Liu, Kilian Q Weinberger, and Laurens van der Maaten. Densely connected convolutional networks. In Conference on Computer Vision and Pattern Recognition, 2017.
    • Ioffe & Szegedy (2015) Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In International Conference on Machine Learning, pp. 448–456, 2015.
    • Jarrett et al. (2009) Kevin Jarrett, Koray Kavukcuoglu, Yann LeCun, et al. What is the best multi-stage architecture for object recognition? In 2009 IEEE 12th International Conference on Computer Vision, 2009.
    • Kingma & Ba (2015) Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In International Conference on Learning Representations, 2015.
    • Klambauer et al. (2017) Günter Klambauer, Thomas Unterthiner, Andreas Mayr, and Sepp Hochreiter. Self-normalizing neural networks. arXiv preprint arXiv:1706.02515, 2017.
    • Krizhevsky & Hinton (2009) Alex Krizhevsky and Geoffrey Hinton. Learning multiple layers of features from tiny images. Technical report, Technical report, University of Toronto, 2009.
    • Krizhevsky et al. (2012) Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems, pp. 1097–1105, 2012.
    • Maas et al. (2013) Andrew L Maas, Awni Y Hannun, and Andrew Y Ng. Rectifier nonlinearities improve neural network acoustic models. In International Conference on Machine Learning, volume 30, 2013.
    • Miech et al. (2017) Antoine Miech, Ivan Laptev, and Josef Sivic. Learnable pooling with context gating for video classification. arXiv preprint arXiv:1706.06905, 2017.
    • Naik & Mammone (1992) Devang K Naik and RJ Mammone. Meta-neural networks that learn by learning. In Neural Networks, 1992. IJCNN., International Joint Conference on, volume 1, pp.  437–442. IEEE, 1992.
    • Nair & Hinton (2010) Vinod Nair and Geoffrey E Hinton. Rectified linear units improve restricted boltzmann machines. In International Conference on Machine Learning, 2010.
    • Parascandolo et al. (2016) Giambattista Parascandolo, Heikki Huttunen, and Tuomas Virtanen. Taming the waves: sine as activation function in deep neural networks. 2016.
    • Qiu & Cai (2017) Suo Qiu and Bolun Cai. Flexible rectified linear units for improving convolutional neural networks. arXiv preprint arXiv:1706.08098, 2017.
    • Ravi & Larochelle (2016) Sachin Ravi and Hugo Larochelle. Optimization as a model for few-shot learning. 2016.
    • Real et al. (2017) Esteban Real, Sherry Moore, Andrew Selle, Saurabh Saxena, Yutaka Leon Suematsu, Quoc Le, and Alex Kurakin. Large-scale evolution of image classifiers. arXiv preprint arXiv:1703.01041, 2017.
    • Russakovsky et al. (2015) Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3):211–252, 2015.
    • Schmidhuber (1987) Jurgen Schmidhuber. Evolutionary principles in self-referential learning. On learning how to learn: The meta-meta-… hook.) Diploma thesis, Institut f. Informatik, Tech. Univ. Munich, 1987.
    • Schulman et al. (2017) John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347, 2017.
    • Shang et al. (2016) Wenling Shang, Kihyuk Sohn, Diogo Almeida, and Honglak Lee. Understanding and improving convolutional neural networks via concatenated rectified linear units. In International Conference on Machine Learning, pp. 2217–2225, 2016.
    • Srivastava et al. (2015) Rupesh Kumar Srivastava, Klaus Greff, and Jürgen Schmidhuber. Highway networks. arXiv preprint arXiv:1505.00387, 2015.
    • Szegedy et al. (2016) Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2016.
    • Szegedy et al. (2017) Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, and Alexander A Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. In AAAI, pp.  4278–4284, 2017.
    • Thrun & Pratt (2012) Sebastian Thrun and Lorien Pratt. Learning to learn. Springer Science & Business Media, 2012.
    • Tieleman & Hinton (2012) Tijmen Tieleman and Geoffrey Hinton. Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks for machine learning, 4(2):26–31, 2012.
    • van den Oord et al. (2016) Aaron van den Oord, Nal Kalchbrenner, Lasse Espeholt, Oriol Vinyals, Alex Graves, et al. Conditional image generation with pixelcnn decoders. In Advances in Neural Information Processing Systems, pp. 4790–4798, 2016.
    • Vaswani et al. (2017) Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, 2017.
    • Wang et al. (2016) Jane X Wang, Zeb Kurth-Nelson, Dhruva Tirumala, Hubert Soyer, Joel Z Leibo, Remi Munos, Charles Blundell, Dharshan Kumaran, and Matt Botvinick. Learning to reinforcement learn. arXiv preprint arXiv:1611.05763, 2016.
    • Wu et al. (2016) Yuhuai Wu, Saizheng Zhang, Ying Zhang, Yoshua Bengio, and Ruslan R Salakhutdinov. On multiplicative integration with recurrent neural networks. In Advances in Neural Information Processing Systems, pp. 2856–2864, 2016.
    • Xu et al. (2015) Bing Xu, Naiyan Wang, Tianqi Chen, and Mu Li. Empirical evaluation of rectified activations in convolutional network. arXiv preprint arXiv:1505.00853, 2015.
    • Zagoruyko & Komodakis (2016) Sergey Zagoruyko and Nikos Komodakis. Wide residual networks. In British Machine Vision Conference, 2016.
    • Zhong et al. (2017) Zhao Zhong, Junjie Yan, and Cheng-Lin Liu. Practical network blocks design with q-learning. arXiv preprint arXiv:1708.05552, 2017.
    • Zhou et al. (2017) Guorui Zhou, Chengru Song, Xiaoqiang Zhu, Xiao Ma, Yanghui Yan, Xingya Dai, Han Zhu, Junqi Jin, Han Li, and Kun Gai. Deep interest network for click-through rate prediction. arXiv preprint arXiv:1706.06978, 2017.
    • Zoph & Le (2016) Barret Zoph and Quoc V Le. Neural architecture search with reinforcement learning. In International Conference on Learning Representations, 2016.
    • Zoph et al. (2017) Barret Zoph, Vijay Vasudevan, Jonathon Shlens, and Quoc V Le. Learning transferable architectures for scalable image recognition. arXiv preprint arXiv:1707.07012, 2017.