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) 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