Technical
Estimación Objetiva de la Calidad de Datos
Paulo Maia · 27 de febrero de 2020
En Inteligencia Artificial, es importante medir la calidad de los datos que queremos utilizar.
Por ejemplo, si queremos clasificar una imagen de cérvix según el grado de cáncer, ¿cómo sabemos si esa imagen sigue el protocolo de adquisición y puede usarse para diagnosticar al paciente [1] de modo que podamos confiar en nuestra predicción? En otro dominio, si queremos clasificar el tema de un texto determinado (que puede estar escrito en lenguaje coloquial), ¿cómo saber si el texto es útil y tiene buena calidad?
En Machine Learning existe un principio común: basura entra, basura sale. Los modelos son tan buenos como los datos que consumen
La estimación de calidad de imagen es un problema difícil porque la calidad depende del usuario y de la tarea en sí. Esto es especialmente importante cuando medimos la calidad según varios factores y la utilizamos para tomar decisiones (eficiencia, durabilidad, precio de algo).
Hemos enfrentado previamente el problema de la estimación objetiva de calidad en varias áreas (imagen/texto) e industrias (TelCo, sanidad). En este artículo discutiremos algunas alternativas de la comunidad de Data Science, así como una metodología que hemos utilizado exitosamente para estimar la calidad de datos sin supervisión en la tarea de calidad.
¿Qué existe actualmente?
El objetivo de la investigación en evaluación de calidad, hasta ahora, ha sido hacer predicciones de calidad que coincidan con la opinión de observadores humanos. La medición de calidad se realiza típicamente mediante etiquetas muy subjetivas: algo de buena calidad para un observador puede ser de mala calidad para otro.
Por ejemplo, en [2], se utilizan redes neuronales convolucionales para predecir la calidad subjetiva de imagen en bases de datos como la LIVE Image Quality Assessment Database, utilizando etiquetas de calidad evaluadas por humanos.
Algunos enfoques no supervisados [3] también agrupan métricas de calidad de imagen en varios grupos, como artefactos de compresión, ruido de imagen, artefactos de color, desenfoque y distorsiones. Sin embargo, estos enfoques se centran en una visión "técnica" de la calidad (calidad de señal) en lugar de la percepción semántica/humana. En el dominio del texto [4], se define un conjunto de reglas automáticas para la calidad de la documentación de software basadas principalmente en la legibilidad humana y la facilidad de implementación.
Todos estos enfoques mencionados previamente se han aplicado con cierto éxito, pero la mayoría se centran en cuantificar errores de adquisición de datos. En algunos dominios, como el médico, es importante tener conocimiento semántico de la calidad. Por ejemplo, en imágenes de fondo de retina, una métrica común es la Image Structure Clustering (ISC). El ISC evalúa una distribución correcta de intensidades de píxeles correspondientes a las estructuras anatómicas relevantes presentes en la retina [5].
Sin embargo, crear tales métricas y lograr que sean aceptadas por la comunidad investigadora no es viable para cada área, con muchas reglas específicas de dominio. Además, la mayoría de los métodos para medir la calidad se centran en una modalidad específica: imágenes.
En este artículo, proponemos una forma de medir objetivamente la calidad de cualquier modalidad (imagen, texto, datos tabulares), tanto para problemas de clasificación como de regresión y damos algunos casos de uso en los que se puede utilizar.
Metodología General
Supongamos que estamos intentando clasificar una muestra determinada (por ejemplo, una imagen o un documento), y queremos medir objetivamente la calidad de esa muestra.
Podemos considerar que una muestra de buena calidad es aquella que obtiene puntuaciones altas en una tarea objetivo secundaria (por ejemplo, clasificar la clase de muestras, estimar correctamente un valor de regresión, segmentar la imagen, etc.).
Tenemos cierto conocimiento semántico de la calidad para un dominio determinado modelando la calidad como específica de la tarea, pero generalizable para cualquier problema.
Por ejemplo, en atención al cliente, podemos medir qué tan informativa es la descripción del problema técnico de un cliente para entender qué pasó con el cliente o para entender qué tan cerca está de dejar el servicio. Para imágenes médicas, podemos medir qué tan buena es una imagen para clasificar una cierta forma de cáncer (lo que puede depender de condiciones de iluminación, artefactos específicos del dominio, etc.).
El primer paso tiene un modelo que puede estimar la probabilidad de que esa muestra pertenezca a una cierta clase (modelo discriminativo) o un modelo de regresión que estime una salida continua.
Luego podemos calcular el error asociado con esa estimación con la métrica de interés. Por ejemplo, como en una tarea de clasificación o mediante el error absoluto/error cuadrado en una tarea de regresión. Podemos tener un error asociado con cada instancia guardando las predicciones out-of-fold.
Luego necesitamos un segundo modelo que intente predecir el error utilizando la muestra como entrada para estimar automáticamente la calidad de la muestra.
Las muestras con mayor error como salida del segundo modelo tendrán menor calidad, y por lo tanto serán más propensas a tener un rendimiento peor como salida del primer modelo.
Calidad de Imagen en Fashion-MNIST
Fashion-MNIST es un conjunto de datos de 60k imágenes en escala de grises de 28×28 píxeles de 10 categorías de moda, junto con un conjunto de prueba de 10,000 imágenes, disponible en los conjuntos de datos de Keras. Elegimos dos clases para ilustrar nuestro enfoque para la estimación de calidad (camiseta/prenda superior vs pantalones). ¿Cómo podemos estimar la calidad de este problema de clasificación binaria?
Inicialmente, se concatenaron tanto los splits de entrenamiento como de prueba, ya que tenemos la intención de calcular errores out-of-fold.
Para simplificar, introdujimos un zoom aleatorio con un factor de escala que se puede manipular para simular la agresividad de nuestro enfoque (en este caso, se utilizó un rango de 0.5-0.9 del ImageDataGenerator de Keras). Cuanto mayor sea el factor de escala, más perturbada puede estar la imagen. Con factores de escala demasiado bajos, la imagen podría no haber cambiado en absoluto. Por otro lado, si el factor de escala es demasiado alto, las imágenes pierden su significado. Sin embargo, no necesitas aplicar aumento de datos en un entorno real. En su lugar, puedes simplemente usar tus imágenes originales con variaciones de calidad como entrada.
A continuación se muestran 8 imágenes elegidas al azar antes y después de agregar ruido.
Modelo 1: Clasificación de muestras
Utilizamos una CNN estándar de tipo VGG para clasificar las muestras.
El error de muestra out-of-fold se calculó utilizando validación cruzada de 5 pliegues.
La siguiente figura muestra la estimación de densidad kernel del error del modelo. Se puede ver que el modelo logró obtener un error bajo en la mayoría de las muestras, ya que se trata de un problema de clasificación binaria que utiliza un conjunto de datos relativamente simple, pero hay algunas muestras con error alto.
Modelo 2: Estimación del error de muestra
Intentamos crear un modelo que pudiera calcular el error de muestra a partir de los errores out-of-fold. Las muestras out-of-fold se dividieron aleatoriamente en 30% prueba y 70% entrenamiento, y se aplicó una arquitectura similar, con activación sigmoid y pérdida de entropía cruzada binaria. No se utilizó MSE ya que la entropía cruzada binaria resultó tener una mejor convergencia, y nuestra salida está entre 0 y 1.
El Rango de Spearman fue del 44%, mostrando que podemos estimar adecuadamente el error de clasificación y su monotonicidad teniendo solo una imagen.
A continuación se muestran las imágenes que el modelo consideró de peor calidad (mayor error estimado).
Se puede ver que se trata de imágenes con malas condiciones de adquisición y formas engañosas. Incluso el ojo humano tiene dificultades para distinguir ambas clases (prenda superior/pantalones vs pantalones) en algunas de las imágenes.
A continuación se muestran las imágenes que el modelo consideró de mejor calidad (menor error estimado). Tenga en cuenta que como se trata de un problema de regresión desequilibrado, la mayoría de las imágenes tendrán bajo error y el ejemplo que se muestra a continuación no es totalmente representativo de todos los ejemplos de "buena calidad".
Las imágenes de mayor calidad (camisetas) son las que siguen un "protocolo de adquisición de imagen" estándar y siguen patrones generales de imagen.
Luego realizamos otro experimento eliminando las imágenes con aumento de datos artificial y reentrenando todo el proceso. En este nuevo proceso, las imágenes con mayor error son las siguientes:
Una vez más, las imágenes de menor calidad mostraron un comportamiento similar al del ejemplo anterior. Por otro lado, las imágenes con menor error son las siguientes:
Estas imágenes también son muy similares a las presentadas a continuación. El modelo logró ignorar los patrones de los dibujos de las camisetas y asumió que la calidad era buena si la forma visible seguía los "estándares" de imágenes de bajo error del conjunto de entrenamiento.
Discusión
Hemos creado un enfoque independiente de dominio para estimar el error de muestra en problemas de clasificación sin depender de anotaciones humanas subjetivas.
En la literatura se presentaron previamente tres enfoques: supervisado, no supervisado y específico del dominio. Podemos enmarcar nuestro enfoque como débilmente supervisado ya que tenemos un proxy de etiquetas de calidad y los errores en la tarea misma.
Si bien el enfoque propuesto tiene la ventaja principal de no requerir etiquetas humanas, tiene algunas desventajas. En algunos casos, podemos tener un error bajo, lo que puede llevar al modelo a pensar que una imagen de mala calidad tiene alta calidad o viceversa. Algunos casos en los que esto puede ocurrir son:
- Etiquetas de clase de baja calidad
- Áreas de baja densidad (es decir, tipos de imágenes menos frecuentes) que el modelo no pudo aprender correctamente
- Casos que son difíciles de aprender y podrían tener problemas en el futuro (como imágenes visualmente degradadas), pero el modelo fue lo suficientemente bueno para discriminarlas de la otra clase.
Existen enfoques alternativos para medir la calidad que no se describen aquí.
Como no se trata de un modelo generativo, no podemos resolver el problema de posiblemente tener error alto en áreas de baja densidad con datos de buena calidad ya que no sabemos si estamos en tales áreas. Podemos emparejar nuestro modelo actual con otro modelo generativo o pensar en una arquitectura diferente.
Utilizando modelos generativos, podemos enmarcar la evaluación de calidad como un problema de detección de anomalías. Por ejemplo, asumiendo que el conjunto de datos tiene pocas muestras de mala calidad, podemos aprender su distribución. Cuanto menor sea la densidad de nuevas muestras, peor será su calidad (o más no conforme será).
Referencias
- Fernandes, Kelwin, Jaime S. Cardoso, and Jessica Fernandes. "Transfer learning with partial observability applied to cervical cancer screening." Iberian conference on pattern recognition and image analysis. Springer, Cham, 2017.
- Po, L. M., Liu, M., Yuen, W. Y., Li, Y., Xu, X., Zhou, C., … & Luk, H. T. (2019). A Novel Patch Variance Biased Convolutional Neural Network for No-Reference Image Quality Assessment. IEEE Transactions on Circuits and Systems for Video Technology, 29(4), 1223-1229.
- D. Temel and G. AlRegib, Perceptual image quality assessment through spectral analysis of error representations, Signal Processing: Image Communication, Volume 70, 2019, Pages 37-46,ISSN 0923-5965
- Chen, M., & He, Y. (2017). Exploration on Automated Software Requirement Document Readability Approaches.
- Costa, P., Galdran, A., Meyer, M. I., Abràmoff, M. D., Niemeijer, M., Mendonça, A. M., & Campilho, A. (2017). Towards adversarial retinal image synthesis. arXiv preprint arXiv:1701.08974.
