Conjuntos de datos extremadamente grandes y aprendizaje automático

Aprendizaje automático en conjuntos de datos extremadamente grandes

Esta patente de Google trata de un marco de entrenamiento para realizar aprendizaje automático en conjuntos de datos extremadamente grandes. Parece que se centra en los vídeos de Youtube. LinkedIn muestra el trabajo en visión y vídeo de los inventores de esta patente.

La patente se refiere al marco de entrenamiento basado en MapReduce que explota el paralelismo de los datos y el paralelismo de los modelos para permitir el aprendizaje sobre un vasto conjunto de datos.

En la última década, una serie de avances en problemas de aprendizaje automático y visión por ordenador se atribuyeron a la disponibilidad de conjuntos de datos extremadamente grandes. A medida que aumentaba la calidad y la cantidad de los conjuntos de datos, también lo hacía la sofisticación de los modelos y su capacidad para realizar tareas más complejas y de alto nivel, como:

  • Comprensión de la escena
  • Segmentación a nivel de píxel
  • Extracción de profundidad
  • Respuesta a preguntas visuales
  • Otras tareas de comprensión de imágenes o vídeos

Sin embargo, para modalidades de datos y escenarios de aprendizaje específicos, el tamaño y el número de ejemplos de entrenamiento disponibles pueden plantear retos importantes, incluyendo, por ejemplo, hacer que el uso de las técnicas de aprendizaje existentes sea inviable desde el punto de vista computacional. Por ejemplo, un conjunto de datos de entrenamiento puede contener cien millones o más de ejemplos de entrenamiento en escenarios específicos.

Si cada ejemplo de entrenamiento incluye una cantidad moderada de datos, puede ser inviable aplicar las técnicas de aprendizaje estándar para aprender de un volumen de datos tan grande. Un ejemplo de esta modalidad de datos y escenario es el intento de aprender de datos de vídeo a escala de Internet (como cientos de millones de vídeos de ejemplo).

En YouTube, el dominio de la clasificación de vídeos

YouTube-8M es actualmente el conjunto de datos públicos más extenso en el ámbito de la clasificación de vídeos, ya que contiene más de 7 millones de vídeos con 4.716 clases. La clasificación de miles de etiquetas de vídeo de alto nivel sobre diversos temas, desde objetos hasta actividades, requiere modelos de clasificación multietiqueta que puedan escalar tanto en el número de clases como de vídeos.

Con millones de ejemplos de vídeo que abarcan cientos de miles de horas de vídeo, cada época de entrenamiento implica miles de millones de características audiovisuales cuadro a cuadro.

Gracias a las modernas GPU y a los aceleradores de hardware personalizados, cada vez es menos prohibitivo entrenar modelos de aprendizaje automático a esta escala, incluidos los modelos complejos, como las redes neuronales profundas recurrentes y las redes de agregación temporal fotograma a fotograma.

Sin embargo, incluso los conjuntos de datos masivos más extensos disponibles públicamente están muy por debajo del volumen de vídeos públicos en Internet. YouTube, por ejemplo, alcanzó más de mil millones de vídeos subtitulados en 2017. Además, el crecimiento de los vídeos no tiene precedentes, ya que cada minuto se suben más de 500 horas de vídeo a YouTube.

Así, los conjuntos de datos masivos de entrenamiento que buscan acercarse a la escala de Internet son del orden de 100M de vídeos y decenas de miles de clases, o 1000 veces más grandes que la mayoría de los conjuntos de datos públicos. No sólo es grande el volumen de vídeos en línea, sino también la variedad de temas que cubren esos vídeos. Anotar vídeos a esa escala y con esa diversidad requiere el apoyo de un vocabulario mucho más extenso que el que se encuentra en los conjuntos de datos públicos, que son extremadamente enormes.

Así, el campo de la comprensión de vídeos ha avanzado mucho en los últimos años gracias a la disponibilidad de conjuntos de datos masivos y a los principales avances en las arquitecturas de modelado de imágenes, audio y vídeo. Las arquitecturas de vanguardia en conjuntos de datos de menor escala suelen ser poco prácticas para su despliegue a escala de Internet, tanto en lo que respecta a la capacidad de entrenar dichas redes profundas en cientos de millones de vídeos como a su despliegue para la inferencia en miles de millones de vídeos. Por lo tanto, se necesitan nuevas técnicas para manejar conjuntos de datos masivos en el arte.

Datos de vídeo como ejemplo de entrenamiento

Además, mientras que los datos de vídeo se utilizan a lo largo de la presente divulgación como un escenario de ejemplo en el que se dispone de un número masivo de ejemplos de entrenamiento (y cada ejemplo de entrenamiento contiene una cantidad sustancial de datos), otros dominios de datos también se ajustan a este perfil, Estos incluyen:

  • Datos de audio
  • Datos de imagen
  • datos genómicos
  • Datos de proteínas
  • Datos farmacéuticos
  • Datos químicos
  • Imágenes médicas
  • Muchos otros

