Zelfstudie voor diep leren: kunstmatige intelligentie met behulp van diep leren



Deze blog over Deep Learning Tutorial zal je helpen alles te begrijpen over Deep Learning en de relatie met Machine Learning en Artificial Intelligence.

Omdat het een belangrijke subset is van Machine Learning, is de vraag naar heeft een enorme stijging gezien, vooral onder degenen die geïnteresseerd zijn in het ontsluiten van de grenzeloze mogelijkheden van AI.Geïnspireerd door de groeiende populariteit van Deep Learning, dacht ik eraan om een ​​serie blogs te bedenken die je zullen informeren over deze nieuwe trend op het gebied van kunstmatige intelligentie en je zullen helpen begrijpen waar het allemaal over gaat. Dit is de eerste van de vele blogs in de serie genaamd - Zelfstudie voor diep leren .

De Deep Learning-zelfstudie

In deze Deep Learning Tutorial-blog zal ik je door de volgende dingen leiden, die als basis zullen dienen voor de aankomende blogs:





  • Wat heeft Deep Learning laten ontstaan
  • Wat is diep leren en hoe werkt het?

Je kunt deze opname van Deep Learning Tutorial doornemen, waar onze instructeur de onderwerpen op een gedetailleerde manier heeft uitgelegd met voorbeelden die je zullen helpen dit concept beter te begrijpen.

hoe je een dynamische array in java declareert

Zelfstudie voor diep leren | Diepe leren neurale netwerken | Edureka

Toepassingen van kunstmatige intelligentie en diep leren

Denk hier eens over na, in plaats van dat u al uw werk doet, heeft u een machine om het voor u af te maken of het kan iets doen waarvan u dacht dat het helemaal niet mogelijk was. Bijvoorbeeld:



Toekomst voorspellen - Tutorial Deep Learning - Edureka

De toekomst voorspellen: Het kan ons helpen bij het vooraf voorspellen van aardbevingen, tsunami's, enz., Zodat preventieve maatregelen kunnen worden genomen om te voorkomen dat veel levens in de klauwen van natuurrampen vallen.

Chat-bots: Jullie zouden allemaal gehoord hebben van Siri, de spraakgestuurde virtuele assistent van Apple. Geloof me, met de hulp van Deep Learning wordt deze virtuele assistentie met de dag slimmer. Siri kan zich zelfs aanpassen aan de gebruiker en betere persoonlijke assistentie bieden.
Zelfrijdende auto's: Stel je voor hoe ongelooflijk het zou zijn voor lichamelijk gehandicapten en ouderen die het moeilijk vinden om zelfstandig te rijden. Afgezien van dit, zal het miljoenen onschuldige levens redden die elk jaar te maken krijgen met verkeersongevallen vanwege menselijke fouten.

Google AI-oogarts: Het is een recent initiatief van Google, waar ze samenwerken met een Indiase oogzorgketen om AI-software te ontwikkelen die retinascans kan onderzoeken en een aandoening kan identificeren die diabetische retinopathie wordt genoemd en die blindheid kan veroorzaken.

AI Muziekcomponist: Nou, wie dacht dat we een AI-muziekcomponist konden hebben die Deep Learning gebruikt. Daarom zou het me niet verbazen te horen dat de op een na beste muziek door een machine wordt gegeven.
Een droomleesmachine: Dit is een van mijn favorieten, een machine die je dromen kan vastleggen in de vorm van video of zoiets. Met zoveel onrealistische toepassingen van AI & Deep Learning die we tot nu toe hebben gezien, was ik niet verrast om te ontdekken dat dit een paar jaar geleden in Japan werd geprobeerd bij drie proefpersonen en dat ze een nauwkeurigheid van bijna 60% bereikten. Dat is iets ongelooflijks, maar toch waar.


