¿Cuánto tiempo llevaría pasar del conocimiento de programación cero a la construcción de aplicaciones básicas de IA estrechas?

Pruebe esta página – Página de inicio de Ken. La página de Ken incluye una lista de software escrito por fanáticos (con código fuente en la mayoría de los casos), incluida una versión de Python, que utiliza su enfoque de la inteligencia artificial para realizar algunas hazañas notables.

Kenneth Stanley es profesor asistente en la Universidad de Florida, quien hizo un avance revolucionario en la tecnología de IA.

Hay dos enfoques poderosos para la inteligencia artificial, algoritmos evolutivos y redes neuronales.

Los algoritmos evolutivos intentan emular la evolución natural, definiendo una serie de rasgos y ensamblando aleatoriamente esos rasgos en un conjunto de individuos. Luego se evalúa a los individuos para determinar su “estado físico”: qué tan bien pasan una prueba. Las personas con los mejores puntajes son luego “cruzadas” (cortadas en pedazos y unidas con piezas de otros individuos exitosos) en un proceso que es muy similar a la reproducción sexual: la idea es que los mejores rasgos de los individuos “padres” se combinen , en niños aún más fuertes.

Las redes neuronales funcionan de manera muy similar al cerebro: se obtiene una red de “neuronas” y un conjunto de conexiones entre las neuronas. Algunas de esas conexiones reciben información de lo que está tratando de analizar, algunas producen una salida, que se interpreta para recibir el resultado, o salidas que controlan algún aspecto del análisis (por ejemplo, si escanea una habitación, algunas “salidas” de neuronas podrían controlar La dirección de la cámara).

Todo comienza un poco al azar: la idea es cambiar las conexiones y los pesos de conexión de alguna manera para ayudar a las neuronas a encontrar una solución.

Entonces, ¿por qué no combinar algoritmos evolutivos y redes neuronales? Parece obvio, ¿verdad? Las neuronas podrían comenzar completamente al azar, pero las características de las redes neuronales individuales podrían definirse como “genes” y mejorarse utilizando un algoritmo evolutivo.

El problema era que nadie sabía cómo hacer esto: las redes neuronales son tan diferentes entre sí que cuando se trata de la reproducción sexual, cortando redes por la mitad e injertando las piezas, con demasiada frecuencia terminaron con un desorden revuelto. Las posibilidades de crear una mejor red eran demasiado bajas para ser prácticas.

Ken encontró una manera de arreglar esto, encontró una forma de sacar el orden del caos, por lo que ahora podemos usar algoritmos evolutivos para mejorar las redes neuronales.

Parte del software de Ken está listo para usar, funciona de forma inmediata, por lo que puede construir el software, ejecutarlo, luego estudiar y aprender cómo funciona desde el interior.

Habiendo dicho que el código AI es bastante avanzado, le recomiendo encarecidamente que haga algunos tutoriales, tal vez algunos cursos, antes de tomarse muy en serio el intento de comprender el código en los paquetes NEAT neural net AI.

Este tipo de preguntas son comunes en Quora, pero en realidad no se pueden responder.

  1. Nadie sabe quién eres, tal vez eres muy trabajador, o tal vez en el momento en que encuentras un error de sintaxis, estás fuera de Netflix.
  2. Incluso la IA estrecha puede ir de bastante básica a bastante avanzada. Algunas ‘AI’ encontrarán canciones que te pueden gustar, pero todo lo que está haciendo es mirar los metadatos de ‘género’ en un MP3 y encontrar otras canciones en ese género, son 10 minutos de trabajo.
  3. ¿Por qué te importa cuánto tiempo te llevará? Si alguien dice “6 meses”, ¿ni siquiera lo intentarás? Eso es seguro, no la actitud que necesitarás para tener éxito en la programación.

No “quieres” aprender Python, ¿por qué quieres aprender y no aprender ? Python es gratis, y se ejecutará en un hardware realmente viejo y basura. No quiero aprender, solo aprende .

El software de IA se trata realmente de las técnicas de programación que se derivan de la investigación académica, como las redes neuronales, la representación del conocimiento, el aprendizaje estadístico, etc. Es importante comenzar con eso.

Las técnicas que aprende se pueden implementar en casi cualquier tipo de lenguaje de programación, aunque algunas pueden ser más adecuadas que otras.

Entonces, la respuesta a su pregunta es: depende de cuánto tiempo le lleve aprender las técnicas fundamentales. Es un plan de estudios sustancial. Puede llevarle muchos meses o más de un año obtener la base mínima.

Entonces, puedes preocuparte por la programación.

Mes más o menos con la práctica diaria. Tome un buen libro y termínelo, siga su progreso en github.