Las técnicas descritas en el presente documento se aplican a cualquier escenario en el que un conjunto de datos de entrenamiento es un conjunto de datos enorme debido, por ejemplo, al número de ejemplos de entrenamiento que contiene y a la cantidad de datos recogidos en cada ejemplo de entrenamiento.

Punto de extracción de características compartido

Shared feature extraction point

Un ejemplo de la presente divulgación se dirige a un método implementado por ordenador para realizar el aprendizaje automático. El método incluye la obtención, por un sistema de computación incluye dispositivos de computación, los datos descriptivos de un modelo máquina-aprendido que consiste en una porción compartida de la extracción de la característica configurada para recibir y para procesar la entrada de datos para producir una representación intermedia de la característica y una pluralidad de cabezas de la predicción que se configuren para recibir y para procesar la característica intermedia.

El método incluye iteraciones de entrenamiento por parte del sistema informático para entrenar el modelo aprendido por máquina en un conjunto de datos de entrenamiento que consiste en una pluralidad de ejemplos de entrenamiento. Cada iteración de entrenamiento consiste en la primera y segunda etapas de entrenamiento.

La primera etapa de entrenamiento incluye el entrenamiento por separado de la pluralidad de cabezas de predicción en paralelo en al menos una porción del conjunto de datos de entrenamiento.

La segunda etapa de entrenamiento incluye determinar individualmente una pluralidad de actualizaciones de la porción de extracción de características compartidas en paralelo utilizando una pluralidad de lotes diferentes del conjunto de datos de entrenamiento.

Otro ejemplo de la presente divulgación se dirige a un sistema informático que incluye procesadores y medios legibles por ordenador no transitorios.

Los medios legibles por ordenador no transitorios almacenan colectivamente un modelo de anotación de vídeo aprendido por máquina que incluye una porción de extracción de características configurada para recibir y procesar fotogramas de vídeo de un vídeo de entrada para generar una representación de características intermedia y una pluralidad de cabezales de clasificación configurados para recibir y procesar la representación de características intermedia para crear

Una pluralidad de clasificaciones para fotogramas de vídeo relativos a una mayoría de clases.

Mediante operaciones MapReduce, se han entrenado las porciones de extracción y la pluralidad de cabezas de clasificación.

Los medios legibles por ordenador no transitorios almacenan colectivamente instrucciones que, cuando son ejecutadas por procesadores, hacen que el sistema informático realice operaciones.

Las operaciones incluyen proporcionar fotogramas de vídeo del vídeo de entrada como entrada al modelo de anotación de vídeo aprendido por máquina. Las funciones incluyen la recepción de la pluralidad de clasificaciones para los fotogramas de vídeo como una salida del modelo de anotación de vídeo aprendido por máquina.

Otro aspecto a modo de ejemplo de la presente divulgación se dirige a medios no transitorios legibles por ordenador que almacenan colectivamente instrucciones que hacen que los procesadores realicen operaciones cuando se ejecutan.

Las operaciones incluyen la obtención de un conjunto de datos de entrenamiento que consiste en una pluralidad de ejemplos de entrenamiento. Las operaciones incluyen obtener un modelo aprendido por máquina que consiste en una porción de extracción de características compartidas y una pluralidad de cabezas de predicción. Las operaciones incluyen la realización de una pluralidad de iteraciones de entrenamiento.

La realización de la pluralidad de iteraciones de entrenamiento incluye alternar entre la primera y la segunda etapa de entrenamiento. La primera etapa de entrenamiento incluye entrenar por separado la mayoría de las cabezas de predicción en paralelo en el conjunto de datos de entrenamiento. La segunda etapa de entrenamiento incluye determinar individualmente una pluralidad de actualizaciones de la porción de extracción de características compartidas en paralelo utilizando una pluralidad de lotes diferentes del conjunto de datos de entrenamiento.

Otros aspectos de la presente divulgación se dirigen a diversos sistemas, aparatos, medios legibles por ordenador no transitorios, interfaces de usuario y dispositivos electrónicos.

La patente del marco para el entrenamiento de modelos aprendidos por máquinas en conjuntos de datos extremadamente grandes

Marco para el entrenamiento de modelos aprendidos por máquinas en conjuntos de datos extremadamente grandes
Inventores: Joonseok Balakrishnan Varadarajan, Ariel Gordon, Apostol Ivanov Natsev y Seong Jae Hwang
Cesionario: GOOGLE LLC
Patente estadounidense: 11,295,171
Concedida: 5 de abril de 2022
Presentada: 18 de octubre de 2019

Resumen

Un marco de entrenamiento basado en MapReduce explota tanto el paralelismo de datos como el paralelismo de modelos para escalar el entrenamiento de modelos complejos.

