AI-For-Beginners/translations/lt/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] 132c5c3f8f chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00
Perceptron.ipynb 🌐 Update translations via Co-op Translator 2025-12-12 20:42:50 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:51:30 +00:00

README.md

Įvadas į neuroninius tinklus: Perceptronas

Prieš paskaitos testas

Vienas iš pirmųjų bandymų sukurti kažką panašaus į šiuolaikinį neuroninį tinklą buvo atliktas Franko Rosenblatto iš Kornelio aeronautikos laboratorijos 1957 metais. Tai buvo techninė įranga, pavadinta „Mark-1“, sukurta atpažinti primityvias geometrines figūras, tokias kaip trikampiai, kvadratai ir apskritimai.

Frank Rosenblatt The Mark 1 Perceptron

Vaizdai iš Vikipedijos

Įvesties vaizdas buvo pateikiamas kaip 20x20 fotoląstelių masyvas, todėl neuroninis tinklas turėjo 400 įėjimų ir vieną dvejetainį išėjimą. Paprastas tinklas turėjo vieną neuroną, dar vadinamą slenksčio logikos vienetu. Neuroninio tinklo svoriai veikė kaip potenciometrai, kuriuos reikėjo rankiniu būdu reguliuoti mokymo metu.

Potenciometras yra įrenginys, leidžiantis vartotojui reguliuoti grandinės varžą.

Tuo metu „The New York Times“ rašė apie perceptroną: elektroninio kompiuterio embrionas, kurį [karinis jūrų laivynas] tikisi, kad jis galės vaikščioti, kalbėti, matyti, rašyti, daugintis ir būti sąmoningas savo egzistencijos.

Perceptrono modelis

Tarkime, kad mūsų modelyje yra N savybių, tokiu atveju įvesties vektorius būtų N dydžio vektorius. Perceptronas yra dvejetainės klasifikacijos modelis, t. y. jis gali atskirti du įvesties duomenų klases. Mes laikysime, kad kiekvienam įvesties vektoriui x perceptrono išėjimas bus arba +1, arba -1, priklausomai nuo klasės. Išėjimas bus apskaičiuojamas pagal formulę:

y(x) = f(wTx)

kur f yra slenksčio aktyvacijos funkcija

Perceptrono mokymas

Norint išmokyti perceptroną, reikia rasti svorių vektorių w, kuris teisingai klasifikuotų daugumą reikšmių, t. y. duotų mažiausią klaidą. Ši klaida E apibrėžiama pagal perceptrono kriterijų taip:

E(w) = -∑wTxiti

kur:

  • suma imama iš tų mokymo duomenų taškų i, kurie duoda neteisingą klasifikaciją
  • xi yra įvesties duomenys, o ti yra -1 arba +1 atitinkamai neigiamų ir teigiamų pavyzdžių.

Šis kriterijus laikomas svorių w funkcija, ir mes turime jį minimizuoti. Dažnai naudojamas metodas, vadinamas gradientiniu nusileidimu, kuriame pradedame nuo pradinio svorio w(0), o kiekviename žingsnyje atnaujiname svorius pagal formulę:

w(t+1) = w(t) - η∇E(w)

Čia η yra vadinamas mokymosi greitis, o ∇E(w) reiškia gradientą E. Po gradiento apskaičiavimo gauname:

w(t+1) = w(t) + ∑ηxiti

Algoritmas Python kalba atrodo taip:

def train(positive_examples, negative_examples, num_iterations = 100, eta = 1):

    weights = [0,0,0] # Initialize weights (almost randomly :)
        
    for i in range(num_iterations):
        pos = random.choice(positive_examples)
        neg = random.choice(negative_examples)

        z = np.dot(pos, weights) # compute perceptron output
        if z < 0: # positive example classified as negative
            weights = weights + eta*weights.shape

        z  = np.dot(neg, weights)
        if z >= 0: # negative example classified as positive
            weights = weights - eta*weights.shape

    return weights

Išvada

Šioje pamokoje sužinojote apie perceptroną, kuris yra dvejetainės klasifikacijos modelis, ir kaip jį išmokyti naudojant svorių vektorių.

🚀 Iššūkis

Jei norite pabandyti sukurti savo perceptroną, išbandykite šį laboratorinį darbą Microsoft Learn platformoje, kuris naudoja Azure ML dizainerį.

Po paskaitos testas

Apžvalga ir savarankiškas mokymasis

Norėdami pamatyti, kaip perceptronas gali būti naudojamas sprendžiant žaislinius ir realaus gyvenimo uždavinius, bei tęsti mokymąsi, apsilankykite Perceptron užrašų knygelėje.

Taip pat štai įdomus straipsnis apie perceptronus.

Užduotis

Šioje pamokoje mes įgyvendinome perceptroną dvejetainės klasifikacijos užduočiai ir panaudojome jį dviejų ranka rašytų skaitmenų klasifikavimui. Šiame laboratoriniame darbe jūsų prašoma visiškai išspręsti skaitmenų klasifikavimo problemą, t. y. nustatyti, kuris skaitmuo greičiausiai atitinka pateiktą vaizdą.