-->

woensdag 13 juni 2018

Waarover gaat kunstmatige intelligentie?


Een tijd geleden zei een vriend tegen mij: “That ship has sailed” toen het over kunstmatige intelligentie ging. Hij bedoelde daarmee dat wij inmiddels te oud waren om echt goed te begrijpen wat kunstmatige intelligentie inhoudt. Misschien was het mijn midlife crisis, maar die opmerking was voor mij de reden om mij er verder te verdiepen. Gaandeweg ontdekte ik echter dat ik het ook een erg leuk onderwerp vond.

Er wordt veel gezegd en geschreven over kunstmatig intelligentie. Afhankelijk van wie je spreekt zal het de wereld vernietigen of juist omvormen tot een nieuw Wallahla. Tsja..

In ieder geval gaat kunstmatige intelligentie wat mij betreft erom dat systemen die zich intelligent kunnen gedragen.

Systeem
Een door mensen gemaakt ding, een artefact, wordt aangemerkt als een systeem als in dat artefact tenminste 3 functies zijn te herkennen. Het systeem moet op enige manier signalen uit zijn omgeving kunnen (waarnemen). Deze signalen op een bepaalde manier verwerken (redeneren) en het systeem moet de capaciteiten hebben om op een of andere manier zijn omgeving te beïnvloeden (handelen).
Een hamer of een schep en andere door de mens gemaakte artefacten vallen dus niet onder systeem omdat ze een of meerde van de bovenstaande functies niet hebben.



Het meest eenvoudige systeem dat ik heb gezien, was in het wiskunde museum Mathematikum in Giessen. Als gebruiker zette ik een switch op aan, waarop er een handje uit een luikje kwam die de switch meteen weer op uit zette. Het systeem nam waar dat de switch aan stond, redeneerde dat ie uit moest en deed dat vervolgens. Geweldig!


Intelligent Systeem
Er zijn definities die zeggen dat een systeem pas intelligent is als deze net zo waarneemt, denkt en handelt als mensen. Andere definities stellen dat er sprake is van intelligentie als een systeem, gegeven een doel rationele keuzes maakt en deze uitvoert.
Rationeel houdt dan in dat gegeven het doel wat met het systeem bereikt moet worden, het systeem de relevante aspecten uit de wereld waarneemt, op basis van deze signalen logisch beredeneert welke handeling het kan uitvoeren die het doel het dichtst benadert met de minste inspanning. 



Ik heb wat twijfels over het ontwikkelen van systemen die zich richten op de linkerzijde van de tabel. Enerzijds over de haalbaarheid ervan, maar ook over het nut. Wat heb je machines die zich precies op dezelfde manier als mensen waarnemen, denken en zich gedragen? Je wilt juist machines die net wat anders kunnen dan mensen. Langer doorwerken of betere beslissingen nemen bijvoorbeeld. Een mens namaken is leuk en omdat het misschien kan, maar nodig is het niet.

Ook als we ons alleen op de rechterzijde richten, gebeurt ontzettend veel op het gebied van kunstmatige intelligentie. Er wordt veel vooruitgang geboekt op de deelgebieden afzonderlijk als ook op de integratie tussen die deelgebieden.

maandag 7 mei 2018

Hoe je AI niet moet inzetten

De afgelopen week kwam op nu.nl een bericht voorbij over het inzetten van gezichtsherkenning bij de Championleague finale 2017 in Cardiff. Het doel was om vast te stellen of er zich criminele bevonden onder de bezoekers.  er zin 170.000 bezoekers geweest waarvan er 2470 werden aangemerkt als misdadiger. Dit bleek 2297 (oftwel 92%) van de gevallen onterecht te zijn.
Verontrustend dat mensen als crimineel worden gezien, terwijl ze dat niet zijn. Voelt erg als eerst is iedereen schuldig tot je het tegendeel kunt bewijzen. we moeten goed weten hoe dit soort computersystemen werken, wil je ze op een opbouwende niet destructieve manier gebruiken. 
In de kern is dit een classificatieprobleem. Op basis van ingevoerde beelden en een algoritme retourneert de computer de melding. Dit is een foto van een crimineel of een foto van een onschuldige burger. Nu is dat toekennen ingewikkeld proces waarin fouten worden gemaakt. De volgende typen fouten kunnen worden gemaakt:
1) een crimineel wordt aangemerkt als een onschuldige burger (false negative)
2) een onschuldige burger wordt aangemerkt als een crimineel (false positive)
Het nieuwsartikel beschrijft de false positives. Er zijn 2470 mensen als crimineel geclassificeerd die toch onschuldig bleken te zijn. Er zijn geen gegevens over de false postitives . Het lijkt mij overigens niet makkelijk om die data boven water te krijgen. Je zou alle criminelen moeten vragen of ze die dag in Cardiff waren of alle onschuldige burgers vragen waar ze waren die dag. 