Ik ben er vrij zeker van dat sommige van deze real-life toepassingen van AI & Deep Learning je kippenvel zouden hebben bezorgd. Oké, dit vormt de basis voor jou en nu zijn we klaar om verder te gaan in deze Deep Learning Tutorial en te begrijpen wat kunstmatige intelligentie is.



Wat is kunstmatige intelligentie?

Kunstmatige intelligentie is niets anders dan het vermogen van een machine om intelligent menselijk gedrag te imiteren. AI wordt bereikt door een menselijk brein na te bootsen, door te begrijpen hoe het denkt, hoe het leert, beslist en werkt, terwijl het probeert een probleem op te lossen.

Bijvoorbeeld: Een machine die schaakt, of een spraakgestuurde software die u helpt met verschillende dingen op uw iPhone of een kentekenherkenningssysteem dat de nummerplaat van een auto die te snel rijdt vastlegt en deze verwerkt om het kenteken te extraheren en de eigenaar van de auto te identificeren . Dit was allemaal niet zo gemakkelijk te implementeren Diep leren . Laten we nu eens kijken naar de verschillende subsets van kunstmatige intelligentie.

Subsets van kunstmatige intelligentie

Tot nu toe had je veel gehoord over kunstmatige intelligentie, machine learning en deep learning. Kent u echter de relatie tussen alle drie? Kortom, diep leren is een subgebied van machine learning en machine learning is een subveld van kunstmatige intelligentie, zoals weergegeven in de onderstaande afbeelding:

Als we naar zoiets kijken AlphaGo , wordt het vaak afgeschilderd als een groot succes voor deep learning, maar het is eigenlijk een combinatie van ideeën uit verschillende gebieden van AI en machine learning. Het zou je zelfs verbazen te horen dat het idee achter diepe neurale netwerken niet nieuw is, maar dateert uit de jaren 50. Het werd echter mogelijk om het praktisch te implementeren vanwege de hoogwaardige middelen die tegenwoordig beschikbaar zijn.

wat is indexof in javascript

Laten we dus verder gaan in deze tutorialblog voor diepgaand leren, en laten we Machine Learning verkennen, gevolgd door de beperkingen ervan.

Wat is machine learning?

Machine Learning is een subset van kunstmatige intelligentie die computers de mogelijkheid biedt om te leren zonder expliciet te worden geprogrammeerd. Bij machine learning hoeven we niet alle stappen of voorwaarden expliciet te definiëren zoals bij elke andere programmeertoepassing. Integendeel, de machine wordt getraind op een trainingsdataset, die groot genoeg is om een ​​model te maken dat de machine helpt beslissingen te nemen op basis van het leren.

Bijvoorbeeld: We willen de soort van een bloem bepalen op basis van het bloemblad en de kelkbladlengte (bladeren van een bloem) met behulp van machine learning. Hoe gaan we dat dan doen?

We zullen de bloemgegevensset met verschillende kenmerken van verschillende bloemen samen met hun respectieve soorten in onze machine voeren, zoals u kunt zien in de bovenstaande afbeelding. Met behulp van deze set met invoergegevens zal de machine een model maken en trainen dat kan worden gebruikt om bloemen in verschillende categorieën in te delen.
Als ons model eenmaal is getraind, geven we een set kenmerken door als input voor het model.
Ten slotte zal ons model de soort van de bloem die aanwezig is in de nieuwe invoergegevensset uitvoeren. Dit proces van het trainen van een machine om een ​​model te maken en dit te gebruiken voor besluitvorming wordt genoemd Machine leren . Dit proces heeft echter enkele beperkingen.

Beperkingen van machine learning

Machine Learning is niet in staat om hoogdimensionale gegevens te verwerken, daar is de invoer en uitvoer vrij groot. Het verwerken en verwerken van dit soort gegevens wordt erg complex en uitputtend. Dit wordt genoemd als Vloek van de dimensionaliteit . Laten we de volgende afbeelding eens bekijken om dit eenvoudiger te begrijpen:

Beschouw een lijn van 100 meter en je hebt ergens een muntstuk op de lijn laten vallen. Nu is het erg handig voor u om de munt te vinden door gewoon over de lijn te lopen. Deze lijn is een eendimensionale entiteit.
Bedenk vervolgens dat je elk een vierkant van 100 meter hebt, zoals weergegeven in de bovenstaande afbeelding, en nogmaals, je hebt ergens tussenin een munt laten vallen. Nu is het vrij duidelijk dat u meer tijd gaat nemen om de munt binnen dat vierkant te vinden in vergelijking met het vorige scenario. Dit vierkant is een tweedimensionale entiteit.
Laten we een stap verder gaan door elk een kubus van 100 meter aan de zijkant te overwegen en je hebt ergens tussenin een munt laten vallen. Nu is het deze keer zelfs nog moeilijker om de munt te vinden. Deze kubus is een driedimensionale entiteit.

Daarom kunt u zien dat de complexiteit toeneemt naarmate de dimensies toenemen.En in het echte leven hebben de hoogdimensionale gegevens waar we het over hadden duizenden dimensies die het erg complex maken om te verwerken en te verwerken. De hoge dimensionale gegevens kunnen gemakkelijk worden gevonden in use-cases zoals beeldverwerking, NLP, beeldvertaling enz.

Machine learning was niet in staat om deze use-cases op te lossen en daarom kwam Deep Learning te hulp. Deep learning is in staat om de hoog dimensionale gegevens te verwerken en is ook efficiënt om zelf op de juiste functies te focussen. Dit proces wordt feature-extractie genoemd. Laten we nu verder gaan in deze zelfstudie voor diep leren en begrijpen hoe diep leren werkt.

Hoe diep leren werkt?

In een poging om een ​​menselijk brein opnieuw te ontwerpen, bestudeert Deep Learning de basiseenheid van een brein, een hersencel of een neuron genaamd. Geïnspireerd door een neuron werd een kunstmatig neuron of een perceptron ontwikkeld. Laten we nu de functionaliteit van biologische neuronen begrijpen en hoe we deze functionaliteit nabootsen in het perceptron of een kunstmatig neuron:

  • Als we ons concentreren op de structuur van een biologisch neuron, heeft het dendrieten die worden gebruikt om inputs te ontvangen. Deze inputs worden opgeteld in het cellichaam en met behulp van de Axon wordt het doorgegeven aan het volgende biologische neuron, zoals weergegeven in de bovenstaande afbeelding.

  • Evenzo ontvangt een perceptron meerdere inputs, past hij verschillende transformaties en functies toe en levert hij een output.

  • Omdat we weten dat onze hersenen bestaan ​​uit meerdere verbonden neuronen die neuraal netwerk worden genoemd, kunnen we ook een netwerk van kunstmatige neuronen hebben, perceptrons genaamd, om een ​​diep neuraal netwerk te vormen. Laten we dus verder gaan in deze Deep Learning-zelfstudie om te begrijpen hoe een diep neuraal netwerk eruit ziet.

    verhoog een getal naar een macht in java

Zelfstudie voor diep leren: wat is diep leren?

  • Elk diep neuraal netwerk zal uit drie soorten lagen bestaan:
    • De invoerlaag
    • De verborgen laag
    • De uitvoerlaag
In het bovenstaande diagram is de eerste laag de invoerlaag die alle invoer ontvangt en de laatste laag is de uitvoerlaag die de gewenste uitvoer levert.
Alle lagen tussen deze lagen worden verborgen lagen genoemd. Er kunnen n aantal verborgen lagen zijn dankzij de hoogwaardige bronnen die tegenwoordig beschikbaar zijn.
Het aantal verborgen lagen en het aantal perceptrons in elke laag hangt volledig af van de use-case die u probeert op te lossen.

