Cómo manejar los valores atípicos y el ruido de etiquetas al entrenar una red neuronal profunda

La sugerencia de Ian Goodfellow de suavizar etiquetas es en realidad muy práctica y teóricamente fundada. Si la verdadera etiqueta de clase era 1, enseña convicción; sin embargo, una etiqueta suavizada de 0.9 o más se dirige suavemente hacia la verdad fundamental creída y es más fácil de recuperar si se etiqueta falsamente.

Por otro lado, un estudio de Google Brain titulado ” Quién dijo qué: modelar etiquetadoras individuales mejora la clasificación ” trata exactamente este tipo de situación. Prueban si un clasificador MNIST se ajustará si las etiquetas están dañadas aleatoriamente por un porcentaje. Observan que se produce una pérdida de validación catastrófica (riesgo real aproximado) si el% 80 de los datos está mal etiquetado. Sin embargo, sorprendentemente muestran que incluso cuando la mitad de las etiquetas están dañadas, el modelo realiza más del 90% con precisión en el conjunto de validación. Esto muestra que las redes pueden pasar por alto los datos de la etiqueta cuando tienen motivos para hacerlo.

El objetivo principal de este estudio fue modelar a cada clínico que contribuyó a un diagnóstico (por ejemplo, etiqueta de clase para una imagen médica) y aprender cada modelo clínico por separado (tener tantas capas de salida de softmax como médicos) solo para colapsar sus predicciones en tiempo de prueba (denominado DoctorNet). La práctica habitual en el etiquetado de datos médicos es el voto mayoritario después de un etiquetado ciego de varios médicos (el voto mayoritario colapsa los datos incluso antes de la capacitación y posiblemente pierde información valiosa) o la resolución de disputas entre los médicos que causó la discrepancia en la etiqueta de datos en primer lugar ( en lugar de votar, esto es muy costoso y solo se hace para mantener el conjunto de pruebas para una precisión absoluta). El último induce una mayor confianza en las etiquetas donde el primero es más barato y funciona como un conjunto implícito (¿impulsar?).

Si tiene fuentes separadas de etiquetas de datos, puede considerar este esquema.

El estudio mencionado: https://arxiv.org/pdf/1703.08774…

  • Entrene con el suavizado de etiquetas. Consulte “Repensar la arquitectura de inicio”. Esto es como incorporar un previo que hay ruido de etiqueta.
  • Inspeccione manualmente los ejemplos de entrenamiento que tienen la mayor pérdida. Por lo general, no son valores atípicos per se, sino ejemplos que se preprocesaron mal de alguna manera, por lo que puede corregir un gran número de ejemplos mejorando su canalización de preprocesamiento.

Para mí, la calidad del conjunto de entrenamiento es una de las partes más importantes para construir un buen modelo con Machine Learning (ML).

No es razonable esperar que un algoritmo aprenda algo de la nada . Tampoco es útil esperar que ML mejore sus capacidades dándole más ejemplos de conjuntos de entrenamiento que ya “entiende”. Es particularmente absurdo esperar que ML aprenda la respuesta correcta de un ejemplo incorrecto.

Es difícil para cualquier técnica de ML “desvelar” una mala etiqueta. En mi experiencia, probablemente se necesitan entre 5 y 10 buenos ejemplos de conjuntos de entrenamiento para deshacer los efectos de una mala etiqueta. ¡Así que arreglar una mala etiqueta es como obtener 9 buenos ejemplos de conjunto de entrenamiento gratis!

En mi humilde opinión, los valores atípicos no deben ser ignorados. Necesitan ser investigados. Si la etiqueta es mala, debe ser reparada. Si la etiqueta es buena, entonces encontrar ejemplos adicionales de conjuntos de entrenamiento es similar pero no lo mismo ayudará a concretar esa parte del conjunto de entrenamiento. Si los datos subyacentes son simplemente incorrectos, tírelos del conjunto de entrenamiento

