Métricas para evaluar la moderación de contenido en Amazon Rekognition y otros servicios de moderación de contenido PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Métricas para evaluar la moderación de contenido en Amazon Rekognition y otros servicios de moderación de contenido

La moderación de contenido es el proceso de selección y monitoreo de contenido generado por el usuario en línea. Para proporcionar un entorno seguro tanto para los usuarios como para las marcas, las plataformas deben moderar el contenido para garantizar que se ajuste a las pautas preestablecidas de comportamiento aceptable que son específicas para la plataforma y su audiencia.

Cuando una plataforma modera el contenido, se puede crear y compartir contenido aceptable generado por el usuario (UGC) con otros usuarios. Los comportamientos inapropiados, tóxicos o prohibidos se pueden prevenir, bloquear en tiempo real o eliminar después del hecho, según las herramientas y los procedimientos de moderación de contenido que tenga la plataforma.

Puedes usar Moderación de contenido de Amazon Rekognition para detectar contenido inapropiado, no deseado u ofensivo, para crear una experiencia de usuario más segura, brindar garantías de seguridad de marca a los anunciantes y cumplir con las regulaciones locales y globales.

En esta publicación, discutimos los elementos clave necesarios para evaluar el aspecto de rendimiento de un servicio de moderación de contenido en términos de varias métricas de precisión y proporcionamos un ejemplo con Amazon Rekognition. API de moderación de contenido.

que evaluar

Al evaluar un servicio de moderación de contenido, recomendamos los siguientes pasos.

Antes de poder evaluar el rendimiento de la API en sus casos de uso, debe preparar un conjunto de datos de prueba representativo. Las siguientes son algunas pautas de alto nivel:

  • Colecciones – Tome una muestra aleatoria lo suficientemente grande (imágenes o videos) de los datos que eventualmente desea ejecutar a través de Amazon Rekognition. Por ejemplo, si planea moderar las imágenes cargadas por los usuarios, puede tomar las imágenes de los usuarios de una semana para la prueba. Recomendamos elegir un conjunto que tenga suficientes imágenes sin que sea demasiado grande para procesar (por ejemplo, de 1,000 a 10,000 XNUMX imágenes), aunque los conjuntos más grandes son mejores.
  • Definición – Use las pautas de contenido de su aplicación para decidir qué tipos de contenido no seguro le interesa detectar de Amazon Rekognition moderación conceptos taxonomía. Por ejemplo, puede interesarle detectar todo tipo de desnudez explícita y violencia gráfica o gore.
  • Anotación – Ahora necesita una verdad de campo generada por humanos para su conjunto de prueba utilizando las etiquetas elegidas, para que pueda comparar las predicciones de la máquina con ellas. Esto significa que cada imagen está anotada por la presencia o ausencia de los conceptos elegidos. Para anotar los datos de su imagen, puede usar Verdad fundamental de Amazon SageMaker (GT) para administrar la anotación de imágenes. Puedes referirte a GT para el etiquetado de imágenes, consolidación de anotaciones y salida de anotación de procesamiento.

Obtenga predicciones sobre su conjunto de datos de prueba con Amazon Rekognition

A continuación, desea obtener predicciones sobre su conjunto de datos de prueba.

El primer paso es decidir una puntuación de confianza mínima (un valor de umbral, como el 50 %) en el que desea medir los resultados. Nuestro umbral predeterminado se establece en 50, lo que ofrece un buen equilibrio entre la recuperación de grandes cantidades de contenido no seguro sin incurrir en demasiadas predicciones falsas sobre el contenido seguro. Sin embargo, su plataforma puede tener diferentes necesidades comerciales, por lo que debe personalizar este umbral de confianza según sea necesario. Puedes usar el MinConfidence parámetro en sus solicitudes de API para equilibrar la detección de contenido (recuperación) frente a la exactitud de la detección (precisión). si reduce MinConfidence, es probable que detecte la mayor parte del contenido inapropiado, pero también es probable que seleccione contenido que en realidad no es inapropiado. si aumentas MinConfidence es probable que se asegure de que todo el contenido detectado sea verdaderamente inapropiado, pero es posible que parte del contenido no esté etiquetado. Sugerimos experimentar con algunos MinConfidence valores en su conjunto de datos y seleccione cuantitativamente el mejor valor para su dominio de datos.

