scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

La Biomecánica es la disciplina que trata el análisis y predicción de la mecánica de los seres vivos, por tanto, sirve de ayuda para entender el funcionamiento motor de los organismos, caracterizar el comportamiento de tejidos y órganos desde el punto de vista estructural y, predecir los cambios microestructurales que sufren estos por distintas alteraciones. Respecto a los cambios microestructurales, la estructura del hueso se adapta en respuesta a las alteraciones de carga que sufre. Debido a esta circunstancia, existen diferentes modelos de acuerdo a leyes matemáticas que estudian el comportamiento de los huesos, lo que se ha llamado modelos de remodelación ósea. Actualmente, muchos de estos modelos se están revisando. Esto es debido a la creciente necesidad surgida en la Biomecánica para crear modelos que se adapten a un paciente específico. Dentro del modelado de paciente específico uno de los retos más importantes es la predicción de cargas que un paciente soporta, las cuales crean una determinada distribución de densidades óseas. Esta predicción de cargas sirve de gran ayuda a la hora de elegir por ejemplo, una prótesis que se ajuste en la mejor medida a un determinado paciente específico. De acuerdo con la situación actual en el modelado de paciente específico, se ha desarrollado en este proyecto un modelo matemático que combina la aplicación de redes neuronales y la implementación de un modelo de remodelación ósea, empleando para ello el método de elementos finitos. Este modelo nos permitirá obtener las condiciones de carga que producen una determinada distribución de densidades. Este proyecto plantea la resolución de dos problemas: el problema de remodelación ósea y el problema inverso de remodelación ósea. Para la resolución del primero, se pretende estudiar el comportamiento del fémur sometido a unas cargas, las cuales simulan la situación de marcha de un sujeto específico. Para ello se ha utilizado un modelo de remodelación ósea en concreto conjuntamente al método de elementos finitos. La resolución de este problema nos dará como resultado una determinada distribución de densidades en el fémur, las cuales servirán como entradas para el problema inverso de remodelación ósea. La resolución del problema inverso de remodelación ósea requiere de técnicas muy costosas y laboriosas, de manera que, a fin de simplificar el proceso y reducir el coste computacional, se ha utilizado la aplicación de una red neuronal artificial (RNA). De esta forma, las densidades obtenidas en el fémur nos servirán como entrada para nuestra red neuronal artificial, la cual, una vez entrenada, nos predecirá con elevada exactitud y con un tiempo computacional adecuado las condiciones de carga que producen la distribución de densidades en el fémur obtenidas en el problema de remodelación ósea. Para comprobar el correcto funcionamiento de la red neuronal, se realizarán una serie de validaciones tanto dentro como fuera del rango de paciente específico. Extremiana Daroca, Marcos; Pérez Ansón, María Ángeles; Garijo Millán, Noelia

Full text

