spinner

Contenido Sintético (parte I): generación y detección de audio y texto

Las Fake News, noticias creadas o modificadas con el fin de engañar son un problema muy presente en la sociedad hoy en día. En el presente artículo, se expondrán las claves para protegerse frente a este contenido y evitar así ser nosotros las victimas. 

El contenido sintético es una nueva y apasionante área de investigación que ha experimentado grandes avances en los últimos tiempos. Este campo tiene el potencial de revolucionar completamente la forma en que creamos y consumimos contenido. Desde el laboratorio de seguridad de BBVA Next Technologies se han estado investigando los usos que pueden surgir a la hora de utilizar este tipo de técnicas y se describirán a lo largo de esta serie de artículos.

Tipos de contenido sintético.

Introducción

Cuando nos refiramos a contenido sintético se entenderá en el contexto de contenido multimedia (audio, texto, imagen y vídeo) que es posible crear con tecnologías de machine learning lo más realistas posibles, pudiendo llegar a ser indistinguibles por un ser humano.

Este proceso puede llevar a una gran automatización a la hora de generar contenido en revistas, periódicos, programas de televisión y un largo conjunto de entornos que se ven beneficiados. Sin embargo, existe un lado negativo, como puede ser la proliferación de las conocidas fake news cada vez más difíciles de distinguir.

Por lo tanto, en un mundo tan conectado y con esa ingente maquinaria para generar información, es necesario conocer qué sistemas están a la vanguardia en la creación de este contenido y también qué muros se están creando para poder frenar y detectar cuándo un contenido está creado por máquinas y cuándo por personas.

Evolución del contenido hasta el contenido sintético. Fuente: Victor Riparbelli

Durante los siguientes artículos se irán desgranando por tipo de contenido multimedia los sistemas y herramientas más novedosos en este tema. En este post describiremos la generación y detección de audio y texto y, en los siguientes, la generación y detección de imagen y vídeo.

Generación y detección de audio sintético

Uno de los casos más famosos de suplantación de identidad moderno es la estafa del CEO, donde se realiza una llamada suplantando la identidad de este cargo para lograr engañar a otros empleados de distintos departamentos de la organización como, por ejemplo, el departamento financiero para que se aprueben pagos o transacciones fraudulentas a los atacantes. Este caso, siempre se había visto más rudimentario, grabando la voz de la víctima y después reproducirlo en otro contexto, pero como se verá, se han desarrollado métodos más sofisticados para lograr crear voz sintética lo más realista posible.

Generación de audio sintético

Para lograr tener una voz sintética, uno de los sistemas más conocidos y famosos es Lyrebird, el cual asegura que una vez realizadas una serie de grabaciones en la plataforma es capaz de replicar tu voz. Esta compañía se unió hace unos meses con Descript dando un servicio más completo para poder realizar cambios en un audio, siendo útil para entrevistas evitando tener que volver a realizarlas. Tienen como ejemplos audios creados de Obama o Trump.

El problema de este sistema es que no está libre el código y simplemente puedes utilizar su demo para probar el sistema. Si queremos desarrollar nuestra propio clonador de voz, la herramienta más estable por la que se puede empezar es Real-Time-Voice-Cloning, que aseguran que con simplemente 5 segundos de audio son capaces de clonar una voz con una alta calidad. Esta herramienta está basada en la implementación del trabajo SV2TTS. El SV2TTS es un marco de deep learning de tres etapas que permite crear una representación numérica de una voz a partir de unos pocos segundos de audio, y utilizarla para condicionar un modelo de texto a voz entrenado para generalizar a nuevas voces. Para lograr entrenar cada una de las partes (encoder, vocoder y synthesizer) se han utilizado como fuentes de datos LibriSpeechVoxCeleb1VoxCeleb2

Interfaz gráfica del proyecto Real-Time-Voice-Cloning. Fuente: Real-Time-Voice-Cloning

Desde el laboratorio lo hemos probado y los resultados obtenidos son buenos pero tiene sus limitaciones, ya que únicamente permite clonar voces en inglés, obviando otros idiomas, y no es realista en todos los casos. Para poner este sistema a prueba, decidimos descargar un discurso de Donald Trump de 10 minutos aproximadamente y emplear distintos textos para que se clonara la voz.

Audio de Trump con calidad aceptable.

En este audio se empleó el texto “That’s one small step for man, one giant leap for mankind” y se puede comprobar que la voz generada tiene un tono similar al que emplea Donald Trump, aunque si se escucha detenidamente se puede apreciar cierto tono robótico.

Audio de Trump con mala calidad.

Si generamos la voz clonada usando un texto de Shakespeare, se puede apreciar que, en un momento determinado, la voz se queda en bucle repitiendo constantemente un texto incomprensible. Esto se puede deber a que el audio con el discurso de Trump que sirve como muestra no contiene alguna de las palabras que están en el texto de Shakespeare haciendo que el modelo sea incapaz de generalizar.

