El presente trabajo surge de la necesidad de afrontar el creciente fraude en transacciones con tarjetas de crédito, impulsado por la rápida adopción de pagos digitales. Los sistemas tradicionales basados en reglas resultan ineficaces para adaptarse a nuevos esquemas de ataque y suelen generar elevadas tasas de falsos positivos, lo que causa pérdidas económicas y desconfianza tanto en entidades financieras como en usuarios. Por ello, resulta esencial desarrollar un método capaz de aprender patrones complejos en grandes volúmenes de datos y actualizarse dinámicamente ante la evolución de las tácticas de fraude. Con este objetivo en mente, se partió de la arquitectura Continuous–Coupled Neural Networks (CCNN) y se identificaron tres errores metodológicos en el trabajo previo: aplicar SMOTE sobre el conjunto completo de datos antes de dividir en entrenamiento y validación provocaba una fuga de información que inflaba artificialmente el rendimiento; las capas convolucionales originales carecían de término de sesgo, limitando la capacidad de ajuste frente a una distribución tan desequilibrada; y la función de pérdida empleada era adecuada. Para subsanar estos problemas, se diseñó un protocolo de preprocesamiento en el que SMOTE se aplica únicamente al subconjunto de entrenamiento, evitando contaminar la fase de validación. A continuación, se implementó la CCNN original en PyTorch para analizar en detalle sus componentes dinámicos. Se redujo el tamaño de los filtros en la capa convolucional con el fin de capturar mejor los patrones locales en los vectores de características, y se introdujo un término de sesgo por canal para permitir que cada neurona ajuste de manera independiente su umbral de activación. Además, se exploraron variantes inspiradas en U-Net mediante rutas adicionales de down–up sampling que combinan información de diferentes escalas espaciales sin incrementar notablemente la complejidad computacional, favoreciendo así la extracción de características de alto nivel sin perder los detalles críticos que distinguen transacciones legítimas de fraudulentas. Para mejorar la generación de muestras sintéticas, se incorporó Noisy-SMOTE en lugar de SMOTE clásico, obteniendo instancias más diversas y alejadas de la interpolación estricta entre vecinos. La búsqueda del valor óptimo del hiperparámetro K en SMOTE se realizó mediante validación cruzada estratificada de cinco particiones, evaluando valores de K en el rango 1–9 y seleccionando aquel que maximiza el F1 en el conjunto de validación. Los experimentos se llevaron a cabo sobre el dataset Credit Card Fraud Detection (Kaggle, 2013), que contiene 284 807 transacciones, de las cuales 492 son fraudulentas. Tras dividir los datos, se compararon la CCNN original (con SMOTE aplicado de forma incorrecta), la CCNN corregida (con SMOTE solo en entrenamiento, convoluciones con sesgo y kernels reducidos) y la CCNN mejorada con flujo multiescala tipo U-Net y Noisy-SMOTE. La CCNN corregida alcanzó un F1 de 0,77 en el conjunto de validación, corrigiendo el sesgo que mostraba la versión original por la fuga de datos. Al combinar las mejoras arquitectónicas con Noisy-SMOTE, el modelo obtuvo un F1 de 0,892 y un recall de 0,87, superando con creces las referencias previas. El análisis de las curvas de aprendizaje mostró que la versión optimizada converge de manera más estable y presenta una capacidad de generalización superior. Finalmente, para facilitar su adopción práctica se desarrolló una API REST capaz de procesar lotes de transacciones en formato CSV y devolver predicciones binarias. Durante las pruebas de rendimiento, la inferencia en GPU se mantuvo por debajo de 3,45 microsegundos por transacción, lo que garantiza latencias compatibles con sistemas de detección de fraude en tiempo real. De esta forma, este trabajo no solo corrige errores metodológicos anteriores, sino que propone una CCNN robusta y escalable, lista para integrarse en entornos productivos.
ABSTRACT
This work arises from the need to address the growing problem of credit card transaction fraud driven by the rapid adoption of digital payments. Rule-based systems have proven ineffective at adapting to new attack schemes and often generate high false positive rates, leading to financial losses and distrust among both financial institutions and users. It is therefore essential to develop a method capable of learning complex patterns in large volumes of data and dynamically updating itself as fraud tactics evolve. With this goal in mind, we began with the Continuous–Coupled Neural Networks (CCNN) architecture and identified three methodological errors in prior work: applying SMOTE to the entire dataset before splitting into training and validation caused information leakage that artificially inflated performance; the original convolutional layers lacked bias terms, limiting their ability to adjust to a highly imbalanced distribution; and the loss function was not properly chosen. To correct these issues, we designed a preprocessing protocol in which SMOTE is applied only to the training subset, preventing contamination of the validation phase. Next, we implemented the original CCNN in PyTorch to analyse its dynamic components in detail. We reduced the size of the convolutional filters to better capture local patterns in the feature vectors and added a per-channel bias term so that each neuron could independently adjust its activation threshold. We also explored variants inspired by U-Net, introducing additional down–up sampling paths that combine information from multiple spatial scales without significantly increasing computational complexity, thereby enhancing the extraction of high-level features without losing the critical details that distinguish legitimate from fraudulent transactions. To improve synthetic sample generation, we incorporated Noisy-SMOTE instead of classic SMOTE, obtaining more diverse instances that lie farther from the strict interpolation between neighbours. The search for the optimal Noisy-SMOTE hyperparameter K was performed evaluating values from 1 to 9 and selecting the one that maximized F1-score on the validation set. Experiments were conducted on the Credit Card Fraud Detection dataset (Kaggle, 2013), which contains 284,807 transactions, of which 492 are fraudulent. After splitting the data, we compared the original CCNN (with SMOTE applied incorrectly), the corrected CCNN (with SMOTE only on training data, biased convolutions, and reduced kernels), and the improved CCNN with U-Net–style flow and Noisy-SMOTE. The corrected CCNN achieved an F1 of 0.77 on the validation set, removing the bias exhibited by the original version due to data leakage. When architectural improvements were combined with Noisy-SMOTE, the model reached an F1 of 0.892 and a recall of 0.87. Learning curve analysis showed that the optimized version converges more stably and has superior generalization ability. Finally, to facilitate practical adoption, we developed a REST API capable of processing batches of transactions in CSV format and returning binary predictions. During performance tests, GPU inference remained below 3.45 microseconds per transaction, ensuring latencies compatible with real-time fraud detection systems. In this way, this work not only corrects earlier methodological errors but also proposes a robust and scalable CCNN ready for integration into production environments.
El presente trabajo surge de la necesidad de afrontar el creciente fraude en transacciones con tarjetas de crédito, impulsado por la rápida adopción de pagos digitales. Los sistemas tradicionales basados en reglas resultan ineficaces para adaptarse a nuevos esquemas de ataque y suelen generar elevadas tasas de falsos positivos, lo que causa pérdidas económicas y desconfianza tanto en entidades financieras como en usuarios. Por ello, resulta esencial desarrollar un método capaz de aprender patrones complejos en grandes volúmenes de datos y actualizarse dinámicamente ante la evolución de las tácticas de fraude. Con este objetivo en mente, se partió de la arquitectura Continuous–Coupled Neural Networks (CCNN) y se identificaron tres errores metodológicos en el trabajo previo: aplicar SMOTE sobre el conjunto completo de datos antes de dividir en entrenamiento y validación provocaba una fuga de información que inflaba artificialmente el rendimiento; las capas convolucionales originales carecían de término de sesgo, limitando la capacidad de ajuste frente a una distribución tan desequilibrada; y la función de pérdida empleada era adecuada. Para subsanar estos problemas, se diseñó un protocolo de preprocesamiento en el que SMOTE se aplica únicamente al subconjunto de entrenamiento, evitando contaminar la fase de validación. A continuación, se implementó la CCNN original en PyTorch para analizar en detalle sus componentes dinámicos. Se redujo el tamaño de los filtros en la capa convolucional con el fin de capturar mejor los patrones locales en los vectores de características, y se introdujo un término de sesgo por canal para permitir que cada neurona ajuste de manera independiente su umbral de activación. Además, se exploraron variantes inspiradas en U-Net mediante rutas adicionales de down–up sampling que combinan información de diferentes escalas espaciales sin incrementar notablemente la complejidad computacional, favoreciendo así la extracción de características de alto nivel sin perder los detalles críticos que distinguen transacciones legítimas de fraudulentas. Para mejorar la generación de muestras sintéticas, se incorporó Noisy-SMOTE en lugar de SMOTE clásico, obteniendo instancias más diversas y alejadas de la interpolación estricta entre vecinos. La búsqueda del valor óptimo del hiperparámetro K en SMOTE se realizó mediante validación cruzada estratificada de cinco particiones, evaluando valores de K en el rango 1–9 y seleccionando aquel que maximiza el F1 en el conjunto de validación. Los experimentos se llevaron a cabo sobre el dataset Credit Card Fraud Detection (Kaggle, 2013), que contiene 284 807 transacciones, de las cuales 492 son fraudulentas. Tras dividir los datos, se compararon la CCNN original (con SMOTE aplicado de forma incorrecta), la CCNN corregida (con SMOTE solo en entrenamiento, convoluciones con sesgo y kernels reducidos) y la CCNN mejorada con flujo multiescala tipo U-Net y Noisy-SMOTE. La CCNN corregida alcanzó un F1 de 0,77 en el conjunto de validación, corrigiendo el sesgo que mostraba la versión original por la fuga de datos. Al combinar las mejoras arquitectónicas con Noisy-SMOTE, el modelo obtuvo un F1 de 0,892 y un recall de 0,87, superando con creces las referencias previas. El análisis de las curvas de aprendizaje mostró que la versión optimizada converge de manera más estable y presenta una capacidad de generalización superior. Finalmente, para facilitar su adopción práctica se desarrolló una API REST capaz de procesar lotes de transacciones en formato CSV y devolver predicciones binarias. Durante las pruebas de rendimiento, la inferencia en GPU se mantuvo por debajo de 3,45 microsegundos por transacción, lo que garantiza latencias compatibles con sistemas de detección de fraude en tiempo real. De esta forma, este trabajo no solo corrige errores metodológicos anteriores, sino que propone una CCNN robusta y escalable, lista para integrarse en entornos productivos.
ABSTRACT
This work arises from the need to address the growing problem of credit card transaction fraud driven by the rapid adoption of digital payments. Rule-based systems have proven ineffective at adapting to new attack schemes and often generate high false positive rates, leading to financial losses and distrust among both financial institutions and users. It is therefore essential to develop a method capable of learning complex patterns in large volumes of data and dynamically updating itself as fraud tactics evolve. With this goal in mind, we began with the Continuous–Coupled Neural Networks (CCNN) architecture and identified three methodological errors in prior work: applying SMOTE to the entire dataset before splitting into training and validation caused information leakage that artificially inflated performance; the original convolutional layers lacked bias terms, limiting their ability to adjust to a highly imbalanced distribution; and the loss function was not properly chosen. To correct these issues, we designed a preprocessing protocol in which SMOTE is applied only to the training subset, preventing contamination of the validation phase. Next, we implemented the original CCNN in PyTorch to analyse its dynamic components in detail. We reduced the size of the convolutional filters to better capture local patterns in the feature vectors and added a per-channel bias term so that each neuron could independently adjust its activation threshold. We also explored variants inspired by U-Net, introducing additional down–up sampling paths that combine information from multiple spatial scales without significantly increasing computational complexity, thereby enhancing the extraction of high-level features without losing the critical details that distinguish legitimate from fraudulent transactions. To improve synthetic sample generation, we incorporated Noisy-SMOTE instead of classic SMOTE, obtaining more diverse instances that lie farther from the strict interpolation between neighbours. The search for the optimal Noisy-SMOTE hyperparameter K was performed evaluating values from 1 to 9 and selecting the one that maximized F1-score on the validation set. Experiments were conducted on the Credit Card Fraud Detection dataset (Kaggle, 2013), which contains 284,807 transactions, of which 492 are fraudulent. After splitting the data, we compared the original CCNN (with SMOTE applied incorrectly), the corrected CCNN (with SMOTE only on training data, biased convolutions, and reduced kernels), and the improved CCNN with U-Net–style flow and Noisy-SMOTE. The corrected CCNN achieved an F1 of 0.77 on the validation set, removing the bias exhibited by the original version due to data leakage. When architectural improvements were combined with Noisy-SMOTE, the model reached an F1 of 0.892 and a recall of 0.87. Learning curve analysis showed that the optimized version converges more stably and has superior generalization ability. Finally, to facilitate practical adoption, we developed a REST API capable of processing batches of transactions in CSV format and returning binary predictions. During performance tests, GPU inference remained below 3.45 microseconds per transaction, ensuring latencies compatible with real-time fraud detection systems. In this way, this work not only corrects earlier methodological errors but also proposes a robust and scalable CCNN ready for integration into production environments. Read More






