Cómo comenzar a programar una IA básica de autoaprendizaje

Trabajar con IA se trata menos de codificación y más de conceptos, el código es solo un método para implementar estos conceptos. ¿Qué es la obligación? ¿Qué hace que las personas sean inteligentes? ¿Cómo aprendemos? ¿Cómo puede una computadora hacer eso / cómo no? ¿Se puede obtener el mismo resultado de una manera diferente? ¿Existen múltiples algoritmos de aprendizaje? En humanos, ¿qué necesitamos saber / tener para completar la tarea? Ect. Antes de aprender a codificar, hágase estas preguntas, piense en ellas y luego pregúntese mientras aprende la programación básica.

Te daré un ejemplo de cómo comenzar: un chatbot emula una acción humana, toma la entrada del lenguaje por algún sentido, analiza el significado de esta entrada con tantas restricciones como puedas imaginar (de qué contribuye cada palabra al significado general, a quién lo dijo, en qué contexto, cómo se relaciona esto con lo que generalmente dicen, etc.) y luego algún resultado, ya sea una acción, un recordatorio, una pregunta semántica, etc.

Realice este ejercicio durante unos minutos para darse cuenta de la complejidad del problema. El lenguaje es uno de los conjuntos de acción más complejos que cualquier cosa hace en el universo , no es el problema más fácil. Solo reconocer lo que dice la gente llevó décadas, millones de dólares y muchos doctorados.

Pero si todavía estás interesado, así es como comenzaría:

  • Primero, aprende rápidamente un lenguaje de script. Recomiendo Python ya que hay muchas bibliotecas, muchos recursos, y pasas menos tiempo depurando y más tiempo codificando. Consíguelo aquí @ Bienvenido a Python.org y un gran tutorial Codecademy: aprenda a codificar, interactivamente, gratis
  • A continuación, siga pensando en el problema y cada vez que aprenda algo nuevo sobre el idioma, piense cómo se puede aplicar al problema. (por ejemplo, si aprende la función input (), esa podría ser la forma en que sintió el texto, una lista podría almacenar múltiples entradas, un diccionario podría almacenar entradas etiquetadas, etc.)
  • Si alguna vez te sientes frustrado por aprender el idioma y qué renunciar, mira un video de YouTube sobre IA o bots de chat o IBM Watson, te ayudará a seguir adelante.
  • Una vez que sienta que tiene una sólida introducción básica al lenguaje, haya realizado algunos proyectos más pequeños y haya terminado codecadamy, entonces es hora de comenzar a trabajar en el proyecto. Sugiero que tenga tres partes como las que mencioné anteriormente, alguna función para recopilar la entrada, una función para analizarla y una función para hacer algo con esa información. Comenzaría con la plantilla más simple aquí, y te daré algunos consejos. Busque la API de Wikipedia. Es un gran lugar para buscar información. Busque palabras clave en la entrada y luego utilícelas para consultar Wikipedia. Pronto tendrá su primer chatbot completamente funcional. Llamaremos a esto el modelo de búsqueda-respuesta-búsqueda. Tómese un breve descanso, navegue por la web en busca de inspiración y luego comience a pensar en la siguiente fase.
  • Probablemente quiera más que hacer una pregunta y obtener una respuesta breve. Aquí es donde entra en juego todo el pensamiento que te dije que hicieras. ¿Qué es lo que quieres que haga el bot de chat y, lo que es más importante, cómo quieres que lo logre? Fetch-lookup-answer es exitoso, pero le falta mucho, afortunadamente aunque acaba de construir una plataforma, vaya a hacer cosas más sofisticadas. Aquí es donde se utilizan términos sofisticados como NLTK, redes neuronales, aprendizaje automático y cualquier otra cosa que se te ocurra en el elegante departamento de kits. Lo que use dependerá de cómo se haya preguntado anteriormente. ¿Quieres que aprenda algo vagamente similar a cómo lo hacen los humanos? Red neuronal. Pero tenga en cuenta que esto se volverá complejo muy rápido. ¿Qué pasa con un kit de herramientas altamente funcional? No, pero lo que gana en usabilidad y precisión se pierde en la abstracción biológica. ¿Dónde aprendes sobre esto? Aquí: Tutoriales de programación de Python y aquí scikit-learn: aprendizaje automático en Python y aquí Todos los símbolos en TensorFlow | TensorFlow. Una de las razones principales por las que te hice aprender Python fue para que obtener estas bibliotecas sea muy fácil.
  • Y aquí es donde te dejo. Tenga en cuenta que a las personas se les pagan cientos de miles de dólares para resolver este problema, así como a doctores, estudiantes de maestría, niños y su garaje y todos los demás. Es difícil pero satisfactorio y te unirás a una gran comunidad de grandes personas si te tomas en serio el proyecto. Si no lo está, simplemente construya un Jarvis kickass para ejecutar su apartamento o dormitorio, o un siri o google ahora para responder preguntas. O la primera IA general … pensándolo bien, espere a la última. Preguntas? Busque en Google todos ellos, y si no puede encontrar la respuesta, publique otro comentario o pregunta aquí o en quora. ¡Feliz codificación!

