કમ્પ્યુટર વિઝનની દુનિયામાં ક્રાંતિ: કન્વોલ્યુશનલ ન્યુરલ નેટવર્ક (CNN) કેવી રીતે કામ કરે છે?
માનવ આંખ અને મગજની દ્રષ્ટિ પ્રક્રિયામાંથી પ્રેરણા લઈને બનેલી CNN ટેકનોલોજી ડિજિટલ ઈમેજ સમજીને આર્ટિફિશિયલ ઈન્ટેલિજન્સને નવી દિશા આપી રહી છે.

આજના આધુનિક આર્ટિફિશિયલ ઈન્ટેલિજન્સ (AI) ના યુગમાં જ્યારે કોઈ સ્માર્ટફોન તમારા ચહેરાને ઓળખીને લોક ખોલે છે, અથવા કોઈ સ્વયંચાલિત કાર રસ્તા પરના ટ્રાફિક સિગ્નલ અને પદયાત્રીઓને ઓળખી લે છે, ત્યારે તેની પાછળ કન્વોલ્યુશનલ ન્યુરલ નેટવર્ક (Convolutional Neural Network - CNN) નામની અદભુત તકનીક કાર્યરત હોય છે. CNN એ ફીડફોર્વર્ડ ન્યુરલ નેટવર્ક (feedforward neural network) નો એક ચોક્કસ પ્રકાર છે, જે ડેટામાંથી વિશિષ્ટ લક્ષણો શીખવા માટે ફિલ્ટર (filter) અથવા કર્નલ (kernel) ના ઓપ્ટિમાઈઝેશનનો ઉપયોગ કરે છે. કમ્પ્યુટર વિઝન (computer vision) એટલે કે કમ્પ્યુટરને ચિત્રો અને વિડિયો સમજવાની ક્ષમતા આપ ક્ષેત્રમાં CNN ને એક સુવર્ણ માનક માનવામાં આવે છે.
જોકે તાજેતરના સમયમાં વિઝન ટ્રાન્સફોર્મર જેવી નવી ટેકનોલોજીએ કેટલીક જગ્યાએ CNN નું સ્થાન લીધું છે, છતાં પણ ડિજિટલ ઈમેજ પ્રોસેસિંગમાં CNN નો દબદબો અકબંધ છે. આ તકનીકનો ઉપયોગ માત્ર ચિત્રો ઓળખવા પૂરતો મર્યાદિત નથી. આજના સમયમાં ઈમેજ અને વિડિયો રેકગ્નિશન, ઈમેજ ક્લાસિફિકેશન, મેડિકલ ઈમેજ એનાલિસિસ, ઈમેજ સેગ્મેન્ટેશન, રેકમેન્ડર સિસ્ટમ્સ, નેચરલ લેંગ્વેજ પ્રોસેસિંગ (NLP), બ્રેઈન-કમ્પ્યુટર ઈન્ટરફેસ અને ફાઈનાન્સિયલ ટાઈમ સીરીઝ એનાલિસિસ જેવા અનેક જટિલ ક્ષેત્રોમાં CNN નો બહોળો ઉપયોગ થઈ રહ્યો છે.
- ૧. ઈમેજ ઇનપુટ અને ટેન્સર નિર્માણચિત્રને તેની ઊંચાઈ, પહોળાઈ અને કલર ચેનલ્સ ધરાવતા ગણિતીય ટેન્સર સ્વરૂપે નેટવર્કમાં દાખલ કરાય છે.
- ૨. કન્વોલ્યુશન અને ReLU એક્ટિવેશનનાના ફિલ્ટર્સ ઇનપુટ પર સ્લાઈડ થઈને ડોટ પ્રોડક્ટ મેળવે છે અને ફીચર મેપ તૈયાર કરે છે.
- ૩. પૂલિંગ લેયર દ્વારા ડેટાનું કમ્પ્રેશનમેક્સ અથવા એવરેજ પૂલિંગ વડે મહત્વની વિગતો જાળવી રાખીને પરિમાણો ઘટાડવામાં આવે છે.
- ૪. ફુલ્લી કનેક્ટેડ લેયર અને વર્ગીકરણતમામ ડેટાને ફ્લેટન કરીને અંતિમ સ્તરમાં વર્ગીકરણનું પરિણામ મેળવવામાં આવે છે.
પરંપરાગત નેટવર્કની મર્યાદાઓ અને CNN નો ઉદ્ભવ
કમ્પ્યુટર વિઝનના પ્રારંભિક તબક્કામાં ટ્રેડિશનલ આર્ટિફિશિયલ ન્યુરલ નેટવર્કનો ઉપયોગ થતો હતો. આ નેટવર્ક ફુલ્લી કનેક્ટેડ (fully connected) પ્રકારના હતા, જેમાં એક સ્તરનો દરેક ન્યુરોન (neuron) આગળના સ્તરના તમામ ન્યુરોન્સ સાથે જોડાયેલો રહેતો હતો. આ સંપૂર્ણ જોડાણને કારણે નેટવર્કમાં ગણતરીઓનું પ્રમાણ અત્યંત વધી જતું હતું. ઉદાહરણ તરીકે, જો માત્ર ૧૦૦ × ૧૦૦ પિક્સલ (pixel) નું એક નાનું ચિત્ર પ્રોસેસ કરવું હોય, તો બીજા સ્તરના દરેક ન્યુરોન માટે ૧૦,૦૦૦ વજન (weights) ની જરૂર પડતી હતી. જ્યારે મોટા અને ઉચ્ચ ગુણવત્તાવાળા ચિત્રો હોય ત્યારે આ ન્યુરોન્સની સંખ્યા અબજોમાં પહોંચી જતી હતી, જેના કારણે કમ્પ્યુટરની મેમરી અને પ્રોસેસિંગ પાવર ઘટી જતો હતો.
વધુમાં, પરંપરાગત નેટવર્કમાં તાલીમ દરમ્યાન બેકપ્રોપેગેશન (backpropagation) પ્રક્રિયામાં વેનિશિંગ ગ્રેડિઅન્ટ (vanishing gradients) અને એક્સપ્લોડિંગ ગ્રેડિઅન્ટ (exploding gradients) જેવી ગંભીર સમસ્યાઓ સર્જાતી હતી. આ સિવાય ડેટા પર વધુ પડતું નિર્ભર રહેવાને કારણે ઓવરફિટિંગ (overfitting) ની સમસ્યા પણ રહેતી હતી. આ મર્યાદાઓને દૂર કરવા માટે CNN આર્કિટેક્ચર વિકસાવવામાં આવ્યું. CNN માં ફિલ્ટર્સનો ઉપયોગ કરીને વજનનું ભાગીદારીકરણ કરવામાં આવે છે. જો ૫ × ૫ સાઈઝની ટાઈલ પર કન્વોલ્યુશન પ્રક્રિયા કરવામાં આવે, તો સ્તર દીઠ માત્ર ૨૫ વજનની જ જરૂર પડે છે. આનાથી ગણતરીમાં અસાધારણ ઘટાડો થાય છે.

