Tutorial Deep Learning: Inteligență artificială folosind Deep Learning



Acest blog despre Tutorial Deep Learning vă va ajuta să înțelegeți totul despre Deep Learning și relația sa cu Machine Learning și inteligența artificială.

Fiind un subset important de învățare automată, cererea pentru a cunoscut o creștere imensă, în special în rândul celor interesați să deblocheze posibilitățile nelimitate ale AI.Inspirat de popularitatea crescândă a Deep Learning, m-am gândit să vin cu o serie de bloguri care vă vor educa despre această nouă tendință în domeniul inteligenței artificiale și vă vor ajuta să înțelegeți despre ce este vorba. Acesta este primul dintre numeroasele bloguri din serie numit ca - Tutorial Deep Learning .

Tutorialul Deep Learning

În acest blog de învățare profundă, vă voi prezenta următoarele lucruri, care vor servi drept elemente fundamentale pentru blogurile viitoare:





  • Ceea ce a permis să apară Deep Learning
  • Ce este Deep Learning și cum funcționează?

Puteți parcurge această înregistrare a Tutorialului Deep Learning, unde instructorul nostru a explicat subiectele într-o manieră detaliată, cu exemple care vă vor ajuta să înțelegeți mai bine acest concept.

Tutorial Deep Learning | Rețele neuronale de învățare profundă Edureka

Aplicații ale inteligenței artificiale și învățare profundă

Acum gândiți-vă la asta, în loc să vă faceți toată munca, aveți o mașină care să o termine pentru dvs. sau poate face ceva ce credeați că nu este deloc posibil. De exemplu:



Predicting Future - Deep Learning Tutorial - Edureka

Prezicerea viitorului: Ne poate ajuta în prezicerea prealabilă a cutremurelor, a tsunamiilor etc., astfel încât să poată fi luate măsuri preventive pentru a salva multe vieți de la căderea în ghearele calamităților naturale.

Chat-bot-uri: Toți ați fi auzit despre Siri, care este asistentul virtual controlat prin voce al Apple. Crede-mă, cu ajutorul Deep Learning, această asistență virtuală devine mai inteligentă zi de zi. De fapt, Siri se poate adapta în funcție de utilizator și poate oferi o asistență personalizată mai bună.
Mașini cu conducere automată: Imaginați-vă, cât de incredibil ar fi pentru persoanele cu dizabilități fizice și persoanele în vârstă cărora le este greu să conducă singuri. În afară de aceasta, va salva milioane de vieți inocente care se confruntă cu accidente rutiere în fiecare an din cauza erorilor umane.

Google Eye Eye Doctor: Este o inițiativă recentă luată de Google în care lucrează cu un lanț indian de îngrijire a ochilor pentru a dezvolta un software AI care poate examina scanarea retinei și identifica o afecțiune numită retinopatie diabetică, care poate provoca orbire.

Compozitor de muzică AI: Ei bine, cine a crezut că putem avea un compozitor de muzică AI folosind Deep Learning. Prin urmare, nu aș fi surprins să aud că următoarea cea mai bună muzică este dată de o mașină.
O mașină de citit vis: Acesta este unul dintre preferatele mele, o mașină care îți poate capta visele sub formă de videoclip sau ceva de genul acesta. Cu atâtea aplicații nerealiste de AI și învățare profundă pe care le-am văzut până acum, nu am fost surprins să aflu că acest lucru a fost încercat în Japonia cu câțiva ani în urmă pe trei subiecți de testare și au reușit să atingă o precizie de aproape 60%. Este ceva destul de incredibil, dar adevărat.


Sunt destul de sigur că unele dintre aceste aplicații din viața reală ale AI și Deep Learning v-ar fi dat pielea de găină. Bine, atunci acest lucru stă la baza dvs. și acum, suntem gata să continuăm mai departe în acest tutorial de învățare profundă și să înțelegem ce este inteligența artificială.



Ce este inteligența artificială?

Inteligența artificială nu este altceva decât capacitatea unei mașini de a imita comportamentul uman inteligent. AI se realizează prin imitarea unui creier uman, prin înțelegerea modului în care gândește, cum învață, decide și cum funcționează în timp ce încearcă să rezolve o problemă.

De exemplu: O mașină care joacă șah sau un software activat prin voce care vă ajută cu diverse lucruri în iPhone-ul dvs. sau un sistem de recunoaștere a plăcuței de înmatriculare care captează numărul de înmatriculare al unei mașini care depășește viteza și o procesează pentru a extrage numărul de înmatriculare și a identifica proprietarul mașinii . Toate acestea nu erau foarte ușor de implementat înainte Invatare profunda . Acum, să înțelegem diferitele subseturi ale Inteligenței Artificiale.

Subseturi de inteligență artificială

Până acum, ați fi auzit multe despre inteligența artificială, învățarea automată și învățarea profundă. Cu toate acestea, știți relația dintre toți trei? Practic, învățarea profundă este un sub-câmp al învățării automate, iar învățarea automată este un sub-câmp al inteligenței artificiale, așa cum se arată în imaginea de mai jos:

