1.png (146.17 KB, 下載次數: 3)
下載附件 保存到相冊
Python CNN計算
2021-3-9 22:22 上傳
2.png (182.7 KB, 下載次數: 5)
•輸入的圖片是32 X 32,我們定義幾個圖片參數 •長寬 W:32 •過濾器的長寬 F:5 Filter 的尺寸,代表我們設定一個5X5的過濾器。 •步伐長度 S:1 •Padding P:0 •1.第一個卷積層(於F為5的情況下) • 輸出 的圖片大小為 N • N= ((W − F + 2P )/S)+1 • N=((32-5+0)/1)+1 • N=28 • c=32/5 • c=6.4 特徵數量 取6 • 第一個捲積層為6@28X28 •6代表我們在32X32的圖片上移動6次,每次產生28X28的圖像。
輸入的圖片是32 X 32,我們定義幾個圖片參數 長寬 W:32 過濾器的長寬 F:3 Filter 的尺寸,代表我們設定一個3X3的過濾器。 步伐長度 S:1 Padding P:0 1.第一個卷積層(於F為3的情況下) 輸出 的圖片大小為 N N= ((W − F + 2P )/S)+1 N=((32-3+0)/1)+1 N=30 #第一個捲積層的尺寸 c=32/3 c=10.67 特徵數量 取10 第一個捲積層為10@30X30 10代表我們在32X32的圖片上移動 10次,每次產生30X30的圖像。
3.png (167.2 KB, 下載次數: 4)
於捲積層之後就會接著一個池化層。 池化層將會減少圖像的大小,圖像的大小就會剩下一半。 而池化層處理時每一個區域,可以選擇最大值、平均值、最小值等不同的計算方式。 捲積加上池化,將使特徵數量增加,圖像尺寸會變小。 一個捲積加上一個池化。 池化層可挑選出捲積層的重要特徵,這些特徵可產生圖像 若大於filter,那再產生下一層捲積層。 若沒有大於filter,就可進行完全連結層,將特徵轉換為一維。
Q:為何要跟filter比大小呢? A: 捲積的計算是滑動、相乘後相加的動作。 是filter在圖像上滑動,若圖像小於等於filter,就無法滑動,也就不能進行捲積的動作。 無法進行捲積動作,也就代表這個圖像、這個特徵就可以進行分類的資料。
資料來源是第一個池化層的6@14X14。 第二個捲積層計算出來的圖像尺寸為10*10 filter移動會產生多少特徵? filter移動是在input上移動產生ouput,而我們input是14X14。 14/5,一個特徵上filter將移動2.8個output。 input進來是6個特徵,所以總共移動2.8X6個output,16.8, 代表移動產生16個output特徵。 產生16個10X10的特徵圖像。
4.png (25.14 KB, 下載次數: 3)
filter在14*14上面移動,移動2.8個。 input的這6個特徵是有關聯性,我們要跑完所有特徵。所以所有步伐是2.8*6
跑完之後是16.8個特徵,最終的結果只會保留整數部分,所以最終結果是16個特徵。
5.png (14.82 KB, 下載次數: 3)
2021-3-9 22:25 上傳
Q 特徵可以解釋為圖片嗎? A: 1.CNN的目的就是在原始input圖片上找出分類的重點。 2.很多特徵意味著於原始圖片上找出很多具有分類意義的重點,抑或可說子圖片。 3.特徵數量都是整數值。 4.特徵數量最後再進行分類。
6.png (126.32 KB, 下載次數: 7)
2021-3-9 22:26 上傳
7.png (127.27 KB, 下載次數: 4)
2021-3-9 22:27 上傳
8.png (91.99 KB, 下載次數: 4)
2021-3-9 22:29 上傳
9.png (135.92 KB, 下載次數: 5)
10.png (160 KB, 下載次數: 5)
特徵圖像尺寸於完全連結層之後就結束,將會成為一維資料。 完全連接層需要規劃多少個? CNN的處理規則內並未規劃。 因你最後的分類項目多少並沒有限制,而一開始成為一維資料的參數個數也無法規定,所以這邊要規劃多少須由實際操作去做調整。 (Filter長*Filter寬* 輸入特徵數量+1)*輸出特徵數量 上述的+1代表Bias,偏移值或偏差值的計算。
11.png (177.86 KB, 下載次數: 3)
2021-3-9 22:31 上傳
3.第一個完全連結層參數 (Filter長*Filter寬* 輸入特徵數量+1)*輸出特徵數量 (5*5*16+1)*120=48120 4.第二個完全連結層參數 (Filter長*Filter寬* 輸入特徵數量+1)*輸出特徵數量 (1*1*120+1)*84=10164
12.png (49.22 KB, 下載次數: 4)
2021-3-9 22:33 上傳
Q:120與84是怎麼產生的? A: 完全連接層並未設定計算方式,可依環境做調整。 以這個範例為例, 一開始接收的特徵數量為400,最後的結果為10。 以特徵數量變化而言,規劃1-3個完全連結層處理傳遞的參數值。 第一個完全連結層建議可控制參數數量為40000-50000之間,再逐層遞減。 假設說你的電腦效能很好,亦可多加入完全連結層,第一個完全連結層參數可設定70000-80000之間,再逐層遞減。
使用道具 舉報
本版積分規則 發表回復
Archiver|手機版|小黑屋|免責聲明|TShopping
GMT+8, 2024-5-6 10:26 , Processed in 0.069955 second(s), 26 queries .
本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.