Herramientas/Plataformas principales para la Optimización de Hiperparámetros 2023

Principales herramientas/plataformas para la Optimización de Hiperparámetros 2023

Los hiperparámetros son parámetros utilizados para regular el comportamiento del algoritmo mientras crea el modelo. Estos factores no pueden ser descubiertos mediante entrenamiento rutinario. Antes de entrenar el modelo, deben ser asignados.

El proceso de elegir la combinación óptima de hiperparámetros que produce el mejor rendimiento se conoce como optimización o ajuste de hiperparámetros en el aprendizaje automático.

Existen varios métodos de optimización automatizada, cada uno con ventajas y desventajas dependiendo de la tarea.

El número de herramientas disponibles para optimizar hiperparámetros crece junto con la complejidad de los modelos de aprendizaje profundo. Para la optimización de hiperparámetros (HPO), generalmente existen dos tipos de conjuntos de herramientas: herramientas de código abierto y servicios que dependen de recursos informáticos en la nube.

A continuación se muestran las principales bibliotecas y herramientas de optimización de hiperparámetros para modelos de aprendizaje automático.

Optimización Bayesiana

Basado en la inferencia bayesiana y el proceso gaussiano, un programa en Python llamado BayesianOptimisation utiliza la optimización global bayesiana para encontrar el valor más alto de una función desconocida en la menor cantidad de iteraciones posible. Este método es más adecuado para la optimización de funciones de alto costo, donde encontrar el equilibrio adecuado entre exploración y explotación es crucial.

GPyOpt

Una biblioteca de código abierto en Python para la optimización bayesiana se llama GPyOpt. Está construida utilizando GPy, un marco de trabajo en Python para modelar procesos gaussianos. La biblioteca crea experimentos de laboratorio húmedo, establece automáticamente modelos y métodos de aprendizaje automático, etc.

Hyperopt

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 valores reales. Para los usuarios de Python que deseen realizar la optimización de hiperparámetros (selección de modelos), ofrece técnicas e infraestructura para la paralelización. Las técnicas de optimización bayesiana admitidas por esta biblioteca se basan en árboles de regresión y procesos gaussianos.

Keras Tuner

Utilizando el módulo Keras Tuner, podemos encontrar los hiperparámetros ideales para modelos de aprendizaje automático. La biblioteca incluye HyperResNet y HyperXception, dos programas personalizables preconstruidos para visión por computadora.

Metric Optimisation Engine (MOE)

Se llama Metric Optimisation Engine (MOE) a un motor de optimización global bayesiana de código abierto y caja negra para el mejor diseño experimental. Cuando evaluar parámetros lleva tiempo o dinero, MOE es un método útil de optimización de parámetros para sistemas. Puede ayudar con diversos problemas, como maximizar el porcentaje de clics o la tasa de conversión de un sistema a través de pruebas A/B, ajustar los parámetros de un trabajo en lote costoso 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 experimento del mundo real.

Optuna

Optuna es un marco de trabajo de software para la optimización automatizada de hiperparámetros que es excelente para el aprendizaje automático. Ofrece una API de usuario con un diseño imperativo definido por ejecución que permite construir dinámicamente los espacios de búsqueda para los hiperparámetros. El marco de trabajo proporciona muchas bibliotecas para una arquitectura independiente de la plataforma, paralelización sencilla y espacios de búsqueda en estilo Python.

Ray Tune

Ray Tune es un marco de trabajo para la optimización de hiperparámetros utilizado para actividades que consumen mucho tiempo, como el aprendizaje profundo y el aprendizaje por refuerzo. El marco de trabajo cuenta con varias características fáciles de usar, incluyendo creación configurable de variaciones de prueba, búsqueda en cuadrícula, búsqueda aleatoria y distribuciones de parámetros condicionales, así como implementaciones escalables de algoritmos de búsqueda, incluyendo Population Based Training (PBT), Median Stopping Rule y HyperBand.

SmartML

SmartML es un sistema para la selección automática y ajuste de hiperparámetros de algoritmos de aprendizaje automático basado en meta-aprendizaje. SmartML extrae automáticamente sus meta-features y busca en su base de conocimientos el método de mejor rendimiento para comenzar su proceso de optimización para cada conjunto de datos nuevo. Utilizando las API REST ofrecidas, puede integrarse en cualquier lenguaje de programación.

SigOpt

Con la ayuda de SigOpt, una herramienta de optimización de hiperparámetros de caja negra, se puede automatizar la afinación del modelo para acelerar la creación de nuevos modelos y aumentar su efecto cuando se utilizan en producción a gran escala. Con una combinación de algoritmos de optimización bayesiana y global construidos para investigar y aprovechar cualquier espacio de parámetros, SigOpt puede mejorar la eficiencia informática.

Talos

Para Keras, TensorFlow y PyTorch existe un marco de trabajo de optimización de hiperparámetros llamado Talos. El marco de trabajo modifica el proceso estándar de Keras al automatizar por completo la evaluación del modelo y el ajuste de hiperparámetros. Las características destacadas de Talos incluyen la evaluación de generalización del modelo, la optimización automática de hiperparámetros, el soporte para la optimización cooperativa entre el hombre y la máquina, y más.

mlmachine

Un módulo de Python llamado mlmachine lleva a cabo varios pasos importantes en el ciclo de vida experimental y permite una experimentación ordenada y ordenada de aprendizaje automático basada en cuadernos. Se pueden someter varios estimadores a la sintonización de hiperparámetros con la optimización bayesiana utilizando mlmachine, que también tiene herramientas para mostrar el rendimiento del modelo y las opciones de parámetros.

