Cómo crear una IA en Python

Me alegra que pienses que se puede crear una IA en Python. Bueno, una IA es independiente del lenguaje, pero Python ciertamente es la forma más fácil de sortear la construcción de una con gran apoyo de la comunidad y bibliotecas robustas como scikit, pandas, integraciones numpy y sin problemas con marcos de aprendizaje profundo como TensorFlow y Pytorch.

Analicemos la creación de un software con respecto a las normas SDLC.

  1. Análisis: Primero debes decidir qué quieres construir. Puede ser un simple proyecto de automatización del hogar o un asistente personal complejo de nivel Jarvis. Decidir lo que quiere y apegarse a él es como poner la primera piedra de un edificio porque si no tiene claro lo que quiere construir, se desmoronará en las etapas posteriores como un castillo de naipes.
  2. Diseño: una vez que tenga claro lo que desea construir, diseñe cada caso de uso y asigne todos los recursos (GPU / procesadores pesados ​​si su proyecto es muy intensivo, debe comprender la importancia del hardware que le ahorra mucho tiempo) a largo plazo). Decide qué pila usarás. Ahora aquí viene tu amor por Python. Si estás empeñado en hacer tu IA en Python, bueno, debes hacer que todo lo que quieras gire a su alrededor. Entonces no puede cambiar a marcos basados ​​en Scala o Java que podrían ser más adecuados para su diseño de IA. Entonces, como dije, mantén una mente abierta en términos de lenguaje para usar, si tu visión y conceptos básicos son claros, aprenderás a codificar en todos los idiomas que necesites para hacerlo (necesitarás C / Assembly si quieres trabaje en microcontroladores, algunos conceptos de redes para comprender cómo interactúan los datos con su software y hardware y optimizaciones rudimentarias en términos de las bibliotecas que decida usar)
  3. Codificación: si le da el tiempo adecuado para pensar en todos los problemas en las dos fases anteriores, la codificación será más fluida y más fácil de depurar porque sabrá qué encontrar y qué codificar. Saber qué codificar es la mitad de la batalla. El descanso es tu conjunto de habilidades. Para la IA relacionada con la visión por computadora, deberá trabajar con OpenCV, para la PNL debe comprender los contextos y la jerga, y para descansar, el stackoverflow y Github deberían guiarlo si busca bien. Una cosa que olvidé mencionar, que es opcional, es buscar documentos de investigación que ya hayan formulado la hipótesis de algunas de sus subtareas. Algunos documentos ya lo han implementado y otros facilitan la comprensión de lo que debe codificarse. Hace que su conocimiento de IA crezca y ajuste su sistema.
  4. Pruebas y depuración: bueno, Turing Prueba el rendimiento de tu IA o toma tantas iteraciones en tiempo real como quieras y verifica la precisión. Esta etapa es muy importante ya que aprenderá mucho sobre el entorno en el que trabajará su IA. Consulte a expertos en dominios para mejorar la precisión y reitere hasta que logre sus objetivos establecidos.
  5. Implementación e integraciones: la IA es tan buena como muerta en su máquina local. El verdadero desafío radica en su aceptación en el mundo real. Impleméntelo en un sitio web o proporcione una API que permita a las personas usar sus funciones o crear un prototipo de su sistema de automatización y obtener permisos para realizar una ejecución en seco en algunos lugares. Después de todo, debería ser capaz de ayudar a los humanos y no reemplazarlos porque si sentimos que nos está reemplazando a nosotros, no lo aceptaremos en la sociedad.
  6. Mantenimiento: si implementa bien y las personas lo aceptan, obtendrá información valiosa de los usuarios y también podrá realizar un seguimiento de su rendimiento o los problemas que enfrenta. Este es un proceso de por vida, siempre y cuando crea que su IA está resolviendo un problema de la vida real y tenga la fuerza de voluntad para expandirlo y mantenerlo.

Ahora sé que estabas buscando algunas ideas para proyectos en Python y How Tos e AI para tutoriales de nivel de dummies. Comience con los cursos / proyectos básicos mencionados en los cursos en Udacity / Coursera / Udemy. Dirígete a github y revisa algunas ideas implementadas / medio astutas para que te ayuden a hacerte pensar en la dirección correcta. Dirígete a freecodecamp y a sitios como kickstarter y sitios financiados por crowdsource para ver el crecimiento de la automatización en los productos diarios y los industriales.

