¿Python es mejor para la IA?

¿Por qué la gente elige Python?

Python fue creado a fines de la década de 1980. Su implementación comenzó en 1989. La filosofía de Python es muy interesante ya que incluye varios aforismos. Explícito en lugar de implícito, simple en lugar de complejo. Los creadores de Python valoran el diseño y la apariencia hermosos. Prefieren lo complejo a lo complicado. Y lo que es aún más importante, afirman que la legibilidad cuenta. Python tiene una gramática y una sintaxis limpias. Es natural y fluido. Como afirman los desarrolladores de Python, el objetivo del lenguaje es ser genial en uso. Al recibir el nombre de Monty Python, un grupo de comedia británico, el lenguaje tiene un enfoque lúdico para muchos tutoriales y otros materiales.

Los desarrolladores afirman que disfrutan de la variedad y calidad de las características de Python. Aunque no es el lenguaje de programación científico perfecto, sus características son eficientes:

  • Estructuras de datos
  • Clases
  • Sintaxis de llamada de función flexible
  • Iteradores
  • Funciones anidadas
  • Biblioteca estándar incluida en el fregadero de la cocina
  • Grandes bibliotecas científicas.
  • Geniales bibliotecas de código abierto (Numpy, Cython, IPython, MatPlotLib)

Otras características que los desarrolladores prefieren sobre Python son las siguientes: diseño de lenguaje holístico, sintaxis pensada, interoperabilidad de lenguaje, equilibrio de programación de alto y bajo nivel, sistema de generación de documentación, programación modular, estructuras de datos correctas, numerosas bibliotecas y marcos de prueba . Una de las desventajas es la necesidad de que los programadores sean buenos en MATLAB, ya que es común en la codificación científica general. Es por eso que muchos desarrolladores publican código de investigación abierto en MATLAB.

Si se compara con otros lenguajes OOP, Python es relativamente fácil de aprender. Tiene un montón de bibliotecas intensivas de imágenes: VTK, Maya 3D Visualization Toolkits, Scientific Python, Numeric Python, Python Imaging Library, etc. Estas herramientas son perfectas para aplicaciones numéricas y científicas.

Python es utilizado en todas partes y por todos: en comandos de terminal simples, en proyectos científicos de vital importancia y en aplicaciones de grandes empresas. Este lenguaje está bien diseñado y es rápido. Es escalable, de código abierto y portátil.

3. ¿Cómo construir AI usando Python?

El primer paso es comenzar. Aunque suena un poco estresante y difícil, debes entender que construir IA en Python llevará algún tiempo. La cantidad de tiempo necesaria depende de su motivación, habilidades, el nivel de experiencia en programación, etc.

Para construir AI con Python, necesita 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. Incluyendo los paquetes necesarios para el aprendizaje automático, NumPy, scikit-learn, iPython Notebook y matplotlib.

Si está buscando algunos materiales sobre cómo aumentar sus habilidades de Python más rápido, consulte los siguientes libros:

  • Python The Hard Way
  • Curso de Python para desarrolladores de Google
  • Una introducción a Python para la informática científica
  • Aprende X en minutos Y

Si ya tiene suficiente experiencia en la programación con Python, debe consultar la documentación de Python de vez en cuando.

El siguiente paso es aumentar sus habilidades de aprendizaje automático. Por supuesto, es casi imposible alcanzar la máxima comprensión del aprendizaje automático en un corto período de tiempo. A menos que seas un genio o una máquina como IBM Watson. Es por eso que es mejor comenzar adquiriendo conocimientos básicos de aprendizaje automático o mejorando su nivel con la ayuda de los siguientes cursos: curso de aprendizaje automático de Andrew Ng, conferencias de aprendizaje automático de Tom Mitchell, etc. Todo lo que necesita es la comprensión básica de los aspectos teóricos del aprendizaje automático. .

Cuando hablo de Python, ya he mencionado bibliotecas científicas. Estas bibliotecas de Python serán útiles cuando construyas IA. Por ejemplo, usará NumPy como contenedor de datos genéricos. Con un objeto de matriz N-dimensional, herramientas para integrar código C / C ++, transformada de Fourier, capacidades de números aleatorios y otras funciones, NumPy será uno de los paquetes más útiles para su computación científica.