Si queremos clonar una voz en otro idioma es necesario volver a entrenar cada una de las partes que componen SV2TTS. Para ello, es necesario encontrar unas fuentes de datos en el idioma al que queramos entrenar nuestros modelos. Los repositorios de datos más conocidos son M-AILABS o el proyecto de Mozilla Voice, donde son los propios usuarios los que están creando y validando la base de datos de audio de manera colaborativa. La limitación que tiene es que aunque están validadas hay casos donde los audios están grabados con micrófonos poco profesionales y los datos no tienen la calidad suficiente para realizar el entrenamiento.

Proceso de validación de una voz en Mozilla Voice. Fuente: Mozilla

El proyecto Real Time Voice Cloning no ha tenido más continuidad porque el desarrollador principal ha creado la plataforma Resemble.ai, similar a Lyrebird, donde es necesario entrenar sus modelos subiendo grabaciones de las frases prefijadas. Además, disponen de algunas muestras de voces, tanto en inglés como en otros idiomas, incluyendo el español. La limitación que tienen estas voces es que siguen siendo bastante robóticas, y por lo tanto, fáciles de detectar.

Una de las frases para clonar una voz en Resemble.ai. Fuente: Resemble.ai

Detección de audio sintético

Entonces, ¿cómo es posible protegerse frente a este tipo de generadores de voz sintéticos? Evidentemente, la industria necesita medidas defensivas que puedan utilizar para protegerse de este tipo de ataques. Para ello, nacen iniciativas como la surgida el año pasado dentro de Interspeech, el congreso más grande y completo del mundo sobre la ciencia y la tecnología del procesamiento del lenguaje hablado. Entre muchos de sus retos, aparece ASVSpoof (Automatic Speaker Verification Spoofing and Countermeasures). En otras ediciones, trataban de detectar ataques clásicos de voz como repetir la voz grabada, pero en esta edición diversos equipos trataron de desarrollar una herramienta que permitiera verificar voces.

La herramienta con mejores resultados que se publicó fue DeepFake Audio Detection. Permite crear tu propia plataforma para detectar los audios basándose en la herramienta de este artículo. Realizando las pruebas sobre diversos audios creados en las plataformas de generación anteriormente comentadas y comparando con audios reales grabados por parte del laboratorio vemos que los resultados no son del todo consistentes. Se puede observar que los resultados obtenidos con el audio de Trump tiene un porcentaje de real de un 17%, pero si lo comparamos con uno que sí que es real es de un 45%. Por lo tanto es necesario seguir mejorando los umbrales de los modelos de clasificación.

Resultado de aplicar DeepFake Audio Detection al audio fake de Trump.

Existen por otro lado casos de éxito donde se logra clonar la voz de personajes de los que es posible encontrar gran cantidad de datos como puede ser en podcast o con cantantes. Existe también la posibilidad que se escapan del alcance de este artículo como pueden ser los relacionados con la creación de piezas musicales generadas de manera totalmente sintética o letras de canciones.

Con estos resultados, es necesario seguir trabajando en sistemas que detecten mejor las voces sintéticas y poder diferenciarlas de las reales, siempre pensando que el idioma predominante es el inglés, ya que en cualquier otro idioma siguen faltando fuentes de datos de calidad que permitan crear o clonar voces de alta calidad y por lo tanto no existe la problemática de detectarlas en español ya que no existen clonadores realistas de voz.

Generación y detección de texto

Cada vez son más frecuentes los bots que tratan de ayudarnos, atención al cliente que nos aparecen en páginas webs y otras aplicaciones similares que inicialmente fueron diseñadas para entablar conversaciones con los usuarios. ¿Qué ocurre si queremos que estos bots puedan generar textos nuevos? Para ello, se lleva trabajando los últimos años en la generación de textos sintéticos a través de la predicción de la siguiente palabra.

Evolución de modelos del lenguaje. Fuente: Microsoft

Generación de texto sintético

A nivel de parámetros, el modelo que lleva la delantera es el de Microsoft, Turing-NLG. Es un modelo basado en completar textos abiertos u oraciones no terminadas, para sistemas de respuesta o de resúmenes de texto. No es posible probarlo ya que solo está disponible para un reducido grupo de investigadores.

Desde OpenAI, han llevado la iniciativa en la creación de modelos que permitan generar textos realistas. Inicialmente en 2018 con OpenAI Transformer y en el año 2019 mejoraron el sistema añadiendo más capacidad de cómputo y más parámetros con GPT-2. Lo importante es que se liberó a la comunidad y han ido apareciendo diversas aplicaciones que lo utilizan como generador de textos, una de las más conocidas es TalkToTransform, pero también han aparecido incluso en videojuegos como AIDungeon.

Generación de un texto sobre el Señor de los anillos empleando Talk To Transformer. Fuente: Talk To Transformer

Por otro lado, existen algunas variaciones como CLTR, basada en un sistema similar al de GPT-2 pero con una dirección web de entrada y a partir del mismo se va generando el texto predictivo.