Las arquitecturas de modelos particulares facilitan y se benefician de dicho marco de entrenamiento.

Un modelo aprendido por máquina puede incluir una parte de extracción de características compartida configurada para recibir y procesar datos de entrada para producir una representación de características intermedias y una pluralidad de cabezales de predicción configurados para recibir y procesar la representación de características intermedias para tener una mayoría de predicciones.

Por ejemplo, la entrada de datos puede ser un vídeo, y la pluralidad de predicciones puede ser una pluralidad de clasificaciones para el contenido del vídeo (como en relación con una pluralidad de clases).

Marco de entrenamiento basado en MapReduce que aprovecha el paralelismo de datos y el paralelismo de modelos para escalar el entrenamiento de modelos complejos

La presente divulgación también está dirigida a arquitecturas de modelos particulares que facilitan y se benefician de dicho marco de entrenamiento. Un modelo aprendido por máquina puede incluir una parte de extracción de características compartida configurada para recibir y procesar la entrada de datos para producir una representación de características intermedia y una pluralidad de cabezas de predicción configuradas para recibir y procesar la representación de características intermedia para tener una mayoría de predicciones. Por ejemplo, la entrada de datos puede ser un vídeo, y la pluralidad de proyecciones puede ser una pluralidad de clasificaciones para el contenido del vídeo (como en relación con una mayoría de clases).

El marco de entrenamiento propuesto puede alternar entre la optimización de la porción de extracción de características compartidas con paralelismo de datos y la optimización de las cabezas de predicción con paralelismo de modelos. Específicamente, un sistema informático puede realizar iteraciones de entrenamiento para entrenar el modelo aprendido por la máquina en un conjunto de datos de entrenamiento que comprende una pluralidad de ejemplos de entrenamiento.

Etapas de entrenamiento

Cada iteración de entrenamiento comprende una primera etapa de entrenamiento y una segunda etapa de entrenamiento. La primera etapa de entrenamiento incluye el entrenamiento por separado de la pluralidad de cabezas de predicción en paralelo sobre el conjunto de datos de entrenamiento. La segunda etapa de entrenamiento incluye determinar individualmente la mayoría de las actualizaciones de la porción de extracción de características compartidas en paralelo utilizando una pluralidad de lotes diferentes del conjunto de datos de entrenamiento. Además, los aspectos de cálculo paralelo de cada una de las primeras y segundas etapas de entrenamiento pueden llevarse a cabo utilizando técnicas MapReduce.

El uso del paralelismo de datos y modelos de esta manera puede soportar grandes clasificadores de Mezcla de Expertos con cientos de miles de mezclas. Las técnicas propuestas también permiten un equilibrio entre la profundidad y la amplitud del modelo y desplazar la capacidad del modelo entre las capas compartidas (generalización) y por clase (especialización). Las implementaciones de ejemplo del marco propuesto podrían alcanzar el rendimiento más avanzado en conjuntos de datos masivos, YouTube-8M y Sports-1M, y escalar a conjuntos de datos 100 veces mayores.

La presente divulgación proporciona técnicas que permiten el entrenamiento de modelos aprendidos por máquinas en conjuntos de datos masivos con un marco distribuido propuesto basado en MapReduce. Un ejemplo de escenario en el que los métodos propuestos han demostrado ser beneficiosos es el problema de la anotación de vídeos a escala. Las técnicas propuestas permiten escalar un modelo de clasificación de vídeo a millones de vídeos con cientos de miles de clases o mezclas de clasificadores.

Datos de vídeo como ejemplo de entrenamiento

Mientras que los datos de vídeo se utilizan a lo largo de la presente divulgación como un escenario de ejemplo en el que se dispone de un número masivo de ejemplos de entrenamiento (y cada ejemplo de entrenamiento contiene una cantidad sustancial de datos), otros dominios de datos también se ajustan a este perfil, incluyendo datos de audio, datos de imagen, datos genómicos, datos de proteínas, datos farmacéuticos, datos químicos, imágenes médicas, y muchos otros.

Las técnicas aquí descritas se aplican a cualquier escenario en el que un conjunto de datos de entrenamiento sea extremadamente grande debido, por ejemplo, al número de ejemplos de entrenamiento que contiene y a la cantidad de datos recogidos en cada ejemplo de entrenamiento. Por lo tanto, las arquitecturas y los marcos descritos aquí se aplican a cualquier problema/dominio en el que se deseen muchas cabezas de predicción (como clasificadores, anotadores y «expertos»). Se dispone de un amplio conjunto de datos de entrenamiento.

