Вы находитесь на странице: 1из 8

46 Revista Mexicana de Ingeniería Biomédica • volumen XXII • número 2 • septiembre 2001

ARTÍCULO DE INVESTIGACIÓN ORIGINAL


Vol. XXII, Núm. 2
Abril-Septiembre 2001
pp 46 - 53

NSL Lenguaje de Simulación de Redes Neuronales


Un Sistema para el modelado biológico y artificial*
Alfredo Weitzenfeld** RESUMEN

** Instituto Tecnológico Autónomo de México NSL (Neural Simulation Language) es un sistema de simulación para
Departamento Académico de el desarrollo de redes neuronales biológicas y artificiales. NSL permi-
Computación te la simulación de modelos con diferentes niveles de detalle neuro-
Río Hondo No. 1, San Ángel, México, D.F. nal, desde los más sencillos que constan de pocas neuronas hasta
Profesor de Tiempo Completo los más complejos compuestos de millones de neuronas. NSL incor-
Doctorado en Ciencias de la pora un rico ambiente de modelado y simulación que integra un
Computación
lenguaje compilado y otro interpretado por razones de eficiencia e
University of Southern California, Los
Angeles, CA, USA
interacción, además de bibliotecas numéricas, interfaces gráficas y
56284000 ext 3614 5616221 herramientas de visualización. El sistema es orientado a objetos, ofre-
alfredo@itam.mx ciendo un ambiente de simulación para usuarios con poca expe-
http://cannes.itam.mx riencia de programación, al igual que para aquellos más experi-
Redes Neuronales, Agentes Autónomos, mentados. NSL fue desarrollado originalmente hace 10 años
Sistemas de Simulación habiendo sido utilizado durante esta última década para la investi-
gación y docencia, dando lugar al desarrollo de numerosos mode-
Artículo recibido: 1/junio/2001
los neuronales en diversos laboratorios en el mundo. Actualmente
Artículo aceptado: 25/julio/2001
se cuenta con NSL3.0, la tercera generación del sistema bajo dife-
rentes plataformas de procesamiento y en base a programación en
C++ y Java.

Palabras clave:
Redes Neuronales, Modelado, Simulación, Biológico, Artificial, NSL

ABSTRA CT
ABSTRACT

NSL (Neural Simulation Language) is a simulation system for the de-


velopment of biological and artificial neural networks. NSL enables
the simulation of models consisting of different levels of neural de-
tail, from the simpler ones having only a few neurons to the more
complex ones made of millions of neurons. NSL incorporates a rich
environment for modeling and simulation integrating a compiled and
interpreted language for efficiency and interactivity reasons, in addi-
tion to numerical libraries, graphic interfaces and visualization tools.
The system is object-oriented, offering a simulation environment for
inexperienced users as well as those with more programming expe-
rience. NSL was originally developed 10 years ago, having been used
during this last decade for research and teaching purposes, giving
rise to a number of neural models in different laboratories throughout
the world. The current version, NSL 3.0, is the third generation of the

