Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Resumen Tema 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

Modelos de Inteligencia Artificial

Tema 1

Caracterización de sistemas de Inteligencia Artificial


1 Introducción
La inteligencia artificial (IA) es un campo de investigación que existe desde hace más de 50
años y cuyo fin principal es el de crear sistemas inteligentes. Aún estamos muy lejos de alcanzar esa
denominada inteligencia, aunque ya se han hecho progresos en distintos ámbitos de la IA que
podemos encontrar en nuestra vida diaria y que abarcan, por ejemplo, desde nuestros teléfonos
móviles hasta sistemas de alarma en el hogar. Esto ha dado lugar a que la investigación en IA se
fragmente en varias disciplinas, típicamente independientes. Pero para haber llegado hasta aquí, la
IA ha experimentado una progresiva evolución que realmente se ha visto acelerada en los últimos
años.
En este capítulo se introducirán los conceptos fundamentales y la evolución histórica que han
permitido la existencia de la IA como tal, algunos campos de aplicación más comunes, aquellas
técnicas principales utilizadas en el desarrollo de tecnologías que utilicen IA, y las nuevas formas
de interacción basadas en IA que se están utilizando actualmente en las empresas.

2 Fundamentos de la Inteligencia Artificial

2.1 Características Principales.

Para definir lo que es la Inteligencia Artificial tendríamos que partir de una definición
precisa de “Inteligencia”, lo que daría para un debate filosófico aún no resuelto.
Siendo prácticos y respetando los avances realizados hasta ahora, podemos definir la IA
como la ciencia encargada de construir sistemas que i) piensan como humanos, ii) piensan
racionalmente, iii) actúan como humanos y iv) actúan racionalmente.
• Actuar como humanos. Para comprobar si una máquina actúa como un humano podemos
aplicar el test de Turing. Esta prueba plantea una serie de preguntas por escrito que una
maquina deberá responder también por escrito; si la máquina responde a las preguntas y la
persona que plantea las preguntas no es capaz de identificar si dichas respuestas vienen de
un humano o una máquina, entonces la máquina habrá pasado el test de Turing. Para superar
el test de Turing, una máquina debería contar con algunas capacidades como son el
Procesamiento de Lenguaje Natural para comunicarse con el humano, Representación del
conocimiento para almacenar lo que sabe, Razonamiento automático para responder a
preguntas y extraer nuevas conclusiones, Aprendizaje Automático para adaptarse a nuevas

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

circunstancias, Visión por Computador y Reconocimiento del Habla para percibir el mundo
que le rodea y Robótica para manipular objetos. Dichas disciplinas están conseguidas hoy en
día en mayor o menor medida, pero aún están incompletas.
• Pensar como humanos. Para decir que un programa piensa como un humano, primero
debemos de saber cómo piensan los humanos. De hecho, esta pregunta ha dado lugar a un
nuevo campo: la Ciencia Cognitiva, que trata de unir los modelos informáticos de la IA con
las técnicas experimentales de la psicología para construir teorías sobre la mente humana
que sean precisas y comprobables.
• Pensar racionalmente. Es decir, llegar a conclusiones lógicas partiendo de una serie de
hechos y usando un conjunto de reglas. Así, la llamada doctrina logicista dentro de la
inteligencia artificial confía en poder basarse en esos programas para crear sistemas
inteligentes. Sin embargo, el uso de la lógica tal y como la conocemos requiere un
conocimiento del mundo que sea certero, algo que en la práctica es imposible de conseguir.
Por ejemplo, conocemos perfectamente las reglas que rigen el juego del Ajedrez, pero no
conocemos bien las que rigen las guerras entre países.
• Actuar racionalmente. Podemos identificar un comportamiento racional como aquel que
hace lo correcto, o lo que es lo mismo, maximiza el objetivo (meta) con la información que
hay disponible o, cuando hay incertidumbre, obtiene el mejor resultado posible. En el
contexto de la IA, podemos modelar este comportamiento racional mediante un enfoque de
agentes que actúen de manera autónoma, perciban su entorno, persistan durante un tiempo
prolongado, se adapten al cambio y creen y alcancen metas. Este enfoque sigue presentando
el problema de la incertidumbre en el mundo real, seguido por la complejidad de las metas a
modelar donde la racionalidad perfecta no es posible

2.2 Tipos de Inteligencia