Los aspectos de la presente divulgación abordan simultáneamente la calidad de la predicción y la escalabilidad: la construcción de un marco que pueda soportar el entrenamiento de modelos complejos aprendidos por máquinas a escala web. Aunque se sabe que MapReduce es una herramienta eficaz para la computación distribuida a escala, el marco propuesto es la primera aplicación de MapReduce al problema del entrenamiento de modelos a gran escala, soportando tanto el aprendizaje de representación compartido (profundo) como el modelado de mezcla especializado por clase (extenso).

Según otro aspecto, la presente divulgación proporciona arquitecturas de modelos que permiten la aplicación de las técnicas basadas en MapReduce descritas aquí. Por ejemplo, un modelo aprendido por máquina puede tener una parte de extracción de características compartida que genera una representación de características intermedia y una pluralidad de cabezas de predicción que crean una mayoría de predicciones basadas en la representación de características intermedia.

Paralelismo de datos

La parte de extracción de características compartida puede ser entrenada aprovechando el paralelismo de datos. Una pluralidad de trabajadores puede determinar la mayoría de las actualizaciones de la porción de extracción de características compartidas basándose en una pluralidad de lotes diferentes de los datos de entrenamiento. A la inversa, la mayor parte de las cabezas de predicción pueden ser entrenadas aprovechando el paralelismo de modelos. Específicamente, la mayoría de los trabajadores pueden entrenar por separado la mayoría de las cabezas de predicción en paralelo sobre la misma o diferentes porciones del conjunto de datos de entrenamiento.

Un ejemplo de la arquitectura de modelo descrita anteriormente es una variante escalable del modelo Deep-Bag-of-Frames (DBoF) con mezcla de expertos (MoE), uno de los modelos de clasificación de vídeo de mayor rendimiento en YouTube-8M. La arquitectura del modelo puede aplicar además el enfoque Self-Weighted Average Pooling (SWAP) para la agrupación temporal de las representaciones a nivel de cuadro.

Los sistemas y métodos de la presente divulgación proporcionan varios efectos y beneficios técnicos. Por ejemplo, algunos aspectos de la presente divulgación permiten utilizar muchas cabezas de predicción (como un gran número de expertos en un esquema MoE). El aumento del número de cabezas de predicción (como los clasificadores) que se pueden utilizar aumenta la amplitud de las posibles predicciones, proporcionando así oportunidades adicionales para predicciones alternativas o perspicaces.

Videos de temas en la web

Por ejemplo, teniendo en cuenta la amplia gama de temas de vídeo en la web, es esencial entrenar un modelo capaz de clasificar múltiples etiquetas. Cuando el número de clases posibles es grande, suele ser conveniente aumentar el número de expertos. Sin embargo, aumentar el número de expertos sin un marco de entrenamiento escalable resulta poco práctico debido a la sobrecarga computacional.

Por este motivo, la mayoría de los trabajos anteriores han utilizado un número reducido de expertos (por ejemplo, <5). Sin embargo, estos pocos expertos pueden no ser óptimos, dependiendo del problema y de la diversidad de datos. Para resolver estos problemas, el marco propuesto proporciona un paralelismo de modelos que permite el entrenamiento de grandes ME, con cientos de miles de mezclas (en todas las clases), en cientos de millones de vídeos.

Optimización a gran escala

Otra ventaja de la presente divulgación es que permite la optimización a gran escala. En general, la utilización de un minilote más grande suele equivaler a un rendimiento superior. Sin embargo, en los enormes conjuntos de datos modernos, considerar incluso el 1% del tamaño del lote (por ejemplo, 80K ejemplos en YouTube-8M) se vuelve inviable en entornos ordinarios. Mediante el paralelismo de datos, el marco propuesto permite la optimización de lotes grandes como, por ejemplo, mediante la retropropagación resistente (RProp). Cuando el tamaño del lote es lo suficientemente grande (como el 50%), merece la pena revisar este enfoque tradicional por su conocida robustez con sólo unos pocos parámetros.

El aprendizaje a gran escala sobre un enorme conjunto de datos de entrenamiento da como resultado un mejor rendimiento del modelo. Las implementaciones de ejemplo de las técnicas descritas en este documento han mostrado un rendimiento de vanguardia en tareas de clasificación de vídeos (como los conjuntos de datos YouTube-8M y Sports-1M). Estos resultados experimentales de ejemplo se encuentran en Hwang y Lee et al., Large-Scale Training Framework for Video Annotation, KDD ’19 (2019).

Paralelismo de datos y paralelismo de modelos

Al aprovechar tanto el paralelismo de datos como el paralelismo de modelos, el marco propuesto proporciona una asignación mejorada de las tareas de computación (como las operaciones de aprendizaje) entre varios dispositivos en un sistema informático distribuido, reduciendo así el consumo de recursos informáticos como el uso del procesador y el uso de la memoria, el ancho de banda de la red, etc. Dicho de otro modo, en comparación con las técnicas de aprendizaje existentes para el mismo conjunto de datos a gran escala, el marco propuesto permite un entrenamiento más rápido y mejores resultados.

