Inteligencia artificial, Generalidades, Redes neuronales
Semejanzas y diferencias entre inteligencia humana e, inteligencia artificial, Perceptrones, Aplicaciones
2. ¿Algo que ver con la ciencia ficción?
INTELIGENCIA ARTIFICIAL
3. Sistemas que
( piensan | actúan )
( racionalmente | como humanos )
¿Qué significa ser “inteligente”?
“La inteligencia se puede definir como la
capacidad de
resolver problemas o elaborar productos
que sean
valiosos en una o más culturas.”
4. 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.
5. 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
6. 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.
7. 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.
8. 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
9. 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.
11. 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.
12. 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.
13. 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).
14. 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
computacionales
Comportamiento
inteligente
Humanos
Computadora
15. 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
16. 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.
17. 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
18. 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).
19. 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).
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
37. 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
38. 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.
41. 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
42. 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
43. 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
44. 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.
45. 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
46. 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.
63. Aplicaciones
Vehículos autónomos
2005 Stanley (DARPA Grand Challenge)
2007 Junior (DARPA Urban Challenge)
2010 Google driverless car
Sensores
Toyota 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