Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Classificatie uitvoeren met een neuraal netwerk:wat is de Perceptron?

Dit artikel onderzoekt de basistheorie en structuur van een bekende neurale netwerktopologie.

Dit is de eerste in een reeks artikelen die zullen dienen als een uitgebreide introductie tot het ontwerp, de training en de evaluatie van neurale netwerken. Het doel is om complexe classificatie uit te voeren met behulp van een Python-computerprogramma dat een neurale netwerkarchitectuur implementeert die bekend staat als de meerlaagse Perceptron.

U kunt de rest van de Perceptron-serie hier voor uw gemak vinden:

  1. Hoe classificatie uitvoeren met behulp van een neuraal netwerk:wat is de Perceptron?
  2. Een eenvoudig Perceptron neuraal netwerkvoorbeeld gebruiken om gegevens te classificeren
  3. Een basis Perceptron neuraal netwerk trainen
  4. Eenvoudige neurale netwerktraining begrijpen
  5. Een inleiding tot trainingstheorie voor neurale netwerken
  6. De leersnelheid in neurale netwerken begrijpen
  7. Geavanceerde machine learning met de meerlaagse Perceptron
  8. De Sigmoid-activeringsfunctie:activering in meerlaagse Perceptron neurale netwerken
  9. Een meerlagig Perceptron neuraal netwerk trainen
  10. Trainingsformules en backpropagation voor meerlaagse perceptrons begrijpen
  11. Neurale netwerkarchitectuur voor een Python-implementatie
  12. Hoe maak je een meerlaags Perceptron neuraal netwerk in Python
  13. Signaalverwerking met behulp van neurale netwerken:validatie in neuraal netwerkontwerp
  14. Trainingsdatasets voor neurale netwerken:een neuraal netwerk met Python trainen en valideren

Wat is een neuraal netwerk?

Neurale netwerken zijn signaalverwerkingstools die losjes zijn gebaseerd op de structuur van het menselijk brein. Ze worden meestal geassocieerd met kunstmatige intelligentie (AI). Ik hou niet van de term 'kunstmatige intelligentie' omdat deze onnauwkeurig en reductief is. Als je 'intelligentie' definieert als het vermogen om snel numerieke berekeningen uit te voeren, dan zijn neutrale netwerken beslist AI. Maar intelligentie is naar mijn mening veel meer dan dat:het is het soort dingen dat ontwerpt een systeem dat snel numerieke berekeningen uitvoert en er vervolgens een artikel over schrijft, en vervolgens nadenkt over de betekenis van het woord 'intelligentie' en zich vervolgens afvraagt ​​waarom mensen neurale netwerken creëren en er artikelen over schrijven.

Bovendien is kunstmatige intelligentie niet kunstmatig. Het is heel echt intelligentie, omdat het een wiskundig systeem is dat werkt volgens de intelligentie van de mensen die het hebben ontworpen.

Neurale netwerken zijn softwareroutines die kunnen "leren" van bestaande gegevens en complexe signaalverwerkingsproblemen efficiënt kunnen oplossen. Ze zijn interessant om te bestuderen en mee te experimenteren, en in sommige gevallen overtreffen ze de mogelijkheden van "normale" algoritmen ver. Ze zullen de honger in de wereld echter niet wegnemen, ze kunnen geen goede poëzie schrijven, en ik betwijfel of ze ooit zo veilig in een auto zullen rijden als een mens die zowel nuchter is als geen sms'je schrijft.

Wat is Perceptron?

Een basis neuraal netwerk van Perceptron is conceptueel eenvoudig. Het kan bestaan ​​uit niet meer dan twee invoerknooppunten en één uitvoerknooppunt verbonden door gewogen verbindingen:

De dimensionaliteit van de invoergegevens moet overeenkomen met de dimensionaliteit van de invoerlaag. De term "dimensionaliteit" kan hier een beetje verwarrend zijn, omdat de meeste mensen iets met meer dan drie dimensies niet kunnen visualiseren. Dit betekent eigenlijk alleen dat uw invoergegevens, bijvoorbeeld een patroon dat u wilt classificeren, een vector is met een bepaalde lengte en dat uw invoerlaag een knoop moet hebben voor elk element in de vector. Dus als je een patroon probeert te classificeren dat wordt vertegenwoordigd door een reeks van 20 gegevenspunten, heb je een vector met 20 elementen en heb je 20 invoerknooppunten nodig.

