ന്യൂറൽ നെറ്റ്‌വർക്ക് ചിത്രങ്ങൾ വരയ്ക്കുന്നു. Ostagram: ഫോട്ടോകളും ആഭരണങ്ങളും കലാപരമായ മാസ്റ്റർപീസുകളായി സംയോജിപ്പിക്കുന്ന ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് അധിഷ്ഠിത സേവനം

2015 ഓഗസ്റ്റ് മുതൽ, ട്യൂബിംഗൻ സർവകലാശാലയിലെ ജർമ്മൻ ഗവേഷകർ സ്റ്റൈൽ കൈമാറ്റത്തിന്റെ സാധ്യതയെക്കുറിച്ച് അവതരിപ്പിച്ചു. പ്രശസ്ത കലാകാരന്മാർമറ്റ് ഫോട്ടോകളിൽ, ഈ അവസരത്തിൽ ധനസമ്പാദനം നടത്തുന്ന സേവനങ്ങൾ ദൃശ്യമാകാൻ തുടങ്ങി. ഇത് പാശ്ചാത്യ വിപണിയിലും റഷ്യൻ വിപണിയിലും സമാരംഭിച്ചു - അതിന്റെ പൂർണ്ണമായ പകർപ്പ്.

ബുക്ക്മാർക്കുകളിലേക്ക്

ഡിസംബറിൽ ഒസ്റ്റാഗ്രാം സമാരംഭിച്ചിട്ടുണ്ടെങ്കിലും, ഏപ്രിൽ പകുതിയോടെ സോഷ്യൽ നെറ്റ്‌വർക്കുകളിൽ ഇത് പെട്ടെന്ന് ജനപ്രീതി നേടാൻ തുടങ്ങി. അതേ സമയം, ഏപ്രിൽ 19 വരെ, VKontakte-ലെ പദ്ധതിയിൽ ആയിരത്തിൽ താഴെ ആളുകൾ മാത്രമേ ഉണ്ടായിരുന്നുള്ളൂ.

സേവനം ഉപയോഗിക്കുന്നതിന്, നിങ്ങൾ രണ്ട് ചിത്രങ്ങൾ തയ്യാറാക്കേണ്ടതുണ്ട്: പ്രോസസ്സ് ചെയ്യേണ്ട ഒരു ഫോട്ടോ, യഥാർത്ഥ ചിത്രത്തിൽ ഓവർലേ ചെയ്യുന്നതിനുള്ള ഒരു ശൈലിയുടെ ഉദാഹരണമുള്ള ഒരു ചിത്രം.

സേവനത്തിന് ഒരു സൌജന്യ പതിപ്പുണ്ട്: ചിത്രത്തിന്റെ ഏറ്റവും നീളം കൂടിയ വശത്ത് 600 പിക്സലുകൾ വരെ കുറഞ്ഞ റെസല്യൂഷനിൽ ഇത് ഒരു ചിത്രം സൃഷ്ടിക്കുന്നു. ഫോട്ടോയിൽ ഫിൽട്ടർ പ്രയോഗിക്കുന്നതിന്റെ ഒരു ആവർത്തനത്തിന്റെ ഫലം മാത്രമേ ഉപയോക്താവിന് ലഭിക്കൂ.

പണമടച്ചുള്ള രണ്ട് പതിപ്പുകളുണ്ട്: പ്രീമിയം ഏറ്റവും ദൈർഘ്യമേറിയ വശത്ത് 700 പിക്സലുകൾ വരെ ഒരു ഇമേജ് നിർമ്മിക്കുകയും ചിത്രത്തിലേക്ക് ന്യൂറൽ നെറ്റ്‌വർക്ക് പ്രോസസ്സിംഗിന്റെ 600 ആവർത്തനങ്ങൾ പ്രയോഗിക്കുകയും ചെയ്യുന്നു (കൂടുതൽ ആവർത്തനങ്ങൾ, കൂടുതൽ രസകരവും തീവ്രവുമായ പ്രോസസ്സിംഗ്). അത്തരമൊരു ചിത്രത്തിന് 50 റൂബിൾസ് വിലവരും.

എച്ച്ഡി പതിപ്പിൽ, നിങ്ങൾക്ക് ആവർത്തനങ്ങളുടെ എണ്ണം ക്രമീകരിക്കാൻ കഴിയും: 100 ന് 50 റൂബിൾസ്, 1000 - 250 റൂബിൾസ്. ഈ സാഹചര്യത്തിൽ, ചിത്രത്തിന് ഏറ്റവും ദൈർഘ്യമേറിയ വശത്ത് 1200 പിക്സലുകൾ വരെ റെസല്യൂഷൻ ഉണ്ടായിരിക്കും, ക്യാൻവാസിൽ അച്ചടിക്കാൻ ഇത് ഉപയോഗിക്കാം: 1800 റൂബിളിൽ നിന്ന് ഡെലിവറിയോടെ ഓസ്റ്റാഗ്രാം ഈ സേവനം വാഗ്ദാനം ചെയ്യുന്നു.

ഫെബ്രുവരിയിൽ, "വികസിത മുതലാളിത്തമുള്ള രാജ്യങ്ങളിൽ നിന്നുള്ള" ഉപയോക്താക്കളിൽ നിന്നുള്ള ഇമേജ് പ്രോസസ്സിംഗിനുള്ള അഭ്യർത്ഥനകൾ Ostagram-ന്റെ പ്രതിനിധികൾ സ്വീകരിക്കില്ല, എന്നാൽ ലോകമെമ്പാടുമുള്ള VKontakte ഉപയോക്താക്കൾക്കായി ഫോട്ടോ പ്രോസസ്സിംഗിലേക്കുള്ള പ്രവേശനം. GitHub-ൽ പ്രസിദ്ധീകരിച്ച Ostagram കോഡ് വിലയിരുത്തിയാൽ, ഇത് വികസിപ്പിച്ചെടുത്തത് നിസ്നി നോവ്ഗൊറോഡിലെ 30 കാരനായ സെർജി മൊറൂഗിൻ ആണ്.

ടി.ജെ ബന്ധപ്പെട്ടു വാണിജ്യ സംവിധായകൻആൻഡ്രി അവതരിപ്പിച്ച പദ്ധതി. അദ്ദേഹത്തിന്റെ അഭിപ്രായത്തിൽ, ഓസ്‌റ്റാഗ്രാം ഇൻസ്റ്റാപെയിന്റിംഗിന് മുമ്പായി പ്രത്യക്ഷപ്പെട്ടു, പക്ഷേ വിപാർട്ട് എന്ന സമാനമായ പ്രോജക്റ്റിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടിരുന്നു.

എൻഎൻഎസ്ടിയുവിൽ നിന്നുള്ള ഒരു കൂട്ടം വിദ്യാർത്ഥികളാണ് ഒസ്റ്റാഗ്രാം വികസിപ്പിച്ചെടുത്തത്. അലക്സീവ: 2015 അവസാനത്തോടെ ഒരു ഇടുങ്ങിയ ചങ്ങാതിക്കൂട്ടത്തെക്കുറിച്ചുള്ള പ്രാഥമിക പരിശോധനയ്ക്ക് ശേഷം, അവർ പദ്ധതി പരസ്യമാക്കാൻ തീരുമാനിച്ചു. തുടക്കത്തിൽ, ഇമേജ് പ്രോസസ്സിംഗ് പൂർണ്ണമായും സൌജന്യമായിരുന്നു, അച്ചടിച്ച പെയിന്റിംഗുകൾ വിറ്റ് പണം സമ്പാദിക്കാൻ പദ്ധതിയിട്ടിരുന്നു. ആൻഡ്രിയുടെ അഭിപ്രായത്തിൽ, പ്രിന്റിംഗ് ഏറ്റവും വലിയ പ്രശ്നമായി മാറി: ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് പ്രോസസ്സ് ചെയ്യുന്ന ആളുകളുടെ ഫോട്ടോകൾ മനുഷ്യന്റെ കണ്ണിന് വളരെ അപൂർവമായി മാത്രമേ കാണാനാകൂ, കൂടാതെ അന്തിമ ക്ലയന്റ് ക്യാൻവാസിൽ പ്രയോഗിക്കുന്നതിന് മുമ്പ് ഫലം വളരെക്കാലം ക്രമീകരിക്കേണ്ടതുണ്ട്. ധാരാളം മെഷീൻ വിഭവങ്ങൾ ആവശ്യമാണ്.

ഇമേജ് പ്രോസസ്സിംഗിനായി, ഓസ്‌റ്റാഗ്രാമിന്റെ സ്രഷ്‌ടാക്കൾ ആമസോൺ ക്ലൗഡ് സെർവറുകൾ ഉപയോഗിക്കാൻ ആഗ്രഹിച്ചു, എന്നാൽ ഉപയോക്താക്കളുടെ കുത്തൊഴുക്കിനുശേഷം, നിക്ഷേപത്തിന്റെ കുറഞ്ഞ വരുമാനത്തോടെ അവയുടെ വില പ്രതിദിനം ആയിരം ഡോളർ കവിയുമെന്ന് വ്യക്തമായി. പദ്ധതിയുടെ നിക്ഷേപകൻ കൂടിയായ ആൻഡ്രി നിസ്നി നോവ്ഗൊറോഡിൽ സെർവർ സൗകര്യങ്ങൾ വാടകയ്‌ക്കെടുത്തു.

പ്രോജക്റ്റിന്റെ പ്രേക്ഷകർ ഒരു ദിവസം ഏകദേശം ആയിരം ആളുകളാണ്, എന്നാൽ ചില ദിവസങ്ങളിൽ ഇത് വിദേശ മാധ്യമങ്ങളിൽ നിന്നുള്ള പരിവർത്തനങ്ങൾ കാരണം 40 ആയിരം ആളുകളിൽ എത്തി, അത് ആഭ്യന്തര മാധ്യമങ്ങൾക്ക് മുമ്പ് പ്രോജക്റ്റ് ശ്രദ്ധിച്ചിരുന്നു (യൂറോപ്യൻ ഡിജെകളുമായി സഹകരിക്കാൻ പോലും ഒസ്റ്റാഗ്രാമിന് കഴിഞ്ഞു). രാത്രിയിൽ, ട്രാഫിക് കുറവായിരിക്കുമ്പോൾ, ഇമേജ് പ്രോസസ്സിംഗിന് 5 മിനിറ്റ് എടുത്തേക്കാം, പകൽ സമയത്ത് ഒരു മണിക്കൂർ വരെ എടുക്കും.

നേരത്തെ വിദേശ ഉപയോക്താക്കൾ ഇമേജ് പ്രോസസ്സിംഗിലേക്കുള്ള പ്രവേശനം പരിമിതപ്പെടുത്തിയിരുന്നുവെങ്കിൽ (റഷ്യയിൽ നിന്ന് ധനസമ്പാദനം ആരംഭിക്കുമെന്ന് കരുതപ്പെട്ടിരുന്നു), ഇപ്പോൾ ഓസ്റ്റാഗ്രാം ഇതിനകം തന്നെ പാശ്ചാത്യ പ്രേക്ഷകരെ കൂടുതൽ ആശ്രയിക്കുന്നു.

ഇന്നുവരെ, തിരിച്ചടവിനുള്ള സാധ്യതകൾ സോപാധികമാണ്. ഓരോ ഉപയോക്താവും പ്രോസസ്സിംഗിനായി 10 റുബിളുകൾ നൽകിയാൽ, ഒരുപക്ഷേ അത് പണം നൽകും. […]

