Divulgación completa: no soy un viajero del tiempo del futuro, por lo que estoy respondiendo a esta pregunta con algunas especulaciones semi educadas. Y es una especulación larga que comienza con un ejemplo motivador, así que quédese con él si está interesado.
La investigación de la visión por computadora ha tenido en mente el objetivo de generar datos visuales plausibles. Puede mirar hacia atrás unos años y ver el trabajo sobre la transferencia de texturas a las imágenes, la aplicación de MRF para restaurar pinturas antiguas y muchos otros. Sin embargo, las redes adversas generativas (GAN) han aportado el estado del arte de:
- ¿Cómo debería un estudiante de CS típico comenzar a aprender IA? ¿Cuál debería ser el orden de los temas (principales)? ¿Hay algún requisito previo?
- Si una empresa no estuviera limitada por ningún tipo de recursos, ¿cómo haría para crear la IA más inteligente?
- ¿Qué es lo primero que haría una IA superinteligente si fuera lanzada en este mundo?
- ¿Cómo obtengo un trabajo de nivel de entrada / independiente en el aprendizaje automático? ¿Cuál es una hoja de ruta general de lo que necesito saber y hacer para obtener un ingreso inicial en este campo?
- ¿Dónde está el mejor lugar para comenzar a investigar el aprendizaje automático en inteligencia artificial?
a:
Las GAN son emocionantes para mí, no solo porque funcionan tan bien, sino también porque están capacitadas en función de la interacción de múltiples agentes. Me imagino que en el futuro, la investigación en aprendizaje profundo se generalizará desde redes codificadoras / decodificadoras resolviendo problemas de minimax hasta redes de redes más complicadas. Una vez que comencemos a llegar a acuerdos tan complicados, será cada vez menos sostenible entrenar todo desde cero en un programa monolítico.
En lenguajes de programación de alto nivel, el código a menudo comenzará con declaraciones como “import numpy as np” en lugar de definir estas cosas nosotros mismos. Y si no tenemos instalado numpy, ejecutamos “instalación de pip numpy” en nuestros shells y un administrador de paquetes lo instala. Sin embargo, la última vez que usé un vggnet como parte de una nueva arquitectura, escribí lo que quise decir con un vggnet en términos de operaciones de tensorflow, y tuve que obtener pesos pre entrenados en imagenet desde alguna página de github. La próxima vez que necesite hacer algo así, bien podría estar diciendo “importar vggnet” en mi código, y si vggnet no está en mi entorno, usaré algún tipo de administrador de paquetes “deep-pkg install vggnet”.
Sin embargo, una gran diferencia entre el código y los parámetros de las redes neuronales es que este último ocupa mucho más espacio. Es posible que no sea posible ejecutar una gran cantidad de comandos de “instalación profunda de paquetes” en nuestras propias máquinas, por lo que es probable que ejecutemos nuestro código que requiere dichas importaciones en grandes grupos administrados por grandes empresas. Tensorflow está diseñado para integrarse bien con los servicios en la nube de Google, por lo que en respuesta a su pregunta, creo que tensorflow (o herramientas como esta) será especialmente fácil de usar para los modelos de tipo de red de redes altamente modulares que espero que vengan .