ആര്‍ട്ടിഫിഷ്യല്‍ ന്യൂറല്‍ നെറ്റ്‌വര്‍ക്കുകള്‍ – ഒരാമുഖം


ഡോ. സി. പ്രേംശങ്കര്‍, ഡോ. സുനില്‍ തോമസ് തോണിക്കുഴിയില്‍

മനുഷ്യ മസ്തിഷ്കം വസ്തുക്കളെ കണ്ടു തിരിച്ചറിയുന്നതിനെ അനുകരിക്കാനാണ് നിര്‍മിതബുദ്ധി സാങ്കേതികവിദ്യയിലും ശ്രമിക്കുന്നത്. പാറ്റേണുകളും രൂപങ്ങളും ഒരു അല്‍ഗോരിതം വഴി ആവര്‍ത്തിച്ചു പരിചയപ്പെടുത്തിയാണ് കൃത്രിമ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകളെ ഈ വിദ്യ പഠിപ്പിക്കുന്നത്. നിത്യജീവിതത്തില്‍ നാമിന്ന് മൊബൈല്‍ ഫോണില്‍ ഉപയോഗിക്കുന്ന പല സൗകര്യങ്ങളും ഇങ്ങനെ വികസിപ്പിക്കപ്പെട്ടതാണ്. ശാസ്ത്രഗതി 2022 ജൂൺ ലക്കത്തിൽ പ്രസിദ്ധീകരിച്ച ലേഖനം

നമ്മുടെ മസ്തിഷ്കം എങ്ങനെയാണ് ചിത്രങ്ങള്‍ തിരിച്ചറിയുന്നതെന്ന് എപ്പോഴെങ്കിലും ചിന്തിച്ചിട്ടുണ്ടോ? ഒരു പൂച്ചയുടെ ചിത്രം കാണുമ്പോള്‍, അത് പൂച്ചയാണെന്നും നായയല്ലെന്നും നമ്മുടെ തലച്ചോറിന് തിരിച്ചറിയാന്‍ സാധിക്കുന്നു. ഇതിന് തലച്ചോറിനുള്ളിലെ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകളാണ് നമ്മളെ സഹായിക്കുന്നത്. 

ചിത്രം- 1

ചിത്രം 1-ല്‍ കാണിച്ചിരിക്കുന്നതരം ബയോളജിക്കല്‍ ന്യൂറോണുകളുപയോഗിച്ചാണ് തലച്ചോറിലെ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകൾനിര്‍മിച്ചിട്ടുള്ളത്. ഇത്തരത്തില്‍ ലക്ഷക്കണക്കിന് ന്യൂറോണുകള്‍ തമ്മില്‍ പരസ്പരം ഘടിപ്പിച്ച ഒരു വമ്പന്‍ നെറ്റ്‌വർക്കാണ് മനുഷ്യന്‍റെ തലച്ചോര്‍. പഞ്ചേന്ദ്രിയങ്ങളില്‍നിന്നു വരുന്ന സിഗ്നലുകള്‍ക്ക് അനുസൃതമായി ഈ ന്യൂറോണുകളില്‍ ചിലത് ഉത്തജിതമാകും. ഇത്തരം ന്യൂറല്‍ ഉത്തേജനങ്ങളാണ് നമുക്ക് പലതരത്തിലുള്ള കാഴ്ചകളെയും മണങ്ങളെയും ശബ്ദങ്ങളെയുമെല്ലാം അനുഭവവേദ്യമാക്കി തരുന്നത്.

