Subido por Nico Coen

IA Resumen UTN FRBA

Anuncio
INTELIGENCIA ARTIFICIAL
Todo método o técnica que sea “ingenieril” debe estar basado en la Física, la Matemática y
la Química.
Pirámide de la Información
1. Datos(nivel Sintáctico): Percepción del hecho.
2. Noticias(nivel Semántico): Designa un significado específico a los signos del mensaje
en un determinado contexto para un determinado individuo. Dato con sentido.
3. Conocimiento(nivel Pragmático): Es el conjunto de Noticias que posibilitan resolver
problemas. Análisis, síntesis y elaboración.
4. Sabiduría(nivel Juicio Moral): Permite aplicar los Conocimientos según un juicio de
valor (moral, ético, correcto).
Introducción a la Inteligencia Artificial
El concepto de IA surge en 1956, en la conferencia de Dartmouth.
Tomando la definición de inteligente a alguien que:
● Resuelve problemas que pocas personas pueden resolver
● Los resuelve de la mejor manera
La mente del ser humano está formada por:
● Conocimiento: a través de la razón, inducción, deducción
● Experiencia: lo que me queda de reflexión después de haber hecho algo muchas
veces
● Creatividad
Se considera que para generar IA hay que:
● Generar algoritmos basados en lógica y heurísticas
● Construir artefactos capaces de pensar emulando el comportamiento de los seres
humanos. IA fuerte vs IA débil.Se dan cuenta que no iban a poder emular el cerebro
+ mente como hw + sw, sino como un modelo limitado de la mente.
● Por eso, la IA necesita averiguar qué sucede en los procesos internos del individuo
reconocido como inteligente. Si puedo modelar lo que pasa por la mente del
individuo, puedo generar algo inteligente.
Primer invierno de la IA
Luego surgen los modelos actuales de IA: Sistemas basados en conocimientos y expertos.
Experto: Persona que tiene saberes sobre un dominio y que resuelve problemas que el
resto no puede resolver o lo hace siempre de mejor manera.
Un sistema inteligente, reconocemos que tiene un comportamiento atribuido a una
conducta inteligente.A diferencia de una tecnología tradicional, funciona bien en un
principio, y con el tiempo aprende, incorpora nuevos conocimientos y mejora.
Cosas a tener en cuenta de la IA:
● Implica cambios en la vida de los individuos, hay que tener reglamentaciones.
● no se va a extinguir la raza humana. La IA carece de emociones
● IA y los humanos deben trabajar en equipo. IA ayuda a resolver problemas
complejos, reducir tiempo y costo, tomar decisiones, realizar predicciones,
1
automatizar tareas. La IA funciona muy bien para trabajos estandarizados y/o
rutinarios.
● modifica el trabajo de los individuos, pero se genera también nuevos puestos de
trabajo.
● existe una guía ética para el uso de la IA: debe ser usada para el beneficio del
hombre, hay que prestar atención a grupos vulnerables (puestos de trabajo), hay
que trabajar con transparencia, etc
Enseñanzas del primer verano de la IA:
- La IA usa HW tradicional y no especializado (menores costos)
- Los algoritmos deben ser programados en lenguajes flexibles.
- Los nuevos desarrollos deben reaccionar a datos erróneos, ya que el mundo real
tiene muchas imperfecciones.
1990 - Segundo Invierno de la IA (mas breve)
1996 - Deep Blue le gano a Kasparov utilizando modelos de busqueda por fuerza bruta, a
partir de Deep Blue comenzaron a surgir necesidades mas complejas.
Sistemas inteligentes
Rama de las Ciencias Computacionales encargada de estudiar modelos de cómputo
capaces de realizar actividades propias de los seres humanos en base a sus características
primordiales: el razonamiento, la conducta, y el aprendizaje.
De esta manera, se busca construir máquinas inteligentes, especialmente los sistemas
software inteligentes.
Aplicación de IA
●
●
●
●
el problema no se entiende completamente.
no se pueden anticipar todas las posibles situaciones ni los cambios futuros del
ambiente.
la cantidad posibles de soluciones es tan grande que no es viable llevar a cabo
búsquedas exhaustivas.
generar modelo tradicional que lo resuelva debe ser simplificado tanto que la solución
deja de ser útil.
Características del comportamiento inteligente
●
●
●
●
●
pueden tomar decisiones consistentes con su Objetivo ( son Racionales )
no poseen todos los conocimientos ni todos los datos ( no son Omniscientes )
no siempre son Exitosos ( no son Infalibles )
pueden mejorar durante su uso ( pueden Aprender )
soportan a cambios del dominio ( pueden ser flexibles y robustos )
Tipos de IA
●
●
IA Tradicional
Inteligencia computacional y Machine learning
2
Tipos de Sistemas inteligentes:
Sistema Basado en Conocimiento
Sistema, cuyas prestaciones dependen más de la presencia explícita de un cuerpo de
conocimientos que de la posesión de ingeniosos procedimientos computacionales. Fuentes
de conocimiento público.
Los conocimientos se almacenan en forma de decisiones descriptivas de términos específicos
del dominio, descripciones de objetos individuales del dominio y sus relaciones con otros
objetos, criterios para tomar decisiones y algunos conocimientos procedimentales como
descripciones de comportamientos o procesos que constituyen el saber cómo.
Usan Base de Conocimiento (reglas y hechos) construida a partir de fuentes de conocimiento
público (libros, manuales, web,etc). Se suele implementar aplicando lógica de primer orden.
Elementos:
● Base de conocimientos (reglas y hechos)
● Motor de inferencias: conjunto de instrucciones que saben cómo transaccionar con los
hechos y reglas (independiente del problema). Suele implementarse utilizando
métodos de búsqueda. Debe seleccionar los hechos y reglas de la base de
conocimientos que se deben aplicar.
● Interface de entrada/salida
Sistema Experto
Sistema cuyas prestaciones intentan emular parte del comportamiento de un experto humano
para resolver ciertas tareas en un dominio específico. Fuentes de conocimiento público y
privado.
Debe ser capaz de aprender lo que los expertos humanos saben, mantener y actualizar sus
conocimientos; y presentar sus conclusiones: justificar, clarificar y explicar su modo de
razonamiento.
3
Sistema experto con BC (visión tradicional de la INCO)
Elementos:
● Base de conocimientos: reglas y hechos
● Motor de inferencia
● Base de datos: los datos del problema a resolver en un momento determinado. El
usuario los ingresó y se almacenan en una BD aparte porque es solo para un problema
particular.
● Trazador de consultas: permite hacerle preguntas al usuario por datos que no tenga y
necesite
● Memoria de trabajo: registra los pasos que hace el motor de inferencia, para luego
justificar la solución
● Trazador de explicaciones: con la MT genera la justificación
● Manejador de comunicaciones.
Sistema experto sin Base de Conocimiento (visión de la inteligencia
computacional y machine learning)
El conocimiento se almacena de forma implícita de forma que no puede ser comprendido por
un humano.
4
Inteligencia Computacional
Es un término que engloba numerosas tecnologías de la IA, mayoritariamente de inspiración
biológica, y presentadas en contraposición a aquellas basadas en el razonamiento simbólico
clásico. Incluye diferentes arquitecturas, tales como: Redes Neuronales Artificiales,
Computación Evolutiva, Inteligencia de Enjambre, Sistemas Inmunológicos Artificiales
Machine Learning
O Aprendizaje Automático, es un subcampo de la Informática que busca definir y estudiar
algoritmos capaces de generalizar comportamientos a partir de información no estructurada
suministrada en forma de ejemplos.
Por lo tanto, está estrechamente relacionado con las estadísticas y tiene fuertes lazos con la
optimización matemática. Pero, se diferencia de éstas en que se centra más en el estudio de
la complejidad computacional de los problemas y sus soluciones.
Para ello, realiza una búsqueda de patrones en datos, e implementa estos patrones en un
modelo software para que el sistema lo pueda utilizar.
Se suministra al algoritmo de muchos datos, a partir de los cuales éste es capaz de generar
un modelo, que implementado de comporta de forma inteligente. Este software es
automáticamente capaz de adquirir capacidades y adaptarse a su entorno. Estos datos
deben ser representativos, y no hay que darle datos de más.
Tipos de Machine Learning
●
Supervisado: se le da información adicional para que sea capaz de generar un
patrón, por ejemplo, una salida deseada.
En el supervisado, se le puede indicar al sistema las posibles respuestas. El sistema
se encarga de encontrar las relaciones y clasificar las entradas.
● No supervisado:solo se entrena a partir de ejemplos.
Útil cuando se quiere hacer clusters entre diferentes datos de entrada. El algoritmo encuentra
la relación y patrones entre los datos. Ejemplo: empresas que quieren encontrar patrones en
las ventas a sus clientes.
5
Tipos de entrenamiento
●
●
Offline: el algoritmo aprende durante la fase de entrenamiento y una vez instalado
deja de aprender.
Online: el algoritmo aprende durante la fase de entrenamiento y sigue aprendiendo
en la fase de operación. Este aprendizaje tiene que ser monitoreado para que no
falle/se olvide de algo que ya aprendió.
Algoritmos de inducción (ML)
Implementan aprendizaje supervisado y entrenamiento offline.
Los datos que se le proporcionan son conjuntos de datos en una tabla. La tabla posee varias
atributos con sus respectivos valores, y una columna con el valor objetivo/clase, que será el
resultado de aplicar el algoritmo para los valores de entrada. Aplica un algoritmo Top-DownInduction-Decision-Tree
Top-Down-Induction-Decision-Tree
Se genera un árbol de decisión donde en cada rama tengo los valores de los atributos de
entrada y en la hoja el valor del atributo objetivo. Este algoritmo forma a partir de casos
particulares, un modelo general. El árbol se genera de arriba hacia abajo.
PROCESO PARA GENERACIÓN DEL ÁRBOL DE REGLAS:
A partir de un conjunto de datos T:
• Si T está vacío Finalizar
• Si T tiene un único valor en el atributo objetivo: Generar Hoja (no tengo que evaluar
los valores de los demás atributos)
• Sino
a. Seleccionar atributo de entrada con mayor ganancia en T (aplicando fórmula
de Shannon)
b. Particionar T por cada valor del atributo de entrada seleccionado (por cada
valor de ese atributo con mayor ganancia, armo grupos, y vuelvo a aplicar la fórmula
de Shannon)
c. Para cada partición de T, aplicar el PROCESO.
6
Si tuviera las mismas reglas, con valor objetivo diferente, esa regla tendría 50% de seguridad
y sería una regla poco confiable.
Métodos de búsqueda para la solución de
problemas
Dado un problema determinado:
1. Representación del problema: modelar al problema de una manera formal y
manipulable a partir de una descripción informal
2. Estrategia de control: definir al mismo como una búsqueda en los diferentes
espacios de estados. Técnicas que nos permiten elegir las reglas o estados a partir
de los métodos de búsqueda.
Espacio de estados: dominio que contiene todos los posibles estados, puede ser finito o
infinito. Allí se hallan los estados iniciales, los estados intermedios y los estados objetivos.
Estado: representación que contiene toda la información del problema en un momento
determinado.
Operador/regla: vincula estado padre con estado hijo.
Proceso solución del problema: mecanismo mediante el cual partiendo de un estado
inicial, se llega a un estado solución, utilizando una estructura de control. Ésta nos permite
aplicar las reglas que producen las transiciones entre los estados pertenecientes al conjunto
de estados del problema.
7
Tipos de métodos de búsqueda:
●
●
Sin información de dominio (búsqueda ciega): no tienen información para saber
si un estado intermedio es mejor que otro. Ejemplo:
○
Primero en amplitud: recorre todos los nodos por niveles, si el espacio de
búsqueda es finito y existe solución, la encuentra. es útil cuando existen
pocos nodos finales y son cercanos al nodo raíz. Utiliza mucha memoria. Va
de izquierda a derecha nivel por nivel.
○
Primero en profundidad: No requiere mucha memoria ya que analiza de a
una rama por vez. Útil cuando existen muchos nodos solución alejados del
nodo raíz. No recorre todo el espacio de búsqueda por lo que no garantiza
encontrar la solución más óptima. Para cuando encuentra una solución.
○
Generación y prueba: recorre todos los nodos rama por rama, permite
encontrar todos los nodos solución. Un problema complejo puede consumir
mucho tiempo.
○
Primero en profundidad iterativa
○
Bidireccional: dos búsqueda simultáneas: top-bottom y bottom-up. una de
estas búsqueda en amplitud. Complejidad igual a dos búsquedas
unidireccionales para un grafo con la mitad de los nodos del original.
Con información de dominio (búsqueda heurística): tenemos información propia del
dominio para analizar qué tan bueno es un estado de acuerdo si están cerca o no de la
solución. Aumenta el proceso de búsqueda, posiblemente sacrificando exhaustividad.
Tardo menos tiempo, aunque capaz no encuentre el camino más óptimo.
○ escalada simple: busca un valor heurístico mayor. De izquierda a derecha. No
requiere mucho almacenamiento. No pasa por todos los nodos. Si existe un
sucesor mayor en otro sentido que por el que estoy yendo, no lo genero,
entonces lo pierdo. No contempla retroceso. Me puedo quedar atrapado en un
máximo local. Puede no hallar solución si uno no tiene valor heurístico mayor.
○ escalada máxima pendiente: Genera todos los hijos y se queda con el de
mayor valor. No necesita mucha memoria. Sacrifica exhaustividad. No asegura
encontrar el nodo óptimo. No contempla retroceso. Si no encuentra uno mejor
que el actual, se estanca.
○ el primero mejor: Tengo dos listas de nodos: abiertos (los que voy generando,
todavía no los recorrí ni elegí como nodo actual) y cerrados (ya generé y visité).
Puede haber retroceso. Puede encontrar el mejor estado disponible aún cuando
8
el valor heurístico es menor que el actual. SIEMPRE que haya un nodo solución,
lo encuentra.
○ Beam Search: es primero el mejor con la limitación de memoria de que solo
permite n nodo en la lista de abiertos a la vez. No siempre encuentra solución,
puede estancarse dependiendo del valor de n.
○ A*: con penalización en las transiciones.
○ Dijktra
Formas de agregar información:
●
Función heurística asociada al estado
●
Costo de caminos aplicables
Algoritmos genéticos - AG
Algoritmos matemáticos de optimización que simulan la evolución de una población de
individuos mediante un proceso iterativo aplicado sobre un conjunto de estructuras. Se utilizan
cuando los otros métodos no funcionan, se busca una solución pero no necesariamente la
9
mejor, se conoce la solución pero no se sabe bien cómo llegar. Su principal ventaja es que
no necesita analizar todas las posibles soluciones al problema.
Un individuo representa una solución posible a un problema dado. La aptitud del mismo es
una medida de cuán buena es la solución para dicho problema. La solución al problema se
encuentra en el mejor individuo de la población final.
No pueden aprender a resolver el problema. Diferentes corridas (aún con los mismos
parámetros) pueden obtener diferentes soluciones (buenas y malas). No se asegura llegar
a la solución más óptima, hacen buenas aproximaciones. La mejor solución puede
aparecer en cualquier ciclo de la corrida.
Si el AG después de muchas corridas diera individuos con poca aptitud, se podrá analizar
y modificar la función de aptitud, cambiar los parámetros aplicados en los operadores
genéticos, cambiar los métodos aplicados en los operadores genéticos.
Teoría Evolución
Algoritmos Genéticos
Ecosistema
Problema
Individuo
Posible Solución
Genotipo / Cromosoma (patrón)
Descripción de la solución
Gen
Característica o Atributo
Fenotipo (valores)
Función de Aptitud
El conocimiento está en la función de aptitud.
Configuración del AG
1. Definición del cromosoma: Se identifican las características del problema y se define
el gen principal y genes auxiliares. Se hacen todas las combinaciones posibles y se le
asigna un número binario a cada una de ellas.
2. Definición de la función de aptitud: interpretar la estructura del cromosoma y
calcular el valor de aptitud. Es la mayor complejidad de implementar el AG. Todos los
conocimientos del dominio se formalizan en la función de aptitud.
1. Analizar pistas: Condiciones que debe cumplir la solución aumentan el valor
de aptitud, las que no debe cumplir lo disminuyen.
2. Analizar estructura del cromosoma: Condiciones inválidas en los genes
penalizan valor de aptitud.
10
Cada vez que ciclo: vuelta/ciclo
Cada vez que cumplo la condición y salgo: corrida
Generar población inicial (Po): La convergencia del algoritmo no depende de Po. Métodos:
al azar o ad-hoc (yo genero los valores válidos).
Población: cantidad de individuos y varianza (constante o variable)
Selección: Elige a los mejores individuos de la población actual. El mismo individuo puede
ser elegido varias veces. Es conveniente considerar la función de aptitud al elegir el operador.
En conveniente que la población inicial sea homogénea. Porque sino al aplicar los algoritmos
podría quedarme atascado en un conjunto de soluciones.
Métodos:
●
Torneo: Hace competir a los individuos
entre de a pares sí y los ganadores son
elegidos para cruzarse. Gana el individuo
que tiene mayor función de aptitud. Los
pares pueden seguir un patrón o ir
tomándose random.
Ventajas: si hago pelear el mejor, el mejor
va a quedar siempre seleccionado.
Desventajas: si hago pelear al mejor contra el segundo mejor, entonces pierdo al
segundo mejor que tampoco era tan malo.
Preserva a los mejores n individuos de la generación actual. Mejora la búsqueda local
a expensas de la perspectiva global. Provoca que la aptitud del mejor individuo de la
población mejore o a lo sumo se mantenga constante. A veces se pierden algunos
buenos y aparecen algunos malos.
11
●
Ranking: Elige al mejor individuo de cada vuelta
del algoritmo. La población se ordena
descendente por aptitud de cada individuo en
una tabla de posiciones y solo los n primeros
reciben copias. Entre ellos el total de copias se
distribuye lineal. Nunca selecciona usando el
azar.
Ventaja: me quedo siempre con los buenos.
Desventaja: me sectoriza mucho la búsqueda, podemos quedar atrapados en un
máximo local. Puede generar convergencia prematura.
●
Ruleta: Arma una tabla donde a cada
individuo le pone su función de aptitud. Se
suman todas las funciones de aptitud y se llega
al valor total entre todos los individuos. Luego,
a cada uno se le define la proporción de cuánto
del total se lo está llevando él. Luego, para cada
proporción se calcula la probabilidad
acumulada.
Una vez que se tienen todas las probabilidades,
se “grafican” en la ruleta y se tiran números al
azar, teniendo más probabilidades de salir
aquellos que son más favorables.
Ventaja: me permite darle posibilidad a los malos
de salir también, aunque prioriza a los mejores.
Desventaja: pueden salir todos malos.
Aplica el azar pero prioriza la selección de los
mejores individuos mediante una tabla de
probabilidades. El número obtenido de copias para un individuo puede ser distinto del
esperado. Reduce la probabilidad de convergencia prematura porque heterogeneiza
la población.
●
Control sobre número esperado: Primero hace una
preselección de los mejores individuos. Suma todas las
funciones fitness y calcula el promedio. Luego divide la
función de cada uno por el promedio, esto nos da
cuantas veces ese individuo supera al promedio. La
parte entera del promedio es la cantidad que se
selecciona de ese individuo para la población resultante.
Luego con el resto se hace ruleta. De cada individuo se
hace una función fitness prima considerada como la
parte mantisa de su valor fitnes.x
12
13
Sobre estas nuevas
funciones fitness es que se construye la nueva ruleta.
Ventaja: me asegura que los buenos son elegidos, pero le da posibilidad a los malos. Podría
elegir al “peor” individuo de la población.
Convergencia prematura
Super individuos dominan rápidamente la población antes de que se haya podido realizar una
exploración suficientemente amplia del espacio de búsqueda.
Cruzamiento
Opera sobre pares de estructuras (padres) para producir nuevas estructuras (hijos) por el
intercambio de segmentos entre padres. Es conveniente considerar la estructura del
cromosoma al elegir el operador. Elimina los padres. Métodos (en simple, multipunto y
binomial máscara complemento siempre se hacen dos hijos y lo que no va de un padre para
un hijo, va al otro):
● Simple: Se intercambian los segmentos de cromosoma separados por el punto
elegido.
● Multipunto: Se eligen n puntos de cruza de forma aleatoria.
● Binomial: se identifica un patrón.
○
Máscara: Se elige de qué padre tomar cada gen del cromosoma.
■
Complemento: máscara del segundo hijo toma los genes complemento
del primero.
■
Doble: se pueden repetir características de un mismo padre en ambos
hijos.
○
Azar
Mutación
Puede modificar en forma aleatoria una característica de un individuo de la población,
generando un valor no previsto. Permite mantener la diversidad de la población
disminuyendo el riesgo de convergencia prematura. El operador de mutación se activa
siempre pero no se ejecuta siempre. Se define una probabilidad de mutación.
Métodos de mutación
●
●
Simple: La probabilidad de mutar se mantiene constante, generalmente baja.
Adaptativa por convergencia: La probabilidad de mutar varía en base a información
de la búsqueda genética, dada por el grado de convergencia de la población.
14
●
Aumenta la mutación cuando la población se hace muy homogénea y la disminuye
cuando hay demasiada diversidad.
Adaptativa por temperatura: No usa información genética de la población. La
probabilidad de mutar depende del tiempo o cantidad de generaciones. Ascendente
aumenta la probabilidad con la cantidad de ciclos, Descendente la disminuye.
Criterio de Paro
Puede ser luego de cierta cantidad de ciclos, tiempo transcurrido, que la Función de Aptitud
supere un mínimo preestablecido, que se alcance un promedio de función de aptitud.
Población Final
Conjunto de individuos que pueden ser solución. Para obtener la solución se deberá
determinar el individuo que tenga mejor Función de Aptitud de la población final.
Redes Neuronales Artificiales - RNA
Basado en modelo biológico: Elementos simples de proceso interconectados que operan en
forma paralela para cumplir un objetivo.
Ventajas
●
●
●
●
●
Aprendizaje adaptativo: puede aprender casi cualquier tipo de problema.
Tiene un período de entrenamiento. Con ejemplos encuentra un patrón.
Auto-organización: durante el entrenamiento aprenden a modificar las
conexiones entre las neuronas.
Tolerancia a fallos: resolver con resultados aceptables. Aunque no se haya
entrenados con esos ejemplos, puede resolver problemas similares.
Opera en tiempo real
Fácil inserción en tecnología existente
Neuronas
●
●
Dendritas: interfaz de entrada
Axón: interfaz de salida
○
Botones o pies: distribuyen/multiplexan
●
Sinapsis: conexión entre neuronas
○
+ Excitadoras: lo que recibe la 2da neurona la hace activarse
○
- Inhibidoras: lo que recibe la 2da neurona la hace volver a reposo
○
X Neutra: no afecta a la 2da neurona (receptora)
Aprendizaje: está asociado a la sinapsis.
15
Neuronas artificiales
●
●
●
●
Valores de entrada Xj = números
Valor de salida Yi = número
Conexiones tienen peso de conexión Wji = números
Umbral de activación: la salida de una neurona se activa solo cuando la
entrada neta es mayor o igual que cierto valor de umbral.
Funciones
● Entrada neta: Net i = Σ ( Wji . Xj), i = neurona
● Función de activación: A. A(Net i) y el umbral de activación. Puede ser la función
identidad, escalón, ReLu
● Función de salida o transferencia: S
S(A(Net i)] = Yi. Escalón, mixta, sigmoidal,
Gauss.
En la práctica se utiliza una única función que combina ambas F(Net i) = S(A(Net i)] =
Yi
El conocimiento está en la sinapsis, representado en los pesos de las conexiones. De forma
implícita en la red. Se aprende modificando los valores de los pesos de la red. Toda RNA
debe tener al menos una neurona de entrada y una de salida (puede ser la misma).
Se usa el umbral y la entrada neta para saber si se activa la neurona.
Componentes RNA
●
Unidad de proceso - neurona
○
Capa entrada: recibe info del exterior
○
Capas ocultas: de procesamiento, no tienen contacto con el exterior.
○
Capa salida: envía resultado al exterior
La cantidad de neuronas de entrada y salida se relacionan a cuantos datos me llegan y
cuántas salidas tengo que generar.
● Conexión - sinapsis
■
> 0 excitadora
■
= 0 neutra
■
<0 inhibidora
● Topología
■ Nº de capas: monocapa, multicapa.
■ Nº de neuronas por capa
■ Tipo y grado de conectividad
16
■ Formas de conexión:
➢ Propagación hacia delante: ninguna salida de las neuronas es entrada de
neuronas del mismo nivel o niveles precedentes.
➢ Hacia atrás: las salidas pueden ser conectadas como entradas de niveles
previos o el mismo nivel, incluyéndose ellas mismas. Las que tienen lazos
cerrados son sistemas recurrentes.
Una RNA con conexiones laterales siempre itera durante su operación en producción. Una
RNA con conexiones hacia atrás o laterales debe ciclar durante su funcionamiento para
estabilizarse.
● Tipo de asociación de información de E/S: heteroasociativas (tengo que aplicar
aprendizaje supervisado porque tiene que asociar datos de entrada con datos de
salida deseada para aprender) y asociativas (o autoasociativas).
● Representación de información de E/S: directa-binarios y continua-reales
● Estado de activación: continuos o discretos, limitados o ilimitados.
Entrenamiento
Las RNA necesitan ser entrenadas antes de su utilización. Para ello se establecen y ajustan
los distintos pesos y se somete a la red a los casos de prueba. Para cada caso de prueba se
deben conocer las respuestas esperadas a fin de determinar si la red funciona de manera
correcta o no.
Previo al entrenamiento se deben definir, formalizar y seleccionar los patrones.
Durante el entrenamiento, la RNA debe aprender a solucionar el problema (mayor
complejidad).
Métodos de aprendizaje: Proceso por el cual una neurona modifica sus pesos en respuesta
a una información de entrada. Una red ha aprendido cuando los valores de los pesos
permanecen estables.
● Supervisado: entrenamiento controlado por un agente externo
On-line: Adquiere conocimientos aún en fase de operación
○ Por refuerzo: El supervisor es un crítico. Dice si está bien o mal la respuesta
pero no dice cuál sería la deseada. Indica con una señal de refuerzo (éxito o
fracaso) y en base a eso se ajustan los pesos.
Off-line: Sólo adquiere conocimientos en fase de entrenamiento. El agente externo
determina la respuesta que debería generar la red a partir de una entrada
determinada. Si la salida no coincide con la deseada, modificará los pesos de las
conexiones.
○ Por corrección de error: Ajuste de los pesos de las conexiones según la
diferencia entre valores deseados y obtenidos en la salida.
○ Estocástico: Hace cambios aleatorios en los pesos y evalúa su efecto a partir
del objetivo deseado y de distribución de probabilidades.
● No Supervisado: no requiere de agente externo para ajustar los pesos de las
conexiones. La red no recibe ninguna info del entorno que le indique si la salida para
una entrada es correcta o no. Son capaces de autoorganizarse. La salida podría
representar el grado de familiaridad entre la info de entrada y la que se le habían
mostrado hasta el momento. O pueden ser categorías o clusterización.
On-line/Off-line:
17
○
○
Hebbiano: Ajuste de los pesos según correlación de los valores de activación
de las neuronas conectadas, sin tener en cuenta si deseaba o no obtener esos
estados de activación.
Cooperativo/competitivo: Suele orientarse a clusterización o clasificación de
datos de entrada. Las categorías las crea la propia red. Las neuronas compiten
y cooperan entre sí con el fin de llevar a cabo una tarea. Se pretende que ante
una cierta entrada, sólo se active una neurona de salida o una por cierto grupo.
El aprendizaje afecta sólo a las neuronas ganadoras (activas), redistribuyendo
este peso total entre sus conexiones, sustrayendo una porción a los pesos de
todas las conexiones que llegan a la neurona vencedora y repartiendo esa
cantidad entre las conexiones procedentes de unidades activas.
Tipos de RNA
Perceptrón
Heteroasociativa. Aprendizaje supervisado off-line por corrección de error (necesita conocer
los valores de salida de cada patrón entrenado). Monocapa. Conexiones hacia adelante.
Resuelve problemas de orden 1: linealmente separables. Puede aprender a aproximar
funciones lineales pero no puede aprender funciones no-lineales. Se varían los pesos de las
entradas en base al valor final deseado. Por cada ejemplo del entrenamiento. Alfa se
recomienda pequeño (entre 0,05 y 0,3), el valor del umbral se suele mantener constante. Se
entrena con un número representativo de patrones y no con la totalidad de ellos. Se suele
trabajar con valores binarios, normalizando los valores de entrada y salida en el rango 0;1.
Valores iniciales entre 0 y 0,5. Tolerancia a fallas.
Back Propagation
Heteroasociativa. Aprendizaje supervisado off-line por corrección de error. Multicapa. Dado
que no se conoce la salida deseada para las neuronas ocultas, se propaga el error hacia atrás
teniendo en cuenta el aporte del error de cada neurona. Se puede usar para clasificación de
datos y estimación o predicción de resultados, también para traducción de texto en lenguaje
hablado y reconocimiento óptico de caracteres (OCR). El gradiente se propaga hacia atrás.
Se utiliza para determinar el error de cada neurona. Se utiliza para poder propagar el error
desde las neuronas de salida hacia las ocultas y de entrada. Las conexiones son hacia
adelante. Se van ajustando los w muchas veces, ya que no se sabe de antemano cuál es el
error que aporta cada neurona. Para que una RNA BP tenga buena precisión en los
resultados generados en producción se debe utilizar patrones de entrenamiento
representativos y completos. Se suele aplicar para problemas de predicción. Debe ciclar
varias veces durante el entrenamiento.
Recomendable normalizar los datos utilizando promedio y varianza. Diferentes promedios y
varianzas si los tipos de datos son diferentes (ej: presión, temperatura). Cuando agregue
nuevos ejemplos debo recordar normalizarlos de igual forma.
Si ciclo demasiadas veces podría aprender muy bien los ejemplos y fallar al generalizar.
Conviene alfa de 0,05 y 0,3. más grande puede general parálisis o inestabilidad, y más
pequeño demasiada lentitud en el aprendizaje. Pesos iniciales aleatorios acotados entre 0 y
0,5.
18
Una capa oculta suele ser suficiente para la mayoría de los problemas, dos niveles de capas
ocultas hacen que la red aprenda más rápido. Conviene iniciar con pocas neuronas y hacerla
crecer.
Para determinar el número de neuronas se pueden utilizar métodos manuales o algoritmos
genéticos.
Hopfield
Autoasociativa. Aprendizaje no supervisado off-line de tipo Hebbiano (solo se conocen los
valores de entrada). Monocapa. Conexiones laterales: cada neurona está conectada hacia
todas las demás pero no consigo misma. Se conectan hacia atrás. Se entrena con todos los
posibles patrones que se quieran reconocer y se ingresa un patrón como valor de entrada.
19
Como salida (si se estabiliza, es decir devuelve el mismo valor en dos iteraciones seguidas)
devolverá el patrón entrenado más similar al ingresado. Se usa para completar los valores
faltantes en patrones de entrada a partir de patrones ya aprendidos. Los patrones deben ser
ortogonales. Se usan para reconocimiento de imágenes y para resolver problemas de
optimización complejos y para problemas donde se necesitan completar datos faltantes de
un patrón. Requiere que los patrones de entrenamiento difieran en más de la mitad de sus
valores. Cicla en la etapa de operación. Se utiliza en problemas de clasificación ya que la
RNA devolverá el patrón entrenado más similar al ingresado en el entrenamiento. La red
itera en producción pero no durante su entrenamiento.
Análisis de protocolos
Se busca capturar y estudiar todo lo que dice el experto en el momento en que trata un
problema. Útil para extraer información sobre algunas reglas de razonamiento que el experto
usa pero no puede explicar.
Etapas
1) Grabación del protocolo
a) IC explica lo que espera del experto
b) Puesta en situación: ejercicios para dar confianza al experto
c) Registro del protocolo: realizar la grabación
2) Transcripción: IC escucha grabación y transcribe el protocolo segmentándolo en
líneas. Se anota en la transcripción todo lo que se observa durante la misma. Que se
quede callado por ejemplo.
20
3) Codificación: línea a línea, lo más objetivo posible.
a) Identificación de: Conceptos, Características, Valores y Relaciones y
Operadores. Se obtiene tabla de concepto-característica-valor.
Conceptos: entidad
Característica: atributos
Valor: valores de los atributos
Operadores: para pasar de un estado a otro más cercano a la solución.
Relaciones: entre conceptos, conceptos con carac, carac con valores.
b) Identificación de la Búsqueda: de los estados posibles.
c) Identificación de sinónimos, metacomentarios e incertidumbres.
Sinónimos: no pueden haber relaciones entre sinónimos
Metacomentarios: comentarios que no aportan al razonamiento
Incertidumbre: duda, no se sabe si el estado se da en el 100% de los casos
4) Interpretación: Identificar las reglas de razonamiento del experto. Escribir el
pseudocódigo.
Es útil para extraer información sobre procedimientos que el experto utiliza en la solución de
problemas pero que no puede explicar. Limitaciones: el costo de utilización (mucho trabajo
del IC) y la incompletud del método (ciertos procesos no son reportados por el experto).
Emparrillado
Método de educción para obtener conocimiento privado de un experto.
Pretende obtener un mapa del dominio que ve la persona.
Test de clasificación complejo en el cual se decide una lista de elementos en base a un
conjunto bipolar de características.
Los datos generados se introducen en una matriz (“parrilla”) en la cual hay una columna por
cada elemento y una fila por cada característica. Cada intersección contiene un valor
indicando cómo se aplica la característica al elemento.
Permite obtener información sobre cómo piensa el experto, sus prioridades y factores
importantes. Hace que el experto piense dos veces acerca del problema y ayuda a clarificar
sus conclusiones. Es intrusiva y debe ser interpretada con mucho cuidado, puede dar
resultados subjetivos.
Ventajas Emparrillado
●
●
●
●
Reflexión tema
Representación gráfica
Asociaciones entre elementos y características a través de la matriz.
Refina problema y mejora el conocimiento. Formaliza el conocimiento.
Desventajas Emparrillado
●
●
●
●
Valores subjetivos: los valores son de acuerdo a la percepción del experto.
Captura conocimiento superficial
Complejo en gran cantidad de elementos y/o características
Solo no es útil para BdC
21
Etapas Emparrillado
1. Identificación de los elementos (homogéneos y representativos, separables y no
solapables)
2. Identificación de las características (cualidad atribuida a un elemento o concepto.
Deben ser bipolares)
3. Diseño de la parrilla
1. Dicotómica (valores binarios)
2. Clasificatoria (ordenar elementos de 1 a n por cada característica, no repite)
3. Evaluativa (rango de valores elegido por el experto, se puede repetir, no se
relaciona con la cantidad de elementos)
4. Formalización
1. Clasificación de los elementos: matriz diagonal superior de distancias entre
elementos. Cada intersección contiene la distancia entre los dos elementos,
calculada como la sumatoria de las diferencias absolutas entre sus
características en la parrilla. Luego se construye el árbol ordenado de
elementos de mínimas distancias.
2. Clasificación de las características: Se calculan 2 distancias, d1 por encima de
la diagonal y d2 por debajo.
a. d1(Ci, Cj)
b. d2(Ci, Cj) = d1(Ci, C’j), siendo C’j la opuesta a Cj
Se construye una matriz diagonal superior donde el valor ij es el más chico de
los valores entre Mij y Mji. Luego se construye el árbol ordenado de
características de mínimas distancias.
5. Interpretación / Análisis de Resultados
a. Análisis y discusión de árboles ordenados: agrupamientos, similitudes. Ej: “E1
y E2 son más similares porque se juntan en el nivel 2, versus E3 y E4 que se
juntan en el nivel 3”.
b. Red de relaciones entre características: se arman en base al árbol y las
relaciones se ponen en base al texto, se estudian de a dos. Tienen que estar
en el mismo grupo para analizarse. Si el experto dijera que se relacionan dos
características que no están en un mismo grupo: la relación no es válida.
Ejemplo:
22
Lógica de primer orden
Utilizamos la lógica en IA para representar el conocimiento de expertos, después de la
educción.
● Operadores lógicos: relacionan hechos/conocimientos
● Variables: x, y, z. Objetos indeterminados dentro de un dominio
● Constantes: a, b, c, d. Objetos determinados dentro de un dominio.
● Funciones de verdad: establecen una cualidad respecto de un objeto.
● Cuantificadores: definen el dominio de las propiedades de los objetos.
Cuando se inicia una nueva frase, las variables se resetean.
23
Deducción natural
●
●
●
Cuando se elimina el Existe, a deja de ser genérica y pasa a ser restringida.
Si hay tesis con implicación: tengo que hacer una suposición en el antecedente.
Puedo hacer solo una suposición. Si logro el antecedente a una regla puedo obtener
la consecuencia.
Cuando no hay tesis con implicación: tengo que hacer alguna deducción con alguna
hipótesis.
Lógica Difusa
Razonamiento aproximado
Modelos que tratan de imitar la manera en que las personas toman decisiones. Para ello,
aplican métodos para representar, combinar y propagar información imprecisa y/o incierta la
cual es utilizada en inferencias que tienen asociado un grado de certeza. Permite accionar
con información con poca certeza para tomar decisiones con ella.
Incertidumbre
Falta de seguridad, de confianza o de certeza sobre algo, especialmente cuando crea
inquietud.
● Estado de duda en el que predomina el límite de la confianza o la creencia en la
verdad de un determinado conocimiento.
● La imperfección en el conocimiento sobre el estado o los procesos de la naturaleza.
Imprecisión
●
●
●
Vaguedad o desconocimiento del valor concreto de una variable.
Cualidad generalmente asociada a la incertidumbre aunque puede ser
independiente.
Falta de precisión (que no es lo mismo que exactitud)
24
La fuente de la imprecisión y de la incertidumbre puede ser: el mundo real (que tiene
aleatoriedad, es complejo), deficiencias en la información (incompleta, errónea), deficiencias
del lenguaje o de los modelos.
Los métodos cualitativos no pueden considerar los grados de certeza de las hipótesis ni
manejar muchas combinaciones. Los métodos cuantitativos tampoco son eficientes.
LÓGICA DIFUSA: Mecanismo del Razonamiento Aproximado que proporciona una manera
simple y elegante de obtener una conclusión a partir de datos de entrada vagos, ambiguos,
imprecisos, con ruido o incompletos.
La lógica tradicional posee dos valores: verdadero o falso. En cambio, la lógica
polivalente:
● Posee tres o más posibles valores: verdadero, medio verdadero, falso.
● Define una función de pertenencia de un valor al conjunto que puede poseer valores
en el rango: [0,0; 1,0] donde 0,0 es falsedad absoluta y 1,0 es verdad absoluta.
● se define el grado de pertenencia de un elemento mediante la función de
pertenencia mA(x)
mA(x) = 0,00 : no pertenencia
o 0,00 < mA(x) < 1,00 : grados intermedios de pertenencia
o mA(x) = 1,00 : pertenencia total
● No existe una transición abrupta entre pertenencia y no pertenencia.
● La función de pertenencia no tiene un sentido probabilístico.
Operadores
Negación: ¬ A = A’
μA’ (x) = | 1 - μA(x) |
Disyunción: A B = A B
μA μB (x) = max[ μA(x); μB(x) ]
Conjunción: A B = A ∩ B
μA ∩ μB (x) = min[ μA(x); μB(x) ]
25
Implicación
a) Determinar las Entradas Difusas del Antecedente A: Definir el valor de pertenencia
de cada función del Antecedente.
b) Aplicar los Operadores Difusos del Antecedente A: Resolver todos los operadores
para obtener un único grado de pertenencia en el Antecedente.
c) Propagar el valor al Consecuente B: Aplicar el mismo grado de pertenencia del
Antecedente al Consecuente.
Sistemas Difusos
●
●
Se utilizan para modelar comportamiento de un sistema real.
Existen diferentes tipos de modelos para combinar las reglas y generar el resultado
correspondiente.
Mamdani
1) Identificar todas las reglas que pueden ser aplicadas.
2) Calcular el valor de pertenencia correspondiente al consecuente de cada
regla mediante la aplicación de los operadores de Lógica Difusa.
3) Combinar los valores obtenidos en cada regla para obtener el valor final
usando el criterio de:
Tagaki Sugeno
1) Identificar todas las reglas que pueden ser aplicadas
2) Calcular el valor de pertenencia correspondiente al consecuente de cada regla
aplicando una función lineal
3) Combinar los valores obtenidos en cada regla utilizando una media ponderada
26
Sistemas difusos con algoritmos de inducción
Si no tengo un experto que me provea de las reglas, puedo generarlas mediante algoritmos
de inducción.
Crítica a los sistemas difusos
●
●
●
Su capacidad de aprendizaje es limitada.
Lógica Difusa tiende a funcionar peor que un modelo matemático (pero si no existe
es una buena alternativa).
Al combinar las reglas, no se refuerzan unas a otras (al aplicar más reglas, la
credibilidad de los resultados no se ve reforzada).
Sistemas neuro-difusos
En lugar de proporcionarle reglas a mi sistema, le doy ejemplos a mi red neuronal para que
aprenda. Es más preciso que dándole yo las reglas.
27
Ingeniería para la construcción de sistemas
inteligentes
28
Para la implementación de Sistemas Inteligentes, el ingeniero recopila datos, objetivos,
requerimientos, con los que construye modelo del sistema inteligente que se implementa en
la organización para resolver el problema, y que luego se retroalimenta con información de
la organización.
El mantenimiento perfectivo incluye la adquisición de nuevos conocimientos del Sistema
Inteligente.
Pasos para la implementación de sist. inteligentes
Definición del problema
Definir el qué: se deben definir metas, expectativas, contexto, necesidades,
restricciones. Surgen problemáticas a partir de: información informal, funcionalidades
implícitas o no establecidas....
Elicitar los requerimientos
Cuando existe un buen proceso de elicitación de requerimientos, se ayuda a los usuarios a
entender qué es lo que quieren, qué es lo que necesitan, cuáles son las restricciones y
alternativas, ventajas y desventajas de cada una.
a. Identificar las fuentes de información: recursos (internos o externos a la
organización) y stakeholders (grupos de interés).
b. Recolectar los hechos y necesidades: mediante extracción (análisis de
documentos y de datos) y educción (entrevistas, cuestionarios,
emparrillado…). La recolección de información debe ser completa para
poder responder todas las preguntas necesarias.
29
Comprender el problema
c. Abstraer: ignorar diferencias entre conceptos similares y así poder
agruparlos. Permite obtener un panorama general del problema e
identificar características esenciales.
d. Descomponer: dividir al problema en partes más simples de entender.
e. Proyectar: identificar y describir diferentes visiones de los mismos
elementos. Permite reconocer conflictos entre stakeholders.
f. Modularizar: combinar elementos identificados y entendidos en porciones.
Organizar las tareas.
Modelo: un modelo es en este caso la reconstitución simplificada de un
proceso que pretende representar un proceso del mundo sensible. Un modelo dinámico
implica, pues, un desarrollo, desde los datos de entrada hasta
los resultados del funcionamiento del modelo.
Un modelo es necesariamente simplificado, si no sería la realidad misma y no contribuiría
en nada a la construcción del conocimiento. Es de este modo una representación abstracta,
lo cual significa que la aproximación -e incluso el errores inherente al modelo.
Sirve para: entender mejor los requerimientos, detectar problemas en los
requerimientos, comunicar los requerimientos. Se usan tablas de decisión, árboles de
decisión, modelos UML.
Articular los requerimientos
se delimitan expectativas, deseos, restricciones y suposiciones para poder definir el alcance
del proyecto: objetivos, criterios de éxito y riesgos.
Definir si es viable aplicar IA. Si es posible y si es la mejor alternativa.
Formalizar la propuesta solución
Se determina la mejor arquitectura a implementar. A veces el problema se puede resolver
con un único módulo, pero otras hay que combinar varios módulos. Las tareas pueden tener
acciones de: Optimización, Clasificación (decir a qué categoría pertenecen elementos),
Predicción, Regresión (identificar función matemática que represente el comportamiento de
distintos valores numéricos), Clustering (definir cómo conviene agrupar elementos), Reglas
de Asociación (identifican asociaciones entre ciertas características), Detección de
Anomalías (elementos que tiene comportamientos diferentes al resto)
30
Identificación y transformación de los datos
(solo se puede hacer este paso cuando hay datos disponibles)
■ Recolección: Puedo usar datos de fuentes internas o externas.
■ Estudio: se pueden utilizar técnicas visuales. Ver como un atributo
afecta otros. Podría pasar que los datos no sean representativos de
mi problema.
■ Preparación: integrar los datos. Juntarlos todos en un mismo
repositorio. Formatearlos. Limpieza (lidiar con datos nulos o con
errores).
Selección de la tecnología
Predicción: red neuronal, sistema IA tradicional
Clustering: un tipo de red neuronal
Detección valores anómalos: red neuronal
31
Construcción del modelo
○
○
○
Machine learning: datos de entrenamiento, datos de validación, datos de
prueba. Puedo ver que funciona bien o que funciona mal. Puedo tener que
cambiar datos. Busco encontrar los pesos para entrenar mi red.
IA Tradicional: identificar reglas y conceptos. Definir un conjunto de clases:
cada clase tiene atributos, y hay reglas que definen cómo se combinan los
atributos.
Inteligencia computacional: algoritmos genéticos son genéricos. Puede
resolver problemas diferentes. Pongo el conocimiento en la estructura del
cromosoma y la función de aptitud.
32
Aplicación del sistema inteligente
Implica la integración de los módulos entre sí y con otro software en la organización y otro
software para que se comunique con el usuario. Incluye una etapa de monitoreo y
mantenimiento. Hay que chequear que se integre bien y que los sistemas existentes no lo
perjudiquen.
33
34
Descargar