logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Tienes una idea de imagen que quieres crear y te propones a utilizar una de estas inteligencias
artificiales generativas que ahora están muy de moda y que parece que son capaces de generarte
esta idea en segundos. Ya sea Mid Journey, Stable Diffusion o Dalí 3, en todas ellas introduces
una frase y en cuestión de segundos ante tus ojos se genera una imagen espectacular que responde a
lo que estabas buscando y que es tuya, 100% original. O quizás no. Desde la llegada
de Dalí 2, en abril de 2022, el debate sobre la IA generativa no ha dejado de avivarse,
con críticas de profesionales del mundo del diseño y del arte que ven como, sin ningún
consentimiento, pues estas grandes empresas tecnológicas están descargando sin permiso
sus trabajos publicados y usándolos para el entrenamiento masivo de modelos generativos.
Modelos que ahora pasan a competir en su mismo mercado. Debates que hace un par de años estaban
más centrados en definir si lo que la IA hacía era arte y si esto era creatividad y que poco a poco
se ha ido desplazando hacia temas más importantes y espinosos. Temas como el de definir legalmente
si lo que están haciendo estas compañías es ofrecer a sus usuarios plagios idénticos cuya
propiedad le corresponde a otro profesional. Y hoy me he propuesto responder a esta última pregunta.
¿Debemos considerar a la IA generativa como una fuente de plagio? Una pregunta que para poder
responderla nos obliga a definir qué es la IA generativa. Seguramente si hablamos de IA generativa
en tu cabeza se dibujará una idea intuitiva de lo que estamos hablando. IA generativa. Generar texto,
generar imágenes, audio, vídeo o 3D serían algunas de las modalidades donde la IA hoy está presente.
Inteligencia artificial que aprende a generar contenido.
Y fijaos como aquí he remarcado la palabra aprender. Palabra que contrapongo con lo que
mucha otra gente cree que hace la IA, que es memorizar. Y es que sí, hay mucha gente que cree
que los algoritmos de inteligencia artificial lo que están haciendo es ir viendo datos de
entrenamiento para ir guardando aquellas partes que son más interesantes como si una enorme base de
datos se tratara. Viendo imágenes de artistas, viendo cuadros famosos, más imágenes, más imágenes,
para luego regurgitar dichos patrones, vomitarlos en la pantalla y formar así un collage a demanda
del usuario. Y sé que esto puede sonar un poco caricaturesco, pero es algo que se ha visto ilustrado
en infografías como esta, donde el mensaje que se venía a transmitir era algo así como,
hey, hay una diferencia entre lo que un humano y una IA hace. Porque el humano lo que hace es inspirarse
en referencias anteriores para abstraer y fusionar conceptos de forma creativa, mientras que la máquina
lo único que puede hacer es copiar patrones y juntar trocitos de imágenes plagiadas.
Pero amigos y amigas, no. Esto no funciona así. Y para poder entender mejor el concepto de IA
generativa, realmente de lo que tenemos que empezar a hablar aquí es del concepto de distribución probabilística.
Mirad, imaginad que hay algo de la realidad que os obsesiona. Por ejemplo, ¿cuánto pesa un pangolín?
Puedo imaginarme que no todos dedicáis el tiempo suficiente al día en pensar en pangolines como
para darme una respuesta correcta. Ok, no pasa nada. Pero bueno, algo de lo que podemos estar todos de
acuerdo es que, seguramente, todos los pangolines del mundo no pesen exactamente lo mismo. Y esto hace que,
como no todos los pangolines pesan lo mismo, pues la respuesta a nuestra pregunta de cuánto pesa un
pangolín se vuelva más complicada. Pues nuestra mejor opción será ir al mundo real, obtener datos
y hacer una estimación. Y con esta idea en mente, pues viajamos al país de los pangolines y con
respeto preguntamos. Oye, perdona, señora pangolín ciudadana, ¿puedo saber su peso? Oye, disculpe,
señor pangolín policía, ¿cuánto pesa usted? Bueno, diga, señor pangolín que atiende usted en el
pangolín scoffee. ¿Puede subirse usted a esta báscula? Y de esta tontería, pues ahora obtendremos
un montón de medidas que pasarán a ser nuestro dataset, nuestro conjunto de datos. Lo interesante
de nuestros datos es que ahora con ellos, pues podemos empezar a dar pasos para responder a
nuestra pregunta original. ¿Cuánto pesa un pangolín? Es decir, si esto lo visualizamos en un
eje unidimensional, pues vemos que la mayoría de pesos se van a concentrar en este punto de aquí,
que es donde se situaría en este caso el peso medio. Y según nos vamos alejando de ese peso
medio, pues nos vamos encontrando en menor cantidad de espangolines más o menos pesados. Y si nos
alejamos mucho, ya no encontramos ninguno. Con lo cual de nuestro datos empezamos a darnos cuenta de
que hay pesos más probables que otros. Y toda esta información la podríamos capturar bajo el concepto
de distribución de probabilidad. Es decir, una relación matemática que nos va a indicar para cada
posible peso qué tan probable es que encontremos a un pangolín con esas características. De toda esta
última historia, lo más importante con lo que tenéis que quedaros es con el concepto de distribución de
probabilidad. De eso y del proceso tan importante que acabamos de hacer, que ha sido pasar de nuestros
datos a su distribución de probabilidad. Y esto es muy importante, posiblemente lo más importante de
este vídeo. ¿Por qué? Pues porque mirad, sin darnos cuenta lo que acabamos de crear, es un modelo generativo
capaz de generar nuevos pesos de pangolines. Pesos de pangolines que no existen. ¿Qué? ¿No me crees? Mira, vamos
a quitar de aquí nuestros datos. Fuera. Tiramos nuestro dataset a la papelera. Nos deshacemos de ellos. Y ahora nos vamos
a quedar solo con la distribución de probabilidad que hemos estimado. Imagínate que ahora te pido que para este nuevo
pangolín de aquí, te inventes un peso que sea realista según nuestra distribución de probabilidad.
¿Cuál podría ser? Pues si entiendes lo que tienes delante, con mayor probabilidad tú me dirás que un
peso que esté por aquí. Y con mucha menos probabilidad a lo mejor me dices un peso que esté por acá. Y de
ninguna manera un peso que esté por esta zona. ¿Lo ves? De hecho, si hiciéramos este ejercicio y os
pidiera que pusieras la respuesta en comentarios, pues lo que veríamos es que la mayoría de pesos caerían
por aquí y por allá, hasta que poco a poco se irá reproduciendo la distribución de probabilidad
original. Estamos generando nuevos datos. Esos de pangolines que sin ser exactamente iguales a los
datos que habíamos capturado originalmente, pues bien podrían pasar como un dato más. Vosotros habéis
generado los datos nuevos a partir de la distribución, a partir del modelo generativo, y no habéis copiado
directamente del dataset original. Obviamente este es un ejemplo muy tonto y muy sencillo,
pero ilustra muy bien lo que quiero defender aquí, y es que la IA generativa se basa en construir estos
modelos generativos, estas distribuciones de probabilidad de la cual nosotros generamos datos
nuevos, y no a partir de interactuar con el dataset con el que se ha entrenado. Ahora que ya hemos
entendido la diferencia entre aprender los datos y aprender la distribución de los datos, vamos a escalar
un poco nuestro entendimiento para acercarnos al aprendizaje de, bueno, un tipo de dato un poquito
más complejo, como podría ser por ejemplo una imagen.
Claro, el problema con las imágenes es que ya no estamos hablando de aprender un único valor, como era
antes el peso del pangolín, sino que típicamente una imagen cuenta con miles de millones de píxeles,
cada uno con al menos pues tres intensidades de color RGB. Es decir, si antes teníamos que aprender
una distribución de probabilidad unidimensional por tener una única variable, ahora estaríamos
hablando de aprender a modelar millones de números en espacios de millones de dimensiones. Algo que se
hace bastante complicado por mi parte para enseñaros, así que vamos a intentar simplificarlo un poco.
Mirad, imaginad un mundo donde el concepto de una imagen está muy muy simplificado. Se trataría de
imágenes de 2x2 píxeles y además en escala de grises, donde cada valor podrá ir de 0 a 1 para poder
representar cualquier color entre el negro y el blanco. Pero bueno, esto aún serían 4 valores a
modelizar, cada valor de cada píxel. Y para visualizarlo pues todavía necesitaría 4 dimensiones, lo cual
sigue siendo complicado de representar, así que lo vamos a simplificar aún más. Haciendo que en este caso
pues tengamos dos grupos de píxeles, los azules y los rosas. Eso significaría que ahora sí pues nos quedamos
con dos variables que podemos controlar para representar diferentes tipos de imágenes, si las podemos
llamar así. Y ahora con esto podemos actuar de forma similar a como hemos hecho antes. Podemos representar en
una gráfica de dos dimensiones estas dos variables. Una variable que representa los píxeles azules, que
variarán de negro a blanco cuando nos movamos por este eje, y la otra variable que también representará
los píxeles rosas cuando nos movamos por esta dimensión de aquí. ¿Lo veis? Esta es la forma en la que vamos a
representar a nuestras imágenes. Y ahora que tenemos todo el esquema montado, pues podemos proceder de forma
similar a como hemos hecho antes con el peso del pangolín, que es pues aprender la distribución a partir de unos
cuantos datos. Imaginad que recopilo varias imágenes ya existentes de un tipo concreto. Por ejemplo, muchas
imágenes como estas. Imágenes que tienen, bueno, pues sus ligeras variaciones, pero que si las situamos sobre nuestra
gráfica, se deberían de empezar a acomodar en la región donde los píxeles azules estén cerca del
valor 0, es decir, en negro, y los píxeles rosas cercanos al 1, es decir, en blanco. Esta región de aquí
sería el área donde estas imágenes se situarían. Lo interesante es que a partir del análisis estadístico
de los datos, como hicimos antes, podemos aprender la distribución de probabilidad a la que pertenecen,
que en este caso vendría representada por toda esta área gris que veis aquí. Una distribución
bidimensional. Y de nuevo, como hicimos antes, si eliminamos los datos pero nos quedamos con la
distribución de probabilidad, con la huella, si yo genero una imagen a partir de cualquier valor de
esta zona, lo que obtendré será una imagen similar a las imágenes de mi dataset. Imágenes similares en
características, aunque no exactamente iguales que mis datos. De nuevo, lo que estamos viendo es un ejemplo
donde la IA generativa lo que aprende es la distribución de los datos y no los datos en
concreto. Y este concepto que aquí estoy representando de forma sencilla con imágenes de 2x2 realmente lo
podemos extrapolar a imágenes de millones y millones de píxeles. Es exactamente igual. Los algoritmos de
Deep Learning modernos son capaces de ver una gran variedad de imágenes de, por ejemplo, caras,
que serían nuestros data points, y aprender de ellos la distribución de probabilidad, la correlación
entre píxeles y entre patrones que hacen que de estos píxeles se conforme una cara. Es decir,
aprender la distribución donde todas las imágenes de caras posibles existen. Y de esa distribución es
de donde luego la IA generativa genera nuevos data points que no tienen por qué existir en el dataset
original. Y este es un argumento al que muchos le podrían dar la vuelta para decirme eso de que,
bueno, que la IA no es creativa ni original porque sólo puede crear aquello que nosotros le
ha tomatado para su entrenamiento. Pues, yo lo he dicho antes, si le damos caras puede aprender la
distribución de caras, pero nada más. ¿No? Dejadme volver de nuevo a este experimento.
Imaginad que ahora vamos a entrenar a nuestra IA generativa para que sea capaz de generar imágenes
de otro tipo de objeto súper diferente, la otra raya diagonal. Para entrenarlo, pues como antes,
necesitaremos tomar ejemplos de datos de rayas oblicuas que cuando los situamos en nuestra gráfica
se irán acomodando en esta zona de la distribución. ¿Correcto? Ahora lo que tendríamos sería un modelo
generativo capaz de hacer líneas oblicuas como estas y líneas oblicuas como estas. Perfecto.
Pero fijaos qué interesante esto que acaba de ocurrir aquí. Y es que la capacidad de generalizar
de nuestro modelo nos ha creado una distribución que conecta ambos espacios. Un área de mayor
probabilidad a mitad de camino entre nuestros datos y que nos permite recorrer un espacio
inexplorado. Y de donde si queremos podemos generar un nuevo tipo de imagen. Aquella imagen donde
tanto los píxeles rosas como los azules están a 0,5. Hemos creado un cuadrado sólido gris.
Una nueva categoría de imagen que surge fruto de la interpolación entre las dos categorías aprendidas.
Y ojo, un tipo de imagen que no se parece a ninguna de las imágenes de nuestro dataset original.
Es de esta interpolación entre conceptos y patrones aprendidos de ver todas las imágenes de internet
de lo que ahora la IA generativa puede aprovecharse para hacer creaciones completamente novedosas.
Creaciones que no vamos a encontrar en el dataset original. Que sí, que la IA se habrá hartado de ver
imágenes de flores e imágenes de huevos fritos. Pero imágenes de flores hechas de huevos fritos,
mmm, no tanto. Es de esta capacidad de poder interpolar entre aquellas categorías aprendidas
de lo que podemos decir que la IA generativa a día de hoy puede ser capaz de crear imágenes
completamente novedosas. Y quien dice imágenes, dice cualquier tipo de dato. Y siendo así, pensando en
los millones de conceptos, de personajes, de localizaciones, de estilos, de técnicas y de
las infinitas combinaciones que surgen de mezclar todo esto, pues se vuelve muy improbable que un
usuario usando la IA generativa acabe generando una imagen que sea igual que sea un plagio de una
imagen que estuviera en el dataset de entrenamiento. Y sin embargo, hay papers que demuestran que lo que
la IA generativa a veces genera son imágenes como estas. Ahora que ya hemos aprendido que la tarea
de la IA generativa no es aprender los datos, sino aprender la distribución de los datos,
ya nos encontramos en situación de poder mencionar dos de los problemas que hacen que, bueno, nos
podamos encontrar en una situación, vamos a decir, peliaguda. Una situación donde la distribución
y el dato se vuelven casi casi la misma cosa, y donde por tanto el resultado de generar una imagen,
sí, sería una copia plagiada. El primero está relacionado con un aspecto que no hemos comentado
hasta ahora pero que todos conocéis, y es que la IA generativa no genera contenido aleatorio sin más,
sino que en muchas ocasiones, para darle control al usuario, estas generaciones vienen condicionadas
por otra cosa. Por ejemplo, un texto, un prompt, que nos permite indicarle a la IA exactamente de
qué zona de la distribución queremos generar. Oye, que quiero una línea negra diagonal descendente,
o quiero un cuadrado sólido, y así delimitaremos de qué zona de la distribución vamos a generar.
Esto es súper útil y además es parte de lo que explica el éxito de muchas de estas IAs generadoras
imágenes, cuando le dimos la capacidad al usuario de poder, a partir de un prompt de texto,
pues poder generar cualquier cosa. Pero, hay un problema. Y es que tal y como me dijo una vez
Linguriosa que dijo Chomsky, el lenguaje es infinito. O algo así. Y en la infinitud del lenguaje,
pues podemos hacer cosas como estas. Oye, quiero una imagen de una cara. Bien, hemos generado una gran
variedad de caras. No, espera, más específico. Quiero una cara de una persona rubia, ¿vale? Ahí lo tenemos.
Un montón de caras de personas rubias. No, no, no, no. Espera. Quiero una cara de una chica joven rubia,
¿vale? Aquí está, lo tenemos. Pero, ¿os dais cuenta de lo que está pasando? A través del prompt,
a través del lenguaje, podemos ir accediendo a regiones más amplias, más variadas, o a regiones más
específicas y concretas. Hasta tal punto de que esa región podría representar a una única imagen.
Porque una vez aprendida la distribución, yo puedo tener un prompt que abarque conceptos,
pues, súper amplios. Como, oye, quiero un cuadro renacentista. O, por ejemplo, podría acotar el
ámbito de la distribución a un estilo de un artista concreto. Pues mira, quiero un cuadro renacentista
al estilo de Leonardo da Vinci. Y lo tengo. O podría ir más allá y decir, quiero la Mona Lisa.
Y claro, ahí, amigos, tenemos un problema. Porque la Mona Lisa solo hay una. Y esto nos
lleva a que nuestro prompt ha acotado tanto nuestra distribución que ya no es ni distribución ni es
nada. Sí, hay pequeñas variaciones de texturas, colores, píxeles y patrones pequeños. Pero a ojo,
de cualquiera y de un juez, este cuadro, amigos y amigas, es la Mona Lisa de Leonardo da Vinci. Pero
bueno, ¿significa esto que, si nuestro prompt se vuelve en una frase muy específica, al final
vamos a acabar obteniendo imágenes que son plagios, que son copias del dataset original? No. De hecho,
fijaos, tras tantos años siendo una figura pública, estoy seguro de que imágenes de mi careto, pues,
pueden haber caído dentro del dataset de entrenamiento de ellas como Midjourney. Y sin embargo,
si le pido una fotografía de Dot CSV o de Carlos Santana Vega, pues, no sale nada. ¿Por qué? Pues porque aquí hay
otro aspecto importante que se tiene que dar para que el plagio ocurra, y es la sobrerepresentación.
Vaya palabra más larga. De hecho, antes te he mentido y te he dicho que en Mona Lisa solo hay una,
pero en realidad bajo ese nombre en internet y, por tanto, los datasets de entrenamiento,
pues, podemos encontrar numerosas versiones de la Mona Lisa. Entonces, ¿por qué solo la iaplagia esta?
Pues porque al final, le pesa a quien le pese, la inteligencia artificial actúa en muchas ocasiones
similar a nosotros. Y si yo te pido que cierres los ojos y que te imagines en tu cabeza un cuadro
como el de la Mona Lisa, posiblemente tú te estás imaginando algo como esto. Y si esto ocurre,
es porque estamos hartos de ver este cuadro. Está sobrerepresentado. Es un icono cultural.
Y esta sobrerepresentación nos lleva a memorizarlo. Mirad. Si volvemos a nuestro ejemplo de las imágenes
de dos por dos, ¿qué pasa cuando en mi dataset de entrenamiento solo introduzco imágenes de un tipo?
Pues que poco a poco las distribuciones que se van aprendiendo se van volviendo más y más estrechas.
Distribuciones con menor varianza, más acotadas alrededor de un mismo concepto.
Llegando hasta el punto literal en el que dejan de ser distribuciones y pasan a ser conceptos memorizados.
Lo mismo que ocurriría en el caso de los pangolines, si todos los pesos que fueran llegando
fueran iguales. La distribución se iría acotando y solo aprenderíamos dicho valor.
La sobrerepresentación, también en Deep Learning, nos lleva a la memorización. Y como dijo Yoda,
la memorización nos lleva al lado oscuro y el lado oscuro en el Deep Learning es el concepto de
overfitting. Así que aquí la tenéis. Esta es la fórmula que puede hacer que la IA generativa entrenada
con millones y millones de datos, pues sí, nos pueda llevar a una situación de plagio.
A plagiar un dato que esté sobrerepresentado y que por tanto produzca overfitting, sumado
a un prompt que sea lo suficientemente específico como para inducir a la IA a generar dicho concepto.
Y es esta fórmula a la que muchas veces se reproducen muchas de las acusaciones de plagio
que a día de hoy se plantean contra la IA generativa. Por ejemplo, este paper al que hacía
referencia antes se usa habitualmente para demostrar que sí, que estos modelos generativos
son capaces de plagiar imágenes del entrenamiento hasta el punto de generar calcos idénticos de
fotografías de personas. Pero claro, lo que no explican tanto los que usan este paper como argumento
es que esta investigación pues justo estaba estudiando esto. Y para poder investigarlo,
han inducido estos resultados forzando la receta que os he explicado antes. Lo dicen aquí,
hemos buscado imágenes que estuvieran altamente repetidas en el dataset original, como por ejemplo,
la de esta señora que es famosa y cuya imagen está bastante replicada en internet. Pero es que
además han utilizado justo el título de estas imágenes, como el nombre de la señora, como parte
del prompt para así inducir al modelo a que genere justo esta imagen. El resultado, por supuesto,
era de esperar. Y aún así, una de las conclusiones de uno de los autores del paper en Twitter era que sí,
que esta memorización ocurre, pero en muy poca medida. Lo cual hace improbable que esta sea la
norma para la gran mayoría de usuarios que utilicen la IA generativa. Y otro ejemplo similar lo
encontramos en este caso de actualidad, donde recientemente el New York Times ha denunciado a
OpenAI tras probar que su IA generativa, ChatGPT, puede vomitar artículos completos de su periódico
palabra por palabra. Algo que se acabará resolviendo o en un despacho o en un tribunal, pero de lo que OpenAI ha
querido defenderse de la siguiente manera. Diciendo que si esto ocurre es con artículos concretos que
están altamente diseminados por internet. Artículos que diferentes usuarios han ido copypasteando en
blogs, en redes sociales y que por tanto están altamente representados. Y que además, para
completar así nuestra fórmula, dicen que posiblemente para conseguir inducir al modelo a vomitar todo el
artículo, es probable que el New York Times haya actuado de mala fe poniendo como parte del prompt
trozos del artículo original, para así inducir a ChatGPT a completar el resto. Pero como digo,
esta es la defensa de OpenAI y como tal la cogemos con pinzas. Pero bueno, sirve muy bien para ilustrar
esta fórmula que habéis aprendido en este vídeo de hoy y que da respuesta a la pregunta original.
¿Plagia la IA generativa? Sí, en unas circunstancias muy concretas. Cuando el dato está altamente
sobre representado en el dataset original y cuando inducimos al modelo a llevarnos a esta región con
un prompt muy específico. Y esta es una respuesta que me ha servido como excusa para que ahora todos
vosotros podáis entender mejor la naturaleza de una tecnología tan popular como es la IA generativa.
Y para acudir un poquito más informado a muchos de los debates que se están dando. Aún así,
para acabar, quiero dejar claro una cosa y es que toda la justificación técnica que vengo haciendo
en este vídeo no viene a justificar ninguno de los aspectos éticos y legales problemáticos que
acompañan a esta tecnología. Y que ahora podréis entender mejor. Que por ejemplo una IA generativa
sea capaz de aprender la distribución de lo que es un Pikachu o un Mario Bros y que ahora cualquier
usuario pueda generarla, pues quizás no sea lo que mejor encaje con las actuales leyes de derechos
de autor. Lo que bueno, ahora mismo Nintendo está ocupada con otras cosas. O por ejemplo,
también es un problema ético y posiblemente legal que la IA generativa pueda referenciar con nombres
y apellidos a autores reales para poder referenciar así dentro de la distribución cuál es su estilo.
Llegando a un punto donde en internet cuando hacen la búsqueda de este artista, lo que se sobrepone
son todas las imágenes generadas con inteligencia artificial. Esto pues también se puede criticar.
Y todo esto son incógnitas que iremos resolviendo como sociedad, dando los debates adecuados y con
la ley en la mano y con el paso del tiempo. Porque al final lo que sucede con la IA generativa es que
es una tecnología muy prematura, que se ha desarrollado de forma muy rápida y cuyo potencial
todavía ni siquiera llegamos a entender. Una característica que está muy ligada a todos los avances en
inteligencia artificial que venimos viendo durante todos estos años. Una tecnología que tras este
vídeo espero que entendáis un poquito mejor. Si te ha gustado el vídeo no dejes de compartirlo y si
te gusta este contenido y quieres aprender más sobre inteligencia artificial no dejes de suscribirte
a este canal que quiero cumplir este año el objetivo, la meta del millón de suscriptores.
Chicos, chicas, tenéis aquí un par de vídeos más que podéis ojear, podéis apoyar todo el proyecto en
Patreon y nos vemos con más inteligencia artificial en el próximo vídeo.