Professional Documents
Culture Documents
Communications Modeling
Abstract This paper presents a free software tool that final perteneciente a esta cadena es un PA, que se encarga de
M. Rubiolo, G. Stegmayer, Member, IEEE and O. Chiotti
supports the next-generation Mobile Communications, through amplificar la seal antes de su viaje hacia la antena ms
the automatic generation of models of components and electronic prxima y el extremo receptor de la cadena de comunicacin.
devices based on neural networks. This tool enables the creation,
training, validation and simulation of the model directly from
measurements made on devices of interest, using an interface
totally oriented to non-experts in neural models. The resulting
model can be exported automatically to a traditional circuit
simulator to test different scenarios. Figura 1. Diagrama de bloques simplificado de un transmisor digital
inalmbrico.
Keywords wireless communications, modeling, simulation, El modelado del comportamiento no lineal y con memoria
neural networks, software tools.
en dispositivos electrnicos ha sido objeto de investigacin y
de un creciente inters a lo largo de los ltimos aos [2]-[4] lo
I. INTRODUCCION
E
cual ha llevado recientemente a proponer nuevas alternativas
N los sistemas de comunicaciones mviles de tercera al clsico anlisis con circuito equivalente, tales como las
generacin (3G), por ejemplo WCDMA (Wideband Redes Neuronales Artificiales (RNAs) [3]. Actualmente, el
Code Division Multiple Access) y UMTS (Universal modelado y simulacin de elementos no lineales componentes
Mobile Telecomunications System), hacia los cuales migrarn de un sistema de comunicacin inalmbrica con RNAs es un
la mayora de las redes de comunicacin celulares, el campo en crecimiento que genera una creciente atencin por
modelado de los componentes del sistema se ha convertido en la gran variedad de posibles aplicaciones industriales [5][6].
un punto crtico del ciclo de diseo del sistema, debido a las En el dinmico mercado de las comunicaciones mviles,
tcnicas de modulacin digital modernas [1]. Los nuevos los modelos basados en RNAs son especialmente adecuados
estndares pueden introducir una distorsin en el ya que podran ser utilizados para acelerar el desarrollo de
comportamiento de los dispositivos que son parte del sistema nuevos productos. Por ejemplo, los modelos neuronales
(p.e. telfonos mviles y sus componentes internos tales como podran contribuir a una significativa reduccin del ciclo de
amplificadores de potencia) debido generalmente a los diseo de un producto cuando una nueva tecnologa de
cambios que aplican a la seal modulada, generando efectos dispositivo aparece en el mercado, lo que los convierte en
de no-linealidad y de memoria (cuando una seal de salida objeto de inters particular en la industria. Un modelo
depende de valores retrasados en el tiempo de una seal de neuronal puede ser utilizado durante la etapa de diseo de
entrada). sistema para lograr una evaluacin rpida de su performance y
Los amplificadores de potencia (PA por su sigla en ingls de sus caractersticas principales.
power amplifier) son partes esenciales de un transmisor digital Los modelos neuronales pueden ser un enlace eficiente
inalmbrico moderno (p.e. los telfonos celulares). La Fig. 1 entre las mediciones y las simulaciones, permitiendo anticipar
muestra un diagrama de bloques simplificado de cmo podra las consecuencias tecnolgicas para la performance de un
ser una comunicacin digital por telfono celular. La voz que circuito. El modelo puede ser entrenado directamente con los
proviene del interlocutor (seal analgica) debe ser datos extrados del sistema real en cuestin, logrando una
digitalizada para ser transmitida a travs de la red celular disminucin en el ciclo del diseo y desarrollo de nuevos
inalmbrica, y esta tarea es realizada por un convertidor productos (ms comnmente llamado time-to-market).
Analgico/Digital. Luego, la voz digitalizada es comprimida Sin embargo, el proceso de desarrollo de un modelo
para reducir la taza de bits y el ancho de banda utilizado. neuronal no es trivial e involucra considerables puntos crticos
Tambin es codificada, para dar formato a los datos de manera tales como la generacin de datos, la normalizacin de los
tal que el receptor pueda detectar y minimizar los errores mismos, la definicin de una topologa de RNA, la cantidad de
mediante la operacin de decodificacin. Luego de esta etapa, neuronas en capa oculta, las reglas de aprendizaje, entre otras.
un modulador de seal ajusta la seal portadora para Como las tcnicas de RNAs son relativamente nuevas para la
garantizar la comunicacin. Pero la seal sufre atenuacin y comunidad de los ingenieros electrnicos que deben
necesita una previa amplificacin. Por lo tanto, el elemento desarrollar un modelo neuronal en vez de un circuito
M. Rubiolo, Universidad Tecnologica Nacional, Santa Fe, Argentina, equivalente, es frecuente que se presenten dificultades para
georgina.stegmayer@ieee.orgG. Stegmayer, Universidad Tecnologica ellos en el momento de la toma de decisiones para generar un
Nacional, Santa Fe, Argentina, georgina.stegmayer@ieee.org modelo.
O. Chiotti, Universidad Tecnologica Nacional, Santa Fe, Argentina,
georgina.stegmayer@ieee.org
Por lo tanto, una herramienta que d soporte al desarrollo
de modelos neuronales puede ser de especial inters para los
ingenieros involucrados en el mundo de las comunicaciones
mviles, cuyos conocimientos sobre la teora de RNAs puede requiere costosas licencias de instalacin y uso.
ser limitada. Para este propsito, este trabajo presenta una En resumen, para poder aprovechar al mximo todas las
herramienta de software que brinda soporte a la generacin de caractersticas de las herramientas neuronales existentes, es
modelos neuronales directamente desde las mediciones. necesario conocer muy bien el lenguaje y comandos
Dichos modelos pueden ser exportados tambin a un especficos de la herramienta. Se requiere un conocimiento
simulador de circuitos. La generacin automtica de los profundo sobre parmetros de modelos neuronales, reglas de
modelos puede ayudar a asegurar implementaciones de aprendizaje, etc., lo cual limita su uso a usuarios expertos.
modelos mutuamente consistentes para los diversos Finalmente, otro punto importante es que en estas
simuladores soportados. herramientas, si se puede crear un modelo neuronal, es muy
La organizacin del trabajo es la siguiente: en la Seccin II probable que ste no pueda ser exportado automticamente
se explican las caractersticas principales de la herramienta. La para ser utilizado en cualquier simulador de circuitos
Seccin III muestra detalles de la implementacin La Seccin comerciales disponibles. Por lo tanto no pueden ser utilizados
IV muestra un caso de estudio modelado con la herramienta de prcticamente para simulaciones reales, p.e. de un sistema de
software desarrollada. Finalmente, se pueden encontrar las comunicacin completo.
conclusiones en la Seccin V. En este contexto, surge la necesidad de una herramienta de
software fcil de usar para un ingeniero que debe crear y
II. CARACTERSTICAS DE LA HERRAMIENTA DE SOFTWARE simular modelos basados en RNAs; pero que no conoce en
En la actualidad, existen productos disponibles en el profundidad la teora neuronal, o posee el conocimiento
mercado, tanto comerciales como no-comerciales, que mnimo que es necesario para la construccin de un modelo
permiten la creacin y uso de modelos neuronales. An as, en caja negra y de la configuracin de algunos parmetro con
la mayora de stos, se asume que el usuario es un experto en facilidad. Este trabajo presenta un prototipo de herramienta de
teora de RNAs, porque es necesario un buen entendimiento software que intenta satisfacer estos requerimientos. sta ha
sobre como trabaja el paradigma de RNA para definir un sido diseada pensando en los usuarios que tienen la intencin
modelo. Es muy probable que un ingeniero electrnico que de utilizar una herramienta poderosa para la creacin de
debe disear un modelo neuronal para, p.e. un amplificador modelos neuronales pero que no poseen un conocimiento
PA, no tenga un nivel de conocimiento muy profundo acerca profundo sobre la teora de RNAs.
de un modelo neuronal. Esta herramienta ha sido programada para ser open-
El software matemtico MatLab ha incorporado source e independiente de la plataforma, lo cual facilitara
recientemente un Neural Network Toolboox[7] que permite especialmente su uso por parte de Universidades, donde el
la creacin, entrenamiento y uso de varios tipos de RNAs, que costo de las licencias para programas de este tipo es muchas
pueden ser aplicadas para resolver una gran variedad de veces prohibitivo. Algunas de sus caractersticas son el soporte
problemas. Para poder instalarlo es necesario comprar una a la creacin de modelos, edicin, entrenamiento, seleccin de
licencia especfica del software con un alto costo asociado. diferentes funciones de activacin, testeo y ploteo de los
Otras alternativas comerciales (NeuralPlanner [8], resultados. Particularmente, esta herramienta posee varias
NeuroSolutions [9]) y no comerciales (Lens Neural Network ventajas sobre otras herramientas existentes: interfaces user-
Simulator [10], PDP++ [11]) existen, pero todas estas friendly especialmente diseada para usuarios no-expertos en
herramientas son demasiado generales para ser usadas en el la teora de RNAs; soporte para la creacin de un modelo
campo de las comunicaciones mviles ya que fueron neuronal, permitiendo extraer automticamente las variables
diseadas para la creacin genrica de cualquier tipo de red de entrada/salida desde los datos de simulaciones o
neuronal y requieren de un usuario experto. mediciones; un modelo neuronal ya entrenado puede ser
Considerando solamente herramientas pensadas exportado directamente como modelo caja negra a un
especficamente para la creacin de modelos caja negra de simulador de circuitos electrnicos. De esta manera, el modelo
dispositivos electrnicos, podemos mencionar MLog [12] neuronal embebido puede utilizarse para simular p.e. de una
cuyo uso es especficamente limitado al modelado de cadena completa de comunicacin inalmbrica,. Esto es
drivers analgico-digitales. Otro punto desfavorable de este representado esquemticamente en la Fig. 2.
software, aparte de su especificidad, es que fue desarrollado La Fig. 3 muestra un diagrama de flujo con el proceso
con el compilador de MatLab, es decir que requiere que las principal de desarrollo de un modelo neuronal dentro de la
libreras de este programa estn instaladas para poder herramienta propuesta. Los archivos de datos de las
funcionar. Una herramienta que trata de solucionar estas mediciones de laboratorio son cargados directamente a la
desventajas es NeuroModeler[13], diseada especficamente herramienta.
para la creacin de modelos de dispositivos electrnicos, de
cualquier tipo. El problema de esta herramienta es que posee
un pobre diseo de interfaz y requiere tambin mucho
conocimiento especfico de los modelos neuronales que se
quieren crear. Aparte de su diseo poco intuitivo, su mayor
punto dbil es que solamente genera modelos que pueden
Figura 2. Representacin esquemtica del funcionamiento de la herramienta
implementarse en un simulador de circuitos especfico, el cual
de software propuesta en relacin a un simulador comercial.
Un punto fuerte a destacar al respecto es que estos archivos conjunto de Redes Neuronales en paralelo, inicializadas con
no debern tener un formato especfico. Por ejemplo, en el diferentes pesos, parmetros o diferentes arquitecturas, lo que
caso de querer crear una red time-delay (TDNN, explicada en posibilita al usuario identificar la mejor configuracin de red
el caso de estudio) los datos para entrenamiento de la red se simplemente mediante la evaluacin de los resultados luego
crearn automticamente a partir de los datos originales, del proceso de entrenamiento.
escalonando los mismos segn la cantidad de delays
elegidos para cada variable. Se provee la opcin de crear un
modelo neuronal en forma manual o sino el modelo neuronal
es automticamente creado, lo que simplifica la tarea de
diseo y provee un punto de inicio para el diseador, quien
puede cambiar el diseo de la red originalmente propuesto por
la herramienta y configurar algunos parmetros del modelo,
tales como el nmero de neuronas ocultas y las funciones de
activacin, si as lo desea. El modelo neuronal que se propone
automticamente es un modelo perceptrn multicapa (MLP),
debido a sus conocidas propiedades de aproximador universal
de cualquier tipo de problemas no-lineales [19].
Una vez que el modelo ha sido definido, puede ser
entrenado y/o validado y/o simulado con los datos disponibles,
a fin de lograr exactitud en la definicin del usuario. Si luego
del entrenamiento, la exactitud deseada ha sido alcanzada, el
modelo puede ser guardado (exportado) como un archivo de
texto el que incluir el modelo neuronal y los valores de sus
parmetros. Esto permitir luego su implementacin como un
modelo caja negra dentro de un simulador de circuitos.
Figura 3. Diagrama de Flujo de la herramienta propuesta para el desarrollo
Debido al problema de overfitting de un modelo automtico de modelos basados en RNAs.
neuronal, por el cual ciertos modelos que tienen muy bajo
error de aproximacin, no se comportan bien cuando se les
presentan nuevos datos no vistos en entrenamiento, es que han
aparecido ciertas tcnicas que tratan de evitar este problema,
tal como cross-validation [14]. Este procedimiento sugiere
dividir los datos totales disponibles en dos subconjuntos: uno
para entrenamiento y otro para validacin; e ir controlando el
error del modelo neuronal en ambos subconjuntos. Cuando la
diferencia entre ellos se hace cada vez ms grande, el
entrenamiento se termina. Este procedimiento ha sido
incorporado en la herramienta propuesta con un algoritmo
propietario, el cual sugiere al usuario presentar datos para
validacin de la red adems de datos para entrenamiento, y al
momento del entrenamiento controla ambos errores..
III. IMPLEMENTACIN.
La herramienta de software ha sido implementada en Java
Figura 4. Diagrama de casos de uso UML de la herramienta propuesta.
usando la herramienta de desarrollo de IBM Eclipse [15] y el
Framework JOONE (Java Object Oriented Neural Engine) Otro motivo por el cual fue elegido es que su arquitectura
para creacin de RNAs [16]. Este Framework fue es modular lo cual permite que pueda ser fcilmente
seleccionado debido a que provee estructura y algoritmos para extendido, p.e. para agregar un algoritmo de entrenamiento.
el paradigma neuronal, en Java, lo cual nos permite cumplir Cada uno de sus componentes puede ser re-utilizado y
con el objetivo de disear un a herramienta open-source y modificado por los desarrolladores [17]. La aplicacin que
multi-plataforma al mismo tiempo, lo cual no sera posible de presentamos en este trabajo, posee embebidos mdulos del
usar otros lenguajes de programacin. Adems este framework Core Engine de este Framework con el fin de ser utilizados
provee, de un modo ya integrado, las clases y algoritmos por la herramienta para la creacin de arquitecturas
bsicos para entrenamiento y uso de RNAs, que otras neuronales. Es importante aclarar que Joone ha sido
implementaciones en C o C++, por ejemplo, no proveen. desarrollado a fin de ser utilizado por cualquiera que as lo
Adems, permite fcilmente su extensin, agregando o desee, por lo que la licencia de uso es LGPL (Lesser General
definiendo nuevos tipos de modelos neuronales e incluso Public License). De esta manera, cualquier programador
nuevos algoritmos de entrenamiento. Se puede entrenar un puede embeber el Engine dentro de nuevas o existentes
aplicaciones. En este Framework, cada RNA es compuesta por Por otra parte, el Framework, brinda soporte para la
un nmero de componentes (capas) conectadas entre s importacin y exportacin de datos desde archivos de texto,
mediante conexiones (sinapsis). Dependiendo de cmo son concepto fuertemente utilizado por nuestra herramienta a fin
conectadas stas componentes, varias arquitecturas neuronales de alcanzar el objetivo de desarrollar un soporte ampliamente
pueden ser creadas (feedforward, recurrente, etc.). Cada capa independiente del perfil del usuario que la utilice, sea ste
es implementada como un objeto, que puede ser ejecutado conocedor de la teora neuronal, o no. Es utilizado el objeto
independientemente de los otros (obteniendo los datos de FileInputSynapse para realizar la incorporacin de los datos
entrada a la capa, aplicando la funcin de transferencia a estos presentes en un archivo de texto a la arquitectura neuronal
datos y colocando los resultados en la sinapsis que comunica representada por el conjunto de objetos que hayamos creado.
con la capa que los recibe). Este mecanismo tambin es Por su parte, es utilizado FileOutputSynapse para realizar lo
utilizado para obtener el error de entrenamiento, permitiendo a propio, siendo ahora el objetivo la exportacin del modelo
los pesos y bias ir cambiando de acuerdo al algoritmo de neuronal resultante. Ambos objetos extienden de
entrenamiento. Para la descripcin de las caractersticas StreamInputSynapse y StreamOutputSynapse respectivamente,
principales de la herramienta se usar UML y diagramas de incluidas a fin de soportar los procesos de importacin y
clases, debido que el software propuesto est basado en el exportacin en otros formatos.
modelo de objetos. La Fig. 4 muestra un diagrama de casos de
uso en UML de la herramienta.