Productos y Servicios PRODUCTOS Y SERVICIOS

5 preguntas para hacer sobre Machine Learning

Aprendizaje de máquina no es polvo de duendecillo para ser propagado en los productos. Nos fijamos en las nueces, los pernos y los desafíos involucrados, y cómo lo abordamos.

No hay caminar el piso de la demostración en la conferencia de RSA o BlackHat actualmente sin los vendedores que lo bombardean con los mensajes de como “Machine Learning” y la “inteligencia artificial”. Pero pocos de ellos llegarán a explicar lo que es, cómo funciona y por qué debe preocuparse.

En Sophos, hemos hecho grandes inversiones en ciencia de datos y machine learning, incluyendo la adquisición de la empresa machine learning Invincea y el establecimiento de un equipo de científicos de datos líder enfocado en la infusión de aprendizaje de máquinas en el núcleo de nuestros productos.

Nuestro enfoque a machine learning siempre ha estado basado en la ciencia, la transparencia y la validación.

En lugar de describir machine learning como el polvo de duendecillo que se difundirá en los productos, utilizaremos este foro para describir las nueces, los tornillos y los retos en el aprendizaje automático y cómo lo abordamos.

Es sólo matemáticas, ¿verdad?

Una de las cosas más difíciles al evaluar los productos de machine learning es cómo averiguar qué hay bajo el capó y por qué.

Para ayudar, hemos elaborado una lista de cinco preguntas que se centran en el funcionamiento de un enfoque particular, independientemente del algoritmo que utilice.

Q1. Eso es una tasa de detección impresionante, pero ¿cuál es la tasa de falsos positivos cuando se activa la detección de esa alta?

Solo con citar las tasas de detección de los algoritmos de aprendizaje de la máquina no es suficiente.

Después de todo, puede trivialmente lograr una tasa de detección del 100% simplemente declarando como malicioso cada archivo que escanee. Pero su tasa de falsos positivos -es decir, cuando impida erróneamente que se utilicen archivos legítimos- estará cerca del 100% también. Usted no podrá utilizar su computadora en absoluto.

En otras palabras, la tasa de falsos positivos para el algoritmo de detección es al menos tan importante como su tasa de detección verdadera. Ignorar la tasa de falsos positivos significa perseguir constantemente a los fantasmas en la red o interrumpir el trabajo de sus usuarios.

En machine learning, esto se representa mediante un gráfico de lo que se denomina la curva característica de funcionamiento del receptor (curva ROC) que muestra cómo se compara la tasa de detección verdadera con la tasa de falsos positivos.

Si el proveedor no puede o no quiere mostrar una curva ROC, ni siquiera puede empezar a adivinar la baja tasa de detección que necesitará tolerar, es decir, cuánto malware el producto dejará pasar, Antes de que sea tolerable de usar.

Qué preguntar: ¿Puedo ver sus curvas ROC, ahora y desde el pasado?

Q2. ¿Con qué frecuencia debe actualizarse su modelo y cuánto disminuye la precisión de su modelo entre actualizaciones?

El verdadero poder de machine learning es que si está debidamente capacitado, puede detectar de forma fiable las amenazas que no ha visto antes. Esto lo hace especialmente efectivo para bloquear nuevas amenazas proactivamente.

Además, un buen modelo de aprendizaje automático no sólo funcionará bien en las amenazas de hoy, sino que también mostrará una característica conocida como “envejecimiento lento”, lo que significa que seguirá recogiendo nuevas amenazas durante mucho tiempo sin necesidad de una actualización.

En resumen, un buen modelo de aprendizaje de máquina mantendrá un equilibrio aceptable de la tasa de detección frente a la tasa de falsos positivos durante meses, en lugar de sólo por semanas o días.

Qué preguntar: ¿Puedo ver la curva ROC de hoy para la actualización que publicó hace seis meses?

Q3. ¿Su algoritmo de machine learning toma decisiones en tiempo real?

Si la detección de malware tarda más que el malware en realizar su trabajo sucio, tiene detección pero no prevención. En otras palabras, sólo descubrirás un ataque después del hecho.