Los conceptos anteriores servirían para definir una IA de tipo generalista, capaz de pensar
como un humano. Este tipo de IA suele decirse que presenta una inteligencia general o fuerte. Como
seres humanos, somos capaces de aprender de diversas experiencias e interacciones en el mundo y
aplicar esa comprensión de un problema a otro. Por ejemplo, si de niño sentías dolor al tocar algo
caliente, puedes extrapolar y saber que otras cosas calientes pueden hacerte daño. Sin embargo, la
inteligencia general en los humanos es algo más que razonar algo como las cosas calientes pueden
ser dañinas. La inteligencia general abarca la memoria, el razonamiento espacial a través de medios
visuales, el uso del conocimiento y mucho más. Lograr la inteligencia general en una máquina
parece una hazaña improbable a corto plazo, pero los avances en la computación cuántica, el
procesamiento de datos y los algoritmos de IA podrían hacerlo realidad en el futuro.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Sería posible reutilizar algunos de los conceptos introducidos en las inteligencias fuertes
para resolver problemas de dominios más concretos y acotados, dando lugar a una IA que presente
una inteligencia débil o limitada. Por lo general, estos sistemas no pueden resolver un problema en
un determinado contexto y aplicar esa misma comprensión en otro. Un sistema desarrollado para
entender las interacciones de los clientes y el comportamiento de gasto, por ejemplo, no sería capaz
de identificar gatos en una imagen. Normalmente, para que algo sea eficaz en la resolución de un
problema, tiene que estar bastante especializado en el dominio del problema, lo que dificulta su
adaptación a otros problemas.
Sin embargo, se pueden combinar varios de estos sistemas de IA débil para crear algo mayor
que se asemeje a una IA fuerte. Un ejemplo sería un asistente de voz. Este sistema puede entender el
lenguaje natural, que por sí solo es un problema acotado, pero mediante la integración con otros
sistemas de inteligencia débil, como las búsquedas en la web y las recomendaciones personalizadas
de música, puede mostrar cualidades de una IA fuerte.

2.3 Historia de la Inteligencia Artificial

Una vez introducidas las bases que conforman la IA, podemos definir brevemente la
evolución histórica que ha sufrido para situarnos en contexto:
• 1943
Surgen las redes neuronales artificiales en un artículo de investigación por McCulloch y
Pitts, quienes idearon un modelo matemático sencillo y demostraron cómo podía utilizarse para
calcular funciones lógicas arbitrarias. Gran parte de los primeros trabajos se centraron en
comprender las propiedades matemáticas de estas redes, ya que los computadores de la época no
eran lo suficientemente potentes como para realizar tareas de interés.
• 1956
Se lleva a cabo un seminario en la universidad Dartmouth College organizado por John
McCarthy donde se acuña el término Inteligencia Artificial por primera vez.
• 1966
A pesar del futuro prometedor que tenía la IA por delante (y las altas expectativas), algunas
tareas como la traducción entre idiomas fue un fracaso total, lo que llevó a recortes en los
programas de financiación, lo que llevaría al primer invierno de la IA. Algunos problemas que
ocasionaron esto fueron las limitadas capacidades de los computadores de la época y la complejidad
de los problemas que se querían resolver mediante IA, los cuales requerían además una ingente
cantidad de datos.
• 1969
Se publica un libro que exploraba las propiedades matemáticas de los perceptrones (modelos
lineales) y donde se demostraba que ni siquiera eran capaces de resolver problemas simples como

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

una puerta lógica XOR (OR exclusiva). Debido a esto, el interés en la investigación de redes
neuronales se ve dramáticamente reducido.
• 1970- 80s
Surgen los sistemas basados en el conocimiento con el objetivo de permitir la codificación
del conocimiento directamente en aquellos sistemas inteligentes para que tengan toda la
información necesaria, reduciendo así los costes computacionales de rendimiento. Los
investigadores se enfocaron en construir sistemas más acotados que se centraran en dominios
concretos, dando lugar a los llamados sistemas expertos. Algunos ejemplos de estos sistemas serían
DENDRAL (inferencia la estructura molecular a partir de la espectrometría de masas) y MYCIN
(diagnóstico de infecciones en la sangre y recomendación de antibióticos), entre otros.
• 1986
En esta época se re-descubre el algoritmo de propagación hacia atrás de errores o
backpropagation en inglés, popularizándose así el entrenamiento de redes neuronales multi-capa y
devolviendo de nuevo el interés investigador a las redes neuronales, perdido en 1969.
• 1987
Aparecen las primeras aplicaciones que tienen un impacto en la industria. Sin embargo, la
tecnología existente se enfrentó a las limitaciones computacionales de la época y fracasó de nuevo a
la hora de abarcar problemas más complejos que requerían modelar más cantidad de incertidumbre
a partir de un considerable esfuerzo manual para crear las reglas necesarias, las cuales eran difíciles
de mantener a largo plazo. Debido a un exceso de promesas y una falta de cumplimiento, el campo
de la IA volvió a colapsar, dando lugar al segundo invierno de la IA.
• 1989
Yann LeCun construye un sistema basado en redes neuronales para reconocer dígitos
escritos a mano, convirtiéndose en uno de los primeros casos de éxito de aplicación de las redes
neuronales, que además fue utilizado por el servicio de correo postal de los Estados Unidos (USPS)
para reconocer códigos postales.
• 1990- 2000s
En estos años es donde aparecen los enfoques modernos de aplicación de la IA basados en
probabilidad, estadística e incertidumbre. Se producen avances y mejoras técnicas en las tecnologías
existentes, y surge el concepto de big data para referirnos a la producción de grandes conjuntos de
datos (datasets) del orden de magnitud de, por ejemplo, trillones de palabras en un texto, billones de
imágenes, y billones de horas de audio y vídeo, entre otros.

