martes, 4 de octubre de 2022

El clásico libro de texto sobre Inteligencia Artificial de Norvig y Russell

'Artificial Intelligence:a modern approach' es un libro clásico en la literatura sobre Inteligencia Artificial y, quizá, uno de los libros de texto a nivel universitario más usados en este campo. Un libro del que, en este caso, reseñamos su cuarta edición.

El libro, bastante enciclopédico por su extensión y amplitud de temas, se estructura en 29 capítulos agrupados en siete partes, como sigue:
  • 'ARTIFICIAL INTELLIGENCE: ' Una primera parte, digamos, fundacional, que pone las bases necesarias para entender lo que viene a continuación. Está formada por dos capítulos:

    • '1. Introduction: ' Proporciona algunas ideas básicas. Primero explica lo que es la Inteligencia Artificial (aunque sin proponer una verdadera definición) y luego comenta ocho disciplinas de las que de alguna manera bebe la Inteligencia Artificial y que incluyen la filosofía, las matemáticas, la economía, la neurociencia, la psicología, la informática, la teoría de control y la lingüística. A continuación realiza un recorrido histórico por el desarrollo de la disciplina para acabar explicando el estado de arte actual. Y finaliza con un censo de riesgos y beneficios de la Inteligencia Artificial.


    • '2. Intelligent Agents: ' Aborda un concepto que es central en gran parte del desarrollo del libro: el de agente inteligente. Define el término y la importancia del entorno y la relación con él. También dedica espacio a explicar características y entornos y finaliza con una sección bastante larga dedicada a la estructura y tipología de agentes.


  • 'PROBLEM SOLVING: ' Una parte dedicada a la resolución de problemas con base en los algoritmos de búsqueda en sus diferentes variantes. A lo largo de sus cuatro capítulos, va avanzando hacia problemas crecientemente más complejos y también más realistas.

    • '3. Solving Problems by Searching: ' Comienza poniendo las bases sobre en qué consiste un agente resolutor de problemas y cómo se formula un problema. Luego salta a los algoritmos de búsqueda (entendidos como búsqueda de una solución en un espacio de estados) explicando en qué consisten y aportando algunos primeros algoritmos. Un capítulo no sencillo pero muy importante para entender gran parte del desarrollo de los siguientes.


    • '4. Search in Complex Environments: ' A pesar de su cierta complejidad, el capítulo anterior abordaba problemas relativamente sencillos. En este capítulo, se relajan algunas hipótesis simplificadoras asumidas en los algoritmos del capítulo anterior con la idea de acercarnos más a situaciones realistas. Plantea los problemas de optimización, la búsqueda en espacios continuos, el caso de acciones no deterministas o entornos sólo parcialmente observables e incluso desconocidos.


    • '5. Constraint Satisfaction Problems: ' Continua con tipologías de problemas crecientemente complejos y realistas y, en este capítulo, deja de considerar los estados donde se busca como una caja negra para introducir los problemas sujetos a restricciones.


    • '6. Adversarial Search and Games: ' Finaliza esta parte, con el caso de problemas en que, aparte del agente que consideramos, existen otros agentes que también actúan.


  • 'KNOWLEDGE, REASONING AND PLANNING: ' Cambia un poco de tercio para abordar el caso de los agentes que realizan una representación del mundo, lo que se denomina representación del conocimiento, y emplean la lógica en su procesamiento.

    • '7. Logical Agents: ' Explica lo que son los agentes basados en conocimiento. Luego explica las ideas principales de la lógica proposicional y cómo se demuestran teoremas mediante su uso, para finalizar hablando de los agentes que usan lógica proposicional.


    • '8. First-Order Logic: ' Un salto de complejidad para reconocer que en el mundo los objetos se relacionan entre sí, lo que lleva al uso de la lógica de primer orden. Se explica la sintaxis y semántica de esa lógica de primer orden y algo de su uso.


    • '9. Inference in First-Order Logic: ' Capítulo completo dedicado a la inferencia basada en lógica de primer orden. Comienza comparando la inferencia basada en lógica proposicional frente a lógica de primer orden, y luego ya detalla pasos importantes del uso de la inferencia en lógica de primer orden: unificación, encadenamiento hacia adelante, encadenamiento hacia atrás y resolución. Un capítulo bastante complejo.


    • '10. Knowledge Representation: ' Trata, como el título indica, de la representación del conocimiento, es decir, cómo representar hechos sobre el mundo de una forma que se pueda usar posteriormente para razonar y resolver problemas. Habla de conceptos como ontologías, objetos y categorías o eventos. Luego aborda los objetos mentales y la lógica modal, cómo funcionan los sistemas que razonan con categorías así como el uso de información por defecto.


    • '11. Automated Planning: ' Finaliza esta parte con los problemas de planificación. Define en qué consisten y aporta algunos algoritmos. Luego habla del uso de heurísticas en la planificación, continua con la planificación jerárquica para saltar al caso de dominios no deterministas. Finaliza con problemas de planificación en que hay restricciones de recursos y así nos habla, por ejemplo, de horarios y recursos.


  • 'UNCERTAIN KNOWLEDGE AND REASONING: ' Saltamos a entornos aún más complejos y donde existe incertidumbre, lo que nos conduce al uso del razonamiento y programación probabilista. Esta parte se desarrolla a lo largo de los siguientes siete capítulos:

    • '12. Quantifying Uncertainty: ' Introduce las primeras ideas sobre incertidumbre y probabilidades. Comienza explicando la problemática de la incertidumbre para luego proporcionar ideas básicas sobre probabilidad, comenzando con elementos de notación, siguiendo por conceptos como independencia y probabilidad condicionada, para luego pasar al Teorema de Bayes y su uso y finalizar con los algoritmos 'Naive bayes' que se basan, de una forma muy simplificadora, pero efectiva, en el uso de ese Teorema de Bayes.


    • '13. Probabilistic Reasoning: ' habla del razonamiento probabilista para lo cual comienza tratando el tema de cómo representar conocimiento en dominios con incertidumbre. Habla largamente de las redes bayesianas y su semántica, y de cómo hacer inferencia con ellas, tanto exacta como aproximada. Finaliza con las redes causales.


    • '14. Probabilistic Reasoning Over Time: ' Donde se introduce el factor tiempo y se intenta interpretar el presente, entender el pasado y, en la medida de lo posible, predecir el futuro. Comienza hablando de tiempo e incertidumbre lo que le lleva a tratar los procesos de Markov, para luego ver cómo hacer inferencia en modelos temporales. Dedica luego una sección a los Modelos Ocultos de Markov, para pasar a continuación a los filtros de Kalman y finalizar con las redes bayesianas dinámicas.


    • '15. Making Simple Decisions: ' Comienza el tratamiento de cómo un agente puede tomar decisiones en entornos con incertidumbre. Habla del concepto de utilidad y teoría de la utilidad. Detalla bastante las funciones de utilidad, tanto monoatributo como multiatributo. También aborda el concepto del valor de la información que usa un agente para saber qué información adquirir. Finaliza con los casos en que esa función de utilidad no es bien conocida.


    • '16. Making Complex Decisions: ' Trata decisiones que se tienen que hacer en el hoy pero sabiendo que en el futuro puede ser que haya que tomar otras decisiones. Así, habla de problemas de decisión secuencial, de los procesos de decisión de Markov y de políticas y de utilidades que evolucionan en el tiempo. Y aporta varios algoritmos para esos procesos de decisión de Markov. Luego trata el problema del tragaperras ('bandit problem') en que hay que combinar una visión de explotación para obtener recompensa y una de exploración para averiguar sobre estados desconocidas y así establecer mejores políticas. Finaliza con los procesos de Markov parcialmente observables.


    • '17. Multiagent Decision Making: ' Se pasa al caso de varios agentes en el entorno. Primero se analizan las características propias de estos entornos. A continuación se revisa profundamente la teoría sobre juegos no cooperativos para luego revisar la de juegos cooperativos. Se finaliza con la situación de decisiones colectivas.


    • '18. Probabilistic Programming: ' Explora la idea de lenguajes universales para una representación del conocimiento probabilista y para la inferencia en entornos con incertidumbre. Se habla de los modelos de probabilidad relacional, incluidos los de universo abierto y se habla de programas con un modelo probabilista.


  • 'MACHINE LEARNING: ' Sección dedicada al aprendizaje en general y el machine learning en particular y que se compone de los siguientes cinco capítulos:

    • '19. Learning From Examples: ' Inicia el capítulo hablando de diferentes formas de aprendizaje. Luego habla del aprendizaje supervisado y del aprendizaje en árboles de decisión. A continuación comenta cómo seleccionar y optimizar modelos, incluye información sobre la teoria del aprendizaje y finaliza hablando de clasificación y regresión donde introduce, pro ejemplo, el algoritmo de descenso de gradiente. Habla también de modelos no paramétricos lo que sirve para comentar algoritmos como 'Nearest Neighbours' o 'Support Vector Machines'. Continua con los modelos de 'ensemble' y finaliza con unos apuntes sobre la forma de desarrollar sistemas de machine learning incluyendo reflexiones sobre aspectos como la explicabilidad.


    • '20. Knowledge in Learning: ' Plantea el problema del aprendizaje cuando ya se dispone de algo de conocimiento. Y así, tras algunos análisis sobre aprendizaje de forma general, aborda el aprendizaje basado en explicaciones y el aprendizaje basado en información sobre relevancia. Finaliza hablando de programación de lógica inductiva.


    • '21: Learning Probabilistic Models' Enfoca el problema del aprendizaje como un razonamiento con incertidumbre a partir de observaciones. Comienza hablando del aprendizaje estadístico. Luego dedica mucho espacio al aprendizaje con datos completos incuyendo un breve apunte sobre modelos generativos, para luego dedicar también abundante espacio al caso de aprendizaje con variables ocultas.


    • '22. Deep Learning: ' Tras una breve introducción comienza tratando las redes de 'feedforward' simple, de la codificación de entradas, de las capas de salida y las funciones de pérdida y de las capas ocultas. A continuación explica las redes de convolución y luego las redes recurrentes. Continua con el aprendizaje no supervisado y el 'transfer learning' y finaliza contando algunas aplicaciones como la visión artificial o el procesamiento de lenguaje natural.


    • '23. Reinforcement Learning: ' Todo un capítulo dedicado al aprendizaje por refuerzo, donde explica, aparte de los conceptos básicos, el detalle del aprendizaje por refuerzo activo y pasivo y también aspectos o formas especiales como la generalización o el aprendizaje inverso. Finaliza indicando algunas aplicaciones del aprendizaje por refuerzo como los juegos o el control de robots.


  • 'COMMUNICATING, PERCEIVING AND ACTING: ' La penúltima parte está dedicada a áreas de trabajo de la inteligencia artificial más cercanas a aplicaciones finales. Esta parte abarca cuatro capítulos:

    • '24. Natural language Processing: ' Comienza explicando algunas formas de modelar el lenguaje como el famoso 'bag of words' o los n-gramas. Explica el etiquetado de partes del discurso, la gramática y el 'parseado' y no evita mostrar algunas de las complicaciones que se producen en este procesamiento del lenguaje natural.


    • '25. Deep learning for Natural Language processing: ' En cierto modo, una continuación del capítulo anterior pero ahora centrado en el uso del deep learning. Empieza por explicar la idea de los 'word embeddings'. Luego cuenta las redes neuronales recurrentes y cómo se utilizan en el procesamiento del lenguaje. Habla de los modelos secuencia-a-secuencia y del muy importante concepto de las arquitecturas 'transformer'. A continuación aborda el mecanismo de pre-entrenamiento y finaliza dando un barrido por el estado del arte actual.


    • '26. Robotics: ' Un capítulo algo diferente dedicado a la robótica. Empieza por la definición y una explicación sobre el hardware especialmente lo relativo a sensores y movimiento. Tras detenerse un momento a explicar el tipo de problemas a que se dedican los robots, pasa a explicar la percepción en robots, la planificación y control de movimientos y el uso de aprendizaje supervisado en robótica. Aborda también la interacción entre humanos y robots y finaliza hablando primero de 'frameworks' para robótica y luego de aplicaciones.


    • '27. Computer Vision: ' En este capítulo dedicado a la visión artificial, comienza primero por explicar en qué consiste la visión y cómo se produce en el ser humano. Identifica luego una serie de características de las imágenes que van a ser relevantes en la visión artificial como bordes o texturas. Luego habla de clasificación de imágenes y de la detección de objetos. Habla también de los modelos 3D y dedica un amplio espacio final a los diferentes usos de la visión artificial.


  • 'CONCLUSIONS: ' Esta última parte, más que proporcionar unas conclusiones como tales, revisa otra serie de aspectos algunos algo menos tecnológicos de la Inteligencia Artificial. Y lo hace mediante los dos últimos capítulos:

    • '28. Philosophy, Ethics and Safety of AI: 'Una visión en cierto sentido más humana y humanista de la Inteligencia Artificial. Habla de los límites de la Inteligencia Artificial y contesta a la pregunta de si las máquinas pueden pensar realmente. Y luego dedica una larga sección a explicar diferentes problemáticas de naturaleza ético ligadas a la Inteligencia Artificial como las armas autónomas, privacidad, sesgos y justicia, trasparencia futuro del empleo, derechos de los robots y seguridad.


    • '29. The Future of AI: ' Un breve capítulo final donde se mira hacia tendencias de futuro organizadas en dos secciones: componentes de la Inteligencia Artificial y arquitecturas.
