ස්නායුක ජාලයේ කණ්ඩායම් ප්‍රමාණය කුමක්ද?


201

මම Python Keras packageස්නායුක ජාලය සඳහා භාවිතා කරමි . මෙය සබැඳියයි . කියන්නේ batch_sizeපරීක්ෂණ සාම්පල සංඛ්යාව හා සමාන? විකිපීඩියාවෙන් අපට මෙම තොරතුරු තිබේ:

කෙසේ වෙතත්, වෙනත් අවස්ථාවල දී, එකතුව-ශ්‍රේණිය තක්සේරු කිරීම සඳහා සියලු සාරාංශ ක්‍රියාකාරකම් වලින් ශ්‍රේණිවල මිල අධික ඇගයීම් අවශ්‍ය වේ. පුහුණු කට්ටලය අති විශාල වන අතර සරල සූත්‍ර කිසිවක් නොමැති විට, ශ්‍රේණිවල එකතුව තක්සේරු කිරීම ඉතා මිල අධික වේ, මන්ද ශ්‍රේණිය ඇගයීම සඳහා සියලු කැඳවුම් ශ්‍රිතයන් ඇගයීම අවශ්‍ය වේ. සෑම පුනරාවර්තනයකදීම ගණනය කිරීමේ පිරිවැය මත ආර්ථිකය ලබා ගැනීම සඳහා, ස්ථිතික ශ්‍රේණියේ සම්භවය සෑම පියවරකදීම සාරාංශ ක්‍රියාකාරිත්වයේ උප කුලකයක් සාම්පල ලබා ගනී. මහා පරිමාණ යන්ත්‍ර ඉගෙනීමේ ගැටළු වලදී මෙය ඉතා effective ලදායී වේ.

ඉහත තොරතුරු පරීක්ෂණ දත්ත විස්තර කරයිද? මෙය batch_sizeකෙරස් වලට සමානද (ශ්‍රේණිය යාවත්කාලීන කිරීම සඳහා සාම්පල ගණන)?


3
Class.coursera.org/ml-005/lecture/preview පා course මාලාව නැරඹීම සතුටක් , විශේෂයෙන් ඔබ සතිය 4-6 + 10 සඳහා. විකිපීඩියාව ස්නායුක ජාල ඉගෙනීම සඳහා එතරම් වටිනා සම්පතක් නොවිය හැකිය.
404pio

Answers:


268

මෙම කණ්ඩායම ප්රමාණය ජාලය හරහා ප්රචාරය කරන බව සාම්පල සංඛ්යාව තීරණය කරනු ඇත.

උදාහරණයක් ලෙස, ඔබ සතුව පුහුණු සාම්පල 1050 ක් ඇති බවත්, ඔබට batch_size100 ට සමාන ප්‍රමාණයක් සැකසීමට අවශ්‍ය බවත් කියමු . ඇල්ගොරිතම පුහුණු දත්ත කට්ටලයේ පළමු සාම්පල 100 (1 සිට 100 දක්වා) ගෙන ජාලය පුහුණු කරයි. ඊළඟට, එය දෙවන සාම්පල 100 (101 සිට 200 දක්වා) ගෙන නැවත ජාලය පුහුණු කරයි. සියලුම සාම්පල ජාලය හරහා ප්‍රචාරය කරන තුරු අපට මෙම ක්‍රියා පටිපාටිය දිගටම කරගෙන යා හැකිය. අවසාන සාම්පල සමඟ ගැටළුව සිදුවිය හැකිය. අපගේ උදාහරණයේ දී, අපි 1050 භාවිතා කර ඇති අතර එය 100 කින් බෙදිය නොහැක. සරලම විසඳුම වන්නේ අවසාන සාම්පල 50 ලබාගෙන ජාලය පුහුණු කිරීමයි.

කණ්ඩායම් ප්‍රමාණයක් භාවිතා කිරීමේ වාසි <සියලු සාම්පල ගණන:

  • එයට අඩු මතකයක් අවශ්‍ය වේ. ඔබ අඩු සාම්පල භාවිතා කරමින් ජාලය පුහුණු කරන බැවින්, සමස්ත පුහුණු ක්‍රියා පටිපාටියට අඩු මතකයක් අවශ්‍ය වේ. ඔබේ පරිගණකයේ මතකයේ මුළු දත්ත කට්ටලයම ගැලපීමට ඔබට නොහැකි නම් එය විශේෂයෙන් වැදගත් වේ.

  • සාමාන්‍යයෙන් ජාල කුඩා කණ්ඩායම් සමඟ වේගයෙන් පුහුණු වේ. එයට හේතුව අපි එක් එක් ප්‍රචාරණයෙන් පසුව බර යාවත්කාලීන කිරීමයි. අපගේ උදාහරණයේ දී අපි කණ්ඩායම් 11 ක් ප්‍රචාරය කර ඇත්තෙමු (ඒවායින් 10 ක් සාම්පල 100 ක් සහ 1 සාම්පල 50 ක් ඇත) සහ ඒ සෑම එකක් පසු අපගේ ජාලයේ පරාමිතීන් යාවත්කාලීන කර ඇත. අපි ප්‍රචාරණය අතරතුර සියලුම සාම්පල භාවිතා කළේ නම් අපි කරන්නේ ජාලයේ පරාමිතිය සඳහා යාවත්කාලීන කිරීම් 1 ක් පමණි.

