Við stöndum frammi fyrir hagræðingarvandamálum í mörgum raunverulegum aðstæðum þar sem við þurfum að bera kennsl á lágmark eða hámark aðgerða.
Líttu á aðgerð sem stærðfræðilega framsetningu kerfis og að ákvarða lágmark eða hámark þess getur verið mikilvægt fyrir margs konar forrit eins og vélanám, verkfræði, fjármál og fleira.
Lítum á landslag með hæðum og dölum og markmið okkar er að finna lægsta punktinn (lágmark) til að komast á áfangastað eins fljótt og auðið er.
Við notum oft halla reiknirit til að leysa slíkar hagræðingaráskoranir. Þessar reiknirit eru endurteknar hagræðingaraðferðir til að lágmarka fall með því að taka skref í átt að brattasta lækkuninni (neikvæð halli).
Hallinn endurspeglar þá stefnu sem hefur mesta aukningu í fallinu og ferð í gagnstæða átt leiðir okkur í lágmarkið.
Hvað nákvæmlega er Gradient Descent Algorithm?
Gradient decent er vinsæl endurtekinn fínstillingaraðferð til að ákvarða lágmark (eða hámark) falls.
Það er mikilvægt tæki á nokkrum sviðum, þar á meðal vél nám, djúpt nám, gervigreind, verkfræði og fjármál.
Grundvallarregla reikniritsins byggir á notkun þess á halla, sem sýnir stefnu mestu hækkunarinnar á gildi fallsins.
Reikniritið siglar landslag fallsins á skilvirkan hátt í átt að lágmarki með því að taka ítrekað skref í gagnstæða átt sem hallinn, endurtekið fínpússa lausnina þar til hún rennur saman.
Af hverju notum við reiknirit fyrir stigalækkun?
Til að byrja með er hægt að nota þau til að leysa margs konar hagræðingarvandamál, þar á meðal þau sem eru með hávíddarrými og flóknar aðgerðir.
Í öðru lagi geta þeir fundið bestu lausnir fljótt, sérstaklega þegar greiningarlausnin er ekki tiltæk eða reikningslega dýr.
Gradient decent tækni er mjög stigstærð og getur tekist á við gífurleg gagnasöfn.
Fyrir vikið eru þeir mikið notaðir í vélfræðinám reiknirit eins og að þjálfa taugakerfi til að læra af gögnum og breyta breytum þeirra til að lágmarka spávillur.
Nákvæmt dæmi um stiglækkunarskref
Við skulum skoða ítarlegra dæmi til að öðlast betri skilning á hallafallstækninni.
Lítum á tvívíddarfallið f(x) = x2, sem myndar grunn fleygbogaferil með lágmarki við (2). Hlutfallslækkunaralgrímið verður notað til að ákvarða þennan lágmarkspunkt.
Skref 1: Frumstilling
Reikniritið fyrir hallafall byrjar á því að frumstilla gildi breytunnar x, táknað sem x0.
Upphafsgildið getur haft töluverð áhrif á frammistöðu reikniritsins.
Tilviljunarkennd frumstilling eða að nota fyrri þekkingu á vandamálinu eru tvær algengar aðferðir. Gerum ráð fyrir að x₀ = 3 í upphafi máls okkar.
Skref 2: Reiknaðu hallann
Halli fallsins f(x) í núverandi stöðu x₀. verður þá að reikna út.
Hallinn gefur til kynna halla eða breytingahraða fallsins á viðkomandi stað.
Við reiknum út afleiðuna fyrir x fyrir fallið f(x) = x2, sem gefur f'(x) = 2x. Við fáum hallann við x0 sem 2 * 3 = 6 með því að skipta út x₀ = 3 í hallaútreikninginn.
Skref 3: Uppfærðu færibreytur
Með því að nota hallaupplýsingarnar uppfærum við gildi x sem hér segir: x = x₀ – α * f'(x₀), þar sem α (alfa) táknar námshraðann.
Námshlutfallið er ofviða sem ákvarðar stærð hvers skrefs í uppfærsluferlinu. Að stilla viðeigandi námshraða er mikilvægt þar sem hægur námshraði getur valdið því reiknirit að taka of margar endurtekningar til að ná lágmarkinu.
Hátt námshlutfall getur aftur á móti leitt til þess að reikniritið skoppar eða nær ekki að renna saman. Gefum okkur námshraða α = 0.1 vegna þessa dæmis.
Skref 4: Endurtekið
Eftir að við höfum uppfært gildi x, endurtökum við skref 2 og 3 fyrir fyrirfram ákveðinn fjölda endurtekningar eða þar til breytingin á x verður lítil, sem gefur til kynna samleitni.
Aðferðin reiknar hallann, uppfærir gildi x og heldur ferlinu áfram við hverja endurtekningu, sem gerir það kleift að komast nær lágmarkinu.
Skref 5: Samruni
Tæknin rennur saman eftir nokkrar endurtekningar að þeim stað þar sem frekari uppfærslur hafa ekki veruleg áhrif á gildi fallsins.
Í okkar tilviki, þegar endurtekningarnar halda áfram, mun x nálgast 0, sem er lágmarksgildi f(x) = x^2. Fjöldi endurtekningar sem nauðsynlegar eru fyrir samleitni ræðst af þáttum eins og námshraða sem valinn er og hversu flókin aðgerðin er fínstillt.
Að velja námshlutfall ()
Að velja ásættanlegt námshlutfall () er mikilvægt fyrir skilvirkni hallaralgrímsins. Eins og áður hefur komið fram getur lágt námshlutfall valdið hægum samleitni, en hátt námshlutfall getur valdið ofskoti og misbresti.
Að finna rétta jafnvægið er mikilvægt til að tryggja að reikniritið komist saman að fyrirhuguðu lágmarki á eins skilvirkan hátt og mögulegt er.
Að stilla námshraðann er oft tilrauna-og-villa aðferð í reynd. Vísindamenn og sérfræðingar gera reglulega tilraunir með mismunandi námshraða til að sjá hvernig þeir hafa áhrif á samleitni reikniritsins á tiltekinni áskorun þeirra.
Meðhöndlun aðgerða sem ekki eru kúptar
Þó að dæmið á undan hafi verið með einfalda kúpta aðgerð, fela mörg raunveruleg hagræðingarvandamál í sér ókúptar aðgerðir með mörgum staðbundnum lágmörkum.
Þegar hallafall er notað í slíkum tilvikum getur aðferðin runnið saman að staðbundnu lágmarki frekar en alþjóðlegu lágmarki.
Nokkrar háþróaðar gerðir af hallafalli hafa verið þróaðar til að vinna bug á þessu vandamáli. Stochastic Gradient Descent (SGD) er ein slík aðferð sem kynnir tilviljun með því að velja tilviljanakenndan hlutmengi gagnapunkta (þekktur sem lítill hópur) til að reikna hallann við hverja endurtekningu.
Þetta slembiúrtak gerir reikniritinu kleift að forðast staðbundin lágmörk og kanna nýja hluta af landslagi fallsins, sem eykur líkurnar á að finna betra lágmark.
Adam (Adaptive Moment Estimation) er annar áberandi afbrigði, sem er aðlögunarhæfni námshraða hagræðingaraðferð sem felur í sér kosti bæði RMSprop og skriðþunga.
Adam breytir námshraða fyrir hverja færibreytu á kraftmikinn hátt byggt á fyrri hallaupplýsingum, sem gæti leitt til betri samleitni á ókúptum föllum.
Þessar háþróuðu afbrigði af hallafalli hafa reynst árangursríkar við að meðhöndla sífellt flóknari aðgerðir og hafa orðið staðlað verkfæri í vélanámi og djúpnámi, þar sem ókúpt hagræðingarvandamál eru algeng.
Skref 6: Sjáðu framfarir þínar
Við skulum sjá framvindu hallarlækkunaralgrímsins til að fá betri skilning á endurtekningarferli þess. Lítum á línurit með x-ás sem táknar endurtekningar og y-ás sem táknar gildi fallsins f(x).
Þegar reikniritið endurtekur sig nálgast gildi x núllið og þar af leiðandi lækkar fallgildið með hverju skrefi. Þegar það er teiknað á línurit myndi þetta sýna áberandi lækkandi tilhneigingu, sem endurspeglar framfarir reikniritsins í átt að því að ná lágmarki.
Skref 7: Fínstilla námshraðann
Námshraði () er mikilvægur þáttur í frammistöðu reikniritsins. Í reynd þarf oft að prófa og villa til að ákvarða kjörið námshlutfall.
Sumar hagræðingaraðferðir, svo sem tímaáætlanir um námshlutfall, geta breytt námshraðanum á kraftmikinn hátt meðan á þjálfun stendur, byrjað á hærra gildi og minnkað það smám saman þegar reikniritið nálgast samleitni.
Þessi aðferð hjálpar til við að ná jafnvægi milli hraðrar þróunar í upphafi og stöðugleika undir lok hagræðingarferlisins.
Annað dæmi: Að lágmarka ferningsfall
Við skulum skoða annað dæmi til að fá betri skilning á hallafalli.
Lítum á tvívíddar ferningsfallið g(x) = (x – 5)^2. Við x = 5 hefur þessi aðgerð sömuleiðis lágmark. Til að finna þetta lágmark munum við beita hallafalli.
1. Frumstilling: Byrjum á x0 = 8 sem upphafspunkt.
2. Reiknaðu hallann af g(x): g'(x) = 2(x – 5). Þegar við setjum x0 = 8 í staðinn er hallinn við x0 2 * (8 – 5) = 6.
3. Með = 0.2 sem námshlutfall okkar uppfærum við x sem hér segir: x = x₀ – α * g'(x₀) = 8 – 0.2 * 6 = 6.8.
4. Endurtekið: Við endurtökum skref 2 og 3 eins oft og nauðsynlegt er þar til samleitni er náð. Hver lota færir x nær 5, lágmarksgildi g(x) = (x – 5)2.
5. Samruni: Aðferðin mun að lokum renna saman í x = 5, sem er lágmarksgildi g(x) = (x – 5)2.
Samanburður á námsverði
Við skulum bera saman samleitishraða hallafalls fyrir mismunandi námshraða, segjum α = 0.1, α = 0.2 og α = 0.5 í nýja dæminu okkar. Við getum séð að lægra námshlutfall (td = 0.1) mun leiða til lengri samleitni en nákvæmara lágmarks.
Hærra námshlutfall (td = 0.5) mun renna saman hraðar en getur farið fram úr eða sveiflast um lágmarkið, sem leiðir til lakari nákvæmni.
Fjölþætt dæmi um meðhöndlun aðgerða sem ekki er kúpt
Lítum á h(x) = sin(x) + 0.5x, ókúpt fall.
Það eru nokkur staðbundin lágmark og hámark fyrir þessa aðgerð. Það fer eftir upphafsstöðu og námshraða, við gætum sameinast hvaða staðbundnu lágmarki sem er með því að nota staðlaða halla.
Við getum leyst þetta með því að nota fullkomnari hagræðingartækni eins og Adam eða stochastic gradient descent (SGD). Þessar aðferðir nota aðlögunarhlutfall eða slembiúrtak til að kanna mismunandi svæði í landslagi aðgerðarinnar, sem eykur líkurnar á að ná betra lágmarki.
Niðurstaða
Gradient descent algrím eru öflug hagræðingartæki sem eru mikið notuð í fjölmörgum atvinnugreinum. Þeir uppgötva lægsta (eða hámark) falls með því að uppfæra færibreytur ítrekað eftir stefnu hallans.
Vegna endurtekins eðlis reikniritsins getur það séð um hávíddarrými og flóknar aðgerðir, sem gerir það ómissandi í vélanámi og gagnavinnslu.
Hlutfallslækkun getur auðveldlega tekist á við raunverulega erfiðleika og stuðlað mjög að vexti tækni og gagnastýrðri ákvarðanatöku með því að velja vandlega námshraða og beita háþróaðri afbrigðum eins og stochastic hallafall og Adam.
Skildu eftir skilaboð