paint-brush
Batez besteko gradiente estokastikoa ulertzeaarabera@kustarev
31,853 irakurketak
31,853 irakurketak

Batez besteko gradiente estokastikoa ulertzea

arabera Andrey Kustarev4m2024/06/06
Read on Terminal Reader
Read this story w/o Javascript

Luzeegia; Irakurri

Gradientearen jaitsiera emandako funtzio objektiboen minimo globalak kokatzeko erabiltzen den optimizazio ezaguna da. Algoritmoak helburu-funtzioaren gradientea erabiltzen du funtzioaren malda zeharkatzeko punturik baxuenera iritsi arte. Gradiente osoa (FG) eta Gradiente Estokastikoa (SGD) algoritmoaren bi aldaera ezagun dira. FG-k datu-multzo osoa erabiltzen du iterazio bakoitzean eta konbergentzia-tasa altua ematen du konputazio-kostu handiarekin. Iterazio bakoitzean, SGD-k datuen azpimultzo bat erabiltzen du algoritmoa exekutatzeko. Askoz eraginkorragoa da baina konbergentzia ziurgabekoa. Batez besteko Gradiente Estokastikoa (SAG) aurreko bi algoritmoen onurak ematen dituen beste aldaera bat da. Iraganeko gradienteen batez bestekoa eta datu-multzoaren azpimultzo bat erabiltzen ditu konbergentzia-tasa altua konputazio baxuarekin emateko. Algoritmoa gehiago alda daiteke bere eraginkortasuna hobetzeko bektorializazioa eta mini-loteak erabiliz.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Batez besteko gradiente estokastikoa ulertzea
Andrey Kustarev HackerNoon profile picture
0-item


Gradienteen jaitsiera da machine learning-en (ML) modelizazioan optimizazio-teknikarik ezagunena. Algoritmoak aurreikusitako balioen eta oinarrizko egiaren arteko errorea minimizatzen du. Teknikak datu-puntu bakoitza akatsa ulertzeko eta minimizatzeko kontuan hartzen duenez, bere errendimendua prestakuntza-datuen tamainaren araberakoa da. Gradiente Estokastikoa Jaitsiera (SGD) bezalako teknikak kalkuluaren errendimendua hobetzeko diseinatuta daude, baina konbergentziaren zehaztasunaren kostuan.


Stochastic Average Gradient-ek ikuspegi klasikoa orekatzen du, Gradient Full Descent eta SGD izenez ezagutzen dena, eta bi abantailak eskaintzen ditu. Baina algoritmoa erabili aurretik, ereduaren optimizaziorako duen garrantzia ulertu behar dugu.

Makina ikasteko helburuak optimizatzea gradienteen jaitsierarekin

ML algoritmo bakoitzak erlazionatutako galera-funtzio bat dauka, ereduaren errendimendua gutxitzea edo hobetzea helburu duena. Matematikoki, galera honela defini daiteke:


Benetako eta aurreikusitako irteeraren arteko aldea besterik ez da, eta diferentzia hori minimizatzeak esan nahi du gure eredua oinarrizko egiaren balioetara hurbiltzen dela.


Minimizazio algoritmoak gradienteen jaitsiera erabiltzen du galera-funtzioa zeharkatzeko eta minimo globala aurkitzeko. Zeharkako urrats bakoitzak algoritmoaren pisuak eguneratzea dakar irteera optimizatzeko.


Desnibel arruntaren jaitsiera

Gradienteen jaitsieraren algoritmo konbentzionalak datu multzo osoan kalkulatutako gradiente guztien batez bestekoa erabiltzen du. Prestakuntza-adibide bakar baten bizi-zikloa honelakoa da:



Pisuaren eguneratze-ekuazioak honako itxura du:

Non W ereduaren pisuak adierazten dituen eta dJ/dW galera-funtzioaren deribatua ereduaren pisuarekiko. Metodo konbentzionalak konbergentzia-tasa handia du, baina konputazionalki garestia bihurtzen da milioika datu-puntu dituzten datu multzo handiekin tratatzean.

Gradiente estokastikoa jaitsiera (SGD)

SGD metodologiak GD arruntaren berdina izaten jarraitzen du, baina gradienteak kalkulatzeko datu-multzo osoa erabili beharrean, sarreren lote txiki bat erabiltzen du. Metodoa askoz eraginkorragoa da, baina baliteke gutxieneko globaletan gehiegi ibiltzea, iterazio bakoitzak datuen zati bat soilik erabiltzen baitu ikasteko.

