¿Los científicos informáticos realmente entienden cómo el aprendizaje profundo puede lograr sus resultados?

No creo que una comprensión concisa de los fundamentos teóricos (en el sentido matemático) del aprendizaje profundo esté casi completa en este momento. ¡Pero no vemos mucha gente quejándose ya que funciona muy bien en la práctica del mundo real! Por otro lado, esta es una gran oportunidad para que las personas brillantes brillen realmente con grandes contribuciones teóricas.

Yo diría que “aprender” en ML o DL se puede ver de dos maneras interesantes: la forma discriminativa y la forma generativa de modelar. Creo que la palabra modelado es una forma más poderosa de comunicar estos conceptos que el aprendizaje. El modelado transmitiría inequívocamente que lo que estamos haciendo es científico / matemático, y no algo de arte negro.

La forma discriminativa de mirar ML dice: modelar una función que predeciría la salida dada la entrada, observando un buen número de pares de entrada / salida. Este también es un ejemplo de aprendizaje supervisado.

La forma generativa de mirar ML dice: dame una distribución que mejor modele los datos en tu espacio muestral. Una vez que tengo una distribución, puedo hacer muchas cosas interesantes, como “generar” datos nuevos en algún punto diferente o dar datos parciales autocompletarlos, etc. Estos son algunos de los ejemplos de aprendizaje no supervisado.

Actualmente, no tenemos una idea clara de cómo se puede modelar la función / distribución de la manera más precisa y eficiente con algunas buenas garantías. Todavía no entendemos la “aerodinámica” de la inteligencia. Idealmente, nos gustaría una teoría completa como la Teoría de Fourier (explica completamente cómo cualquier función continua periódica / no periódica puede representarse en términos de algunas funciones básicas estándar, dando lugar a la poderosa noción de espacios de funciones ) o la serie Taylor (explica bien cómo el acceso dado al valor y las derivadas de una función en un punto único en particular, puede construir la función completa ). Lo más emocionante de estas teorías es que se han generalizado a funciones escalares / vectoriales de vectores, formas diferenciales, tensores y demás.

Hay muchos indicios de que hay una teoría hermosa y profunda que subyace a las Redes Neurales Profundas. DL también se ha llamado aprendizaje de representación, porque las representaciones de base intermedia se aprenden durante el entrenamiento que se usa durante la inferencia. Pero una teoría sólida que explique cuáles son estas representaciones conduciría a mejores diseños de arquitecturas de aprendizaje profundo.

¿Hay límites para nuestra capacidad de entender exactamente cómo funciona el aprendizaje profundo? Sí, y esto no es solo para el aprendizaje profundo. Dado que el aprendizaje automático opera en un espacio de características de alta dimensión, la forma exacta en que los modelos de aprendizaje automático llegan a sus resultados nunca se puede entender completamente. Esto tiene menos que ver con el aprendizaje automático como una caja negra y más con la naturaleza como una caja negra. Los tipos de tareas que el aprendizaje automático busca automatizar son muy complejas e implican la producción de resultados a los que no se puede llegar utilizando reglas deterministas. En cambio , se debe construir un modelo y, por definición, un modelo es una aproximación simplificada de su entorno. Esa aproximación se crea satisfaciendo alguna heurística matemática que simplemente intenta reducir la diferencia entre lo que el modelo genera y lo que el entorno dice que debería ser el resultado (o la minimización de alguna función objetivo como en los enfoques no supervisados).

Los científicos informáticos han creado algoritmos que permiten a las máquinas llegar a modelos que producen los resultados necesarios, y, por supuesto, cualquier experto en aprendizaje automático sabrá cómo funciona el algoritmo. Pero saber cómo funciona un algoritmo no es lo mismo que saber cómo se llegó al resultado final. Cuando se suelta un algoritmo en los datos, converge en un resultado que produce una salida que se muestra correcta, pero se desconoce en gran medida cómo se produjo la asignación entre entrada y salida.

