මගේ ස්නායුක ජාලය ඉගෙන නොගන්නා විට මා කුමක් කළ යුතුද?


185

මම ස්නායුක ජාලයක් පුහුණු කරන නමුත් පුහුණු පාඩුව අඩු නොවේ. මෙය නිවැරදි කරන්නේ කෙසේද?

මම අසන්නේ අධික ලෙස ආහාර ගැනීම හෝ විධිමත් කිරීම ගැන නොවේ. පුහුණු කට්ටලය මත මගේ ජාලයේ ක්‍රියාකාරිත්වය වැඩිදියුණු නොවන ගැටලුව විසඳන්නේ කෙසේදැයි මම විමසමි .


මෙම ප්‍රශ්නය හිතාමතාම පොදු වන අතර එමඟින් ස්නායුක ජාලයක් පුහුණු කරන්නේ කෙසේද යන්න පිළිබඳ වෙනත් ප්‍රශ්න මෙම අනුපිටපතක් ලෙස වසා දැමිය හැකිය. “ඔබ මිනිසෙකුට මාළුවෙකු දුන්නොත් ඔබ ඔහුට දිනකට පෝෂණය කරයි, නමුත් ඔබ උගන්වන්නේ නම් මසුන් ඇල්ලීමට මිනිසාට, ඔහුගේ ජීවිත කාලය පුරාම ඔබට ඔහුව පෝෂණය කළ හැකිය. සාකච්ඡාවක් සඳහා මෙම මෙටා නූල් බලන්න: "මගේ ස්නායුක ජාලය ක්‍රියා නොකරයි, කරුණාකර නිවැරදි කරන්න" ප්‍රශ්න වලට පිළිතුරු දීමට හොඳම ක්‍රමය කුමක්ද?

ඔබේ ස්නායුක ජාලය හොඳින් සාමාන්‍යකරණය නොවන්නේ නම්, බලන්න: මගේ ස්නායුක ජාලය සාමාන්‍යකරණය නොවූ විට මා කුමක් කළ යුතුද?


1
මෙන්න එන්එන් ප්‍රගතියක් ලබා ගත නොහැකි අවස්ථාව. youtu.be/iakFfOmanJU?t=144
යෝෂුවා

4
ඉවානොව්ගේ බ්ලොග් අඩවිය " ඔබේ ස්නායුක ජාලය ක්‍රියා නොකිරීමට හේතු ", විශේෂයෙන් II, III සහ IV යන කොටස් ප්‍රයෝජනවත් විය හැකිය.
user5228

Answers:


236

ඒකක පරීක්ෂාව ඔබේ මිතුරා ය

ලේඛකයින් අතර කියමනක් තිබේ “සියලු ලිවීම් නැවත ලිවීම” - එනම් ලිවීමේ වැඩි කොටසක් සංශෝධනය කිරීමයි. ක්‍රමලේඛකයින් සඳහා (හෝ අවම වශයෙන් දත්ත විද්‍යා scientists යින්) ප්‍රකාශනය "සියලු කේතීකරණය නිදොස්කරණය කිරීම" ලෙස නැවත අර්ථ දැක්විය හැකිය.

ඔබ කේතය ලියන ඕනෑම වේලාවක එය අපේක්ෂිත පරිදි ක්‍රියාත්මක වන බව තහවුරු කර ගත යුතුය. නිරවද්‍යතාවය සත්‍යාපනය සඳහා මා මෙතෙක් සොයාගෙන ඇති හොඳම ක්‍රමය නම් ඔබේ කේතය කුඩා කොටස් වලට කැඩීම සහ එක් එක් කොටස ක්‍රියාත්මක වන බව තහවුරු කිරීමයි. ඛණ්ඩයේ ප්‍රතිදානය නිවැරදි පිළිතුර ලෙස ඔබ දන්නා දේ සමඟ සංසන්දනය කිරීමෙන් මෙය කළ හැකිය. මෙය ඒකක පරීක්ෂණ ලෙස හැඳින්වේ . හොඳ ඒකක පරීක්ෂණ ලිවීම හොඳ සංඛ්‍යාලේඛන ian යෙකු / දත්ත විද්‍යා ist යෙකු / යන්ත්‍ර ඉගෙනීමේ විශේෂ expert යෙකු / ස්නායුක ජාල වෘත්තිකයෙකු වීමේ ප්‍රධාන අංගයකි. සරලවම ආදේශකයක් නොමැත.

ජාල ක්‍රියාකාරිත්වය සුසර කිරීමට පෙර ඔබේ කේතය දෝෂ වලින් තොර දැයි ඔබ පරීක්ෂා කළ යුතුය! එසේ නොමැතිනම්, ඔබ ආර්එම්එස් ටයිටැනික් නෞකාවේ තට්ටු පුටු නැවත සකස් කිරීමද විය හැකිය .

ස්නායුක ජාල වල විශේෂාංග දෙකක් තිබේ, එය වෙනත් වර්ගවල යන්ත්‍ර ඉගෙනීමට හෝ සංඛ්‍යාන ආකෘතිවලට වඩා සත්‍යාපනය වඩාත් වැදගත් කරයි.

  1. ස්නායුක ජාලයන් අහඹු වනාන්තර හෝ ලොජිස්ටික් ප්‍රතිගාමී ආකාරයෙන් ඇල්ගොරිතම නොවේ. සරල, පෝෂක-ඉදිරි ජාල සඳහා වුවද, ජාලය වින්‍යාසගත කර ඇති ආකාරය, සම්බන්ධ කර ඇති, ආරම්භක සහ ප්‍රශස්ත කර ඇති ආකාරය පිළිබඳ තීරණ ගැනීමට පරිශීලකයාගේ වගකීම බොහෝ දුරට ඇත. මෙයින් අදහස් කරන්නේ කේතය ලිවීම සහ කේතය ලිවීම යනු නිදොස්කරණය කිරීමයි.

  2. ව්‍යතිරේකයක් මතු නොකර ස්නායුක ජාල කේතයක් ක්‍රියාත්මක වූවත්, ජාලයට තවමත් දෝෂ තිබිය හැකිය! මෙම දෝෂයන් ජාලය පුහුණු කරන ද්‍රෝහී ආකාරයක් විය හැකි නමුත් උප ප්‍රශස්ත විසඳුමක සිරවී හෝ ප්‍රති ing ලයක් ලෙස ඇති ජාලයට අපේක්ෂිත ගෘහ නිර්මාණ ශිල්පය නොමැත. ( මෙය සින්ටැක්ටික් හා අර්ථකථන දෝෂයක් අතර වෙනස සඳහා උදාහරණයකි .)

චේස් රොබට්ස් විසින් රචිත " යන්ත්‍ර යන්ත්‍ර ඉගෙනීමේ කේතය ඒකක කරන්නේ කෙසේද " යන මෙම මධ්‍යම පෝස්ට් මඟින් යන්ත්‍ර ඉගෙනුම් ආකෘති සඳහා ඒකක පරීක්ෂා කිරීම වඩාත් විස්තරාත්මකව සාකච්ඡා කරයි. දෝෂ සහිත කේතයේ මෙම උදාහරණය මම ලිපියෙන් ලබා ගත්තෙමි:

def make_convnet(input_image):
    net = slim.conv2d(input_image, 32, [11, 11], scope="conv1_11x11")
    net = slim.conv2d(input_image, 64, [5, 5], scope="conv2_5x5")
    net = slim.max_pool2d(net, [4, 4], stride=4, scope='pool1')
    net = slim.conv2d(input_image, 64, [5, 5], scope="conv3_5x5")
    net = slim.conv2d(input_image, 128, [3, 3], scope="conv4_3x3")
    net = slim.max_pool2d(net, [2, 2], scope='pool2')
    net = slim.conv2d(input_image, 128, [3, 3], scope="conv5_3x3")
    net = slim.max_pool2d(net, [2, 2], scope='pool3')
    net = slim.conv2d(input_image, 32, [1, 1], scope="conv6_1x1")
    return net

ඔබ දෝෂය දකිනවාද? විවිධ මෙහෙයුම් බොහොමයක් ඇත්ත වශයෙන්ම භාවිතා නොවේපෙර ප්‍රති results නව විචල්‍යයන් සමඟ අධික ලෙස ලියා ඇති නිසා . ජාලයක මෙම කේත කොටස භාවිතා කිරීම තවමත් පුහුණු වන අතර බර යාවත්කාලීන වන අතර අලාභය පවා අඩු විය හැකිය - නමුත් කේතය නිසැකවම අදහස් කළ දේ නොකරයි. (කතුවරයා තනි හෝ ද්වි-උපුටා දැක්වීම් භාවිතා කිරීමට ද නොගැළපෙන නමුත් එය තනිකරම ශෛලීය ය.)

