2019TOI1214 新手同好會 5. 卷積神經網路 (CNN) {試題連結}
問題敘述
卷積神經網絡 (Convolutional Neural Network) 簡稱 CNN,是現在最火紅的深度學習課程 必教的模型。CNN 在影像識別方面非常厲害,許多影像辨識的模型都是以 CNN 的架構為基 礎去做延伸。 CNN分為三個部分:卷積層 (convolution layer)、池化層 (pooling layer) 和全連接層 (fully connected layer)。卷積層用於提取影像特徵,池化層減小資料的空間大小,全連接層主要目的 為實現分類。池化層最常見的作法是最大池化法 (max pooling),它將輸入的影像劃分為若干 個 2×2 的矩形子區域,對每個子區域輸出最大值。 給定一個 n×n 的二維陣列,請實作最大池化演算法並輸出池化後的結果。
最大池化法示意圖
圖片來源:https://embarc.org/embarc_mli/doc/build/html/MLI_kernels/pooling_max.html
評分說明 此題目測資分成兩組,每組測資有多筆測試資料,需答對該組所有測試資料才能獲得該 組分數。各組詳細限制如下: 子任務1 分數40 額外輸入限制 n = 4。子任務2 分數60 無特別限制。
第一行有一個正整數 n(4<=n<= 20,n 為 2 的倍數),代表輸入影像邊長。接下去有 n 行, 每行各有 n 個數字,數值範圍[-2^31, 2^31) {原題不明確,這明定為int範圍},以空白隔開,代表影像陣列中的資料值。
輸出經 2x2 最大池化後的結果。
4 12 20 30 0 8 12 2 0 34 70 37 4 112 100 25 12
20 30 112 37
6 10 2 0 12 1 3 21 0 13 2 2 0 0 0 0 10 0 0 19 2 0 13 61 1 0 1 32 3 0 2 9 2 0 31 11 0
21 13 3 19 13 61 9 32 11
4 -2147483648 -1 2 3 -5 -6 2147483647 -543 6 7 8 9 9 8 7 6
-1 2147483647 9 9
TOI官網參考解只處理非負值,這裏改為有負值
ID | User | Problem | Subject | Hit | Post Date |
41067 | jim1225sweet ... (Jim CH) | e798 | 159 | 2024-06-30 13:25 | |
40962 | wubaie (小億) | e798 | 113 | 2024-06-21 21:30 | |
26292 | 406490150@gm ... (我是朱朱) | e798 | 843 | 2021-07-31 01:35 |