Cómo aprenden y se adaptan los algoritmos

24 de mayo de 2018
Sohrob Kazerounian
Distinguished AI Researcher
Cómo aprenden y se adaptan los algoritmos

Existen numerosas técnicas para crear algoritmos capaces de aprender y adaptarse con el tiempo. A grandes rasgos, podemos clasificar estos algoritmos en tres categorías: supervisados, no supervisados y de aprendizaje por refuerzo.

El aprendizaje supervisado se refiere a situaciones en las que cada instancia de datos de entrada va acompañada de un valor deseado u objetivo para esa entrada. Cuando los valores objetivo son un conjunto de categorías discretas finitas, la tarea de aprendizaje suele denominarse problema de clasificación. Cuando los objetivos son una o más variables continuas, la tarea se denomina regresión.

Por ejemplo, las tareas de clasificación pueden incluir la predicción de si un determinado correo electrónico es spam o ham (es decir, no es spam) o cuál de las N familias de malware debe clasificarse un determinado archivo binario. Una tarea de regresión podría incluir tratar de predecir cuántos incidentes de seguridad provocará un host en una red durante un tiempo específico. En ambos casos, el objetivo del aprendizaje supervisado es aprender una correspondencia funcional entre el espacio de entrada del que proceden los datos y un espacio deseado u objetivo que describa los datos.

Por el contrario, el aprendizaje no supervisado se refiere a situaciones en las que un algoritmo o agente debe aprender sólo a partir de datos brutos, sin ninguna retroalimentación o supervisión en forma de valores objetivo. Esto significa a menudo aprender a agrupar ejemplos similares en los datos -una tarea conocida como agrupación- oaprender algo sobre las distribuciones subyacentes en el espacio de entrada del que se extraen los datos.

Por ejemplo, la agrupación puede utilizarse para determinar grupos de máquinas en una red que son similares en función de características como el número de hosts internos frente a externos con los que inician conexiones y el número de hosts que inician conexiones con ellos.

Alternativamente, los métodos no supervisados pueden utilizarse para la detección de anomalías aprendiendo sobre las propiedades y estadísticas del tráfico normal en una red, de modo que las conexiones de red que se desvíen demasiado de la norma puedan etiquetarse como anómalas. Aunque puede resultar difícil enumerar todos los casos de uso posibles, el objetivo del aprendizaje sin supervisión es aprender algo sobre los datos subyacentes sin utilizar etiquetas predeterminadas que los describan.

Uno de los desarrollos históricos que dieron lugar a la popularidad del aprendizaje profundo fue el preentrenamiento no supervisado. Se utilizaba para aprender un conjunto inicial de pesos en una red neuronal antes de utilizar métodos supervisados para afinar el aprendizaje de las clases de imágenes que la red intentaba categorizar. Algunos buenos ejemplos de preentrenamiento no supervisado pueden encontrarse en el modelo neocognitrónico de Fukushima de 1975 y en la máquina profunda de Botlzmann de Hinton y Salukhutdinov.

Por último, el aprendizaje por refuerzo se refiere a los paradigmas de aprendizaje en los que un agente, que interactúa con un entorno, realiza una secuencia de acciones. Cada acción puede cambiar el estado del entorno y, en lugar de recibir información explícita sobre la acción correcta que debe realizar en cada paso, sólo recibe señales generales de recompensa sobre su rendimiento.

Hoy en día, los ejemplos prototípicos de aprendizaje por refuerzo se encuentran en los videojuegos, donde un agente observa el estado del entorno. En el ajedrez, puede ser el estado del tablero o, en un juego de Nintendo, el conjunto de píxeles de la pantalla. En cada paso de tiempo decide una acción apropiada, como qué pieza mover a continuación o si mover a la izquierda, a la derecha, arriba, abajo o pulsar a/b.

El agente no recibe información explícita sobre la mejor acción a realizar en cada paso. En su lugar, recibe información a través de una señal de recompensa que llega potencialmente bastante tiempo después de realizar la acción. Por ejemplo, puede ser una recompensa positiva por ganar una partida de ajedrez o superar un nivel, o bien una recompensa negativa por cada punto conseguido por un oponente en un juego como Pong.

Utilizando únicamente la señal de recompensa, el agente debe intentar aumentar la probabilidad de realizar acciones que conduzcan a recompensas positivas y disminuir la probabilidad de realizar acciones que conduzcan a recompensas negativas o de castigo. Es probable que el aprendizaje por refuerzo se convierta en un aspecto cada vez más importante de las pruebas automatizadas de penetración y detección de intrusos. Pero sigue siendo relativamente incipiente en el ámbito de la ciberseguridad y es poco probable que funcione bien en escenarios de producción.

Dicho esto, el equipo de IA de Vectra ya ha empezado a investigar y desarrollar algoritmos de aprendizaje por refuerzo para crear agentes que aprendan comportamientos de ataque que puedan eludir los sistemas IDS, permitiendo así la creación automatizada de datos a partir de los cuales pueda aprender un sistema IDS.

Preguntas frecuentes