Download REDES NEURONALES ARTIFICIALES APLICADAS AL

Document related concepts

Propagación hacia atrás wikipedia , lookup

Perceptrón multicapa wikipedia , lookup

Adaline wikipedia , lookup

Perceptrón wikipedia , lookup

Red neuronal artificial wikipedia , lookup

Transcript
REDES NEURONALES ARTIFICIALES APLICADAS AL DISEÑO EN INGENIERÍA
J. M. Cervantes Martínez, T. H. Neri Vitela y G. Mendoza García
* Instituto Mexicano del Petróleo
Eje Central Lázaro Cárdenas No. 152
C.P. 07730, México, D.F.
RESUMEN
El objetivo de este trabajo es dar a conocer el gran potencial que tiene el empleo de las redes neuronales
artificiales (RNA) para automatizar el diseño estructural. Esta área de la Inteligencia Artificial permite dotar
de cierta capacidad de aprendizaje a los sistemas de cómputo y es el complemento idóneo de sistemas
expertos ya existentes. Una RNA se puede definir como una aplicación informática que emula el modelo
biológico de aprendizaje, empleando elementos simples fuertemente interconectados (neuronas artificiales),
procesando de forma paralela la información y respondiendo dinámicamente a estímulos externos.
SUMMARY
The objective of this paper is to show the great potential of neural networks for automating of structural
design. This area of the Artificial Intelligence let to include learning capacity to computer systems and is
ideal complement to expert systems. Neural networks can be defined as a computational application. They
simulate the biological model of learning and consist of many simple computing elements interconnected
together by connections of varying strength. Neural networks are massively parallel and help solve problems
with natural mechanisms of generalization.
INTRODUCCIÓN
La automatización del diseño en ingeniería es una área en constante evolución, desde las primeras
aplicaciones de cómputo para ingeniería, se han desarrollado programas para resolver una amplia variedad de
problemas, en un principio los más exitosos fueron aquellos problemas cuya solución podía plantearse por
medio de un algoritmo bien definido en que no se empleaba un amplio conocimiento formal y heurístico para
tomar decisiones. Sin embargo, aquellos en que no es posible establecer un algoritmo y que requieren del
juicio y experiencia del ingeniero no habían podido ser tratados adecuadamente. Ahora se puede
proporcionar a la computadora aspectos cualitativos de la ingeniería que no pueden ser capturados como
números o algoritmos, en otras palabras, ahora se puede programar razonamiento conceptual, reglas para
evaluar, juicios, etc. La rama de la computación que ofrece las metodologías y herramientas de programación
para hacer lo anterior es la inteligencia artificial, específicamente, el área de redes neuronales artificiales
ofrece la posibilidad de implementarle una cierta capacidad de aprendizaje a estos sistemas.
FUNDAMENTOS DE REDES NEURONALES
Antecedentes
En la década de los 50´s se realizaron varios intentos para adoptar distintos modelos de redes, El análisis de
las redes neuronales comenzó a partir del interés de querer determinar la forma en que trabaja el cerebro así
como la manera en que se logra el aprendizaje.
El primer investigador en estudiar el cerebro fue Alan Turing quién estudió al cerebro desde un punto de
vista computacional; posteriormente, surgió Warren McCulloch y Walter Pitts quienes establecieron los
fundamentos de la neurocomputación, proponiendo la teoría del funcionamiento de las neuronas la cual se
basa en elementos de cómputo como elementos binarios (1-activo. 0-inactivo). Una de las neuronas más
antiguas fue desarrollada por Frank Rosenblantt, denominada como Perceptrón; la cual consiste en dos capas
de neuronas una de entrada y una de salida.
Para 1950 Bernard Widrow y Marcial Hoff crearon la red denominada Adaline, la cual ajusta sus pesos de
acuerdo a las entradas y a las salidas, la aplicación principal fue de telefonía mediante filtros. Sobre la base
de esta se crea el Madaline cuya primordial característica es tener varias neuronas a la salida. En 1967
Stephen Grossberg desarrollo la red denominada avalancha, su particularidad es el reconocimiento de la voz,
en 1969 comienza una crisis en cuanto a investigación sobre las redes neuronales añadiendo a todo esto, se
publica el libro Perceptrón por Marvin Minsky y Seymour Paper, en el que se presentaba un análisis
matemático del perceptrón y sobre un estancamiento en cuanto a tecnología se refiere (Knight, 1991).
En ese entonces el fisiólogo Dolald Hebb, estableció que las neuronas del cerebro se encontraban conectadas
entre las distintas neuronas del cerebro para obtener como resultado la transmisión de información, a este
proceso se le denominó Sinapsis. Todo ello mediante un incremento en la conductividad eléctrica entre cada
neurona, el estudio de esta fase, dio como resultado el inicio básico del aprendizaje de las Redes Neuronales
Artificiales.
Los modelos de RNA han logrado tener gran auge así como exitosos resultados en diversos campos como la
ingeniería, medicina, finanzas, química, etc. Entre las aplicaciones específicas de redes neuronales están el
reconocimiento de imágenes y sistemas con capacidad de aprendizaje.
Tipos de Neuronas
Para entender que es una Red Neuronal fue necesario estudiar el funcionamiento del cerebro, incluyendo el
proceso del pensamiento en el estudio de las conexiones neuronales. La neurona es la unidad principal del
sistema nervioso de todo ser humano, su principal función es la de dirigir las funciones biológicas, como la
respiración y el sistema cardiovascular. De hecho la diferencia primordial de una neurona con respecto a las
demás células vivas es su capacidad de comunicarse con otras neuronas, otra es su capacidad de cambiar de
tamaño y estructura durante y después de la niñez. Algunas neuronas se encuentran conectadas al medio
ambiente (externo) y reciben el nombre de unidades de entrada y de salida. Usualmente las neuronas se
dividen en tres tipos:
•
Neuronas que reciben información mediante estímulos del exterior, este proceso se realiza a la
entrada de la neurona.
•
Neuronas que toman información y al mismo tiempo la procesan (sinapsis), a estas se les denomina
Unidades Ocultas, la característica principal es que no tienen relación alguna con la información de
entrada ni la de salida.
•
Neuronas de salida, después de haber realizado los pasos anteriores, la información pasara a esta en
donde se le dará respuesta al sistema.
Las neuronas están conformadas por un cuerpo celular llamado soma; en donde brotan raíces denominadas
dendritas, esta a su vez tiene una fibra llamada axón, la cual esta dividida en su extremidad en pequeñas
ramas. Las dendritas son las receptoras de señales adyacentes, el axón es el transmisor que se activa hacia
otra neurona. La sinapsis es la unión que existe entre el axón y otra neurona.
Comunicación entre Neuronas
Las señales nerviosas son transmitidas mediante un proceso electroquímico, en donde las neuronas fungen
como nodos de acumulación, recibiendo las señales de otras neuronas. Estas señales pueden ser excitatorias o
inhibitorias; esto es, si la neurona recibe determinado incremento de voltaje, mandara la información a otra
neurona a través del axón, pero si sucede lo contrario y no recibe el incremento adecuando, la neurona
permanecerá inactiva. Al proceso de enviar impulsos de una neurona a otra se le denomina divergencia y
cuando recibe los impulsos de otras neuronas se llama convergencia.
El Sistema Nervioso es considerado una red de comunicaciones, que se encuentra tendida en el cuerpo, sus
partes primordiales son el cerebro y la medula espinal, en las redes neuronales computacionales, los cables
serán considerados como las fibras nerviosas que conducen los mensajes en forma de impulsos. Una Red
Neuronal es el intento de copiar en una computadora la representación del cerebro humano. De hecho es una
colección de neuronas ligadas entre sí, las cuales tienen como misión principal transmitir información de un
lado a otro.
CARACTERÍSTICAS DE NEURONAS ARTIFICIALES
Una Red Neuronal Artificial (RNA) (fig. 1) intenta simular el comportamiento del al cerebro, y obtener como
resultado la capacidad de aprendizaje, este trabajo se lleva a cabo mediante herramientas de programación y
equipo de procesamiento en paralelo. De antemano podemos decir que una RNA genera representaciones
específicas, de tal forma que un conjunto de estas será capaz de mostrar letras, números y cualquier otro tipo
de objeto que se desee. La característica primordial de una RNA es su capacidad de presentar un gran número
de objetos similares a las del cerebro humano, algunos ejemplos de estas similitudes son:
•
•
•
Capacidad de aprender cualquier cosa mediante la experiencia.
Extensión de situaciones nuevas.
Abstracción de características esenciales.
Parámetros de Comportamiento.
Los pesos de una neurona son los valores que toman los parámetros que definen el comportamiento de la
neurona, estos se ajustan durante la etapa de aprendizaje de la red y experimentan un ajuste continuo pero
menor durante la etapa de operación (fig. 2). Las redes con pesos adaptables emplean leyes de aprendizaje
para poder ajustar el valor de la fuerza de la interconexión con otras neuronas. Pero si las neuronas utilizan
pesos fijos entonces tendrán la particularidad de que las tareas ya se encontraran definidas (Roger, 1997).
Para determinar los pesos será necesario realizar una descripción completa del problema, por otra parte, los
pesos adaptables son indispensables si no se conocen con anterioridad el valor correcto de estos.
Tipos de Aprendizaje.
Las neuronas utilizan dos diferentes tipos de aprendizaje, los cuales permites llegar a soluciones deseadas, el
aprendizaje se realiza mediante entrenamiento basándose en estímulos, los tipos de aprendizaje que existen
son:
•
•
Supervisado.
No Supervisado.
El aprendizaje supervisado consiste en proporcionar a la red todas las entradas necesarias así como las salidas
exactas, el trabajo de la red será ajustar sus pesos minimizando el error de su salida. El entrenamiento no
supervisado es aquel en que se presentan estímulos y la red trata de ajustar sus conexiones basándose en estos
estímulos y a la salida de la propia red.
Estos procesos de aprendizaje son necesarios para que la red pueda ajustar sus pesos utilizando funciones de
error o algún otro tipo, de hecho las conexiones que unen a las neuronas utilizan los pesos para hacer que la
red adquiera conocimiento (aprenda), dando como resultado un cambio en las conexiones posteriores por el
proceso de aprendizaje.
Las redes están estructuradas por capas (multicapas), esta característica se da dependiendo del tipo de
conexión que se tenga, la forma de distinguir la capa a la que pertenece una neurona, consiste en ver el origen
de las señales que se recibe a la entrada y el destino de la señal de salida; existen dos tipos muy comunes
hacia delante (feedforward) o hacia atrás (feedback). La conexión hacia adelante es aquella en la que todas
las neuronas que se encuentran en una capa reciben señales de entrada a otra capa posterior, más cercana a
la salida de la red (Freeman, 1991). De hecho la mayor parte de las señales se propagan hacia delante a
través de las capas de la red, pero nunca por ningún motivo se realizaran conexiones a otra red o a ella
misma. Mientras que las conexiones de redes hacia atrás tienen la posibilidad de realizar conexiones desde
las salidas de las neuronas a capas posteriores y a las capas anteriores, circula información tanto adelante
como hacia atrás.
Otro tipo más de neuronas, es en donde se tienen bicapas (dos capas), en la que existen dos tipos de pesos los
cuales atañen a las conexiones de entrada hacia la salida, así como las conexiones de la salida a la capa de
entrada. Este tipo de capa asocia la información de entrada en la primera capa con otra información o patrón
de salida, esta recibe el nombre de heteroasociación. Por último, el tipo de red multicapa hacia delante y
hacia atrás o conocida como Neocognitron, en donde las neuronas tienen asignadas capas bidimiensionales
eliminando de esta forma los tamaños, giros y desplazamientos que representan la información de entrada.
El objetivo de toda neurona es el de aprender a través del conocimiento, el aprendizaje es la causa primordial
por la cual la neurona tiende a modificar sus pesos todo ello en respuesta a la información que se tiene a la
entrada. Todos y cada uno de los cambios que se realizan durante el proceso de aprendizaje darán como
resultado una reducción en la destrucción y creación de conexiones entre las neuronas, la creación de nuevas
conexiones implica pesos distintos a cero, de lo contrario si el valor de los pesos es igual a cero la conexión
será destruida.
Durante el proceso de aprendizaje las neuronas se encuentran en constante interacción, sufriendo varias
modificaciones en cuento a su peso, cuando esta mantiene sus pesos estables dará como resultado el
aprendizaje. Cuando se desea que la red vuelva a aprender se necesitará establecer los pesos, para ello es
necesario especificar determinados criterios a lo que se conoce como reglas de aprendizaje, el objetivo de las
leyes de aprendizaje, es determinar la forma de cómo la red debe ajustar sus pesos, mediante funciones de
error, con los dos diferentes tipos de aprendizajes antes ya mencionados
MODELOS ADALINE Y MADALINE
Las Redes Adaline y Madaline deben su existencia a la red denominada como Perceptrón creada por Frank
Rosenblant en el año de 1957. Este tipo de redes consta de una arquitectura similar, con conexión hacia
delante entre cada neurona. Una de sus principales aplicaciones es ser un excelente clasificador de patrones,
por ejemplo, el reconocimiento de la voz, mediante el aprendizaje supervisado. Esta red se encuentra
constituida primordialmente por varias neuronas en forma lineal. Capaces de generalizar después de haber
aprendido una serie de patrones similares.
El Perceptrón se encuentra constituido de una capa de entrada y una de salida con una única neurona. El tipo
de aprendizaje que llega a utilizar esta neurona esta dado por el aprendizaje supervisado. Los modelos de
redes ADALINE (ADAptive LINear Element) (fig. 3) y MADALINE (Múltiple Adaline) (fig. 4)
desarrolladas por Bernier Widrow, después de la red Perceptrón, conservan la misma arquitectura del
perceptrón, con funciones de transferencia tipo “Escalón” como primordial característica.
La diferencia entre ambas, es que Adaline (fig. 5) se encuentra dada por una única neurona de salida,
mientras que Madaline utiliza una regla conocida como Delta (Hidrow-Hoff) o regla de mínimos cuadrados,
dada por la búsqueda del mínimo error entre cada salida, obtenida antes de aplicarle la función de activación
tipo escalón frente a la salida binaria utilizada en el caso del perceptrón (Hilera, 1995). Ambas redes utilizan
un aprendizaje fuera de línea con un supervisor denominado de mínimos cuadrados mencionado
anteriormente.
Las siglas Madaline significan Muchos Adalines. Organizada con una arquitectura multicapa, esta tiene como
principal característica asemejarse a una red neuronal ordinaria. Se podrán presentar vectores de grandes
dimensiones (Kosko, 1991). El algoritmo de mínimos cuadrados es aplicado a la capa de salida, para poder
entrenarla, recordemos que en este caso se pueden definir las entradas con anterioridad así que el vector de
salida será conocido, lo que no se conoce es la salida deseada para un nodo dado de una de las capas ocultas.
Otro tipo de entrenamiento es el MADALINE (MRII), el cual se basa en una reducción del número de
neuronas de salida incorrectas para cada una de las tramas que se den como entrada, esto se puede aplicar
mediante el siguiente algoritmo.
1.
Se aplica un vector a las salidas del Madaline y se hace que se propague hasta la unidad de salida.
2.
Se cuenta el número de valores incorrectos que haya en la capa de salida, identificando como error a
este número.
3.
Para todas las capas de salida se llevará a cabo el procedimiento que se describe a continuación:
•
Se seleccionara al primer nodo, siempre y cuando este no haya sido seleccionado anteriormente
y cuya salida analógica se encuentre más próxima a cero. (En esta neurona se tendrá la opción
de poder cambiar el valor de su peso, teniendo prioridad el proceso de aprendizaje, a este
proceso se le denomino mínima perturbación).
•
En la neurona seleccionada se cambiaran los pesos de tal modo que exista la opción de cambiar
de salida bipolar de la unidad.
•
Se propaga el vector de entrada hacia delante, partiendo de las entradas y en dirección a las
salidas una vez más.
•
Se admite un cambio de peso, dando lugar a una reducción del error, en caso contrario, se
restauran los pesos originales.
4.
Se repite el paso 3 para todas las capas, excepto la de la salida.
5.
Para todas las unidades de la capa de salida se realiza lo siguiente:
6.
•
Se selecciona el par de neuronas que no hayan sido seleccionadas con anterioridad y las salidas
estén próximas a cero.
•
Se aplica una corrección de peso a ambas neuronas, con el fin de modificar la salida bipolar de
ambas.
•
Se hace que se propaguen hacia adelante y hasta culminar con las salidas.
•
Se admite el cambio de pesos, dando lugar a una reducción del error, en caso contrario, se
restaurarán los pesos originales.
Se repite el paso 5 para todas las capas, excepto la de entrada.
Los paso 5 y 6 pueden repetirse siempre y cuando sean grupos de tres, cuatro o mayor número de neuronas.
Se considera que las parejas son apropiadas para redes que tienen un máximo de 25 neuronas por capa
aproximadamente
Mientras que Adaline, tiene casi totalmente la misma estructura de la red Perceptrón, dispositivo que cuenta
con un único elemento de procesamiento, como tal puede ser considerado como filtro. Inicialmente Adaline
era denominado como Neurona Adaptativa Lineal (ADAptataive Linear Neuron), su primordial característica
es tener un combinador adaptativo lineal (ALC), con el cual se obtiene una salida para aplicarla a otro
elemento bipolar; y, siempre y cuando la salida del ALC sea positiva, se podría obtener como salida del la red
Adaline un valor de +1, pero si sucede lo contrario y la salida del ALC es negativa, se tendrá como salida de
la neurona una valor de –1. En el ALC se llevará a cabo una suma de productos, empleando los vectores de
entrada y de peso aplicados a una función de salida para obtener un valor único.
FUNDAMENTOS DEL DISEÑO EN INGENIERÍA
Generalidades sobre Diseño.
El diseño es quizás una de las tareas más difíciles que realizan los ingenieros, es una tarea que requiere gran
cantidad de conocimiento del campo específico y considerable habilidad en la solución de problemas. Sin
embargo, no existe una definición universalmente aceptada de lo que es el diseño. Entre otras se entiende por
diseño como la actividad dirigida a logra un objetivo que tiene que cumplir con un conjunto de restricciones,
resultado de esta actividad es un plan para lograr el objetivo. Otra lo define como la actividad que produce
una descripción de un objeto en términos de su forma, dimensiones, materiales y funcionamiento.
En ingeniería el resultado del diseño es un conjunto de especificaciones para construir un objeto a diferencia
del diseño en otros campos cuyo producto es un objeto terminado. Esto implica que el principal aspecto del
diseño en ingeniería es la forma como se describen estas especificaciones, la cual debe ser clara, concisa y sin
ambigüedades.
De lo anterior se puede dar la siguiente definición del diseño en ingeniería considerándolo como un proceso:
"el diseño en ingeniería es la elaboración y evaluación sistemática de especificaciones para construir un
objeto, cuya forma, dimensiones, materiales y funcionamiento cumplen con los objetivos establecidos y
satisfacen las restricciones especificadas”.
En el diseño de sistemas complejos se presentan varias dificultades, las principales son las siguientes: las
consecuencias del diseño no son aparentes durante el proceso de diseño, así que muchas alternativas tienen
que ser consideradas, se tiene que satisfacer un gran número de condiciones impuestas por diversas fuentes y
el diseño por su complejidad se divide en un conjunto de subtareas y la interacción entre éstas debe ser
cuidadosamente manejada. También la toma de decisiones es difícil por que generalmente las subtareas la
efectúan diferentes individuos y el diseñador debe tener una idea global del diseño con el fin de que pueda
dar una solución óptima a nivel local.
Clasificación del diseño
El diseño se puede clasificar considerando la dificultad que se presenta en la toma de decisiones, en la
integridad del conocimiento generado y en los inconvenientes para controlar los procesos de búsqueda, en las
siguientes clases: creativo, innovador, rediseño y rutinario.
En el diseño creativo no existe una solución a priori del problema y se caracteriza porque los objetivos no son
precisos, ni puede hacerse una descomposición efectiva del problema. Este tipo de diseño requiere de
considerable capacidad para resolver problemas. En la actualidad no es susceptible de incorporarse a un
sistema de cómputo debido principalmente a que no se comprenden todavía los procesos del pensamiento
creativo en el hombre. En el diseño innovador la descomposición del problema es conocida pero las
alternativas de cada parte no existen y deben ser sintetizadas, estas alternativas pueden ser una combinación
de componentes existente. El rediseño consiste en tomar un diseño existente para modificarlo y así incorporar
los cambios necesarios, dependiendo de si estos cambios llegan a ser funcionales o no, este tipo de diseño se
vuelve bastante complicado. En el diseño rutinario existe un plan a priori, las subpartes y alternativas son
conocidas, quizás como resultado de un diseño creativo o innovador. La solución consiste en encontrar para
cada subparte las alternativas apropiadas para satisfacer las condiciones dadas.
El diseño creativo es confuso, espontáneo, caótico e imaginativo, por el contrario, el diseño rutinario es
preciso, predeterminado, sistemático y de naturaleza matemática.
Diseño Estructural
El proceso de diseño estructural tiene como resultado final un conjunto de especificaciones que debe cumplir
una estructura, tal que su configuración estructural sea capaz de soportar las cargas aplicadas satisfaciendo la
condiciones de resistencia, servicio y costo que se establecieron como objetivos. Este proceso tiene tres
etapas, la de diseño preliminar, análisis y diseño detallado.
En el diseño preliminar se propone una configuración estructural inicial y dimensiones estimadas de los
elementos estructurales, las cuales cubren algunas de las condiciones claves del diseño (criterios de diseño).
La automatización de este paso es factible por medio de un sistema experto. El análisis consiste en modelar el
sistema estructural y determinar la respuesta de la estructura correspondiente a las cargas aplicadas. El
análisis debe satisfacer las condiciones de equilibrio, compatibilidad y relaciones esfuerzo deformación de
los materiales. Se tiene tres pasos en está etapa: establecer el modelo matemático, análisis de este modelo
matemático e interpretación física de los resultados.
El diseño detallado implica la selección del material, del tipo de sección transversal y del dimensionamiento
de los componentes estructurales satisfaciendo todas las condiciones de diseño. Esta etapa también se
subdivide en varios subproblemas jerárquicos, por ejemplo, el dimensionamiento de los principales
componentes estructurales (vigas, columnas, etc.) seguido del detallado de sus subcomponentes (conexiones,
refuerzo, etc.). En cada subproblema existe una subdivisión adicional conforme a algunas condiciones de
control (resistencia de diseño, pandeo, etc.) seguida de la evaluación de condiciones secundarias.
AUTOMATIZACIÓN DEL DISEÑO EN INGENIERÍA
La aplicación de la computación en ingeniería estructural se remonta a la década de los 50's y ha dado lugar a
un sinnúmero de programas de cómputo, cuyo propósito principal es el de automatizar las actividades de
análisis y diseño. Estos programas de cómputo se pueden agrupar de acuerdo al tipo de tarea que realizan,
estas aplicaciones son los sistemas para la administración de bases de datos, los programas de análisis de
propósito general y específico, interfases de usuario, sistemas de procesamiento estándar y sistemas para
diseño estructural.
Los programas de análisis estructural de propósito general y específico son los que más se han desarrollado,
por ejemplo, los que realizan análisis a gran escala como son los métodos de los elementos finitos y de los
elementos de frontera. Disponiéndose también de una amplia variedad de programas que resuelven
problemas más particulares que auxilian en el análisis de componentes estructurales o estructuras especiales.
Los sistemas de procesamiento estándar sirven para dos propósitos: revisar los diseños para que estén
conforme a las especificaciones y estándares de diseño; y, dimensionar los componentes estructurales para
que se comporten satisfactoriamente bajo las condiciones de resistencia y servicio. Muchos de estos
programas contienen las normas de los reglamentos de diseño y, generalmente, no son flexibles para el
usuario, es decir, no pueden adaptarse fácilmente a las necesidades del usuario.
Los sistemas de diseño estructural son los primeros intentos para crear sistemas integrados para el diseño
estructural. Estos sistemas realizan tareas de propósito especial que se ocupan del diseño de componentes
específicos como son las losas, vigas y marcos. Presentan varias ventajas, por ejemplo, realizan síntesis
limitada, incluyen algunas reglas heurísticas, consideran ciertas normas de reglamentos como condiciones
para la selección de componentes, dimensionamiento y revisión. Las desventajas que tienen son que realizan
una síntesis limitada y son altamente especializados e inflexibles.
Los programas descritos anteriormente proporcionan el medio para resolver un amplio intervalo de
problemas de ingeniería estructural. Sin embargo, estos programas son de naturaleza algorítmica y no son
capaces de resolver eficientemente muchos problemas que requieren de un juicio basado en la experiencia.
Además, estos programas generalmente no comparten información de forma directa.
Pero ahora con los sistemas expertos y redes neuronales junto con los tradicionales programas de ingeniería y
diseño asistido por computadora se dispone de la metodología y herramientas de programación para superar
las limitaciones de los actuales sistemas. Los sistemas expertos permiten formalizar y emplear el
conocimiento de un campo específico de conocimiento, pero tienen una limitada habilidad para aprender de
diseños anteriores, lo cual no permite adicionar de forma significativa nuevos conocimientos de naturaleza
heurística. En esta etapa de la automatización del diseño, es posible implementarles una cierta capacidad de
aprendizaje empleando redes neuronales artificiales.
MODELO CONCEPTUAL DE UN SISTEMA PARA DISEÑO
BASADO EN REDES NEURONALES ARTIFICIALES
El proceso de diseño se puede tratar desde el punto de vista del diseño de sistemas. De esta manera el diseño
consta de varias partes: la entrada y salida del sistema, la parte interna que realiza el proceso de
transformación de la entrada en la salida deseada (fig. 6). En este proceso se toma un gran número de
decisiones utilizando el conocimiento formal y heurístico del área en cuestión, así como de los reglamentos y
normas vigentes. La idea básica del modelo conceptual que se propone consiste en el uso de neuronas o capas
de neuronas en cada uno de los nodos de decisión de este proceso. Así que uno de los primeros pasos para
implementar un sistema de este tipo es identificar y establecer el conjunto de todas las decisiones que se
hacen para diseñar una estructura específica. Es conveniente buscar la generalización de la red de decisiones
para formular un sistema de propósito general para diseño.
Entrada del Sistema.
La información que alimentará al sistema, será almacenada en una capa externa de neuronas, esta capa
también incluirá la interfase con el usuario. Los datos que la conforman son las bases del diseño, el
conocimiento formal y heurístico y los reglamentos y normas de diseño.
Salida del Sistema.
Otra capa externa de neuronas estará encargada de generar los datos necesarios para elaborar las salidas del
diseño, es decir, la información documental del diseño que es la representación final de todo el proceso. Las
principales salidas son: la memoria de cálculo en las que se registran principalmente los criterios y
metodología empleada durante el diseño; los dibujos que describen de forma clara y precisa las
especificaciones para la construcción de la estructura diseñada; y, la cuantificación del material requerido
para calcular los volúmenes de obra requeridos.
Estructura Interna del Sistema.
Las capas internas están constituidas de cuatro partes: el diseño preliminar, la interacción con el módulo de
análisis, la revisión del diseño y la interacción con un sistema experto para diseño. Las capas que se ocupan
de la interacción son descritas posteriormente. La capa dedicada al diseño preliminar, se ocupará de tomar las
decisiones relativas a la identificación y selección de las diversas configuraciones posibles que podrá tener la
estructura, cumpliendo con las bases de diseño tanto en lo referente a las dimensiones, forma y función, como
a su resistencia y buen comportamiento conforme a las especificaciones mínimas establecidas por los
reglamentos y normas que aplique. Otra capa se ocupará de la revisión del diseño, en esta se contemplan las
decisiones para aceptar o rechazar el diseño preliminar propuesto, satisfaciendo también lo impuesto en los
reglamentos y normas vigentes. El tipo de neuronas utilizadas estarán de tal forma interconectadas que
permitirán una alta retroalimentación de todo el sistema, esto es debido a que el proceso de diseño es de
naturaleza iterativa.
Entrenamiento del Sistema.
La identificación y elaboración de los casos para entrenar a la red son determinantes para incrementar la
confiabilidad del sistema. Éstos deben cubrir de preferencia todo el espectro de salidas (soluciones) del
diseño, aun a pesar de saber que las redes trabajan con datos incompletos e imprecisos. Esta tarea se realiza
de forma interdisciplinaria con los expertos de las áreas de ingeniería involucradas en el diseño.
Integración con el Módulo de Análisis
El análisis se lleva a cabo en programas tradicionales que serán integrados en un módulo que estará ligado al
sistema por medio de una interfase. El análisis se realiza de manera recurrente para el diseño preliminar y sus
posteriores revisiones. Lo componen los modelos matemáticos y numéricos que determinan el
comportamiento estructural del sistema diseñando (Espino, 1999). Los resultados se requieren en la capa de
revisión del diseño, generalmente, estos resultados están en términos de los esfuerzos y deformaciones de los
componentes del sistema, que son los que determinan su resistencia y comportamiento. Estos parámetros de
diseño son comparados con las especificaciones mínimas que deben cumplir según los reglamentos y normas
vigentes y con el conocimiento heurístico de diseño (experiencia de los expertos humanos), si las cumplen
satisfactoriamente la solución revisada se convierte en el diseño final aceptado.
Integración con un Sistema Experto.
Prácticamente, las primeras aplicaciones de Inteligencia Artificial para automatizar el diseño fueron los
sistemas expertos (Russell, 1995). Por ello es importante, tener en mente que el sistema basado en redes
neuronales eventualmente tendrá que ligarse con sistemas expertos. Como los sistemas expertos están
limitados en su capacidad de aprendizaje (Sierra, 1995), la integración con el de redes neuronales, estará
dirigida a implementar esta capacidad en tales sistemas. El sistema de redes neuronales podrá utilizar gran
parte de los módulos y base de conocimiento que constituyen un sistema experto para diseño, ya que estos
últimos requieren de módulos de entrada de información referente a las bases de diseño y reglamentos y
normas, de generación de salidas de información documental del diseño, de un módulo de análisis y del
módulo central que incluye la base de conocimiento y el mecanismo de inferencia.
CONCLUSIONES
De lo planteado anteriormente, se concluye que la automatización del diseño en ingeniería está en una nueva
época de desarrollo, en el que se disponen de nuevas metodologías y herramientas que permitirán una
implementación más integral de todas las etapas del proceso de diseño, principalmente, en la toma de
decisiones que requieren de amplio conocimiento formal y heurístico. En particular, el empleo de redes
neuronales permitirá crear sistemas de diseño que aprendan de forma autónoma acumulando experiencias de
diseños anteriores. El término autónomo no implica que serán sustituidos los expertos humanos. Por el
contrario, estos sistemas serán sus asistentes para realizar el trabajo repetitivo y rutinario, mientras los
expertos humanos se ocuparán de llevar a cabo diseños innovadores y creativos.
REFERENCIAS
Espino, F. (1999), “Aplicación de las Redes Neuronales Artificiales al Análisis Estructural, Método de
Rigides y el Método Finito”, Tesis de maestría, IPN, págs 1-66.
Freeman A. J. y Skapura M. D. (1991), “ Redes Neuronales Algoritmos, Aplicaciones y Técnicas de
Programación ”, Addison-Wesley/Diaz de Santos, págs 1-92.
Hilera R. J. y Martínez J. V. (1995), “Redes Neuronales Artificiales Fundamentos, Modelos y
Aplicaciones”, Addison-Wesley Iberoamericana, págs 1-154.
Knight, R. (1991), “Artificial Intelligence”, International, págs 487-525.
Kosko B. (1991),“Neural Networks and Fuzzy Systems”, Prentice Hall, págs 38-109.
Roger J., Sun C. y Mizutani E. (1997), “Neuro-Fuzzy and Soft Computing, A Computing Approach to
Learning and Machine Intelligence”, Prentice Hall, págs 1-7, 197-251.
Russell S. y Norvig P. (1995), “ Inteligencia Artificial, Un Enfoque Moderno”, Prentice Hall, págs 595630.
Sierra J., Bonsón E., Nuñez C. y Orta M. (1995), “Sistemas Expertos en Contabilidad y Administración de
Empresas”, Rama, págs 27-58.
FIGURA 1. Modelo de una Neurona Artificial
(Sierra, 1995).
FIGURA 2. Diagrama Estándar de un Combinador
Adaptativo Lineal (ALC) con
Múltiples Entradas y un Término de
Tendencia (Freeman, 1995).
FIGURA 3. Estructura General de una Red Neuronal Tipo ADALINE (Freeman, 1995).
FIGURA 4. Estructura General de una Red Neuronal Tipo MADALINE (Hilera, 1995).
FIGURA 5. Estructura de la Red ADALINE Compuesta por un Combinador Adaptativo
Lineal y una Función de Salida Bipolar (Hilera, 1995).
FIGURA 6. Modelo Conceptual de un Sistema de Diseño Basado en Redes Neuronales.