• 2010 – Actualidad
En esta época se produce el punto de inflexión real en el ámbito de la IA. Con el auge de la
computación debido a las capacidades técnicas de las GPUs y los enormes datasets existentes, como
ImageNet (2009), la IA a través de las redes neuronales y el aprendizaje profundo (deep learning)
había empezado a popularizarse.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

3 Campos de Aplicación
Como hemos visto, la IA es un campo de estudio joven y en constante evolución. Tanto es
así, que continuamente se encuentran nuevos campos de aplicación donde la sociedad puede
beneficiarse de la IA; donde haya datos y problemas que resolver, existirán aplicaciones de la IA
potenciales. Así, las interacciones entre los seres humanos y las nuevas necesidades exigidas por las
personas e industrias, la IA puede aplicarse de forma innovadora para resolver problemas del
mundo real. Vamos a ver en esta sección algunas de las principales aplicaciones de la IA en la
industria.
3.1 Agricultura. Cultivo óptimo.

La agricultura, aunque pueda parecer alejado del mundo de la IA, plantea problemas y retos
que pueden resolverse aplicando tecnologías de IA: los agricultores tienen que ser capaces de
cultivar productos de calidad para el consumo masivo de forma económica.
Muchos agricultores cultivan a escala comercial para que podamos comprar frutas y
verduras en las tiendas con comodidad. Los cultivos crecen de forma diferente según el tipo de
cultivo, los nutrientes del suelo, el contenido de agua del suelo, las bacterias del agua y las
condiciones meteorológicas de la zona, entre otras cosas. El objetivo es cultivar la mayor cantidad
posible de productos de alta calidad dentro de una temporada, ya que determinados cultivos suelen
crecer bien sólo durante determinadas estaciones.
Los agricultores y otras organizaciones agrícolas llevan recopilando datos sobre sus
explotaciones y cultivos desde hace años. Con esos datos, podemos aprovechar la tecnología para
encontrar patrones y relaciones entre las variables del proceso de cultivo e identificar los factores
que más contribuyen al éxito del crecimiento. Además, con los sensores digitales actuales, podemos
registrar en tiempo real las condiciones meteorológicas, los atributos del suelo, las condiciones del
agua y el crecimiento de los cultivos. Estos datos, combinados con algoritmos inteligentes, pueden
proporcionar recomendaciones y ajustes en tiempo real para optimizar el crecimiento de los
cultivos.
3.2 Banca. Detección de fraude.

La banca ha evolucionado durante años para ofrecer diferentes opciones para guardar dinero,
invertir dinero y realizar pagos. Una cosa que no ha cambiado es la creatividad de la sociedad para
encontrar nuevas formas de engañar al sistema. Uno de los mayores problemas (no solo de la banca,
sino de de la mayoría de instituciones financieras, como las aseguradoras) es el fraude.
Gracias a la gran cantidad de datos disponible sobre las transacciones realizadas, podemos
identificar, en tiempo real, patrones de transacciones específicos al comportamiento de gasto de un
individuo que pueden estar fuera de lo normal. Estos datos ayudan a ahorrar enormes cantidades de
dinero a las instituciones financieras y protegen a los consumidores desprevenidos de los robos.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

3.3 Ciberseguridad. Detección y tratamiento de ataques.

Uno de los efectos secundarios interesantes del auge de Internet es la ciberseguridad.


Enviamos y recibimos información sensible a través de Internet todo el tiempo: mensajes
instantáneos, datos de tarjetas de crédito, correos electrónicos y otros datos confidenciales
importantes que podrían ser mal utilizados si cayeran en manos equivocadas. Los atacantes intentan
comprometer estos sistemas para acceder a los datos, los dispositivos o incluso las instalaciones
físicas.

