La mayoría de las competencias de Kaggle ‘actualmente’ no se ganan utilizando técnicas de aprendizaje profundo. Esto significa que los métodos tradicionales superan a las redes neuronales profundas todo el tiempo . Hay un aumento en el uso de aprendizaje profundo con la proliferación de GPU domésticas más baratas, acceso a cómputo en la nube más barato y mejores modelos pre-entrenados.
Hay 3 casos en los que el canal de aprendizaje profundo funciona mal en comparación con los métodos tradicionales:
- Si los datos son estructurados o limitados , los datos estructurados permiten que un humano extraiga buenas características en relativamente poco tiempo en comparación con una red profunda y con muchos menos datos. Combinado con modelos suficientemente buenos (por ejemplo, árboles impulsados por gradiente), esto puede permitirle lograr una precisión satisfactoria. Cuando hablamos de datos no estructurados: imágenes, audio, video, etc. Una red profunda combinada con amplios datos y suficiente tiempo y potencia informática: la red presentará mejores características que un ser humano.
- Limitaciones de tiempo y escala: el trabajo serio de aprendizaje profundo se realiza a escala y es difícil. Considere entrenar algo como imagenet o discurso profundo 2. Esto no es algo que el estudiante promedio de investigación con un Titan X pueda hacer en un marco de tiempo práctico. Necesita HPC y los ingenieros de datos lo configuran con toda la infraestructura de big data que necesita, luego prepara y alimenta tediosamente toda su tubería de big data en su algoritmo de entrenamiento distribuido. Luego, espere días (¡o más!) Antes de que su modelo alcance un rendimiento aceptable. Su ejemplo de confrontación es un científico de datos experimentado que selecciona algunas características extravagantes y proporciona una precisión ‘suficientemente buena’ con algo como XGBoost en pocos días de trabajo.
- Limitación de hardware (generalmente memoria) : el aprendizaje profundo hoy en día es muy limitado en memoria. Por ejemplo, en el procesamiento de imágenes, la mayoría de las redes funcionan en tamaños de 224 × 224 ~ 300 × 300. El trabajo en video se ve extremadamente obstaculizado por las limitaciones de memoria. Un algoritmo ‘tradicional’ que realiza la extracción de características de ingeniería humana sabiendo que puede hacer zoom en las características correctas puede brindarle una gran ventaja sobre un algoritmo profundo. Usando mi ejemplo de procesamiento de imágenes, el enfoque común es reducir la imagen y perder resolución o trabajar en un solo parche local a la vez y perder el contexto. Por lo tanto, no ve que los algoritmos de aprendizaje profundo clasifiquen muchas imágenes de megapíxeles en el corto plazo. La excepción a la regla es la disponibilidad de supercomputadoras y técnicas de capacitación distribuidas más novedosas. Pero, nuevamente, esto no es algo que esté ampliamente disponible.
- Cómo evaluar mi modelo cada época en TensorFlow
- ¿Cuál es el estándar de JMLR contra documentos en ICML y NIPS?
- ¿Alguien puede darme un mapa para aprender Deep learning?
- Cómo detectar objetos superpuestos casi circulares en MATLAB
- ¿Qué se entiende por agrupamiento jerárquico aglomerativo?