En el contexto de las redes neuronales, ¿cuál es la diferencia entre la tasa de aprendizaje y la pérdida de peso?
En el contexto de las redes neuronales, ¿cuál es la diferencia entre la tasa de aprendizaje y la pérdida de peso?
Respuestas:
La tasa de aprendizaje es un parámetro que determina cuánto influye un paso de actualización en el valor actual de los pesos. Si bien la disminución de peso es un término adicional en la regla de actualización de peso que hace que los pesos disminuyan exponencialmente a cero, si no se programa ninguna otra actualización.
Entonces, supongamos que tenemos una función de costo o error que queremos minimizar. El descenso de gradiente nos dice que modifiquemos los pesos en la dirección del descenso más pronunciado en : donde es la tasa de aprendizaje, y si es grande, tendrá una modificación correspondientemente grande de los pesos (en general, no debería ser demasiado grande, de lo contrario, excederá el mínimo local en su función de costo).
Para limitar efectivamente el número de parámetros libres en su modelo a fin de evitar un ajuste excesivo, es posible regularizar la función de costo. Una manera fácil de hacerlo es mediante la introducción de un previo gaussiano medio cero sobre los pesos, que es equivalente a cambiar la función de costo a . En la práctica, esto penaliza grandes pesos y limita efectivamente la libertad en su modelo. El parámetro de regularización determina cómo se intercambia el costo original con la penalización de pesos grandes.
Aplicando el descenso de gradiente a esta nueva función de costo obtenemos: El nuevo término proveniente de la regularización hace que el peso decaiga en proporción a su tamaño.
Además de la respuesta de @ mrig (+1), para muchas aplicaciones prácticas de redes neuronales, es mejor usar un algoritmo de optimización más avanzado, como Levenberg-Marquardt (redes pequeñas y medianas) o el descenso de gradiente conjugado a escala (medio-grande redes), ya que serán mucho más rápidos y no hay necesidad de establecer la velocidad de aprendizaje (ambos algoritmos esencialmente adaptan la velocidad de aprendizaje utilizando la curvatura y el gradiente). Cualquier paquete o biblioteca de red neuronal decente tendrá implementaciones de uno de estos métodos, cualquier paquete que no lo haga probablemente sea obsoleto. Utilizo la biblioteca NETLAB para MATLAB, que es un gran kit.
I términos simples:
learning_rate: controla la rapidez o lentitud con que un modelo de red neuronal aprende un problema.
ref: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/
wight_decay: es una técnica de regularización que se usa para evitar un ajuste excesivo.
ref: https://metacademy.org/graphs/concepts/weight_decay_neural_networks