ස්නායුක ජාල වලට අදාළ වඩාත් පොදු ක්‍රමලේඛන දෝෂ වේ

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

ඔබ ඇවිදීමට පෙර බඩගා යන්න; ඔබ දුවන්නට පෙර ඇවිදින්න

පුළුල් හා ගැඹුරු ස්නායුක ජාල සහ විදේශීය රැහැන් සහිත ස්නායුක ජාල දැන් යන්ත්‍ර ඉගෙනීමේ උණුසුම් දෙයයි. නමුත් මෙම ජාලයන් සම්පූර්ණයෙන් පිහිටුවා නොතිබුණි. ඔවුන්ගේ නිර්මාණකරුවන් කුඩා ඒකක වලින් ඔවුන් වෙත ගොඩනගා ඇත. පළමුව, තනි සැඟවුණු තට්ටුවක් සහිත කුඩා ජාලයක් ගොඩනඟා එය නිවැරදිව ක්‍රියාත්මක වන බව තහවුරු කරගන්න. ඉන්පසු අමතර ආකෘති සංකීර්ණතාවයන් වැඩි කරන්න, තවද ඒ සෑම එකක්ම ක්‍රියාත්මක වන බව තහවුරු කරගන්න.

  • නියුරෝන ඉතා ස්වල්පයක් ස්තරයක ඇති මඟින් ජාලය ඉගෙන ගන්නා නිරූපණය සීමා කළ හැකි අතර එමඟින් නොගැලපේ. නියුරෝන ඕනෑවට වඩා ගැළපීමට හේතු විය හැකි බැවින් ජාලය පුහුණු දත්ත "කටපාඩම්" කරයි.

    ගණිතමය වශයෙන් ගැටළුවක් නිරූපණය කිරීමට අවශ්‍ය වන්නේ නියුරෝන ඉතා සුළු සංඛ්‍යාවක් පමණක් බව ඔබට ඔප්පු කළ හැකි වුවද, බොහෝ විට සිදුවන්නේ “තවත්” නියුරෝන කිහිපයක් තිබීම ප්‍රශස්තකරණයට “හොඳ” වින්‍යාසයක් සොයා ගැනීම පහසු කරයි . (නමුත් මෙය සිදුවන්නේ මන්දැයි කිසිවෙකු සම්පූර්ණයෙන් තේරුම් ගනී යැයි මම නොසිතමි.) මෙහි XOR ගැටලුවේ සන්දර්භය තුළ මම මේ සඳහා උදාහරණයක් සපයමි: එම්එස්ඊ <0.001 සමඟ XOR සඳහා එන්එන් පුහුණු කිරීම සඳහා මගේ පුනරාවර්තන අවශ්‍ය නොවේද? .

  • සංඛ්යාව තෝරා සඟවා ස්ථර ජාලය අමු දත්ත වියුක්තකර ඉගෙන ඉඩ ලබා දෙයි. ගැඹුරු ඉගෙනීම මේ දිනවල ඇති වන කෝපය වන අතර ස්ථර විශාල සංඛ්‍යාවක් ඇති ජාලයන් ආකර්ෂණීය ප්‍රති .ල පෙන්නුම් කර ඇත. නමුත් සැඟවුණු ස්ථර වැඩිපුර එකතු කිරීමෙන් අවදානම් අධික ලෙස ගැලපීම හෝ ජාලය ප්‍රශස්ත කිරීම ඉතා අපහසු වේ.

  • දක්ෂ ජාල රැහැන් තෝරා ගැනීමෙන් ඔබට බොහෝ වැඩ කළ හැකිය. ඔබේ දත්ත ප්‍රභවය විශේෂිත ජාල සැකසුම් සඳහා සුදුසු ද? සංවහන ස්නායුක ජාලයන්ට “ව්‍යුහගත” දත්ත ප්‍රභවයන්, රූප හෝ ශ්‍රව්‍ය දත්ත මත ආකර්ෂණීය ප්‍රති results ල ලබා ගත හැකිය. පුනරාවර්තන ස්නායුක ජාලයන්ට ස්වාභාවික භාෂාව හෝ කාල ශ්‍රේණි දත්ත වැනි අනුක්‍රමික දත්ත වර්ග හොඳින් කළ හැකිය. අවශේෂ සම්බන්ධතා මගින් ගැඹුරු පෝෂක ජාල වැඩිදියුණු කළ හැකිය.

ස්නායුක ජාල පුහුණුව අගුලු දැමීම හා සමානයි

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

වින්‍යාස තේරීම් සුසර කිරීම සැබවින්ම සරල නොවේ, එක් ආකාරයක වින්‍යාස තේරීමක් (උදා: ඉගෙනුම් අනුපාතය) තවත් එකකට වඩා වැඩි හෝ අඩු වැදගත්කමක් (උදා: ඒකක ගණන), මන්ද මෙම සියලු තේරීම් අනෙක් සියලුම තේරීම් සමඟ අන්තර්ක්‍රියා කරන බැවින් එකක් තේරීම වෙනත් තැනක කරන ලද වෙනත් තේරීමක් සමඟ හොඳින් කළ හැකිය .

මෙය වින්‍යාස කිරීමේ විකල්පයන් හෝ සංඛ්‍යාත්මක ප්‍රශස්තිකරණ විකල්පයන් නොවන වින්‍යාසගත විකල්පයන්ගේ පරිපූර්ණ නොවන ලැයිස්තුවකි.

මෙම මාතෘකා සියල්ලම පර්යේෂණයේ ක්‍රියාකාරී අංශ වේ.

උත්තල නොවන ප්‍රශස්තිකරණය දුෂ්කර ය

ස්නායුක ජාලයක වෛෂයික ක්‍රියාකාරිත්වය උත්තල වන්නේ සැඟවුණු ඒකක නොමැති විට පමණි, සියලු ක්‍රියාකාරීත්වයන් රේඛීය වන අතර සැලසුම් අනුකෘතිය පූර්ණ මට්ටමේ පවතී - මන්ද මෙම වින්‍යාසය සාමාන්‍ය ප්‍රතිගාමී ගැටළුවක් වන බැවිනි.

