stomp Wat is diep leren? (2024) - Unite.AI
Verbind je met ons

AI 101

Wat is diep leren?

mm
Bijgewerkt on

Deep learning is een van de meest invloedrijke en snelst groeiende vakgebieden op het gebied van kunstmatige intelligentie. Het kan echter moeilijk zijn om een ​​intuïtief begrip van deep learning te krijgen, omdat de term deep learning een verscheidenheid aan verschillende algoritmen en technieken omvat. Diep leren is ook een subdiscipline van machinaal leren in het algemeen, dus het is belangrijk om te begrijpen wat machine leren is om diep leren te begrijpen.

Wat is machinaal leren?

Diepe leer is een uitbreiding van enkele concepten die voortkomen uit machine learning, dus laten we daarom even de tijd nemen om uit te leggen wat machine learning is.

Simpel gezegd, machine learning is een methode om computers in staat te stellen specifieke taken uit te voeren zonder expliciet elke regel van de algoritmen te coderen die worden gebruikt om die taken uit te voeren. Er zijn veel verschillende machine learning-algoritmen, maar een van de meest gebruikte algoritmen is a meerlagige perceptron. Een meerlagig perceptron wordt ook wel een neuraal netwerk genoemd en bestaat uit een reeks aan elkaar gekoppelde knooppunten/neuronen. Er zijn drie verschillende lagen in een meerlaags perceptron: de invoerlaag, de verborgen laag en de uitvoerlaag.

De invoerlaag brengt de gegevens naar het netwerk, waar ze worden gemanipuleerd door de knooppunten in de middelste/verborgen laag. De knooppunten in de verborgen laag zijn wiskundige functies die de gegevens uit de invoerlaag kunnen manipuleren en relevante patronen uit de invoergegevens kunnen extraheren. Dit is hoe het neurale netwerk "leert". Neurale netwerken ontlenen hun naam aan het feit dat ze zijn geïnspireerd door de structuur en functie van het menselijk brein.

De verbindingen tussen knooppunten in het netwerk hebben waarden die gewichten worden genoemd. Deze waarden zijn in wezen aannames over hoe de gegevens in de ene laag verband houden met de gegevens in de volgende laag. Terwijl het netwerk traint, worden de gewichten aangepast en het doel is dat de gewichten/aannames over de gegevens uiteindelijk zullen convergeren naar waarden die de betekenisvolle patronen binnen de gegevens nauwkeurig weergeven.

Activeringsfuncties zijn aanwezig in de knooppunten van het netwerk en deze activeringsfuncties transformeren de gegevens op een niet-lineaire manier, waardoor het netwerk complexe representaties van de gegevens kan leren. Activeringsfuncties vermenigvuldigen de invoerwaarden met de gewichtswaarden en voegen een biasterm toe.

Wat is diep leren?

Diep leren is de term die wordt gegeven aan machine learning-architecturen die veel meerlagige perceptrons met elkaar verbinden, zodat er niet slechts één verborgen laag is, maar veel verborgen lagen. Hoe "dieper" het diepe neurale netwerk is, hoe geavanceerder patronen het netwerk kan leren.

De diepe laagnetwerken die uit neuronen bestaan, worden soms volledig verbonden netwerken of volledig verbonden lagen genoemd, verwijzend naar het feit dat een bepaald neuron een verbinding onderhoudt met alle neuronen eromheen. Volledig verbonden netwerken kunnen worden gecombineerd met andere machine learning-functies om verschillende deep learning-architecturen te creëren.

Verschillende soorten diep leren

Er zijn verschillende deep learning-architecturen die worden gebruikt door onderzoekers en ingenieurs, en elk van de verschillende architecturen heeft zijn eigen specialiteit.

Convolutional Neural Networks

Convolutionele neurale netwerken, of CNN's, zijn de neurale netwerkarchitectuur die vaak wordt gebruikt bij het creëren van computervisiesystemen. De structuur van convolutionele neurale netwerken stelt hen in staat beeldgegevens te interpreteren en deze om te zetten in cijfers die een volledig verbonden netwerk kan interpreteren. Een CNN bestaat uit vier hoofdcomponenten:

  • Convolutionele lagen
  • Subsampling/pooling van lagen
  • Activeringsfuncties
  • Volledig verbonden lagen

De convolutionele lagen nemen de afbeeldingen op als invoer in het netwerk, analyseren de afbeeldingen en krijgen de waarden van de pixels. Bij subsampling of pooling worden de beeldwaarden geconverteerd/verkleind om de weergave van de beelden te vereenvoudigen en de gevoeligheid van de beeldfilters voor ruis te verminderen. De activeringsfuncties bepalen hoe de gegevens van de ene laag naar de volgende laag stromen, en de volledig verbonden lagen analyseren de waarden die de afbeelding vertegenwoordigen en leren de patronen in die waarden.

