¿Por qué las comunidades de PNL y aprendizaje automático están interesadas en el aprendizaje profundo?


24

Espero que me puedan ayudar, ya que tengo algunas preguntas sobre este tema. Soy nuevo en el campo del aprendizaje profundo, y aunque hice algunos tutoriales, no puedo relacionar o distinguir conceptos entre sí.


8
Básicamente porque brindan resultados de vanguardia y eliminan la necesidad de ingeniería de características.
Emre

2
Sugeriría no usar NLP y ML juntos en dicho contexto, como si fueran entidades comparables. En mi humilde opinión son dos campos claramente separados. A pesar de que NLP utiliza muchos enfoques, métodos, algoritmos y herramientas de ML, NLP es un campo aplicado, mientras que ML es un campo (más) genérico.
Aleksandr Blekh

Respuestas:


27

¿Por qué usar redes profundas?

Primero intentemos resolver una tarea de clasificación muy simple. Digamos que moderas un foro web que a veces está inundado de mensajes de spam. Estos mensajes son fácilmente identificables: la mayoría de las veces contienen palabras específicas como "comprar", "porno", etc. y una URL a recursos externos. Desea crear un filtro que lo alertará sobre mensajes tan suspensivos. Resulta bastante fácil: obtienes una lista de características (por ejemplo, una lista de palabras sospechosas y la presencia de una URL) y entrenas una regresión logística simple (también conocida como perceptrón), es decir, modelos como:

g(w0 + w1*x1 + w2*x2 + ... + wnxn)

¿dónde x1..xnestán sus características (ya sea la presencia de una palabra específica o una URL), w0..wn- coeficientes aprendidos y g()es una función logística para hacer que el resultado esté entre 0 y 1. Es un clasificador muy simple, pero para esta tarea simple puede dar muy buenos resultados, creando límite de decisión lineal. Suponiendo que usó solo 2 características, este límite puede verse más o menos así:

límite lineal

Aquí, 2 ejes representan características (por ejemplo, número de ocurrencias de palabras específicas en un mensaje, normalizadas alrededor de cero), los puntos rojos permanecen para el correo no deseado y los puntos azules, para mensajes normales, mientras que la línea negra muestra la línea de separación.

Pero pronto se da cuenta de que algunos buenos mensajes contienen muchas ocurrencias de la palabra "comprar", pero no URL, o discusión extendida sobre la detección de pornografía , que en realidad no se refiere a películas pornográficas. El límite de decisión lineal simplemente no puede manejar tales situaciones. En cambio, necesitas algo como esto:

límite no lineal

Este nuevo límite de decisión no lineal es mucho más flexible , es decir, puede ajustar los datos mucho más cerca. Hay muchas formas de lograr esta no linealidad: puede usar características polinómicas (por ejemplo x1^2) o su combinación (por ejemplo x1*x2) o proyectarlas a una dimensión superior, como en los métodos del núcleo . Pero en las redes neuronales es común resolverlo combinando perceptrones o, en otras palabras, construyendo perceptrón multicapa. La no linealidad aquí proviene de la función logística entre capas. Cuantas más capas, los patrones más sofisticados pueden estar cubiertos por MLP. Una sola capa (perceptron) puede manejar la detección de spam simple, la red con 2-3 capas puede capturar combinaciones complicadas de características, y las redes de 5-9 capas, utilizadas por grandes laboratorios de investigación y compañías como Google, pueden modelar todo el lenguaje o detectar gatos en imágenes.

Esta es una razón esencial para tener arquitecturas profundas : pueden modelar patrones más sofisticados .

¿Por qué las redes profundas son difíciles de entrenar?

Con solo una característica y un límite de decisión lineal, de hecho es suficiente tener solo 2 ejemplos de entrenamiento, uno positivo y otro negativo. Con varias características y / o límites de decisión no lineales, necesita varias órdenes más ejemplos para cubrir todos los casos posibles (por ejemplo, no solo necesita encontrar ejemplos con word1, word2y word3, sino también con todas sus combinaciones posibles). Y en la vida real, debe lidiar con cientos y miles de características (por ejemplo, palabras en un idioma o píxeles en una imagen) y al menos varias capas para tener suficiente no linealidad. El tamaño de un conjunto de datos, necesario para entrenar completamente dichas redes, supera fácilmente los 10 ^ 30 ejemplos, por lo que es totalmente imposible obtener suficientes datos. En otras palabras, con muchas características y muchas capas, nuestra función de decisión se vuelve demasiado flexiblepara poder aprenderlo con precisión .

Sin embargo, hay formas de aprenderlo aproximadamente . Por ejemplo, si estuviéramos trabajando en entornos probabilísticos, en lugar de aprender las frecuencias de todas las combinaciones de todas las características, podríamos asumir que son independientes y aprenden solo las frecuencias individuales, reduciendo el clasificador Bayes completo y sin restricciones a un Bayes Naive y, por lo tanto, requiere mucho, Mucho menos datos para aprender.