අනෙක් සියලුම අවස්ථාවන්හිදී, ප්‍රශස්තිකරණ ගැටළුව උත්තල නොවන අතර උත්තල නොවන ප්‍රශස්තිකරණය දුෂ්කර ය. ස්නායුක ජාල පුහුණු කිරීමේ අභියෝගයන් හොඳින් දනී (බලන්න: ගැඹුරු ස්නායුක ජාල පුහුණු කිරීම දුෂ්කර ඇයි? ). මීට අමතරව, ස්නායුක ජාලයන්හි ඉතා විශාල පරාමිති සංඛ්‍යාවක් ඇති අතර, එය අපට පළමු ඇණවුම් ක්‍රමවලට පමණක් සීමා වේ (බලන්න: නිව්ටන්ගේ ක්‍රමය යන්ත්‍ර ඉගෙනීමේදී බහුලව භාවිතා නොවන්නේ ඇයි? ). මෙය ඉතා ක්‍රියාකාරී පර්යේෂණ ක්ෂේත්‍රයකි.

  • ඉගෙනීමේ වේගය ඉතා විශාල ලෙස සැකසීම ප්‍රශස්තිකරණය අපසරනය වීමට හේතු වනු ඇත, මන්ද ඔබ “කැනියොන්” හි එක් පැත්තක සිට අනෙක් පැත්තට පනින බැවිනි. මෙය ඉතා කුඩා ලෙස සැකසීම මඟින් ඔබට සැබෑ ප්‍රගතියක් ලබා ගැනීමට නොහැකි වනු ඇති අතර, SGD හි ආවේනික ශබ්දය ඔබේ ශ්‍රේණියේ ඇස්තමේන්තු ඉක්මවා යාමට ඉඩ දෙනු ඇත. බලන්න:

  • ශ්‍රේණියේ ක්ලිපින් යම් සීමාවකට වඩා වැඩි නම් ශ්‍රේණියේ ප්‍රමිතිය නැවත පරිමාණය කරයි. සාමාන්‍යයෙන් 1.0 දී මෙය සෙට්-ඇන්ඩ්-අමතක කිරීමේ පරාමිතියක් යැයි මම සිතුවෙමි, නමුත් එල්එස්ටීඑම් භාෂා ආකෘතියක් 0.25 ලෙස සැකසීමෙන් නාටකාකාර ලෙස වඩා හොඳ කළ හැකි බව මට පෙනී ගියේය. ඒ ඇයිදැයි මම නොදනිමි.

  • ඉගෙනුම් අනුපාත උපලේඛනගත කිරීම පුහුණු කාලය තුළ ඉගෙනීමේ වේගය අඩු කළ හැකිය. මගේ අත්දැකීම් අනුව, උපලේඛනගත කිරීම උත්සාහ කිරීම රීජෙක්ස් වැනි ය : එය එක් ගැටළුවක් ("එක්තරා යුගයකට පසු ඉදිරියට යාමට ඉගෙන ගන්නේ කෙසේද?") ගැටළු දෙකක් සමඟ ප්‍රතිස්ථාපනය කරයි ("එක්තරා යුගයකින් පසුව ඉදිරියට යාමට මම ඉගෙන ගන්නේ කෙසේද? ? "සහ" මම හොඳ කාලසටහනක් තෝරා ගන්නේ කෙසේද? "). වෙනත් අය කියා සිටින්නේ උපලේඛනගත කිරීම අත්‍යවශ්‍ය බවයි. මම ඔයාට තීරණය කරන්න දෙන්නම්.

  • හොඳ මිනිබැච් ප්‍රමාණයක් තෝරා ගැනීම ඉගෙනීමේ ක්‍රියාවලියට වක්‍රව බලපෑම් කළ හැකිය, මන්ද විශාල කුඩා කණ්ඩායමකට කුඩා කුඩා කණ්ඩායමකට වඩා කුඩා විචල්‍යතාවයක් ( ) ඇති බැවිනි. ඔබට අවශ්‍ය වන්නේ කුඩා කණ්ඩායම ශ්‍රේණියේ දිශාව පිළිබඳ තොරතුරු දැන ගැනීමට තරම් විශාල විය යුතු නමුත් ඔබේ ජාලය විධිමත් කිරීමට SGD හට හැකි තරම් කුඩාය.

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

  • එය මුලින්ම එළියට ආ විට, ඇඩම් ප්‍රශස්තකරණය විශාල උනන්දුවක් ජනනය කළේය. නමුත් මෑත කාලීන පර්යේෂණ කිහිපයකින් සොයාගෙන ඇත්තේ ගම්‍යතාවයෙන් යුත් එස්ජීඩී මගින් ස්නායුක ජාල සඳහා අනුවර්තන ශ්‍රේණියේ ක්‍රමවේදයන් ඉක්මවා යා හැකි බවයි. " යන්ත්රය ඉගෙනුම් දී අනුවර්තී Gradient ක්රම මෙම ආන්තික අනුරූපිතා අගය Ashia සී විල්සන්, රෙබෙකා Roelofs, මිචෙල් ස්ටර්න්, නේතන් Srebro බෙන්ජමින් Recht විසින්"

  • නමුත් අනෙක් අතට, මෙම නවතම ලිපිය මඟින් අනුවර්තන අනුපාත ක්‍රම සහ එස්ජීඩී අතර ඇති පරතරය ගම්‍යතාවයෙන් වසා දැමිය හැකි යැයි කියනු ලබන නව අනුවර්තන ඉගෙනුම් අනුපාත ප්‍රශස්තිකරණයක් යෝජනා කරයි. ක්වාන්ක්වාන් ගු හි ජිංහුයි චෙන් විසින් " ගැඹුරු ස්නායුක ජාල පුහුණු කිරීමේදී අනුවර්තී ශ්‍රේණියේ ක්‍රමවල සාමාන්‍යකරණ පරතරය වසා දැමීම "

    ඉගෙනුම් අනුපාතය ස්වයංක්‍රීයව සකස් කිරීම සඳහා historical තිහාසික ශ්‍රේණියේ තොරතුරු භාවිතා කරන අනුවර්තී ශ්‍රේණියේ ක්‍රම, ගැඹුරු ස්නායුක ජාලයන් පුහුණු කිරීමේ වේගය සමඟ ස්ටෝචැස්ටික් ග්‍රේඩියන්ට් ඩෙසෙන්ට් (එස්ජීඩී) ට වඩා නරක ලෙස සාමාන්‍යකරණය කිරීම නිරීක්ෂණය කර ඇත. අනුවර්තී ශ්‍රේණියේ ක්‍රමවල සාමාන්‍යකරණ පරතරය වසා දැමිය හැකි ආකාරය මෙයින් විවෘත ගැටලුවක් වේ. මෙම කාර්යයේදී, ආදම්, ඇම්ස්ග්‍රෑඩ් වැනි අනුවර්තන ශ්‍රේණියේ ක්‍රම සමහර විට “අධික ලෙස අනුවර්තනය වී” ඇති බව අපි පෙන්වමු. අපි නව ඇල්ගොරිතමයක් නිර්මාණය කරමු, එය අර්ධ වශයෙන් අනුවර්තී ගම්‍යතා තක්සේරු කිරීමේ ක්‍රමය (පදම්), එය ආදම් / ඇම්ස්ග්‍රෑඩ් එස්ජීඩී සමඟ ඒකාබද්ධ කරමින් ලෝක දෙකෙන්ම හොඳම දේ ලබා ගනී. සම්මත මිණුම් සලකුණු පිළිබඳ අත්හදා බැලීම්වලින් පෙනී යන්නේ ගැඹුරු ස්නායුක ජාලයන් පුහුණු කිරීමේදී පදම්ට ඇඩම් / ඇම්ස්ග්‍රෑඩ් ලෙස වේගයෙන් අභිසාරී අනුපාතය පවත්වා ගත හැකි බවයි.

සාමාන්‍යකරණය

දත්තවල පරිමාණය පුහුණුව සම්බන්ධයෙන් විශාල වෙනසක් කළ හැකිය.

නියාමනය

ජාල නියාමනය තෝරා ගැනීම සහ සුසර කිරීම හොඳින් සාමාන්‍යකරණය කරන ආකෘතියක් ගොඩනැගීමේ ප්‍රධාන අංගයකි (එනම්, පුහුණු දත්ත වලට නොගැලපෙන ආකෘතියක්). කෙසේ වෙතත්, ඔබේ ජාලය පුහුණු දත්තවල අලාභය අඩු කිරීමට වෙහෙසෙන මොහොතේ - ජාලය ඉගෙන නොගන්නා විට - නියාමනය කිරීමෙන් ගැටලුව කුමක්ද යන්න අපැහැදිලි වේ.

මගේ ජාලය ඉගෙන නොගත් විට, මම සියලු නියාමනය අක්‍රිය කර නියාමනය නොකළ ජාලය නිවැරදිව ක්‍රියාත්මක වන බව තහවුරු කරමි. ඉන්පසු මම එක් එක් නියාමනය කිරීමේ කෑල්ලක් නැවත එකතු කර, ඒ සෑම එකක්ම ක්‍රියාත්මක වන බව තහවුරු කර ගනිමි.

මෙම උපක්‍රමය මඟින් යම් නියාමනය දුර්වල ලෙස සකසා ඇති තැන හඳුනාගත හැකිය. උදාහරණ කිහිපයක්

අත්හදා බැලීම් පොතක් තබා ගන්න

මම ස්නායුක ජාලයක් සැකසූ විට, මම කිසිදු පරාමිති සැකසුම් තදින් කේත නොකරමි. ඒ වෙනුවට, මම එය කරන්නේ වින්‍යාස ගොනුවක (උදා: JSON) කියවා ක්‍රියාත්මක වන විට ජාල වින්‍යාස තොරතුරු ජනනය කිරීමට භාවිතා කරයි. මම මේ සියලු වින්‍යාස ගොනු තබා ගන්නෙමි. මම කිසියම් පරාමිති වෙනස් කිරීමක් කළහොත්, මම නව වින්‍යාස ගොනුවක් සාදමි. අවසාන වශයෙන්, පුහුණුව සහ වලංගු කිරීම සඳහා එක් එක් යුගයට සිදුවන පාඩු සියල්ලම මම අදහස් ලෙස එකතු කරමි.

k

උදාහරණයක් ලෙස, මට LSTM භාෂා ආකෘති ගැන ඉගෙන ගැනීමට අවශ්‍ය විය, එබැවින් වෙනත් ට්විටර් භාවිතා කරන්නන්ට ප්‍රතිචාර වශයෙන් නව ට්වීට් ලියන ට්විටර් බොට් එකක් සෑදීමට මම තීරණය කළෙමි. මම මේ සඳහා මගේ නිදහස් කාලය තුළ, උපාධි පාසල සහ මගේ රැකියාව අතර වැඩ කළෙමි. එය වසරක් පමණ ගත වූ අතර, මට අවශ්‍ය දේ කළ ආකෘතියක් ලබා ගැනීමට පෙර මම විවිධ මාදිලි 150 කට අධික සංඛ්‍යාවක් පුනරාවර්තනය කළෙමි: (වර්ග කිරීම) අර්ථවත් වන නව ඉංග්‍රීසි භාෂා පෙළ ජනනය කරන්න. . එබැවින් එය ඉල්ලීම් වලට පිළිතුරු වශයෙන් ජර්මානු පෙළ වාචික කොටස් ප්‍රතිනිෂ්පාදනය කිරීමකි - ආකෘතිය වඩාත් ස්වයංසිද්ධව හා තවමත් අඩු අලාභයක් ඇති කිරීම සඳහා යම්කිසි වෙනස් කිරීමක් අවශ්‍ය විය.)


