Înțelegerea conceptelor de învățare profundă
În creierul tău, ai celule nervoase numite neuroni, care sunt conectate unul la altul prin extensiile nervilor care trec semnale electrochimice prin rețea.
Atunci când primul neuron din rețea este stimulat, semnalul de intrare este procesat și, dacă depășește un anumit prag, neuronul este activat și transmite semnalul către neuronii la care este conectat. Acești neuroni, la rândul lor, pot fi activați și transmiteți semnalul prin restul rețelei. În timp, conexiunile dintre neuroni sunt consolidate prin utilizarea frecventă, în timp ce aflați cum să răspundă eficient. De exemplu, dacă vi se afișează o imagine a pinguinului, conexiunile neuronului vă permit să procesați informațiile din imagine și cunoștințele dvs. despre caracteristicile unui pinguin pentru a o identifica ca atare. În timp, dacă se afișează mai multe imagini cu diverse animale, rețeaua de neuroni implicați în identificarea animalelor pe baza caracteristicii lor crește mai puternic. Cu alte cuvinte, vă faceți bine să identificați cu precizie diferite animale.
Învățarea profundă emulează acest proces biologic utilizând rețele neurale artificiale care procesează intrări numerice, mai degrabă decât stimuli electrochimici.
Conexiunile nervoase de intrare sunt înlocuite de intrări numerice care sunt identificate de obicei ca x. Atunci când există mai multe valori de intrare, x este considerat vector cu elemente denumite x1, x2 și așa mai departe.
Asociată cu fiecare valoare x este o greutate (w), care este utilizată pentru a consolida sau slăbi efectul valorii x pentru a simula învățarea. În plus, se adaugă o intrare prejudecată (b) pentru a permite controlul fin asupra rețelei. În timpul procesului de instruire, valorile w și b sunt ajustate pentru a regla rețeaua astfel încât să "învețe" să producă rezultate corecte.
Neuronul în sine încapsulează o funcție care calculează o sumă ponderată de x, w și b. Această funcție este încadrată la rândul ei într-o funcție de activare care restricționează rezultatul (adesea la o valoare între 0 și 1) pentru a determina dacă neuronul trece sau nu un rezultat pe următorul strat de neuroni din rețea.
Instruirea unui model de învățare profundă
Modelele de învățare profundă sunt rețele neuronale care constau din mai multe straturi de neuroni artificiali. Fiecare strat reprezintă un set de funcții efectuate pe valorile x cu greutățile w asociate și b biază, iar rezultatele finale ale stratului pe o ieșire a etichetei y pe care o prezice modelul. În cazul unui model de clasificare (care prezice cea mai probabilă categorie sau clasă pentru datele de intrare), ieșirea este un vector care conține probabilitatea pentru fiecare clasă posibilă.
Diagrama următoare reprezintă un model de învățare profundă care anticipează clasa unei entități de date pe baza a patru caracteristici (valorile x ). Rezultatul modelului (valorile y ) este probabilitatea pentru fiecare dintre cele trei etichete de clasă posibile.
Pentru a instrui modelul, un cadru de învățare profundă alimentează mai multe seturi de date de intrare (pentru care sunt cunoscute valorile reale ale etichetelor), aplică funcțiile din toate straturile de rețea și măsoară diferența dintre probabilitățile de ieșire și etichetele de clasă cunoscute reale ale datelor de instruire. Diferența agregată dintre ieșirile de predicție și etichetele reale se numește pierdere.
După ce ați calculat pierderea agregată pentru toate loturile de date, cadrul de învățare profundă utilizează un optimizator pentru a determina modul în care greutățile și biaza din model ar trebui ajustate pentru a reduce pierderea generală. Aceste ajustări sunt apoi backpropagate la straturile din modelul de rețea neurală, apoi datele sunt transmise din nou prin rețea și pierderea recalculată. Acest proces se repetă de mai multe ori (fiecare iterație este cunoscută ca epocă) până când pierderea este minimizată și modelul a "învățat" greutățile și biaza potrivite pentru a putea prezice corect.
În timpul fiecărei epoci, greutățile și biaza sunt ajustate pentru a minimiza pierderea. Cantitatea de care sunt ajustate este guvernată de rata de învățare pe care o specificați pentru optimizator. Dacă rata de învățare este prea mică, procesul de instruire poate dura mult timp pentru a determina valorile optime; dar dacă este prea mare, optimizatorul nu poate găsi niciodată valorile optime.