Las DBN pueden considerarse como una composición de redes simples y no supervisadas, como las máquinas de Boltzmann restringidas (RBM) [1] o los autocodificadores [3] , donde la capa oculta de cada subred sirve como capa visible para la siguiente. Una RBM es un modelo no dirigido , generativo, basado en energía, con una capa de entrada "visible" y una capa oculta y conexiones entre capas, pero no dentro de ellas. Esta composición conduce a un procedimiento de entrenamiento rápido, capa por capa, no supervisado, donde se aplica divergencia contrastiva a cada subred por turno, comenzando desde el par de capas "más bajo" (la capa visible más baja es un conjunto de entrenamiento ).
La observación [2] de que las DBN se pueden entrenar de forma codiciosa , una capa a la vez, condujo a uno de los primeros algoritmos de aprendizaje profundo efectivos . [4] : 6 En general, hay muchas implementaciones y usos atractivos de las DBN en aplicaciones y escenarios de la vida real (por ejemplo, electroencefalografía , [5] descubrimiento de fármacos [6] [7] [8] ).
Capacitación
El método de entrenamiento para RBM propuesto por Geoffrey Hinton para su uso con el entrenamiento de modelos de " Producto de Expertos " se denomina divergencia contrastiva (CD). [9] La CD proporciona una aproximación al método de máxima verosimilitud que idealmente se aplicaría para aprender los pesos. [10] [11] En el entrenamiento de un único RBM, las actualizaciones de los pesos se realizan con descenso de gradiente a través de la siguiente ecuación:
donde, es la probabilidad de un vector visible, que se da por . es la función de partición (usada para normalizar) y es la función de energía asignada al estado de la red. Una energía más baja indica que la red está en una configuración más "deseable". El gradiente tiene la forma simple donde representan promedios con respecto a la distribución . El problema surge en el muestreo porque esto requiere un muestreo de Gibbs alterno extendido . El CD reemplaza este paso ejecutando un muestreo de Gibbs alterno para los pasos (valores de funcionan bien). Después de los pasos, se muestrean los datos y esa muestra se usa en lugar de . El procedimiento de CD funciona de la siguiente manera: [10]
Inicializar las unidades visibles en un vector de entrenamiento.
Actualice las unidades ocultas en paralelo dadas las unidades visibles: . es la función sigmoidea y es el sesgo de .
Actualice las unidades visibles en paralelo dadas las unidades ocultas: . es el sesgo de . Esto se denomina paso de "reconstrucción".
Vuelva a actualizar las unidades ocultas en paralelo dadas las unidades visibles reconstruidas utilizando la misma ecuación que en el paso 2.
Realizar la actualización de peso: .
Una vez que se entrena un RBM, se "apila" otro RBM sobre él, tomando su entrada de la capa final entrenada. La nueva capa visible se inicializa con un vector de entrenamiento y se asignan valores para las unidades en las capas ya entrenadas utilizando los pesos y sesgos actuales. Luego, el nuevo RBM se entrena con el procedimiento anterior. Todo este proceso se repite hasta que se cumple el criterio de detención deseado. [12]
Aunque la aproximación de CD a la máxima verosimilitud es burda (no sigue el gradiente de ninguna función), es empíricamente efectiva. [10]
^ abc Hinton G (2009). "Redes de creencias profundas". Scholarpedia . 4 (5): 5947. Bibcode :2009SchpJ...4.5947H. doi : 10.4249/scholarpedia.5947 .
^ ab Hinton GE , Osindero S, Teh YW (julio de 2006). "Un algoritmo de aprendizaje rápido para redes de creencias profundas" (PDF) . Neural Computation . 18 (7): 1527–54. CiteSeerX 10.1.1.76.1541 . doi :10.1162/neco.2006.18.7.1527. PMID 16764513. S2CID 2309950.
^ Bengio Y, Lamblin P, Popovici D, Larochelle H (2007). Entrenamiento voraz por capas de redes profundas (PDF) . NIPS .
^ Bengio, Y. (2009). "Arquitecturas profundas de aprendizaje para IA" (PDF) . Fundamentos y tendencias en aprendizaje automático . 2 : 1–127. CiteSeerX 10.1.1.701.9550 . doi :10.1561/2200000006.
^ Movahedi F, Coyle JL, Sejdic E (mayo de 2018). "Redes de creencias profundas para la electroencefalografía: una revisión de las contribuciones recientes y las perspectivas futuras". Revista IEEE de informática biomédica y sanitaria . 22 (3): 642–652. doi :10.1109/jbhi.2017.2727218. PMC 5967386 . PMID 28715343.
^ Ghasemi, Pérez-Sánchez; Mehri, Pérez-Garrido (2018). "Redes neuronales y algoritmos de aprendizaje profundo utilizados en estudios QSAR: ventajas y desventajas". Drug Discovery Today . 23 (10): 1784–1790. doi :10.1016/j.drudis.2018.06.016. PMID 29936244. S2CID 49418479.
^ Ghasemi, Pérez-Sánchez; Mehri, fassihi (2016). "El papel de diferentes métodos de muestreo en la mejora de la predicción de la actividad biológica utilizando redes de creencias profundas". Revista de química computacional . 38 (10): 1–8. doi :10.1002/jcc.24671. PMID 27862046. S2CID 12077015.
^ Gawehn E, Hiss JA, Schneider G (enero de 2016). "Aprendizaje profundo en el descubrimiento de fármacos". Molecular Informatics . 35 (1): 3–14. doi : 10.1002/minf.201501008 . PMID 27491648. S2CID 10574953.
^ Hinton GE (2002). "Producto de entrenamiento de expertos mediante la minimización de la divergencia contrastiva" (PDF) . Neural Computation . 14 (8): 1771–1800. CiteSeerX 10.1.1.35.8613 . doi :10.1162/089976602760128018. PMID 12180402. S2CID 207596505.
^ abc Hinton GE (2010). "Una guía práctica para el entrenamiento de máquinas de Boltzmann restringidas". Tech. Rep. UTML TR 2010-003 .
^ Fischer A, Igel C (2014). "Entrenamiento de máquinas de Boltzmann restringidas: una introducción" (PDF) . Reconocimiento de patrones . 47 (1): 25–39. Código bibliográfico :2014PatRe..47...25F. CiteSeerX 10.1.1.716.8647 . doi :10.1016/j.patcog.2013.05.025. Archivado desde el original (PDF) el 2015-06-10 . Consultado el 2017-07-02 .
^ Bengio Y (2009). "Learning Deep Architectures for AI" (PDF) . Fundamentos y tendencias en aprendizaje automático . 2 (1): 1–127. CiteSeerX 10.1.1.701.9550 . doi :10.1561/2200000006. Archivado desde el original (PDF) el 4 de marzo de 2016. Consultado el 2 de julio de 2017 .
Enlaces externos
Hinton, Geoffrey E. (31 de mayo de 2009). "Redes de creencias profundas". Scholarpedia . 4 (5): 5947. Bibcode :2009SchpJ...4.5947H. doi : 10.4249/scholarpedia.5947 . ISSN 1941-6016.
"Redes de creencias profundas". Tutoriales de aprendizaje profundo.
"Ejemplo de red de creencias profundas". Tutoriales de Deeplearning4j. Archivado desde el original el 2016-10-03 . Consultado el 2015-02-22 .