જૈવિક પ્રેરણા: માનવ દ્રષ્ટિ અને હ્યુબેલ-વીઝલનું સોધ
CNN નું આર્કિટેક્ચર માનવ અને પ્રાણીઓના મગજના વિઝ્યુઅલ કોર્ટેક્સ (visual cortex) ની જૈવિક પ્રક્રિયાઓથી પ્રેરિત છે. ૧૯૫૦ અને ૧૯૬૦ ના દાયકામાં વિજ્ઞાની ડેવિડ હ્યુબેલ અને ટોર્સ્ટેન વીઝલે બિલાડીના વિઝ્યુઅલ કોર્ટેક્સ પર સંશોધન કર્યું હતું. તેમણે દર્શાવ્યું કે આંખના દ્રશ્ય ક્ષેત્રના ચોક્કસ નાના ભાગ પ્રતિ જ મગજના ચોક્કસ ન્યુરોન્સ પ્રતિક્રિયા આપે છે. દ્રશ્ય ક્ષેત્રના આ નાના મર્યાદિત ભાગને રિસેપ્ટિવ ફીલ્ડ (receptive field) કહેવામાં આવે છે. જુદા જુદા ન્યુરોન્સના રિસેપ્ટિવ ફીલ્ડ એકબીજા પર આંશિક રીતે ઓવરલેપ થઈને સમગ્ર દ્રશ્ય ક્ષેત્ર આવરી લે છે.
હ્યુબેલ અને વીઝલે પોતાના ૧૯૬૮ ના સંશોધન પત્રમાં મગજના બે મુખ્ય વિઝ્યુઅલ સેલ ટાઈપ દર્શાવ્યા હતા: સિમ્પલ સેલ્સ (simple cells), જે ચોક્કસ દિશા ધરાવતી સીધી કિનારીઓ (edges) ને ઓળખે છે; અને કોમ્પ્લેક્સ સેલ્સ (complex cells), જે મોટા રિસેપ્ટિવ ફીલ્ડ ધરાવે છે અને કિનારીના ચોક્કસ સ્થાન પર નિર્ભર રહ્યા વગર તેને ઓળખી શકે છે. ત્યારબાદ ૧૯૬૯ માં કૂનિહિકો ફુકુશિમાએ આ પ્રેરણાથી એક મલ્ટીલેયર વિઝ્યુઅલ ફીચર ડિટેક્શન નેટવર્ક રજૂ કર્યું હતું, જે કન્વોલ્યુશનલ નેટવર્કનો પાયો બન્યું.
વજનની સંખ્યા
CNN ની આંતરિક રચના અને મુખ્ય સ્તરો
મુખ્યત્વે CNN આર્કિટેક્ચરમાં ત્રણ પ્રકારના સ્તરો (layers) હોય છે: ઇનપુટ લેયર, હિડન લેયર્સ અને આઉટપુટ લેયર. હિડન લેયર્સમાં કન્વોલ્યુશનલ લેયર, પૂલિંગ લેયર અને ફુલ્લી કનેક્ટેડ લેયરનો સમાવેશ થાય છે. જ્યારે કોઈ ઈમેજ CNN માં દાખલ થાય છે, ત્યારે તેને ગણિતીય ટેન્સર (tensor) સ્વરૂપે લેવામાં આવે છે, જેની સાઈઝ (ઇનપુટની સંખ્યા) × (ઊંચાઈ) × (પહોળાઈ) × (કલર ચેનલ્સ) હોય છે.
કન્વોલ્યુશનલ લેયર (Convolutional Layer) એ CNN નું હૃદય છે. આ સ્તરમાં કન્વોલ્યુશન કર્નલ (ફિલ્ટર) અને ઇનપુટ મેટ્રિક્સ વચ્ચે ડોટ પ્રોડક્ટ (dot product) ની ગણતરી થાય છે. આ પ્રક્રિયાને ફ્રોબેનિયસ ઈનર પ્રોડક્ટ કહેવાય છે. ત્યારબાદ તેના પરિણામને ReLU (Rectified Linear Unit) જેવા એક્ટિવેશન ફંકશનમાંથી પસાર કરવામાં આવે છે. જેમ જેમ ફિલ્ટર આખી ઈમેજ પર સ્લાઈડ થાય છે, તેમ તેમ તે એક ફીચર મેપ (feature map) અથવા એક્ટિવેશન મેપ તૈયાર કરે છે. ચિત્રની પ્રાથમિક ધાર, રંગો અને આકારો ઓળખવાનું કામ આ સ્તર કરે છે.