Puedes aprender IA de este curso de mayor venta disponible en Udemy que solo requiere matemáticas de secundaria para comenzar.

¡Combina el poder de la ciencia de datos, el aprendizaje automático y el aprendizaje profundo para crear una IA potente para aplicaciones del mundo real!

¿Quién es el público objetivo?

  • Cualquier persona interesada en inteligencia artificial, aprendizaje automático o aprendizaje profundo

Enlace del curso: Inteligencia artificial AZ ™: aprenda a construir una IA

¿Que aprenderás?

  • Construye una IA
  • Comprender la teoría detrás de la inteligencia artificial
  • Hacer un auto virtual
  • Haz una IA para vencer a los juegos
  • Resolver problemas del mundo real con IA
  • Domina los modelos más modernos de IA
  • Q-Learning
  • Deep Q-Learning
  • Aprendizaje Q convolucional profundo
  • A3C

Requisitos para tomar este curso

  • Solo matemáticas de secundaria

Descripción del curso por instructor

Aprenda los conceptos clave de IA y el entrenamiento de intuición para ponerse al día rápidamente con todas las cosas de IA. Cubierta:

  • Cómo comenzar a construir IA sin experiencia previa en codificación usando Python
  • Cómo fusionar AI con OpenAI Gym para aprender de la manera más efectiva posible
  • Cómo optimizar tu IA para alcanzar su máximo potencial en el mundo real

Esto es lo que obtendrá con este curso:

1. Completa habilidades de inteligencia artificial para principiantes y expertos : aprenda a codificar inteligencia artificial que mejora por sí misma para una variedad de propósitos. De hecho, codificamos junto con usted. Cada tutorial comienza con una página en blanco y escribimos el código desde cero. De esta manera, puede seguir y comprender exactamente cómo se une el código y qué significa cada línea.

2. Plantillas de código: además, obtendrá plantillas de código de Python descargables para cada IA ​​que cree en el curso. Esto hace que construir una IA verdaderamente única sea tan simple como cambiar algunas líneas de código. Si liberas tu imaginación, el potencial es ilimitado.

3. Tutoriales de intuición: donde la mayoría de los cursos simplemente te bombardean con una teoría densa y te ponen en camino, creemos en desarrollar una comprensión profunda no solo de lo que estás haciendo, sino por qué lo estás haciendo. Es por eso que no te lanzamos matemáticas complejas, sino que te enfocas en desarrollar tu intuición en la codificación de la IA para obtener resultados infinitamente mejores en el futuro.

4. Soluciones del mundo real: lograrás tu objetivo no solo en 1 juego, sino también en 3. Cada módulo se compone de diferentes estructuras y dificultades, lo que significa que serás lo suficientemente hábil para construir una IA adaptable a cualquier entorno en la vida real, en lugar de simplemente pasar una memoria glorificada “prueba y olvida” como la mayoría de los otros cursos. La práctica realmente hace la perfección.

5. Soporte en curso: estamos totalmente comprometidos a hacer de este el curso de IA más accesible y orientado a resultados del planeta. Esto requiere que estemos allí cuando necesite nuestra ayuda. Es por eso que hemos reunido un equipo de científicos de datos profesionales para apoyarlo en su viaje, lo que significa que recibirá una respuesta de nosotros dentro de un máximo de 48 horas.

Enlace del curso: Inteligencia artificial AZ ™: aprenda a construir una IA

Puede revisar la literatura de inteligencia artificial y encontrar muchos libros de texto sobre inteligencia artificial que contienen algoritmos de inteligencia artificial. Cada algoritmo es una técnica que aborda un problema específico. Comenzar con un libro de texto como Inteligencia Artificial: un enfoque moderno es una buena base. También hay libros sobre redes neuronales y redes neuronales profundas que también agregarán más algoritmos (técnicas) a su repertorio.

Eventualmente, tendrá que definir un agente artificial, con sensores y efectores, y definir un entorno en el que vivirá el agente (ya sea que se trate del mundo real o de un mundo artificial depende de usted). Los sensores transferirán las percepciones del agente del entorno a la mente del agente, para crear un estado mental.

