martes, 10 de noviembre de 2015
Conclusión
El hombre se ha caracterizado siempre por su búsqueda constante de nuevas vías para mejorar sus condiciones de vidas. Estos esfuerzos han servido para reducir el trabajo en aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la construcción de máquinas calculadoras que ayuden a resolver de forma automática y rápida determinadas operaciones que resultan tediosa cuando se realizan a mano, donde permiten implementar fácilmente algoritmos para resolver dichos problemas.
las redes neuronales son más que otra forma de emular ciertas características propias de los humanos, como la capacidad de memorizar y de asociar hechos. Si se examinan con atención aquellos problemas que no pueden expresarse a través de un algoritmo, se observará que todos ellos tienen una características en común: la experiencia. El hombre es capaz de resolver estas situaciones acudiendo a la experiencia acumulada. Así, parece claro que una forma de aproximarse al problema consista en la construcción de sistemas que sean capaces de reproducir estas característica humana.
En definitiva, las redes neuronales no son más que un modelo artificial y simplificado del cerebro humano, que es el ejemplo más perfecto del que disponemos para un sistema que es capaz de adquirir conocimientos a través de la experiencia. Una red neuronal es "un nuevo sistema para el tratamiento de la información, cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso humano: la neurona"
Noticias:
http://www.dicyt.com/noticias/optimizan-termoelectricas-con-redes-neuronales
Con el desarrollo de las redes neuronales artificiales (y la inteligencia artificial) se ha logrado simular de manera muy básica en el aprendizaje y el desarrollo de la inteligencia en computadoras, lo cual no está llevando hacia una nueva era computacional donde son indispensables para la resolución de problemas, podemos llegar a un resultado significativo.
Al igual que las personas, las redes neuronales artificiales pueden sufrir de sobre entrenamiento y arrojar resultados erráticos. Esto es debido al exceso de flexibilidad o rigidez (no permite adaptarse correctamente a varias muestras de entrada-salida).
Muchos científicos consideran que el trabajar con redes neuronales artificiales en todo un arte, ya que se deben enfrentar a muchas alternativas una vez que ya han decidido trabajar con ellas. Son capases de adquirir información y utilizarla para mejorar su modo de funcionamiento. Imitan la manera de reorganización cerebral, sin que tenga que hacerlo nadie por ellas, son muy dinámicas, tolerando y ajustando los errores por sí solas. Las redes neuronales son una maravilla de la informática, estadística e ingeniería, capases de trabajar con información de una manera nunca vista. Aunque todavía ni se acercan a las redes neuronales naturales, su capacidad es increíble, especialmente en temas de reconocimiento vocal e imágenes, donde son empleadas para detectar y clasificar un mundo lleno de matices. Integrar las redes neuronales en la educación con el fin de que los alumnos comprendan y logren ser capaz de resolver problemas a través de diferente procedimientos, ya que no es necesarios hayan hecho cursos especializados para poder entender y tomar diferentes decisión en el proceso de aprendizajes a la hora de realizar diferentes actividades .
http://hipertextual.com/2015/07/redes-neuronales
Noticias en relación a la Educación:
http://www.atl.org.mx/index.php?option=com_content&view=article&id=2598:desarrollan-una-aplicacion-para-el-reconocimiento-de-caracteres-basado-en-redes-neuronales&catid=127:sociedad-del-conocimiento&Itemid=578 https://www.youtube.com/watch?v=yzQGr7MGYlIhttp://niuco.es/las-claves-en-neuroeducacion/
Noticias en relación a la Educación:
http://www.atl.org.mx/index.php?option=com_content&view=article&id=2598:desarrollan-una-aplicacion-para-el-reconocimiento-de-caracteres-basado-en-redes-neuronales&catid=127:sociedad-del-conocimiento&Itemid=578 https://www.youtube.com/watch?v=yzQGr7MGYlIhttp://niuco.es/las-claves-en-neuroeducacion/
viernes, 6 de noviembre de 2015
- Aplicaciones de las redes neuronalesLas redes neuronales pueden utilizarse en un gran número y variedad de aplicaciones, tanto comerciales como militares. Se pueden desarrollar redes neuronales en un periodo de tiempo razonable, con la capacidad de realizar tareas concretas mejor que otras tecnologías. Cuando se implementan mediante hardware (redes neuronales en chips VLSI), presentan una alta tolerancia a fallos del sistema y proporcionan un alto grado de paralelismo en el procesamiento de datos. Esto posibilita la inserción de redes neuronales de bajo coste en sistemas existentes y recientemente desarrollados.Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una aplicación particular más apropiada.
Algunas aplicaciones comerciales son:Biología:· Aprender más acerca del cerebro y otros sistemas.
· Obtención de modelos de la retina. -
- Empresa:· Evaluación de probabilidad de formaciones geológicas y petrolíferas.· Identificación de candidatos para posiciones específicas.· Explotación de bases de datos.· Optimización de plazas y horarios en líneas de vuelo.· Optimización del flujo del tránsito controlando convenientemente la temporización de los semáforos.· Reconocimiento de caracteres escritos.· Modelado de sistemas para automatización y control.
-
- Medio ambiente:· Analizar tendencias y patrones.· Previsión del tiempo
-
-
- Finanzas:· Previsión de la evolución de los precios.· Valoración del riesgo de los créditos.· Identificación de falsificaciones.· Interpretación de firmas.Manufacturación:· Robots automatizados y sistemas de control (visión artificial y sensores de presión, temperatura, gas, etc).· Control de producción en líneas de procesos.· Inspección de la calidad.
-
Medicina:
· Analizadores
del habla para ayudar en la audición de sordos profundos.
· Diagnóstico
y tratamiento a partir de síntomas y/o de datos analíticos (electrocardiograma,
encefalogramas, análisis sanguíneo, etc.).
·
Monitorización en cirugías
·
Predicción de reacciones adversas en los medicamentos.
· Entendimiento de la causa de los ataques cardíacos.
Militares:
·
Clasificación
de las señales de radar.
·
Creación
de armas inteligentes.
·
Optimización
del uso de recursos escasos.
·
Reconocimiento
y seguimiento en el tiro al blanco.
La mayoría de estas aplicaciones
consisten en realizar un reconocimiento de patrones, como ser: buscar un patrón
en una serie de ejemplos, clasificar patrones, completar una señal a partir de
valores parciales o reconstruir el patrón correcto partiendo de uno
distorsionado. Sin embargo, está creciendo el uso de redes neuronales en
distintos tipos de sistemas de control.
Desde el punto de vista de los casos de
aplicación, la ventaja de las redes neuronales reside en el procesado paralelo,
adaptativo y no lineal.
El dominio de aplicación de las redes
neuronales también se lo puede clasificar de la siguiente forma: asociación y clasificación, regeneración de
patrones, regresión y generalización, y optimización.
Asociación
y clasificación
En esta aplicación, los patrones de entrada estáticos o
señales temporales deben ser clasificados o reconocidos. Idealmente, un
clasificador debería ser entrenado para que cuando se le presente una versión
distorsionada ligeramente del patrón, pueda ser reconocida correctamente sin
problemas. De la misma forma, la red debería presentar cierta inmunidad contra
el ruido, esto es, debería ser capaz de recuperar una señal
" limpia" de ambientes o canales ruidosos. Esto es
fundamental en las aplicaciones holográficas, asociativas o regenerativas.
Asociación: de especial interés son las dos clases
de asociación: autoasociación y heteroasociación.
El problema de la autoasociación es
recuperar un patrón enteramente, dada una información parcial del patrón
deseado.
La heteroasociación es recuperar un
conjunto de patrones B, dado un patrón de ese conjunto.
Los pesos en las redes asociativas son a
menudo predeterminados basados en la regla de Hebb. Normalmente, la
autocorrelación del conjunto de patrones almacenado determina los pesos en las
redes autoasociativas.
Por otro lado, la correlación cruzada de
muchas parejas de patrones se usa para determinar los pesos de la red de
heteroasociación.
Clasificación
no Supervisada: para
esta aplicación, los pesos sinápticos de la red son entrenados por la regla de
aprendizaje no supervisado, esto es, la red adapta los pesos y verifica el
resultado basándose únicamente en los patrones de entrada.
Clasificación
Supervisada: esta clasificación
adopta algunas formas del criterio de interpolación o aproximación. En muchas
aplicaciones de clasificación, por ejemplo, reconocimiento de voz, los datos de
entrenamiento consisten de pares de patrones de entrada y salida. En este caso,
es conveniente adoptar las redes Supervisadas, como las bien conocidas y
estudiadas redes de retropropagación. Este tipo de redes son apropiadas para
las aplicaciones que tienen una gran cantidad de clases con límites de
separación complejos.
Regeneración
de patrones.
En muchos problemas de clasificación, una
cuestión a solucionar es la recuperación de información, esto es, recuperar el
patrón original dada solamente una información parcial. Hay dos clases de
problemas: temporales y estáticos. El uso apropiado de la información
contextual es la llave para tener éxito en el reconocimiento.
Regeneración
y generalización.
El objetivo de la generalización es dar
una respuesta correcta a la salida para un estímulo de entrada que no ha sido
entrenado con anterioridad. El sistema debe inducir la característica saliente
del estímulo a la entrada y detectar la regularidad. Tal habilidad para el
descubrimiento de esa regularidad es crítica en muchas aplicaciones. Esto hace que
el sistema funcione eficazmente en todo el espacio, incluso cuando ha sido entrenado
por un conjunto limitado de ejemplos.
Optimización.
Las Redes Neuronales son herramientas
interesantes para la optimización de aplicaciones, que normalmente implican la
búsqueda del mínimo absoluto de una función de energía. Para algunas
aplicaciones, la función de energía es fácilmente deducible; pero en otras, sin
embargo, se obtiene de ciertos criterios de coste y limitaciones especiales.
Casos
concretos de aplicación.
A continuación se detallan los
siguientes casos concretos de aplicación de redes neuronales:
- · Planificación del staff de empleados.
- · Planificación de la demanda de materiales.
- · Puntuación para la solicitud de un crédito.
Planificación
del staff (cuerpo) de empleados.
Hoy más que nunca, las empresas están
sujetas a la presión de los elevados costos. Esto puede verse en diferentes
sectores corporativos, tales como la planificación del staff de empleados.
Desde el punto de vista de las empresas, un empleado que falla al ejecutar la
mayor parte de las tareas asignadas, evidencia una baja productividad. Por el
otro lado, esta situación es frustrante para el empleado. Ambos efectos causan
costos, los cuales podrían evitarse realizando antes una prueba de aptitud.
Estos problemas no solamente son originados por los empleados nuevos, sino
también por aquellos que son reubicados dentro de la misma empresa.
Base de datos y
codificación:
La base de datos inicial contenía
información resultante de una investigación que realizaron por medio de un
cuestionario. Las respuestas obtenidas a través del mismo las utilizaron para
acumular información acerca de las cualidades específicas y habilidades técnicas
de cada individuo del personal indagado. Para cada pregunta, les fue posible categorizar
la respuesta en un intervalo que va de 1 a 5; constituyendo así la entrada que presentaron
a la red neuronal. Al entrevistado, posteriormente, lo examinaron en el orden
de obtener una cifra representativa de sus aptitudes. De esta manera el
conjunto de datos de entrenamiento quedó formado de la siguiente forma:
·
Respuesta
obtenidas a través del cuestionario = datos
de entrada.
·
Cifra
representativa de la aptitud de la persona encuestada = salida deseada
El primer problema que se les presentó
fue cómo codificar los datos obtenidos, decidiendo transformarlos dentro del
intervalo [0.1, 1.0]. Cómo codificar la salida objetivo fue la próxima pregunta
que consideraron.
Normalmente la compañía sólo quiere
conocer si una persona ejecutará bien o mal la tarea determinada, o si su
desempeño será muy bueno, bueno, promedio, malo o muy malo.
Consecuentemente,
(a) asignaron la salida dada
dentro de varias clases y
(b) transformaron las cifras
representativas dentro del intervalo [0, 1], utilizando en parte una función
lineal.
Algoritmo de aprendizaje:
Ensayaron diferentes algoritmos de
aprendizaje, de los cuales dos fueron escogidos como los más apropiados:
Propagación Rápida (Quickpropagation) y Propagación Elástica (Resilient
Propagation).
Quickpropagation: es una modificación del algoritmo
estándar de backpropagation. A diferencia de este, la adaptación de los pesos
no es solamente influenciada por la sensibilidad actual, sino también por la
inclusión del error previo calculado.
Resilient
Propagation: es otra
modificación del algoritmo estándar de backpropagation. En oposición a este, la
adaptación de los pesos es influenciada por el signo de la sensibilidad actual
y antecesora, y no por su cantidad.
martes, 3 de noviembre de 2015
Las neuronas se modelan mediante unidades de proceso,
caracterizadas por una función de activación que convierte la entrada total
recibida de otras unidades en un valor de salida, el cual hace la función de la
tasa de disparo de la neurona. Cada unidad de proceso se compone de una red de
conexiones de entrada, una función de red (de propagación), encargada de
computar la entrada total combinada de todas las conexiones, un núcleo central
de proceso, encargado de aplicar la función de activación, y la salida, por
dónde se transmite el valor de activación a otras unidades.
Las conexiones sinápticas se simulan mediante conexiones ponderadas; la
fuerza o peso de la conexión cumple el papel de la efectividad de la sinapsis.
Las conexiones determinan si es posible que una unidad influya sobre otra, los
pesos definen la intensidad de la influencia.
Una unidad de proceso recibe varias entradas procedentes de las salidas
de otras unidades de proceso. La entrada total de una unidad de proceso se
suele calcular como la suma de todas las entradas ponderadas, es decir,
multiplicadas por el peso de la conexión. El efecto inhibitorio o excitatorio
de las sinapsis se logra usando pesos negativos o positivos respectivamente.
La función de red es típicamente el sumatorio ponderado, mientras que la
función de activación suele ser alguna función de umbral o una función
sigmoidal.
Tanto las redes neuronales biológicas como las redes neuronales
artificiales tienen el mismo funcionamiento de comunicación, con una estructura
muy similar solo que cada una con sus respectivos nombres. Ambas utilizan una
potencia máxima y mínima para lograr la comunicación
El cerebro puede considerarse un sistema altamente complejo. Su unidad
básica, la neurona, está masivamente distribuida con conexiones entre ellas (se
calcula que hay aproximadamente 10 billones de neuronas en la corteza cerebral
y 60 trillones de conexiones neuronales).
Si bien hay distintos tipos de neuronas biológicas, en la figura 1 se
muestra un esquema simplificado de un tipo particular que es muy común. Vemos
que la misma está compuesta por:
- El
cuerpo central, llamado soma, que contiene el núcleo celular.
- Una
prolongación del soma, el axón.
- Una
ramificación terminal, las dendritas.
- Una
zona de conexión entre una neurona y otra, conocida como sinapsis.
La función principal de las neuronas es la transmisión de los impulsos
nerviosos. Estos viajan por toda la neurona comenzando por las dendritas hasta
llegar a las terminaciones del axón, donde pasan a otra neurona por medio de la
conexión sináptica.
El objetivo principal de las redes neuronales de tipo biológico es
desarrollar un elemento sintético para verificar las hipótesis que conciernen a
los sistemas biológicos.
El sistema de neuronas biológico está compuesto por neuronas de entrada
(sensores) conectados a una compleja red de neuronas “calculadoras” (neuronas
ocultas), las cuales, a su vez, están conectadas a las neuronas de salidas que
controlan.
Una RNA (Red Neuronal Artificial) es un modelo matemático
inspirado en el comportamiento biológico de las neuronas y en la estructura del
cerebro. Esta también puede ser vista como un sistema inteligente que lleva a
cabo tareas de manera distinta a como lo hacen las computadoras actuales. Si
bien estas últimas son muy rápidas en el procesamiento de la información,
existen tareas muy complejas, como el reconocimiento y clasificación de
patrones, que demandan demasiado tiempo y esfuerzo aún en las computadoras más
potentes de la actualidad, pero que el cerebro humano es más apto para
resolverlas, muchas veces sin aparente esfuerzo (considere el lector como
ejemplo el reconocimiento de un rostro familiar entre una multitud de otros
rostros).
Elementos Básicos de las Redes Neuronales
Una red neuronal se compone de unidades llamadas neuronas. Cada neurona
recibe una series de entradas a través de interconexiones y emite una salida.
Esta salida viene dada por tres funciones
·
Una función de entrada
La neurona trata a muchos valores de entrada como si fueran uno
solo; esto recibe el nombre de entrada global. Por lo tanto, ahora nos
enfrentamos al problema de cómo se pueden combinar estas simples entradas
(ini1, ini2) dentro de la entrada global, gini. Esto se logra a través de
la función de entrada, la cual se calcula a partir del vector entrada. La
función de entrada puede describirse como sigue:
donde: * representa al operador apropiado (por ejemplo:
máximo, sumatoria, productoria, etc.), n al número de entradas a la neurona Ni
y WI al peso.
Los valores de entrada se multiplican por los pesos anteriormente
ingresados a la neurona. Por consiguiente, los pesos que generalmente no están
restringidos cambian la medida de influencia que tienen los valores de entrada.
Es decir, que permiten que un gran valor de entrada tenga solamente una pequeña
influencia, si estos son lo suficientemente pequeños.
Algunas de las funciones de entrada más comúnmente utilizadas y
conocidas son:
1) Sumatoria de las
entradas pesadas: es la suma de todos los valores de entrada a la neurona,
multiplicados por sus correspondientes pesos.
2) Productoria de las
entradas pesadas: es el producto de todos los valores de entrada a la
neurona, multiplicados por sus correspondientes pesos.
3) Máximo de las entradas pesadas: solamente toma en consideración
el valor de entrada más fuerte, previamente multiplicado por su peso
correspondiente.
·
Una función de activación:
La función activación calcula el estado de actividad de una
neurona. Determina el estado de activación actual de la neurona en base al
potencial resultante hi y al estado de activación anterior de la neurona Ai(t-1).
El estado de activación de la neurona para un determinado instante de tiempo t
puede ser expresado de la siguiente manera:
Sin embargo, en la mayoría de los modelos se suele ignorar el estado anterior de la neurona, definiéndose el estado de activación en función del potencial resultante hi:
·
Una función de salida
El ultimo componente que una neurona necesita es la función de salida.
El valor resultante de esta función es la salida de la neurona i
(out); por ende, la función de salida determina que valor se transfiere a las
neuronas vinculadas. Si la función de activación está por debajo de un umbral
determinado, ninguna salida se pasa a la neurona subsiguiente. Normalmente, no
cualquier valor es permitido como una entrada para una neurona, por lo tanto,
los valores de salida están comprendidos en el rango [0, 1] o
[-1, 1]. También pueden ser binarios {0, 1} o {-1, 1}.
Dos de las funciones de salida más comunes son:
ü Ninguna: Este es el tipo de función más sencillo, tal que la salida es la misma
que la entrada. Es también llamada función identidad.
ü Binaria:
Elementos de una red neuronal
artificial
Las redes neuronales artificiales (RNA) son modelos
que intentan reproducir el comportamiento del cerebro. Como tal modelo, realiza
una simplificación, averiguando cuáles son los elementos relevantes del sistema, bien porque la
cantidad de información de que se dispone es
excesiva o bien porque es redundante. Una elección adecuada de sus
características, más una estructura
conveniente, es el procedimiento convencional
utilizado para construir redes capaces de realizar determinada tarea.
·
Unidad de proceso: La neurona
Artificial. Existen tres tipos de unidades en cualquier sistema: entradas,
salidas y ocultas. Las unidades de entrada reciben señales desde el entorno;
las de salida envían la señal fuera de la red, y las unidades
ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema.
Se conoce como capa o nivel a un conjunto de
neuronas cuyas entradas provienen de la misma fuente y cuyas salidas se dirigen
al mismo destino.
·
Estado de Activación: Los estados del sistema en un tiempo t se representan por un vector A(t). Los valores de activación pueden ser
continuos o discretos, limitados o ilimitados. Si son discretos, suelen tomar
un conjunto discreto de valores binarios, así un estado activo se indicaría con
un 1 y un estado pasivo se representaría por un cero. En otros modelos se
considera un conjunto de estados de activación, en cuyo valor entre [0,1], o en el intervalo [-1,1], siendo
una función sigmoidal.
·
Función de Salida
o de Transferencia: Asociada con cada unidad hay una función de
salida, que transforma el estado actual de activación en una señal de salida.
Existen cuatro funciones de transferencia
típicas que determinan distintos tipos de neuronas:
ü Función Escalón
ü Función Lineal y Mixta
ü Sigmoidal
ü Función Gaussiana
·
Conexiones entre
neuronas: Las conexiones que unen a las neuronas que forman una RNA tiene asociado
un peso, que es el que hace que la red adquiera conocimiento. Se considera que el efecto
de cada señal es aditivo, de tal forma que la entrada neta que recibe una
neurona es la suma del producto de cada señal individual por el valor de la
sinapsis que conecta ambas neuronas y es lo que se conoce como red de
propagación. Se utiliza una matriz W con todos los pesos, Si wji es positivo
indica que la relación entre las neuronas es excitadora, es decir, siempre que
la neurona i esté activada, la neurona j recibirá una señal que tenderá a
activarla. Si wji es negativo, la sinapsis será inhibidora. En este caso si i
está activada, enviará una señal que desactivará a j. Finalmente si wji es 0 se
supone que no hay conexión entre ambas 5. Función o Regla de Activación.
Se requiere una regla que combine las entradas con el estado actual de la
neurona para producir un nuevo estado de activación. Esta función F produce un
nuevo estado de activación en una neurona a partir del estado que existía y la
combinación de las entradas con los pesos de las conexiones. Esa F es
denominada función de activación, y las salidas que se obtienen en una neurona
para las diferentes formas de F serán:
Función de Activación Escalón Función de Activación Identidad Función de Activación Lineal –Mixta
Función de Activación Sigmoidal 6. Regla de Aprendizaje. El
aprendizaje puede ser comprendido como la modificación de comportamiento inducido
por la interacción con el entorno y como
resultado de experiencias conduce al establecimiento de nuevos modelos de
respuesta a estímulos externos. En el cerebro humano el conocimiento se encuentra en la sinapsis.
En el caso de las RNA el conocimiento se encuentra en los pesos de las
conexiones entre neuronas. Todo proceso de aprendizaje implica cierto número de
cambios en estas conexiones. En realidad, puede decirse que se aprende
modificando los valores de lo pesos de la red.
Estructura
de una red neuronal artificial
Anteriormente ya se estipuló que
la distribución de neuronas dentro de la red
se realiza formando niveles o capas de un número determinado de neuronas cada
una, y que existen capas de entrada, de salida, y ocultas, ahora veamos las
formas de conexión entre neuronas.
Cuando ninguna salida de las neuronas es entrada de
neuronas del mismo nivel o de niveles precedentes, la red se describe como de
propagación hacia adelante. Cuando las salidas pueden ser conectadas como
entradas de neuronas de niveles previos o del mismo nivel, incluyéndose ellas
mismas, la red es de propagación hacia atrás.
Características de las
redes neuronales
Existen cuatro aspectos que caracterizan una red
neuronal: su topología, el mecanismo de
aprendizaje, tipo de asociación realizada entre la información de entrada y
salida, y la forma de representación de estas informaciones:
·
Topología de las Redes
Neuronales: La arquitectura de las redes
neuronales consiste en la
organización y disposición de las neuronas formando capas más o
menos alejadas de la entrada y salida de la red. En este sentido, los
parámetros fundamentales de la red son: el número de capas, el número de
neuronas por capa, el grado de conectividad y el tipo de conexiones entre
neuronas.
Redes Mono capa: Se establecen conexiones laterales,
cruzadas o autor recurrentes entre las neuronas que pertenecen a la única capa
que constituye la red. Se utilizan en tareas relacionadas con lo que se conoce
como auto asociación; por ejemplo, para generar informaciones de entrada que se
presentan a las redes incompletas o distorsionadas.
Redes Multicapa: Son aquellas que disponen de conjuntos de neuronas agrupadas en varios
niveles o capas. Una forma de distinguir la capa a la que pertenece la neurona,
consiste en fijarse en el origen de las señales que recibe a la entrada y el
destino de la señal de salida. Según el tipo de conexión, se distinguen las redes feedforward, y las redes
feedforward/feedback.
·
Mecanismo
de Aprendizaje: El aprendizaje es el proceso por el cual una red neuronal
modifica sus pesos en respuesta a una información de entrada. Los cambios que
se producen durante el proceso de aprendizaje se reducen a la destrucción,
modificación y creación de conexiones entre las neuronas, la creación de una
nueva conexión implica que el peso de la misma pasa a tener un valor distinto
de cero, una conexión se destruye cuando su peso pasa a ser cero. Se puede
afirmar que el proceso de aprendizaje ha finalizado (la red ha aprendido)
cuando los valores de los pesos permanecen estables (dwij / dt = 0).
Un criterio para diferenciar las reglas de
aprendizaje se basa en considerar si la red puede aprender durante su
funcionamiento habitual, o si el aprendizaje supone la desconexión de la red.
Otro criterio suele considerar dos tipos de reglas
de aprendizaje: las de aprendizaje supervisado y las correspondientes a un
aprendizaje no supervisado, estas reglas dan pie a una de las clasificaciones
que se realizan de las RNA: Redes neuronales con aprendizaje supervisado y
redes neuronales con aprendizaje no supervisado. La diferencia fundamental
entre ambos tipos estriba en la existencia o no de un agente externo
(supervisor) que controle el aprendizaje de la red.
Redes con Aprendizaje Supervisado. El proceso de
aprendizaje se realiza mediante un entrenamiento controlado por un
agente externo (supervisor, maestro) que determina la respuesta que debería
generar la red a partir de una entrada determinada. El supervisor comprueba la
salida de la red y en el caso de que ésta no coincida con la deseada, se
procederá a modificar los pesos de las conexiones, con el fin de conseguir que
la salida se aproxime a la deseada.
Se consideran tres formas de llevar a cabo este
tipo de aprendizaje:
ü Aprendizaje por corrección de error: Consiste en
ajustar los pesos en función de la diferencia entre los valores deseados y los
obtenidos en la salida de la red; es decir, en función del error.
ü Aprendizaje por refuerzo: Se basa en la
idea de no indicar durante el entrenamiento exactamente la salida que se desea
que proporcione la red ante una determinada entrada. La función del supervisor
se reduce a indicar mediante una señal de refuerzo si la salida obtenida en la
red se ajusta a la deseada (éxito=+1 o fracaso=-1), y en función de ello
se ajustan los pesos basándose en un mecanismo de probabilidades.
ü Aprendizaje
estocástico: Este tipo de aprendizaje consiste básicamente en
realizar cambios aleatorios en los valores de los pesos de las conexiones de la
red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.
Redes con Aprendizaje No Supervisado:
Estas redes
no requieren influencia externa para ajustar los pesos de las conexiones entre
neuronas. La red no recibe ninguna información por parte del entorno que le
indique si la salida generada es o no correcta, así que existen varias
posibilidades en cuanto a la interpretación de la salida de estas redes.
En algunos casos, la salida representa el grado de
familiaridad o similitud entre la información que se le está presentando en la
entrada y las informaciones que se le han mostrado en el pasado. En otro caso
podría realizar una codificación de los datos de
entrada, generando a la salida una versión codificada de la entrada, con menos
bits, pero manteniendo la información relevante de los datos, o algunas redes
con aprendizaje no supervisado lo que realizan es un mapeo de características, obteniéndose
en las neuronas de salida una disposición geométrica que representa un, mapa
topográfico de las características de los datos de entrada, de tal forma que si
se presentan a la red informaciones similares, siempre sean afectadas neuronas
de salidas próximas entre sí, en la misma zona del mapa.
En general en este tipo de aprendizaje se suelen considerar dos tipos:
ü Aprendizaje Hebbiano: Consiste básicamente
en el ajuste de los pesos de las conexiones de acuerdo con la correlación, así
si las dos unidades son activas (positivas), se produce un razonamiento de la
conexión. Por el contrario cuando un es activa y la otra pasiva (negativa), se
produce un debilitamiento de la conexión.
ü Aprendizaje competitivo y cooperativo: Las neuronas
compiten (y cooperan) unas con otras con el fin de llevar a cabo una tarea dada.
Con este tipo de aprendizaje se pretende que cuando se presente a la red cierta
información de entrada, solo una de las neuronas de salida se active (alcance
su valor de respuesta máximo). Por tanto las neuronas compiten por activarse ,
quedando finalmente una, o una por grupo, como neurona vencedora
·
Tipo de Asociación
entre las Informaciones de Entrada y Salida: Las RNA son sistemas que almacenan
cierta información aprendida; está información se registra de forma distribuida
en los pesos asociados a las conexiones entre neuronas de entrada y salida.
Existen dos formas primarias de realizar esa asociación de entrada/salida. Una
primera sería la denominada heteroasociación, que se refiere al caso en el que
la red aprende parejas de datos [(A1, B1), (A2, B2)… (An, Bn)], de tal forma
que cuando se presente cierta información de entrada Ai, deberá responder generándola
correspondiente salida Bi. La segunda se conoce como auto asociación, donde la
red aprende ciertas informaciones A1, A2…An, de tal forma que cuando se le
presenta una información de entrada realizará una auto correlación,
respondiendo con uno de los datos almacenados, el más parecido al de la entrada.
Estos dos mecanismos de asociación de asociación
dan lugar a dos tipos de redes neuronales:
las redes hetero-asociativas y las auto-asociativas. Una red hetero-asociativa
podría considerarse aquella que computa cierta función, que en la mayoría de
los casos no podrá expresarse analíticamente, entre un conjunto de entradas y
un conjunto de salidas, correspondiendo a cada posible entrada una determinada
salida. Existen redes hetero-asociativas con conexiones feedforward,
feedforward/feedback y redes con conexiones laterales. También existen redes
hetero-asociativas multidimensionales y su aprendizaje puede ser supervisado o
no supervisado. Por otra parte, una red auto-asociativa es una red cuya
principal misión es reconstruir
una determinada información de entrada que se presenta incompleta o
distorsionada (le asocia el dato almacenado más parecido). Pueden implementarse
con una sola capa, existen conexiones laterales o también autorrecurrentes,
habitualmente son de aprendizaje no supervisado.
Implementación de las
redes neuronales
En la búsqueda de sistemas inteligentes en general, se ha llegado a un
importante desarrollo del software, dentro de esta línea se
encuentran algunos de los neuro-computadores más conocidos. Un neuro-computador
es básicamente un conjunto de procesadores conectados con cierta
regularidad que operan concurrentemente. En la actualidad ya existen un serie
de neuro-computadores comerciales destinados a la realización de redes
neuronales. Por otro lado la realización de RNA puede llevarse a cabo por medio
de uno o varios circuitos integrados específicos, para así poder obtener una estructura que se comporte lo más
similar posible a como lo haría una red neuronal. Otra tecnología que podría ser apropiada en
la implementación de las redes neuronales es la tecnología electroóptica, con
la ventaja de utilizar la luz como medio de transporte de la información,
permitiendo la transición, masiva de datos.
·
Realización de Redes
Neuronales: La realización más simple e inmediata consiste en simular la red sobre
un ordenador convencional mediante un software específico. Es un procedimiento
rápido, económico, e instituible, pero su mayor desventaja radica en el hecho
de que se intentan simular redes con un alto grado de paralelismo sobre máquinas que ejecuten secuencialmente
las operaciones. Valores intrínsecos de las
redes neuronales no pueden obtenerse de esta forma.
Otro método es la realización de redes
neuronales a través de arquitecturas orientadas a la ejecución de procesos con un alto de paralelismo, tales como redes de
transportes, arquitecturas sistólicas, etc. Este método es una optimización del
anterior, ya que el acelera el proceso, permitiendo una respuesta en tiempo real,
pero el comportamiento real de la red sigue siendo simulado por una estructura
ajena a la estructura intrínseca de una red neuronal.
Una tercera aproximación radicalmente distinta es la realización de
redes neuronales mediante su implementación por uno o varios circuitos integrados específicos. Son los llamados chips
neuronales. Las neuronas y las conexiones se emulan con dispositivos
específicos, de forma que la estructura del circuito integrado refleja la
arquitectura de la red. Se consigue de esta forma realizaciones que funcionan a
alta velocidad, pero a costa de una pérdida notable de
velocidad.
·
Herramientas software de
desarrollo: La comercialización de productos software es la forma más extendida para simular
redes neuronales, debido a las ventajas citadas anteriormente. La diferencia
entre los distintos productos software radica en aspectos tales como el tipo y
el número de arquitecturas de red que soporta, velocidad de procesamiento, interfaz
gráfica, exportación de código C para el desarrollo automático de aplicaciones,
etc.
Algunos de los productos comerciales son: ANSim (DOS), ExpertNet (DOS, Windows), Neuralesk (Windows), Neuralworks Pro II/Plus
(DOS, OS/2, UNIX, VMS)
·
Neuro-computadores de
propósito especial y de propósito general: Como se dijo anteriormente un
neuro-computador es básicamente un conjunto de procesadores conectados con
cierta regularidad que operan concurrentemente. Los de propósito general deben
ser capaces de emular un gran número de modelos de red neuronal.
Los de propósito especial han sido diseñados para implementar un modelo
específico de red neuronal.
·
Implementación microelectrónica
(VLSI): En general si la red ha estado previamente simulada y su configuración
de conexiones perfectamente determinada, se busca la implementación sobre un
circuito de conexiones fijas. La presentación del panorama que actualmente
existe en el ámbito de la implementación VLSI de redes neuronales resulta
complicada por la gran cantidad de aportaciones existentes, tanto en soluciones analógicas como digitales y
con la alternativa de matriz de neuronas o de sinapsis.
Ventajas de las redes neuronales
Debido a su constitución y a sus fundamentos, las RNA
presentan un gran número de características semejantes a las del cerebro. Por
ejemplo, son capaces de aprender de la experiencia, de generalizar de casos
anteriores a nuevos casos, de abstraer características esenciales a partir de
entradas que representan información irrelevante, etc. Esto hace que ofrezcan
numerosas ventajas y que este tipo de tecnología se esté aplicando en múltiples
áreas. Estas ventajas incluyen:
·
Aprendizaje Adaptativo: Es una de las características
más atractivas de las redes neuronales, es la capacidad de aprender a realizar
tareas basadas en un entrenamiento o una experiencia inicial.
En el proceso de aprendizaje, los enlaces ponderados de las neuronas se
ajustan de manera que se obtengan unos resultados específicos. Una RNA no
necesita un algoritmo para resolver un problema, ya que ella puede
generar su propia distribución de los pesos de los enlaces mediante el aprendizaje.
También existen redes que continúan aprendiendo a lo largo de su vida, después
de completado e periodo inicial de entrenamiento.
La función del diseñador es únicamente la obtención de la arquitectura
apropiada. No es problema del diseñador el cómo la red aprenderá a discriminar;
sin embargo, si es necesario que desarrolle un buen algoritmo de aprendizaje
que proporcione la capacidad de discriminar de la red mediante un entrenamiento
con patrones.
·
Auto-organización: Las redes neuronales usan su
capacidad de aprendizaje adaptativo para organizar la información que reciben
durante el aprendizaje y/o la operación. Una RNA puede crear su propia organización o representación de la información
que recibe mediante una etapa de aprendizaje. Esta auto-organización provoca la
facultad de las redes neuronales de responder apropiadamente cuando se les
presentan datos o situaciones a los que no habían sido expuestas anteriormente.
·
Tolerancia a Fallos: Comparados con los sistemas computacionales tradicionales, los cuales
pierden su funcionalidad en cuanto sufren un pequeño error de memoria, en las redes neuronales, si
se produce un fallo en un pequeño número de neuronas, aunque el comportamiento
del sistema se ve influenciado, sin embargo no sufre una caída repentina.
Hay dos aspectos distintos respecto a la tolerancia a fallos: primero,
las redes pueden aprender a reconocer patrones con ruido, distorsionados, o incompleta. Segundo pueden
seguir realizando su función (con cierta degradación) aunque se destruya parte
de la red.
La razón por la que las redes neuronales son tolerantes a fallos es que
tienen su información distribuida en las conexiones entre neuronas, existiendo
cierto grado de redundancia en ese tipo de almacenamiento, a diferencia de la mayoría
de los ordenadores algorítmicos y sistemas de recuperación de datos que
almacenan cada pieza de información en un estado único, localizado y direccionarle.
·
Operación en Tiempo Real: Los computadores neuronales
pueden ser realizados en paralelo, y se diseñan y fabrican máquinas con hardware
especial para obtener esta capacidad.
·
Fácil inserción dentro de la
tecnología existente: Debido a que una red puede ser rápidamente entrenada, comprobada,
verificada y trasladada a una implementación hardware de bajo costo, es fácil insertar RNA para aplicaciones
específicas dentro de sistemas existentes (chips, por ejemplo). De esta manera,
las redes neuronales se pueden utilizar para mejorar sistemas de forma
incremental, y cada paso puede ser evaluado antes de acometer un desarrollo más
amplio.
Suscribirse a:
Entradas (Atom)