Saltar al contenido principal
LibreTexts Español

12.4: Redes Neuronales para la construcción automática de modelos

  • Page ID
    85349
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Autores: Grupo E - Ardemis Boghossian, James Brown, Sara Zak

    Introducción

    Multiple Input Multiple Output (MIMOS) son sistemas que requieren múltiples entradas y generan múltiples salidas. Los miMOS son controlados por controladores que combinan múltiples lecturas de entrada en un algoritmo para generar múltiples señales de salida. Los miMOS se pueden usar con una variedad de algoritmos. El algoritmo más versátil utilizado hasta la fecha es la red neuronal. Las redes neuronales, que inicialmente fueron diseñadas para imitar neuronas humanas, trabajan para almacenar, analizar e identificar patrones en lecturas de entrada para generar señales de salida. En ingeniería química, las redes neuronales se utilizan para predecir las salidas de sistemas como columnas de destilación y CSTR. Este artículo discutirá cómo funcionan las redes neuronales, las ventajas y desventajas de las redes neuronales y algunas aplicaciones comunes de las redes.

    MiMOS

    Como se mencionó, Múltiples Entradas Múltiples Salidas (MIMOS) son sistemas que requieren múltiples entradas y generan múltiples salidas, como se muestra esquemáticamente en la Figura 1.

    IMOs.jpg
    Figura 1. Diagrama esquemático de MiMOS

    Como se muestra en la figura, los MiMOS son controlados por controladores que combinan múltiples lecturas de entrada en un algoritmo para generar múltiples señales de salida. Por lo general, los MIMO no requieren que el número de entradas y salidas sea el mismo. En su lugar, se podría usar cualquier número de lecturas de entrada para generar cualquier número de señales de salida.

    Redes Neuronales

    Se pueden usar varios tipos de controladores para controlar los MiMOS. Uno de los controladores más precisos y versátiles utilizados para los MiMOS es la red neuronal. Las redes neuronales son controladores que imitan crudamente a la neurona humana. Inicialmente, estas redes fueron diseñadas para modelar la actividad cerebral neural. Sin embargo, a medida que las personas comenzaron a reconocer las ventajas de las redes neuronales, estas redes se aplicaron al diseño del algoritmo del controlador. Al igual que una neurona humana, las redes neuronales funcionan para almacenar, analizar e identificar patrones en los datos mediante la realización de tareas de aprendizaje. La capacidad de estas redes para “aprender” es paralela a la capacidad de aprendizaje de la neurona humana, haciendo de estos controladores automáticos el análogo más cercano a un controlador humano.

    Neuronas

    Al igual que las neuronas en el cuerpo, las neuronas de red reciben entradas, almacenan estos datos y transmiten salidas a otra neurona o directamente al MIMO. Para transmitir estos datos, la neurona debe relacionar las múltiples entradas con las múltiples salidas. A continuación se muestra una representación matemática simple de esta relación.

    \[y=f\left(w_{1} a_{1}+w_{2} a_{2}+w_{3} a_{3}+\ldots+w_{n} a_{n}\right)=f\left(\sum_{i=1}^{n} w_{i} a_{i}\right) \nonumber \]

    donde

    • w i = peso
    • a i = entrada
    • y = salida
    • f = función sigmoide (cualquier función no lineal)

    De acuerdo con esta relación, los múltiples parámetros de entrada se multiplican cada uno por el factor de peso correspondiente, w i. Estos factores de ponderación “pesan” la significancia de cada entrada, escalando cada entrada proporcionalmente al efecto que tendrá sobre la salida. Estas entradas ponderadas se agregan luego y la suma se introduce en la función sigmoide para generar una salida. Esta salida puede entonces ser enviada a múltiples neuronas que, a su vez, cada una genera su propia salida.

    La función sigmoide en esta relación es una función empírica no lineal que relaciona las lecturas de entrada con las señales de salida. Esta función empírica puede tomar muchas formas dependiendo del conjunto de datos. Se utilizará la ecuación que mejor pueda predecir las salidas para el sistema dado (polinomio, seno, logarítmico, etc.). Por ejemplo, una forma que esta función puede tomar es la función sinusoidal hiperbólica, donde

    \[f(x)=\sinh (\alpha x) \nonumber \]

    donde

    x = suma de entradas ponderadas =\ suma_ {i=1} ^n w_ia_i

    α = parámetro empírico

    En esta función sigmoide, α es un parámetro empírico que ajusta las salidas de la función. El efecto de α sobre esta función sigmoidea se muestra en la Figura 2.

    raph.jpg
    Figura 2. Gráfica de función sigmoide sinusoidal hiperbólica con α x variable

    Como se muestra en la Figura 2, aumentar α aumenta la salida para esta función sigmoide en particular. Como la mayoría de las funciones empíricas, la función sigmoide sinusoidal hiperbólica solo se puede usar dentro de un rango específico de valores (x valores entre las asíntotas verticales). En este caso, el rango dependería del valor de α.

    Combinando neuronas en redes neuronales

    Una vez que las neuronas se han programado para correlacionar los datos de entrada y salida, se pueden conectar en una serie de alimentación directa para producir una red neuronal o red neuronal (NN). En la Figura 3 se muestra un diagrama esquemático de una red neuronal.

    NDiagram2.jpg
    Figura 3. Diagrama esquemático de una red neuronal.

    La Figura 3 muestra que los parámetros MIMO, como las lecturas de temperatura, presión y flujo, se procesan primero en la primera capa de neuronas. Las salidas de la primera capa de neuronas sirven entonces como entradas a la segunda capa. Las salidas de la segunda capa luego se convierten en las entradas a la tercera capa, y así sucesivamente, hasta que se utiliza la salida final de la red para afectar directamente los controles MIMO como las válvulas. Las capas de neuronas entre las capas inicial y final se conocen como capas ocultas.

    La forma en que las neuronas dentro de capas ocultas correlacionan las entradas y salidas es análoga a la forma en que las neuronas individuales correlacionan estas variables. Como se muestra en la inserción del diagrama de flujo del diagrama, una neurona dentro de la red recibe múltiples entradas. Cada uno de estos parámetros de entrada es entonces ponderado, teniendo los parámetros más efectivos ponderados más fuertemente. Estos valores de entrada ponderados se agregan y se ingresan en la función sigmoide particular que la neurona está programada para seguir. La salida de esta función se envía luego a otras neuronas como entrada. Estos valores de entrada se vuelven a pesar para esa neurona en particular. Este proceso se continúa hasta que se utiliza la salida final de la red de neuronas para ajustar los controles deseados. Aunque el diagrama muestra solo una capa oculta, estas redes neuronales pueden constar de múltiples capas. Aunque casi todas las funciones continuas pueden ser aproximadas por una sola capa oculta, la incorporación de múltiples capas ocultas disminuye el número de pesos utilizados. Dado que más capas darán como resultado más parámetros, cada uno de estos parámetros individuales se ponderará menos. Con más parámetros y menos pesos, el sistema se vuelve más sensible al cambio de parámetros (un mayor efecto de “ondulación” dentro de la red).

    El efecto “ondulante” de una red de neuronas hace que el sistema sea difícil de modelar analíticamente. Un pequeño cambio en una sola variable de entrada resultaría en múltiples cambios en toda la red. Aunque modelar estas redes complejas está más allá del alcance de la clase, solo es necesario un entendimiento básico y cualitativo de cómo funcionan las redes neuronales para analizar los controladores de redes neuronales y sus efectos en los parámetros de entrada y salida.

    Proceso de aprendizaje

    La capacidad de aprendizaje de las redes neuronales las distingue de la mayoría de los controladores automáticos. Al igual que los humanos, las redes neuronales aprenden con el ejemplo, y así necesitan ser entrenadas. Las redes neuronales generalmente se configuran para aplicaciones específicas y tienen la capacidad de procesar grandes cantidades de datos. Las tendencias y patrones complejos pueden ser detectados por redes neuronales que de otro modo serían imperceptibles para los humanos u otros programas informáticos. Dentro de las redes neuronales, existen procedimientos de aprendizaje que permiten que el dispositivo reconozca un determinado patrón y lleve a cabo una tarea específica. Estos procedimientos de aprendizaje consisten en un algoritmo que permite a la red determinar los parámetros de ponderación para hacer coincidir los datos dados (entradas y salidas) con una función. En este procedimiento iterativo, los valores de entrada iniciales se utilizan para generar valores de salida iniciales. Con base en estos valores de entrada y salida, los pesos dentro de la red se ajustan para que coincidan con los datos. Estos pesos ajustados se utilizan entonces para correlacionar el siguiente par de valores de entrada y salida. Nuevamente, estos valores se utilizan para ajustar pesos. Este proceso continúa hasta que la red obtiene un buen ajuste para los datos. En la Figura 4 se muestra un diagrama de flujo que resume este proceso iterativo.

    low.jpg
    Figura 4. Diagrama de flujo para entrenar una red.

    La red neuronal aprende trazando la trayectoria de un objeto sobre un área y secuencia específicas. Para esta aplicación, las entradas para la red neuronal incluyeron la posición, velocidad y dirección. Una vez que la red neuronal haya completado su entrenamiento, utilizará lo que aprendió para predecir trayectorias. La red neuronal puede predecir dónde se moverá el objeto dada la posición, velocidad y dirección del objeto.

    Las trayectorias mostradas en estos videos demuestran una característica importante de las redes neuronales. En estos videos, la red neuronal solo puede predecir salidas para objetos que se comportan de manera similar a la salida que encontró durante el entrenamiento. Por ejemplo, si una persona comenzara a correr hacia adelante, luego se detuviera, girara en círculo y comenzara a correr hacia atrás, la salida de la red neuronal sería impredecible.

    Una vez que la red neuronal se vuelve capaz de predecir las salidas del sistema, se ejecuta como cualquier otro controlador. En tiempo real, esto suele implicar el proceso químico y un sistema informático de algún tipo. A menudo, como en LabVIEW, al ingeniero químico se le presenta un programa de adquisición de datos fácil de usar que permite al usuario establecer las temperaturas deseadas, caudales, etc. y muestra las entradas y salidas del sistema. Aunque la red neuronal envía continuamente señales a los controladores del sistema (como válvulas), el algoritmo de red está integrado en el programa de adquisición. Por lo tanto, una vez que el sistema está en funcionamiento, el usuario no ve directamente el algoritmo funcionando.

    Ventajas y Desventajas

    Dado el interesante comportamiento humano de las redes neuronales, uno esperaría que todas las aplicaciones de proceso fueran controladas por redes neuronales. Sin embargo, las ventajas y desventajas de las redes neuronales limitan su uso en aplicaciones. En las siguientes listas se resumen estas ventajas y desventajas.

    Ventajas

    • Las redes neuronales son muy generales y pueden capturar una variedad de patrones con mucha precisión
    • La función estática no lineal utilizada por las redes neuronales proporciona un método para ajustar los parámetros de una función particular a un conjunto dado de datos.
    • Se puede utilizar una amplia variedad de funciones para adaptarse a un conjunto determinado de datos
    • Las redes neuronales no requieren entrenamiento estadístico excesivo
    • No hay necesidad de asumir una distribución de datos de entrada subyacente al programar una red neuronal
    • Las redes neuronales pueden detectar todas las relaciones no lineales complejas y posibles entre entrada y salidas
    • Las redes neuronales son lo más parecido a que un humano real opere un sistema (es decir, pueden “aprender”)

    Desventajas

    • Las redes neuronales son difíciles de diseñar. Se debe determinar el número óptimo de nodos, capas ocultas, función sigmoide, etc.
    • Las redes neuronales son difíciles de modelar analíticamente porque un pequeño cambio en una sola entrada afectará a toda la red
    • El funcionamiento de las redes neuronales se limita al proceso de entrenamiento. Si la red está mal entrenada, entonces operará mal y no se pueden garantizar las salidas.
    • Hay una gran carga computacional asociada con las redes neuronales
    • Las redes neuronales requieren un gran tamaño de muestra para ajustar empíricamente los datos
    • Las redes neuronales tienen una naturaleza de “caja negra”. Por lo tanto, los errores dentro de la compleja red son difíciles de apuntar.
    • Fuera de su rango de entrenamiento de datos, las redes neuronales son impredecibles. Esto ocurre porque las redes neuronales pueden “sobreajustar” los datos. Por ejemplo, durante el entrenamiento, una red neuronal puede ajustar un polinomio de décimo orden a solo 5 puntos de datos. Al utilizar este modelo para hacer predicciones de valores fuera de este rango de 5 puntos, la red neuronal se comporta de manera impredecible.

    Aplicaciones de Redes Neuronales

    Cada red neuronal generará un algoritmo diferente basado en las entradas y salidas al sistema. Debido a que las redes neuronales ajustan una función específica a los datos dados, se pueden usar en una variedad de aplicaciones. Dentro de la ingeniería química, las redes neuronales se utilizan frecuentemente para predecir cómo el cambio de una entrada (como presión, temperatura, etc.) en una columna de destilación influirá en las composiciones y caudales de las corrientes que salen de la columna. El entrenamiento de red se realiza en varias entradas a la columna, y así puede predecir cómo el cambio de una entrada afectará a los flujos de productos. Dentro de un CSTR, las redes neuronales pueden ser utilizadas para determinar el efecto de un parámetro de entrada como temperatura o presión sobre los productos.

    Además de sus aplicaciones a equipos químicos, las redes neuronales también se pueden aplicar para modelar la responsabilidad material en función de diversas cargas bajo diversas condiciones. Estos modelos se pueden utilizar en el desarrollo de productos para crear un dispositivo para una aplicación en particular, o para mejorar un dispositivo existente. Por ejemplo, al modelar la corrosión del acero bajo diferentes condiciones de temperatura y pH, se pueden fabricar o mejorar los dispositivos biomédicos implantados.

    Las redes neuronales también se utilizan a menudo en biología y aplicaciones biológicas para predecir el resultado de un determinado evento. Por ejemplo, las redes neuronales pueden usarse para predecir el crecimiento de células y bacterias en laboratorios de cultivo celular, dado un conjunto de condiciones variables, como la temperatura y el pH. Además, se han utilizado modelos de redes neuronales para predecir la tasa de mortalidad en unidades de cuidados intensivos en hospitales. Se recolectaron datos de diferentes pacientes y se creó un modelo de red neuronal para predecir la mortalidad de futuros pacientes dado un conjunto de condiciones específicas. Las redes neuronales también se han utilizado para diagnosticar el cáncer de mama en pacientes mediante la predicción de los efectos de un tumor siempre que las condiciones de entrada especificadas de la paciente.

    Las redes neuronales también se utilizan en aplicaciones más allá del aspecto químico de los controladores. Por ejemplo, las redes neuronales se utilizan para predecir el tiempo de viaje en función de diferentes condiciones de viaje. Las señales en las carreteras que dan tiempos estimados de viaje son ejemplos de redes neuronales. Predicen la cantidad de tiempo requerido para llegar a un destino determinado dado el volumen de tráfico variable, las condiciones de la carretera y las condiciones climáticas.

    Las redes neuronales no se limitan a las aplicaciones enumeradas anteriormente. Se pueden utilizar para modelar los eventos más predecibles, y la complejidad de la red aumentará dependiendo de la situación. Para obtener más información sobre los usos enumerados anteriormente, consulte los artículos de revistas que figuran en la sección de referencias de esta wiki.

    Ejemplo\(\PageIndex{1}\)

    Hypothetical Industries se ha expandido para incluir ahora un laboratorio de biología! Como empleado, estás trabajando en desarrollar un nuevo antibiótico, y así te han asignado para predecir el crecimiento de bacterias. Tu jefe quiere saber cómo el crecimiento de la bacteria se ve afectado por diferentes condiciones, como temperaturas, pH y nutrientes proporcionados. Realmente no tienes ganas de manipular todas estas condiciones, y luego sentarte y ver crecer bacterias en una placa de Petri, por lo que decides idear una forma de predecir cómo crecerán las bacterias. Utilizando la información presentada en el wiki, determinar cuáles son las entradas y salidas a esta red neuronal.

    Solución

    Las entradas a la red neuronal son cada uno de los parámetros que pueden afectar el crecimiento de la bacteria. En esta situación, los insumos son la temperatura, el pH y los nutrientes proporcionados (como azúcares, aminoácidos y antibióticos). Los resultados de este sistema incluyen el crecimiento de las bacterias.

    xamplenn1.jpg

    Ejemplo\(\PageIndex{2}\)

    Como se ve en el ejemplo anterior, se puede utilizar una red neuronal para predecir el crecimiento bacteriano. Dada la información presentada en la wiki, explicar las ventajas y desventajas de utilizar una red neuronal para modelar el crecimiento bacteriano.

    Solución

    Ventajas

    • Debido a que hay tantas entradas (temperatura, pH, etc.), una red neuronal ajusta una función a estos datos que es capaz de predecir cómo afectarían las condiciones futuras al crecimiento bacteriano.
    • Las redes neuronales proporcionan un método mecánico de modelar el sistema de crecimiento bacteriano que es extremadamente similar para que un humano acutal prediga el crecimiento de bacterias.
    • Alguien que monitorea el sistema no necesita mucho entrenamiento estadístico para usar la red neuronal.

    Desventajas

    • Primero se debe ejecutar una gran cantidad de muestras con condiciones variables para obtener un buen ajuste para la red neuronal. En función de lo bien que le gustaría que su red predijera el crecimiento bacteriano, el número de muestras que se deben ejecutar para crear la red cambia. La red sólo funcionará tan bien como está entrenada, por lo que si se desea un alto grado de precisión, entonces se requerirán más entradas de datos. Esto se vuelve merecedor de tiempo y caro.
    • Debido a la naturaleza de caja negra de las redes neuronales, es difícil determinar cómo los parámetros individuales como la temperatura o el pH afectarán el crecimiento bacteriano.
    • Las redes neuronales no pueden usarse para predecir los patrones de crecimiento de las bacterias fuera de los rangos de datos dados.
    Ejercicio\(\PageIndex{1}\)

    ¿Por qué alguien querría aumentar el número de capas ocultas al combinar neuronas en una red neuronal?

    1. Disminuir la cantidad de programación necesaria
    2. Para disminuir el número de pesos requeridos
    3. Incrementar el costo asociado con el sistema
    4. Para aumentar la estructura estética del sistema
    Ejercicio\(\PageIndex{2}\)

    ¿Qué genera la red neuronal si sus entradas están fuera de su rango de entrenamiento?

    1. Cero
    2. Entrada^2
    3. sqrt (entrada)
    4. Las salidas fuera del rango son impredecibles

    Referencias

    • Predicción precisa del tiempo de viaje en autopista con redes neuronales estado-espacio bajo datos faltantes. Van-Zuylen. Investigación en transporte parte c. 2005/10/12. 13 (5-6) pp347-369.
    • Astrom, K.J., Hagglund, T. Control PID avanzado. ISA- La Sociedad de Sistemas de Istrumentación y Automatización.
    • Campos, Lucio P.A., Silva, Aristorfanes C. Barros, Allan Kardec. Diagnóstico de cáncer de mama en mamografías digitales mediante análisis de componentes independientes y redes neuronales. Ponencia Apuntes en Ciencias de la Computación, vol. 3773, pub 2005, p460-469.
    • Chan, CH, Chow, PY. Aplicación de redes neuronales artificiales para establecer un modelo predictivo de riesgo de mortalidad en niños ingresados en la unidad de cuidados intensivos pediátricos. Singapur Med J. Volumen 47, Número 11, Fecha 2006/10/31, páginas 928-934.
    • Yu, C. Davidson, VJ, Yang, SX. Un enfoque de red neuronal para predecir interfaces durvival/muerte y crecimiento/no crecimiento para Escherichia coli O157:H7. Microbiología de Alimentos [Microbiol de Alimentos.]. Vol. 23, núm. 6, pp. 552-560. Sep 2006

    This page titled 12.4: Redes Neuronales para la construcción automática de modelos is shared under a CC BY 3.0 license and was authored, remixed, and/or curated by Peter Woolf et al. via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.