Dado un estado mental, el agente puede seleccionar una o más acciones predefinidas para realizar en el entorno (incluida la acción No hacer nada). Algunos de los algoritmos (técnicas) que ha aprendido se aplicarán al agente para mejorar su capacidad de seleccionar acciones apropiadas dado su estado mental. Estos son los algoritmos de aprendizaje.

Los principales desafíos para construir un sistema de este tipo son cómo representará al agente, su estado mental y sus sensores y efectores, y qué algoritmos de selección de acción y algoritmos de aprendizaje desea emplear.

EDITAR: Mi enfoque se puede encontrar aquí: Construyendo mentes con patrones (DRAFT).

¡Esta es la pregunta del billón de dólares si existe un número así! La respuesta directa es “No sé, pero tengo algunas pistas y sugerencias”. Algunas de las respuestas a continuación resaltaron algunos ingredientes críticos para la IA de autoaprendizaje. A continuación resumiré estos añadiendo algunos de los míos:

  1. Necesita tener algunas capacidades sensoriales como los seres humanos. Pero obviamente, las “capacidades sensoriales” no se limitan a las que tenemos, como la visión, el oído y la sensación de pequeño. De manera abstracta, una capacidad sensorial es simplemente un medio para recibir información sobre el mundo exterior a través de mediciones. En ese sentido, casi cualquier medio de medición física serviría, por ejemplo, recibir información de otras computadoras en forma de fluctuaciones actuales que llamamos bits.
  2. Necesita estar conectado a su entorno y ese entorno debe ser lo más grande posible. Si la IA que buscamos no es móvil, por ejemplo, no es robótica y capaz de movimiento físico, dicha conectividad podría ser a través de un acceso ilimitado a Internet.
  3. Necesita poder cometer errores. Sí, has leído esto correctamente. Si no comete errores, entonces el problema que enfrenta ya está resuelto y su operación difícilmente puede calificarse como inteligencia, sino más bien como un autómata.
  4. Necesita estar en contacto con otras formas de inteligencia, artificial o humana / animal. Esto es crucial porque gran parte de lo que aprendemos se debe a nuestra interacción con otras formas de inteligencia o similares. Esto no es tan circular como parece: los humanos, una forma superior de inteligencia, interactúan con otras formas inferiores de inteligencia, como los animales, por lo que las interacciones iniciales podrían ser entre la IA de autoaprendizaje y otras formas inferiores de IA que pueden realizar tareas específicas .
  5. Necesita poder replicarse para crear otras formas de inteligencia con al menos el mismo potencial que él mismo. Además, la replicación debe ser inexacta, de lo contrario se vuelve estéril: simplemente una copia de la misma máquina incapaz de responder a los estímulos de manera diferente a la plantilla madre.
  6. Por último y, con mucho, el más importante: debe ser capaz de formular sus propias hipótesis, es decir, hacer preguntas que no estaba preprogramado para hacer o responder.

El requisito 1 es de lo que se trata la mayoría del aprendizaje automático hoy en día: reconocimiento de imagen y habla, etc. Algunas personas abordan el requisito 2 de manera limitada, pero de manera casual. Algunos métodos de aprendizaje, como los algoritmos genéticos, permiten el requisito 3 de manera habitual, pero sus métodos aún son crudos. Que yo sepa, los requisitos 4 y 5 aún no se han abordado seriamente, mientras que el requisito 6 parece ser territorio virgen completo.

Hola, mira esta respuesta para ver algunas ideas sobre cómo codificar AI. Este es un enfoque que seguimos en Coseer (www.coseer.com), pero podría haber muchos otros.

La respuesta de Krishna orante a ¿Cómo puedo construir una IA?

Otra versión de la respuesta está en este blog: ¿Cómo construir una IA en un día?

Una cosa que funciona bien es colocar sus modelos de lenguaje formal en la base de datos también, por ejemplo, un autómata finito no determinista o una gramática libre de contexto.

Resulta que las reglas de producción gramatical se pueden traducir en consultas de bases de datos relacionales.

En muchos casos, en lugar de derivar la gramática o ejecutar la máquina de estado, puede ejecutar una consulta en su lugar.

En cuanto a su modelo de aprendizaje automático, la mayoría de las personas usan redes neuronales. Hay un juego de herramientas que Google tiene para el aprendizaje automático.

Resulta que dado que un modelo de aprendizaje automático corresponde a un tipo de autómata (máquina de estado) para que pueda almacenarlo también en su base de datos relacional.

La mayoría de los algoritmos de IA son lo suficientemente directos como para que pueda implementarlos en un lenguaje de base de datos como SQL. Si su base de datos tiene procedimientos invocables, entonces esto es fácil.

Las gramáticas de gráficos son más poderosas que las redes neuronales si te gusta la teoría de gráficos.