നമ്മുടെ രാജ്യത്ത് ധനസമ്പാദനം നടത്തുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്: ഞങ്ങളുടെ ആളുകൾ ഒരാഴ്ച കാത്തിരിക്കാൻ തയ്യാറാണ്, പക്ഷേ അവർ അതിന് ഒരു പൈസ പോലും നൽകില്ല. യൂറോപ്യന്മാർ ഇതിന് കൂടുതൽ അനുകൂലമാണ് - വേഗത വർദ്ധിപ്പിക്കുന്നതിനും ഗുണനിലവാരം മെച്ചപ്പെടുത്തുന്നതിനും പണം നൽകുന്നതിന്റെ കാര്യത്തിൽ - അതിനാൽ ഓറിയന്റേഷൻ ആ വിപണിയിലേക്ക് പോകുന്നു.

ആൻഡ്രി, ഒസ്റ്റാഗ്രാം പ്രതിനിധി

ആൻഡ്രിയുടെ അഭിപ്രായത്തിൽ, ഒസ്റ്റാഗ്രാം ടീം പ്രവർത്തിക്കുന്നു പുതിയ പതിപ്പ്സോഷ്യലിറ്റിയിൽ ശക്തമായി ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന ഒരു സൈറ്റ്: "ഇത് ഒരു അറിയപ്പെടുന്ന സേവനമായി കാണപ്പെടും, പക്ഷേ എന്തുചെയ്യണം." റഷ്യയിലെ ഫേസ്ബുക്കിന്റെ പ്രതിനിധികൾ ഇതിനകം പദ്ധതിയിൽ താൽപ്പര്യം പ്രകടിപ്പിച്ചിരുന്നു, എന്നാൽ കരാർ ഇതുവരെ വിൽപ്പന സംബന്ധിച്ച ചർച്ചകളിലേക്ക് എത്തിയിട്ടില്ല.

സേവന ജോലിയുടെ ഉദാഹരണങ്ങൾ

ഒസ്‌റ്റാഗ്രാം വെബ്‌സൈറ്റിലെ ഫീഡിൽ, അന്തിമ ഷോട്ടുകളിൽ എന്ത് ചിത്രങ്ങളാണ് സംയോജിപ്പിച്ചതെന്ന് നിങ്ങൾക്ക് കാണാൻ കഴിയും: പലപ്പോഴും ഇത് ഫലത്തേക്കാൾ രസകരമാണ്. അതേ സമയം, ഫിൽട്ടറുകൾ - പ്രോസസ്സിംഗിനായി ഒരു ഇഫക്റ്റായി ഉപയോഗിക്കുന്ന ചിത്രങ്ങൾ - കൂടുതൽ ഉപയോഗത്തിനായി സംരക്ഷിക്കാൻ കഴിയും.

ആശംസകൾ, ഹബർ! തീർച്ചയായും നിങ്ങൾ പലതരത്തിലുള്ള ഫോട്ടോകൾ സ്റ്റൈലിംഗ് തീം ശ്രദ്ധിച്ചു കലാപരമായ ശൈലികൾഇവയിൽ നിങ്ങളുടെ ഇന്റർനെറ്റിൽ സജീവമായി ചർച്ചചെയ്യുന്നു. ഈ ജനപ്രിയ ലേഖനങ്ങളെല്ലാം വായിക്കുമ്പോൾ, ഈ ആപ്ലിക്കേഷനുകളുടെ മറവിൽ മാന്ത്രികത നടക്കുന്നുണ്ടെന്ന് നിങ്ങൾ ചിന്തിച്ചേക്കാം, കൂടാതെ ന്യൂറൽ നെറ്റ്‌വർക്ക് ശരിക്കും ചിത്രം ആദ്യം മുതൽ വീണ്ടും വരയ്ക്കുകയും ചെയ്യുന്നു. ഞങ്ങളുടെ ടീമിന് സമാനമായ ഒരു ടാസ്‌ക് നേരിടേണ്ടി വന്നു: ഒരു ആന്തരിക കോർപ്പറേറ്റ് ഹാക്കത്തോണിന്റെ ഭാഗമായി, ഞങ്ങൾ ഒരു വീഡിയോ സ്റ്റൈലിംഗ് ഉണ്ടാക്കി, കാരണം. ഫോട്ടോകൾക്കായി ഇതിനകം ഒരു ആപ്പ് ഉണ്ടായിരുന്നു. ഈ പോസ്റ്റിൽ, നെറ്റ്‌വർക്ക് ഇമേജുകൾ എങ്ങനെ "വീണ്ടും വരയ്ക്കുന്നു" എന്ന് നോക്കാം, കൂടാതെ അത് സാധ്യമാക്കിയ ലേഖനങ്ങൾ നോക്കാം. ഈ മെറ്റീരിയൽ വായിക്കുന്നതിന് മുമ്പുള്ള അവസാന പോസ്റ്റും പൊതുവെ കൺവല്യൂഷണൽ ന്യൂറൽ നെറ്റ്‌വർക്കുകളുടെ അടിസ്ഥാനകാര്യങ്ങളും നിങ്ങൾ സ്വയം പരിചയപ്പെടാൻ ഞാൻ ശുപാർശ ചെയ്യുന്നു. നിങ്ങൾക്ക് ചില സൂത്രവാക്യങ്ങളും ചില കോഡുകളും (തിനോയിലും ലസാഗ്നിലും ഞാൻ ഉദാഹരണങ്ങൾ നൽകും), കൂടാതെ ധാരാളം ചിത്രങ്ങളും കണ്ടെത്തും. ഈ പോസ്റ്റ് അന്തർനിർമ്മിതമാണ് കാലക്രമംലേഖനങ്ങളുടെ രൂപവും അതിനനുസരിച്ച് ആശയങ്ങളും. ചിലപ്പോൾ ഞങ്ങളുടെ സമീപകാല അനുഭവം കൊണ്ട് ഞാൻ അത് നേർപ്പിക്കും. ഇതാ, നരകത്തിൽ നിന്നുള്ള ഒരു ആൺകുട്ടി ശ്രദ്ധയ്ക്കായി.


കൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകൾ ദൃശ്യവൽക്കരിക്കുകയും മനസ്സിലാക്കുകയും ചെയ്യുക (28 നവംബർ 2013)

ഒന്നാമതായി, ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് ഒരു ബ്ലാക്ക് ബോക്‌സല്ല, മറിച്ച് തികച്ചും വ്യാഖ്യാനിക്കാവുന്ന ഒരു കാര്യമാണെന്ന് രചയിതാക്കൾക്ക് കാണിക്കാൻ കഴിഞ്ഞ ലേഖനം പരാമർശിക്കേണ്ടതാണ് (വഴി, ഇന്ന് ഇത് കമ്പ്യൂട്ടറിനായുള്ള കൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകളെക്കുറിച്ച് മാത്രമല്ല പറയാൻ കഴിയും. ദർശനം). മറഞ്ഞിരിക്കുന്ന പാളി ന്യൂറോണുകളുടെ പ്രവർത്തനങ്ങളെ എങ്ങനെ വ്യാഖ്യാനിക്കാമെന്ന് മനസിലാക്കാൻ രചയിതാക്കൾ തീരുമാനിച്ചു, ഇതിനായി അവർ വർഷങ്ങൾക്ക് മുമ്പ് നിർദ്ദേശിച്ച deconvolutional neural network (deconvnet) ഉപയോഗിച്ചു (വഴി, ഈ പ്രസിദ്ധീകരണത്തിന്റെ രചയിതാക്കളായ അതേ Zeiler ഉം Fergus ഉം. നന്നായി). ഒരു ഡീകോൺവല്യൂഷണൽ നെറ്റ്‌വർക്ക് യഥാർത്ഥത്തിൽ വിപരീത ക്രമത്തിൽ പ്രയോഗിച്ച കോൺവല്യൂഷനുകളും പൂളിംഗുകളുമുള്ള അതേ നെറ്റ്‌വർക്കാണ്. deconvnet-ലെ ഒറിജിനൽ വർക്ക് ഇമേജുകൾ സൃഷ്ടിക്കാൻ മേൽനോട്ടമില്ലാത്ത ലേണിംഗ് മോഡിൽ നെറ്റ്‌വർക്ക് ഉപയോഗിച്ചു. ഇത്തവണ, നെറ്റ്‌വർക്കിലൂടെ ഒരു ഫോർവേഡ് പാസിന് ശേഷം ലഭിച്ച സവിശേഷതകളിൽ നിന്ന് യഥാർത്ഥ ചിത്രത്തിലേക്ക് ഒരു റിവേഴ്സ് പാസിനായി രചയിതാക്കൾ ഇത് ഉപയോഗിച്ചു. ന്യൂറോണുകളിൽ ഈ സജീവമാക്കലിന് കാരണമായ ഒരു സിഗ്നലായി വ്യാഖ്യാനിക്കാവുന്ന ഒരു ചിത്രമാണ് ഫലം. സ്വാഭാവികമായും, ചോദ്യം ഉയർന്നുവരുന്നു: കൺവല്യൂഷനിലൂടെയും രേഖീയതയിലൂടെയും എങ്ങനെ ഒരു റിവേഴ്സ് പാസ് ഉണ്ടാക്കാം? അതിലുപരി മാക്സ് പൂളിംഗ് വഴി, ഇത് തീർച്ചയായും ഒരു വിപരീത പ്രവർത്തനമല്ല. മൂന്ന് ഘടകങ്ങളും നോക്കാം.

റിവേഴ്സ് ReLu

കൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകളിൽ, ആക്ടിവേഷൻ ഫംഗ്ഷൻ പലപ്പോഴും ഉപയോഗിക്കാറുണ്ട് ReLu(x) = പരമാവധി(0, x), ഇത് ലെയറിലെ എല്ലാ ആക്റ്റിവേഷനുകളും നോൺ-നെഗറ്റീവ് ആക്കുന്നു. അതനുസരിച്ച്, നോൺ-ലീനിയറിറ്റിയിലൂടെ തിരികെ കടന്നുപോകുമ്പോൾ, നോൺ-നെഗറ്റീവ് ഫലങ്ങൾ നേടേണ്ടതും ആവശ്യമാണ്. ഇതിനായി, അതേ ReLu ഉപയോഗിക്കാൻ രചയിതാക്കൾ നിർദ്ദേശിക്കുന്നു. Theano ആർക്കിടെക്ചർ വീക്ഷണകോണിൽ നിന്ന്, പ്രവർത്തനത്തിന്റെ ഗ്രേഡിയന്റ് ഫംഗ്‌ഷൻ അസാധുവാക്കേണ്ടത് ആവശ്യമാണ് (അനന്തമായ മൂല്യമുള്ള നോട്ട്ബുക്ക് ലസാഗ്ന പാചകക്കുറിപ്പുകളിൽ ഉണ്ട്, അവിടെ നിന്ന് നിങ്ങൾ മോഡിഫൈഡ് ബാക്ക്‌പ്രോപ്പ് ക്ലാസ് എന്താണെന്നതിന്റെ വിശദാംശങ്ങൾ ശേഖരിക്കും).

