Zelfbewustzijn bij computers
Mijn droomproject wordt verwoord in de 10e stelling van mijn proefschrift uit 1992:
Een kudde computers voorzien van algemene leerfaciliteiten en interactiemogelijkheden met de omgeving moet in principe in staat geacht worden om een vorm van zelfbewustzijn te ontwikkelen.
Het zou bij de huidige stand van de techniek interessant zijn om zo’n project op te zetten, ook omdat het onmiddellijk de tekortkomingen van de huidige AI-research zou illustreren. In datzelfde proefschrift heb ik op basis van informatietheorie al bewezen dat op data en patroonherkenning gebaseerde systemen alleen oppervlakkige regels (shallow languages) kunnen leren. Om even de beperkingen van zo’n aanpak te illustreren: zelfs als je alle informatie van het universum (10^92 bits) in je database zou stoppen kun je hoogstens generieke modelletjes van 300 bits extraheren. De gigantische plagiaatmachines (ChatGPT, Dall.E, Stable Diffusion, etc.) die de industrie aan ons probeert te verkopen, zijn dus een doodlopende weg. Met echte intelligentie en creativiteit heeft het allemaal weinig te maken. Het drukt ons alleen maar met onze neus op de feiten: waarom is ons menselijk brein zo’n ongelofelijk efficiënt? Hoe kan zo’n traag biologisch systeem zulke rijke modellen van de wereld maken? Wat is daar (wellicht op kwantumniveau) aan de hand? Met die vragen zou ik beginnen als ik nu weer zo’n project zou mogen opzetten.
Mijn droomproject zou direct voorbouwen op het Robot op zee-avontuur dat ik 25 jaar geleden met een aantal studenten beleefd heb. De Syllogic Sailing Lab was een zelflerende zeilboot en we hebben er werkelijk een aantal races mee gezeild. In mijn boekje Robot op Zee (2003) beschrijf ik wat de beperkingen van zo’n systeem met sensoren en patroonherkenning zijn en wat voor ambities je verder nog zou kunnen hebben:
Natuurlijk kunnen we de vaardigheden van de Syllogic uitbreiden. Nog meer sensoren, nog meer informatie, nog meer regeltjes, een database met kaarten, vectorbestanden met weersinformatie, het aantal mogelijkheden is onbeperkt. Dat zou wetenschappelijk ook best interessant zijn, maar op de keper beschouwd toch een beetje meer van hetzelfde. De reden is dat het doel van onze zeilrobot nog altijd erg beperkt is. Werkelijk interessante vragen doemen op als we de Syllogic ambitieuzere doelen zouden geven. In opklimmende volgorde van ambitie zouden die doelstellingen kunnen zijn:
Doel 1) Zo snel mogelijk van A naar B varen.
Doel 2) De wedstrijd winnen.
Doel 3) De verantwoordelijkheid nemen de bemanning veilig naar de overkant te brengen.
Aan het bouwen van een robot die het eerste doel nastreeft hebben we gewerkt. Het is moeilijk, maar haalbaar. De tweede doelstelling is al een stuk interessanter. De reden is dat snel varen iets totaal anders is dan een wedstrijd winnen. Je kunt erg snel varen en toch verliezen. Om een wedstrijd te winnen, moet je aan tactiek doen. Als je vooraan in het veld ligt, moet je defensief gaan varen. Je moet plannen kunnen maken, je tegenstanders begrijpen en inzien dat je tegenstanders proberen jouw tactiek te doorgronden. Je moet een beeld van jezelf in relatie tot anderen hebben en begrijpen dat anderen een beeld van jou hebben. Een agent die een wedstrijd kan winnen moet in staat zijn reflexieve modellen van zichzelf en anderen te hanteren. Een wedstrijd winnen, is ervoor zorgen dat anderen verliezen. Het is een activiteit die een elementaire vorm van sociale interactie veronderstelt. Het is niet duidelijk of we bij de huidige stand van de techniek zo’n reflexieve agent kunnen realiseren. De derde doelstelling ligt misschien wel fundamenteel buiten ons bereik. Zij vereist dat een agent zijn beperkingen kent en kan beoordelen of hij een taak wel adequaat kan uitvoeren. Je kunt proberen een wedstrijd te winnen maar je kunt in alle eerlijkheid nooit beloven dat je een wedstrijd wint. Iets beloven veronderstelt een morele verplichting. Het impliceert ook autonomie. Een agent kan alleen iets echt beloven als hij in alle vrijheid een oneindige horizon van mogelijke situaties kan overzien en begrip heeft van zijn vermogen bepaalde situaties tot stand te brengen. Deze verplichting impliceert een heel ander soort vrijheid dan het zo snel mogelijk van A naar B varen of een wedstrijd winnen. Een zeilboot die belooft haar bemanning veilig terug te brengen, moet heel wat meer meebrengen dan een database met regeltjes. Zij moet over echte autonomie beschikken en kunnen beoordelen of haar beeld van de wereld adequaat is om de belofte gestand te doen en daarvan rekenschap kunnen afleggen. Om het kort te zeggen: zo’n agent moet rationeel zijn.
(…)
Computerprogramma’s met dergelijke vaardigheden moeten over programmastructuren beschikken met een zekere reflexiviteit. Ze moeten kunnen redeneren over hun eigen intellectuele operaties en vaardigheden en die van anderen. In tegenstelling tot wat algemeen wordt aangenomen, is er geen enkele fundamentele reden waarom dergelijke computerprogramma’s niet gebouwd kunnen worden.