Neurale netwerken en deep learning bieden momenteel enkele van de meest betrouwbare beeldherkenning, spraakherkenning en natuurlijke taalverwerking beschikbare oplossingen. Het was echter niet altijd zo.
Een van de vroegste en eenvoudigste onderwijsfilosofieën voor kunstmatige intelligentie was marginaal succesvol. Het suggereerde dat het laden van de maximale hoeveelheid informatie in een krachtige computer en het maximaliseren van de aanwijzingen die worden gebruikt om de gegevens te begrijpen, die computer het vermogen zou moeten geven om te ‘denken’. Het was een eenvoudig concept, en het was zeker het proberen waard.
Dit concept werd gebruikt om schaakcomputers te ontwikkelen, zoals IBM’s beroemde Deep Blue. Door te proberen elke mogelijke zet in de schaakcomputer te programmeren, inclusief bekende strategieën, zou hij moeten leren elke mogelijke zet te voorspellen, waardoor hij zijn tegenstander kan verslaan. Het systeem werkte wel en won in 1996 zijn eerste wedstrijd tegen wereldkampioen schaken Garry Kasparov.
Dit soort computertraining is gebaseerd op rigide, ingebouwde regels die zorgvuldig zijn geschreven door ingenieurs (als dit gebeurt, reageer dan op deze manier; als dat gebeurt, reageer dan op deze manier). Dit denkt niet. Het is meer een ongecontroleerde, gebruikelijke reactie.
In de afgelopen tien jaar hebben wetenschappers het concept van vertrouwen op een gigantisch encyclopedisch geheugen laten vallen en hebben ze zich geconcentreerd op het gebruik van eenvoudigere manieren om met data te werken – manieren die losjes gebaseerd zijn op het menselijke denkproces. Bekend als diep leren – en met behulp van neurale netwerken – dit concept werd oorspronkelijk ontwikkeld in de jaren veertig en is nu veelbelovend.
Kunstmatige neurale netwerken
Kunstmatige neurale netwerken zijn computersystemen die losjes gemodelleerd zijn naar de neurale netwerken van het menselijk brein. Hoewel ze niet zo efficiënt zijn, presteren ze op ongeveer vergelijkbare manieren. Het brein leert van wat het ervaart, en dat geldt ook voor deze systemen. Kunstmatige neurale netwerken leren taken door steekproeven te vergelijken, meestal zonder specifiek toegewezen doelen.
Tijdens het leren van beeldherkenning, neurale netwerken in opleiding zou leren afbeeldingen met honden te identificeren door voorbeeldafbeeldingen te onderzoeken die zijn gelabeld met “hond” of “geen hond” -labels en vervolgens die resultaten te gebruiken om honden te lokaliseren en te identificeren in nieuwe afbeeldingen. Deze neurale netwerken beginnen vanaf nul, zonder gegevens over hondenkenmerken, zoals staarten, oren en vacht. De systemen ontwikkelen hun eigen begrip van relevante kenmerken op basis van het leermateriaal dat wordt verwerkt. (Het menselijk brein begint niet vanaf nul. Ruimte voor een kleine evolutie?)
Een belangrijk voordeel van neurale netwerken is hun vermogen om te leren niet-lineaire manieren. Dit betekent dat ze de mogelijkheid hebben om kenmerken in een afbeelding te herkennen die niet duidelijk zijn. Bij het identificeren van sinaasappels kunnen neurale netwerken bijvoorbeeld sommige in direct zonlicht zien en andere in de schaduw van een boom, of ze kunnen een schaal met sinaasappels op een plank op een foto met een ander onderwerp zien. Dit vermogen is het resultaat van een activeringslaag die is ontworpen om de nuttige details in het identificatieproces te benadrukken.
Een kunstmatige neuraal netwerk gebruikt een verzameling verbonden knooppunten die kunstmatige neuronen worden genoemd – een simplistische imitatie van biologische neuronen. De verbindingen zijn versies van synapsen en werken wanneer een kunstmatig neuron een signaal van de ene naar de andere zendt. Het kunstmatige neuron dat het signaal ontvangt, kan het verwerken en vervolgens kunstmatige neuronen signaleren die ermee verbonden zijn.
Er zijn zes soorten neurale netwerken, maar twee zijn het populairst: recurrent en feedforward. EEN feedforward neuraal netwerk verzendt gegevens slechts in één richting. Gegevens worden verplaatst van invoerknooppunten, via verborgen knooppunten (indien aanwezig) en naar de uitvoerknooppunten. Feedforward neurale netwerken gebruiken geen lussen of cycli en worden beschouwd als het eenvoudigste type neuraal netwerk. Dit type systeem kan veel verborgen lagen bevatten.
EEN terugkerend neuraal netwerk, aan de andere kant, gebruikt verbindingen tussen knooppunten om een gerichte grafiek als een reeks te maken, waardoor gegevens heen en weer kunnen stromen. Het netwerk vormt een gerichte cyclus, wat wordt uitgedrukt als “dynamisch gedrag in de tijd” – gegevens waarvan de toestand in de loop van de tijd verandert en differentiaalvergelijkingen gehoorzamen met behulp van tijdafgeleiden. Het terugkerende neurale netwerk kan zijn interne geheugen gebruiken om de reeks invoer te verwerken. Dit type neuraal netwerk is populair voor handschrift- en spraakherkenning.
Diepgaande neurale netwerken
Diep leren gebruikt neurale netwerken om te imiteren hoe het menselijk brein werkt. Duizenden onderling verbonden kunstmatige neuronen zijn gerangschikt in meerdere verwerkingslagen. (Twee lagen zijn gemeenschappelijk met andere machine learning systemen.) De extra verwerkingslagen zorgen voor abstracties op een hoger niveau, waardoor betere classificaties en nauwkeurigere voorspellingen worden geboden. Diep leren is ideaal voor het werken met big data, spraakherkenning en gespreksvaardigheden.
Kunstmatige neuronen vaak een gewicht hebben die zich aanpast naarmate het leerproces vordert. Het gewicht verhoogt of verlaagt de sterkte van het signaal bij een verbinding. Kunstmatige neuronen kunnen een zodanige drempel hebben dat alleen als het geaggregeerde signaal die drempel overschrijdt, het signaal wordt verzonden.
Meestal zijn kunstmatige neuronen georganiseerd in lagen. Verschillende lagen kunnen verschillende soorten transformaties uitvoeren op hun invoer. Signalen gaan van de eerste (invoer) laag naar de laatste (uitvoer) laag, mogelijk nadat ze de lagen meerdere keren hebben doorlopen.
Een algoritme genaamd functie-extractie is een ander facet van diep leren. Dit facet construeert automatisch betekenisvolle ‘kenmerken’ uit de gegevens voor leren, trainen en begrijpen.
Diepe neurale netwerkalgoritmen
Diepe neurale netwerkalgoritmen zijn een onderverdeling van machine learning die “deep learning” gebruiken voor trainingsdoeleinden. Deze algoritmen kunnen patronen voorspellen door gebruik te maken van eerdere ervaringen. Als een vorm van machine learning, deep learning gebruikt algoritmen bij het verwerken van gegevens en het imiteren van het denkproces. Deep learning gebruikt verschillende lagen algoritmen om de gegevens te verwerken, waardoor de computer objecten visueel kan herkennen en menselijke spraak kan begrijpen. Gegevens passeren elke laag en de uitvoer van de vorige laag levert invoer voor de volgende laag. De allereerste laag van een netwerk wordt de invoerlaag genoemd. De laatste laag wordt een uitvoerlaag genoemd. Alle lagen tussen deze twee worden verborgen lagen genoemd. Deze lagen gebruiken normaal gesproken eenvoudige, uniforme algoritmen die slechts één soort activeringsfunctie bevatten.
Het concept van machine learning omvat zowel robotica (werken met de echte wereld) als het verwerken van gegevens (het equivalent van denken voor computers). Machine learning-algoritmen zoeken en vinden voorspelbare en herhaalbare patronen die vervolgens kunnen worden gebruikt voor gegevensbeheer, e-commerce en andere nieuwe technologieën. De volledige impact van machine learning begint nu pas merkbaar te worden en kan de manier waarop producten worden gemaakt – en de manier waarop mensen de kost verdienen, aanzienlijk veranderen.
Robots gebruiken neurale netwerken om problemen en patronen te leren en hierop te anticiperen. De Mars-rover, Curiosity, gebruikt een versie van machine learning om het terrein van Mars te doorkruisen. Vergelijkbare algoritmen worden gebruikt voor zelfrijdende auto’s.
Convolutionele neurale netwerken
Het nieuwste op het gebied van beeldherkenning is sterk afhankelijk van convolutionele neurale netwerken (CNN). Dit concept maakt gebruik van een wiskundig systeem dat bekend staat als ‘convolutie’, waarmee computers afbeeldingen kunnen analyseren met behulp van niet-letterlijke strategieën. Hierdoor kunnen CNN’s bijvoorbeeld iets gedeeltelijk verduisterd identificeren. Over het algemeen wordt een convolutioneel neuraal netwerk, naast de invoer- en uitvoerlagen, geleverd met vier essentiële lagen van neuronen:
- Convolutie
- Activering
- Samenvoegen
- Volledig verbonden
In de primaire convolutielaag gedragen duizenden neuronen zich als filters, waarbij ze elk deel en elke pixel in de afbeelding scannen, op zoek naar patronen. Terwijl beelden worden verwerkt, wat meer ervaring oplevert, leert elk neuron specifieke kenmerken te zoeken, waardoor de nauwkeurigheid aanzienlijk wordt verbeterd.
Een convolutielaag creëert een ruw mapping-systeem, dat verschillende opgesplitste variaties van het beeld biedt, waarbij elk gefocust is op een andere filterfunctie. Neuronen zullen kenmerken zien zoals de kleur, vorm en verschillende kenmerken.
Diepe neurale netwerkhandleidingen
Deep learning, als een nieuwe vorm van onderzoek naar machine learning, richt zich doorgaans op het doel van kunstmatige intelligentie. Deep learning maakt gebruik van verschillende methoden om beeld-, geluids- en tekstgegevens te begrijpen. Bekijk deze tutorials voor meer informatie over deep learning-algoritmen:
Afbeelding gebruikt onder licentie van Shutterstock.com