Tienes razón sobre los datos sin etiquetar. Las RBM son modelos generativos y se usan más comúnmente como aprendices no supervisados.
Cuando se usa para construir una Red de Creencias Profundas, el procedimiento más típico es simplemente entrenar cada uno de los nuevos RBM uno a la vez, ya que se apilan uno encima del otro. Entonces, la divergencia contrastante no está subiendo y bajando en el sentido que creo que quieres decir. Solo funciona con un RBM a la vez, utilizando la capa oculta del RBM superior anterior como entrada para el nuevo RBM superior. Después de todo esto, puede tratar la pila de pesas RBM como las pesas iniciales para una red neuronal de retroalimentación estándar y entrenar usando sus datos etiquetados y la propagación hacia atrás o hacer algo más exótico como usar el algoritmo de despertar-dormir. Tenga en cuenta que no hemos utilizado ningún dato etiquetado hasta este último paso, ese es uno de los beneficios de este tipo de modelos.
Por otro lado, hay varias formas en que puede usar RBM para la clasificación.
- Entrena un RBM o una pila de varios RBM. Use la capa oculta superior como entrada para algún otro alumno supervisado.
- Entrene un RBM para cada clase y use las energías no normalizadas como entrada para un clasificador discriminativo.
- Entrene al RBM para que sea un modelo de densidad conjunta de P (X, Y). Luego, dada alguna entrada x, simplemente elija la clase y que minimiza la función de energía (la normalización no es un problema aquí como en el anterior ya que la constante Z es la misma para todas las clases).
- Entrenar a una RBM discriminatoria
Le recomiendo encarecidamente que lea el informe técnico Una guía práctica para el entrenamiento de máquinas Boltzmann restringidas de Geoff Hinton. Analiza varios de estos problemas con mucho más detalle, proporciona consejos invaluables, cita muchos documentos relevantes y puede ayudar a aclarar cualquier otra confusión que pueda tener.