Estoy un poco confundido por la diferencia entre los términos "Machine Learning" y "Deep Learning". Lo busqué en Google y leí muchos artículos, pero todavía no me queda muy claro.
Una definición conocida de Machine Learning por Tom Mitchell es:
Un programa informático se dice que aprender de la experiencia E con respecto a alguna clase de tareas T y medida de rendimiento P , si su desempeño en tareas en T , medido por P , mejora con la experiencia E .
Si tomo un problema de clasificación de imágenes de clasificar perros y gatos como mi tarea T , a partir de esta definición entiendo que si le diera a un algoritmo ML un montón de imágenes de perros y gatos (experiencia E ), el algoritmo ML podría aprender cómo distinguir una nueva imagen como un perro o un gato (siempre que la medida de rendimiento P esté bien definida).
Luego viene el aprendizaje profundo. Entiendo que Deep Learning es parte de Machine Learning, y que la definición anterior es válida. El rendimiento en la tarea T mejora con la experiencia E . Todo bien hasta ahora.
Este blog afirma que hay una diferencia entre el aprendizaje automático y el aprendizaje profundo. La diferencia según Adil es que en el Aprendizaje automático (tradicional) las características tienen que ser hechas a mano, mientras que en Aprendizaje profundo las características se aprenden. Las siguientes figuras aclaran su declaración.
Estoy confundido por el hecho de que en el Aprendizaje automático (tradicional) las características tienen que ser hechas a mano. De la definición anterior de Tom Mitchell, creo que estas características se aprenderían de la experiencia E y el rendimiento. P . ¿Qué se podría aprender en Machine Learning?
En Deep Learning entiendo que por experiencia aprendes las características y cómo se relacionan entre sí para mejorar el rendimiento. ¿Podría concluir que en Machine Learning las características tienen que ser hechas a mano y lo que se aprende es la combinación de características? ¿O me estoy perdiendo algo más?
fuente
Respuestas:
Además de lo que dijo Himanshu Rai, el aprendizaje profundo es un subcampo que implica el uso de redes neuronales. Estas redes neuronales intentan aprender la distribución subyacente modificando los pesos entre las capas. Ahora, considere el caso del reconocimiento de imágenes mediante el aprendizaje profundo: un modelo de red neuronal se divide entre capas, estas capas están conectadas por enlaces llamados pesos, a medida que comienza el proceso de entrenamiento, estas capas ajustan los pesos de manera que cada capa intente detectar alguna característica y ayudar a la siguiente capa para su procesamiento. El punto clave a tener en cuenta es que no le decimos explícitamente a la capa que aprenda a detectar bordes, ojos, nariz o caras. El modelo aprende a hacerlo por sí mismo. A diferencia de los modelos clásicos de aprendizaje automático.
fuente
Como área de investigación, el aprendizaje profundo es realmente solo un subcampo del aprendizaje automático, ya que el aprendizaje automático es un subcampo de la inteligencia artificial.
1) Aprendizaje de funciones sin supervisión
Conceptualmente, la primera diferencia principal entre " tradicional aprendizaje automático " (o " superficial ") y el aprendizaje profundo es el aprendizaje de características no supervisado.
Como ya sabes, entrenar con éxito un " tradicional modelo de aprendizaje automático " (ej .: SVM, XGBoost ...) solo es posible después de un procesamiento previo adecuado y una extracción juiciosa de las características para seleccionar información significativa de los datos. Es decir, los buenos vectores de características contienen características distintivas entre puntos de datos con diferentes etiquetas y consistentes entre puntos de datos con la misma etiqueta. La ingeniería de características es, por lo tanto, el proceso de selección manual de características por parte de expertos. Esta es una tarea muy importante pero tediosa para realizar.
El aprendizaje de características no supervisado es un proceso en el que el modelo mismo selecciona características automáticamente a través de la capacitación. La topología de una red neuronal organizada en capas conectadas entre sí tiene la buena propiedad de asignar una representación de bajo nivel de los datos a una representación de nivel superior. A través del entrenamiento, la red puede " decidir " qué parte de los datos importa y qué parte de los datos no. Esto es particularmente interesante en la visión artificial o el procesamiento del lenguaje natural, donde es bastante difícil seleccionar manualmente o diseñar funciones robustas.
(créditos de la imagen: Tony Beltramelli)
Como ejemplo, supongamos que queremos clasificar las imágenes de gatos. Usando una red neuronal profunda, podemos alimentar los valores de píxeles sin procesar que se asignarán a un conjunto de pesos por la primera capa, luego estos pesos se asignarán a otros pesos por la segunda capa, hasta que la última capa permita algunos pesos a ser mapeado a números que representan su problema. (Ej: en este caso la probabilidad de que la imagen contenga un gato)
A pesar de que Deep Neural Networks puede realizar el aprendizaje de funciones sin supervisión, no le impide realizar Ingeniería de funciones usted mismo para representar mejor su problema. ¡El aprendizaje de características no supervisado, la extracción de características y la ingeniería de características no se excluyen mutuamente!
Fuentes:
2) Separabilidad lineal
Las redes neuronales profundas pueden resolver algunos problemas separables de forma no lineal al doblar el espacio de características de modo que las características se vuelvan linealmente separables. Una vez más, esto es posible gracias a la topología de red organizada en capas que asignan entradas a nuevas representaciones de los datos.
(créditos de la imagen: Christopher Olah)
Fuentes: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
3) Invarianza estadística
Por último, las redes neuronales profundas están superando los algoritmos tradicionales de aprendizaje automático en algunos dominios porque algunas arquitecturas muestran la invariancia estadística (por ejemplo, la invariabilidad estadística espacial con redes neuronales convolucionales y la invariabilidad estadística temporal con redes neuronales recurrentes)
Mira este video de Udacity para más detalles: https://www.youtube.com/watch?v=5PH2Vot-tD4
fuente
Inspirado por Einstein, "" Si no puedes explicárselo a un niño de seis años, no lo entiendes tú mismo ".
Todas las respuestas anteriores están muy bien explicadas, pero si uno está buscando una diferencia abstracta fácil de recordar, aquí está la mejor que conozco:
Fuente. Por supuesto, hay mucho más, pero para los principiantes puede ser demasiado confuso.
fuente
De acuerdo, piénsalo así. En los algoritmos de aprendizaje automático, como la regresión lineal o el bosque aleatorio, le da a los algoritmos un conjunto de características y el objetivo y luego intenta minimizar la función de costo, por lo que no aprende ninguna característica nueva, solo aprende los pesos. Ahora, cuando llegas al aprendizaje profundo, tienes al menos una, (casi siempre más) capa oculta con un número determinado de unidades, estas son las características de las que se habla. Por lo tanto, un algoritmo de aprendizaje profundo no solo aprende los conjuntos de pesos, en ese proceso también aprende los valores de las unidades ocultas, que son características complejas de alto nivel de los datos triviales que ha proporcionado. Por lo tanto, mientras practica el aprendizaje automático de vainilla, una gran experiencia radica en su capacidad para diseñar funciones porque el algoritmo no aprende ninguna por sí mismo. Espero haber respondido tu pregunta.
fuente