Anexo Redes Neuronales

Documentos relacionados
Apéndice sobre ecuaciones diferenciales lineales

Sistem as de ecuaciones lineales

Inecuaciones con valor absoluto

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

ÁLGEBRA LINEAL II Algunas soluciones a la práctica 2.3

10. 1 Definición de espacio euclídeo.

Sistemas de ecuaciones lineales

TEMA 3: EL MERCADO DE BIENES

TEMA 8.- NORMAS DE MATRICES Y

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

En la notación C(3) se indica el valor de la cuenta para 3 kilowatts-hora: C(3) = 60 (3) = 1.253

DEFINICIONES Y CONCEPTOS (SISTEMAS DE PERCEPCIÓN - DTE) Curso

Matrices, determinantes, sistemas de ecuaciones lineales.

Ecuación de la recta. Ing. Jonathan Alejandro Cortés Montes de Oca. Calculo Vectorial INSTITUTO POLITÉCNICO NACIONAL.

MATRICES. M(n) ó M nxn A =

Ing. Ramón Morales Higuera

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos.

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

EJERCICIO. Dadas las rectas y

de la forma ), i =1,..., m, j =1,..., n, o simplemente por (a i j ).

Algebra lineal y conjuntos convexos

Profesorado de Nivel Medio y Superior en Biología Matemática - 1º Cuatrimestre Año 2013 FUNCIÓN CUADRÁTICA

Matriz sobre K = R o C de dimensión m n

Una matriz es una tabla ordenada (por filas y columnas) de escalares a i j de la forma: a

Funciones reales. Números complejos

CONTENIDOS. 1. Procesos Estocásticos y de Markov. 2. Cadenas de Markov en Tiempo Discreto (CMTD) 3. Comportamiento de Transición de las CMTD

Tema 1: Matrices y Determinantes

1.3.- V A L O R A B S O L U T O

Capítulo 1 Matriz Admitancia de Barra

como el número real que resulta del producto matricial y se nota por:

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Capítulo 2 Soluciones de ejercicios seleccionados

Representaciones gráficas: Método del Paralelogramo

Estudio de fallas asimétricas

Problemas de Espacios Vectoriales

Tema 3: Sistemas de ecuaciones lineales

Probabilidad y Estadística

CINEMÁTICA: ESTUDIO DEL MOVIMIENTO. Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos.

Guía de Problemas. CINEMÁTICA de la MARCHA. Introducción

Conteste a cuatro de las siguientes cinco cuestiones. Explique el concepto y ponga un ejemplo. Cada una de las cuestiones vale 1 punto.

ELEMENTOS DE GEOMETRÍA. Eduardo P. Serrano

Estos apuntes se han sacado de la página de internet de vitutor con pequeñas modificaciones.

Espacios Vectoriales

Introducción. Flujo Eléctrico.

ROBÓTICA I. Cinemática Directa

3 Curvas alabeadas. Solución de los ejercicios propuestos.

Matrices. Concepto de matriz Se denomina matriz a todo conjunto de números o expresiones ordenados en filas y columnas.

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO III

MEDIDA DE POTENCIA EN TRIFÁSICA MÉTODO DE LOS DOS VATÍMETROS

Consideremos dos situaciones que se muestran en los cuadros a continuación:

Matrices y determinantes

El TAD Grafo. El TAD Grafo