En las redes neuronales hubo varios intentos de (significativamente) reducir la complejidad (flexibilidad) de la función de decisión. Por ejemplo, las redes convolucionales, ampliamente utilizadas en la clasificación de imágenes, asumen solo conexiones locales entre píxeles cercanos y, por lo tanto, solo intentan aprender combinaciones de píxeles dentro de pequeñas "ventanas" (digamos, 16x16 píxeles = 256 neuronas de entrada) en lugar de imágenes completas (digamos, 100x100 píxeles = 10000 neuronas de entrada). Otros enfoques incluyen la ingeniería de características, es decir, la búsqueda de descriptores específicos de datos de entrada descubiertos por humanos.

Las características descubiertas manualmente son muy prometedoras en realidad. En el procesamiento del lenguaje natural, por ejemplo, a veces es útil usar diccionarios especiales (como los que contienen palabras específicas de spam) o atrapar la negación (por ejemplo, " no es bueno"). Y en la visión por computadora, cosas como los descriptores SURF o las características similares a Haar son casi insustituibles.

Pero el problema con la ingeniería manual de características es que lleva literalmente años encontrar buenos descriptores. Además, estas características son a menudo específicas

Entrenamiento previo sin supervisión

Pero resulta que podemos obtener buenas características automáticamente a partir de los datos utilizando algoritmos tales como codificadores automáticos y máquinas de Boltzmann restringidas . Los describí en detalle en mi otra respuesta , pero en resumen permiten encontrar patrones repetidos en los datos de entrada y transformarlos en características de nivel superior. Por ejemplo, dados solo valores de píxeles de fila como entrada, estos algoritmos pueden identificar y pasar bordes enteros más altos, luego desde estos bordes construir figuras y así sucesivamente, hasta obtener descriptores de alto nivel como variaciones en las caras.

aprendizaje profundo

Después de que dicha red de preentrenamiento (no supervisada) generalmente se convierte en MLP y se usa para la capacitación supervisada normal. Tenga en cuenta que el entrenamiento previo se realiza en capas. Esto reduce significativamente el espacio de solución para el algoritmo de aprendizaje (y, por lo tanto, la cantidad de ejemplos de entrenamiento necesarios) ya que solo necesita aprender los parámetros dentro de cada capa sin tener en cuenta otras capas.

Y más allá...

La capacitación previa no supervisada ha estado aquí por algún tiempo, pero recientemente se descubrió que otros algoritmos mejoran el aprendizaje, tanto con la capacitación previa como sin ella. Un ejemplo notable de tales algoritmos es el abandono : una técnica simple que "abandona" al azar algunas neuronas durante el entrenamiento, crea cierta distorsión y evita que las redes de seguimiento de datos se acerquen demasiado. Este sigue siendo un tema de investigación candente, así que lo dejo a un lector.


3
Una hermosa explicación es esta!
Dawny33

6

Primero necesitamos entender por qué necesitamos el aprendizaje profundo. Para construir modelos, ML necesita datos de prueba con etiquetas (supervisadas o no supervisadas). En muchos dominios a medida que los datos crecen, es difícil mantener los datos con etiquetas. Las redes de aprendizaje profundo no necesitan datos etiquetados. Los algoritmos de aprendizaje profundo pueden descifrar las etiquetas. Por lo tanto, esto evita la necesidad de que los expertos en dominios presenten etiquetas para los datos, lo cual es muy importante en las áreas de reconocimiento de voz, visión por computadora y comprensión del lenguaje. El reconocimiento de imágenes de Google Cat es un experimento muy interesante. También es interesante conocer a "Geoffrey hinton", el profesor que fue contratado por Google.

http://www.wired.com/2014/01/geoffrey-hinton-deep-learning/

Puede obtener más información a medida que explora en este marco.


1
El aprendizaje profundo no puede descifrar las etiquetas (¿cómo podría ser?), Sino solo aprender características. Aún necesita cierta cantidad de datos etiquetados y aprendizaje supervisado para resolver tareas como clasificación o regresión.
amigo

0

El aprendizaje profundo ha existido por mucho tiempo. CNN, RNN, las máquinas Boltzmann parecen nuevas técnicas, pero se desarrollaron hace mucho tiempo. Revisa la historia del aprendizaje profundo

https://en.wikipedia.org/wiki/Deep_learning#History

El resurgimiento del aprendizaje profundo se debe al hecho de que los poderes computacionales aumentaron exponencialmente a partir de ese momento. Con una computadora portátil equipada con GPU, puede entrenar un modelo complejo de aprendizaje profundo en muy poco tiempo en comparación con sus días anteriores. Los modelos de aprendizaje profundo también son muy eficientes empíricamente. El estado actual de la técnica en Imágenes, Habla y muchos campos son los modelos de Deep Learning.

Creo que debido a estos factores, podemos ver que gran parte de la comunidad de PNL / ML ha cambiado su enfoque en el aprendizaje profundo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.