Está en la página 1de 8

DOCUMENTO SOBRE TECNOLOGIA ZISC

TECNOLOGIA ZISC (Zero Instructions Set Computer – Computadora con Cero Conjunto de
Instrucciones), fue desarrollado por IBM en París y por Guy Paillet en California.

En 1992, usando estas técnicas, Guy Paillet trabajó en conjunto con IBM en el desarrollo y
patentamiento de una arquitectura en paralelo de hardware, para emular el cerebro humano,
orientada al reconocimiento de patrones.

El resultado de estos esfuerzos fue ZISC, un chip de altísima escalabilidad y alta tecnología de
firmware para el reconocimiento de patrones.

IBM produjo el chip original y la actual segunda generación de chips, que excede la densidad
de las redes neuronales, en dos veces la densidad de las neuronas.

Particularmente, ZISC no sufre el entrenamiento y la emulación serial por software, ni tampoco


el incremento en la densidad de la red neuronal.

El resultado neto de este esfuerzo fue una tecnología de reconocimiento de patrones, que
ofrece un acercamiento elegante a la solución de seguimientos complejos, reconocimiento y
comprensión de problemas inherentes al procesamiento avanzado de imágenes y sonido. Este
acercamiento ofrece muchas ventajas intrínsecas, para traducir en este producto
características y capacidades enormes.

La primera generación de chips ZISC contenía 36 células independientes que pueden ser
pensadas como neuronas ó procesadores paralelos. Cada una de estas células es designada
para comparar un vector de entrada de 64 bytes, con uno similar almacenado en la memoria de
las células. Si el vector de entrada acierta con el vector en memoria, se alerta. Si no acierta, no
lo hace. Como una arquitectura paralela, el chip ZISC le dice a todas las células que comparen
el vector de entrada con la memoria, al mismo tiempo. Como salida, el chip provee el número
de la célula que tiene el acierto, ó indica que no hubo coincidencias.

Silicon Recognition, la empresa de Guy Paillet, desarrolló la tecnología ZISC llamándola PALM
(Parallel Associative Learning Memory – Memoria Paralela de Aprendizaje Asociativo). Esta
combina un sistema de control, típicamente un FPGA y memoria DRAM, con uno ó más chips
ZISC, para crear un sistema de reconocimiento.

1
Es una tecnología de avanzada para identificación de modelos ó patrones (reconocimiento
positivo) ó para detección de anomalías ó novedades en el patrón (reconocimiento negativo),
con dispositivos inteligentes distribuidos.

ZISC ofrece una alternativa revolucionaria a las memorias y procesadores estándar, para
aplicaciones orientadas al seguimiento de objetos, reconocimiento de patrones, procesamiento
de señales de imagen y reconocimiento de información (data-mining).

Esto representa un paradigma significante que requiere cambiar a nuevas formas de pensar,
pero también increíbles nuevas oportunidades para el procesamiento en tiempo real.

En un entorno tradicional en serie, para reconocer patrones el programa básicamente carga el


patrón en memoria, y luego trae el patrón almacenado desde cada ubicación en un largo array.
Luego de traer los patrones, hace una comparación y extrae la información de la próxima
ubicación, y así sucesivamente. A medida que haya más patrones para traer, la velocidad del
proceso disminuye. Con una computadora muy rápida, cientos ó miles de patrones pueden ser
comparados en tiempo real, pero eventualmente puede fallar.

Esto se debe a que se necesita observar en cada ubicación del array, para ver si hay un
acierto. Con ZISC, el sistema provee la ubicación del acierto sin observar que hay dentro de
cada ubicación. En lugar de ver el problema como “¿Qué hay en la ubicación Nº 12 del array?”
ó “¿Hay un acierto?”, el problema se convierte en “Ubicación 12: acierto”.

Con la eliminación del paso de carga y comparación del patrón para cada ubicación, la
velocidad del sistema se incrementa increíblemente.