*
Este trabajo está apoyado por el NSF en EEUU (proyecto #IRI-9505864) y CONACyT en México (proyecto #546500-5-C018-A),
además del proyecto REDII de CONACyT (#DAJ J002-222-98) y la Asociación Mexicana de Cultura, A.C.
Weitzenfeld A. NSL Lenguaje de Simulación de Redes Neuronales 47

system ported to different environments while based on C++ and


Java programming.

Key words:

edigraphic.com
Neural Networks, Modeling, Simulation, Biological, Artificial, NSL

INTRODUCCIÓN haber sido desarrollados en base a modelos ma-


temáticos no lineales totalmente ajenos a la bio-
Los sistemas biológicos son altamente comple- logía.
jos y su comprensión requiere de sofisticadas he- 3. En el nivel de neuronas detalladas, los modelos
rramientas de desarrollo que apoyen múltiples de neuronas incluyen múltiples compartimen-
niveles de modelado y simulación. Para lograr tos15 que incorporan membranas activas y una
esto, es necesario contar con lenguajes y am- variedad de canales, como el modelo Hodg-
bientes de software que por un lado sean lo su- kin-Huxley9. Este nivel es principalmente utiliza-
ficientemente eficientes dada la intensidad de do para el modelado biológico con el objetivo
cómputo de la gran mayoría de los modelos primordial de comprender los diferentes meca-
neuronales existentes, y por otro lado sean lo sufi- nismos electroquímicos de bajo nivel, tales
cientemente sofisticados para apoyar el desa- como la inhibición presináptica responsables por
rrollo de sistemas altamente complejos. En par- ejemplo del aprendizaje y la memoria en los
ticular, las redes neuronales pueden modelarse animales y el ser humano.
y simularse en base a tres niveles de abstrac-
ción: (1) Módulos neuronales, (2) Redes neuro- Aunque existen muchas herramientas para faci-
nales y (3). Neuronas: litar la tarea del modelado y simulación de siste-
mas biológicos y artificiales, estos sistemas varían
1. En el nivel más alto, las redes neuronales son en su costo, complejidad y tipo de modelado apo-
organizadas en base a estructura y comporta- yado6,13. El principal desafío de estos sistemas es
miento en módulos inspirados en el concepto por un lado ofrecer ambientes de simulación ge-
de esquemas4. En el caso de redes biológicas, nerales y amigables, mientras que por otro lado
estos esquemas son generados según estudios ser eficientes y suficientemente expresivos para
neuroetológicos de animales vivos. En el caso modelar los sistemas neuronales más complejos.
de redes artificiales, la organización en módu- Algunos de estos sistemas apoyan arquitecturas y
los sigue patrones de modularización y distribu- algoritmos neuronales predefinidos mientras que
ción similar al desarrollo de aplicaciones en la otros permitan el desarrollo de nuevas arquitectu-
ingeniería de software. ras y algoritmos, tal como NSL24.
2. En el nivel de redes neuronales, se modelan ar-
quitecturas de decenas hasta millones de neu- NSL
ronas que implementen el comportamiento co-
rrespondiente al nivel de módulos. En este nivel, El Lenguaje de Simulación Neuronal (NSL por sus
el modelo de neuronas utilizado es extremada- siglas en inglés) provee un ambiente de modela-
mente sencillo como el modelo de neurona Mc- do y simulación para redes neuronales de gran
Culloch-Pitts12 y el modelo de integrador con tamaño, basado en un modelo neuronal sencillo.
fugas 3 donde la tasa de disparo de una neuro- NSL tuvo sus orígenes en 1989 en la Universidad
na es una función no-lineal correspondiente al del Sur de California apoyando modelado neuro-
potencial de membrana (cada neurona se nal de un sólo nivel y bajo un número limitado de
modela como un sólo compartimiento). En el plataformas. La versión actual NSL3.026 es un es-
caso de redes biológicas, se analizan los datos fuerzo conjunto entre la Universidad del Sur de
neuroanatómicos y neurofisiológicos para expli- California (USC) y el Instituto Tecnológico Autóno-
car los mecanismos neuronales básicos corres- mo de México (ITAM). El sistema sigue un diseño
pondiente a los modelos esquemáticos desa- orientado a objetos implementado bajo dos am-
rrollados en el nivel de comportamiento. En el bientes de desarrollo, C++ y Java, ejecutando en
caso de redes artificiales, los modelos puede ha- una gran variedad de plataformas. Además, ofre-
ber sido inspirados por modelos biológicos o ce un ambiente de desarrollo que apoya usuarios
48 Revista Mexicana de Ingeniería Biomédica • volumen XXII • número 2 • septiembre 2001

principiantes y sofisticados a la vez. Una de las gran-


des ventajas de NSL sobre es otros simuladores es
la posibilidad de desarrollar nuevas arquitecturas
de redes neuronales con diferentes niveles de abs-
tracción. Como aspecto esencial y particular de
NSL es el apoyo para el desarrollo de módulos de
redes neuronales que pueden ser interconectadas
de manera jerárquica, donde las neuronas se mo-
delan de manera sencilla y las interconexiones es-
tán sujetas a variadas reglas de aprendizaje. Para
modelar redes neuronales es necesario describir:
(1) los módulos neuronales que definen el modelo
completo (2) las neuronas que componen la red
neuronal para cada módulo, (3) las interconexio-
nes de la red neuronal, (4) y la dinámica de la red
neuronal. Algunos de los modelos que han sido
desarrollados en NSL incluyen redes artificiales clá-
sicas como Hopfield10 y Backpropagation 16,27, re-
des biológicas como la Retina17 y el modelo Córti-
co-Subcóritco para la generación de movimientos
sacádicos 8, y aplicaciones como reconocimiento
de caras 28 y percepción de profundidad11. En este Figura 1
1. Modelo computacional jerárquico de NSL basa-
artículo revisaremos un modelo extremadamente do en módulos a ser implementados por redes neurona-
sencillo conocido como el Selector Máximo o «Win- les u otros procesos.
ner Take All» 2.
Módulo
MÓDULOS NEURONALES neuronal
Los módulos son las estructuras básicas del mode- Datos entrada Datos
lo computacional de NSL. Estas estructuras son je- salida
rárquicas y pueden implementarse de manera ge-
neral mediante redes neuronales u otros procesos,
como se muestra en la figura 1.
Los módulos neuronales, de especial interés en
NSL, encapsulan a las redes neuronales en base a Red
la neurona como elemento básico de composi- neuronal
ción, como se muestra en la figura 2.
La descripción de un módulo en NSL es similar
a la descripción de una clase en los lenguajes
orientados a objetos en el sentido de que se des- Figura 2
2. Módulo neuronal en NSL implementado mediante
cribe un patrón del cual los propios objetos son redes neuronales compuesto por múltiples neuronas.
luego instanciados. Más allá de esto, los módu-
los en NSL pueden ser procesados de manera
concurrente y utilizan comunicación en base a
puertos de entrada y salida e interconexiones sm mp mf
entre ellos.

NEURONAS entrada neurona salida


Figura 3
3. Modelo neuronal de un sólo compartimento es
El modelo básico de neurona en NSL es de un sólo
representado por un valor mp correspondiente al poten-
compartimiento, teniendo una salida y varias en- cial de membrana, y un valor mf correspondiente a su
tradas, como se muestra en la figura 3. El estado tasa de disparo, la única salida de la neurona. sm repre-
interno de la neurona es descrito por un único va- senta el conjunto de entradas a la neurona.
Weitzenfeld A. NSL Lenguaje de Simulación de Redes Neuronales 49

lor, su potencial de membrana mp, el cual depen- nslDiff (mp,τm,-mp + sm);


de de las entradas de la neurona y de su historia
previa. La salida es descrita por otro valor, su tasa La tasa de disparo mf se describe como
de disparo mf, y puede servir como entrada a va-
rias otras neuronas, incluyendo a sí misma. Al va-
riar los valores de las entradas a una neurona, va-
mf = σ (mp);edigraphic.com
ría también su potencial de membrana y su tasa
donde σ representa la función de disparo o salida
de disparo.
correspondiente a una función umbral.
El potencial de membrana mp es descrito por
la ecuación diferencial INTERCONEXIONES

Cuando se construyen redes neuronales, la sali-


da de una neurona sirve como entrada a otras
neuronas. Las conexiones entre neuronas llevan
la cual depende de las entradas sm, el valor previo un peso de conexión que describe cómo las neu-
de mp y la constante de tiempo ?m. La elección ronas son afectadas entre sí. Las conexiones son
de f depende del modelo neuronal particular. Por llamadas excitatorias o inhibitorias dependiendo
ejemplo, el integrador con fugas3 es descrito por de sí su peso es positivo o negativo, respectiva-
mente. La fórmula más común para la entrada a
una neurona es

La tasa de disparo mf (salida de la neurona) se


obtiene aplicando una función umbral al poten-
cial de la membrana de la neurona,
donde ufi es la tasa de disparo de la neurona upi
cuya salida está conectada a la entrada i de la
neurona vp, y wi es el peso de la conexión, como
donde σ es usualmente una función no lineal. Al-
se muestra en la figura 5 (up y vp son análogas a
gunas de las funciones de umbral más comunes
mp, mientras que uf y vf son análogas a mf).
son rampa, escalón, saturación y sigmoidal.

En NSL dos estructuras de datos son requeridas La descripción de las conexiones de entrada a
para representar una neurona en el modelo de in- la neurona vp en NSL es dada por una ecuación
tegrador con fugas. Una estructura de datos re- de la siguiente forma
presenta el potencial de membrana mp y la otra
la tasa de disparo mf. Para estas estructuras se sv = w0uf0 + w1uf1 + ...
puede utilizar diferentes tipos primitivos, como
Float, Double o Int. Por ejemplo, utilizando tipos CAPAS Y MÁSCARAS
Double, las estructuras serían:
Cuando se modela un gran número de neuro-
NslDouble mp; nas se vuelve extremadamente tedioso nombrar
NslDouble mf;
a cada una de ellas por separado. Además, en
el cerebro usualmente encontramos redes neu-
La dinámica del potencial de membrana mp
ronales estructuradas en capas de neuronas ho-
se representa mediante la ecuación diferencial
mogéneas de dos dimensiones, con patrones de
nslDiff(mp,τm,f(sm,mp)); interconexión regulares entre las capas. Por ta-
les motivos, NSL extiende la abstracción de la
donde nslDiff corresponde a una ecuación dife- neurona básica a capas de neuronas y las co-
rencial de primer orden con constante de integra- nexiones sencillas a máscaras de conexión, res-
ción τm y f(s m,m) corresponde a la función de en- pectivamente.
trada igual a “-m + sm” en el modelo de integrador Una interconexión entre neuronas puede ser pro-
con fugas cesada computando una transformación al estilo de
50 Revista Mexicana de Ingeniería Biomédica • volumen XXII • número 2 • septiembre 2001

una convolución espacial* entre una máscara y una NslDouble1 up(n);


capa. Por ejemplo, como se muestra en la figura 6a, NslDouble1 uf(n);
si uf representa un arreglo de salidas de una capa NslDouble0 vp;
de neuronas u, y sv representa el arreglo de entradas NslDouble0 vf;
a un elemento en la capa v, entonces, para una
máscara w(k,l) (para -d≤k,l≤d) representando el peso Las primeras dos estructuras definen capas neu-
entre los elementos de uf(i+k,j+l) (para -d≤k,l≤d) y ronales de una dimensión, donde «n» define el ta-
los elementos sv(i,j) para cada i y j, tenemos maño de la capa.
En este ejemplo se utiliza el operador «@» igual
como antes,

sv = w@uf

En lugar de describir esta ecuación mediante aunque en este ejemplo la máscara de pesos w
múltiples expresiones individuales, NSL utiliza el ope- es de un sólo elemento.
rador "@" para lograr una única expresión de ma-
nera muy concisa, SIMULACIÓN

sv = w@uf Una vez descrito el modelo se procede a su simu-


lación. La simulación consiste principalmente de:
El tamaño o dimensión de w y uf son totalmente (1) asignación de valores a parámetros definidos
arbitrarios sin afectar la expresión, esto es posible en el modelo; (2) asignación de entradas a la red
gracias a la regularidad de la conexión. neuronal; (3) especificación de control de la simu-
Para representar capas neuronales en NSL, Nsl- lación, como pasos de integración y tiempos a si-
Double es extendida por tipos con dimensiones mular; y (4) especificación de aspectos de visuali-
entre 0 y 4, por ejemplo, NslDouble2 corresponde zación para el modelo 23. Estos aspectos serán
a un arreglo de 2 dimensiones de elementos tipo mostrados directamente mediante un ejemplo en
Double. Para simplificar las operaciones, las más- la siguiente sección.
caras de interconexión son también definidas en
EJEMPLO
NSL con estructuras similares cuya actividad des-
cribe pesos de conexión en lugar de potenciales
Por ejemplo, la arquitectura de la red neuronal co-
de membrana o tasas de disparo. Por ejemplo, las
rrespondiente al modelo del Selector Máximo se
capas de las neuronas mostradas en la figura 5
serían descritas por cuatro estructuras,

su 0 su 1 sun- 1
sui
........ ........ ........ ........
up 0 up1 ........
up i ........ upn-1

ufi i w
uf0 uf1 ufn -1

wi
w1
w0 wn -1
sv
i
u j
vp

vf

v j
Figura 5. La neurona vp recibe entradas de las neuronas
up 1 ,...,up n , correspondientes a sus tasas de disparo,
Figura 6a
6a.. w representa la conexión o máscara de con-
uf1,...,uf n, multiplicadas por los pesos w1,...,w n, respectiva-
volución entre las capas u y v correspondientes a la ecua-
mente.
ción sv=w@uf. En este ejemplo w es una máscara de
3x3 que se superpone sobre una ventana en u del mis-
mo tamaño, para obtener un valor de un elemento en v
*
El término “convolución espacial” se utiliza exclusivamente (en este ejemplo las capas u y v consisten de 8x8 neuro-
por razones matemáticas. nas cada una).
Weitzenfeld A. NSL Lenguaje de Simulación de Redes Neuronales 51

s0 s1 si sn-1
MODELADO DEL SELECTOR MÁXIMO
sui sun-1
su0 su1
up0 up1 upi upn-1
........ ........ La descripción del modelo completo incluye un
ufi wun-1 módulo MaxSelector un módulo principal MaxSe-
uf 0 wu1 uf1 uf n-1
wu 0

w0
w1
wui
wi
wn-1
edigraphic.com
lectorModel. En MaxSelector se describe la diná-
mica de la red neuronal.
sv

nslModule MaxSelector (int n) extends NslModule ( )


vp
wm {
vf
private: NslDouble1 s(n);
Figura 6b
6b.. La red neuronal en la figura corresponde a la private: NslDouble1 up(n);
arquitectura del modelo Selector Máximo7, donde si re- private: NslDouble1 uf(n);
presenta las entradas a la red, upi y vp representan poten- private: NslDouble0 vp();
ciales de membrana mientras que ufi y vf representan ta- private: NslDouble0 vf();
sas de disparo. wm, w ui, y wi corresponden a los pesos de
private NslDouble0 tu();
las conexiones.
private NslDouble0 tv();
private NslDouble0 wu();
basa en el modelo original de Didday7, como se private NslDouble0 wm();
muestra en la figura 6b. private NslDouble0 wn();
Este es un modelo extremadamente sencillo, private NslDouble0 hu();
aunque muy ilustrativo, el cual recibe al menos dos private NslDouble0 hv();
entradas de diferente magnitud, y genera como
salida un sólo valor correspondiente al máximo de public void simRun( ){
las distintas entradas. nslDiff(up,tu, -up + wu@uf - wm@vf - hu +
La descripción completa del modelo Máximo s);
Selector está dado por las siguientes ecuaciones uf = nslStep(up);
nslDiff(vp,tv, -vp + nslSum(wn@uf) - hv);
vf = nslRamp(vp);
}
1≤i≤n }

Nótese la estructura de un módulo en una pa-


trón similar a la definición de una clase en los len-
guajes orientados a objetos. La especificación de
la estructura del módulo incluye la declaración de
todas las variables en el módulo. El método simRun
contiene las expresiones que son procesadas re-
En el modelo, wm, wui y wi representan los pesos
petidas veces por el simulador según los paráme-
de las conexiones teniendo que wui = wu0 = ... =
tros de control de la simulación que asigne el usua-
wun = wu y wi = w0 = ... = wn. Se tiene adicional-
rio. Estas expresiones incluyen en este ejemplo
mente los parámetros hu y hv con la restricción de
operaciones sobre vectores y escalares. Por ejem-
que 0 ≤ hu, y 0 ≤ hv < 1.
plo, nslSum(wn@uf) multiplica el peso de la co-
Las funciones umbral son descritas por un escalón
nexión wn por la tasa de disparo uf, devolviendo
para ufi
finalmente la sumatoria del resultado de la convo-
lución. Esto es necesario ya que la capa vp consis-
te de una sola neurona. nslStep y nslRamp son las
funciones umbral para las dos capas de neuronas
en la red, respectivamente.
y una rampa para vf El módulo es inicializado mediante la definición
de un modelo de la siguiente forma,

nslModel MaxSelectorModel
{
52 Revista Mexicana de Ingeniería Biomédica • volumen XXII • número 2 • septiembre 2001

MaxSelector ms(10); se mantiene con valor positivo al finalizar la eje-


} cución del modelo.

Parte de la inicialización incluye asignar el número LÍNEAS FUTURAS


de neuronas que van a ser instanciadas en la capa
up, en nuestro ejemplo 10. NSL es parte integral en las diversas áreas de in-
vestigación que se llevan a cabo en el laboratorio
SIMULACIÓN DEL SELECTOR MÁXIMO CANNES (Comportamiento Adaptivo Neuronal,
Neurociencias y Simulaciones) en el ITAM y en sus
La simulación de una red neuronal se controla in- colaboraciones con otras universidades tales como
teractivamente o mediante archivos. Esto incluye la USC. Actualmente CANNES tiene como objetivos:3
la (1) asignación de parámetros, (2) asignación de
entradas, (3) especificación de control de la simu- 1. El desarrollo de modelos computacionales que
lación y (4) visualización. expliquen los mecanismos neuronales básicos
Se asignan los parámetros cuyos valores no responsables para el comportamiento de los ani-
fueron especificados originalmente en el mode- males a diferentes niveles de abstracción (aus-
lo. Esto se hace para permitir al usuario modifi- piciado por el proyecto de colaboración NSF-
car los valores interactivamente. Aunque omiti- CONACyT: Metodología de Simulación de Nivel
remos esto, cabe resaltar que NSL utiliza un Múltiple: Un Enfoque Computacional y Experi-
lenguaje de «scripts» basado en Tcl/Tk 14. Se asig- mental para Sistemas Neuronales)25.
nan las entradas externas al módulo de manera 2. El diseño de lenguajes y arquitecturas de soft-
similar a la asignación de parámetros en el caso ware distribuidas para apoyar el modelado y si-
de entradas constantes. En este ejemplo, se asig- mulación de estos sistemas con acceso directo
nan valores al vector s, con valores 0 excepto desde el Web (auspiciado por el proyecto REDII
1.0 que es asignada a la entrada con mayor ac- de CONACyT: Modelado y Simulación Neuronal
tividad y 0.5 a otro de los elementos. El control en el Web)1.
de la simulación incluye la especificación del 3. La aplicación de estos modelos dentro del mar-
tiempo de ejecución del modelo y un intervalo co de la teoría del cerebro y psicología cogni-
de tiempo de simulación. La salida de la red al tiva para el diseño de agentes robóticos autó-
finalizar la simulación se muestra en la figura 7. nomos y robots reales móviles (auspiciado por
La entrada de mayor magnitud es la única que el proyecto de colaboración NSF-CONACyT: Ro-
bots Ecológicos: Un Enfoque Teórico Esquemá-
tico) 5,22.
FW1
WN11 LAYER:S wymin:0.00 wymax:2.00 ts:20.00 Actualmente se está integrando NSL con el Len-
guaje de Esquemas Abstracto (ASL por sus siglas
en inglés)21. ASL incorpora aspectos de la progra-
mación orientada a objetos concurrentes18, utilizan-
i0:0 i1:9 imax:10 do un modelo jerárquico apoyando procesamiento
WN12 LAYER:u wymin:-3.00 wymax:3.00 ts:20.00 concurrente y distribuido19,20.

AGRADECIMIENTOS

i0:0 i1:9 imax:10 t0:0.00 t1:20.00 Se agradece en especial a todos los tesistas del
laboratorio CANNES del ITAM que han apoyado y
Figura 7
7. La salida del modelo Selector Máximo, mues- siguen apoyando el desarrollo de estos sistemas,
tra la capa de entrada s, en un gráfico espacial, y el
en particular Salvador Mármol, Claudia Calderas,
potencial de membrana de la capa up, en un gráfico
temporal. Roberto Olivares, Oscar Peguero, Sebastián Gutié-
rrez, Francisco Peniche y Francisco Otero. Asimis-
mo se agradece al grupo dirigido por Michael Ar-
3
Para mayor información sobre estos proyectos favor de
bib y Amanda Alexander en la Universidad del Sur
accesar el servidor Web de CANNES: http:// de California con quienes se mantiene una estre-
cannes.rhon.itam.mx. cha colaboración en el desarrollo de NSL.
Weitzenfeld A. NSL Lenguaje de Simulación de Redes Neuronales 53

BIBLIOGRAFÍA 17. Teeters JL, Arbib MA, Corbacho F, & Lee HB. Quantitative
modeling of responses of anuran retina: Stimulus shape
1. Alexander A, Arbib MA, Weitzenfeld A. 1999, Web Simula- and size dependency. Vision Research 1993; 33: 2361-
tion of Brain Models. International Conference on Web- 2379.
Based Modeling and Simulation, 1999; 31(3): 29-33, Enero 18. Wegner P. Concepts and Paradigms of Object-Oriented Pro-
17-20, San Francisco, CA.
2. Amari S, Arbib MA. Competition and Cooperation in Neu-
edigraphic.com
gramming, OOPS Messenger, 1990; 1(1): 7-87.
19. Weitzenfeld A. A Unified Computational Model for Sche-
ral Nets, Systems Neuroscience (J. Metzler, ed.), 1977: 119- mas and Neural Networks in Concurrent Object-Orien-
165, Academic Press. ted Programming, Tesis Doctoral, Computer Science
3. Arbib MA. The Metaphorical Brain 2: Neural Networks and Dept., University of Southern California, Los Angeles.
Beyond, Wiley. 1989. 1992.
4. Arbib MA. Schema Theor y, in the Encyclopedia of Artificial 20. Weitzenfeld A, Arbib M. A Concurrent Object-Oriented Fra-
Intelligence, 2da Edition, Editor Stuart Shapiro, 1992; 2: mework for the Simulation of Neural Networks, ECOOP/
1427-1443, Wiley. OOPSLA ’90 Workshop on Object-Based Concurrent Progra-
5. Arkin RC, Cervantes-Perez F, Weitzenfeld A. Ecological Ro- mming, OOPS Messenger, 1991; 2(2): 120-124.
botics: A Schema-Theoretic Approach, en Intelligent Ro- 21. Weitzenfeld A. ASL: Hierarchy, Composition, Heterogenei-
bots: Sensing, Modelling and Planning, Eds. RC Bolles, H ty, and Multi-Granularity in Concurrent Object-Oriented Pro-
Bunke y H Noltemeier World Scientific. 1997: 377-393. gramming, Workshop on Neural Architectures and Distribu-
6. De Schutter E. A Consumer Guide to Neuronal Modeling ted AI: From Schema Assemblages to Neural Networks
Software, en Trends in Neuroscience, 1992; 15(11): 462- 1993: 19-20, Center for Neural Engineering, USC, Los An-
464. geles, CA.
7. Didday RL. A Model of Visuomotor Mechanisms in the Frog 22. Weitzenfeld A, Arkin RC, Cervantes-Perez F, Olivares R, Cor-
Optic Tectum, Math. Biosci 1976; 30: 169-180. bacho F. A Neural Schema System Architecture for Auto-
8. Dominey P, Arbib MA. A Cortico-Subcortical Model for Ge- nomous Robots, Proc. of 1998 International Symposium on
neration of Spatially Accurate Sequential Saccades, Ce- Robotics and Automation, Diciembre 1998: 12-14, Saltillo,
rebral Cortex, Marzo/Abril 1992; 2: 153-175. Coahuila, México.
9. Hodgkin AL, Huxley AF. A Quantitative Description of Mem- 23. Weitzenfeld A, Arkin RC, Cervantes-Perez F, Peniche JF. Vi-
brane Current and its Application to Conduction and Exci- sualization of Multi-level Neural-based Robotic Systems, 2nd
tation in Nerve, J. Physiol. London, 1952; 117: 500-544.
Conference on Visual Computing, Mexico, DF, Mexico.
10. Hopfield J. Neural Networks and Physical Systems with Emer-
1998: 20-24.
gent Collective Computational Abilities, Proc. Of the Na-
24. Weitzenfeld A, Arbib MA. NSL Neural Simulation Language,
tional Academy of Sciences 1982; 79: 2554-2558.
en Neural Network Simulation Environments, Ed. J. Skrzy-
11. House D. Depth Perception in Frogs and Toads: A study in
pek, Kluwer 1994.
Neural Computing, Lecture Notes in Biomathematics 80,
Springer-Verlag. 1985. 25. Weitzenfeld A, Arbib M, Cervantes F, Rudomin P, Alexander
12. McCulloch WS, Pitts WH. A Logical Calculus of the Ideas A. Multi-level Simulation Methodology: A Computational
Immanent in Nervous Activities, Bull. Math. Biophys 1943; and Experimental Approach to Neural Systems, NSF De-
5: 15-133. sign and Manufacturing Grantees Conference, Monterrey,
13. Murre J. Neurosimulators, e Handbook of Brain Theor y and Mexico, 1998: 651A-652A.
Neural Networks, Ed. Michael Arbib, MIT Press 1995. 26. Weitzenfeld A, Alexander A, Arbib MA. NSL - Neural Simula-
14. Ousterhout J. Tcl and the Tk Toolkit, Addison-Wesley. 1994. tion Language: System and Applications, MIT Press (en pre-
15. Rall W. Branching Dendritic Trees and Motoneuron Mem- paración) 2001.
brane Resistivity. Exp Neurol 1959; 2: 503-532. 27. Werbos P. Beyond Regression, New Tools for Prediction and
16. Rumelhart DE, Hinton GE, Williams RJ. Learning internal re- Analysis in the Behavioral Sciences, Tesis Doctoral, Harvard
presentations by error propagation, in Parallel Distributed University, Boston, MA. 1974.
Processing: Explorations in the Microstructure of Cognition 28. Wiskott L, Fellous JM, Krüger N, von der Malsburg C. Face
(D.E. Rumelhart, J.L. McClelland, and PDP Research Group, recognition by elastic bunch graph matching, IEEE Tran-
Eds.), vol. 1, Foundations, Cambridge, MA: MIT Press, 1986; sactions on Pattern Analysis and Machine Intelligence
318-362. 1997; 19(7): 775-779.

Вам также может понравиться