Class ZeilerBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = inputs (grd,) = out_grads #return (grd * (grd > 0).astype(inp.dtype),) # വ്യക്തമായി ശരിയാക്കുക റിട്ടേൺ (self.nonlinearity(grd),) # നൽകിയിരിക്കുന്ന രേഖീയത ഉപയോഗിക്കുക

റിവേഴ്സ് കൺവ്യൂഷൻ

ഇവിടെ ഇത് കുറച്ചുകൂടി സങ്കീർണ്ണമാണ്, പക്ഷേ എല്ലാം യുക്തിസഹമാണ്: അതേ കൺവ്യൂഷൻ കേർണലിന്റെ ട്രാൻസ്പോസ് ചെയ്ത പതിപ്പ് പ്രയോഗിക്കാൻ ഇത് മതിയാകും, എന്നാൽ ഫോർവേഡ് പാസിൽ ഉപയോഗിച്ച മുൻ ലെയറിനുപകരം റിവേഴ്സ് റെലുവിൽ നിന്നുള്ള ഔട്ട്പുട്ടുകളിലേക്ക്. എന്നാൽ വാക്കുകളിൽ ഇത് അത്ര വ്യക്തമല്ലെന്ന് ഞാൻ ഭയപ്പെടുന്നു, ഈ നടപടിക്രമത്തിന്റെ ദൃശ്യവൽക്കരണം നമുക്ക് നോക്കാം (ഇതിലും കൂടുതൽ വിഷ്വലൈസേഷനുകൾ നിങ്ങൾ കണ്ടെത്തും).


സ്ട്രൈഡ് ചെയ്യുമ്പോൾ കൺവ്യൂഷൻ=1

സ്ട്രൈഡ് ചെയ്യുമ്പോൾ കൺവ്യൂഷൻ=1 വിപരീത പതിപ്പ്

സ്ട്രൈഡ് ചെയ്യുമ്പോൾ കൺവ്യൂഷൻ=2

സ്ട്രൈഡ് ചെയ്യുമ്പോൾ കൺവ്യൂഷൻ=2 വിപരീത പതിപ്പ്

റിവേഴ്സ് പൂളിംഗ്

ഈ പ്രവർത്തനം (മുമ്പത്തെതിൽ നിന്ന് വ്യത്യസ്തമായി) പൊതുവെ വിപരീതമല്ല. പക്ഷേ, റിവേഴ്‌സ് പാസ് സമയത്ത് ഏതെങ്കിലും വിധത്തിൽ പരമാവധി കടന്നുപോകാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ഇത് ചെയ്യുന്നതിന്, നേരിട്ടുള്ള പാസ് സമയത്ത് (പരമാവധി ലൊക്കേഷൻ സ്വിച്ചുകൾ) പരമാവധി എവിടെയായിരുന്നു എന്നതിന്റെ ഒരു മാപ്പ് ഉപയോഗിക്കാൻ രചയിതാക്കൾ നിർദ്ദേശിക്കുന്നു. റിവേഴ്സ് പാസ് സമയത്ത്, യഥാർത്ഥ സിഗ്നലിന്റെ ഘടനയെ ഏകദേശം സംരക്ഷിക്കുന്ന തരത്തിൽ ഇൻപുട്ട് സിഗ്നൽ അൺപൂളിംഗ് ആയി രൂപാന്തരപ്പെടുന്നു, ഇവിടെ വിവരിക്കുന്നതിനേക്കാൾ കാണാൻ എളുപ്പമാണ്.



ഫലമായി

ദൃശ്യവൽക്കരണ അൽഗോരിതം വളരെ ലളിതമാണ്:

  1. ഒരു നേരായ പാസ് ഉണ്ടാക്കുക.
  2. ഞങ്ങൾക്ക് താൽപ്പര്യമുള്ള ലെയർ തിരഞ്ഞെടുക്കുക.
  3. ഒന്നോ അതിലധികമോ ന്യൂറോണുകളുടെ സജീവമാക്കൽ പരിഹരിച്ച് ബാക്കിയുള്ളവ പുനഃസജ്ജമാക്കുക.
  4. ഒരു അനുമാനം ഉണ്ടാക്കുക.

ചുവടെയുള്ള ചിത്രത്തിലെ ഓരോ ചാരനിറത്തിലുള്ള ചതുരവും ഒരു ഫിൽട്ടറിന്റെ ദൃശ്യവൽക്കരണവുമായി യോജിക്കുന്നു (ഇത് കൺവല്യൂഷനു വേണ്ടി പ്രയോഗിക്കുന്നു) അല്ലെങ്കിൽ ഒരൊറ്റ ന്യൂറോണിന്റെ ഭാരവും, ഓരോന്നിനും വർണ്ണ ചിത്രംയഥാർത്ഥ ചിത്രത്തിന്റെ അനുബന്ധ ന്യൂറോണിനെ സജീവമാക്കുന്ന ഭാഗമാണ്. വ്യക്തതയ്ക്കായി, ഒരു ലെയറിനുള്ളിലെ ന്യൂറോണുകളെ ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു തീമാറ്റിക് ഗ്രൂപ്പുകൾ. പൊതുവേ, വിഷ്വൽ സിസ്റ്റത്തിന്റെ ഘടനയെക്കുറിച്ചുള്ള അവരുടെ പ്രവർത്തനത്തിൽ ഹ്യൂബെലും വീസലും എഴുതിയത് ന്യൂറൽ നെറ്റ്‌വർക്ക് കൃത്യമായി പഠിക്കുന്നുവെന്ന് പെട്ടെന്ന് മനസ്സിലായി, അതിനായി അവർക്ക് അവാർഡ് ലഭിച്ചു. നോബൽ സമ്മാനം 1981-ൽ. ഈ ലേഖനത്തിന് നന്ദി, ഓരോ ലെയറിലും ഒരു കൺവല്യൂഷണൽ ന്യൂറൽ നെറ്റ്‌വർക്ക് എന്താണ് പഠിക്കുന്നത് എന്നതിന്റെ ഒരു വിഷ്വൽ പ്രാതിനിധ്യം ഞങ്ങൾക്ക് ലഭിച്ചു. ഈ അറിവാണ് പിന്നീട് സൃഷ്ടിച്ച ചിത്രത്തിന്റെ ഉള്ളടക്കം കൈകാര്യം ചെയ്യാൻ അനുവദിക്കുന്നത്, പക്ഷേ ഇത് ഇപ്പോഴും വളരെ അകലെയാണ്, അടുത്ത കുറച്ച് വർഷങ്ങൾ ന്യൂറൽ നെറ്റ്‌വർക്കുകളുടെ "ട്രെപാനേഷൻ" രീതികൾ മെച്ചപ്പെടുത്തുന്നതിലേക്ക് പോയി. കൂടാതെ, ഒരു കൺവല്യൂഷണൽ ന്യൂറൽ നെറ്റ്‌വർക്കിന്റെ ആർക്കിടെക്ചർ എങ്ങനെ മികച്ച രീതിയിൽ നിർമ്മിക്കാമെന്ന് വിശകലനം ചെയ്യുന്നതിനുള്ള ഒരു മാർഗം ലേഖനത്തിന്റെ രചയിതാക്കൾ നിർദ്ദേശിച്ചു. മികച്ച ഫലങ്ങൾ(എന്നിരുന്നാലും, അവർ ഇമേജ്നെറ്റ് 2013 വിജയിച്ചില്ല, പക്ഷേ മുകളിൽ എത്തി; UPD: അവർ വിജയിച്ചു, ക്ലാരിഫായിയാണ് അവർ).


ഫീച്ചർ ദൃശ്യവൽക്കരണം


deconvnet ഉപയോഗിച്ച് ആക്റ്റിവേഷനുകളുടെ ദൃശ്യവൽക്കരണത്തിന്റെ ഒരു ഉദാഹരണം ഇതാ, ഇന്ന് ഈ ഫലം ഇതിനകം തന്നെ അങ്ങനെയാണ് കാണപ്പെടുന്നത്, എന്നാൽ പിന്നീട് അത് ഒരു വഴിത്തിരിവായിരുന്നു.


deconvnet ഉപയോഗിക്കുന്ന സാലിയൻസി മാപ്പുകൾ

ഡീപ് ഇൻസൈഡ് കൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകൾ: ഇമേജ് ക്ലാസിഫിക്കേഷൻ മോഡലുകളും സാലിയൻസി മാപ്പുകളും ദൃശ്യവൽക്കരിക്കുന്നു (19 ഏപ്രിൽ 2014)

ഈ ലേഖനം ഒരു കൺവല്യൂഷണൽ ന്യൂറൽ നെറ്റ്‌വർക്കിൽ അടങ്ങിയിരിക്കുന്ന വിജ്ഞാന ദൃശ്യവൽക്കരണ രീതികളെക്കുറിച്ചുള്ള പഠനത്തിനായി നീക്കിവച്ചിരിക്കുന്നു. ഗ്രേഡിയന്റ് ഡിസെന്റ് അടിസ്ഥാനമാക്കി രചയിതാക്കൾ രണ്ട് ദൃശ്യവൽക്കരണ രീതികൾ നിർദ്ദേശിക്കുന്നു.

ക്ലാസ് മോഡൽ ദൃശ്യവൽക്കരണം

അതിനാൽ, ഒരു നിശ്ചിത എണ്ണം ക്ലാസുകളായി വർഗ്ഗീകരണ പ്രശ്നം പരിഹരിക്കാൻ ഞങ്ങൾക്ക് പരിശീലനം ലഭിച്ച ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് ഉണ്ടെന്ന് സങ്കൽപ്പിക്കുക. ക്ലാസുമായി പൊരുത്തപ്പെടുന്ന ഔട്ട്പുട്ട് ന്യൂറോണിന്റെ സജീവമാക്കൽ മൂല്യമായി സൂചിപ്പിക്കുക സി. ഇനിപ്പറയുന്ന ഒപ്റ്റിമൈസേഷൻ പ്രശ്നം തിരഞ്ഞെടുത്ത ക്ലാസ്സിനെ പരമാവധിയാക്കുന്ന ചിത്രം കൃത്യമായി നൽകുന്നു:



Theano ഉപയോഗിച്ച് ഈ ടാസ്ക് പരിഹരിക്കാൻ എളുപ്പമാണ്. സാധാരണയായി മോഡൽ പാരാമീറ്ററുകളുടെ ഡെറിവേറ്റീവ് എടുക്കാൻ ഞങ്ങൾ ചട്ടക്കൂടിനോട് ആവശ്യപ്പെടുന്നു, എന്നാൽ ഇത്തവണ പാരാമീറ്ററുകൾ നിശ്ചയിച്ചിട്ടുണ്ടെന്നും ഇൻപുട്ട് ഇമേജിൽ നിന്ന് ഡെറിവേറ്റീവ് എടുത്തതാണെന്നും ഞങ്ങൾ അനുമാനിക്കുന്നു. ഇനിപ്പറയുന്ന ഫംഗ്‌ഷൻ ഔട്ട്‌പുട്ട് ലെയറിന്റെ പരമാവധി മൂല്യം തിരഞ്ഞെടുക്കുകയും ഇൻപുട്ട് ഇമേജുമായി ബന്ധപ്പെട്ട് ഡെറിവേറ്റീവ് കണക്കാക്കുന്ന ഒരു ഫംഗ്‌ഷൻ നൽകുകയും ചെയ്യുന്നു.


