¿Cuáles son los proyectos básicos de inteligencia artificial para principiantes (aparte de Pac-Man, rompecabezas de 8 reinas, etc.)?

Antes que nada, asegúrate de tener todos los conceptos básicos de inteligencia artificial y aprendizaje automático.

Lista de proyectos que puedes hacer como principiante en IA:

  1. Haga un proyecto de procesamiento de lenguaje natural que pueda identificar letras escritas a mano.
  2. Haz galletas de captcha.
  3. Cree una aplicación de cámara móvil que identifique objetos en vivo.
  4. Haga una extensión de Chrome de etiquetado automático que etiquete automáticamente a los amigos en la foto que cargue en Instagram o Facebook. (Facebook ya tiene todavía puedes hacerlo para aprender).
  5. Haga un proyecto que pruebe su código escrito en C y C ++ aplicando varios casos de prueba (como cuando envía su código en codechef que verifica todas las entradas posibles y prueba su código).
  6. Predictor del mercado de valores basado en datos anteriores y puede automatizar la compra y venta de acciones.
  7. Crea una aplicación de reconocimiento de música.
  8. Aplicación de reconocimiento facial.
  9. Chat bots.
  10. Proyecto de atención médica que atiende su llamada y registra el nombre del paciente y lo programa.

Puede encontrar proyectos y trabajos de investigación desde aquí, el sitio web de Stanford.

Gracias.

Tome un libro en formato electrónico como un libro de Jane Austen del proyecto Gutenberg. Toma el último capítulo de ese libro. Eliminar todos los espacios.

Ahora escriba un programa de computadora para volver a colocar todos los espacios. Puede contar fácilmente cuántos acertó ya que tiene el texto original.

1. Hazlo usando los modelos ocultos de Markov basados ​​en un diccionario de frecuencia de inglés.

2. Hazlo usando un Algoritmo Genético usando un oráculo basado en el mismo diccionario de frecuencia.

3. Hágalo usando el aprendizaje automático para aprender un Modelo de inglés basado en todos los otros capítulos del libro como un corpus de entrenamiento que utiliza solo el aprendizaje no supervisado.

Puede esperar obtener un 85% correcto utilizando los dos primeros métodos.
Si obtiene resultados mejores que 95% correctos, hable conmigo.
Si obtienes el 99.99% correcto usando # 3, entonces has creado una verdadera IA.