CANTIDAD A `PRODUCIR = FUNCION DE LA COMBINACION OPTIMA DE FACTORES DE LA PRODUCCION

Definición de la matriz inversa

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

DESCRIPCIÓN DE FUNCIONES y 1.1.3

Colegio Internacional Torrequebrada. Departamento de Matemáticas

Analizador de Red Multifuncional. Modelo: AOB292E 9S5 CODIGO

Tema: S7-1200, Valores Analógicos.

Tema 7: Geometría Analítica. Rectas.

2 4. c d. Se verifica: a + 2b = 1

Tema 5: Sistemas de Ecuaciones Lineales

MÉTODO DEL DUAL (TEORIA DE DUALIDAD)

sobre un intervalo si para todo de se tiene que. Teorema 1 Sean y dos primitivas de la función en. Entonces,

Aplicación: cálculo de áreas XII APLICACIÓN: CÁLCULO DE ÁREAS

Dos inecuaciones se dice que son equivalentes cuando ambas tienen las mismas soluciones.

8. Control Multivariable

Tema 1: MATRICES. OPERACIONES CON MATRICES

Resumen 3: Matrices, determinantes y sistemas de ecuaciones

PRINCIPIOS DE LA DINÁMICA

PRÁCTICAS DE ROBÓTICA INDUSTRIAL [ABB 140] Práctica 2: Integración del IRB 140 en un sistema flexible de fabricación

Proyecciones. Producto escalar de vectores. Aplicaciones

CONTRASTES DE HIPÓTESIS NO PARAMÉTRICOS

TSTC. Dpt. Teoría de la Señal, Telemática y Comunicaciones Tema 1 INTRODUCCIÓN A LA ROBÓTICA

Práctica 4 Control de posición y velocidad de un motor de corriente continua

Ecuaciones de la recta en el espacio

Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

«La derivada de una función en un punto representa geométricamente la pendiente de la recta tangente a la función en dicho punto»

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función.

El plano cartesiano y Gráficas de ecuaciones. Copyright 2013, 2009, 2006 Pearson Education, Inc. 1

Sistemas de dos ecuaciones lineales de primer grado con dos incógnitas

Apuntes de Electroquímica

ORGANIZACIÓN DE AVIACIÓN CIVIL INTERNACIONAL Agencia Especializada de las Naciones Unidas. Oficina Regional NACC de la OACI Página 1

Tema II: Programación Lineal

T0. TRANSFORMADAS DE LAPLACE

PAUTA AUXILIAR Nº4. 1. Sean los puntos,,. Pruebe que no son colineales y encuentre la ecuación

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

MANUAL DE USUARIO ESCLUSA Z14 VERSIÓN 5

Fabio Prieto Ingreso 2003

Herramientas digitales de auto-aprendizaje para Matemáticas

Sistemas Conexionistas

Tema 14: Sistemas Secuenciales

1. Qué es un automatismo?

GEOMETRÍA. que pasa por el punto P y es paralelo a π. (0,9 puntos) b) Determinar la ecuación del plano π

Colisiones. Objetivo. Material. Fundamento teórico. Laboratori de. Estudiar las colisiones elásticas e inelásticas entre dos cuerpos.

elab 3D Práctica 2 Diodos

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

UNIDAD 7 Trazo de curvas

Álgebra Lineal VII: Independencia Lineal.

Modelización por medio de sistemas

Transcripción:

Anexo Redes Neuronales Félix Monasterio-Huelin y Álvaro Gutiérrez 8 de abril de 2016 Índice Índice 1 Índice de figuras 1 1. El entorno del robot 2 2. Neurona y funciones de activación 2 2.1. Vector de pesos ampliado...................... 3 2.2. Normalización de pesos....................... 3 3. Matríz de adyacencia de la red neuronal 3 4. Entradas sensoriales 4 5. Simulación de una red neuronal por capas: fichero de configuración y fichero de datos 5 6. Situación de inactividad sensorial 5 7. Comportamiento de navegación y de evitación de obstáculos 6 7.1. Ejemplo de arquitectura de dos capas............... 6 7.2. Ejemplo de arquitectura de tres capas. Una de ellas asociativa.. 8 Índice de figuras 1. Neurona................................ 2 2. Arquitectura Neuronal de tres capas................ 4 3. Red Neuronal con el mínimo número de capas: sensorial y motora 7 4. Con capa asociativa......................... 9 1

1. El entorno del robot La Arena o Entorno del robot está programado en: experiments/testneuronexp.cpp 2. Neurona y funciones de activación En la Figura 1 se muestra el esquema de una neurona cuyas ecuaciones describimos a continuación. En la Figura no se especifica la capa a la que pertenece la neurona. 1 e i1 e in θ i w i1 w in w i h y i c i Figura 1: Neurona El estado de la neurona i-ésima de la capa m-ésima tiene la forma: x m i = w m i c m i + N m j=1 w m ij e m ij = w m i c m i + N m j=1 w m ij y m j (2.1) donde y m j representa la salida de la capa m -ésima, que coincide con la entrada e m ij. Si los pesos toman valores en [0, 1] entonces w m i = 1. El potencial de acción es v m i = x m i θ m i (2.2) donde θi m es el sesgo o umbral de la neurona. La salida es: yi m = h m (vi m ) (2.3) donde h m es la función de activación asociada a cada una de las neuronas de la capa m-ésima. Las funciones de activación están programadas en: 2

controllers/layercontroller.cpp 2.1. Vector de pesos ampliado Vector de pesos ampliado de la neurona i-ésima de la capa m-ésima: w im = (w m i0w m i1w m i2... w m in m ) (2.4) donde w m i0 = θm i es el sesgo o umbral. 2.2. Normalización de pesos Los componentes del vector de pesos ampliado se normalizan linealmente a los valores extremos [w min, w max ] definidos en el fichero de configuración a partir de los valores definidos en el fichero de datos que deben ser números en [0, 1]: w = (w max w min )w datos + w min (2.5) donde w datos [0, 1] es el peso que figura en el fichero de datos, y w es el peso normalizado que utilizará la red neuronal. También se normaliza el peso w i m asociado a la entrada sensorial a partir del valor unidad. Este peso no forma parte del vector de pesos ampliado. El peso de cada neurona de las capas sensoriales es siempre la unidad y nunca se normaliza. Siempre llevan asociada la función de activación identidad. Tampoco se normalizan los pesos cuando la función de activación es la definida como lineal. Esta función de activación es conveniente utilizarla solamente para las neuronas de la capa motora. 3. Matríz de adyacencia de la red neuronal La conexión direccional entre capas (de la salida de una capa a la entrada de otra capa) se define en el fichero de configuración a través de una matriz de adyacencia. 3

V L V R N 2 1 N 2 2 N 0 1 N 0 2 N 0 3 N 0 4 N 1 1 N 1 2... N 1 8 IR 0 IR 1 IR 6 IR 7 L 0 L 1 L 7 Figura 2: Arquitectura Neuronal de tres capas Por ejemplo la arquitectura de tres capas (dos sensoriales y una motora) de la Figura 2 tiene la siguiente matríz de adyacencia: M = 0 0 1 0 0 1 (3.1) 0 0 0 Las capas 0 y 1 se conectan a la capa 2. La capa 2 no se conecta a ninguna capa. 4. Entradas sensoriales En el fichero de configuración deben ponerse activos todos los sensores del mismo tipo disponibles que vayan a ser utilizados por la red neuronal. Como consecuencia, e independientemente del valor de los pesos, el número total de pesos debe contabilizarse de acuerdo con esta limitación. Si la sintonización de la red neuronal se realiza manualmente es posible asignar valores nulos a algunos pesos en el fichero de datos, por lo que el efecto sería equivalente a que los sensores correspondientes no estén activos. En la Sección 7 se analizan dos arquitecturas neuronales sintonizadas manualmente. Ambas redes neuronales utilizan los sensores de proximidad, y solo una de ellas utiliza también los sensores de contacto. Los sensores de proximidad satisfacen la ecuación de actividad siguiente: IR = { 1 d, 3,5 d 28 28 0, d > 28 (4.1) 4

donde el parámetro d representa la distancia a un obstáculo medido en cm. Esta distancia se calcula como la distancia al centro del robot del punto de intersección con el obstáculo más próximo de la recta que pasa por el centro del robot y por el sensor correspondiente. El radio del robot es de 3,5cm. Los sensores de contacto satisfacen la ecuación de actividad siguiente: CT = { 1, 3,5 d 5 0, d > 5 (4.2) 5. Simulación de una red neuronal por capas: fichero de configuración y fichero de datos./irsim -E 21 -p paramfiles/neuronexamples/neuronexperiments/confneuron -c paramfiles/neuronexamples/neuronexperiments/datneuron Los ficheros confneuron y datneuron son ficheros particulares de configuración y de datos respectivamente. El fichero de datos consta de un número, que representa el número total de pesos, seguido de una secuencia de los componentes de los vectores de pesos ampliados ordenados según la numeración de las capas. El número total de pesos es: L = N (N m + 1)n m (5.1) m=1 donde N es el número de capas, N m el número de entradas de la capa m-ésima y n m el número de neuronas (y por lo tanto salidas) de la capa m-ésima. Los componentes del vector de pesos ampliado del fichero de datos debe tener valores en [0, 1]. 6. Situación de inactividad sensorial Denominamos situación de inactividad sensorial cuando las entradas sensoriales exteroceptivas toman el valor nulo. De aquí que el estado de cada neurona en esta situación sea: y el potencial de acción x m i = N m j=1 w m ij y m j (6.1) v m i = x m i w m i0 (6.2) La salida de las capas sensoriales en esta situación será nula (salvo en el caso en que los sensores sean propioceptivos), por lo que las entradas de las capas a las que estén conectadas serán nulas, yj m = 0. De aquí que el estado de las 5

neuronas de estas capas sea nula, por lo que el potencial de acción tomará el valor del sesgo o umbral con signo negativo. Dada una red neuronal es posible saber qué salida tendrá la capa motora en la situación de inactividad sensorial. Desde un punto de vista del diseño de la red neuronal la salida de la capa motora en esta situación debe considerarse una especificación de diseño. Esto supone normalmente, no solo la elección adecuada de las funciones activación asociadas a las neuronas de cada capa, sino también la resolución de un sistema de ecuaciones, en general no lineal. 7. Comportamiento de navegación y de evitación de obstáculos En las dos subsecciones siguientes, 7.1 y 7.2 se detallan dos redes neuronales sintonizadas manualmente cuyo objetivo es dotar al robot de los comportamientos de navegación y de evitación de obstáculos. Podrá comprobarse que con una elección adecuada de las funciones de activación, el funcionamiento de ambas redes neuronales es similar al de un vehículo de Braitenberg con conexión contralateral y polaridad negativa. Veremos que los robots pueden tener un comportamiento de evitación de obstáculos siempre que las redes neuronales se sintonicen adecuadamente en la situación de actividad sensorial. A su vez estos robots pueden tener un comportamiento de navegación si las redes neuronales se sintonizan adecuadamente en la situación de inactividad sensorial. 7.1. Ejemplo de arquitectura de dos capas Supongamos que el bloque NEURAL del fichero de configuración contiene lo siguiente: WEIGTH UPPER BOUND = 1.0 WEIGTH LOWER BOUND = 0.0 NUMBER OF LAYERS = 2 SENSOR TO LAYER 0 = 2 SENSOR TO LAYER 1 = 0 ACTIVATION FUNCTION LAYER 0 = 0 ACTIVATION FUNCTION LAYER 1 = 3 NUMBER OF OUTPUTs LAYER 0 = 8 NUMBER OF OUTPUTs LAYER 1 = 2 RELATION LAYER 0 = 0 1 RELATION LAYER 1 = 0 0 Supongamos que el fichero de datos contiene los siguientes datos: 6

18 0.3 0 0 0 0 0 0 0.5 0.9 0.2 0.6 0.4 0 0 0 0 0 0 V L V R N 1 1 N 1 2 N 0 1 N 0 2 N 0 3 N 0 4 IR 0 IR 1 IR 6 IR 7 Figura 3: Red Neuronal con el mínimo número de capas: sensorial y motora Este fichero de datos se corresponde con un caso particular de la arquitectura de la Figura 3 en el que las conexiones solo fuesen contralaterales. En este caso, puesto que los pesos de las neuronas toman valores en [0, 1] y teniendo en cuenta que la función de activación de la capa sensorial es la identidad, el potencial de acción de las neuronas de la capa motora es v 1 1 = 0,5IR 6 + 0,9IR 7 0,3 v 1 2 = 0,6IR 0 + 0,4IR 1 0,2 (7.1) Puesto que la función de activación de la capa motora es lineal, entonces su salida será V L = sat(1 v1) 1 V R = sat(1 v2) 1 (7.2) donde sat es una función de saturación definida como x, 0 x 1 sat(x) = 1, x > 1 0, x < 0 (7.3) En la situación de inactividad sensorial, los potenciales de acción toman los valores v1 1 = 0,3 v2 1 (7.4) = 0,2 7

por lo que la salida de la capa motora será V L = 1 V R = 1 (7.5) Por lo tanto el robot se desplazará en línea recta y a su máxima velocidad. 7.2. Ejemplo de arquitectura de tres capas. Una de ellas asociativa. Supongamos que el bloque NEURAL del fichero de configuración contiene lo siguiente: WEIGTH UPPER BOUND = 1.0 WEIGTH LOWER BOUND = 0.0 NUMBER OF LAYERS = 3 SENSOR TO LAYER 0 = 2 SENSOR TO LAYER 1 = 1 SENSOR TO LAYER 2 = 0 ACTIVATION FUNCTION LAYER 0 = 0 ACTIVATION FUNCTION LAYER 1 = 4 ACTIVATION FUNCTION LAYER 2 = 3 NUMBER OF OUTPUTs LAYER 0 = 8 NUMBER OF OUTPUTs LAYER 1 = 8 NUMBER OF OUTPUTs LAYER 2 = 2 RELATION LAYER 0 = 0 1 0 RELATION LAYER 1 = 0 0 1 RELATION LAYER 2 = 0 0 0 Supongamos que el fichero de datos contiene los siguientes datos: 90 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0.5 0.9 0 0.6 0.4 0 0 0 0 0 0 8

V L V R N 2 1 N 2 2 N 1 1 N 1 2... N 1 8 CT 7 CT 1 CT 0 N 0 1 N 0 2... N 0 8 IR 0 IR 1 IR 7 Figura 4: Con capa asociativa Este fichero de datos se corresponde con un caso particular de la arquitectura de la Figura 4 en el que las conexiones entre la capa sensorial y la asociativa se realizan neurona a neurona, y las conexiones entre la capa asociativa y motora son contralaterales pero solo de las neuronas {1, 2, 7, 8}. En este caso, puesto que los pesos de las neuronas toman valores en [0, 1] y teniendo en cuenta que la función de activación de la capa sensorial es la identidad, el potencial de acción de las neuronas de la capa asociativa es, v 1 i = IR i 1 + CT i 1, i = 1, 2,..., 8 (7.6) Supongamos que se ha programado una función de activación identidad para la capa asociativa, es decir y 1 i = v1 i. Teniendo en cuenta las ecuaciones de actividad sensorial dadas por 4.1 y 4.2, el intervalo de valores que puede tomar la salida de cada neurona cuando el sensor de contacto correspondiente esté activo es [1,821; 1,911]. Cuando el sensor de contacto no está activo el intervalo de valores es [0; 0,821). El potencial de acción de la capa motora será, v 2 1 = 0,5v 1 7 + 0,9v 1 8 v 2 2 = 0,6v 1 1 + 0,4v 1 2 (7.7) Puesto que la función de activación de la capa motora es lineal, entonces su salida será V L = sat(1 v1) 2 V R = sat(1 v2) 2 (7.8) 9

donde sat es una función de saturación definida como x, 0 x 1 sat(x) = 1, x > 1 0, x < 0 (7.9) En el caso de inactividad sensorial vi 1 = 0, i, por lo que la salida de la capa motora será, V L = 1 (7.10) V R = 1 Por lo tanto el robot se desplazará en línea recta y a su máxima velocidad. 10