De Circulaire #172: Spelen met AI 🤖

Hallo! Het is weer een veel te lange nieuwsbrief, want er is veel te vertellen. Een workshop en een live coding optreden van yours truly waar je bij kunt zijn. De beste linkjes van het afgelopen jaar. De beste links van de afgelopen tweek. Kattengifjes. En ook nog even een lang artikel over wat je allemaal kunt met AI. Het duizelt me nu al. Niet gelijk deze nieuwsbrief verwijderen hoor, het is echt heel leuk!

Veel plezier met deze Circulaire!

Spelen met AI

We zitten middenin een AI-revolutie. Het afgelopen jaar is er zo ontzettend veel gebeurd op het gebied van AI dat het lastig is om een beetje bij te blijven. Ik doe dat zelf door veel te lezen maar vooral door veel te spelen met de techniek. Om een revolutie te snappen moet je weten hoe dingen werken. In deze Circulaire wil ik je meenemen in een paar van de tools waar ik zelf de laatste tijd mee heb gespeeld.

Stable Diffusion

Stable Diffusion is één van de belangrijkste text to image-pakketten, samen met Midjourney en DALL-E. Waar het zich onderscheidt van die andere twee is dat het een stuk opener is. De code die je gebruikt om de plaatjes te genereren is volledig open source, het model (dat nodig is om plaatjes te genereren) mag je downloaden en verspreiden. Dat betekent dus dat je de code én het model kunt downloaden op je eigen computer en plaatjes kunt genereren zonder een maandelijks abonnement te nemen (Midjourney) of credits te kopen (DALL-E). Daarnaast zorgt dat open model ervoor dat andere mensen software kunnen bouwen op basis van Stable Diffusion.

Een voorbeeld is Diffusionbee. Dat is (ook weer) een open source-pakket (momenteel alleen Mac) dat een handige interface biedt die vergelijkbaar is met die van DALL-E en Midjourney.

Stable Diffusion en Diffusionbee draaien dus op je eigen computer. Dat betekent dat als je laptop wat ouder is, of minder krachtig, het genereren van plaatjes minder vlot gaat. Op mijn eigen machine, een Macbook Air met M1 processor en 16 GB geheugen, is Diffusionbee / Stable Diffusion zeker langzamer dan DALL-E of Midjourney. Een plaatje genereren duurt ongeveer een halve minuut, bij de cloud-gebaseerde concurrenten is dat vaak een paar secondes.

Maar de ontwikkelingen gaan snel. Toen ik twee maanden geleden een oudere versie uitprobeerde duurde dat genereren nog 3 tot 4 minuten per plaatje. Apple heeft inmiddels nét zelf een fork uitgebracht die efficiënter gebruik maakt van diens hardware. De genereer-tijden zullen dus ongetwijfeld de komende maanden en jaren nog fors naar beneden gaan als de code wordt doorontwikkeld en machines sneller worden.

Wat kun je zoal met Stable Diffusion? Diffusionbee biedt vier opties die vergelijkbaar zijn met de concurrentie. Ik zal ze hier illustreren aan de hand van een foto van mijn favoriete knuffelaap (en de mascotte van deze nieuwsbrief): Barrie.

Barrie, in zijn niet-door-AI-gegenereerde staat

Bij text to image tik je een stukje (Engelstalige) tekst in (de zogenaamde prompt) en komt er een plaatje uit. Bij Stable Diffusion kun je ook nog een hoop instellen. Bijvoorbeeld hoeveel plaatjes je wilt maken (vier is de standaard bij DALL-E en ik vind het zelf ook een goed aantal). Je kunt de resolutie instellen en hoe strikt de AI je prompt moet ‘volgen’. Ook kun je een ‘negative prompt’ instellen. Dit kan helpen om je afbeelding te verfijnen. Als je merkt dat de apen op je plaatjes er heel harig uitzien kun je ‘hairy’ invullen als negative prompt en zal de AI minder harige apen fantaseren.

Een ongemakkelijk kijkend Boliviaans doodskopaapje volgens Stable Diffusion

Zo’n prompt schrijven is nog een hele kunst. Prompt engineer is vast binnenkort een functie. Een goede manier om daar wat meer over te leren is door te kijken naar de werken op sites als lexica.art of arthub.ai, waar altijd de prompt bij staat. Deze PDF is ook nuttig. Ook al is het geschreven voor DALL-E, de principes zijn van toepassing op alle algoritmes.

De andere kant op, dus van plaatje naar tekst, kan niet met Stable Diffusion. Maar er is natuurlijk wel weer een andere tool voor zoals de CLIP interrogator. De originele foto van Barrie leidde bijvoorbeeld tot deze prompt:

a close up of a stuffed animal on a table, a character portrait, inspired by Thomas Stothard, marmoset toolbag, black centered pupil, sheep wool, yelow, selfie photo, worried, mottled coloring, matteo salvini, twitch emote, connectedness, sheep, banana, etsy

Een beschrijving die op z’n minst verrassend is. Een marmoset is een aap, maar een ‘toolbag’? En hoe Matteo Salvini (de leider van de Italiaanse populistische Lega Nord) en de 18-de eeuwse Britse schilder Thomas Stothard in de beschrijving terechtkomen is een raadsel. Hoe dan ook, als je deze beschrijving weer in Stable Diffusion gooit krijg je ook weer interessante dingen.

Text to image is de basismodus, maar de andere modi in Diffusionbee zijn minstens zo interessant. Met inpainting kun je delen van een afbeelding weggummen en weer combineren met een prompt om die zo in te vullen. Een soort magische Photoshop. Het is soms een beetje zoeken met deze modus, maar het kan ook een manier zijn om te itereren en je afbeelding stukje bij beetje uit te breiden of te verbeteren. Bij de volgende plaatjes gumde ik bijvoorbeeld Barrie's ogen en mond weg en gaf ik als prompt 'knuffelaap met zonnebril / sigaret'

Barrie met een zonnebril en een sigaret

Outpainting lijkt op inpainting maar is weer net anders: in plaats van dat je in de afbeelding dingen weggumt fantaseert de AI de wereld buiten het plaatje. Bij deze plaatjes hield ik dus alleen Barrie's gezicht over en gaf ik als prompt 'knuffelaap met een hoed'.

Je bent hier niet beperkt tot het vierkante canvas. Je kan het canvas ook naar alle kanten uitbreiden.

En je kan hier ook weer delen weggummen. Als je bijvoorbeeld alleen Barries ogen behoudt en de rest invult krijg je ook weer verrassende resultaten.

Tenslotte is er de optie image to image. Wat mij betreft de meest interessante. Hiermee genereer je, net zoals bij text to image, een plaatje op basis van een prompt. Maar het verschil is dat je een afbeelding kunt gebruiken als input om de ‘stijl’ van de afbeelding aan te wijzen. Een soort combinatie van een tekst en een afbeeldings-prompt. Je kunt aangeven hoeveel de nieuwe afbeelding op de oude moet lijken.

Je kunt de nieuwe omschrijving zo gek maken als je zelf wilt. Barrie kan een kat worden.

Of je kunt de afbeelding genereren in de stijl van je favoriete kunstenaar.

Barrie in de stijl van (met de klok mee vanaf boven links): Georgia O'Keeffe, Picasso, Vermeer en Rembrandt

Die “variaties in de stijl van een kunstenaar” roepen een hoop vragen op. Want van wie zijn deze plaatjes eigenlijk? Van de makers van de software? Van de persoon die de prompt heeft geschreven? Of van de talloze makers van de afbeeldingen waarop de neurale netwerken zijn getraind?

Want de software genereert niet uit het niets. Daar is heel veel trainingsdata voor nodig. Stable Diffusion is getraind op de LAION-5B dataset, waar bijna 6 miljard ‘tekst-afbeeldingsparen’ inzitten. De mensen die al die plaatjes hebben gemaakt hebben daar geen toestemming voor gegeven, het is gewoon gescraped met behulp van scriptjes (hier checkt u of u zelf in die set zit). Je kunt je afvragen of de algoritmes niet profiteren van andermans werk. En of je niet je eigen site moet afschermen tegen die scrapers en ze wellicht zelfs expres verkeerd 'voeren'. En misschien moet je wel helemaal geen afbeeldingen van jezelf meer online zetten omdat mensen er weet ik veel wat mee kunnen doen.

ChatGPT

En dan hebben we het alleen nog maar over afbeeldingen! Een van de meest opzienbarende nieuwe toepassingen van AI is juist op het gebied van tekst. Minder dan twee weken geleden kwam ChatGPT uit, een chat-variant van het eerder gelanceerde GPT-3. ChatGPT is een chatbot, maar eentje die een stuk intelligenter is dan die je bijvoorbeeld vindt op de klantenservice-pagina van de gemiddelde webwinkel. Het is lastig om duidelijk te maken wat ChatGPT precies is zonder het zelf te proberen. Zie het als een soort van veel slimmere en natuurlijkere variant van Google. Voorlopig is ChatGPT trouwens gratis, in tegenstelling tot DALL-E.

Je kunt ChatGPT vragen stellen (ook in het Nederlands).

Maar de manier hoe je die vragen stelt en ook hoe ze beantwoord mogen worden is geheel aan jou.

Je kan ChatGPT zelfs iets proberen te leren, zoals een taal. En je kan ChatGPT ook je eigen teksten laten herschrijven.