നാം ജീവിക്കുന്ന ചുറ്റുപാടുകള്‍ക്കും സന്ദര്‍ഭങ്ങള്‍ക്കും അനുസരിച്ച് പെരുമാറാന്‍ നമുക്ക് കഴിയും. ജനനം മുതല്‍ ഇതിനായി നമ്മള്‍ തലച്ചോറിനെ പരിശീലിപ്പിച്ചു കൊണ്ടിരിക്കും. ഒരു കാഴ്ച കാണുമ്പോള്‍ നമ്മുടെ മസ്തിഷ്കം മുന്‍പ് എപ്പോഴെങ്കിലും കണ്ട കാഴ്ചകളുമായി താരതമ്യം ചെയ്യുകയും മുന്‍ അനുഭവങ്ങളില്‍ നിന്നും ഈ കാഴ്ചയോട് അടുത്തുനില്‍ക്കുന്ന ഏറ്റവും മികച്ച പാറ്റേണ്‍ കണ്ടെത്തുകയും അതിനനുസരിച്ച് ശരീരത്തിലെ വിവിധ അവയവങ്ങള്‍ക്കുവേണ്ട സിഗ്നലുകള്‍ പുറപ്പെടുവിക്കുകയും ചെയ്യുന്നു. അതു സാധ്യമാകുന്നത് ഈ ന്യൂറോണുകളുടെ പ്രവര്‍ത്തനത്തിലൂടെയാണ്. തലച്ചോറിലുള്ള ലക്ഷോപലക്ഷം ന്യൂറോണുകളുടെ പ്രവര്‍ത്തന ഫലമായിട്ടാണ് നാം ‘ബുദ്ധി’ യുള്ള മനുഷ്യരായിത്തീരുന്നത്.

ചുരുക്കത്തില്‍, ന്യൂറോണുകളുടെ ഒരു വലിയ നെറ്റ്‌വർക്കിനെയാണ് നമ്മുടെ മസ്തിഷ്കം വിവരങ്ങള്‍ ശേഖരിക്കുന്നതിനും തീരുമാനങ്ങള്‍ എടുക്കുന്നതിനും ഉപയോഗപ്പെടുത്തുന്നത്. നിര്‍മിതബുദ്ധി ഉണ്ടാക്കാനുള്ള പല ശ്രമങ്ങളും നമ്മുടെ തലച്ചോറിന്‍റെ പ്രവര്‍ത്തനത്തില്‍നിന്നും പ്രചോദനം ഉള്‍ക്കൊണ്ടവയാണ്. പല നിര്‍മിതബുദ്ധി അല്‍ഗോരിതങ്ങളും തലച്ചോറിലെ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകളുടെ പ്രവര്‍ത്തനത്തെ അനുകരിച്ചാണ് നിര്‍മിച്ചിരിക്കുന്നത്. ആര്‍ട്ടിഫിഷ്യല്‍ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകള്‍ (Artificial Neural Networks) എന്ന ഒരു പഠനശാഖ തന്നെ ഇതിനായി വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. സമീപകാലത്ത് നിര്‍മിതബുദ്ധിയുപയോഗിച്ച് ഉണ്ടാക്കിയ സങ്കേതങ്ങളുടെയൊക്കെ പിറകില്‍ ന്യൂറല്‍ നെറ്റുവര്‍ക്കുകള്‍ ഒളിച്ചിരിക്കുന്നുണ്ട്. 

ചിത്രം 2

ഒരു ആര്‍ട്ടിഫിഷ്യല്‍ ന്യൂറല്‍ നെറ്റ്‌വർക്കിനെ നിര്‍മിതബുദ്ധിക്കുവേണ്ടി പരിശീലിപ്പിച്ചെടുക്കേണ്ടത് എങ്ങനെയാണെന്ന് പരിശോധിക്കാം. ആര്‍ട്ടിഫിഷ്യല്‍ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകളുടെ അടിസ്ഥാനശില ഒരു ന്യൂറോണാണ്. ഇത്തരത്തിലുള്ള ഒരു കൃത്രിമ ന്യൂറോണിനെ പെര്‍സെപ്ട്രോണ്‍ (perceptron) എന്നുപറയുന്നു. പെര്‍സെപ്ട്രോണ്‍ എങ്ങനെയാണ് പ്രവര്‍ത്തിക്കുന്നതെന്ന് നമുക്ക് പരിശോധിക്കാം. ചിത്രം 2-ല്‍ ഒരു പെര്‍സെപ്ടോണിന്‍റെ ഭാഗങ്ങള്‍ കാണിച്ചിരിക്കുന്നു.

താഴെപറയുന്ന ഘടകങ്ങളാണ് ഈ ന്യൂറോണിനുള്ളത്. 

  • ഇന്‍പുട്ട്
  • വെയ്റ്റ്സ് (Weights)
  • ബയസ് (bias)
  • ആക്ടിവേഷന്‍ ഫങ്ഷന്‍ 
  • ഔട്ട്പുട്ട്

