Algoritmo RAFNI

RAFNI (Relabelling And Filtering Noisy Intances) es un algoritmo para el aprendizaje robusto de redes neuronales bajo ruido de clase. Se basa en el tratamiento de las instancias que considera ruidosas dentro del conjunto de entrenamiento mediante tres mecanismos que eliminan o reetiquetan dichas
instancias. Estos mecanismos usan las predicciones, la probabilidad de las predicciones y los valores de pérdida que la red base usada da a cada instancia del conjunto de entrenamiento. Es importante destacar que RAFNI es independiente de la red base usada. Hay dos mecanismos de filtrado y uno de reetiquetado.

El primer mecanismo de filtrado usa sólo el valor de pérdida de las instancias. La base es que las instancias ruidosas tienden a tener un mayor valor de pérdida que el resto de las instancias. Como resultado, este mecanismo filtra las instancias que tienen un valor de pérdida por encima de un cierto umbral. Este umbral es dinámico y va cambiando durante el proceso de aprendizaje.

El segundo mecanismo de filtrado depende de cuántas veces se ha reetiquetado una instancia. Aquí suponemos que si el algoritmo reetiqueta una instancia demasiadas veces es mejor eliminar esa instancia. Por tanto, este mecanismo filtra una instancia si ha sido reetiquetada más de un cierto número de veces.

El mecanismo de reetiquetado tiene en cuenta la probabilidad que da a cada predicción la red neural base. Suponemos que si la red base predice otra clase con una alta probabilidad según avanza el aprendizaje, es probable que esa instancia sea ruidosa y su clase sea de hecho la que la red ha predicho. Como consecuencia, este mecanismo cambia la clase de una instancia si la red base predice otra clase con una probabilidad que está por encima de un cierto umbral.

En las siguientes dos figuras (pinchar para ampliar) se puede ver cómo afecta el algoritmo RAFNI al
aprendizaje de la red base y el diagrama de flujo de este algoritmo.

Diferencia entre entrenar la red base (a) sin y (b) con el algoritmo RAFNI (pulsa para ampliar)
Diagrama de flujo del algoritmo RAFNI (pulsa para ampliar)

Una descripción más detallada del algoritmo puede encontrarse en el artículo:

A. Gómez-Ríos, J. Luengo, F. Herrera, «A robust approach for deep neural networks in presence of label noise: relabelling and filtering instances during training»

que puede citarse como:

@misc{gómezríos2021robust,
      title={A robust approach for deep neural networks in presence of label noise: relabelling and filtering instances during training},
      author={Anabel Gómez-Ríos and Julián Luengo and Francisco Herrera},
      year={2021},
      eprint={2109.03748},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

El código del algoritmo puede encontrarse en GitHub. En caso de querer reproducir los experimentos con CIFAR, por favor descargue las bases de datos aquí.

Contacto: Anabel Gómez