¿Algoritmo de aprendizaje de conjunto de vanguardia en tareas de reconocimiento de patrones?

14

La estructura de esta pregunta es la siguiente: al principio, proporciono el concepto de aprendizaje en conjunto , luego proporciono una lista de tareas de reconocimiento de patrones , luego doy ejemplos de algoritmos de aprendizaje en conjunto y, finalmente, presento mi pregunta. Aquellos que no necesitan toda la información complementaria pueden simplemente mirar los titulares e ir directamente a mi pregunta.


¿Qué es el aprendizaje conjunto?

Según el artículo de Wikipedia :

En estadística y aprendizaje automático, los métodos de conjunto utilizan múltiples algoritmos de aprendizaje para obtener un mejor rendimiento predictivo que el que se podría obtener de cualquiera de los algoritmos de aprendizaje constituyentes. A diferencia de un conjunto estadístico en mecánica estadística, que generalmente es infinito, un conjunto de aprendizaje automático se refiere solo a un conjunto finito concreto de modelos alternativos, pero generalmente permite que exista una estructura mucho más flexible entre esas alternativas.


Ejemplos de tareas de reconocimiento de patrones:


Ejemplos de algoritmos de aprendizaje conjunto:

Los siguientes algoritmos de aprendizaje de conjunto utilizados para tareas de relaciones públicas (según Wiki):

Conjunto de algoritmos de aprendizaje (meta-algoritmos supervisados ​​para combinar múltiples algoritmos de aprendizaje):

  • Impulso (unmeta-algoritmo delconjunto de aprendizaje automáticopara reducir principalmente elsesgo, y también la varianza en elaprendizaje supervisado, y una familia de algoritmos de aprendizaje automático que convierten a los estudiantes débiles en fuertes)

  • Bootstrap agregación (" ensacado ") (un meta-algoritmo de conjunto de aprendizaje automático diseñado para mejorar la estabilidad y precisión de los algoritmos de aprendizaje automático utilizados enla clasificaciónyregresiónestadística).

  • Promedio de conjuntos (el proceso de crear múltiples modelos y combinarlos para producir un resultado deseado, en lugar de crear un solo modelo. Con frecuencia, un conjunto de modelos funciona mejor que cualquier modelo individual, porque los diversos errores de los modelos se "promedian". )

  • Mezcla de expertos, mezcla jerárquica de expertos.

Diferentes implementaciones

  • Conjuntos de redes neuronales (un conjunto de modelos de redes neuronales que toman una decisión promediando los resultados de modelos individuales).
  • Bosque aleatorio (un método de aprendizaje conjunto para clasificación, regresión y otras tareas, que opera construyendo una multitud deárbolesdedecisiónen el momento del entrenamiento y generando la clase que es elmodode las clases (clasificación) o la predicción media (regresión) del individuo árboles).
  • AdaBoost (la salida de los otros algoritmos de aprendizaje ('estudiantes débiles') se combina en una suma ponderada que representa la salida final del clasificador potenciado).

Adicionalmente:

  • Métodos que usan una red neuronal para combinar diferentes clasificadores
  • Método de áreas de competencia

Mi pregunta

¿Cuál de los algoritmos de aprendizaje de conjunto se considera de vanguardia hoy en día y es realmente utilizado en la práctica (para detección de rostros, reconocimiento de placas de matrícula de vehículos, reconocimiento óptico de caracteres, etc.) por empresas y organizaciones? Se supone que el uso de algoritmos de aprendizaje conjunto aumenta la precisión del reconocimiento y conduce a una mejor eficiencia computacional. Pero, ¿las cosas se mantienen así en la realidad?

¿Qué método de conjunto, potencialmente, puede mostrar una mejor precisión de clasificación y rendimiento en las tareas de reconocimiento de patrones? Quizás, algunos de los métodos están desactualizados ahora, o han demostrado ser ineficaces. También es posible que los métodos de conjunto ahora ya no se usen debido a la fuerza de algunos algoritmos nuevos. Aquellos que tienen experiencia en el área o tienen suficiente conocimiento en este campo, ¿pueden ayudarnos a aclarar los asuntos?

Erba Aitbayev
fuente
Lo que escuché recientemente es que a la gente le encanta XGBoost y mostró un rendimiento realmente impresionante en varias competiciones de Kaggle.
Sangwoong Yoon
La respuesta es corta: la que da la mejor puntuación de CV. Por lo general, se apila
Alexey Grigorev
El éxito y el fracaso de un modelo de conjunto es una función de los modelos miembros del conjunto y la naturaleza de los datos. Ensemble funciona porque los modelos miembros producen un grado de diversidad. Es probable que su pregunta no tenga respuesta sin los detalles de ambos modelos que usted puso en su conjunto y el conjunto de datos en cuestión.
horaceT

Respuestas:

9

Los algoritmos de última generación pueden diferir de los que se usan en la producción en la industria. Además, este último puede invertir en el ajuste de enfoques más básicos (y a menudo más interpretables) para que funcionen mejor de lo que los académicos harían.

Ejemplo 1: Según TechCrunch , Nuance comenzará a usar "tecnología de aprendizaje profundo" en sus productos de reconocimiento de voz Dragon en septiembre.

Ejemplo 2: Chiticariu, Laura, Yunyao Li y Frederick R. Reiss. "¡La extracción de información basada en reglas está muerta! ¡Vivan los sistemas de extracción de información basada en reglas!". En EMNLP, no. Octubre, pp. 827-832. 2013. https://scholar.google.com/scholar?cluster=12856773132046965379&hl=es&as_sdt=0,22 ; http://www.aclweb.org/website/old_anthology/D/D13/D13-1079.pdf