12
එහි හොඳ උපදෙස් ගොඩක්. MCMC නියැදි යෝජනා ක්‍රම සමඟ සංකීර්ණ ආකෘති සඳහා පරාමිති හෝ අනාවැකි නිදොස් කිරීම සම්බන්ධයෙන් ඔබගේ අදහස් බොහෝමයක් මා කළ (හෝ වෙනත් අය දැක ඇති) සමාන වේ. (උදාහරණයක් ලෙස, කේතය නිවැරදිව ක්‍රියාත්මක නොවූ විට එය ක්‍රියාත්මක වන බවක් පෙනෙන්නට තිබේ.)
ග්ලෙන්_බී -රයින්ස්ටේට් මොනිකා

12
@Glen_b බොහෝ සංඛ්‍යාලේඛන / යන්ත්‍ර ඉගෙනීමේ විෂයමාලා සඳහා කේතකරණ හොඳම භාවිතයන් ප්‍රමාණවත් ලෙස අවධාරණය කරනු ඇතැයි මම නොසිතමි. OP විසින් "ඔහ් මට දැන් දෝෂයක් හමු විය."
සයිකොරාක්ස් පවසන්නේ මොනිකා

7
මම පයිතන්හි දත්ත විද්‍යා පා course මාලාවක් සඳහා ක්‍රමලේඛයක් උගන්වන අතර, ඇත්ත වශයෙන්ම අපි ප්‍රාථමික සංකල්ප ලෙස පළමු දිනයේම කාර්යයන් සහ ඒකක පරීක්ෂණ සිදු කරන්නෙමු. හොඳ සටනකට එරෙහිව සටන් කිරීම.
මැතිව් ඩ්‍රූරි

8
+1 සඳහා "සියලු කේතීකරණ නිදොස්කරණය වේ". කේතීකරණය යනු සුළු වෑයමක් අවශ්‍ය සරල ව්‍යායාමයක් යැයි SO හි පෝස්ටර් කීයක් සිතනවාදැයි මම මවිත වෙමි. පළමු වරට ඔවුන්ගේ කේතය නිවැරදිව ක්‍රියාත්මක වේ යැයි අපේක්ෂා කරන; එය සිදු නොවන විට ඉදිරියට යා නොහැකි බව පෙනේ. කේතනය: මෙම අපූරු දෙයක් ඔවුන් ඉන්නේ අර්ධ අයිතිය බව ය - එහෙත් වැඩසටහන් දුෂ්කර ය පහසු.
බොබ් ජාවිස් - මොනිකා

එය ඇත්තෙන්ම හොඳ පිළිතුරකි. මම දැනගෙන හිටියා මේ දේවල් වලින් හොඳ කොටසක්, මට කැපී පෙනුණේ අත්හදා බැලීම් ලොග් පොතක් තබා ගැනීමයි - එය ඇත්තෙන්ම හොඳ යෝජනාවක්. අත්හදා බැලීම් පිළිබඳ සොයා බැලීමට ඉතා බුද්ධිමත් නමුත් පැහැදිලිව පෙනෙන ක්‍රම නොවේ. පතල ඉතා අවුල් සහගත විය. ස්තූතියි @ sycorax-says-reinstate-monica. Btw, මා ඇසුවොත්, ඔබ යෝජනා කරන්නේ අත්හදා බැලීම් ලොග් තබා ගැනීමට හොඳම දේ- JSON හෝ YAML හෝ වෙනත් ක්‍රමයක්. මම අදහස් කළේ ඔබ භාවිතා කරන්නේ කුමන එකක් හෝ එය වඩාත් පහසු සහ කියවිය හැකි එකක් ලෙසයි. කරුණාකර කියන්න. ස්තූතියි :)
ජ්වලිතය

53

පළ කරන ලද පිළිතුරු විශිෂ්ට වන අතර, අතීතයේ දී මට බෙහෙවින් ඉවහල් වූ "සනීපාරක්ෂක චෙක්පත්" කිහිපයක් එක් කිරීමට මට අවශ්‍ය විය.

1) ඔබේ ආකෘතිය තනි දත්ත ලක්ෂ්‍යයකින් පුහුණු කරන්න. මෙය ක්‍රියාත්මක වන්නේ නම්, විවිධ ප්‍රතිදානයන් සහිත යෙදවුම් දෙකක් මත එය පුහුණු කරන්න.

මෙය කරුණු කිහිපයක් සත්‍යාපනය කරයි. පළමුවෙන්ම, ඔබේ ආකෘතියට ඔබේ දත්ත ඉක්මවා යා හැකිදැයි පරීක්ෂා කිරීමෙන් ඔබේ ආකෘතියට ඉගෙන ගත හැකි බව එය ඉක්මනින් පෙන්වයි. මගේ නඩුවේදී, ද්විමය අනාවැකි සඳහා Dense(1,activation='softmax')එදිරිව එදිරිව මෝඩ වැරදි මම නිතරම කරන Dense(1,activation='sigmoid')අතර, පළමුවැන්න කුණු කසළ ප්‍රති .ල ලබා දෙයි.

ඔබේ ආකෘතියට දත්ත ලක්ෂ්‍ය කිහිපයක් ඉක්මවා යාමට නොහැකි නම්, එක්කෝ එය ඉතා කුඩාය (එය වර්තමාන යුගයේ විය නොහැක්කකි), නැතහොත් එහි ව්‍යුහයේ හෝ ඉගෙනීමේ ඇල්ගොරිතමයේ යම් වැරැද්දක් තිබේ.

2) ඔබේ ආරම්භක අලාභය කෙරෙහි අවධානය යොමු කරන්න.

එල්=-0.3ln(0.5)-0.7ln(0.5)0.7

-0.3ln(0.99 කි)-0.7ln(0.01)=3.2

ඔබේ ආකෘතිය උදාහරණ දහස් ගණනක් පුරෝකථනය කිරීමෙන් සහ ප්‍රතිදානයන් හිස්ටෝග්‍රැම් කිරීමෙන් ඔබට මෙය තවදුරටත් අධ්‍යයනය කළ හැකිය. ඔබේ දත්ත නිවැරදිව සාමාන්‍යකරණය වී ඇත්දැයි පරීක්ෂා කිරීමට මෙය විශේෂයෙන් ප්‍රයෝජනවත් වේ. නිදසුනක් ලෙස, ඔබේ ප්‍රතිදානය 0 දෙසට දැඩි ලෙස ඇදී යනු ඇතැයි ඔබ අපේක්ෂා කරන්නේ නම්, අපේක්ෂිත නිමැවුමේ වර්ග මූලයන් ගැනීමෙන් ඔබේ අපේක්ෂිත ප්‍රතිදානයන් (ඔබේ පුහුණු දත්ත) පරිවර්තනය කිරීම හොඳ අදහසක් විය හැකිය. මෙමඟින් නිමැවුමේදී සංතෘප්ත සිග්මොයිඩ් සඳහා ප්‍රබල ගැටළු මඟහරවා ගත හැකිය.

3) නිදොස් කිරීම සඳහා ඔබේ ආකෘති ප්‍රතිදානයන් සාමාන්‍යකරණය කරන්න

උදාහරණයක් ලෙස, කාල ශ්‍රේණියේ දත්ත වලින් අනාවැකි කීමට ඔබ LSTM භාවිතා කරන බව සිතන්න. සමහර විට ඔබේ උදාහරණයේ දී, ඔබ සැලකිලිමත් වන්නේ නවතම අනාවැකිය ගැන පමණි, එබැවින් ඔබේ එල්එස්ටීඑම් ප්‍රතිදානය කරන්නේ එක් අගයක් මිස අනුක්‍රමයක් නොවේ. සෑම පියවරකදීම අනාවැකි ලබා දීමට LSTM මාරු කරන්න (keras හි, මෙය return_sequences=True). එවිට ඔබට සෑම පියවරකටම පසු ඔබගේ සැඟවුණු තත්ව ප්‍රතිදානයන් දෙස බලා ඒවා සැබවින්ම වෙනස් බවට වග බලා ගන්න. මෙහි යෙදුමක් නම්, ඔබ ඔබේ අනුපිළිවෙල ආවරණ කරන විට (එනම් ඒවා සමාන දිගකින් යුත් දත්ත සමඟ පෑඩ් කිරීම), LSTM ඔබේ වෙස්මුහුණු දත්ත නිවැරදිව නොසලකා හරින බවට වග බලා ගැනීමයි. ඔබේ ආකෘතිය සාමාන්‍යකරණය නොකර ඔබට මෙම ගැටළුව කිසි විටෙකත් සොයාගත නොහැක.