Otra área donde mi enfoque es diferente, es con casos límite. En mi humilde opinión, si no puede decidir sobre una etiqueta, debe eliminar el ejemplo del conjunto de entrenamiento. Esto se debe a que si es realmente confuso para usted pero lo coloca en el conjunto de entrenamiento de todos modos, le está dando al ML una información “falsa” sobre dónde está realmente la superficie de decisión.

Por otro lado, me encanta explorar el espacio donde ML se “confunde” donde el modelo ha dado una clasificación en el rango de 0.4 a 0.6. Miro estas partes del conjunto de entrenamiento o incluso mejores datos nuevos en los que el clasificador tiene problemas para decidir. En otras palabras, si los datos pertenecen claramente a una clase u otra, intento encontrar más ejemplos de conjuntos de entrenamiento que sean similares y etiquetarlos correctamente. Para las redes no neuronales (NN), miro estos casos extraños hasta que se me ocurre una nueva característica adicional y luego escribo un código para extraer esa característica y agregarla al sistema. Desafortunadamente con los sistemas NN, los datos son a menudo demasiado complejos para que yo pueda verlos.

Todo esto, no es diferente a desmalezar un jardín. Es un trabajo minucioso, pero ningún algoritmo inteligente de ML puede superar los datos erróneos.

Espero que eso ayude.

En el caso de las redes neuronales, la clasificación es solo una regresión con una interpretación especial. Las técnicas de regresión generalmente se pueden adaptar para la clasificación.

En particular, podría considerar una función de pérdida más robusta. Sí, la entropía cruzada es teóricamente óptima, pero esa teoría tiene ciertos supuestos que en realidad no se cumplen en la práctica. Uno de esos supuestos son las etiquetas precisas.

Más allá de eso, también puede buscar valores atípicos claros (alta pérdida) después del entrenamiento inicial e inspeccionarlos. Incluso podría tomar todas las observaciones de una clase determinada y visualizar una proyección en 3D de una capa interna de la red. Tal vez incluso intente algunos grupos semi-supervisados.

Puedes consultar estos papeles,

Hacer que las redes neuronales sean robustas para etiquetar el ruido: un enfoque de corrección de pérdidas

Funciones de pérdida robusta bajo ruido de etiqueta para redes neuronales profundas.

Entrenamiento de redes neuronales profundas en etiquetas ruidosas con bootstrapping

¡Espero que ayude!

More Interesting

¿Quora intenta convertirse en un motor de conocimiento de inteligencia artificial como la próxima evolución de un motor de búsqueda?

¿Amazon Echo tendrá un efecto en la dinámica familiar y las conversaciones? ¿Cómo podrían cambiar esas dinámicas con Echo en la habitación?

¿Cuáles son algunos métodos para etiquetar datos de entrenamiento para una red neuronal?

¿Qué campo es bueno para los estudiantes de electrónica y comunicación, aprendizaje automático o inteligencia artificial?

¿Puede el aprendizaje automático ayudar a las computadoras a aprender como los humanos a partir de los datos de los MOOC?

¿Cuántos años hasta que los programadores sean reemplazados por IA?

¿Alguien puede sugerir proyectos creativos u orientados a la investigación utilizando inteligencia artificial?

¿Cuáles son las diferencias funcionales entre un procesador de computadora diseñado para IA (por ejemplo, Tensor / TPU) y un procesador ordinario (CPU) o GPU?

¿Qué relevancia tiene la investigación sobre la estructura fisiológica y la función de los sistemas biológicos para la ingeniería de los programas de IA?

¿Lloyd Pye aborda el hecho de que una civilización avanzada podría extraer su propio oro sin esclavos utilizando Ai y equipos industriales?

¿Qué es ros?

¿Serán los robots más inteligentes que los humanos?

¿Qué trabajos profesionales tienen más riesgo de ser reemplazados por IA?

¿La IA es parte de la robótica o la robótica es parte de la IA?

¿La entrada de texto de reconocimiento de voz requiere IA?