Si creó un programa que puede predecir la salida para una entrada sin usar muchas cláusulas if else y usó algunos valores constantes para la agrupación / agrupación, entonces es una Inteligencia Artificial. Puede que no sea perfecto como AI que conociste o usaste en Internet, básicamente eso es.
La Inteligencia Artificial es puramente una estructura matemática, tiende a duplicar o seguir cómo se comporta y piensa el organismo de inteligencia. En 1900 anteriores hasta ahora, el matemático y el informático crearon muchos algoritmos que imitan lo que hacen los animales, como la red neuronal, las partículas de enjambre, la ecolocalización de delfines y muchos más. Pero los famosos son la red neuronal artificial, el algoritmo genético y la lógica difusa.
Muchos algoritmos de inspiración biológica son un subconjunto de Algoritmo genético, y en realidad el Algoritmo genético es fácil de escribir en Python, ¡se puede lograr en menos de 20 líneas! Puede crear uno para la búsqueda de cadenas e intentar comparar con el método Brute Force, absolutamente GA es mucho más rápido que Brute Force.

Todo lo que necesita es un conjunto de genes, o un conjunto de caracteres elegidos al azar durante el proceso de evolución, y la evaluación de la aptitud también con resultados específicos. Ah, sí, es una técnica supervisada, necesita un resultado específico para evaluar el nivel de condición física del individuo en la población. El límite es, ¿cómo puede usar este algoritmo para calcular que algo no tiene la última salida preferida?

¿Qué hay de la red neuronal? Puede equiparse con procesos de aprendizaje supervisados ​​y no supervisados. Lo que realmente hace este algoritmo, tiene valores constantes en la capa oculta, y esta constante se ajusta totalmente a la salida de muestra dada.

Ejemplo, tiene 3 funciones lineales, que se utilizan para calcular el precio de la vivienda.

Al final, se sumarán tres, y esta suma es el precio de la vivienda.

1- [matemáticas] x = número de ventanas, k [/ matemáticas] como la constante de la ventana

2- [matemáticas] y = número de pisos, m [/ matemáticas] como la constante del piso

3- [matemáticas] z = número de habitaciones, l [/ matemáticas] como la habitación constante

[matemáticas] Precio de la casa = (x * k) + (y * m) + (z * l) [/ matemáticas]

Por lo tanto, tiene entradas de muestra para x, y, z y Precio de la casa para estas entradas.

x = 5, y = 2, z = 6, HousePrice = 50,000 (cualquier moneda).

Por lo tanto, estas entradas se alimentan en la red neuronal, y este NN instanciará un número flotante aleatorio para k, m, l, pero estas constantes cambiarán durante el proceso de aprendizaje para que estas constantes den casi el mismo valor que la salida. La evaluación de valores constantes puede usar la técnica Try and Error para aumentar o disminuir el valor de las constantes, ¡pero puede llevar una eternidad! debido a propiedades no deterministas.
Entonces, el matemático o informático utilizó la función de crecimiento para evaluar este proceso, los más utilizados son la función exponencial. Pero por qué exponencial, la constante e, = ~ 2.718281828. ¿Qué tiene de especial?

Representa un crecimiento constante del valor, que es el doble de cada tasa. Esta constante calculada por Euler. Tiene una función gráfica para el interés compuesto, [matemáticas] 1 * (1 + 1 / n) ^ (n) [/ matemáticas]. Si el interés se duplica cada mes, entonces el primer mes [matemática] 1 * (1 + 1/2) ^ (2) = 2.25 [/ matemática] Si sigue aumentando el valor n para el mes siguiente y posterior, el valor casi alcanzará e constante. Entonces la pendiente del gráfico aumentó a una tasa constante.

Porque si esta tasa constante, se usa para la función media en capas ocultas que se mantienen cada constante para que la función siga mejorando esos valores para que se ajuste a la salida dada.

El requisito para este algoritmo , comprender bien el cálculo y el propósito del mismo, la derivación y la integración son muy importantes. ¡Fácil de implementar en Python, porque tiene una biblioteca matemática numpy para Python y la dinámica del lenguaje! Totalmente básico de ANN puede escribir menos de 50 líneas, ¡y ya puede predecir el clima! Todo lo que necesita es entrada y salida de muestra y hacer que aprenda de las muestras dadas.

¿Qué tal el algoritmo de inspiración biológica? No veo ningún número o función gráfica utilizada en él. Las matemáticas no solo son números, estos algoritmos realmente imitan el estado de vida del organismo. La máquina también tiene su propio estado, llamado estado finito.

La cuestión es, ¿cómo vas a transformar el estado infinito de vida de algunos animales, por ejemplo, un delfín, estudias los estados de su proceso de ecolocación y los conviertes en estado finito, reduces esos estados infinitos en estados finitos que las máquinas pueden seguir. Después de terminar de construir los estados finitos, puede convertirlo en código de computadora usando la condición if else. Eso es lo que hacen los informáticos.