def compile_saliency_function(net): """ ഇൻപുട്ട് ഇമേജുകളുടെ ഒരു നിശ്ചിത മിനിബാച്ചിനായി സാലിയൻസി മാപ്പുകളും പ്രവചിച്ച ക്ലാസുകളും കണക്കാക്കുന്നതിനുള്ള ഒരു ഫംഗ്ഷൻ കംപൈൽ ചെയ്യുന്നു. """ inp = net["input"].input_var outp = lasagne.layers.get_output(net ["fc8"], deterministic=True) max_outp = T.max(outp, axis=1) saliency = theano.grad(max_outp.sum(), wrt=inp) max_class = T.argmax(outp, axis=1) റിട്ടേൺ theano.function(, )

നിങ്ങൾ ഇന്റർനെറ്റിൽ നായ്ക്കളുടെ വിചിത്ര ചിത്രങ്ങൾ കണ്ടിരിക്കാം - ഡീപ്ഡ്രീം. യഥാർത്ഥ ലേഖനത്തിൽ, രചയിതാക്കൾ ഉപയോഗിക്കുന്നു അടുത്ത പ്രക്രിയതിരഞ്ഞെടുത്ത ക്ലാസ് പരമാവധി വർദ്ധിപ്പിക്കുന്ന ചിത്രങ്ങൾ സൃഷ്ടിക്കാൻ:

  1. പൂജ്യങ്ങൾ ഉപയോഗിച്ച് പ്രാരംഭ ചിത്രം ആരംഭിക്കുക.
  2. ഈ ചിത്രത്തിൽ നിന്ന് ഡെറിവേറ്റീവിന്റെ മൂല്യം കണക്കാക്കുക.
  3. ഡെറിവേറ്റീവിൽ നിന്ന് ലഭിക്കുന്ന ചിത്രം ചേർത്ത് ചിത്രം മാറ്റുക.
  4. ഘട്ടം 2-ലേക്ക് മടങ്ങുക അല്ലെങ്കിൽ ലൂപ്പിൽ നിന്ന് പുറത്തുകടക്കുക.

തത്ഫലമായുണ്ടാകുന്ന ചിത്രങ്ങൾ ഇവയാണ്:




എന്നാൽ നിങ്ങൾ ഒരു യഥാർത്ഥ ഫോട്ടോ ഉപയോഗിച്ച് ആദ്യ ചിത്രം ആരംഭിക്കുകയും അതേ പ്രക്രിയ ആരംഭിക്കുകയും ചെയ്താലോ? എന്നാൽ ഓരോ ആവർത്തനത്തിലും ഞങ്ങൾ ഒരു റാൻഡം ക്ലാസ് തിരഞ്ഞെടുക്കും, ബാക്കിയുള്ളവ പൂജ്യമായി സജ്ജീകരിക്കുകയും ഡെറിവേറ്റീവിന്റെ മൂല്യം കണക്കാക്കുകയും ചെയ്യും, അപ്പോൾ നമുക്ക് അത്തരമൊരു ആഴത്തിലുള്ള സ്വപ്നം ലഭിക്കും.


ജാഗ്രത 60 എംബി


എന്തുകൊണ്ടാണ് നായയുടെ മുഖങ്ങളും കണ്ണുകളും ഇത്രയധികം ഉള്ളത്? ഇത് വളരെ ലളിതമാണ്: 1000 ക്ലാസുകളിൽ നിന്ന് ഇമേജ് നെറ്റിൽ ഏകദേശം 200 നായ്ക്കൾ ഉണ്ട്, അവർക്ക് കണ്ണുകളുണ്ട്. കൂടാതെ ആളുകൾ മാത്രമുള്ള ധാരാളം ക്ലാസുകളും.

ക്ലാസ് സാലിയൻസി എക്സ്ട്രാക്ഷൻ

ഈ പ്രക്രിയ ഒരു യഥാർത്ഥ ഫോട്ടോ ഉപയോഗിച്ച് ആരംഭിക്കുകയും, ആദ്യ ആവർത്തനത്തിന് ശേഷം നിർത്തുകയും ഡെറിവേറ്റീവിന്റെ മൂല്യം വരയ്ക്കുകയും ചെയ്താൽ, നമുക്ക് അത്തരമൊരു ചിത്രം ലഭിക്കും, അത് ഒറിജിനൽ ഒന്നിലേക്ക് ചേർത്ത്, തിരഞ്ഞെടുത്ത ക്ലാസിന്റെ സജീവമാക്കൽ മൂല്യം വർദ്ധിപ്പിക്കും.


ഡെറിവേറ്റീവ് ഉപയോഗിക്കുന്ന സാലിയൻസി മാപ്പുകൾ


വീണ്ടും, ഫലം "അങ്ങനെ". ഇത് ശ്രദ്ധിക്കേണ്ടതാണ് പുതിയ വഴിആക്ടിവേഷനുകളുടെ ദൃശ്യവൽക്കരണം (അവസാന ലെയറിലല്ല, പൊതുവെ നെറ്റ്‌വർക്കിന്റെ ഏതെങ്കിലും ലെയറിലും ഇൻപുട്ട് ഇമേജുമായി ബന്ധപ്പെട്ട് ഡെറിവേറ്റീവ് എടുക്കുന്നതിൽ നിന്നും ആക്റ്റിവേഷനുകളുടെ മൂല്യങ്ങൾ ഉറപ്പിക്കുന്നതിൽ നിന്ന് ഞങ്ങളെ തടയുന്നില്ല). അടുത്ത ലേഖനം മുമ്പത്തെ രണ്ട് സമീപനങ്ങളും സംയോജിപ്പിച്ച് സ്റ്റൈൽ ട്രാൻസ്ഫർ എങ്ങനെ സജ്ജീകരിക്കാം എന്നതിനെക്കുറിച്ചുള്ള ഒരു ഉപകരണം ഞങ്ങൾക്ക് നൽകും, അത് പിന്നീട് വിവരിക്കും.

ലാളിത്യത്തിനായി പരിശ്രമിക്കുന്നു: ദി ഓൾ കൺവല്യൂഷണൽ നെറ്റ് (13 ഏപ്രിൽ 2015)

ഈ ലേഖനം പൊതുവെ വിഷ്വലൈസേഷനെക്കുറിച്ചല്ല, മറിച്ച് പൂളിംഗ് മാറ്റി ഒരു വലിയ മുന്നേറ്റത്തോടെ ഒരു കൺവ്യൂഷൻ ഉപയോഗിച്ച് ഗുണമേന്മ നഷ്ടപ്പെടാൻ ഇടയാക്കില്ല എന്ന വസ്തുതയെക്കുറിച്ചാണ്. എന്നാൽ അവരുടെ ഗവേഷണത്തിന്റെ ഒരു ഉപോൽപ്പന്നമെന്ന നിലയിൽ, രചയിതാക്കൾ സവിശേഷതകൾ ദൃശ്യവൽക്കരിക്കുന്നതിനുള്ള ഒരു പുതിയ മാർഗം നിർദ്ദേശിച്ചു, അത് മോഡൽ പഠിക്കുന്ന കാര്യങ്ങൾ കൂടുതൽ കൃത്യമായി വിശകലനം ചെയ്യാൻ അവർ പ്രയോഗിച്ചു. അവരുടെ ആശയം ഇപ്രകാരമാണ്: നമ്മൾ ഡെറിവേറ്റീവ് എടുക്കുകയാണെങ്കിൽ, ഇൻപുട്ട് ഇമേജിൽ പൂജ്യത്തേക്കാൾ കുറവായിരുന്ന സവിശേഷതകൾ ഡീകോൺവല്യൂഷൻ സമയത്ത് തിരികെ പോകില്ല (ഇൻപുട്ട് ഇമേജിനായി ReLu ഉപയോഗിക്കുന്നത്). ഇത് പ്രചരിപ്പിച്ച പിൻ ചിത്രത്തിൽ നെഗറ്റീവ് മൂല്യങ്ങൾ പ്രത്യക്ഷപ്പെടുന്നു എന്ന വസ്തുതയിലേക്ക് നയിക്കുന്നു. മറുവശത്ത്, നിങ്ങൾ deconvnet ഉപയോഗിക്കുകയാണെങ്കിൽ, ReLu-ന്റെ ഡെറിവേറ്റീവിൽ നിന്ന് മറ്റൊരു ReLu എടുക്കുന്നു - ഇത് നെഗറ്റീവ് മൂല്യങ്ങൾ ഒഴിവാക്കാതിരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു, എന്നാൽ നിങ്ങൾ കണ്ടതുപോലെ, ഫലം "അങ്ങനെയാണ്". എന്നാൽ ഈ രണ്ട് രീതികളും ഒന്നിച്ചാലോ?




class GuidedBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = inputs (grd,) = out_grads dtype = inp.dtype return (grd * (inp > 0).astype(dtype) * (grd > 0).astype(dtype),)

അപ്പോൾ നിങ്ങൾക്ക് പൂർണ്ണമായും ശുദ്ധവും വ്യാഖ്യാനിക്കാവുന്നതുമായ ഒരു ചിത്രം ലഭിക്കും.


ഗൈഡഡ് ബാക്ക്‌പ്രൊപഗേഷൻ ഉപയോഗിക്കുന്ന സാലിയൻസി മാപ്പുകൾ

കൂടുതൽ ആഴത്തിൽ പോകുക

ഇനി നമുക്ക് ചിന്തിക്കാം, ഇത് നമുക്ക് എന്താണ് നൽകുന്നത്? ഓരോ കൺവല്യൂഷണൽ ലെയറും ഒരു ത്രിമാന ടെൻസർ ഒരു ഇൻപുട്ടായി സ്വീകരിക്കുകയും ഒരു ത്രിമാന ടെൻസർ ഒരു ഔട്ട്‌പുട്ടായി ഉൽപ്പാദിപ്പിക്കുകയും ചെയ്യുന്ന ഒരു ഫംഗ്‌ഷനാണെന്ന് ഞാൻ നിങ്ങളെ ഓർമ്മിപ്പിക്കട്ടെ, ഒരുപക്ഷേ മറ്റൊരു മാനത്തിന്റെ ഡി x w x എച്ച്; ഡി epth എന്നത് ലെയറിലെ ന്യൂറോണുകളുടെ എണ്ണമാണ്, അവ ഓരോന്നും വലുപ്പത്തിനൊപ്പം ഒരു സവിശേഷത മാപ്പ് സൃഷ്ടിക്കുന്നു w igth x എച്ച്എട്ട്.


VGG-19 നെറ്റ്‌വർക്കിൽ ഇനിപ്പറയുന്ന പരീക്ഷണം പരീക്ഷിക്കാം:



conv1_2

അതെ, നിങ്ങൾ മിക്കവാറും ഒന്നും കാണുന്നില്ല, കാരണം. റിസപ്റ്റീവ് ഏരിയ വളരെ ചെറുതാണ്, ഇത് യഥാക്രമം രണ്ടാമത്തെ കൺവ്യൂഷൻ 3x3 ആണ്, മൊത്തം വിസ്തീർണ്ണം 5x5 ആണ്. എന്നാൽ സൂം ഇൻ ചെയ്യുമ്പോൾ, സവിശേഷത ഒരു ഗ്രേഡിയന്റ് ഡിറ്റക്ടർ മാത്രമാണെന്ന് ഞങ്ങൾ കാണുന്നു.