Nu u een beeld heeft van een Deep Neural Networks, gaan we verder met deze Deep Learning Tutorial om een ​​goed beeld te krijgen van hoe Deep Neural Networks een probleem van beeldherkenning oplost.

Gebruik van Deep Learning - Case

We willen beeldherkenning uitvoeren met behulp van Deep Networks:

Hier geven we de hoog-dimensionale gegevens door aan de invoerlaag. Om de dimensionaliteit van de invoergegevens aan te passen, zal de invoerlaag meerdere sublagen van perceptrons bevatten, zodat deze de volledige invoer kan opnemen.
De uitvoer die van de invoerlaag wordt ontvangen, bevat patronen en kan alleen de randen van de afbeeldingen identificeren op basis van de contrastniveaus.
Deze uitvoer wordt naar de verborgen laag 1 gevoerd, waar het verschillende gezichtskenmerken zoals ogen, neus, oren enz. Kan identificeren.
Dit wordt nu naar de verborgen laag 2 gevoerd, waar het de hele gezichten kan vormen. Vervolgens wordt de uitvoer van laag 2 naar de uitvoerlaag gestuurd.
Ten slotte voert de uitvoerlaag een classificatie uit op basis van het resultaat dat is verkregen uit de vorige en voorspelt de naam.

Laat me je een vraag stellen, wat gebeurt er als een van deze lagen ontbreekt of als het neurale netwerk niet diep genoeg is? Simpel gezegd, we zullen de afbeeldingen niet nauwkeurig kunnen identificeren. Dit is precies de reden waarom deze use-cases al die jaren voorafgaand aan Deep Learning geen oplossing hadden. Om dit verder te brengen, zullen we proberen om Deep networks toe te passen op een MNIST Data-set.

  • De Mnist-dataset bestaat uit 60.000 trainingsvoorbeelden en 10.000 testvoorbeelden van handgeschreven cijferafbeeldingen. De taak hier is om een ​​model te trainen dat het cijfer op de afbeelding nauwkeurig kan identificeren.

  • Om deze use-case op te lossen, wordt een Deep-netwerk gemaakt met meerdere verborgen lagen om alle 60.000 afbeeldingen pixel voor pixel te verwerken en uiteindelijk zullen we een uitvoerlaag ontvangen.
  • De uitvoerlaag is een array van index 0 tot 9, waarbij elke index overeenkomt met het respectieve cijfer. Index 0 bevat de kans dat 0 het cijfer is dat aanwezig is op het invoerbeeld.
  • Evenzo vertegenwoordigt index 2, die een waarde heeft van 0,1, feitelijk de waarschijnlijkheid dat 2 het cijfer is dat aanwezig is op het invoerbeeld. Dus als we zien dat de hoogste kans in deze array 0,8 is, die aanwezig is op index 7 van de array. Daarom is het nummer op de afbeelding 7.

Conclusie

Dus jongens, dit ging allemaal over diep leren in een notendop. In deze tutorial voor deep learning hebben we verschillende toepassingen van deep learning gezien en de relatie met AI en machine learning begrepen. Vervolgens begrepen we hoe we perceptron of een kunstmatige neuron-basisbouwsteen kunnen gebruiken om een ​​diep neuraal netwerk te creëren dat complexe taken zoals dergelijke kan uitvoeren. Eindelijk hebben we een van de use-cases van deep learning doorgenomen, waarbij we beeldherkenning uitvoerden met behulp van diepe neurale netwerken en alle stappen begrepen die achter de schermen plaatsvinden. Nu, in de volgende blog van deze Deep Learning Tutorial-serie, zullen we leren hoe we een perceptron kunnen implementeren met behulp van TensorFlow, een op Python gebaseerde bibliotheek voor Deep Learning.

Nu je meer weet over Deep Learning, kun je het 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 real-time projecten en opdrachten, samen met concepten zoals SoftMax-functie, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte en we nemen contact met u op.