Debe recordar que cuando se crean algoritmos, se hacen en conjuntos de datos altamente idealizados y, a menudo, sintéticos. Solo después de años de pruebas de relevancia y ajustes por parte de diferentes investigadores y expertos en innumerables tipos de datos, los algoritmos se vuelven prácticos. Basta con mirar el tortuoso viaje que el aprendizaje profundo ha emprendido. Si bien a los científicos nos encanta adjuntar narraciones que suenen bien después del hecho (por ejemplo, “hicimos estos cambios porque nuestra teoría sugirió este curso de acción”), la realidad es que se trata menos de teorías elegantes y más de probar cosas hasta que funcionen. Lo bueno de la predicción es que siempre tenemos comentarios directos sobre si estamos o no en el camino correcto.

Convertir la predicción en nuestro objetivo principal significa que hay mucho menos énfasis en la necesidad de comprender por qué o cómo ocurre algo. De hecho, como señala Leo Brieman, nuestros modelos más predictivos son los más complejos y difíciles de entender. Cuanto mejor se acerque a la naturaleza con su modelo, menos probable será que comprenda cómo produce sus resultados. Estar en posesión de una elegante pieza matemática que de alguna manera produce resultados relevantes no es una verdadera comprensión, aunque es realmente útil.

Os animo a leer más sobre este tema. The Mythos of Model Interpretability de Zachary Lipton es una gran lectura y destaca la necesidad de una mejor comprensión de lo que realmente significa la interpetación.

También he respondido preguntas similares aquí en Quora que lo ayudarán a profundizar en este tema.

La respuesta de Sean McClure a ¿Por qué muchos estudios de investigación afirman que el aprendizaje profundo es una caja negra?

La respuesta de Sean McClure a ¿Qué estaba tratando de transmitir Leo Breiman en su trabajo de investigación Estadística de modelado – Las dos culturas? ¿Estaba tratando de decir que el campo es extraño? ¿Quiso decir que el modelado algorítmico (aprendizaje automático) es superior al modelado de datos tradicional?

Realmente no. Al menos no desde el punto de vista de la optimización tradicional o las teorías de aprendizaje automático.

Hay algunas muy buenas ideas generales.

3 reflexiones sobre por qué el aprendizaje profundo funciona tan bien

que son básicamente

  1. los espacios de alta dimensión probablemente no tienen mínimos locales de alta energía
  2. realmente existe una jerarquía de características, por lo que usar muchas capas parece funcionar mejor
  3. Las redes de convección, lstms y otras redes complejas se han diseñado para imitar la estructura del cerebro en un sentido burdo

La mayor parte de esto se conoce o sospecha desde hace mucho tiempo, y aunque hay ideas útiles, todavía hay mucha confusión. Aquí hay algunos buenos documentos recientes para mirar

http://openreview.net/pdf?id=rku

http://openreview.net/pdf?id=rkj

http://openreview.net/pdf?id=B18

http://openreview.net/pdf?id=Syo

http://openreview.net/pdf?id=Sy8

http://openreview.net/pdf?id=Bk0

http://openreview.net/pdf?id=B1Y

Aquí hay algunas implicaciones importantes incluso para el trabajo de ingeniería puramente aplicado. Por ejemplo, parece que una Red Profunda supervisada puede adaptarse a cualquier conjunto de datos, y bastante bien, incluso si las etiquetas están completamente equivocadas. Esto es muy extraño y tendría grandes implicaciones, ya que parece sugerir que se podría construir una red que se ajuste a los datos de entrenamiento y se generalice para probar y resistir muy bien, y luego se caiga por completo en la producción de ejemplos nuevos e invisibles. Y puede que no haya forma de detectar esto. Eso da un poco de miedo.

Es un área activa de investigación, con ideas provenientes de todas partes. Acabo de ver este video, que tiene 3 semanas (a partir de diciembre de 2016)

