Primero, el aprendizaje profundo es parte del aprendizaje automático. Entonces, la pregunta debería decir: “¿Cuáles son algunas de las cosas que los algoritmos convencionales de aprendizaje automático pueden hacer pero el aprendizaje profundo no puede hacer?”
Ahora, comparemos SVM, un algoritmo ML convencional, con aprendizaje profundo. Como dice el dicho hindi, “¡No tires la aguja cuando consigas una espada!”
Recientemente se ha demostrado que las redes neuronales son mejores que las SVM en diversas tareas, pero aquí hay un claro sesgo de observación. Las redes neuronales están en tendencia en estos días. Si tiene una tarea en la que puede entrenar a un NN que funciona mejor que los SVM, puede publicar un documento. Por otro lado, si tiene una tarea donde las SVM funcionan mejor que las NN, no podrá publicarla. Entonces solo escuchará un lado de la historia.
- ¿La complejidad de los algoritmos de clasificación está relacionada con la cantidad de suposiciones que hago? ¿Por qué?
- ¿Cuáles son los factores que afectan la tasa de error en el algoritmo KNN?
- ¿Los algoritmos están sesgados inherentemente hacia las opiniones subjetivas de sus creadores humanos?
- ¿Qué algoritmos puedo usar para predecir la temperatura o dichos parámetros en función de sus datos históricos?
- ¿Qué hay de malo en mi implementación de tipo de fusión?
Ahora, hay algunas limitaciones obvias de NN en comparación con SVM:
- Hambre de datos : para entrenar NNs, necesita grandes cantidades de datos. ¿Qué haces cuando tienes muy pocos datos? Aquí hay un conjunto estándar de conjuntos de datos de referencia: UCI Machine Learning Repository: conjuntos de datos. Elija cualquier conjunto de datos de este conjunto con menos de 1000 ejemplos de entrenamiento e intente entrenar un NN que supere a SVM en esos datos por un amplio margen. Este es, con mucho, el punto más importante en mi opinión.
- Gran requisito de recursos computacionales : no puede hacer mucho con NN a menos que tenga GPU. Por otro lado, puede entrenar SVM en máquinas personales sin GPU.
- Las CNN requieren propiedad espacial : la operación de convolución realiza una operación en un conjunto de píxeles o una secuencia de palabras / señales de audio cercanas. Mezclar los píxeles / palabras / señales de audio cambiará completamente la salida de la CNN. Es decir, el orden de las características es importante o, en otras palabras, la convolución es una operación “espacial”. Las SVM no se ven afectadas por la combinación aleatoria de funciones. Por lo tanto, los problemas que no tienen la propiedad espacial no se beneficiarán de las CNN.
- Optimización de parámetros no trivial : ya he discutido este problema en detalle en otra respuesta. Para SVM, solo necesita ajustar 2–3 parámetros.
- Menos interpretable : muchas veces, tiene poca idea de lo que está sucediendo dentro de la red, en particular, en las capas más cercanas a la salida. Esto nuevamente los hace más difíciles de mejorar, ya que no sabes mucho sobre lo que está mal. Las SVM pueden no ser completamente interpretables tampoco, pero son más interpretables que las NN.
- Configuración más larga : a menos que esté haciendo algo muy similar a ImageNet, no encontrará un modelo previamente entrenado en la web. Por lo tanto, tendrá que escribir una cantidad significativa de código para capacitar y evaluar un modelo NN razonable, incluso cuando se base en los marcos de aprendizaje profundo estándar. Con SVM, solo descarga LibSVM y puede comenzar a entrenar sus modelos en unos minutos.
La idea no es minimizar NNs vs SVMs. Volviendo a la analogía en el pareado hindi anterior, estos son algoritmos que son similares, pero uno no puede reemplazar al otro por el momento.
Por supuesto, se ha demostrado que el aprendizaje profundo es bueno para las tareas de aprendizaje supervisado, y recientemente se ha aplicado al aprendizaje no supervisado. Hay muchos problemas en ML que no entran en estas categorías, por lo que el aprendizaje profundo no es particularmente útil allí. Por ejemplo, los problemas en el aprendizaje por refuerzo se resuelven utilizando los procesos de decisión de Markov. Reemplazar eso con aprendizaje profundo no es trivial.