4) තනි ස්ථර දෙස බලන්න

ඔබේ ස්ථර ප්‍රතිදානයන් දෘශ්‍යමාන කිරීමට ටෙන්සර්බෝඩ් ප්‍රයෝජනවත් ක්‍රමයක් සපයයි . එක් එක් ස්ථරයේ යෙදවුම් / ප්‍රතිදානයන් නිසි ලෙස සාමාන්‍යකරණය වී ඇති බවට මෙය සහතික වේ. එය දෝෂ සහිත සක්‍රිය කිරීම් ද අල්ලා ගත හැකිය. ඔබට අනාවැකි සමූහයක් මත කෙරස්හි ස්ථර ප්‍රතිදානයන් විමසීමටද, පසුව සැක සහිත ලෙස ඇදී ගිය සක්‍රිය කර ඇති ස්ථර සොයා බලන්න (සියල්ලම 0, හෝ සියලු නොසෙරෝ).

5) පළමුව සරල ආකෘතියක් සාදන්න

ඔබේ ගැටළුව විසඳීම සඳහා හොඳම ප්‍රවේශය වන්නේ මායිම් පෙට්ටි අනාවරකයක් සමඟ ඒකාබද්ධව සීඑන්එන් එකක් භාවිතා කිරීමයි, එමඟින් රූප බෝග තවදුරටත් සැකසෙන අතර පසුව සියල්ල ඒකාබද්ධ කිරීමට එල්එස්ටීඑම් භාවිතා කරයි. ඔබගේ ආකෘතිය ආරම්භ කිරීමට ඔබගේ GPU සඳහා මිනිත්තු 10 ක් ගතවේ.

ඒ වෙනුවට, ව්‍යාජ දත්ත සමූහයක් (එකම හැඩය) සාදන්න, ඔබේ ආකෘතිය සංරචක වලට කඩා දමන්න. ඉන්පසු එක් එක් සංරචකය වෙනුවට ව්‍යාජ ආකෘති සාදන්න (ඔබේ “සීඑන්එන්” තනි 2x2 20-පියවරක් විය හැකිය, සැඟවුණු ඒකක 2 ක් සහිත එල්එස්ටීඑම්). ඔබේ ආකෘති ව්‍යුහය නිවැරදි බවත් බාහිර ගැටළු නොමැති බවත් තහවුරු කර ගැනීමට මෙය ඔබට උපකාරී වනු ඇත. එවැනි ආකෘතියක් සමඟ මම ටික වේලාවක් අරගල කළ අතර, මම සරල අනුවාදයක් උත්සාහ කළ විට, කෙරස් දෝෂයක් හේතුවෙන් එක් ස්ථරයක් නිසි ලෙස වෙස්වලා නොගන්නා බව මට පෙනී ගියේය. ඔබට පහසුවෙන් ( ඉක්මණින් ) අභ්‍යන්තර ආකෘති ස්ථර විමසා බලා ඔබේ ප්‍රස්ථාරය නිවැරදිව සකසා ඇත්දැයි බලන්න.

6) ඔබේ පෙර සැකසුම් හා පැකේජ අනුවාදයන් ප්‍රමිතිකරණය කරන්න

ස්නායුක ජාල විශේෂයෙන් ඔබගේ දත්තවල කුඩා වෙනස්කම් වලට අතිශයින් සංවේදී වේ. උදාහරණයක් ලෙස, ජනප්‍රිය රූප පැටවීමේ පැකේජ දෙකක් cv2සහ PIL. යන්තම් පළාෙත් මහනුවර දිස්තික්කෙය් උඩුනුවර පාෙද්ශීය ෙල්කම් විසින් විවෘත වූ JPEG, දෙකම මෙම පැකේජ නිෂ්පාදනය කරනු ඇත තරමක් වෙනස් රූප. වෙනස්කම් සාමාන්‍යයෙන් ඉතා කුඩා ය, නමුත් ඉඳහිට මේ ආකාරයේ දේවල් නිසා ආකෘති ක්‍රියාකාරිත්වයේ පහත වැටීමක් ඔබට පෙනෙනු ඇත. එසේම එය නිදොස් කිරීම නපුරු සිහිනයක් බවට පත් කරයි: පුහුණුව අතරතුරදී ඔබට වලංගු ලකුණු ප්‍රමාණයක් ලැබුණි, පසුව ඔබ වෙනත් ලෝඩරයක් භාවිතා කර එකම ඩාර්න් දත්ත කට්ටලයේ වෙනස් නිරවද්‍යතාවයක් ලබා ගනී.

එබැවින් ඔබ යමෙකුගේ ආකෘතිය ගිතුබ් වෙතින් බාගත කරන්නේ නම්, ඔවුන්ගේ පෙර සැකසුම් කෙරෙහි දැඩි අවධානයක් යොමු කරන්න. ඔවුන් භාවිතා කරන්නේ කුමන රූප පැටවුම්ද? ඔවුන් භාවිතා කරන රූප පෙර සැකසුම් පිළිවෙත් මොනවාද? රූපයක් ප්‍රතිප්‍රමාණනය කිරීමේදී, ඔවුන් භාවිතා කරන්නේ කුමන අන්තර් මැදිහත්වීමද? ඔවුන් පළමුව ප්‍රමාණය වෙනස් කර රූපය සාමාන්‍යකරණය කරනවාද? නැත්නම් අනිත් පැත්තෙන්ද? RGB රූප සඳහා නාලිකා ඇණවුම කුමක්ද?

පැකේජ ප්‍රමිතිකරණය කිරීමේ ආරක්ෂිතම ක්‍රමය නම්, requirements.txtඔබේ පුහුණු පද්ධති සැකසීමේදී මෙන් keras==2.1.5අනුවාද අංක දක්වා ඔබේ සියලුම පැකේජ ගෙනහැර දක්වන ගොනුවක් භාවිතා කිරීමයි . න්‍යාය අනුව, ඔබේ පුහුණු පද්ධතියේ ඇති එකම GPU සමඟ ඩෝකර් භාවිතා කිරීමෙන් පසුව එකම ප්‍රති .ල ලබා ගත යුතුය.


7
(+1) ආරම්භක අලාභය පරීක්ෂා කිරීම හොඳ යෝජනාවකි. මගේ පිළිතුරෙන් මම එය අත්හැරීම ගැන මම කනගාටු වෙමි.
සයිකොරාක්ස් පවසන්නේ මොනිකා

7
ඔබේ ආකෘතියට අධික ලෙස ගැලපෙන බවට වග බලා ගැනීම විශිෂ්ට අදහසකි. මම අධික ලෙස ආහාර ගැනීම දුර්වලකමක් ලෙස සිතීමට පුරුදු වී සිටිමි. ඔබ කිසි විටෙකත් පැහැදිලිවම නොසිතූ (ඔබ එය සඳහන් කරන තුරු) අධික ලෙස ආහාර ගැනීමේ හැකියාව සැබවින්ම ශක්තියක් බව මම සිතුවෙමි .
ජෝන් කෝල්මන්

18

ආරම්භ කිරීමට ස්නායුක ජාලයක් පුහුණු නොකරන්න!

සියලු පිළිතුරු විශිෂ්ටයි, නමුත් සඳහන් කළ යුතු එක් කරුණක් තිබේ: ඔබේ දත්ත වලින් ඉගෙන ගැනීමට යමක් තිබේද? (එය යම් ආකාරයක පරීක්ෂණයක් ලෙස සැලකිය හැකිය).

ඔබ පුරෝකථනය කිරීමට උත්සාහ කරන ලේබලය ඔබේ විශේෂාංග වලින් ස්වාධීන නම්, එවිට පුහුණු පාඩුව අඩු කර ගැනීමට අපහසු වනු ඇත.

ඒ වෙනුවට, රේඛීය ප්‍රතිගාමී, අහඹු වනාන්තරයක් ක්‍රමාංකනය කිරීම ආරම්භ කරන්න (හෝ ඔබ කැමති ඕනෑම ක්‍රමයක් හයිපර් පරාමිති ගණන අඩු සහ කාගේ හැසිරීම ඔබට තේරුම් ගත හැකිද).

එවිට, ඔබ මෙම ආකෘතීන්හි යහපත් කාර්ය සාධනයක් ලබා ගන්නේ නම් (අහඹු ලෙස අනුමාන කිරීමට වඩා හොඳ), ඔබට ස්නායුක ජාලයක් සුසර කිරීම ආරම්භ කළ හැකිය (සහ y සයිකොරාක්ස්ගේ පිළිතුර බොහෝ ගැටලු විසඳනු ඇත).