Het klassificatieproces bestaat uit de volgende stappen:
foto -> identiteit persoon -> staat bekend als crimineel
Omzetting van foto naar identiteit van persoon
Ondertaande foto zijn van Dr. Fei Zuo. De eerste stap voor de computer is te bepalen wie er op het plaatje staat. wij zien redelijk gemakkelijk dat het om dezelfde persoon gaat. Computeralgoritmes hebben hier flink meer moeite mee. 





Daar komt ook nog bij dat deze foto's van gelijkmatige kwaliteit zijn en in de praktijk foto's verschillende afmetingen en kwaliteit / resolutie hebben  en wat gbeurt er als mensen ineens makeup gaan dragen of een ander kapsel nemen?

In het geval van massa-suveillanse is de eerste stap dus ook een klassificatieprobleem, maar een met als uitgaande klassificatieklassen. Het aantal verschillende mensen die bekend zijn bij de politie. Dat lijkt mij een flinke verzameling.

Vervolgens zou je dan de mensen die als crimineel bekend staan eruit kunnen filteren. In de praktijk zal er wle een aparte database zijn met criminelen en hun foto's.
  
De eerste stap om te komen van beeld neer persoon bestaat weer uit een aantal substappen:

But face recognition is really a series of several related problems:
  1. First, look at a picture and find all the faces in it
  1. Second, focus on each face and be able to understand that even if a face is turned in a weird direction or in bad lighting, it is still the same person.
  1. Third, be able to pick out unique features of the face that you can use to tell it apart from other people— like how big the eyes are, how long the face is, etc.
  1. Finally, compare the unique features of that face to all the people you already know to determine the person’s name.
x


As a human, your brain is wired to do all of this automatically and instantly. In fact, humans are too good at recognizing faces and end up seeing faces in everyday objects:








https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78

https://www.nu.nl/internet/5254817/cameras-britse-politie-herkenden-duizenden-mensen-onterecht-als-crimineel.html#coral_talk_wrapper

maandag 2 april 2018

Pet Project Zombies: Logaritmische Groei




Deel 2: Groei met een begrenzing door beperkingen in  de omgeving.

Stel dat de omvang van een populatie beperkt is met  een maximum van B

De groei van de populatie zou naarmate dit maximum benaderd wordt moeten verminderen.

De recursieve functie gaat dan als volgt:
N(t+1)~ = N(t) + r * N(t) * ((B – N(t)) / B)