Estudie el estado infinito del organismo, recoja los estados importantes del elemento del conjunto de estado infinito, y organícelo bien y conviértase en el estado finito útil.

Ejemplo de nuevo, estados de doble cruce del algoritmo genético:

def double_crossover (first_parent, second_parent, geneSet, get_fitness):
genes = []

#Primer punto de cruce, la mitad (0-50%) de la longitud total del cromosoma
# al menos 5% del primer padre
lower_boundary = len (first_parent.Genes) * 0.05
# al menos el 45% del segundo padre
upper_boundary = (len (second_parent.Genes) / 2) – (len (second_parent.Genes) * 0.05)
# compartir al azar 5% -45% primer padre
number_random = random.randint (int (lower_boundary), int (upper_boundary))

while len (genes) genes.extend (first_parent.Genes [len (genes) -1])
while len (genes) genes.extend (second_parent.Genes [len (genes) -1])

# y así sucesivamente continúe abajo …

¡Qué fácil es escribir el estado del proceso del crossover usando Python, esto se hace por debajo de 40 líneas, o incluso puede ser más simple!

¡Lo importante es que debe comprender la abstracción de los estados biológicos para crear un algoritmo que imite esos estados!

Bueno, la Inteligencia Artificial simplemente es una estructura matemática.

La referencia “una IA” implica que está buscando una inteligencia consciente de sí misma que pueda aprender y desarrollarse genéricamente sobre sí misma. La tecnología subyacente no existe hoy. Las películas y el disfraz de Watson por parte de IBM para Jeopardy creo que han engañado a mucha gente al pensar que la tecnología está aquí o a la vuelta de la esquina. La verdad es que Watson ahora está rascando la parte del procesamiento del lenguaje natural de una manera convincente. Está utilizando un gran clúster y muchos ejemplos de lenguaje de Internet para hacer esto y sonar convincente. Dadas las estadísticas recopiladas del lenguaje generado por humanos en Internet que no fue difícil de trabajar en las limitaciones limitadas del programa de juegos. Ahora estamos viendo la consecuencia de eso en productos comerciales de Apple, Amazon y Google.

La industria ha dejado de usar el término Inteligencia Artificial (IA), ya que alude demasiado a las entidades ficticias y hace que parezca viable. Desde automóviles parlantes hasta mayordomos virtuales para multimillonarios, todos son ficción. El término Machine Learning (ML) se prefiere principalmente porque se trata de un subconjunto y una expectativa más pequeños. Un algoritmo que aprende a diferenciar entre 2 cosas está al alcance de la tecnología moderna para casi cualquier entrada (texto, audio, imágenes y video). Los conjuntos de clasificación más grandes se están volviendo buenos en limitaciones limitadas y están mejorando a la velocidad de ruptura del cuello (y a veces se adelantan y se rompen el cuello).

En la imagen de arriba, Google lanzó un sistema ML que cometió un error horrible con grandes repercusiones. El problema es que estos nuevos sistemas no son inteligencia, sino una gran colección de estados de capacitación que intentan mapear particiones de ejemplos a descripciones limitadas (palabras en este caso). Los algoritmos y tecnologías modernos pueden mapear millones a miles de millones de estados en estos espacios, pero la diversidad de capacitación no puede llenar todos los vacíos. Aquí es donde se reconoce la estática para gatos y similares. En los 18 meses transcurridos desde que lo anterior llegó a las noticias, el estado del arte en capacitación ha mejorado, pero ilustra la diferencia. ML es una partición súper avanzada, no AI.

¿Puedes resolver problemas del mundo real con ML? Sí, y Python es una de tus mejores opciones. Hay bibliotecas para acceder a algunas de las mejores opciones disponibles. Existe una PNL fuerte y es posible un reconocimiento de voz limitado. Estarás haciendo HAL, Kitt o Jarvis, no muy pronto y no hay un idioma que te lleve allí hoy.

Por supuesto, debe estar familiarizado con los conceptos de AI / ML y los conceptos básicos del lenguaje Python para poder crear AI usando Python.

Python tiene mucho soporte para IA y aprendizaje automático. Es ampliamente utilizado para el aprendizaje automático y la informática. Hay una serie de paquetes y plataformas disponibles para la implementación de AI en Python.

