Unidad 5 - Redes neuronales Flashcards
Qué es una red neuronal
Se define una red neuronal como:
Un sistema de muchos elementos simples de procesamiento las cuales operan en paralelo y cuya función es determinada por:
* La estructura de la red.
* El peso de las conexiones.
Una red neuronal es:
Un procesador paralelo masivamente distribuido que tiene una facilidad natural para el almacenamiento de conocimiento obtenido de la experiencia para luego hacerlo utilizable.
Características de una red neuronal
- Aprendizaje Inductivo: No se le indican las reglas para dar una solución, sino que extrae sus propias reglas a partir de los ejemplos de aprendizaje, modifican su comportamiento en función de la experiencia. Esas reglas quedan almacenadas en las conexiones y no representadas explícitamente como en los sistemas basados en conocimiento.
- Generalización: Una vez entrenada, se le pueden presentar a la red datos distintos a los usados durante el aprendizaje.
- Abstracción o Tolerancia al Ruido: Las redes neuronales artificiales con capaces de extraer o abstraer las características esenciales de las entradas aprendidas, de esta manera pueden procesar correctamente datos incompletos o distorsionados.
- Procesamiento Paralelo: Las neuronas reales trabajan en paralelo, pero usando un solo procesador no podrá haber proceso paralelo real.
- Memoria Distribuida: El conocimiento acumulado por la red se halla distribuido en numerosas conexiones, esto tiene como consecuencia la tolerancia a fallos: una red neuronal es capaz de seguir funcionando adecuadamente a pesar de sufrir lesiones con destrucción de neuronas o sus conexiones.
Tipos de aprendizaje
Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones, por lo tanto, se puede afirmar que este proceso ha terminado (la red ha aprendido) cuando los valores de los pesos permanecen estables. Un aspecto importante es el conocer cómo se modifican los valores de los pesos. Existen 2 métodos de aprendizaje importantes:
* Aprendizaje Supervisado.
* Aprendizaje No Supervisado.
Otro criterio para diferenciar las reglas de aprendizaje:
* Aprendizaje online: Si la red puede aprender durante su funcionamiento habitual.
* Aprendizaje offline: Si el aprendizaje supone la desconexión de la red, es decir, su inhabilitación hasta que el proceso se termine. Cuando el aprendizaje es off-line se distingue entre una fase de aprendizaje o entrenamiento y una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un conjunto de datos de test o prueba, que serán utilizados en la fase correspondiente. Además los pesos de las conexiones permanecen fijos después que termina la etapa de entrenamiento de la red.
A qué se debe la tolerancia a fallos de esta
El conocimiento acumulado por la red se halla distribuido en numerosas conexiones, esto tiene como consecuencia la tolerancia a fallos: una red neuronal es capaz de seguir funcionando adecuadamente a pesar de sufrir lesiones con destrucción de neuronas o sus conexiones.
Cuándo una red ya ha aprendido
Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones, por lo tanto, se puede afirmar que este proceso ha terminado (la red ha aprendido) cuando los valores de los pesos permanecen estables.
Métodos de aprendizaje de las redes neuronales, explicar cada uno.
1- Aprendizaje Supervisado
El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo que determina la respuesta que debería generar la red a partir de una entrada determinada.
A. Aprendizaje por Corrección de Error. Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores deseados y los obtenidos a la salida de la red, es decir, en función del error cometido en la salida.
B. Aprendizaje por Refuerzo. Es más lento que el anterior, se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado, es decir, no se indica durante el entrenamiento la salida que se desea que proporcione la red ante una entrada determinada. 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.
C. Aprendizaje Estocástico. Consiste 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.
2 - Aprendizaje No Supervisado
Las redes con aprendizaje no supervisado, también conocido como autosupervisado, no requieren influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le indique si la salida generada en respuesta a una determinada entrada no es correcta.
Hay 2 tipos de algoritmos de aprendizaje no supervisado:
A. Aprendizaje Hebbiano. Un proceso de aprendizaje que tiene lugar a lo largo de un periodo de tiempo modifica de alguna forma la red para incluir la nueva información. La suposición de Hebb determina que se produce algún cambio entre A y B, de tal modo que la influencia de A sobre B se ve incrementada. Si el experimento se repite con frecuencia suficiente, A será capaz de lograr eventualmente, que se dispare B incluso en ausencia de la estimulación visual procedente de C. En el caso de las RNA, significa que el peso de la conexión entre ambas neuronas se ve incrementado.
B. Aprendizaje Competitivo y Comparativo. Se orienta a la clasificación de los datos de entrada. En este tipo de aprendizaje, las unidades de salida luchan por el control sobre porciones del espacio de entrada.
Las unidades de entrada se conectan directamente a las unidades de salida, pero éstas también se conectan entre sí con conexiones precableadas negativas o inhibitorias. La unidad de salida con la mayor activación en sus entradas tendrá más fuerza que sus competidores. Como resultado, los competidores se vuelven más débiles, perdiendo su poder de inhibición sobre las unidades más fuertes. Las unidades más fuertes se hacen cada vez mayor. Pronto, el resto de las unidades de salida estará completamente inactivo.
Explicar el perceptrón y sus características.
El perceptrón fue uno de los primeros modelos de redes neuronales. Consiste en pesos entrenables multiplicativos, un sumador y una función umbral. Imita una neurona tomando la suma ponderada de sus entradas y enviando a la salida un 1 si la suma es más grande que algún valor umbral ajustable, y enviando un 0 en caso contrario.
Un perceptrón es una red neuronal en la que:
* Solo hay una neurona.
* Las entradas son binarias: solo se permiten 0 y 1.
* Las cajas lógicas pueden interponerse entre las entradas y los pesos del perceptrón. Cada caja lógica puede verse como una tabla que produce un valor de salida de 0 o 1 para cada combinación de 0 y 1 que pueda aparecer en sus entradas.
* La salida del perceptrón es 0 o 1, dependiendo de si la suma ponderada de las salidas de las cajas lógicas es mayor que el umbral.
Redes neuronales artificiales ESTRUCTURA
Las neuronas se modelan mediante unidades de proceso. Cada unidad de proceso se compone de:
* Una red de conexiones de entrada.
* Una función de red, 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.
* La salida, por donde se transmite el valor de activación a otras unidades.
Ventajas de una red neuronal.
- Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o en una experiencia inicial.
- Auto-Organización. Una red neuronal puede crear su propia organización o representación de la información que recibe mediante una etapa de aprendizaje.
- Tolerancia a Fallos. Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta es una tolerancia a fallos respecto a los datos. Las redes 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 los fallos es que tienen su información distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamiento.
- Operación en Tiempo Real. Las redes neuronales se adaptan bien a esto debido a su implementación paralela.
- Fácil Inserción dentro de la Tecnología Existente. Con las herramientas computacionales existentes, una red puede ser rápidamente entrenada, comprobada, verificada y trasladada a una implementación hardware de bajo costo. Las redes neuronales se pueden utilizar para mejorar sistemas en forma incremental y cada paso puede ser evaluado antes de acometer un desarrollo más amplio.
Una red neuronal guarda información redundante?
La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su información distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamiento.
aprendizaje online y aprendizaje offline.
Aprendizaje online: Si la red puede aprender durante su funcionamiento habitual.
Aprendizaje offline: Si el aprendizaje supone la desconexión de la red, es decir, su inhabilitación hasta que el proceso se termine.
Cuando el aprendizaje es off-line se distingue entre una fase de aprendizaje o entrenamiento y una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un conjunto de datos de test o prueba, que serán utilizados en la fase correspondiente. Además los pesos de las conexiones permanecen fijos después que termina la etapa de entrenamiento de la red.
Me pregunto si el problema or y el xor se podían resolver con un perceptrón y si no se podía entonces qué tipo de red neuronal había que usar.
El perceptrón es incapaz de aprender a resolver algunos problemas verdaderamente sencillos.
El perceptrón no puede aprender a crear una superficie lineal de decisión que separe estas diferentes salidas, porque dicha superficie de decisión no existe. No hay una única recta que pueda separar las salidas 1 de las salidas 0.
como aprende el preceptron
Hasta que el perceptrón de el resultado correcto para cada muestra de entrenamiento:
Si el perceptrón produce una respuesta errónea:
Si dice NO cuando debería decir SI, sumar el vector de salida de caja lógica al vector peso
En otro caso, restar el vector de salida de caja lógica del vector peso
En cualquier otro caso, no hacer nada
el problema or y el xor se podían resolver con un perceptrón y si no se podía entonces qué tipo de red neuronal había que usar.
El perceptrón es incapaz de aprender a resolver algunos problemas verdaderamente sencillos.
El perceptrón no puede aprender a crear una superficie lineal de decisión que separe estas diferentes salidas, porque dicha superficie de decisión no existe. No hay una única recta que pueda separar las salidas 1 de las salidas 0.