Depende de su definición de “código”. El código, como la mayoría de los ingenieros de software sabe, es un lenguaje de programación, un lenguaje “comprensible para los humanos” que se utiliza para interconectar los dos mundos. La mayoría de los lenguajes, como C / C ++, se compilan en instrucciones de montaje que, por consiguiente, se convierten en instrucciones de la máquina. Sin embargo, un modelo de adaptación dinámica generalmente está compuesto de “parámetros”. Los últimos avances en la IA han usado “Redes neuronales profundas” para “entrenar” algoritmos que pueden reconocer imágenes, habla, videos, idioma, lo que se le asigna a una etiqueta específica (clasificación) o un rango específico (regresión). Sin embargo, las redes neuronales profundas están tomando lentamente todo el código del lenguaje de programación al sustituirlo por matemáticas, funciones matemáticas puras que luego se convierten directamente en código de máquina. Así que los algoritmos en sí mismos están entrenados en los datos, por lo tanto, los datos y la aleatoriedad (naturaleza estocástica de tales sistemas) es lo que influye en cómo el algoritmo hace las cosas. También una gazzillona otras cosas como la arquitectura y los modelos hiperparámetros influyen en eso, pero una arquitectura cuidadosamente seleccionada puede alcanzar niveles humanos en muchas de las tareas (visión, habla, aprendizaje por refuerzo, etc.). Ha habido intentos de que las redes neuronales profundas aprendan “programas”, no solo algoritmos, sino programas completos que pueden hacer cosas complicadas. Echa un vistazo a estos papeles.
[1509.06461] Aprendizaje de refuerzo profundo con doble aprendizaje Q
[1511.06581] Arquitecturas de red en duelo para un aprendizaje de refuerzo profundo
[1511.06279] Programadores e intérpretes neuronales
- ¿Por qué la verdad está generalmente en manos de la minoría de personas?
- ¿Cuáles son algunas similitudes sorprendentes en las filosofías de Tyler Durden y The Joker?
- Cómo empezar a leer la filosofía védica.
- ¿Los humanos tienen libre albedrío en un sentido más profundo? ¿Tienen libre albedrío para “elegir” lo que elegirán o “pensar” lo que pensarán?
- ¿En qué se diferencia el conocimiento de la opinión?
[1511.08228] Las GPUs neuronales aprenden algoritmos
Estos documentos muestran cómo enseñar a una máquina a aprender programas, puede restringir su capacidad por los datos que le proporciona, o en el caso de los 2 principales, por el sistema de objetivo / recompensa que implementa en el sistema.
¿Puede una máquina aprender a operar fuera de su programa normal?
Si el programa en sí es un algoritmo de aprendizaje, entonces podría potencialmente cambiar todo excepto el algoritmo de aprendizaje, que son las piezas de construcción de todo lo demás.
Si el programa no es un algoritmo de aprendizaje, es probable que el sistema no pueda reprogramarse.
Estos son solo una pequeña parte de un campo grande y complejo. Para obtener más información, vaya a google scholar y busque aprendizaje de refuerzo profundo o programadores neuronales.
Un buen ejemplo de este tipo de técnicas es, de hecho, la máquina que hoy acaba de superar al número 2 en el mundo en Go.