1
Redes Neuronales& Java
M. D. López De Luise
Java y el XML 27/10/05 (19:00hs)(D. López De Luise)
La IA en Java 17/11/05 (19:00hs)(D. López De Luise)
Webbrowsing con Java 24/11/05 (19:00hs)(D. López De Luise)
Cognitive Memory 21/11/05 (19:00hs)(S. Piedrahita)
informes:[email protected] [email protected]
M. D. López De Luise
M. D. López De Luise
0
Presentar los fundamentos de las Redes Neuronales ysu 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
Por qué RN?1958 Surge con F. Rosenblat: Perceptrón 1969 M. Minsky y S. Papert: limitaciones del Perceptrón1982 J. Hopfield: descripción matemática del modelo1985 American Institute of Physics: annual meeting of NN1987 IEEE: First International Conference on NN 1990 US Dep. of Defense: Small Business Innovation Research Pgm2001 IEEE: Neural Networks Society 2003 IEEE: Neural Networks local Chapter 2005 Soft-computing (CIS)
Genetic algorithmsHeuristics algorithms
Fuzzy LogicEvolutionary algorithms
aplicacionesNeural NetworksNeural Networks
M. D. López De Luise
1
Intelligent AgentsMonitoring Sys.
Warning Sys.ADSS
Process AutomationSmart devices
Intelligent Personal Assistant
Por qué RN?
M. D. López De Luise
1
aplicaciones
Parallel Processing
Fault toleranceSelf-organizationGeneralization ability
Continuous adaptivity
características RN
Comportamiento interno complicado
Por qué no RN?
Precisión menor al 100%Cantidad de datos para entrenarEs un arte?
algunos prejuicios
M. D. López De Luise
0
2
Ef(E) S
dendritassoma
axón>??
neuronas post-sinápticas
neuronapre-sináptica
M. D. López De Luise
1M. D. López De Luise
2
Va’±Vi
Potencial post-sináptico de la neurona i
Estimulación desde la neurona j=1
potencial excitatorioacumulado
?
potencial de acción
estimulación en t=1estimulación en t=2
ui(t)
ureposo
t1(1)
ei1
ei2ei3
t2(1) t1
(2)t2(2)
Va±Ve
M. D. López De Luise
5
ui(t)
ureposo
t1(1)
?ei2
t2(1) t1
(2)t2(2)
j=1
j=2i=1
neuronaspresinápticas
jneuronas
possinápticasi
t2(1)
t1(1)
ui(t) ei1(t – t1(1)) + ei2(t – t2
(1)) +...ureposo= +
ei1
potencial de acción
ei1(t)ei2(t)
ui(t)= urep+Sf[ei1(t – t1(f)) + ei2(t – t2
(f)) +...]
secuencia f=1,2,3,...
ui(t)= urep+ Sj Sf eij(t – tj(f))
j=1
j=2
j=3
i=1
i=2
i=3
i=4
Potencial de una red neuronal
M. D. López De Luise
3
ui(t)
ureposo
t1(1)
?ei2
ei3
t2(1) t1
(2)t2(2)
ei1
ui(t)= urep+ Sj Sf eij(t – tj(f))
^? (t – ti)
ti
instante de generación delúltimo potencial de acción
^? (t – ti) +
sii ui(t)
dui(t)dt
>0
>= ?
ti=max{ti(f)| ti
(f)<t}
: limitaciones delmodelo
No todos los potenciales postsinápticos tienen igual forma.
Simplificaciones realizadas con este modelo
No es verdad que la dinámica de una neurona i dependappalmente del momento del último disparo.
Limitaciones provocadas
No modeliza la adaptación celular hasta el estado de régimen
M. D. López De Luise
1
No modeliza la dependencia del potencial con el estado
A
B
No modeliza la dependencia del estado interno de la neuronaC
No modeliza la dependencia de la ubicaciónD
A
B
pre-sináptico
Avg. rate
Vs
Spikes (pulsos)
?=nsp(T)
THz
M. D. López De Luise
0
3
Avg
sobre tiempo
sobre muestreos repetidossobre poblaciones de neuronas
Codificación de rates
M. D. López De Luise
0
promedio temporal
El más común ?=nsp(T)
T
Hz
vmax
V=g(I/0)M. D. López De Luise
2
sistema sensorial: mayor presión sobre la piel=> más pulsossistema motor: más pulsos => mayor fuerza del músculo
adecuado p/señales estacionarias o de lento cambio
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•no representa las saturaciones (límites físicos en la reacción)
(hay una curva de ganancia o función de transferencia)
promedio sobre repeticiones
?(t)=1? t
nk(t, t + ? t)K
?(t)
? t
1°2°3°...
señalcant. señales en el lapso
lapso cantidad de repeticiones
PSTH
M. D. López De Luise
2
aplicable en señales estacionarias o norepresenta la decodificación de una red de neuronas y no a una sola
promedio sobre varias neuronas
m... n...
A(t)=1
? tnact(t, t + ? t)
N
1? t N
?t+? t
tSj Sfd (t – tj
(f)) dt
tamaño de la población de neuronas receptoras
cant de pulsos recibidos de todas las neuronas de la capa previa en ese lapso
modeliza cambios en señales cambiantes
problema potencial: es poco real que las neuronas sean idénticas
problema potencial: es poco real que las neuronas estén idénticamente interconectadasM. D. López De Luise
0
Codificación de spikesmomento del primer pulso
estímulo
spike
estímulo
M. D. López De Luise
0
neurona 1neurona 2neurona 3...
ej. retina
fase
estímulo
estímulo
M. D. López De Luise
0
ej. hipocampo
4
correlaciones y sincronización
simultaneidad de los spikes
M. D. López De Luise
0
correlación invertida
estímulo
M. D. López De Luise
0
ej. córtex visual
reconstrucción de estímulo s(t)
F={t(1), t(2),...,t(f) ,...,t(n)} temporalidad de los pulsos
?(t-t(f) )
contribución (intensidad) del pulso
?(t-t(1) ) ?(t-t(n) )+... + +... + =Sest(t)estímulo estimado
=Sest(t)Sf=1..n?(t-t(n) )
?t[S(t) – Sest(t)]2 dte=min { }
optimizo laestimaciónestímulo
estimación
pulsos
M. D. López De Luise
4
tipo
estructura
algoritmo de aprendizaje
Clasificación
M. D. López De Luise
0
feedforward conexión entre dos capas consecutivas
feedfack conexión entre dos capas consecutivasconexión entre neuronas de una misma capa
crit
erio
s
Entrada: binariaTipo: feedforwardCapas: 1 de entrada + 1 de salidaAprendizaje: supervisadoAlgoritmo aprendizaje: HebbianoAplicación: clasificación, AND, ORFn Activación: hard limiter
PerceptrónF. Rosemblatt - 1958
f f f
entrada binaria
salida
aprendizaje
M. D. López De Luise
1
wij=xi.?(t)
Entrada: binariaTipo: feedforwardCapas: 1 de entrada + 1 de salida + n ocultasFn Activación: hard limiter o sigmoidAprendizaje: supervisadoAlgoritmo aprendizaje: delta learningAplicación: op. lógicas complejas, clasificac.
Perceptrón multicapaM. Minski & S.Papert - 1969
f f f
ff
entrada binaria
salida
aprendizaje
f ff
M. D. López De Luise
0
wij=xi.(s– s)
5
Entrada: binariaTipo: feedforwardCapas: 1 de entrada + 1 de salida + n ocultasFn Activación: sigmoidAprendizaje: supervisadoAlgoritmo aprendizaje: backpropagationAplicación: op. lógicas complejas, clasificación,análisis de voz
Backpropagation NetG.E.Hinton, E.Rumelhart, R.J.Williams - 1986
f f f
ff
entrada binaria
salida
aprendizaje
f ff
M. D. López De Luise
0
wij=xi.(s– s)
Entrada: binariaTipo: feedfackCapas: matricialFn Activación: hard limiter/signumAprendizaje: no supervisadoAlgoritmo aprendizaje: simulated annealingAplicación: asociación de patrones,
optimización de problemas
Hopfield NetJ.J.Hopfield - 1982
ff
entrada binaria
f f
f f
M. D. López De Luise
0
r= e-dE/(k.T)
Entrada: binaria/realTipo: feedfack/feedforwardCapas: matricial (mapa) + entradaFn Activación: sigmoidAprendizaje: no supervisadoAlgoritmo aprendizaje: self-organizationAplicación: clasificación, simulación,
optimización de problemas
Kohonen Feature MapT.Kohonen - 1982
f
entrada binaria/reales
f f f
f f f ff f f ffeature
map
f f
M. D. López De Luise
0
GNUNeuron
NeuronObservableTrInstGenerator
jahuwaldt.tools.NeuralNets
Serializable
BasicNeuron: implementa una neuronaBasicNeuronFactory: generador de BasicNeurons
HypTangentNeuron: neurona con fn activación = tg hiperbólicaHypTangentNeuronFactory: generador de BasicNeurons
InputNeuron: implementa una input neuron
NeuronFactory: generador de Neurons
FeedForwardNet: implementa una red feedforwardFeedForwardNetBP: implementa una red con backpropagationFeedForwardNetSCG:implementa una red con Scaled Conjugated Gradient
M. D. López De Luise
0
implementa una interface observable
implementa una sesión de training
M. D. López De Luise
0
Dep. Computer ScienceConsiste en un conjunto compacto de clases (sólo 11 en total)
Recetas. Ej: BackpropagationNet
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(); )
Tiene Applets de demostración
Tiene un ejemplo completo de BackPN
M. D. López De Luise
6
M. D. López De Luise
0
Usa un conjunto de archivos NNDEF.XMLSoporta solo algunas redes simples (ej Perceptron y Perceptron Multilayer)Se pueden generar nuevos XML pero
usando NNDEF Generatorconforme 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 )
Puede usarse en multithreading
M. D. López De Luise
0
M. D. López De Luise
0
wiki
aprendizaje supervisado
aprendizaje no supervisado
redes feedforward
redes temporalesredes feedback
posibilidades de uso con JavaScript
preprocesamiento de datos
M. D. López De Luise
0
M. D. López De Luise
0M. D. López De Luise
0
Un Programa para el problema XOR