L08|中文 F3 學生的學習紀錄
L08|中文 F3 學生的學習紀錄
角色設定:我是中三學生,只看得懂中文。Python 學過變數、for 迴圈和 list,數學讀到一元二次方程。我靠中文課程筆記、YouTube 自動翻譯字幕和查字典來學。Kaggle 筆記本的操作步驟,是依官方 notebook 流程寫下的練習紀錄。
我讀懂了什麼(用自己的話)
- 卷積就是拿一個小方格在圖片上一格一格滑,做相乘再加總,用來找出邊緣這類圖案。
- 第一層找線條,第二層把線條組合成角、圓,越後面的層看到越複雜的東西。
- Max pooling 每四格留最大的一格,圖片變小但重要特徵還在。
- Dropout 是故意讓模型「少看一些」,逼它不要只靠某幾個特徵。
- 嵌入學完之後可以拿來分析,例如找出大家都不太喜歡的電影。
我卡住的地方,和我怎麼解決
| 卡住的地方 | 我怎麼解決 |
|---|---|
| 卷積的輸出大小怎麼算 | 4×4 的圖,3×3 的核只能放在 2×2 個位置,所以輸出是 2×2;公式是 4 − 3 + 1 = 2。 |
| Excel 卷積範例格子太多看不完 | 只看左上角一個位置,自己用紙筆算一次,再對照 Excel 的答案。 |
| PCA 的原理完全不懂 | 課程說可以先當作「把很多數字壓成兩個數字來畫圖」的工具,原理留到以後。 |
練習作答
Q1. 4×4 圖片上兩列全是 0、下兩列全是 9。用卷積核 [[−1,−1,−1],[0,0,0],[1,1,1]](不補邊)做卷積,輸出是幾乘幾?每格的值是多少?這個核在偵測什麼?
輸出 2×2。每個位置的 3×3 區塊上列是 0、中列 0、下列 9(或上列 0、中列 9、下列 9),算出來:(−1)×0×3 + 0 + 1×9×3 = 27。所以四格都是 27。它在偵測「上暗下亮」的水平邊。
Q2. 對矩陣 [[1,3,2,0],[5,4,1,1],[0,2,8,6],[1,1,3,7]] 做 2×2 最大池化,寫出結果。
左上 [1,3,5,4] 最大 5;右上 [2,0,1,1] 最大 2;左下 [0,2,1,1] 最大 2;右下 [8,6,3,7] 最大 8。結果 [[5,2],[2,8]]。
Q3. Dropout 的機率是 0.5 時,訓練中沒被設為 0 的值要乘以多少?為什麼?預測時要不要用 dropout?
要乘以 2(也就是 1 ÷ (1 − 0.5))。因為一半的值被關掉,整體平均會變一半,放大兩倍才能讓平均跟沒有 dropout 時一樣。預測時不用 dropout,所有值都保留。
Q4. 一部電影的偏差(bias)很低,代表什麼?為什麼這比單看平均評分更有意義?
代表就算是喜歡這類型電影的人,也不太喜歡這部片。平均評分會受觀眾類型影響(例如只有恐怖片迷會看恐怖片),偏差已經扣掉了「誰在看」的影響,更能反映電影本身好不好。
Q5. 用自己的話說明:為什麼 CNN 第二層可以偵測比第一層更複雜的圖案?
第一層的卷積核直接看像素,只能找到簡單的線條和邊緣。第二層的輸入是第一層找到的特徵圖,所以它可以把「橫線+直線」組合成「角」,再往後組合成眼睛、輪子這類更複雜的東西。
我的卡片盒筆記
卡片|複雜的辨識能力,是一層層簡單特徵疊出來的
CNN 看圖的方式很像拼積木。第一層只會找直線和橫線,第二層把線組合成角和弧,再往後才組成眼睛、輪子、羽毛。每一層都很簡單,疊起來就能辨識複雜的東西。
這讓我想到羽毛球教練教殺球。教練不會一開始就叫我們跳殺,而是先練握拍,再練側身轉體,再練手腕發力,最後才把動作串起來。我以前總想直接學完整動作,結果每次姿勢都歪。後來照順序一層層練,殺球速度才真的變快。不過我覺得 CNN 和人的差別是,它的每一層是自己從資料學出來的,沒有教練幫它排順序,這點讓我很好奇它怎麼知道要先學線條。現在回頭看,教練的分解練習,其實就是在幫我們一層層建立動作的特徵。
這週我要做的小行動:用紙筆在 6×6 的格子圖上做一次垂直邊偵測,再到 Excel 驗證答案。
🔗 推薦產生關聯的筆記: → 學習方法類:「複雜技能要拆成可以單獨練習的小動作」 → 運動科學類:「動作鏈由下而上傳遞力量」 → 技術類:「深層網路的每一層都在重新描述上一層」
回到課程筆記:L08_卷積神經網路_202611041526