Ik hou er na deze post weer over op, want AI/een NN is namelijk helemaal niet voorgeprogrammeerd. Misschien dat dat 30 jaar geleden als AI werd bestempeld, maar zo kan een mens natuurlijk nooit ingehaald worden (iets meegekregen over de gevaren van AI?).
Dat is dus exact wat AI in een offline omgeving dus wel is (voor dit soort complexe zaken). De auto heeft een
fixed model in zijn geheugen staan en die leert niet bij. De enige manier om bij te leren is om een nieuw model naar de auto te pushen. Wellicht dat het mogelijk is om niet altijd het hele model te moeten pushen, maar nieuwe data aan het model toe te voegen. Op basis van dat model maakt de auto zelf zijn beslissingen.
Tesla zal continu het model blijven finetunen en met enige regelmaat nieuwe modellen naar de auto's pushen om het steeds beter te maken. De huidige hardware die je in een auto kan plaatsen heeft gewoon niet de processing-power om dit te kunnen. Overigens wil je ook wel een beetje controle houden over je trainingdata. Je wilt niet dat je het model gaat trainen op data van wegmisbruikers. Overigens is die kans relatief klein, omdat het percentage wegmisbruikers relatief klein is.
Ik pretendeer niet om verstand van AI te hebben, maar zoveel begrijp er dan nog wel van. Dit draadje druipt volgens mij van het niet begrijpen van AI, of ik snap er zelf geen snars van, in beide gevallen is het beter om me er in het vervolg buiten te houden.
Heel simplistisch gesteld komt AI op twee dingen neer:
- Je hebt input-data waarmee je een model kan maken (het zogenaamde trainen). Dit vergt enorme rekenkracht en op dit moment heb je daar grote clusters voor nodig om dat te kunnen doen als het om complexe modellen gaan. De "computer" die Tesla hiervoor gebruikt is Dojo.
- Op basis van die modellen kan je vervolgens beslissingen maken. Ook dat vergt best wel zware hardware, maar het is veel beter behapbaar. Dat wordt dus uitgevoerd door HW3/HW4.
Het trainen kan je vervolgens ook iteratief doen (gebeurd vrijwel altijd) om het steeds beter te maken. Soms kan je automatisch bepalen of een oplossing goed is, maar soms is dat nog een menselijke afweging. Stel dat je een auto zo snel mogelijk een rondje wil laten racen op een circuit, dan zou je gewoon verschillende opties kunnen proberen en objectief bepalen wat de beste optie was aan het resultaat. Op een gegeven moment zal het model daar patronen in herkennen en zodoende ook snel rondjes kunnen gaan rijden op andere circuits. Als je op verschillende circuits rondjes gaat rijden, dan zal het model ook meer circuit-onafhankelijk worden. Stel dat een circuit enkel bochten rechtsaf heeft (rij je dus een onregelmatige veelhoek met de klok mee), dan zal het model waarschijnlijk enkel weten hoe die dergelijke circuits kan rijden. Zet je die auto op een circuit dat tegen de klok in rijdt, dan zal het moeilijk worden. Ik heb begrepen dat er volgend jaar in Abu Dhabi de
A2RL klasse start waar ze inderdaad autonoom gaan racen. Lijkt me best interessant.
Daarom moet je zorgen voor een zeer gevarieerde en representatieve dataset. Als er één bedrijf over zo'n set beschikt voor autonoom rijden, dan is het Tesla wel, dus ik dicht ze ook de beste kansen toe.
Je moet de boel echter wel finetunen voor verschillende landen. Stel dat je een Amerikaans model 1-op-1 in een Nederlandse auto zet, dan zal die dus nooit auto's van rechts voorrang geven, want die regel bestaat niet in de VS. Net zoals een Amerikaan die in Nederland gaat rijden het niet weet (als die zich niet verdiept in onze regels) zal ook de auto dat niet weten. Daarom moet je voor Nederland de auto ook trainen dat auto's van rechts voorrang hebben.
Voor fietsers op de rijbaan is het wellicht anders. De auto zal wellicht altijd proberen objecten te ontwijken, dus ook fietsers. Dat zal wellicht wel goed gaan, maar als je er expliciet op gaat trainen zal het zeker beter en/of soepeler gaan. Daarom haalde ik ook bijvoorbeeld de 60km zones bij ons aan. Dat zijn ook situaties die je buiten Nederland vrijwel niet tegenkomt en ik vraag me af hoe FSD daar mee om zal gaan (als Tesla er niet op getraind heeft).
De
fietsstraat is ook zo'n typisch lokaal concept, waarbij je geacht wordt rustig te rijden en fietsers ruim baan te geven. In Nederland heeft het geen juridische status, maar in België wel. Ook daar dien je je dus anders te gedragen. Een
Rettungsgasse is voor een Duitser triviaal, maar in Nederland totaal niet gebruikelijk. Nu zal een mens -door kuddegedrag- waarschijnlijk ook wel opschuiven (want iedereen doet het), maar zonder training is de kans groot dat de Tesla lekker in het midden blijft rollen.
Voor face-recognition (bijv. in Google Photos) start je meestal met een standaard model en als je zelf je foto's toevoegd, dan zal het model voor jou gefinetuned worden. Vaak zie je dat je moet bevestigen of iemand een bepaald persoon is. Als je dat consequent doet zal je merken dat het model steeds beter wordt. Bij Google Photos wordt dat in de cloud gedaan en zal het model dus ook bij Google staan. De basismodellen zijn tegenwoordig vaak al zo goed dat ze al heel goed in staat zijn verschillende mensen te onderscheiden en te bepalen of iemand dezelfde persoon is. Hoe iemand heet kan je ook met AI natuurlijk niet bepalen (tenzij je de hele dataset van Facebook, LinkedIn, Instagram, ... erbij zou betrekken).
Op een iPhone gebeurt het vooral lokaal en zal het standaardmodel op je telefoon aangepast worden. Daar doe je dus wel training op het device en daarom vereist het vaak ook specialistische hardware. Maar gezichten herkennen is vele malen eenvoudiger dan autonoom rijden.
Ik verwacht dan ook dat het voorlopig zo zal blijven dat modellen door Tesla worden aangeleverd en dat de auto die enkel gebruikt om op basis van het model beslissingen te kunnen nemen. Wellicht dat het in de toekomst mogelijk wordt om lokaal het model te finetunen, maar ik heb nog nooit gehoord dat dit nu al het geval is. Denk dat de huidige hardware zijn handen vol heeft aan image processing en beslissingen nemen op het bestaande model.