paint-brush
Kuelewa Gradient ya Wastani ya Stochastickwa@kustarev
31,726 usomaji
31,726 usomaji

Kuelewa Gradient ya Wastani ya Stochastic

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

Ndefu sana; Kusoma

Kushuka kwa gradient ni uboreshaji maarufu unaotumiwa kutafuta minima ya kimataifa ya vitendakazi vya lengo vilivyotolewa. Algoriti hutumia upinde rangi ya chaguo za kukokotoa lengo kuvuka mteremko wa chaguo za kukokotoa hadi kufikia hatua ya chini kabisa. Kushuka kwa Gradient Kamili (FG) na Kushuka kwa Gradient ya Stochastic (SGD) ni tofauti mbili maarufu za algoriti. FG hutumia mkusanyiko mzima wa data wakati wa kila marudio na hutoa kiwango cha juu cha muunganisho kwa gharama ya juu ya kukokotoa. Katika kila marudio, SGD hutumia seti ndogo ya data kutekeleza kanuni. Ni bora zaidi lakini kwa muunganiko usio na uhakika. Stochastic Average Gradient (SAG) ni tofauti nyingine ambayo hutoa faida za algoriti zote mbili za awali. Inatumia wastani wa gradient zilizopita na seti ndogo ya mkusanyiko wa data kutoa kiwango cha juu cha muunganiko na hesabu ya chini. Algorithm inaweza kubadilishwa zaidi ili kuboresha ufanisi wake kwa kutumia vectorization na mini-batches.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Kuelewa Gradient ya Wastani ya Stochastic
Andrey Kustarev HackerNoon profile picture
0-item


Kushuka kwa gradient ndiyo mbinu maarufu zaidi ya uboreshaji katika uundaji wa mashine ya kujifunza (ML). Algorithm inapunguza makosa kati ya maadili yaliyotabiriwa na ukweli wa msingi. Kwa kuwa mbinu inazingatia kila nukta ya data ili kuelewa na kupunguza kosa, utendakazi wake unategemea saizi ya data ya mafunzo. Mbinu kama vile Kushuka kwa Gradient ya Stochastic (SGD) zimeundwa ili kuboresha utendakazi wa hesabu lakini kwa gharama ya usahihi wa muunganisho.


Upeo wa Wastani wa Stochastic husawazisha mbinu ya kawaida, inayojulikana kama Kushuka Kamili Gradient na SGD, na inatoa faida zote mbili. Lakini kabla ya kutumia algorithm, lazima kwanza tuelewe umuhimu wake kwa uboreshaji wa mfano.

Kuboresha Malengo ya Kujifunza kwa Mashine kwa Kushuka kwa Gradient

Kila algoriti ya ML ina kipengele cha kukokotoa cha upotevu kinachohusishwa ambacho kinalenga kupunguza au kuboresha utendakazi wa muundo. Kihisabati, hasara inaweza kufafanuliwa kama:


Ni tofauti tu kati ya matokeo halisi na yaliyotabiriwa, na kupunguza tofauti hii inamaanisha kuwa kielelezo chetu kinakaribia maadili ya ukweli wa msingi.


Kanuni ya upunguzaji hutumia mteremko wa upinde rangi kuvuka kitendakazi cha upotevu na kupata kiwango cha chini cha kimataifa. Kila hatua ya kuvuka inahusisha kusasisha uzani wa algoriti ili kuboresha matokeo.


Kushuka kwa Gradient isiyo na kifani

Kanuni ya mteremko wa kawaida wa gradient hutumia wastani wa mikunjo yote inayokokotolewa kwenye mkusanyiko mzima wa data. Mzunguko wa maisha wa mfano mmoja wa mafunzo unaonekana kama ifuatavyo:



Equation ya sasisho la uzito inaonekana kama ifuatavyo:

Ambapo W inawakilisha uzani wa mfano na dJ/dW ni derivative ya chaguo la kukokotoa la upotevu kwa heshima na uzani wa kielelezo. Mbinu ya kawaida ina kiwango cha juu cha muunganiko lakini inakuwa ghali kikokotoa inaposhughulika na mkusanyiko mkubwa wa data unaojumuisha mamilioni ya pointi za data.

Kushuka kwa Gradient ya Stochastic (SGD)

Mbinu ya SGD inasalia kuwa sawa na GD wazi, lakini badala ya kutumia mkusanyiko mzima wa data kukokotoa gradient, hutumia bechi ndogo kutoka kwa pembejeo. Mbinu hiyo ni nzuri zaidi lakini inaweza kurukaruka sana kuzunguka kiwango cha chini cha kimataifa kwa kuwa kila marudio hutumia tu sehemu ya data kujifunza.