කණ්ඩායම් ප්‍රමාණයක් භාවිතා කිරීමේ අවාසි <සියලු සාම්පල ගණන:

  • කණ්ඩායම කුඩා වන තරමට ශ්‍රේණිය පිළිබඳ ඇස්තමේන්තුව අඩු වනු ඇත. පහත රූපයේ දැක්වෙන්නේ, කුඩා කණ්ඩායම් ශ්‍රේණියේ (හරිත වර්ණය) දිශාව පූර්ණ කණ්ඩායම් ශ්‍රේණියේ (නිල් වර්ණය) දිශාවට සාපේක්ෂව බොහෝ සෙයින් උච්චාවචනය වන බවයි.

විවිධ කණ්ඩායම් සැකසුම් සඳහා ශ්‍රේණියේ උපදෙස්

ස්ටෝචැස්ටික් යනු batch_size1 ට සමාන කුඩා කණ්ඩායමක් පමණි. එවැනි අවස්ථාවකදී, ශ්‍රේණිය කුඩා-කණ්ඩායම් ශ්‍රේණියට වඩා බොහෝ විට එහි දිශාව වෙනස් කරයි.


3
නෑ, මම එහෙම කළේ නැහැ. මෙය ස්නායුක ජාල වල ජනප්‍රිය තාක්‍ෂණය වන අතර මෙම පාරිභාෂිතය ඔබට විවිධ පුස්තකාල, පොත් සහ ලිපි වලින් දැකිය හැකිය. සෑම යුගයකම පරීක්ෂණ දත්ත දෝෂයක් පරීක්ෂා කිරීමට ඔබට අවශ්‍යද?
itdxer

1
යාවත්කාලීන කිරීම් සැලකිය යුතු ලෙස වැඩි බැවින් ජාලය ද වේගයෙන් අභිසාරී වේ. කුඩා කණ්ඩායම් ප්‍රමාණය සැකසීම කලාවක් වන අතර එය ඉතා කුඩා වන අතර ඔබේ ඉගෙනීම ඉතා වේගවත්, වේගවත් වන නමුත් විශ්වාස කළ නොහැකි මාදිලි වලට වඩා විශාල වන අතර එය මතකයට නොගැලපෙන අතර තවමත් වයස් ගත වේ.
රමල්හෝ

1
මෙයින් අදහස් කරන්නේ එය batch_size=<size of dataset>සබැඳි ඉගෙනීම ලෙස batch_size=1සලකනවාද? ආර්එන්එන් සඳහා ද මේ සියල්ල සත්‍යයක් ද? batch_sizeආර්එන්එන් වල භාවිතා කරන විට , කණ්ඩායම එක්තරා අථත්‍ය කාලසටහනක් ලෙස සලකනු ලැබේ, එම කණ්ඩායමේ ඇති සියලුම අවස්ථා එකවරම සිදු වූවාක් මෙන් ගණනය කරනු ලැබේ.
ehiller

3
සාමාන්‍යයෙන් මිනිසුන් සබැඳි ඉගෙනීම යැයි පැවසූ විට ඔවුන් අදහස් batch_size=1කරයි. සබැඳි ඉගෙනීම පිටුපස ඇති අදහස නම් ඔබ උදාහරණය දුටු විගස ඔබේ ආකෘතිය යාවත්කාලීන කිරීමයි. විශාල කණ්ඩායම් ප්‍රමාණයෙන් එයින් අදහස් වන්නේ ඔබ යාවත්කාලීන කිරීමට පෙර පළමුව සාම්පල කිහිපයක් සොයා බලන බවයි. කණ්ඩායමේ RNN ප්‍රමාණයෙන් විවිධ අර්ථයන් තිබිය හැකිය. සාමාන්‍යයෙන්, පුහුණු අනුක්‍රමය ස්ථාවර ප්‍රමාණයේ කවුළුවකට බෙදීම සාමාන්‍ය දෙයකි (වචන 10 ක් වැනි). මෙම අවස්ථාවෙහිදී, පුහුණුව අතරතුර මෙම කවුළු 100 ක් ඇතුළුව ඔබ සතුව ඇති බව අදහස් batch_size=100වේ.
itdxer