RNN's / LSTM's

Terugkerende neurale netwerken, of RNN's, zijn populair voor taken waarbij de volgorde van de gegevens van belang is, waarbij het netwerk een reeks gegevens moet leren kennen. RNN's worden vaak toegepast bij problemen zoals de verwerking van natuurlijke taal, omdat de volgorde van woorden van belang is bij het decoderen van de betekenis van een zin. Het “recurrente” deel van de term Recurrent Neural Network komt voort uit het feit dat de output voor een bepaald element in een reeks afhankelijk is van zowel de vorige berekening als de huidige berekening. In tegenstelling tot andere vormen van diepe neurale netwerken hebben RNN’s ‘herinneringen’, en de informatie die in de verschillende tijdstappen in de reeks wordt berekend, wordt gebruikt om de uiteindelijke waarden te berekenen.

Er zijn meerdere soorten RNN's, waaronder bidirectionele RNN's, die naast de voorgaande items ook rekening houden met toekomstige items in de reeks bij het berekenen van de waarde van een item. Een ander type RNN is a Lange-kortetermijngeheugen of LSTM, netwerk. LSTM's zijn typen RNN die lange gegevensketens aankunnen. Reguliere RNN's kunnen het slachtoffer worden van iets dat het "exploderende gradiëntprobleem" wordt genoemd. Dit probleem doet zich voor wanneer de keten van invoergegevens extreem lang wordt, maar LSTM's beschikken over technieken om dit probleem te verhelpen.

Auto-encoders

De meeste van de tot nu toe genoemde deep learning-architecturen worden toegepast op leerproblemen onder toezicht, in plaats van op leertaken zonder toezicht. Autoencoders kunnen niet-gecontroleerde gegevens omzetten in een gecontroleerd formaat, waardoor neurale netwerken voor het probleem kunnen worden gebruikt.

Auto-encoders worden vaak gebruikt om afwijkingen in datasets op te sporen, een voorbeeld van leren zonder toezicht, aangezien de aard van de afwijking niet bekend is. Dergelijke voorbeelden van anomaliedetectie zijn onder meer fraudedetectie voor financiële instellingen. In deze context is het doel van een autoencoder om een ​​basislijn van regelmatige patronen in de gegevens te bepalen en afwijkingen of uitschieters te identificeren.

De structuur van een autoencoder is vaak symmetrisch, met verborgen lagen die zodanig zijn gerangschikt dat de uitvoer van het netwerk lijkt op de invoer. De vier typen auto-encoders die veelvuldig worden gebruikt, zijn:

  • Gewone/gewone auto-encoders
  • Meerlaagse encoders
  • Convolutionele encoders
  • Geregulariseerde encoders

Normale/gewone auto-encoders zijn slechts neurale netwerken met een enkele verborgen laag, terwijl meerlagige auto-encoders diepe netwerken zijn met meer dan één verborgen laag. Convolutionele automatische encoders gebruiken convolutionele lagen in plaats van of naast volledig verbonden lagen. Geregulariseerde auto-encoders gebruiken een specifiek soort verliesfunctie waarmee het neurale netwerk complexere functies kan uitvoeren, andere functies dan alleen het kopiëren van invoer naar uitvoer.

Generatieve tegengestelde netwerken

Generatieve tegengestelde netwerken (GAN's) zijn eigenlijk meerdere diepe neurale netwerken in plaats van slechts één netwerk. Twee deep learning-modellen worden tegelijkertijd getraind en hun uitvoer wordt naar het andere netwerk gevoerd. De netwerken concurreren met elkaar en aangezien ze toegang krijgen tot elkaars outputgegevens, leren ze allebei van deze gegevens en verbeteren ze. De twee netwerken spelen in wezen een spel van vervalsing en detectie, waarbij het generatieve model nieuwe instanties probeert te creëren die het detectivemodel/de discriminator voor de gek houden. GAN's zijn populair geworden op het gebied van computervisie.

Samenvatting van diep leren

Diep leren breidt de principes van neurale netwerken uit om geavanceerde modellen te creëren die complexe patronen kunnen leren en die patronen kunnen generaliseren naar toekomstige datasets. Convolutionele neurale netwerken worden gebruikt om afbeeldingen te interpreteren, terwijl RNN's/LSTM's worden gebruikt om sequentiële gegevens te interpreteren. Autoencoders kunnen leertaken zonder toezicht omzetten in leertaken onder toezicht. Ten slotte zijn GAN's meerdere netwerken die tegen elkaar zijn opgezet en die vooral handig zijn voor computervisietaken.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.