Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts/paper/es
| Research Paper | |
|---|---|
| Authors | Jiaqi Ma; Zhe Zhao; Xinyang Yi; Jilin Chen; Lichan Hong; Ed H. Chi |
| Year | 2018 |
| Venue | Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18) |
| Topic area | Machine Learning |
| Difficulty | Research |
| Source | View paper |
| Download PDF | |
Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
Jiaqi Ma (School of Information, University of Michigan, Ann Arbor)
Zhe Zhao, Xinyang Yi, Jilin Chen, Lichan Hong, Ed H. Chi (Google Inc.)
Trabajo realizado mientras el primer autor estaba como pasante en Google Inc.
En las Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18), 19–23 de agosto de 2018, Londres, Reino Unido. ACM, Nueva York, NY, EE. UU., 10 páginas.
Resumen
El aprendizaje multitarea con redes neuronales ha sido utilizado con éxito en muchas aplicaciones reales a gran escala, como los sistemas de recomendación. Por ejemplo, en la recomendación de películas, además de ofrecer a los usuarios películas que tiendan a comprar y ver, el sistema podría además optimizar para que los usuarios disfruten las películas posteriormente. Con el aprendizaje multitarea, buscamos construir un único modelo que aprenda estos múltiples objetivos y tareas de forma simultánea. Sin embargo, la calidad de predicción de los modelos multitarea de uso común suele ser sensible a las relaciones entre tareas. Por tanto, es importante estudiar los compromisos de modelado entre los objetivos específicos de cada tarea y las relaciones entre tareas.
En este trabajo, proponemos un nuevo enfoque de aprendizaje multitarea, Multi-gate Mixture-of-Experts (MMoE), que aprende explícitamente a modelar las relaciones entre tareas a partir de los datos. Adaptamos la estructura Mixture-of-Experts (MoE) al aprendizaje multitarea compartiendo los submodelos expertos entre todas las tareas, a la vez que disponemos de una red de compuertas entrenada para optimizar cada tarea. Para validar nuestro enfoque sobre datos con distintos niveles de relación entre tareas, lo aplicamos primero a un conjunto de datos sintético en el que controlamos dicha relación. Mostramos que el enfoque propuesto rinde mejor que los métodos de referencia cuando las tareas están menos relacionadas. También mostramos que la estructura MMoE conlleva un beneficio adicional en la entrenabilidad, en función de los distintos niveles de aleatoriedad en los datos de entrenamiento y en la inicialización del modelo. Asimismo, demostramos las mejoras de rendimiento aportadas por MMoE en tareas reales, incluido un benchmark de clasificación binaria y un sistema de recomendación de contenidos a gran escala en Google.
CCS Concepts: Computing methodologies → Multi-task learning; Neural networks; Information systems → Recommender systems.
Palabras clave: multi-task learning; mixture of experts; neural network; recommendation system
1. Introducción
En los últimos años, los modelos de redes neuronales profundas se han aplicado con éxito en muchas aplicaciones reales a gran escala, como los sistemas de recomendación [11]. Tales sistemas de recomendación a menudo necesitan optimizar varios objetivos al mismo tiempo. Por ejemplo, al recomendar películas para que los usuarios las vean, podemos querer que los usuarios no sólo compren y vean las películas, sino que también las disfruten posteriormente para que vuelvan en busca de más. Es decir, podemos crear modelos que predigan tanto las compras de los usuarios como sus calificaciones de forma simultánea. De hecho, muchos sistemas de recomendación a gran escala han adoptado el aprendizaje multitarea utilizando modelos de Deep Neural Network (DNN) [3].
Diversos investigadores han informado de que los modelos de aprendizaje multitarea pueden mejorar las predicciones del modelo en todas las tareas mediante regularización y transferencia de aprendizaje [8]. Sin embargo, en la práctica, los modelos de aprendizaje multitarea no siempre superan a los modelos monotarea correspondientes en todas las tareas [23, 26]. De hecho, muchos modelos de aprendizaje multitarea basados en DNN son sensibles a factores como las diferencias de distribución de datos y las relaciones entre tareas [15, 34]. Los conflictos inherentes derivados de las diferencias entre tareas pueden, en realidad, perjudicar las predicciones de al menos algunas de las tareas, particularmente cuando los parámetros del modelo se comparten ampliamente entre todas las tareas.
Los trabajos previos [4, 6, 8] investigaron las diferencias entre tareas en el aprendizaje multitarea asumiendo procesos particulares de generación de datos para cada tarea, midiendo las diferencias entre tareas conforme a esos supuestos y formulando recomendaciones según cuán distintas resultaran las tareas. Sin embargo, dado que las aplicaciones reales a menudo presentan patrones de datos mucho más complejos, suele ser difícil medir las diferencias entre tareas y aprovechar los enfoques sugeridos por estos trabajos previos.
Varios trabajos recientes propusieron nuevas técnicas de modelado para abordar las diferencias entre tareas en el aprendizaje multitarea sin depender de una medida explícita de la diferencia entre tareas [15, 27, 34]. Sin embargo, estas técnicas a menudo implican añadir muchos más parámetros del modelo por tarea para acomodar dichas diferencias. Como los sistemas de recomendación a gran escala pueden contener millones o miles de millones de parámetros, esos parámetros adicionales suelen quedar poco restringidos, lo que puede perjudicar la calidad del modelo. El coste computacional adicional de estos parámetros también suele resultar prohibitivo en entornos de producción reales debido a los recursos de servicio limitados.
En este artículo proponemos un enfoque de aprendizaje multitarea basado en una novedosa estructura Multi-gate Mixture-of-Experts (MMoE), inspirada en el modelo Mixture-of-Experts (MoE) [21] y en la reciente capa MoE [16, 31]. MMoE modela explícitamente las relaciones entre tareas y aprende funcionalidades específicas de cada tarea para aprovechar las representaciones compartidas. Permite que los parámetros se asignen automáticamente para capturar bien información compartida entre tareas, bien información específica de una tarea, evitando la necesidad de añadir muchos parámetros nuevos por tarea.
La columna vertebral de MMoE se construye sobre la estructura DNN multitarea Shared-Bottom [8] de uso más común. La estructura Shared-Bottom se muestra en la Figura 1 (a), donde varias capas inferiores que siguen a la capa de entrada se comparten entre todas las tareas y, a continuación, cada tarea dispone de una "torre" de red individual sobre las representaciones inferiores. En lugar de tener una única red inferior compartida por todas las tareas, nuestro modelo, mostrado en la Figura 1 (c), dispone de un grupo de redes inferiores, cada una de las cuales se denomina experto. En nuestro artículo, cada experto es una red feed-forward. A continuación, introducimos una red de compuertas para cada tarea. Las redes de compuertas toman las características de entrada y producen compuertas softmax que ensamblan a los expertos con distintos pesos, permitiendo que distintas tareas utilicen a los expertos de forma diferente. Los resultados de los expertos ensamblados se pasan después a las redes torre específicas de cada tarea. De este modo, las redes de compuertas para distintas tareas pueden aprender distintos patrones de mezcla de expertos y, por tanto, capturar las relaciones entre tareas.
Para entender cómo MMoE aprende sus expertos y las redes de compuertas de cada tarea para distintos niveles de relación entre tareas, realizamos un experimento sintético en el que podemos medir y controlar la relación entre tareas mediante su correlación de Pearson. De forma similar a [24], utilizamos dos tareas sintéticas de regresión y empleamos funciones sinusoidales como mecanismo de generación de datos para introducir no linealidad. Nuestro enfoque supera a los métodos de referencia bajo este montaje, especialmente cuando la correlación entre tareas es baja. En este conjunto de experimentos, también descubrimos que MMoE es más fácil de entrenar y converge a una pérdida mejor durante múltiples ejecuciones. Esto se relaciona con descubrimientos recientes que indican que los mecanismos de modulación y compuerteo pueden mejorar la entrenabilidad al entrenar redes neuronales profundas no convexas [10, 19].
Evaluamos además el rendimiento de MMoE sobre un conjunto de datos de referencia, el UCI Census-income, con un planteamiento de problema multitarea. Lo comparamos con varios modelos multitarea de última generación que modelan las relaciones entre tareas mediante reparto blando de parámetros, y observamos una mejora con nuestro método.
Por último, probamos MMoE sobre un sistema real de recomendación de contenidos a gran escala, donde se aprenden simultáneamente dos tareas de clasificación al recomendar elementos a los usuarios. Entrenamos el modelo MMoE con cientos de miles de millones de ejemplos de entrenamiento y lo comparamos con un modelo Shared-Bottom de producción. Observamos mejoras significativas en métricas offline como el AUC. Además, nuestro modelo MMoE mejora de forma consistente las métricas online en experimentos en vivo.
La contribución de este artículo es triple. Primero, proponemos un nuevo modelo Multi-gate Mixture-of-Experts que modela explícitamente las relaciones entre tareas. Mediante redes de modulación y compuerteo, nuestro modelo ajusta automáticamente la parametrización entre el modelado de información compartida y el de información específica de cada tarea. Segundo, realizamos experimentos controlados sobre datos sintéticos. Reportamos cómo la relación entre tareas afecta a la dinámica de entrenamiento en el aprendizaje multitarea y cómo MMoE mejora tanto la expresividad del modelo como su entrenabilidad. Por último, realizamos experimentos sobre datos de referencia reales y un sistema de recomendación de producción a gran escala con cientos de millones de usuarios y elementos. Nuestros experimentos verifican la eficiencia y la efectividad de nuestro método propuesto en entornos del mundo real.
Figura 1: (a) Modelo Shared-Bottom. (b) Modelo One-gate MoE. (c) Modelo Multi-gate MoE.
2. Trabajo relacionado
2.1. Aprendizaje multitarea en DNN
Los modelos multitarea pueden aprender comunalidades y diferencias entre distintas tareas. Hacerlo puede dar lugar tanto a una mayor eficiencia como a una mejor calidad de modelo para cada tarea [4, 8, 30]. Uno de los modelos de aprendizaje multitarea más utilizados es el propuesto por Caruana [8, 9], que adopta una estructura shared-bottom, donde las capas ocultas inferiores se comparten entre tareas. Esta estructura reduce sustancialmente el riesgo de sobreajuste, pero puede sufrir conflictos de optimización causados por las diferencias entre tareas, ya que todas las tareas deben usar el mismo conjunto de parámetros en las capas shared-bottom.
Para entender cómo la relación entre tareas afecta a la calidad del modelo, los trabajos previos utilizaron generación de datos sintéticos y manipularon distintos tipos de relación entre tareas a fin de evaluar la efectividad de los modelos multitarea [4–6, 8].
En lugar de compartir capas ocultas y los mismos parámetros del modelo entre tareas, algunos enfoques recientes añaden distintos tipos de restricciones sobre los parámetros específicos de cada tarea [15, 27, 34]. Por ejemplo, para dos tareas, Duong et al. [15] añade restricciones L-2 entre los dos conjuntos de parámetros. La cross-stitch network [27] aprende una combinación única de embeddings de capa oculta específicos de cada tarea. Yang et al. [34] usa un modelo de factorización tensorial para generar parámetros de capa oculta para cada tarea. Comparados con los modelos shared-bottom, estos enfoques tienen más parámetros específicos por tarea y pueden alcanzar mejor rendimiento cuando las diferencias entre tareas dan lugar a conflictos al actualizar los parámetros compartidos. Sin embargo, el mayor número de parámetros específicos por tarea requiere más datos de entrenamiento para ajustarse y puede no ser eficiente en modelos a gran escala.
2.2. Ensamble de subredes y mixture of experts
En este artículo aplicamos algunos hallazgos recientes en deep learning, como la modulación de parámetros y los métodos de ensemble, para modelar las relaciones entre tareas en el aprendizaje multitarea. En las DNN, se ha demostrado que los modelos de ensemble y los ensambles de subredes pueden mejorar el rendimiento del modelo [9, 20].
Eigen et al [16] y Shazeer et al [31] convierten el modelo mixture-of-experts en bloques constructivos básicos (capa MoE) y los apilan en una DNN. La capa MoE selecciona subredes (expertos) en función de la entrada de la capa, tanto en tiempo de entrenamiento como en tiempo de servicio. Por tanto, este modelo no sólo es más potente en cuanto a modelado, sino que también reduce el coste computacional al introducir esparsidad en las redes de compuertas. De forma similar, PathNet [17], diseñada para inteligencia general artificial para manejar distintas tareas, es una red neuronal enorme con múltiples capas y múltiples submódulos en cada capa. Mientras se entrena para una tarea, se seleccionan aleatoriamente múltiples rutas y se entrenan en paralelo por distintos workers. Los parámetros de la mejor ruta se fijan y se seleccionan nuevas rutas para entrenar nuevas tareas. Tomamos inspiración de estos trabajos al usar un ensamble de subredes (expertos) para lograr transferencia de aprendizaje ahorrando computación.
2.3. Aplicaciones del aprendizaje multitarea
Gracias al desarrollo de los sistemas distribuidos de aprendizaje automático [13], muchas aplicaciones reales a gran escala han adoptado algoritmos de aprendizaje multitarea basados en DNN y observado mejoras sustanciales de calidad. En tareas de traducción automática multilingüe, con parámetros de modelo compartidos, las tareas de traducción con datos de entrenamiento limitados pueden mejorarse aprendiendo conjuntamente con tareas que disponen de gran cantidad de datos de entrenamiento [22]. Para construir sistemas de recomendación, el aprendizaje multitarea resulta útil para ofrecer recomendaciones sensibles al contexto [28, 35]. En [3], una tarea de recomendación de texto se mejora compartiendo representaciones de características y capas ocultas inferiores. En [11], se utiliza un modelo shared-bottom para aprender un algoritmo de ranking para recomendación de vídeo. De forma similar a estos trabajos previos, evaluamos nuestro enfoque de modelado en un sistema de recomendación a gran escala del mundo real. Demostramos que nuestro enfoque es efectivamente escalable y exhibe un rendimiento favorable comparado con otros enfoques de modelado de última generación.
3. Preliminares
Presentamos primero el modelo multitarea shared-bottom de la Figura 1 (a), un marco propuesto por Rich Caruana [8] y ampliamente adoptado en muchas aplicaciones de aprendizaje multitarea [18, 29]. Por ello, lo tratamos como un enfoque de referencia representativo en el modelado multitarea.
Dadas $ K $ tareas, el modelo consiste en una red shared-bottom, representada como una función $ f $, y $ K $ redes torre $ h_k $, donde $ k = 1, 2, \ldots, K $ para cada tarea respectivamente. La red shared-bottom sigue a la capa de entrada, y las redes torre se construyen sobre la salida del shared-bottom. La salida individual $ y_k $ para cada tarea sigue entonces a la torre específica de la tarea correspondiente. Para la tarea $ k $, el modelo puede formularse como:
- $ y_k = h_k(f(x)). \qquad (1) $
3.2. Generación de datos sintéticos
Trabajos previos [15, 27] indican que el rendimiento de los modelos de aprendizaje multitarea depende en gran medida de la relación inherente entre tareas en los datos. No obstante, es difícil estudiar directamente cómo afecta la relación entre tareas a los modelos multitarea en aplicaciones reales, ya que en las aplicaciones reales no podemos cambiar fácilmente la relación entre tareas y observar el efecto. Por tanto, para establecer un estudio empírico de esta relación, utilizamos primero datos sintéticos en los que podemos medir y controlar fácilmente la relación entre tareas.
Inspirándonos en Kang et al. [24], generamos dos tareas de regresión y utilizamos la correlación de Pearson de las etiquetas de estas dos tareas como indicador cuantitativo de la relación entre tareas. Como nos centramos en modelos DNN, en lugar de las funciones lineales utilizadas en [24], establecemos el modelo de regresión como una combinación de funciones sinusoidales como se utiliza en [33]. Específicamente, generamos los datos sintéticos como sigue.
- Dada la dimensión de las características de entrada $ d $, generamos dos vectores unitarios ortogonales $ u_1, u_2 \in \mathbb{R}^d $, es decir, $ u_1^T u_2 = 0 $, $ \|u_1\|_2 = 1 $, $ \|u_2\|_2 = 1 $.
- Dada una constante de escala $ c $ y una puntuación de correlación $ -1 \leq p \leq 1 $, generamos dos vectores de pesos $ w_1, w_2 $ tales que:
- $ w_1 = c\, u_1, \qquad w_2 = c\left(p\, u_1 + \sqrt{1 - p^2}\, u_2\right). \qquad (2) $
- Muestreamos aleatoriamente un punto de datos de entrada $ x \in \mathbb{R}^d $ con cada uno de sus elementos extraído de $ \mathcal{N}(0, 1) $.
- Generamos dos etiquetas $ y_1, y_2 $ para las dos tareas de regresión como sigue:
- $ y_1 = w_1^T x + \sum_{i=1}^{m} \sin\!\left(\alpha_i w_1^T x + \beta_i\right) + \epsilon_1, \qquad (3) $
- $ y_2 = w_2^T x + \sum_{i=1}^{m} \sin\!\left(\alpha_i w_2^T x + \beta_i\right) + \epsilon_2, \qquad (4) $
donde $ \alpha_i, \beta_i, i = 1, 2, \ldots, m $ son parámetros dados que controlan la forma de las funciones sinusoidales y $ \epsilon_1, \epsilon_2 \overset{i.i.d.}{\sim} \mathcal{N}(0, 0.01) $.
- Repetimos (3) y (4) hasta generar suficientes datos.
Debido al procedimiento no lineal de generación de datos, no es directo generar tareas con una correlación de Pearson de etiquetas dada. En su lugar, manipulamos la similitud coseno de los vectores de pesos en la Ec 2, que es $ \cos(w_1, w_2) = p $, y medimos la correlación de Pearson resultante entre las etiquetas a posteriori. Nótese que en el caso lineal donde $ y_1 = w_1^T x + \epsilon_1 $ y $ y_2 = w_2^T x + \epsilon_2 $, la correlación de Pearson de las etiquetas $ y_1, y_2 $ es exactamente $ p $. En el caso no lineal, $ y_1 $ e $ y_2 $ en las Ec 3 y Ec 4 también están positivamente correlacionadas, como se muestra en la Figura 2.
En el resto de este artículo, por simplicidad, nos referimos a la similitud coseno de los vectores de pesos como "correlación entre tareas".
Figura 2: Correlación de Pearson de las etiquetas vs. similitud coseno de los pesos (correlación entre tareas). El eje X muestra las similitudes coseno de los vectores de pesos. El eje Y es la correlación de Pearson resultante entre las etiquetas. Para cada similitud coseno de pesos, generamos 10k puntos de datos con dos etiquetas y calculamos la correlación de Pearson entre estas dos etiquetas. Repetimos este proceso y representamos la media con la barra de error indicando 2 desviaciones estándar entre los 100 ensayos.
Figura 3: Rendimiento del modelo Shared-Bottom sobre datos sintéticos con distinta correlación entre tareas. Una correlación entre tareas igual a 1 significa que las dos tareas comparten los mismos vectores de pesos pero con ruidos independientes. El eje X es el número de pasos de entrenamiento. El eje Y es la pérdida media de 200 ejecuciones independientes.
3.3. Impacto de la relación entre tareas
Para verificar que una baja relación entre tareas perjudica la calidad del modelo en una configuración multitarea de referencia, realizamos experimentos controlados sobre los datos sintéticos como sigue.
- Dada una lista de puntuaciones de correlación entre tareas, generamos un conjunto de datos sintético para cada puntuación;
- Entrenamos un modelo Shared-Bottom multitarea sobre cada uno de estos conjuntos respectivamente, manteniendo iguales todos los hiperparámetros del modelo y del entrenamiento;
- Repetimos los pasos (1) y (2) cientos de veces con conjuntos de datos generados de forma independiente, manteniendo iguales la lista de puntuaciones de correlación entre tareas y los hiperparámetros;
- Calculamos el rendimiento medio de los modelos para cada puntuación de correlación entre tareas.
La Figura 3 muestra las curvas de pérdida para distintas correlaciones entre tareas. Como se esperaba, el rendimiento del modelo tiende a la baja a medida que disminuye la correlación entre tareas. Esta tendencia es general para muchos ajustes distintos de hiperparámetros. Aquí mostramos solamente un ejemplo de los resultados del experimento controlado en la Figura 3. En este ejemplo, cada red torre es una red neuronal de una sola capa con 8 unidades ocultas, y la red shared-bottom es una red de una sola capa con tamaño = 16. El modelo se implementa con TensorFlow [1] y se entrena con el optimizador Adam [25] con la configuración por defecto. Nótese que las dos tareas de regresión son simétricas, por lo que basta con reportar los resultados sobre una sola tarea. Este fenómeno valida nuestra hipótesis de que el modelo multitarea tradicional es sensible a las relaciones entre tareas.
4. Métodos de modelado
4.1. Mixture-of-Experts
El modelo original Mixture-of-Experts (MoE) [21] puede formularse como:
- $ y = \sum_{i=1}^{n} g(x)_i\, f_i(x), \qquad (5) $
donde $ \sum_{i=1}^{n} g(x)_i = 1 $ y $ g(x)_i $, el $ i $-ésimo logit de la salida de $ g(x) $, indica la probabilidad para el experto $ f_i $.
Aquí, $ f_i, i = 1, \ldots, n $ son $ n $ redes expertas y $ g $ representa una red de compuertas que ensambla los resultados de todos los expertos. Más concretamente, la red de compuertas $ g $ produce una distribución sobre los $ n $ expertos en función de la entrada, y la salida final es una suma ponderada de las salidas de todos los expertos.
Capa MoE: Aunque MoE se desarrolló inicialmente como un método de ensemble de múltiples modelos individuales, Eigen et al [16] y Shazeer et al [31] la convierten en un bloque constructivo básico (capa MoE) y la apilan en una DNN. La capa MoE tiene la misma estructura que el modelo MoE, pero acepta como entrada la salida de la capa anterior y genera salida hacia una capa sucesiva. El modelo completo se entrena entonces de forma end-to-end.
El objetivo principal de la estructura de capa MoE propuesta por Eigen et al [16] y Shazeer et al [31] es lograr cómputo condicional [7, 12], donde sólo partes de una red están activas para cada ejemplo. Para cada ejemplo de entrada, el modelo es capaz de seleccionar sólo un subconjunto de expertos mediante la red de compuertas condicionada a la entrada.
4.2. Multi-gate Mixture-of-Experts
Proponemos un nuevo modelo MoE diseñado para capturar las diferencias entre tareas sin requerir un número significativamente mayor de parámetros del modelo en comparación con el modelo multitarea shared-bottom. El nuevo modelo se denomina Multi-gate Mixture-of-Experts (MMoE), y la idea clave es sustituir la red shared-bottom $ f $ en la Ec 1 por la capa MoE en la Ec 5. Y, lo que es más importante, añadimos una red de compuertas independiente $ g^k $ para cada tarea $ k $. Más precisamente, la salida de la tarea $ k $ es:
- $ y_k = h_k(f^k(x)), \qquad (6) $
- $ \text{where } f^k(x) = \sum_{i=1}^{n} g^k(x)_i\, f_i(x). \qquad (7) $
Véase la Figura 1 (c) para una ilustración de la estructura del modelo.
Nuestra implementación consta de perceptrones multicapa idénticos con activaciones ReLU. Las redes de compuertas son simplemente transformaciones lineales de la entrada con una capa softmax:
- $ g^k(x) = \mathrm{softmax}(W_{g_k} x), \qquad (8) $
donde $ W_{g_k} \in \mathbb{R}^{n \times d} $ es una matriz entrenable. $ n $ es el número de expertos y $ d $ es la dimensión de las características.
Cada red de compuertas puede aprender a "seleccionar" un subconjunto de expertos a utilizar condicionado al ejemplo de entrada. Esto resulta deseable para un reparto flexible de parámetros en el contexto del aprendizaje multitarea. Como caso especial, si sólo se selecciona un experto con la mayor puntuación de compuerta, cada red de compuertas separa de hecho linealmente el espacio de entrada en $ n $ regiones, cada una correspondiente a un experto. MMoE es capaz de modelar las relaciones entre tareas de forma sofisticada decidiendo cómo se solapan las separaciones producidas por las distintas compuertas. Si las tareas están menos relacionadas, compartir expertos será penalizado y las redes de compuertas de esas tareas aprenderán a utilizar distintos expertos. Comparado con el modelo Shared-Bottom, MMoE sólo dispone de varias redes de compuertas adicionales, y el número de parámetros del modelo en la red de compuertas es despreciable. Por tanto, el modelo en su conjunto sigue disfrutando del beneficio de la transferencia de conocimiento en aprendizaje multitarea tanto como sea posible.
Para entender cómo introducir una red de compuertas distinta para cada tarea puede ayudar al modelo a aprender información específica de la tarea, comparamos con una estructura de modelo en la que todas las tareas comparten una sola compuerta. Lo denominamos modelo One-gate Mixture-of-Experts (OMoE). Esto es una adaptación directa de la capa MoE al modelo multitarea Shared-Bottom. Véase la Figura 1 (b) para una ilustración de la estructura del modelo.
5. MMoE sobre datos sintéticos
En esta sección queremos comprender si el modelo MMoE puede manejar mejor la situación en la que las tareas están menos relacionadas. De forma similar a la Sección 3.3, realizamos experimentos controlados sobre los datos sintéticos para investigar este problema. Variamos la correlación entre tareas de los datos sintéticos y observamos cómo cambia el comportamiento de los distintos modelos. También llevamos a cabo un análisis de entrenabilidad y mostramos que los modelos basados en MoE pueden entrenarse más fácilmente que los modelos Shared-Bottom.
5.1. Rendimiento sobre datos con distintas correlaciones entre tareas
Repetimos los experimentos de la sección 3.3 para el modelo MMoE propuesto y dos modelos de referencia: el modelo Shared-Bottom y el modelo OMoE.
Estructuras del modelo. La dimensión de entrada es 100. Ambos modelos basados en MoE tienen 8 expertos, cada uno implementado como una red de una sola capa. El tamaño de las capas ocultas en la red experta es 16. Las redes torre siguen siendo redes de una sola capa con tamaño = 8. Observamos que el número total de parámetros del modelo en los expertos compartidos y las torres es $ 100 \times 16 \times 8 + 16 \times 8 \times 2 = 13056 $. Para el modelo Shared-Bottom de referencia, mantenemos la red torre como una red de una sola capa con tamaño = 8. Establecemos la red shared-bottom de una sola capa con tamaño $ 13056 / (100 + 8 \times 2) \approx 113 $.
Resultados. Todos los modelos se entrenan con el optimizador Adam y la learning rate se busca en cuadrícula entre $ [0.0001, 0.001, 0.01] $. Para cada combinación modelo-correlación, realizamos 200 ejecuciones con generación de datos aleatorios e inicialización del modelo independientes. Los resultados medios se muestran en la figura 4. Las observaciones son las siguientes:
- Para todos los modelos, el rendimiento sobre datos con mayor correlación es mejor que sobre datos con menor correlación.
- La brecha entre los rendimientos sobre datos con distintas correlaciones del modelo MMoE es mucho menor que la del modelo OMoE y del modelo Shared-Bottom. Esta tendencia es especialmente clara cuando comparamos el modelo MMoE con el modelo OMoE: en el caso extremo en que las dos tareas son idénticas, casi no hay diferencia de rendimiento entre el modelo MMoE y el modelo OMoE; sin embargo, cuando la correlación entre tareas decrece, hay una degeneración evidente del rendimiento del modelo OMoE, mientras que la influencia sobre el modelo MMoE es escasa. Por tanto, es crítico contar con compuertas específicas por tarea para modelar las diferencias entre tareas en el caso de baja relación.
- Ambos modelos MoE son mejores que el modelo Shared-Bottom en todos los escenarios en términos de rendimiento medio. Esto indica que la propia estructura MoE aporta beneficios adicionales. A partir de esta observación, mostramos en la siguiente subsección que los modelos MoE tienen mejor entrenabilidad que el modelo Shared-Bottom.
Figura 4: Rendimiento medio de MMoE, OMoE y Shared-Bottom sobre datos sintéticos con distintas correlaciones. (a) Rendimiento con correlación 0.5. (b) Rendimiento con correlación 0.9. (c) Rendimiento con dos tareas idénticas.
5.2. Entrenabilidad
Para los modelos de redes neuronales grandes nos importa mucho su entrenabilidad, es decir, cuán robusto es el modelo dentro de un rango de ajustes de hiperparámetros e inicializaciones del modelo.
Recientemente, Collins et al [10] descubrieron que algunos modelos de RNN con compuertas (como LSTM y GRU) que pensábamos que rendían mejor que la RNN vanilla son simplemente más fáciles de entrenar, en lugar de tener mayor capacidad de modelo. Aunque hemos demostrado que MMoE puede manejar mejor la situación en la que las tareas están menos relacionadas, también queremos comprender mejor cómo se comporta en términos de entrenabilidad.
Con nuestros datos sintéticos, podemos investigar de forma natural la robustez de nuestro modelo frente a la aleatoriedad en los datos y la inicialización del modelo. Repetimos los experimentos en cada configuración varias veces. Cada vez los datos se generan a partir de la misma distribución pero con distintas semillas aleatorias y los modelos también se inicializan de forma diferente. Representamos el histograma de los valores finales de pérdida procedentes de las ejecuciones repetidas en la Figura 5.
Hay tres observaciones interesantes a partir del histograma. Primero, en todos los ajustes de correlación entre tareas, las varianzas de rendimiento del modelo Shared-Bottom son mucho mayores que las del modelo basado en MoE. Esto significa que los modelos Shared-Bottom suelen tener mucho más mínimos locales de mala calidad que los modelos basados en MoE. Segundo, mientras que la varianza de rendimiento de los modelos OMoE es similarmente robusta a la de los modelos MMoE cuando la correlación entre tareas es 1, la robustez del OMoE cae notoriamente cuando la correlación entre tareas decrece a 0,5. Nótese que la única diferencia entre MMoE y OMoE es la presencia de una estructura multi-gate. Esto valida la utilidad de la estructura multi-gate para resolver mínimos locales malos causados por el conflicto debido a las diferencias entre tareas. Por último, vale la pena observar que las pérdidas más bajas de los tres modelos son comparables. Esto no es sorprendente, ya que las redes neuronales son teóricamente aproximadores universales. Con suficiente capacidad de modelo, debería existir un modelo Shared-Bottom "correcto" que aprenda bien ambas tareas. Sin embargo, hay que tener en cuenta que ésta es la distribución de 200 ejecuciones independientes de experimentos. Y sospechamos que para modelos más grandes y complicados (por ejemplo, cuando la red shared-bottom es una red neuronal recurrente), la probabilidad de obtener el modelo "correcto" de la relación entre tareas será incluso menor. Por tanto, modelar explícitamente la relación entre tareas sigue siendo deseable.
Figura 5: Histograma del rendimiento de MMoE, OMoE y el modelo multitarea Shared-Bottom sobre datos sintéticos con distintas correlaciones.
6. Experimentos sobre datos reales
En esta sección realizamos experimentos sobre conjuntos de datos reales para validar la efectividad de nuestro enfoque.
6.1. Métodos de referencia
Además del modelo multitarea Shared-Bottom, comparamos nuestro enfoque con varios modelos multitarea de redes neuronales profundas de última generación que intentan aprender la relación entre tareas a partir de los datos.
L2-Constrained [15]: Este método está diseñado para un problema cross-lingual con dos tareas. En él, los parámetros utilizados para distintas tareas se comparten de forma blanda mediante una restricción L2.
Dadas $ y_k $ como la etiqueta de verdad para la tarea $ k $, $ k \in \{1, 2\} $, la predicción de la tarea $ k $ se representa como $ \hat{y}_k = f(x; \theta_k) $, donde $ \theta_k $ son los parámetros del modelo.
La función objetivo de este método es:
- $ \mathcal{L}(y_1, f(x; \theta_1)) + \mathcal{L}(y_2, f(x; \theta_2)) + \alpha \|\theta_1 - \theta_2\|_2^2, $
donde $ y_1, y_2 $ son las etiquetas de verdad para la tarea 1 y la tarea 2, y $ \alpha $ es un hiperparámetro. Este método modela la relación entre tareas con la magnitud de $ \alpha $.
Cross-Stitch [27]: Este método comparte conocimiento entre dos tareas introduciendo una unidad "Cross-Stitch". La unidad Cross-Stitch toma como entrada las capas ocultas separadas $ x_1 $ y $ x_2 $ de las tareas 1 y 2, y produce $ \tilde{x}_1^i $ y $ \tilde{x}_2^i $ respectivamente mediante la siguiente ecuación:
- $ \begin{bmatrix} \tilde{x}_1^i \\ \tilde{x}_2^i \end{bmatrix} = \begin{bmatrix} \alpha_{11} & \alpha_{12} \\ \alpha_{21} & \alpha_{22} \end{bmatrix} \begin{bmatrix} x_1^i \\ x_2^i \end{bmatrix}, $
donde $ \alpha_{jk}, j, k = 1, 2 $ es un parámetro entrenable que representa la transferencia cruzada de la tarea $ k $ a la tarea $ j $. $ \tilde{x}_1 $ y $ \tilde{x}_2 $ se envían a la capa de mayor nivel de la tarea 1 y la tarea 2 respectivamente.
Tensor-Factorization [34]: En este método, los pesos de múltiples tareas se modelan como tensores y se utilizan métodos de factorización tensorial para el reparto de parámetros entre tareas. Para nuestra comparación, implementamos la descomposición Tucker para aprender modelos multitarea, que se reporta como la que ofrece resultados más fiables [34]. Por ejemplo, dado el tamaño de capa oculta de entrada $ m $, el tamaño de capa oculta de salida $ n $ y el número de tareas $ k $, los pesos $ W $, que conforman un tensor de dimensión $ m \times n \times k $, se derivan de la siguiente ecuación:
- $ W = \sum_{i_1}^{r_1} \sum_{i_2}^{r_2} \sum_{i_3}^{r_3} S(i_1, i_2, i_3) \cdot U_1(:, i_1) \circ U_2(:, i_2) \circ U_3(:, i_3), $
donde el tensor $ S $ de tamaño $ r_1 \times r_2 \times r_3 $, la matriz $ U_1 $ de tamaño $ m \times r_1 $, $ U_2 $ de tamaño $ n \times r_2 $ y $ U_3 $ de tamaño $ k \times r_3 $ son parámetros entrenables. Todos ellos se entrenan conjuntamente mediante backpropagation estándar. $ r_1, r_2 $ y $ r_3 $ son hiperparámetros.
6.2. Ajuste de hiperparámetros
Adoptamos un ajustador de hiperparámetros, utilizado en marcos recientes de deep learning [10], para buscar los mejores hiperparámetros para todos los modelos en los experimentos con conjuntos de datos reales. El algoritmo de ajuste es un modelo de proceso gaussiano similar a Spearmint, tal y como se introduce en [14, 32].
Para que la comparación sea justa, restringimos el tamaño máximo del modelo en todos los métodos fijando una misma cota superior para el número de unidades ocultas por capa, que es 2048. Para MMoE, esto es "número de expertos" × "unidades ocultas por experto". Tanto nuestro enfoque como todos los métodos de referencia se implementan con TensorFlow [1].
Ajustamos las learning rates y el número de pasos de entrenamiento para todos los métodos. También ajustamos algunos hiperparámetros específicos de cada método:
- MMoE: Número de expertos, número de unidades ocultas por experto.
- L2-Constrained: Tamaño de la capa oculta. Peso $ \alpha $ de la restricción L2.
- Cross-Stitch: Tamaño de la capa oculta, tamaño de la capa Cross-Stitch.
- Tensor-Factorization: $ r_1, r_2, r_3 $ para la descomposición de Tuck, tamaño de la capa oculta.
6.3. Datos Census-income
6.3.1. Descripción del conjunto de datos
El UCI census-income dataset [2] se extrae de la base de datos del censo de 1994. Contiene 299.285 instancias de información demográfica de adultos estadounidenses. Hay 40 características en total. Construimos dos problemas de aprendizaje multitarea a partir de este conjunto de datos fijando algunas de las características como objetivos de predicción y calculamos el valor absoluto de la correlación de Pearson de las etiquetas de las tareas sobre 10.000 muestras aleatorias:
- Tarea 1: Predecir si los ingresos exceden 50K USD; Tarea 2: Predecir si el estado civil de esta persona es soltero/a (nunca casado/a). Correlación de Pearson absoluta: 0,1768.
- Tarea 1: Predecir si el nivel educativo es al menos universitario; Tarea 2: Predecir si el estado civil de esta persona es soltero/a (nunca casado/a). Correlación de Pearson absoluta: 0,2373.
En el conjunto de datos hay 199.523 ejemplos de entrenamiento y 99.762 ejemplos de test. Dividimos además aleatoriamente los ejemplos de test en un conjunto de validación y un conjunto de test en proporción 1:1.
Nótese que eliminamos educación y estado civil de las características de entrada, ya que se tratan como etiquetas en estas configuraciones. Comparamos MMoE con los métodos de referencia mencionados. Como ambos grupos de tareas son problemas de clasificación binaria, utilizamos las puntuaciones AUC como métricas de evaluación. En ambos grupos, tratamos la tarea de estado civil como tarea auxiliar, y tratamos la tarea de ingresos en el primer grupo y la tarea de educación en el segundo grupo como tareas principales. Para el ajuste de hiperparámetros, utilizamos como objetivo el AUC de la tarea principal sobre el conjunto de validación. Para cada método, utilizamos el ajustador de hiperparámetros realizando miles de experimentos para encontrar la mejor configuración de hiperparámetros. Tras encontrar los mejores hiperparámetros para cada método, entrenamos cada método en el conjunto de entrenamiento 400 veces con inicializaciones aleatorias de parámetros y reportamos los resultados sobre el conjunto de test.
6.3.2. Resultados
Para ambos grupos, reportamos el AUC medio sobre 400 ejecuciones, así como el AUC de la ejecución en la que se obtiene el mejor rendimiento de la tarea principal. Las Tablas 1 y 2 muestran los resultados de los dos grupos de tareas. También ajustamos y entrenamos modelos monotarea entrenando un modelo separado para cada tarea y reportamos sus resultados.
Tabla 1: Rendimiento sobre el primer grupo del UCI Census-income dataset.
| Group 1 | AUC/Income (best) | AUC/Income (mean) | AUC/Marital Stat (w/ best income) | AUC/Marital Stat (mean) |
|---|---|---|---|---|
| Single-Task | 0.9398 | 0.9337 | 0.9933 | 0.9922 |
| Shared-Bottom | 0.9361 | 0.9295 | 0.9915 | 0.9921 |
| L2-Constrained | 0.9389 | 0.9359 | 0.9922 | 0.9918 |
| Cross-Stitch | 0.9406 | 0.9361 | 0.9917 | 0.9922 |
| Tensor-Factorization | 0.7460 | 0.6765 | 0.8175 | 0.8412 |
| OMoE | 0.9387 | 0.9319 | 0.9928 | 0.9923 |
| MMoE | 0.9410 | 0.9359 | 0.9926 | 0.9927 |
Tabla 2: Rendimiento sobre el segundo grupo del UCI Census-income dataset.
| Group 2 | AUC/Education (best) | AUC/Education (mean) | AUC/Marital Stat (w/ best education) | AUC/Marital Stat (mean) |
|---|---|---|---|---|
| Single-Task | 0.8843 | 0.8792 | 0.9933 | 0.9922 |
| Shared-Bottom | 0.8836 | 0.8813 | 0.9927 | 0.9917 |
| L2-Constrained | 0.8855 | 0.8823 | 0.9923 | 0.9918 |
| Cross-Stitch | 0.8855 | 0.8819 | 0.9919 | 0.9921 |
| Tensor-Factorization | 0.7367 | 0.7256 | 0.7453 | 0.7497 |
| OMoE | 0.8852 | 0.8813 | 0.9915 | 0.9912 |
| MMoE | 0.8860 | 0.8826 | 0.9932 | 0.9924 |
Dado que la relación entre tareas (medida grosso modo por la correlación de Pearson) no es muy fuerte en ninguno de los grupos, el modelo Shared-Bottom es casi siempre el peor entre los modelos multitarea (a excepción de Tensor-Factorization). Tanto L2-Constrained como Cross-Stitch tienen parámetros del modelo separados para cada tarea y añaden restricciones sobre cómo aprender estos parámetros, y por tanto rinden mejor que Shared-Bottom. Sin embargo, imponer restricciones sobre el aprendizaje de parámetros del modelo depende en gran medida de las suposiciones sobre la relación entre tareas, lo cual es menos flexible que el mecanismo de modulación de parámetros utilizado por MMoE. Por ello, MMoE supera a los demás modelos multitarea en todas las medias en el grupo 2, donde la relación entre tareas es aún más débil que en el grupo 1.
El método Tensor-Factorization es el peor en ambos grupos. Esto se debe a que tiende a generalizar los pesos de la capa oculta para todas las tareas en tensores y matrices de menor rango. Este método puede ser muy sensible a la relación entre tareas, ya que tiende a sobre-generalizar cuando las tareas están menos relacionadas, y necesita más datos y más tiempo para entrenar.
Los modelos multitarea no se ajustan para la tarea auxiliar de estado civil sobre el conjunto de validación, mientras que el modelo monotarea sí. Por tanto, es razonable que el modelo monotarea obtenga el mejor rendimiento en la tarea auxiliar.
6.4. Recomendación de contenidos a gran escala
En esta subsección realizamos experimentos sobre un sistema de recomendación de contenidos a gran escala en Google Inc., donde las recomendaciones se generan a partir de cientos de millones de elementos únicos para miles de millones de usuarios. Específicamente, dado el comportamiento actual de un usuario al consumir un elemento, este sistema de recomendación apunta a mostrarle una lista de elementos relevantes que consumir a continuación.
Nuestro sistema de recomendación adopta un marco similar al propuesto en algunos marcos existentes de recomendación de contenidos [11], que cuenta con un generador de candidatos seguido de un modelo de ranking profundo. El modelo de ranking profundo en nuestro montaje se entrena para optimizar dos tipos de objetivos de ranking: (1) optimizar objetivos relacionados con la interacción, como la tasa de click-through y el tiempo de interacción; (2) optimizar objetivos relacionados con la satisfacción, como la tasa de "me gusta". Nuestros datos de entrenamiento incluyen cientos de miles de millones de retroalimentaciones implícitas de los usuarios, como clics y "me gusta". Si se entrena por separado, el modelo de cada tarea necesita aprender miles de millones de parámetros. Por tanto, en comparación con aprender múltiples objetivos por separado, una arquitectura Shared-Bottom aporta el beneficio de un menor tamaño de modelo. De hecho, dicho modelo Shared-Bottom ya está en producción.
6.4.1. Configuración del experimento
Evaluamos los modelos multitarea creando dos tareas de clasificación binaria para el modelo de ranking profundo: (1) predecir un comportamiento del usuario relacionado con la interacción; (2) predecir un comportamiento del usuario relacionado con la satisfacción. Denominamos a estas dos tareas subtarea de interacción y subtarea de satisfacción.
Nuestro sistema de recomendación utiliza embeddings para características esparsas y normaliza todas las características densas a la escala $ [0, 1] $. Para el modelo Shared-Bottom, implementamos la red shared-bottom como una red neuronal feed-forward con varias capas totalmente conectadas con activación ReLU. Una capa totalmente conectada construida sobre la red shared-bottom para cada tarea actúa como red torre. Para MMoE, simplemente cambiamos la capa superior de la red shared-bottom por una capa MMoE y mantenemos las unidades ocultas de salida con la misma dimensionalidad. Por tanto, no añadimos costes computacionales adicionales notables en el entrenamiento ni en el servicio del modelo. También implementamos métodos de referencia como L2-Constrained y Cross-Stitch. Debido a sus arquitecturas, tienen aproximadamente el doble de parámetros que el modelo Shared-Bottom. No comparamos con Tensor-Factorization porque el cálculo del producto Tucker no puede escalar a nivel de miles de millones sin una fuerte ingeniería de eficiencia. Todos los modelos se optimizan utilizando Stochastic Gradient Descent (SGD) por mini-batch con tamaño de batch 1024.
6.4.2. Resultados de evaluación offline
Para la evaluación offline, entrenamos los modelos sobre un conjunto fijo de 30 mil millones de retroalimentaciones implícitas de usuario y evaluamos sobre un conjunto hold-out de 1 millón. Dado que la etiqueta de la subtarea de satisfacción es mucho más esparsa que la de la subtarea de interacción, los resultados offline tienen niveles de ruido muy altos. Mostramos sólo las puntuaciones AUC y R-Cuadrado en la subtarea de interacción en la Tabla 3.
Mostramos los resultados después de 2 millones de pasos de entrenamiento (10 mil millones de ejemplos con tamaño de batch 1024), 4 millones de pasos y 6 millones de pasos. MMoE supera a otros modelos en ambas métricas. L2-Constrained y Cross-Stitch son peores que el modelo Shared-Bottom. Esto se debe probablemente a que estos dos modelos se construyen sobre dos modelos monotarea separados y tienen demasiados parámetros para estar bien restringidos.
Tabla 3: Rendimiento de interacción en el sistema real de recomendación a gran escala.
| Metric | AUC@2M | AUC@4M | AUC@6M | R²@2M | R²@4M | R²@6M |
|---|---|---|---|---|---|---|
| Shared-Bottom | 0.6879 | 0.6888 | 0.6900 | 0.08812 | 0.09159 | 0.09287 |
| L2-Constrained | 0.6866 | 0.6881 | 0.6895 | 0.08668 | 0.09030 | 0.09213 |
| Cross-Stitch | 0.6880 | 0.6885 | 0.6899 | 0.08949 | 0.09112 | 0.09332 |
| OMoE | 0.6876 | 0.6891 | 0.6893 | 0.08749 | 0.09085 | 0.09230 |
| MMoE | 0.6894 | 0.6897 | 0.6908 | 0.08978 | 0.09263 | 0.09362 |
Para entender mejor cómo funcionan las compuertas, mostramos la distribución de la compuerta softmax de cada tarea en la Figura 6. Podemos ver que MMoE aprende la diferencia entre estas dos tareas y equilibra automáticamente los parámetros compartidos y no compartidos. Dado que las etiquetas de la subtarea de satisfacción son más esparsas que las de la subtarea de interacción, la compuerta para la subtarea de satisfacción está más concentrada en un único experto.
Figura 6: Distribución de la compuerta softmax para las subtareas de interacción y satisfacción.
6.4.3. Resultados de los experimentos en vivo
Por último, realizamos experimentos en vivo para nuestro modelo MMoE sobre el sistema de recomendación de contenidos. No realizamos experimentos en vivo para los métodos L2-Constrained y Cross-Stitch porque ambos modelos duplican el tiempo de servicio al introducir más parámetros.
Realizamos dos conjuntos de experimentos. El primer experimento consiste en comparar un modelo Shared-Bottom con un modelo Single-Task. El modelo Shared-Bottom se entrena tanto en la subtarea de interacción como en la de satisfacción. El modelo Single-Task se entrena únicamente en la subtarea de interacción. Nótese que aunque no esté entrenado en la subtarea de satisfacción, el modelo Single-Task actúa como modelo de ranking en tiempo de test, por lo que también podemos calcular sobre él métricas de satisfacción. El segundo experimento consiste en comparar nuestro modelo MMoE con el modelo Shared-Bottom del primer experimento. Ambos experimentos se realizan utilizando la misma cantidad de tráfico en vivo.
La Tabla 4 muestra los resultados de estos experimentos en vivo. Primero, al utilizar el modelo Shared-Bottom, observamos una gran mejora en la métrica de satisfacción en vivo del 19,72%, y una ligera disminución del -0,22% en la métrica de interacción en vivo. Segundo, al utilizar MMoE, mejoramos ambas métricas en comparación con el modelo Shared-Bottom. En este sistema de recomendación, la métrica de interacción tiene un valor bruto mucho mayor que la métrica de satisfacción, y es deseable no perder en la métrica de interacción o incluso ganar mientras se mejora la métrica de satisfacción.
Tabla 4: Resultados de los experimentos en vivo.
| Live experiment | Engagement Metric | Satisfaction Metric |
|---|---|---|
| Shared-Bottom Improvement over Single-Task | -0.22% * | 19.72% ** |
| MMoE Improvement over Shared-Bottom | 0.25% ** | 2.65% ** |
* indica intervalo de confianza al 90%
** indica intervalo de confianza al 95%
7. Conclusión
Proponemos un nuevo enfoque de aprendizaje multitarea, Multi-gate MoE (MMoE), que aprende explícitamente a modelar la relación entre tareas a partir de los datos. Mostramos mediante experimentos controlados sobre datos sintéticos que el enfoque propuesto puede manejar mejor el escenario en el que las tareas están menos relacionadas. También mostramos que MMoE es más fácil de entrenar en comparación con los métodos de referencia. Con experimentos sobre conjuntos de datos de referencia y un sistema real de recomendación a gran escala, demostramos el éxito del método propuesto frente a varios modelos de aprendizaje multitarea de referencia de última generación.
Además de los beneficios anteriores, otra consideración importante de diseño en los sistemas reales de producción de aprendizaje automático es la eficiencia computacional. Ésta es también una de las razones más importantes de que el modelo multitarea Shared-Bottom se utilice ampliamente. La parte compartida del modelo ahorra mucho cómputo en tiempo de servicio [18, 29]. Los tres modelos de referencia de última generación (véase la sección 6.1) aprenden la relación entre tareas a costa de este beneficio computacional. El modelo MMoE, en cambio, preserva en gran medida la ventaja computacional, ya que las redes de compuertas suelen ser ligeras y las redes expertas se comparten entre todas las tareas. Además, este modelo tiene el potencial de lograr una eficiencia computacional aún mejor haciendo que la red de compuertas sea una compuerta sparse top-k [31]. Esperamos que este trabajo inspire a otros investigadores a investigar más a fondo el modelado multitarea utilizando estos enfoques.
Referencias
- Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, et al. 2016. Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016).
- Arthur Asuncion and David Newman. 2007. UCI machine learning repository. (2007).
- Trapit Bansal, David Belanger, and Andrew McCallum. 2016. Ask the GRU: Multi-task learning for deep text recommendations. En Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 107–114.
- Jonathan Baxter et al. 2000. A model of inductive bias learning. J. Artif. Intell. Res. (JAIR) 12, 149–198 (2000), 3.
- Shai Ben-David, Johannes Gehrke, and Reba Schuller. 2002. A theoretical framework for learning from a pool of disparate data sources. En Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 443–449.
- Shai Ben-David, Reba Schuller, et al. 2003. Exploiting task relatedness for multiple task learning. Lecture notes in computer science (2003), 567–580.
- Yoshua Bengio, Nicholas Léonard, and Aaron Courville. 2013. Estimating or propagating gradients through stochastic neurons for conditional computation. arXiv preprint arXiv:1308.3432 (2013).
- Rich Caruana. 1998. Multitask learning. En Learning to learn. Springer, 95–133.
- R Caruna. 1993. Multitask learning: A knowledge-based source of inductive bias. En Machine Learning: Proceedings of the Tenth International Conference. 41–48.
- Jasmine Collins, Jascha Sohl-Dickstein, and David Sussillo. 2016. Capacity and Trainability in Recurrent Neural Networks. arXiv preprint arXiv:1611.09913 (2016).
- Paul Covington, Jay Adams, and Emre Sargin. 2016. Deep neural networks for YouTube recommendations. En Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 191–198.
- Andrew Davis and Itamar Arel. 2013. Low-rank approximations for conditional feedforward computation in deep neural networks. arXiv preprint arXiv:1312.4461 (2013).
- Jeffrey Dean, Greg Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Mark Mao, Andrew Senior, Paul Tucker, Ke Yang, Quoc V Le, et al. 2012. Large scale distributed deep networks. En Advances in neural information processing systems. 1223–1231.
- Thomas Desautels, Andreas Krause, and Joel W Burdick. 2014. Parallelizing exploration-exploitation tradeoffs in gaussian process bandit optimization. The Journal of Machine Learning Research 15, 1 (2014), 3873–3923.
- Long Duong, Trevor Cohn, Steven Bird, and Paul Cook. 2015. Low Resource Dependency Parsing: Cross-lingual Parameter Sharing in a Neural Network Parser. En ACL (2). 845–850.
- David Eigen, Marc'Aurelio Ranzato, and Ilya Sutskever. 2013. Learning factored representations in a deep mixture of experts. arXiv preprint arXiv:1312.4314 (2013).
- Chrisantha Fernando, Dylan Banarse, Charles Blundell, Yori Zwols, David Ha, Andrei A Rusu, Alexander Pritzel, and Daan Wierstra. 2017. PathNet: Evolution channels gradient descent in super neural networks. arXiv preprint arXiv:1701.08734 (2017).
- Ross Girshick. 2015. Fast R-CNN. En Proceedings of the IEEE international conference on computer vision. 1440–1448.
- Xavier Glorot and Yoshua Bengio. 2010. Understanding the difficulty of training deep feedforward neural networks. En Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. 249–256.
- Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. 2015. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531 (2015).
- Robert A Jacobs, Michael I Jordan, Steven J Nowlan, and Geoffrey E Hinton. 1991. Adaptive mixtures of local experts. Neural computation 3, 1 (1991), 79–87.
- Melvin Johnson, Mike Schuster, Quoc V Le, Maxim Krikun, Yonghui Wu, Zhifeng Chen, Nikhil Thorat, Fernanda Viégas, Martin Wattenberg, Greg Corrado, et al. 2016. Google's multilingual neural machine translation system: enabling zero-shot translation. arXiv preprint arXiv:1611.04558 (2016).
- Lukasz Kaiser, Aidan N Gomez, Noam Shazeer, Ashish Vaswani, Niki Parmar, Llion Jones, and Jakob Uszkoreit. 2017. One Model To Learn Them All. arXiv preprint arXiv:1706.05137 (2017).
- Zhuoliang Kang, Kristen Grauman, and Fei Sha. 2011. Learning with whom to share in multi-task feature learning. En Proceedings of the 28th International Conference on Machine Learning (ICML-11). 521–528.
- Diederik Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014).
- Minh-Thang Luong, Quoc V Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser. 2015. Multi-task sequence to sequence learning. arXiv preprint arXiv:1511.06114 (2015).
- Ishan Misra, Abhinav Shrivastava, Abhinav Gupta, and Martial Hebert. 2016. Cross-stitch networks for multi-task learning. En Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 3994–4003.
- Xia Ning and George Karypis. 2010. Multi-task learning for recommender system. En Proceedings of 2nd Asian Conference on Machine Learning. 269–284.
- Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. 2015. Faster R-CNN: Towards real-time object detection with region proposal networks. En Advances in neural information processing systems. 91–99.
- Sebastian Ruder. 2017. An overview of multi-task learning in deep neural networks. arXiv preprint arXiv:1706.05098 (2017).
- Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, and Jeff Dean. 2017. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv preprint arXiv:1701.06538 (2017).
- Jasper Snoek, Hugo Larochelle, and Ryan P Adams. 2012. Practical bayesian optimization of machine learning algorithms. En Advances in neural information processing systems. 2951–2959.
- Shengyang Sun, Changyou Chen, and Lawrence Carin. 2017. Learning Structured Weight Uncertainty in Bayesian Neural Networks. En Artificial Intelligence and Statistics. 1283–1292.
- Yongxin Yang and Timothy Hospedales. 2016. Deep multi-task representation learning: A tensor factorisation approach. arXiv preprint arXiv:1605.06391 (2016).
- Zhe Zhao, Zhiyuan Cheng, Lichan Hong, and Ed H Chi. 2015. Improving user topic interest profiles by behavior factorization. En Proceedings of the 24th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 1406–1416.