Otra herramienta importante son los pandas, 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 otro servicio que le gustará. Es una biblioteca de trazado 2D que crea cifras de calidad de publicación. Entre las mejores ventajas de matplotlib está la disponibilidad de 6 kits de herramientas de interfaz gráfica de usuario, servidores de aplicaciones web y scripts Python. 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 llevar la programación de IA usando Python al siguiente nivel y explorar la agrupación de k-means. También debe leer sobre los árboles de decisión, la predicción numérica continua, la regresión logística, etc. Si desea obtener más información sobre Python en IA, lea sobre un marco de aprendizaje profundo Caffee y una biblioteca de Python Theano.

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

Como puede ver, la importancia de Python para AI es obvia. Cualquier proyecto de aprendizaje automático se beneficiará del uso de Python. Como la IA necesita mucha investigación, la programación de la inteligencia artificial usando Python es eficiente: puede validar casi todas las ideas con hasta treinta líneas de código.

4. ¿Cómo crear un Chatbot usando Python?

Si lees el blog Letzgro con frecuencia, sabes que nos encanta crear aplicaciones y programas increíbles que ayudan a nuestros clientes a cambiar sus vidas y negocios en particular. Los chatbots son nuestro nuevo amor. Los chatbots son el nuevo comienzo. Los chatbots son las nuevas aplicaciones. Puedo continuar por años. Sin embargo, todo lo que debe saber es que los chatbots son nuevos asistentes en línea que brindan diferentes servicios a través del chat.

Por ejemplo, hay Hola Poncho! eso le dice a la gente el pronóstico del tiempo. Existe el chatbot de Spring que permite a las personas elegir zapatos y ropa mientras chatean. Hay un chatbot de CNN, un chatbot que ordena flores. Recientemente, nuestros desarrolladores han creado un chatbot que facilita el trabajo de un empresario que promueve artistas del tatuaje a través de Instagram. ¿No es genial? Se puede usar un chatbot en todas las esferas, negocios y todos los entornos.

Los chatbots son un tipo de IA. Para ser más específicos, los chatbots son ANI, inteligencia artificial estrecha. No son tan inteligentes como los humanos. Además, los chatbots pueden realizar una cantidad limitada de tareas. Sin embargo, estas funciones aún nos hacen la vida más fácil. Es por eso que tantos empresarios están pensando en traer chatbots a sus sitios. Hay muchas formas de hacer eso. Puede usar diferentes lenguajes y enfoques. Puede crear chatbots con una empresa profesional de desarrollo de software. También puedes construirlo usando Python. Aquí hay una breve guía de cómo hacerlo.

Si desea crear chatbots de inteligencia artificial en Python, necesitará el paquete AIML (Lenguaje de marcado de inteligencia artificial). En primer lugar, cree un archivo de inicio estándar con el patrón on. Cargar objetivo b. Agregue respuestas aleatorias que hagan que un diálogo sea interesante. Ahora, para escribir su propio archivo AIML, busque algunos archivos que ya pueda usar. Por ejemplo, busque entre archivos AIML desde el sitio web de Alice Bot. Entra en Python.

Cuando cree el archivo de inicio, servirá como una entidad separada. Por lo tanto, puede tener más archivos AIML sin modificaciones del código fuente. El programa comenzará a aprender cuando haya muchos archivos AIML. Acelera la carga cerebral. Añadir comandos de Python. Esa es una introducción a cómo puedes hacer inteligencia artificial usando Python.

Python es un lenguaje de muy alto nivel y es fácil de aprender. Hay un gran apoyo de la comunidad para Python. Puede encontrar muchas bibliotecas para aprendizaje automático, visualización, etc.

Si su proyecto de inteligencia artificial se basa en el aprendizaje automático, entonces definitivamente debe elegir Python y es lo mejor para él. Y si desea hacer Chatbots AI simples, entonces hay muchas API disponibles para ello.

  1. Dialogflow
  2. Amazon Lex
  3. Wit.ai
  4. IBM Watson
  5. Microsoft LUIS

