Download Introducción a los sistemas neuronales de procesado de la

Document related concepts

Red neuronal artificial wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Aprendizaje automático wikipedia , lookup

Red neuronal prealimentada wikipedia , lookup

Perceptrón wikipedia , lookup

Transcript
UPC
E.T.S.E.T.B. - Dept. Enginyeria Electrònica
Curso de Redes Neuronales Artificiales (1999-2000)
Introducción a los sistemas
neuronales de procesado
de la información (NIPS)
Autor: Sergi Bermejo
Responsable del curso: Joan Cabestany
1
Introducción a los sistemas neuronales de
procesado de la información (NIPS)
Sergio Bermejo
Department d’Enginyeria Electrònica
Universitat Politècnica de Catalunya (UPC),
Gran Capità s/n, Edifici C4 , 08034 Barcelona
e-mail: [email protected]
En todos los procesos de ingeniería existen problemas en los que no hay una teoría matemática que
sea capaz de tratar con ellos adecuadamente. Tradicionalmente, los ingenieros han intentado
resolver este tipo de problemas utilizando estrategias específicamente pensadas para cada problema
concreto con el que se enfrentaban. Con el paso del tiempo éstas han dado lugar a un conjunto de
técnicas de carácter heurístico más o menos estándar que en algunos casos proporcionan resultados
relativamente satisfactorios y en otros no tanto.
Afortunadamente se está en disposición de herramientas que pueden ayudar a construir de una
manera menos heurística y algo más sistemática, dispositivos que se enfrenten a este tipo de
problemas y ayuden a resolverlos (Fig. 1). Si podemos extraer de estos problemas medidas que
reflejen de alguna manera su comportamiento, podremos entonces construir con la ayuda de un
sistema de aprendizaje, un modelo o dispositivo que en determinadas condiciones reflejará aquellas
partes de la estructura computacional del problema en cuestión que no pueda ser resuelta con otro
tipo de técnicas más tradicionales. Debido a que las medidas pueden llevar asociadas consigo una
determinada incertidumbre, puesto que por ejemplo se han realizado con aparatos de precisión
limitada o bien el propio problema es susceptible de ser modelado en términos probabilísticos, lo
que se infiere de los datos es típicamente un modelo estadístico.
Los sistemas neuronales de procesado de la información (Neural Information Processing System),
también conocidos con el nombre de redes neuronales artificiales (Artificial Neural Networks),
pueden hacer razonablemente bien este tipo de trabajo. Son en su mayoría sistemas de aprendizaje
estadístico que pueden inferir de un conjunto de datos extraídos del problema a través de un
proceso de aprendizaje, estimadores de diferentes tipos de estadísticas que son almacenados en su
arquitectura.
La Figura 1 muestra ambas vertientes del problema con difícil modelización. En un caso a) el
diseñador debe escoger del conjunto de herramientas existentes aquellas más adecuadas para el
problema que debe tratar y plantear un diseño acorde con el problema y con la tecnología escogida.
En el otro b), si el diseñador dispone de una tecnología de aprendizaje además del conjunto de
herramientas tradicional, puede incorporar ésta en aquellas partes de su diseño en las que la
tecnología tradicional no ofrece buenas soluciones.
2
+HUUDPLHQWDV
HVWiQGDU
+HUUDPLHQWDV
HVWiQGDU
Dis eñador
6LVWHPD GH SURFHVDGR
GH OD LQIRUPDFLyQ
7HFQRORJtD GH
DSUHQGL]DMH
Char *output=
“United”;
Char *output=
“United”;
6LVWHPD KtEULGR
a)
b)
Figura .1.
1. Sistemas de procesado de la información. Los tres niveles de
Marr. Problemas mal definidos. Sistemas de aprendizaje.
En los sistemas de procesado de la información, las entradas deben ser tratadas de manera que
produzcan a la salida resultados útiles de acuerdo con el problema que se está tratando de resolver
(Fig. 2). Para construir estos sistemas nos podemos basar en algún paradigma válido para una
amplia gama de problemas de diseño, como por ejemplo el conocido análisis-síntesis-evaluación
(Brama, 1997), o por el contrario utilizar algún paradigma pensado más específicamente para el
diseño de este tipo de sistemas, como son los tres niveles de Marr (Marr, 1977) (cap. 1; Marr,
1982). Este paradigma es del tipo “top-down” en donde el diseño se divide en tres partes bien
diferenciadas (Fig. 3):
1. Formulación de una teoría computacional que describa el problema de información de
procesado que se pretende resolver
2. Definición de un algoritmo que actúa sobre un espacio de entrada y salida particulares
que implemente la teoría computacional definida
3. Construcción del algoritmo en una máquina física (software y/o hardware)
6LVWHPD GH SURFHVDGR
GH OD LQIRUPDFLyQ
Char *output=
“United”;
Figura 2. Un ejemplo de sistema de procesado de la información. En este sistema la entrada que es una
imagen binaria que contiene texto manuscrito debe de ser procesada de manera que a la salida el sistema
produzca los caracteres ASCII correspondientes a dicho texto.
3
Problema
bien definido
Conocimiento
teórico
Especificaciones:
•funciones
•restricciones
¿Qué?
Teoría
Computacional
¿Cómo?
Entrada Salida
algoritmo
Construcción
Física
H&S
Figura 3. Proceso de diseño en un sistema de procesado de información basado en los tres niveles de
Marr.
Pero, ¿qué sucede si la teoría que permite describir el problema a resolver no está completamente
desarrollada? Esto sucede con frecuencia en problemas de inteligencia artificial ya que estos son
problemas especialmente mal definidos debido a que pretenden emular capacidades cognitivas
humanas. Es evidente que ya no podemos diseñar de manera tan sistemática dispositivos que traten
con este tipo de problemas puesto que siempre habrá lagunas teóricas que nos impidan escribir de
manera directa los algoritmos necesarios.
En estas situaciones, es cuando los sistemas de aprendizaje entran a tomar protagonismo. Si no
podemos desarrollar una teoría sobre la totalidad (o parte) de nuestro problema de ingeniería que
nos permita construir un modelo algorítmico adecuado, podemos construirlo (el modelo) con la
ayuda de un aprendiz artificial. Este sistema puede extraer del conocimiento de que se disponga del
problema, un modelo que intente dar cuenta de su estructura computacional, por ejemplo, en forma
de medidas o bien de reglas que expertos que trabajan en el problema determinen. De esta manera
es posible construir sistemas de procesado de la información que históricamente han sido difíciles
de constituir. Aunque como ya se ha visto, esto será únicamente posible en aquellos problemas en
los que se disponga de un cierto conocimiento empírico (medidas, reglas). El sistema de
aprendizaje necesita este conocimiento empírico para construir de forma automática el algoritmo.
Ello resulta difícil o imposible de determinar de forma manual.
Así en problemas de difícil modelización y en los que se dispone de un
conocimiento empírico de los mismos, es todavía posible utilizar como paradigma
de diseño los tres niveles de Marr si insertamos un aprendiz artificial que haga el
papel de implementador automático de algoritmos (Fig. 4).
Es posible, sin embargo, que la solución del aprendiz deba ser revisada y posiblemente corregida a
través de un nuevo análisis del problema que ahora es más factible ya que se tiene un sistema físico
en funcionamiento, y que describe mejor el problema a resolver. De esta manera el diseño en este
tipo de sistemas es del tipo “meet-in-the-middle” (“top-down” y “bottom-up” a la vez).
4
Tecnología de
aprendizaje
Conocimiento
teórico
incompleto
Problema
mal definido
¿Qué?
Conocimiento
Teoría
computacional a priori
incompleta
Conocimiento
datos
empírico
Especificaciones:
•funciones
•restricciones
Char *output=
“United”;
Aprendiz
Datos de entrenamiento,
validación y prueba
Construcción
física.
H&S
Figura 4. Proceso de diseño en un sistema con aprendizaje.
2. NIPS (Neural Information Processing System).
Si como ingenieros debemos tratar con problemas de difícil modelización, que disponen de cierto
conocimiento empírico extraído de los mismos, es posible entonces utilizar un sistema de
aprendizaje como herramienta central integrada (“embedded”) en un diseño del tipo “meet-in-themiddle”. En la actualidad existen múltiples opciones a la hora de escoger sistemas de aprendizaje,
siendo una de las más importantes los sistemas neuronales de procesado de la información
(NIPS), también conocidos como sistemas conexionistas, redes neuronales artificiales (ANN) o
simplemente redes neuronales (RN).
Las ANN surgieron históricamente al crearse sencillos modelos matemáticos que intentaban
explicar el comportamiento a nivel macroscópico de los sistemas neuronales biológicos
(McCulloch, 1965). Desde entonces la relación entre los modelos neuronales artificiales y los
biológicos no sólo se ha mantenido sino que se ha ampliado. Así podemos encontrar que modelos
de redes neuronales artificiales, como el perceptrón multicapa o los mapas auto-organizativos de
Kohonen, se parecen a la computación realizada en el cerebro (p.2; Haykin, 1994) (Kohonen,
1987) (Anderson, 1995) debido fundamentalmente a (ver Fig. 5):
1. Su arquitectura masivamente paralela y distribuida formada por neuronas (nodos,
simples procesadores) conectadas entre sí dando lugar a una red,
2. Su conocimiento que es adquirido a través de un proceso de aprendizaje y
almacenado en las conexiones entre neuronas.
3. Su capacidad computacional que puede ser considerada como adaptativa, autoorganizada y asociativa.
Estas características hacen de ellos, sistemas atractivos para resolver problemas de inteligencia
artificial, ya que uno puede tener la esperanza de que el comportamiento de las ANN se parezca al
del cerebro. Aunque es necesario decir que el hecho de definir la computación neuronal artificial
como un proceso de computación similar al del cerebro es claramente incompleto y puede inducir a
importantes errores de apreciación en cuanto a las posibilidades reales de estos dispositivos. Se
hace necesario definir su estilo de computación en términos menos especulativos y más
5
matemáticos.
Ante todo las ANN geometrizan la computación. Estos sistemas utilizan representaciones internas
numéricas para tratar con los estímulos que reciben y producir sus respuestas, construyendo
transformaciones entre diferentes espacios multidimensionales numéricos para poder asociar de
manera adecuada los estímulos de entrada con respuestas adecuadas en el espacio de salida. Así si
asociamos a cada espacio multidimensional una norma, la neurocomputación puede entenderse
dentro de un marco vectorial. Los números se transforman entonces en vectores y el
comportamiento interno (o a nivel microscópico) de las ANN se puede interpretar
geométricamente (Fig. 6).
Arquitectura
.5
.5
X
5.2
.9
.8
-.8
1
-2.5
.2
Y
1
.5
1
Problema
mal definido
datos
HQWUDGD QHXURQD
FRQH[LyQ VDOLGD
Algoritmo de
aprendizaje
Figura 5. Las redes neuronales artificiales. Elementos y Características.
A nivel macroscópico estos sistemas se pueden considerar en la mayoría de los casos como
procesadores estadísticos de la información (Fig. 7). Es decir, suelen inferir (habitualmente de
manera no paramétrica) a partir de los datos, determinadas estadísticas pertenecientes a los
vectores aleatorios que conforman los espacios de entrada y salida. Cabe decir que la computación
en términos estadísticos resulta un marco adecuado, puesto que para construir su solución, estos
sistemas deben descubrir las regularidades o relaciones existentes entre los datos, que
habitualmente muestran un cierto grado de ambigüedad. Así nos podemos encontrar que cada vez
con mayor frecuencia las ANN son presentadas y estudiadas en un marco eminentemente
estadístico (Bishop, 1995)(Jordan, 1996)(Bishop, 1996)(Ripley, 1997), aunque cabe decir que este
tratamiento no es novedoso (Nilsson, 1965) (Duda, 1973).
6
–1(x)
...
...
x
H
w1
–M(x)
g(x)
wM
+
τ(g(x))
M
–
x
g>0
V
v
τ
g
dH
X
-∞
g>0
+∞
a
b
wM+1
g(x)= ∑wi φi (x)+wM+1
&
H’
f(x)
&
&
( )=
g v
(v& )
 d

H
− d

i=1
&
&
&
w
(v )
si v
&
w
T
&
w + w
&
si v
&
T
M +1
w + w
H
≥ 0
M +1
< 0
Figura 6. Las ANN como procesadores geométricos.
X
.
.
^
P(j/X)
.
.
.
.
.
.
^
P(Ci/X)
^
P(Ci/J)
Figura 7. Las ANN como procesadores estadísticos.
2.1. Elementos.
Los elementos de los que constan las ANN son los siguientes (Rumelhart, 1986):
•
•
•
•
unidades de procesado (neuronas) que siguen un modelo de activación determinado
(modelo neuronal)
una forma de conexión entre las unidades y una regla de propagación a través de esas
unidades (arquitectura de la red)
una regla de aprendizaje (algoritmo de aprendizaje) que modifique a partir de la
experiencia las conexiones entre unidades y/o los parámetros ajustables de las neuronas
una conexión de la red a través de un conjunto de entradas y salidas con el entorno
dentro del cual debe operar
2.1.1. Modelos neuronales.
Una neurona o nodo es el elemento de procesado de información básico dentro de una red
neuronal. En general existen muchos modelos neuronales diferentes ya que en la actualidad se ha
desarrollado un amplio trabajo en este campo. No obstante hay algunos modelos que son los más
conocidos ya que son los más utilizados para una gran parte de aplicaciones. De entre estos
destacamos los siguientes:
7
1. el modelo perceptrón
&
&
&
M
f (x ) = τ (g ); donde g (x ) = ∑ wi φ i (x ) + w M +1 (1)
i =1
2. el modelo basado en la distancia de Mahalanobis
&
&
&
&
&
&
f (x ) = τ (g ); donde g (x ) = (x − w ) A(x − w ) (2)
...
x
.
.
w1
...
X
–1(x)
–M(x)
M
T
g(x)
+
wM
wM+1
g (x ) = ∑ w φ (x ) + w
&
&
i
M +1
i
i =1
τ(g(x))
f(x)
τ 1 (g ) = g ; lineal
k
τ 2 (g ) =
sigmoide
−β ;
+
1 e g
+ 1 si g ≥ 0
τ 3 (g ) = 
; escalón
− 1 si g < 0
Figura 8. Neurona del tipo perceptrón.
X
.
.
x
&
w, A
g(x)
τ(g(x))
f(x)
&
& & T
& &
g (x ) = (x − w) A(x − w) τ 1 (g ) = g ; lineal
τ 2 (g ) = e − βg ; exp onencial
Figura 9. Neurona basada en la distancia de Mahalanobis.
2.1.2. Arquitecturas de red.
Una vez elegido el tipo de neuronas o nodos, es necesario adoptar una topología determinada en el
conexionado entre las neuronas y una forma de propagar las señales a través de la red resultante.
Una manera habitual de estructurar las neuronas es organizarlas en capas interconectadas entre
ellas. Puesto que suelen implementarse de manera digital, su activación es síncrona es decir se
propagan a la vez todas las señales de una capa a la siguiente y así sucesivamente. En este marco
nos podemos encontrar al menos con cuatro tipos de arquitectura de red:
8
1. Red “feedforward” de una sola capa. El tipo de red más simple, organizada en forma de
capas, es aquella que tiene una única capa de neuronas (Fig.10). En ella hay una capa de
entrada formada por nodos de entrada que se proyecta a la capa de salida, pero no al revés. Es
decir la red proyecta sus conexiones únicamente de entrada hacia salida.
X
.
.
.
.
.
.
.
.
f(X)
Figura 10. Arquitectura de red feedforward de una sola capa.
2. Red “feedforward” de más de una capa. En este tipo de redes feedforward hay una o más
capas ocultas (Fig. 11). La función de las neuronas ocultas es intervenir entre la señal de
entrada externa y la red de salida proporcionando al sistema un mayor poder computacional.
Estas redes pueden estar totalmente conectadas, es decir todo nodo de una capa se conecta a
todo nodo de la siguiente capa, o no.
X ..
...
.
.
.
.
.
.
Capa
Capa de Capa
entrada oculta #1 oculta #2
.
.
.
.
.
.
f(X)
Capa de
Salida
Figura 11. Arquitectura de red feedforward de más de una capa.
3. Red recurrente. Se distingue de la red feedforward debido a que tiene al menos un bucle de
retroalimentación, es decir alguna salida de algún nodo esta conectado hacia atrás (Fig.12).
4. Red “winner-takes-all”. En estas redes de una única capa existen conexiones laterales de
inhibición que hacen que para cada patrón de entrada se active una única neurona (Fig.13).
9
.
X .
z −1
.
.
.
.
.
.
.
.
...
.
.
.
f(X)
.
.
z −1
Figura 12. Arquitectura de red recurrente.
X ..
Capa de
entrada
.
.
.
. f(X)
.
.
Capa de
Salida
Inhibición lateral
Figura 13. Arquitectura winner-takes-all.
2.2. Aprendizaje.
Una de las capacidades que hacen atractivas a las ANN es su capacidad para aprender de su
entorno y mejorar su respuesta de acuerdo con alguna medida predefinida a través de un proceso
de aprendizaje, que se da a lo largo del tiempo.
Aprender significa básicamente que la red sufre un cambio de parámetros. Mientras dura el
aprendizaje los parámetros libres de la red se adaptan a través de un proceso de estimulación del
entorno en el que la red está inmersa (p.45; Haykin, 1994). El objetivo de dicho cambio es mejorar
su respuesta al entorno que se cuantificará con la medida de que el algoritmo de aprendizaje
dispone.
2.2.1. Paradigmas de aprendizaje.
Existen diferentes tipos de aprendizaje que identifican diferentes maneras de relacionarse con el
entorno. Destacamos las tres clases básicas de paradigmas de aprendizaje:
•
Aprendizaje supervisado. El elemento esencial del aprendizaje supervisado es que se dispone
de un maestro externo. En términos prácticos esto significa que el sistema tiene un
conocimiento del entorno, representado a través de un conjunto de ejemplos de entrada y salida
{(xi, yi)}. El objetivo del proceso de aprendizaje es la construcción de una solución con las
muestras extraídas del entorno que refleje su estructura computacional. Así el algoritmo de
10
aprendizaje irá pasando repetidas veces el conjunto de muestras por la red de manera que esta
consiga reproducir para cada muestra de entrada xi, la deseada respuesta yi. Para ello se
dispondrá de una función que evalúe en cada instante lo bien o lo mal que la red consigue
reproducir la salida deseada, adaptándose de forma que cada vez la red reproduzca mejor el
conjunto de muestras (Fig.14).
Xi ..
...
.
.
.
.
.
.
.
.
.
.
.
.
f(Xi)
yi
datos
Algoritmo de
aprendizaje
+
+
ei
T={(x i ,y i )}
i=1..N
Figura 14. Aprendizaje supervisado. Diagrama de bloques.
•
Aprendizaje de refuerzo. En un aprendizaje en línea de una función a través de un proceso de
prueba y error diseñado para maximizar una medida de la respuesta del tipo escalar denominada
señal de refuerzo. A diferencia del aprendizaje supervisado, aquí se dispone de {(xi)} y de un
crítico que nos proporciona en cada instante la señal de refuerzo ri. Así el sistema deberá
ejecutar una acción sobre el entorno para una entrada xi y esperar la respuesta del crítico en
forma de la señal ri que le indicará si el sistema está ejecutando la acción correcta o no.
Entonces el sistema únicamente se adaptará si no está respondiendo de manera correcta al
estímulo de entrada (Fig.15).
11
Xi ..
...
.
.
.
.
.
.
.
.
.
Algoritmo de
datos
ei
aprendizaje
f(Xi)
.
.
.
Crítico
xi
T={(x )}
i
i=1..N
Figura 15. Diagrama de bloques del aprendizaje de refuerzo.
•
Aprendizaje no supervisado o auto-organizado. En el aprendizaje auto-organizado no existe
ningún maestro ni señal de refuerzo. Unicamente se dispone de un conjunto de muestras {(xi)}
pertenecientes al espacio de entrada. El sistema se adapta a estas muestras de acuerdo con una
medida que representa la calidad de representación de la red del espacio de entrada (Fig.16).
•
Xi ..
datos
...
.
.
.
.
.
.
.
.
.
.
.
.
f(Xi)
Algoritmo de
aprendizaje
T={(x i )}
i=1..N
Figura 16. Diagrama de bloques del aprendizaje no supervisado o auto-organizado.
2.2.2. Tareas a aprender.
La elección de un paradigma de aprendizaje viene bastante condicionada por el tipo de tarea que
debe la red neuronal aprender. Algunas de estas tareas o problemas a resolver pueden ser las que
12
siguen:
1. Aproximación de funciones. Dada una función no lineal desconocida y=f(x)
representada por un conjunto de muestras {(xi,yi)}, el problema consiste un construir un
estimador de f.
2. Asociación. Existen dos formas de asociación: heteroasociación y autoasociación. En el
primer tipo se pide que la red asocie un conjunto de pares entrada-salida {(xi,yi)},
mientras que en la segunda que sea capaz de recuperar a la salida versiones ruidosas del
conjunto de muestras {(xi)} que se le presenten.
3. Clasificación de patrones. En los procesos de clasificación, los patrones (o vectores) de
entrada deben de asignarse a un número fijo de clases. Se dispone de un conjunto de
patrones etiquetados (se indica a que clase pertenecen) {(xi,equiqueta de clasei)} y se pide
la construcción, a partir de dichos datos, de un clasificador que asigne correctamente
futuros patrones de entrada a la clase que pertenecen con la mínima probabilidad de error
posible.
4. Control. En este caso existe una planta a controlar que puede ser definida como
{x(t),y(t)} donde x(t) es el control de entrada e y(t) es la salida de la planta resultante. El
objetivo es construir un controlador de esta planta.
2.3. Ventajas de los NIPS.
El uso de las redes neuronales permite aprovecharse de algunas de las intrínsecas características
asociadas a estos dispositivos:
1. No-linealidad. Las neuronas o los nodos que forman parte de las redes son esencialmente
elementos no lineales. De esta manera la red resultante también lo es. Históricamente la
mayoría de los sistemas de procesado de la información han sido construidos utilizando
dispositivos lineales, ya que han resultado más fáciles de estudiar y construir aunque por
ello ciertos problemas intrínsecamente no lineales no han podido ser suficientemente bien
tratados. Por consiguiente las redes neuronales pueden rellenar aquellos vacíos que los
sistemas de procesado lineales no han podido ocupar.
2. Capacidad de estimación libre de modelo. Las ANN pueden estimar una función sin
necesidad de conocer un modelo matemático que nos diga de que manera las salidas
dependen de las entradas. De hecho muchos modelos neuronales pueden ser estudiados
dentro de la inferencia estadística no paramétrica, ya que estiman a partir de los datos
diferentes estadísticas sin asumir un modelo probabilístico concreto.
3. Autoprogramación. Como comentábamos anteriormente estos sistemas construyen ellos
mismos un algoritmo a partir de datos empíricos extraídos del problema. Por lo tanto, no
necesitan disponen de un algoritmo prefijado para el problema, sino que exploran los
datos e infieren gracias a ellos un algoritmo. En fin, se autoprograman. De esta manera es
posible construir soluciones a problemas para los que la definición manual de un algoritmo
13
resulta insatisfactorio (y algunas veces es imposible).
4. Tolerancia a fallos. Habitualmente podemos encontrar que en muchas redes neuronales
la degradación de su respuesta frente a condiciones adversas (por ejemplo en caso de que
algunas conexiones o neuronas fallen) no es abrupta sino suave. Es decir a medida que
van fallando más partes la respuesta se ha degradando poco a poco.
5. Paralelismo masivo. Debido a la naturaleza masivamente paralela de los modelos
neuronales es posible acelerar considerablemente el cálculo que deben realizar. Además
esta misma característica les hace candidatos ideales para ser implementados utilizando
tecnología VLSI.
Referencias
(Anderson, 1995) Anderson, James A. "An Introduction to Neural Networks", MIT Press, 1995
(Bishop, 1995) Bishop, Christopher M. "Neural Networks for Pattern Recognition", Oxford
University Press, 1995
(Bishop, 1996) Bishop, Christopher M. "Theoretical Foundations of Neural Networks", Technical
Report: NCRG/96/024, Aston University, also as Physics Computing '96, Krakow, Poland, 1996
(Brama, 1997) Brama, Dan and Maimon, Oded. "The Design Process: Properties, Paradigms, and
Structure", IEEE Transactions on Systems, Man, and Cybernetics- Part A: Systems and Humans.
Vol. 27, No.2, p. 146-66, March 1997
(Duda, 1973) Duda, R.O. & Hart, P.E. "Pattern Classification and Scene Analysis", WileyInterscience, 1973
(Haykin, 1994) Haykin, Simon. "Neural Networks. A Comprensive Foundation", IEEE Press,
1994
(Jordan, 1996) Jordan, Michael I. & Bishop, Christopher M. "Neural Networks", A.I. Memo No.
1562, Artificial Intelligence Laboratory, MIT, 1996
(Kohonen, 1987) Kohonen, Teuvo. "Adaptive, associative, and self-organizing functions in neural
computing", Applied Optics, Vol. 26, No. 23, 1 December 1987
(Marr, 1977) Marr, David. "Artificial Intelligence- A Personal View", Artificial Intelligence, Vol. 9,
p. 37-48, 1977
(Marr, 1982) Marr, David. "Vision- A Computational Investigation into the Human Representation
and Processing of Visual Information", Freeman, 1982
14
(McCulloch, 1965) McCulloch, Warren S. "Embodiments of Mind", MIT Press, 1965
(Nilsson, 1965, 1990) Nilsson, Nils J. "The Mathematical Foundations of Learning Machines",
Morgan Kaufmann, 1990
(Ripley, 1997) Ripley, B.D. "Can Statistical Theory Us Use Neural Networks Better?",
Proceedings of the Interface '97, 29th Symposium on the Interface: Computing Science and
Statistics, 1997
(Rumerhart, 1986) Rumelhart, D.E., Hinton, G.E. & McClelland, J.L. "A General Framework for
Paralle Distributed Processing" en "PDP: Explorations in the Microstructure of Cognition", Vol 1:
Foundations, MIT Press, 1986
15