අපි ශ්රිතයක අවම හෝ උපරිමය හඳුනා ගැනීමට අවශ්ය බොහෝ සැබෑ ලෝක තත්වයන් තුළ ප්රශස්තකරණ ගැටළු වලට මුහුණ දෙන්නෙමු.
පද්ධතියක ගණිතමය නිරූපණයක් ලෙස ශ්රිතයක් සලකන්න, එහි අවම හෝ උපරිමය නිර්ණය කිරීම යන්ත්ර ඉගෙනීම, ඉංජිනේරු විද්යාව, මූල්ය සහ වෙනත් විවිධ යෙදුම් සඳහා තීරණාත්මක විය හැකිය.
කඳු සහ නිම්න සහිත භූ දර්ශනයක් සලකා බලන්න, අපගේ ඉලක්කය වන්නේ හැකි ඉක්මනින් අපගේ ගමනාන්තයට ළඟා වීමට අවම ස්ථානය (අවම) සොයා ගැනීමයි.
එවැනි ප්රශස්තිකරණ අභියෝග විසඳීමට අපි නිතර ශ්රේණිගත ආරෝහණ ඇල්ගොරිතම භාවිතා කරමු. මෙම ඇල්ගොරිතම යනු ප්රපාතයෙන් බැසීමේ (ඍණ අනුක්රමය) දිශාවට පියවර ගනිමින් ශ්රිතයක් අවම කිරීම සඳහා පුනරාවර්තන ප්රශස්තකරණ ක්රම වේ.
ශ්රේණියේ ශ්රිතයේ තියුණුම වැඩිවීමක් සහිත දිශාව පිළිබිඹු වන අතර ප්රතිවිරුද්ධ දිශාවට ගමන් කිරීම අපව අවම අගයට ගෙන යයි.
ඇත්තටම Gradient Descent Algorithm යනු කුමක්ද?
Gradient descent යනු ශ්රිතයක අවම (හෝ උපරිම) නිර්ණය කිරීම සඳහා ජනප්රිය පුනරාවර්තන ප්රශස්තකරණ ප්රවේශයකි.
එය ඇතුළු ක්ෂේත්ර කිහිපයක තීරණාත්මක මෙවලමකි යන්ත්ර ඉගෙනීම, ගැඹුරු ඉගෙනීම, කෘතිම බුද්ධිය, ඉංජිනේරු, සහ මූල්ය.
ඇල්ගොරිතමයේ මූලික මූලධර්මය පදනම් වී ඇත්තේ එහි ශ්රේණියේ භාවිතය මත වන අතර එය ශ්රිතයේ අගයෙහි තියුණුම වැඩිවීමේ දිශාව පෙන්වයි.
ඇල්ගොරිතම මඟින් ශ්රේණියේ ප්රතිවිරුද්ධ දිශාවට නැවත නැවතත් පියවර ගනිමින් ශ්රිතයේ භූ දර්ශනය කාර්යක්ෂමව සංචාලනය කරයි, අභිසාරී වන තෙක් විසඳුම පුනරාවර්තන ලෙස පිරිපහදු කරයි.
අපි Gradient Descent Algorithms භාවිතා කරන්නේ ඇයි?
ආරම්භකයින් සඳහා, ඉහළ මාන අවකාශයන් සහ සංකීර්ණ ක්රියාකාරකම් ඇතුළුව, ප්රශස්තිකරණ ගැටළු රාශියක් විසඳීමට ඒවා භාවිතා කළ හැකිය.
දෙවනුව, විශේෂයෙන් විශ්ලේෂණාත්මක විසඳුම නොමැති විට හෝ ගණනය කිරීමේ මිල අධික වන විට ඔවුන්ට ඉක්මනින් ප්රශස්ත විසඳුම් සොයාගත හැකිය.
ශ්රේණිගත අවරෝහණ ශිල්පීය ක්රම ඉතා විශාල වන අතර අතිවිශාල දත්ත කට්ටල සාර්ථකව හැසිරවිය හැක.
එහි ප්රතිඵලයක් වශයෙන්, ඒවා බහුලව භාවිතා වේ යන්ත්ර ඉගෙනීමේ ඇල්ගොරිතම දත්ත වලින් ඉගෙන ගැනීමට ස්නායුක ජාල පුහුණු කිරීම සහ අනාවැකි වැරදි අවම කිරීම සඳහා ඒවායේ පරාමිතීන් වෙනස් කිරීම වැනි.
Gradient Decent පියවර පිළිබඳ සවිස්තරාත්මක උදාහරණයක්
Gradient descent තාක්ෂණය පිළිබඳ වඩා හොඳ අවබෝධයක් ලබා ගැනීම සඳහා වඩාත් සවිස්තරාත්මක උදාහරණයක් බලමු.
2D ශ්රිතය f(x) = x2 සලකා බලන්න, එය අවම වශයෙන් (0,0) සහිත මූලික පරාවලයික වක්රයක් ජනනය කරයි. මෙම අවම ලක්ෂ්යය තීරණය කිරීම සඳහා ශ්රේණිගත අවරෝහණ ඇල්ගොරිතම භාවිතා කරනු ඇත.
පියවර 1: ආරම්භ කිරීම
ශ්රේණිගත අවරෝහණ ඇල්ගොරිතම ආරම්භ වන්නේ x විචල්යයේ අගය ආරම්භ කිරීමෙනි, එය x0 ලෙස නිරූපණය කෙරේ.
ආරම්භක අගය ඇල්ගොරිතමයේ ක්රියාකාරිත්වයට සැලකිය යුතු බලපෑමක් ඇති කළ හැකිය.
අහඹු ලෙස ආරම්භ කිරීම හෝ ගැටලුව පිළිබඳ පූර්ව දැනුම භාවිතා කිරීම පොදු තාක්ෂණික ක්රම දෙකකි. අපගේ නඩුව ආරම්භයේදී x₀ = 3 යැයි උපකල්පනය කරන්න.
පියවර 2: අනුක්රමණය ගණනය කරන්න
වත්මන් x₀ ස්ථානයේ f(x) ශ්රිතයේ අනුක්රමණය. පසුව ගණනය කළ යුතුය.
ශ්රේණිය මඟින් එම නිශ්චිත ස්ථානයේ ශ්රිතයේ වෙනස් වීමේ බෑවුම හෝ වේගය පෙන්නුම් කරයි.
අපි f'(x) = 2x සපයන f(x) = x2 ශ්රිතය සඳහා x සම්බන්ධ ව්යුත්පන්නය ගණනය කරමු. අනුක්රමණය ගණනය කිරීමේදී x₀ = 0 ආදේශ කිරීමෙන් අපි x2 හි අනුක්රමය 3 * 6 = 3 ලෙස ලබා ගනිමු.
පියවර 3: පරාමිති යාවත්කාලීන කරන්න
අනුක්රමණ තොරතුරු භාවිතා කරමින්, අපි x හි අගය පහත පරිදි යාවත්කාලීන කරන්නෙමු: x = x₀ – α * f'(x₀), එහිදී α (ඇල්ෆා) ඉගෙනීමේ අනුපාතය දක්වයි.
ඉගෙනීමේ අනුපාතය යනු යාවත්කාලීන කිරීමේ ක්රියාවලියේ එක් එක් පියවරේ ප්රමාණය තීරණය කරන අධි පරාමිතියකි. මන්දගාමී ඉගෙනුම් අනුපාතය හේතු විය හැකි බැවින් සුදුසු ඉගෙනුම් අනුපාතයක් සැකසීම ඉතා වැදගත් වේ ඇල්ගොරිතමය අවම මට්ටමට ළඟා වීමට බොහෝ පුනරාවර්තන ගැනීමට.
අනෙක් අතට, ඉහළ ඉගෙනුම් අනුපාතයක් ඇල්ගොරිතම පනින්න හෝ අභිසාරී වීමට අසමත් වීමට හේතු විය හැක. මෙම උදාහරණය සඳහා අපි α = 0.1 ඉගෙනුම් අනුපාතයක් උපකල්පනය කරමු.
පියවර 4: නැවත කියන්න
අප සතුව x හි යාවත්කාලීන අගය ලැබුණු පසු, අපි කලින් තීරණය කළ පුනරාවර්තන සංඛ්යාවක් සඳහා හෝ x හි වෙනස අවම වන තෙක්, අභිසාරී බව පෙන්නුම් කරන 2 සහ 3 පියවර නැවත කරන්නෙමු.
ක්රමය අනුක්රමය ගණනය කරයි, x හි අගය යාවත්කාලීන කරයි, සහ සෑම පුනරාවර්තනයකදීම ක්රියා පටිපාටිය දිගටම කරගෙන යයි, එය අවම මට්ටමට සමීප වීමට ඉඩ සලසයි.
පියවර 5: අභිසාරී වීම
තාක්ෂණය පුනරාවර්තන කිහිපයකින් පසු වැඩිදුර යාවත්කාලීන කිරීම් ශ්රිතයේ අගයට ද්රව්යමය වශයෙන් බලපාන්නේ නැති ස්ථානයකට අභිසාරී වේ.
අපගේ නඩුවේදී, පුනරාවර්තනය දිගටම පවතින විට, x 0 වෙත ළඟා වනු ඇත, එය f(x) = x^2 හි අවම අගය වේ. අභිසාරීත්වය සඳහා අවශ්ය පුනරාවර්තන ගණන තීරණය කරනු ලබන්නේ තෝරාගත් ඉගෙනුම් අනුපාතය සහ ප්රශස්තකරණය වන කාර්යයේ සංකීර්ණත්වය වැනි සාධක මගිනි.
ඉගෙනුම් අනුපාතයක් තෝරා ගැනීම ()
පිළිගත හැකි ඉගෙනුම් අනුපාතයක් තෝරා ගැනීම () ශ්රේණිගත කිරීමේ ඇල්ගොරිතමයේ සඵලතාවය සඳහා ඉතා වැදගත් වේ. කලින් සඳහන් කළ පරිදි, අඩු ඉගෙනුම් අනුපාතයක් මන්දගාමී අභිසාරීතාවයක් ඇති කළ හැකි අතර, ඉහළ ඉගෙනුම් අනුපාතයක් ඉක්මවා යාම සහ අභිසාරී වීමට අසමත් වීමට හේතු විය හැක.
ඇල්ගොරිතම හැකිතාක් කාර්යක්ෂමව අපේක්ෂිත අවම මට්ටමට අභිසාරී වන බව සහතික කිරීම සඳහා නිසි ශේෂය සොයා ගැනීම ඉතා වැදගත් වේ.
ඉගෙනීමේ අනුපාතය සුසර කිරීම ප්රායෝගිකව අත්හදා බැලීම් සහ දෝෂ ක්රියා පටිපාටියකි. පර්යේෂකයන් සහ වෘත්තිකයන් ඔවුන්ගේ විශේෂිත අභියෝගය මත ඇල්ගොරිතමයේ අභිසාරීතාවයට බලපාන්නේ කෙසේදැයි බැලීමට විවිධ ඉගෙනුම් අනුපාත නිතර අත්හදා බලයි.
උත්තල නොවන කාර්යයන් හැසිරවීම
පෙර උදාහරණයේ සරල උත්තල ශ්රිතයක් තිබුනද, බොහෝ සැබෑ ලෝක ප්රශස්තකරණ ගැටළු වලට බොහෝ දේශීය අවම සමග උත්තල නොවන ශ්රිත ඇතුළත් වේ.
එවැනි අවස්ථාවන්හිදී ශ්රේණිගත සම්භවය භාවිතා කරන විට, ක්රමය ගෝලීය අවමයට වඩා දේශීය අවමයකට අභිසාරී විය හැක.
මෙම ගැටළුව මඟහරවා ගැනීම සඳහා ශ්රේණිගත සම්භවයේ දියුණු ආකාර කිහිපයක් සංවර්ධනය කර ඇත. Stochastic Gradient Descent (SGD) යනු එක් එක් පුනරාවර්තනයකදී අනුක්රමණය ගණනය කිරීම සඳහා අහඹු ලෙස දත්ත ලක්ෂ්ය (කුඩා කණ්ඩායමක් ලෙස හැඳින්වෙන) උප කුලකයක් තෝරා ගැනීමෙන් අහඹු බව හඳුන්වා දෙන ක්රමයකි.
මෙම අහඹු නියැදීම මගින් ඇල්ගොරිතමයට දේශීය අවමය මග හැරීමට සහ ශ්රිතයේ භූමි ප්රදේශයේ නව කොටස් ගවේෂණය කිරීමට ඉඩ සලසයි, එය වඩා හොඳ අවමයක් සොයා ගැනීමේ අවස්ථා වැඩි කරයි.
Adam (Adaptive Moment ඇස්තමේන්තුව) යනු RMSprop සහ momentum යන දෙකෙහිම ප්රතිලාභ ඇතුළත් වන අනුවර්තන ඉගෙනුම් අනුපාත ප්රශස්තකරණ ප්රවේශයක් වන තවත් ප්රමුඛ විචලනයකි.
ඇඩම් විසින් එක් එක් පරාමිතිය සඳහා ඉගෙනුම් අනුපාතය ගතිකව පෙර අනුක්රමික තොරතුරු මත පදනම්ව වෙනස් කරයි, එමඟින් උත්තල නොවන ශ්රිතයන් මත වඩා හොඳ අභිසාරීතාවයක් ඇති විය හැක.
මෙම සංකීර්ණ අනුක්රමික අවරෝහණ විචලනයන් වඩ වඩාත් සංකීර්ණ කාර්යයන් හැසිරවීමට ඵලදායී බව ඔප්පු වී ඇති අතර උත්තල නොවන ප්රශස්තිකරණ ගැටළු බහුලව පවතින යන්ත්ර ඉගෙනීමේ සහ ගැඹුරු ඉගෙනීමේ සම්මත මෙවලම් බවට පත්ව ඇත.
පියවර 6: ඔබේ ප්රගතිය දෘශ්යමාන කරන්න
එහි පුනරාවර්තන ක්රියාවලිය පිළිබඳ වඩා හොඳ අවබෝධයක් ලබා ගැනීම සඳහා ශ්රේණිගත අවරෝහණ ඇල්ගොරිතමයේ ප්රගතිය බලමු. පුනරාවර්තන නියෝජනය කරන x-අක්ෂයක් සහ f(x) ශ්රිතයේ අගය නියෝජනය කරන y-අක්ෂයක් සහිත ප්රස්ථාරයක් සලකා බලන්න.
ඇල්ගොරිතම පුනරාවර්තනය වන විට, x හි අගය ශුන්යයට ළඟා වන අතර, එහි ප්රතිඵලයක් ලෙස, එක් එක් පියවර සමඟ ක්රියාකාරී අගය පහත වැටේ. ප්රස්ථාරයක් මත සැලසුම් කළ විට, මෙය අවම මට්ටමට ළඟා වීම සඳහා ඇල්ගොරිතමයේ ප්රගතිය පිළිබිඹු කරමින් පැහැදිලි අඩුවීමේ ප්රවණතාවක් පෙන්වයි.
පියවර 7: ඉගෙනුම් අනුපාතය මනාව සකස් කිරීම
ඉගෙනීමේ අනුපාතය () ඇල්ගොරිතමයේ ක්රියාකාරිත්වයේ වැදගත් සාධකයකි. ප්රායෝගිකව, පරමාදර්ශී ඉගෙනුම් අනුපාතය තීරණය කිරීම සඳහා නිතර අත්හදා බැලීම් සහ දෝෂයන් අවශ්ය වේ.
ඉගෙනීමේ අනුපාත කාලසටහන් වැනි සමහර ප්රශස්තකරණ ශිල්පීය ක්රම, පුහුණුව අතරතුර ඉගෙනීමේ වේගය ගතිකව වෙනස් කළ හැකිය, ඉහළ අගයකින් ආරම්භ වී ඇල්ගොරිතම අභිසාරීත්වයට ළඟා වන විට ක්රමයෙන් එය අඩු කරයි.
මෙම ක්රමය ආරම්භයේ වේගවත් සංවර්ධනය සහ ප්රශස්තිකරණ ක්රියාවලියේ අවසානයට ආසන්න ස්ථාවරත්වය අතර සමතුලිතතාවයක් ඇති කිරීමට උපකාරී වේ.
තවත් උදාහරණයක්: හතරැස් ශ්රිතයක් අවම කිරීම
Gradient descent ගැන හොඳ අවබෝධයක් ලබා ගැනීමට තවත් උදාහරණයක් බලමු.
ද්විමාන හතරැස් ශ්රිතය g(x) = (x – 5)^2 සලකා බලන්න. x = 5 දී, මෙම ශ්රිතයට ද අවම අගයක් ඇත. මෙම අවමය සොයා ගැනීම සඳහා, අපි අනුක්රමණ සම්භවයක් යොදන්නෙමු.
1. ආරම්භ කිරීම: අපගේ ආරම්භක ලක්ෂ්යය ලෙස x0 = 8 සමඟ ආරම්භ කරමු.
2. g(x) හි ශ්රේණිය ගණනය කරන්න: g'(x) = 2(x – 5). අපි x0 = 8 ආදේශ කරන විට, x0 හි ශ්රේණිය 2 * (8 - 5) = 6 වේ.
3. අපගේ ඉගෙනුම් අනුපාතය ලෙස = 0.2 සමඟ, අපි පහත පරිදි x යාවත්කාලීන කරන්නෙමු: x = x₀ – α * g'(x₀) = 8 – 0.2 * 6 = 6.8.
4. පුනරාවර්තනය කරන්න: අභිසාරීත්වය ළඟා වන තෙක් අපි පියවර 2 සහ 3 අවශ්ය තරම් වාර ගණනක් නැවත නැවත කරන්නෙමු. සෑම චක්රයක්ම x 5 ට සමීප කරයි, g(x) = (x – 5)2 හි අවම අගය.
5. අභිසාරීතාව: ක්රමය අවසානයේ x = 5 වෙත අභිසාරී වනු ඇත, එය g(x) = (x – 5)2 හි අවම අගය වේ.
ඉගෙනුම් අනුපාත සංසන්දනය
අපගේ නව උදාහරණයේ α = 0.1, α = 0.2, සහ α = 0.5 ලෙස පවසන්න, විවිධ ඉගෙනුම් අනුපාත සඳහා ශ්රේණිගත සම්භවයේ අභිසාරී වේගය සංසන්දනය කරමු. අඩු ඉගෙනුම් අනුපාතයක් (උදා, = 0.1) දිගු අභිසාරීතාවයක් ඇති නමුත් වඩා නිවැරදි අවමයක් ඇති බව අපට දැක ගත හැකිය.
ඉහළ ඉගෙනුම් අනුපාතයක් (උදා, = 0.5) වේගයෙන් අභිසාරී වනු ඇත, නමුත් දුර්වල නිරවද්යතාවයක් ඇති කරන අවම අගය ඉක්මවා හෝ දෝලනය විය හැක.
උත්තල නොවන ක්රියාකාරී හැසිරවීමේ බහුවිධ උදාහරණයක්
h(x) = sin(x) + 0.5x, උත්තල නොවන ශ්රිතයක් ලෙස සලකන්න.
මෙම කාර්යය සඳහා දේශීය අවම සහ උපරිම කිහිපයක් තිබේ. ආරම්භක ස්ථානය සහ ඉගෙනුම් අනුපාතය මත පදනම්ව, අපට සම්මත අනුක්රමික බැසීම් භාවිතයෙන් ඕනෑම දේශීය අවමයකට අභිසාරී විය හැක.
Adam හෝ Stachastic gradient descent (SGD) වැනි වඩාත් දියුණු ප්රශස්තකරණ ශිල්පීය ක්රම භාවිතයෙන් අපට මෙය විසඳා ගත හැක. මෙම ක්රම මඟින් ශ්රිතයේ භූ දර්ශනයේ විවිධ ප්රදේශ ගවේෂණය කිරීමට අනුවර්තන ඉගෙනුම් අනුපාත හෝ අහඹු නියැදීම භාවිතා කරයි, වඩා හොඳ අවම අගයක් ලබා ගැනීමේ සම්භාවිතාව වැඩි කරයි.
නිගමනය
Gradient descent algorithms යනු පුළුල් පරාසයක කර්මාන්තවල බහුලව භාවිතා වන බලවත් ප්රශස්තිකරණ මෙවලම් වේ. ශ්රේණියේ දිශාව මත පදනම්ව පරාමිති පුනරාවර්තන ලෙස යාවත්කාලීන කිරීමෙන් ඔවුන් ශ්රිතයක අඩුම (හෝ උපරිම) සොයා ගනී.
ඇල්ගොරිතමයේ පුනරාවර්තන ස්වභාවය නිසා, එය යන්ත්ර ඉගෙනීමේදී සහ දත්ත සැකසීමේදී එය අත්යවශ්ය වන පරිදි ඉහළ මාන අවකාශයන් සහ සංකීර්ණ කාර්යයන් හැසිරවිය හැක.
ශ්රේණිගත සම්භවය පහසුවෙන් සැබෑ ලෝකයේ දුෂ්කරතාවලට මුහුණ දිය හැකි අතර ඉගෙනීමේ අනුපාතය ප්රවේශමෙන් තෝරා ගැනීමෙන් සහ ස්ටෝචස්ටික් ශ්රේණිගත සම්භවය සහ ආදම් වැනි උසස් වෙනස්කම් යෙදීමෙන් තාක්ෂණයේ වර්ධනයට සහ දත්ත මත පදනම් වූ තීරණ ගැනීමට බෙහෙවින් දායක වේ.
ඔබමයි