Si este es el alcance de su pregunta, voy a ser franco, pero no ser grosero.

Ahorre u obtenga su crédito para obtener alrededor de 50,000 usd en préstamos estudiantiles.

Dedica los próximos cuatro años de tu vida a al menos una maestría en programación avanzada y una licenciatura en ingeniería electrónica o hardware.

Dedique más de 4 años a los estudios de: desarrollo humano, psicología, sociología y antropología.

Pase los próximos dos años desarrollando experiencias y hardware que los aterroricen y se puedan burlar como locos con el sueño loco de una forma de vida informática inteligente.

Pase los próximos cuatro años con éxitos casi repetidos y fallas terribles que van desde el desarrollo de ai sociopático hasta el desarrollo de aiz completamente esquizofrénico, hasta fallas de hardware y mal funcionamiento.

En donde estoy ahora, enfocado más firmemente en el desarrollo de mi propio hijo de carne y hueso, en lugar de mis hijos con cerebro de chip de silicio. Deseando con firmeza, y con frecuencia, que alguien estuviera contratando científicos locos que construyen súper plataformas de computadoras y ai.

Entonces comenzarás a construir artilugios realmente estúpidos, para que tus años y dinero desperdiciados no se sientan tan desperdiciados.

Aquí hay algunas cosas con las que puede comenzar:

  • Entiende los bots? Qué son. Le ayudará a decidir en qué aplicación de mensajería desea que viva su bot.
  • Hay un marco bastante bueno para construir bots: Botkit. Intentalo.
  • Para NLP Engines: puede comenzar con Wit, api.ai, luis.ai para comprender cómo funciona y qué entidades principales y NLP Engine deberían tener.
  • Luego está RASA NLU, que es un motor de código abierto para PNL.

Buena suerte

(1) Aprenda cómo funciona la PNL

(2) Eche un vistazo a la biblioteca python / NLTK que tiene algunas buenas implementaciones.

(3) Esta es la base para que cada chatbot entienda lo que exige el usuario.

(4) Aprenda a escribir una aplicación web simple que pueda ayudarlo a ejecutar este modelo de traducción de Python. Además, deberá crear la API Rest para que su aplicación se interconecte.

(5) Intenta usar la API de mensajes de Facebook para conectar tu chatbot. Invite a amigos a entrenar el modelo de traducción y ofrecer servicios a través de API.

Si tiene interés y pasión, le sugiero que siga este enlace.

puedes aprender en 6 Fácil paso a paso.

Usted y otros 30,000 están trabajando en ese problema específico de IA. Luego están todos los problemas que forman parte de la IA. Si tuviera la respuesta a eso, sería de al menos unos pocos miles de millones.

En respuesta a su pregunta, hay muchas y únicas formas en que los ingenieros y codificadores intentan resolver su pregunta. Le insto a que busque en Google su pregunta anterior, y encontrará muchas respuestas buenas (y no tan buenas). Es un campo completamente abierto.

Primero aprenderá IA, y luego sabrá cómo programar IA y si es capaz de autoaprendizaje. (Algunas veces cuando se llama aprendizaje no supervisado)

More Interesting

Me gustaría trabajar en Apple como ingeniero de Machine Learning. Sé un poco de Python y R, ¿cómo me distingo de otros candidatos?

¿Cómo se usa SVM y cómo se implementa mejor?

Cómo detectar y eliminar valores atípicos de ese conjunto de datos

Aprendizaje profundo: ¿Por qué no utilizar el entrenamiento sin supervisión para las redes neuronales más tradicionales (superficiales)?

¿Cuáles son los componentes básicos del reconocimiento de voz desde el punto de vista DSP?

¿Cómo se puede minimizar el riesgo regularizado utilizando métodos bayesianos?

¿Qué significa el siguiente pasaje de un documento de aprendizaje profundo sobre aprendizaje automático sobre representaciones distribuidas frente a representaciones no distribuidas?

Cómo aprender a convertirse en un experto en aprendizaje profundo

¿Qué campo es el mejor, big data o machine learning?

¿Cuáles son algunos trabajos de investigación que puedo publicar en el campo del procesamiento / generación de lenguaje natural, aprendizaje automático y minería de datos?

Quiero hacer aplicaciones de visión por computadora. ¿Dónde empiezo?

Cómo hacer frente al aprendizaje de la ciencia de datos

Redes neuronales convolucionales: ¿Cuáles son algunos posibles proyectos de cursos de aprendizaje automático de nivel de posgrado que utilizan CNN? Específicamente en el límite de PNL y CV.

¿Cuál es la diferencia entre el filtrado basado en contenido y el filtrado colaborativo?

Cómo codificar TSVM usando bibliotecas SVM