Todos los capítulos se cierran con un resumen muy amplio de lo expuesto y también con una detallada revisión de la bibliografía y trabajos relacionados que se explican con bastante generosidad.

Aparte de los capítulos nucleares ya explicados, el libro incluye dos apéndices. El primero, 'A. Mathematical backgorund' aporta fundamentos matemáticos como la complejidad, vectores y matrices y distribuciones de probabilidad. El segundo, 'B. Notes on languages and algorithms', muy breve, sólo explica lo que es la Backus-Naur Form (BNF) y cómo se hace la descripción de algoritmos mediante pseudocógido.

'Artificial Intelligence:a modern approach' es, aparte de todo un clásico entre los libros de Inteligencia Artificial en general, y libros de texto en particular, un gran libro, completo, riguroso, fuera de modas, aunque eso sí, muy largo y, a pesar de estar muy bien explicado, no sencillo dada la complejidad de los temas y la profundidad con que se abordan. Se trata de un libro, pues, no tanto para la lectura como para el estudio (de hecho, para eso está escrito), un libro en que, además, cada capítulo se apoya en buena medida en lo explicado anteriormente, por lo que es importante tener buenas bases y un esquema global del discurso que se sigue.

Una obra obligada en la biblioteca de cualquier estudiante o profesional de la Inteligencia Artificial, ya sea como material de estudio o como referencia.
 