Así, la presente divulgación proporciona un marco de entrenamiento basado en MapReduce diseñado para entrenar modelos de última generación (como los modelos de anotación de vídeo) a gran escala. La presente divulgación también proporciona esquemas de optimización algorítmica que no eran prácticos anteriormente. Por ejemplo, se puede utilizar una gran mezcla de expertos y un ajuste fino de lotes completos (que no era práctico anteriormente) para mejorar un modelo convergente después del entrenamiento tradicional para lograr un rendimiento de vanguardia (como en los conjuntos de datos YouTube-8M y Sports-1M). El marco y el modelo propuestos son altamente escalables (como para permitir el entrenamiento en 500M de vídeos con más de 16K clases).

Un modelo de aprendizaje automático

El modelo de aprendizaje automático incluye una parte de extracción de características compartida y una pluralidad de cabezas de predicción, ilustradas en la FIG. 1 como cabezas de predicción. Cualquier número de cabezas de predicción puede ser incluido en el modelo. Por ejemplo, el número de cabezas de predicción puede ser 10s de cabezas de predicción, 100s de cabezas de predicción, 1000s de cabezas de predicción, etc. Aspectos de la presente divulgación permiten utilizar un gran número de cabezas de predicción.

La parte de extracción de características compartida puede recibir y procesar datos de entrada para producir una representación intermedia. La entrada de datos puede ser cualquier forma de datos, incluyendo datos de audio, datos de texto, datos de imagen, datos biológicos, datos farmacéuticos, datos genómicos, datos de proteínas, datos químicos, etc. La parte de extracción de características compartidas puede ser varias formas de modelos aprendidos por máquina, incluyendo, por ejemplo, una red neuronal multicapa.

La representación intermedia puede ser latente, y el término medio puede ser una incrustación. El término medio puede expresarse como un vector continuo.

Cada cabeza de predicción puede recibir y procesar la representación intermedia para producir una predicción respectiva (como la cabeza ha hecho una predicción, el director ha hecho una predicción). Cada cabeza de predicción puede ser un clasificador de tal manera que cada predicción es una clasificación de la entrada de datos relativa a las respectivas clases (es). Cada cabeza de predicción puede ser un clasificador binario que clasifica la entrada de datos cerca de una sola categoría. La(s) clase(s) individual(es) entre las cabezas de predicción puede(n) ser superpuesta(s) o no superpuesta(s). En otras implementaciones, cada cabeza de predicción realiza un tipo distinto de la clasificación.

Ejemplo de problema de anotación de vídeo

Aunque los sistemas y métodos descritos en este documento son ampliamente aplicables a muchas modalidades de datos diferentes, un ejemplo de problema que demuestra los beneficios del enfoque propuesto es el problema de anotación de vídeo. En particular, dado un vídeo de T fotogramas con D características dimensionales preprocesadas a nivel de fotograma X .di-elect cons. .sup.D.times.T, el objetivo del problema de anotación de vídeo es predecir cada una de sus etiquetas a nivel de vídeo y .di-elect cons. {0,1}.sup.K que describen el contenido del vídeo (como juegos o deportes), siendo K el número de etiquetas posibles.

Cuando un número finito de etiquetas es posible, este problema puede ser modelado como una clasificación multi-etiqueta como bag-of-frames) se convierte en algo apropiado para este problema.

Un ejemplo de modelo de anotación de vídeo aprendido por máquina

El modelo incluye los dos componentes siguientes:

1) Deep-Bag-of-Frames (DBoF) para agregar las características a nivel de cuadro en una característica a nivel de vídeo, y
2) Mixture-of-Experts (MoE) para construir múltiples clasificadores binarios «expertos» para cada clase.

Se muestran diagramas de bloques de ejemplos de arquitecturas DBoF según ejemplos de la presente divulgación.

Ejemplo de agregadores de tramas

Los modelos de tipo bolsa de palabras son prometedores para datos secuenciales como los vídeos. Tratando de forma análoga un conjunto de características a nivel de fotograma como una «bolsa de fotogramas», el modelo de ejemplo representa una revisión de los modelos Deep-Bag-of-Frames (DBoF). Un ejemplo de arquitectura de DBoF puede ser el siguiente:

1. Red a nivel de fotogramas: Dado un vídeo y sus características a nivel de fotograma (visuales y sonoras) X .di-elect cons. .sup.D.times.T como se ha indicado anteriormente, una red a nivel de cuadro transforma cada característica a nivel de cuadro x.sub.j .di-elect cons. .sup.D de la trama j en su nueva representación, típicamente en un espacio de mayor dimensión. La red de nivel de marco puede incluir de las tres redes siguientes:

(i) capa totalmente conectada,
(ii) una capa totalmente conectada con gating de contexto, y
(iii) una capa totalmente conectada con un bloque residual.