ഈ ന്യൂറോണിന്‍റെ പ്രവര്‍ത്തനം ലളിതമായ ഒരു ഗണിതപ്രക്രിയയാണ്. അത് ചിത്രത്തില്‍ ഗണിത സമവാക്യങ്ങളിലൂടെ സൂചിപ്പിച്ചിരിക്കുന്നു. നാം ന്യൂറോണിന് കൊടുക്കുന്ന ഡാറ്റയാണ് ഇന്‍പുട്ടുകള്‍. വെയിറ്റ് (weight) ഓരോ ഇന്‍പുട്ടിനും ഔട്ട് പുട്ടിനു മേലുള്ള സ്വാധീനത്തിന്‍റെ സൂചകമാണ്. ഇന്‍പുട്ടുകളെ വിവിധ വെയിറ്റുകള്‍ കൊണ്ട് ഗുണിച്ചെടുക്കും. ഇങ്ങനെ ഗുണിച്ചെടുത്ത സംഖ്യകളുടെ എല്ലാം കൂടി തുക കണ്ടുപിടിക്കും. ഈ തുകയെ ന്യൂറോണിന്‍റെ ആക്ടിവേഷന്‍ ഫങ്ഷനിലേക്ക് കടത്തി വിടും. (ചിത്രം 2 കാണുക). പെര്‍സെപ്ട്രോണില്‍ ഈ ഫങ്ഷന്‍ അതിനു കിട്ടുന്ന സംഖ്യയുടെ വില പൂജ്യത്തില്‍ താഴെയാണെങ്കില്‍-1 (മൈനസ് 1) ഉം അല്ലെങ്കില്‍ +1 (പ്ലസ് 1) ഉം ഔട്ട്പുട്ടായി പുറപ്പെടുവിക്കും. സിഗ്മോയിഡ് സോഫ്റ്റ് മാക്സ് തുടങ്ങി പലതരം ആക്ടിവേഷന്‍ ഫങ്ഷനുകളുപയോഗിച്ചും പെര്‍സെപ്ട്രോണുകളുണ്ടാക്കാം.

ഇത്തരം ഒരു കൃത്രിമ ന്യൂറോണിനെ പരിശീലിപ്പിക്കുന്നതിന് ലേബല്‍ ചെയ്ത ഡേറ്റ ആവശ്യമാണ്. ഒരു ന്യൂറോണിന് കൊടുക്കുന്ന പരിശീലന ഡാറ്റ X1, X2, X3, …X എന്നിങ്ങനെയാണെന്നിരിക്കട്ടെ. ഈ ഡാറ്റാ ഉത്പാദിപ്പിക്കേണ്ട ഔട്ട്പുട്ടിനെയാണ് ലേബല്‍ എന്ന് വിളിക്കുന്നത്. മുന്‍കൂറായി ലേബല്‍ ചെയ്ത് വെച്ചിട്ടുള്ള ആയിരക്കണക്കിന് ഡേറ്റ ഉപയോഗിച്ചാണ് ന്യൂറോണുകളെ പരിശീലിപ്പിക്കുന്നത്. 

ഇനി ട്രെയിനിങ് എന്തിനാണെന്ന് നോക്കാം. നമ്മുടെ കയ്യിലുള്ള ഡാറ്റ ന്യൂറോണിന് കൊടുക്കുമ്പോള്‍ ആ ഡാറ്റയുടെ ലേബല്‍ ആകണം ഒട്ട്പുട്ടില്‍ വരേണ്ടത്. ഇതിന് അനുയോജ്യമായ വെയിറ്റുകള്‍ വേണം. ഇത്തരം വെയ്റ്റുകള്‍ കണ്ടെത്താനാണ് ട്രെയിനിങ് നടത്തുന്നത് (നമ്മള്‍ കുട്ടികളെ പഠിപ്പിക്കുന്നതും ഏതാണ്ടിതുപോലെയാണ്).