La respuesta de Sukesh Kumar Ranjan a ¿Cómo construyo un chatbot exitoso?

Hay bibliotecas de Python para IA generales

AIMA : implementación en Python de algoritmos de ‘Inteligencia artificial de Russell y Norvig: un enfoque moderno’

pyDatalog – Motor de programación lógica en Python

SimpleAI : implementación de Python de muchos de los algoritmos de inteligencia artificial descritos en el libro “Inteligencia artificial, un enfoque moderno”. Se centra en proporcionar una biblioteca fácil de usar, bien documentada y probada

EasyAI : motor Python simple para juegos de dos jugadores con IA (Negamax, tablas de transposición, resolución de juegos).

Si está haciendo Chatbot de IA, a continuación se muestra el artículo relevante para construir un chatbot de inteligencia artificial.

¿Qué es el chatbot? : Una visión de inteligencia artificial

Depende de lo que quieras decir con mejor …

Python es un lenguaje interpretado que lo hace naturalmente más lento pero más versátil, lo que significa que no requiere compilar su código cuando lo ejecuta, el IDE de Python simplemente analiza su código y lo interpreta.

Las características que pueden resultar útiles para la IA son que puede obtener muchas bibliotecas de Matemáticas e Inteligencia Artificial fácilmente accesibles en la web, sin mencionar que hay muchos ejemplos de código disponibles. Por lo tanto, facilita su trabajo, no lo obliga a reinventar la rueda.

Ahora por las desventajas …

Python es extremadamente lento en comparación con lenguajes como C ++ o incluso Java, que no es el lenguaje de programación más rápido disponible. Esto significa que quizás para la creación de prototipos o la ejecución de programas informáticos relativamente simples, es ideal, pero para una IA más compleja o cualquier tipo de simulación, es mucho mejor usar un lenguaje compilado como C ++.

En conclusión:

Pros: más fácil y más simple

Contras: Lento e ineficiente de potencia informática

Creo que Python es genial para hacer investigación de IA. Es rápido de usar y puedo pasar de la idea al código de ejecución rápidamente.

Dicho esto, es un lenguaje horrible para hacer ingeniería de software a gran escala. Para muchos errores solo se encuentran en tiempo de ejecución. Por “gran escala” me refiero a unos cientos de programadores, todos trabajando en el mismo proyecto durante muchos años con nuevos empleados que se unen y algunos renuncian, y tal vez no todos están en el mismo edificio. El software a esa escala debe hacerse de una manera muy ordenada, conservadora y disciplinada. Python NO es el lenguaje para usar en ese entorno. Pero si va a implementar sistemas de IA muy complejos, serán proyectos enormes y complejos de décadas con cientos de contribuyentes. No usarán Python.

Pero hoy la investigación de IA es el trabajo de grupos pequeños y su código se desecha tan pronto como el objetivo de la investigación cambia y Python funciona muy bien en este entorno.

Pero en cualquier caso, Python o no, la mayor parte del trabajo de hoy se realiza en grandes bibliotecas. Si construyo una red neuronal, no lo hago directamente en C o Python. Llamo uso Tensorflow. Diablos, ni siquiera lo hago directamente en Tenserflow, uso una capa encima llamada “Keras”. Bueno, ni siquiera eso es cierto porque tengo un montón de funciones de Python que escribí que se llaman Keras y presentan un nivel aún más alto de abstracción. Lo que quiero decir es que los programas de IA están en capas y el lenguaje de programación se usa realmente para unir las partes grandes, todo el trabajo real se realiza en tres o más capas de profundidad. Incluso Tensorflow no hace la computación. Depende de la biblioteca CUDA de Nvidia para eso.

