Que Son las Redes Neuronales Artificiales?

Anuncio
REDES NEURONALES
Redes Neuronales Artificiales...
• Inspiradas en las neuronas biológicas
• Tienen habilidades de aprendizaje automático,
generalización y abstracción.
• Con estos modelos pueden resolverse una gran
variedad de problemas de reconocimiento,
aproximación,
predicción,
clasificación,
optimización etc.
Que Son las Redes Neuronales
Artificiales?
Las Redes Neuronales Artificiales (R.N.A.)
son modelos matemáticos inspirados en
sistemas biológicos, adaptados y simulados
en computadoras convencionales.
Los elementos que las conforman se
asemejan a las neuronas biológicas.
[Wasserman 89]
Una definición mas amplia de Redes
Neuronales Artificiales…
• “Una red neuronal es un procesador masivamente
paralelo y distribuido hecho de unidades
procesadoras simples, las cuales son de manera
natural propensas a almacenar conocimiento
adquirido de la experiencia y hacerlo útil. Se parece
al cerebro en dos aspectos:
1. La red neuronal adquiere el conocimiento del medio
ambiente, a través de un proceso de aprendizaje
2. La fuerza de conexión entre las neuronas, conocida
como los pesos sinápticos, se utiliza para almacenar
el conocimiento adquirido
Redes neuronales
• Una neurona es una célula del cerebro cuya función
principal es la recogida, procesamiento y emisión de
señales eléctricas.
• La neurona se <<dispara>> cuando una
combinación lineal de sus entradas excede un
determinado umbral.
• Desde 1943 se han desarrollado modelos más
realistas y detallados, tanto para neuronas como
para sistemas más grandes del cerebro, llegando al
campo
moderno
de
la
neurociencia
computacional.
Componentes básicos de las RNA
1.
2.
3.
4.
5.
6.
Elementos de procesamiento: Neuronas
Regla de activación de los elementos.
Topología de interacción entre los elementos de
procesamiento.
Regla de propagación a través de las conexiones.
Regla de aprendizaje.
Medio ambiente en el que el sistema opera.
Características Principales de Las RNA
1. APRENDIZAJE. Una red neuronal puede modificar su
comportamiento en respuesta al medio ambiente.
2. GENERALIZACION. Una vez entrenada, la red
neuronal puede ser insensible a cambios en sus
entradas.
3. ABSTRACCION. Una red neuronal puede determinar
la esencia o características principales de un conjunto
de datos.
OTROS NOMBRES DE LAS R.N.A.
• Modelos Conexionistas (Connectionist Models)
• Procesamiento distribuído en paralelo
(Parallel Distributed Processing)
• Sistemas neuronales artificiales (Artificial Neural
Systems or ANS)
La Neurona Biológica
El Cerebro Humano
• Contiene más de 100 billones de elementos de
proceso llamados neuronas,
• Contiene cerca de 100 trillones de conexiones
llamadas sinapsis
• Es el mayor consumidor de energía del cuerpo
humano. Siendo el 2% de la masa total del
cuerpo, consume más del 20% del oxígeno.
Características de una neurona
▫ Dependiendo de la región del cerebro y su
función, su diámetro va de una décima a una
centésima de milímetro (10 – 100 μm)
▫ Está formada de 3 partes principales:
 Dendritas
 Axón
 Cuerpo
Dendritas
 Reciben señales de otras
células en puntos de
conexión
llamados
sinapsis.
 Las señales se pasan al