ട്രെയിനിങ്ങിന്‍റെ തുടക്കത്തില്‍ ഇന്‍പുട്ട് കൊടുത്താല്‍ കൃത്യമായി ഔട്ട് പുട്ട് കിട്ടുന്നതിനുള്ള വെയിറ്റുകള്‍ നമുക്ക് അറിയില്ല. അത് കണ്ടുപിടിക്കുന്നതിനായി നമ്മള്‍ വെയിറ്റുകളെ റാന്‍ഡം സംഖ്യകള്‍ ഉപയോഗിച്ച് ഇനിഷ്യലൈസ് ചെയ്യും. തുടര്‍ന്ന് ഒരു ഇന്‍പുട്ട് കൊടുത്ത് നോക്കും കൃത്യമായ ഔട്ട്പുട്ട് കിട്ടുന്നില്ലെങ്കില്‍ വെയിറ്റുകളുടെ മൂല്യം ചെറുതായി കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യും തുടര്‍ന്ന് അടുത്ത ഇന്‍പുട്ട് കൊടുക്കും ആ ഇന്‍പുട്ടിന്‍റെ ഔട്ട്പുട്ട് പരിശോധിക്കും കൃത്യമായ ഔട്ട്പുട്ടല്ല ലഭിക്കുന്നതെങ്കില്‍ മേല്‍ പറഞ്ഞ രീതിയില്‍ വെയിറ്റുകളെ വീണ്ടും അഡ്ജസ്റ്റ് ചെയ്യും ഇങ്ങനെ നിരവധി തവണ ചെയ്യുമ്പോള്‍ എല്ലാ ഇന്‍പുട്ടുകള്‍ക്കും കൃത്യമായ ഔട്ട്പുട്ട് ഉണ്ടാക്കുന്ന ഒരു സെറ്റ് വെയ്റ്റുകളില്‍ നാമെത്തും.

ഒരു ഉദാഹരണം പറയാം; ഒരിക്കല്‍ വെയിറ്റുകളുടെ വില സ്ഥിരപ്പെടുത്തിക്കഴിഞ്ഞാല്‍ ഇന്‍പുട്ടുകള്‍ക്ക് അനുസരിച്ച് മേല്‍ക്കാണിച്ചിട്ടുള്ള പെര്‍സെപ്ട്രോണ്‍ +1 അല്ലെങ്കില്‍ -1 എന്ന ഔട്ട്പുട്ടാകും തരുക. ഇതിന് പകരം പൂജ്യത്തിനും ഒന്നിനുമിടയിലുള്ള റിയല്‍ നമ്പരുകളെ ഔട്ട്പുട്ടായി തരുന്ന ന്യൂറോണുകളെയും ഉണ്ടാക്കാനാകും. അതിനായി തയ്യാര്‍ ചെയ്ത ആക്ടിവേഷന്‍ ഫങ്ഷന്‍ ഉപയോഗിച്ചാല്‍ മതി. 

മേല്‍ക്കാണിച്ച പെര്‍സെപ്ട്രോണിന് ചില പരിമിതികളുണ്ട് ഉദാഹരണത്തിന് ബൂളിയന്‍ ലോജിക്കിലെ XOR ഫങ്ഷനുവേണ്ട വെയിറ്റുകള്‍ കണ്ടെത്താനാകില്ല. എക്ലൂസീവ് OR (Exclusively-OR)- ന്റെ ചുരുക്കെഴുത്താണ് XOR. ഡിജിറ്റല്‍ ലോജിക്ക് സര്‍ക്യൂട്ടുകളില്‍ ഒരു XOR ഗെയ്റ്റ് എന്നതു രണ്ട് ഇന്‍പുട്ടുകള്‍ വ്യത്യസ്തമായിരിക്കുമ്പോള്‍ മാത്രം ട്രൂ (1 അഥവാ True) എന്ന ഔട്ട്പൂട്ട് തരുന്ന ഗേറ്റ് ആണ്. രണ്ടു ഇന്‍പുട്ടുകളും ഒരുപോലെയായാല്‍ XOR മൂല്യം ഫാള്‍സ് (0 അഥവാ False) ആയിരിക്കും. ഇത്തരം പ്രശ്നങ്ങള്‍ പരിഹരിക്കാന്‍ കൂടുതല്‍ ന്യൂറോണുകളുള്ള ഒരു നെറ്റ്‌വർക്ക് ഉണ്ടാക്കുകയാണ് ചെയ്യുക. ഇത്തരം ഒരു ന്യൂറല്‍ നെറ്റ്‌വർക്ക് ചിത്രം 3-ല്‍ കാണിച്ചിരിക്കുന്നു.