Când ne uităm la ceva de genul AlphaGo , este adesea descris ca un mare succes pentru învățarea profundă, dar este de fapt o combinație de idei din mai multe domenii diferite de AI și învățare automată. De fapt, ai fi surprins să afli că ideea din spatele rețelelor neuronale profunde nu este nouă, ci datează din anii 1950. Cu toate acestea, a devenit posibil să-l implementăm practic datorită capacității de resurse high-end disponibile în prezent.

Deci, mergând mai departe în acest blog tutorial de învățare profundă, să explorăm învățarea automată urmată de limitările sale.

Ce este învățarea automată?

Învățarea automată este un subset de inteligență artificială care oferă computerelor capacitatea de a învăța fără a fi programate în mod explicit. În învățarea automată, nu trebuie să definim în mod explicit toți pașii sau condițiile ca orice altă aplicație de programare. Dimpotrivă, aparatul este instruit cu privire la un set de date de formare, suficient de mare pentru a crea un model, care ajută aparatul să ia decizii pe baza învățării sale.

De exemplu: Vrem să determinăm speciile unei flori pe baza lungimii petalei și sepalului (frunzele unei flori) folosind învățarea automată. Atunci, cum o vom face?

Vom introduce setul de date despre flori care conține diferite caracteristici ale diferitelor flori, împreună cu speciile lor respective, în mașina noastră, după cum puteți vedea în imaginea de mai sus. Folosind acest set de date de intrare, aparatul va crea și instrui un model care poate fi folosit pentru a clasifica florile în diferite categorii.
Odată ce modelul nostru a fost instruit, vom transmite un set de caracteristici ca elemente de intrare în model.
În cele din urmă, modelul nostru va genera speciile de flori prezente în noul set de date de intrare. Acest proces de instruire a unei mașini pentru a crea un model și a-l utiliza pentru luarea deciziilor este numit Învățare automată . Cu toate acestea, acest proces are unele limitări.

Limitele învățării automate

Învățarea automată nu este capabilă să gestioneze date cu dimensiuni ridicate, unde intrarea și ieșirea sunt destul de mari. Manipularea și prelucrarea unui astfel de tip de date devine foarte complexă și exhaustivă a resurselor. Aceasta este denumită Blestemul dimensionalității . Pentru a înțelege acest lucru în termeni mai simpli, să luăm în considerare următoarea imagine:

Luați în considerare o linie de 100 de metri și ați scăpat o monedă undeva pe linie. Acum, este destul de convenabil să găsiți moneda mergând pur și simplu pe linie. Chiar această linie este o entitate monodimensională.
Apoi, consideră că ai un pătrat de latură de 100 de metri fiecare așa cum se arată în imaginea de mai sus și încă o dată, ai scăpat o monedă undeva între ele. Acum, este destul de evident că veți avea nevoie de mai mult timp pentru a găsi moneda în acel pătrat în comparație cu scenariul anterior. Acest pătrat este o entitate bidimensională.
Să facem un pas înainte luând în considerare un cub de latură de 100 de metri fiecare și ați scăpat o monedă undeva între ele. Acum, este și mai dificil să găsești moneda de data aceasta. Acest cub este o entitate tridimensională.

Prin urmare, puteți observa că complexitatea crește pe măsură ce dimensiunile cresc.Și în viața reală, datele cu dimensiuni ridicate despre care vorbeam au mii de dimensiuni, ceea ce îl face foarte complex de manevrat și prelucrat. Datele cu dimensiuni ridicate pot fi găsite cu ușurință în cazuri de utilizare precum Prelucrarea imaginilor, NLP, Traducerea imaginilor etc.

Învățarea automată nu a fost capabilă să rezolve aceste cazuri de utilizare și, prin urmare, învățarea profundă a fost salvată. Învățarea profundă este capabilă să gestioneze datele cu dimensiuni ridicate și este, de asemenea, eficientă în concentrarea pe caracteristicile potrivite de la sine. Acest proces se numește extragerea caracteristicilor. Acum, să mergem mai departe în acest tutorial de învățare profundă și să înțelegem cum funcționează învățarea profundă.

Cum funcționează Deep Learning?

În încercarea de a reproiecta un creier uman, Deep Learning studiază unitatea de bază a unui creier numită celulă cerebrală sau neuron. Inspirat dintr-un neuron a fost dezvoltat un neuron artificial sau un perceptron. Acum, să înțelegem funcționalitatea neuronilor biologici și cum imităm această funcționalitate în perceptron sau un neuron artificial:

  • Dacă ne concentrăm asupra structurii unui neuron biologic, acesta are dendrite care sunt utilizate pentru a primi intrări. Aceste intrări sunt însumate în corpul celulei și folosind Axon, acesta este transmis la următorul neuron biologic, așa cum se arată în imaginea de mai sus.

  • În mod similar, un perceptron primește mai multe intrări, aplică diverse transformări și funcții și oferă o ieșire.

  • Deoarece știm că creierul nostru constă din mai mulți neuroni conectați numiți rețea neuronală, putem avea și o rețea de neuroni artificiali numiți perceptroni pentru a forma o rețea neuronală profundă. Deci, să mergem mai departe în acest tutorial de învățare profundă pentru a înțelege cum arată o rețea neuronală profundă.

