Creo que esto es difícil de responder con certeza.
Pero me arriesgaría a adivinar y diría que ninguna programación de computadora no será reemplazada (completamente) por el aprendizaje automático.
Sin embargo, la forma en que desarrollamos / programamos el software seguramente cambiará.
- ¿Por qué el aprendizaje por refuerzo no era popular antes de que el aprendizaje profundo apareciera en escena?
- ¿Por qué debería usar TensorFlow sobre NumPy o scikit-learn para construir redes neuronales (excepto para CPU o GPU)?
- ¿Cuáles son los límites de los modelos ocultos de Markov en la minería de texto?
- ¿Qué métodos (sin supervisión) deberían usarse para la categorización jerárquica automática de documentos?
- ¿Cuáles son las mejores medidas de rendimiento para un modelo de detección de anomalías?
Por ejemplo, Andrej Karpathy (Director de IA en Tesla) recientemente escribió una publicación (Software 2.0) sobre cómo las Redes Neurales son un nuevo tipo de software.
El software 2.0 está escrito en pesos de redes neuronales. Ningún humano está involucrado en escribir este código porque hay muchos pesos … y codificar directamente en pesos es un poco difícil … En cambio, especificamos algunas restricciones sobre el comportamiento de un programa deseable (por ejemplo, un conjunto de datos de pares de ejemplos de entrada y salida) ) y utilice los recursos computacionales a nuestra disposición para buscar en el espacio del programa un programa que satisfaga las restricciones. …
Resulta que una gran parte de los problemas del mundo real tienen la propiedad de que es significativamente más fácil recopilar los datos que escribir explícitamente el programa. Una gran parte de los programadores del mañana no mantienen repositorios de software complejos, escriben programas complejos o analizan sus tiempos de ejecución. Recopilan, limpian, manipulan, etiquetan, analizan y visualizan datos que alimentan redes neuronales.
Entonces, en cierto modo, está diciendo que el papel del programador se desplazará más hacia la manipulación de datos en lugar del código.
Por supuesto, ha habido refutaciones sobre esta afirmación (ver ¿Es Deep Learning “Software 2.0”?) Y, en general, es una discusión interesante.
Pero sí, por ahora, solo podemos decir que la programación de computadoras será / está siendo cambiada por el aprendizaje automático.