{"id":31346,"date":"2025-03-24T09:13:15","date_gmt":"2025-03-24T12:13:15","guid":{"rendered":"https:\/\/building.nu.com\/?p=31346"},"modified":"2025-03-27T10:54:11","modified_gmt":"2025-03-27T13:54:11","slug":"modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo","status":"publish","type":"post","link":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/","title":{"rendered":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Written by: <\/strong><a href=\"https:\/\/www.linkedin.com\/in\/felipeqbalmeida\/\" target=\"_blank\" rel=\"noreferrer noopener\">Felipe Almeida<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contributors: <\/strong><a href=\"https:\/\/www.linkedin.com\/in\/gustavoduraes\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gustavo Dur\u00e3es<\/a>,&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/juliano-garcia-oliveira\/\" target=\"_blank\" rel=\"noreferrer noopener\">Juliano Garcia<\/a>,&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/renata-andrade-09313730\/\" target=\"_blank\" rel=\"noreferrer noopener\">Renata Andrade<\/a>,&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/mois%C3%A9s-arizpe-rojo-05640b99\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mois\u00e9s Rojo<\/a>,&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/mateus-magalhaes-marketing\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mateus Magalh\u00e3es<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los modelos de aprendizaje autom\u00e1tico (ML) en tiempo real se utilizan frecuentemente para hacer decisiones autom\u00e1ticas en procesos de negocio. Aunque son m\u00e1s complejos de implementar y operar que los modelos batch, suelen ser m\u00e1s efectivos pues usan datos en tiempo real como features y permiten casos de uso donde la retroalimentaci\u00f3n al usuario es esencial.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong><em>Atenci\u00f3n: <\/em><\/strong><em>Aunque gran parte del contenido de este art\u00edculo tambi\u00e9n se aplica a AI generativa&nbsp; y Visi\u00f3n por Computadora, este art\u00edculo se centra en&nbsp; ML tradicional y tabular.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Los sistemas en tiempo real de aprendizaje autom\u00e1tico tradicional (es decir, no basados en IA) suelen funcionar de la siguiente manera: Una acci\u00f3n externa (por ejemplo, un usuario interactuando con una aplicaci\u00f3n m\u00f3vil de un banco digital) desencadena una cadena de eventos que hace que los servicios env\u00eden datos a un modelo en tiempo real, el cual genera una predicci\u00f3n basada en esos datos. Esa predicci\u00f3n se pasa a otro servicio (a veces llamado capa de decisi\u00f3n) para determinar la decisi\u00f3n de negocio adecuada (por ejemplo, aprobar o rechazar una solicitud de pr\u00e9stamo, aceptar o denegar una solicitud de p\u00f3liza de seguro). Un ejemplo simple se puede ver en la Figura 1:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1569\" height=\"637\" data-attachment-id=\"32138\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-2-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?fit=1569%2C637&amp;ssl=1\" data-orig-size=\"1569,637\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 2 (1)\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?fit=1024%2C416&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=1569%2C637&#038;ssl=1\" alt=\"\" class=\"wp-image-32138\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?w=1569&amp;ssl=1 1569w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=300%2C122&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=1024%2C416&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=768%2C312&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=1536%2C624&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-2-1.jpg?resize=1200%2C487&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 1: Sistema tradicional en tiempo real habilitado por ML. Despu\u00e9s de que los usuarios interact\u00faan con un sistema (1), los datos en tiempo real se convierten en features (2) que se alimentan a un modelo en tiempo real. El modelo genera predicciones (3) que se pasan a una capa de decisi\u00f3n, y luego las decisiones se propagan (4) al servicio que las solicit\u00f3. Finalmente, una respuesta se entrega al usuario (5).<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Las features utilizadas en los modelos de ML en tiempo real a menudo provienen de patrones y se\u00f1ales de comportamiento del usuario, como datos de geolocalizaci\u00f3n, interacci\u00f3n en redes sociales o acciones previas del usuario. Esto significa que algunas features pueden estar impl\u00edcitamente bajo el control del usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La mayor\u00eda de las personas sabe que los modelos de ML se utilizan en sistemas de toma de decisi\u00f3n autom\u00e1tica hoy en d\u00eda (por ejemplo, para estimar riesgos, recomendar contenido o clasificar elementos). Algunos pueden intentar manipular los valores de las features para influir en el comportamiento del sistema. Tales intentos \u2014generalmente por parte de actores malintencionados\u2014 de manipular los valores de las features se denominan <strong>ataques adversariales<\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Los intentos maliciosos de manipular los valores de las features para modificar las salidas del modelo se llaman <\/em><strong><em>ataques adversariales<\/em><\/strong><em>.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Los modelos pueden ser propensos a ataques adversariales si se cumplen dos condiciones: (a) las features pueden ser controladas de alguna manera por los usuarios y (b) existe un incentivo para que las personas manipulen el modelo. Los modelos de ML en tiempo real son a\u00fan m\u00e1s vulnerables; los ciclos de aprendizaje son mucho m\u00e1s cortos y las decisiones basadas en las salidas del modelo pueden ocurrir inmediatamente, sin intervenci\u00f3n humana.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Los modelos de ML<\/em><strong><em> en tiempo real <\/em><\/strong><em>son doblemente vulnerables a los ataques adversariales; las decisiones de negocio&nbsp; a menudo se toman autom\u00e1ticamente a partir de las salidas del modelo, y puede pasar un tiempo antes de que los ataques sean detectados.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Exploremos algunos ejemplos donde los modelos de ML en tiempo real pueden ser vulnerables a ataques adversariales:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo 1: Evaluaci\u00f3n de cr\u00e9dito en tiempo real<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La decisi\u00f3n de si un banco debe otorgar un pr\u00e9stamo a un cliente a menudo la toman modelos de ML. A veces, modelos en tiempo real. La raz\u00f3n para preferir modelos en tiempo real sobre modelos batch es que las decisiones r\u00e1pidas brindan una mejor experiencia de usuario (UX) y aumentan los ingresos, ceteris paribus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto presenta un conflicto claro; los bancos quieren prestar dinero a personas que lo devolver\u00e1n, pero algunos clientes pueden querer solicitar pr\u00e9stamos incluso si no est\u00e1n seguros de poder pagarlos. Por lo tanto, existe un incentivo financiero para que algunas personas intenten aumentar sus posibilidades de ser aprobadas para un pr\u00e9stamo manipulando el modelo de ML.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1569\" height=\"637\" data-attachment-id=\"32141\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-4-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?fit=1569%2C637&amp;ssl=1\" data-orig-size=\"1569,637\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 4 (1)\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?fit=1024%2C416&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=1569%2C637&#038;ssl=1\" alt=\"\" class=\"wp-image-32141\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?w=1569&amp;ssl=1 1569w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=300%2C122&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=1024%2C416&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=768%2C312&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=1536%2C624&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-4-1.jpg?resize=1200%2C487&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 2: Sistema simplificado de suscripci\u00f3n de cr\u00e9dito en tiempo real que utiliza un modelo de ML en tiempo real para predecir el riesgo de incumplimiento.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo 2: Detecci\u00f3n de fraude en tiempo real en compras con tarjeta de cr\u00e9dito<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas organizaciones utilizan ML para detectar fraudes. Como en el ejemplo anterior, esto crea un incentivo para que los actores malintencionados intenten enga\u00f1ar a los modelos, ya que los delincuentes quieren llevar a cabo sus operaciones fraudulentas sin ser detectados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un ejemplo particular es cuando un actor malintencionado utiliza informaci\u00f3n il\u00edcita para intentar realizar compras con la tarjeta de cr\u00e9dito de otra persona. Para proteger a los clientes, muchos procesadores de pagos emplean ML en tiempo real para detectar y prevenir tales transacciones fraudulentas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1569\" height=\"637\" data-attachment-id=\"32144\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?fit=1569%2C637&amp;ssl=1\" data-orig-size=\"1569,637\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?fit=1024%2C416&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=1569%2C637&#038;ssl=1\" alt=\"\" class=\"wp-image-32144\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?w=1569&amp;ssl=1 1569w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=300%2C122&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=1024%2C416&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=768%2C312&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=1536%2C624&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-5.jpg?resize=1200%2C487&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 3: Muchos procesadores de pagos utilizan sistemas como el anterior para detectar y prevenir compras fraudulentas con tarjetas de cr\u00e9dito.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo 3: Clasificaci\u00f3n en motores de b\u00fasqueda<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los motores de b\u00fasqueda utilizan informaci\u00f3n de las p\u00e1ginas web para evaluar su calidad y determinar c\u00f3mo deben clasificarse en los resultados de b\u00fasqueda. Esto generalmente se hace utilizando modelos de clasificaci\u00f3n basados en aprendizaje autom\u00e1tico y procesamiento de lenguaje natural.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La forma correcta de mejorar la clasificaci\u00f3n de una p\u00e1gina web es producir contenido de calidad que los usuarios quieran hacer clic y consumir. La Optimizaci\u00f3n para Motores de B\u00fasqueda (SEO) tiene como base esta conducta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, dado que los ingresos por publicidad son una funci\u00f3n del n\u00famero de visitas que recibe un sitio web, existe un incentivo financiero claro para que los administradores de sitios web ataquen adversarial mente a los motores de b\u00fasqueda para inflar sus propias clasificaciones. Esto se llama <a href=\"https:\/\/en.wikipedia.org\/wiki\/Spamdexing\">Spamdexing<\/a> e incluye muchas t\u00e1cticas, como el uso de texto invisible, granjas de enlaces y m\u00e1s.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1569\" height=\"637\" data-attachment-id=\"32148\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?fit=1569%2C637&amp;ssl=1\" data-orig-size=\"1569,637\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 6\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?fit=1024%2C416&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=1569%2C637&#038;ssl=1\" alt=\"\" class=\"wp-image-32148\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?w=1569&amp;ssl=1 1569w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=300%2C122&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=1024%2C416&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=768%2C312&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=1536%2C624&amp;ssl=1 1536w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-6.jpg?resize=1200%2C487&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 4: Flujo simplificado para un motor de b\u00fasqueda hipot\u00e9tico que utiliza informaci\u00f3n de p\u00e1ginas web para clasificarlas en orden de relevancia. Tenga en cuenta que en este caso simple no hay una capa de decisi\u00f3n; muchos algoritmos de clasificaci\u00f3n generan una lista clasificada directamente.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><em>Figura 4: Flujo simplificado para un motor de b\u00fasqueda hipot\u00e9tico que utiliza informaci\u00f3n de p\u00e1ginas web para clasificarlas en orden de relevancia. Tenga en cuenta que en este caso simple no hay una capa de decisi\u00f3n; muchos algoritmos de clasificaci\u00f3n generan una lista clasificada directamente.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como practicantes que utilizan ML en tiempo real en escenarios del mundo real, deseamos que los modelos sean menos vulnerables a ataques adversariales y manipulaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay muchas formas de hacerlos m\u00e1s robustos (como veremos a continuaci\u00f3n), pero la \u00fanica soluci\u00f3n sostenible a largo plazo es aceptar el hecho de que los modelos orientados al usuario eventualmente ser\u00e1n manipulados y tener un programa de reentrenamiento frecuente, de modo que los puntos ciegos se incorporen r\u00e1pidamente en el siguiente ciclo de reentrenamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de comenzar con los consejos, abordemos dos requisitos b\u00e1sicos: 1) comprender la importancia de las features y 2) tener al menos un monitoreo b\u00e1sico de ellas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Requisito 1: Comprender la importancia y la direcci\u00f3n del impacto&nbsp; de las features<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitas saber qu\u00e9 features son las m\u00e1s importantes y cu\u00e1les de ellas son vulnerables a ataques y manipulaciones por parte de los usuarios. Esto te ayudar\u00e1 a identificar d\u00f3nde se encuentra la mayor parte del riesgo y en qu\u00e9 features debes enfocarte; tambi\u00e9n te permitir\u00e1 estimar el \u00abradio de impacto\u00bb si una feature es explotada.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Necesitas saber c\u00f3mo las features m\u00e1s importantes afectan la predicci\u00f3n y cu\u00e1les de ellas pueden ser explotadas.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Como m\u00ednimo, necesitas conocer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Qu\u00e9 features son las m\u00e1s importantes en t\u00e9rminos de poder predictivo absoluto;<\/li>\n\n\n\n<li>Qu\u00e9 features pueden ser f\u00e1cilmente influenciadas por las acciones del usuario \u2014y, por lo tanto, pueden ser explotadas\u2014;<\/li>\n\n\n\n<li>C\u00f3mo estas features afectan las predicciones del modelo (c\u00f3mo sus valores espec\u00edficos cambian las predicciones y en qu\u00e9 direcci\u00f3n, en promedio.).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Conocer la importancia absoluta de las features en un modelo (1) suele ser sencillo; la mayor\u00eda de los modelos proporcionan alguna forma de identificar qu\u00e9 features influencian m\u00e1s sus predicciones. Tambi\u00e9n existen estrategias agn\u00f3sticas al modelo, como SHAP. Las <a href=\"https:\/\/christophm.github.io\/interpretable-ml-book\/counterfactual.html\">explicaciones contrafactuales<\/a> tambi\u00e9n pueden ser \u00fatiles, especialmente para explorar situaciones donde las interacciones (en lugar de features individuales) pueden ser explotables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Saber qu\u00e9 features son vulnerables a ataques (2) depende completamente de la implementaci\u00f3n del modelo. Es posible que necesites colaborar con diferentes miembros del equipo (ingenieros de software, ingenieros de datos, etc.) para entender exactamente qu\u00e9 fuentes de informaci\u00f3n se utilizan para construir las features del modelo durante la inferencia \u2014y si los usuarios finales tienen control sobre ellas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las dos subsecciones a continuaci\u00f3n explican c\u00f3mo los valores de una feature espec\u00edfica afectan la salida general del modelo (3).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprender el impacto&nbsp; <em>direccional<\/em> de las features<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La importancia de las features para un modelo entrenado generalmente se presenta como una lista de features clasificadas por su contribuci\u00f3n a las predicciones, generalmente promediada sobre el conjunto de entrenamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero para proteger los modelos contra el abuso, no basta con saber que una feature es importante; tambi\u00e9n necesitas entender en qu\u00e9 direcci\u00f3n ese predictor afecta la salida del modelo. Saber esto es crucial porque te indicar\u00e1 d\u00f3nde est\u00e1 el incentivo: los atacantes naturalmente querr\u00e1n manipular las features en la direcci\u00f3n que les beneficie \u2014en detrimento del negocio.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Importancia direccional de las features: saber no solo cu\u00e1n importante es una feature, sino si aumenta o disminuye las predicciones.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las mejores formas de ver este efecto es a trav\u00e9s del <a href=\"https:\/\/shap.readthedocs.io\/en\/latest\/example_notebooks\/api_examples\/plots\/beeswarm.html\">gr\u00e1fico de resumen SHAP Beeswarm<\/a>, como se muestra en la Figura 5 a continuaci\u00f3n. En este ejemplo, la salida del modelo es la probabilidad de que una persona ganara m\u00e1s de US$50k en la d\u00e9cada de 1990. El eje Y indica la importancia \u00ababsoluta\u00bb de la feature, pero el eje X muestra la direcci\u00f3n del impacto en la puntuaci\u00f3n final del modelo.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcxWF3_4Ynf3CCywEpJdMfHxGW4wtOC5V1aFi9JrJ0Y9BFAkPT_ADyFnahpX6slWP82oxX2GPe1-nAizla8g5gH9d7YzoGmyGB4naPcCUtAm9ppOCHzT5-DLVslsAUG54LRjihU3g?key=qNvrZcvnPxfv4hQcwBbr_w\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Figura 5: El gr\u00e1fico de resumen SHAP Beeswarm es excelente para analizar la importancia direccional de las features en un modelo entrenado. En este ejemplo: los valores grandes de la feature \u00abEdad\u00bb aumentan el ingreso estimado. Por otro lado, los valores grandes de la feature \u00abEstado Civil\u00bb tienden a disminuir el ingreso estimado.<\/em> <em>Fuente: <\/em><a href=\"https:\/\/shap.readthedocs.io\/en\/latest\/example_notebooks\/api_examples\/plots\/beeswarm.html\"><em>Documentaci\u00f3n de SHAP<\/em><\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">El gr\u00e1fico de resumen Beeswarm tambi\u00e9n es \u00fatil para depurar features durante el desarrollo del modelo: puedes verificar si el gr\u00e1fico coincide con tu intuici\u00f3n sobre c\u00f3mo cada feature deber\u00eda afectar al modelo \u2014y te ayuda a detectar errores, como features defectuosas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprender el impacto de valores espec\u00edficos para features clave<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Entender la correlaci\u00f3n aproximada entre las features y la salida del modelo es \u00fatil, pero saber qu\u00e9 valores vigilar es a\u00fan m\u00e1s importante. Esto es especialmente relevante en modelos no lineales, como XGBoost o redes neuronales, donde las relaciones entre las features y la puntuaci\u00f3n pueden ser altamente no lineales y contraintuitivas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los atacantes suelen aprender estas relaciones mediante prueba y error, y eventualmente descubren no solo qu\u00e9 features afectan la puntuaci\u00f3n del modelo, sino tambi\u00e9n qu\u00e9 valores de esas features aumentan o disminuyen la puntuaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para mantenerte un paso adelante de los atacantes, necesitas entender qu\u00e9 valores de las features son particularmente \u00abpeligrosos\u00bb. Luego, puedes construir defensas (como monitoreo especial) enfocadas en esos valores o incluso decidir eliminar la feature del modelo por completo.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Un <a href=\"https:\/\/christophm.github.io\/interpretable-ml-book\/pdp.html\">gr\u00e1fico de dependencia parcial<\/a> (Partial Dependence Plot, PDP) muestra el impacto entre una feature y la salida del modelo en el eje Y, sobre diferentes valores de esa feature en el eje X.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Los gr\u00e1ficos de dependencia parcial muestran el efecto de diferentes valores de una feature dada en la puntuaci\u00f3n final del modelo.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, la Figura 6 muestra el impacto de la feature \u00abedad\u00bb en un modelo entrenado para predecir enfermedades card\u00edacas. Ahora supongamos que un proveedor de seguros de salud utiliza este modelo para otorgar beneficios financieros a personas consideradas en alto riesgo de padecer enfermedades card\u00edacas. Si la \u00abedad\u00bb es autoinformada por los clientes, actores malintencionados que intenten recibir beneficios indebidos eventualmente aprender\u00e1n que informar incorrectamente su edad \u2014especialmente por encima de los 54 a\u00f1os\u2014 aumenta significativamente las posibilidades de recibir esos beneficios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1281\" height=\"745\" data-attachment-id=\"32220\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/screenshot-2025-03-24-at-14-50-17\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?fit=1281%2C745&amp;ssl=1\" data-orig-size=\"1281,745\" data-comments-opened=\"1\" data-image-title=\"Screenshot 2025-03-24 at 14.50.17\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?fit=1024%2C596&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?resize=1281%2C745&#038;ssl=1\" alt=\"\" class=\"wp-image-32220\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?w=1281&amp;ssl=1 1281w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?resize=300%2C174&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?resize=1024%2C596&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?resize=768%2C447&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.50.17-2.png?resize=1200%2C698&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 6: Para un modelo simple de \u00e1rbol entrenado para estimar el riesgo de enfermedades card\u00edacas, el predictor \u00abedad\u00bb (en d\u00edas) comienza a aumentar mucho el riesgo a partir de los 54 a\u00f1os. Esta feature es vulnerable a ataques adversarios si existe un incentivo para manipular la salida del modelo. Adaptado de Zito Relova v\u00eda <\/em><a href=\"https:\/\/towardsdatascience.com\/explain-machine-learning-models-partial-dependence-ce6b9923034f\"><em>Towards Data Science<\/em><\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La Figura 6 anterior utiliza la biblioteca<a href=\"https:\/\/github.com\/SauceCat\/PDPbox\"> PDPBox <\/a>de Python, pero los gr\u00e1ficos de dependencia parcial tambi\u00e9n est\u00e1n disponibles en frameworks como <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/partial_dependence.html\">scikit-learn<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Requisito 2: Tener al menos un monitoreo b\u00e1sico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El <a href=\"https:\/\/building.nu.com\/es\/monitoreo-de-modelos-de-aprendizaje-automatico-9-consejos-desde-las-trincheras\/\">monitoreo de modelos<\/a> es crucial para permitir observar c\u00f3mo funciona el modelo y, lo m\u00e1s importante, c\u00f3mo est\u00e1 impactando en las decisiones de negocio. Sin al menos un monitoreo b\u00e1sico del modelo, ni siquiera puedes detectar cu\u00e1ndo o si hay ataques adversariales en curso, y mucho menos hacer algo al respecto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como m\u00ednimo, debes tener <strong>monitoreo de features<\/strong> y <strong>monitoreo de la capa de decisi\u00f3n<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoreo de features<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por <strong>monitoreo de features<\/strong> nos referimos a gr\u00e1ficos y diagramas que muestran los valores de las features a lo largo del tiempo, para cada feature. Por ejemplo, en la Figura 7 a continuaci\u00f3n, podemos ver c\u00f3mo se ver\u00eda un activo de monitoreo para una feature dada en un modelo. Aunque b\u00e1sicos, gr\u00e1ficos como este son \u00fatiles para evaluar la salud general de tu modelo y ayudar a detectar cambios repentinos en la distribuci\u00f3n, lo que podr\u00eda indicar intentos de explotaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1053\" height=\"782\" data-attachment-id=\"32223\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/screenshot-2025-03-24-at-14-56-16\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?fit=1053%2C782&amp;ssl=1\" data-orig-size=\"1053,782\" data-comments-opened=\"1\" data-image-title=\"Screenshot 2025-03-24 at 14.56.16\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?fit=1024%2C760&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?resize=1053%2C782&#038;ssl=1\" alt=\"\" class=\"wp-image-32223\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?w=1053&amp;ssl=1 1053w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?resize=300%2C223&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?resize=1024%2C760&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?resize=768%2C570&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.56.16-2.png?resize=200%2C150&amp;ssl=1 200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Figura 7: Un gr\u00e1fico t\u00edpico que muestra los valores de una feature categ\u00f3rica a lo largo del tiempo. Gr\u00e1ficos como este pueden usarse para el monitoreo de features. Las desviaciones grandes se pueden detectar f\u00e1cilmente. (<a href=\"https:\/\/communities.sas.com\/t5\/Statistical-Procedures\/Has-the-distribution-of-values-in-categorical-variable-been\/td-p\/855891\">fuente<\/a>)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoreo de la capa de decisi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El <strong>monitoreo de la capa de decisi\u00f3n<\/strong> tambi\u00e9n podr\u00eda llamarse \u00abmonitoreo de negocio\u00bb; aqu\u00ed es donde se monitorean las decisiones de negocio que se toman como resultado de la salida del modelo. Si volvemos a los Ejemplos 1 y 2 de la introducci\u00f3n de este blog post, esto significar\u00eda monitorear la tasa de pr\u00e9stamos denegados a lo largo del tiempo y la tasa de compras con tarjeta de cr\u00e9dito denegadas a lo largo del tiempo, respectivamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El monitoreo de la capa de decisi\u00f3n responde a la pregunta: \u00ab<em>\u00bfC\u00f3mo est\u00e1n impactando las predicciones del modelo en las decisiones de negocio?<\/em>\u00bb Esto es crucial porque aqu\u00ed es donde se muestra el impacto real de los ataques. Los atacantes explotan los modelos como un medio para un fin, y ese fin siempre es forzar al sistema a tomar una decisi\u00f3n favorable (para ellos).<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">El monitoreo de la capa de decisi\u00f3n responde a la pregunta: <em>\u00bfC\u00f3mo est\u00e1n impactando las predicciones del modelo en las decisiones de negocio?<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><em>El monitoreo de la capa de decisi\u00f3n responde a la pregunta: \u00ab\u00bfC\u00f3mo est\u00e1n impactando las predicciones del modelo en las decisiones de negocio?\u00bb<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es solo la configuraci\u00f3n m\u00ednima de monitoreo. Otras dimensiones a considerar incluyen m\u00e9tricas operativas (CPU, RAM, Latencia), m\u00e9tricas de rendimiento (F1, AUC, etc.), desviaciones entre <a href=\"https:\/\/building.nu.com\/es\/manejando-el-sesgo-de-entrenamiento-entrega-en-modelos-de-aprendizaje-automatico-en-tiempo-real-una-breve-guia\/\">entrenamiento y producci\u00f3n<\/a>, y tambi\u00e9n deber\u00edas agregar alertas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para m\u00e1s consideraciones sobre monitoreo, consulta la \u00faltima secci\u00f3n de esta publicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con los requisitos previos cubiertos, profundicemos en los consejos para hacer que los modelos de ML sean m\u00e1s robustos contra ataques adversarios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: Las alertas simples te ayudan a detectar ataques<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque el objetivo es prevenir los ataques adversariales, la detecci\u00f3n es crucial cuando la prevenci\u00f3n falla. Para el ML en tiempo real, necesitas sistemas de detecci\u00f3n en tiempo real que activen alertas cuando se cumplan ciertas condiciones. Herramientas como Splunk, New Relic y Datadog pueden usarse para crear alertas basadas en consultas de registros (logs).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los atacantes saben que deben ser r\u00e1pidos; una vez que encuentran una vulnerabilidad, necesitan explotarla r\u00e1pidamente antes de que la organizaci\u00f3n objetivo pueda defenderse. Por lo tanto, las alertas destinadas a detectar ataques adversarios deben intentar detectar cambios repentinos que podr\u00edan indicar que se est\u00e1 produciendo una explotaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, debes evitar la fatiga de alertas \u2014es decir, una gran cantidad de falsos positivos\u2014, por lo que debes basar las alertas en las decisiones empresariales reales, en lugar de en artefactos del modelo: en lugar de alertas basadas en puntuaciones brutas del modelo o features, prefiere alertas basadas en las acciones posteriores que son impactadas por los modelos, como pr\u00e9stamos emitidos, incidentes de fraude detectados, mensajes de clientes enrutados incorrectamente, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed tienes un ejemplo de una alerta que cumple con estos criterios: \u00abActivar una alerta si la tasa de compras con tarjeta de cr\u00e9dito denegadas en las \u00faltimas 6 horas es m\u00e1s del 20% inferior a la misma cifra de la semana pasada\u00bb. Esta alerta detecta un cambio repentino (dentro de 6 horas) en una m\u00e9trica de negocio (transacciones con tarjeta de cr\u00e9dito denegadas) y utiliza una comparaci\u00f3n con la semana anterior para tener en cuenta la estacionalidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un ejemplo de qu\u00e9 hacer una vez que se activa una alerta verdadera positiva es desactivar un feature flag, como se explica m\u00e1s adelante. Para obtener m\u00e1s informaci\u00f3n sobre las mejores pr\u00e1cticas en alertas, consulta <a href=\"https:\/\/building.nu.com\/es\/mejores-practicas-para-el-aprendizaje-automatico-en-tiempo-real-alertando\/\">Best Practices for Real-time Machine Learning: Alerting<\/a>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: El reentrenamiento frecuente de modelos es la \u00fanica soluci\u00f3n sostenible a gran escala<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los sistemas habilitados por ML que interact\u00faan con usuarios siempre ser\u00e1n objetivos de atacantes, especialmente en casos donde existe la posibilidad de obtener ganancias financieras. Al final del d\u00eda, los atacantes realizan un an\u00e1lisis de costo-beneficio al planificar ataques, y tu trabajo como profesional es aumentar tanto el costo que deje de ser rentable para la mayor\u00eda de las personas explotar tu sistema; con la esperanza de que los atacantes eventualmente elijan otros objetivos m\u00e1s f\u00e1ciles o, mejor a\u00fan, abandonen la vida del crimen y se conviertan en miembros respetables de la comunidad. (Claro.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, intentar combatir cada vector de ataque individualmente con condiciones manuales eventualmente hace que los sistemas a gran escala se vuelvan fr\u00e1giles y dif\u00edciles de mantener, lo que frustra el prop\u00f3sito de permitir que los datos impulsen las decisiones de negocio. Puede convertirse en una especie de \u00abgolpear al topo\u00bb, donde constantemente intentas defender los sistemas contra nuevas explotaciones, pero los atacantes pronto encuentran nuevas formas de eludir las defensas, y el ciclo nunca termina.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Unas pocas barreras de protecci\u00f3n y un programa robusto de reentrenamiento son una buena estrategia para defenderse de ataques adversarios a gran escala.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de tener algunas barreras de protecci\u00f3n para prevenir desastres, probablemente sea mejor aceptar que algunas explotaciones ocurrir\u00e1n \u2014y luego usarlas como datos de entrenamiento. Reentrenar los modelos con frecuencia te permite incorporar intentos de explotaci\u00f3n en el conjunto de entrenamiento para las pr\u00f3ximas iteraciones del modelo, haciendo que el modelo aprenda de estos casos y se vuelva m\u00e1s robusto con el tiempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una combinaci\u00f3n especialmente \u00fatil es automatizar el reentrenamiento de modelos, ya que reduce la probabilidad de errores humanos y libera recursos para mejorar los sistemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: Haz que los ciclos de prueba y error sean m\u00e1s costosos para los atacantes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los atacantes aprenden a manipular los sistemas habilitados por ML mediante prueba y error; interact\u00faan repetidamente con el sistema para aprender sus \u00abpeculiaridades\u00bb e idiosincrasias. Hacer que les resulte m\u00e1s dif\u00edcil aprender aumenta el esfuerzo necesario y, por lo tanto, disminuye el incentivo relativo para participar en ataques.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Hacer que sea m\u00e1s dif\u00edcil para los posibles atacantes recopilar informaci\u00f3n sobre tus modelos es una excelente manera de mitigar el riesgo adversarial; pero aseg\u00farate de que los usuarios leg\u00edtimos no se vean perjudicados en el proceso.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, enumeramos varios ejemplos de c\u00f3mo hacer que estos ciclos de aprendizaje sean m\u00e1s costosos; sin embargo, debes tener en cuenta que estas estrategias pueden tener consecuencias no deseadas, afectando la experiencia de los usuarios leg\u00edtimos. Tu caso de uso espec\u00edfico determinar\u00e1 si la compensaci\u00f3n vale la pena.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo 1: Limita la frecuencia de interacciones<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes limitar la cantidad de veces que los usuarios pueden interactuar con tu sistema en un per\u00edodo de tiempo determinado. Por ejemplo, los clientes que deseen solicitar una p\u00f3liza de seguro solo pueden hacer un intento por mes. Esto obligar\u00eda a los usuarios malintencionados a esperar mucho m\u00e1s tiempo para aprender o a crear m\u00faltiples cuentas, entre otras cosas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n es por eso que los sistemas operativos te obligan a esperar unos segundos antes de intentar nuevamente despu\u00e9s de ingresar una contrase\u00f1a incorrecta. Esto se hace para reducir la posibilidad de ataques de fuerza bruta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejemplo 2: Retrasa la decisi\u00f3n del modelo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuanto m\u00e1s cerca en el tiempo est\u00e9 la entrada del usuario de la respuesta del modelo, m\u00e1s claras ser\u00e1n las relaciones de causalidad y m\u00e1s f\u00e1cil ser\u00e1 para las personas encontrar patrones. Mitiga esto retrasando la retroalimentaci\u00f3n del modelo, en lugar de proporcionar una respuesta inmediata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, cuando los clientes solicitan una hipoteca a trav\u00e9s de una aplicaci\u00f3n m\u00f3vil, elige informarles sobre el resultado despu\u00e9s de algunas horas (incluso si el resultado est\u00e1 disponible de inmediato).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: Es posible que necesites intercambiar rendimiento por robustez<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A veces, el impacto potencial de los ataques adversarios es tan alto que la \u00fanica soluci\u00f3n disponible es \u00absimplificar\u00bb deliberadamente un modelo reduciendo activamente su sensibilidad, intercambiando algo de rendimiento por una mayor robustez.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>La soluci\u00f3n m\u00e1s simple (no necesariamente la mejor) para abordar features explotables es simplemente eliminarlas del modelo.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed hay algunas formas de lograr esto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Eliminar features vulnerables por completo:<\/strong> La forma m\u00e1s sencilla de eliminar el riesgo es eliminar la feature del modelo.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Usar proxies en lugar de features reales:<\/strong> A veces podemos reemplazar una feature problem\u00e1tica con un proxy. Es decir, alguna otra pieza de informaci\u00f3n que tenga una alta correlaci\u00f3n con la feature original, pero que no exponga la misma superficie de ataque. Algunos ejemplos incluyen usar variaciones de menor granularidad en lugar de los valores reales, o usar informaci\u00f3n retrasada (lagged information) obtenida de una fuente alternativa y confiable, en lugar de depender de la informaci\u00f3n proporcionada por el usuario.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reemplazar valores problem\u00e1ticos de features con valores neutrales: <\/strong>Durante el an\u00e1lisis exploratorio de datos (EDA) y el entrenamiento del modelo, es posible identificar valores <em>neutrales<\/em> de features, es decir, valores para los cuales el impacto promedio en la salida del modelo es cercano a cero. Puedes usar gr\u00e1ficos de dependencia parcial (PD plots) para identificar qu\u00e9 valores de features son especialmente propensos a explotaciones y luego reemplazarlos durante la inferencia por valores neutrales.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Aumentar la regularizaci\u00f3n del modelo<\/strong>: Aplicar regularizaci\u00f3n, explicada en detalle en la secci\u00f3n a continuaci\u00f3n, es otra forma de intercambiar rendimiento por robustez, ya que los modelos regularizados a menudo necesitan sacrificar poder predictivo bruto para obtener una mejor generalizaci\u00f3n fuera de la muestra (OOS).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: La regularizaci\u00f3n sigue siendo tu aliada<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La regularizaci\u00f3n es el proceso de hacer que los modelos sean menos sensibles a los cambios en las features. Esto generalmente se hace para evitar el sobreajuste, mejorar la generalizaci\u00f3n y extender la vida \u00fatil de los modelos de ML, ya que los modelos regularizados tienden a degradarse m\u00e1s lentamente. Pero aumentar la regularizaci\u00f3n tambi\u00e9n ayuda a que tu modelo sea m\u00e1s robusto contra ataques adversariales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existen al menos dos enfoques para la regularizaci\u00f3n, teniendo en cuenta la robustez adversarial: los <strong>enfoques espec\u00edficos del modelo<\/strong> (es decir, hiperpar\u00e1metros disponibles para ajustar en algoritmos de ML) y los <strong>enfoques centrados en los datos<\/strong> (por ejemplo, agregar ruido a tu conjunto de datos de entrenamiento para que el modelo sea menos sensible a estas features).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Regularizaci\u00f3n espec\u00edfica del modelo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por regularizaci\u00f3n espec\u00edfica del modelo, nos referimos a t\u00e9cnicas que solo pueden usarse para algoritmos de ML espec\u00edficos. En la mayor\u00eda de los casos, estos son hiperpar\u00e1metros del modelo que disminuyen la capacidad del modelo y, por lo tanto, su capacidad para sobreajustarse. En la Tabla 1 a continuaci\u00f3n, enumeramos algunos ejemplos de hiperpar\u00e1metros que hemos encontrado particularmente \u00fatiles:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Algoritmos<\/strong><\/td><td><strong>Par\u00e1metros<\/strong><\/td><\/tr><tr><td>Gradient-boosted Trees<\/td><td>Column Sampling<br>Gamma<br>Learning Rate<br>Maximum Tree Depth<br>Minimum Child Weight<br>Number of Trees<\/td><\/tr><tr><td>Random Forest<\/td><td>Max Tree Depth<br>Number of Trees<\/td><\/tr><tr><td>Regresi\u00f3n lineal\/log\u00edstica<\/td><td>L1\/L2 Regularization<\/td><\/tr><tr><td>Redes neuronales<\/td><td>Batch Normalization<br>Dropout<br>Early Stopping<br>L1\/L2 Weight Regularization<br>Learning Rate<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Tabla 1: Lista no exhaustiva de hiperpar\u00e1metros utilizados para regularizaci\u00f3n<br><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Regularizaci\u00f3n centrada en los datos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n existen t\u00e9cnicas de regularizaci\u00f3n que implican alg\u00fan tipo de preprocesamiento de datos. La principal ventaja de estas es que pueden compartirse entre m\u00faltiples modelos y pueden ser espec\u00edficas para ciertas features; puedes elegir regularizar solo algunas features, mientras mantienes otras sin cambios. Esto (junto con los hiperpar\u00e1metros mencionados anteriormente) deber\u00eda obligar al modelo a confiar menos en estas features, sin eliminarlas por completo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una forma sencilla de lograr una regularizaci\u00f3n centrada en los datos es agregar ruido no correlacionado a tu conjunto de entrenamiento, especialmente a las features vulnerables que deseas hacer m\u00e1s robustas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n existen formas \u00abespec\u00edficas del dominio\u00bb para restringir los valores de una feature. Por ejemplo, si la \u00abedad\u00bb es una feature en tu modelo, puedes imponer un rango v\u00e1lido para los valores durante el preprocesamiento utilizando funciones que las obligan a estar dentro de un rango. Incluso si los atacantes descubren c\u00f3mo modificar estos valores, el da\u00f1o estar\u00e1 algo limitado porque estar\u00e1n dentro del rango predefinido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, no olvides probar este enfoque para ver si funciona en tu caso.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: Usa feature flags&nbsp;para manejar ataques r\u00e1pidamente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque nuestro objetivo final es evitar los ataques adversariales, debemos estar preparados para actuar r\u00e1pidamente y limitar los da\u00f1os cuando ocurran. Los <a href=\"https:\/\/martinfowler.com\/articles\/feature-toggles.html\">feature flags<\/a> son una forma de manejar ataques de manera \u00e1gil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los feature flags son condiciones simples de IF\/ELSE en el c\u00f3digo que controlan si la ejecuci\u00f3n sigue un camino u otro, esencialmente activando o desactivando partes del c\u00f3digo. Esto se muestra en la Figura 8 a continuaci\u00f3n:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"694\" data-attachment-id=\"32226\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?fit=1440%2C694&amp;ssl=1\" data-orig-size=\"1440,694\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?fit=1024%2C494&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?resize=1440%2C694&#038;ssl=1\" alt=\"\" class=\"wp-image-32226\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?w=1440&amp;ssl=1 1440w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?resize=300%2C145&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?resize=1024%2C494&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?resize=768%2C370&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-3-2.jpg?resize=1200%2C578&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 8: Un ejemplo de un feature flag de 3 v\u00edas.<\/em><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Los feature flags generalmente se controlan fuera del flujo normal de CI\/CD, lo que permite actualizarlos sin la necesidad de un nuevo despliegue del servicio, lo que puede llevar tiempo y\/o fallar. Una estrategia com\u00fan es almacenar los feature flags como archivos en un sistema de almacenamiento remoto, como S3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed hay algunos ejemplos de c\u00f3mo usar feature flags para reaccionar a un ataque adversarial en curso:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Hacer que los umbrales de decisi\u00f3n sean m\u00e1s estrictos<\/strong>: Si una decisi\u00f3n riesgosa (por ejemplo, otorgar un pr\u00e9stamo basado en una puntuaci\u00f3n de riesgo) se toma directamente a partir de una predicci\u00f3n del modelo, puedes hacer que esa decisi\u00f3n sea temporalmente m\u00e1s estricta o conservadora. Por ejemplo, requerir una puntuaci\u00f3n de riesgo mucho m\u00e1s baja de lo habitual para aprobar un pr\u00e9stamo.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Desactivar el flujo de negocio por completo: <\/strong>Dependiendo de la importancia del flujo de negocio afectado por el ataque, es posible que desees desactivarlo por completo, incluso a costa de algunos problemas de experiencia del usuario (UX).<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reemplazar features manipulables con valores neutrales:<\/strong> Codificar valores neutrales en lugar de usar la informaci\u00f3n proporcionada por el usuario es otra forma de defenderse de los ataques. Puedes descubrir cu\u00e1les son estos valores utilizando gr\u00e1ficos de dependencia parcial (PD plots), como se explica en \u00abComprender el impacto de valores espec\u00edficos en features clave\u00bb.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Usar una versi\u00f3n de respaldo del modelo, sin features manipulables:<\/strong> Otra alternativa es tener una versi\u00f3n de \u00abrespaldo\u00bb del modelo que no utilice ninguna feature potencialmente explotable. Usar una versi\u00f3n m\u00e1s simple del modelo puede afectar el rendimiento, pero probablemente sea mejor que enfrentar el impacto de un ataque de frente. Esta estrategia se muestra a continuaci\u00f3n como pseudoc\u00f3digo en el Listado 1.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1111\" height=\"528\" data-attachment-id=\"32229\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/screenshot-2025-03-24-at-14-57-58\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?fit=1111%2C528&amp;ssl=1\" data-orig-size=\"1111,528\" data-comments-opened=\"1\" data-image-title=\"Screenshot 2025-03-24 at 14.57.58\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?fit=1024%2C487&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?resize=1111%2C528&#038;ssl=1\" alt=\"\" class=\"wp-image-32229\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?w=1111&amp;ssl=1 1111w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?resize=300%2C143&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?resize=1024%2C487&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-24-at-14.57.58-2.png?resize=768%2C365&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Listado 1: Pseudoc\u00f3digo en Python que muestra c\u00f3mo se podr\u00edan usar feature flags basados en S3 para controlar si se debe usar una versi\u00f3n de respaldo del modelo.<\/em><br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Los feature flags tambi\u00e9n son muy \u00fatiles en todo tipo de situaciones no relacionadas con el ML. Son un tema interesante por s\u00ed mismos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejo: Prefiere codificaciones de baja granularidad para features especialmente sensibles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A veces, simplemente no puedes permitirte eliminar features vulnerables de un modelo. Esto puede ocurrir debido a requisitos regulatorios o porque las features son absolutamente cruciales para el modelo, y eliminarlas lo har\u00eda in\u00fatil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una forma de mantener features potencialmente explotables en un modelo (mientras reduces un poco la superficie de ataque) es disminuir su granularidad. Esto generalmente hace que el modelo sea un poco menos preciso, pero proporciona un nivel de protecci\u00f3n contra ataques.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para features num\u00e9ricas, esto generalmente significa agrupar valores en intervalos o \u00abbins\u00bb. Varios paquetes de software admiten la creaci\u00f3n de intervalos o \u00abbucketization\u00bb como pasos de preprocesamiento en un pipeline de ingenier\u00eda de features.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>La granularidad de una feature se refiere a cu\u00e1n precisa es. Cuando existe el riesgo de ataques, puede ser \u00fatil favorecer features de baja granularidad (baja resoluci\u00f3n) sobre features de alta granularidad (alta resoluci\u00f3n).<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">En el caso de features categ\u00f3ricas, disminuir la granularidad significa reducir su dimensionalidad: ya sea agrupando valores o utilizando m\u00e9todos como PCA despu\u00e9s de la codificaci\u00f3n. Para features continuas y\/o num\u00e9ricas, por otro lado, puedes usar intervalos (tambi\u00e9n llamados \u00abbins\u00bb) en lugar de valores brutos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Disminuir la granularidad de las features ayuda de dos maneras:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reduce la \u00absensibilidad\u00bb del modelo con respecto a esa feature, actuando en la pr\u00e1ctica como una forma de regularizaci\u00f3n.<\/li>\n\n\n\n<li>Reduce la posibilidad de que peque\u00f1as perturbaciones en el valor de la feature cambien la puntuaci\u00f3n del modelo, siempre que no se crucen las fronteras&nbsp; de clasificaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, es importante verificar (con gr\u00e1ficos de dependencia parcial, por ejemplo) que este enfoque funcione en tu escenario espec\u00edfico. En algunos casos, las features modificadas a\u00fan presentan una superficie de ataque, especialmente si los usuarios malintencionados pueden inferir d\u00f3nde est\u00e1n las fronteras de decisi\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consideraciones sobre el monitoreo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El monitoreo es esencial para detectar ataques adversariales en ML en tiempo real, como se explic\u00f3 anteriormente. Aqu\u00ed hay algunos consejos pr\u00e1cticos para mejorar tu monitoreo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Monitorea percentiles para los valores de las features<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La mayor\u00eda de las herramientas de monitoreo se centran en monitorear los valores promedio de las features num\u00e9ricas. Aunque \u00fatiles, los promedios ocultan informaci\u00f3n, especialmente cuando las decisiones se toman utilizando predicciones en los extremos, como es el caso de las predicciones de riesgo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para evitar puntos ciegos potenciales, tambi\u00e9n necesitas monitorear los percentiles de las features, especialmente aquellos relacionados con los extremos (percentiles 1, 10, 90 y 99), para que puedas detectar visualmente desviaciones extra\u00f1as que puedan indicar que se est\u00e1n produciendo ataques adversariales.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1525\" height=\"655\" data-attachment-id=\"32232\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-9\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?fit=1525%2C655&amp;ssl=1\" data-orig-size=\"1525,655\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 9\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?fit=1024%2C440&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?resize=1525%2C655&#038;ssl=1\" alt=\"\" class=\"wp-image-32232\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?w=1525&amp;ssl=1 1525w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?resize=300%2C129&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?resize=1024%2C440&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?resize=768%2C330&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-9-2.jpg?resize=1200%2C515&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 9: Un gr\u00e1fico de monitoreo t\u00edpico, que muestra valores agregados por mes para una feature de valor real que var\u00eda entre 0 y 1. Algo sucedi\u00f3 en julio de 2024, pero no ser\u00eda muy obvio si solo se observa la l\u00ednea de valor promedio. Al observar los percentiles P90 y P99, es claro que hubo una ruptura en la distribuci\u00f3n de valores, pero solo afect\u00f3 a los percentiles superiores.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Monitorea las decisiones de negocio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque los atacantes trabajan intentando influir en las features del modelo, su objetivo final es impactar las decisiones de negocio. Por lo tanto, estas deben monitorearse por separado. Muy a menudo, los ataques son sutiles, pero son lo suficientemente fuertes como para mover la puntuaci\u00f3n m\u00e1s all\u00e1 de la frontera de decisi\u00f3n, afectando las decisiones de negocio. En otras palabras, debes monitorear la distribuci\u00f3n de las decisiones impulsadas por el modelo al final del proceso. Esto es lo que llamamos \u00abmonitoreo de la capa de decisi\u00f3n\u00bb en el Requisito 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el ejemplo que se muestra en la Figura 10, se muestran las tasas de aprobaci\u00f3n de reclamos para una compa\u00f1\u00eda de seguros de autom\u00f3viles ficticia. La decisi\u00f3n de aprobar o denegar un reclamo de seguro se toma utilizando un modelo de ML. El pico en abril de 2024 es motivo de preocupaci\u00f3n: podr\u00eda ser el resultado de atacantes intentando cometer fraude de seguros. Sin embargo, la predicci\u00f3n promedio del modelo que impulsa las decisiones no parece fuera de lo com\u00fan; sin el monitoreo de la capa de decisi\u00f3n, estar\u00edamos ciegos a un posible ataque.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfi4m2Y0phwglyZccgTLIGl3VN_gbJG_Ui2iIUSsFVawQiWZnZGjlrydtARk65-egc_yZHudO-RhzGkupC5JAjdwRcsnYhHiq5M42PKnPg89eWmhXoAVC1YYWN5Tg2Xsu4TmacQQQ?key=qNvrZcvnPxfv4hQcwBbr_w\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Figura 10: A la izquierda, un gr\u00e1fico que muestra la tasa de reclamos de p\u00f3lizas aceptados por una compa\u00f1\u00eda de seguros. El pico en abril de 2024 podr\u00eda ser indicativo de un ataque adversarial, pero observa que la puntuaci\u00f3n correspondiente (a la derecha) no se movi\u00f3. Sin un monitoreo dedicado de decisiones, este posible ataque podr\u00eda haberse pasado por alto.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Monitorea por segmentos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La segmentaci\u00f3n se refiere a dividir las predicciones en grupos de inter\u00e9s. La idea principal es que ver m\u00e9tricas agregadas para todas las instancias como un grupo combinado oculta detalles importantes: dado que el tama\u00f1o de la muestra es m\u00e1s grande, las m\u00e9tricas tienden a ser m\u00e1s suaves, y es m\u00e1s dif\u00edcil detectar problemas que solo afectan a un subconjunto de la poblaci\u00f3n total, especialmente si esos son menos comunes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplos de segmentos incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tipos de compras con tarjeta de cr\u00e9dito: <\/strong>compras f\u00edsicas, compras sin contacto, compras en l\u00ednea.<\/li>\n\n\n\n<li><strong>Tipos de clientes: <\/strong>ingresos bajos, ingresos medios, ingresos altos.<\/li>\n\n\n\n<li><strong>Visitantes en un sitio web: <\/strong>aquellos que usan navegadores, tel\u00e9fonos m\u00f3viles, tabletas, etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ver m\u00e9tricas por segmentos tambi\u00e9n es \u00fatil para detectar ataques adversariales, ya que pueden estar dirigidos a subgrupos espec\u00edficos, en lugar de a todo el espacio de instancias en su conjunto. La Figura 11 a continuaci\u00f3n muestra c\u00f3mo visualizar m\u00e9tricas por segmentos permite detectar problemas que de otra manera pasar\u00edan desapercibidos si solo se observan los valores agregados a nivel global.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1525\" height=\"655\" data-attachment-id=\"32236\" data-permalink=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/blog-brainstorming-frame-11\/\" data-orig-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?fit=1525%2C655&amp;ssl=1\" data-orig-size=\"1525,655\" data-comments-opened=\"1\" data-image-title=\"Blog-Brainstorming &amp;#8211; Frame 11\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?fit=1024%2C440&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?resize=1525%2C655&#038;ssl=1\" alt=\"\" class=\"wp-image-32236\" srcset=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?w=1525&amp;ssl=1 1525w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?resize=300%2C129&amp;ssl=1 300w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?resize=1024%2C440&amp;ssl=1 1024w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?resize=768%2C330&amp;ssl=1 768w, https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Blog-Brainstorming-Frame-11-2.jpg?resize=1200%2C515&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><em>Figura 11: En este gr\u00e1fico podemos ver que el promedio global de \u00abEdad\u00bb est\u00e1 principalmente impulsado por los usuarios de tel\u00e9fonos m\u00f3viles, que son los usuarios m\u00e1s frecuentes en la base de clientes. Sin embargo, hubo un pico extra\u00f1o en el valor de esta feature, pero solo para los usuarios de navegadores; de no ser por las l\u00edneas a nivel de segmento, no podr\u00edamos detectarlo, y un posible ataque podr\u00eda pasar desapercibido.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Atributos de entrada vs. feature<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Muchos pipelines de modelos incluyen ingenier\u00eda de features o preprocesamiento sobre las entradas brutas proporcionadas por el usuario antes de usarlas en el algoritmo de aprendizaje. Puede ser dif\u00edcil detectar ataques dirigidos si solo se monitorean las features, porque puede haber m\u00faltiples pasos de procesamiento antes de que un atributo de entrada se convierta en una feature.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debes tener activos de monitoreo separados para los valores de los atributos de entrada, adem\u00e1s de monitorear las features y las predicciones a lo largo del tiempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Modelos de ML en tiempo real efectivos y resilientes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los modelos de ML en tiempo real son poderosos pero vulnerables a ataques adversariales, donde actores maliciosos manipulan features para influir en los resultados. Para proteger tus modelos, enf\u00f3cate en comprender la importancia de las features con herramientas como SHAP y gr\u00e1ficos de dependencia parcial (Partial Dependence Plots), y configura un monitoreo activo para detectar patrones inusuales. Usa alertas en tiempo real basadas en m\u00e9tricas de negocio para detectar ataques temprano.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El reentrenamiento frecuente de modelos ayuda a que tu sistema aprenda de los intentos de ataques, mientras que estrategias como limitar interacciones, retrasar decisiones o agregar ruido hacen que la explotaci\u00f3n sea m\u00e1s dif\u00edcil. En algunos casos, intercambiar rendimiento por robustez \u2014eliminando features vulnerables o aumentando la regularizaci\u00f3n\u2014 puede reducir significativamente los riesgos. Herramientas como los feature flags te permiten responder r\u00e1pidamente, y reducir la granularidad de las features minimiza la superficie de ataque.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al combinar estas estrategias, puedes construir modelos de ML en tiempo real que sean tanto efectivos como resilientes. El objetivo no es detener todos los ataques, sino hacer que sean tan costosos que los atacantes desistan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si deseas fortalecer tus sistemas de ML, sigue leyendo nuestro blog para obtener m\u00e1s hallazgos. Y si te apasiona construir soluciones de ML de vanguardia, \u00a1estamos contratando! \u00danete a nosotros para construir el Futuro Morado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.<\/p>\n","protected":false},"author":178110103,"featured_media":31974,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2509,2508],"tags":[778793305,778793304,778793303],"class_list":["post-31346","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics-es","category-data-science-machine-learning-es","tag-adversarial-attacks-3","tag-applied-machine-learning-3","tag-real-time-machine-learning-4"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank<\/title>\n<meta name=\"description\" content=\"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-24T12:13:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-27T13:54:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1-1024x694.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"694\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo\",\"datePublished\":\"2025-03-24T12:13:15+00:00\",\"dateModified\":\"2025-03-27T13:54:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/\"},\"wordCount\":6365,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1\",\"keywords\":[\"adversarial-attacks\",\"applied-machine-learning\",\"real-time-machine-learning\"],\"articleSection\":[\"Data &amp; Analytics\",\"Data Science &amp; Machine Learning\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/\",\"name\":\"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1\",\"datePublished\":\"2025-03-24T12:13:15+00:00\",\"dateModified\":\"2025-03-27T13:54:11+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1\",\"width\":2060,\"height\":1396,\"caption\":\"Person working at Nu Office\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nu.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank","description":"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/","og_locale":"es_ES","og_type":"article","og_title":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank","og_description":"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.","og_url":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/","og_site_name":"Building Nubank","article_published_time":"2025-03-24T12:13:15+00:00","article_modified_time":"2025-03-27T13:54:11+00:00","og_image":[{"width":1024,"height":694,"url":"https:\/\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1-1024x694.png","type":"image\/png"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Tiempo de lectura":"28 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#article","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo","datePublished":"2025-03-24T12:13:15+00:00","dateModified":"2025-03-27T13:54:11+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/"},"wordCount":6365,"commentCount":0,"image":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1","keywords":["adversarial-attacks","applied-machine-learning","real-time-machine-learning"],"articleSection":["Data &amp; Analytics","Data Science &amp; Machine Learning"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/","url":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/","name":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo - Building Nubank","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#primaryimage"},"image":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1","datePublished":"2025-03-24T12:13:15+00:00","dateModified":"2025-03-27T13:54:11+00:00","author":{"@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"Una gu\u00eda con consejos pr\u00e1cticos sobre c\u00f3mo protegerse contra los riesgos adversos en modelos de ML en tiempo real.","breadcrumb":{"@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1","width":2060,"height":1396,"caption":"Person working at Nu Office"},{"@type":"BreadcrumbList","@id":"https:\/\/building.nu.com\/es\/modelos-ml-tiempo-real-mas-robustos-entornos-adversariales-consejos-monitoreo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nu.com\/es\/"},{"@type":"ListItem","position":2,"name":"Modelos de aprendizaje autom\u00e1tico en tiempo real m\u00e1s robustos en entornos adversariales: Consejos pr\u00e1cticos y consideraciones de monitoreo"}]},{"@type":"WebSite","@id":"https:\/\/building.nu.com\/es\/#website","url":"https:\/\/building.nu.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nu.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nu.com\/es\/author\/editorial\/"}]}},"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-89A","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/03\/Screenshot-2025-03-07-at-15.31.18-1.png?fit=2060%2C1396&ssl=1","_links":{"self":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/31346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/users\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/comments?post=31346"}],"version-history":[{"count":27,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/31346\/revisions"}],"predecessor-version":[{"id":32332,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/31346\/revisions\/32332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media\/31974"}],"wp:attachment":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media?parent=31346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/categories?post=31346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/tags?post=31346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}