Luego, ejecute cada muestra (imagen o video) de su conjunto de prueba a través de la API de moderación de Amazon Rekognition (DetectModerationLabelsDetectModerationLabels).

Medir la precisión del modelo en las imágenes

Puede evaluar la precisión de un modelo comparando las anotaciones de datos reales generados por humanos con las predicciones del modelo. Repite esta comparación para cada imagen de forma independiente y luego agrega todo el conjunto de prueba:

  • Resultados por imagen – Una predicción del modelo se define como el par {label_name, confidence_score} (donde la puntuación de confianza >= el umbral que seleccionó anteriormente). Para cada imagen, una predicción se considera correcta cuando coincide con la verdad del terreno (GT). Una predicción es una de las siguientes opciones:
    • Verdadero Positivo (TP): tanto la predicción como GT son "inseguros"
    • Verdadero Negativo (TN): tanto la predicción como GT son "seguros"
    • falso positivo (FP): la predicción dice "inseguro", pero el GT es "seguro"
    • Falso Negativo (FN): la predicción es "segura", pero el GT es "inseguro"
  • Resultados agregados sobre todas las imágenes – A continuación, puede agregar estas predicciones en resultados a nivel de conjunto de datos:
    • Tasa de falsos positivos (FPR) – Este es el porcentaje de imágenes en el conjunto de prueba que el modelo marca incorrectamente como contenido no seguro: (FP): FP / (TN+FP).
    • Tasa de falsos negativos (FNR) – Este es el porcentaje de imágenes no seguras en el conjunto de prueba que el modelo no detecta: (FN): FN / (FN+TP).
    • Tasa de verdaderos positivos (TPR) – También llamada recuperación, calcula el porcentaje de contenido inseguro (verdad fundamental) que el modelo descubre o predice correctamente: TP / (TP + FN) = 1 – FNR.
    • Precisión – Calcula el porcentaje de predicciones correctas (contenido no seguro) respecto al total de predicciones realizadas: TP / (TP+FP).

Exploremos un ejemplo. Supongamos que su conjunto de prueba contiene 10,000 9,950 imágenes: 50 9,800 seguras y 9,950 inseguras. El modelo predice correctamente 45 de 50 imágenes como seguras y XNUMX de XNUMX como inseguras:

  • TP = 45
  • TN = 9800
  • FP = 9950 - 9800 = 150
  • FN = 50 - 45 = 5
  • FPR = 150 / (9950 + 150) = 0.015 = 1.5%
  • FNR = 5 / (5 + 45) = 0.1 = 10%
  • TPR/recuperación = 45 / (45 + 5) = 0.9 = 90%
  • Precisión = 45 / (45 + 150) = 0.23 = 23%

Medir la precisión del modelo en videos

Si desea evaluar el rendimiento de los videos, son necesarios algunos pasos adicionales:

  1. Muestra un subconjunto de cuadros de cada video. Sugerimos muestrear uniformemente con una tasa de 0.3 a 1 fotogramas por segundo (fps). Por ejemplo, si un video está codificado a 24 fps y desea muestrear un cuadro cada 3 segundos (0.3 fps), debe seleccionar uno cada 72 cuadros.
  2. Ejecute estos marcos de muestra a través de la moderación de contenido de Amazon Rekognition. Puede usar nuestra API de video, que ya muestra fotogramas por usted (a una velocidad de 3 fps), o usar la API de imagen, en cuyo caso desea muestrear menos. Recomendamos esta última opción, dada la redundancia de información en los videos (los fotogramas consecutivos son muy similares).
  3. Calcule los resultados por cuadro como se explica en la sección anterior (resultados por imagen).
  4. Resultados agregados de todo el conjunto de pruebas. Aquí tienes dos opciones, dependiendo del tipo de resultado que importa para tu negocio:
    1. Resultados a nivel de fotograma – Esto considera todos los cuadros muestreados como imágenes independientes y agrega los resultados exactamente como se explicó anteriormente para las imágenes (FPR, FNR, recuperación, precisión). Si algunos videos son considerablemente más largos que otros, contribuirán con más fotogramas al recuento total, lo que hará que la comparación sea desequilibrada. En ese caso, sugerimos cambiar la estrategia de muestreo inicial a un número fijo de cuadros por video. Por ejemplo, podría muestrear uniformemente de 50 a 100 fotogramas por video (suponiendo que los videos tengan una duración mínima de 2 a 3 minutos).
    2. Resultados a nivel de video – Para algunos casos de uso, no importa si el modelo es capaz de predecir correctamente el 50 % o el 99 % de los fotogramas de un vídeo. Incluso una sola predicción insegura incorrecta en un solo cuadro podría desencadenar una evaluación humana posterior y solo los videos con predicciones 100% correctas se consideran realmente correctos. Si este es su caso de uso, le sugerimos que calcule FPR/FNR/TPR sobre los cuadros de cada video y considere el video de la siguiente manera:
ID de video Exactitud Categorización por video
Resultados agregados sobre todos los marcos de ID de video

PF totales = 0

FN totales = 0

predicciones perfectas
. FP totales > 0 Falso positivo (FP)
. FN totales > 0 Falso Negativo (FN)

Después de haber calculado estos para cada video de forma independiente, puede calcular todas las métricas que presentamos anteriormente:

  • El porcentaje de videos que están mal marcados (FP) o perdidos (FN)
  • Precisión y recuerdo

Medir el rendimiento contra los objetivos

Finalmente, debe interpretar estos resultados en el contexto de sus objetivos y capacidades.

Primero, considere las necesidades de su negocio con respecto a lo siguiente:

  • Datos – Obtenga información sobre sus datos (volumen diario, tipo de datos, etc.) y la distribución de su contenido inseguro frente a seguro. Por ejemplo, ¿está equilibrado (50/50), sesgado (10/90) o muy sesgado (1/99, lo que significa que solo el 1 % no es seguro)? Comprender dicha distribución puede ayudarlo a definir sus objetivos métricos reales. Por ejemplo, la cantidad de contenido seguro suele ser un orden de magnitud mayor que el contenido no seguro (muy sesgado), lo que hace que esto sea casi un problema de detección de anomalías. Dentro de este escenario, la cantidad de falsos positivos puede superar la cantidad de verdaderos positivos, y puede usar la información de sus datos (asimetría de distribución, volumen de datos, etc.) para decidir el FPR con el que puede trabajar.
  • Metas métricas – ¿Cuáles son los aspectos más críticos de su negocio? Reducir el FPR a menudo tiene el costo de un FNR más alto (y viceversa) y es importante encontrar el equilibrio adecuado que funcione para usted. Si no puede perderse ningún contenido no seguro, es probable que desee acercarse al 0 % de FNR (recuperación del 100 %). Sin embargo, esto generará la mayor cantidad de falsos positivos, y debe decidir el FPR objetivo (máximo) con el que puede trabajar, en función de su canalización posterior a la predicción. Es posible que desee permitir cierto nivel de falsos negativos para poder encontrar un mejor equilibrio y reducir su FPR: por ejemplo, aceptar un FNR del 5 % en lugar del 0 % podría reducir el FPR del 2 % al 0.5 %, reduciendo considerablemente el número de contenidos marcados.

A continuación, pregúntese qué mecanismos utilizará para analizar las imágenes marcadas. Aunque es posible que las API no proporcionen 0 % de FPR y FNR, aún pueden generar grandes ahorros y escala (por ejemplo, al marcar solo el 3 % de sus imágenes, ya ha filtrado el 97 % de su contenido). Cuando combina la API con algunos mecanismos posteriores, como una fuerza laboral humana que revisa el contenido marcado, puede alcanzar fácilmente sus objetivos (por ejemplo, 0.5% de contenido marcado). Tenga en cuenta cómo este emparejamiento es considerablemente más barato que tener que hacer una revisión humana del 100% de su contenido.

Cuando haya decidido sus mecanismos de flujo descendente, le sugerimos que evalúe el rendimiento que puede admitir. Por ejemplo, si tiene una fuerza laboral que solo puede verificar el 2 % de su contenido diario, entonces su objetivo de nuestra API de moderación de contenido es una tasa de marca (FPR+TPR) del 2 %.

Por último, si obtener anotaciones reales en el terreno es demasiado difícil o costoso (por ejemplo, su volumen de datos es demasiado grande), le sugerimos que anote la pequeña cantidad de imágenes marcadas por la API. Aunque esto no permite evaluaciones de FNR (porque sus datos no contienen falsos negativos), aún puede medir TPR y FPR.

