¿Se automatizará el trabajo de ingeniero de software debido a las máquinas de tural neural y el aprendizaje profundo?

Puede suceder eventualmente, pero luego será el último trabajo en ser automatizado.

¿Por qué?

Mientras existan otros trabajos, los ingenieros de software siempre encontrarán algo para optimizar y automatizar. (Otra pregunta surge sobre si queremos vivir en el mundo donde todo está optimizado y automatizado, pero esa es una historia completamente diferente).

No hay duda de que los trabajos de ingeniería de software sufrirán cambios significativos debido a la influencia del aprendizaje automático. Es probable que se desarrollen algunas herramientas que ayudarán a los programadores a (casi) deshacerse de su trabajo de rutina, como corregir errores o realizar pruebas. De hecho, ya se han hecho progresos destacados en este campo. Algunos avances recientes se pueden encontrar en los documentos:

  • DeepCoder: Aprendiendo a escribir programas
  • Síntesis del programa neuro-simbólico
  • RobustFill: Aprendizaje del programa neuronal bajo E / S ruidosa
  • Bayesian Sketch Learning para la síntesis del programa

Sin embargo, aparte de eso, muchos trabajos de ingeniería de software requieren bastante creatividad. Actualmente, las habilidades de las máquinas se limitan a lo que la gente les dijo que hicieran. No tome mis palabras literalmente: por supuesto, los ingenieros no programan instrucciones paso a paso a las máquinas exponiendo en detalle cada etapa de lo que debe hacer la máquina. En cambio, generalmente usan modelos razonables con capacidad de generalización y los entrenan. El proceso de entrenamiento a veces puede ser muy complicado e implicar aleatoriedad (por ejemplo, cuando se trata de ajustar parámetros a los datos a través del descenso de gradiente estocástico). Por lo tanto, los resultados producidos por un modelo y su rendimiento general pueden ser inesperados e incluso bastante sorprendentes. ¿Tiene algo que ver con una creatividad real? Bien quizás. De todos modos, en última instancia, lo que cualquier programa creado por humanos intenta hacer es resolver un problema específico utilizando un modelo específico proporcionado por humanos.

Esta es una limitación significativa de la IA actual. Para diseñar un sistema o un nuevo algoritmo, a veces, los ingenieros tienen que pensar fuera de la caja: generar ideas no estándar, realizar una investigación exhaustiva, hacer algunos cálculos, configurar los experimentos necesarios y analizar sus resultados. En mi opinión, si un programa de computadora es capaz de hacer algo como esto, significaría que hemos construido una IA “fuerte” real. Por ahora, puede parecer que no es realista, pero, teniendo en cuenta la velocidad del desarrollo tecnológico y las opiniones de algunos expertos en la materia, podría ser posible.

Por lo tanto, mi punto es que los ingenieros de software son irremplazables, al menos, hasta el punto en que la ciencia ficción sobre las máquinas “pensantes” se hace realidad.

(Una escena del Hombre Bicentenario )

Digo que no, al menos hasta que se logre una máquina de “superinteligencia” muy avanzada (o al menos a nivel humano). Hasta entonces, siempre necesitará que alguien traduzca el inglés a algoritmos. Con eso quiero decir que los gerentes y los clientes finales pueden decir lo que quieran, pero siempre es ambiguo y vago y alguien necesita decidir qué debe hacer exactamente la computadora en todas las circunstancias. Ciertamente, podría imaginar idiomas simplificándose un poco, ya que se pueden ocultar más minucias y detalles de la gestión de memoria / hilo / red, etc., pero no creo que haya una IA en el horizonte que pueda “leer entre líneas” con respecto a la lógica central, por lo que aún necesitaremos ingenieros de software para eso.

Si, absolutamente. Tan pronto como esos molestos científicos creen una plataforma lo suficientemente poderosa, y los informáticos creen el software capaz de escribir … Er, bueno, el software que escribirá el software que escribirá el … Oh, olvídalo, sabes lo que estoy intentando decir.

Nosotros, los ingenieros de software, tendremos algunas advertencias y algunas décadas después para entrenarnos para otra profesión. ¿Quizás ingenieros de sistemas de escritura de software?

Estas técnicas no son mágicas. No resuelven ningún problema que les das. Claro, hemos encontrado algunos dominios problemáticos donde les va extremadamente bien, pero aprender a codificar no es reconocer la visión. Necesitaríamos un paradigma ai mucho más capaz antes de que esto comience a ser un pensamiento realista.

Esas tecnologías específicas, no sin grandes avances en el estado del arte.

Es muy posible que muchos trabajos de ingeniería de software sean automatizados por la IA, pero es imposible saber si faltan 10, 50 o 100 años.

More Interesting

¿Cuál es la forma estándar de configurar la capacitación de una red neuronal para un trabajo de investigación?

¿Cómo afectará la IA el aprendizaje de idiomas y la traducción en los próximos cinco años?

¿Es la ética una consecuencia de la inteligencia? ¿Cuáles son las implicaciones de esta relación para el surgimiento de la inteligencia artificial?

¿Puede una red neuronal tener datos no estructurados y estructurados al mismo tiempo que una entrada (por ejemplo, si uno está usando el NN para la atención médica)?

¿Cómo sabemos cuándo entramos en la economía de la automatización donde la inteligencia artificial impregna nuestras ciudades como la fuerza impulsora de la productividad?

¿Cuáles son algunos buenos chistes de aprendizaje automático?

Cómo dar sentido a estar vivo

¿Qué debo hacer para ingresar al equipo DeepMind de Google?

¿Debería evaluarse un modelo de red neuronal en función del porcentaje de pronósticos que hacen una predicción correcta, en lugar de medidas basadas en términos de error?

¿Qué es el aprendizaje de refuerzo recurrente?

¿La inteligencia artificial jugará un papel clave en la creación de buenos servicios al cliente?

¿Qué tan bueno debe ser un programador para codificar la inteligencia artificial?

¿Cómo afecta la automatización de IA en la ingeniería aeroespacial?

¿Podemos construir un órgano biónico para el lenguaje?

¿Debería AI convertirse en un jugador político? Por ejemplo, en el futuro, ¿deberían los políticos tener que debatir con AI que calcula presupuestos y políticas?