Red de conocimiento informático - Conocimiento sistemático - Serie de aprendizaje profundo (4): ¿Qué es la codificación dispersa?

Serie de aprendizaje profundo (4): ¿Qué es la codificación dispersa?

Hoy en día, el aprendizaje profundo es un concepto muy candente en el campo del aprendizaje automático. Sin embargo, después de ser reimpreso y reportado por varios medios, este concepto se ha convertido gradualmente en una especie de mito: por ejemplo, las personas pueden. Pienso que el aprendizaje profundo es un método de aprendizaje automático que puede simular la estructura neuronal del cerebro humano, permitiendo así que las computadoras tengan una inteligencia similar a la humana, y dicha tecnología sin duda tendrá perspectivas ilimitadas en el futuro; Entonces, ¿qué tipo de tecnología es esencialmente el aprendizaje profundo? ¿Qué es el aprendizaje profundo? El aprendizaje profundo es un método para modelar patrones (sonidos, imágenes, etc.) en el campo del aprendizaje automático. También es un modelo de probabilidad basado en estadísticas. Después de modelar varios patrones, se pueden reconocer varios patrones. Por ejemplo, si el patrón a modelar es sonoro, entonces este reconocimiento puede entenderse como reconocimiento de voz. Para entenderlo por analogía, si se compara el algoritmo de aprendizaje automático con un algoritmo de clasificación, entonces el algoritmo de aprendizaje profundo es uno de muchos algoritmos de clasificación (como la clasificación de burbujas). Este algoritmo tendrá ciertas ventajas en ciertos escenarios de aplicación. ¿Dónde se refleja la "profundidad" del aprendizaje profundo? Cuando se habla de la palabra "profundidad" en el aprendizaje profundo, la gente puede pensar perceptivamente que, en comparación con los algoritmos tradicionales de aprendizaje automático, el aprendizaje profundo puede hacer más cosas y es un método más avanzado. un algoritmo "profundo". El hecho puede no ser lo que imaginamos, porque desde la perspectiva de la entrada y salida del algoritmo, la entrada y salida del algoritmo de aprendizaje profundo y el algoritmo tradicional de aprendizaje automático supervisado son similares, ya sea la regresión logística más simple o el SVM posterior, impulsando y Otros algoritmos, pueden hacer cosas similares. Así como no importa qué algoritmo de clasificación se utilice, sus entradas y salidas esperadas son similares, la diferencia radica en el rendimiento de varios algoritmos en diferentes entornos. Entonces, ¿qué significa esencialmente la "profundidad" del aprendizaje profundo? El nombre científico del aprendizaje profundo también se llama Redes neuronales profundas, que se desarrolló a partir del modelo de Redes neuronales artificiales hace mucho tiempo. Este tipo de modelo generalmente se expresa intuitivamente utilizando el modelo gráfico en informática, y la "profundidad" del aprendizaje profundo se refiere a la cantidad de capas del modelo gráfico y la cantidad de nodos en cada capa. Ha habido una gran mejora. El aprendizaje profundo también tiene muchas formas de implementación diferentes. También tiene diferentes nombres según el problema que resuelve, sus campos de aplicación e incluso la creatividad del autor del artículo: por ejemplo, redes neuronales convolucionales, redes de creencias profundas, etc. ), Máquinas Boltzmann restringidas, Máquinas Boltzmann profundas, Autocodificadores recursivos, Representación profunda, etc. Pero, en esencia, todos son modelos similares de redes neuronales profundas. Dado que ya apareció antes un modelo de red neuronal como el aprendizaje profundo, ¿por qué ha vuelto a llamar la atención de la gente después de experimentar un declive? Esto se debe a que, en las condiciones de hardware de hace más de diez años, la complejidad temporal (quizás medida en años) para modelar redes neuronales de múltiples nodos de alto nivel era casi inaceptable. En muchas aplicaciones, en realidad se utilizan algunas redes chinas de poca profundidad. Aunque este modelo ha logrado muy buenos resultados en estas aplicaciones (incluso en el estado de la técnica), debido a esta limitación de tiempo, la aceptabilidad limita su promoción en aplicaciones prácticas.

Ahora, el nivel de hardware de la computadora ya no es el mismo que antes, por lo que un modelo como la red neuronal ha vuelto a estar a la vista de la gente. "En junio de 2012, el New York Times publicó el proyecto Google Brain, que atrajo una amplia atención pública. El proyecto fue dirigido por Andrew Ng, un conocido profesor de aprendizaje automático en la Universidad de Stanford, y Jeff Dean*, el principal experto mundial en Sistemas informáticos a gran escala ** Tong Led, que utiliza una plataforma informática paralela con 16.000 núcleos de CPU para entrenar un modelo llamado "Redes neuronales profundas" (DNN, Deep Neural Networks) Del proyecto Google Brain, podemos ver que las redes neuronales. modelo de red Los requisitos computacionales son extremadamente grandes. Para garantizar el rendimiento en tiempo real del algoritmo, es necesario utilizar una gran cantidad de CPU para la computación paralela. Por supuesto, otra razón por la que el aprendizaje profundo está atrayendo tanta atención ahora es, por supuesto, que en algunos escenarios, la precisión del reconocimiento de patrones de este algoritmo supera la de la mayoría de los algoritmos existentes. Recientemente, después de que el proponente del aprendizaje profundo modificara el error en su código de implementación, la precisión del reconocimiento de este modelo ha mejorado enormemente. Estos factores han provocado simultáneamente una nueva moda en el concepto de modelos de redes neuronales profundas o aprendizaje profundo. Ventajas del aprendizaje profundo: para reconocer un patrón determinado, el enfoque habitual es extraer primero las características de este patrón de alguna manera. El método de extracción de esta característica a veces se diseña o especifica manualmente y, a veces, la propia computadora lo resume dada una cantidad relativamente grande de datos. El aprendizaje profundo propone un método para que las computadoras aprendan automáticamente características de patrones e integra el aprendizaje de características en el proceso de construcción de modelos, reduciendo así la incompletitud causada por características diseñadas artificialmente. En la actualidad, algunas aplicaciones de aprendizaje automático con aprendizaje profundo como núcleo han logrado un rendimiento de reconocimiento o clasificación que supera los algoritmos existentes en escenarios de aplicación que cumplen condiciones específicas. Desventajas del aprendizaje profundo: aunque el aprendizaje profundo puede aprender automáticamente las características de los patrones y lograr una buena precisión de reconocimiento, la premisa para que funcione este algoritmo es que el usuario pueda proporcionar cantidades "bastante grandes" de datos. Es decir, en escenarios de aplicación que solo pueden proporcionar una cantidad limitada de datos, los algoritmos de aprendizaje profundo no pueden realizar estimaciones imparciales de los patrones de datos, por lo que el efecto de reconocimiento puede no ser tan bueno como el de algunos algoritmos simples existentes. Además, debido a la complejidad del modelo gráfico en el aprendizaje profundo, la complejidad temporal de este algoritmo ha aumentado. Para garantizar el rendimiento en tiempo real del algoritmo, se necesitan mayores habilidades de programación paralela y un mejor y mayor soporte de hardware. Por lo tanto, actualmente solo algunas instituciones de investigación científica o empresas con una fortaleza económica relativamente fuerte pueden utilizar algoritmos de aprendizaje profundo para realizar algunas aplicaciones prácticas y de vanguardia. Esta respuesta es recomendada por Zhang Xue, un experto en clasificación de educación científica