SHERPA

Se utiliza el paquete SHERPA de Python para ajustar los hiperparámetros de los modelos de aprendizaje automático. Con una selección de técnicas de optimización de hiperparámetros, computación paralela adaptada a las necesidades del usuario y un panel de control en vivo para la investigación exploratoria de hallazgos, ofrece optimización de hiperparámetros para investigadores de aprendizaje automático.

Scikit-Optimize

Una biblioteca rápida y efectiva para minimizar funciones de caja negra (muy) costosas y ruidosas se llama Skopt. Utiliza varias técnicas de optimización basadas en modelos secuenciales. Skopt pretende ser simple y conveniente de usar en diversas situaciones. Scikit-Optimize ofrece asistencia con la “optimización de hiperparámetros”, ajustando los parámetros de los algoritmos de aprendizaje automático (ML) disponibles en el paquete scikit-learn.

NumPy, SciPy y Scikit-Learn son los fundamentos en los que se basa la biblioteca.

GPyOpt

Un programa llamado GPyOpt utiliza procesos gaussianos para optimizar (minimizar) funciones de caja negra. El grupo de aprendizaje automático de la Universidad de Sheffield (en SITraN) lo ha puesto en práctica utilizando Python. La base de GPyOpt es GPy, un paquete de Python para modelar procesos gaussianos. A través del uso de modelos de procesos gaussianos dispersos, puede manejar conjuntos de datos enormes.

NNI (Inteligencia de Redes Neuronales) de Microsoft

Microsoft creó NNI, un conjunto de herramientas de AutoML gratuito y de código abierto. Se utiliza para automatizar la optimización de hiperparámetros, la compresión de modelos y la búsqueda de arquitecturas neuronales. Para encontrar la arquitectura y/o hiperparámetros neuronales ideales en diversos contextos, incluyendo máquinas locales, servidores remotos y la nube, la herramienta envía y realiza tareas de prueba creadas por algoritmos de ajuste.

Por el momento, NNI de Microsoft admite bibliotecas como Sckit-learn, XGBoost, CatBoost y LightGBM, así como marcos como Pytorch, Tensorflow, Keras, Theano, Caffe2, etc.

Vizer de Google

Se utiliza un servicio de optimización de caja negra llamado AI Platform Vizier de Google para ajustar los hiperparámetros en modelos sofisticados de aprendizaje automático. Ajustar los hiperparámetros no solo mejora la salida de su modelo, sino que también se puede utilizar con éxito para ajustar los parámetros de una función.

Vizier establece el resultado y los hiperparámetros que lo afectan para establecer la configuración de la investigación. El estudio se crea utilizando parámetros de configuración preconfigurados y se ejecutan pruebas para proporcionar resultados.

AWS Sage Maker

AWS Sage Maker es un servicio de aprendizaje automático completamente administrado. Se pueden construir modelos de aprendizaje automático de manera fácil y rápida con SageMaker. Después de construirlos, se pueden implementar de inmediato en un entorno hospedado listo para producción.

Además, ofrece métodos de aprendizaje automático diseñados para funcionar bien en un entorno distribuido con conjuntos de datos excepcionalmente grandes. SageMaker admite de forma nativa algoritmos y marcos propios, y también proporciona soluciones de entrenamiento distribuido adaptables para sus flujos de trabajo específicos.

Azure Machine Learning

Microsoft construyó Azure utilizando su red global de centros de datos en constante crecimiento. Azure es una plataforma en la nube que permite a los usuarios crear, lanzar y administrar servicios y aplicaciones desde cualquier ubicación.

Azure Machine Learning, un servicio específico y actualizado, proporciona una plataforma completa de ciencia de datos. Completa en el sentido de que abarca todo el proceso de ciencia de datos en una sola plataforma, desde el pretratamiento de datos hasta la construcción y implementación de modelos y su mantenimiento. Se admiten experiencias tanto de código como de poco o ningún código. Considere utilizar Azure Machine Learning Studio si prefiere escribir poco o nada de código.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Real AI gana el proyecto para construir el modelo de lenguaje abierto de Europa de inteligencia artificial

Durante la Conferencia de Ciencia de Datos 2023 en Belgrado, el jueves 23 de noviembre, se anunció que Real AI ganó e...

Ciencias de la Computación

Tres postdoctorados en física del MIT en español reciben becas de la Fundación Botton.

Los destinatarios Luis Antonio Benítez, Carolina Cuesta-Lázaro y Fernando Romero López reciben apoyo para su investig...

Inteligencia Artificial

El avance de la inteligencia artificial de IBM traducir COBOL a Java ahora es fácil

El mundo de la tecnología está en constante evolución, y IBM lidera la carga con una innovadora solución de IA que po...

Inteligencia Artificial

Explorando NLP - Iniciando NLP (Paso #3)

Aquí hay algunos conceptos que revisé durante la semana, especialmente sobre incrustaciones de palabras. Hice algunas...

Inteligencia Artificial

ChatGPT responde incorrectamente a más de la mitad de las preguntas de ingeniería de software

ChatGPT respondió incorrectamente el 52% de 517 preguntas de Stack Overflow, y el 77% de las respuestas fueron innece...

Inteligencia Artificial

Aumento de personal de TI Cómo la IA está cambiando la industria del desarrollo de software.

Se trata de cómo los asistentes de IA están ayudando a los equipos a ser más eficientes y cómo también pueden ser ben...