conv3_3


conv4_3


conv5_3


കുളം5


പ്ലേറ്റിനു മുകളിലുള്ള പരമാവധി എന്നതിനുപകരം, ഇൻപുട്ട് ഇമേജിന് മുകളിൽ പ്ലേറ്റിന്റെ എല്ലാ ഘടകങ്ങളുടെയും ആകെത്തുകയുടെ മൂല്യത്തിന്റെ ഡെറിവേറ്റീവ് ഞങ്ങൾ എടുക്കുമെന്ന് ഇപ്പോൾ സങ്കൽപ്പിക്കുക. അപ്പോൾ വ്യക്തമായും ന്യൂറോണുകളുടെ ഗ്രൂപ്പിന്റെ സ്വീകാര്യമായ പ്രദേശം മുഴുവൻ ഇൻപുട്ട് ഇമേജും ഉൾക്കൊള്ളും. ആദ്യകാല ലെയറുകൾക്ക്, ഞങ്ങൾ തെളിച്ചമുള്ള ഭൂപടങ്ങൾ കാണും, അവയിൽ നിന്ന് ഇവ കളർ ഡിറ്റക്ടറുകൾ, പിന്നീട് ഗ്രേഡിയന്റുകൾ, പിന്നെ ബോർഡറുകൾ, അങ്ങനെ കൂടുതൽ സങ്കീർണ്ണമായ പാറ്റേണുകളാണെന്ന് അനുമാനിക്കുന്നു. ആഴത്തിലുള്ള പാളി, മങ്ങിയ ചിത്രം ലഭിക്കും. ആഴത്തിലുള്ള പാളികൾക്ക് അവ കണ്ടെത്തുന്ന കൂടുതൽ സങ്കീർണ്ണമായ പാറ്റേൺ ഉണ്ടെന്നും സങ്കീർണ്ണമായ ഒരു പാറ്റേൺ ലളിതത്തേക്കാൾ കുറച്ച് തവണ മാത്രമേ ദൃശ്യമാകൂ, അതിനാൽ ആക്റ്റിവേഷൻ മാപ്പ് മങ്ങുന്നുവെന്നും ഇത് വിശദീകരിക്കുന്നു. സങ്കീർണ്ണമായ പാറ്റേണുകളുള്ള ലെയറുകൾ മനസിലാക്കാൻ ആദ്യ മാർഗം അനുയോജ്യമാണ്, രണ്ടാമത്തേത് ലളിതമായവയ്ക്ക് അനുയോജ്യമാണ്.


conv1_1


conv2_2


conv4_3


നിങ്ങൾക്ക് നിരവധി ഇമേജുകൾക്കും .

ആർട്ടിസ്റ്റിക് ശൈലിയുടെ ഒരു ന്യൂറൽ അൽഗോരിതം (2 സെപ്തംബർ 2015)

അതിനാൽ, ന്യൂറൽ നെറ്റ്‌വർക്കിന്റെ ആദ്യത്തെ വിജയകരമായ ട്രെപാനേഷൻ കഴിഞ്ഞ് കുറച്ച് വർഷങ്ങൾ കടന്നുപോയി. നമ്മുടെ (മനുഷ്യത്വത്തിന്റെ അർത്ഥത്തിൽ) നമ്മുടെ കൈകളിൽ ഒരു ശക്തമായ ഉപകരണം ഉണ്ട്, അത് ന്യൂറൽ നെറ്റ്‌വർക്ക് എന്താണ് പഠിക്കുന്നതെന്ന് മനസിലാക്കാനും അതുപോലെ തന്നെ നമ്മൾ പഠിക്കാൻ ഇഷ്ടപ്പെടാത്തത് നീക്കംചെയ്യാനും അനുവദിക്കുന്നു. ഈ ലേഖനത്തിന്റെ രചയിതാക്കൾ ഒരു ഇമേജ് ചില ടാർഗെറ്റ് ഇമേജുകൾക്ക് സമാനമായ ആക്റ്റിവേഷൻ മാപ്പ് സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു രീതി വികസിപ്പിച്ചെടുക്കുന്നു, ഒരുപക്ഷേ ഒന്നിൽ കൂടുതൽ - ഇതാണ് സ്റ്റൈലിംഗിന്റെ അടിസ്ഥാനം. ഞങ്ങൾ ഇൻപുട്ടിലേക്ക് വൈറ്റ് നോയ്‌സ് നൽകുന്നു, ആഴത്തിലുള്ള സ്വപ്നത്തിലെന്നപോലെ സമാനമായ ആവർത്തന പ്രക്രിയയിൽ, ഫീച്ചർ മാപ്പുകൾ ടാർഗെറ്റ് ചിത്രത്തിന് സമാനമായ ഒന്നിലേക്ക് ഞങ്ങൾ ഈ ചിത്രം കൊണ്ടുവരുന്നു.

ഉള്ളടക്ക നഷ്ടം

ഇതിനകം സൂചിപ്പിച്ചതുപോലെ, ന്യൂറൽ നെറ്റ്‌വർക്കിന്റെ ഓരോ പാളിയും ചില അളവുകളുടെ ഒരു ത്രിമാന ടെൻസർ ഉത്പാദിപ്പിക്കുന്നു.




ഔട്ട്പുട്ട് സൂചിപ്പിക്കാം ഇൻപുട്ടിൽ നിന്ന് th ലെയർ ആയി. ഇൻപുട്ട് ഇമേജിന് ഇടയിലുള്ള അവശിഷ്ടങ്ങളുടെ വെയ്റ്റഡ് തുക ഞങ്ങൾ ചെറുതാക്കിയാൽ നമ്മൾ ആഗ്രഹിക്കുന്ന ചില ചിത്രങ്ങളും സി, അപ്പോൾ നിങ്ങൾക്ക് ആവശ്യമുള്ളത് കൃത്യമായി ലഭിക്കും. ഒരുപക്ഷേ.



ഈ ലേഖനം പരീക്ഷിക്കുന്നതിന്, നിങ്ങൾക്ക് ഈ മാന്ത്രിക ലാപ്‌ടോപ്പ് ഉപയോഗിക്കാം, അവിടെ കണക്കുകൂട്ടലുകൾ നടക്കുന്നു (ജിപിയുവിലും സിപിയുവിലും). ന്യൂറൽ നെറ്റ്‌വർക്കിന്റെ സവിശേഷതകളും ചെലവ് പ്രവർത്തനത്തിന്റെ മൂല്യവും കണക്കാക്കാൻ GPU ഉപയോഗിക്കുന്നു. ഒബ്ജക്റ്റീവ് ഫംഗ്‌ഷന്റെ ഗ്രേഡിയന്റ് കണക്കാക്കാൻ കഴിയുന്ന ഒരു ഫംഗ്‌ഷൻ Theano ഉത്പാദിപ്പിക്കുന്നു eval_gradഇൻപുട്ട് ഇമേജ് വഴി x. ഇത് പിന്നീട് lbfgs-ലേക്ക് നൽകുകയും ആവർത്തന പ്രക്രിയ ആരംഭിക്കുകയും ചെയ്യുന്നു.


# ഒരു നോയിസ് ഇമേജ് ജനറേറ്റഡ്_ഇമേജ്.സെറ്റ്_വാല്യൂ(floatX(np.random.uniform(-128, 128, (1, 3, IMAGE_W, IMAGE_W)))) x0 = ജനറേറ്റഡ്_ഇമേജ്.ഗെറ്റ്_വാല്യൂ().astype("float64") xs ഉപയോഗിച്ച് ആരംഭിക്കുക = xs.append(x0) # ഒപ്റ്റിമൈസ് ചെയ്യുക, i എന്ന ശ്രേണിയിൽ (8) ഫലം ഇടയ്ക്കിടെ സംരക്ഷിക്കുന്നു: print(i) scipy.optimize.fmin_l_bfgs_b(eval_loss, x0.flatten(), fprime=eval_grad, maxfun=40) x0 = generated_image.get_value().astype("float64") xs.append(x0)

അത്തരമൊരു ഫംഗ്‌ഷന്റെ ഒപ്റ്റിമൈസേഷൻ ഞങ്ങൾ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, ടാർഗെറ്റിനു സമാനമായ ഒരു ഇമേജ് നമുക്ക് വേഗത്തിൽ ലഭിക്കും. ചില ഉള്ളടക്ക ചിത്രം പോലെ തോന്നിക്കുന്ന വൈറ്റ് നോയ്‌സിൽ നിന്ന് ഇപ്പോൾ നമുക്ക് ചിത്രങ്ങൾ പുനഃസൃഷ്ടിക്കാം.


ഉള്ളടക്ക നഷ്ടം: conv4_2



ഒപ്റ്റിമൈസേഷൻ പ്രക്രിയ




തത്ഫലമായുണ്ടാകുന്ന ചിത്രത്തിന്റെ രണ്ട് സവിശേഷതകൾ ശ്രദ്ധിക്കുന്നത് എളുപ്പമാണ്:

  • നഷ്ടപ്പെട്ട നിറങ്ങൾ - ഇത് ഇൻ എന്ന വസ്തുതയുടെ ഫലമാണ് നിർദ്ദിഷ്ട ഉദാഹരണം conv4_2 ലെയർ മാത്രമാണ് ഉപയോഗിച്ചത് (അല്ലെങ്കിൽ, മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഭാരം w അതിന് പൂജ്യമല്ല, മറ്റ് ലെയറുകൾക്ക് പൂജ്യം); നിങ്ങൾ ഓർക്കുന്നതുപോലെ, നിറങ്ങളെയും ഗ്രേഡിയന്റ് സംക്രമണങ്ങളെയും കുറിച്ചുള്ള വിവരങ്ങൾ ഉൾക്കൊള്ളുന്ന ആദ്യ പാളികളാണ്, പിന്നീടുള്ളവയിൽ വലിയ വിശദാംശങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു, അതാണ് ഞങ്ങൾ നിരീക്ഷിക്കുന്നത് - നിറങ്ങൾ നഷ്ടപ്പെട്ടു, പക്ഷേ ഉള്ളടക്കം അങ്ങനെയല്ല;
  • ചില വീടുകൾ "നമുക്ക് പോകാം", അതായത്. നേർരേഖകൾ ചെറുതായി വളഞ്ഞതാണ് - കാരണം ആഴത്തിലുള്ള പാളി, അതിൽ അടങ്ങിയിരിക്കുന്ന സവിശേഷതയുടെ സ്പേഷ്യൽ സ്ഥാനത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ കുറവാണ് (കൺവല്യൂഷനുകളും പൂളിംഗുകളും പ്രയോഗിക്കുന്നതിന്റെ ഫലം).

ആദ്യകാല പാളികൾ ചേർക്കുന്നത് ഉടൻ തന്നെ നിറങ്ങൾ ഉപയോഗിച്ച് സാഹചര്യം ശരിയാക്കുന്നു.


ഉള്ളടക്ക നഷ്ടം: conv1_1, conv2_1, conv4_2


വൈറ്റ് നോയ്‌സ് ഇമേജിലേക്ക് വീണ്ടും വരയ്ക്കുന്ന കാര്യങ്ങളിൽ നിങ്ങൾക്ക് നിയന്ത്രണമുണ്ടെന്ന തോന്നൽ ഇപ്പോൾ നിങ്ങൾക്ക് ലഭിച്ചിട്ടുണ്ടെന്ന് പ്രതീക്ഷിക്കുന്നു.