પોસેસિંગ ઝડપી બનાવવા માટે સ્ટાન્ડર્ડ કન્વોલ્યુશનલ લેયરની જગ્યાએ ડેપ્થવાઈઝ સેપરેબલ કન્વોલ્યુશનલ લેયરનો ઉપયોગ પણ થાય છે, જેમાં ડેપ્થવાઈઝ કન્વોલ્યુશન અને પોઈન્ટવાઈઝ (૧ × ૧ કર્નલ) કન્વોલ્યુશનનો અલગથી ઉપયોગ કરવામાં આવે છે. આ તકનીક ગણતરીનો સમય ઘટાડે છે.
પૂલિંગ અને ફુલ્લી કનેક્ટેડ સ્તરોનું મહત્વ
કન્વોલ્યુશનલ લેયર પછી ડેટાને પૂલિંગ લેયર (Pooling Layer) માં મોકલવામાં આવે છે. પૂલિંગ સ્તરનો મુખ્ય હેતુ ફીચર મેપનું અંકગણિતીય પરિમાણ (dimensions) ઘટાડવાનો છે. આ પ્રક્રિયામાં સામાન્ય રીતે ૨ × ૨ ના નાના ક્લસ્ટરનો ઉપયોગ થાય છે. પૂલિંગના મુખ્ય બે પ્રકાર છે: મેક્સ પૂલિંગ (Max Pooling) અને એવરેજ પૂલિંગ (Average Pooling). મેક્સ પૂલિંગમાં પસંદ કરેલા નાના ભાગમાંથી સૌથી મોટું મૂલ્ય (maximum value) લેવામાં આવે છે, જ્યારે એવરેજ પૂલિંગમાં તમામ મૂલ્યોની સરેરાશ કાઢવામાં આવે છે.