Batez besteko gradiente estokastikoa

Stochastic Average Gradient (SAG) ikuspegia GD eta SGD arteko erdibide gisa sartu zen. Ausazko datu-puntu bat hautatzen du eta bere balioa eguneratzen du puntu horretako gradientean eta datu-puntu jakin horretarako gordetako iraganeko gradienteen batez besteko haztatu batean oinarrituta.


SGD-ren antzera, SAGk problema bakoitza funtzio konbexo eta deribagarrien batura finitu gisa modelatzen du. Edozein iteraziotan, egungo gradienteak eta aurreko gradienteen batez bestekoa erabiltzen ditu pisua eguneratzeko. Ekuazioak forma hau hartzen du:



Konbergentzia-tasa

Bi algoritmo ezagunen artean, gradiente osoa (FG) eta gradiente estokastikoaren jaitsiera (SGD), FG algoritmoak konbergentzia-tasa hobea du, iterazio bakoitzean datu multzo osoa erabiltzen baitu kalkulurako.

SAG-ek SGD-ren antzeko egitura badu ere, bere konbergentzia-tasa gradiente osoko hurbilpenaren parekoa eta batzuetan hobea da. Beheko 1. taulan esperimentuen emaitzak laburbiltzen dira Schmidt et. al .

Iturria: https://arxiv.org/pdf/1309.2388

Aldaketa gehiago

Errendimendu harrigarria izan arren, hainbat aldaketa proposatu zaizkio jatorrizko SGD algoritmoari errendimendua hobetzen laguntzeko.


  • Hasierako iterazioetan berriro haztatzea: SAG konbergentzia motela izaten jarraitzen du lehen iterazioetan, algoritmoak n-rekin (datu-puntu guztira) norabidea normalizatzen baitu. Horrek estimazio okerra ematen du, algoritmoak oraindik datu-puntu asko ikusi ez dituelako. Aldaketak n-ren ordez m-ren bidez normalizatzea iradokitzen du, non m iterazio jakin horretara arte gutxienez behin ikusitako datu-puntu kopurua den.
  • Mini-loteak: Gradiente estokastikoen ikuspegiak mini-loteak erabiltzen ditu hainbat datu-puntu aldi berean prozesatzeko. Planteamendu bera aplika daiteke SAG-ri. Honek bektorializazioa eta paralelizazioa ahalbidetzen ditu ordenagailuaren eraginkortasuna hobetzeko. Memoriaren karga ere murrizten du, SAG algoritmoaren erronka nabarmena.
  • Urrats-Tamainaren esperimentazioa: Lehen aipatutako urratsaren tamainak (116L) emaitza harrigarriak ematen ditu, baina egileek 1L-ko urratsaren tamaina erabiliz esperimentatu zuten. Azken honek are konbergentzia hobea eman zuen. Hala ere, egileek ezin izan zuten hobetutako emaitzen analisi formalik aurkeztu. Urratsaren tamaina esperimentatu behar dela ondorioztatu dute arazo zehatzerako egokiena aurkitzeko.


Azken Gogoetak

Gradientearen jaitsiera emandako funtzio objektiboen minimo globalak kokatzeko erabiltzen den optimizazio ezaguna da. Algoritmoak helburu-funtzioaren gradientea erabiltzen du funtzioaren malda zeharkatzeko punturik baxuenera iritsi arte.

Gradiente osoa (FG) eta Gradiente Estokastikoa (SGD) algoritmoaren bi aldaera ezagun dira. FG-k datu-multzo osoa erabiltzen du iterazio bakoitzean eta konbergentzia-tasa altua ematen du konputazio-kostu handiarekin. Iterazio bakoitzean, SGD-k datuen azpimultzo bat erabiltzen du algoritmoa exekutatzeko. Askoz eraginkorragoa da baina konbergentzia ziurgabekoa.


Batez besteko Gradiente Estokastikoa (SAG) aurreko bi algoritmoen onurak ematen dituen beste aldaera bat da. Iraganeko gradienteen batez bestekoa eta datu-multzoaren azpimultzo bat erabiltzen ditu konbergentzia-tasa altua konputazio baxuarekin emateko. Algoritmoa gehiago alda daiteke bere eraginkortasuna hobetzeko bektorializazioa eta mini-loteak erabiliz.