En la siguiente sección, proporcionamos una solución para la evaluación de la moderación de imágenes. Puede adoptar un enfoque similar para la evaluación de la moderación de video.

Resumen de la solución

El siguiente diagrama ilustra los diversos servicios de AWS que puede utilizar para evaluar el rendimiento de la moderación de contenido de Amazon Rekognition en su conjunto de datos de prueba.

La evaluación de moderación de contenido tiene los siguientes pasos:

  1. Cargue su conjunto de datos de evaluación en Servicio de almacenamiento simple de Amazon (Amazon S3).
  2. Use Ground Truth para asignar etiquetas de moderación de Ground Truth.
  3. Genere las etiquetas de moderación pronosticadas mediante la API de moderación entrenada previamente de Amazon Rekognition utilizando algunos valores de umbral. (Por ejemplo, 70%, 75% y 80%).
  4. Evalúe el rendimiento de cada umbral calculando los verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos. Determine el valor de umbral óptimo para su caso de uso.
  5. Opcionalmente, puede adaptar el tamaño de la fuerza laboral en función de los positivos verdaderos y falsos, y usar IA aumentada de Amazon (Amazon A2I) para enviar automáticamente todo el contenido marcado a su fuerza laboral designada para una revisión manual.

Las siguientes secciones proporcionan los fragmentos de código para los pasos 1, 2 y 3. Para obtener el código fuente completo de un extremo a otro, consulte el Cuaderno Jupyter.

Requisitos previos

Antes de comenzar, complete los siguientes pasos para configurar el cuaderno Jupyter:

  1. Crear una instancia de cuaderno in Amazon SageMaker.
  2. Cuando el cuaderno está activo, elija Jupyter abierto.
  3. En el panel de Jupyter, elija Nuevo, y elige terminal.
  4. En la terminal, ingrese el siguiente código:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Abra el cuaderno de esta publicación: content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Sube tu conjunto de datos de evaluación a Servicio de almacenamiento simple de Amazon (Amazon S3).

Ahora seguiremos los pasos del 2 al 4 en el cuaderno de Jupyter.

Use Ground Truth para asignar etiquetas de moderación

Para asignar etiquetas en Ground Truth, complete los siguientes pasos:

  1. Crear un archivo de entrada de manifiesto para su trabajo de Ground Truth y cárguelo en Amazon S3.
  2. Cree la configuración de etiquetado, que contiene todas las etiquetas de moderación necesarias para el trabajo de etiquetado de Ground Truth. Para verificar el límite de la cantidad de categorías de etiquetas que puede usar, consulte Cuotas de categoría de etiqueta. En el siguiente fragmento de código, usamos cinco etiquetas (consulte el taxonomía jerárquica utilizada en Amazon Rekognition para más detalles) más una etiqueta (Safe_Content) que marca el contenido como seguro:
    # customize CLASS_LIST to include all labels that can be used to classify sameple data, it's up to 10 labels
    # In order to easily match image label with content moderation service supported taxonomy, 
    
    CLASS_LIST = ["

  3. Cree una plantilla de tarea de trabajador personalizada para proporcionar a la fuerza laboral de Ground Truth instrucciones de etiquetado y cárguela en Amazon S3.
    El trabajo de etiqueta de Ground Truth se define como una tarea de clasificación de imágenes (etiqueta múltiple). Consulte el código fuente para obtener instrucciones para personalizar la plantilla de instrucciones.
  4. Decida qué fuerza de trabajo desea utilizar para completar el trabajo de Ground Truth. Tiene dos opciones (consulte el código fuente para obtener más detalles):
    1. Utilizar mano de obra privada en su propia organización para etiquetar el conjunto de datos de evaluación.
    2. Utilizar mano de obra publica para etiquetar el conjunto de datos de evaluación.
  5. Cree y envíe un trabajo de etiquetado de Ground Truth. También puede ajustar el siguiente código para configurar el etiquetado de parámetros de trabajo para cumplir con los requisitos específicos de su negocio. Consulte el código fuente para obtener instrucciones completas sobre cómo crear y configurar el trabajo Ground Truth.
    human_task_config = {
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": acs_arn,
        },
        "PreHumanTaskLambdaArn": prehuman_arn,
        "MaxConcurrentTaskCount": 200,  # 200 images will be sent at a time to the workteam.
        "NumberOfHumanWorkersPerDataObject": 3,  # 3 separate workers will be required to label each image.
        "TaskAvailabilityLifetimeInSeconds": 21600,  # Your workteam has 6 hours to complete all pending tasks.
        "TaskDescription": task_description,
        "TaskKeywords": task_keywords,
        "TaskTimeLimitInSeconds": 180,  # Each image must be labeled within 3 minutes.
        "TaskTitle": task_title,
        "UiConfig": {
            "UiTemplateS3Uri": "s3://{}/{}/instructions.template".format(BUCKET, EXP_NAME),
        },
    }