ശൈലി നഷ്ടം

ഇപ്പോൾ ഞങ്ങൾ ഏറ്റവും രസകരമായി എത്തി: നമുക്ക് എങ്ങനെ ശൈലി അറിയിക്കാം? എന്താണ് ശൈലി? വ്യക്തമായും, ഉള്ളടക്ക നഷ്ടത്തിൽ ഞങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്തത് ശൈലിയല്ല, കാരണം അതിൽ ഫീച്ചറുകളുടെ സ്പേഷ്യൽ സ്ഥാനങ്ങളെക്കുറിച്ചുള്ള ധാരാളം വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. അതിനാൽ ആദ്യം ചെയ്യേണ്ടത് ഓരോ ലെയറിലും ലഭിക്കുന്ന കാഴ്ചകളിൽ നിന്ന് എങ്ങനെയെങ്കിലും ഈ വിവരങ്ങൾ നീക്കം ചെയ്യുക എന്നതാണ്.


രചയിതാവ് ഇനിപ്പറയുന്ന രീതി നിർദ്ദേശിക്കുന്നു. നമുക്ക് ചില ലെയറിന്റെ ഔട്ട്പുട്ടിൽ ടെൻസർ എടുക്കാം, അത് സ്പേഷ്യൽ കോർഡിനേറ്റുകളിൽ വികസിപ്പിക്കുകയും പ്ലേറ്റുകൾക്കിടയിലുള്ള കോവേരിയൻസ് മാട്രിക്സ് കണക്കാക്കുകയും ചെയ്യാം. ഈ പരിവർത്തനത്തെ ഇങ്ങനെ സൂചിപ്പിക്കാം ജി. നമ്മൾ ശരിക്കും എന്താണ് ചെയ്തത്? പ്ലേറ്റിനുള്ളിലെ സവിശേഷതകൾ എത്ര തവണ ജോഡികളായി സംഭവിക്കുന്നുവെന്ന് ഞങ്ങൾ കണക്കാക്കിയതായി പറയാം, അല്ലെങ്കിൽ, മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, മൾട്ടിവേറിയറ്റ് നോർമൽ ഡിസ്ട്രിബ്യൂഷനുള്ള പ്ലേറ്റുകളിലെ സവിശേഷതകളുടെ വിതരണത്തെ ഞങ്ങൾ ഏകദേശം കണക്കാക്കി.




അപ്പോൾ സ്റ്റൈൽ ലോസ് താഴെ പറയുന്ന രീതിയിൽ നൽകിയിട്ടുണ്ട്, എവിടെ എസ്ശൈലിയിലുള്ള ചില ചിത്രം:



നമുക്ക് വിൻസെന്റിന് വേണ്ടി ശ്രമിച്ചാലോ? തത്വത്തിൽ, നമുക്ക് പ്രതീക്ഷിക്കുന്ന എന്തെങ്കിലും ലഭിക്കുന്നു - വാൻ ഗോഗിന്റെ ശൈലിയിലുള്ള ശബ്ദം, സവിശേഷതകളുടെ സ്പേഷ്യൽ ക്രമീകരണത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ പൂർണ്ണമായും നഷ്ടപ്പെട്ടു.


വിൻസെന്റ്




സ്റ്റൈൽ ഇമേജിനു പകരം ഫോട്ടോ ഇട്ടാലോ? നിങ്ങൾക്ക് ഇതിനകം പരിചിതമായ സവിശേഷതകൾ, പരിചിതമായ നിറങ്ങൾ ലഭിക്കും, എന്നാൽ സ്പേഷ്യൽ സ്ഥാനം പൂർണ്ണമായും നഷ്ടപ്പെട്ടു.


സ്റ്റൈൽ നഷ്ടമുള്ള ഫോട്ടോ


ഞങ്ങൾ എന്തിനാണ് കോവേരിയൻസ് മാട്രിക്സ് കണക്കാക്കുന്നത്, മറ്റെന്തെങ്കിലും അല്ല എന്ന് നിങ്ങൾ തീർച്ചയായും ചിന്തിച്ചിട്ടുണ്ടോ? എല്ലാത്തിനുമുപരി, സ്‌പേഷ്യൽ കോർഡിനേറ്റുകൾ നഷ്‌ടപ്പെടുന്ന തരത്തിൽ സവിശേഷതകൾ സമാഹരിക്കാൻ നിരവധി മാർഗങ്ങളുണ്ട്. ഇത് ശരിക്കും ഒരു തുറന്ന ചോദ്യമാണ്, നിങ്ങൾ വളരെ ലളിതമായ എന്തെങ്കിലും എടുക്കുകയാണെങ്കിൽ, ഫലം നാടകീയമായി മാറില്ല. നമുക്ക് ഇത് പരിശോധിക്കാം, ഞങ്ങൾ കോവേരിയൻസ് മാട്രിക്സ് കണക്കാക്കില്ല, ഓരോ പ്ലേറ്റിന്റെയും ശരാശരി മൂല്യം.




ലളിതമായ ശൈലി നഷ്ടം

സംയോജിത നഷ്ടം

സ്വാഭാവികമായും, ഈ രണ്ട് ചെലവ് ഫംഗ്ഷനുകളും മിക്സ് ചെയ്യാനുള്ള ആഗ്രഹമുണ്ട്. തുടർന്ന് ഞങ്ങൾ വെളുത്ത ശബ്ദത്തിൽ നിന്ന് അത്തരമൊരു ഇമേജ് സൃഷ്ടിക്കും, അത് ഉള്ളടക്ക-ചിത്രത്തിൽ നിന്നുള്ള സവിശേഷതകൾ (സ്പേഷ്യൽ കോർഡിനേറ്റുകളുമായി ബന്ധിപ്പിക്കുന്നവ) നിലനിർത്തും, കൂടാതെ സ്പേഷ്യൽ കോർഡിനേറ്റുകളുമായി ബന്ധമില്ലാത്ത "സ്റ്റൈൽ" സവിശേഷതകളും ഉണ്ടാകും, അതായത്. ഉള്ളടക്ക ഇമേജ് വിശദാംശങ്ങൾ അതേപടി നിലനിർത്തുമെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു, പക്ഷേ ശരിയായ ശൈലിയിൽ വീണ്ടും വരച്ചിരിക്കും.



വാസ്തവത്തിൽ, ഒരു റെഗുലറൈസറും ഉണ്ട്, എന്നാൽ ലാളിത്യത്തിനായി ഞങ്ങൾ അത് ഒഴിവാക്കും. ഇനിപ്പറയുന്ന ചോദ്യത്തിന് ഉത്തരം നൽകാൻ ഇത് ശേഷിക്കുന്നു: ഒപ്റ്റിമൈസേഷനിൽ ഏത് പാളികൾ (ഭാരം) ഉപയോഗിക്കണം? ഈ ചോദ്യത്തിന് എനിക്ക് ഉത്തരം ഇല്ലെന്ന് ഞാൻ ഭയപ്പെടുന്നു, കൂടാതെ ലേഖനത്തിന്റെ രചയിതാക്കൾക്കും ഇല്ല. ഇനിപ്പറയുന്നവ ഉപയോഗിക്കുന്നതിന് അവർക്ക് ഒരു നിർദ്ദേശമുണ്ട്, എന്നാൽ മറ്റൊരു കോമ്പിനേഷൻ മോശമായി പ്രവർത്തിക്കുമെന്ന് ഇതിനർത്ഥമില്ല, തിരയൽ ഇടം വളരെ വലുതാണ്. മോഡലിന്റെ ധാരണയിൽ നിന്ന് പിന്തുടരുന്ന ഒരേയൊരു നിയമം, അയൽ പാളികൾ എടുക്കുന്നതിൽ അർത്ഥമില്ല എന്നതാണ്, കാരണം അവയുടെ അടയാളങ്ങൾ പരസ്പരം വളരെ വ്യത്യാസപ്പെട്ടിരിക്കില്ല, അതിനാൽ ഓരോ conv*_1 ഗ്രൂപ്പിൽ നിന്നും ഒരു ലെയർ ശൈലിയിലേക്ക് ചേർക്കുന്നു.


# നഷ്‌ട പ്രവർത്തന നഷ്ടങ്ങൾ നിർവചിക്കുക = # ഉള്ളടക്ക നഷ്ടം നഷ്ടങ്ങൾ. append(0.001 * content_loss(photo_features, gen_features, "conv4_2")) # style loss losses.append(0.2e6 * style_loss(art_features, gen_features, "conv1_1append.")) നഷ്ടം (0.2e6 * style_loss(art_features, gen_features, "conv2_1")) losses.append(0.2e6 * style_loss(art_features, gen_features, "conv3_1")) losses.append(0.2e6 * style_loss,"1art_features_) നഷ്ടങ്ങൾ

അന്തിമ മോഡൽ ഇനിപ്പറയുന്ന രൂപത്തിൽ അവതരിപ്പിക്കാം.




വാൻ ഗോഗുമായുള്ള വീടുകളുടെ ഫലം ഇതാ.



പ്രക്രിയ നിയന്ത്രിക്കാനുള്ള ശ്രമം

മുമ്പത്തെ ഭാഗങ്ങൾ ഓർക്കാം, നിലവിലെ ലേഖനത്തിന് രണ്ട് വർഷം മുമ്പ്, മറ്റ് ശാസ്ത്രജ്ഞർ ന്യൂറൽ നെറ്റ്‌വർക്ക് ശരിക്കും എന്താണ് പഠിക്കുന്നതെന്ന് പര്യവേക്ഷണം ചെയ്തു. ഈ ലേഖനങ്ങളെല്ലാം ഉപയോഗിച്ച് നിങ്ങൾക്ക് വിവിധ ശൈലികളുടെ ഫീച്ചർ ദൃശ്യവൽക്കരണം സൃഷ്ടിക്കാൻ കഴിയും, വിവിധ ചിത്രങ്ങൾ, വ്യത്യസ്‌ത റെസല്യൂഷനുകളും വലുപ്പങ്ങളും, കൂടാതെ ഏത് ലെയറുകളാണ് എടുക്കേണ്ടതെന്ന് മനസിലാക്കാൻ ശ്രമിക്കുക. എന്നാൽ പാളികൾ വീണ്ടും വെയ്റ്റ് ചെയ്യുന്നത് പോലും എന്താണ് സംഭവിക്കുന്നതെന്ന് പൂർണ്ണ നിയന്ത്രണം നൽകുന്നില്ല. ഇവിടെ പ്രശ്നം കൂടുതൽ ആശയപരമാണ്: ഞങ്ങൾ തെറ്റായ പ്രവർത്തനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നു! എങ്ങനെ, നിങ്ങൾ ചോദിക്കുന്നു? ഉത്തരം ലളിതമാണ്: ഈ ഫംഗ്ഷൻ ശേഷിക്കുന്നവയെ കുറയ്ക്കുന്നു ... നന്നായി, നിങ്ങൾക്ക് ആശയം ലഭിക്കും. എന്നാൽ നമുക്ക് ശരിക്കും വേണ്ടത് ചിത്രം ഇഷ്ടപ്പെടുക എന്നതാണ്. ഉള്ളടക്കത്തിന്റെയും സ്‌റ്റൈൽ ലോസ് ഫംഗ്‌ഷനുകളുടെയും കോൺവെക്‌സ് കോമ്പിനേഷൻ നമ്മുടെ മനസ്സ് മനോഹരമായി കണക്കാക്കുന്നതിന്റെ അളവുകോലല്ല. സ്‌റ്റൈലിംഗ് ദീർഘനേരം തുടരുകയാണെങ്കിൽ, സ്വാഭാവികമായും ചെലവ് കുറയുകയും കുറയുകയും ചെയ്യുന്നു, എന്നാൽ ഫലത്തിന്റെ സൗന്ദര്യാത്മക സൗന്ദര്യം കുത്തനെ കുറയുന്നു.




