En este artículo quiero hablar sobre las principales dificultades de la automatización del aprendizaje automático, su naturaleza y ventajas, y también considerar un enfoque más flexible que le permita evitar algunas de las deficiencias.
La automatización, por definición, Mikell P. Groover es una tecnología mediante la cual un proceso o procedimiento se realiza con una participación humana mínima. La automatización ha sido capaz de lograr una mayor productividad, lo que a menudo conduce a menores costos por unidad de producto. Los métodos de automatización, así como sus áreas de aplicación, están mejorando rápidamente y en los últimos siglos han evolucionado de mecanismos simples a robots industriales. La automatización comienza a afectar no solo el trabajo físico, sino también el intelectual, llegando a áreas relativamente nuevas, incluido el aprendizaje automático: el aprendizaje automático (auto ml, aml). Al mismo tiempo, la automatización del aprendizaje automático ya ha encontrado su aplicación en varios productos comerciales (por ejemplo, Google AutoML, SAP AutoML y otros).


Descargo de responsabilidadEste artículo no pretende ser dogmático en el campo y es la visión del autor.
Aprendizaje automático automatizado
Las tareas en el campo del procesamiento de datos y el aprendizaje automático están asociadas con muchos factores que surgen debido a la complejidad del sistema y complican su solución. Estos incluyen ( según Charles Sutton ):- La presencia de incertidumbre e incertidumbre, lo que lleva a una falta de conocimiento a priori de los datos y las dependencias deseadas. Por lo tanto, el elemento de investigación siempre está presente.
- "Muerte de mil cortes". En la práctica, al crear una tubería para el procesamiento y análisis de datos y el modelado posterior, debe tomar muchas decisiones grandes y pequeñas. Por ejemplo, ¿es necesario normalizar los datos? De ser así, ¿qué método y qué parámetros debe tener este método? Etc.
- La presencia de bucles de retroalimentación resultantes de la incertidumbre. Cuanto más larga sea la inmersión en la tarea y los datos, más podrá aprender sobre ellos. Esto lleva a la necesidad de dar un paso atrás y realizar cambios en los mecanismos de análisis y procesamiento existentes.
- Además, los resultados de modelos obtenidos por algoritmos de aprendizaje automático son solo una aproximación de la realidad, es decir Obviamente no es exacto.
Por lo tanto, el proceso de obtener una tubería completa de procesamiento y análisis de datos puede considerarse como un sistema complejo (es decir, un sistema complejo).Sistema complejoPeter Sloot, « » « », . , () , , () , () .. , , .
Por un lado, la presencia de estos factores complica tanto la solución de los problemas de aprendizaje automático y profundo como su automatización. Por otro lado, las capacidades informáticas cada vez más crecientes y cada vez más accesibles nos permiten asignar más recursos a la tarea.
Según el estándar común CRISP-DM, el ciclo de vida de un proyecto de análisis de datos consta de seis etapas principales: comprensión de una tarea empresarial, comprensión y estudio de datos (comprensión de datos), procesamiento de datos (preparación de datos), modelado ( modelado), evaluación de calidad (evaluación) y aplicación práctica (despliegue, aplicación). En la práctica, no todos estos pasos pueden automatizarse efectivamente hoy en día.La mayoría de las obras o bibliotecas existentes (h2o, auto-sklearn, autokeras) se centran en la automatización del modelado y, en parte, en la evaluación de la calidad. Sin embargo, la expansión del enfoque hacia la automatización del procesamiento de datos permite cubrir más etapas (que, por ejemplo, se aplicó en el servicio Google AutoML).Formulación del problema
Las tareas de aprendizaje automático con un maestro se pueden resolver mediante varios métodos, la mayoría de los cuales se reducen a minimizar la función de pérdida o maximizando la función de probabilidad , para obtener una estimación de los parámetros basado en la muestra disponible - conjunto de datos de entrenamiento :o θ^m=argminθm(J(yt;θm))dónde θm- parámetros del modelo entrenado (por ejemplo, coeficientes en caso de regresión).Para no limitar la automatización a solo el modelado, es posible extender el alcance del método a otras etapas de la tubería. Por ejemplo, para automatizar la toma de decisiones sobre qué métodos de procesamiento de datos aplicar, sobre elegir un modelo o sus combinaciones, así como seleccionar hiperparámetros cercanos a óptimos.Ilustramos lo que se describe con un ejemplo simple, en el marco del cual hay una opción entre dos métodos de procesamiento de datos ( escalador estándar y escalador de cuantiles ) y dos modelos ( bosque aleatorio y red neuronal ), incluida la selección de algunos hiperparámetros. La estructura de selección se puede representar como un árbol:
Cada selección realizada es un parámetro del sistema, mientras que el árbol se convierte en el espacio de posibles parámetros. Tal mirada al problema nos permite elevarnos al nivel de abstracción y formular la tarea de obtener la tubería final, incluidos los métodos de procesamiento de datos, los modelos y sus parámetros, como un proceso para minimizar o maximizar una función:ω^=argmaxω(L(yt,ycv;ω))o ω^=argminω(J(yt,ycv;ω))dónde ω- parámetros de no aprendizaje, ycv- selección de control diferido (conjunto de datos para validación cruzada).Las principales ventajas de dicha automatización del aprendizaje incluyen:- Selección de un mayor número de parámetros del sistema en presencia de un punto de entrada en el marco de un único proceso de optimización.
- Rutina de automatización que salva al investigador o desarrollador de los "mil cortes".
- La "democratización" del aprendizaje automático a través de su automatización, que permite a muchos no especialistas aplicar muchos métodos.
Sin embargo, la automatización no está exenta de inconvenientes:- Con un aumento en el número de parámetros, su espacio también crece, lo que tarde o temprano conduce a una explosión combinatoria, que requiere el desarrollo de algoritmos y un aumento en el número de recursos informáticos.
- Los métodos totalmente automáticos no siempre proporcionan una solución flexible basada en el principio de "caja negra", que reduce el control sobre el resultado.
- El espacio de parámetros ω no es lineal y tiene una estructura compleja, lo que complica el proceso de optimización.
De la automatización a la semiautomatización
Tratando de preservar tantas ventajas como sea posible y al mismo tiempo alejarnos de una serie de deficiencias, en particular, debido al deseo de obtener un control adicional sobre la solución, llegamos a un enfoque llamado semiautomático ml. Este es un fenómeno relativamente nuevo en el campo, que puede evidenciarse indirectamente mediante un análisis rápido de las Tendencias de Google:
lograr tal compromiso puede compararse condicionalmente con varios métodos de cambio de marcha en transmisiones de automóviles (es decir, métodos de cambio, pero no su estructura interna):En el curso del trabajo en proyectos internos, creamos una herramienta que nos permite resolver el problema del aprendizaje automático semiautomático basado en un sistema híbrido de configuración funcional-declarativa. Este enfoque de configuración utiliza no solo tipos de datos estándar, sino también funciones de bibliotecas modernas comunes para aprendizaje automático y profundo. La herramienta le permite automatizar la creación de métodos simples de procesamiento de datos, el diseño básico de características (ingeniería de características), la selección de modelos y sus hiperparámetros, y también realizar cálculos en un clúster Spark o GPU. El listado formaliza el ejemplo dado anteriormente en el artículo. El ejemplo utiliza modelos simples de sk-learn e hyperopt (que incluso lograron hacer una contribución insignificante al código fuente abierto) para la distribución y optimización de parámetros.'preprocessing': {
'scaler': hp.choice('scaler', [
{
'func': RobustScaler,
'params': {
'quantile_range': (10, 90)
}},
{
'func': StandardScaler,
'params': {
'with_mean': True
}}
]),
},
'model': hp.choice('model', [
{
'func': RandomForestClassifier,
'params': {
'max_depth': hp.choice('r_max_depth', [2, 5, 10]),
'n_estimators': hp.choice('r_n_estimators', [5, 10, 50])
}
},
{
'func': MLPClassifier,
'params': {
'hidden_layer_sizes': hp.choice('hidden_layer_sizes', [1, 10, 100]),
'learning_rate_init': hp.choice('learning_rate_init', [0.1, 0.01])
}
},
])
Tal sistema semiautomático, que incluye un mecanismo de configuración, hace posible crear escenarios estándar preparados previamente en casos en los que, por ejemplo, una determinada familia de modelos es más adecuada para resolver cualquier problema. Estos, en particular, pueden incluir la calificación crediticia, sin embargo, este paso requiere una investigación adicional en una amplia gama de tareas similares. Además, cuando se trabaja en el mecanismo de búsqueda, es posible mantener automáticamente el equilibrio en el dilema de equilibrio de sesgo-varianza teniendo en cuenta simultáneamente los valores de la función optimizada tanto en las muestras de entrenamiento como de validación cruzada.Conclusión
La falta total de automatización en la práctica es bastante rara, ya que incluso enumerar los valores de un hiperparámetro en un ciclo ya es un paso hacia la automatización. Al mismo tiempo, la automatización completa de todo el proceso de construcción de la tubería también es prácticamente inalcanzable hoy en día. En consecuencia, en el desarrollo de la mayoría de los proyectos modernos, los enfoques de automatización se aplican consciente o inconscientemente.El uso del aprendizaje automático semiautomático permite un uso más eficiente de los recursos de un investigador o desarrollador debido a la automatización de una rutina, sin quitar una parte significativa de la flexibilidad en el trabajo. Como vemos, la solución propuesta requiere la participación de una persona, limitando el espacio de posibles parámetros del sistema. Además, la introducción de escenarios estándar obtenidos sobre la base del sistema de configuración permite usar no solo enfoques de automatización parcial, sino también enfoques completos que no requieren la participación humana.