Los chips ZISC también pueden ser usados para encontrar comparaciones confusas. En vez
de preguntarse si encontró la comparación exacta, puede preguntar por el ítem más cercano o
siguiente. En este caso, las células están concentradas en una especie de “umbral de alertas”,
y el controlador del chip observa cual de todos los ítems devuelve el valor más cercano. Por
ejemplo, en la ubicación 12 podría haber 63/64 aciertos, y en la 14 podría haber 62/64. El
sistema devuelve la ubicación 12 como el “mejor acierto”. En este punto, el software de alto
nivel puede determinar si el acierto es apropiado.

El entrenamiento de un sistema basado en ZISC, para realizar reconocimiento de patrones, es


simple y directo. Por ejemplo, asumamos que estamos tratando de categorizar manzanas en
una cinta transportadora, como rojas, verdes ó amarillas. Podemos tomar cien manzanas rojas
diferentes y presentárselas al sistema. Si el sistema encuentra un patrón similar existente, las
clasificará como rojas. De no ser así, instruiremos al sistema para que agregue ese patrón a
una nueva célula. A continuación, haremos lo mismo con cien manzanas verdes y las cien
amarillas. Ahora, las cien primeras ubicaciones se definen como rojas, las cien segundas como
verdes y las cien terceras como amarillas.

Basándonos en que la ubicación es devuelta como un acierto, podemos empezar a clasificar


nuestras manzanas. De todas maneras, es razonable asumir que eventualmente podemos
tener una manzana que confunda al sistema. Cuando esto ocurre, podemos agregar el patrón
de esa manzana en una nueva célula que hace referencia a roja, verde ó amarilla.

El sistema puede ser instruido también por ejemplos contables. Si el sistema confunde una
manzana verde con una roja, lo puede corregir con el agregado de un nuevo patrón en una

2
célula “roja”. Eventualmente, el sistema aprenderá a separar manzanas en un alto grado de
exactitud.

El poder real de ZISC reside en la escalabilidad. La red ZISC puede ser expandida añadiendo
más dispositivos ZISC sin sufrir una reducción en la velocidad de reconocimiento.
Teóricamente no existen límites con respecto al número de células que pueden componer la
red. Un práctico ejemplo de esto es imaginar un gran estadio de fútbol con capacidad para
cincuenta mil personas. Si el anunciador ejecuta un aviso sobre el público, cada persona
escucha el mensaje al mismo tiempo y lo pueden procesar en un modo verdaderamente
paralelo. En opuesto, en una versión en serie tradicional, el anunciador debe moverse de
asiento en asiento y transmitir el mensaje de a una persona a la vez.

Hay muchas aplicaciones para esta tecnología. Reconocimiento facial es un caso de los más
usados. Por ejemplo, si su patrón es reconocido, el acceso está garantizado. Si esta tecnología
fuera puesta en una cámara en el frente de su casa, su puerta se abriría automáticamente
cuando usted se aproxime a ella.

Hoy, el chip ZISC trabaja a 20 Mhz y puede encontrar un acierto entre diez mil patrones en solo
3 microsegundos.

ZISC posee los siguientes atributos:

 Sin sistema operativo.


 Sin lenguaje.
 Sin diferenciación entre memoria y procesador.
 Habilidad de entrenamiento y aprendizaje.
 Paralelismo masivo sin límites de expansión.
 Increíble velocidad (de doscientos cincuenta mil a un millón de vectores comparados
por segundo, dependiendo del tamaño de los vectores).
 Más económico y potente que los chips para reconocimiento de imágenes y las
aplicaciones para el procesamiento de señales.
 Habilidad para activar funciones como RBF (Radial Basis Function – Función de
Base Radial) y KNN (Know Nearest Neighbour – Conocer el Vecino más Cercano).
 Provee un mantenimiento predecible, ya que anticipa los posibles defectos antes
que aparezcan.
 Puede ser combinado con cualquier tipo de sensores para mejorar el reconocimiento
de patrones.
 Tecnología de ultra bajo consumo de energía.
 Bajos costos de implementación.
 Reconocimiento por asociación, con la habilidad de reportar identificaciones
positivas, negativas ó inciertas.
 Capacidad para expandir las bases del conocimiento en cualquier momento.
 Tamaño de red infinito para enfrentar proyectos complejos ó para adaptarse a
proyectos evolutivos.
 Implementación del silicio para todo lo dicho anteriormente.