De groei van de populatie kun je dan als volgt formuleren:
$$ \frac{dN}{dt} = r \times N \times ( 1 - \frac{N}{B}) \\ \frac{dN}{dt} = r \times N \times ( \frac {B}{B} - \frac{N}{B}) \\ \frac{dN}{dt} = r \times N \times ( \frac {B-N}{B} \\ \frac{dN}{dt} = r \times \frac { N (B - N ) } {B} \\ \frac{1}{\frac{N(B-N)}{B}} \times \frac{dN}{dt} = r \\ \frac{B}{N(B-N)} \times \frac{dN}{dt} = r \\ \frac{B}{N(B-N)} \times dN = r \times dt\\ $$
$$ \int{\frac{B}{N(B-N)} \times dN} = \int {r \times dt} \\ \int{\frac{1}{N} + \frac{1}{B-N}} \times dN = \int {r \times dt}\\ ln |N| + ln |B-N| = \int {r \times dt}\\ ln | \frac{N}{B-N}| = \int {r \times dt}\\ ln | \frac{N}{B-N}| = {r}\times{t} + C\\ e^{{r}\times{t} + C}= \frac{N}{B-N}\\ e^Ce^{{r}\times{t}} = \frac{N}{B-N}\\ N = \frac{B\times e^{c}\times e^{rt}}{1 + e^{c} \times e^{rt} }\\ $$ $$ N = \frac{B \times C \times e^{rt} }{1 + C \times e^{rt}}\\ N = \frac {\frac{B \cdot C \cdot e^{rt} }{e^{rt}}} {\frac{1 + C \times e^{rt} }{e^{rt}} } \\ N= \frac{ \frac{B \times C \times e^{rt} }{e^{rt}} } { \frac{1}{e^{rt}} + \frac{c \times e^{rt}}{e^{rt}} }\\ N = \frac{B \times C}{e^{-rt} + C}\\ N = \frac{B \times C}{C+ e^{-rt}}\\ $$ Uitwerking C
$$ ln | \frac{N}{B-N}| = {r}\times{t} + C\\ $$
stel dt = 0

$$ ln | \frac{N}{B-N}| = C\\ | \frac{N}{B-N}| = e^{C} \times e^{r\times0}\\ | \frac{N}{B-N}| = e^{C} \times e^{0}\\ | \frac{N}{B-N}| = e^{C} \times 1\\ | \frac{N}{B-N}| = \check{c}\\ | \frac{N_{0}}{B-N_{0}} | = \check{c}\\ \\ N = \frac{B \times \frac{N_{0}}{B-N_{0}}}{\frac{N_{0}}{B-N_{0}} + e^{-rt}}\\ N = \frac{B \times \frac{N_{0}}{B-N_{0}}}{\frac{N_{0}}{B-N_{0}} + e^{-rt}} \times \frac{B-N_{0}}{B-N_{0}}\\ N= \frac{N_{0}B}{N_{0} + (B - N_{0}) e^{-rt}}\\ $$ Uitwerking breuksplitsen: $$ \frac{B}{N(B-N)} = \frac{p}{N} + \frac{q}{B-N}\\ \frac{p}{N} \times \frac{B-N}{B-N} + \frac{q}{B-N} \times \frac{N}{N}\\ \frac{p(B-N)}{N(B-N)} + \frac{qN}{(B-N)N}\\ \frac{p(B-N) + qN}{N(B-N)}\\ \\ p(B-N) + qN = B\\ pB -pN = qN = B\\ pB + N(-p + q) = B\\ \\ p = 1 \wedge (-p + q) = 0\\ p = 1 \wedge q = 1\\ \\ \frac{B}{N(B-N)} = \frac{1}{N} + \frac{1}{B-N}\\ $$

Hieronder volgt een voorbeeld van de groei-functie:

1) startpopulatie (N0) = 100
2) grens van de populatie (B) = 1000
3) initiële groeiratio (r) = 0.8

groeifunctie =  (100*1000)/ (100 + (1000 -100) * e^(-0.8*x))
afgeleide = (7200*e^((4*x)/5))/(e^((4*x)/5)+9)^2


begrenzingsfunctie = 1000
x1 = 0
x2 = 10



Klassiek voorbeeld van de logaritmische groei:



woensdag 28 maart 2018

Pet Project Zombies : Exponentiële Groei



zie deel 1 tot en met 4


Een populatie bacteriën groeit met steeds met een factor r van de huidige populatie. Gegeven een beginaantal, wat is de formule die de omvang omvang van de populatie (de aantallen bacterieën ) weergeeft in de loop van de tijd. $$ \frac{dN}{dt} = r \times N\\ \frac{1}{N} \times \frac{dN}{dt} = r\\ \frac{1}{N} \times {dN} = r \times {dt}\\ \int{\frac{1}{N} \times {dN}} = \int{r \times {dt}}\\ ln|N| = r \times t + C\\ e^{r \times t + c } = |N|\\ e^{C} \times e^{r \times t} = |N|\\ |N| = N_{0} \times e^{r \times t} $$



$$ N_{0} = 10 bacteriën\\ r = 10% $$


Referenties:
 https://www.youtube.com/watch?v=_JpS8k1a9yE

https://www.khanacademy.org/math/differential-equations/first-order-differential-equations/separable-equations/v/addressing-treating-differentials-algebraically