Creo seriamente que la razón por la que podemos progresar es porque no necesitamos comprender cómo funcionan las piezas de bajo nivel. Solo le digo a Keras que “haga una capa de convolución” y lo hace. Si quisiera ver cómo hace esto, podría hacerlo, pero cada hora que dedica eso significa una hora menos haciendo algo que creo que es más productivo. Algún día quiero trabajar en el nivel en el que escribo “coloque una conexión aquí y conecte la capa de entrada a estos tres flujos de datos y las salidas a este flujo de datos”. Luego, en un minuto pensaré que quiero construir y almacenar redes de lo anterior y construir “hiperredes” más grandes basadas en redes más pequeñas y así sucesivamente hasta que tenga algo la mitad de inteligente que una rata borracha. (nuestro sistema actual es tan inteligente como 0.1 gramos de tejido cerebral sin cuerpo). Progresamos cada vez que construimos una capa útil sobre nuestras herramientas actuales para que podamos ignorar cómo funcionan.

Vuelve al lenguaje. Python permite usar el juego con nuestras bibliotecas, pero hay un límite en la complejidad que Python puede manejar. ODIO tener que mantener un sistema Python con 500,000 líneas de código

¿Mejor para qué aspecto de la IA? ¿Y realmente te refieres a ML?

Python es una buena opción para muchas tareas de ML pero está lejos de ser la mejor en todas las cosas. Si está buscando un lenguaje interactivo razonable de uso general (es decir, que soporte alguna forma de REPL) con un buen soporte de paquetes para ML, procesamiento de texto, minería de datos, análisis numérico y visualización, entonces Python es una buena opción. Sin embargo, tiene sus debilidades, principalmente en rendimiento y procesamiento multinúcleo (CPU y GPU). Existen soluciones para muchas de estas preocupaciones, pero algunas son torpes y se aplican solo a usos de uso específicos, lo que significa que necesitan ajustes para muchos otros usos comunes.

Echa un vistazo a GoLang también. Hay una serie de excelentes herramientas para la IA. GoLang tiene algunas ventajas para las arquitecturas de procesamiento modernas que se utilizan a menudo para la investigación y el desarrollo de IA. Todo dependerá de lo que intente hacer y del hardware al que tenga acceso.

Pero tendré que decir que AI es un término general. Hay muchas áreas de investigación de IA, por lo que deberá seleccionar las herramientas que lo ayudarán en el área (s) de su elección.

Mejor que…?

Realmente, sin embargo, no importa. Python es mi favorito, pero si estuviera hablando con alguien y dijera que C # era su favorito, simplemente me encogería de hombros. Las bibliotecas hacen tanto que su elección de idioma no afecta mucho.

More Interesting

¿Qué sigue lógicamente la teoría de grafos en inteligencia artificial?

¿Qué tan similar / diferente es la oferta de edX Inteligencia Artificial CS 188 en comparación con la oferta en el campus de UC Berkeley? ¿Es todo el curso o solo una parte de él en edX?

¿Qué tan inteligente es la inteligencia artificial hoy?

¿'Todos' estarán codificando dentro de unos años?

¿Es posible ingresar al Aprendizaje Automático profesionalmente sin un título de posgrado en CS, Matemáticas o Estadística?

¿En qué áreas los métodos del núcleo siguen siendo competitivos con el aprendizaje profundo?

¿Se podría detener la inteligencia artificial?

¿Cuáles cree que son las formas en que Machine Learning puede resolver algunos de nuestros problemas más apremiantes a escala global?

Bioinformática: ¿cómo y qué técnicas de aprendizaje automático son más favorables para el análisis de secuencias de proteínas?

¿El mercado para las compañías de IA o está saturado? ¿Hay alguna necesidad clara que no se haya satisfecho?

Cómo usar vl_nnbnorm en mi propia implementación de una red neuronal

¿Qué hará el gobierno con grandes grupos de ciudadanos que están desempleados poco calificados, sin educación y de larga duración si la automatización, la robótica y la inteligencia artificial realmente toman su trabajo?

Cómo imaginar la inteligencia artificial dentro de 10,000 años

¿Cuáles son los mejores programas de maestría relacionados con la inteligencia artificial?

¿Cuál es la tasa de aprendizaje en las redes neuronales?