Wat is AI?
AI (kunstmatige intelligentie) is een tak van de informatica waarin machines worden geprogrammeerd en een cognitief vermogen krijgen om te denken en handelingen na te bootsen zoals mensen en dieren. De maatstaf voor AI is menselijke intelligentie met betrekking tot redeneren, spreken, leren, visie en probleemoplossing, wat nog ver weg is in de toekomst.
AI heeft drie verschillende niveaus:
- Smalle AI : een kunstmatige intelligentie zou smal zijn wanneer de machine een specifieke taak beter kan uitvoeren dan een mens. Het huidige onderzoek naar AI is er nu
- Algemene AI : een kunstmatige intelligentie bereikt de algemene toestand wanneer het elke intellectuele taak kan uitvoeren met hetzelfde nauwkeurigheidsniveau als een mens zou doen
- Actieve AI : een AI is actief wanneer deze mensen in veel taken kan verslaan
Vroege AI-systemen gebruikten patroonherkenning en expertsystemen.
In deze tutorial leer je-
- Wat is AI?
- Wat is ML?
- Wat is diep leren?
- Machine leerproces
- Diep leerproces
- Automatiseer feature-extractie met DL
- Verschil tussen machine learning en deep learning
- Wanneer ML of DL gebruiken?
Wat is ML?
ML (Machine Learning) is een type AI waarin een computer wordt getraind om taken te automatiseren die uitputtend of onmogelijk zijn voor mensen. Het is de beste tool om patronen in gegevens te analyseren, begrijpen en identificeren op basis van de studie van computeralgoritmen. Machine learning kan beslissingen nemen met minimale menselijke tussenkomst.
Door kunstmatige intelligentie te vergelijken met machine learning, gebruikt machine learning data om een algoritme te voeden dat de relatie tussen de input en de output kan begrijpen. Wanneer de machine klaar is met leren, kan deze de waarde of de klasse van een nieuw gegevenspunt voorspellen.
Wat is diep leren?
Deep learning is een computersoftware die het netwerk van neuronen in de hersenen nabootst. Het is een subset van machine learning en wordt diep leren genoemd omdat het gebruik maakt van diepe neurale netwerken. De machine gebruikt verschillende lagen om van de data te leren. De diepte van het model wordt weergegeven door het aantal lagen in het model. Deep learning is de nieuwe stand van zaken op het gebied van AI. Bij deep learning verloopt de leerfase via een neuraal netwerk. Een neuraal netwerk is een architectuur waarbij de lagen op elkaar worden gestapeld
Machine leerproces
Stel je voor dat het de bedoeling is dat je een programma bouwt dat objecten herkent. Om het model te trainen, gebruik je een classificator . Een classifier gebruikt de kenmerken van een object om te proberen de klasse te identificeren waartoe het behoort.
In het voorbeeld wordt de classifier getraind om te detecteren of de afbeelding een:
- Fiets
- Boot
- Auto
- Vlak
De vier bovenstaande objecten zijn de klasse die de classificator moet herkennen. Om een classificator te construeren, moet u enkele gegevens als invoer hebben en er een label aan toewijzen. Het algoritme neemt deze gegevens, zoekt een patroon en classificeert het vervolgens in de overeenkomstige klasse.
Deze taak wordt begeleid leren genoemd. Bij begeleid leren bevatten de trainingsgegevens die u aan het algoritme toevoegt een label.
Het trainen van een algoritme vereist het volgen van een paar standaardstappen:
- Verzamel de gegevens
- Train de classificator
- Voorspellingen maken
De eerste stap is noodzakelijk, het kiezen van de juiste data zorgt ervoor dat het algoritme slaagt of mislukt. De gegevens die u kiest om het model te trainen, worden een functie genoemd. In het objectvoorbeeld zijn de kenmerken de pixels van de afbeeldingen.
Elke afbeelding is een rij in de gegevens, terwijl elke pixel een kolom is. Als uw afbeelding een formaat heeft van 28x28, bevat de dataset 784 kolommen (28x28). In de onderstaande afbeelding is elke afbeelding getransformeerd in een kenmerkvector. Het label vertelt de computer welk object in de afbeelding staat.
Het doel is om deze trainingsgegevens te gebruiken om het type object te classificeren. De eerste stap bestaat uit het maken van de feature-kolommen. Vervolgens is de tweede stap het kiezen van een algoritme om het model te trainen. Als de training is voltooid, zal het model voorspellen welke afbeelding overeenkomt met welk object.
Daarna is het eenvoudig om het model te gebruiken om nieuwe afbeeldingen te voorspellen. Voor elke nieuwe afbeelding die in het model wordt ingevoerd, zal de machine de klasse voorspellen waartoe deze behoort. Er gaat bijvoorbeeld een geheel nieuwe afbeelding zonder label door het model. Voor een mens is het triviaal om het beeld als auto te visualiseren. De machine gebruikt zijn voorkennis om ook te voorspellen dat het beeld een auto is.
Diep leerproces
Bij deep learning verloopt de leerfase via een neuraal netwerk. Een neuraal netwerk is een architectuur waarbij de lagen op elkaar worden gestapeld.
Beschouw hetzelfde afbeeldingsvoorbeeld hierboven. De trainingsset zou worden toegevoerd aan een neuraal netwerk
Elke input gaat naar een neuron en wordt vermenigvuldigd met een gewicht. Het resultaat van de vermenigvuldiging vloeit naar de volgende laag en wordt de input. Dit proces wordt herhaald voor elke laag van het netwerk. De laatste laag wordt de uitvoerlaag genoemd; het geeft een werkelijke waarde voor de regressietaak en een waarschijnlijkheid van elke klasse voor de classificatietaak. Het neurale netwerk gebruikt een wiskundig algoritme om de gewichten van alle neuronen bij te werken. Het neurale netwerk is volledig getraind wanneer de waarde van de gewichten een output geeft die dicht bij de realiteit ligt. Een goed getraind neuraal netwerk kan bijvoorbeeld het object op een foto met een grotere nauwkeurigheid herkennen dan het traditionele neurale netwerk.
Automatiseer feature-extractie met DL
Een dataset kan een dozijn tot honderden features bevatten. Het systeem leert van de relevantie van deze functies. Niet alle functies zijn echter betekenisvol voor het algoritme. Een cruciaal onderdeel van machine learning is het vinden van een relevante set functies om het systeem iets te laten leren.
Een manier om dit onderdeel bij machine learning uit te voeren, is door feature-extractie te gebruiken. Feature-extractie combineert bestaande functies om een meer relevante set functies te creëren. Het kan worden gedaan met PCA, T-SNE of andere algoritmen voor het verminderen van de dimensionaliteit.
Bij een beeldverwerking moet de beoefenaar bijvoorbeeld het kenmerk handmatig uit het beeld halen, zoals de ogen, de neus, de lippen enzovoort. Die geëxtraheerde kenmerken worden ingevoerd in het classificatiemodel.
Diep leren lost dit probleem op, vooral voor een convolutioneel neuraal netwerk. De eerste laag van een neuraal netwerk leert kleine details uit de afbeelding; de volgende lagen zullen de eerdere kennis combineren om complexere informatie te maken. In het convolutionele neurale netwerk wordt de kenmerkextractie gedaan met behulp van het filter. Het netwerk past een filter toe op de afbeelding om te zien of er een overeenkomst is, dwz de vorm van het kenmerk is identiek aan een deel van de afbeelding. Als er een overeenkomst is, gebruikt het netwerk dit filter. Het extraheren van kenmerken wordt daarom automatisch uitgevoerd.
Verschil tussen machine learning en deep learning
Hieronder ziet u een belangrijk verschil tussen Deep Learning en Machine Learning
Machine leren |
Diep leren |
|
Gegevensafhankelijkheden |
Uitstekende prestaties op een kleine / middelgrote dataset |
Uitstekende prestaties op een grote dataset |
Hardware-afhankelijkheden |
Werk aan een low-end machine. |
Vereist een krachtige machine, bij voorkeur met GPU: DL voert een aanzienlijke hoeveelheid matrixvermenigvuldiging uit |
Feature engineering |
U moet de functies begrijpen die de gegevens vertegenwoordigen |
Het is niet nodig om de beste functie te begrijpen die de gegevens vertegenwoordigt |
Uitvoertijd |
Van enkele minuten tot uren |
Tot weken. Neuraal netwerk moet een aanzienlijk aantal gewichten berekenen |
Interpreteerbaarheid |
Sommige algoritmen zijn gemakkelijk te interpreteren (logistiek, beslissingsboom), andere zijn bijna onmogelijk (SVM, XGBoost) |
Moeilijk tot onmogelijk |
Wanneer ML of DL gebruiken?
In onderstaande tabel vatten we het verschil tussen machine learning en deep learning samen met voorbeelden.
Machine leren | Diep leren | |
Trainingsdataset | Klein | Groot |
Kies functies | Ja | Nee |
Aantal algoritmen | Veel | Weinig |
Trainingstijd | Kort | Lang |
Met machine learning heb je minder data nodig om het algoritme te trainen dan deep learning. Diep leren vereist een uitgebreide en diverse set gegevens om de onderliggende structuur te identificeren. Bovendien biedt machine learning een sneller getraind model. De meeste geavanceerde deep learning-architectuur kan dagen tot een week duren om te trainen. Het voordeel van deep learning ten opzichte van machine learning is dat het zeer nauwkeurig is. U hoeft niet te begrijpen welke functies de beste weergave van de gegevens zijn; het neurale netwerk leerde hoe kritieke functies te selecteren. Bij machine learning moet u zelf kiezen welke functies u in het model wilt opnemen.
Overzicht
Kunstmatige intelligentie verleent een machine een cognitief vermogen. Door AI te vergelijken met Machine Learning, gebruikten vroege AI-systemen patroonherkenning en expertsystemen.
Het idee achter machine learning is dat de machine kan leren zonder menselijke tussenkomst. De machine moet een manier vinden om te leren hoe een taak op basis van de gegevens moet worden opgelost.
Deep learning is de doorbraak op het gebied van kunstmatige intelligentie. Als er voldoende gegevens zijn om op te trainen, levert deep learning indrukwekkende resultaten op, vooral voor beeldherkenning en tekstvertaling. De belangrijkste reden is dat de functie-extractie automatisch gebeurt in de verschillende lagen van het netwerk.