Algunas formas de aprendizaje de la máquina se utilizan para tamizar los datos después de un ataque, tratando de encontrar la aguja proverbial en un pajar. Esto es útil para averiguar qué sucedió para que pueda evitar que suceda de nuevo, pero si está en el negocio de detener ataques antes de tener éxito, necesita un algoritmo que funcione en milisegundos, no en minutos o segundos.

En términos generales, una solución de aprendizaje de máquina con un conjunto de datos que no encaja en sus puntos finales requerirá una conexión en la nube para trabajar en absoluto, y será lento y poco fiable. De hecho, el conjunto de datos debe ser lo suficientemente compacto para que pueda mantenerse en la memoria, evitando así la necesidad de mantener la lectura de datos de detección fuera del disco a medida que se escanea cada archivo.

Qué preguntar: ¿Es en tiempo real? Si es así, ¿cuánto tiempo toma una decisión? ¿Qué pasa con el rendimiento y la precisión si el equipo está fuera de línea?

Q4. ¿Cuál es su conjunto de entrenamiento?

El rendimiento de un algoritmo en la práctica se basa en los datos en los que se ha entrenado.

El viejo adagio de la basura adentro, basura hacia fuera se aplica aquí. Si los datos son académicos, viejos o no representan realistamente archivos del mundo real, es poco probable que el algoritmo funcione confiablemente cuando se enfrenta a archivos fuera del laboratorio.

Qué preguntar: ¿De dónde provienen los datos de entrenamiento? ¿Qué lo hace realista? ¿Cuántos datos hay? ¿Cómo mantiene actualizados los conjuntos de entrenamiento?

Q5. ¿Qué tan bien hace su escala de sistema de machine learning?

Dado que las nuevas amenazas (y los nuevos archivos limpios) salen todo el tiempo, es necesario recopilar datos nuevos pero representativos todo el tiempo, a escala de Internet.

La recopilación de cantidades cada vez mayores de datos relevantes es bastante difícil por sí sola, pero también es necesario que pueda aumentar la velocidad a la que puede volver a entrenar y volver a probar su modelo o terminará con actualizaciones mucho más tiempo para producir.

Sin embargo, el conjunto de datos que extrae para ejecutar su modelo de aprendizaje de la máquina debe mantenerse constante en el tamaño, incluso si sus conjuntos de formación crecen exponencialmente. De lo contrario, el rendimiento de su tiempo de ejecución empeorará, para mantenerse a flote en las tasas de detección.

En otras palabras, “scale” tiene varias variables, incluyendo la rapidez con la que puede aumentar el tamaño y la relevancia de su conjunto de entrenamiento, si puede mantener el tiempo necesario para entrenar y probar a medida que aumenta el entrenamiento y si Puede mantener el tamaño de su conjunto de datos de tiempo de ejecución sin sacrificar la tasa de detección (o aumentar la tasa de falsos positivos).

Qué preguntar: ¿Puedo ver estadísticas históricas que muestran lo bien que ha escalado su rendimiento de formación y ejecución?

Mucho más que sólo matemáticas

Para resumir su enfoque de aprendizaje de máquina ideal:

  • Dé altas tasas de detección y bajos falsos positivos en ataques conocidos y desconocidos, con una curva ROC publicada.
  • Sea entrenado en un conjunto de entrenamiento sólido que sea representativo de las amenazas del mundo real.
  • Continúe ofreciendo un alto rendimiento durante meses después de cada actualización.
  • Proporcione un rendimiento en tiempo real (bloqueo de amenazas) sin consumir grandes cantidades de memoria.
  • Escala de forma fiable, sin usar más memoria o perder rendimiento, incluso a medida que aumenta el conjunto de entrenamiento.

Juntos, estos pueden parecer una gran pregunta, pero son exactamente lo que se necesita para cualquier enfoque de aprendizaje de la máquina de producción, y también lo que estamos centrados en la construcción y la liberación en Sophos.

La próxima vez que hable con una empresa que dice usar machine learning, asegúrese de hacer estas preguntas.

Usted sabrá qué decir cuando responden “Es sólo matemáticas”.

Leave a Reply

Your email address will not be published. Required fields are marked *