【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )
文章目錄
- I . 池化
- II . 丟棄操作
- III . 批量規(guī)范化
- IV . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 1 ) : 原始輸入圖
- V . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 2 ) : 卷積層 C1C_1C1?
- VI . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 3 ) : 池化層 S2S_2S2?
- VII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 4 ) : 卷積層 C3C_3C3?
- VIII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 5 ) : 卷積層 C3C_3C3? 特征組合示例
- IX . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 6 ) : 池化層 S4S_4S4?
- X . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 7 ) : 卷積層 C5C_5C5?
- XI . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 8 ) : 全連接層 F6F_6F6?
- XII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 9 ) : 輸出層
- XIII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例整體圖示 ( 10 )
- XIV . 卷積神經(jīng)網(wǎng)絡(luò) 總結(jié)
- XV . 卷積神經(jīng)網(wǎng)絡(luò) 與 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)
I . 池化
1 . 池化 簡(jiǎn)介 :
① 池化概念 : 池化就是將一塊區(qū)域降維 , 甚至減少到一個(gè)值 ;
② 池化過(guò)程 : 將圖像分割成一塊塊小區(qū)域 , 每個(gè)區(qū)域只取一個(gè)值 , 取該區(qū)域的 最大值采樣 , 或平均值采樣 ;
③ 池化作用 : 卷積操作的卷積核一般都比較小 , 卷積完成后的圖像一般也很大 , 進(jìn)行池化過(guò)程 , 可以指數(shù)級(jí)地降低維度 ;
2 . 池化采樣 : 使用采樣窗口 , 將圖片分割成一塊一塊的區(qū)域 , 每一塊區(qū)域取一個(gè)值 ; 下圖是一個(gè)采樣窗口 , 四個(gè)值分別是 {1,2,3,4}\{1,2,3,4\}{1,2,3,4} ;
① 最大值采樣 : 每個(gè)采樣窗口中 , 取像素值最大的那個(gè)值 ; 如果取最大值 , 上述采樣窗口取值 444 ;
② 平均值采樣 : 每個(gè)采樣窗口中 , 取所有像素值的平均值 ; 如果取平均值 , 上述采樣窗口取值 1+2+3+44=2.5\dfrac{1 + 2 + 3 + 4}{4} = 2.541+2+3+4?=2.5 ;
3 . 池化意義 :
① 降低維度 : 降低了圖片的維度 , 意味著損失了很多數(shù)據(jù) , 但剩余的特征仍能夠描述圖像 , 極大降低了參數(shù)數(shù)量 ;
② 避免過(guò)擬合 : 由于維度降低了 , 還有避免過(guò)擬合的作用 ;
4 . 池化示例 : 如給一個(gè) 8×88 \times 88×8 的圖片 , 使用 4×44 \times 44×4 的采樣窗口 對(duì)該圖片進(jìn)行采樣 , 最終得到一個(gè) 2×22 \times 22×2 的圖片 ;
① 原始圖片 : 8×88 \times 88×8 大小 ;
② 切割圖片 : 使用采樣窗口將其分割 , 如下 紅色區(qū)域 , 綠色區(qū)域 , 紫色區(qū)域 , 黃色區(qū)域 ;
③ 取值 : 每個(gè)區(qū)域取一個(gè)值 , 最大值 , 或 平均值 ;
④ 最終結(jié)果 : 最終結(jié)果是 2×22 \times 22×2 的圖片 , 如 紅色區(qū)域 4×44\times 44×4 取平均值 , 對(duì)應(yīng)該池化結(jié)果的紅色值 ;
II . 丟棄操作
丟棄操作簡(jiǎn)介 :
① 全連接網(wǎng)絡(luò)參數(shù)多 : 神經(jīng)網(wǎng)絡(luò)是全連接的 , 全連接會(huì)有非常多的參數(shù)個(gè)數(shù) ;
② 丟棄神經(jīng)元單元 : 在學(xué)習(xí)過(guò)程中 , 每次都隨機(jī)丟棄一些神經(jīng)元單元 ;
③ 作用 : 減少參數(shù)數(shù)量 , 可以 降低過(guò)擬合的風(fēng)險(xiǎn) ;
III . 批量規(guī)范化
批量規(guī)范化 :
① 操作過(guò)程 : 對(duì)輸入的數(shù)據(jù)減去一個(gè)均值 , 或除以一個(gè)方差 , 降低數(shù)值的大小 , 可以有效加快計(jì)算速度 ;
② 作用 : 能加快計(jì)算速度 ;
IV . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 1 ) : 原始輸入圖
輸入圖 : 是 32×3232 \times 3232×32 大小的圖片 ;
V . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 2 ) : 卷積層 C1C_1C1?
卷積層 C1C_1C1? :
① 操作過(guò)程 : 32×3232 \times 3232×32 大小的圖像輸入后 , 在該層使用 666 個(gè) 5×55 \times 55×5 的卷積核對(duì)輸入圖進(jìn)行卷積 ;
② 卷積核大小 : 5×55 \times 55×5 , 這是過(guò)濾器 , 滑動(dòng)窗口 等的大小 ;
③ 卷積結(jié)果 : 使用該卷積核得到的卷積結(jié)果是 28×2828 \times 2828×28 的圖像 , 555 在 323232 中從左滑到右 , 從上滑到下 , 是 32?5+1=2832 - 5 + 1 = 2832?5+1=28 , 也就是 28×2828 \times 2828×28 的由來(lái) ;
④ 卷積核個(gè)數(shù) : 這里有 666 個(gè)卷積核 , 即對(duì)應(yīng) 666 種底層紋理特征 ; 每個(gè)輸入圖 與 卷積核 進(jìn)行卷積后 , 得到一個(gè)結(jié)果 , 這里得到 6 個(gè)卷積結(jié)果 ;
⑤ 本層卷積結(jié)果 : 666 個(gè) 28×2828 \times 2828×28 的圖像 ;
VI . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 3 ) : 池化層 S2S_2S2?
池化層 S2S_2S2? :
① 本層輸入 : 666 個(gè) 28×2828 \times 2828×28 的圖像 ;
② 池化層操作 : 使用 2×22 \times 22×2 的采樣窗口 , 對(duì)上述卷積得到的 666 個(gè)圖像進(jìn)行采樣 , 將 666 個(gè) 28×2828 \times 2828×28 的圖像池化成 666 個(gè) 14×1414 \times 1414×14 的圖像 ;
③ 采樣窗口 : 2×22 \times 22×2 , 相當(dāng)于把圖像數(shù)據(jù)量縮小了 444 倍 ;
④ 本層池化結(jié)果 : 666 個(gè) 14×1414 \times 1414×14 的圖像 ;
VII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 4 ) : 卷積層 C3C_3C3?
卷積層 C3C_3C3? :
① 卷積核 大小 : 5×55 \times 55×5 的卷積核組成 ;
② 卷積圖像大小 : 將 14×1414 \times 1414×14 的圖像 , 使用 5×55 \times 55×5 的卷積核 進(jìn)行卷積 , 得到的結(jié)果是 10×1010 \times 1010×10 的圖像 , 由 14?5+1=1014 - 5 + 1 = 1014?5+1=10 計(jì)算得來(lái) ;
③ 卷積核個(gè)數(shù) : 161616 個(gè) , 每個(gè)輸入圖片 , 卷積后都得到 161616 個(gè)圖片 ;
④ 特征圖組合 全連接 : 上一層 S2S_2S2? 池化層 輸出了 666 個(gè) 14×1414 \times 1414×14 的圖像 , 如果是全連接 , 那么本層需要進(jìn)行 6×166 \times 166×16 次卷積 , 得到 969696 個(gè)卷積結(jié)果 ;
⑤ 特征圖組合 部分連接 : 上一層 S2S_2S2? 池化層 輸出了 666 個(gè) 14×1414 \times 1414×14 的圖像 , 可以為不同的輸入圖像 ( 上一層輸入的 666 張圖片 ) , 配置不同的卷積核 ( 本層的 161616 個(gè)卷積核 ) 進(jìn)行卷積計(jì)算 , 有多種排列組合方式可供選擇 ;
3 . 輸入與輸出結(jié)果 :
① 輸入圖 : 666 個(gè) 14×1414 \times 1414×14 的圖像 ;
② 輸出圖 : 161616 個(gè) 10×1010 \times 1010×10 的圖像 ;
VIII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 5 ) : 卷積層 C3C_3C3? 特征組合示例
1 . 特征圖組合示例 : C3C_3C3? 中有 161616 個(gè)卷積核 , 分別編號(hào) n=1,2,?,16n = 1, 2, \cdots, 16n=1,2,?,16 , 上一層 S2S_2S2? 輸出 666 個(gè)圖像 , 編號(hào) m=1,2,?,6m = 1, 2, \cdots, 6m=1,2,?,6 ; 可以使用一個(gè) 6×166 \times 166×16 的矩陣 ( 666 行 161616 列 ) 表示為哪個(gè)圖像 , 進(jìn)行哪個(gè)卷積操作 ;
① 表格說(shuō)明 : 000 到 555 行 , 表示輸出的 666 個(gè)圖片 ; 000 到 151515 列 , 表示本層的 161616 個(gè)卷積核 ;
② 表格位置含義 : 第 000 行 代表是上層 S2S_2S2? 的第 000 個(gè)輸入圖像 , 第 000 列 , 表示本層 C3C_3C3? 的第 000 個(gè)卷積核 ;
2 . 表格值含義 :
① 卷積 : 如果 第 000 行 第 000 列 值為 1 , 表示 第 000 個(gè)輸入圖像 需要與 第 000 個(gè)卷積核 進(jìn)行卷積運(yùn)算 ;
② 不卷積 : 如果 第 000 行 第 000 列 值為 0 , 表示 第 000 個(gè)輸入圖像 需要與 第 000 個(gè)卷積核 不進(jìn)行卷積運(yùn)算 ;
3 . 下面表格示例含義 : 下圖中除了第 555 張圖片的 第 151515 個(gè)卷積核 的卷積計(jì)算不用執(zhí)行外 , 其它的 959595 個(gè)卷積計(jì)算都要執(zhí)行 ;
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
該表中有 969696 個(gè)表格位置 , 可以精確的指出哪些卷積操作需要做 , 哪些不需要做 , 可以使用矩陣形式表示出來(lái) , 我就不寫(xiě)了 , Latext 矩陣太麻煩 ;
4 . 特征組合的意義 :
① 減少計(jì)算量 : 可以減少參數(shù)個(gè)數(shù) , 進(jìn)而降低計(jì)算量 ;
② 增加性能 : 不同特征組合 , 有利于指定的特征提取 ;
IX . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 6 ) : 池化層 S4S_4S4?
池化層 S4S_4S4? 輸入 : 輸入 161616 個(gè) 10×1010 \times 1010×10 的圖像 , 使用 2×22 \times 22×2 的采樣 進(jìn)行池化 , 得到 161616 個(gè) 5×55 \times 55×5 的圖像 ;
池化層 S4S_4S4? 輸出 : 輸出 161616 個(gè) 5×55 \times 55×5 的圖像 ;
X . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 7 ) : 卷積層 C5C_5C5?
1 . 卷積層 C5C_5C5? 操作 :
① 卷積層 C5C_5C5? 輸入 : 輸入 161616 個(gè) 5×55 \times 55×5 的圖像 ;
② 卷積操作 : 使用 120120120 個(gè) 5×55 \times 55×5 的卷積核 , 在上述 161616 個(gè)圖像上進(jìn)行卷積操作 , 得到 120×6120 \times 6120×6 個(gè) 1×11 \times 11×1 的圖像 ;
③ 卷積層 C5C_5C5? 輸出 : 輸出 120120120 個(gè) 1×11 \times 11×1 的圖像 ;
2 . 卷積計(jì)算分析 :
① 卷積核大小 與 圖像大小 : 此處卷積核大小 與 圖像大小都是 5×55 \times 55×5 的大小 , 卷積之后 , 只剩下一個(gè)值 , 即 1×11 \times 11×1 像素大小 ;
② 卷積核 與 圖像 卷積結(jié)果個(gè)數(shù) : 111 個(gè)圖像 與 120120120 個(gè) 卷積核進(jìn)行卷積 , 有 120120120 個(gè)結(jié)果 ; 666 個(gè)圖像 與 120120120 個(gè) 卷積核進(jìn)行卷積 , 有 720720720 個(gè)結(jié)果 ;
③ 特征選擇 : 此處又要進(jìn)行特征選擇 , 并不需要將所有輸入圖像 , 每個(gè)都進(jìn)行 120120120 次卷積 , 只選擇其中的 120120120 個(gè)組合即可 , 因此這里輸出 120120120 個(gè) 1×11 \times 11×1 的圖像 ;
XI . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 8 ) : 全連接層 F6F_6F6?
1 . 輸入與輸出 :
① 本層的輸入值 : 120120120 個(gè)連接的權(quán)重 , 乘以每個(gè)單元輸入值 , 加上每個(gè)輸入單元的偏置 , 將這 120120120 個(gè)值累加起來(lái) , 就得到了某個(gè)單元的輸入 ;
② 本層的輸出 : 本層的單個(gè)單元的輸入 , 傳入 sigmod 函數(shù) , 即可得到單元的輸出值 ;
2 . 神經(jīng)元個(gè)數(shù) :
① 全連接層 神經(jīng)元個(gè)數(shù) : 全連接層有 12×7=8412 \times 7 = 8412×7=84 個(gè)神經(jīng)元單元 , 每個(gè)神經(jīng)元單元都代表圖像的像素點(diǎn) ;
② 神經(jīng)元個(gè)數(shù)由來(lái) : 假設(shè)圖像的大小為 12×712 \times 712×7 像素大小 , 每個(gè)像素值都作為一個(gè)輸入 , 即有 848484 個(gè)單元 ;
3 . 連接參數(shù) :
① 全連接 : 該層 848484 個(gè)神經(jīng)元 , 與 上一層 C5C_5C5? 卷積層輸出的 120120120 個(gè)值進(jìn)行全連接 , 即 C5C_5C5? 層與 F6F_6F6? 層有 120×84120 \times 84120×84 條連接線 ;
② 權(quán)重 : 這里的權(quán)重 是上一層 120120120 個(gè)單元 , 與本層 848484 個(gè)單元 , 單條連接的權(quán)重 ;
③ 偏置 : 注意這里的偏置是上一層輸出單元的參數(shù) , 是 120120120 個(gè)輸出單元的每個(gè)單元的偏置參數(shù)值 ;
—
XII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例 ( 9 ) : 輸出層
1 . 輸出層簡(jiǎn)介 :
① 全連接 : 輸出層 與 上一層 F6F_6F6? 是全連接的 , 即 F6F_6F6? 全連接層 848484 個(gè)神經(jīng)元單元 與 輸出層的 101010 個(gè)神經(jīng)元的連接 是 全連接 的 ;
② 輸出層 神經(jīng)元單元 個(gè)數(shù) : 該層有 101010 個(gè)神經(jīng)元單元 , 分別對(duì)應(yīng) 0,1,2,3,4,5,6,7,8,90 ,1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9 , 這 999 個(gè)數(shù)字 ;
③ 描述總結(jié) : 當(dāng)前有 101010 張圖片 , 每張圖片有 12×712 \times 712×7 像素 , 即 848484 個(gè)像素點(diǎn) ;
2 . 連接的深層次含義 :
① 全連接層單元分析 : 全連接層 F6F_6F6? 有 848484 個(gè)單元 , 對(duì)應(yīng)的就是 848484 個(gè)像素點(diǎn) ;
② 輸出層單元分析 : 輸出層的每個(gè)單元 , 都代表一張圖片 ;
③ 連接個(gè)數(shù)分析 : 輸出層每個(gè)單元 , 都連接 F6F_6F6? 全連接層的所有單元 , 這里每個(gè)圖片都有 848484 個(gè)連接 , 101010 個(gè)圖片有 有 10×84=84010 \times 84 = 84010×84=840 個(gè)連接 ;
④ 連接 與 像素值對(duì)應(yīng) : 輸出層每個(gè)單元 ( 每張圖片 ) 都有 848484 個(gè)連接 , 這里直接與每個(gè)圖片的 12×7=8412 \times 7 = 8412×7=84 個(gè)像素點(diǎn)對(duì)應(yīng) ;
⑤ 連接本質(zhì) : 連接的權(quán)值就是真實(shí)像素值 ;
3 . 連接權(quán)值描述 :
① F6F_6F6? 層與輸出層的連接權(quán)值 : 全連接層 F6F_6F6? 中的第 jjj 個(gè)單元 是 xjx_jxj? , 與 輸出層 第 iii 個(gè)單元 進(jìn)行連接 , 該連接的權(quán)值為 wijw_{ij}wij? ;
② wijw_{ij}wij? 連接權(quán)值 : 該連接權(quán)值就是 第 iii 張圖片對(duì)應(yīng)的 F6F_6F6? 層 像素點(diǎn)位置 的真實(shí)像素值 ;
4 . 輸出計(jì)算 : 每個(gè)單元的輸出值使用 yyy 標(biāo)記 , 輸出層 101010 個(gè)單元 , 第 iii 個(gè)單元的輸出值為 yiy_iyi? , 計(jì)算公式如下 :
yi=∑j=184(xj?wij)2y_i = \sum_{j = 1}^{84}(x_j - w_{ij})^2yi?=j=1∑84?(xj??wij?)2
yiy_iyi? 表示輸出層第 iii 個(gè)單元的輸出 ;
xjx_jxj? 表示經(jīng)過(guò)多個(gè) 卷積 池化 后的 計(jì)算出的像素值 ;
wijw_{ij}wij? 指的是 12×712 \times 712×7 圖片上的對(duì)應(yīng)的真實(shí)像素值 ;
(xj?wij)2(x_j - w_{ij})^2(xj??wij?)2 取平方 , 是為了獲取其誤差 , 避免符號(hào)干擾 ; 這是誤差平方公式 , 整體是誤差平方和公式 ;
5 . yiy_iyi? 輸出意義 :
① 像素位置說(shuō)明 : xjx_jxj? 表示識(shí)別出的像素圖片第 jjj 個(gè)像素的位置 , wijw_{ij}wij? 表示第 iii 張圖片的第 jjj 個(gè)像素的位置 ;
② 同一位置像素相減 : 假如這兩張圖片是同一張圖片 , 那么 xjx_jxj? 與 wijw_{ij}wij? 是相同的 , 或者相似的 , 其相減數(shù)值很小 , 基本為 000 ;
③ 值越小相似度越大 : yiy_iyi? 值很小時(shí) , 說(shuō)明此時(shí)該圖片與第 iii 張圖片及其相似 , 該圖片就被識(shí)別成 iii 圖片 ;
④ 輸出結(jié)果分析 : 輸出的 101010 個(gè) yiy_iyi? , 哪個(gè)值最小 , 就將輸入圖片分類(lèi)成該 第 iii 張圖片 ;
XIII . 卷積神經(jīng)網(wǎng)絡(luò) 完整流程示例整體圖示 ( 10 )
XIV . 卷積神經(jīng)網(wǎng)絡(luò) 總結(jié)
1 . 先卷積池化 再全連接訓(xùn)練 : 卷積神經(jīng)網(wǎng)絡(luò) 一般會(huì)進(jìn)行多層的卷積 池化 操作 , 然后將維度降低到可接受程度以后 , 再將圖片的像素值輸入到傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中 , 該網(wǎng)絡(luò)中各層都是全連接的 , 又叫全連接層 , 然后進(jìn)行訓(xùn)練 , 找到合適的參數(shù) ;
2 . 卷積 池化作用 : 卷積 和 池化操作 目的是為了提取圖片的特征 , 降低輸入圖像的維度 , 進(jìn)而減少訓(xùn)練的參數(shù)個(gè)數(shù) ;
3 . 全連接層本質(zhì) : 全連接層 與 輸出層 組合 , 就是一個(gè)傳統(tǒng)的神經(jīng)網(wǎng)絡(luò) , 有輸入層 , 隱藏層 , 輸出層 , 起到將卷積池化后的圖像輸入然后分類(lèi)的作用 , 就是一個(gè)分類(lèi)器 ;
4 . 特征提取性能 : 每次卷積 , 都會(huì) 使用 卷積核 提取 底層紋理特征 , 卷積次數(shù)越多 , 提取的特征越多 , 學(xué)習(xí)到的特征就越豐富 , 與之相對(duì)的是神經(jīng)網(wǎng)絡(luò)變得越來(lái)越復(fù)雜 ;
XV . 卷積神經(jīng)網(wǎng)絡(luò) 與 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò) 與 傳統(tǒng)神經(jīng)網(wǎng)絡(luò) :
① 訓(xùn)練過(guò)程一致 : 卷積神經(jīng)網(wǎng)絡(luò)看起來(lái)很復(fù)雜 , 但其訓(xùn)練過(guò)程與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)基本一樣 , 也是使用反向傳播算法 ; 只是加入了 卷積 池化的 步驟 ;
② 向前傳播輸入 : 將輸入圖進(jìn)行多次 卷積 池化操作 , 提取特征 , 將提取到的特征屬性輸入到全連接層 , 然后就是計(jì)算各層輸入輸出 ;
③ 向后傳播誤差 : 計(jì)算輸出值 , 與實(shí)際值的誤差 , 然后向后將誤差傳播回去 , 作為修改全連接層中的權(quán)值和偏置的依據(jù) ; 使用梯度下降方法更新權(quán)值和偏置 ;
總結(jié)
以上是生活随笔為你收集整理的【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

- 上一篇: 【数据挖掘】卷积神经网络 ( 视觉原理
- 下一篇: 【Android 应用开发】Androi