2. Agrupación de fotogramas: A continuación, las representaciones incrustadas del vídeo dado se agregan a una única característica a nivel de vídeo a través de una capa de agrupación de fotogramas. Específicamente, algunas implementaciones de ejemplo de la presente divulgación utilizan una operación de agrupación de media autoponderada (SWAP) para cada vídeo que normaliza los fotogramas de agrupación x.sub.j .di-elect cons. .sup.D para j=1, . . . , T como sigue:

En otras palabras, la nueva característica agrupada a nivel de vídeo v es la suma de las características a nivel de cuadro x.sub. J ponderadas por sus correspondientes activaciones y normalizadas en el tiempo. Otros métodos de agrupación (como el promedio, el máximo o la agrupación L.sub.2) pueden utilizarse opcionalmente en su lugar.

3. Red a nivel de vídeo: La característica agrupada agregada v pasa por otra red, incrustando la característica final a nivel de vídeo. La red a nivel de vídeo puede incluir la regulación del contexto.

Ejemplo de clasificador de mezcla de expertos

Una vez obtenida la característica v a nivel de vídeo, se pueden entrenar K clasificadores binarios uno-vs-todo para estimar la probabilidad p(y.sub.k|v) de cada etiqueta y.sub.k (para k=1, . . . , K) que describe el vídeo v. Para cada clasificador uno-vs-todo, se puede utilizar un modelo de mezcla de expertos (MoE) que resume las `opiniones` p(y.sub.k|v,e) de un conjunto de `expertos` e .di-elect cons. .epsilon..sub.y ponderado por p(e|v):

Como ejemplo particular, se puede utilizar un clasificador de regresión logística binaria p(y.sub.k|v,e)=.sigma.(w.sub.e.sup.Tv) (3) para cada experto y dejar que p(e|v) sea un softmax sobre |.epsilon..sub.k|+1 expertos con un estado ficticio para la no existencia de la etiqueta y.sub.k.

Al igual que en DBoF, la elección del clasificador no se limita estrictamente a MoE. MoE presenta las siguientes ventajas 1) es un clasificador robusto entre los muchos modelos de anotación de vídeo que han tenido éxito, y 2) puede aprovechar plenamente el marco propuesto (como se describe en la siguiente sección), mejorando significativamente la escala de rendimiento global.

Ejemplo de marco de entrenamiento

Esta sección describe en primer lugar el marco de entrenamiento distribuido propuesto basado en MapReduce, permitiendo el paralelismo tanto en el modelo como en los datos. A continuación, se muestra cómo el marco propuesto se aplica a implementaciones de ejemplo del modelo DBoF para realizar operaciones escalables para la tarea de anotación de vídeos a gran escala.

Ejemplo de entrenamiento alterno a gran escala

Una implementación ingenua de los modelos no es escalable. Como el número de parámetros del modelo en las cabezas de predicción o en los expertos crece con el número de cabezas de predicción/expertos, la retropropagación de gradientes desde las cabezas de predicción/expertos a la parte de extracción de características compartida (como la red a nivel de vídeo) representa un cuello de botella computacional.

Sin embargo, en muchos casos es deseable contar con un gran conjunto de vocabulario y muchos expertos por clasificador, especialmente en el caso de datos a gran escala para cubrir varios temas de forma flexible.

Para aliviar este cuello de botella, la presente divulgación proporciona un esquema de actualización alternante entre las cabezas de predicción (como los expertos del clasificador) y la parte de extracción de características compartidas (como el agregador de tramas), que actualiza una mientras fija la otra. Así, cada parte puede actualizarse eficientemente mediante el paralelismo de modelos y datos. El marco de entrenamiento contiene tres etapas:

Etapa de preentrenamiento: Entrenamiento conjunto. El proceso de entrenamiento puede incluir una etapa de pre-entrenamiento. En la etapa de preentrenamiento, en la parte de extracción de características compartidas (como el agregador de fotogramas), las cabezas de predicción (como el clasificador MoE) pueden entrenarse conjuntamente. Se puede utilizar un conjunto alternativo más pequeño de cabezas de predicción (como un MoE pequeño como .ltoreq.5 expertos) en lugar del grupo de cabezas de predicción para acelerar el pre-entrenamiento inicial.

El conjunto alternativo de cabezas de predicción puede ser un subconjunto del conjunto completo de cabezas de predicción o puede incluir diferentes cabezas de predicción que el conjunto completo de cabezas de predicción. El preentrenamiento puede incluir la optimización a través de un método estocástico de mini lotes (ADAM) para evitar el sobreajuste temprano.

Se trata de una etapa de «arranque en caliente» en la que el rendimiento se basa únicamente en el modelo sin cómputo distribuido. Una vez que el modelo converge, se pasa a la etapa 1.