ChatGPT wordt zowel onderschat als overschat. Het is geen orakel dat je opeens gaat vertellen hoe we klimaatverandering gaan oplossen. Een veel subtieler probleem is dat ChatGPT antwoorden kan geven die volledig fout zijn maar wel heel overtuigend klinken. Het is een kwestie van tijd voordat leraren niet alleen moeten checken of leerlingen scripties copy-pasten, maar of ze niet alles genereren met behulp van AI.

Wat er ook allemaal nog gaat gebeuren, het is een feit dat we aan het begin staan van een enorme verandering in hoe we met digitale media creëren. Zoals met elke technologische innovatie betekent het niet dat mensen van de ene op de andere dag overbodig worden. Maar dat hun werk zal veranderen staat vast. Een beetje kennis en kunde van deze technologieën kan dan ook geen kwaad.

En als je daar geen zin in hebt kun je altijd nog je e-mails naar je baas genereren. Of deze nieuwsbrief lezen.

Optreden en workshop

Ik geef de komende tijd een workshop en ik sta op een podium bij een live coding event.

Gratis handboek internetresearch en datajournalistiek

Trouwe lezer Jerry liet me weten dat hij nog een doos vol met exemplaren van zijn Handboek Internetresearch & datajournalistiek heeft staan. Er is inmiddels een nieuwe editie uit, die uiteraard meer up-to-date is, maar de oude editie is ook nog gewoon prima. Maar ja, die doos verkoopt nu niet meer. Dus wat is nou een betere manier om er van af te komen door ze te verloten via De Circulaire? De tien mensen die als eerste reageren op deze nieuwsbrief (dus gewoon op 'reply' klikken en terugmailen) krijgen gratis een exemplaar thuisgestuurd.

Oh ja, en dan is het natuurlijk wel aardig als je ook lid wordt van zijn nieuwsbrief. Geen kattengifjes, maar de linkjes naar datajournalistieke projecten zijn zeker net zo interessant.

KlikdingesIn deze nieuwsbrief (elke 2 tot 4 weken) blijf je op de hoogte van het beste dat interactieve journalistiek te bieden heeft. Daarnaast vertel ik je over mijn eigen werk als datajournalist bij Pointer.

De beste linkjes van 2022

📷 HK / DALL-E 2

Jeetje! Het is al bijna weer 2023. Tijd om de balans een beetje op te maken. Ik zat twintig keer in uw mailboxje dit jaar. Wat waren (naar mijn geheel subjectieve mening) de beste linkjes uit die twintig edities?

Mediadieet

  • How the Internet Happened: From Netscape to the iPhone door Brian McCullough (2018). "How Silicon Valley happened" was een betere titel voor dit boek geweest, omdat het vooral gaat over Amerikaanse big tech bedrijven als Facebook, Google en Apple. Wie denkt te lezen over de oorsprong van het world wide web of Linux komt bedrogen uit. Desondanks een uitstekende geschiedenis van de belangrijkste tech-innovaties van onze tijd. Er is veel aandacht voor de verhalen van de mensen achter de techniek en bekende mythen en misvattingen worden ontkracht. Zelfs voor een old internet person zoals ik valt er veel te ontdekken en te leren in dit werk. (★★★☆)

De beste linkjes

📷 Bay12 / Kitfox Games

📷 RTL

De beste gifjes

Lotte Belice, mijn smakelijke chef kattengifjes, en ik zelf stonden afgelopen zaterdag de hele dag in de keuken om eindeloos veel gerechten te maken voor een zondagse brunch. We maakten pompoentaart, huzarensalade, een quiche lorraine en zelfs een Fries suikerbrood (dat meer een koek werd want echt rijzen deed het niet). Gelukkig had ze ook nog tijd over voor het verzamelen van kattengifjes!

Als je geen zin hebt om je bed op te maken kun je dat aan dit konijntje vragen.

En voor een gebrek aan moederlijke liefde vraag je deze kat.

En als je gewoon beesten wilt die stomverbaasd zijn over het menselijke kunnen kun je deze katten inhuren.

En dat was het!

De volgende Circulaire is al weer de laatste van dit jaar. U krijgt dan mijn lijstje, de mooiste dingen die ik zelf heb gemaakt in het afgelopen jaar en de traditionele lezersenquête. Heeft u er al zin in? Ik wel!

Tot dan!

🧧 Maar liefst negen trouwe lezers doneerden de afgelopen twee weken aan deze nieuwsbrief. Hartelijk dank daarvoor, jullie zijn geweldig! Heb je ook iets over voor deze nieuwsbrief? Doe dan eens een kleine donatie.

📅 En wil je graag eens met mij vrijblijvend babbelen over wat ik voor of je organisatie kan doen? Plan gratis een koffiegesprek in.