![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
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.
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.
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.
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.
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:
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
Licha ya utendakazi wake wa kushangaza, marekebisho kadhaa yamependekezwa kwa algoriti asilia ya SGD ili kusaidia kuboresha utendakazi.
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.