ഈ നെറ്റ്‌വർക്കിന് ഒന്നിലധികം ലെയറുകളുണ്ട്. ഓരോ ലെയറിലും നിരവധി വെയിറ്റുകളും ഈ വെയിറ്റുകളെ കൃത്യമായി അഡ്ജസ്റ്റ് ചെയ്തെടുക്കുക എന്നത് ശ്രമകരമാണ്. ഒരിക്കല്‍ നെറ്റ്‌വർക്കിനെ ട്രെയിന്‍ ചെയ്തു കഴിഞ്ഞാല്‍ ട്രെയിനിങ്ങില്‍ ഉപയോഗിക്കാത്ത ഡാറ്റയെയും തിരിച്ചറിയാന്‍ ഇതിനു സാധിക്കും.

ചിത്രം 4

പ്രായോഗികമായി ഇത്തരമൊരു ന്യൂറല്‍ നെറ്റ്‌വർക്കിനെ എങ്ങനെയാണ് പരിശീലിപ്പിച്ച് എടുക്കുന്നത് എന്ന് പരിശോധിക്കാം, ഇതിനായി നമുക്ക് ഒരു ഡാറ്റാ സെറ്റ് ആവശ്യമുണ്ട് ഡാറ്റാ സെറ്റില്‍ നമുക്ക് ആവശ്യമുള്ള ഡാറ്റ എന്താണെന്നും അതിന്‍റെ ലേബല്‍ എന്താണെന്നും പ്രതിപാദിച്ചിരിക്കും. ചിത്രം 4-ല്‍ കൈ കൊണ്ട് എഴുതിയ അക്കങ്ങളെ തിരിച്ചറിയുന്നതിനായി ഉണ്ടാക്കിയ MNIST (മോഡിഫൈഡ് നാഷണല്‍ ഇന്‍സ്റ്റിറ്റ്യൂട്ട് ഓഫ് സ്റ്റാന്‍ഡേര്‍ഡ്സ് ആന്‍ഡ് ടെക്നോളജി) എന്ന ഡാറ്റാ സെറ്റിലെ ചില സാമ്പിളുകള്‍ കൊടുത്തിട്ടുണ്ട്. 

MNIST ഡാറ്റാസെറ്റ് വിവിധ ഇമേജ് പ്രോസസ്സിങ് സിസ്റ്റങ്ങളെ പരിശീലിപ്പിക്കുന്നതിന് സാധാരണയായി ഉപയോഗിക്കുന്ന കൈയെഴുത്ത് അക്കങ്ങളുടെ ഒരു വലിയ ഡാറ്റാബേസാണ്. മെഷീന്‍ ലേണിങ് മേഖലയിലെ വിവിധ ഇമേജ് പ്രോസസ്സിങ് അല്‍ഗോരിതങ്ങളുടെ ട്രെയിനിങ്ങിനു ഈ ഡാറ്റാബേസ് വ്യാപകമായി ഉപയോഗിക്കുന്നു. MNIST ഡാറ്റാബേസില്‍ 60,000 പരിശീലന ചിത്രങ്ങളും 10,000 ടെസ്റ്റിംഗ് ചിത്രങ്ങളും അടങ്ങിയിരിക്കുന്നു. കൈ കൊണ്ട് എഴുതിയ അക്കങ്ങളെ 28ഃ28 പിക്സല്‍ സൈസുള്ള ചിത്രങ്ങള്‍ ആയിട്ടാണ് ഡാറ്റാ സെറ്റില്‍ ശേഖരിച്ചിട്ടുള്ളത്. ഓരോ ചിത്രവും ഏത് അക്ഷരമാണ് എന്ന വിവരം ലേബലില്‍ ലഭ്യമാണ്. ഓരോന്നിനും അതിന്‍റെ 0 മുതല്‍ 255 വരെയുള്ള ഗ്രേസ്കെയില്‍ മൂല്യം ഉണ്ടാവും.