ingrese la descripción de la imagen aquí

Con eso dicho:

¿Cuál de los algoritmos de aprendizaje de conjunto se considera de vanguardia hoy en día?

Uno de los sistemas de vanguardia para la clasificación de imágenes obtiene una buena ganancia con el conjunto (al igual que la mayoría de los otros sistemas que conozco): Él, Kaiming, Xiangyu Zhang, Shaoqing Ren y Jian Sun. "Aprendizaje residual profundo para el reconocimiento de imágenes". preimpresión arXiv arXiv: 1512.03385 (2015). https://scholar.google.com/scholar?cluster=17704431389020559554&hl=en&as_sdt=0,22 ; https://arxiv.org/pdf/1512.03385v1.pdf

ingrese la descripción de la imagen aquí

Franck Dernoncourt
fuente
3

Supongo que se podría decir que el aprendizaje profundo es bastante avanzado en la mayoría de los subdominios de la visión por computadora (clasificación, detección, súper resolución, detección de bordes, ...), excepto para tareas muy específicas como SLAM donde el aprendizaje profundo aún no está a la par con los métodos existentes.

A menudo se obtiene un porcentaje extra para ganar el promedio de las redes de competencia, pero las redes se están volviendo tan buenas que ya no importa tanto.

En producción es totalmente diferente. Las grandes empresas generalmente dependen de algoritmos antiguos que han demostrado ser efectivos y que los expertos en el lugar tienen conocimiento y años de práctica usándolos.
Además, la integración de un nuevo algoritmo en la cadena de suministro requiere mucho tiempo. Creo que algunas compañías de cámaras todavía usan el detector Viola Jones para la detección de rostros y sé con certeza que SIFT se está utilizando mucho en muchas aplicaciones en la industria.

También siguen siendo un poco escépticos hacia los métodos de aprendizaje profundo que se consideran cajas negras peligrosas.
Pero los impresionantes resultados de esos algoritmos son lentos, lo que hace que las personas cambien de opinión al respecto.

Las nuevas empresas están más dispuestas a usar tales soluciones, ya que tienen que tener soluciones innovadoras para obtener fondos.

Diría que en veinte años la mayoría de los productos basados ​​en visión por computadora utilizarán el aprendizaje profundo, incluso si se descubre algo más efectivo en el medio.
Para agregar a la respuesta de Franck, el aprendizaje profundo está cambiando tan rápido que ResNets of Kaiming ya no es el estado del arte Las redes convolucionales densamente conectadas y las redes anchas y profundas con SGD reiniciando ahora están SOTA en EDIT CIFAR y SVHN y probablemente Imagenet también e incluso esto podría cambiar en unos días con los resultados de ILSVRC 2016 el 16 de septiembre.

Si está interesado en obtener más resultados de última generación en MS-COCO, el conjunto de datos de detección más desafiante existente se lanzará en ECCV en octubre.

vaquero
fuente
1
De hecho, después de una doble verificación, ¡los artículos que cité no mencionan sus resultados en Imagenet! ¡Entonces es mi error! pero como son muy superiores en CIFAR y SVHN, creo que debe ser lo mismo en Imagenet, pero nunca se sabe. ¡Supongo que no lo mencionaron para esperar los resultados de ILSVRC, pero podría estar equivocado!
jean
1
@FranckDernoncourt este frenesí de resultados es muy emocionante, pero también puede ejercer mucha presión sobre las personas que desean publicar en este campo, lo que puede conducir a errores como este artículo infame de SARM que el autor retiró hoy de NIPS.
jean
Gracias, sí, lo vi, pero no tuve la oportunidad de revisar ese documento ... Tengo problemas para vaciar mi lista de lectura con todos estos nuevos PDF ANN: /
Franck Dernoncourt
Este incidente de retiro de SARM me hace repensar la crisis de reproducibilidad en las estadísticas. Cuántos detalles de implementación se deben requerir en el proceso de revisión, cuánto es demasiado poco, etc.
horaceT
2

Hay muchas cosas que suceden con su pregunta y, por lo general, encontrar el mejor modelo implica probar la mayoría de estos en los datos. El hecho de que un modelo en teoría pueda producir resultados más precisos no significa que siempre producirá un modelo con el error más bajo.

Dicho esto ... Los conjuntos de redes neuronales pueden ser muy precisos, siempre que pueda aceptar el cuadro negro. Variar tanto por el número de nodos como por el número de capas puede abarcar muchas variaciones en los datos, con la introducción de tantos factores de modelado podría ser fácil sobreajustar los datos.

Los bosques aleatorios rara vez han producido los resultados más precisos, pero los árboles potenciados pueden modelar relaciones complejas como en las tareas de IA que discutió sin mucho riesgo de sobreajuste.

Uno pensaría, bueno, ¿por qué no simplemente ensamblar todos estos modelos juntos, sino que este modelo compromete las posibles fortalezas de los modelos individuales? De nuevo, esto probablemente conduciría a algunos problemas de sobreajuste.

Los modelos que son computacionalmente eficientes es una cuestión diferente, y no comenzaría con una red neuronal muy complicada. Usando una red neuronal como punto de referencia, en mi experiencia, ha sido más eficiente usando árboles potenciados.

Esto se basa en mi experiencia y una comprensión razonable de la teoría subyacente a cada uno de los tipos de modelado discutidos.

Robar
fuente