complete guide artificial neural network machine learning
Deze tutorial legt uit wat een kunstmatig neuraal netwerk is, hoe een ANN werkt, de structuur en de soorten ANN- en neurale netwerkarchitectuur:
In deze Machine learning training voor iedereen , hebben we er alles over onderzocht Soorten machine learning in onze vorige tutorial.
Bespreek hier in deze tutorial de verschillende algoritmen in Neural Networks, samen met de vergelijking tussen machine learning en ANN. Voordat we leren hoe ANN bijdraagt aan machine learning, moeten we weten wat een kunstmatig neuraal netwerk is en korte kennis over machine learning.
Laten we meer ontdekken over machine learning en kunstmatige neurale netwerken !!
Lees de complete serie Machine Learning-trainingen door
Wat je leert:
- Wat is machinaal leren?
- Wat is een kunstmatig neuraal netwerk?
- Structuur van een biologisch neuraal netwerk
- Vergelijking van biologisch neuron en kunstmatig neuron
- Kenmerken van ANN
- Structuur van ANN
- Activering Functie
- Wat is een kunstmatig neuron?
- Hoe werkt kunstmatige neuron?
- Basismodellen van ANN
- Neurale netwerkarchitectuur
- Voorbeeld van een kunstmatig neuron-netwerk
- Vergelijking tussen machine learning en ANN
- Neurale netwerken en diep leren
- Kunstmatige neurale netwerktoepassingen
- Beperkingen van neurale netwerken
- Gevolgtrekking
- Aanbevolen literatuur
Wat is machinaal leren?
Machine Learning is een wetenschapsgebied dat computers in staat stelt te leren en te handelen zonder expliciet te worden geprogrammeerd. Het is een deelgebied van kunstmatige intelligentie.
standaard gateway is niet beschikbaar windows 8
Wat is een kunstmatig neuraal netwerk?
ANN is een niet-lineair model dat veel wordt gebruikt in Machine Learning en een veelbelovende toekomst heeft op het gebied van Artificial Intelligence.
Kunstmatig neuraal netwerk is analoog aan een biologisch neuraal netwerk. Een biologisch neuraal netwerk is een structuur van miljarden onderling verbonden neuronen in een menselijk brein. Het menselijk brein bestaat uit neuronen die informatie naar verschillende delen van het lichaam sturen als reactie op een uitgevoerde actie.
Vergelijkbaar hiermee is een kunstmatig neuraal netwerk (ANN) een computationeel netwerk in de wetenschap dat lijkt op de kenmerken van een menselijk brein. ANN kan modelleren als de oorspronkelijke neuronen van het menselijk brein, daarom worden ANN-verwerkingsonderdelen kunstmatige neuronen genoemd.
ANN bestaat uit een groot aantal onderling verbonden neuronen die zijn geïnspireerd door de werking van een brein. Deze neuronen hebben het vermogen om te leren, de trainingsgegevens te generaliseren en resultaten af te leiden uit gecompliceerde gegevens.
Deze netwerken worden gebruikt op het gebied van classificatie en voorspelling, patroon- en trendidentificatie, optimalisatieproblemen, etc. ANN leert van de trainingsgegevens (input en doeloutput bekend) zonder enige programmering.
Het aangeleerde neurale netwerk wordt een expert systeem met de mogelijkheid om informatie te analyseren en de vragen van een specifiek vakgebied te beantwoorden.
De formele definitie van ANN gegeven door Dr. Robert Hecht-Nielson, de uitvinder van een eerste neurocomputer, is:
'... een computersysteem dat bestaat uit een aantal eenvoudige, onderling sterk verbonden verwerkingselementen, die informatie verwerken door hun dynamische toestandsreactie op externe inputs'.
Structuur van een biologisch neuraal netwerk
Een biologisch neuraal netwerk bestaat uit:
- Soma: Dit wordt ook wel het cellichaam genoemd. Het is waar de celkern zich bevindt.
- Dendrieten: Dit zijn boomachtige netwerken die met het cellichaam zijn verbonden. Het is gemaakt van de zenuwvezel.
- Axon: Axon draagt het signaal van het cellichaam. Het splitst zich in strengen en elke streng eindigt in een bolachtige structuur die synaps wordt genoemd. De elektrische signalen worden doorgegeven tussen de synaps en dendrieten.
(beeld bron
Vergelijking van biologisch neuron en kunstmatig neuron
Biologische neuron | Kunstmatig neuron |
---|---|
ML wordt toegepast in e-commerce, gezondheidszorg, productaanbevelingen, etc. | ANN wordt toegepast op het gebied van financiën, machine learning en kunstmatige intelligentie. |
Het is gemaakt van cellen. | De cellen komen overeen met neuronen. |
Het heeft dendrieten die onderlinge verbindingen zijn tussen het cellichaam. | De verbindingsgewichten komen overeen met dendrieten. |
Soma ontvangt de input. | Soma is vergelijkbaar met het netto invoergewicht. |
Het axon ontvangt het signaal. | De output van ANN komt overeen met axon. |
Kenmerken van ANN
- Niet-lineariteit: Het mechanisme dat in ANN wordt gevolgd voor het genereren van het ingangssignaal is niet-lineair.
- Leren onder toezicht: De input en output worden in kaart gebracht en de ANN wordt getraind met de trainingsdataset.
- Ongecontroleerd leren: De doeloutput wordt niet gegeven, dus de ANN zal zelf leren door de kenmerken in de invoerpatronen te ontdekken.
- Adaptieve aard: De verbindingsgewichten in de knooppunten van ANN kunnen zichzelf aanpassen om de gewenste output te geven.
- Biologische neuronanalogie: De ANN heeft een door het menselijk brein geïnspireerde structuur en functionaliteit.
- Fouttolerantie: Deze netwerken zijn zeer tolerant omdat de informatie in lagen wordt verdeeld en de berekening in realtime plaatsvindt.
Structuur van ANN
Kunstmatige neurale netwerken zijn verwerkingselementen in de vorm van algoritmen of hardware-apparaten gemodelleerd naar de neuronale structuur van de hersenschors van het menselijk brein.
Deze netwerken worden ook wel gewoon neurale netwerken genoemd. Het NN is opgebouwd uit vele lagen. De meerdere lagen die met elkaar zijn verbonden, worden vaak 'Multilayer Perceptron' genoemd. De neuronen in een laag worden 'knooppunten' genoemd. Deze knooppunten hebben een 'activeringsfunctie'.
De ANN heeft 3 hoofdlagen:
- Invoerlaag: De invoerpatronen worden naar de invoerlagen gevoerd. Er is één invoerlaag.
- Verborgen lagen: Er kunnen een of meer verborgen lagen zijn. De verwerking die plaatsvindt in de binnenste lagen wordt 'verborgen lagen' genoemd. De verborgen lagen berekenen de output op basis van de 'gewichten' die de 'som van gewogen synapsverbindingen' is. De verborgen lagen verfijnen de invoer door overtollige informatie te verwijderen en de informatie naar de volgende verborgen laag te sturen voor verdere verwerking.
- Uitvoerlaag: Deze verborgen laag maakt verbinding met de 'uitvoerlaag' waar de uitvoer wordt weergegeven.
Activering Functie
De activeringsfunctie is een interne toestand van een neuron. Het is een functie van input die het neuron ontvangt. De activeringsfunctie wordt gebruikt om het ingangssignaal op het knooppunt van ANN om te zetten in een uitgangssignaal.
Wat is een kunstmatig neuron?
Een kunstmatig neuraal netwerk bestaat uit sterk onderling verbonden verwerkingselementen die knooppunten of neuronen worden genoemd.
Deze neuronen werken parallel en zijn georganiseerd in een architectuur. De knooppunten zijn met elkaar verbonden door verbindingskoppelingen. Elk neuron draagt een gewicht dat informatie bevat over het ingangssignaal.
Hoe werkt kunstmatige neuron?
Een kunstmatig neuron krijgt een input. Deze ingangen hebben een gewicht dat 'synaps' wordt genoemd. Deze neuronen (ook wel knooppunten genoemd) hebben een 'activeringsfunctie'. Deze activeringsfunctie werkt op de input en verwerkt deze tot output.
De gewogen som van de ingangen wordt een ingangssignaal voor de activeringsfunctie om één uitgang te geven. Deze inputgewichten zijn instelbaar zodat het neurale netwerk zijn parameters kan aanpassen om de gewenste output te geven.
Enkele algemene activeringsfuncties die worden gebruikt in kunstmatige neurale netwerken zijn:
# 1) Identiteitsfunctie
Het kan worden gedefinieerd als f (x) = x voor alle waarden van x. Dit is een lineaire functie waarbij de output hetzelfde is als de input.
# 2) Binaire stapfunctie
Deze functie wordt gebruikt in enkellaagse netwerken om de netto input naar output om te zetten. De output is binair, d.w.z. 0 of 1. De t vertegenwoordigt de drempelwaarde.
(beeld bron
# 3) Bipolaire stapfunctie
De bipolaire stapfunctie heeft bipolaire uitgangen (+1 of -1) voor de netto-ingang. T staat voor de drempelwaarde.
# 4) Sigmoïdale functie
Het wordt gebruikt in backpropagation-netwerken.
Er zijn twee soorten:
- Binaire Sigmoid-functie: Het wordt ook wel de unipolaire sigmoïde functie of logistieke sigmoïde functie genoemd. Het bereik van sigmoïdale functionele is 0 tot 1.
- Bipolaire sigmoïde: De bipolaire sigmoïdale functie varieert van -1 tot +1. Het is vergelijkbaar met de hyperbolische tangensfunctie.
(beeld bron
# 5) RampFunction
De gewogen som van ingangen betekent het 'product van het gewicht van de input en de waarde van de input' opgeteld voor alle inputs.
Laat I = {I1, I2, I3… In} het invoerpatroon voor neuron zijn.
Laat W = {W1, W2, W3… Wn} het gewicht zijn dat bij elke invoer naar het knooppunt hoort.
Gewogen som van ingangen = Y = (? Wi * Ii) voor i = 1 tot n
Basismodellen van ANN
De kunstmatige neurale netwerkmodellen bestaan uit 3 entiteiten:
- Gewichten of synaptische verbindingen
- De leerregel die wordt gebruikt voor het aanpassen van de gewichten
- Activeringsfuncties van het neuron
Neurale netwerkarchitectuur
In ANN zijn de neuronen met elkaar verbonden en is de output van elk neuron door middel van gewichten verbonden met het volgende neuron. De architectuur van deze onderlinge verbindingen is belangrijk in een ANN. Deze opstelling heeft de vorm van lagen en de verbinding tussen de lagen en binnen de laag is de neurale netwerkarchitectuur.
De meest bekende netwerkarchitecturen zijn:
- Single-Layer Feed-Forward-netwerk
- Meerlaags feed-forward netwerk
- Eén knooppunt met zijn eigen feedback
- Terugkerend enkellaags netwerk
- Meerlagig terugkerend netwerk
Laten we elk van deze in detail bekijken.
op welke website kan ik anime kijken
# 1) Single-Layer Feed-Forward-netwerk
Een laag is een netwerk gevormd uit neuronen. Deze neuronen zijn verbonden met de andere neuronen van de volgende laag. Voor een enkele laag zijn er alleen de invoer- en uitvoerlagen. De invoerlaag is met gewichten verbonden met de knooppunten van de uitvoerlaag.
Alle invoerknooppunten zijn verbonden met elk van de uitvoerknooppunten. De term feed-forward geeft aan dat er geen feedback wordt verzonden van de uitvoerlaag naar de invoerlaag. Dit vormt een enkellaags feed-forward netwerk.
(beeld bron
# 2) Multi-Layer Feed-Forward-netwerk
Het Multi-layer netwerk bestaat uit een of meer lagen tussen de input en output. De invoerlaag ontvangt alleen een signaal en buffert het terwijl de uitvoerlaag de uitvoer laat zien. De lagen tussen de invoer en uitvoer worden de verborgen lagen genoemd.
De verborgen lagen staan niet in contact met de externe omgeving. Met meer aantal verborgen lagen is de uitvoerrespons efficiënter. De knooppunten in de vorige laag zijn verbonden met elk knooppunt in de volgende laag.
Omdat er geen uitvoerlaag is verbonden met de invoerlagen of verborgen lagen, vormt het een meerlagig feed-forward netwerk.
# 3) Eén knooppunt met zijn eigen feedback
De netwerken waar de output van de outputlaag wordt teruggestuurd als input naar de inputlaag of de andere verborgen lagen, worden Feedback Networks genoemd. In feedbacksystemen met één knooppunt is er een enkele invoerlaag waar de uitvoer als feedback wordt teruggestuurd.
# 4) Terugkerend enkellaags netwerk
In een enkellaags recurrent netwerk vormt het feedbacknetwerk een gesloten lus. In dit model ontvangt een enkel neuron feedback naar zichzelf of de andere neuronen in het netwerk of beide.
# 5) Meerlagig terugkerend netwerk
In een herhaald netwerk met meerdere lagen bestaan meerdere verborgen lagen en wordt de uitvoer teruggestuurd naar de neuronen van de vorige lagen en andere neuronen in dezelfde lagen of naar hetzelfde neuron zelf.
Voorbeeld van een kunstmatig neuron-netwerk
Laten we het onderstaande netwerk nemen met de gegeven invoer en het netto-invoerneuron berekenen en de uitvoer van het neuron Y met activeringsfunctie als binair sigmoïdaal verkrijgen.
De ingang heeft 3 neuronen X1, X2 en X3, en één uitgang Y.
De gewichten die zijn gekoppeld aan de invoer zijn: {0,2, 0,1, -0,3}
Ingangen = {0,3, 0,5, 0,6}
Netto-invoer = {x1 * w1 + x2 * w2 + x3 * w3}
Netto-invoer = (0,3 * 0,2) + (0,5 * 0,1) + (0,6 * -0,3)
Netto-invoer = -0,07
Uitgang voor binair sigmoïdaal:
X is -0,07
De output komt uit op 0,517
Vergelijking tussen machine learning en ANN
Machine leren | Kunstmatig neuraal netwerk |
---|---|
Machine Learning leert van invoergegevens en ontdekt interessante patronen van uitvoergegevens. | ANN worden gebruikt in algoritmen voor machine learning om het systeem te trainen met synapsen, knooppunten en verbindingskoppelingen. |
ML is een subset van het gebied van kunstmatige intelligentie. | ANN maakt ook deel uit van de wetenschap op het gebied van kunstmatige intelligentie en een subset van machine learning. |
ML-algoritmen leren van gegevens die aan het algoritme worden toegevoerd voor besluitvormingsdoeleinden. Sommige van deze algoritmen zijn classificatie. Clustering, datamining van associaties. | ANN is een diepgaande leerwetenschap die de gegevens analyseert met logische structuren zoals mensen dat doen. Enkele van deANN-leerschema's zijn Hebbian, Perceptron, Back propagation, etc. |
ML-algoritmen hebben zelflerend vermogen, maar zouden menselijke tussenkomst vereisen als de uitkomst onnauwkeurig is. | ANN-algoritmen hebben de mogelijkheid om zichzelf aan te passen met behulp van verbindingsgewichten als de uitkomst onjuist blijkt te zijn. |
ML-algoritmen vereisen programmeervaardigheden, datastructuur en kennis van big data-databases. | ANN vereist ook sterke vaardigheden in wiskunde, waarschijnlijkheid, gegevensstructuren, enz. |
ML-programma's kunnen de uitkomst van een geleerde set gegevens voorspellen en zichzelf aanpassen voor nieuwe gegevens. | ANN kan zelf leren en intelligente beslissingen nemen voor nieuwe gegevens, maar het gaat dieper dan machine learning. |
Begeleid en onbewaakt leren vallen onder machine learning. | Leren zoals Kohenen, radiale bias, feed-forward neuraal netwerk vallen onder ANN. |
Enkele voorbeelden van ML zijn Google-zoekresultaten enz. | Enkele voorbeelden van ANN zijn gezichtsherkenning, beeldherkenning, etc. |
Neurale netwerken en diep leren
Deep Learning-netwerken bevatten verschillende verborgen lagen tussen de invoer en de uitvoer. Deze netwerken onderscheiden zich door de diepte van de daarin verborgen lagen. De invoergegevens doorlopen meerdere stappen voordat de uitvoer wordt weergegeven.
Deze netwerken verschillen van de eerdere NN, zoals perceptron die een enkele verborgen laag had en Shallow Networks werd genoemd. Elke verborgen laag in het deep learning-netwerk traint de gegevens met bepaalde functies op basis van de uitvoer van de vorige laag.
De gegevens passeren vele lagen van niet-lineaire functies op het knooppunt. Hoe meer lagen er zijn, des te complexere objecten kunnen worden herkend, aangezien de volgende laag de objecten uit de vorige lagen zal aggregeren.
Meerdere verborgen lagen in het netwerk verhogen de complexiteit en abstractie. Deze diepte wordt ook wel een functiehiërarchie genoemd. Hierdoor zijn deep learning-netwerken in staat om hoogdimensionale gegevens te verwerken.
Enkele voorbeelden van deep learning-netwerken zijn onder meer het clusteren van miljoenen afbeeldingen op basis van hun kenmerken en overeenkomsten, het filteren van e-mailberichten, het toepassen van filters op berichten in CRM, het identificeren van spraak, enz.
Deep Learning Networks kunnen worden getraind op zowel gelabelde als ongelabelde gegevens. Voor de niet-gelabelde set gegevens voeren de netwerken zoals Boltzmann-selectiemachines automatische feature-extractie uit.
Het netwerk leert automatisch door de input te analyseren door middel van steekproeven en het verschil in output en distributie van input te minimaliseren. Het neurale netwerk vindt hier correlaties tussen de kenmerken en resultaten.
De deep learning-netwerken die zijn getraind op gelabelde gegevens, kunnen worden toegepast op ongestructureerde gegevens. Hoe meer trainingsgegevens naar het netwerk worden gestuurd, hoe nauwkeuriger ze worden.
Het vermogen van het netwerk om te leren van niet-gelabelde gegevens is een voordeel ten opzichte van de andere leeralgoritmen.
Kunstmatige neurale netwerktoepassingen
Neurale netwerken zijn met succes gebruikt in een verscheidenheid aan oplossingen, zoals hieronder wordt weergegeven.
# 1) Patroonherkenning: ANN wordt gebruikt bij patroonherkenning, beeldherkenning, visualisatie van afbeeldingen, handschrift, spraak en andere soortgelijke taken.
# 2) Optimalisatieproblemen: Problemen zoals het vinden van de kortste route, planning en fabricage waarbij aan probleembeperkingen moet worden voldaan en optimale oplossingen moeten worden bereikt, is het gebruik van NN's.
# 3) Voorspelling: NN kan de uitkomst voor situaties voorspellen door trends uit het verleden te analyseren. Toepassingen zoals het bankwezen, de aandelenmarkt, weersvoorspelling maken gebruik van neurale netwerken.
# 4) Besturingssystemen: Besturingssystemen zoals computerproducten, chemische producten en robotica gebruiken neurale netwerken.
Beperkingen van neurale netwerken
Hieronder worden enkele van de nadelen van neurale netwerken genoemd.
- Deze netwerken zijn zwarte dozen voor de gebruiker, aangezien de gebruiker geen enkele rol heeft behalve het voeden van de input en het observeren van de output. De gebruiker is zich niet bewust van de training die in het algoritme plaatsvindt.
- Deze algoritmen zijn nogal traag en vereisen veel iteraties (ook wel epochs genoemd) om nauwkeurige resultaten te geven. Dit komt doordat de CPU de gewichten en activeringsfunctie van elk knooppunt afzonderlijk berekent, waardoor het zowel tijd als bronnen verbruikt. Het veroorzaakt ook een probleem met een grote hoeveelheid gegevens.
Gevolgtrekking
In deze tutorial leerden we over Artificial Neural Network, de analogie met biologische neuronen en soorten neuraal netwerk.
ANN valt onder machine learning. Het is een computermodel dat is samengesteld uit meerdere neuron-knooppunten. Deze knooppunten ontvangen invoer, verwerken de invoer met behulp van de activeringsfunctie en geven de uitvoer door aan de volgende lagen.
De ingangen zijn gekoppeld aan verbindingslinkgewichten die synaps worden genoemd. Een basis ANN bestaat uit een invoerlaag, gewichten, activeringsfunctie, verborgen laag en een uitvoerlaag.
De activeringsfuncties worden gebruikt om de input naar de output om te zetten. Sommigen van hen zijn binair, bipolair, sigmoïdaal en hebben een ramp-functie. Er zijn verschillende soorten ANN zoals Single-Layer Feed Forward, Multilayer Feed Forward, Recurrent networks, etc. gebaseerd op het aantal verborgen lagen en feedbackmechanismen.
ANN met veel verborgen lagen tussen input en output vormen een deep learning netwerk. De deep learning-netwerken hebben een hoge complexiteit en een hoog abstractieniveau waardoor ze in staat zijn om hoogdimensionale gegevens met duizenden parameters te berekenen.
ANN wordt gebruikt op het gebied van prognoses, beeldverwerking, controlesystemen, enz. Deze zijn met succes toegepast als oplossing voor de reeks problemen in de wetenschap.
We hopen dat deze tutorial alles heeft uitgelegd wat je moet weten over kunstmatige neurale netwerken !!
Bezoek hier voor de exclusieve Machine Learning-serie
Aanbevolen literatuur
- Datamining versus machine learning versus kunstmatige intelligentie versus diep leren
- Netwerkbeveiligingstests en de beste hulpprogramma's voor netwerkbeveiliging
- Typen machinaal leren: begeleid versus onbewaakt leren
- 11 populairste softwaretools voor machine learning in 2021
- Zelfstudie voor machine learning: inleiding tot ML en de toepassingen ervan
- Gids voor subnetmasker (subnetten) en IP-subnetcalculator
- Gids voor netwerkkwetsbaarheid en -beheer
- 15 beste netwerkscanhulpmiddelen (netwerk- en IP-scanner) van 2021