6
xk

15

එහි හරය තුළ, එන්එන් / ඩීඑන්එන් ආකෘතියක් පුහුණු කිරීම සඳහා වන මූලික කාර්ය ප්‍රවාහය සෑම විටම සමාන වේ:

  1. එන්එන් ගෘහ නිර්මාණ ශිල්පය නිර්වචනය කරන්න (ස්ථර කීයක්, කුමන ආකාරයේ ස්ථර, ස්ථර අතර සම්බන්ධතා, සක්‍රිය කිරීමේ කාර්යයන් ආදිය)

  2. කිසියම් ප්‍රභවයකින් දත්ත කියවීම (අන්තර්ජාලය, දත්ත සමුදායක්, දේශීය ලිපිගොනු කට්ටලයක් යනාදිය), සාම්පල කිහිපයක් දෙස බලන්න (ආනයනය හොඳින් සිදුවී ඇත්දැයි තහවුරු කර ගැනීම සඳහා) සහ අවශ්‍ය නම් / දත්ත පිරිසිදු කිරීම සිදු කරන්න. මෙම පියවර සාමාන්‍යයෙන් මිනිසුන් සිතන තරම් සුළු දෙයක් නොවේ. හේතුව, ඩීඑන්එන් සඳහා, අපි සාමාන්‍යයෙන් දැවැන්ත දත්ත කට්ටල සමඟ ගනුදෙනු කරන්නෙමු, අප වඩා ප්‍රමිතියට ගැලපෙන විට, අප පුරුදු වී ඇති ප්‍රමාණයට වඩා විශාල ප්‍රමාණයේ ඇණවුම් කිහිපයක් රේඛීය නොවන පරාමිතික සංඛ්‍යාන ආකෘතිවලට (එන්එන් මෙම පවුලට අයත් වේ, න්‍යායිකව).

  3. යම් ආකාරයකින් දත්ත සාමාන්‍යකරණය කිරීම හෝ ප්‍රමිතිකරණය කිරීම. එන්එන් රේඛීය නොවන මාදිලි බැවින්, දත්ත සාමාන්‍යකරණය කිරීම සංඛ්‍යාත්මක ස්ථායිතාවයට පමණක් නොව, පුහුණු කාලය ද, එන්එන් ප්‍රතිදානයන් ද බලපායි (සාමාන්‍යකරණය වැනි රේඛීය ශ්‍රිතයක් රේඛීය නොවන ධූරාවලි ශ්‍රිතයක් සමඟ සංක්‍රමණය නොවේ).

  4. හරස් වලංගුකරණය භාවිතා කරන්නේ නම් පුහුණුව / වලංගුකරණය / පරීක්ෂණ කට්ටලය හෝ බහුවිධ දත්ත බෙදන්න.

  5. ස්නායුක ජාලය පුහුණු කරන්න, ඒ සමඟම වලංගු කිරීමේ කට්ටලයේ අලාභය පාලනය කරන්න. මෙහිදී ඔබට උත්තල නොවන ප්‍රශස්තිකරණයේ ආස්වාදජනක වින්දනයක් භුක්ති විඳිය හැකිය, එහිදී කිසියම් විසඳුමක් තිබේදැයි ඔබ නොදනී, බහුවිධ විසඳුම් තිබේ නම්, සාමාන්‍යකරණ දෝෂය සහ ඔබ කෙතරම් සමීපද යන්න අනුව හොඳම විසඳුම මෙයයි. එය. පුහුණු පාඩුව සහ වලංගු කිරීමේ පාඩු වක්‍රය අතර සංසන්දනය ඔබට මඟ පෙන්වයි, නමුත් එන්එන් (සහ විශේෂයෙන් ඩීඑන්එන්) හි දැඩි ආකල්පය අවතක්සේරු නොකරන්න: ඔවුන් බොහෝ විට පෙන්වන්නේ (සමහර විට සෙමින්) අඩු වන පුහුණුව / වලංගු කිරීමේ පාඩුව ඔබ සතුව තිබියදීත් ය. දුර්වල දෝෂ ඔබේ කේතයේ වීම.

  6. පරීක්ෂණ කට්ටලයේ නිරවද්‍යතාවය පරීක්ෂා කර රෝග විනිශ්චය බිම් / වගු කිහිපයක් සාදන්න.

  7. ප්‍රති point ල හොඳ නැති නිසා 1 වන ස්ථානයට ආපසු යන්න. නැවත නැවතත් කියා ගන්න සමුළලුව .

නිශ්චිත භාවිත අවස්ථාව මත පදනම්ව ඇත්ත වශයෙන්ම විස්තර වෙනස් වනු ඇත, නමුත් මෙම රළු කැන්වසය මනසේ තබාගෙන, අපට වැරදියට වැඩිය හැකි දේ ගැන සිතිය හැකිය.

මූලික ගෘහ නිර්මාණ චෙක්පත්

මෙය ගැටළු වල මූලාශ්‍රයක් විය හැකිය. සාමාන්යයෙන් මම මෙම මූලික චෙක්පත් සිදු කරමි:

  • ඔබේ ගැටළුව හොඳින් ක්‍රියාත්මක වන සරල ගෘහ නිර්මාණ ශිල්පයක් සොයා බලන්න (නිදසුනක් ලෙස, රූප වර්ගීකරණය සම්බන්ධයෙන් මොබයිල් නෙට්වී 2) සහ සුදුසු ආරම්භයක් යොදන්න (මෙම මට්ටමේ දී අහඹු ලෙස සාමාන්‍යයෙන් සිදු වේ). මෙය ඔබගේ දත්ත නිවැරදිව පුහුණු කරන්නේ නම්, අවම වශයෙන් දත්ත කට්ටලයේ පැහැදිලි ගැටළු නොමැති බව ඔබ දන්නවා. ඔබේ නඩුවේ ක්‍රියාත්මක වන සරල, පරීක්ෂා කළ ගෘහ නිර්මාණ ශිල්පයක් ඔබට සොයාගත නොහැකි නම්, සරල පදනමක් ගැන සිතන්න . උදාහරණයක් ලෙස වර්ගීකරණය සඳහා නයිව් බේස් වර්ගීකරණයක් (හෝ සෑම විටම වඩාත් පොදු පන්තිය වර්ගීකරණය කිරීම පවා), හෝ කාල ශ්‍රේණි පුරෝකථනය සඳහා ඇරිමා ආකෘතිය

  • ඒකක පරීක්ෂණ සාදන්න. මෙය කිරීමට නොසලකා හැරීම (සහ ලේවැකි ජුපිටර් නෝට්බුක් භාවිතය) සාමාන්‍යයෙන් එන්එන් කේතයේ ඇති ගැටළු වලට මූලික හේතු වන්නේ සමාලෝචනය කිරීමට මා ඉල්ලා සිටින අතර, විශේෂයෙන් නිෂ්පාදිතය සඳහා ආකෘතිය යෙදවිය යුතු යැයි සිතන විට ය. වඩාත්ම උත්තරීතර පිළිතුර දැනටමත් ඒකක පරීක්ෂණ ආවරණය කර ඇති හෙයින්, එන්එන් සඳහා ඒකක පරීක්ෂණ සංවර්ධනයට සහාය වන පුස්තකාලයක් පවතින බව මම එකතු කරමි (අවාසනාවකට මෙන් ටෙන්සර්ෆ්ලෝ හි පමණි).

පුහුණු කට්ටලය

ඔබගේ ආදාන දත්ත දෙවරක් පරීක්ෂා කරන්න. ඔබ පුහුණු කට්ටලය සහ පරීක්ෂණ කට්ටල ලේබල් පෙරළා ඇත්දැයි බලන්න, උදාහරණයක් ලෙස (මට වරක් -___- සිදු විය), හෝ ඔබ වැරදි ගොනුවක් ආනයනය කළේ නම්. ආදාන සාම්පල කිහිපයක් සහ ඒ හා සම්බන්ධ ලේබල දෙස බලා ඒවා අර්ථවත් බවට වග බලා ගන්න. සාමාන්‍යකරණය කළ දත්ත සැබවින්ම සාමාන්‍යකරණය වී ඇත්දැයි පරීක්ෂා කරන්න (ඒවායේ පරාසය දෙස බලන්න). එසේම, තථ්‍ය-ලෝක දත්ත කට්ටල අපිරිසිදු ය: වර්ගීකරණය සඳහා, ඉහළ මට්ටමේ ලේබල් ශබ්දයක් තිබිය හැකිය (වැරදි පන්ති ලේබලය සහිත සාම්පල) හෝ බහු කාලීන කාල ශ්‍රේණි පුරෝකථනය සඳහා, සමහර කාල ශ්‍රේණි සංරචකවල අස්ථානගත වූ දත්ත විශාල ප්‍රමාණයක් තිබිය හැකිය ( සමහර යෙදවුම් සඳහා 94% ක් තරම් ඉහළ සංඛ්‍යාවක් මම දැක ඇත්තෙමි).