Después de enviar el trabajo, debería ver un resultado similar al siguiente:

Labeling job name is: ground-truth-cm-1662738403

Espere a que el trabajo de etiquetado en el conjunto de datos de evaluación se complete correctamente, luego continúe con el próximo paso.

Utilice la API de moderación de Amazon Rekognition para generar etiquetas de moderación previstas.

El siguiente fragmento de código muestra cómo usar Amazon Rekognition API de moderación para generar etiquetas de moderación:

client=boto3.client('rekognition')
def moderate_image(photo, bucket):
    response = client.detect_moderation_labels(Image={'S3Object':{'Bucket':bucket,'Name':photo}})
    return len(response['ModerationLabels'])

Evaluar el desempeño

Primero recuperó las etiquetas de moderación de Ground Truth de los resultados del trabajo de etiquetado de Ground Truth para el conjunto de datos de evaluación, luego ejecutó la API de moderación de Amazon Rekognition para obtener las etiquetas de moderación previstas para el mismo conjunto de datos. Debido a que se trata de un problema de clasificación binaria (contenido seguro frente a inseguro), calculamos las siguientes métricas (suponiendo que el contenido inseguro es positivo):

También calculamos las métricas de evaluación correspondientes:

El siguiente fragmento de código muestra cómo calcular esas métricas:

FPR = FP / (FP + TN)
FNR = FN / (FN + TP)
Recall = TP / (TP + FN)
Precision = TP / (TP + FP)

Conclusión

Esta publicación analiza los elementos clave necesarios para evaluar el aspecto de rendimiento de su servicio de moderación de contenido en términos de varias métricas de precisión. Sin embargo, la precisión es solo una de las muchas dimensiones que debe evaluar al elegir un servicio de moderación de contenido en particular. Es fundamental que incluya otros parámetros, como el conjunto total de funciones del servicio, la facilidad de uso, las integraciones existentes, la privacidad y la seguridad, las opciones de personalización, las implicaciones de escalabilidad, el servicio al cliente y los precios. Para obtener más información sobre la moderación de contenido en Amazon Rekognition, visite Moderación de contenido de Amazon Rekognition.


Sobre los autores

Métricas para evaluar la moderación de contenido en Amazon Rekognition y otros servicios de moderación de contenido PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Amit Gupta es arquitecto sénior de soluciones de servicios de IA en AWS. Le apasiona brindar a los clientes soluciones de aprendizaje automático bien diseñadas a escala.

Métricas para evaluar la moderación de contenido en Amazon Rekognition y otros servicios de moderación de contenido PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.David Modolo es Gerente de Ciencias Aplicadas en AWS AI Labs. Tiene un doctorado en visión artificial de la Universidad de Edimburgo (Reino Unido) y le apasiona desarrollar nuevas soluciones científicas para los problemas de los clientes del mundo real. Fuera del trabajo, le gusta viajar y practicar cualquier tipo de deporte, especialmente el fútbol.

Métricas para evaluar la moderación de contenido en Amazon Rekognition y otros servicios de moderación de contenido PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.jianwu es arquitecto sénior de soluciones empresariales en AWS. Ha estado en AWS durante 6 años trabajando con clientes de todos los tamaños. Le apasiona ayudar a los clientes a innovar más rápido mediante la adopción de la nube y AI/ML. Antes de unirse a AWS, Jian pasó más de 10 años enfocándose en el desarrollo de software, la implementación de sistemas y la administración de infraestructura. Además del trabajo, disfruta mantenerse activo y pasar tiempo con su familia.

Sello de tiempo:

Mas de Aprendizaje automático de AWS