Stuart Russell

(Fuente: Wikipedia)

Stuart Russell
Stuart Jonathan Russell (Portsmouth, Inglaterra, 1962) es un informático conocido por sus contribuciones a la inteligencia artificial. Es profesor de ciencias de la computación en la Universidad de California en Berkeley y profesor adjunto de cirugía neurológica en la Universidad de California en San Francisco.

Stuart Russell nació en Portsmouth, Inglaterra. Recibió su título de Bachelor of Arts con honores de primera clase en Física en el Wadham College, en 1982. Posteriormente, recibió su título de doctorado en ciencias de la computación en la Universidad Stanford en 1986, por investigar en razonamiento inductivo y razonamiento por analogía, siendo supervisado por Michael Genesereth.

Tras doctorarse, se unió a la facultad de la Universidad de California en Berkeley, donde desde 1996 es profesor en ciencias de la computación. También tiene un puesto como profesor adjunto de cirugía neurológica en la Universidad de California en San Francisco, donde investiga en fisiología computacional y en la monitorización en unidades de cuidados intensivos.

En 2016, fundó el Centro para Inteligencia Artificial Compatible con Humanos, en la Universidad de Berkeley, con los co-investigadores Pieter Abbeel, Anca Dragan, Tom Griffiths, Bart Selman, Joseph Halpern, Michael Wellman y Satinder Singh Baveja. Junto con Peter Norvig, es el autor de 'Inteligencia Artificial: Un enfoque moderno', un libro de texto usado en más de 1300 universidades en 116 países. Está en el consejo asesor científico del Future of Life Institute y en la junta asesora del Centro para el Estudio del Riesgo Existencial.