Las características del chip ZISC lo convierten en algo útil en dos situaciones específicas. La
primera es el motor de reconocimiento, introducido en una computadora tradicional. Silicon
Recognition ofrece placas PCI, ISA, PCMCIA y VME para ello. En este contexto, los chips ZISC

3
son usados para descargar la función de reconocimiento desde una computadora de propósitos
generales.

La segunda aplicación es cuando el reconocimiento es conectado a una función particular, la


cual no es controlada por una computadora de gran tamaño. Los chips ZISC utilizan muy poca
energía y son compatibles en entornos portátiles. Para este tipo de aplicación, Silicon
Recognition ofrece placas SIMM de 84 pines, las cuales contienen 3 ó 6 chips ZISC con 216
elementos de procesamiento (PEL´s).

La red neuronal pretende imitar el método usado por el cerebro humano para resolver
problemas. Los dispositivos están entrenados, no programados.

El motor de reconocimiento de imágenes de ZISC puede ser entrenado para reconocer


cualquier tipo de patrones (objetos, texturas, colores, defectos, etc.). Las aplicaciones
determinan como será clasificada la información y que características se definen mejor. Se
producen vectores de entrada que son enviados al motor de reconocimiento para su
aprendizaje.

Las tareas a realizar son:

1 – Recolección de imágenes.
2 – Anotar objetos de interés en una categoría (categorizar).
3 – Enseñar al motor de reconocimiento.
4 – Validar el motor de reconocimiento con el 100 % de las imágenes
recolectadas.
5 – Reconocer, usando el motor de reconocimiento cargado en una PC ó
cámara.

Muchas de las aplicaciones de reconocimiento y clasificación, requieren de la exploración


exhaustiva del vector de entrada.

4
Este es el caso en acercamientos probabilísticos, donde la decisión final es tomada una vez
que la probabilidad del vector entrada pertenece a alguna categoría. En estos casos, la
exploración es un recurso que consume tareas. Estructuras hiper paralelas, como las redes
neuronales, dan una solución muy eficiente a ésta clase de problemas.

Una red ZISC puede componerse de muchos procesadores ZISC en paralelo. La extensión de
la red no requiere lógica, solo resistencias y eventualmente generadores de energía. Esta
característica puede extender múltiples placas ZISC en cascada, con un simple conector.
Como resultado, no hay límites en el número de patrones y categorías necesarios para
construir un motor de reconocimiento exacto.

ZISC permite dividir la red neuronal en subredes. Una subred es definida por un valor
contextual, el cual puede setear un nivel de registro global (CSR – Control Status Register) a
nivel de neurona. El aprendizaje ó el reconocimiento pueden estar limitados según el valor del
contexto.

ZISC posee dos categorías de registros. Los primeros, llamados registros globales, contienen
información para el dispositivo (o para la red completa, cuando hay muchos dispositivos en
cascada).

Los segundos, llamados registros neuronales, contienen información local para cada neurona.
La neurona se define como un recurso capaz de almacenar patrones con su categoría y campo
de influencia. Una neurona también tiene su propia lógica para calcular distancias y comparar
campos de influencia, como así también para construir procesos de aprendizaje ajustando los
campos de influencia como nuevos patrones almacenados en la red.

Todas las neuronas se comunican en conjunto a través del bus comunicador Inter-ZISC. Un
protocolo eficiente permite un verdadero paralelismo de todas las neuronas de la red. Este bus,
es re direccionado internamente para permitir la conexión de varios módulos ZISC, sin impactar
en la performance.

La familia ZISC está diseñada para extender la red neuronal más allá del límite de un simple
chip, sin impactar en la performance. Algunas aplicaciones pueden también tener el beneficio
de multicapas, donde las decisiones de una capa pueden convertirse en vectores de entrada
de la segunda capa. Esto también puede hacerse conectando varios chips juntos en modo
multiplexado.

El bus de E/S de ZISC, fue diseñado para permitir una amplia variedad de agregados, desde
una máquina de estado simple a micro controladores o buses. La elección es dada al usuario
para elegir entre protocolos.

EJEMPLO DE IMPLEMENTACION ZISC: La Cámara PULNIX ZiCAM Zi-640 o simplemente la


