350 likes | 560 Views
Inteligencia artificial. Benasque 2004. José Ignacio Latorre Dept. ECM, UB. Orígenes. Un poquito de historia. Alan Turing (37), Church, Post : Turing Machine McCullough and Pitts (43) : neuronas binarias John von Neumann : computadora de von Neumann
E N D
Inteligencia artificial Benasque 2004 José Ignacio Latorre Dept. ECM, UB
Orígenes Un poquito de historia • 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 ejemplos paralelo difuso 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 Idea básica Algoritmo conocido Problema Solución complejo ideal • 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
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
Algoritmos genéticos Estrategia de un Algoritmo Genético Problema Solución Complejo óptima Buena Población de soluciones selección natural ruleta mutaciones bajo ritmo 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
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 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”
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 ibits lex: 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 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 0 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
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 Imitemos a una neurona pesos entrada i activación umbral pesos salida Realidad Ficción
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
Redes Neuronales saturación saturación Respuesta lineal Función de activación: sigmoide
Redes Neuronales ¿Qué controla el flujo de información? las sinápsis = pesos los umbrales y la arquitectura !!!!
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:
Redes Neuronales E E E = w + t w t 2 2 E E w = - E E = - + + w w w E t = - t 0
Redes Neuronales Cambio de pesos Energía (error) Activación Para la última capaL=n hi
Redes Neuronales L L-1 .... l l-1 ....... 2 BACK-PROPAGATION Regla de la cadena
Aplicaciones Redes Neuronales Aplicaciones de Redes neuronales artificiales Créditos Seguros Logística Sociología Control Optimización Fidelidad Bolsa Data Mining
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
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 0 Buen reconocimiento de voz requiere entrenamiento John 0 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 Futuro ibex35 a 60 días + 1sigma • Lanzamos 100 redes sobre • datos entrenar/validar • Para cada dato tenemos un • promedio y una dispersión • Descartamos 3 sigma NN Real Opciones Alarmas Arbitraje Estrategias …. -1 sigma
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
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