നമുക്ക് ഇത്തരം ഒരു ഡാറ്റാ സെറ്റ് ഉപയോഗിച്ച് ന്യൂറല്‍ നെറ്റ്‌വർക്കിനെ പരിശീലിപ്പിക്കുന്നത് എങ്ങനെയാണെന്ന് നോക്കാം.

ചിത്രം- 5

ചിത്രം 5-ല്‍ ഇത്തരം ഒരു ന്യൂറല്‍ നെറ്റ്‌വർക്ക് കൊടുത്തിട്ടുണ്ട്, ഈ നെറ്റ്‌വർക്കിന് ഇന്‍പുട്ടായി മേല്‍പറഞ്ഞ അക്കങ്ങളുടെ ചിത്രങ്ങളാണ് കൊടുക്കുക. ഈ നെറ്റ്‌വർക്കിന് മൂന്ന് ലയറുകള്‍ ഉണ്ട്. ഇന്‍പുട്ട് ലയറില്‍ 784 ന്യൂറോണുകള്‍ കാണിച്ചിരിക്കുന്നു (നമുക്ക് 28×28 = 784 പിക്സലുകളാണുള്ളത്). ഇന്‍പുട്ട് ലെയറിനെ 100 ന്യൂറോണുകളുള്ള ഒരു ഹിഡന്‍ ലെയറിലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്നു. തുടര്‍ന്ന് 10 ന്യൂറോണുകളുള്ള ഒരു ഔട്ട്പുട്ട് ലെയറിലേക്കും. ഈ ലെയറിലാണ് നമ്മള്‍ അക്കങ്ങളെ തിരിച്ചറിയുന്നത്. നെറ്റ്‌വർക്കിന്‍റെ ഔട്ട്പുട്ട് ലെയറില്‍ 0 മുതല്‍ 9 വരെയുള്ള സംഖ്യകള്‍ക്ക് ഓരോന്നിനും ഓരോ ന്യൂറോണ്‍ ഉണ്ട് . നമ്മള്‍ കൊടുക്കുന്ന ഇന്‍പുട്ട്, നെറ്റ്‌വർക്ക് കൃത്യമായി തിരിച്ചറിഞ്ഞാല്‍ പ്രസ്തുത അക്കത്തിന്‍റെ നേരെയുള്ള ന്യൂറോണ്‍ മാത്രം 1 ആയിരിക്കും മറ്റുള്ളവ എല്ലാം പൂജ്യത്തിലും.

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

ഈ രീതിയില്‍ ന്യൂറല്‍ നെറ്റ്‌വർക്കുകളെ ട്രെയിന്‍ ചെയ്യുന്ന സാങ്കേതിക വിദ്യ ഏകദേശം മുപ്പതു വര്‍ഷങ്ങള്‍ക്കു മുമ്പുതന്നെ കണ്ടെത്തിയിരുന്നു. എങ്കിലും ആവശ്യമായ ഡാറ്റയും കമ്പ്യൂട്ടിങ് പവറും അക്കാലത്ത് ലഭിച്ചിരുന്നില്ല. നെറ്റ്‌വർക്കുകളെ ട്രെയിന്‍ ചെയ്യുന്നതിന് വലിയതോതില്‍ ഗണിത ക്രിയകള്‍ നടത്തേണ്ടതുണ്ട്. ഇതിന് വലിയ തോതില്‍ കമ്പ്യൂട്ടിങ് ശേഷി ആവശ്യമാണ്. സാധാരണ കമ്പ്യൂട്ടറുകളില്‍ പരിശീലനം ആഴ്ചകളോളം നീണ്ടു നിന്നേക്കാം. പാരലല്‍ കമ്പ്യുട്ടിങ് ഹാര്‍ഡ് വെയറുകള്‍ ഉപയോഗിച്ചാല്‍ നെറ്റ് വര്‍ക്ക് പരിശീലനം എളുപ്പത്തിലാക്കാന്‍ കഴിയും.

