¿Cuáles son algunas de las cosas que los algoritmos de aprendizaje automático pueden hacer pero los algoritmos de aprendizaje profundo no pueden hacer?

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.

Ahora, hay algunas limitaciones obvias de NN en comparación con SVM:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Danos intuición sobre por qué funcionan y cómo están funcionando.

More Interesting

¿Qué es un algoritmo para emparejar 18 personas en los 816 grupos posibles de 3 con 6 grupos a la vez?

¿Dónde puedo estudiar bien los algoritmos y las estructuras de datos?

¿Por qué los finalistas de Topcoder no comparten su experiencia en los tutoriales de YouTube para principiantes? Cualquier principiante agradecería la ayuda para desarrollar sus habilidades para resolver problemas.

¿Cuáles son los algoritmos gráficos 'imprescindibles' para un programador competitivo?

¿Cuál es el enfoque algorítmico para el problema spoj SPOJ.com - Problema ROBOTGRI?

Cómo mejorar en la resolución de problemas para JEE

Cómo escribir una matriz de distancia para el algoritmo Bellman Ford

¿Qué algoritmo se debe usar para encontrar que hay una conexión en cada dos vértices en un gráfico dirigido?

¿Cuál es el mejor algoritmo para calcular automáticamente un puntaje de crédito?

Programación competitiva: ¿Se pueden resolver todos los problemas de Fenwick Tree con Segment Tree?

¿Cuál es el algoritmo más ineficiente para los estándares actuales que se usa ampliamente en la industria?

¿Cuáles son algunas optimizaciones comunes que los clientes de GPS como Google Maps usan además de los algoritmos elementales de ruta más corta como la búsqueda A *?

¿Es difícil implementar un árbol de radix? Si es así, ¿por qué?

¿Cuántos números debajo de [matemática] 10 ^ n [/ matemática] hay cuyos dígitos suman [matemática] [/ matemática]?

¿Conoces alguna biblioteca de diario E2PROM que pueda usarse en controladores de 8 bits o al menos un algoritmo para hacerlo?