En el ámbito del aprendizaje automático, en particular cuando se utilizan plataformas como Google Cloud Machine Learning, comprender los hiperparámetros es importante para el desarrollo y la optimización de los modelos. Los hiperparámetros son configuraciones externas al modelo que dictan el proceso de aprendizaje e influyen en el rendimiento de los algoritmos de aprendizaje automático. A diferencia de los parámetros del modelo, que se aprenden a partir de los datos durante el proceso de entrenamiento, los hiperparámetros se configuran antes del comienzo del entrenamiento y permanecen constantes durante todo el proceso.
Los hiperparámetros se pueden clasificar en varios tipos en función de su función en el proceso de aprendizaje automático. Estas categorías incluyen hiperparámetros de modelo, hiperparámetros de optimización e hiperparámetros de procesamiento de datos. Cada tipo desempeña un papel distinto a la hora de determinar cómo un modelo aprende de los datos y generaliza a datos nuevos e inéditos.
Hiperparámetros del modelo
1. Hiperparámetros de arquitectura:Estos definen la estructura del modelo. En las redes neuronales, por ejemplo, los hiperparámetros de arquitectura incluyen la cantidad de capas, la cantidad de nodos por capa y el tipo de funciones de activación utilizadas. Por ejemplo, una red neuronal profunda podría tener hiperparámetros que especifiquen tres capas ocultas con 128, 64 y 32 nodos respectivamente, y ReLU (unidad lineal rectificada) como función de activación.
2. Hiperparámetros de regularización:Las técnicas de regularización se emplean para evitar el sobreajuste, que ocurre cuando un modelo aprende ruido en los datos de entrenamiento en lugar del patrón subyacente. Los hiperparámetros de regularización comunes incluyen los coeficientes de regularización L1 y L2. Estos coeficientes controlan la penalización aplicada a pesos grandes en el modelo. Por ejemplo, establecer un coeficiente de regularización L2 más alto penalizará más los pesos grandes, lo que alentará al modelo a mantener pesos más pequeños y potencialmente mejorará la generalización.
3. Tasa de deserción escolar:En las redes neuronales, la tasa de abandono es una técnica de regularización en la que se ignoran neuronas seleccionadas al azar durante el entrenamiento. La tasa de abandono es un hiperparámetro que especifica la fracción de neuronas que se deben descartar durante cada iteración de entrenamiento. Una tasa de abandono de 0.5 significa que el 50 % de las neuronas se descartan al azar en cada iteración, lo que ayuda a reducir el sobreajuste.
Hiperparámetros de optimización
1. Tasa de aprendizaje:Este es quizás uno de los hiperparámetros más críticos en el entrenamiento de redes neuronales. La tasa de aprendizaje determina el tamaño de los pasos que se dan hacia el mínimo de la función de pérdida. Una tasa de aprendizaje alta puede hacer que el modelo converja demasiado rápido a una solución subóptima, mientras que una tasa de aprendizaje baja puede hacer que el proceso de entrenamiento sea excesivamente lento o se quede estancado en mínimos locales.
2. Tamaño del lote:Este hiperparámetro define la cantidad de muestras de entrenamiento utilizadas en una iteración del proceso de entrenamiento. Los tamaños de lote más pequeños pueden generar una estimación más precisa del gradiente, pero pueden aumentar el tiempo necesario para completar una época. Por el contrario, los tamaños de lote más grandes pueden acelerar el entrenamiento, pero pueden generar modelos menos precisos.
3. Momentum:Este hiperparámetro, que se utiliza en algoritmos de optimización como el descenso de gradiente estocástico con impulso, ayuda a acelerar los vectores de gradiente en la dirección correcta, lo que conduce a una convergencia más rápida. Ayuda a suavizar las oscilaciones en la ruta de optimización.
4. Número de épocas:Este hiperparámetro define la cantidad de pasadas completas a través del conjunto de datos de entrenamiento. Una mayor cantidad de épocas generalmente le permite al modelo tener más oportunidades de aprender de los datos, pero también puede aumentar el riesgo de sobreajuste.
Hiperparámetros de procesamiento de datos
1. Escala de características:Antes de entrenar un modelo, a menudo es necesario escalar las características. Los hiperparámetros relacionados con el escalamiento de características incluyen la elección del método de escalamiento, como el escalamiento mínimo-máximo o la estandarización. Esta elección puede afectar significativamente el rendimiento del modelo, especialmente para algoritmos sensibles al escalamiento de características, como las máquinas de vectores de soporte y la agrupación en clústeres de K-medias.
2. Parámetros de aumento de datos:En las tareas de procesamiento de imágenes, la ampliación de datos se utiliza para ampliar artificialmente el tamaño de un conjunto de datos de entrenamiento mediante la creación de versiones modificadas de las imágenes del conjunto de datos. Los hiperparámetros incluyen los tipos de transformaciones aplicadas, como rotación, traslación, volteo y zoom, y la probabilidad de que se aplique cada transformación.
3. Métodos de muestreo:En los casos en que los datos no están equilibrados, se pueden utilizar técnicas como el sobremuestreo de la clase minoritaria o el submuestreo de la clase mayoritaria. Los hiperparámetros incluyen la proporción de muestras de la clase minoritaria y la mayoritaria.
Ajuste de hiperparámetros
El proceso de selección de los hiperparámetros óptimos se conoce como ajuste de hiperparámetros. Este es un paso fundamental, ya que la elección de los hiperparámetros puede afectar significativamente el rendimiento del modelo. Los métodos comunes para el ajuste de hiperparámetros incluyen:
1. Búsqueda de cuadrícula:Este método implica definir una cuadrícula de valores de hiperparámetros y probar exhaustivamente cada combinación. Si bien es simple, la búsqueda en cuadrícula puede ser costosa en términos computacionales, especialmente con una gran cantidad de hiperparámetros.
2. Búsqueda aleatoria:En lugar de probar todas las combinaciones posibles, la búsqueda aleatoria selecciona combinaciones aleatorias de hiperparámetros. Este enfoque suele ser más eficiente que la búsqueda en cuadrícula y puede generar mejores resultados, especialmente cuando solo unos pocos hiperparámetros son influyentes.
3. Optimización Bayesiana:Este es un enfoque más sofisticado que modela el desempeño de los hiperparámetros como una función probabilística y busca encontrar el mejor conjunto de hiperparámetros equilibrando la exploración y la explotación.
4. Aprendizaje automático automatizado (AutoML):Plataformas como Google Cloud AutoML utilizan algoritmos avanzados para buscar automáticamente los mejores hiperparámetros. Esto puede ahorrar tiempo y recursos, especialmente para profesionales que no tengan mucha experiencia en aprendizaje automático.
Ejemplos prácticos
Consideremos un escenario en el que se está entrenando una red neuronal convolucional (CNN) para la clasificación de imágenes mediante Google Cloud Machine Learning. Los hiperparámetros podrían incluir:
– Número de capas convolucionales y sus respectivos tamaños de filtro, que son hiperparámetros de la arquitectura.
– Tasa de aprendizaje y tamaño del lote, que son hiperparámetros de optimización.
– Técnicas de aumento de datos como la rotación y el volteo, que son hiperparámetros de procesamiento de datos.
Al ajustar sistemáticamente estos hiperparámetros, se pueden mejorar significativamente la precisión del modelo y las capacidades de generalización.
En otro ejemplo, cuando se utiliza un clasificador de árbol de decisión, los hiperparámetros pueden incluir la profundidad máxima del árbol, la cantidad mínima de muestras necesarias para dividir un nodo y el criterio utilizado para la división. Cada uno de estos hiperparámetros puede afectar la complejidad del modelo y su capacidad de generalización.
En esencia, los hiperparámetros son fundamentales para el proceso de aprendizaje automático, ya que influyen tanto en la eficiencia como en la eficacia del entrenamiento del modelo. Su selección y ajuste cuidadosos pueden dar lugar a modelos que no solo funcionan bien con los datos de entrenamiento, sino que también se generalizan de manera eficaz a datos nuevos e inéditos.
Otras preguntas y respuestas recientes sobre EITC/AI/GCML Google Cloud Machine Learning:
- ¿Se puede aplicar más de un modelo durante el proceso de aprendizaje automático?
- ¿Puede el aprendizaje automático adaptar el algoritmo a utilizar dependiendo de un escenario?
- ¿Cuál es la ruta más sencilla para el entrenamiento y la implementación del modelo de IA didáctico más básico en Google AI Platform usando un nivel gratuito/prueba mediante una consola GUI de manera paso a paso para un principiante absoluto sin conocimientos de programación?
- ¿Cómo entrenar e implementar de forma práctica un modelo de IA simple en Google Cloud AI Platform a través de la interfaz GUI de la consola de GCP en un tutorial paso a paso?
- ¿Cuál es el procedimiento más simple, paso a paso, para practicar el entrenamiento de modelos de IA distribuida en Google Cloud?
- ¿Cuál es el primer modelo sobre el que se puede trabajar con algunas sugerencias prácticas para empezar?
- ¿Los algoritmos y predicciones se basan en las aportaciones del lado humano?
- ¿Cuáles son los requisitos principales y los métodos más sencillos para crear un modelo de procesamiento del lenguaje natural? ¿Cómo se puede crear dicho modelo con las herramientas disponibles?
- ¿El uso de estas herramientas requiere una suscripción mensual o anual, o hay una cierta cantidad de uso gratuito?
- ¿Qué es una época en el contexto de los parámetros del modelo de entrenamiento?
Ver más preguntas y respuestas en EITC/AI/GCML Google Cloud Machine Learning