Mi experiencia práctica ha sido que las redes neuronales casi siempre tienen un rendimiento inferior a los enfoques que tienen bases estadísticas más sólidas y tienden a ser más difíciles de trabajar, por las siguientes razones.
- Las redes neuronales no son martillos mágicos. Muchos todavía consideran que las redes neuronales son martillos mágicos que pueden resolver cualquier problema de aprendizaje automático, y como resultado, las personas tienden a aplicarlas indiscriminadamente a problemas para los que no están bien preparados. Aunque las redes neuronales tienen un historial comprobado de éxito para ciertos dominios de problemas específicos, como consumidor de tecnología de aprendizaje automático, casi siempre es mejor usar enfoques que tengan bases teóricas más sólidas, en lugar de simplemente lanzar una red neuronal de propósito general a su problema y esperando lo mejor. Intente comprender y simplificar su problema lo mejor que pueda primero, y luego busque técnicas que tengan una estructura que coincida con su problema.
- Las redes neuronales son demasiado de una caja negra. Esto tiene varias consecuencias. Los hace difíciles de entrenar: el resultado del entrenamiento puede ser no determinista y depender crucialmente de la elección de los parámetros iniciales, por ejemplo, el punto de partida para el descenso del gradiente al entrenar redes de propagación. Les hace difícil determinar cómo están resolviendo un problema, porque son opacos. Hace que sea difícil solucionar problemas cuando no funcionan como espera, y cuando funcionan, nunca se sentirá realmente seguro de que se generalizarán bien a los datos no incluidos en su conjunto de capacitación porque, fundamentalmente, no comprende cómo su red está resolviendo el problema, o qué idiosincrasias de los datos de entrenamiento a los que la red se ha adaptado demasiado. Para un ejemplo clásico de esto, vea este artículo sobre los intentos del Pentágono en la década de 1980 de usar redes neuronales para detectar tanques en imágenes: Neural Network Follies.
- Las redes neuronales no son probabilísticas. En su mayor parte, las NN tienen pocos o ningún apuntalamiento probabilístico, a diferencia de sus contrapartes más estadísticas o bayesianas. Es increíblemente útil saber qué tan seguro está su clasificador sobre sus respuestas porque esa información le permite administrar mejor el costo de cometer errores al ajustar su clasificador. Una red neuronal puede darle un número continuo como su salida (por ejemplo, una puntuación), pero traducir eso en una probabilidad a menudo es difícil. Los enfoques con fundamentos teóricos más sólidos generalmente le dan esas probabilidades directamente.
- Las redes neuronales no son un sustituto para comprender el problema en profundidad. En lugar de invertir su tiempo lanzando una red neuronal al problema, casi siempre es mejor invertir un poco más de tiempo estudiando, analizando y diseccionando sus datos primero, luego utilizando su mejor comprensión para elegir una técnica con fundamentos teóricos más sólidos, una técnica que ahora tendrá más confianza funcionará bien para su problema. Por ejemplo, si está creando un clasificador, en lugar de simplemente lanzar una red neuronal de respaldo a sus datos y esperar lo mejor, pase tiempo visualizando los datos y seleccionando o creando las mejores características de entrada utilizando cualquier conocimiento y experiencia específicos del dominio tienes a tu disposición. Puede descubrir que puede diferenciar claramente entre sus clases de entrenamiento usando solo tres de sus diez características originales, por ejemplo, o que necesita desarrollar una función derivada no lineal más sofisticada para separar mejor sus clases, y esos descubrimientos a menudo serán guiados por su conocimiento de la estructura natural en los datos. En última instancia, por ejemplo, podría terminar usando un modelo de mezcla gaussiana (GMM) para modelar directamente la función de densidad de sus clases, lo que le permitirá usar el teorema de Bayes para deducir las probabilidades de clase y darle un mejor clasificador del que podría haber construido usando una red neuronal.