පුහුණුව අතරතුර පුහුණු කට්ටලය ජාලයට පෝෂණය කරන අනුපිළිවෙල බලපෑමක් ඇති කළ හැකිය. පුහුණු කට්ටලයේ අහඹු වෙනස් කිරීමක් උත්සාහ කරන්න ( යෙදවුම් සහ ප්‍රතිදානයන් අතර ඇති සම්බන්ධය බිඳ දැමීමෙන් තොරව ) සහ පුහුණු පාඩුව අඩු වේදැයි බලන්න.

අවසාන වශයෙන්, ඔබට පුහුණු කට්ටල ගැටළු තිබේදැයි පරීක්ෂා කිරීමට හොඳම ක්‍රමය වන්නේ වෙනත් පුහුණු කට්ටලයක් භාවිතා කිරීමයි. ඔබ රූපය වර්ගීකරණය කරන්නේ නම්, ඒ වෙනුවට ඔබ රැස් කළ රූප වඩා, සම්මත එවැනි CIFAR10 හෝ CIFAR100 (හෝ ImageNet දත්ත සමුදාය, භාවිතා නම් ඔබ ඒ පිළිබඳ දුම්රිය දැරිය හැකි). මෙම දත්ත කට්ටල හොඳින් පරීක්‍ෂා කර ඇත: ඔබේ පුහුණු පාඩුව මෙහි අඩුවුවද ඔබේ මුල් දත්ත කට්ටලය මත නොවේ නම්, ඔබට දත්ත කට්ටලයේ ගැටළු ඇති විය හැකිය.

රන් පරීක්ෂණ කරන්න

මම ගෝල්ඩන් ටෙස්ට් ලෙස හඳුන්වන පරීක්ෂණ දෙකක් තිබේ, ඒවා පුහුණු නොකරන NN හි ගැටළු සොයා ගැනීමට ඉතා ප්‍රයෝජනවත් වේ:

  • පුහුණු කට්ටලය සාම්පල 1 හෝ 2 දක්වා අඩු කර මේ පිළිබඳව පුහුණු කරන්න. එන්එන් වහාම පුහුණු කට්ටලය ඉක්මවා යා යුතු අතර ඉතා ඉක්මණින් පුහුණු කට්ටලයේ 100% ක නිරවද්‍යතාවයක් කරා ළඟා විය යුතු අතර වලංගු කිරීමේ / පරීක්ෂණ කට්ටලයේ නිරවද්‍යතාව 0% දක්වා ඉහළ යනු ඇත. මෙය සිදු නොවන්නේ නම්, ඔබේ කේතයේ දෝෂයක් තිබේ.

  • ප්‍රතිවිරුද්ධ පරීක්ෂණය: ඔබ සම්පූර්ණ පුහුණු කට්ටලය තබා ගත්තද ඔබ ලේබල මාරු කරයි. එන්එන් වෙත දැන් ඉගෙන ගත හැකි එකම ක්‍රමය වන්නේ පුහුණු කට්ටලය කටපාඩම් කිරීමයි, එයින් අදහස් වන්නේ පුහුණු පාඩුව ඉතා සෙමින් අඩු වන අතර පරීක්ෂණ අලාභය ඉතා ඉක්මණින් ඉහළ යනු ඇති බවයි. විශේෂයෙන්, ඔබ පරීක්ෂණ කට්ටලයේ අහඹු අහඹු සිදුවීම කරා ළඟා විය යුතුය . මෙයින් අදහස් කරන්නේ ඔබට පන්ති 1000 ක් තිබේ නම්, ඔබ 0.1% ක නිරවද්‍යතාවයකට ළඟා විය යුතු බවයි. ලේබල් මාරු කිරීමට පෙර සහ පසු පුහුණු පාඩුව අතර වෙනසක් ඔබ නොදකිනවා නම්, මෙයින් අදහස් කරන්නේ ඔබේ කේතය දෝෂ සහිත බවය (පෙර පියවරේ ඇති පුහුණු කට්ටලයේ ලේබල් අප දැනටමත් පරීක්ෂා කර ඇති බව මතක තබා ගන්න).

ඔබේ පුහුණු මෙට්‍රික් අර්ථවත් දැයි පරීක්ෂා කරන්න

ඔබට ශක්තිමත් පංති අසමතුලිතතාවයක් තිබේ නම් නිරවද්‍යතාවය (0-1 අලාභය) කපටි මෙට්‍රික් වේ. හරස් එන්ට්‍රොපි නැතිවීම වැනි වඩා අර්ථවත් යමක් උත්සාහ කරන්න: ඔබට නිවැරදිව වර්ගීකරණය කිරීමට අවශ්‍ය නැත, නමුත් ඉහළ නිරවද්‍යතාවයකින් වර්ගීකරණය කිරීමට ඔබ කැමති ය.

ලොකු තුවක්කු එළියට ගන්න

කිසිවක් උදව් නොකළේ නම්, දැන් අධි පරාමිතීන් සමඟ විහිළු කිරීම ආරම්භ කිරීමට කාලයයි. මෙය පහසුවෙන් එන්එන් පුහුණුවේ නරකම කොටස වේ, නමුත් මේවා දැවැන්ත, හඳුනාගත නොහැකි ආකෘති වන අතර ඒවායේ පරාමිතීන් උත්තල නොවන ප්‍රශස්තිකරණයක් විසඳීම මගින් ගැලපේ, එබැවින් මෙම පුනරාවර්තන බොහෝ විට වළක්වා ගත නොහැක.

  • විවිධ ප්‍රශස්තිකරණයන් උත්සාහ කරන්න: එස්ජීඩී දුම්රිය මන්දගාමී වේ, නමුත් එය අඩු සාමාන්‍යකරණ දෝෂයකට තුඩු දෙයි, ඇඩම් වේගයෙන් පුහුණු කරයි, නමුත් පරීක්ෂණ අලාභය ඉහළ අගයක් ගනී
  • කණ්ඩායමේ ප්‍රමාණය අඩු කිරීමට උත්සාහ කරන්න
  • මුලින් ඉගෙනුම් අනුපාතය වැඩි කරන්න, පසුව එය දිරාපත් කරන්න, නැතහොත් චක්‍රීය ඉගෙනුම් අනුපාතයක් භාවිතා කරන්න
  • ස්ථර එකතු කරන්න
  • සැඟවුණු ඒකක එකතු කරන්න
  • නියාමනය ක්‍රමයෙන් ඉවත් කරන්න (සමහර විට ස්ථර කිහිපයක් සඳහා කණ්ඩායම් සම්මත මාරු කරන්න). පුහුණු පාඩුව දැන් අඩු විය යුතු නමුත් පරීක්ෂණ අලාභය වැඩි විය හැකිය.
  • එක් එක් ස්ථර සඳහා පඩි සහ පක්ෂග්‍රාහී ව්‍යාප්තිය දෘශ්‍යමාන කරන්න. මට කවදාවත් මෙතැනට යාමට අවශ්‍ය නොවීය, නමුත් ඔබ BatchNorm භාවිතා කරන්නේ නම්, ඔබ දළ වශයෙන් සම්මත සාමාන්‍ය බෙදාහැරීම් අපේක්ෂා කරනු ඇත. යුගයන් සමඟ බර කිරිමේ ප්‍රමිතිය අසාමාන්‍ය ලෙස වැඩිවෙමින් තිබේදැයි බලන්න.
  • පුහුණු වේලාවේදී ඔබට යම් දෝෂයක් සිදුවුවහොත්, එම දෝෂය ගූගල් කරන්න . පරිපූර්ණ වැඩ කරන ගෘහ නිර්මාණ ශිල්පයක් සවි කිරීමට උත්සාහ කරන අතරතුර මම එක් උදෑසනක නාස්ති කළෙමි, මා විසින් ස්ථාපනය කර ඇති කෙරස්හි අනුවාදයේ දෝෂ සහිත බහු-ජීපීයූ සහය ඇති බවත් එය යාවත්කාලීන කළ යුතු බවත් දැන ගැනීමට පමණි. සමහර විට මට ප්‍රතිවිරුද්ධ දේ කිරීමට සිදු විය (පැකේජ අනුවාදයක් පහත හෙලන්න).
  • ඔබගේ CV යාවත්කාලීන කර වෙනත් රැකියාවක් සෙවීම ආරම්භ කරන්න :-)

