In de werkplaats voor AI en locatiedata van Geosamen, delen verschillende experts hun ervaringen en werken zij samen aan het vergroten en verbreden van hun kennis. In deze editie deelt Xander Wilcke kennis over Kunstmatige Intelligentie. Machine learning, deep learning, neurale netwerken... Wat houden deze termen in? En waar is kunstmatige intelligentie toegepast op ruimtelijke data?
Artificial Intelligence
Artificial Intelligence (AI), oftewel Kunstmatige Intelligentie, is een vakgebied waarin men probeert om het uitvoeren van complexe cognitieve taken door computersystemen mogelijk te maken, waar deze taken van oudsher enkel aan mensen toegeschreven werden. Hoewel dit vakgebied al sinds de jaren 40 van de vorige eeuw bestaat, heeft de enorme toename in rekenkracht van computersystemen in de afgelopen twee decennia ertoe geleid dat het praktisch haalbaar werd om AI technieken buiten de academische wereld toe te passen. Hierbij betreft het specifiek de technieken die onder de noemer machine learning vallen: een collectie van statistische modellen die door middel van inductief redeneren patronen binnen de data kunnen herkennen, en die op basis hiervan voorspellingen kunnen maken [Alpaydin20].
Machine Learning: Modellen en Leermethodes
Binnen de wereld van machine learning draait alles om het trainen van modellen, oftewel het vinden van geschikte parameters waarmee een model de oplossing tot tevredenheid benaderd. Om deze geschikte parameters te vinden ondergaat een model een leerproces van vele iteraties, of epoch, waarbij tijdens iedere iteratie de uitkomsten overnieuw berekend worden, om vervolgens de parameters van het model bij te stellen. Dit proces herhaalt zich net zolang totdat het verschil met de beoogde oplossing minimaal is---zogenaamde convergence---of tot het maximale aantal iteraties is bereikt.
Er zijn grofweg drie overkoepelende methodes om modellen te trainen: via supervised learning, via unsupervised learning, of via reinforcement learning:
Bij supervised learning biedt men het model een volledig geannoteerde dataset aan, met als doel om de relaties tussen de datapunten en hun annotaties, of labels, zo nauwkeurig mogelijk te leren. Het classificeren van nieuwe datapunten is bij uitstek een taak die hieronder valt, bijvoorbeeld om objecten te categoriseren in vooraf gedefinieerde groepen.
Bij unsupervised learning biedt men het model puur en alleen de dataset aan, en wordt er getracht onderliggende statistische eigenschappen te gebruiken om patronen te herkennen. Een voorbeeld van een taak die hieronder valt is clusteren, waarbij vergelijkbare datapunten bij elkaar in een groep geplaatst worden. De keuze voor deze vorm van leren komt veelal voort uit de afwezigheid van geannoteerde data, en van de vaak hoge kosten die het annoteren vraagt.
Bij reinforcement learning biedt men het model alleen de dataset aan, en wordt er vervolgens na iedere iteratie van de leermethode een score berekend---de fitness--- waarna het model op basis hiervan bijgesteld wordt. Deze vorm van leren komt vooral voor wanneer het model binnen een (virtuele) omgeving of simulatie moet functioneren.
Losjes verbonden aan de bovenstaande leermethodes zijn de statistische modellen. Door de vele ontwikkelingen en kruisbestuivingen is er een ware wildgroei aan zulke modellen, wat het noemen en zelfs classificeren daarvan tot een uitdaging maakt. Van oudsher veel gebruikte modellen zijn bijvoorbeeld decision trees, regressiemodellen, en modellen gebaseerd op de Bayesiaanse theory van waarschijnlijkheden. Tegenwoordig is het echter vooral één familie modellen die de boventoon voert, en die de term deep learning belichaamt: de neurale netwerken.
Neural Networks
Neurale netwerken, oftewel artificial neural networks, bestaan uit meerdere lagen van kunstmatige neuronen, of nodes, die via speciale verbindingen aan elkaar verbonden zijn [Rosenblatt60]. Ieder van deze verbindingen heeft een eigen gewicht wat het signaal, een numerieke waarde, dat over de verbinding loopt naar boven of beneden kan bijstellen om het netwerk te kunnen laten leren [Rumelhart86]. De neuronen, daarentegen, zijn simpele wiskundige functies die het binnenkomende signaal vervolgens verder verfijnen. De gezamenlijke uitgaande signalen van de laatste laag neuronen vertegenwoordigen de uitkomst van het netwerk.
Hoewel neurale netwerken al vele decennia bestaan, was het tot recentelijk bijna onmogelijk om dusdanig complexe netwerken te trainen dat deze buiten de academische wereld interessant geacht werden. Dit veranderde rond de eeuwwisseling met de ontwikkeling van de convolutional neural network: een complex en vernuftig netwerkontwerp die de classificatie van afbeeldingen mogelijk maakte, en daarmee het tijdperk van deep learning inluidde [Goodfellow16].
Een neuraal netwerk met drie inputs en één output.
Deep Learning
Sinds de introductie van de convolutional neural network is de ontwikkeling van deep neural networks in een stroomversnelling geraakt, voor zowel het visuele domein als daarbuiten. Waar neurale netwerken eerst nog gezien werden als lastig trainbare en onnauwkeurige modellen, vormen ze nu de basis van bijna iedere recente AI ontwikkeling, van zelfrijdende auto’s tot gezichtsherkenning op de smartphone. Ieder van deze netwerken is specifiek ontwikkeld voor het probleem dat ze geacht worden om op te lossen. Desondanks zijn er bepaalde types van diepe neurale netwerken ontstaan die uitermate geschikt blijken voor een bepaald soort taak. Enkele prominente types worden hieronder kort uitgelicht:
Convolutional Neural Networks (CNN) zijn neurale netwerken die de werking van de visuele cortex proberen na te bootsen [LeCun89]. Hiervoor gebruikt een CNN filters, die voor ieder d x d blokje pixels in de input één waarde berekent, om die naar de input output volgende laag mee te nemen, hier feature maps genoemd. Deze vereenvoudigde voorstelling wordt vervolgens verder vereenvoudigd met behulp van subsampling, of pooling, waarbij vaak alleen de pixel met de hoogste waarde wordt meegenomen. Samen met de eerder beschreven convolution stap leidt dit tot een efficiënt en robuust model voor beeldherkenning.
Een Convolutional Neural Network met één convolutie- en poolstap. De laatste laag
is een regulier neuraal netwerk bedoeld om de feature maps naar numerieke
waardes om te vormen.
(Variational) Auto-Encoders (AE) zijn neurale netwerken waarmee data kan worden gecomprimeerd of synthetische data kan worden gegenereerd [Kingma13]. Hiervoor bestaat een AE uit een tweetal gekoppelde netwerken: de encoder en de decoder. De encoder begint met een groot aantal neuronen en eindigt met een laag aantal neuronen, waardoor het netwerk gedwongen wordt om de data ondanks minder speelruimte toch zo goed mogelijk te representeren (compressie). De decoder loopt precies andersom, en probeert de oorspronkelijke data zo goed als het kan weer vanuit de gecomprimeerde versie te herstellen. Synthetische data kan nu ook gegenereerd worden, door de decoder in plaats van gecomprimeerde data willekeurige data aan te bieden. De variational AE volgt hetzelfde principe, maar leert de onderliggende statistische distributie van de data.
Een Auto Encoder netwerk met links de encoder en rechts de decoder. De middelste
laag (de ‘bottleneck’) representeert de compressie.
Generative Adversarial Networks (GANs) zijn neurale netwerken geschikt om synthetische data te genereren of om bestaande data te vervormen [Goodfellow14], waaronder het inkleuren van zwart-wit foto's. Net als de AE gebruikt een GAN hiervoor een tweetal gekoppelde netwerken: de discriminator en de generator. De discriminator is een regulier netwerk dat getraind wordt om de data zo goed mogelijk te classificeren, terwijl hetzelfde gedaan wordt voor de generator, maar dan op willekeurige data. Naarmate het netwerk traint wordt op deze manier de generator geleerd om synthetische data te produceren die zo dicht mogelijk lijkt op de echte data.
Een Generative Adversarial Network. De discriminator en generator bestaan uit
neurale netwerken.
Recurrent Neural Networks (RNN) zijn neurale netwerken die informatie over een mogelijke volgorde in de data meenemen in het leerproces [Gers02]. Deze volgorde kan bijvoorbeeld de tijd vertegenwoordigen wanneer datapunten geobserveerd zijn, waarbij het netwerk de laatste paar datapunten onthoudt. Een ander voorbeeld is de volgorde van woorden in een zin, waarbij de woorden voor en na het te-leren woord als context meegenomen worden.
Om de volgorde mee te nemen laten deze zogenaamde sequence modellen de (tussentijdse) uitkomst van een laag neuronen weer terugvloeien naar het netwerk, bijvoorbeeld door een verbinding van de laatste laag naar de eerste laag in te bouwen. Geavanceerdere varianten, zoals Long Short Term Memory networks (LSTM) en Transformers, bouwen hierop door met complexere tussenverbindingen, en zijn uitermate geschikt voor taalherkenning.
Een Recurrent Neural Network waarin de output van een neuron hergebruikt wordt.
Modellen delen en hergebruiken
Ondanks de snel toenemende rekenkracht van computertechniek kost het relatief veel tijd om een diep netwerk tot tevredenheid te trainen. Mede hierdoor is er in de laatste decennia een markt ontstaan omtrent het hergebruik en het delen van getrainde of pretrained modellen. Aangezien het trainen van modellen gelijk staat aan het optimaliseren van de gewichten van een netwerk, kunnen we het delen van getrainde modellen dus ook zien als het delen van diens gewichten. Een kanttekening hierbij is dat, voor het hergebruik van pretrained modellen, veelal dezelfde software stack beschikbaar moet zijn als die waarmee de modellen getraind zijn. Veelgebruikte voorbeelden hiervan zijn PyTorch1 en TensorFlow2.
Deep Learning op Ruimtelijke Data
Binnen de wereld van ruimtelijke data heeft deep learning ondertussen ook aardig wat aan populariteit gewonnen. In het begin betroffen dit vooral toepassing van bestaande convolutional neural networks, bijvoorbeeld om spatial features te herkennen, maar sindsdien zijn er ook vele modellen ontwikkeld die zich specifiek op ruimtelijke data en bijbehorende vraagstukken richten. Om onszelf niet te verliezen in de details van de vele modellen, is hier gekozen voor een overzicht van de grote lijnen, hieronder gecategoriseerd naar toepassing.
Overkoepelende overzichten
- Wang, Senzhang, Jiannong Cao, and Philip Yu. "Deep learning for spatio-temporal data mining: A survey." IEEE transactions on knowledge and data engineering (2020).
- Nikparvar, Behnam, and Jean-Claude Thill. "Machine Learning of Spatial Data." ISPRS International Journal of Geo-Information 10.9 (2021): 600.
- Souza, Jovani Taveira de, et al. "Data mining and machine learning to promote smart cities: A systematic review from 2000 to 2018." Sustainability 11.4 (2019): 1077.
- Grekousis, George. "Artificial neural networks and deep learning in urban geography: A systematic review and meta-analysis." Computers, Environment and Urban Systems 74 (2019): 244-256.
Smart Cities
- Yigitcanlar, Tan, et al. "Contributions and risks of artificial intelligence (AI) in building smarter cities: Insights from a systematic review of the literature." Energies 13.6 (2020): 1473.
- Yigitcanlar, Tan, and Federico Cugurullo. "The sustainability of artificial intelligence: An urbanistic viewpoint from the lens of smart and sustainable cities." Sustainability 12.20 (2020): 8548.
- Nosratabadi, Saeed, et al. "State of the art survey of deep learning and machine learning models for smart cities and urban sustainability." International Conference on Global Research and Education. Springer, Cham, 2019.
Remote Sensing
- Ball, John E., Derek T. Anderson, and Chee Seng Chan Sr. "Comprehensive survey of deep learning in remote sensing: theories, tools, and challenges for the community." Journal of Applied Remote Sensing 11.4 (2017): 042609. 1 https://www.pytorch.org 2 https://www.tensorflow.org
- Ma, Lei, et al. "Deep learning in remote sensing applications: A meta-analysis and review." ISPRS journal of photogrammetry and remote sensing 152 (2019): 166-177.
- Cheng, Gong, Junwei Han, and Xiaoqiang Lu. "Remote sensing image scene classification: Benchmark and state of the art." Proceedings of the IEEE 105.10 (2017): 1865-1883.
- Yuan, Qiangqiang, et al. "Deep learning in environmental remote sensing: Achievements and challenges." Remote Sensing of Environment 241 (2020): 111716.
Agent Behaviour Prediction
- Nagy, Attila M., and Vilmos Simon. "Survey on traffic prediction in smart cities." Pervasive and Mobile Computing 50 (2018): 148-163.
- Do, Loan NN, Neda Taherifar, and Hai L. Vu. "Survey of neural network‐based models for short‐term traffic state prediction." Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 9.1 (2019): e1285.
- Xie, Peng, et al. "Urban flow prediction from spatiotemporal data using machine learning: A survey." Information Fusion 59 (2020): 1-12.
- Yin, Xueyan, et al. "A comprehensive survey on traffic prediction." arXiv preprint arXiv:2004.08555 (2020).
- Miglani, Arzoo, and Neeraj Kumar. "Deep learning models for traffic flow prediction in autonomous vehicles: A review, solutions, and challenges." Vehicular Communications 20 (2019): 100184.
Agriculture
- Kamilaris, Andreas, and Francesc X. Prenafeta-Boldú. "Deep learning in agriculture: A survey." Computers and electronics in agriculture 147 (2018): 70-90.
- Weiss, Marie, Frédéric Jacob, and Grgory Duveiller. "Remote sensing for agricultural applications: A meta-review." Remote Sensing of Environment 236 (2020): 111402.
- Jha, Kirtan, et al. "A comprehensive review on automation in agriculture using artificial intelligence." Artificial Intelligence in Agriculture 2 (2019): 1-12.
Bibliografie
[Alpaydin20] Alpaydin, Ethem. Introduction to machine learning. MIT press, 2020.
[Gers02] Gers, Felix A., Nicol N. Schraudolph, and Jürgen Schmidhuber.
"Learning precise timing with LSTM recurrent networks." Journal of machine learning research 3.Aug (2002): 115-143.
[Goodfellow14] Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems 27 (2014).
[Goodfellow16] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.
[Kingma13] Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).
[LeCun89] LeCun, Yann, et al. "Backpropagation applied to handwritten zip code recognition." Neural computation 1.4 (1989): 541-551.
[Miao17] Miao, Hui, et al. "Towards unified data and lifecycle management for deep learning." 2017 IEEE 33rd International Conference on Data Engineering (ICDE). IEEE, 2017.
[Rosenblatt60] Rosenblatt, Frank. "Perceptron simulation experiments." Proceedings of the IRE 48.3 (1960): 301-309.
[Rumelhart86] Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. "Learning representations by back-propagating errors." nature 323.6088 (1986): 533-536