Etapa 1: Entrenamiento del cabezal de predicción. La parte de extracción de características compartidas (como el agregador de fotogramas) es fija y no se actualiza en esta etapa. Las cabezas de predicción más pequeñas de la etapa de preentrenamiento se sustituyen por un nuevo conjunto inicializado de cabezas de predicción (como el gran MoE). Cada cabezal de predicción se entrena en paralelo mediante el paralelismo de modelos.

Ejemplo de ilustración de la etapa 1 del proceso de entrenamiento

training dataset

Las cabezas de predicción se asignan respectivamente a los trabajadores. El número de trabajadores G puede ser igual al número de cargos K (como un trabajador por cabeza), o el número de trabajadores G puede no ser igual

L el número de cabezas K (como que al menos un trabajador entrene varios cargos). Cada trabajador puede entrenar a su respectiva cabeza con los datos de entrenamiento obtenidos del conjunto de datos de entrenamiento.

El conjunto de datos de entrenamiento puede ser el mismo para cada trabajador/cabeza (como se ilustra), o diferentes lotes de datos de entrenamiento del conjunto de datos pueden ser utilizados por otros trabajadores/cabezas. Las cabezas de predicción actualizadas se reducen de nuevo al modelo.

Etapa 2: Ajuste de la porción de extracción de características compartidas. Las cabezas de predicción (como MoE) se fijan en esta etapa, y la parte de extracción de características compartidas (como el agregador de fotogramas) se ajusta mediante el paralelismo de datos.

Un ejemplo de algoritmo de aprendizaje utilizado en esta etapa es iRProp.sup.+. Normalmente, las cabezas de predicción no se afinan, aunque es posible, ya que el beneficio es menos sustancial.

Proporciona un ejemplo de ilustración de la etapa 2 del proceso de entrenamiento. Las instancias múltiples de la parte de extracción de características compartidas se asignan respectivamente a los trabajadores. El número de trabajadores S puede ser igual al número de casos M (por ejemplo, un trabajador por instancia), o el número de trabajadores S puede no ser igual al número de instancias M (por ejemplo, al menos un trabajador entrena múltiples instancias).

Cada trabajador puede entrenar su respectiva instancia de la porción de extracción de características compartida en un lote diferente de datos de entrenamiento obtenidos del conjunto de datos de entrenamiento. Por ejemplo, el trabajador 460 entrena la instancia 470a en el lote de datos de entrenamiento mientras que el trabajador entrena la instancia en el lote de datos de entrenamiento.

Cada lote de datos de entrenamiento puede incluir una combinación única de ejemplos de entrenamiento del conjunto de datos de entrenamiento. Los lotes de datos de entrenamiento se superponen, mientras que en otros casos, los lotes de datos de entrenamiento no se superponen.

Las actualizaciones de las instancias de la porción de extracción de características compartidas se reducen al modelo. Por ejemplo, las actualizaciones pueden ser agregadas (como un promedio). Una vez convergido, el proceso vuelve a la etapa 1.

Las etapas 1 y 2 pueden repetirse hasta la convergencia. Tanto la etapa de preentrenamiento como la etapa 2 garantizan la convergencia. La Etapa 1 también converge rápidamente a pesar del reentrenamiento de las cabezas de predicción porque cada cabeza de predicción es relativamente sencilla de entrenar (como por ejemplo, cada cabeza puede ser un clasificador muy simple (esencialmente una percepción)).

En los experimentos de ejemplo, se observó una pérdida de rendimiento pequeña o nula después de varias épocas. Se observó que volver a entrenar el ME repetidamente después de cada alternancia es más beneficioso que entrenar continuamente el ME.

Así, el marco de entrenamiento propuesto aprovecha las operaciones de MapReduce para realizar un entrenamiento eficiente en un amplio conjunto de datos. El paso de Map distribuye las piezas a múltiples trabajadores que se ejecutan en paralelo. A continuación, una vez que sus trabajos se han completado, el paso Reduce agrega los resultados para proceder a la siguiente operación global. Este enfoque de «divide y vencerás» se adapta bien, si se dispone de muchos trabajadores. El marco propuesto utiliza eficazmente MapReduce para realizar los pasos 1 y 2 de forma eficiente aprovechando los siguientes principios:

1. Paralelismo de modelos: Como la parte de extracción de características compartida se fija en la etapa 1, sólo las cabezas de predicción se pueden entrenar. Esto permite que las cabezas de predicción se entrenen en paralelo, permitiendo que conjuntos más grandes de cabezas de predicción (como MoE) sean entrenables.

Específicamente, el marco mapea las cabezas particionadas (como la partición basada en la independencia/dependencia relativa a los datos de entrenamiento) a los trabajadores y actualiza sus parámetros en paralelo. A continuación, los reduce de nuevo a un esquema de tesis de modelo único que permite que las cabezas de predicción escalen hasta las decenas de miles dadas las porciones de extracción de características bien entrenadas.

