Inteligencia artificial Benasque 2004 José Ignacio Latorre Dept. ECM, UB
Un poquito de historia Orígenes Dos escuelas de pensamiento, 50 ~ 60: Alan Turing (37), Church, Post : Turing Machine McCullough and Pitts (43) : neuronas binarias John von Neumann : computadora de von Neumann Dos escuelas de pensamiento, 50 ~ 60: Manipulación simbólica Comportamiento inteligente consiste en reglas de manipulación de símbolos Reconocimiento de patrones Aprendizaje a partir de ejemplos
Orígenes top top ejemplos reglas paralelo serial difuso booleana robusto general down top reglas serial booleana frágil experto down Prolog, Lisp, IA Sistemas expertos basados en reglas 1980’s : éxitos mediocres reexamen del trabajo de los 60s en redes neuronales
Algoritmos genéticos
Aprendamos de la Naturaleza Algoritmos genéticos Idea básica Problema Solución complejo ideal Algoritmo conocido A menudo este esquema no es realista Problemas NP Algoritmo desconocido Solución “buena y rápida” es aceptable ... Deseamos hallar un método alternativo para analizar un gran número de soluciones posibles Aprendamos de la Naturaleza
(cristal aperiódico, Schrödinger) Algoritmos genéticos ADN (cristal aperiódico, Schrödinger) Operón off/on Guanina Adenina Tiamina Citosina codón gen mRNA 20 aminoácidos + stops proteínas mRNA tRNA Humanos: 3 109 bases 1 molécula ADN 2 103 bases 1 gen pero 30000/40000 genes ADN basura secuencias repetidas genes con multiples copias transposición de genes exones, intrones transposones
Algoritmos genéticos La reproduccion no preserva la forma exacta del material genético Meiosis Recombinación de material genético crossover Mutaciones Mecanismos de corrección protegen parcialmente la fidelidad de la copia del ADN copiado 1 error / 10000 bases - correcciones = 1 error / 109 bases + Selección Natural Surpervivencia del mejor “adaptado” antes de la reproducción Crossover aleatorio y mutaciones filtrados por selección natural a lo largo de muchas generaciones lleva a especies mejor “adaptadas”. Grandes poblaciones vienen de unos pocos individuos
Estrategia de un Algoritmo Genético Algoritmos genéticos Estrategia de un Algoritmo Genético Problema Solución Complejo óptima Buena Población de soluciones mutaciones bajo ritmo selección natural ruleta crossover frecuencia alta Los algoritmos genéticos son potentes AGs trabajan con una parametrización del problema AGs usan una función premio AGs usan reglas de transición probabilísticas
Problema del viajante (Travelling Salesman Problem) Algoritmos genéticos Problema del viajante (Travelling Salesman Problem) n Hallar el camino que visita n ciudades sólo una vez 1 2 Problema NP Hay n! soluciones que explorar No existe un algoritmo eficiente para hallar la solución Mínimos locales, frustración Uso práctico frecuente si se añaden ligaduras (rutas, llamadas de teléfono,..) Parametrización e.g. A1 = {1,7,4,3,8,2,6,9,5} mutación A2 = {1,7,3,4,8,2,6,9,5} crossover A3 = {1,8,2,6,7,4,3,9,5} premio dist = d(1,7) + d(7,4) + ... + d(9,5) + d(5,1)
Algoritmos genéticos TSP resultados 100 generaciones 10 ciudades “soluciones” ~ 362880 Mínimo exacto t ~ 1 min dist = 3.394975 AG mínimo t < 1s distAG = 3.394975 11 ciudades “soluciones” ~ 3628800 Mínimo exacto t ~ 10 min dist = 3.441836 AG mínimo t < 1s distAG = 3.441836
Algoritmos genéticos “soluciones” ~ 10156 101 ciudades “soluciones” ~ 10156 Búsqueda aleatoria entre un millón de recorridos (t ~ 30s) encuentra una solución de dist = 43.26733 AG mínimo t < 1s distAG = 30.61271 Exploración de 106 “soluciones”
¿Por qué funcionan los AGs? Algoritmos genéticos ¿Por qué funcionan los AGs? Esquema H = 0 1 1 * * 1 * Orden de un esquema O(H) = O(011**1*) =4 (# dígitos fijos) Longitud de un esquema d(H) = d(011**1*) = 7 (longitud de un patrón) Palabra A i bits l ex: A = { {1,0,1}, ...} población A = {A 1, A2, ..., An} esquema: 101, 10*,1*1, # esquemas posibles 3l *01, 1**, *0*, # esquemas presentes en una población de n palabras n 2l **1,***
{ Algoritmos genéticos Reproducción A tiempo t empezamos con m ejemplos de esquema H dentro de la población A ( hay n palabras en A y l bits en cada palabra ) Reproducción Cada palabra es copiada de acuerdo a su adecuación Ai El destino de un esquema depende de Adecuación promedio de H Adecuación promedio total { C>0 vida crecimiento exponencial C<0 muerte muerte exponencial
Algoritmos genéticos Crossover + mutación destruye y crea nuevos esquemas Crossover Si el crossover es seleccionado al azar uniformemente, el esquema H es destruido Con probabilidad La probabilidad de supervivencia es Mutación O(H) posiciones deben mantenerse inalteradas crossover con probabilidad pc mutación con probabilidad pm << 1
Algoritmos genéticos Teorema fundamental de los Algoritmos Genéticos Esquemas de bajo orden tienen exponencialmente más descendientes en subsiguientes generaciones n 2l (de entre 3l) esquemas son explorados (sólo n3 son procesados eficientemente: paralelismo implícito)
Algoritmos genéticos Un día en Las Vegas RR 1 LL LR LL LL RR LR RL LL El bandido de dos brazos (Loaded two-arm bandit) Juega una población de estrategias mutación-crossover-selección: Beneficio óptimo
... y otro día dedicado a las quinielas Algoritmos genéticos ... y otro día dedicado a las quinielas 4 partidos: 34=81 apuestas posibles Problema: halla el número mínimo de apuestas que aciertan tres resultados como mínimo Reducción = problema diofántico DNA= propuesta de apuestas Mutación y crossing Fiteness= errores + #apuestas 1-7-80 106 generaciones: solución óptima= 4apuestas !!! 3-7-8-14-33-65-81 1-7-34-73 3-7-22-76-80 Problema 1: 13 partidos – 1 error ? Problema 2: 11 partidos – 2 errores ?
Redes neuronales artificiales
i Realidad Ficción Redes Neuronales Imitemos a una neurona pesos entrada i activación umbral pesos salida Realidad Ficción
... y la estructura de una red neuronal Redes Neuronales ... y la estructura de una red neuronal Número de neuronas en la capa l-1 capa activación pesos umbral Función de activación
saturación saturación Respuesta lineal Redes Neuronales Función de activación: sigmoide
¿Qué controla el flujo de información? Redes Neuronales ¿Qué controla el flujo de información? las sinápsis = pesos los umbrales y la arquitectura !!!!
¡Hemos aprendido a aprender! Redes Neuronales ¡Hemos aprendido a aprender! En el año 1985 se ideó un método para encontrar los pesos y los umbrales a partir de ejemplos. No es necesario entender cómo se resuelve un problema. Podemos “entrenar” una red neuronal artificial con ejemplos. Construimos una función error ejemplo: ( in(p) ; out(p) ) p=1,...,patterns run NN: z(1)(p) = in(p) z(n)(p) = F( z(1)(p) ) error:
0 Redes Neuronales E = w + t w = - E = - + 2 2 w = - E E E = - + w + w w E t = - t 0
Redes Neuronales Cambio de pesos Energía (error) Activación Para la última capa L=n hi
BACK-PROPAGATION Redes Neuronales L L-1 .... l l-1 ....... 2 Regla de la cadena
Redes neuronales artificiales Aplicaciones Redes Neuronales Aplicaciones de Redes neuronales artificiales Créditos Seguros Logística Sociología Control Optimización Fidelidad Bolsa Data Mining
Ejemplo: pérdida de clientes Aplicaciones Redes Neuronales Ejemplo: pérdida de clientes Una compañía desea saber qué clientes puede perder Entrenamos una red neuronal con un subconjunto de datos de clientes perdidos y no perdidos Predecimos la fidelidad del resto Facturación Antigüedad Líneas de pedido Localización Sí / No
Reconocimiento de imágenes Aplicaciones Redes Neuronales Reconocimiento de imágenes Una red neuronal ha sido entrenada para reconocer aviones militares. La red detecta que hay un avión militar escondido bajo el ala de otro avión de pasajeros Belgrado 19/04/1999
Aplicaciones Redes Neuronales Reconocimiento de voz Dos personas dicen “Hello” Hacemos un análisis de frecuencias (60) Entrenamos una red con “hello”s Discrimnación de la red con “hello”s conocidos = 100% Discriminación de la red con “hello”s desconocidos = 100% Steve 1 Buen reconocimiento de voz requiere entrenamiento John 1
Aplicaciones Redes Neuronales Series temporales de cotizaciones Alarmas Arbitraje …. Promedios sobre redes entrenadas a partir de pesos aleatorios Si existe un modelo subyacente, las redes son equivalentes Si no existe un modelo subyacente, las redes producen dispersión + 1sigma Futuro ibex35 a 60 días NN Lanzamos 100 redes sobre datos entrenar/validar Para cada dato tenemos un promedio y una dispersión Descartamos 3 sigma Real Opciones Alarmas Arbitraje Estrategias …. -1 sigma
inferencia bayesiana Aplicaciones Redes Neuronales Las redes neuronales Son aproximantes universales que implementan inferencia bayesiana Predicción enfermedades coronarias ventas divorcios Clasificación clientes de un banco economía Interpolación control de producción reconocimiento
Estamos entrando en la era de la información Aplicaciones Redes Neuronales ¿Estoy divorciado? ¿Soy matemático o filósofo? acierto: 100% Una red es entrenada con superficie de su primera vivienda virginidad nivel económico visitas de los suegros enfermedades... ¿Seré anoréxica/o? ¿Terminaré la carrera? ¿Lloverá mañana? ¿Ganará el Barça? ¿Está usted divorciado? acierto de la red neuronal: 88% Estamos entrando en la era de la información