Está surgiendo un buen trabajo que está comenzando a eliminar el Aprendizaje Profundo utilizando técnicas tradicionalmente de Mecánica Estadística. A finales de los 90, Stat Mech se usó para estudiar el modelo Hopfield, y algunos pequeños MLP y RBM fueron completamente ignorados. Gran error. Hoy las ideas más notables están saliendo de Stanford y CalTech (ver la respuesta de Charles H Martin a ¿Cuáles son los mejores materiales de física estadística para redes neuronales profundas?)

Personalmente sospecho que podemos usar ideas de la Teoría del paisaje energético (ELT) del plegamiento de proteínas para explicar esto. Es decir, los sistemas de aprendizaje profundo son más similares a un vaso giratorio de mínima frustración (en comparación con un vaso giratorio puramente aleatorio)

¿Por qué funciona el aprendizaje profundo?

Esencialmente, desde la perspectiva de la ciencia de la computación / teoría de optimización, la idea es que, en lugar de tratar de controlar la capacidad, los sistemas de aprendizaje profundo controlan la capacidad y optimizan la función de pérdida simultáneamente. Además , cuando se alcanza la capacidad mínima (es decir, entropía), puede continuar optimizando la pérdida (es decir, energía libre) para obtener resultados altamente precisos.

Otras personas podrían decir que el Aprendizaje profundo es una forma elegante de representar información previa, y es básicamente como el antiguo aprendizaje del núcleo, pero encontramos una muy buena forma numérica de aprender el núcleo. Y esto también puede ser bueno.

Todavía no estoy completamente seguro de que la teoría ELT sea correcta (o útil), pero los primeros experimentos computacionales no están equivocados. Solo necesito hacer cálculos más cuidadosos para eliminarlo.

Explico la idea básica aquí, de una charla en MMDS

Según los comentarios, quiero compartir algunos recursos sobre el modelo de ajuste.

La siguiente figura es para visualizar todo el proceso de una red neuronal, aunque no es muy “profunda”.

De izquierda a derecha, es el conjunto de datos, características, capas y resultados. Puede probar una combinación diferente para percibir el flujo de trabajo. Puede probar diferentes tasas de aprendizaje, activación y regularización en la barra superior.

Aquí, elijo un conjunto de datos simple y este modelo básicamente converge después de 1.210 iteraciones. Es notable que este modelo solo ingrese las características lineales dado que el conjunto de datos está originalmente separado linealmente. Cuando prueba otros conjuntos de datos no lineales, no convergerá solo con entidades lineales.

Tensorflow – Neural Network Playground es una buena plataforma para sentir cómo funciona la Red Neural y cómo ajustar el modelo.

Por favor diviértete!

La siguiente es la respuesta original.

———————————————————————————————————————————

Es una pregunta difícil. Usted pregunta si el informático realmente comprende cómo funciona el aprendizaje profundo. La respuesta es sí”. Por supuesto, el informático sabe cómo funciona. Sabemos cómo un CNN puede lograr la mejor precisión en la clasificación de imágenes y cómo se puede usar un RNN para mejorar la comprensión del lenguaje natural.

Sin embargo, los académicos aún no están seguros de los mecanismos detrás del aprendizaje profundo.

Para ser específicos, el uso de la técnica de aprendizaje profundo siempre implicará el ajuste para obtener los mejores resultados. Sin embargo, no hay un teorema a seguir al ajustar el modelo. Todo lo que podemos hacer se basa en nuestra experiencia y elegir un buen punto de partida. Muchos artículos relacionados con el aprendizaje profundo se publican porque tiene un mejor rendimiento con algunos cambios en la optimización. Aunque la razón detrás de esto es poco conocida.

Básicamente, todavía estamos en el progreso de entender el mecanismo. El día que tenemos una comprensión clara de esto es cuando la IA recibe otro impulso.

