Met de vooruitgang in Machine Learning, heeft een hoge weg genomen. Deep Learning wordt beschouwd als de meest geavanceerde technologie die is gebouwd om complexe problemen op te lossen die enorme datasets gebruiken. Deze blog over wat is een neuraal netwerk laat je kennismaken met de basisconcepten van neurale netwerken en hoe ze complexe datagestuurde problemen kunnen oplossen.
Om diepgaande kennis te krijgen van kunstmatige intelligentie en diep leren, kunt u zich inschrijven voor live door Edureka met 24/7 ondersteuning en levenslange toegang.
Hier is een lijst met onderwerpen die hierin aan bod komen Blog:
- Wat is een neuraal netwerk?
- Wat is diep leren?
- Verschil tussen AI, ML en DL
- Noodzaak van diep leren
- Use case voor Deep Learning
- Hoe neurale netwerken werken?
- Neuraal netwerk uitgelegd met voorbeeld
Eenvoudige definitie van een neuraal netwerk
Gemodelleerd in overeenstemming met het menselijk brein, a Neural Network is gebouwd om de functionaliteit van een menselijk brein na te bootsen . Het menselijk brein is een neuraal netwerk dat bestaat uit meerdere neuronen, op dezelfde manier bestaat een kunstmatig neuraal netwerk (ANN) uit meerdere perceptronen (later uitgelegd).
Een neuraal netwerk bestaat uit drie belangrijke lagen:
wat is het verschil tussen jQuery en javascript
- Invoerlaag: Zoals de naam suggereert, accepteert deze laag alle invoer die door de programmeur wordt geleverd.
- Verborgen laag: Tussen de invoer- en uitvoerlaag bevindt zich een reeks lagen die bekend staan als verborgen lagen. In deze laag worden berekeningen uitgevoerd die resulteren in de output.
- Uitvoerlaag: De inputs ondergaan een reeks transformaties via de verborgen laag die uiteindelijk resulteert in de output die via deze wordt geleverd laag.
Voordat we dieper ingaan op het functioneren van een neuraal netwerk, laten we eerst eens kijken wat Deep Learning is.
Wat is diep leren?
Deep Learning is een geavanceerd gebied van machine learning dat de concepten van neurale netwerken gebruikt om zeer computationele use-cases op te lossen waarbij multidimensionale gegevens worden geanalyseerd. Het automatiseert het proces van feature-extractie en zorgt ervoor dat er zo min mogelijk menselijke tussenkomst nodig is.
Dus wat is Deep Learning precies?
Deep Learning is een gevorderde subveld van Machine Learning dat algoritmen gebruikt die zijn geïnspireerd door de structuur en functie van de hersenen, kunstmatige neurale netwerken genaamd.
Verschil tussen AI, ML en DL (kunstmatige intelligentie versus machine learning versus diep leren)
Dat denken mensen vaak , , en Diep leren zijn hetzelfde omdat ze gemeenschappelijke toepassingen hebben. Siri is bijvoorbeeld een toepassing van AI, Machine learning en Deep learning.
Dus hoe zijn deze technologieën gerelateerd?
- Kunstmatige intelligentie is de wetenschap om machines het gedrag van mensen te laten nabootsen.
- Machine leren is een subset van kunstmatige intelligentie (AI) die erop gericht is machines beslissingen te laten nemen door ze gegevens te verstrekken.
- Diep leren is een subset van Machine Learning die het concept van neurale netwerken gebruikt om complexe problemen op te lossen.
Kortom, AI, machine learning en deep learning zijn onderling verbonden velden. Machine Learning en Deep Learning ondersteunen kunstmatige intelligentie door een reeks algoritmen en neurale netwerken te bieden die kunnen worden opgelost datagestuurde problemen.
Nu u bekend bent met de basisprincipes, gaan we eens kijken wat heeft geleid tot de behoefte aan Deep Learning.
Noodzaak van diep leren: beperkingen van traditionele algoritmen en technieken voor machinaal leren
Machine Learning was een grote doorbraak in de technische wereld, het leidde tot de automatisering van eentonige en tijdrovende taken, het hielp bij het oplossen van complexe problemen en het nemen van slimmere beslissingen. Er waren echter een paar nadelen aan machine learning die leidden tot de opkomst van Deep Learning.
Hier zijn enkele beperkingen van Machine Learning:
- Kan hoge dimensionale gegevens niet verwerken: Machine Learning kan alleen kleine gegevensdimensies verwerken die een kleine set variabelen bevatten. Als u gegevens wilt analyseren die honderden variabelen bevatten, kan Machine Learning niet worden gebruikt.
- Feature engineering is handmatig: Overweeg een use-case waarin u 100 voorspellende variabelen heeft en u alleen de significante moet beperken. Om dit te doen, moet je de relatie tussen elk van de variabelen handmatig bestuderen en erachter komen welke belangrijk zijn bij het voorspellen van de output. Deze taak is buitengewoon vervelend en tijdrovend voor een ontwikkelaar.
- Niet ideaal voor het uitvoeren van objectdetectie en beeldverwerking: Aangezien objectdetectie hoog-dimensionale gegevens vereist, kan Machine Learning niet worden gebruikt om beeldgegevenssets te verwerken, maar is het alleen ideaal voor gegevenssets met een beperkt aantal functies.
Voordat we de diepte ingaan Neurale netwerken, laten we eens kijken naar een praktijkvoorbeeld waarin Deep Learning wordt geïmplementeerd.
Gebruikscasus / applicaties voor diep leren
Wist u dat PayPal meer dan $ 235 miljard aan betalingen verwerkt uit vier miljard transacties van zijn meer dan 170 miljoen klanten? Het gebruikt deze enorme hoeveelheid gegevens om onder meer mogelijke frauduleuze activiteiten te identificeren.
Met behulp van Deep Learning-algoritmen verzamelde PayPal gegevens uit de aankoopgeschiedenis van hun klanten, naast het beoordelen van patronen van waarschijnlijke fraude die in de databases zijn opgeslagen om te voorspellen of een bepaalde transactie frauduleus is of niet.
Het bedrijf vertrouwt al ongeveer 10 jaar op Deep Learning & Machine Learning-technologie. Aanvankelijk gebruikte het fraudebewakingsteam eenvoudige, lineaire modellen. Maar in de loop der jaren schakelde het bedrijf over op een geavanceerdere Machine Learning-technologie genaamd Deep Learning.
Frauderisicomanager en Data Scientist bij PayPal, Ke Wang, citeerde:
'Wat we leuk vinden aan modernere, geavanceerde machine learning is het vermogen om veel meer gegevens te verbruiken, om te gaan met lagen en abstractielagen en om dingen te 'zien' die een eenvoudigere technologie niet zou kunnen zien, zelfs menselijke wezens. niet kunnen zien. '
Een eenvoudig lineair model kan ongeveer 20 variabelen verbruiken. Met Deep Learning-technologie kan men echter duizenden datapunten uitvoeren. Daarom door te implementeren Dankzij Deep Learning-technologie kan PayPal eindelijk miljoenen transacties analyseren om frauduleus te identificeren activiteit.
Laten we nu eens kijken naar de diepten van een neuraal netwerk en begrijpen hoe ze werken.
Hoe werkt een neuraal netwerk?
Om neurale netwerken te begrijpen, moeten we het opsplitsen en de meest elementaire eenheid van een neuraal netwerk, d.w.z. een perceptron, begrijpen.
hoe af te sluiten in java
Wat is een perceptron?
Een Perceptron is een enkellaags neuraal netwerk dat wordt gebruikt om lineaire gegevens te classificeren. Het heeft 4 belangrijke componenten:
- Ingangen
- Gewichten en bias
- Sommatiefunctie
- Activering of transformatiefunctie
De basislogica achter een Perceptron is als volgt:
De inputs (x) ontvangen van de inputlaag worden vermenigvuldigd met hun toegewezen gewichten w. De vermenigvuldigde waarden worden vervolgens opgeteld om de gewogen som te vormen. De gewogen som van de ingangen en hun respectievelijke gewichten worden vervolgens toegepast op een relevante activeringsfunctie. De activeringsfunctie koppelt de ingang aan de respectieve uitgang.
Gewichten en afwijkingen bij diep leren
Waarom moeten we aan elke ingang gewichten toekennen?
Zodra een invoervariabele aan het netwerk is ingevoerd, wordt een willekeurig gekozen waarde toegewezen als het gewicht van die invoer. Het gewicht van elk invoergegevenspunt geeft aan hoe belangrijk die invoer is bij het voorspellen van de uitkomst.
Met de bias-parameter daarentegen kunt u de activeringsfunctiecurve zo aanpassen dat een nauwkeurige output wordt bereikt.
Sommatiefunctie
Zodra de invoer een bepaald gewicht heeft gekregen, wordt het product van de respectieve invoer en het gewicht genomen. Als we al deze producten toevoegen, krijgen we de gewogen som. Dit wordt gedaan door de sommatiefunctie.
Activering Functie
Het belangrijkste doel van de activeringsfuncties is om de gewogen som toe te wijzen aan de output. Activeringsfuncties zoals tanh, ReLU, sigmoid enzovoort zijn voorbeelden van transformatiefuncties.
Om meer te weten te komen over de functies van Perceptrons, kunt u dit doorlopen Blog.
Voordat we om deze blog af te sluiten, laten we een eenvoudig voorbeeld nemen om te begrijpen hoe een neuraal netwerk werkt.
Neurale netwerken uitgelegd met een voorbeeld
Overweeg een scenario waarin u een kunstmatig neuraal netwerk (ANN) gaat bouwen dat afbeeldingen in twee klassen classificeert:
- Klasse A: Bevat afbeeldingen van niet-zieke bladeren
- Klasse B: bevat afbeeldingen van zieke bladeren
Dus hoe creëer je een neuraal netwerk dat de bladeren classificeert in zieke en niet-zieke gewassen?
Het proces begint altijd met het verwerken en transformeren van de input, zodat deze gemakkelijk kan worden verwerkt. In ons geval wordt elke bladafbeelding opgesplitst in pixels, afhankelijk van de afmetingen van de afbeelding.
Als de afbeelding bijvoorbeeld is samengesteld uit 30 bij 30 pixels, is het totale aantal pixels 900. Deze pixels worden weergegeven als matrices, die vervolgens worden ingevoerd in de invoerlaag van het neurale netwerk.
hoe te wachten en te melden in java
Net zoals onze hersenen neuronen hebben die helpen bij het opbouwen en verbinden van gedachten, heeft een ANN perceptrons die input accepteren en verwerken door ze door te geven van de inputlaag naar de verborgen en uiteindelijk de outputlaag.
Terwijl de invoer wordt doorgegeven van de invoerlaag naar de verborgen laag, wordt aan elke invoer een initieel willekeurig gewicht toegewezen. De invoer wordt vervolgens vermenigvuldigd met hun overeenkomstige gewichten en hun som wordt als invoer naar de volgende verborgen laag gestuurd.
Hier wordt een numerieke waarde, bias genaamd, toegewezen aan elke perceptron, die is gekoppeld aan het gewicht van elke invoer. Verder wordt elk perceptron door activering of een transformatiefunctie geleid die bepaalt of een bepaald perceptron wordt geactiveerd of niet.
Een geactiveerd perceptron wordt gebruikt om gegevens naar de volgende laag te verzenden. Op deze manier worden de gegevens verspreid (voorwaartse voortplanting) door het neurale netwerk totdat de perceptrons de uitvoerlaag bereiken.
Aan de outputlaag wordt een kans afgeleid die bepaalt of de data tot klasse A of klasse B behoort.
Klinkt simpel, nietwaar? Nou, het concept achter Neural Networks is puur gebaseerd op het functioneren van het menselijk brein. Je hebt een grondige kennis nodig van verschillende wiskundige concepten en algoritmen. Hier is een lijst met blogs om u op weg te helpen:
- Wat is diep leren? Aan de slag met diep leren
- Diep leren met Python: beginnershandleiding voor diep leren
Als je deze blog relevant vond, bekijk dan de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De Edureka Deep Learning met TensorFlow Certification Training-cursus helpt leerlingen expert te worden in het trainen en optimaliseren van basis- en convolutionele neurale netwerken met behulp van realtime projecten en opdrachten, samen met concepten zoals SoftMax-functie, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).