Estos son proyectos abiertos, pero deberían tener un “punto de entrada” relativamente básico.

  1. Sokoban : resuelve (escribe un solucionador) usando el algoritmo A *, los rompecabezas de Sokoban.
  1. Extensión 1 – estrategia vs. táctica : divide el solucionador en dos capas. En la capa estratégica, use A * para buscar en el espacio de estados tácticamente importantes, donde una sola acción requiere varios pasos de empuje de barril. En el nivel táctico, implemente un mecanismo para encontrar estados importantes a los que se pueda acceder desde un estado dado, donde el camino es una sola acción “abstracta” del nivel estratégico. La capa táctica debería poder jugar desde la ruta de acción abstracta encontrada por la capa estratégica (por ejemplo, recuerde los impulsos asociados con cada acción abstracta).
  2. Extensión 2: utilice la resolución / programación de restricciones en la codificación del nivel táctico.
  3. No proponga al nivel estratégico configuraciones muertas, por ejemplo, con barriles bloqueados. Descubra la configuración muerta utilizando un mecanismo general en lugar de codificar a mano casos concretos: por ejemplo, mediante la resolución de restricciones o con una búsqueda local A *, limitada a empujar un barril.
  • Algunos enlaces:
  • Sokoban Solver Rolling Stone, una página muy interesante, especialmente
  • Nuestro programa – Rolling Stone
  • Empujando los límites: nuevos desarrollos en la búsqueda de un solo agente Andreas Junghanns, Jonathan Schaeffer (diapositivas)
  • Wiki de Sokoban: solucionador simple, estadísticas de solucionador
  • Este método no es útil para nosotros, pero el trabajo es interesante Desarrollar un solucionador de Sokoban compacto y basado en conceptos (Tom Schaul)
  • Juegos delimitados por el tiempo . Juegos en tiempo real .
    1. Versión básica (a) : implemente un juego de dos jugadores que permita que dos algoritmos / conjuntos de parámetros diferentes jueguen entre sí.
    2. Versión básica (b) : implemente un algoritmo de poda alfa-beta para que detenga el cálculo y devuelva el mejor movimiento encontrado hasta ahora, cuando se agota el tiempo de “reloj de pared”.
    3. Extensión 2: proponer / codificar una modificación de, por ejemplo, poda alfa-beta para que funcione en los límites del tiempo de reloj en todo el juego. Si la suma de los tiempos gastados en seleccionar un movimiento por un jugador dado excede este tiempo, ese jugador pierde. Puede suponer que un jugador “piensa” solo durante su movimiento (cuando no desea utilizar el subprocesamiento múltiple). El algoritmo puede ver los tiempos gastados por el otro jugador, jugando con el mismo límite. Decida razonablemente qué parte del tiempo le queda para dedicar al siguiente movimiento (intente experimentar).
    4. Extensión 3: codifique jugadores asincrónicos concurrentes: cada algoritmo puede hacer varios movimientos seguidos si el otro jugador todavía calcula su movimiento. Las reglas del juego deben ser interpretables en este caso. Si el juego se estanca de alguna manera, los jugadores pueden proponer un empate.
    5. Extensión 4: proponer / codificar una forma razonable de administrar el tiempo para calcular un movimiento en el contexto de la extensión 3, por ejemplo, experimentar con diferentes estrategias.
  • Sistema experto Quizás conozcas el cuestionario de veinte preguntas. Tal vez incluso lo haya implementado en los viejos tiempos, un programa que adivina una palabra y construye un árbol de decisión, que crece al preguntarle al jugador “¿Cómo pedirías que distinga mi respuesta de lo que pensaste?” Escribe una versión mejorada de tal juego. El sistema puede tener muchos usos, como en diagnósticos.
    1. Versión básica: escribe un programa inspirado en un juego de veinte preguntas que aprende como se indica arriba. Use formularios con comentarios para adquirir del usuario palabras bien formadas para adivinar y preguntas de “sí / no” sobre las características de lo considerado. En lugar de construir el árbol de decisión, para cada cosa conocida y cada pregunta conocida recuerde la respuesta: sí / no / desconocido (cuando la pregunta aún no se hizo para esa cosa). Al adivinar el objeto, comience desde el conjunto de todos los objetos conocidos. Seleccione preguntas para reducir rápidamente el conjunto actual de objetos considerados (por ejemplo, cuando se restringe al conjunto considerado, la pregunta tiene tantas respuestas “sí” como “no”). Deseche los objetos que no estén de acuerdo con la respuesta, pero mantenga los objetos con respuesta “desconocido”. Registre las preguntas del sistema y las respuestas del usuario, con el fin de actualizar las respuestas de “desconocido”, y también detectar conflictos de conocimiento (lo que significa que el jugador ganó, pero tal vez haciendo trampa).
    2. Extensión 1: crear y usar reglas de asociación . Inicialmente use solo reglas infalibles: descarte las reglas con al menos un contraejemplo. Una regla de asociación dice que cuando las respuestas a un conjunto de preguntas (una, dos, tres, cuatro, …) son las que se dan, entonces la respuesta a otra pregunta será la misma. Puede usar uno de los algoritmos conocidos para (Aprendizaje de reglas de asociación). Durante la investigación, tan pronto como una regla “se dispare” (sus premisas concuerdan con las preguntas formuladas hasta el momento), pruebe la pregunta desde su conclusión: si ya fue respondida de manera diferente, elimine la regla de asociación, si no fue respondida, tentativamente asume la respuesta de la regla. Pregúntele al jugador sobre estas conjeturas si el sistema pierde.
    3. Extensión 2: también use reglas de asociación falibles. Tenga en cuenta la probabilidad de que se aplique una regla y la incertidumbre en la evaluación de probabilidad.
    • Akinator adivina personajes famosos.

    El Curso de Introducción a la IA de UC Berkeley (página en edx.org) tiene algunos proyectos excelentes para las personas que aprenden por primera vez, y como beneficio adicional, ¡algunos de ellos tratan sobre Pac-Man!

    Clasifique MNIST: base de datos de dígitos manuscritos MNIST, Yann LeCun, Corinna Cortes y Chris Burges

    Ver también: El hogar de la ciencia de datos

    La respuesta corta es “Muchos”.

    Por lo general, comienza con IA específica en lugar de AGI, y algunos de los temas más específicos incluyen deportes de fantasía o incluso lotería si está tratando de hacer algo por su cuenta (porque los datos para estos temas son relativamente limpios y están disponibles públicamente)

    O si está trabajando con una organización de gran tamaño, la optimización de procesos de negocios, incluido el análisis predictivo, es una buena entrada para esto.

    Toma mi curso gratis.

    Recorre cada línea de código.

    Las 5 mejores bibliotecas de aprendizaje automático en Python – Udemy

    Luego comience caminando por estos modelos de chicos.

    Su primer proyecto de aprendizaje automático en Python paso a paso: dominio del aprendizaje automático

    Hay suficiente para mantenerte ocupado durante semanas.

    No solo lo leas … aprende.

    Ensucia esas manos.

    🙂

    Si está interesado en Machine Learning (una rama de la IA que se enfoca en el aprendizaje basado en datos, estadísticas, etc.), le recomendaría echar un vistazo a Kaggle: The Home of Data Science.

    Consulte el libro “Programación de la inteligencia colectiva” de Toby Segaran. Contiene muchos ejemplos interesantes.

    Este curso gratuito sobre edX de UC Berkeley podría brindarle algunos lugares más para comenzar: Inteligencia artificial: comienza el 6 de febrero.

    Cree un bot de chat que pueda simular una conversación humana o juegos que requieran razonamiento, que serían todos los juegos que hay.
    Una red neuronal para el reconocimiento facial.