Ang convolutional neural network (CNN) ay isang uri ng deep learning model na malawakang ginagamit sa mga gawain sa pagkilala ng imahe. Ito ay partikular na idinisenyo upang mabisang magproseso at magsuri ng visual na data, na ginagawa itong isang mahusay na tool sa mga application ng computer vision. Sa sagot na ito, tatalakayin natin ang mga pangunahing bahagi ng isang CNN at ang kani-kanilang mga tungkulin sa mga gawain sa pagkilala ng imahe.
1. Convolutional Layers: Ang convolutional layers ay ang mga building blocks ng isang CNN. Binubuo ang mga ito ng isang hanay ng mga natututunang filter o kernels na pinagsama-sama sa input image para makagawa ng mga feature na mapa. Nakikita ng bawat filter ang isang partikular na pattern o feature sa larawan, gaya ng mga gilid, sulok, o mga texture. Kasama sa operasyon ng convolution ang pag-slide ng filter sa ibabaw ng imahe at pag-compute ng tuldok na produkto sa pagitan ng mga timbang ng filter at ng kaukulang patch ng larawan. Ang prosesong ito ay paulit-ulit para sa bawat lokasyon sa larawan, na bumubuo ng isang tampok na mapa na nagha-highlight sa pagkakaroon ng iba't ibang mga tampok.
Halimbawa: Isaalang-alang natin ang isang 3×3 na filter na nakakakita ng mga pahalang na gilid. Kapag pinagsama sa isang input na imahe, gagawa ito ng isang tampok na mapa na nagbibigay-diin sa mga pahalang na gilid sa larawan.
2. Mga Pooling Layers: Ginagamit ang mga pooling layer upang i-downsample ang mga feature na mapa na nabuo ng mga convolutional layer. Binabawasan nila ang mga spatial na sukat ng mga feature na mapa habang pinapanatili ang pinakamahalagang impormasyon. Ang pinakakaraniwang ginagamit na operasyon ng pooling ay ang max pooling, na pinipili ang maximum na halaga sa loob ng pooling window. Nakakatulong ito na bawasan ang computational complexity ng network at ginagawa itong mas matatag sa maliliit na spatial variation sa input image.
Halimbawa: Ang paglalapat ng max pooling na may 2×2 pooling window sa isang feature map ay pipiliin ang maximum na halaga sa bawat hindi nagsasapawan na 2×2 na rehiyon, na epektibong binabawasan ng kalahati ang mga spatial na dimensyon.
3. Mga Pag-andar ng Pag-activate: Ang mga pag-andar ng pag-activate ay nagpapakilala ng hindi linearity sa CNN, na nagbibigay-daan dito upang matuto ng mga kumplikadong pattern at gumawa ng mga hula. Ang pinakakaraniwang ginagamit na activation function sa CNNs ay ang Rectified Linear Unit (ReLU), na kino-compute ang output bilang maximum na zero at ang input. Mas gusto ang ReLU dahil sa pagiging simple nito at kakayahang maibsan ang nawawalang problema sa gradient.
Halimbawa: Kung negatibo ang output ng isang neuron, itinatakda ito ng ReLU sa zero, na epektibong pinapatay ang neuron. Kung positibo ang output, pinapanatili itong hindi nagbabago ng ReLU.
4. Mga Ganap na Nakakonektang Layer: Ang mga ganap na konektadong layer ay may pananagutan sa paggawa ng mga huling hula batay sa mga nakuhang feature. Kinukuha nila ang mga na-flatten na feature na mapa mula sa mga nakaraang layer at ipinapasa ang mga ito sa isang serye ng mga ganap na konektadong neuron. Ang bawat neuron sa ganap na konektadong layer ay konektado sa bawat neuron sa nakaraang layer, na nagbibigay-daan dito na matuto ng mga kumplikadong relasyon sa pagitan ng mga feature at gumawa ng mga tumpak na hula.
Halimbawa: Sa isang gawain sa pagkilala ng larawan, ang ganap na konektadong layer ay maaaring may mga neuron na tumutugma sa iba't ibang klase, gaya ng "pusa," "aso," at "kotse." Ang output ng ganap na konektadong layer ay maaaring bigyang-kahulugan bilang ang mga probabilidad ng input na imahe na kabilang sa bawat klase.
5. Loss Function: Sinusukat ng loss function ang pagkakaiba sa pagitan ng hinulaang mga output at ang ground truth label. Sinusukat nito kung gaano kahusay ang pagganap ng CNN sa gawaing nasa kamay at nagbibigay ng senyales para sa pag-update ng mga parameter ng modelo sa panahon ng pagsasanay. Ang pagpili ng loss function ay depende sa partikular na gawain sa pagkilala ng imahe, tulad ng binary cross-entropy para sa binary classification o categorical cross-entropy para sa multi-class classification.
Halimbawa: Sa isang binary classification task, inihahambing ng binary cross-entropy loss ang hinulaang probabilidad ng positibong klase sa totoong label (0 o 1) at pinaparusahan ang malalaking pagkakaiba sa pagitan ng mga ito.
Ang convolutional neural network (CNN) ay binubuo ng convolutional layers, pooling layers, activation functions, fully connected layers, at loss function. Kinukuha ng mga convolutional layer ang mga makabuluhang feature mula sa input image, habang ang mga pooling layer ay nag-downsample sa feature na mga mapa. Ang mga function ng pag-activate ay nagpapakilala ng hindi linearity, at ang mga ganap na konektadong layer ay gumagawa ng mga huling hula. Sinusukat ng loss function ang pagkakaiba sa pagitan ng mga hinulaang output at ang ground truth label, na gumagabay sa proseso ng pagsasanay.
Iba pang kamakailang mga tanong at sagot tungkol sa Mga koneksyon na neural network sa TensorFlow:
- Paano masasanay at ma-optimize ang isang CNN gamit ang TensorFlow, at ano ang ilang karaniwang sukatan ng pagsusuri para sa pagtatasa ng pagganap nito?
- Ano ang papel ng ganap na konektadong mga layer sa isang CNN at paano ito ipinapatupad sa TensorFlow?
- Ipaliwanag ang layunin at operasyon ng convolutional layer at pooling layer sa isang CNN.
- Paano magagamit ang TensorFlow upang ipatupad ang isang CNN para sa pag-uuri ng imahe?
- Paano pinagsama ang mga convolution at pooling sa mga CNN upang matutunan at makilala ang mga kumplikadong pattern sa mga imahe?
- Ilarawan ang istraktura ng isang CNN, kabilang ang papel ng mga nakatagong layer at ang ganap na konektadong layer.
- Paano pinapasimple ng pooling ang mga feature na mapa sa isang CNN, at ano ang layunin ng max pooling?
- Ipaliwanag ang proseso ng mga convolution sa isang CNN at kung paano sila nakakatulong na matukoy ang mga pattern o feature sa isang imahe.
- Ano ang mga pangunahing bahagi ng isang convolutional neural network (CNN) at paano sila nakakatulong sa pagkilala ng imahe?
Higit pang mga tanong at sagot:
- Patlang: Artipisyal na Talino
- programa: EITC/AI/DLTF Malalim na Pag-aaral gamit ang TensorFlow (pumunta sa programa ng sertipikasyon)
- Aralin: Mga koneksyon na neural network sa TensorFlow (pumunta sa kaugnay na aralin)
- Paksa: Mga koneksyon na neural network na may TensorFlow (pumunta sa kaugnay na paksa)
- Pagsusuri sa pagsusulit