Utilizando la IA, podemos identificar y bloquear posibles ataques a los servidores. Algunas
grandes empresas de Internet almacenan datos sobre la forma en que determinadas personas
interactúan con su servicio, incluidos los identificadores de sus dispositivos, la geolocalización y la
forma de uso; cuando se detecta un comportamiento inusual, las medidas de seguridad limitan el
acceso. Algunas empresas de Internet también pueden bloquear y redirigir el tráfico malicioso
durante un ataque de denegación de servicio distribuido (DDoS), que consiste en sobrecargar un
servicio con peticiones falsas en un intento de hacerlo caer o impedir el acceso de los usuarios
auténticos. Estas peticiones no legítimas pueden ser identificadas y redirigidas para minimizar el
impacto del ataque mediante el conocimiento del comportamiento de los usuarios, los sistemas y la
red.
3.4 Atención Sanitaria. Diagnóstico de pacientes.

Cuando nos fijamos en el diagnóstico de un paciente, podemos observar la gran cantidad de


información registrada sobre el cuerpo humano, los problemas conocidos, la experiencia en el
tratamiento de estos problemas y un sinfín de exploraciones del cuerpo. Tradicionalmente, los
médicos debían analizar las imágenes de las exploraciones para detectar la presencia de tumores,
pero este enfoque daba lugar a la detección de únicamente los tumores más grandes y avanzados.
Los avances en el aprendizaje profundo han mejorado la detección de tumores en las imágenes
generadas por las exploraciones. Ahora los médicos pueden detectar el cáncer con mayor
antelación, lo que significa que el paciente puede recibir el tratamiento necesario a tiempo y tener
una mayor esperanza de recuperación.
Además, la IA puede utilizarse para encontrar patrones en síntomas, dolencias, genes
hereditarios, ubicaciones geográficas y similares. Podríamos saber que alguien tiene una alta
probabilidad de desarrollar una afección específica y estar preparados para gestionar esa afección
antes de que se desarrolle.
3.5 Logística. Rutas y optimización.

El sector de la logística es un enorme mercado formado por diferentes tipos de vehículos que
entregan diversos tipos de mercancías en distintos lugares, con diferentes exigencias y plazos.
Imaginemos la complejidad de la planificación de entregas de un gran portal de comercio

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

electrónico. Tanto si se trata de bienes de consumo como de equipos de construcción, piezas de


maquinaria o combustible, el sistema pretende ser lo más óptimo posible para garantizar que se
satisfaga la demanda y se minimicen los costes.

Esta problemática es similar al problema del viajante de comercio: un vendedor tiene que
visitar varios lugares para completar su trabajo, y el objetivo es encontrar la distancia más corta
para realizar esta tarea. Los problemas de logística son similares, pero suelen ser inmensamente más
complejos debido al entorno cambiante del mundo real. Gracias a la IA, podemos encontrar rutas
óptimas entre distintas ubicaciones en términos de tiempo y distancia. Además, podemos encontrar
las mejores rutas en función de los patrones de tráfico, los bloqueos de las obras e incluso los tipos
de carreteras en función del vehículo utilizado. Además, podemos calcular la mejor manera de
cargar cada vehículo de tal forma que se optimice cada entrega.
3.6 Telecomunicaciones. Optimización de redes.

La industria de las telecomunicaciones ha desempeñado un enorme papel en la conexión del


mundo. Estas empresas instalan costosas infraestructuras compuestas por cables, torres y satélites
para crear una red que pueda ser utilizada por consumidores y organizaciones para comunicarse a
través de Internet o de redes privadas. El funcionamiento de estos equipos es caro, por lo que la
optimización de una red permite un mayor número de conexiones, lo que permite que más personas
accedan a conexiones de alta velocidad. La IA puede utilizarse para supervisar el comportamiento
de una red y optimizar el enrutamiento en función de distintas variables como, por ejemplo, el
tráfico de datos asociado a determinadas personas, zonas y redes locales específicas. Los datos de la
red también pueden servir para saber dónde está la gente y quiénes son, lo que resulta útil para la
planificación urbana.
3.7 Juegos. Creación de agentes inteligentes.

Desde que los ordenadores personales y domésticos empezaron a estar disponibles, los
juegos han sido un reclamo para la venta de computadoras. Los juegos fueron muy populares en los
primeros años de la historia de los ordenadores personales. Si pensamos en el pasado, podemos
recordar las máquinas recreativas, los televisores y los ordenadores personales con capacidades de
entretenimiento. Los juegos de ajedrez, backgammon y otros han sido dominados por las máquinas
de IA. Si la complejidad de un juego es lo suficientemente baja, un ordenador puede encontrar
potencialmente todas las posibilidades y tomar una decisión basada en ese conocimiento más rápido
que un humano. Recientemente, un ordenador fue capaz de derrotar a campeones humanos en el
juego de estrategia Go. El Go tiene reglas sencillas para el control del territorio, pero tiene una
enorme complejidad en cuanto a las decisiones que hay que tomar para un escenario ganador. Un
ordenador no puede generar todas las posibilidades para vencer a los mejores jugadores humanos
porque el espacio de búsqueda es muy grande; en su lugar, se necesita un algoritmo más general que
pueda "pensar"de forma abstracta, elaborar estrategias y planificar movimientos hacia un objetivo.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Ese algoritmo ya se ha inventado y ha conseguido derrotar a campeones del mundo. También se ha


adaptado a otras aplicaciones, como los juegos de la plataforma Atari y otros juegos multijugador.
Este sistema se llama Alpha Go.
A primera vista, estos algoritmos de IA para jugar pueden parecer poco importantes, pero la
consecuencia de desarrollar estos sistemas es que el enfoque pueda aplicarse eficazmente en otros
problemas más importantes.
3.8 Arte. Creatividad.

En la pintura, cada artista tiene su propia manera de expresar el mundo que le rodea, al igual
que en la música a la hora de componer una canción. En ambos casos, la calidad del arte no puede
medirse cuantitativamente, sino cualitativamente (por lo que la gente disfruta de la obra). Los
factores que intervienen son difíciles de entender y captar; el concepto se rige por la emoción.
Existen muchos proyectos de investigación que pretenden crear una IA que genere arte. El
concepto implica la generalización; un algoritmo tendría que tener un conocimiento amplio y
general del tema para crear algo que se ajuste a esos parámetros. Una IA de Van Gogh, por ejemplo,
tendría que entender toda la obra de Van Gogh y extraer el estilo y la sensación para poder aplicar
esos datos a otras imágenes.

4 Técnicas de Inteligencia Artificial


Como se ha visto, los campos de aplicación de la IA son muy diversos. Es por ello que
existen multitud de técnicas que podemos aplicar en función del problema al que nos enfrentemos;
no existe un algoritmo maestro que nos permita abordar de manera generalista cualquier problema
de IA, tal y como se ha introducido al comienzo del capítulo.
En esta sección se introducirán algunas de las técnicas más importantes utilizadas para crear
IA. Cabe destacar que cada una de estas técnicas requerirían de varias páginas para explicarlas y
detallarlas en profundidad, por lo que se explicarán los conceptos más importantes de manera
superficial para que el lector tenga al menos una idea básica de las herramientas disponibles.
Algunas de estas técnicas para abordar problemas de IA se han clasificado históricamente en
las denominadas IA antigua e IA moderna. Se entiende como IA antigua como aquella presente en
los sistemas en los que las personas codificaban manualmente las reglas que gobernaban los
algoritmos inteligentes, ya fuera a través de un amplio conocimiento del dominio del problema
mediante prueba y error. Un ejemplo de esto sería el de una IA que utilizara un árbol de decisiones,
sus reglas y opciones, creado manualmente por alguien. Por otra parte, la IA moderna pretende crear
algoritmos y modelos que aprendan de los datos y creen sus propias reglas con la misma o mejor
precisión que las creadas por los humanos. La diferencia principal entre ambas inteligencias es que
la IA moderna puede encontrar patrones importantes en los datos que una persona nunca encontraría
o que le llevaría mucho más tiempo encontrar.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Los algoritmos de búsqueda se consideran a menudo como IA antigua, pero es necesario


entenderlos para aprender otras técnicas más complejas, tal y como veremos en esta sección.
4.1 Agoritmos de búsqueda.

Los algoritmos de búsqueda son útiles para resolver problemas en los que se requieren
varias acciones para alcanzar un objetivo, como encontrar un camino a través de un laberinto o
determinar el mejor movimiento a realizar en un juego. Los algoritmos de búsqueda evalúan los
estados futuros e intentan encontrar el camino óptimo hacia el objetivo más valioso. Normalmente,
tenemos demasiadas soluciones posibles para forzar cada una de ellas. Incluso los espacios de
búsqueda más pequeños pueden suponer miles de horas de cálculo para encontrar la mejor solución.
Los algoritmos de búsqueda proporcionan formas inteligentes de evaluar el espacio de búsqueda y
se utilizan en ámbitos tan diversos como, por ejemplo, motores de búsqueda, aplicaciones de mapas
e incluso en videojuegos.
Para representar el espacio de búsqueda utilizado por un algoritmo de búsqueda se suelen
utilizar estructuras de datos como grafos (utilizando matrices de adyacencia o listas de aristas) y
árboles, principalmente estos últimos.
Los algoritmos de búsqueda pueden clasificarse en a) búsqueda no informada y b) búsqueda
informada.

Búsqueda no informada
En este tipo de algoritmos, el algoritmo de búsqueda no dispone de información adicional
sobre el dominio del problema, más allá de la representación del problema (comúnmente en forma
de árbol o grafo). Es decir, conocemos la estructura, pero no sabemos si unos nodos son mejores
que otros.
Las dos formas más comunes para buscar en un árbol o grafo son la búsqueda en anchura
(BFS) y la búsqueda en profundidad (DFS), respectivamente: la búsqueda en anchura explora todas
las opciones a una profundidad determinada antes de pasar a opciones más profundas en el árbol; la
búsqueda en profundidad explora un camino específico desde el principio hasta que encuentra un
objetivo a la máxima profundidad.
En la siguiente figura se muestra un ejemplo de ambos tipos de búsqueda:

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

En la figura se muestra un ejemplo de ambos tipos de búsqueda aplicados la resolución de


un laberinto. El punto inicial del laberinto sería la casilla C3, y el objetivo es alcanzar la casilla A1.
En el caso de la búsqueda en profundidad, la secuencia de movimientos trataría de seguir el camino
C3 → D3 → D2 → D1; al no alcanzar la meta, intentaría de nuevo por la rama siguiente: C3 → D3
→ D4 → C4 → B4 → A4 → A3 → A2 → A1, alcanzando en este caso la meta. En el caso de la
búsqueda en anchura, la secuencia de pasos sería tal que así: C3 → D3, C3 → C4, C3 → D3 → D2,
C3 → D3 → D4, C3 → C4 → D4, etc. Como vemos, en este caso aplicar la búsqueda en
profundidad resulta más eficiente (se reduce el número de pasos) que aplicar una búsqueda en
anchura.

Búsqueda Informada
A diferencia de la búsqueda no informada, los algoritmos de búsqueda informada disponen
de algún contexto del problema específico que están resolviendo. Las heurísticas son una forma de
expresar este contexto, mediante una regla o conjunto de reglas usadas para evaluar un estado;
pueden ser usadas para definir criterios que deban cumplir los estados o para medir el rendimiento
de un estado concreto. En resumen, las heurísticas son medidas aproximadas que se utilizan cuando
no existe un método para encontrar la solución óptima a un problema.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Podríamos modificar el ejemplo anterior para añadir costes a algunos movimientos,


concretamente, para desplazarse al este o al oeste por el laberinto existe un coste de 3 minutos,
mientras que para ir al norte o al sur existe un coste de 1 minuto. Así, se podría definir una
heurística para este nuevo ejemplo que sea: los mejores caminos minimizan el coste temporal del
movimiento y minimizan el número total de movimientos para llegar a la meta. Esta heurística
ayudaría a dirigir los nodos que se visitan porque estaríamos aplicando algún conocimiento del
dominio para resolver el problema.
Normalmente, este tipo de búsqueda utiliza los algoritmos de búsqueda en anchura y
búsqueda en profundidad, en combinación con algún tipo de inteligencia; la búsqueda es guiada por
heurísticas, dado un conocimiento predefinido del problema en cuestión.
Los algoritmos más comunes que se suelen utilizar en este tipo de búsqueda son los de
búsqueda voraz (también conocida como buscar primero el mejor) y el algoritmo A* (pronunciado
como A estrella), siendo este último el más popular y útil en este tipo de búsquedas.

4.2 Agoritmos evolutivos.

Los algoritmos evolutivos se inspiran en la teoría de la evolución definida por Charles


Darwin. El concepto es que una población se reproduce para crear nuevos individuos y que a través
de este proceso, la mezcla de genes y la mutación se producen individuos (descendientes) que
rinden más que sus antepasados. Cabe destacar que la evolución no es un proceso lineal, sino que
mediante la reproducción se producen una gran cantidad de variantes de una especie con distintas
mezclas genéticas.
Aplicando este concepto a la informática, se aprovecha el aprendizaje de la evolución
biológica para encontrar soluciones óptimas a problemas prácticos generando diversas soluciones y
convergiendo en las más eficaces a lo largo de muchas generaciones.
Los algoritmos genéticos son una serie de algoritmos específicos de tipo evolutivo. Se
utilizan para evaluar grandes espacios de búsqueda y tratar de encontrar una buena solución. Cabe
destacar que los algoritmos genéticos no garantizan que se encuentre la mejor de las soluciones,
pero sí una de las mejores. El flujo de trabajo de un algoritmo genético sigue el siguiente
procedimiento:
1. Codificar el espacio de soluciones, por ejemplo, mediante una representación binaria de las
soluciones.
2. Establecer los parámetros del algoritmo.
3. Crear un conjunto (población) de potenciales soluciones (individuos), por ejemplo, de
manera aleatoria y validando la solución obtenida para comprobar que no se viola ninguna
de las restricciones.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

4. Medir la aptitud (fitness) de los individuos de la población; determinar la calidad de una


solución concreta. Esta tarea se lleva a cabo utilizando una función de aptitud (similar a las
heurísticas de los algoritmos de búsqueda) que puntúa las soluciones para determinar su
calidad.
5. Selección de progenitores en función de su aptitud: selección de individuos que reproducirán
la descendencia a partir de aquellos que obtuvieran la mayor puntuación (o menor,
dependiendo del problema) en el paso anterior, seleccionando, por ejemplo, los N mejores.
6. Reproducción de individuos: generar descendencia a partir de los individuos seleccionados
en el paso anterior combinando la información genética (cruce) y aplicando ligeros cambios
a la descendencia (mutaciones).
7. Poblar la siguiente generación: seleccionar los individuos y los descendientes de la
población que sobrevivirán a la siguiente generación.

Otro tipo de algoritmos evolutivos son las inteligencias de enjambre (swarm) donde grupos
de individuos aparentemente tontos muestran un comportamiento inteligente. La optimización por
colonias de hormigas y la optimización por enjambres de partículas son dos algoritmos populares de
este tipo.
4.3 Aprendizaje automático (Machine learning).

El aprendizaje automático adopta un enfoque estadístico para entrenar modelos que


aprendan de los datos. El campo del aprendizaje automático cuenta con una variedad de algoritmos
que pueden aprovecharse para mejorar la comprensión de las relaciones entre los datos, para tomar
decisiones y para hacer predicciones basadas en esos datos.
Existen tres técnicas principales de aprendizaje automático:

• Aprendizaje supervisado
Consiste en entrenar modelos con algoritmos cuando los datos de entrenamiento tienen
resultados conocidos para una determinada pregunta como, por ejemplo, identificar el tipo de fruta
si tenemos un conjunto de datos que incluye el peso, el color, la textura y el nombre de la fruta para
cada caso.

• Aprendizaje no supervisado
Trata de descubrir relaciones y estructuras ocultas dentro de los datos que nos guían a la
hora de formular las preguntas relevantes sobre el conjunto de datos. Por ejemplo, puede encontrar
patrones en las propiedades de frutas similares y agruparlas en consecuencia, lo que puede darnos

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

una idea de las preguntas exactas que queremos hacer a los datos. Estos conceptos y algoritmos nos
ayudan a crear una base que nos permita desarrollar algoritmos más avanzados en el futuro.

• Aprendizaje por refuerzo


Se inspira en la psicología del comportamiento. En resumen, describe cómo se recompensa a
un individuo si se realiza una acción positiva y se le penaliza si se realiza una acción negativa. Por
ejemplo, cuando un niño obtiene buenos resultados en su expediente académico, suele ser
recompensado, pero un mal rendimiento a veces da lugar a un castigo, lo que refuerza en el niño el
comportamiento de obtener buenos resultados. El aprendizaje por refuerzo es útil para explorar
cómo los programas informáticos o los robots interactúan con entornos dinámicos. Un ejemplo es
un robot al que se le encarga abrir puertas; se le penaliza cuando no abre una puerta y se le
recompensa cuando lo hace. Con el tiempo, tras muchos intentos, el robot aprende la secuencia de
acciones necesarias para abrir una puerta.

De manera simplificada, podemos resumir los pasos implicados en el aprendi-


zaje automático con los siguientes:
1. Recolección y comprensión de los datos.
2. Preparación de los datos: implica adaptar los datos al formato correcto y admitido por los
algoritmos que vayamos a utilizar, y corregir, eliminar o adaptar aquellos datos incompletos
o cualitativos que necesiten ser cambiados a valores cuantitativos.
3. Entrenamiento del modelo: para realizar predicciones utilizando el modelo, se debe utilizar
el algoritmo correcto en función de la información que queramos obtener y los datos de los
que dispongamos. Existen varios algoritmos para ello. Por ejemplo, la regresión lineal es
uno de los algoritmos de aprendizaje automático más simples; busca relaciones entre dos
variables y realiza predicciones de una de ellas (variable dependiente) en función de la otra
(variable independiente). Para ello busca la recta que mejor se ajuste a los valores (pares x,
y) proporcionados durante el entrenamiento. Conseguir esta línea de regresión significaría
haber entrenado al modelo.
4. Probar el modelo: para ello, se mide la precisión del modelo con ejemplos ya conocidos de
antemano y comprobando si el modelo arroja los resultados esperados. Cabe destacar, que
no se puede probar el modelo con los mismos datos que se han usado para entrenarlo.
Normalmente se suele reservar un 20 % de los datos disponibles para realizar las pruebas, y
un 80 % para entrenar el modelo. La precisión del modelo puede probarse con algún método
conocido.
5. Mejorar la precisión del modelo: en caso de que al medir la precisión del modelo durante las
pruebas no se haya obtenido la precisión deseada, habría que volver a iterar sobre alguno de

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

los pasos anteriores. Algunas de las recomendaciones que se suelen seguir en este caso
serían i) recopilar más datos, ii) preparar o adaptar los datos usando otras técnicas, iii)
seleccionar otras características de los datos, o iv) usar un algoritmo diferente para entrenar
el modelo como, por ejemplo, árboles de decisión en caso de que nos enfrentemos a
problemas de clasificación en lugar de regresión.

Redes Neuronales Artificiales (ANN)


Las redes neuronales artificiales (ANN, por sus siglas en inglés) son unas potentes
herramientas dentro del ámbito del aprendizaje automático, que se utilizan de diversas maneras para
conseguir distintos objetivos, como el reconocimiento de imágenes, el procesamiento del lenguaje
natural o la resolución de problemas derivados de los juegos. Las ANNs aprenden de forma similar
a otros algoritmos de aprendizaje automático: utilizando datos para ser entrenadas. Pero en este
caso, se adaptan mejor a los datos no estructurados en los que es difícil entender cómo se relacionan
las características entre sí.
Podemos entender las ANNs como otro modelo de aprendizaje automático que deberá ser
entrenado y probado correctamente. Las ANNs vienen inspiradas por la biología, creando analogías
entre elementos del cerebro humano y los componentes de las ANNs (hasta cierto límite). Así, nos
encontramos ante el elemento base de una ANN: el perceptrón, que no es ni más ni menos que la
representación lógica de una única neurona del cerebro y el sistema nervioso humanos. Como las
neuronas, el perceptrón recibe entradas (como las dendritas), modifica esas entradas en base a algún
criterio (como las sinapsis) y produce un resultado (como los axones).

Para configurar un perceptrón se establecen los pesos de todas sus entradas. Y su función de
activación. El perceptrón sumará los valores de todas sus entradas multiplicadas por sus respectivos
pesos. La suma obtenida se le dará como entrada a la función de activación, y ésta proporcionará la
salida de la neurona o perceptrón. Además, puede haber una entrada opcional con un valor fijo de
offset o desplazamiento, que se añadirá a la suma. Esto se usa para ajustar el rango de valores antes
de pasar por la función de activación.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Las funciones de activación más usadas son las siguientes:

Aunque el perceptrón es útil para resolver problemas lineales, no puede resolver problemas
no lineales por si solo; si no es posible clasificar el conjunto de datos del que partimos mediante una
línea recta, el perceptrón fallará. Es por ello que las ANNs emplean múltiples perceptrones que
trabajan juntos, distribuidos por capas, es posible resolver problemas no lineares de varias
dimensiones. Esto es lo que se llama una Red Neuronal.
El aprendizaje profundo (del inglés, deep learning), que se deriva del aprendizaje automático,
es una familia más amplia de técnicas y algoritmos que se utilizan para lograr una inteligencia
limitada (débil), pero con el objetivo de alcanzar una inteligencia general (fuerte). Concretamente,
el aprendizaje profundo es el nombre que reciben los algoritmos que utilizan ANNs en diferentes
arquitecturas para lograr un objetivo. El aprendizaje profundo suele implicar que el enfoque intenta
resolver un problema de forma más general, como el razonamiento espacial, o que se aplica a
problemas que requieren más generalización, como la visión por computador y el reconocimiento
del habla. El aprendizaje profundo también se basa en el aprendizaje supervisado, el aprendizaje no
supervisado y el aprendizaje por refuerzo.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet


Modelos de Inteligencia Artificial

Los enfoques de aprendizaje profundo suelen emplear muchas capas de ANNs. Al


aprovechar diferentes capas de componentes inteligentes, cada capa resuelve problemas
especializados; juntas, las capas resuelven problemas complejos tendiendo a cumplir un objetivo
mayor. Por ejemplo, identificar cualquier objeto en una imagen es un problema general, pero puede
dividirse en la comprensión del color, el reconocimiento de las formas de los objetos y la
identificación de las relaciones entre los objetos para lograr un objetivo.

Inteligencia Artificial y Big Data IES Camas – Antonio Brisquet

También podría gustarte