INGENIERÍA INDUSTRIAL Predicción de cargas en el fémur para paciente-específico combinando redes neuronales y elementos finitos. MARCOS EXTREMIANA DAROCA Directora Mº ANGELES PEREZ ANSÓN Co-directora NOELIA GARIJO MILLÁN Departamento de Ingeniería Mecánica Escuela de Ingeniería y Arquitectura Universidad de Zaragoza Zaragoza, Septiembre de 2013 PROYECTO FIN DE CARRERA PFC Ingeniería Industrial Marcos Extremiana Daroca PFC Ingeniería Industrial Marcos Extremiana Daroca En primer lugar, me gustaría expresar aunque no tenga palabras para ello, mi más sincero agradecimiento a la Directora de este proyecto, Dña. Mª Ángeles Pérez Ansón, que sin su apoyo, dedicación y esfuerzo no hubiera podido ser realizado. Me gustaría destacar en estas líneas, que además de ser una gran profesora, siempre dedicada en cuerpo y alma a su trabajo, es una persona cercana y atenta con el alumno. De esta manera, quiero decir, que aparte de haber conocido a una extraordinaria profesora y profesional en estos años de Universidad, he conocido a una bellísima persona de la cual me llevo una gran amistad. Agradecer también a la Co-directora de este proyecto, Noelia Garijo Millán, por su ayuda continua, por sus consejos y por saberme guiar en los momentos más complejos del proyecto. A Leyre por su empuje y apoyo incondicional, por intentar ayudarme en todo en lo que estuviese en su mano y por saber motivarme en los momentos más críticos del año. A mis padres, Ernesto y Mercedes, que gracias a ellos he tenido la oportunidad de formarme académicamente en esta Universidad, mostrando siempre su entera disposición, animándome y sabiendo valorar el esfuerzo que he realizado. Y para finalizar, agradecimiento para todos los amigos que me llevo de todo estos años de Universidad, ya que gracias a ellos y aunque no lo sepan, han hecho posible el que llegue al lugar donde me encuentro ahora. ZARAGOZA, Septiembre del 2013 Marcos Extremiana Daroca PFC Ingeniería Industrial Marcos Extremiana Daroca RESUMEN La Biomecánica es la disciplina que trata el análisis y predicción de la mecánica de los seres vivos, por tanto, sirve de ayuda para entender el funcionamiento motor de los organismos, caracterizar el comportamiento de tejidos y órganos desde el punto de vista estructural y, predecir los cambios microestructurales que sufren estos por distintas alteraciones. Respecto a los cambios microestructurales, la estructura del hueso se adapta en respuesta a las alteraciones de carga que sufre. Debido a esta circunstancia, existen diferentes modelos de acuerdo a leyes matemáticas que estudian el comportamiento de los huesos, lo que se ha llamado modelos de remodelación ósea. Actualmente, muchos de estos modelos se están revisando. Esto es debido a la creciente necesidad surgida en la Biomecánica para crear modelos que se adapten a un paciente específico. Dentro del modelado de paciente específico uno de los retos más importantes es la predicción de cargas que un paciente soporta, las cuales crean una determinada distribución de densidades óseas. Esta predicción de cargas sirve de gran ayuda a la hora de elegir por ejemplo, una prótesis que se ajuste en la mejor medida a un determinado paciente específico. De acuerdo con la situación actual en el modelado de paciente específico, se ha desarrollado en este proyecto un modelo matemático que combina la aplicación de redes neuronales y la implementación de un modelo de remodelación ósea, empleando para ello el método de elementos finitos. Este modelo nos permitirá obtener las condiciones de carga que producen una determinada distribución de densidades. Este proyecto plantea la resolución de dos problemas: el problema de remodelación ósea y el problema inverso de remodelación ósea. Para la resolución del primero, se pretende estudiar el comportamiento del fémur sometido a unas cargas, las cuales simulan la situación de marcha de un sujeto específico. Para ello se ha utilizado un modelo de remodelación ósea en concreto conjuntamente al método de elementos finitos. La resolución de este problema nos dará como resultado una determinada distribución de densidades en el fémur, las cuales servirán como entradas para el problema inverso de remodelación ósea. La resolución del problema inverso de remodelación ósea requiere de técnicas muy costosas y laboriosas, de manera que, a fin de simplificar el proceso y reducir el coste computacional, se ha utilizado la aplicación de una red neuronal (RNA). De esta forma, las densidades obtenidas en el fémur nos servirán como entrada para nuestra red neuronal, la cual, una vez entrenada, nos predecirá con elevada exactitud y con un tiempo computacional adecuado las condiciones de carga que producen la distribución de densidades en el fémur obtenidas en el problema de remodelación ósea. Para comprobar el correcto funcionamiento de la red neuronal, se realizarán una serie de validaciones tanto dentro como fuera del rango de paciente específico. PFC Ingeniería Industrial Marcos Extremiana Daroca PFC Ingeniería Industrial Marcos Extremiana Daroca I Índice General 1. Introducción. ......................................................................... 1 1.1. Introducción. ......................................................................................................................... 1 1.2. Objetivos. ............................................................................................................................... 2 1.3. Descripción del proyecto. .................................................................................................... 2 2. Redes neuronales. ................................................................. 4 2.1. El modelo biológico. ............................................................................................................ 4 2.2. Modelo de neurona artificial. ............................................................................................... 5 2.2.1. Entradas y salidas. ......................................................................................................... 6 2.2.2. Pesos sinápticos. ............................................................................................................ 6 2.2.3. Regla de propagación. ................................................................................................... 6 2.2.4. Función de activación. .................................................................................................. 7 2.2.5. Función de salida. .......................................................................................................... 7 2.3. Arquitectura de una red neuronal. ...................................................................................... 8 2.4. Funcionamiento de la red neuronal. ................................................................................... 8 2.4.1. Fase de entrenamiento. ................................................................................................. 8 2.4.2. Fase de operación o test. .............................................................................................. 9 2.5. Redes neuronales con conexión hacia delante. ................................................................. 9 2.5.1. Perceptrón simple. ....................................................................................................... 9 2.6. Entrenamiento de la red neuronal. ................................................................................... 10 2.6.1. Algoritmo Backpropagation....................................................................................... 10 2.6.2. Generalización. ............................................................................................................ 11 3. Metodología desarrollada. ................................................... 13 3.1. Introducción. ....................................................................................................................... 13 3.2. Definición del problema de remodelación ósea. ............................................................ 14 3.2.1. Modelo de remodelación ósea. .................................................................................. 14 3.2.1. Modelo 3D de elementos finitos del fémur. ............................................................ 15 3.2.3. Condiciones de carga del modelo. ........................................................................... 18 3.3. Definición del problema inverso de remodelación ósea. .............................................. 20 3.3.1. Entradas y salidas del problema inverso de remodelación ósea. .......................... 21 3.3.2. Características de la red neuronal utilizada. ............................................................ 22 PFC Ingeniería Industrial Marcos Extremiana Daroca II 4. Resultados. .......................................................................... 23 4.1. Evaluación de la red neuronal. .......................................................................................... 23 4.2. Resultados de la red neuronal aplicada a la resolución del problema inverso de remodelación ósea. ..................................................................................................................... 24 4.2.1. Modelo de entrenamiento. ......................................................................................... 24 4.2.2. Reducción del número de entradas para la red neuronal....................................... 27 4.2.3. Reducción del número de casos utilizados en el entrenamiento de la red neuronal. .................................................................................................................................. 29 4.2.4. Comparación de los resultados obtenidos para los diferentes modelos de entrenamiento. ........................................................................................................................ 30 4.3. Validación. ............................................................................................................................ 33 5. Conclusiones y futuras líneas de investigación. ................. 35 5.1. Resumen del proyecto realizado. ...................................................................................... 35 5.2. Conclusiones. ....................................................................................................................... 36 5.2. Futuras líneas de investigación. ......................................................................................... 38 6. Bibliografía. ........................................................................ 39 PFC Ingeniería Industrial Marcos Extremiana Daroca III Índice de figuras Figura 2.1: Neurona biológica…………………………………………………………......4 Figura 2.2: Neurona artificial…………………………………………………………….5 Figura 2.3: Perceptrón multicapa (MLP)………………………………………………....10 Figura 2.4: Generalización. a) Situación idealizada. b) Situación real…………………….12 Figura 3.1: Esquema de la metodología desarrollada en el proyecto……………………...14 Figura 3.2: Proceso realizado…………………………………………………………....16 Figura 3.3: Segmentación y proceso de reconstrucción del fémur mediante MIMICS…...16 Figura 3.4: Fémur mallado……………………………………………………………....17 Figura 3.5: Esquema de división del ciclo de marcha en distintas fases………………........18 Figura 3.6: Modelo 3D de elementos finitos del fémur con las condiciones de carga aplicadas. Cada par de cargas representan las acciones sufridas en la cabeza femoral del fémur y sus acciones inducidas en el abductor muscular. Carga 1: Pie entra en contacto con el suelo de forma completa. Carga 2: momento de abducción. Carga 3: Momento de aducción………………………………………………………………………………......19 Figura 3.7: Distribución de desviaciones típicas obtenidas en el fémur para las condiciones de carga aplicadas: a) distribución de las densidades de los 74416 elementos de la malla 3D del elementos finitos del fémur; b) 42 elementos con mayor desviación típica, que representan las entradas para la red neuronal…………………………………………........21 Figura 4.1: Error de carga relativo obtenido para el modelo inicial de entrenamiento….....25 Figura 4.2: Error de ángulo relativo obtenido para el modelo inicial de entrenamiento…………………………………………………………………………....26 Figura 4.3: Error relativo total obtenido para el modelo inicial de entrenamiento………...26 Figura 4.4: Valores medios en valor absoluto de los pesos sinápticos para las 42 entradas seleccionadas del modelo de elementos finitos del fémur………………………………...27 Figura 4.5: Distribución de desviaciones típicas obtenidas en el fémur para las condiciones de carga aplicadas: a) 42 elementos con mayor desviación típica; b) 21 elementos con mayor desviación típica…………………………………………………………………..28 Figura 4.6: Evolución del error relativo total para los diferentes modelos de entrenamiento de la red neuronal. a) 1000 casos con 42 entradas. b) 500 cosos con 42 entradas. c) 1000 casos con 21 entradas. d) 500 casos con 21 entradas……………………………………..31 Figura 4.7: Tiempo computacional obtenido para los diferentes modelos de entrenamiento…………………………………………………………………………....33 PFC Ingeniería Industrial Marcos Extremiana Daroca IV Índice de tablas Tabla 2.1: Funciones de activación………………………………………………………..7 Tabla 3.1: Condiciones de carga del modelo……………………………………………..20 Tabla 4.1: Error relativo y coeficiente de correlación para el primer modelo de entrenamiento de la red neuronal………………………………………………………....24 Tabla 4.2: Error relativo y coeficiente de correlación para el modelo de entrenamiento 1000 casos y 21 entradas………………………………………………………………......28 Tabla 4.3: Error relativo y coeficiente de correlación para el modelo de entrenamiento 500 casos con 42 entradas………………………………………………………………..29 Tabla 4.4: Error relativo y coeficiente de correlación para el modelo de entrenamiento 500 caos y 21 entradas………………………………………………………………….....30 Tabla 4.5: Errores de test relativos totales de los diferentes modelos de entrenamiento para las dos capas intermedias de neuronas óptimas obtenidas……………………….........32 Tabla 4.6: Resultados obtenidos para las 3 validaciones realizadas a la red neuronal seleccionada……………………………………………………………………………....34 Capítulo 2. Redes Neuronales. 7 2.2.4. Función de activación. La función de activación determina el estado de activación actual de la neurona en base al potencial resultante hi y al estado de activación anterior de la neurona ai(t-1). El estado de activación de la neurona para un determinado instante de tiempo t puede ser expresado de la siguiente manera: Sin embargo, en la mayoría de los modelos se suele ignorar el estado anterior de la neurona, definiéndose el estado de activación en función del potencial resultante hi: La Tabla 2.1 muestra un listado de algunas de las funciones de activación más utilizadas en los distintos modelos de redes neuronales artificiales. Tabla 2.1: Funciones de activación. 2.2.5. Función de salida. La función de salida proporciona el valor de salida de la neurona, en base al estado de activación de la neurona. En general se utiliza la función identidad, es decir: Capítulo 2. Redes Neuronales. 8 2.3. Arquitectura de una red neuronal. Una vez definida el tipo de neurona que se utilizará en un modelo de redes neuronales artificiales es necesario definir la topología de la misma. La organización y disposición de las neuronas dentro de una red neuronal se denomina topología, y viene dada por el número de capas, la cantidad de neuronas por capa, el grado de conectividad, y el tipo de conexión entre neuronas. Las neuronas suelen agruparse en unidades funcionales denominadas capas. Se denomina capa de entrada a aquella que está compuesta por neuronas de entradas y por lo tanto recibe información procedente desde el exterior. Análogamente, se denomina capa oculta y capa de salida a aquellas capas que están compuestas por neuronas ocultas y de salida respectivamente. Una red neuronal artificial está compuesta por una o más capas, las cuales se encuentran interconectadas entre sí. Entre un par de neuronas de la red neuronal artificial pueden existir conexiones. Estas conexiones son las sinapsis, tienen asociadas un peso sináptico, y son direccionales. Cuando la conexión se establece entre dos neuronas de una misma capa hablamos de conexiones laterales o conexiones intra-capa. Por el contrario, si la conexión se establece entre neuronas de distintas capas se la denomina conexión inter-capa. Si la conexión se produce en el sentido inverso al de entrada-salida la conexión se llama recurrente o realimentada. Una red puede estar formada por una única capa de neuronas. En este caso hablamos de redes monocapa, y las neuronas que conforman dicha capa cumplen la función de neuronas de entrada y salida simultáneamente. Cuando la red está compuesta por dos o más capas hablamos de redes multicapa. A su vez, hablamos de redes neuronales con conexión hacia delante (redes feedforward) cuando las conexiones entre las distintas neuronas de la red siguen un único sentido, desde la entrada de la red hacia la salida de la misma. Cuando las conexiones pueden ser tanto hacia delante como hacia atrás hablamos de redes recurrentes (redes feedback). 2.4. Funcionamiento de la red neuronal. Durante la operatoria de una red neuronal podemos distinguir claramente dos fases o modos de operación: la fase de aprendizaje o entrenamiento, y la fase de operación o test. Durante la primera fase, la fase de aprendizaje, la red es entrenada para realizar un determinado tipo de procesamiento. Una vez alcanzado un nivel de entrenamiento adecuado, se pasa a la fase de operación, donde la red es utilizada para llevar a cabo la tarea para la cual fue entrenada. 2.4.1. Fase de entrenamiento. Una vez seleccionada el tipo de neurona artificial que se utilizará en una red neuronal y determinada su topología es necesario entrenarla para que la red pueda ser utilizada. Partiendo de un conjunto de pesos sinápticos aleatorio, el proceso de aprendizaje busca un conjunto de pesos que permitan a la red desarrollar correctamente una determinada tarea. Durante el proceso de aprendizaje se va refinando iterativamente la solución hasta alcanzar un nivel de operación suficientemente bueno. Capítulo 2. Redes Neuronales. 9 El proceso de aprendizaje se puede dividir en tres grandes grupos de acuerdo a sus características en: [Isasi Viñuela y Galván León, 2004; Yao, 1999]  Aprendizaje supervisado. Se presenta a la red un conjunto de patrones de entrada junto con la salida esperada. Los pesos se van modificando de manera proporcional al error que se produce entre la salida real de la red y la salida esperada.  Aprendizaje no supervisado. Se presenta a la red un conjunto de patrones de entrada. No hay información disponible sobre la salida esperada. El proceso de entrenamiento en este caso deberá ajustar sus pesos en base a la correlación existente entre los datos de entrada.  Aprendizaje por refuerzo. Este tipo de aprendizaje se ubica entre medio de los dos anteriores. Se le presenta a la red un conjunto de patrones de entrada y se le indica a la red si la salida obtenida es o no correcta. Sin embargo, no se le proporciona el valor de la salida esperada. Este tipo de aprendizaje es muy útil en aquellos casos en que se desconoce cual es la salida exacta que debe proporcionar la red. 2.4.2. Fase de operación o test. Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para realizar la tarea para la que fue entrenada. Una de las principales ventajas que posee este modelo es que la red aprende la relación existente entre los datos, adquiriendo la capacidad de generalizar conceptos. De esta manera, una red neuronal puede tratar con información que no le fue presentada durante de la fase de entrenamiento. 2.5. Redes neuronales con conexión hacia delante. Este tipo de redes neuronales son las que mayor aplicación práctica tienen, se caracterizan por su organización en capas y conexiones estrictamente hacia delante, utilizando entrenamientos de tipo supervisado. Dentro de este grupo destacaremos el perceptrón y el perceptrón multicapa (MLP) los cuales desarrollaremos a continuación. 2.5.1. Perceptrón simple. Este modelo tiene gran importancia histórica ya que fue el primer modelo en poseer un mecanismo de entrenamiento que permite determinar automáticamente los pesos sinápticos que clasifican correctamente a un conjunto de patrones a partir de un conjunto de ejemplos. La arquitectura del perceptrón está compuesta por dos capas de neuronas, una de entrada y una de salida. La capa de entrada es la que recibe la información proveniente del exterior y la transmite a las neuronas sin realizar ningún tipo de operación sobre la señal de entrada. En general la información entrante es binaria. La función de activación de las neuronas de un perceptrón es del tipo escalón, dando de esta manera sólo salidas binarias. Cada neurona de salida del perceptrón representa a una clase. Una neurona de salida responde con 1 si el vector de entrada pertenece a la clase a la que representa y responde con 0 en caso contrario. El algoritmo de entrenamiento del perceptrón se encuentra dentro de los denominados algoritmos por corrección de errores. Este tipo de algoritmos ajustan los Capítulo 2. Redes Neuronales. 10 pesos de manera proporcional a la diferencia entre la salida actual proporcionada por la red y la salida objetivo, con el fin de minimizar el error producido por la red. 2.5.2. Perceptrón multicapa (MLP). El perceptrón multicapa es una extensión del perceptrón simple. La topología de un perceptrón multicapa está definida por un conjunto de capas ocultas, una capa de entrada y una de salida. No existen restricciones sobre la función de activación aunque en general se suelen utilizar funciones sigmoideas (ver tabla 2.1). A continuación se expone el esquema tipo para una MLP, el cual es el modelo más utilizado actualmente, ver Figura 2.3. Figura 2.3. Perceptrón multicapa (MLP) 2.6. Entrenamiento de la red neuronal. En el contexto de las redes neuronales el entrenamiento o aprendizaje puede ser visto como el proceso de ajuste de los parámetros libres de la red [Yao, 1995]. Partiendo de un conjunto de pesos sinápticos aleatorios, el proceso de entrenamiento busca un conjunto de pesos que permitan a la red desarrollar correctamente una determinada tarea. Este proceso de entrenamiento, es un proceso iterativo, en el cual se va refinando la solución hasta alcanzar un nivel de operación lo suficientemente bueno. La mayoría de los métodos de entrenamiento utilizados en las redes neuronales con conexión hacia delante consisten en proponer una función de error que mida el rendimiento actual de la red en función de los pesos sinápticos. El objetivo del método de entrenamiento es encontrar el conjunto de pesos sinápticos que minimizan (o maximizan) la función. El método de optimización proporciona una regla de actualización de los pesos que en función de los patrones de entrada modifica iterativamente los pesos hasta alcanzar el punto óptimo de la red neuronal. 2.6.1. Algoritmo Backpropagation. El algoritmo de entrenamiento/aprendizaje supervisado más común utilizado para una MLP, es el algoritmo llamado Backpropagation. Este algoritmo surgió de la búsqueda de un algoritmo para entrenar específicamente a la MLP. Es un tanto complejo ya que se toma la información del comportamiento de la red en el sentido directo de la red y en el sentido inverso, esto se realiza por la necesidad de modificar el comportamiento de las capas ocultas. El algoritmo Backpropagation tiene como objetivo usar la diferencia entra las salidas deseadas y las salidas actuales en la capa de salida de la red para cambiar los pesos Capítulo 2. Redes Neuronales. 11 (indicados con valores aleatorios pequeños) con el fin de reducir al mínimo esta diferencia (error). Esto se logra mediante una serie de interacciones donde se modifica cada peso de derecha a izquierda (sentido inverso de la propagación de información en la red) hasta modificarse los pesos de la capa de entrada prosiguiendo nuevamente con la propagación de la información de entrada, esto hasta que la diferencia entra la salida deseada y la obtenida en cada neurona de salida sea mínima [Fristsch, 1996]. El algoritmo Backpropagation es el método que desde un principio se desarrollo con el fin de entrenar redes neuronales multicapa y se demostró su eficiencia suficiencia en el entrenamiento de redes para resolver diversos problemas, pero en muchos casos resultó ser muy lento. A través de los años han surgido algoritmos más poderosos, aunque más complejos, la mayoría partiendo de la base de este algoritmo, propagar el error hacia atrás. De cualquier forma, es recomendable el uso de este algoritmo cuando se trata el diseño de una MLP, ya que no es demasiado complejo, se entiende fácilmente su finalidad, y sirve para comprender más rápido los algoritmos que se basan en él. 2.6.2. Generalización. Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para realizar la tarea para la que fue entrenada. Una de las principales ventajas que posee este modelo es que la red aprende la relación existente entre los datos, adquiriendo la capacidad de generalizar conceptos. De esta manera, una red neuronal puede tratar con información que no le fue presentada durante de la fase de entrenamiento [Chirungrueng, 1988]. Cuando se evalúa una red neuronal no sólo es importante evaluar si la red ha sido capaz de aprender los patrones de entrenamiento. Es imprescindible también evaluar el comportamiento de la red ante patrones nunca antes vistos. Esta característica de las redes neuronales se la conoce como capacidad de generalización y es adquirida durante la fase de entrenamiento. Es necesario que durante el proceso de aprendizaje la red extraiga las características de las muestras, para poder luego responder correctamente a nuevos patrones. De lo dicho anteriormente surge la necesidad de evaluar durante la fase de entrenamiento dos tipos de errores. El error de aprendizaje , que indica la calidad de la respuesta de la red a los patrones de entrenamiento y el error de test , que indica la calidad de la respuesta de la red a patrones nunca antes vistos. Para poder obtener una medida de ambos errores es necesario dividir el set de datos disponibles en dos, el set de datos de entrenamiento, y el set de datos de evaluación. El primero se utiliza durante la fase de entrenamiento para que la red pueda extraer las características de los mismos mediante el ajuste de sus pesos sinápticos, así la red logra una representación interna de la función. El set de evaluación se utiliza para evaluar la capacidad de generalización de la red. La causa más común de la pérdida de capacidad de generalización es el sobreaprendizaje . Esto sucede cuando la cantidad de ciclos de entrenamientos tiende a ser muy alta. Se observa que la respuesta de la red a los patrones de entrenamiento es muy buena mientras que la respuesta a nuevos patrones tiende a ser muy pobre. Al aumentar el número de ciclos la red tiende a sobreajustar la respuesta a los patrones de entrenamiento, a expensas de una menor capacidad de generalización. La Figura 2.4.a muestra una situación idealizada de lo dicho anteriormente. En la misma se observa que en un determinado punto se empieza a perder capacidad de generalización como consecuencia del sobreaprendizaje. Capítulo 2. Redes Neuronales. 12 Figura 2.4: Generalización. a) Situación idealizada. b) Situación real. En la Figura 2.4.b se muestra una situación más real del mismo caso. A medida que transcurre el proceso de aprendizaje se obtienen varios mínimos sobre el conjunto de evaluación. Existen diversas técnicas de parada temprana aunque en la mayoría de los casos se deja que el proceso de aprendizaje avance hasta alcanzar una cota de error razonable, guardando periódicamente las distintas configuraciones intermedias para luego seleccionar la de menor error de evaluación. En ocasiones la pérdida de capacidad de generalización se produce por el uso excesivo de neuronas ocultas en la red neuronal. Esto hace que la red tienda a ajustar con mucha exactitud los patrones de entrenamiento, evitando que la red extraiga las características del conjunto. a) b) 13 Capítulo 3 Metodología desarrollada. 3.1. Introducción. En este proyecto se ha desarrollado una metodología que consiste en resolver dos problemas y comparar sus resultados obtenidos; estos dos problemas son el problema de remodelación ósea y el problema inverso de remodelación ósea. El problema de remodelación ósea se ha resuelto utilizando un modelo de elementos finitos 3D de un fémur real de un paciente específico. Este modelo de remodelación ósea se ha resuelto varias veces con el objetivo de obtener un amplio rango de densidades óseas debidas a la acción de diversas cargas. Esta variación de carga se ha realizado con el objetivo de suplir la carencia de datos, en referencia a diferentes casos de pacientes específicos. Por ello, se ha cogido una geometría real de un único paciente y se ha sometido a diferentes condiciones de carga, obteniéndose diversas distribuciones óseas, ver Figura 3.1. Por otro lado, la resolución del problema inverso de remodelación ósea nos dará como datos de salida el módulo de carga y la inclinación que genera una determinada distribución de densidad. Para obtener estos datos de salida se hace necesaria la utilización de un modelo matemático. En este proyecto y como ya se explicó en capítulos anteriores, se ha utilizado el modelo de red neuronal artificial (RNA). Una vez establecido el modelo matemático a utilizar debemos determinar los parámetros de entrada, en nuestro caso corresponden a los elementos seleccionados de la malla 3D de elementos finitos del fémur de mayor desviación típica de densidad, los cuales se han obtenido en el modelo de remodelación ósea anterior. Para finalizar, se validarán los datos de carga obtenidos mediante la red neuronal seleccionada con las condiciones de carga introducidas en el modelo de remodelación ósea, las cuales se corresponden con los datos de carga del paciente. Dicho desarrollo del proyecto se expone en el siguiente esquema, ver Figura 3.1. Capítulo 3. Metodología desarrollada. 14 Figura 3.1: Esquema de la metodología desarrollada en el proyecto 3.2. Definición del problema de remodelación ósea. A continuación, se exponen en este apartado los pasos seguidos para la solución del problema de remodelación ósea. En primer lugar, es necesario tomar como referencia para la resolución del problema, un modelo de remodelación ósea que se aproxime al comportamiento real del hueso ante la acción de diversa cargas. Una vez seleccionado el modelo de remodelación ósea más adecuado, se ha realizado un modelo 3D de elementos finitos del fémur del paciente específico. Posteriormente, y a fin de simular diferentes casos de paciente específico, se ha sometido al modelo 3D del fémur a diferentes condiciones de carga. Al final como resultado del problema de remodelación ósea obtendremos una serie de distribuciones de densidad óseas diversas. En los siguiente apartados se expone detalladamente los pasos seguidos en el problema de remodelación ósea, hasta la consecución de las citadas distribuciones de densidad óseas en el fémur del paciente específico. 3.2.1. Modelo de remodelación ósea. El hueso es un material poroso, heterogéneo y anisótropo. Además es un tejido vivo en constante cambio. Estos cambios que se producen en el hueso son importantes cambios morfológicos en respuesta a la situación mecánica a la que se encuentra solicitado, modificando su geometría externa y su estructura interna. Este proceso adaptativo se conoce con el nombre de remodelación ósea adaptativa. En concreto este proceso de Modelo 3D de un fémur real Análisis de remodelación ósea por E.F. Estimación de las densidades óseas Estimación de cargas ANN Datos de entrada Error de cálculo Condiciones de carga Problema de remodelación ósea Dinámica inversa del problema de remodelación ósea Capítulo 3. Metodología desarrollada. 15 remodelación puede ser externo, en que la forma geométrica externa cambia con el tiempo, o interno, en el que las propiedades del material cambian con el tiempo sin alterar su forma. Estos procesos suceden simultáneamente. Para el desarrollo de este proyecto se ha utilizado un modelo de remodelación ósea anisótropo desarrollado por Doblaré y García [2002]. Doblaré y García [2002] plantean la utilización de los conceptos de la Mecánica del Daño anisótropo como marco general para la formulación del problema de remodelación ósea. Es de destacar que en este modelo el estímulo no es una medida del microdaño, sino que el estímulo vuelve a ser la medida del estado de las deformaciones locales e instantáneas del hueso. Por tanto, cuando se habla de variables de daño habrá que entender mejor variables internas microestructurales sin identificación con ningún daño real. Este modelo de remodelación se basa en los principios de la Mecánica del Daño Continuo utilizando la teoría de daño como herramienta matemática para la formulación de la capacidad de la remodelación ósea. Este modelo es capaz de predecir la distribución ósea anisotrópica y no homogénea en el hueso. Las variables independientes internas son las que definen la microestructura del hueso, la densidad aparente y el “fabric tensor”. La densidad aparente cuantifica el grado de porosidad del hueso y el “fabric tensor” que mide el grado de anisotropía de la estructura ósea. El “fabric tensor” se demuestra que está alineado con el tensor de elasticidad, mientras que utilizando los principios de la teoría respecto a las variable internas queda demostrado que las direcciones de ortropía coinciden con los ejes principales de daño. El modelo de remodelación ósea se ha implementado en una subrutina de ABAQUS. 3.2.1. Modelo 3D de elementos finitos del fémur. El método de elementos finitos (MEF) es un método numérico general para la aproximación de soluciones de ecuaciones diferenciales muy utilizado en diversos problemas de ingeniería y física. El método de elementos finitos es muy usado debido a su generalidad y facilidad de introducir dominios de cálculo complejos (en dos o tres dimensiones). Además el método es fácilmente adaptable a problemas de difusión del calor, de mecánica de fluidos para calcular campos de velocidades y presiones (fluidomecánica) o de campo electromagnético. Dada la imposibilidad práctica de encontrar la solución analítica de estos problemas, con frecuencia en la práctica ingenieril los métodos numéricos, y en particular los elementos finitos se convierten en la única alternativa práctica de cálculo. Para la obtención del modelo 3D de elementos finitos del fémur se han seguido varios pasos, los cuales se exponen a continuación, ver Figura 3.2: Capítulo 3. Metodología desarrollada. 16 Figura 3.2: Proceso realizado En primer paso del proceso realizado, consiste en la reconstrucción geométrica del fémur, la cual se ha realizado mediante el programa comercial MIMICS. Se ha partido de imágenes médicas de un fémur humano de un varón de 25 años, dichas imágenes médicas utilizadas en este proyecto para la reconstrucción del fémur, fueron obtenidas mediante Tomografía Axial Computarizada Helicoidal (TAC). Una vez con las imágenes en el programa MIMICS, se inició la reconstrucción de la geometría. En primer lugar se realizó una segmentación automática a partir de la escala de grises (lo realiza MIMICS por defecto). A partir de esta segmentación automática, las imágenes se fueron retocando manualmente. En función de la intensidad de dicha escala se ha podido diferenciar las diferentes partes del fémur, esto quiere decir, que según aumenta el nivel de grises aumenta la densidad del material. A continuación en la Figura 3.3 se puede observar la imagen del proceso de reconstrucción con MIMICS. Figura 3.3: Segmentación y proceso de reconstrucción del fémur mediante MIMICS. IMÁGENES MÉDICAS SEGMENTACIÓN ANALISIS RECONSTRUCCIÓN 3D GENERACIÓN DE LA MALLA DE ELEMENTOS FINITOS MIMICS MIMICS HARPOON ABAQUS 23 Capítulo 4 Resultados. 4.1. Evaluación de la red neuronal. Para evaluar correctamente nuestra red neuronal artificial hemos utilizado la técnica de validación cruzada. Consiste en dividir los datos de la muestra, en nuestro caso en dos subconjuntos: un subconjunto utilizado para entrenar al modelo (90% de los datos) y otro subconjunto utilizado para validar y testear el modelo (10% de los datos). En esta técnica aleatoria se han realizado 10 iteraciones y para cada una de estas iteraciones, el subconjunto de validación ha ocupado una posición diferente a lo largo de los datos de la muestra. La ventaja de la validación cruzada es que utiliza todos los datos disponibles de entrenamiento y el error final es independiente de los datos seleccionados en cada modelo. Con el fin de predecir la exactitud de nuestra red neuronal artificial se han utilizado los siguientes errores: Donde son los datos de predicción, son los datos reales, es la covarianza y y son las desviaciones típicas de la variables x e y. Los resultados obtenidos para el error relativo se calculan en base a los subconjuntos de test y entrenamiento de la validación cruzada. Mediante el coeficiente de correlación medimos el grado de intensidad de la relación entre los datos de entrenamiento. Estos datos se utilizan para generar el modelo, de manera que el correspondiente error nos indicará si el modelo se ha entrenado correctamente. Por otro lado, los datos de test se utilizan para validar el modelo, de manera que el correspondiente error nos indica si el modelo es adecuado para simular el problema. Antes de introducirnos en los diferentes modelos de entrenamiento utilizados para nuestra red neuronal y comentar los resultados obtenidos, es importante destacar los valores que aparecen en las gráficas. Estos valores corresponden a los errores de aprendizaje y a los errores de test. Capítulo 4. Resultados. 24  Error de aprendizaje: corresponde a los errores obtenidos en función de los datos con que se entrena el modelo, es decir, los mismos valores utilizados para enseñar a la red neuronal.  Error de test: compara el error que se produce al introducir en nuestra red datos no utilizados anteriormente, comparándolo posteriormente con el obtenido para los datos reales. 4.2. Resultados de la red neuronal aplicada a la resolución del problema inverso de remodelación ósea. 4.2.1. Modelo de entrenamiento. Como modelo inicial de entrenamiento para nuestra red neuronal se han tomado 1000 casos (para diferentes condiciones de carga y ángulo) y 42 elementos de entrada. A continuación se exponen en la Tabla 4.1 para diferentes números de neuronas en la capa intermedia, los errores obtenidos para la carga, el ángulo y el error total obtenido, que es suma de los dos anteriores. También se muestra el coeficiente de correlación. Siempre que hablemos de error nos estaremos refiriendo a un error relativo, en este caso sería error relativo de carga y error relativo de ángulo. Error relativo (%) y coeficiente de correlación Neuronas capa intermedia 3 5 10 15 20 25 30 40 50 Error de carga (%) Test 0,03166 0,02106 0,02655 0,02890 0,04091 0,03468 0,03251 0,03967 0,03314 Aprendizaje 0,02702 0,01628 0,01679 0,00786 0,00348 2,94E-7 9,62E-8 2.98E-8 2,87E-7 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error de ángulo (%) Test 25,1045 21,4411 17,9726 12,1305 7,7832 0,30154 0,13496 0,16335 0,12832 Aprendizaje 23,9019 20,6915 15,9623 11,4385 7,4555 0,24661 0,11255 0,13787 0,11532 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error total (%) Test 25,1362 21,4621 17,9991 12,1594 7,82413 0,33621 0,16742 0,20302 0,16145 Aprendizaje 23,9291 20,7078 15,9791 11,4464 7,45901 0,24661 0,11255 0,13787 0,11532 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Tabla 4.1: Error relativo y coeficiente de correlación para el primer modelo de entrenamiento de la red neuronal Capítulo 4. Resultados. 25 A continuación, en las Figuras 4.1 y 4.2 se observa la evolución del error relativo respecto al número de neuronas de la capa intermedia obtenido, tanto para la carga como para el ángulo del modelo inicial respectivamente. En la Figura 4.1 se muestran los errores de aprendizaje y de test obtenidos para la carga. Se observa que mientras el error de aprendizaje disminuye de forma continua según aumenta el número de neuronas, el error de test no sigue una trayectoria tan homogénea. El error disminuye hasta llegar al entrenamiento de capa intermedia con 5 neuronas, posteriormente el error va aumentando progresivamente hasta alcanzar el último punto de entrenamiento que corresponde a la capa intermedia con 50 neuronas. Cabe destacar que para 30 neuronas se alcanza un mínimo relativo, el cual será descartado debido a que es de valor superior al obtenido para una capa intermedia con 5 neuronas. De esta forma y a la vista de los resultados del error de carga, se determina como solución óptima una capa intermedia con 5 neuronas . Se ha considerado esta solución ya que a partir de ella nos aparece el llamado sobreentrenamiento, el cual nos produce una pérdida de generalización por el uso excesivo de neuronas en la capa intermedia de la red neuronal. Es decir, al aumentar el número de neuronas del modelo el resultado no mejora. En la Figura 4.2 los valores representados corresponden a los errores obtenidos para el error relativo del ángulo. Tanto el error de test como el error de aprendizaje tienen unos valores muy similares, los cuales disminuyen según incrementamos el número de neuronas. Estos errores son de un orden bastante superior a los obtenidos para el error relativo de carga. Gráficamente es difícil de determinar la solución que optimice el error, pero si nos dirigimos a la Tabla 4.1 y a la Figura 4.3 se observa que el menor error total (error de test) se consigue para una capa intermedia con 30 neuronas. De esta forma, seleccionaremos como solución óptima una capa intermedia con 30 neuronas . Figura 4.1: Error de carga relativo obtenido para el modelo inicial de entrenamiento 0,0000 0,0050 0,0100 0,0150 0,0200 0,0250 0,0300 0,0350 0,0400 0,0450 3 5 10 15 20 25 30 40 50 Error % Error relativo de carga Error de test Error de aprendizaje Neuronas Capítulo 4. Resultados. 26 Figura 4.2: Error de ángulo relativo obtenido para el modelo inicial de entrenamiento Para obtener una visión conjunta del modelo se ha englobado los errores obtenidos tanto para la carga como para el ángulo. En la Figura 4.3 se muestra el error total producido en el modelo de entrenamiento para las diferentes capas intermedias. Los errores relativos obtenidos para el ángulo son de un orden mayor respecto a los errores relativos de carga. De esta manera, será el error relativo obtenido para el ángulo el que tenga mayor peso a la hora de determinar el número óptimo de neuronas en la capa intermedia. Analizando los datos numérica y gráficamente, se ha determinado que el número de neuronas de la capa intermedia que optimizan funcionamiento del modelo de entrenamiento es de 30 neuronas. Figura 4.3: Error relativo total obtenido para el modelo inicial de entrenamiento 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Error % Error relativo de ángulo Error de test Error de aprendizaje Neuronas 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Error % Error relativo total Error de test Error de aprendizaje Neuronas Capítulo 4. Resultados. 27 4.2.2. Reducción del número de entradas para la red neuronal. En un primer momento se utilizó una técnica estadística basada en la media y desviación típica para reducir el número de entradas (valores de densidad de los elementos del fémur), ya que si tomamos todas las entradas el coste computacional que obtenemos es muy elevado (apartado 3.3.1). En un principio las entradas se redujeron de los 74461 puntos de integración conocidos del modelo de elementos finitos del fémur a 42 entradas, se tomó como criterio de selección aquellos puntos de integración (entradas) con la desviación típica mayor. Con el fin de reducir aún más el número de datos de entrada y por tanto reducir el coste computacional de entrenamiento de la red se realizó el siguiente estudio. Para la reducción de los elementos de entrada a la red, se partió de los datos obtenidos para el modelo de entrenamiento con 1000 casos. Del error total se obtuvo como ya se explico en apartado 4.2.1 una capa intermedia óptima para nuestra red neuronal con 30 neuronas. Para esta capa intermedia se evaluó la media de los pesos sinápticos de todas las entradas (30 neuronas, 42 elementos) y se seleccionaron los 21 elementos con mayor media en valor absoluto como nuevos elementos de entrada. En la Figura 4.4 podemos observar los valores medios en valor absoluto de los pesos sinápticos, obtenidos para los 42 elementos de entrada considerados inicialmente y cómo se seleccionaron aquellos con mayor media. El límite está marcado por la línea roja que aparece en dicha figura, cabe destacar que los 21 elementos seleccionados se sitúan por encima de la citada línea roja. Figura 4.4. Valores medios en valor absoluto de los pesos sinápticos para las 42 entradas seleccionadas del modelo de elementos finitos del fémur. Cuando se obtuvieron los puntos con mayor desviación típica en el fémur la mayoría de ellos se localizaron en el borde de la zona cortical y del esponjoso, zona de mayor densidad ósea del modelo 3D del fémur (Figura 4.5). Con el fin de obtener un mejor estudio de la red neuronal se tomaron, a pesar de tener menor desviación típica, otros puntos de integración situados en zonas como la cabeza y cuello del fémur. En las siguientes figuras (Figura 4.5.a y Figura 4.5.b) se observa la distribución de estos elementos de entrada a lo largo del modelo 3D del fémur. 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3 3,2 3,4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Capítulo 4. Resultados. 28 Figura 4.5: Distribución de desviaciones típicas obtenidas en el fémur para las condiciones de carga aplicadas: a) 42 elementos con mayor desviación típica; b) 21 elementos con mayor desviación típica A continuación se exponen los resultados obtenidos para el modelo de 1000 casos con los 21 elementos de entrada seleccionados, ver Figura 4.5.b, con el fin de reducir el coste computacional de la red neuronal. Podemos observar a simple vista que los errores obtenidos para el ángulo (error más influyente a la hora de obtener el error total) al reducir el número de entradas, son menores para los primeros casos de entrenamiento (hasta capa intermedia con 20 neuronas). Sin embargo, el error no se hace prácticamente nulo hasta alcanzar la capa intermedia con 50 neuronas, hecho que para el modelo con 42 entradas se producía a partir de la capa intermedia con 25 neuronas. Respecto al coste computacional, los datos obtenidos se expondrán más detalladamente en secciones posteriores. Error relativo (%) y coeficiente de correlación Neuronas capa intermedia 3 5 10 15 20 25 30 40 50 Error de carga (%) Test 4,04553 0,03471 0,02336 0,01702 0,01531 0,01395 0,02669 0,02306 0,03574 Aprendizaje 0,03956 0,02984 0,01905 0,01297 0,00781 0,00415 0,00963 0,00252 7,39E-8 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error de ángulo (%) Test 18,2467 15,6413 10,3822 6,86782 6,39366 4,18632 5,99656 2,47466 0,13792 Aprendizaje 17,4281 15,5266 9,45698 6,50332 6,31143 3,84119 5,57075 2,11870 0,10632 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error total (%) Test 18,2923 15,6761 10,4055 6,88485 6,40897 4,20023 6,02324 2,49772 0,17336 Aprendizaje 17,4677 15,5564 9,47603 6,51629 6,31924 3,84535 5,58034 2,12122 0,10632 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Tabla 4.2: Error relativo y coeficiente de correlación para el modelo de entrenamiento 1000 casos y 21 entradas. a) b) Elementos de mayor peso, correspondientes a los puntos 10, 11,12 de la Figura 4.4 Desviación típica gr/cm3 Capítulo 4. Resultados. 29 4.2.3. Reducción del número de casos utilizados en el entrenamiento de la red neuronal. Con el fin de obtener un mejor entrenamiento de la red neuronal y de esta forma poder ajustarla de la forma más exacta posible, se han creado dos nuevos modelos de entrenamiento. Para estos modelos de entrenamiento se han reducido el número de casos utilizados para entrenar y testear. Concretamente, se redujeron el número de casos de carga manteniendo el mismo número de casos para la variación del ángulo. Además de reducir el número de casos, se ha estudiado el efecto combinado de también reducir el número de entradas. Por lo tanto, se han utilizado 500 casos con 42 y 21 entradas. En primer lugar nos centraremos en el modelo de entrenamiento para el cual hemos seleccionado como entradas de la red neuronal los 42 elementos más característicos del fémur 3D. (Ver Figura 4.1.a). Los errores obtenidos para este modelo de entrenamiento (500 casos y 42 entradas) son de un orden muy similar al obtenido para el modelo con 1000 casos, simplemente cabe comentar que los errores alcanzan valores cercanos al cero a partir de una capa intermedia con 15 neuronas. Para el modelo con 21 entradas, los errores son del orden inferior para los obtenidos para 42 entradas, en este modelo el error total adquiere valores cercanos a cero a partir de una capa intermedia con 25 neuronas. De todos modos, los errores totales obtenidos para los cuatro modelos de entrenamiento los comentaremos de forma más detallada en el apartado 4.2.4 donde se podrán entender mejor mediante gráficas. A continuación se exponen los resultados obtenidos para los dos modelos de entrenamiento con 500 casos y 42 entradas (Tabla 4.3) y 21 entradas (Tabla 4.4). Error relativo (%) y coeficiente de correlación Neuronas capa intermedia 3 5 10 15 20 25 30 40 50 Error de carga (%) Test 0,03668 0,03095 0,07948 0,12262 0,12479 0,07688 0,07045 0,10958 0,08116 Aprendizaje 0,02616 0,01951 0,00015 1,82E-7 2,66E-8 5,19E-8 3,26E-7 2,87E-7 2,06E-7 0,99999 0,99999 0,99998 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error de ángulo (%) Test 29,4605 25,2019 12,3436 0,28323 0,20325 0,21533 0,19055 0,20374 0,16824 Aprendizaje 27,3614 22,5255 10,8416 0,00165 0,12218 0,15341 0,13623 0,12526 0,12202 0,99999 0,99999 0,99998 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Error total (%) Test 29,4972 25,2318 12,4231 0,40545 0,32804 0,29221 0,26101 0,31333 0,24941 Aprendizaje 27,3885 22,5456 10,8421 0,16463 0,12184 0,15341 0,13623 0,12536 0,12202 0,99999 0,99999 0,99998 0,99999 0,99999 0,99999 0,99999 0,99999 0,99999 Tabla 4.3: Error relativo y coeficiente de correlación para el modelo de entrenamiento 500 casos con 42 entradas. Capítulo 4. Resultados. 30 Error relativo (%) y coeficiente de correlación Neuronas capa intermedia 3 5 10 15 20 25 30 40 50 Error de carga Test 0,05979 0,03988 0,02651 0,11046 0,03651 0,02063 0,05793 0,04818 0,04054 Aprendizaje 0,04764 0,02624 0,01412 0,00102 6,43E-6 7,94E-7 5,90E-7 1,90E-7 1,27E-7 0,99999 0,99999 0,99999 0,99982 0,99999 0,99999 0,99996 0,99999 0,99999 Error de ángulo Test 18,6202 17,3433 11,8656 5,03094 1,95133 0,13722 0,13702 0,14345 0,11574 Aprendizaje 18,2077 14,9719 11,0271 4,29943 1,65313 0,10331 0,08862 0,08723 0,08136 0,99999 0,99999 0,99999 0,99982 0,99999 0,99999 0,99996 0,99999 0,99999 Error total Test 18,6801 17,2832 11,8921 5,14145 1,97846 0,15785 0,19563 0,19164 0,15628 Aprendizaje 18,2556 14,9981 11,0412 4,30045 1,65382 0,10331 0,08862 0,08723 0,08136 0,99999 0,99999 0,99999 0,99982 0,99999 0,99999 0,99996 0,99999 0,99999 Tabla 4.4: Error relativo y coeficiente de correlación para el modelo de entrenamiento 500 caos y 21 entradas. 4.2.4. Comparación de los resultados obtenidos para los diferentes modelos de entrenamiento. Resumiendo, para el entrenamiento de la red neuronal se utilizaron cuatro modelos, el objetivo es obtener un ajuste mejor para nuestra red y observar los resultados obtenidos al modificar los casos de carga y ángulo y el número de entradas. Los cuatro modelos de entrenamiento utilizados en este proyecto son los siguientes:  1000 casos con 42 entradas.  500 casos con 21 entradas.  1000 casos con 42 entradas.  500 casos con 21 entradas. En este apartado se exponen las cuatro gráficas, ver Figura 4.5, obtenidas para el error relativo total de los cuatro modelos de entrenamiento. Se puede observar que el variar el número de entradas de la red neuronal produce cambios más significativos que variar los casos de carga y ángulo utilizados. Centrándonos en el modelo de 1000 casos, cuando tenemos 42 entradas el error va descendiendo, hasta alcanzar valores cercanos a cero a partir de la una capa intermedia con 25 neuronas. Sin embargo, para los mismos casos pero con 21 entradas, este descenso del error se produce de una manera más suavizada durante el entrenamiento del modelo. Obteniéndose a partir de la capa intermedia con 25 neuronas un ligero sobreentrenamiento. Para el modelo con 500 casos se produce algo similar a lo descrito anteriormente, para 42 entradas el descenso del error se produce de una forma más brusca, en este caso los errores cercanos a cero los obtendremos a partir de las 15 neuronas en la capa intermedia. Capítulo 4. Resultados. 31 En el mismo modelo pero con 21 entradas este descenso del error se produce más suavemente a medida que aumenta el número de neuronas de la capa intermedia, en este modelo se alcanzan valores muy próximos a cero a partir una capa intermedia con 25 neuronas. Figura 4.6: Evolución del error relativo total para los diferentes modelos de entrenamiento de la red neuronal a) 1000 casos con 42 entradas b) 500 cosos con 42 entradas c) 1000 casos con 21 entradas d) 500 casos con 21 entradas. Para los modelos de entrenamiento de 1000 y 500 casos con 42 entradas, se ha determinado como óptima una capa intermedia con 30 neuronas. Para el modelo con 1000 casos en esta capa intermedia se obtuvo el menor error total. Sin embargo, para él modelo con 500 casos no se obtuvo el menor error total para esta capa intermedia, ya que se obtuvo en capas posteriores. Cabe decir que se seleccionó la capa intermedia mencionada ya que a partir de ella nos aparece sobreentrenamiento en la red neuronal, de manera que no es aconsejable la selección de las siguientes capas intermedias. Para los modelos de entrenamiento con 21 entradas simplemente comentar que se han obtenido los menos errores totales para una capa intermedia de 25 neuronas, la cual se ha tomado como óptima. En la siguiente tabla comparativa, ver Tabla 4.5, se observan los errores relativos para los casos de entrenamiento con 25 y 30 neuronas para la capa intermedia, como antes se ha dicho fueron las soluciones óptimas que se obtuvieron durante el entrenamiento de los diferentes modelos. Se pueden considerar los resultados de entrenamiento como satisfactorios ya que los errores obtenidos se encuentran por debajo del 1%, a excepción del modelo con 1000 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Error % Error de test Error de aprendizaje Neuronas 1000casos/42entra a) 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Error % Error de test Error de aprendizaje Neuronas 500casos/42entrad b) 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Error % Error de test 1000casos/21entrad Neuronas c) 0 5 10 15 20 25 30 35 3 5 10 15 20 25 30 40 50 Errror % Error de test Error de aprendizaje Neuronas 500casos/21entrad d) Capítulo 4. Resultados. 32 casos y 21 entradas donde se obtuvieron errores del orden 10 veces superior al de los otros modelos de entrenamiento. Cabe destacar, que el mayor error total para este modelo se obtuvo para una capa intermedia con 30 neuronas. Para los otros modelos de entrenamiento los errores totales para las dos capas intermedias seleccionadas son muy parejos. Para la capa intermedia con 25 neuronas el menor error se obtuvo para el modelo de entrenamiento de 500 casos con 21 entradas, y para la capa intermedia con 30 neuronas el menor error total se obtuvo para el modelo de entrenamiento de 1000 casos con 42 entradas. Englobando los errores totales de ambas capas intermedias y a falta de saber el coste computacional de los diferentes modelos de entrenamiento, podemos considerar como la mejor opción para nuestra red neuronal el modelo de 500 casos con 21 entradas , ya que para la capa intermedia con 25 neuronas se obtiene el menor error total y para la capa intermedia con 30 neuronas el error total es prácticamente igual al obtenido para el modelo de 1000 casos con 42 entradas. Error test relativo total (%) 25 neuronas 30 neuronas 1000 casos con 42 entradas 0,33621% 0,16742% 500 casos con 42 entradas 0,29221% 0,26101% 1000 casos con 21 entradas 4,20023% 6,02324% 500 casos con 21 entradas 0,15785% 0,19563% Tabla 4.5: Errores de test relativos totales de los diferentes modelos de entrenamiento para las dos capas intermedias de neuronas óptimas obtenidas. A continuación se exponen gráficamente los resultados obtenidos para el coste computacional de los diferentes modelos de entrenamiento, los cuales, no ayudaran a determinar la solución óptima para nuestra red neuronal, ver Figura 4.7. Se puede observar claramente que al aumentar el número de neuronas de la capa intermedia el tiempo computacional aumenta exponencialmente. Este aumento se produce de una forma más brusca para todos los modelos de entrenamiento, a partir de la capa intermedia con 25 neuronas. De esta forma, queda demostrado que el tiempo computacional aumenta al aumentar el número de neuronas de la capa intermedia. A continuación, nos centraremos en cómo se ve afectado el tiempo computacional en función del número de entradas de la red neuronal (apartado 4.2.2). Se determina claramente en la figura, como al reducir el número de entradas de la red neuronal, disminuye el tiempo computacional, siendo esta disminución de un orden mayor para los modelos de entrenamiento con 1000 casos. Es destacable comentar, que este tiempo computacional es menor para los modelos de entrenamiento con 500 casos que para los modelos con 1000 casos. En función de los resultados obtenidos, tanto para el error relativo como para el tiempo computacional, podemos determinar como solución óptimo para nuestra red neuronal, el modelo de entrenamiento 500 casos y 21 entradas y una capa intermedia con 25 neuronas. Obteniéndose como valores un error test relativo total igual 0,15785% y un tiempo computacional de 5 horas y 25 minutos. 39 Capítulo 6 Bibliografía. [1] Beaupre G. S, Orr T. E, Carter D. R, An approach for time-dependent bone modeling and remodeling - theoretical development, J. Orthop. Res. 8 (1990) 651– 661. [2] Behrens B. A, Nolte I, Wefstaedt P, Stukenborg-Colsman C, Bouguecha A. Numerical investigations on the strainádaptive bone remodeling in the periprosthetic femur: Influence of the boundary conditions. BioMedical Engineering Online, 8(2009), 1-9. [3] Bergmann G, Deuretzbacher G, Heller M, Graichen F, Rohlmann A, Strauss J, Duda G. N, Hip contact forces and gait patterns from routine activities, J. Biomech. 34 (2001) 859-871. [4] Chinrungrueng C, Analysis of simple neural networks. Master’s Report Computer Science Department, University of California at Berkeley (1988). [5] Doblarè M, García J, Application of an anisotropic bone-remodelling model based on a damagerepair theory to the analysis of the proximal femur before and after total hip replacement, J.Biomech. 34 (2001) 1157-1170. [6] Doblare M y García J. M [2002]. Anisotropic bone remodeling model base on a continuum damage-repair theory. J. Biomech 35(1) 1-17 [7] Duda G. N, Heller M, Albinger J, Schulz O, Schneider E, L. Claes. Influence of muscle forces on femoral strain distribution. J. Biomechanics, 31 (1998), 841-846. [8] Fischer K. J, Jacobs C. R, Carter D. R, Computational method for determination of bone and joint loads using bone density distributions, J.Biomech. 28 (1995) 11271135. [9] Folgado J, Fernandes P,. Rodrigues H, Computational study on bone remodeling and osseointegration for a hip replacement using a conservative femoral stem, Computational Vision and Biomechanics 1 (2008) 97-106. [10] Fritsch J, Modular Neural Networks for Speech Recognition. Master’s Thesis. Carnegie Mellon University (1996). Capítulo 6. Bibliografía. 40 [11] Galibarov P. E, Prendergast P. J, Lennon A. B, A method to reconstruct patientspecific proximal femur surface models from planar pre-operative radiographs, Med.Eng.Phys. 32 (2010) 1180-1188. [12] Gurney K, Neural Nets. CRC Press. ISBN: 1857285034 (1997). [13] Heller M. O, Bergmann G, Deuretzbacher G, Claes L, Haas N. P, Duda G. N, Influence of femoral anteversion on proximal femoral loading: measurement and simulation in four patients, Clin. Biomech. 16 (2001) 644-649. [14] Huiskes R, Weinans H, Grootenboer H. J, Dalstra M, Fudala B, Sloo T. J, Adaptive bone-remodeling theory applied to prosthetic-design analysis, J.Biomech. 20 (1987) 1135–1150. [15] Isasi Viñuela P, Galván León I. M, Redes Neuronales Artificiales. Un enfoque Práctico, Prentice Hall (2004). [16] Jacobs C, Numerical Simulation of Bone Adaptation to Mechanical Loading, Disertation for the Degree of Doctor of Philosophy, Stanford University (1994). [17] Lu T. W. Taylor S. J, O’Connor J. J, Walker P. Influence of muscle activity on the forces in the femur: an in vivo study. J. Biomechanics, 30(1997), 1101-1106. [18] Martínez G, Pasquini R, Servente D , Sistemas Inteligentes. Nueva Librería (2003). [19] Martínez J, Martínez M, Matías J. M, Taboada J, Classifying slate tile quality using automated learning techniques, Math Comput Model.10 (2011). [20] Nascimento C, Artificial Neural Networks in Control and Optimization. PhD Thesis. University of Manchester, Institute of Science and Technology (UMIST), Control Systems Centre, Manchester, United Kingdom (1995). [21] Wolff J, Das gesetz der transformation der knochen, Hirschwald, Berlin (1982). [22] Yao X, Evolving Artificial Neural Networks, En Proceedings of the IEEE, Vol 87(9) (1999) 1423-1447. [23] Yao X, Evolutionary Artificial Neural Networks, Encyclopedia of Computer Science and Technology, Kent, A., J. G. Williams(eds), Vol 33 (1995) 137-170.