cuerpo de la célula,
donde son "promediadas"
con otras señales.
Axón y Cuerpo
• Axón.
▫ Manda pulsos a otras células en caso de que el promedio
obtenido en el cuerpo de la célula sea suficientemente grande
por determinado tiempo.
▫ El axón tiene en la punta ramificaciones, cada una de las cuales
termina con un botón sináptico ( o sinapsis) el cual se usa para
transmitir información de una neurona a otro .
▫ El axón puede medir desde menos de un milímetro hasta un
metro.
• Cuerpo.
▫ Es una fábrica química capaz de procesar y emitir señales,
controlar la energía del neurona, realizar actividades de
mantenimiento, etc.
Un botón sináptico
Interconectividad
• Las neuronas están altamente interconectadas,
teniendo alrededor de 104 botones sinápticos
conectados a las dendritas de otras neuronas.
• La conectividad de las neuronas, más que su
complejidad funcional, es lo que le da al cerebro
su capacidad de procesamiento
Algunos Ejemplos de Aplicaciones de
RNA
•
•
•
•
•
•
•
•
•
Reconocimiento de caracteres manuscritos,
Construcción de Memorias asociativas.
Reconocimiento de voz
Control de robots
Toma de decisiones administrativas,
financieras etc.
Reconocimiento de enfermedades
Reconocimiento de señales de radio
Predicción de Señales y series de tiempo
Caóticas
Generación de reglas para sistemas
expertos
ALCANCES Y LIMITACIONES DE LAS
RNA
• Las R.N.A. no son la solución de todos los problemas,
sino solo de aquellos en los que "las reglas de solución"
no son conocidas, y existen suficientes datos ejemplos
que permitan a la red aprender.
• Las R.N.A. son hasta cierto punto impredecibles.
• Las R.N.A. no pueden explicar como resuelven un
problema. La representación interna generada puede
ser demasiado compleja para ser analizada, aún y en
los casos más sencillos.
Resumen de los Beneficios de los
Sistemas Neuronales Artificiales
1.
2.
3.
4.
5.
6.
7.
8.
Son sistemas no lineales
Son capaces de hacer un mapeo entre entradas y
salidas
Son adaptables
Pueden dar información sobre la confiabilidad de sus
respuestas
Pueden dar información sobre el “contexto” de la
selección
Son tolerantes a fallas
Son universales en cuanto a su análisis y diseño
Presentan analogías con los sistemas biológicos
Conceptos básicos
Diagrama General de un Sistema de
RNA
Entradas
RNA
Ejemplos
(medio
ambiente)
Salidas
Conocimiento
Modelo Básico y Abstracto de un
Neurón Artificial
x0
w0
n −1
xi
wi
oi = F (
∑x w )
i i
i =0
wn
xn-1
x’s son valores de entrada
w’s son pesos
F es la función de activación
La Neurona Artificial
• Es un elemento procesador al que se aplica un
conjunto de entradas, cada una representando
la salida de otra neurona.
• Estas entradas, que podemos llamar x, se
multiplican por un peso (número real) asociado
a ellas, que podemos llamar w,
• Las multiplicaciones se suman y al resultado
podemos llamarle net
N −1
net = ∑ xi wi
i =0
Funciones de Activación
• La suma ponderada se "filtra" por medio de una
función, llamada función de activación (f).
• La función de activación tiene como objetivo el
acotar los valores de salida de la neurona para
mantenerlos en ciertos rangos.
• La función de activación depende del tipo de red
neuronal que se esté manejando. Hay funciones de
activación lineales y no lineales
output = f (net )
Ejemplo:
• Analice una red con alimentación-hacia-adelante
• Consideremos una red con dos unidades de
entrada, don unidades ocultas y una unidad
de salida.
W1,3
1
3
W3,5
W1,4
5
W2,3
2
4
W2,4
W4,5
Aplicación
• Una RNA se puede usar para clasificación:
▫ Para clasificaciones booleanas con entradas
continuas, se tiene una única unidad de salida, con
un valor por encima de 0,5 interpretado como una
clase y con un valor por debajo de 0,5 como otra.
▫ Para k-clasificaciones, se divide el rango de la
unidad de salida en k partes, pero es más común
tener k unidades de salida separadas, donde el
valor de cada una representa la verosimilitud de
esa clase dada una entrada.
Funciones de Activación Clásicas
Función lineal
(k es una constante)
Función umbral o escalón
(t es una constante)
Función sigmoide
Función tangente hiperbólica
f ( x) = k * x
1 si x > t
f ( x) = 
0 si x ≤ t
f ( x) =
1
1 + exp(− x)
f ( x) = tanh( x)
Ejemplo de una Función de Activación
Lineal
Ejemplo de Función de Activación no
Lineal
Función de Activación tangente hiperbólica
1.5
1
f(x)
0.5
0
-4
-2
-0.5
0
-1
-1.5
x
2
4
Tipos principales de redes neuronales
• Dependiendo de la manera en que se organizan
los elementos procesadores, las RNA se pueden
clasificar como:
▫ De un nivel alimentadas hacia adelante
▫ De varios niveles alimentadas hacia adelante
▫ Recurrentes
X
RNA
Y
Diagrama de contexto
y0
w00
x0
wm0
x1
Xn-1
Entradas
..
.
w02
w01
w10
w11
wm1
w0n
RNA
y1
w21
w1n
y2
w2n
wmn
Ym-1
Salidas
Redes Neuronales de un Nivel
Son aquellas donde los elementos procesadores
están organizados en una línea, recibiendo su
entrada directamente del exterior y produciendo
ellos directamente la salida o resultado de la
RNA
Topología de Redes Neuronales de un
Nivel (Perceptrón)
Una red Perceptrón
consistente en Y0:m-1 (4)
unidades de salida que
comparten X0:n-1 (3)
entradas
w00
x0
wm0
x1
Xn-1
Entradas
y0
..
.
w02
w01
w10
w11
wm1
w0n
y1
w21
w1n
y2
w2n
wmn
Ym-1
Salidas
Representación de RNA de un Nivel
• Sea W una matriz de (n-1) x (m-1) que representa los
pesos de una red neuronal de un nivel que tiene (n-1)
entradas y (m-1) salidas.
• Sea X un vector de (n-1) renglones que representa los
valores de entrada a la red, e Y un vector de (m-1) renglones
que representa los valores de salida de la red
• Si N es el vector de los valores net asociados a cada
neurona, tenemos que:
N=X*W
Y = F( N ) es la salida de la red
Evaluación de una RNA de un Nivel
Por ejemplo, si la red tiene 3 entradas y 3
salidas, esta operación equivale a:
N = x0 x1
w00
x2 | w10
w20
w01
w11
w21
= x0 w00 + x1w10 + x2 w20
w02
w12
w22
x0 w01 + x1w11 + x2 w21
y0 = f ( x0 w00 + x1w10 + x2 w20 )
y1 = f ( x0 w01 + x1w11 + x2 w21 )
y2 = f ( x0 w02 + x1w12 + x2 w22 )
x0 w02 + x1w12 + x2 w22
Redes Neuronales con Varios Niveles
Características de RNA’s con Varios
Niveles
• En estas redes existen varias capas o niveles de
neuronas, donde las salidas de los neuronas en el nivel i
se conectan a los neuronas en el nivel i+1.
• Se dice entonces que este tipo de redes están
"alimentadas hacia adelante" (feed-forward networks)
• El primer nivel de neuronas se conoce como nivel de
entrada.
• El último nivel se conoce como nivel de salida.
• Los demás niveles se conocen como niveles
escondidos.
Características de RNA’s con Varios
Niveles (cont.)
• La salida de este tipo de redes es la salida de los
neuronas que se encuentran en la última capa.
• Para determinar dicha salida, se calcula la salida de
cada neurona, empezando por el primer nivel, y
continuando hasta llegar al último.
• En una red con varios niveles, la función de activación
debe ser no-lineal, a fin de que pueda existir
representación del conocimiento en los niveles
escondidos.
Estados de un sistema basado en RNA
1. Aprendizaje o entrenamiento
▫
Los pesos modifican su valor
2. Evaluación
▫
Los pesos se mantienen constante
Entrenamiento de RNA’s
• Las R.N.A. aprenden de ejemplos.
• Una red es entrenada de manera que un conjunto
de valores de entrada, aplicado en las neuronas de
entrada, produzca una salida deseada en las
neuronas de salida de la red.
• Normalmente los valores de entrada y de salida se
representan de manera numérica, ya sea por
dígitos binarios o números reales.
• La codificación de dichos valores depende de la
arquitectura y características de la red neuronal
utilizada.
Ejemplo simple de un sistema de RNA
para Clasificar
Pixeles de
entrada
Codificación de
La clasificación
Entrenamiento Supervisado
El aprendizaje se lleva a través de ejemplos que muestran
explícitamente lo que se desea aprender.
DA TOS DE
ENTRADA
ENTRENAMIENTO
SAL IDA
DESEADA
PESOS
Se requiere que cada vector de entrada (datos de entrada) esté
relacionado a un valor de salida deseado.
A estos dos vectores se les conoce como "par de
entrenamiento".
Ejemplo de Entrenamiento Supervisado
Supongamos que se desea que una red aprenda la función
booleana XOR (OR exclusivo). Sabemos que dicha función tiene
la siguiente tabla de verdad:
Ejemplo de Entrenamiento Supervisado
(cont.)
Podemos definir como conjunto de entrenamiento lo
siguiente:
ENTRADAS:
SALIDAS DESEADAS:
X0 = [ 0,0 ]
X1 = [ 0,1 ]
X2 = [ 1,0 ]
X3 = [ 1,1 ]
Y0 =
Y1 =
Y2 =
Y3 =
[0 ]
[1 ]
[1 ]
[0 ]
Entrenar significa que, cada par [Xi,Yi], se aplicará a la
red repetidas veces siguiendo un algoritmo determinado,
hasta que lo aprenda.
Entrenamiento no Supervisado
• En la naturaleza no es muy frecuente
encontrar entrenamiento supervisado, sino
mas bien entrenamiento no supervisado.
• Por ejemplo, el cerebro de un bebé no
recibe un "vector de salida" con las
respuestas a como reaccionar a los miles
de estímulos que recibe cada día.
Entrenamiento no Supervisado
(cont)
• Este tipo de entrenamiento
no requiere de conocer la
salida deseada para cada
entrada, sino que los pesos
se van modificando de
manera que producen salidas
que sean consistentes.
• En otras palabras, entradas
similares
producen
las
mismas salidas.
DA TOS DE
ENTRADA
ENTRENAMIENTO
PESOS
CL ASES
Ejemplo de Entrenamiento no
Supervisado
Se desea que una red aprenda un conjunto de símbolos, digamos,
las letras del alfabeto. Se le muestran a la red repetidas veces los
símbolos, de manera que esta los clasificará, y creará grupos de los
mas parecidos, generando una representación "ideal" para cada
grupo.
El Perceptrón
Estados de un sistema neuronal
Patrón
Patrones p/entrenar
Experto Parámetros
Entrenador
respuesta esperada
1.
Aprende
Pesos
2.
Evalúa
USUARIO
Clase
asignada
El Perceptrón
Mc. Culloch y Pitts propusieron un modelo simple que
consiste en una sola neurona:
Red de perceptrones
• Se pueden poner
juntos varios de
estos
elementos,
generando una red
de perceptrones de
un nivel
entradas
y0
w00
x0
wm0
x1
Xn
w01
w10
..
.
w02
w11
wm1
w0n
y1
w21
w1n
y2
w2n
wmn
Ym-1
salidas
Regiones de Decisión Generadas
con el Perceptrón
• Para 2 entradas y una sola neurona, el perceptrón separa el plano
de características en dos regiones, una de un lado de la línea y otra
del otro lado.
• En un espacio de dimensión mayor (3 o más entradas) el
perceptrón divide al espacio en 2 regiones separados por un hiperplano.
Porque es esto?
•Veamos en 2 dimensiones, esto es, cuando hay dos entradas al
perceptron (características). Tenemos que:
OUTPUT = x0 w0 + x1w1 − φ
Si x0 w0 + x1w1 − φ < 0 entonces OUTPUT = −1
≥ 0 entonces OUTPUT = 1
Entonces, la decisión esta limitada por la recta:
x0 w0 + x1w1 − φ = 0
x1 = −
x0 w0
w1
φ
+ w1
Proceso de entrenamiento del
Perceptrón
SI
INICIO
Hay patrones
NO
FIN
EVALUA
RED
MODIFICA
PESOS
Entrenamiento del Perceptrón
PROCEDIMIENTO DE CONVERGENCIA (REGLA DELTA)
• PASO 1: Inicialice el valor de los pesos Wi(0) y del umbral Φ
con pequeños números aleatorios.
Wi(t) representa el valor del i-ésimo peso en el tiempo t.
Φ(t) es el valor del umbral.
• PASO 2: Lea un nuevo vector de entrada X (Xo, X1,....Xn-1) y
su correspondiente salida deseada D donde:
Si la entrada corresponde a la clase A, D = 1.
Si la entrada corresponde a la clase B, D = -1.
Regla Delta (cont.)
• PASO 3. Calcule la salida real de la neurona y(t):
n −1
y (t ) = F (∑ ( wi (t ) xi (t )) − φ (t ))
i =0
donde F es la función escalón
REGLA DELTA (Cont.)
• PASO 4: Modifique los pesos de acuerdo a la siguiente fórmula:
δ = D − y (t )
Para cada peso wi calcule:
∆ i = ηδxi
donde η es el coeficiente de aprendizaje ( 0 < η <= 1)
wi (t + 1) = wi (t ) + ∆ i
φ (t + 1) = φ (t ) − ηδ
para 0 <= i <= n - 1.
•
PASO 5: Regrese al paso 2 hasta agotar el conjunto de entrenamiento.
Descargar