આ પ્રક્રિયા ડેટાની ગણતરી સરળ બનાવે છે અને નેટવર્કને ઈમેજમાં થતા નાના-મોટા ફેરફારો સામે સક્ષમ બનાવે છે. આ પછી અંતે ફુલ્લી કનેક્ટેડ લેયર (Fully Connected Layer) આવે છે. અહીં સુધી મેળવેલા તમામ ફીચર મેપ્સને એક સીધી લાઈન જેવા એકપરિમાણીય વેક્ટરમાં ફ્લેટન (flatten) કરવામાં આવે છે. આ સ્તરમાં તમામ ન્યુરોન્સ એકબીજા સાથે જોડાયેલા હોય છે અને તે પરંપરાગત મલ્ટીલેયર પરસેપ્ટ્રોન (MLP) ની જેમ જ કામ કરે છે, જે આખરી આઉટપુટ અથવા ઈમેજનું વર્ગીકરણ (classification) પ્રદાન કરે છે.
| સ્તરનું નામ | મુખ્ય કાર્ય | મુખ્ય લાભ |
|---|---|---|
| કન્વોલ્યુશનલ લેયર (Convolutional Layer) | ઇનપુટ પર ફિલ્ટર ફેરવીને ફીચર મેપ બનાવવો | પેરામીટર શેરિંગ દ્વારા ગણતરી ખૂબ સરળ બનાવે છે |
| પૂલિંગ લેયર (Pooling Layer) | ફીચર મેપના પરિમાણો (Dimensions) ઘટાડવા | ઓવરફિટિંગ અટકાવે છે અને સ્પીડ વધારે છે |
| ફુલ્લી કનેક્ટેડ લેયર (Fully Connected Layer) | બધા ફીચર્સને જોડી આખરી ક્લાસિફિકેશન કરવું | ચિત્રની યોગ્ય શ્રેણી કે વર્ગ નક્કી કરે છે |
ઈમેજ જનરેટર્સમાં CNN ની રિવર્સ પ્રક્રિયા એટલે કે ડીકન્વોલ્યુશનલ ન્યુરલ નેટવર્ક (Deconvolutional Neural Network) નો ઉપયોગ થાય છે. તેમાં ડીકન્વોલ્યુશનલ લેયર અને અનપૂલિંગ લેયર્સ હોય છે. તે મેટ્રિક્સના ટ્રાન્સપોઝ ગુણાકાર વડે ચિત્રને ફરીથી મોટું અને સ્પષ્ટ કરવાનું કામ કરે છે.

ભવિષ્યની દિશા અને ભારત માટે મહત્વ
પરંપરાગત ઈમેજ પ્રોસેસિંગ એલ્ગોરિધમ્સમાં એન્જિનિયરોએ જાતે ફિલ્ટર્સ ડિઝાઈન કરવા પડતા હતા, જ્યારે CNN આપમેળે સ્વચાલિત રીતે શ્રેષ્ઠ ફિલ્ટર્સ શીખી લે છે. આ કારણે જ તે અત્યંત કાર્યક્ષમ અને સ્કેલેબલ છે. ક્ષેત્રે ભારત માટે આ તકનીક કૃષિ ક્ષેત્રે પાકની બીમારીઓ ઓળખવા, તબીબી ક્ષેત્રે એક્સ-રે અને MRI સ્કેનનું સ્વચાલિત વિશ્લેષણ કરવા તેમજ સ્માર્ટ સિટી પ્રોજેક્ટ્સમાં ટ્રાફિક મેનેજમેન્ટ માટે ક્રાંતિકારી સાબિત થઈ રહી છે. ગણિતીય જટિલતા ઘટાડીને વિઝ્યુઅલ ડેટાને મશીન માટે સુગમ બનાવવાની ક્ષમતા જ CNN ને આર્ટિફિશિયલ ઈન્ટેલિજન્સનું મજબૂત અને વિશ્વસનીય અંગ બનાવે છે.