En 2017, colaboró con el Future of Life Institute en la producción de un vídeo, Slaughterbots, sobre enjambres de drones asesinando rivales políticos, y lo presentó en una reunión de las Naciones Unidas sobre el Convenio sobre Ciertas Armas Convencionales.

En 2018 participó como entrevistado en el documental Do You Trust This Computer?

Su libro más reciente, 'Human Compatible: Artificial Intelligence and the Problem of Control', fue publicado en inglés el 8 de octubre de 2019.

Puedes saber más del autor visitando su perfil en LinkedIn.

Peter Norvig

(Fuente: Wikipedia)

Peter Norvig
Peter Norvig (14 de noviembre de 1956) es un científico informático estadounidense y el director de investigación (exdirector de Calidad de búsqueda) de Google Inc.

Compañero y consejero de la American Association for Artificial Intelligence y coautor, junto a Stuart Russell, de la inteligencia artificial: un enfoque moderno, ahora el texto universidad líder en el campo. Anteriormente, fue jefe de la División de Ciencias de la Computación (ahora la División de Sistemas Inteligentes) de la NASA Ames Research Center, donde supervisó un equipo de 200 científicos realizando investigaciones de la NASA y el desarrollo de la autonomía y la robótica, ingeniería de software automatizado y análisis de datos, neuroingeniería de colaboración investigación de sistemas y simulación basado en la toma de decisiones. Anteriormente, fue Jefe Científico en Junglee, donde ayudó a desarrollar uno de los servicios de Internet primero de comparación de compras, diseñador en jefe de Harlequin Inc., y científico principal de Sun Microsystems Laboratories.

