Download 2 Introducción a las redes neuronales

Document related concepts

Red neuronal artificial wikipedia , lookup

Red neuronal prealimentada wikipedia , lookup

Teoría hebbiana wikipedia , lookup

Perceptrón wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Transcript
2
Introducción a las redes neuronales
2.1
¿Qué es una red neuronal?
Trabajar con redes neuronales artificiales, comúnmente llamadas ‘redes neuronales’, ha sido
motivado desde el principio por la forma diferente de actuación del cerebro frente al computador
digital tradicional. A principios del siglo XX, el trabajo del científico Ramón y Cajal supuso un
gran avance para entender el comportamiento del cerebro introduciendo las neuronas como
constituyentes estructurales del mismo. Aunque normalmente las neuronas son cinco o seis órdenes
de magnitud más lentas que las puertas lógicas de silicio, el cerebro compensa esta relativa lenta
velocidad de operación de una neurona, teniendo un gran número de ellas con masivas
interconexiones entre las mismas; a estas interconexiones se les llama sinapsis. Así, se estima que
existen unos 10 billones de neuronas en el cerebro humano estableciendo unas 60 trillones de
sinapsis o conexiones entre ellas.
El cerebro es un sistema de procesamiento de información altamente complejo, no lineal y
paralelo. Éste posee la capacidad de organizar neuronas así como de realizar ciertas operaciones,
tales como reconocimiento espacial y temporal de patrones, memoria o visión, que las
computadoras digitales no son capaces de llevar a cabo con precisión. Para conseguir esta
eficiencia, el cerebro basa su trabajo en las sinapsis, que son las unidades estructurales y
funcionales que median las interacciones entre neuronas. La clase más común de sinapsis es una
sinapsis química, la cual opera como sigue. Un proceso presináptico libera una sustancia
transmisora que se difunde a través de la unión sináptica y luego actúa en un proceso postsináptico.
En las tradicionales descripciones de organización neuronal, se asume que una sinapsis es una
conexión simple que puede causar excitación o inhibición, pero no ambas cosas, en la neurona
receptora.
El desarrollo neuronal va íntimamente unido a una característica del cerebro que es la
plasticidad, la cual permite el desarrollo del sistema nervioso para adaptarse a su entorno. En un
cerebro adulto, la plasticidad puede ser expresada mediante dos mecanismos: la creación de nuevas
conexiones sinápticas entre neuronas y la modificación de sinapsis ya existentes. Así, la plasticidad
parece ser esencial para el funcionamiento de neuronas como unidades de procesamiento de
información en el cerebro humano, constituyendo con sus conexiones las redes neuronales.
Podemos, así pues, establecer la siguiente definición de red neuronal:
Una red neuronal es un procesador distribuido, con elevada capacidad de cálculo en
paralelo y con una tendencia natural a almacenar conocimiento experimental y hacerlo
disponible para su uso. Se asemeja al cerebro en dos cosas:
1. El conocimiento es adquirido por la red a través de un proceso de aprendizaje.
2. La fuerza de la conexión entre neuronas se mide con los pesos sinápticos, que son usados
para almacenar el conocimiento.
El procedimiento usado para realizar el proceso de aprendizaje se llama algoritmo de
aprendizaje y la función que tiene es la de modificar los pesos sinápticos de la red de acuerdo a
llegar a alcanzar un objetivo de diseño deseado.
1
El poder de cálculo de las redes neuronales se debe, primero, a su estructura distribuida
paralela con gran número de neuronas y, segundo, a su habilidad para aprender y luego generalizar;
la generalización se refiere a que la red neuronal produce salidas razonables para entradas no
sometidas al entrenamiento (fase de aprendizaje). Esas dos capacidades de procesamiento de
información le hace posible a las redes neuronales resolver complejos problemas que son
frecuentemente inabordables. En la práctica, sin embargo, las redes neuronales no proporcionan la
solución trabajando por sí mismas, sino que el problema complejo se descompone en tareas más
simples y estas redes son asignadas a subconjuntos de las tareas.
El uso de redes neuronales ofrece las siguientes propiedades y capacidades:
1. No linealidad.
Una neurona es, básicamente, un dispositivo no lineal, por lo que una red neuronal,
constituida por una interconexión de neuronas, es también no lineal. La no linealidad es una
propiedad muy importante, sobre todo si el mecanismo físico responsable de la generación de una
señal (la señal de voz, por ejemplo) es inherentemente no lineal.
2. Mapeado entrada-salida.
Un popular paradigma de aprendizaje llamado aprendizaje supervisado conlleva la
modificación de los pesos sinápticos de una red neuronal aplicando un paquete de datos conocido
como muestras de entrenamiento. Cada ejemplo consiste en una única señal de entrada y la
correspondiente respuesta deseada. Se modifican los pesos de la red neuronal para conseguir
minimizar la diferencia entre la respuesta deseada y la real de la red (la obtenida a partir de la señal
de entrada tras pasar por la red neuronal). El entrenamiento de la red es repetido con tantos
ejemplos como sean necesarios para que ésta alcance un estado estable en el que los pesos
sinápticos no se vean modificados seriamente. De este modo, la red aprende de los ejemplos
construyendo un mapeado entrada-salida para el problema en cuestión.
3. Adaptabilidad.
Las redes neuronales tienen una capacidad intrínseca para adaptar sus pesos sinápticos a
cambios en el entorno. En particular, una red neuronal entrenada para operar en un entorno
específico puede ser entrenada de nuevo para conseguir que existan menos cambios en las
condiciones de operación. Sin embargo, esta adaptabilidad no siempre conduce a una mayor
robustez.
4. Respuesta indicativa.
En el contexto de patrones de clasificación, una red neuronal puede ser diseñada para
proporcionar información, no sólo sobre qué particular patrón seleccionar, sino también sobre la
seguridad en la decisión tomada. Esta información puede ser usada más tarde para rechazar
patrones antiguos.
5. Información contextual.
El conocimiento está representado por la estructura y estado de activación de una red
neuronal. Cada neurona en la red está potencialmente afectada por la actividad global de todas las
demás neuronas de la red. En consecuencia, la información contextual es tratada con naturalidad por
una red neuronal.
2
6. Tolerancia a fallos.
Una red neuronal, implementada físicamente es tolerante a fallos en el sentido de que, a
pesar de que algunas de sus neuronas o interconexiones estén dañadas, el rendimiento total no se ve
seriamente afectado.
7. Implementabilidad como VLSI.
La naturaleza masivamente paralela de una red neuronal la hace potencialmente rápida
para el cálculo de ciertas tareas. Este hecho hace que una red neuronal sea ideal para ser
implementada usando tecnología VLSI (very large scale integrated), fundamentalmente como una
herramienta para aplicaciones en tiempo real tales como reconocimiento de patrones, procesamiento
de señal o control.
8. Uniformidad en el análisis y en el diseño.
Esta uniformidad se manifiesta en el uso de la misma notación en todos los ámbitos que
impliquen el uso de redes neuronales, lo cual se manifiesta en la compartición de teorías y
algoritmos de aprendizaje y en la posibilidad de crear redes modulares a partir de la integración de
diversos módulos.
9. Analogía neurobiológica.
El diseño de una red neuronal es motivado por analogía con el cerebro humano. De este
modo, los neurobiólogos ven a las redes neuronales como herramientas para la interpretación de
fenómenos neurobiológicos.
2.2
Modelos de una neurona
Una neurona es una unidad de procesamiento de información fundamental para la operación
de una red neuronal. En la figura (2.1) mostramos el modelo de una neurona.
Podemos identificar tres elementos básicos en el modelo de una neurona, los cuales son
descritos aquí:
1. Un conjunto de conexiones sinápticas, cada una de ellas caracterizado por un peso.
Estrictamente, una señal xj, en la entrada de la sinapsis j conectada a la neurona k, es multiplicada
por el peso sináptico wkj. Es importante hacer notar la manera en que los subíndices de wkj están
escritos. El primer subíndice hace referencia a la neurona en cuestión y el segundo se refiere a la
entrada a la sinapsis. El peso wkj es positivo si la sinapsis asociada es excitatoria, y negativo si es
inhibidora.
2. Un sumador para sumar las señales de entrada, pesadas por las respectivas sinapsis de la
neurona; las operaciones descritas aquí constituyen un combinador lineal.
3. Una función de activación para limitar la amplitud de la salida de la neurona.
3
Señales de
entrada
x1
wk1
x2
wk2
.
.
.
.
.
.
xp
wkp
uk
(·)
Salida
yk
Umbral
k
Pesos
sinápticos
Figura 2.1 Modelo no lineal de una neurona
En términos matemáticos, podemos describir una neurona k escribiendo el siguiente par de
ecuaciones:
uk =
p
wkj - xj
(2.1)
j=1
y
yk = (uk –
k)
(2.2)
donde x1, x2, … , xp son las señales de entrada; wk1, wk2, … , wkp son los pesos sinápticos de la
neurona k; uk es la salida del combinador lineal; k es el umbral (o threshold); (·) es la función de
activación; e yk es la señal de salida de la neurona.
2.2.1 Tipos de funciones de activación
La función de activación, denotada por (·), define la salida de una neurona en términos de
nivel de actividad a su entrada. Podemos identificar tres tipos básicos de funciones de activación:
1. Función threshold. Para esta función tenemos, usando la salida de la neurona k como
función threshold, la siguiente expresión:
(v) =
1
si vk 0
0
si vk 0
(2.3)
4
donde vk es el nivel de actividad interno de la neurona k, definido por:
vk =
wkjxj -
(2.4)
k
2. Función lineal a trozos. Se define con la expresión siguiente:
(v) =
1,
v
½
v,
½ >v>½
0,
v
(2.5)
-½
Este tipo de función de activación puede ser visto como una aproximación a un
amplificador no lineal. Veamos dos tipos especiales de función lineal a trozos:
1) Un combinador lineal que surge en la zona lineal de operación es mantenido sin
entrar en saturación.
2) La función lineal a trozos se reduce a una función threshold si el factor de
amplificación de la región lineal es muy grande.
3. Función sigmoide. Es la función de activación más usada en la construcción de redes
neuronales artificiales. Se define como una función estrictamente creciente que presenta
propiedades asintóticas y de suavidad. Un ejemplo de sigmoide es la función logística,
determinada por la siguiente expresión:
ϕ (v ) =
1
1 + exp(− av)
(2.6)
donde a es el parámetro de pendiente de la función sigmoide. Variando el parámetro a,
obtenemos funciones sigmoides de diferentes pendientes. En el límite, cuando el
parámetro de pendiente es infinito, la función sigmoide se convierte en una threshold.
Mientras que una función threshold vale 0 ó 1, la sigmoide tiene un rango continuo de
valores entre 0 y 1. Además, la sigmoide es una función diferenciable, mientras que la
threshold no lo es.
2.3
Arquitecturas de red
La manera en la que las neuronas de una red neuronal están estructuradas está íntimamente
relacionada con el algoritmo de aprendizaje empleado para entrenar la red. En general,
identificamos cuatro clases diferentes de arquitecturas de red, que explicamos a continuación:
5
2.3.1
Redes monocapa
Una red neuronal por capas es una red de neuronas organizadas en capas. En la forma más
simple de una red por capas, tenemos una capa de entrada de nodos fuente que se proyecta en una
capa de salida. En otras palabras esta estructura es del tipo realimentada (feedforward). En la figura
(2.2) se muestra esta estructura para el caso de cuatro nodos en las capas de entrada y salida. Esta
red se conoce como red de capa simple, refiriéndose capa simple a la capa de salida de nodos de
computación. Es decir, no consideramos la capa de entrada ya que en ella no se produce
computación alguna.
Como aplicación de este tipo de red neuronal tenemos, por ejemplo, a la memoria asociativa
lineal, en la que la red asocia un patrón de salida a un patrón de entrada (ambos son vectores) y la
información se va almacenando por medio de las modificaciones realizadas a los pesos sinápticos
de la red.
Figura 2.2 Red monocapa feedforward
2.3.2
Redes multicapa
La segunda clase de red neuronal feedforward existente se caracteriza por la presencia de
una o más capas ocultas, cuyos nodos de computación se llaman neuronas ocultas. La función de
las neuronas ocultas es intervenir entre la entrada externa y la salida de la red. Añadiendo una o más
capas ocultas, la red es capaz de extraer estadísticas de orden más alto, lo que es realmente útil
cuando el tamaño de la capa de entrada (número de nodos que posee) es grande.
Los nodos fuente en la capa de entrada de la red suministran los elementos del patrón de
activación (vector de entrada), lo que constituye el conjunto de señales de entrada aplicadas a las
neuronas (nodos de computación) en la segunda capa (es decir, la primera capa oculta). Las salidas
de la segunda capa son usadas como entradas de la tercera, y así para el resto de la red hasta llegar a
la capa de salida. Generalmente, por tanto, las neuronas de cada capa de la red tienen como
entradas las salidas de la capa anterior. El conjunto de señales de salida de las neuronas de salida
6
(capa final) de la red constituye la respuesta global de la red a las señales suministradas a la capa de
entrada.
Figura 2.3 Red multicapa feedforward completamente conectada
Por último, podemos decir que la red mostrada en la figura (2.3) es una red completamente
conectada en el sentido de que cada nodo de cada capa está conectado con todos los nodos de la
capa adyacente. Sin embargo, si algunas de las sinapsis se pierden, decimos que la red está
parcialmente conectada.
2.3.3 Redes recurrentes
Una red neuronal recurrente se distingue de una red neuronal feedforward en que posee, al
menos, un lazo realimentado. Así, por ejemplo, puede consistir en una capa simple de neuronas en
la que cada neurona realimenta su salida a las entradas de todas las otras neuronas, como se refleja
en la figura (2.4). En esta figura no se observan lazos de realimentación de una neurona a sí misma,
así como que no existen capas ocultas.
Los lazos de realimentación conlleva el uso de unidades de retrazo (z-1) que originan un
comportamiento dinámico no lineal, el cual juega un papel clave en la función de almacenamiento
de información de una red recurrente.
7
z-1
z-1
z-1
z-1
Unidades
de retraso
Figura 2.4 Red recurrente sin lazos realimentados a sí mismos ni capas ocultas
2.3.4 Estructuras Lattice
Este tipo de estructura consiste en un array de neuronas de una, dos o más dimensiones, con
un correspondiente paquete nodos fuente que proporcionan las señales de entrada al array; la
dimensión de esta estructura es la del espacio en el que se dibuja. En la figura (2.5) se muestra un
lattice unidimensional de tres neuronas alimentadas desde una capa de tres nodos fuente, mientras
que en la figura (2.6) se describe un lattice bidimensional de tres neuronas por capa, alimentadas
por tres nodos fuente. En ambas figuras podemos ver que cada nodo fuente está conectado a cada
neurona. Así pues, vemos que una red lattice es, en realidad, una red feedforward con las neuronas
de salida dispuestas en filas y columnas.
2.4
Representación del conocimiento
Lo primero que vamos a hacer en este apartado es definir lo que es el conocimiento.
Podemos realizar la siguiente definición genérica:
El conocimiento se refiere a la información almacenada o modelos usados por una
persona o máquina para interpretar, predecir y responder adecuadamente al mundo
exterior.
8
Capa
de
entrada
Figura 2.5 Estructura Lattice unidimensional
Capa
de
entrada
Figura 2.6 Estructura Lattice multidimensional (bidimensional)
Las principales características de la representación del conocimiento son qué información
está explícita y cómo la información es codificada físicamente para su posterior uso. En el mundo
de las máquinas inteligentes, se puede decir que una buena solución depende de una buena
representación del conocimiento. Así es con las redes neuronales, que representan una clase
especial de máquinas inteligentes. Sin embargo, generalmente, las posibles formas de
representación desde las entradas hasta los parámetros de red internos son muy diversas, lo que
tiende a provocar el desarrollo de una solución satisfactoria por medio de un diseño real de una red
neuronal.
Una tarea principal para una red neuronal es aprender un modelo del entorno que la rodea y
mantenerlo suficientemente consistente para así alcanzar los objetivos específicos de la aplicación
de interés. El conocimiento del mundo consta de dos clases de información:
9
1. Información a priori. La introducimos cuando usamos una determinada arquitectura de
red neuronal para una aplicación concreta.
2. Observaciones (medidas). Estas observaciones, inherentemente ruidosas, nos
proporcionan los ejemplos necesarios para realizar el entrenamiento de la red neuronal.
Cada ejemplo consta de un par entrada-salida: una señal de entrada y la correspondiente
respuesta deseada para la red neuronal. Así, un conjunto de ejemplos representa el conocimiento
acerca del entorno de interés. Consideremos, por ejemplo, el problema del reconocimiento de
dígitos escritos a mano, en el que la entrada consiste en una imagen de píxeles blancos y negros; en
cada imagen se representa uno de los diez dígitos posibles. Es decir, en este caso, la entrada es la
imagen y la salida es la identidad del dígito. Dado dicho paquete de ejemplos, el diseño de una red
neuronal puede proceder como sigue:
· Primero, se selecciona una arquitectura apropiada para la red neuronal, con una capa de
entrada consistente en un número de nodos fuente igual que el número de píxeles de una
imagen de entrada y una salida de diez neuronas (una por dígito). Posteriormente se entrena
la red con un conjunto de ejemplos por medio de un algoritmo apropiado. Esta fase es la
fase de aprendizaje.
· Segundo, para comprobar si el entrenamiento de la red ha sido bueno, se introduce datos
que no estaban en el paquete de datos de la fase de entrenamiento. Aquí se presenta una
imagen a la red, la cual, por comparación con imágenes introducidas en el entrenamiento,
ha de saber de qué dígito se trata. Esta fase se denomina fase de generalización.
En una red neuronal, que posea una arquitectura específica, la representación del
conocimiento del entorno circundante queda definida por los valores que toman los parámetros
libres de la misma, es decir, por los pesos sinápticos y por los umbrales.
2.4.1
Reglas para la representación del conocimiento
Hay cuatro reglas para la representación del conocimiento, que son de sentido común. Estas
cuatro reglas se describen a continuación:
a) Regla 1: entradas similares de clases similares deben producir representaciones similares
en la red, y deben, por lo tanto, ser clasificadas como pertenecientes a la misma categoría.
Hay muchas medidas para determinar la similitud entre entradas, pero la más
comúnmente usada se basa en el concepto de distancia Euclídea. Así definimos un punto en
un espacio N-dimensional llamado espacio Euclídeo (RN) como
xi = [xi1, xi2, ... , xiN]T
(2.7)
Podemos definir la distancia Euclídea entre dos vectores genéricos xi y xj de la siguiente
forma:
10
dij = ||xi - xj|| = [
N
(xin - xjn)2]1/2
(2.8)
n=1
donde xin y xjn son los enésimos elementos de los vectores de entrada xi y xj
respectivamente. Mientras más cercanos estén los vectores xi y xj el uno del otro, menor será
la distancia Euclídea dij y aumentará, por lo tanto, la similitud entre ambos vectores.
Otra medida de similitud está basada en la idea del producto interno, que, dados los
vectores xi y xj, se define como:
xiTxj =
N
xinxjn
(2.9)
n=1
Estas dos medidas de similitud definidas aquí están íntimamente relacionadas, como se
puede ver en la siguiente figura:
xi
xiTxj
||xi-xj||
xj
Figura 2.7 Relación entre el producto interno y la distancia Euclídea
b) Regla 2: elementos que no pertenezcan a la misma clase deben dar diferentes
representaciones en la red.
c) Regla 3: si una característica particular es importante, debe haber un elevado número de
neuronas involucradas en su representación dentro de la red.
d) Regla 4: la información prioritaria y las invarianzas se deben incluir en el diseño de una
red neuronal, de forma que la red se simplifica ya que no tiene que aprenderlas. Así, la red
se diseña pensando en una determinada aplicación con características conocidas, lo que
lleva a una estructura especializada.
2.4.2
Cómo incluir información a priori en el diseño de una red neuronal
Un importante tema a tratar es cómo desarrollar una estructura especializada para incluir
información prioritaria en su diseño. Sin embargo, no existen reglas bien definidas para llevar a
11
cabo esta tarea. No obstante, esta información prioritaria puede ser incluida en el diseño de la red
neuronal mediante una combinación de las dos técnicas que se muestran a continuación:
1.
Restringir la arquitectura de red por medio del uso de conexiones locales.
2.
Forzar la elección de pesos sinápticos por el uso de la compartición de pesos.
Naturalmente, la manera en que estas dos técnicas son explotadas en la práctica está
fuertemente influenciada por la aplicación de interés. En un contexto más general, el desarrollo de
procedimientos bien definidos para el uso de información prioritaria es aún un problema abierto sin
resolver.
2.4.3
Cómo incluir invarianzas en el diseño de una red neuronal
Un primer requerimiento para un reconocimiento de patrones es diseñar un clasificador
invariante a transformaciones de la señal observada. Por tanto, vemos aquí tres técnicas para
describir redes neuronales invariantes a transformaciones:
1.
Invarianza por estructura
La invarianza puede ser impuesta en una red neuronal estructurando su diseño
apropiadamente. Concretamente, las conexiones sinápticas entre las neuronas de la red son
creadas de igual forma a como las versiones transformadas de la misma entrada son
forzadas a producir la misma salida. Si nos fijamos, por ejemplo, en la clasificación de una
imagen, nos interesa que la red neuronal sea invariante a rotaciones. Podemos imponer esta
invarianza rotacional forzando determinadas conexiones sinápticas en la red. Si
consideramos wji como el peso sináptico de la neurona j conectada al píxel i de una imagen
de entrada y forzamos que wji = wjk para todos los píxeles i y k que se encuentren a la misma
distancia del centro de la imagen, entonces conseguimos que la red neuronal sea invariante
a rotaciones en el espacio.
2.
Invarianza por entrenamiento
Una red neuronal tiene una habilidad natural para la clasificación de patrones que
puede ser explotada directamente para obtener invarianza ante transformaciones como
sigue. La red es entrenada presentándole muchos ejemplos diferentes del mismo objeto,
correspondiéndose estos ejemplos con distintas transformaciones del objeto.
Proporcionando un número de ejemplos suficientemente grande y entrenando la red para
discriminar las diferentes transformaciones del objeto, podemos esperar que la red
generalice correctamente otras transformaciones que no le han sido mostradas. Sin
embargo, desde una perspectiva ingeniera, la invarianza por entrenamiento tiene dos
desventajas. Primero, cuando una red neuronal ha sido entrenada para reconocer un objeto
de manera invariante, no es obvio que este entrenamiento sea capaz de hacer que la red
reconozca otros objetos de clases diferentes de forma invariante. Y segundo, los
requerimientos de cálculo pueden ser demasiado elevados.
3.
Invarianza por extracción de características
12
Este método consiste en extraer características, invariantes a transformaciones de la
entrada, que muestren la información esencial contenida en un conjunto de datos de entrada.
El uso de un espacio con características invariantes nos proporciona tres ventajas: el
número de características aplicadas a la red puede ser reducido a niveles realistas, se relajan
los requerimientos impuestos en el diseño de la red y la invarianza para todos los objetos
con respecto a las transformaciones conocidas está garantizada. En conclusión, este método
es la técnica más adecuada para los clasificadores neuronales.
2.5
Inteligencia artificial y redes neuronales
El objetivo de la inteligencia artificial (IA) es el desarrollo de paradigmas o algoritmos
requeridos por las máquinas para realizar tareas que aparentemente requieren de conocimiento
cuando son realizadas por humanos. En la definición anterior hemos hablado de conocimiento y no
de inteligencia, ya que entre las tareas abordadas por la IA se encuentran la percepción y el
lenguaje, así como la solución de problemas y procesos conscientes e inconscientes.
Un sistema IA debe ser capaz de hacer tres cosas: almacenar conocimiento, aplicar el
conocimiento almacenado a resolver problemas, y adquirir nuevos conocimientos a través de la
experiencia. Todo sistema IA tiene tres componentes fundamentales:
1.
Representación.
La característica más distintiva de los sistemas IA es, probablemente, el uso dominante
de un lenguaje de estructuras de símbolos para representar tanto el conocimiento general
sobre un problema de interés como el conocimiento específico sobre la solución del
problema. Los símbolos son formulados, normalmente, en términos familiares, lo que hace
que las representaciones simbólicas de los sistemas IA sean fáciles de entender para el ser
humano.
El término conocimiento no es más que otro término para datos para los
desarrolladores de sistemas IA. Éste puede ser declarativo o procesal. En una representación
declarativa, el conocimiento es representado como una colección estática de hechos, con un
pequeño conjunto de procedimientos generales para manipular los hechos. Una
característica de este tipo de representaciones es que estos datos tienen significado por sí
mismos. En una representación procesal, por el contrario, el conocimiento está incluido en
un código ejecutable.
2.
Razonamiento
En su forma más básica, el razonamiento es la habilidad para resolver problemas. Un
sistema, para que sea capaz de razonar, debe satisfacer ciertas condiciones:
·
El sistema debe ser capaz de expresar y solucionar un amplio rango de problemas y
tipos de problemas.
·
El sistema debe ser capaz de hacer explícita cualquier información implícita conocida
por él.
13
·
El sistema de tener un mecanismo de control que determine qué operaciones aplicar a
un determinado problema, cuándo se ha obtenido una solución para el problema, o cuándo
un trabajo posterior sobre el problema debería ser terminado.
En muchas situaciones dadas en la práctica, el conocimiento disponible es incompleto
o inexacto. En semejantes situaciones, se usan los procedimientos de razonamiento
probabilístico, permitiendo a los sistemas IA tener en cuenta lo incierto del problema.
3.
Aprendizaje
En un modelo simple de máquina con aprendizaje, el entorno suministra alguna
información a un elemento de aprendizaje; esta información es usada luego para realizar
mejoras en la base del conocimiento, y, finalmente, el elemento de actuación usa la base del
conocimiento para realizar su tarea. Generalmente, la información suministrada por la
máquina al entorno es imperfecta, de forma que el elemento de aprendizaje no sabe de
antemano cómo rellenar detalles ocultos o ignorar detalles que no son importantes. La
máquina opera, por lo tanto, adivinando y recibiendo, más tarde, realimentación por parte
del elemento de actuación. El mecanismo de realimentación permite a la máquina evaluar
sus hipótesis y revisarlas en caso de que sea necesario.
El aprendizaje puede involucrar dos clases diferentes de procesamiento de
información: inductivo y deductivo. En el procesamiento de información inductivo, los
patrones y reglas generales se determinan por medio de datos sin procesar y de la
experiencia. Por otro lado, en el procesamiento de información deductivo, las reglas
generales son usadas para determinar hechos específicos.
Para poder realizar una comparación entres los sistemas IA y las redes neuronales,
tenemos tres niveles o subdivisiones:
1.
Nivel de explicación
En un sistema IA clásico, el énfasis está en construir representaciones simbólicas que
suelen ser discretas y arbitrarias. Desde el punto de vista del conocimiento, es
incuestionable que los sistemas IA asumen la existencia de representaciones mentales y
modelan el conocimiento como un procesamiento secuencial de representaciones
simbólicas. Sin embargo, en las redes neuronales, el énfasis está en el desarrollo de modelos
de procesamiento distribuidos en paralelo; modelos que asumen que el procesamiento de la
información tenga lugar a través de la interacción de un elevado número de neuronas, cada
una de las cuales envían señales excitatorias e inhibitorias a otras neuronas de la red.
2.
Estilo de procesamiento
Mientras que en los sistemas IA el procesamiento es secuencial (como en un programa
típico de ordenador), en las redes neuronales el procesamiento es en paralelo,
constituyendo una de sus principales características.
3.
Estructura e las representaciones
Para los sistemas IA clásicos, nos encontramos con que las representaciones simbólicas
poseen una estructura cuasi-lingüística. Sin embargo, en el caso de las redes neuronales, en
las que la naturaleza y estructura de las representaciones es un problema crucial, las
14
representaciones son distribuidas
Resumiendo, podemos describir a los sistemas IA como una manipulación formal de un
lenguaje de algoritmos y representaciones de datos de manera descendente. Por el contrario,
podemos describir las redes neuronales como procesadores distribuidos en paralelo con una natural
capacidad de aprendizaje, y que, usualmente, operan de manera ascendente.
15