1
Le ඔලෙග් මෙල්නිකොව්, ඔබේ අන්තිම කණ්ඩායම සැලකිය යුතු තරම් කුඩා ප්‍රමාණයක් තිබේ නම් (එය 50 වෙනුවට 1 ක් වනු ඇතැයි කියමු) එවිට ශ්‍රේණිය සඳහා ඇස්තමේන්තු කිරීම අඩු නිරවද්‍යතාවයක් වන අතර එමඟින් ඔබේ බර ටිකක් වැඩි කර ගත හැකිය. ඉහත පින්තූරයේ, ඔබ කුඩා කණ්ඩායම් 100 (හරිත රේඛා) සමඟ යාවත්කාලීන කිරීම් 10 ක් සහ කුඩා කණ්ඩායම 1 (රතු රේඛාව) සමඟ යාවත්කාලීන කිරීම් 10 ක් සිදු කරනු ඇතැයි සිතන්න. එහි අර්ථය වන්නේ ඊළඟ යුගයේ පළමු පුනරාවර්තනයන් කිහිපයකට පෙර යුගයේ අවසාන මිනි කාණ්ඩ 1 යාවත්කාලීනය සමඟ ගැටළුව විසඳීම ආරම්භ කළ හැකි බවයි.
itdxer

176

ස්නායුක ජාල පාරිභාෂිතය තුළ:

  • එක් යුගයක් = එක් පුහුණු පාස් එකක් සහ සියලු පුහුණු උදාහරණවල එක් පසුගාමී සාමාර්ථයක්
  • batch size = එක් ඉදිරි / පසුගාමී පාස් එකක පුහුණු උදාහරණ ගණන. කණ්ඩායමේ ප්‍රමාණය වැඩි වන තරමට ඔබට මතක අවකාශය අවශ්‍ය වේ.
  • සංඛ්යාව අනුකරණ = සාමාර්ථය අංකය, උදාහරණ [කණ්ඩායම ප්රමාණය] අංකය භාවිත එක් එක් සමත්. පැහැදිලිව කිවහොත්, එක් පාස් = එක් ඉදිරි මුරපදයක් + එක් පසුගාමී මුරපදයක් (අපි ඉදිරි මුරපදය සහ පසුපසට වෙනස් පාස් දෙකක් ලෙස ගණන් ගන්නේ නැත).

උදාහරණය: ඔබට පුහුණු උදාහරණ 1000 ක් තිබේ නම් සහ ඔබේ කණ්ඩායමේ ප්‍රමාණය 500 ක් නම්, එක් යුගයක් සම්පූර්ණ කිරීමට පුනරාවර්තන 2 ක් ගතවේ.

FYI: වෙළඳ ජාල කාණ්ඩයේ එදිරිව. ස්නායුක ජාලයක් පුහුණු කිරීම සඳහා පුනරාවර්තන ගණන


[කණ්ඩායම් ප්‍රමාණය] නිදසුන් භාවිතා කිරීම අතර ඇති වෙනස කුමක්ද සහ එක් එක් උදාහරණය මත ජාලය පුහුණු කර ඊළඟ [කණ්ඩායම් ප්‍රමාණය] සංඛ්‍යා උදාහරණ සමඟ ඉදිරියට යන්න. ඔබ එක් උදාහරණයක් ජාලය හරහා සම්මත කර SGD යොදවා ඊළඟ උදාහරණය ගන්න. එවිට කණ්ඩායමේ ප්‍රමාණය 10 හෝ 1000 හෝ 100000 නම් එයින් කිසිදු වෙනසක් සිදු නොවනු ඇත. [කණ්ඩායම් ප්‍රමාණයෙන්] උදාහරණ ගණනක් කළ පසු ඊළඟ උදාහරණය ඊළඟ කණ්ඩායම අනුගමනය කරනු ඇත. එය වෙනසක් කරන්නේ [කණ්ඩායම් ප්‍රමාණය] උදාහරණ සංඛ්‍යා ජාලයට වඩා [පුනරාවර්තන ගණන] පසු කර ඊළඟ [කණ්ඩායම් ප්‍රමාණය] උදාහරණ සමඟ ඉදිරියට ගියහොත් පමණි.
අර්හාර්ඩ් ඩින්හෝබ්ල්

වැදගත් වෙනසක් වන්නේ ඉගෙනුම් පියවර (එක් පියවරක්) සෑම කණ්ඩායමකටම එක් වරක් යොදන අතර එක් යුගයක් සෑදීම සඳහා ඔබ සියලු කණ්ඩායම් හරහා චක්‍රීය කළ යුතු බවයි. එබැවින් වෙනස මතකයේ පමණක් නොව ඇල්ගොරිතම වේ: විශාල කණ්ඩායම් යනු ඔබ වැඩි සාම්පලවලට වඩා ශ්‍රේණිය සාමාන්‍යය කිරීමයි.
meduz

