Natanong mo na ba kung paano alam ng self-driving na kotse kung kailan titigil sa pulang ilaw o kung paano makikilala ng iyong telepono ang iyong mukha?
Dito pumapasok ang Convolutional Neural Network o CNN para sa maikling salita.
Ang isang CNN ay maihahambing sa isang utak ng tao na maaaring magsuri ng mga larawan upang matukoy kung ano ang nangyayari sa kanila. Ang mga network na ito ay maaaring makakita ng mga bagay na hindi mapapansin ng mga tao!
Sa post na ito, tutuklasin natin ang CNN sa malalim na pag-aaral konteksto. Tingnan natin kung ano ang maiaalok sa atin ng kapana-panabik na lugar na ito!
Ano ang Deep Learning?
Ang malalim na pag-aaral ay isang uri ng artificial intelligence. Nagbibigay-daan ito sa mga computer na matuto.
Ang malalim na pag-aaral ay nagpoproseso ng data gamit ang mga kumplikadong modelo ng matematika. Upang, ang isang computer ay maaaring makakita ng mga pattern at ikategorya ang data.
Pagkatapos ng pagsasanay na may maraming mga halimbawa, maaari rin itong gumawa ng mga desisyon.
Bakit Kami Interesado sa Mga CNN sa Malalim na Pag-aaral?
Ang Convolutional Neural Networks (CNNs) ay isang mahalagang bahagi ng malalim na pag-aaral.
Pinapayagan nila ang mga computer na maunawaan ang mga larawan at iba pa biswal na datos. Maaari naming sanayin ang mga computer upang makakita ng mga pattern at tukuyin ang mga bagay batay sa kung ano ang kanilang "nakikita" sa pamamagitan ng paggamit ng mga CNN sa malalim na pag-aaral.
Ang mga CNN ay kumikilos bilang mga mata ng malalim na pag-aaral, na tumutulong sa mga computer sa pag-unawa sa kapaligiran!
Inspirasyon mula sa Arkitektura ng Utak
Kinukuha ng mga CNN ang kanilang inspirasyon mula sa kung paano binibigyang-kahulugan ng utak ang impormasyon. Ang mga artipisyal na neuron, o mga node, sa CNN, ay tumatanggap ng mga input, nagpoproseso ng mga ito, at naghahatid ng resulta bilang output, tulad ng ginagawa ng mga neuron sa utak sa buong katawan.
Layer ng Input
Ang input layer ng isang standard neural network tumatanggap ng mga input sa anyo ng mga array, tulad ng mga pixel ng larawan. Sa CNNs, isang larawan ang ibinibigay bilang input sa input layer.
Mga Nakatagong Layer
Mayroong ilang mga nakatagong layer sa CNNs, na gumagamit ng matematika upang kunin ang mga tampok mula sa larawan. Mayroong ilang mga uri ng mga layer, kabilang ang ganap na naka-link, naayos na mga linear na unit, pooling, at convolution layer.
Convolution Layer
Ang unang layer na kukuha ng mga feature mula sa isang input na larawan ay ang convolution layer. Ang input na imahe ay sumasailalim sa pag-filter, at ang resulta ay isang tampok na mapa na nagha-highlight sa mga pangunahing elemento ng larawan.
Pooling Mamaya
Ginagamit ang pooling layer upang paliitin ang laki ng feature map. Pinalalakas nito ang paglaban ng modelo sa paglilipat ng lokasyon ng larawan ng input.
Rectified Linear Unit Layer (ReLU)
Ang ReLU layer ay ginagamit upang bigyan ang modelo ng nonlinearity. Ang output ng naunang layer ay isinaaktibo ng layer na ito.
Ganap na Nakakonektang Layer
Kinakategorya ng ganap na konektadong layer ang item at itinatalaga ito ng isang natatanging ID sa output layer ay ang ganap na konektadong layer.
Ang mga CNN ay Feedforward Network
Dumadaloy lamang ang data mula sa mga input patungo sa mga output sa isang paraan. Ang kanilang arkitektura ay binigyang inspirasyon ng visual cortex ng utak, na binubuo ng mga alternating layer ng basic at sopistikadong mga cell.
Paano Sinasanay ang mga CNN?
Isaalang-alang na sinusubukan mong turuan ang isang computer upang makilala ang isang pusa.
Nagpapakita ka rito ng maraming larawan ng mga pusa habang sinasabing, "Narito ang isang pusa." Matapos tingnan ang sapat na mga larawan ng mga pusa, nagsisimulang makilala ng computer ang mga katangian tulad ng matulis na tainga at balbas.
Ang paraan ng pagpapatakbo ng CNN ay medyo magkatulad. Maraming mga larawan ang ipinapakita sa computer, at ang mga pangalan ng mga bagay sa bawat larawan ay ibinigay.
Gayunpaman, hinahati ng CNN ang mga larawan sa mas maliliit na piraso, gaya ng mga rehiyon. At, natututo itong tukuyin ang mga katangian sa mga rehiyong iyon sa halip na tingnan lamang ang mga larawan sa kabuuan.
Kaya, ang paunang layer ng CNN ay maaari lamang makakita ng mga pangunahing katangian tulad ng mga gilid o sulok. Pagkatapos, ang susunod na layer ay bubuo doon upang makilala ang mas detalyadong mga tampok tulad ng mga form o texture.
Ang mga layer ay patuloy na nag-a-adjust at hinahasa ang mga katangiang iyon habang tinitingnan ng computer ang higit pang mga larawan. Nagpapatuloy ito hanggang sa maging napakahusay sa pagtukoy sa kung ano man ang pinagsanayan nito, maging ito man ay pusa, mukha, o anupaman.
Isang Napakahusay na Tool sa Deep Learning: Paano Binago ng Mga CNN ang Pagkilala sa Imahe
Sa pamamagitan ng pagtukoy at pagbibigay-kahulugan sa mga pattern sa mga larawan, binago ng mga CNN ang pagkilala sa imahe. Dahil nagbibigay ang mga ito ng mga resulta na may mataas na antas ng katumpakan, ang mga CNN ay ang pinaka mahusay na arkitektura para sa pag-uuri, pagbawi, at mga aplikasyon ng pagtuklas ng larawan.
Madalas silang nagbubunga ng mahusay na mga resulta. At, tiyak na tinutukoy at tinutukoy nila ang mga bagay sa mga larawan sa mga real-world na application.
Paghahanap ng mga Pattern sa Anumang Bahagi ng Larawan
Saanman lumitaw ang isang pattern sa isang larawan, ang mga CNN ay idinisenyo upang makilala ito. Maaari nilang awtomatikong i-extract ang mga visual na katangian mula sa anumang lokasyon sa isang larawan.
Posible ito salamat sa kanilang kakayahan na kilala bilang "spatial invariance." Sa pamamagitan ng pagpapasimple sa proseso, ang mga CNN ay maaaring matuto nang diretso mula sa mga larawan nang hindi nangangailangan ng human feature extraction.
Mas Bilis ng Pagproseso at Mas Kaunting Memorya ang Ginamit
Ang mga CNN ay nagpoproseso ng mga larawan nang mas mabilis at mas mahusay kaysa sa mga tradisyonal na proseso. Ito ay isang resulta ng mga pooling layer, na nagpapababa sa bilang ng mga parameter na kinakailangan upang iproseso ang isang larawan.
Sa ganitong paraan, binabawasan nila ang paggamit ng memorya at mga gastos sa pagproseso. Maraming lugar ang gumagamit ng CNN, tulad ng; pagkilala sa mukha, pagkakategorya ng video, at pagsusuri ng larawan. Nakasanayan na rin nila uriin ang mga kalawakan.
Mga Halimbawa sa Tunay na Buhay
Mga Larawan sa Google ay isang paggamit ng mga CNN sa totoong mundo na ginagamit ang mga ito upang makilala ang mga tao at bagay sa mga larawan. Bukod dito, Azure at Birago magbigay ng mga image recognition API na nagtatag at kumikilala ng mga bagay gamit ang mga CNN.
Isang online na interface para sa pagsasanay ng mga neural network gamit ang mga dataset, kabilang ang mga gawain sa pagkilala ng larawan, ay ibinibigay ng deep learning platform Mga Digit ng NVIDIA.
Ipinapakita ng mga application na ito kung paano maaaring gamitin ang mga CNN para sa iba't ibang gawain, mula sa maliliit na kaso ng komersyal na paggamit hanggang sa pag-aayos ng mga larawan ng isang tao. Marami pang mga halimbawa ang maaaring isipin.
Paano Mag-evolve ang Convolutional Neural Networks?
Ang pangangalagang pangkalusugan ay isang kaakit-akit na industriya kung saan ang mga CNN ay inaasahang magkakaroon ng malaking impluwensya. Halimbawa, maaaring gamitin ang mga ito upang suriin ang mga medikal na larawan tulad ng X-ray at MRI scan. Matutulungan nila ang mga clinician sa mas mabilis at tumpak na pag-diagnose ng mga sakit.
Ang mga self-driving na sasakyan ay isa pang kawili-wiling application kung saan maaaring gamitin ang mga CNN para sa pagkilala sa bagay. Mapapabuti nito kung gaano kahusay ang pagkakaintindi at reaksyon ng mga sasakyan sa kanilang kapaligiran.
Ang tumataas na bilang ng mga tao ay interesado rin sa paglikha ng mga istruktura ng CNN na mas mabilis at mas epektibo, kabilang ang mga mobile na CNN. Inaasahang gagamitin ang mga ito sa mga low-power na gadget tulad ng mga smartphone at wearable.
Mag-iwan ng Sagot