Gradient ya Wastani wa Stochastic

Mbinu ya Wastani wa Upeo wa Kiwango cha Stochastic (SAG) ilianzishwa kama msingi wa kati kati ya GD na SGD. Huchagua nukta ya data bila mpangilio na kusasisha thamani yake kulingana na upinde rangi katika hatua hiyo na wastani wa uzani wa vijisehemu vya awali vilivyohifadhiwa kwa uhakika huo wa data.


Sawa na SGD, SAG mifano ya kila tatizo kama jumla ya kikomo ya kazi convex, tofauti. Kwa marudio yoyote, hutumia mikunjo ya sasa na wastani wa mikunjo ya awali kwa kusasisha uzito. Equation inachukua fomu ifuatayo:



Kiwango cha Muunganisho

Kati ya algoriti mbili maarufu, upinde rangi kamili (FG) na mteremko wa gradient stochastic (SGD), algoriti ya FG ina kiwango bora cha muunganiko kwani hutumia data nzima wakati wa kila marudio kwa kukokotoa.

Ingawa SAG ina muundo sawa na SGD, kasi ya muunganiko wake inalinganishwa na wakati mwingine bora kuliko mbinu kamili ya upinde rangi. Jedwali 1 hapa chini linatoa muhtasari wa matokeo kutoka kwa majaribio ya Schmidt na wengine. al .

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

Marekebisho Zaidi

Licha ya utendakazi wake wa kushangaza, marekebisho kadhaa yamependekezwa kwa algoriti asilia ya SGD ili kusaidia kuboresha utendakazi.


  • Kuweka upya uzani katika Marudio ya Mapema: Muunganisho wa SAG husalia polepole wakati wa marudio machache ya kwanza kwani algoriti hurekebisha mwelekeo kwa n (jumla ya idadi ya pointi za data). Hili linatoa makadirio yasiyo sahihi kwani algoriti bado haijaona alama nyingi za data. Marekebisho yanapendekeza kurekebishwa kwa m badala ya n, ambapo m ni idadi ya alama za data zinazoonekana angalau mara moja hadi marudio hayo maalum.
  • Vifungu vidogo: Mbinu ya Stochastic Gradient hutumia bechi ndogo kuchakata pointi nyingi za data kwa wakati mmoja. Njia hiyo hiyo inaweza kutumika kwa SAG. Hii inaruhusu vectorization na usawazishaji kwa ajili ya kuboresha ufanisi wa kompyuta. Pia hupunguza mzigo wa kumbukumbu, changamoto kubwa kwa algorithm ya SAG.
  • Majaribio ya Ukubwa wa Hatua: Ukubwa wa hatua uliotajwa awali (116L) hutoa matokeo ya kushangaza, lakini waandishi walifanya majaribio zaidi kwa kutumia saizi ya hatua ya 1L. Mwisho ulitoa muunganiko bora zaidi. Hata hivyo, waandishi hawakuweza kuwasilisha uchambuzi rasmi wa matokeo yaliyoboreshwa. Wanahitimisha kuwa saizi ya hatua inapaswa kujaribiwa ili kupata mojawapo ya shida maalum.


Mawazo ya Mwisho

Kushuka kwa gradient ni uboreshaji maarufu unaotumiwa kutafuta minima ya kimataifa ya vitendakazi vilivyotolewa. Algoriti hutumia upinde rangi ya chaguo za kukokotoa lengo kuvuka mteremko wa chaguo za kukokotoa hadi kufikia hatua ya chini kabisa.

Kushuka kwa Gradient Kamili (FG) na Kushuka kwa Gradient ya Stochastic (SGD) ni tofauti mbili maarufu za algoriti. FG hutumia mkusanyiko mzima wa data wakati wa kila marudio na hutoa kiwango cha juu cha muunganisho kwa gharama ya juu ya kukokotoa. Katika kila marudio, SGD hutumia seti ndogo ya data kutekeleza kanuni. Ni bora zaidi lakini kwa muunganisho usio na uhakika.


Stochastic Average Gradient (SAG) ni tofauti nyingine ambayo hutoa faida za algoriti zote mbili za awali. Inatumia wastani wa gradient zilizopita na seti ndogo ya mkusanyiko wa data kutoa kiwango cha juu cha muunganiko na hesabu ya chini. Algorithm inaweza kubadilishwa zaidi ili kuboresha ufanisi wake kwa kutumia vectorization na mini-batches.