ശരി, ഒരു പ്രശ്നം കൂടിയുണ്ട്. നമുക്ക് ആവശ്യമുള്ള ഫീച്ചറുകൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്ന ഒരു ലെയർ ഞങ്ങൾ കണ്ടെത്തിയെന്ന് പറയാം. ചില ടെക്സ്ചറുകൾ ത്രികോണാകൃതിയിലാണെന്ന് പറയാം. എന്നാൽ ഈ ലെയറിൽ ഇപ്പോഴും സർക്കിളുകൾ പോലുള്ള മറ്റ് നിരവധി സവിശേഷതകൾ അടങ്ങിയിരിക്കുന്നു, അവ ഫലമായുണ്ടാകുന്ന ചിത്രത്തിൽ കാണാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നില്ല. പൊതുവായി പറഞ്ഞാൽ, ഒരു ദശലക്ഷം ചൈനീസ് ആളുകളെ ജോലിക്കെടുക്കാൻ ഞങ്ങൾക്ക് കഴിയുമെങ്കിൽ, ഒരു സ്റ്റൈൽ ഇമേജിന്റെ എല്ലാ സവിശേഷതകളും നമുക്ക് ദൃശ്യവൽക്കരിക്കാൻ കഴിയും, കൂടാതെ സമഗ്രമായ തിരയലിലൂടെ നമുക്ക് ആവശ്യമുള്ളവ അടയാളപ്പെടുത്തുകയും ചെലവ് ഫംഗ്ഷനിൽ മാത്രം ഉൾപ്പെടുത്തുകയും ചെയ്യാം. എന്നാൽ വ്യക്തമായ കാരണങ്ങളാൽ, അത് അത്ര എളുപ്പമല്ല. എന്നാൽ ഫലത്തിൽ ദൃശ്യമാകാൻ ആഗ്രഹിക്കാത്ത സർക്കിളുകളെല്ലാം സ്റ്റൈൽഷീറ്റിൽ നിന്ന് നീക്കം ചെയ്താലോ? അപ്പോൾ സർക്കിളുകളോട് പ്രതികരിക്കുന്ന അനുബന്ധ ന്യൂറോണുകളുടെ സജീവമാക്കൽ പ്രവർത്തിക്കില്ല. തീർച്ചയായും, ഫലമായുണ്ടാകുന്ന ചിത്രത്തിൽ ഇത് ദൃശ്യമാകില്ല. പൂക്കളുടെ കാര്യവും അങ്ങനെ തന്നെ. ധാരാളം നിറങ്ങളുള്ള ഒരു ശോഭയുള്ള ചിത്രം അവതരിപ്പിക്കുക. നിറങ്ങളുടെ വിതരണം സ്‌പെയ്‌സിലുടനീളം വളരെ സ്‌മിയർ ചെയ്യപ്പെടും, തത്ഫലമായുണ്ടാകുന്ന ചിത്രത്തിന്റെ വിതരണം സമാനമായിരിക്കും, എന്നാൽ ഒപ്റ്റിമൈസേഷൻ പ്രക്രിയയിൽ, ഒറിജിനലിലുണ്ടായിരുന്ന കൊടുമുടികൾ നഷ്‌ടപ്പെടും. അത് ബിറ്റ് ഡെപ്ത് ഒരു ലളിതമായ കുറവ് തിരിഞ്ഞു വർണ്ണ പാലറ്റ്ഈ പ്രശ്നം പരിഹരിക്കുന്നു. മിക്ക നിറങ്ങളുടെയും വിതരണ സാന്ദ്രത പൂജ്യത്തിനടുത്തായിരിക്കും, കൂടാതെ പല മേഖലകളിലും വലിയ കൊടുമുടികൾ ഉണ്ടാകും. അങ്ങനെ, ഫോട്ടോഷോപ്പിൽ ഒറിജിനൽ കൈകാര്യം ചെയ്യുന്നതിലൂടെ, ചിത്രത്തിൽ നിന്ന് വേർതിരിച്ചെടുക്കുന്ന സവിശേഷതകൾ ഞങ്ങൾ കൈകാര്യം ചെയ്യുന്നു. ഒരു വ്യക്തിക്ക് തന്റെ ആഗ്രഹങ്ങൾ ഗണിതശാസ്ത്രത്തിന്റെ ഭാഷയിൽ രൂപപ്പെടുത്താൻ ശ്രമിക്കുന്നതിനേക്കാൾ ദൃശ്യപരമായി പ്രകടിപ്പിക്കുന്നത് എളുപ്പമാണ്. ബൈ. തൽഫലമായി, ഡിസൈനർമാരും മാനേജർമാരും, ഫോട്ടോഷോപ്പും സവിശേഷതകൾ ദൃശ്യവൽക്കരിക്കുന്നതിനുള്ള സ്ക്രിപ്റ്റുകളും ഉപയോഗിച്ച് സായുധരായതിനാൽ, ഗണിതശാസ്ത്രജ്ഞരും പ്രോഗ്രാമർമാരും ചെയ്തതിനേക്കാൾ മൂന്നിരട്ടി വേഗത്തിൽ ഒരു ഫലം നേടി.


സവിശേഷതകളുടെ നിറവും വലുപ്പവും കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു ഉദാഹരണം


നിങ്ങൾക്ക് ഉടനടി ഒരു ലളിതമായ ചിത്രം ഒരു സ്റ്റൈലായി എടുക്കാം



ഫലം








ഇവിടെ ഒരു വിഡോസിക് ഉണ്ട്, പക്ഷേ ശരിയായ ടെക്സ്ചർ മാത്രം

ടെക്‌സ്‌ചർ നെറ്റ്‌വർക്കുകൾ: ടെക്‌സ്‌ചറുകളുടെയും സ്റ്റൈലൈസ്ഡ് ഇമേജുകളുടെയും ഫീഡ്-ഫോർവേഡ് സിന്തസിസ് (10 മാർച്ച് 2016)

ഒരു ന്യൂനൻസ് ഇല്ലെങ്കിൽ ഇത് നിർത്താനാകുമെന്ന് തോന്നുന്നു. മുകളിലുള്ള സ്റ്റൈലിംഗ് അൽഗോരിതം വളരെക്കാലം പ്രവർത്തിക്കുന്നു. സിപിയുവിൽ lbfgs പ്രവർത്തിപ്പിക്കുന്ന ഒരു നടപ്പാക്കൽ ഞങ്ങൾ എടുക്കുകയാണെങ്കിൽ, പ്രക്രിയയ്ക്ക് ഏകദേശം അഞ്ച് മിനിറ്റ് എടുക്കും. ഒപ്റ്റിമൈസേഷൻ ജിപിയുവിലേക്ക് പോകുന്ന തരത്തിൽ നിങ്ങൾ അത് മാറ്റിയെഴുതുകയാണെങ്കിൽ, പ്രക്രിയ 10-15 സെക്കൻഡ് എടുക്കും. അത് നല്ലതല്ല. ഒരുപക്ഷേ ഇതിന്റെയും അടുത്ത ലേഖനത്തിന്റെയും രചയിതാക്കൾ ഇതേക്കുറിച്ച് ചിന്തിച്ചിരിക്കാം. രണ്ട് പ്രസിദ്ധീകരണങ്ങളും 17 ദിവസത്തെ ഇടവേളയിൽ സ്വതന്ത്രമായി പുറത്തിറങ്ങി, മുമ്പത്തെ ലേഖനത്തിന് ഏകദേശം ഒരു വർഷത്തിന് ശേഷം. മുമ്പത്തെ ലേഖനത്തിന്റെ രചയിതാക്കളെപ്പോലെ നിലവിലെ ലേഖനത്തിന്റെ രചയിതാക്കളും ടെക്‌സ്‌ചർ സൃഷ്‌ടിക്കുന്നതിൽ ഏർപ്പെട്ടിരുന്നു (നിങ്ങൾ സ്‌റ്റൈൽ ലോസ് റീസെറ്റ് ചെയ്‌താൽ, ഇത് ഏകദേശം നിങ്ങൾക്ക് ലഭിക്കുന്നതാണ്). വെളുത്ത ശബ്ദത്തിൽ നിന്ന് ലഭിച്ച ഒരു ഇമേജ് ഒപ്റ്റിമൈസ് ചെയ്യാൻ അവർ നിർദ്ദേശിച്ചു, എന്നാൽ ഒരു സ്റ്റൈലൈസ്ഡ് ഇമേജ് സൃഷ്ടിക്കുന്ന ചില ന്യൂറൽ നെറ്റ്‌വർക്ക്.




ഇപ്പോൾ, സ്റ്റൈലിംഗ് പ്രക്രിയയിൽ ഒപ്റ്റിമൈസേഷൻ ഉൾപ്പെടുന്നില്ലെങ്കിൽ, ഒരു ഫോർവേഡ് പാസ് മാത്രമേ ചെയ്യാവൂ. ജനറേറ്റർ ശൃംഖലയെ പരിശീലിപ്പിക്കുന്നതിന് ഒരിക്കൽ മാത്രം ഒപ്റ്റിമൈസേഷൻ ആവശ്യമാണ്. ഈ ലേഖനം ഇനിപ്പറയുന്ന ഓരോന്നിനും ഒരു ശ്രേണിപരമായ ജനറേറ്റർ ഉപയോഗിക്കുന്നു zമുമ്പത്തേതിനേക്കാൾ വലുതും ടെക്സ്ചർ ജനറേഷൻ സമയത്ത് ശബ്ദത്തിൽ നിന്നും, സ്റ്റൈലൈസർ പരിശീലനത്തിനായി ചില ഇമേജ് ഡാറ്റാബേസിൽ നിന്നും സാമ്പിൾ എടുത്തതുമാണ്. ഇമേജ്നെറ്റിന്റെ പരിശീലന ഭാഗമല്ലാതെ മറ്റെന്തെങ്കിലും ഉപയോഗിക്കുന്നത് വളരെ പ്രധാനമാണ്, കാരണം ലോസ് നെറ്റ്‌വർക്കിനുള്ളിലെ സവിശേഷതകൾ കണക്കാക്കുന്നത് പരിശീലന ഭാഗത്ത് പരിശീലനം ലഭിച്ച നെറ്റ്‌വർക്കാണ്.



തത്സമയ ശൈലി കൈമാറ്റത്തിനും സൂപ്പർ റെസല്യൂഷനുമുള്ള പെർസെപ്ച്വൽ നഷ്ടങ്ങൾ (27 മാർച്ച് 2016)