2. Paralelismo de datos: En el aprendizaje automático, a menudo se asume que las muestras son independientes e idénticamente distribuidas (i.i.d.), y los gradientes se calculan dentro de un mini lote de cientos de modelos elegidos al azar, pensando que pueden representar razonablemente todo el conjunto de datos. Sin embargo, miles de millones de ejemplos dificultan la definición de todo el conjunto de datos, a menos que el tamaño del minilote pueda aumentarse significativamente, lo que también es prohibitivo.

El marco propuesto permite el cálculo del gradiente en paralelo (Map) a partir de un conjunto mayor de ejemplos independientes y lo agrega (Reduce) con un tamaño de lote grande. Incluso se puede realizar el cálculo del gradiente en lote completo con miles de millones de modelos.

Dado el marco escalable, esta sección describe a continuación los aspectos algorítmicos de los modelos de ejemplo y el paralelismo de entrenamiento descritos anteriormente.

Ejemplo de una gran mezcla de expertos

En comparación con los clasificadores globales que clasifican todas las clases con modelos de clasificación igualmente estructurados, una ventaja clave del uso de un conjunto de clasificadores locales como MoE es su capacidad para entrenar basándose en las características únicas de la clase de forma flexible. En consecuencia, contar con más expertos resulta especialmente útil a medida que aumenta el número de clases y éstas abarcan diversos temas.

Sin embargo, aumentar el número de expertos con un conjunto de datos a gran escala no es trivial. En lo que respecta al marco DBoF, dadas K etiquetas posibles, la construcción de un modelo DBoF con MoE de |.epsilon.| expertos clasificadores binarios para cada etiqueta requiere K|.epsilon.| expertos en total. Esto se vuelve rápidamente problemático con un conjunto de datos a gran escala que tenga miles de etiquetas (como K=4.716 para YouTube-8M) con un tamaño de representación intermedio moderado (2.048), lo que resulta en un MoE con aproximadamente 10M.veces.|.épsilon.| de variables para el entrenamiento.

Afortunadamente, los pesos w.sub.e en la Ec. (3) de cada experto e .di-elect cons. .epsilon..sub.k para todas las etiquetas k=1, . . . , K etiquetas pueden ser entrenados independientemente de cada uno. Así, por ejemplo, las K clases se pueden repartir en M trabajadores para entrenar a los expertos correspondientes a las clases, reduciendo drásticamente el tiempo de entrenamiento proporcional al número de trabajadores disponibles en O(|.epsilon.|K/M) en el caso de que, por ejemplo, las clases estén distribuidas uniformemente entre los trabajadores.

Ejemplo de mezcla adaptativa de expertos

Muchos expertos pueden servir las clases con un número diferente de ejemplos positivos. Es decir, las etiquetas con un número reducido de modelos requieren menos expertos para evitar el sobreajuste o reducir los expertos innecesarios. Para paliar esto, para cada etiqueta y.sub.k, el número máximo de expertos puede limitarse a ser |.epsilon..sub.max|. El número ajustado de expertos |.epsilon..sub.k| puede determinarse en función del número de ejemplos positivos en el conjunto de datos, como se indica a continuación:

Ejemplo de ajuste de lotes completos

Los trabajos anteriores han reconocido el valor del entrenamiento por lotes amplios para una convergencia más rápida, pero no pudieron aumentar más el tamaño del mini lote (es decir, 32K) por limitaciones prácticas. Sin embargo, dado el eficiente paralelismo de datos con el marco escalable propuesto, la optimización de lotes amplios puede aplicarse estratégicamente de la siguiente manera.

En primer lugar, el modelo se puede entrenar con un solucionador estándar de minilotes (como la etapa de preentrenamiento descrita anteriormente) para obtener un entrenamiento inicial rápido y, al mismo tiempo, minimizar el sobreajuste temprano, que es más perjudicial. Este es un enfoque seguro, como han demostrado otros modelos DBoF.

El modelo se vuelve sensible a nuevas actualizaciones tras la convergencia. Esto significa que la robustez es la clave para un ajuste eficaz. Así, el modelo puede afinarse aún más con una optimización robusta de lotes completos como, por ejemplo, la retropropagación resistente mejorada (RProp) llamada iRProp.sup.+.

Este método tradicional de optimización por lotes completos puede utilizarse por su robustez con muy pocos parámetros y su rendimiento competitivo incluso con los métodos de segundo orden. Brevemente, el gradiente de lote completo se calcula sumando sobre el ángulo relativo a cada ejemplo de entrenamiento en todo el conjunto de datos de entrenamiento. A continuación, dependiendo de la dirección del gradiente en comparación con la iteración anterior, la tasa de aprendizaje de cada peso cambia.

¡Compartir es cuidar!

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *