Inteligencia artificial

68
INTELIGENCIA ARTIFICIAL.

Transcript of Inteligencia artificial

INTELIGENCIA ARTIFICIAL.

¿Algo que ver con la ciencia ficción?

INTELIGENCIA ARTIFICIAL

Sistemas que( piensan | actúan )

( racionalmente | como humanos )

¿Qué significa ser “inteligente”?“La inteligencia se puede definir como la

capacidad deresolver problemas o elaborar productos

que seanvaliosos en una o más culturas.”

Un psicólogo de Harvard llamado Howard Garden, señalo que nuestra cultura había definido la inteligencia de manera muy estrecha y propuso en su libro " estructura de la mente", la existencia de por lo menos siete inteligencias básicas:

La inteligencia: Diferentes teorías y definiciones.

Lingüística: capacidad de usar las palabras de modo efectivo ( ya sea hablando, escribiendo, etc). Incluye la habilidad de manipular la sintaxis o escritura del lenguaje, la fonética o los sonidos del lenguaje, la semántica o significado de lenguaje o división, pragmática o los husos prácticos.

Lógico matemática: capacidad de usar los números de manera efectiva y de razonar adecuadamente ( pensamiento vertical).

Espacial: la habilidad para percibir la manera exacta del mundo visual-espacial y de ejecutar transformaciones sobre esas percepciones ( decorador, artistas, etc).

Corporal – kinética: la capacidad para usar el cuerpo para expresar ideas y sentimientos y facilidad en el uso de las propias manos para producir o transformar cosas.

Musical: capacidad de percibir, discriminar, trasformar y expresar las formas musicales.

Interpersonal: la capacidad de percibir y establecer distinciones entre los estados de ánimo, las intenciones, motivaciones, sentimientos, de otras personas.

Inteligencias Múltiples

Existe una dimensión de la inteligencia personal que esta ampliamente mencionada aunque poco explorada en las elaboraciones de Gadner: el papel de las emociones.Más allá de la descripción de las inteligencias y de sus fundamentos teóricos hay ciertos aspectos que convienen destacar: Cada persona posee varios tipos de

inteligencias. La mayoría de las personas pueden

desarrollar cada inteligencia hasta un nivel adecuado de competencia.

Las inteligencias por lo general trabajan juntas de manera compleja, ósea, siempre interactúan entre sí para realizar la mayoría de las tareas se precisan todas las inteligencias aunque en niveles diferentes hay muchas maneras de ser inteligentes en cada categoría.

El estudio de la inteligencia es una de las disciplinas más antiguas, por más de 2000 años los filósofos no han escatimado esfuerzos por comprender como se ve, recuerda y razona junto con la forma en que estas actividades deberían realizarse.

Según John Mc Carthy la inteligencia es la "capacidad que tiene el ser humano de adaptarse eficazmente al cambio de circunstancias mediante el uso de información sobre esos cambios", pero esta definición resulta muy amplia ya que de acuerdo con esta, el sistema inmunológico del cuerpo humanó resultaría inteligente ya que también mediante el uso de información este logra adaptarse al cambio.

Aprender o entender a partir de la experiencia.

Dar sentido a mensajes ambigüos o contradictorios.

Responder rápidamente y con éxito frente a una situacion nueva (flexibilidad)

Usar raciociniones para solucionar problemas.

Lidiar con situaciones de perplejidad.

Entender e inferir de modo común, racional.

Adquirir y aplicar conocimiento

Pensar y razonar

Reconocer la importancia relativa de diferentes elementos dentro de una situación.

Señales de comportamiento inteligente

El razonamiento cotidiano es de naturaleza aproximada.

Ejemplos:

Encontrar un lugar donde estacionar tu carro.

Localización de una llamada telefónica. Escoger cual ruta debes tomar para

llegar a tu destino lo mas pronto posible.

Cruzar la calle. Donde desayunar.

Como funciona

Entonces qué es inteligencia artifiicial.Se denomina inteligencia artificial (IA) a la rama de las ciencias de la Computación dedicada al desarrollo de agentes racionales no vivos. Sus esfuerzos se orientan hacia la construcción de entidades de inteligentes y su comprensión.Entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la racionalidad como una capacidad humana que permite pensar, evaluar y actuar conforme a ciertos principios de optimidad y consistencia.

De manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado.Existen distintos tipos de conocimiento y medios de representación del conocimiento, el cual puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje.

Para completar esa definición, algunas definiciones no tan formales emitidas por diferentes investigadores de la IA que consideran otros puntos de vista son:

La IA es el arte de crear maquinas con capacidad de realizar funciones que realizadas por personas requieren de inteligencia.

(Kurzweil, 1990) La IA es el estudio de cómo lograr que las

computadoras realicen tareas que, por el momento, los humanos hacen mejor.

(Rich, Knight, 1991). La IA es la rama de la ciencia de la computación que se

ocupa de la automatización de la conducta inteligente. (Lugar y Stubblefied, 1993).

IA es la reproducción de los métodos de razonamiento o intuición humanos. Usa modelos computacionales para simular comportamiento (humano) y procesos inteligentes. Estudia las facultades mentales a través del uso de métodos computacionalesComportamiento

inteligente

Humanos

Computadora

Cerebro

• La frecuencia de los impulsos nerviosos pueden variar.

• Los impulsos fluyen a 30 metros por segundo

• Similitudes entre el cerebro y una computadora

Computadora

• La frecuencia de transmisión es inalterable y está dada por el reloj interno de la máquina.

• En el interior de la computadora los impulsos fluyen a la velocidad de la luz.

• Ambos codifican la información en impulsos digitales.

Diferencias entre el cerebro y una computadora

Diferencias entre el cerebro y una computadora

Cerebro

• Tanto como el cerebro como la computadora tienen compuertas lógicas.

• La memoria es del tipo asociativo y no se sabe donde quedará almacenada.

• Las llamadas sinapsis cumple en el cerebro la función simultánea de varias computadoras.

Computadora

• Existen distintos tipos de memoria

• La información se guarda en posiciones de memoria de acceso directo por su dirección

• Las compuertas lógicas tienen una función perfectamente determinada e inalterable.

Introducción Las redes neuronales son un elemento importante de las denominadas tecnologías de Inteligencia Artificial (IA). La IA es "la disciplina científica y técnica que se ocupa del estudio de las ideas que permiten ser inteligentes a los ordenadores" (definición de H. Winston). Otra posible definición de la IA sería: rama de la computación que se encarga, entre otras cosas, de los problemas de percepción, razonamiento y aprendizaje en relación con sistemas artificiales, y que tiene como áreas de investigación a los sistemas expertos y de conocimiento, la robótica, los lenguajes naturales y las redes neuronales.

REDES NEURONALES

Las redes neuronales, también llamadas "redes de neuronas artificiales", son modelos bastante simplificados de las redes de neuronas que forman el cerebro. Y, al igual que este, intentan "aprender" a partir de los datos que se le suministran.

características que diferencian a las redes neuronales

Su capacidad de aprendizaje a partir de la experiencia (entrenamiento). Normalmente, para la elaboración de un programa informático es necesario un estudio detallado de la tarea a realizar para después codificarla en un lenguaje de programación. Pero, las redes neuronales pueden ser entrenadas para realizar una determinada tarea sin necesidad de un estudiar esta a fondo ni programarla usando un lenguaje de programación. Además; las redes neuronales pueden volver a entrenarse para ajustarse a nuevas necesidades de la tarea que realizan, sin tenerse que reescribir o revisar el código (cosa frecuente en programas tradicionales).

características que diferencian a las redes neuronales

Su velocidad de respuesta una vez concluido el entrenamiento. Se comportan también en este caso de manera similar a como lo hace el cerebro: los seres humanos no necesitamos pensar mucho para identificar un objeto, una palabra, una vez hemos aprendido a hacerlo.

Su robustez, en el sentido de que el conocimiento adquirido se encuentra repartido por toda la red, de forma que si se lesiona una parte se continúan generando cierto numero de respuestas correctas (en este caso también hay cierta analogía con los cerebros parcialmente dañados).

Comparaciones

El cerebro humano, de casi kilo y medio (tres libras) de peso y del tamaño de un pomelo (toronja), posee unos 100.000 millones de neuronas, que forman una red sumamente compleja. De hecho, una neurona puede estar conectada a otras 100.000. Estas conexiones le dan al cerebro la capacidad de procesar y retener una gran cantidad de datos; lo difícil, por supuesto, es recuperarlo cuando se necesitan. Hay personas que tienen una memoria envidiable incluso sin haber cursado estudios escolares.

Una capacidad enorme

La era moderna de las redes neuronales se cree que comenzó en 1943 gracias a McCullough y Pitts, quienes describieron el cálculo lógico de las redes neuronales y perfilaron el primer módulo formal de una neurona elemental. En la década de los cincuenta, Minsky comienza a construir la primera neurocomputadora (basada en modelos de redes neuronales que imitan al cerebro). En 1962, Frank Rosenblatt presenta los resultados de una máquina a la que denominó "Perceptrón", la cual reproducía una estructura neuronal muy simplificada, capaz de aprender a reconocer y clasificar determinadas figuras.

Historia

En la misma década, Minsky y Pappert (autoridades de la IA clásica) publicaron un libro en el que se ponían de manifiesto las limitaciones de los perceptrones de una capa. Esto hará que se pierda interés en el campo de las redes neuronales hasta la década de los 80, en que el estudio de nuevas arquitecturas de redes y la mayor potencia de los ordenadores permiten el diseño de redes muy eficientes en tareas en las que otros procedimientos de tipo simbólico encuentran dificultades. Así, en 1982 J. Hopfield describe las "redes de Hopfield" en las que se utilizan funciones de energía para entender las redes dinámicas .

Historia

En 1986 Rumulhart, Hunton y Williams redescubren el algorismo de "back-propagation" (desarrollado en 1974 por Paul Werbor) para el aprendizaje de redes neuronales. Por estas fechas, y gracias a las nuevas tecnologías de fabricación de microchips, comienzan a construirse redes neuronales implementadas en silicio (mucho más rápidas que las de software). Actualmente, el uso de redes neuronales se ha extendido bastante en el mercado de software doméstico, dejando de estar restringidas a los entornos de investigación y a las grandes empresas. De esta forma, se pueden encontrar modelos de redes neuronales en programas de reconocimiento de voz, en juegos de ordenador, programas de contabilidad, tutores, y muchos otros.

Historia

Las características de las redes neuronales hacen que sus posibles aplicaciones sean muy amplias. Algunas de las aplicaciones más destacadas son: Reconocimiento de patrones de clasificación: Reconocimiento de voz, de caracteres

manuscritos,... Análisis y reconocimiento de imágenes, formas,... Diagnostico clínico. Análisis de series temporales y predicción: Modelos meteorológicos. Predicción del comportamiento. Predicción de series temporales. Robótica Etc.

Aplicaciones de las redes neuronales

A la hora de implementar una red neuronal como parte de un programa o sistema informático, se pueden distinguir 3 fases básicas: Diseño: en esta fase se elige el tipo de red

neuronal a usar (la arquitectura o topología), el número de neuronas que la compondrán,...

Entrenamiento: en esta fase se le presentan a la red neuronal una serie de datos de entrada y datos de salida (resultados), para que a partir de ellos pueda aprender.

Uso: se le suministran las entradas pertinentes a la red, y esta genera las salidas en función de lo que ha aprendido en la fase de entrenamiento.

Implementación en aplicaciones

Una red neuronal es una estructura de procesamiento de información paralela y distribuida, que intenta emular las funciones computacionales elementales de la red nerviosa del cerebro humano, en base a la interconexión de multitud de elementos de procesamiento, cada uno de los cuales presenta un comportamiento completamente local.

Definición

Introducción Objetivo: Usar los principios de organización de los cerebros biológicos para construir sistemas inteligentes. (IA subsimbóolica) RNA ! Emulación (modelo matemático) del funcionamiento del cerebro a bajo nivel. IA simbólica! Simula el comportamiento inteligente (interesa el resultado inteligente) Cerebro/RNAs: Sistemas masivamente paralelos formados por un gran número de elementos de procesos (EPs) simples (neuronas) interconectados.

Neuronas biológicas y neuronas artificiales

Comparaciones

En dominios difíciles de formalizar (necesidad aprendizaje)

Entradas/salidas muchas dimensiones. Entradas con ruido.

Tareas clasificación/reconocimiento de patrones. Comprensión por humanos poco importante. Percepción: Reconocimiento/generación de voz Reconocimiento. formas (OCR, ...) Identificación personas (voz, huellas, iris,...) Predicción: Predicción series temporales: ciclos

consumo energía, valores bursátiles Otras: clasificación, aproximación funciones, filtrado

adaptativo de señales.

Aplicaciones típicas

Neurona biológica: Procesador de información muy simple basado en procesos electroquímicos. 1011 neuronas, con miles de conexiones de entrada y cientos de salida (6 × 1014 conexiones) Componentes: Soma: Cuerpo de la célula (Realiza el ”procesamiento”) Axon: Elemento de salida con múltiples ramificaciones.

(Transporta impulsos nerviosos a otras neuronas). Dendritas: Elementos de entrada (Reciben señales de

excitación/inhibición de otras neuronas a través de las sinapsis).

Sinapsis: Áreas de contacto entre neuronas Conexiones unidireccionales, dos tipos: excitadores, inhibidora No hay contacto físico, (separación) Transmisión de información. en forma electroquímica (iones

gobernada por neurotransmisores

Neuronas Biológicas

Neurona (soma) ”acumula” todos los potenciales positivos y negativos que recibe en sus entradas (dendritas) Si la suma de esos impulsos es ”suficiente”,

cambia su potencia y genera su salida en el axón que se propagara a otras neuronas.

Funcionamiento

Objetivo: Emular funcionamiento de neuronas biológicas Una RNA está formada por un conjunto de EPs (Elementos de

Procesos) (neuronas artifi-ciales) unidas por conexiones unidireccionales ponderadas (con un peso asociado).

Normalmente se organizan en capas. El procesamiento en cada EP es local Depende sólo de: entradas + pesos conexión estado anterior del EP (opcional) La red se adapta mediante un aprendizaje que modifica los

pesos de las conexiones. o El conocimiento se almacena en los pesos sinápticos. Elementos clave de las RNAs: Procesamiento paralelo: EPs/neuronas operan en paralelo Memoria distribuida: info. almacenada en las conexiones Aprendizaje: modificación pesos de conexiones en base a

ejemplos de aprendizaje.

Neuronas Artificiales

Las redes neuronales están formadas por un conjunto de neuronas artificiales interconectadas. Las neuronas de la red se encuentran distribuidas en diferentes capas de neuronas, de manera que las neuronas de una capa están conectadas con las neuronas de la capa siguiente, a las que pueden enviar información. La arquitectura más usada en la actualidad de una red neuronal, consistiría en: Una primera capa de entradas, que recibe información

del exterior. Una serie de capas ocultas (intermedias), encargadas

de realizar el trabajo de la red. Una capa de salidas, que proporciona el resultado del

trabajo de la red al exterior. exterior.

Funcionamiento Básico

Funcionamiento Básico

El número de capas intermedias y el número de neuronas de cada capa dependerá del tipo de aplicación al que se vaya a destinar la red neuronal

Analogía entre la Red Biológica y entre la Red Artificial

Cada neurona de la red es una unidad de procesamiento de información; es decir, recibe información a través de las conexiones con las neuronas de la capa anterior, procesa la información, y emite el resultado a través de sus conexiones con las neuronas de la capa siguiente, siempre y cuando dicho resultado supere un valor "umbral". En una red neuronal ya entrenada, las conexiones entre neuronas tienen un determinado peso ("peso sináptico"). Un ejemplo de una neurona sobre la que convergen conexiones de diferente peso sináptico (Wi) sería el de la figura

Neuronas y conexiones

El procesamiento de la información llevado a cabo por cada neurona Y, consiste en una función (F) que opera con los valores recibidos desde las neuronas de la capa anterior (Xi, generalmente 0 o 1), y que tiene en cuenta el peso sináptico de la conexión por la que se recibieron dichos valores (Wi). Así, una neurona dará mas importancia a la información que le llegue por una conexión de peso mayor que no a aquella que le llegue por una conexión de menor peso sináptico.

Topología Monocapa Multicapas Redes Forward Redes Recurrentes Redes Realimentadas Redes de Funciones Radiales

Clasificación Tipo de Señal: Analógicas/Binarias Tipo de Aprendizaje: Competitivo/Supervisado Funcionalidad:

Clasificación/Memoria/Optimización

Red Neuronal

Clasificación

Para poder aprender, las redes neuronales se sirven de un algoritmo de aprendizaje. Estos algoritmos están formados por un conjunto de reglas que permiten a la red neuronal aprender (a partir de los datos que se le suministran), mediante la modificación de los pesos sinápticos de las conexiones entre las neuronas (recordar que el umbral de cada neurona se modificará como si fuera un peso sináptico más). Generalmente los datos que se usan para entrenar la red se le suministran de manera aleatoria y secuencial. Los tipos de aprendizaje pueden dividirse básicamente en tres.

Tipos de aprendizaje básicos

Aprendizaje supervisado: se introducen unos valores de entrada a la red, y los valores de salida generados por esta se comparan con los valores de salida correctos. Si hay diferencias, se ajusta la red en consecuencia.

Aprendizaje de refuerzo: se introducen valores de entrada, y lo único que se le indica a la red si las salidas que ha generado son correctas o incorrectas.

Aprendizaje no supervisado: no existe ningún tipo de guía. De esta manera lo único que puede hacer la red es reconocer patrones en los datos de entrada y crear categorías a partir de estos patrones. Así cuando se le entre algún dato, después del entrenamiento, la red será capaz de clasificarlo e indicará en que categoría lo ha clasificado.

Los tipos de aprendizaje

Este modelo de red simple, seria un modelo reducido del modelo del Perceptrón, desarrollado por Rosenblatt entre 1958 y 1962, a partir de los modelos de red de McCullough-Pitts. En el ojo, la imagen proyectada sobre la retina es convertida en señales eléctricas gracias a las células sensitivas a la luz (conos y bastones). Estas señales, a través de los axones de las células ganglionares, son transmitidas al cerebro, que interpreta la imagen. El modelo del Perceptron está basado en esta idea del ojo: las células sensibles de la retina serian detectores conectados con neuronas de la capa de entrada; estas neuronas se activan (1) cuando se activa el detector correspondiente. Cada neurona de la capa de entrada está conectada con diferentes neuronas de la capa de detección de características. Y cada neurona de esta capa estaría conectada a su vez con diferentes neuronas de la capa de salidas del Perceptron.

Modelo del Perceptron

Modelo del Perceptron

Y la regla de aprendizaje usada para entrenar la red es una versión simplificada de la regla de aprendizaje del Perceptron.

El modelo simple de red neuronal (al igual que el modelo del Perceptrón en el que se basa), presenta bastantes limitaciones en las tareas que puede llegar a aprender. Así, por ejemplo, el modelo seria incapaz de aprender a realizar la operación XOR (O exclusivo): no puede ser entrenado con éxito para que la neurona 3 se active si las neuronas 1 o 2 están activas, pero no las dos a la vez.Esto es debido a que el método de entrenamiento lo que hace es mover la siguiente recta sobre un plano:

De manera que los puntos (X1, X2) del plano por encima de la recta hacen que la neurona 3 se active, y los que quedan por debajo de la recta hacen que la neurona 3 permanezca inactiva.

Limitaciones del modelo

Limitaciones del modelo

Y no se puede dividir el plano en 2 partes de manera que solo los puntos (0,1) y (1,0) queden en la zona de activación de la neurona 3. Para realizar este tipo de tareas "complejas" es preciso una red neuronal que contenga más de una capa de pesos sinápticos ajustables. Para ello, se añaden capas ocultas de neuronas entre la capa de entradas y la capa de salidas.

Perceptron Simple

Con n entradas y m salidas se puede expresar

Formula de Aprendizaje

Simulación de una RNA

Pasos para Realizar un Problema

Compuerta Lógica OR

Pasos 1: Gráfico

Pasos 2: Representación de la Compuerta Reemplazamos: (1) Verdadero por 1 (0) Falso por -1

Compuerta Lógica OR

Pasos 3: Fórmula Función de Activación

Pasos 4: Elegir Valores Pesos Aleatorios W1 = 1.2 W2 =-1.2 0 =-0.4

Pasos 5: Inicio Primera Evaluación E=0.5 (factor de aprendizaje)

Aplicación de la fórmula

Capacidades de la I.A.¿Creatividad? ¿Alguna mejora?

Capacidades de la I.A.

Capacidades de la I.A.¿Qué puede hacer actualmente la I.A.?

Aplicaciones

Sistemas de planificación

AplicacionesVisión artificial

Aplicaciones

Visión artificial: Microsoft Kinect, 2010

Aplicaciones

“Image-based 3D reconstruction”Depth sensor= infrared projector (laser)+ monochrome camera (CMOS)

Aplicaciones

Aplicaciones Robótica

AplicacionesVehículos autónomos

Aplicaciones

Vehículos autónomos

2005 Stanley (DARPA Grand Challenge)2007 Junior (DARPA Urban Challenge)2010 Google driverless car

SensoresToyota Prius GPS: Google Street View Cámara de vídeo (parabrisas): Semáforos y obstáculos móviles LIDAR [Light Detection And Ranging]: Mapa 3D del entorno Radares (3 frontales, 1 trasero): Distancias a objetos lejanos Sensor de posición (rueda trasera): Pequeños movimientos

AplicacionesJuegos

Aplicaciones

Aplicaciones

AplicacionesProcesamiento del lenguaje natural