1
යුගය සහ පුනරාවර්තනය අතර වෙනස කුමක්ද?
රන් නම

2
Old ගොල්ඩ් නම 1 යුගයට සියලුම පුහුණු උදාහරණ ඇතුළත් වන අතර 1 පුනරාවර්තනයට ඇතුළත් වන්නේ [කණ්ඩායම් ප්‍රමාණය] පුහුණු උදාහරණ ගණන පමණි.
ෆ්‍රෑන්ක් ඩර්නන්කෝට්

ඉතින්: යුග ගණන නියත නම්, සහ අපි එක් එක් යුගයෙන් පසු ප්‍රති result ලය නිරූපණය කරන එක් එක් ලක්ෂ්‍යය සමඟ අභිසාරී කුමන්ත්‍රණය සැලසුම් කරන්නේ නම්, අප අඩු වන විට එහි ප්‍රති plot ලය වන කුමන්ත්‍රණය 'සුමට' (සහ පුහුණුව මන්දගාමී වනු ඇතැයි) අපේක්ෂා කළ හැකිය. batch_size?
ඉතමාර් මුෂ්කින්

5

CPU හෝ GPU සමඟ ප්‍රශස්තිකරණ ගැටළුවක් සමඟ විසඳන විට, ඔබ සමහර ආදාන දත්ත හරහා ඇල්ගොරිතමයක් යෙදේ. මෙම සෑම පුනරාවර්තනයක් තුළම ඔබ සාමාන්‍යයෙන් දත්ත පිළිබඳ ගණනය කිරීම් කිහිපයක් කරමින් ඔබේ ගැටලුවේ මෙට්‍රික් යාවත්කාලීන කරයි. දැන් ඔබගේ දත්තවල විශාලත්වය විශාල වන විට සෑම ක්‍රියාවක්ම සම්පූර්ණ කිරීමට සැලකිය යුතු කාලයක් අවශ්‍ය විය හැකි අතර සම්පත් විශාල ප්‍රමාණයක් වැය විය හැකිය. එබැවින් සමහර විට ඔබ කාලය සහ පරිගණක සම්පත් ඉතිරි කර ගැනීම සඳහා දත්තවල කොටසක් මත මෙම ක්‍රියාකාරී ගණනය කිරීම් යෙදීමට තෝරා ගනී. මෙම කොටස batch_size වන අතර ක්‍රියාවලිය (ස්නායුක ජාල භාෂාවේ) කාණ්ඩ දත්ත සැකසුම් ලෙස හැඳින්වේ. ඔබගේ සියලු දත්ත සඳහා ඔබේ ගණනය කිරීම් යොදන විට, ඔබ මාර්ගගත දත්ත සැකසීම සිදු කරයි. මම හිතන්නේ පාරිභාෂිතය පැමිණෙන්නේ 60 දශකයේ සිට සහ ඊට පෙරය. කාටහරි මතකද? ඩොස් ලිපිගොනු? නමුත් ඇත්ත වශයෙන්ම සංකල්පය මූර්තිමත් කළේ භාවිතා කළ යුතු දත්තවල නූල් හෝ කොටසක් අදහස් කිරීමට ය.


2

ආකෘති (ක්‍රියාකාරී API) පිටුවේ Kerasඇති fitශ්‍රිතය යටතේ කණ්ඩායම් ප්‍රමාණය පිළිබඳ ප්‍රලේඛනය සොයාගත හැකිය

batch_size: පූර්ණ හෝ කිසිවක් නැත. ශ්‍රේණිය යාවත්කාලීන කිරීම සඳහා සාම්පල ගණන. නිශ්චිතව දක්වා නොමැති නම්, batch_size පෙරනිමිය 32 දක්වා වනු ඇත.

ඔබ සතුව කුඩා දත්ත කට්ටලයක් තිබේ නම්, කණ්ඩායමේ ප්‍රමාණය පුහුණු දත්තවල ප්‍රමාණයට සමාන කිරීම වඩාත් සුදුසුය. පළමුව කුඩා කණ්ඩායමක් සමඟ උත්සාහ කර කාලය ඉතිරි කර ගැනීම සඳහා වැඩි කරන්න. ලෙස itdxer සඳහන්, නිරවද්යතාවය සහ වේගය අතර tradeoff තියෙනවා.


-1

කණ්ඩායම් ප්‍රමාණය යනු අභ්‍යන්තර ආකෘති පරාමිතීන් යාවත්කාලීන කිරීමට පෙර ක්‍රියා කළ යුතු නියැදි ගණන නිර්වචනය කරන අධි පරාමිතියකි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.