Marco Teórico
A continuación, se estudian los distintos principios físicos y fuerzas que influyen en el comportamiento aerodinámico de un automóvil. Igualmente, se estudian las causas que han significado el auge de la inteligencia artificial, así como su funcionamiento, haciendo especial hincapié en las redes neuronales convolucionales.
Principio de Bernoulli
El principio de Bernoulli, estrechamente relacionado con el primer principio de la
termodinámica y principio que rige el comportamiento aerodinámico de cualquier automóvil,
fue propuesto por Daniel Bernoulli (1700-1782) en su obra Hidrodinámica (1738). Este
sostiene que, en un fluido ideal, esto es, sin viscosidad ni rozamiento, la energía se conserva.
Esta energía se divide en: energía cinética (producto del movimiento), energía potencial
(producto de la altura) y energía de flujo (producto de la presión que posee). De ahí, que un
incremento en la velocidad de un fluido se traduzca en la disminución de su presión o energía
potencial, estableciendo de este modo la relación entre la velocidad y presión de un fluido.
Aun cuando el principio de Bernoulli (Ecuación 1) se formulara en relación con fluidos
incompresibles sin viscosidad, este proporciona una buena aproximación para aquellos que
presenten algún tipo de viscosidad, como es el caso del aire. Más aún, en el caso de un
automóvil, la energía potencial se puede despreciar, simplificando la ecuación (Ecuación 2):
Entre las múltiples aplicaciones de este principio en la industria automovilística, destaca su
uso en los vehículos de competición, donde emerge como la base fundamental para generar
carga aerodinámica, y con ello, rendimiento. Para ello, y aprovechando la relación que
establece entre la presión y velocidad de un fluido, este es acelerado bajo el vehículo (Figura
1), creando de este modo una zona de baja presión (Figura 2). Es, precisamente, el gradiente
de presiones resultante entre la zona superior del vehículo (presión más alta) y la inferior
(presión más baja), el que se traduce en una fuerza vertical con el mismo sentido que la
gravedad que provoca que el automóvil se adhiera al asfalto [3].
Efecto Coandă
El efecto Coandă, fenómeno físico propio de los fluidos, fue descubierto por Henry Marie
Coandă (1886-1972) en la década de 1930. Este describe la tendencia de los fluidos a
adherirse y permanecer adheridos a la superficie del sólido con el que contactan, adaptándose
a la curvatura que éste presente siempre que el cambio no sea pronunciado en exceso. El
efecto se fundamenta en el principio de Bernoulli, concretamente, en que la mayor velocidad de un fluido lleva asociada una zona de menor presión. De ahí que, si asumimos que la
velocidad del aire en la superficie del sólido es nula, y que conforme se aleja del sólido
aumenta hasta alcanzar la velocidad previa al contacto, entonces, en esta etapa de transición
se producirá una zona de depresión. Más aún, al impedir la presencia del sólido que el aire
fluya de las zonas de alta presión a aquellas de menor, la baja presión tenderá a atraer el fluido
hacia el cuerpo, provocando, que se adhiera. No obstante, en última instancia, será la mayor
presión externa la que fuerce al fluido a adherirse contra el cuerpo, persistiendo así el efecto
en el tiempo [4].
En la industria automovilística el aprovechamiento de este efecto permite reducir el drag de
forma (resistencia al avance creada por todos los elementos del vehículo), como se explicará
más adelante. Para la comprobación del efecto, en las Figuras 3 y 4 correspondientes al
campo de presiones y de velocidad en el eje X del aire incidente sobre un vehículo, se pueden
observar cambios más pronunciados en el contorno del mismo hacia el final de la parte
superior. Por ello, y a pesar de las zonas de baja presión que se generan como consecuencia,
el aire no es capaz de adherirse a la superficie del vehículo, tal y como se deduce a partir de
que la velocidad del aire en la parte trasera sea cercana a 0.
Tercera Ley de Newton
La Tercera Ley de Newton, presentada por Isaac Newton (1643-1727) en Principia
Mathematica Philosophiae Naturalis en el año 1686, sostiene que, si un cuerpo A ejerce una
fuerza sobre un cuerpo B, este ejerce a su vez una fuerza de igual módulo y dirección, pero de
sentido contrario sobre A.
En el caso de un automóvil y el perfil aerodinámico correspondiente a su alerón trasero (Figura 5), se puede observar como el aire es desviado hacia arriba debido a la geometría del perfil. Como consecuencia y de acuerdo con la Tercera Ley de Newton, el alerón (Figura 6) será empujado hacia abajo, generando carga aerodinámica por el gradiente de presiones [5].
Fuerzas aerodinámicas actuando en un vehículo
Las fuerzas aerodinámicas que actúan en un vehículo en movimiento resultan de la
interacción del vehículo con el aire y del diferencial de velocidad y presiones entre ambos, y
si bien no tienen una fuente única, son producto de los fenómenos y principios físicos
descritos anteriormente. Las fuerzas son: la sustentación, la carga aerodinámica y la
resistencia aerodinámica al avance (Figura 7) [6].
Sustentación y carga aerodinámica
La sustentación o lift es la fuerza mecánica que surge de la interacción entre un fluido en movimiento y un cuerpo. Esta actúa en el centro de presiones del objeto, donde se aplica la fuerza aerodinámica resultante, con una dirección perpendicular al flujo del fluido y sentido contrario al de la gravedad. No obstante, en el caso de los automóviles, en especial en los de competición, se pretende generar la fuerza opuesta a la sustentación, esto es, la carga aerodinámica o downforce. Si bien esta también tiene una dirección perpendicular al flujo, su sentido es el contrario, el mismo que la gravedad, lo que se traduce en una fuerza que empuja al vehículo contra el asfalto. En los vehículos de competición, esto resulta en un mayor agarre de los neumáticos, y, por tanto, mayor rendimiento [6] [7]. A continuación, se indica la expresión (Ecuación 3) empleada para calcular el lift de un vehículo.
Resistencia aerodinámica al avance
La resistencia aerodinámica al avance o drag es la fuerza mecánica que se opone al movimiento longitudinal del vehículo a través del aire, es decir, la fuerza que experimenta el vehículo en la misma dirección que el movimiento, y por ello, paralelamente al flujo del aire, pero en sentido contrario. Asimismo, la resistencia aerodinámica es de especial relevancia en la actualidad, ya que un buen diseño aerodinámico que consiga reducir el drag se traduce en un automóvil con un consumo de combustible un 9% menor, y, por consiguiente, más eficiente, una característica [8] aún más importante en el caso de los vehículos eléctricos. El drag se origina como consecuencia directa del diferencial de velocidad entre el vehículo en cuestión y el aire, y se descompone en tres fuentes principales:
o Drag parásito: dentro del drag parásito se distinguen dos fuentes.
o Drag derivado de la fricción del fluido: se origina en la capa límite del aire debido a su viscosidad y al rozamiento derivado de su fricción con la superficie del vehículo. Por ello, esta resistencia es más relevante en las moléculas del aire más cercanas a la superficie. Del mismo modo, el flujo de aire turbulento, flujo desordenado con numerosos vórtices, se ve más afectado que el laminar, flujo ordenado en láminas paralelas, debido al mayor número de interacciones con la superficie.
o Drag de forma: depende de la geometría o forma del vehículo en cuestión y su aparición va estrechamente ligada al efecto Coandă. Al encontrar el aire un cambio muy pronunciado en la curvatura del vehículo no es capaz de mantenerse adherido y se despega, generando como consecuencia una zona de baja presión. En última instancia, es el diferencial de presión resultante entre la parte delantera (mayor) y trasera del vehículo (menor), el que genera una fuerza que se opone a su movimiento (Figura 8) [9].
o Drag inducido o drag derivado de la sustentación: es especialmente notable en el caso de monoplazas de carreras, y surge a raíz de los vórtices de aire que se mueven de las zonas de mayor presión a las de menor. Estos se derivan, a su vez, de la desigual distribución de la presión en los elementos aerodinámicos. En última instancia, la intensidad de estos vórtices altera las condiciones ideales del elemento en cuestión, reduciendo su eficiencia [10].
A continuación, se indica la expresión (Ecuación 4) empleada para calcular el drag de un
vehículo [6].
Dinámica de Fluidos Computacional
La dinámica de fluidos computacional (CFD, Computational Fluid Dynamics), ampliamente utilizada en la industria a partir de los años 80, permite predecir el comportamiento de los fluidos y sus propiedades físicas asociadas, como la velocidad, presión, viscosidad, densidad o temperatura alrededor de un cuerpo. Debido a su complejidad, toda predicción mediante CFD consta de 3 fases: preprocesamiento, resolución y postprocesamiento. Durante el preprocesamiento se realiza el mallado del cuerpo a analizar y se definen unas condiciones generales de funcionamiento. Posteriormente, en la segunda fase, las propiedades físicas y parámetros son calculados mediante la resolución iterativa de un conjunto de ecuaciones parciales no lineales, conocidas como ecuaciones Navier-Stokes (Figura 9), en honor a Claude-Louis Navier (1785-1836) y George Gabriel Stokes (1819-1903). Estas son resueltas a través de complejos algoritmos, y se pueden dividir en las siguientes ecuaciones gobernantes:
1. Conservación de la masa: Ecuación de continuidad
2. Conservación del momento: Segunda Ley de Newton
3. Conservación de la energía:
Primera Ley de la Termodinámica o
Ecuación de la Energía
En resumen, estas establecen que tanto la masa como el momento y la energía se mantienen estables dentro de un sistema cerrado [11]. Por último, una vez las ecuaciones han sido resueltas, siempre que sea posible, en la tercera fase, los resultados se pueden analizar numéricamente o visualizar como campos de velocidad, presión y flujo.
A pesar de la precisión en los análisis de la dinámica de fluidos computacional, esta presenta
dos grandes inconvenientes. En primer lugar, la resolución de las ecuaciones, así como el
mallado previo del cuerpo necesario para la simulación suponen un coste computacional muy
elevado. Además del alto coste computacional, otro de sus factores limitantes es el tiempo
requerido por las simulaciones. Si bien este depende en gran medida de la complejidad y
problemática a resolver, para los problemas más sencillos tanto el mallado como la
simulación pueden llevar, en ordenadores estándar, horas, mientras que para aquellos más
complejos incluso semanas [12].
Inteligencia Artificial
La inteligencia artificial es el campo que pretende resolver problemas relacionados con el tratamiento y análisis de datos valiéndose de las ciencias de la computación y big data. Para ello, se diseñan programas o máquinas que pretenden imitar el razonamiento humano y que aprenden a realizar tareas automáticamente con base en sus errores incluso sin una necesaria supervisión humana (aprendizaje no supervisado) [13]. En los últimos años, la aplicación de la inteligencia artificial a la resolución de problemas crecientemente complejos se ha intensificado a la luz de los éxitos que ha cosechado. Éxitos que, a su vez, son producto de: «(a) los masivos y crecientes volúmenes de datos; (b) los avances en hardware computacional junto con la reducción en los costes de cálculo, almacenamiento y transferencia de datos; (c) algoritmos cada vez más sofisticados; (d) la abundancia de software de código abierto y problemas de referencia; y (e) la inversión significativa y continua de la industria en la resolución de problemas basados en datos» [14].
a. Entre los años 2010 y 2020, el volumen de datos se incrementó en un 5000% a nivel mundial [15]. Asimismo, se espera que para el año 2025 este se haya triplicado con respecto a 2020, pasando de 64 zetabytes a más de 180 [16].
b. De acuerdo con Our World in Data, el número de transistores en circuitos integrados ha pasado de 1.000 en 1970 a 20.000.000.000 en 2016, cumpliendo de este modo la ley de Moore, según la cual el número de transistores en un microprocesador se duplica cada dos años. Igualmente, entre noviembre de 2012 y mayo de 2020 el rendimiento de los procesadores gráficos especializados en cálculos diseñados para inteligencia artificial, tensor core, se multiplicó por 317 [17].
c. De la mano de la mejora en los procesadores, los algoritmos han sufrido una constante evolución e incremento en su complejidad. Asimismo, se ha producido un importante desarrollo de algoritmos muy especializados en inteligencia artificial y en el problema a optimizar.
d. El uso generalizado de la inteligencia artificial se ha traducido en numerosos repositorios de código de libre acceso con modelos cuya eficacia ya ha sido probada en problemas de referencia, siendo Github, uno de los mayores repositorios de código, un claro ejemplo. Más aún, la divulgación de diversos modelos de IA en competiciones como ImageNet ha contribuido a un mayor acceso a la inteligencia artificial para el público no especializado.
e. De acuerdo con la Guía de gasto mundial en inteligencia artificial de la consultora IDC, la inversión en IA alcanzará los 154.000 millones de dólares durante 2023, representado un incremento en la inversión del 26,9% respecto a 2022 [18]. Además, el número de patentes solicitadas relacionadas con la IA ha aumentado un 400% en los últimos diez años [19].
Este desarrollo y especialización de la inteligencia artificial se han traducido en distintos subcampos como el aprendizaje automático, el cual, a su vez, engloba al aprendizaje profundo.
o El aprendizaje automático o machine learning es el subconjunto de la inteligencia artificial que tiene como objetivo la identificación de patrones y tendencias a partir de grandes volúmenes de datos para, en última instancia, realizar predicciones sobre parámetros para los que no ha sido directamente entrenado. Para ello, emplea y desarrolla una serie de algoritmos y modelos estadísticos que determinen y optimicen el modelo diseñado para una determinada solución [20].
o El aprendizaje profundo o deep learning es un subconjunto del aprendizaje automático cuya estructura, aprendizaje por capas, redes neuronales artificiales, y funcionamiento están inspirado en la del cerebro humano. Por ello, requiere en menor medida de la participación humana, lo que le permite identificar patrones previamente no inferidos o no insertados expresamente en el código por los desarrolladores. Su uso resulta especialmente relevante en el caso de regresiones no lineales o modelos que necesiten de una mayor complejidad [13].
Redes neuronales artificiales
Los algoritmos paramétricos más comúnmente empleados en aprendizaje profundo son las redes neuronales artificiales o Artificial Neural Networks (ANN), debido a su capacidad para reconocer patrones y relaciones no lineales en grandes cantidades de datos, pudiendo llegar a aproximar cualquier función continua en un dominio acotado [21]. Asimismo, las redes neuronales artificiales cuentan con cuatro virtudes diferenciadoras con respecto a los métodos de resolución de problemas más tradicionales [22].
1. Aprendizaje: las redes neuronales son capaces de identificar y aprender patrones en grandes volúmenes de datos autónomamente.
2. Simplicidad de implementación: las librerías de aprendizaje profundo de código libre, así como los avances a nivel de hardware han permitido un acceso más generalizado y económico.
3. Tolerancia a fallos: incluso si la red neuronal resultase dañada o sufriese un error, su funcionamiento estaría garantizado debido a la redundancia y en ocasiones, multiplicidad de la información.
4. Flexibilidad: una vez la red neuronal ha sido correctamente entrenada, es capaz de generalizar los patrones y soluciones resultantes.
Las neuronas, inspiradas tanto en su estructura como en su funcionamiento en las humanas, son las unidades básicas de las ANN y actúan como nodos de procesamiento interconectados entre sí que realizan una sucesión de cálculos matemáticos (Figura 10). En estos cálculos participan cuatro elementos comunes a todas las neuronas: el valor de entrada o input, el peso o weight, la función de activación y el sesgo o bias. Mientras que el input es el valor recibido por la neurona, el peso es un parámetro multiplicador que determina la importancia o la fuerza de conexión entre dos neuronas, estableciendo así la influencia que tiene una neurona y, con ello, las características que esta ha extraído, en el proceso de aprendizaje. De ahí, que el principal objetivo del entrenamiento de la red sea encontrar valores óptimos para los pesos. Por otro lado, la función de activación reconvierte el input a un valor de salida comprendido en un rango determinado a la vez que introduce no linealidad en la red al determinar si una neurona se activa o no, decidiendo si la información es transmitida a la siguiente neurona. Existen numerosas funciones de activación, y su uso depende de las particularidades del problema a resolver. A continuación, se examinan las más comunes, todas caracterizadas por su no excesivo coste computacional [23]:
o La sigmoide toma cualquier valor real como entrada y produce como salida valores comprendidos en el rango de 0 a 1. Cuanto mayor es la entrada más se acerca el valor de salida a 1 y viceversa.
o La tangente hiperbólica (Tanh), produce como salida valores comprendidos entre -1 y 1, y al igual que en la sigmoide, cuanto mayor es la entrada más se acerca el valor de salida a 1 y en el caso contrario a -1.
o La Rectified Linear Unit (ReLU) es la más habitual en las redes neuronales convolucionales y transforma los valores introducidos en un rango de 0 a ∞, anulando los valores negativos y manteniendo los positivos.
Por último, el sesgo permite modificar el resultado de la función de activación, al controlar la propensión de una neurona a ser activada, mejorando así la capacidad de la red para aprender patrones no lineales, su valor óptimo también se establece durante el entrenamiento [24].
En resumen, y de manera algebraica (Ecuación 5), el valor de salida de una neurona es el resultado de aplicar la función de activación a la suma ponderada de los pesos multiplicados por los valores de entrada (variable independiente) más el sesgo [25].
Las redes neuronales cuentan con una estructura jerárquica (Figura 11) que consiste en la capa de entrada, las capas ocultas y la capa de salida, todas ellas, a su vez, están interconectadas entre sí. Normalmente, aunque no de manera necesaria, los datos fluyen desde la capa de entrada hasta la capa de salida sin realimentaciones, a lo que también se conoce como perceptrón multicapa [24] [26].
o Capa de entrada: es la primera capa de la red neuronal artificial. Aporta los datos iniciales, sin haber sido computados para su ulterior procesamiento, al sistema. Estos pueden estar en distintos formatos.
o Capas ocultas: capas intermedias que realizan todos los cálculos, extrayendo las características y patrones de los datos. Su número depende de las necesidades del problema a resolver.
o Capa de salida: la última capa de neuronas del modelo, recibe la información procesada en las capas ocultas anteriores y realiza una predicción final basada en el aprendizaje del modelo, esto es, en los patrones y características extraídos.
El desarrollo general de una red neuronal artificial se divide, Figura 12, en cuatro fases:
diseño de la arquitectura, compilación de la red, entrenamiento y fase de validación y test.
1. Durante la fase del diseño de la arquitectura se establecen todos los parámetros referentes a la construcción general del modelo, es decir, se define el número de capas ocultas, el número de neuronas con el que cuenta cada una de ellas y se escogen una o varias funciones de activación.
2. En la fase de compilación se fijan otra serie de hiperparámetros y funciones relativas al futuro entrenamiento de la red neuronal. Si bien la definición de los hiperparámetros es común al desarrollo de cualquier modelo, su ajuste final depende en gran medida de las particularidades del problema a resolver. Uno de los más críticos a definir es la tasa de aprendizaje o learning rate, la cual determina la magnitud de los ajustes realizados a los pesos durante el proceso de entrenamiento. De ahí, que una tasa mayor se traduzca en un modelo que converge a una solución más rápido, aun cuando esta no sea óptima, por ello, normalmente se priman valores pequeños, como 0.01 o 0.001. Asimismo, hay que escoger una función de pérdida o loss function, la cual cuantifica la diferencia entre los valores predichos por la red neuronal y los reales. De ahí, que el fin último de la fase de entrenamiento sea reducir el error de la función de pérdida a 0, o en su defecto al mínimo, las más utilizadas son el error cuadrático medio o mean squared error (MSE) y la entropía cruzada o cross entropy. Por último, se define el optimizador, cuya función es la de afinar los parámetros de la red para reducir el error, los más comúnmente empleados son backpropagation, adam o stochastic gradient descent.
3. A continuación, durante el entrenamiento se establecen el número de épocas o epochs y tamaño del lote o batch size, el volumen de datos por iteración. Finalmente, se entrena el modelo modificando el valor de los pesos hasta que el error sea mínimo o hasta que el sistema deje de aprender.
4. Por último, en la fase de validación y test se evalúa el desempeño del modelo, sin ajustar el valor de los pesos, en datos previamente no empleados para comprobar su capacidad de generalización y por tanto su aplicabilidad a gran escala.
Redes neuronales convolucionales
Las redes neuronales convolucionales, ConvNet o Convolutional Neural Networks (CNN), propuestas por primera vez en el año 1989 por Yann LeCun, son una clase de redes neuronales especialmente relevantes en la clasificación, segmentación y reconstrucción de imágenes al haber sido diseñadas para reconocer patrones de características en imágenes. Por ello, normalmente su valor de entrada es una imagen en forma de matriz tridimensional. De ahí, que su estructura se haya adaptado a las necesidades específicas para optimizar el desempeño del modelo [27].
Las ConvNet parten del principio de que procesar y analizar una imagen al completo sería,
además de computacionalmente muy costoso, contraproducente. Por ello y en contraposición,
analizan las imágenes por áreas reducidas de píxeles, realizando este mismo proceso
repetidamente hasta haber cubierto la totalidad de las imágenes. Para ello, aplican a estas
áreas reducidas de píxeles un filtro compuesto por una concatenación de kernels, matrices de
pesos que multiplican a los valores de entrada produciendo como salida un mapa de
características (Figura 13).
A este proceso se le conoce como convolución, la fusión de dos conjuntos de datos. Matemáticamente (Ecuación 6), se define la convolución de una función discreta, donde ℎ[𝑚] es el kernel, como:
De la misma manera en que mediante la convolución se extraen características de una imagen mientras que se comprimen sus dimensiones, también se puede reconstruir una imagen a partir de las características extraídas a la vez que se expanden sus dimensiones. Este proceso inverso se conoce como convoluciones transpuestas, transposed convolution o fractionally strided convolution [28] [29].
La estructura habitual de una ConvNet, Figura 14, consta de las siguientes capas:
o Capa convolucional: responsable de extraer las características y patrones en las imágenes, aplica una concatenación de kernels y una función de activación, normalmente ReLU. Más aún, cuentan con una estructura jerárquica, por la cual las primeras capas convolucionales extraen características más generales, mientras que las capas posteriores aprenden detalles más concretos. Los modelos suelen consistir en múltiples capas convolucionales conectadas a través de capas de agrupación.
o Capa de agrupación: reducen el tamaño del mapa de características convolucional al aplicar un kernel, distinto al de la capa convolucional, con una función de agregación. Las más habituales son la agrupación máxima o max pooling a través de la cual el kernel selecciona el valor máximo y agrupación media o average pooling mediante el cual el kernel calcula el valor promedio. La finalidad última de la capa de agrupación es minimizar el coste computacional, resultando en un entrenamiento más eficiente.
o Capa completamente conectada (FC) o dense: a diferencia de las capas anteriores,
todas las neuronas están interconectadas con las de la capa posterior. Su función es
generar patrones en función de las características extraídas en las capas
convolucionales y de agrupación anteriores. Finalmente, la capa de salida activa el
modelo y la red neuronal convolucional emite sus predicciones [30] [31].
La principal diferencia entre las ANN y CNN se encuentra en las capas ocultas y capas convolucionales y es que, en las últimas, las neuronas están parcialmente interconectadas, en contraposición a las ANN, donde las neuronas están completamente interconectadas. Esto se traduce en un menor coste computacional, característica especialmente relevante en el caso de las imágenes debido al alto número de parámetros con los que el modelo ha de trabajar.