No, no entendemos completamente cómo funcionan los modelos de aprendizaje profundo. Pero, ¿entendemos realmente cómo funciona nuestro cerebro? En el camino desde su habitación hasta la cocina, sabe cómo llegó allí, pero no conoce las representaciones aprendidas de lo que hizo. ¿Sabes lo que hizo tu cerebro para llevarte allí?

El paradigma de programación tradicional es que, dada una entrada, escribimos explícitamente un algoritmo para hacer algo con la entrada a fin de obtener la salida deseada. Conocemos las reglas porque las hemos escrito.

Los modelos aprendidos por máquina actúan como una “caja negra”. Tenemos las mismas entradas / salidas, pero ahora el modelo escribe las reglas por sí mismo. Una de las razones de su éxito es que puede escribir más reglas de las que un humano sería capaz de hacer. Sin embargo, la pregunta es cómo descubrimos las reglas que el modelo ha aprendido.

Dado un modelo de lenguaje, podríamos consultar el modelo para averiguar qué ha aprendido. Por ejemplo, (fuente regular = entrada) (cursiva = salida) (negrita = regla aprendida):

  • David come un pastel
  • La gente come un pastel

En este ejemplo, podemos inferir que el modelo ha aprendido a agregar una “s” cuando el sujeto es singular y eliminarlo cuando es plural.

Otra consulta sería mirar si el modelo está inventando palabras.

No es sencillo consultar los modelos, pero es una buena manera de averiguar qué sabe la “caja negra”.

¿Alguien realmente entiende algo? Me parece que los físicos no pueden predecir realmente la trayectoria de un proyectil, o que un médico no puede diagnosticarte realmente correctamente. Todo se entiende con cierto grado de precisión. Según cuánto tiempo pase analizando su modelo y cuán simple sea el conjunto de datos que está tratando de modelar, puede o no explicar lo que hizo el modelo. Dicho esto, si su modelo funciona bien y no sabe por qué, la pregunta es si necesita saber por qué funcionó bien para su propósito.

No, no entendemos cómo se llega a conclusiones. Entendemos cómo funciona, ya que eso es solo matemáticas de secundaria. Sin embargo, descubrir cómo llegó a una conclusión en términos humanos es imposible, ya que la lógica está codificada en pesos.

More Interesting

¿Puede la coincidencia de patrones funcionar en la clasificación de imágenes en color con SVM?

¿Qué necesitan saber los desarrolladores de aplicaciones sobre Siri para interactuar con él?

¿Cuál es la posibilidad de que un humano gane el juego de entropía?

¿Cuáles son los lenguajes de nivel de máquina?

¿Cómo se hizo Andrew Ng tan bueno en Machine Learning?

¿Cuáles son los temas candentes en el aprendizaje automático y la lógica difusa juntos?

Tengo un conjunto de entradas y deseo excluir las entradas extremas y calcular el promedio de las restantes. ¿Es este un problema de estadística o uno de aprendizaje automático?

¿Las estadísticas necesitan un cambio de marca en respuesta a la ciencia de datos y el aprendizaje automático, que están superando las estadísticas en términos de relevancia? ¿Por qué o por qué no?

¿Cuál es la mejor técnica de aprendizaje automático para clasificar ~ 50,000 imágenes sin etiquetar (2-3% de ruido) en 3 clases diferentes?

¿Cómo se encuentran los trabajos de consultoría en machine learning + PNL?

¿Qué paradigma / algoritmo de aprendizaje automático puedo usar para seleccionar de un grupo de posibles opciones?

¿Qué se usa en autos sin conductor, aprendizaje automático o aprendizaje profundo?

Cómo recopilar datos para problemas de la vida real mientras se entrena un modelo de aprendizaje automático

¿Cómo determina Quora a quién poner en mi sección "mejorar su alimentación"?

¿Es inútil seguir el aprendizaje automático como segundo año?