什麼是CNN呢?什麼是Convolutional Neural Network (CNN) 呢?

ask: what is a convolutional neural network

Answer:

Convolutional Neural Network (CNN) is a type of artificial neural network that is primarily used for image and video recognition tasks. It is designed to process data through multiple layers of arrays, commonly known as convolutional layers, which learn hierarchical representations of the input data. The layers apply filters to the input data to detect various features, such as edges, textures, and shapes, which are then used to classify the input data into various classes.




根據上面的說法,我們可以知道CNN是一種人工的神經網路,為一種類神經網路,主要用在影像與影片辨識的任務。早期的類神經網路2個層的任何節點都有連結,如上圖,而CNN的設計為2個層間的節點不一定要有連結。設計的方式可比類神經網路更為多層的陣列,這些很多層的陣列稱為convolutional layers,這些多層的陣列可以學習上層的輸入資料。可以使用一些filter將上層輸入進來的資料解析,如邊緣、紋理、形狀,接著再將這些輸入的資料分為許多的類別。

一種Convolutional Neural Network辨識的範例


如上圖,輸入為圖片,輸入層為最左邊,通常有中間稱為隱藏層,可以有多層,最後再分類,可以分類輸入的照片為汽車、卡車、休旅車...等。這種作法僅使用多個圖片資料輸入,就可在相同的程式中(Convolutional neural network)訓練出很好的辨識結果。

通常只要輸入的資料夠多,CNN就能辨識成功,效果很好,可以應付比較多變的環境也有不錯的辨識效果。如晴天與雨天的車輛辨識,使用傳統演算法可能需要2個或多個不同的參數的演算法,甚至不同演算法。但CNN可以只使用單一網路,只要將資料輸入正確,資料中包含有晴天與雨天的圖片,訓練完成後,就可以使用單一網路完成晴天與雨天的車輛辨識任務。

但辨識的訓練任務需要大量的運算資源,目前通常使用最新的GPU可以訓練的比較快。



留言

這個網誌中的熱門文章

【多益】現點現做的英文怎麼說呢?

《Microsoft Word 應用》:圖片被文字蓋住解決方法,不可設定為固定行高

如何在Ubuntu系統上安裝Notepad ++ (Install Notepad++ On Ubuntu 16.04 / 17.10 / 18.04 / 20.04)