Download ZISC: Zero Instruction Set Computer Introducción
Document related concepts
Transcript
ZISC: Zero Instruction Set Computer Introducción Nelson Acosta & Lucas Leiva 2010 ZISC Vectores de datos de 64 Opera en modo RBF o KNN Permitr hasta 127 subredes Arquitectura paralela Permite encadenamiento de dispositivos 1 ZISC vs. PC PC 1 procesador para muchas entradas de memoria ZISC processor processor processor El reconocimiento se realiza hasta identificar el patrón processor 1 procesador para cada entrada de memoria El reconocimiento se realiza en tiempo constante processor processor Procesamiento serial (PC) ¿Sos Juan ? No 2 Procesamiento serial (PC) ¿Sos Juan? No Procesamiento serial (PC) ¿Sos Juan? Si 3 ZISC: Arquitectura Vector de entrada Hasta 64 componentes de 1 byte PARALELISMO TOTAL Neurona #1 Neurona #2 Neurona #3 Neurona #4 Expansion de red sin perdida de velocidad Neurona #5 Hasta 16283 categorías Procesamiento Paralelo (ZISC) ¿Qúién es Juan ? Yo 4 Estructura neuronal Memoria para almacenar prototipo Registros de almacenamiento de contexto, norma y categoría Campo de influencia activo (AIF) Procesador para el cálculo de la distancia entre el vector de entrada y el prototipo Memoria Procesador Norma Contexto Distancia Categoría AIF Normas de cálculo de distancia Norma L1 =∑ ∑|Vi-Pi| P1 Norm Lsup=MAX|Vi-Pi| P1 5 Cálculo de distancia Vector #1 Vector #2 Distancia L1 L1 norm = Sum | V1- V2 | Diferencia entre todos los componentes Distancia Lsup L1 norm = Max | V1- V2 | Máxima diferencia entre 2 componentes Resultados de decisión Identificado – Incierto – Identificado con una o mas neuronas degeneradas No clasificado – Todas las neuronas activas corresponden a la misma categoría Las neuronas activas poseen diferentes categorías asociadas No identificado – No existen neuronas activas 6 Proceso de aprendizaje Contexto Set Context Vector Put vector Vector yace en el AIF del prototipo? Si Posee la misma categoría? Si No No Crear prototipo (neurona) Nada Set Category Category AIF = Min (Maximum Influence Field and distance to closest prototype with a different category Proceso de operación Contexto Set Context Vector Put vector Si El vector yace en el AIF de algún prototipo? No Construir lista de categorías y distancias de los prototipos activos Categorías No La lista contiene diferentes categorías Identificado Si Incierto Desconocido 7 Activación de múltiples neuronas Cada neurona calcula su distancia con el vector de entrada Si la distancia es menor que el AIF de la neurona, ésta se activa y transmite su distancia Las distancias son ordenadas de incrementalmente Cálculo de menor distancia Los 14 bits del registro de distancia está conectado a un bus comun en en pull-up Considerando un ejemplo con 4 líneas 1 Line 1 Line 2 Line 3 Line 4 8 Orden de 3°línea En la tercer línea, 2 neuronas vuelven 0 la línea Todas las neuronas examinan el bus para detereminar si sus 3 primeras líneas coinciden con el bus. Si no, su distancia es mayor que el menor valor, y se descarta. out out 1 1 0 Line 1 Line 2 Line 3 Line 4 Orden de la 4°línea Ganadora out 1 1 0 0 Line 1 Line 2 Line 3 Line 4 9 Extracción de características Es una reducción de la cantidad de información Contiene información relevante de los patrones Ejemplo: un histograma de intensidades puede reducir 1MB en 256 valores significantes Radial Basis Function 10 Regiones de decisión en espacios característicos Regiones no lineales en un espacio característico 2D Separación de las regiones: Umbralado El umbral no es aplicable con regiones no lineales 11 Separación de las regiones: Perceptrón B A B La division del espacio puede ser muy compleja B Separación de las regiones: RBF 1 RBF permite mapear cualquier forma 0 1 12 Proceso de aprendizaje 20 Reconocimiento y entrenamiento de objeto usando 2 características con valores entre o y 20 Inicialización: Creación de un espacio de características de 2 dimensiones vacío 7 10 0 20 Proceso de aprendizaje 20 Vector de entrada V1 con categoría A y coordenadas (7,10). V1 7 Respuesta ZISC : no identificado 0 10 20 13 Proceso de aprendizaje 20 Se crea una región con categoría A, con el máximo campo de influencia. Máximo campo de influencia V1 7 A 0 10 20 Proceso de aprendizaje 20 Vector de entrada B con categoría B, cayendo dentro del campo de influencia de A V2 V1 7 Respuesta ZISC: Identificado como "A" 0 10 20 14 Proceso de aprendizaje 20 La región de la categoría A se ajusta para excluir a V2 de su campo de influencia. V2 V1 7 10 0 20 Proceso de aprendizaje 20 Se crea una región B. Su campo de influencia excluye al centro de la región A. V2 7 V1 A B 0 10 20 15 Proceso de Aprendizaje 20 Vector de entrada de categoría B, con posicion en la intersección de las regiones A y B. 7 V3 Respuesta ZISC: Incierto 0 10 20 Proceso de aprendizaje 20 La region A se contrae para excluir a V3. No se crea una nueva región porque V3 ahora pertenece solo a la región B. 7 V3 A B 0 10 20 16 Proceso de aprendizaje 20 Vector de entrada V4 con categoría C, y situado en las regiones A y B V4 7 Respuesta ZISC: Incierto 0 10 20 Proceso de entrenamiento 20 Las regiones A y B se contraen para excluir de sus regiones a V4. V4 7 0 10 20 17 Proceso de aprendizaje 20 Se crea la región C. C B 7 A 10 0 20 Proceso de aprendizaje 20 Se completa el mapeo del espacio característico. 7 A B C 0 10 20 18 Campo de influencia mínimo B B A Los AIF no pueden contraerse más allá del Minif Minimum Influence Field Neuronas degeneradas en el área incierta (Minif pequeño) B A Rango de incerteza 19 Neuronas degeneradas en área incierta (Minif grande) B A Rango de incerteza Ajuste de Minif Identificado Incierto No identificado Incremento de Minif Identificado Incierto No identificado Decremento de Minif 20 Presición y rendimiento Presición: mide la efectividad de la clasificacion Rendimiento: mide la seguridad de la red en una clasificación Presición y rendimiento Precisión Incremento de Minif Más conservativo 0 Decremento de Minif Más liberal Rendimiento 21 Mejorando la curva de aprendizaje Precisión Conocimieto inicial Entrenamiento adicional 0 Rendimiento Salida de la red Patrón de entrada Patrones identificados (con errores?) 80% Identificados con 1% de error Precisión 99% Rendimiento 80% Patrones rechazados (inciertos o no identificados) 20% rechazados 22 Representacion de múltiples espacios de características Píxeles Transformada de Wavelet ZISC Network #1 Histograma de Color ZISC Network #2 Análisis de forma ZISC Network #3 Arquitectura cooperativa (Serial) Patrones de entrada (100) Color Rendimiento = 80% E=1% 80 clasificados, 1 error Textura Rendimiento = 90% E=1% 18 patrones clasificados 2 patrones rechazados 23 Cooperative architecture (Parallel) Patrones de entrada (100) Rendimiento = 80% Error=1% Color Forma Rendimiento = 90% Error=1% Si el número de aceptación = 2 Rendimiento global <80% Error global <1% Metodología Usar patrones para evaluar la calidad de las características – – Si el numero de neuronas es igual al numero de muestras, la caracteristica es debil Si existe un gran número de incertezas, las áreas de desición están sobrelapadas con las características seleccionadas Si el número de neuronas es pequeño, con respecto al número de patrones, la característica es considerada como buena. 24 ZISC en reconocimiento de imágenes Los problemas de imágenes son – – No lineales (iluminación, rotacion) Complejos y difusos ZISC opera como un sistema biológico – – Aprende ejemplos con diferentes condiciones Reconoce objeto por similitud Construcción de sistema de reconocimiento de imágenes 1) Elegir patrones de entrenamiento a entrenar. 2) Construir uno o más motores de clasificación para clasificar los objetos en diferentes espacios característicos. 3) Reconocer objetos idénticos o similares en nuevas imágenes. 25 Areas de aplicación Corruptos Imprecisos Color, textura, densidad, Identificación de formas irregulares, etc. Datos Dimensión, diámetro, número de hoyos, etc. Exactos Fácil de describir Proceso Imposible de describir Inspección de partes Aprender características de aceptación – Forma, posicion, color, textura Aprender características inaceptables – Control de calidad, ordenamiento, alineación mezclas, roturas, defectos Salidas – – Mostrar objetos identificados Mostrar objetos no identificados Detección de anomalías y mantenimiento predictivo 26 Clasificación de textura y superficie Clasificación difusa – – – Detacción de defectos en superficies Calidad en maderas Diagnóstico médico Aprender muchos ejemplos ZISC puede diferenciar similitudes Seguimiento Aprender uno o más objetivos Detectar patrones similares en el siguiente cuadro Re alimentar el entrenamiento Realizar barrido inteligente Control de tráfico vehicular, vigilancia aérea, seguimiento de humanos 27 Biometría Autentificación de personas Reconocimiento de expresiones faciales Vigilancia Permitir al sistema decidir que transmitir – – , Coordenadas de el objetivo Señal de alarma Seguridad, monitoreo de pacientes, monitoreo de ambientes hostiles Suprimir cuellos de botella en transmisiones Evitar falsas alarmas y errores humanos 28 Plantillas Aprender un patrón “de oro” Localizar y cuantificar variaciones con respecto al patron de oro Impresiones textiles Inspección de máscaras Inspección de obleas Aproximación con herramientas convencionales Secuencias de filtros y mejora de imágenes Umbralado crítico para aislar regiones de objetos del fondo Problema: detectar cuando el umbral es suficiente sin ser escaso 29 Aproximación con sistema de clasificación Aprender la suficiente cantidad de ejemplos de diferentes “bolas” bajo diferentes condiciones de iluminación Aprender ejemplos del fondo, de manera de definir el límite entre entre patrones similares Metodología 3- TEACH the engine 2- ANNOTATE Objects of interest with a category Feature and other parameters 4- VALIDATE the engine 1- IMAGE COLLECTION more images Recognition engine more annotations No Validation OK? Yes 5- RECOGNIZE Action/Communication 30 1) Colección de imágenes – Deben ser muestras representativas Incluyendo – casos comunes, como aislados Número de muestras significantes Tanto para entrenamiento como validación 2) Anotación de imágenes – – – Identificar componentes Identificar subcomponentes Evaluar necesidad de entrenar con muestras del fondo 31 2) Anotación de imágenes Cañon de tanque Torreta de tanque Ruedas de tanque Tanque Vector característico Distribución de píxeles por valores de intensidad Un mismo objeto puede ser representado mediante diferentes características Se puede combinar varias características para producir un Promedio de clasificador robusto intensidades en eje vertical Promedio de intensidades en eje horizontal 32 3) Aprendizaje Que vectores característicos calcular por objeto? – – Representativos de forma, color, textura, contraste de bordes, etc. Invariantes a sombras, geometrías, etc Usar un contador de ejemplos? Construir un clasificador moderado, o conservativo? Espacios de característicos múltiples Vector característico de color Recognition Engine #1 Vector característico de textura Recognition Engine #2 Vector característico de forma Recognition Engine #3 33 Integrando características múltiples Regla de decisión Engine #1 Engine #2 Engine #3 Arbol de decisión Engine #1 no identified Engine #2 Consolidation rule no identified Engine #3 OK no identified category identified unknown category Barrido de imágen Raster Concentric Adaptativo 34 Sistemas convencionales Vs Inteligentes en Imágenes Convencionales Usuario = experto en imágenes o programador Requiere de programación y entendimiento del problema Costo de U$S 3-5K Inteligentes Usuario = experto en su dominio No requiere programación Bajo costo 35