Las mejores herramientas/plataformas para la optimización de hiperparámetros
Los hiperparámetros son parámetros que se utilizan para ajustar el comportamiento del algoritmo al construir el modelo. Estos factores no pueden ser detectados por el ejercicio regular. Antes de poder entrenar un modelo, es necesario separarlo.
El proceso de seleccionar la combinación óptima de hiperparámetros que proporcione el mayor rendimiento se conoce como optimización de hiperparámetros o ajuste en aprendizaje automático.
Existen varios métodos de optimización automatizados, cada uno con ventajas y desventajas según la tarea.
Junto con la complejidad de los modelos de aprendizaje profundo, la cantidad de herramientas disponibles para optimizar los hiperparámetros está aumentando. Por lo general, existen dos tipos de kits de herramientas para la optimización de hiperparámetros (HPO): herramientas y servicios de código abierto que dependen de los recursos de computación en la nube.
Las mejores bibliotecas y herramientas de optimización de hiperparámetros para modelos ML se enumeran a continuación.
Optimización bayesiana
Basado en la inferencia bayesiana y el proceso gaussiano, un programa de Python llamado BayesianOptimisation utiliza la optimización global bayesiana para encontrar el mayor valor de una función desconocida en el menor número de iteraciones posibles. Este método es el más adecuado para optimizar funciones de alto valor donde es importante lograr el equilibrio adecuado entre exploración y explotación.
GPyOpt
Un paquete Python de código abierto para la optimización bayesiana se llama GPyOpt. Está construido utilizando GPy, un marco de Python para modelar procesos gaussianos. La biblioteca crea experimentos de laboratorio húmedo, instala automáticamente modelos y métodos de aprendizaje automático, y más.
hiperóptico
Se utiliza un módulo de Python llamado Hyperopt para la optimización en serie y en paralelo en espacios de búsqueda que pueden incluir dimensiones condicionales, discretas y de valor real. Ofrece técnicas e infraestructura para la paralelización para usuarios de Python que desean realizar optimización de hiperparámetros (selección de modelo). Los métodos de optimización bayesiana compatibles con esta biblioteca se basan en árboles de regresión y procesos gaussianos.
Sintonizador Keras
Usando el módulo Keras Tuner, podemos encontrar hiperparámetros ideales para modelos de aprendizaje automático. HyperResNet y HyperXception, dos programas personalizables preconstruidos para visión artificial, están incluidos en la biblioteca.
Motor de optimización métrica (MOE)
Un motor de optimización global bayesiano de caja negra de código abierto para un diseño experimental óptimo se denomina motor de optimización métrica (MOE). MOE es un método de optimización de parámetros útil para sistemas cuando la estimación de parámetros consume tiempo o dinero. Puede ayudar con cosas tan diversas como maximizar la tasa de clics o conversión de un sistema a través de pruebas A/B, ajustar los parámetros de un costoso trabajo por lotes o un método de predicción de aprendizaje automático, diseñar un sistema de ingeniería o determinar los parámetros ideales para un sistema. . experiencia del mundo real.
Optuna
Optuna es un marco de software para la optimización automatizada de hiperparámetros y es excelente para el aprendizaje automático. Ofrece una API de usuario con un diseño imperativo y definido que permite la construcción dinámica de espacios de búsqueda de hiperparámetros. El marco proporciona una arquitectura independiente de la plataforma, paralelización simple y muchas bibliotecas para espacios de búsqueda Pythonic.
melodía de rayos
Ray Tune es un marco para la optimización de hiperparámetros que se utiliza para actividades que requieren mucho tiempo, como el aprendizaje profundo y el aprendizaje por refuerzo. El marco tiene una variedad de funciones fáciles de usar, que incluyen generación de varianza de prueba configurable, búsqueda en cuadrícula, búsqueda aleatoria y distribuciones de parámetros condicionales, así como implementaciones escalables de algoritmos de búsqueda que incluyen Entrenamiento basado en la población (PBT), Regla de parada mediana e HyperBand. .
SmartML
SmartML es un sistema de selección automática y ajuste de hiperparámetros de algoritmos de aprendizaje automático basados en metaaprendizaje. SmartML extrae inmediatamente metacaracterísticas y busca en la base de conocimientos el método más eficiente para iniciar el proceso de optimización para cada nuevo conjunto de datos. Se puede incrustar en cualquier lenguaje de programación utilizando las API REST proporcionadas.
SigOpt
Con SigOpt, una herramienta de optimización de hiperparámetros de caja negra, el ajuste del modelo se puede automatizar para acelerar la creación de nuevos modelos y aumentar su eficacia cuando se utiliza en la producción a gran escala. Con una combinación de algoritmos de optimización bayesianos y globales creados para explorar y explotar cualquier espacio de parámetros, SigOpt puede mejorar la eficiencia computacional.
Talos
Un marco de optimización de hiperparámetros llamado Talos está disponible para Keras, TensorFlow y PyTorch. El marco reemplaza el proceso Keras estándar al automatizar por completo la estimación del modelo y el ajuste de hiperparámetros. Las características notables de Talos incluyen evaluación de generalización de modelos, optimización automática de hiperparámetros, soporte para optimización cooperativa hombre-máquina y más. incluye
coche
Un módulo de Python llamado mlmachine maneja varios pasos importantes en el ciclo de vida experimental y permite una experiencia de aprendizaje automático ordenada y ordenada basada en cuadernos. Se pueden someter varios estimadores al ajuste de hiperparámetros con optimización bayesiana utilizando mlmachine, que tiene herramientas para mostrar el rendimiento del modelo y las opciones de parámetros.
SHERPA
El paquete SHERPA de Python se usa para ajustar los hiperparámetros de los modelos de aprendizaje automático. Con una selección de métodos de optimización de hiperparámetros, computación paralela adaptada a las necesidades del usuario y un tablero en vivo para la exploración exploratoria de los hallazgos, ofrece optimización de hiperparámetros para investigadores de aprendizaje automático.
Scikit-Optimizar
Una biblioteca rápida y eficiente para minimizar las funciones de caja negra (muy) caras y ruidosas se llama Skopt. Utiliza varias técnicas de optimización basadas en modelos secuenciales. Skopt quiere ser simple y conveniente de usar en diferentes situaciones. Scikit-Optimize ofrece ayuda con la “optimización de hiperparámetros”, que ajusta los parámetros de los algoritmos de aprendizaje automático (ML) proporcionados por el paquete scikit-learn.
NumPy, SciPy y Scikit-Learn son los cimientos sobre los que se asienta la librería.
GPyOpt
Un programa llamado GPyOpt utiliza procesos gaussianos para optimizar (minimizar) funciones de caja negra. El grupo de Machine Learning de la Universidad de Sheffield (en SITraN) puso esto en práctica usando Python. GPyOpt se basa en GPy, un paquete de Python para modelar procesos gaussianos. Mediante el uso de modelos de procesos gaussianos dispersos, puede manejar grandes conjuntos de datos.
NNI de Microsoft (Inteligencia de redes neuronales)
Microsoft creó NNI, un kit de herramientas de AutoML gratuito y de código abierto. Se utiliza para automatizar el ajuste de hiperparámetros, la compresión de modelos y la búsqueda de arquitecturas neuronales. La herramienta envía y ejecuta tareas de prueba creadas con algoritmos de ajuste para encontrar la arquitectura neuronal y/o los hiperparámetros ideales en una variedad de contextos, incluidas máquinas locales, servidores remotos y la nube.
Por ahora, el software NNI de Microsoft incluye bibliotecas como Sckit-learn, XGBoost, CatBoost y LightGBM, así como Pytorch, Tensorflow, Keras, Theano, Caffe2 y más. admite marcos como
Visera de Google
Se utiliza un servicio de optimización de caja negra llamado AI Platform Vizier para ajustar los hiperparámetros en modelos complejos de aprendizaje automático. Ajustar los hiperparámetros no solo mejora el rendimiento de su modelo, sino que también se puede utilizar con éxito para ajustar los parámetros de una función.
Wazir define el resultado y los hiperparámetros que lo afectan para establecer la configuración de la investigación. Se crea un estudio utilizando parámetros de configuración preconfigurados y se realizan pruebas para validar los resultados.
Creador de salvia de AWS
Un servicio de aprendizaje automático completamente administrado es AWS Sage Maker. Los modelos de aprendizaje automático se pueden construir fácil y rápidamente con SageMaker. Una vez que los haya creado, puede implementarlos inmediatamente en un entorno listo para producción.
Además, ofrece técnicas de aprendizaje automático diseñadas para funcionar bien en entornos distribuidos con conjuntos de datos extremadamente grandes. SageMaker admite de forma nativa los marcos y los algoritmos propios, lo que proporciona soluciones de capacitación distribuidas que se pueden adaptar a sus flujos de trabajo específicos.
Aprendizaje automático de Azure
Microsoft construyó Azure utilizando su red en constante crecimiento de centros de datos globales. Azure es una plataforma en la nube que permite a los usuarios crear, ejecutar y administrar servicios y aplicaciones desde cualquier lugar.
Toda la plataforma de ciencia de datos está impulsada por Azure Machine Learning, un servicio dedicado y actualizado. Completo en el sentido de que cubre todo el recorrido de la ciencia de datos en una sola plataforma, desde el preprocesamiento de datos hasta la creación, implementación y mantenimiento de modelos. Se admiten las experiencias de código primero y código inactivo. Considere usar Azure Machine Learning Studio si quiere escribir poco o nada de código.
No olvides unirte Nuestra página de Reddit y canal de discordiaaquí compartimos las últimas noticias de investigación de IA, proyectos geniales de IA y más.