പേര് സൂചിപ്പിക്കുന്നത് പോലെ, ഒരു ജനറേറ്റിംഗ് നെറ്റ്‌വർക്ക് എന്ന ആശയവുമായി 17 ദിവസം മാത്രം വൈകിയ രചയിതാക്കൾ ചിത്രങ്ങളുടെ മിഴിവ് വർദ്ധിപ്പിക്കുന്ന തിരക്കിലായിരുന്നു. ഏറ്റവും പുതിയ ഇമേജ്നെറ്റിലെ അവശിഷ്ട പഠനത്തിന്റെ വിജയത്തിൽ നിന്ന് അവർ പ്രചോദനം ഉൾക്കൊണ്ടതായി തോന്നുന്നു.




അതനുസരിച്ച് അവശിഷ്ട ബ്ലോക്കും പരിവർത്തന ബ്ലോക്കും.



അതിനാൽ, ഇപ്പോൾ സ്റ്റൈലിംഗ് നിയന്ത്രണത്തിന് പുറമേ, ഞങ്ങളുടെ കൈകളിൽ ഒരു ഫാസ്റ്റ് ജനറേറ്ററും ഉണ്ട് (ഈ രണ്ട് ലേഖനങ്ങൾക്ക് നന്ദി, ഒരു ചിത്രത്തിന്റെ ജനറേഷൻ സമയം പതിനായിരക്കണക്കിന് എം‌എസുകളിൽ അളക്കുന്നു).

അവസാനിക്കുന്നു

ആദ്യ വീഡിയോ സ്റ്റൈലിംഗ് ആപ്ലിക്കേഷനായി മറ്റൊരു സ്‌റ്റൈലിംഗ് ആപ്ലിക്കേഷൻ സൃഷ്‌ടിക്കുന്നതിനുള്ള ആരംഭ പോയിന്റായി ഞങ്ങൾ അവലോകനം ചെയ്‌ത ലേഖനങ്ങളിൽ നിന്നുള്ള വിവരങ്ങളും രചയിതാക്കളുടെ കോഡും ഉപയോഗിച്ചു:



ഇതുപോലെ എന്തെങ്കിലും സൃഷ്ടിക്കുക.


ഏറ്റവും സാധാരണമായ ഫോട്ടോഗ്രാഫുകളിൽ, പൂർണ്ണമായും വേർതിരിച്ചറിയാൻ കഴിയാത്ത നിരവധി എന്റിറ്റികൾ പ്രത്യക്ഷപ്പെടുന്നു. മിക്കപ്പോഴും ചില കാരണങ്ങളാൽ നായ്ക്കൾ. 2015 ജൂണിൽ ഗൂഗിളിൽ നിന്നുള്ള ഡീപ്ഡ്രീം ആരംഭിച്ചപ്പോൾ അത്തരം ചിത്രങ്ങൾ ഇന്റർനെറ്റിൽ നിറയാൻ തുടങ്ങി - ന്യൂറൽ നെറ്റ്‌വർക്കുകളെ അടിസ്ഥാനമാക്കിയുള്ളതും ഇമേജ് പ്രോസസ്സിംഗിനായി രൂപകൽപ്പന ചെയ്തതുമായ ആദ്യത്തെ ഓപ്പൺ സേവനങ്ങളിലൊന്ന്.

ഇത് ഏകദേശം ഇതുപോലെയാണ് സംഭവിക്കുന്നത്: അൽഗോരിതം ഫോട്ടോഗ്രാഫുകൾ വിശകലനം ചെയ്യുന്നു, അവയിൽ പരിചിതമായ ചില വസ്തുക്കളെ ഓർമ്മിപ്പിക്കുന്ന ശകലങ്ങൾ കണ്ടെത്തുന്നു - ഈ ഡാറ്റയ്ക്ക് അനുസൃതമായി ചിത്രം വികലമാക്കുന്നു.

ആദ്യം, പ്രോജക്റ്റ് ഒരു ഓപ്പൺ സോഴ്സ് ആയി സ്ഥാപിച്ചു, തുടർന്ന് അതേ തത്വങ്ങളിൽ സൃഷ്ടിച്ച ഓൺലൈൻ സേവനങ്ങൾ ഇന്റർനെറ്റിൽ പ്രത്യക്ഷപ്പെട്ടു. ഏറ്റവും സൗകര്യപ്രദവും ജനപ്രിയവുമായ ഒന്ന് ഡീപ് ഡ്രീം ജനറേറ്ററാണ്: ഇവിടെ ഒരു ചെറിയ ഫോട്ടോ പ്രോസസ്സ് ചെയ്യുന്നതിന് ഏകദേശം 15 സെക്കൻഡ് മാത്രമേ എടുക്കൂ (മുമ്പ്, ഉപയോക്താക്കൾക്ക് ഒരു മണിക്കൂറിലധികം കാത്തിരിക്കേണ്ടി വന്നു).

ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ എങ്ങനെയാണ് ഇത്തരം ചിത്രങ്ങൾ സൃഷ്ടിക്കാൻ പഠിക്കുന്നത്? എന്തുകൊണ്ടാണ്, അവരെ അങ്ങനെ വിളിക്കുന്നത്?

അവയുടെ രൂപകൽപ്പനയിലെ ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഒരു ജീവിയുടെ യഥാർത്ഥ ന്യൂറൽ നെറ്റ്‌വർക്കുകളെ അനുകരിക്കുന്നു, പക്ഷേ അവ ഗണിതശാസ്ത്ര അൽഗോരിതങ്ങളുടെ സഹായത്തോടെയാണ് ഇത് ചെയ്യുന്നത്. ഒരു അടിസ്ഥാന ഘടന സൃഷ്ടിച്ച ശേഷം, മെഷീൻ ലേണിംഗ് രീതികൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് പരിശീലിപ്പിക്കാൻ കഴിയും. നമ്മൾ പാറ്റേൺ തിരിച്ചറിയലിനെക്കുറിച്ചാണ് സംസാരിക്കുന്നതെങ്കിൽ, ആയിരക്കണക്കിന് ചിത്രങ്ങൾ ന്യൂറൽ നെറ്റ്‌വർക്കിലൂടെ കൈമാറേണ്ടതുണ്ട്. ന്യൂറൽ നെറ്റ്‌വർക്കിന്റെ ചുമതല വ്യത്യസ്തമാണെങ്കിൽ, പരിശീലന വ്യായാമങ്ങൾ വ്യത്യസ്തമായിരിക്കും.

ചെസ്സ് കളിക്കുന്നതിനുള്ള അൽഗോരിതങ്ങൾ, ഉദാഹരണത്തിന്, ചെസ്സ് ഗെയിമുകൾ വിശകലനം ചെയ്യുക. അതേ പാതയിൽ, ഗൂഗിളിന്റെ DeepMind-ന്റെ AlphaGo അൽഗോരിതം ചൈനീസ് ഗെയിമായ Go-യിലേക്ക് - ഇത് ഒരു വഴിത്തിരിവായി വാഴ്ത്തപ്പെട്ടു, കാരണം ഗോ ചെസ്സിനേക്കാൾ വളരെ സങ്കീർണ്ണവും രേഖീയമല്ലാത്തതുമാണ്.

    നിങ്ങൾക്ക് ലളിതമായ ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് മോഡൽ ഉപയോഗിച്ച് കളിക്കാനും അതിന്റെ തത്വങ്ങൾ നന്നായി മനസ്സിലാക്കാനും കഴിയും.

    മനസ്സിലാക്കാവുന്ന കൈകൊണ്ട് വരച്ച ഒരു പരമ്പരയും യൂട്യൂബിലുണ്ട് റോളറുകൾന്യൂറൽ നെറ്റ്‌വർക്കുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെക്കുറിച്ച്.

മറ്റൊരു ജനപ്രിയ സേവനമാണ് ഡ്രീംസ്കോപ്പ്, ഇത് നായ്ക്കളെ സ്വപ്നം കാണാൻ മാത്രമല്ല, വിവിധ പെയിന്റിംഗ് ശൈലികൾ അനുകരിക്കാനും കഴിയും. ഇവിടെ ഇമേജ് പ്രോസസ്സിംഗ് വളരെ ലളിതവും വേഗതയുമാണ് (ഏകദേശം 30 സെക്കൻഡ്).

പ്രത്യക്ഷത്തിൽ, സേവനത്തിന്റെ അൽഗോരിതം ഭാഗം ഞങ്ങൾ ഇതിനകം ചർച്ച ചെയ്ത ന്യൂറൽ സ്റ്റൈൽ പ്രോഗ്രാമിന്റെ പരിഷ്ക്കരണമാണ്.

അടുത്തിടെ, കറുപ്പും വെളുപ്പും ചിത്രങ്ങൾ യാഥാർത്ഥ്യമായി വരയ്ക്കുന്ന ഒരു പ്രോഗ്രാം പ്രത്യക്ഷപ്പെട്ടു. മുമ്പത്തെ പതിപ്പുകളിൽ, സമാന പ്രോഗ്രാമുകൾ അവരുടെ ജോലി വളരെ കുറച്ച് നന്നായി ചെയ്തു, കുറഞ്ഞത് 20% ആളുകൾക്ക് ഒരു യഥാർത്ഥ ചിത്രവും കമ്പ്യൂട്ടർ നിറവും തമ്മിലുള്ള വ്യത്യാസം തിരിച്ചറിയാൻ കഴിയുന്നില്ലെങ്കിൽ അത് ഒരു വലിയ നേട്ടമായി കണക്കാക്കപ്പെട്ടു.

മാത്രമല്ല, ഇവിടെ വർണ്ണമാക്കൽ ഏകദേശം 1 മിനിറ്റ് മാത്രമേ എടുക്കൂ.

അതേ വികസന കമ്പനി ചിത്രങ്ങളിൽ തിരിച്ചറിയുന്ന ഒരു സേവനവും ആരംഭിച്ചു വത്യസ്ത ഇനങ്ങൾവസ്തുക്കൾ.

ഈ സേവനങ്ങൾ കേവലം രസകരമായ വിനോദം പോലെ തോന്നാം, എന്നാൽ വാസ്തവത്തിൽ, എല്ലാം കൂടുതൽ രസകരമാണ്. പുതിയ സാങ്കേതികവിദ്യകൾ മനുഷ്യ കലാകാരന്മാരുടെ പരിശീലനത്തിലേക്ക് പ്രവേശിക്കുകയും കലയെക്കുറിച്ചുള്ള നമ്മുടെ ധാരണ മാറ്റുകയും ചെയ്യുന്നു. ഒരുപക്ഷേ താമസിയാതെ ആളുകൾക്ക് സർഗ്ഗാത്മകതയുടെ മേഖലയിൽ യന്ത്രങ്ങളുമായി മത്സരിക്കേണ്ടി വരും.

AI ഡവലപ്പർമാർ വളരെക്കാലമായി ബുദ്ധിമുട്ടുന്ന ഒരു ജോലിയാണ് പാറ്റേൺ തിരിച്ചറിയൽ അൽഗോരിതം പഠിപ്പിക്കുന്നത്. അതിനാൽ, പഴയ ഫോട്ടോഗ്രാഫുകൾക്ക് നിറം നൽകുകയും ആകാശത്ത് നായ്ക്കളെ വരയ്ക്കുകയും ചെയ്യുന്ന പ്രോഗ്രാമുകൾ വലുതും കൂടുതൽ കൗതുകകരവുമായ ഒരു പ്രക്രിയയുടെ ഭാഗമായി കണക്കാക്കാം.


മുകളിൽ