+1, නමුත් "ලේවැකි ජුපිටර් නෝට්බුක්"? ඒ ගැන අදහස් දැක්වීමට සැලකිලිමත්ද? :)
amoeba

2
මෙන්න මම ජුපිටර් සටහන් පොත් වලට වෛර කරන්නේ ඇයි . TL; DR: සැඟවුණු තත්වය, වෙනස් වීම වේදනාවක්, ආරක්ෂක ගැටළු වන අතර එය ඒකක / ප්‍රතිගාමී / ඒකාබද්ධ කිරීමේ පරීක්ෂණ භාවිතා නොකිරීම වැනි නරක ක්‍රමලේඛන භාවිතයන් දිරිමත් කරයි. ක්‍රමලේඛනයේ මූලධර්ම ගැන මිනිසුන් අමතක නොකර NNs පුහුණු කිරීම දැනටමත් ප්‍රමාණවත් නොවේ.
ඩෙල්ටයිව්

2
මම බොහෝ දුරට නිෂේධාත්මක විය හැකි නමුත්, අවංකවම මට GitHub වෙතින් ජුපිටර් නෝට්බුක් ක්ලෝන කරන පුද්ගලයින් සමඟ ප්‍රමාණවත් විය, ඔවුන්ගේ භාවිත නඩුවට කේතය අනුවර්තනය වීමට මිනිත්තු කිහිපයක් ගතවනු ඇතැයි සිතමින් පසුව මා වෙත පැමිණ කිසිවක් ක්‍රියාත්මක නොවන බවට පැමිණිලි කරයි. අපරාධකරුවන් වෙනුවෙන්, PyCharm හෝ VisualStudio Code වැනි සැබෑ IDE එකක් ලබාගෙන නෝට්බුක් එකක් පිසීමට වඩා හොඳින් ව්‍යුහගත කේතයක් සාදන්න! විශේෂයෙන් ඔබ ආකෘතිය නිෂ්පාදනයට නැව්ගත කිරීමට අදහස් කරන්නේ නම්, එය දේවල් පහසු කරයි.
ඩෙල්ටයිව්

2
Lol. 'ජුපිටර් නෝට්බුක්' සහ 'ඒකක පරීක්ෂාව' සහසම්බන්ධය.
සයිකොරාක්ස් පවසන්නේ මොනිකා

2
(+1) මෙය හොඳ ලිවීමකි. සසම්භාවීකරණ පරීක්ෂණ සඳහා වන යෝජනා දෝෂ සහිත ජාල වෙත ළඟා වීමට හොඳ ක්‍රම වේ.
සයිකොරාක්ස් පවසන්නේ මොනිකා නැවත

7

ආකෘතිය ඉගෙන නොගන්නේ නම්, ඔබේ පසුගාමී ක්‍රියා විරහිත වීමට හොඳ අවස්ථාවක් තිබේ. නමුත් ස්නායුක ජාලය වැනි කළු පෙට්ටි ආකෘතියක් සමඟ බොහෝ දේ වැරදිය හැකිය, ඔබ පරීක්ෂා කළ යුතු බොහෝ දේ ඇත. මම හිතන්නේ සයිකොරාක්ස් සහ ඇලෙක්ස් යන දෙදෙනාම ඉතා හොඳ සවිස්තරාත්මක පිළිතුරු සපයයි. එක් තාක්‍ෂණයක් එක් කිරීමට අවශ්‍ය නම් තවම සාකච්ඡා කර නොමැත.

ε


1

මගේ නඩුවේදී මූලික පුහුණු කට්ටලය ජාලයට බොහෝ අපහසු වූ බැවින් එය කිසිදු ප්‍රගතියක් නොලැබුණි. මගේම මතය අනුව වඩාත් පැහැදිලිව පෙනෙන පරිදි කාණ්ඩ අතර වෙනස්කම් දැකගත හැකි අවස්ථා තෝරා ගනිමින් මම පහසු කට්ටලයක් සකස් කර ඇත්තෙමි.

ජාලය මෙම සරල නඩුව හොඳින් තෝරා ගත්තේය. එය හොඳ ප්‍රති results ල කරා ළඟා වූ පසු, පුහුණු ලකුණු බිංදුවට ආසන්න වීමත් සමඟ වරදවා වටහා නොගෙන මුල්, වඩාත් සංකීර්ණ දත්ත කට්ටලයෙන් පුහුණුවීමෙන් තවදුරටත් ඉදිරියට යාමට හැකි විය. පවත්නා දැනුම නැති නොවන බවට වග බලා ගැනීම සඳහා, නියමිත ඉගෙනුම් අනුපාතය අඩු කරන්න.


මෙය හොඳ එකතු කිරීමකි. ඒ හා සමාන සංසිද්ධියක් වෙනත් සන්දර්භයක් තුළ ද වෙනස් විසඳුමක් සමඟ පැන නගී. ත්රිත්ව ජාලයන් පුහුණු කිරීමේදී, මාර්ගගත දෘඩ negative ණ කැණීම් සමඟ පුහුණුව වහාම ආකෘති බිඳවැටීමට අවදානමක් ඇති කරයි, එබැවින් මිනිසුන් අර්ධ දෘඩ negative ණාත්මක පතල් කැණීම් සමඟ ප්රථමයෙන් "පූර්ව පුහුණුව" ලෙස පුහුණු කරයි. මෙය පහසු කාර්යයකි, එබැවින් සැබෑ කාර්යය පිළිබඳ පුහුණුවීමට පෙර ආකෘතිය හොඳ ආරම්භයක් ඉගෙන ගනී. ඉන්පසු පුහුණුව මාර්ගගත දෘඩ negative ණ කැණීම් සමඟ ඉදිරියට යන අතර එහි ප්‍රති model ලයක් ලෙස ආකෘතිය ඊට වඩා හොඳය.
සයිකොරාක්ස් පවසන්නේ මොනිකා නැවත

AFAIK, මෙම ත්‍රිත්ව ජාල උපායමාර්ගය මුලින්ම යෝජනා කරනුයේ ෆේස්නෙට් පුවත්පතේ ය. "ෆේස්නෙට්: මුහුණු හඳුනා ගැනීම සහ පොකුරු කිරීම සඳහා ඒකාබද්ධ කාවැද්දීම" ෆ්ලෝරියන් ෂ්රොෆ්, දිමිත්‍රි කලනිචෙන්කෝ, ජේම්ස් ෆිල්බින්
සයිකොරාක්ස් පවසන්නේ මොනිකා නැවත

0

මට කිසිසේත් පුහුණු නොවූ ආකෘතියක් තිබුණි. පුහුණුවීම් වලදී කිසිදු අලාභයක් සිදු නොවී නිශ්චිත ප්‍රති result ල සඳහා අහඹු ලෙස එය හිර වී ඇත. අලාභය නියත 4.000 ක් වූ අතර ඉලක්ක අගයන් 7 හි නිරවද්‍යතාව 0.142 වේ.

මම ReLU අවසන් සක්‍රිය කිරීමේ ස්තරය සමඟ ප්‍රතිගාමී කිරීමක් කළ බව සත්‍යයකි, එය පැහැදිලිවම වැරදිය.

මෙය වැරදියි කියා දැන ගැනීමට පෙර, මම ඉගෙන ගත හැකි සෑම ස්ථරයකින්ම Batch Normalization layer එක එකතු කළ අතර එය උපකාරී වේ. කෙසේ වෙතත්, පුහුණුව කෙසේ හෝ අක්‍රමිකතාවයක් බවට පත්වන බැවින් පුහුණුවීම් වලදී නිරවද්‍යතාවය වලංගු කිරීමේ කට්ටලය මත 40% සිට 9% දක්වා පහසුවෙන් පහත වැටෙනු ඇත. පුහුණු දත්ත කට්ටලයේ නිරවද්‍යතාවය සෑම විටම හරි.

පුහුණුවීම් වලදී අලාභය / නිරවද්‍යතාවය වැඩි දියුණු කිරීම සඳහා, අවසාන ReLU සක්‍රීය කිරීමේ ස්ථරයට පෙර Batch Normalization තැබීම පමණක් ප්‍රමාණවත් බව එවිට මට වැටහුණි. එය බොහෝ විට වැරදි සක්‍රීය කිරීමේ ක්‍රමයක් නිවැරදි කර ඇත.

කෙසේ වෙතත්, මම ReLU වෙනුවට රේඛීය සක්‍රීය කිරීම (ප්‍රතිගාමීත්වය සඳහා) ආදේශ කළ විට, තවදුරටත් කණ්ඩායම් සාමාන්‍යකරණය අවශ්‍ය නොවූ අතර ආකෘතිය සැලකිය යුතු ලෙස වඩා හොඳින් පුහුණු කිරීමට පටන් ගත්තේය.

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.