Redes Neuronales

Anuncio
Redes Neuronales
Java y el XML
(D. López De Luise)
27/10/05 (19:00hs)
La IA en Java
(D. López De Luise)
17/11/05 (19:00hs)
Cognitive Memory
& Java
(S. Piedrahita)
Webbrowsing con Java
informes:
[email protected]
M. D. López De Luise
21/11/05 (19:00hs)
(D. López De Luise)
24/11/05 (19:00hs)
[email protected]
M. D. López De Luise
Por qué RN?
Presentar los fundamentos de las Redes Neuronales y
su aplicación desde la perspectiva del lenguaje Java.
•Terminología de la neurona
•El modelo neuronal
•Modelos y codificación de información
•Algunas redes famosas
•Librerías open source
0
M. D. López De Luise
1958 Surge con F. Rosenblat: Perceptrón
1969 M. Minsky y S. Papert: limitaciones del Perceptrón
1982 J. Hopfield: descripción matemática del modelo
1985 American Institute of Physics: annual meeting of NN
1987 IEEE: First International Conference on NN
1990 US Dep. of Defense: Small Business Innovation Research Pgm
2001 IEEE: Neural Networks Society
2003 IEEE: Neural Networks local Chapter
2005 Soft-computing (CIS)
Genetic algorithms
Heuristics algorithms
Neural Networks aplicaciones
Fuzzy Logic
Evolutionary algorithms
1
M. D. López De Luise
Por qué no RN? algunos prejuicios
Por qué RN? aplicaciones
características RN
Parallel Processing
Comportamiento interno complicado
Precisión menor al 100%
Cantidad de datos para entrenar
Es un arte?
Fault tolerance
Self-organization
Generalization ability
Continuous adaptivity
1
M. D. López De Luise
Intelligent Agents
Monitoring Sys.
Warning Sys.
ADSS
Process Automation
Smart devices
Intelligent Personal Assistant
0
M. D. López De Luise
1
Potencial post-sináptico de la neurona i
Va±Ve
Va’±Vi
dendritas
soma
E
axón
f(E) >??
S
neuronas
post-sinápticas
Estimulación desde la neurona j=1
potencial de acción
ui(t)
?
neurona
pre-sináptica
ei1
ei2
potencial
excitatorio
acumulado
ei3
ureposo
t1(1) t2(1) t1(2)t2(2)
estimulación en t=2
estimulación en t=1
2
1
M. D. López De Luise
M. D. López De Luise
Potencial de una red neuronal
neuronas
presinápticas
j
ei1(t)
ei2(t)
j=1
j=2
i=1
neuronas
possinápticas
i
j=1
i=1
j=2
i=2
ui(t)= urep+ Sj Sf eij(t – tj (f)) +? (t –^
ti)
i=3
j=3
t1(1)
t2(1)
i=4
ui(t) = ureposo+ ei1(t – t1(1)) + ei2(t – t2 (1)) +...
potencial de acción
secuencia f=1,2,3,...
ui(t)
?
? (t –^
ti)
ui(t)
?
ei1
ei2
ei1
ureposo
ei2
ui(t) >= ?
sii
dui(t)>0
dt
^
ti=max{ti (f)| ti (f)<t}
ei3
ureposo
t1(1) t2(1) t1(2)t2(2)
5
M. D. López De Luise
t1(1) t2(1) t1(2)t2(2)
ui(t)= urep+Sf[ei1(t – t1 (f)) + ei2(t – t2 (f)) +...]
ui(t)= urep+ Sj Sf eij(t – tj
(f))
3
M. D. López De Luise
^ti
instante de generación del
último potencial de acción
: limitaciones del
modelo
Simplificaciones realizadas con este modelo
A
B
No todos los potenciales postsinápticos tienen igual forma.
No es verdad que la dinámica de una neurona i dependa
ppalmente del momento del último disparo.
Avg. rate
Limitaciones provocadas
A
B
C
D
No modeliza la dependencia del potencial con el estado
pre-sináptico
No modeliza la dependencia del estado interno de la neurona
T
Hz
Spikes (pulsos)
No modeliza la dependencia de la ubicación
1
nsp(T)
Vs
No modeliza la adaptación celular hasta el estado de régimen
M. D. López De Luise
?=
0
M. D. López De Luise
2
Codificación de rates
promedio temporal
El más común
nsp(T)
?=
Hz
T
sobre tiempo
Avg
adecuado p/señales estacionarias o de lento cambio
sistema sensorial: mayor presión sobre la piel=> más pulsos
sistema motor: más pulsos => mayor fuerza del músculo
sobre muestreos repetidos
sobre poblaciones de neuronas
problemas: •hay actividades que rondan los 14 ms y no son bien modeladas así
•esto no es bueno para señales no estacionarias (mayoría en el mundo real)
•una salida neuronal no depende de una simple entrada
vmax
•no representa las saturaciones (límites físicos en la reacción)
(hay una curva de ganancia o función de transferencia)
2
V=g(I/0)
0
M. D. López De Luise
M. D. López De Luise
promedio sobre repeticiones
cant. señales en el lapso
1
?(t)= ? t
PSTH
cant de pulsos recibidos de todas las
neuronas de la capa previa en ese lapso
señal
1°
2°
3°...
nk(t, t + ? t)
K
lapso
promedio sobre varias neuronas
A(t)=
cantidad de repeticiones
t+? t
(f)
1 ?Sj Sfd (t – tj ) dt
t
?t
N
?(t)
m...
aplicable en señales estacionarias o no
representa la decodificación de una red de neuronas y no a una sola
n...
tamaño de la población de neuronas receptoras
modeliza cambios en señales cambiantes
problema potencial: es poco real que las neuronas sean idénticas
?t
2
1 nact(t, t + ? t)
?t
N
0
problema potencial: es poco real que las neuronas estén idénticamente interconectadas
M. D. López De Luise
M. D. López De Luise
Codificación de spikes
momento del primer pulso
fase
estímulo
spike
neurona 3...
neurona 2
neurona 1
estímulo
estímulo
estímulo
ej. hipocampo
ej. retina
0
M. D. López De Luise
0
M. D. López De Luise
3
correlaciones y sincronización
correlación invertida
estímulo
ej. córtex visual
simultaneidad de los spikes
0
0
M. D. López De Luise
M. D. López De Luise
reconstrucción de estímulo s(t)
Clasificación
S
?(t-t(n) ) =Sest(t)
f=1..n
estímulo
e=min
{?[S(t) –
optimizo la
estimación
Sest(t)]2
t
pulsos
dt
}
feedforward
criterios
F={t(1), t(2),...,t(f) ,...,t(n)} temporalidad de los pulsos
contribución (intensidad) del pulso
estímulo estimado
?(t-t(1) ) +... +?(t-t(f) )+... +?(t-t(n) )=Sest(t)
conexión entre dos capas consecutivas
tipo
conexión entre dos capas consecutivas
conexión entre neuronas de una misma capa
feedfack
estructura
algoritmo de aprendizaje
estimación
0
4
M. D. López De Luise
M. D. López De Luise
Perceptrón
Perceptrón multicapa
F. Rosemblatt - 1958
M. Minski & S.Papert - 1969
entrada binaria
f
f
entrada binaria
f
aprendizaje
f
wij=xi.?(t)
salida
1
M. D. López De Luise
f
wij=xi.(s– s)
Entrada: binaria
Tipo: feedforward
Capas: 1 de entrada + 1 de salida
Aprendizaje: supervisado
Algoritmo aprendizaje: Hebbiano
Aplicación: clasificación, AND, OR
Fn Activación: hard limiter
f
0
aprendizaje
f
f
f
f
f
salida
Entrada: binaria
Tipo: feedforward
Capas: 1 de entrada + 1 de salida + n ocultas
Fn Activación: hard limiter o sigmoid
Aprendizaje: supervisado
Algoritmo aprendizaje: delta learning
Aplicación: op. lógicas complejas, clasificac.
M. D. López De Luise
4
Hopfield Net
Backpropagation Net
J.J.Hopfield - 1982
G.E.Hinton, E.Rumelhart, R.J.Williams - 1986
entrada binaria
f
f
wij=xi.(s– s)
entrada binaria
aprendizaje
f
f
f
f
f
f
f
f
f
f
f
f
Entrada: binaria
Tipo: feedforward
Capas: 1 de entrada + 1 de salida + n ocultas
Fn Activación: sigmoid
Aprendizaje: supervisado
Algoritmo aprendizaje: backpropagation
Aplicación: op. lógicas complejas, clasificación,
análisis de voz
0
r= e-dE/(k.T)
salida
Entrada: binaria
Tipo: feedfack
Capas: matricial
Fn Activación: hard limiter/signum
Aprendizaje: no supervisado
Algoritmo aprendizaje: simulated annealing
Aplicación: asociación de patrones,
optimización de problemas
0
M. D. López De Luise
M. D. López De Luise
Kohonen Feature Map
feature
map
T.Kohonen - 1982
f
f
f
f
f
f
f
f
f
f
f
f
f
f
entrada binaria/reales
0
M. D. López De Luise
Entrada: binaria/real
Tipo: feedfack/feedforward
Capas: matricial (mapa) + entrada
Fn Activación: sigmoid
Aprendizaje: no supervisado
Algoritmo aprendizaje: self-organization
Aplicación: clasificación, simulación,
optimización de problemas
GNU
jahuwaldt.tools.NeuralNets
Neuron
NeuronFactory: generador de Neurons
BasicNeuron: implementa una neurona
BasicNeuronFactory: generador de BasicNeurons
HypTangentNeuron: neurona con fn activación = tg hiperbólica
HypTangentNeuronFactory: generador de BasicNeurons
InputNeuron: implementa una input neuron
Serializable
FeedForwardNet: implementa una red feedforward
FeedForwardNetBP: implementa una red con backpropagation
FeedForwardNetSCG:implementa una red con Scaled Conjugated Gradient
NeuronObservable implementa una interface observable
TrInstGenerator implementa una sesión de training
0
M. D. López De Luise
Dep. Computer Science
Consiste en un conjunto compacto de clases (sólo 11 en total)
Tiene un ejemplo completo de BackPN
Tiene Applets de demostración
Recetas. Ej: BackpropagationNet
0
M. D. López De Luise
1.object declaration (ej. BackpropagationNet bpn; )
2.constructor call (ej. bpn = new BackpropagationNet(); )
3.read conversion file (ej. bpn.readConversionFile("fileName");)
4.create input layer (ej. bpn.addNeuronLayer(i); )
5.create hidden layer(s) (ej. bpn.addNeuronLayer(h); )
6.create output layer (ej. bpn.addNeuronLayer(o); )
7.connect all layers (ej. bpn.connectLayers();)
8.read pattern file (ej. bpn.readPatternFile("fileName"); )
9.perform a learning cycle (ej. bpn.learn(); )
M. D. López De Luise
5
Usa un conjunto de archivos NNDEF.XML
Soporta solo algunas redes simples (ej Perceptron y Perceptron Multilayer)
Se pueden generar nuevos XML pero
usando NNDEF Generator
conforme a NNDEF DTD (document Type Def)
debe instalar NNDEFRun Library
Versión command line (ej. java -jar NNDefRun.jar)
Herramientas de debbuging & testing(java -jar NNDefRun.jar -log )
0
M. D. López De Luise
Puede usarse en multithreading
0
M. D. López De Luise
wiki
aprendizaje supervisado
aprendizaje no supervisado
redes feedforward
redes feedback
redes temporales
preprocesamiento de datos
posibilidades de uso con JavaScript
0
M. D. López De Luise
0
M. D. López De Luise
Un Programa para el problema XOR
0
M. D. López De Luise
0
M. D. López De Luise
6
Descargar