2000-ത്തിനുശേഷം പാരലല്‍ കമ്പ്യൂട്ടേഷന് കഴിവുകളുള്ള ഗ്രാഫിക് പ്രോസസ്സിങ് യൂണിറ്റ് (GPU) ലഭ്യമായിത്തുടങ്ങി. അതുകൂടാതെ ഇന്‍റര്‍നെറ്റിലൂടെ ലക്ഷക്കണക്കിന് ഡാറ്റ ശേഖരിക്കുന്നതിനും സൂക്ഷിക്കുന്നതിനുമുള്ള പല സങ്കേതങ്ങളും നിലവില്‍വന്നു. അതിനാല്‍, സമീപകാലത്ത് നിര്‍മിതബുദ്ധി അല്‍ഗോരിതങ്ങളില്‍ ന്യൂറല്‍ നെറ്റ്‌വർക്ക് വ്യക്തമായ മേല്‍ക്കൈ നേടിയിട്ടുണ്ട്.

നിത്യജീവിതത്തില്‍ നമ്മള്‍ ഉപയോഗിക്കുന്ന പല ആപ്പുകളിലും മേല്‍ക്കാണിച്ച രീതിയില്‍ പരിശീലിപ്പിക്കപ്പെട്ട ന്യൂറല്‍ നെറ്റ്‌വർക്കുകള്‍ ഒളിച്ചിരുപ്പുണ്ട്. അതില്‍ ചില ഉദാഹരണങ്ങള്‍ ചുവടെ ചേര്‍ക്കുന്നു.

ഫേസ് റക്കഗ്നിഷന്‍

കടപ്പാട്:medium.com

ചില സ്മാര്‍ട്ട്ഫോണ്‍ ആപ്പുകള്‍ക്ക് മുഖം നോക്കി ഒരു വ്യക്തിയുടെ പ്രായം തിരിച്ചറിയാന്‍ കഴിയും. മുഖത്തിന്‍റെ സവിശേഷതകളും വിഷ്വല്‍ പാറ്റേണ്‍ തിരിച്ചറിയലും അടിസ്ഥാനമാക്കിയാണ് ഇതിനുള്ള നെറ്റ്‌വർക്കിനെ പരിശീലിപ്പിച്ചിട്ടുള്ളത്.

കാലാവസ്ഥാ പ്രവചനം

വിവിധ കാലാവസ്ഥാ പാറ്റേണുകള്‍ മനസ്സിലാക്കാനും പ്രവചിക്കാനും ന്യൂറല്‍ നെറ്റ്‌വർക്കുകള്‍ക്ക് കഴിയും.

സ്പീച്ച് റക്കഗ്നിഷനും കൈയെഴുത്തും

നമ്മുടെ സ്മാര്‍ട്ട് ഫോണുകളില്‍ ശബദം തിരിച്ചറിഞ്ഞ് ടെക്സ്റ്റാക്കുന്നതിനും സെര്‍ച്ച് ചെയ്യുന്നതിനുമൊക്കെ സൗകര്യങ്ങളുണ്ട്. ഇതിന്‍റെ പിറകില്‍ പരിശീലനം സിദ്ധിച്ച ന്യൂറല്‍ നെറ്റ്‌വർക്ക് ആണുള്ളത്. അതുപോലെ സ്മാര്‍ട്ട്ഫോണില്‍ കൈവിരല്‍ ഉപയോഗിച്ച് എഴുതാറില്ലേ. അതിന്‍റെ പിറകിലും ന്യൂറല്‍ നെറ്റ്‌വർക്ക് തന്നെയാണ്.


(ആറ്റിങ്ങല്‍ ഗവണ്മെന്‍റ് എഞ്ചിനീയറിങ് കോളേജ് പ്രിന്‍സിപ്പലാണ് ഡോ. സുനില്‍തോമസ് തോണിക്കുഴിയില്‍;  സി. പ്രേംശങ്കര്‍ കേരള സര്‍വകലാശാല ഫ്യൂച്ചേഴ്സ് പഠന വിഭാഗം അസിസ്റ്റന്‍റ് പ്രൊഫസറും.)  2022 ജൂൺ ലക്കം ശാസ്ത്രഗതിയിൽ പ്രസിദ്ധീകരിച്ച ലേഖനം ശാസ്ത്രഗതി വരിചേരാം


മറ്റു ലേഖനങ്ങൾ


Leave a Reply