Een uitvoerknooppunt genereert gegevens die van belang zijn voor de ontwerper. Het aantal uitvoerknooppunten is afhankelijk van de toepassing. Als u een ja/nee-classificatiebeslissing wilt nemen, heeft u slechts één uitvoerknooppunt nodig, zelfs als er honderden invoerknooppunten zijn. Aan de andere kant, als het doel is om een ​​invoervector in een van de verschillende mogelijke categorieën te plaatsen, heeft u meerdere uitvoerknooppunten.

Gegevens die van het ene knooppunt naar het andere gaan, worden vermenigvuldigd met gewichten. Deze gewone scalaire waarden zijn eigenlijk de sleutel tot de functionaliteit van de Perceptron:de gewichten worden gewijzigd tijdens het trainingsproces en door de gewichten automatisch aan te passen in overeenstemming met de patronen in de trainingsgegevens, krijgt het netwerk de mogelijkheid om bruikbare output te produceren.

Wat gebeurt er in een node? (ook bekend als Hoe werken neurale netwerken?)

De knooppunten in de invoerlaag zijn slechts verbindingspunten; ze wijzigen de invoergegevens niet. De uitvoerlaag, evenals eventuele extra lagen tussen invoer en uitvoer, bevatten de rekenknooppunten van het netwerk. Wanneer numerieke gegevens bij rekenknooppunten aankomen, worden ze eerst opgeteld en vervolgens onderworpen aan een "activering" -functie:

Het concept van activatie gaat terug op het gedrag van (biologische) neuronen, die communiceren via actiepotentialen die actief of inactief zijn; het is meer een aan/uit digitaal systeem dan een analoog systeem. In de context van (kunstmatige) neurale netwerken kunnen knooppunten, ook wel (kunstmatige) neuronen genoemd, neuronaal gedrag imiteren door een drempelfunctie toe te passen die 1 uitvoert wanneer de invoer groter is dan de drempel en anders 0.

De volgende grafiek geeft de input-outputrelatie weer van de basisactiveringsfunctie "eenheidsstap".

Door deze drempeltransformatie in te voeren in de verspreiding van gegevens van knooppunt naar knooppunt, introduceren we niet-lineariteit in het systeem, en zonder deze niet-lineariteit is de functionaliteit van een neuraal netwerk zeer beperkt. De theorie hier is complex, maar het algemene idee (denk ik) is dat combinaties van lineaire transformaties, zelfs als deze lineaire transformaties vele malen voorkomen, nooit in staat zullen zijn om de relaties te benaderen die kenmerkend zijn voor complexe natuurlijke fenomenen en geavanceerde signaalverwerkingstaken.

Ondanks het feit dat echte neuronen werken volgens een soort aan/uit-model, is de drempelbenadering van (kunstmatige) neurale netwerkactivering niet optimaal. We komen op dit onderwerp terug in een toekomstig artikel.

Conclusie

We hebben de meest elementaire elementen van de Perceptron behandeld en in het volgende artikel zullen we deze onderdelen samenvoegen en zien hoe een rudimentair systeem werkt.

Neurale netwerken zijn een uitgebreid onderwerp en ik geef je een eerlijke waarschuwing dat dit een lange reeks kan worden. Maar ik denk dat het een goede zal zijn.


Ingebed

  1. Wat is cloudcomputing en hoe werkt de cloud?
  2. Wat is microleren? Hoe het de wereld gaat veranderen in 2021
  3. Wat drijft AI tot het uiterste
  4. De nauwkeurigheid van een neuraal netwerk met verborgen lagen vergroten
  5. Hoe het netwerkecosysteem de toekomst van de boerderij verandert
  6. Wat is een intelligent netwerk en hoe kan het uw bedrijf helpen?
  7. Wat is een netwerkbeveiligingssleutel? Hoe vind je het?
  8. Hoe fabrikanten automatisering gebruiken om de e-commerceboom te beheren
  9. Wat is de rol van de positioneringscilinder? Hoe werkt het?
  10. Wat is een compactor en hoe kies ik de juiste?
  11. Wat zijn de voordelen van het gebruik van ijzeren nodulair buizen?