Norvig recibió una Licenciatura en Ciencias en Matemáticas Aplicadas de la Universidad Brown y un doctorado en Ciencias de la Computación de la Universidad de California, Berkeley. Ha sido profesor adjunto en la Universidad del Sur de California y miembro de la facultad de investigación en Berkeley. Cuenta con más de cincuenta publicaciones en diversas áreas de Ciencias de la Computación, concentrándose en la inteligencia artificial, procesamiento de lenguaje natural, recuperación de información y la Ingeniería del Software incluida la Inteligencia Artificial libros: Un acercamiento moderno, Paradigmas de Programación AI: Estudios de caso en Common Lisp, Verbmobil: Un sistema de Traducción de diálogo cara a cara, y sistemas inteligentes de ayuda para UNIX.

Norvig es también conocido por su "Presentación Powerpoint Gettysburg", una sátira sobre las prácticas de mala presentación utilizando famoso discurso de Gettysburg de Abraham Lincoln.

Norvig es uno de los creadores de JScheme. En 2006 fue admitido como miembro de la Association for Computing Machinery. Norvig aparece en "Facultad Académica y Asesores" de la Universidad de la Singularidad. En 2011, trabajó con Sebastián Thrun para desarrollar un curso en línea popular en Inteligencia Artificial, que contaba con más de 160.000 estudiantes matriculados. También enseña un curso en línea a través de la plataforma Udacity. Cree que una revolución docente, impulsada por herramientas informáticas, se encuentra pendiente.

Puedes saber más del autor visitando su página oficial o visitando su perfil en LinkedIn

Ficha técnica:

EDITORIAL: Pearson
AÑO: 2021 
ISBN: 978-1292401133
PAGINAS: 1.168

Artículos de este blog relacionados

No hay comentarios:

Publicar un comentario