ZiCAM es una cámara inteligente de libre programación. Es la única cámara inteligente que no
necesita algoritmos de visión, hojas de cálculo ó programación. La ZiCAM elimina la necesidad
de costos altos de PC´s, requeridas por las máquinas de visión clásicas.

Basada en tecnología de red neuronal, el corazón de la ZiCAM es un circuito ZISC. Esto resulta
en un sistema que puede realizar clasificaciones multidimensionales ó no lineales.

5
Viene provista con una interfaz gráfica llamada “ZiCAM EZI-Teacher”, la cual es usada para
entrenar la cámara mientras está fuera de línea. Este interfaz puede ser usada para capturar
objetos, definir campos visuales, reconocer características, testear el conocimiento de la
cámara y para poner la cámara en modo inspección.

Cada inspección es clasificada como un perfil en la red neuronal y es memorizada por la


ZiCAM. Durante la inspección, la cámara reconocer objetos basados en una asociación con el
perfil entrenado previamente. Una vez en línea, trabaja como un sistema de inspección stand-
alone.

Sus características generales son:

 Hardware con tecnología de red neuronal (ZISC)


 640 x 480 píxeles, con 8 bits de salida

6
 Motor de reconocimiento multimedia (MUREN)
 Memoria flash opcional para guardar imágenes
 Salida análoga de video VGA
 Display local para resultados de inspección
 Interfaz Ethernet 10/100 BaseT
 60 cuadros por segundo (fps)

La ZiCAM opera completamente diferente a una máquina tradicional de visión. Basada en


procesadores ZISC y un motor MUREN, aprende y piensa como haría un humano, con la
velocidad y seguridad de una computadora. No requiere programación.

Cada neurona ZISC posee 64 bytes de entrada. Todas las neuronas son conectadas entre
ellas por procesamiento paralelo (78 neuronas por chip). La versión estándar es de 156
neuronas por chip, y la versión plus es de 312.

La ZiCAM es una unidad modular con cámara incorporada, placa de procesador ZISC, CPU y
memoria, placa de energía y memoria flash opcional.

Especificaciones técnicas
 Chip: 1/3” CMOS
 Píxeles: 640 x 480
 Tamaño de célula: 7.8 micrones x 7.8 micrones
 Escaneo: 60 Hz no interlazado
 Reloj de píxel: 25.175 Mhz
 Salida de video: 640 x 480 VGA

7
 Interfaz: 10/100 BaseT Ethernet
 Consumo: 12 volts
 Temperatura de trabajo: -10º C a 45º C
 Tamaño: 72.9 mm x 72.9 mm x 69.7 mm
 Peso: 324 gr
 Funciones opcionales: 4 chips ZISC (312 neuronas), 128 ó
256 MB de memoria flash
 Accesorios: lentes, luces, conector RS-232

OTRO EJEMPLO DE IMPLEMENTACION ZISC: Como parte de un proyecto de procesamiento


inteligente de señales, un completo kit ZISC se utilizó en el proyecto llamado “INPE Fortaleza”.

Este kit está compuesto por dos chips ZISC 78 (156 procesadores paralelos, con un millón de
reconocimientos por segundo), chips de arquitectura FPGA Spartan II, 2 memorias SRAM para
almacenamiento en general, memoria FLASH EPROM para reconfiguración de firmware, y
cinco conectores de E/S. El entorno de software es ZDK y Xilinx FPGA.

Este kit es utilizado en la investigación de nuevas consideraciones en el ámbito de los sensores


y el seguimiento de objetivos, utilizando dispositivos visuales de la empresa Active Vision.

El principal objetivo consiste en el desarrollo de un completo sistema de procesamiento


inteligente, para ser implementado en aparatos espaciales como una nueva generación de
satélites.

Actualmente Silicon Recognition se encuentra trabajando con redes de diez mil y quince mil
células a modo de prueba, como en una especie de desafío al límite de expansión de las redes
ZISC.

También se encuentra trabajando con procesadores que quintuplican la velocidad de los


actuales de 20 MHz, originando chips ZISC de 100 MHz, dando como resultado la increíble
performance de 80 GIPS (ochenta mil millones de instrucciones por segundo).

También podría gustarte