Tutorial Deep Learning: Ce este Deep Learning?

  • Orice rețea neuronală profundă va consta din trei tipuri de straturi:
    • Stratul de intrare
    • Stratul ascuns
    • Stratul de ieșire
În diagrama de mai sus, primul strat este stratul de intrare care primește toate intrările, iar ultimul strat este stratul de ieșire care furnizează ieșirea dorită.
Toate straturile dintre aceste straturi se numesc straturi ascunse. Nu poate exista n număr de straturi ascunse datorită resurselor de ultimă generație disponibile în aceste zile.
Numărul de straturi ascunse și numărul de perceptroni din fiecare strat vor depinde în totalitate de cazul de utilizare pe care încercați să îl rezolvați.

Acum că aveți o imagine a rețelelor neuronale profunde, să mergem mai departe în acest tutorial de învățare profundă pentru a obține o imagine de nivel înalt a modului în care rețelele neuronale profunde rezolvă o problemă de recunoaștere a imaginilor.

Utilizarea învățării profunde - Caz

Vrem să realizăm recunoașterea imaginii folosind Deep Networks:

Aici, trecem datele cu dimensiuni ridicate la stratul de intrare. Pentru a se potrivi dimensionalității datelor de intrare, stratul de intrare va conține mai multe sub-straturi de perceptroni, astfel încât să poată consuma întreaga intrare.
Ieșirea primită din stratul de intrare va conține modele și va putea identifica doar marginile imaginilor pe baza nivelurilor de contrast.
Această ieșire va fi alimentată în stratul ascuns 1, unde va fi capabil să identifice diverse caracteristici ale feței, cum ar fi ochii, nasul, urechile etc.
Acum, acesta va fi introdus în stratul ascuns 2, unde va putea forma întreaga față. Apoi, ieșirea stratului 2 este trimisă la stratul de ieșire.
În cele din urmă, stratul de ieșire efectuează o clasificare pe baza rezultatului obținut din precedent și prezice numele.

Permiteți-mi să vă pun o întrebare, ce se va întâmpla dacă lipsește oricare dintre aceste straturi sau rețeaua neuronală nu este suficient de profundă? Simplu, nu vom putea identifica cu exactitate imaginile. Acesta este chiar motivul pentru care aceste cazuri de utilizare nu au avut o soluție în toți acești ani înainte de Deep Learning. Doar pentru a merge mai departe, vom încerca să aplicăm rețele Deep pe un set de date MNIST.

turnarea tipului de date în java
  • Setul de date Mnist constă din 60.000 de probe de instruire și 10.000 de probe de testare a imaginilor scrise de mână. Sarcina aici este de a instrui un model care poate identifica cu precizie cifra prezentă pe imagine.

  • Pentru a rezolva acest caz de utilizare, va fi creată o rețea Deep cu mai multe straturi ascunse pentru a procesa toate cele 60.000 de imagini pixel cu pixel și în cele din urmă vom primi un strat de ieșire.
  • Stratul de ieșire va fi o matrice de index 0 la 9, unde fiecare index corespunde cifrei respective. Indexul 0 conține probabilitatea ca 0 să fie cifra prezentă pe imaginea de intrare.
  • În mod similar, indicele 2, care are o valoare de 0,1, reprezintă de fapt probabilitatea ca 2 să fie cifra prezentă pe imaginea de intrare. Deci, dacă vedem cea mai mare probabilitate în această matrice este 0,8, care este prezent la indexul 7 al matricei. Prin urmare, numărul prezent pe imagine este 7.

Concluzie

Așadar, băieți, totul a fost despre învățarea profundă pe scurt. În acest tutorial de învățare profundă, am văzut diverse aplicații ale învățării profunde și am înțeles relația sa cu AI și învățarea automată. Apoi, am înțeles cum putem folosi perceptronul sau un neuron artificial elemente de bază pentru crearea unei rețele neuronale profunde care poate îndeplini sarcini complexe, cum ar fi. În cele din urmă, am trecut printr-unul dintre cazurile de utilizare a învățării profunde în care am efectuat recunoașterea imaginii folosind rețele neuronale profunde și am înțeles toți pașii care se întâmplă în spatele scenei. Acum, în următorul blog al acestei serii Deep Learning Tutorial, vom învăța cum să implementăm un perceptron folosind TensorFlow, care este o bibliotecă bazată pe Python pentru Deep Learning.

Acum, că știți despre Deep Learning, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de învățare profundă Edureka cu certificare TensorFlow îi ajută pe cursanți să devină experți în formarea și optimizarea rețelelor neuronale de bază și convoluționale, folosind proiecte și sarcini în timp real, împreună cu concepte precum funcția SoftMax, rețelele neuronale de auto-codificare, mașina restricționată Boltzmann (RBM).

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.