2019-08-01

[人工智慧] CNN,影像分區塊與RNN


作者:夏肇毅 2019-08-01 初版


CNN影像分區塊與RNN


CNN

人工智慧應用在影像有最長足進步的就是CNN (Convolutional Neural Network)Convolution就是卷積,是通訊和影像處理常用的積分。它用一個3乘3,5乘5或7乘7大小的正方形樣本,翻轉之後和影像相乘,然後再全部累加起來得到一個值。這個動作順序地從左上角開始做,一步一步往右上角移動。做完之後向下移一格再從左邊做到右邊。然後一路往下,直到最後一列,從左下角一直往右下角移動計算。因為範本需要在影像範圍中運作不能超過,所以這卷積的動作能將影像由大逐漸縮小。而影像在執行訓練時,一開始所使用的比對範本是由亂數所產生的。訓練之後,慢慢地就會變成跟影像內容相關的形狀。我們把這個比對範本稱為features特徵。根據需求特徵可以設成幾個或幾10個。特徵設得越多,同時可以比對的特徵有就越多,但是執行的速度也就跟著變慢。CNN到最後處理的結果就是分類,看你的輸入影像是最像哪一類的。在位資料訓練的時候,通常要順便標記這個影像是屬於哪一類的。然後再看看處理後的結果,根據它分類的誤差來調整前面的參數。調整之後的結果,會變成每一類的特徵會長得跟這一分類很像。
CNN不只能做2D的照片影像處理,它同時也可以做3D的影像處理。或者是2D影像在不同時段累積的處理。就比方說是電影連續影像也可以用CNN來處理。

影像分區塊

影像智慧分區塊有幾種不同的方式,第一種就是將影像的每一個pixel都區分到不同的類別上。比方說就是一隻狗,這邊是沙發,上面是屋頂。第二種就是找方塊。如果你像中有一隻狗,就把狗的方塊框出來。第三個就是找多個區塊。如果一個圖裡面有兩隻貓三隻狗,就會分別把貓跟狗的方塊框出。第四種就是把每一個類別物件的邊緣曲線框出。

RNN

類神經網路同時也可以用在歷史資料上的處理。如果網路可以儲存過去輸入的資料,在處理的時候,把現在的資料連同之前的資料一起來處理,然後調整參數。這一種的類神經網路,就叫做RNN Recurrent NNRNN可以用在語意,文字或翻譯上的應用。將整份文章餵給RNN網路,它就可以將整段文章記錄起來。然後你再輸入文章中的一個句子,它很快就會找到這個句子,然後再從這個句子的出處往下開始播放。這有點像錄影機,把資料全部錄起來,然後到時候很快能夠找到你想要看的部分。
人類腦袋的運作也是類似的,看過一些經歷就會將這些印象全部存起來。之後再看到某一些片段時,很快就會連結到之前這些經歷發生的地方,然後再重播放。這過程就是回憶,想到或是回想起來。將過去的資料一起處理,就是RNN主要的精神。所以輸入的資料除了第一層處理之外,也同時也記錄到其歷史的層級。中間層各自記錄自己的歷史資料,同時輸出層也一樣的紀錄者過去的輸出值。這樣子原本1D的架構,記錄了歷史資料之後就變成2D的架構了。

沒有留言:

張貼留言