En primer lugar, instale Python. Puede hacerlo instalando Anaconda, la plataforma de análisis de código abierto. También debe instalar los paquetes necesarios para aprendizaje automático, NumPy, scikit-learn, iPython Notebook y matplotlib.

  • NumPy es un contenedor de datos genéricos. Contiene un objeto de matriz N-dimensional, herramientas para integrar código C / C ++, transformación de Fourier, capacidades de números aleatorios y otras funciones, NumPy es uno de los paquetes más útiles para la computación científica
  • pandas es una biblioteca de código abierto que proporciona a los usuarios estructuras de datos y herramientas analíticas fáciles de usar para Python.
  • Matplotlib es un servicio que proporciona una biblioteca de trazado 2D que crea cifras de calidad de publicación.
  • Scikit-learn es una herramienta eficiente para el análisis de datos. Es de código abierto y comercialmente utilizable. Es la biblioteca de aprendizaje automático de propósito general más popular.

Después de trabajar con scikit-learn, puede explorar la agrupación de k-means.

Los marcos de AI populares como Caffee y una biblioteca de Python Theano, Pytorth y Tensorflow proporcionan paquetes fáciles de usar en python para implementaciones de AI.

Hay bibliotecas de Python AI: AIMA, pyDatalog, SimpleAI, EasyAi, etc. También hay bibliotecas de Python para el aprendizaje automático: PyBrain, MDP, scikit, PyML. Si busca bibliotecas de procesamiento de texto y lenguaje natural, consulte NLTK.

Los siguientes son algunos enlaces útiles que puede probar:

Crear IA usando Python es más fácil de lo que piensas

PythonForArtificialIntelligence – Python Wiki

Para construir AI con Python, necesitas tener una comprensión básica de este lenguaje. Este no es solo un popular lenguaje de programación de propósito general. También se usa ampliamente para el aprendizaje automático y la informática. En primer lugar, instale Python. Puede hacerlo instalando Anaconda, la plataforma de análisis de código abierto. El siguiente paso es aumentar sus habilidades de aprendizaje automático. Es mejor comenzar adquiriendo conocimientos básicos de aprendizaje automático.

Para saber más puedes suscribirte a nuestro canal de youtube

Lo primero que debe saber es qué significa AI.

Bueno, no confundas AI con aprendizaje automático. Debido a que la IA es un campo más amplio y otras palabras de moda como el aprendizaje automático o el aprendizaje profundo son un subconjunto del concepto general conocido como IA. Entonces, ¿qué quieres decir exactamente con crear IA?

Esto es lo que creo que puedes hacer.

  1. Para el aprendizaje automático, Python proporciona varias bibliotecas. Scikit-learn puede leer y manipular datos con Pandas, la operación de matriz usando numpy, la visualización usando matplotlib, seaborn y finalmente construir el modelo de aprendizaje automático.
  2. Para el aprendizaje profundo también puede tener varias opciones. Se puede usar Keras, Tensorflow de Google es una buena opción para aplicaciones comerciales, pytorch se puede usar para hacer una buena investigación o también para crear aplicaciones.
  3. Para la visión por computadora, puede usar opencv con algunos marcos de aprendizaje profundo. Python tiene otras bibliotecas como dlib para el procesamiento de imágenes.
  4. Para la IA general, debe codificar las cosas desde cero. Aunque puede usar bibliotecas según sus necesidades y la que más le convenga.

Esto es lo que puedo decirte. Lea también otras respuestas o busque en Google proyectos o ideas que pueda construir.

¡Feliz aprendizaje!

El componente de Machine Learning del agente de Inteligencia Artificial , su algoritmo de aprendizaje podría muy bien construirse usando Python, con Tensorflow y Keras como marcos, y Jupyter Notebooks, para examinar y documentar su progreso.

Python es solo una herramienta en ese caso. Puede implementar AI en C #, Java, etc.

También hay bibliotecas que proporcionan implementación de redes neuronales. Primero debe definir el área del problema que desea resolver. Pueden ser campos de reconocimiento de voz, reconocimiento de foto o reconocimiento de texto. Para cada área necesitará diferentes soluciones. Es imposible (al menos no se sabe) una solución general que imite a los cerebros humanos.

De todos modos, si desea implementar AI por sí mismo sin utilizar ninguna biblioteca, debe tener antecedentes matemáticos (estadísticas, cálculo, álgebra lineal).

De la misma manera que hacer una IA en cualquier otro idioma.

  1. Defina qué es una IA y qué espera que haga.
  2. Calcule el algoritmo que tomará esas acciones o acumulará e interpretará datos que le permitan tomar esas acciones.
  3. Codifique la IA.

El lenguaje, como python, es simplemente un detalle, y relativamente trivial.

lo siento, pero esta pregunta indica que tienes muy poco conocimiento de lo que es la IA, por lo que deberías leerlo primero y luego preguntar, aquí te ayudaré … Inteligencia artificial .