Funcionamiento de CTRL. Fuente: Salesforce.

Como se aprecia de nuevo, no hemos hablado de generación de texto en un idioma diferente al inglés, esto es debido a que estos modelos han sido entrenados con datos en inglés y no en otros idiomas, por lo tanto sería necesario volver a generar estos modelos con nuevas fuentes de datos. Esto es realmente costoso y no hay muchas iniciativas que estén trabajando en ello. La más avanzada es Leo de la Universidad Politécnica de Madrid y se basa en generar resúmenes de texto realistas a partir de datos estructurados como un resultado de un partido de fútbol.

Detección de texto sintético

Teniendo estas capacidades, los atacantes no han tardado en aplicarlas para la generación de las famosas Fake News automatizando la redacción de estos textos y que además sean lo más similares a las noticias que vemos día a día, por lo que logran crear un ecosistema donde sea más complicado detectar este tipo de noticias. Es posible ver casos casi a diario, pero los más conocidos son las relacionadas con las elecciones en USA donde aparecían noticias a favor de Trump creadas especialmente para él.

También es posible crear correos electrónicos de spam que logran evitar los controles apareciendo en nuestras bandejas de entrada. Por lo tanto, es un problema que necesita solución ya que estas técnicas van a ir en aumento.

Para solucionar este problema aparece el Fake New Challenge, donde diversos equipos tratan de crear un sistema que sea capaz de detectar este tipo de noticias, el proyecto más interesante fue SOLAT in the SWEN que combina árboles de decisión y deep learning.

A partir de estos proyectos surgieron otras propuestas y destacaremos las dos que mejores resultados obtuvieron. Por un lado, GROVER, un sistema especializado en detectar Fake News generadas de manera artificial que ha sido entrenado utilizando distintas fuentes de datos ya marcadas como Fake o como Real. Además es capaz de generar noticias hiperrealistas.

Fragmento de una noticia falsa sobre el Bitcoin generada por Grover. Fuente: Grover

Aplicando Grover ha aparecido un primer servicio comercializando este tipo noticias de Fake News a servicio del consumidor, que van acompañadas de imágenes que refuerzan el engaño que se quiere producir. Esto es el caso de Big Bird que tambien tiene en mente añadir vídeos publicando esas noticias falsas. Si se quieren ver ejemplos de este tipo de noticias es posible encontrarlas en NotRealNews.

Si se realiza la prueba de generar un texto con Grover, este es detectado como escrito por una máquina. De la misma manera, si se realiza este experimento con GPT-2 podemos ver que detecta claramente que ese texto está escrito por una máquina. Para llevarlo a un caso real, en las últimas jornadas STIC CCN-CERT apareció la charla Fakenews & Fakeperson donde generaban tweets para cuentas falsas y así hacerse pasar por personas reales, con un claro interés político. Si pasamos por esta herramienta alguno de sus mensajes podemos ver cómo los detecta sin problema y serían fácilmente identificables.

Fragmento de la charla Fakenews & Fakeperson. Fuente: Video

Pero esta no es la única solución en la que se está trabajando, el MIT en colaboración con la universidad de Harvard proporcionan también una demo de su sistema para identificar textos sintéticos de manera visual, utilizando colores para pintar las palabras de un texto dependiendo de si se encuentran dentro de unos márgenes de predicción del propio modelo GPT-2.

La herramienta mencionada es GLTR y podemos realizar este mismo experimento y ver cómo aparecen en la gran mayoría palabras en verde que representan las que predeciría el sistema GPT-2 con mayor probabilidad y se puede suponer que son escritas por este sistema.

Funcionamiento de GLTR. Fuente: GLTR

Como se puede ver, en este caso sí que existen medidas para detectar todo este tipo de contenido sintético, siempre y cuando los textos sean en inglés, ya que si traducimos estos textos deja de funcionar correctamente. Evidentemente, esto es un problema pero como hemos visto tampoco existen soluciones actuales para generar textos en otros idiomas, por lo que es un área en la que investigar o tratar de encontrar o generar esas fuentes de datos en el idioma que queramos entrenar nuestro modelo de generación de texto sintético.

Conclusiones

Como se ha podido demostrar en este artículo, existen métodos para realizar textos y voces realistas pero con limitaciones como son el idioma, ya que estos están diseñados para trabajar exclusivamente en inglés. Además, se han probado las primeras herramientas de detección que permiten asegurar que el texto se ha escrito artificialmente o por una persona. En el caso de la voz es necesario seguir avanzando en las técnicas de detección debido a que los resultados no son consistentes.

En los próximos artículos se presentarán otras áreas interesantes en la generación y detección de contenido sintético como son la imagen y el vídeo, exponiendo las fortalezas y limitaciones de los sistemas más importantes y utilizados.

Fuente de la imagen de portada: Unsplash

Team que ha trabajado en esta investigación: Miguel Hernández y José Ignacio Escribano.

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?