【人工智能导论】07-学习-CNN:卷积+池化+多层堆叠,有效处理图像等结构化数据

2025博客之星年度评选已开启 10w+人浏览 1.7k人参与

⏱️ 预计阅读时间:40-50分钟
🎯 学习目标:学会怎么设计处理图像的神经网络,怎么用卷积和池化提取特征,怎么应用到实际视觉任务。


📚 核心结论(塔尖):卷积+池化+多层堆叠+性能分析,有效处理图像等结构化数据

CNN解决的核心问题是怎么设计、分析和应用一个能够有效处理图像等结构化数据的神经网络。这需要解决四个核心问题:

首先,怎么捕获图像的局部特征?就像你看一张猫的照片,会先注意到眼睛、耳朵、胡须这些局部特征,而不是一下子看整张图。卷积操作就像用一个小的模板(比如3×3的窗口)在图像上滑动,检测边缘、线条等局部模式。关键是通过局部连接(只看局部区域)和参数共享(同一个模板在整个图像上重复使用),大幅减少参数数量。比如识别一张1000×1000的图片,传统全连接网络需要连接所有像素,参数数量巨大;而卷积操作只需要一个小的模板,在图像上滑动,参数数量大幅减少。

其次,怎么提取关键信息并减少计算量?就像你看完一张照片后,记住的是关键特征(比如"有尖耳朵"、“有胡须”),而不是每个像素的细节。池化操作就像压缩图像,保留重要信息,减少计算量。比如最大池化,在一个2×2的区域里只保留最大值,图像大小从1000×1000变成500×500,但关键特征还在。同时,池化还提供平移不变性,就像猫在图片左边还是右边,都能识别出来。

然后,怎么从简单特征组合成复杂特征?就像你识别猫,先看到边缘和线条(简单特征),然后组合成眼睛、耳朵(中等特征),最后组合成整个猫(复杂特征)。多层堆叠就是这样的过程:第一层检测边缘和线条,第二层组合成纹理和形状,第三层组合成物体和语义。这样就能从局部到全局,逐步理解图像。

最后,怎么评估和优化性能?就像评价一个系统,不仅要看准确性,还要看速度、资源消耗、稳定性。CNN性能分析需要从多个维度评估:准确率(识别得准不准)、速度(算得快不快)、内存(占多少资源)、鲁棒性(稳不稳定)。

针对不同的视觉任务,需要设计不同的架构:

  1. 图像分类只需要识别"这是什么",需要全局特征
  2. 目标检测需要找到"物体在哪里",需要多尺度特征
  3. 语义分割需要知道"每个像素是什么",需要精细的空间特征

那么,怎么用卷积操作捕获局部特征?怎么用池化操作提取关键信息?怎么用多层堆叠构建层次化特征?怎么从多个维度分析性能?怎么将CNN应用到实际视觉任务中?这些正是本文要解决的核心。

CNN设计问题
处理图像
卷积操作
局部连接+参数共享
用模板滑动检测
池化操作
降维+不变性
压缩保留关键信息
多层堆叠
层次化特征
从简单到复杂
性能分析
多维度评估
准确率/速度/内存
准确率vs效率
准确vs算得快

 


一、CNN基础设计:卷积、池化与多层堆叠

图像等数据具有局部性,卷积操作利用这种局部性,通过局部连接和参数共享大幅减少参数数量,多层堆叠能够构建层次化特征表示。就像用一个小的模板在图像上滑动检测模式,然后逐步组合简单特征形成复杂特征。

输入图像
28×28
原始图像
卷积层1
检测边缘
局部连接+参数共享
用模板滑动检测
池化层1
降维+不变性
14×14
压缩保留关键信息
卷积层2
检测纹理
组合边缘
组合简单特征
池化层2
降维
7×7
继续压缩
全连接层
特征整合
分类决策
整合所有特征
输出
类别概率
识别结果

1. 卷积操作:用模板滑动检测,局部连接和参数共享大幅减少参数数量

CNN通过卷积操作(局部连接和参数共享)捕获局部特征。卷积操作局部连接和参数共享,检测局部模式(边缘、纹理),就像用模板滑动检测。

2. 池化操作:压缩保留关键信息,降维和不变性减少计算量

通过池化操作(降维和不变性)提取关键信息。池化操作降维和不变性,保留关键信息,减少计算量,就像压缩图像。

3. 多层堆叠:从简单特征到复杂特征,构建层次化表示

通过多层堆叠(从局部到全局)构建层次化特征表示。多层堆叠从简单特征到复杂特征,构建层次化表示,就像从边缘到纹理到物体;全连接层特征整合和分类决策,就像整合所有特征做分类。

CNN层次化特征
从简单到复杂
浅层
边缘、线条
简单特征
检测局部模式
中层
纹理、形状
组合特征
组合简单特征
深层
物体、语义
复杂特征
理解全局
局部模式
检测边缘
局部组合
组合边缘成纹理
全局理解
理解整个物体
CNN操作
处理图像的方法
卷积
局部连接
参数共享
用模板滑动检测
池化
降维
不变性
压缩保留关键信息
多层堆叠
层次化特征
从简单到复杂
减少参数
检测局部模式
大幅减少计算量
减少计算
提高鲁棒性
更快更稳定
从简单到复杂
理解图像
逐步理解

 


二、CNN性能分析:多维度性能评估

三、CNN在计算机视觉中的应用:从理论到实践

掌握了CNN的设计原理后,关键是如何将其应用到实际视觉任务中。不同任务有不同的输出需求:分类只需要一个类别标签,检测需要找到物体的位置和类别,分割需要每个像素的类别。就像同样是处理图像,但"回答的问题"不同,需要的架构设计也不同。

视觉任务
处理图像
图像分类
这是什么?
输出:类别标签
目标检测
在哪里?是什么?
输出:边界框+类别
语义分割
每个像素是什么?
输出:像素级标签
全局特征
全连接层
全局池化
关注整体
多尺度特征
特征金字塔
锚框机制
关注位置+类别
精细空间特征
上采样
跳跃连接
关注细节

1. 图像分类:从像素到类别的识别逻辑

输入一张224×224的猫照片(150,528个像素值),CNN需要输出"这是一只猫"的判断。整个过程分为四个阶段:浅层特征提取、中层特征提取、深层特征提取、特征聚合与分类决策。

阶段1:浅层特征提取(第1-2层)- 检测边缘和形状

就像你第一次看一张照片,眼睛会先注意到最基础的视觉元素:边缘、线条、颜色变化。

第一层卷积用64个不同的"探测器"(卷积核)在图像上滑动,每个探测器专门寻找一种基础模式:有的找垂直的线条(比如猫的胡须),有的找水平的线条(比如猫的眼睛边界),有的找对角线。当这些探测器滑过猫的胡须时,垂直边缘探测器会输出很大的数值,表示"这里有一条垂直的线"。

 

池化层就像压缩照片:在每2×2的区域中只保留最大值,把图像从224×224压缩到112×112。这样做的好处是,平移不变形:即使猫在照片中的位置稍微移动了一点,检测到的特征位置也会移动,但池化后的结果大致相同——这就是为什么CNN能识别不同位置的猫。

 

第二层卷积不再看原始像素,而是看第一层检测到的边缘和线条,开始组合这些基础特征。

比如某个卷积核专门检测"两条平行的垂直线",当它滑过猫的耳朵轮廓时,耳朵的两边是平行的垂直线,所以输出高响应。另一个卷积核检测"圆形区域",当它滑过猫的眼睛时,眼睛是圆形的,所以输出高响应。第二层开始理解"形状"的概念。

输入图像
224×224×3
150,528个像素值
第1层卷积
检测边缘和线条
64个卷积核
垂直/水平边缘
224×224×64
第1层池化
压缩+平移不变性
112×112×64
第2层卷积
组合成形状
检测平行线、圆形
112×112×128
第2层池化
56×56×128
输出到下一阶段
56×56×128特征图

 

阶段2:中层特征提取(第3-4层)- 检测完整形状

现在网络已经理解了基础的边缘和简单形状,开始识别更复杂的完整形状。第三层可能检测"三角形"(猫的耳朵)、“椭圆形”(猫的眼睛)这样的完整形状。第四层继续组合这些形状,形成更复杂的模式。这时候,网络不再关注单个像素,而是开始理解"这是一个三角形"、"这是一个椭圆形"这样的完整概念。

池化层继续压缩特征图,从56×56压缩到28×28。虽然分辨率降低了,但网络理解的内容更丰富了——从"边缘和线条"变成了"完整的形状"。

输入特征图
56×56×128
来自阶段1
第3-4层卷积
检测完整形状
三角形、椭圆形
56×56×256
第3层池化
28×28×256
输出到下一阶段
28×28×256特征图

 

阶段3:深层特征提取(第5-6层)- 检测组合部件

到了深层,网络开始理解"组合"的概念。

第五层可能检测"眼睛+鼻子"这样的组合部件——不再只看单个形状,而是看多个形状的组合。

第六层可能检测"猫脸"这样的完整结构——把眼睛、鼻子、耳朵、胡须组合在一起,理解这是一个完整的"猫脸"。

这时候,网络已经不再关注像素级别的细节,而是理解了高级语义:这张图像里有尖耳朵、有胡须、有尾巴,这些特征组合起来就是一只猫。虽然特征图只有28×28,但每个位置都包含了丰富的语义信息。

输入特征图
28×28×256
来自阶段2
第5-6层卷积
检测组合部件
眼睛+鼻子、猫脸
28×28×512
输出到下一阶段
28×28×512特征图

 

阶段4:特征聚合与分类决策

现在网络有了28×28×512的特征图,每个位置都包含了丰富的语义信息。但分类任务只需要知道"这是什么",不需要知道"在哪里"。全局平均池化会计算每个特征图所有位置的平均值,把28×28×512压缩成512个数字。每个数字代表某种高级特征在整个图像中的平均强度——比如第100个数字可能代表"猫脸特征"的平均强度,如果这张图像确实有猫脸,这个数字就会很大。

全连接层就像一个经验丰富的专家,它知道如何解读这512个数字:如果"尖耳朵特征"很强、"胡须特征"很强、"猫脸特征"很强,而"狗脸特征"很弱、"汽车特征"很弱,那么这张图像很可能是一只猫。

Softmax函数会把全连接层的输出转换成概率分布:猫的概率是0.95,狗的概率是0.03,汽车的概率是0.02。概率最大的类别就是预测结果——“这是一只猫”。

输入特征图
28×28×512
来自阶段3
全局平均池化
压缩空间信息
28×28×512 → 512
全连接层
特征组合决策
512 → 1000
Softmax
概率分布
猫:0.95 狗:0.03 汽车:0.02

层次化特征提取过程

层次化特征提取
阶段1
边缘、线条
垂直/水平边缘
阶段2
形状组合
平行线、圆形
阶段3
完整形状
三角形、椭圆形
阶段4
组合部件
眼睛+鼻子、猫脸
检测胡须
垂直线条
检测耳朵
平行垂直线
检测眼睛
椭圆形
识别猫脸
完整结构

关键机制:卷积层检测局部模式,池化层压缩并提供平移不变性,多层堆叠逐步抽象,全局池化压缩空间信息,全连接层进行类别决策。

 

2. 目标检测:同时回答"在哪里"和"是什么"

目标检测需要同时输出物体的位置(边界框)和类别。一张街景照片中可能有多个物体(汽车、行人、自行车),出现在不同位置,大小也不同。整个过程分为四个阶段:多尺度特征提取、特征金字塔融合、检测预测、输出结果。

阶段1:多尺度特征提取 - 处理不同大小的物体

想象你站在一个繁忙的十字路口,面前是一张街景照片。照片里,远处有一个很小的行人(可能只有20×20像素),近处有一辆很大的汽车(可能占据200×200像素)。如果你只用一张特征图来检测,会遇到问题:如果用高分辨率的特征图(能看到细节),远处的行人能看清楚,但近处的汽车太大,一个卷积核的感受野太小,看不到汽车的全貌。如果用低分辨率的特征图(能看到全局),近处的汽车能看清楚,但远处的行人经过多次池化后,可能只剩下几个像素,已经无法识别了。

所以,目标检测必须同时使用多个尺度的特征图:浅层特征图分辨率高(76×76),能看到细节,适合检测小物体;深层特征图分辨率低但语义丰富(19×19),能看到全局,适合检测大物体。就像用不同倍数的放大镜看照片:高倍数看细节(小物体),低倍数看全局(大物体)。

输入图像
608×608
街景照片
特征提取器
CNN骨干网络
浅层特征
76×76
高分辨率
检测小物体(行人)
中层特征
38×38
中等分辨率
深层特征
19×19
低分辨率+语义
检测大物体(汽车)
输出到下一阶段
多尺度特征图

阶段2:特征金字塔融合 - 让浅层也能理解语义

无论是单阶段还是两阶段检测,都需要解决一个问题:浅层特征图分辨率高,能看到细节,但语义信息不够丰富(只能看到边缘和线条,无法理解"这是一个人");深层特征图语义丰富,能理解"这是一个人",但分辨率太低,看不到细节。

特征金字塔网络(FPN)解决了这个问题:它把深层的高层语义特征通过上采样传递到浅层,与浅层的细节特征融合。想象一下,深层特征图理解了"这里有一个人的轮廓",但分辨率太低,看不清细节。FPN把这个"人的轮廓"信息传递到浅层,浅层特征图既有高分辨率(能看到细节),又有语义信息(知道"这是一个人"),就可以精确地检测出这个人的边界框。

比如检测街景中的行人和汽车时:行人较小,需要高分辨率特征图才能看清楚,但浅层特征图原本只能看到"边缘和线条",不知道"这是一个人"。FPN把深层的"人的语义"传递下来,浅层特征图就能同时看到细节和语义,精确检测出小行人。汽车较大,可以在较低分辨率特征图上检测,但需要足够的语义信息来区分"汽车"和"大型货车"、"公交车"等其他大型物体。

输入多尺度特征
来自阶段1
特征金字塔FPN
语义特征上采样
浅层特征融合
76×76
高分辨率+语义
检测小物体
中层特征融合
38×38
中等分辨率+语义
深层特征融合
19×19
低分辨率+语义
检测大物体
输出到下一阶段
融合后的多尺度特征

阶段3:检测预测 - 单阶段或两阶段策略

现在有了融合后的多尺度特征图,需要在这些特征图上预测边界框和类别。有两种主要策略:

单阶段检测(YOLO):直接在特征图上预测边界框和类别。想象你把输入图像划分成19×19的网格,每个格子负责检测中心点落在该格子内的物体。但问题是:一个格子里可能有多个物体(比如两个人站在一起),或者一个物体可能跨越多个格子(比如一辆大汽车)。所以,每个格子会预测多个边界框(比如3个),每个边界框有不同的宽高比:一个可能是"瘦高"的(适合检测行人),一个可能是"宽扁"的(适合检测汽车),一个可能是"正方形"的(适合检测交通标志)。这就是锚框机制:预设不同形状的候选框,让网络学习如何调整这些候选框的位置和大小,使其匹配真实的物体。

两阶段检测(Faster R-CNN):采用两阶段策略,就像两个人分工合作。

  1. 第一阶段(区域提议网络RPN)专门负责"找物体":在特征图上快速扫描,找出所有"可能包含物体"的区域。它不需要知道是什么物体,只需要知道"这里可能有东西"。
  2. 第二阶段(分类和回归网络)专门负责"识别物体":对第一阶段找到的候选区域,仔细分析"这是什么物体",并精确调整边界框的位置。

这种分工的好处是:第一阶段可以快速扫描,不需要精确识别,所以速度可以很快;第二阶段可以专注于识别,不需要再去找物体,所以精度可以很高。但缺点是:需要两个阶段,速度相对较慢。

输入融合特征
来自阶段2
单阶段YOLO
直接预测
两阶段Faster R-CNN
先找后识别
划分网格
19×19格子
每个格子预测3个边界框
锚框机制
瘦高(行人)
宽扁(汽车)
正方形(标志)
预测位置+类别
IoU>0.5匹配真实物体
阶段1: RPN
快速扫描找候选区域
阶段2: 分类网络
精确识别+边界框回归
输出边界框+类别

阶段4:输出结果 - 边界框和类别

最终,网络会输出每个检测到的物体的边界框(用左上角和右下角坐标表示)和类别标签。比如,一张街景照片可能输出:汽车(100,50,200,150)、行人(300,200,350,400)、自行车(500,100,550,200)等。每个边界框都包含了位置信息(在哪里)和类别信息(是什么)。

检测预测结果
来自阶段3
非极大值抑制NMS
去除重复检测
输出最终结果
边界框+类别
汽车(100,50,200,150)
行人(300,200,350,400)
自行车(500,100,550,200)

关键机制总结:多尺度特征图处理不同大小的物体,特征金字塔融合语义和细节,锚框机制预设不同形状的候选框,单阶段速度快,两阶段精度高。

 

3. 语义分割:为每个像素分配类别标签

语义分割需要对图像的每个像素进行分类,输出与输入同样大小的分割图。比检测更精细:检测只需要知道"有辆车在矩形框内",分割需要知道"这辆车占据的每个像素"。就像用不同颜色的画笔,把照片中的每个区域都涂上对应的颜色。整个过程分为四个阶段:编码器下采样、解码器上采样、跳跃连接融合、多尺度融合与输出。

阶段1:编码器下采样 - 理解语义

分割任务面临一个根本矛盾:要理解一个像素是什么,需要看到它周围的很大一片区域。比如,要判断某个像素是"天空"还是"建筑",只看这个像素本身(可能都是蓝色)是不够的,需要看到更大的范围:如果上方是蓝色,下方也是蓝色,那可能是天空;如果上方是蓝色,下方是灰色,那可能是建筑。但是,要精确地知道每个像素的类别,又需要保持高分辨率,不能丢失细节。

编码器部分(下采样路径)负责"理解语义":通过卷积和池化,把224×224的图像逐步压缩到7×7。在这个过程中,网络理解了图像的全局语义:这张照片里有天空、建筑、道路、车辆。但这个过程丢失了空间细节——网络知道"有天空",但不知道"天空的每个像素在哪里"。就像你站在远处看一幅画,能看出画的是什么(理解语义),但看不清细节(丢失空间信息)。

输入图像
224×224
街景照片
第1层卷积+池化
224×224 → 112×112
检测边缘和线条
第2层卷积+池化
112×112 → 56×56
组合成形状
第3层卷积+池化
56×56 → 28×28
检测完整形状
第4层卷积+池化
28×28 → 14×14
检测组合部件
第5层卷积+池化
14×14 → 7×7
全局语义理解
输出到下一阶段
7×7特征图
理解语义但丢失细节

阶段2:解码器上采样 - 恢复分辨率

解码器部分(上采样路径)负责"恢复细节":通过转置卷积(可以理解为"反向的卷积"),把7×7的特征图逐步恢复到224×224,同时预测每个像素的类别。但问题是:如果只从7×7上采样到224×224,恢复的细节会很模糊,因为上采样只是插值,无法恢复丢失的信息——就像把一张7×7的低分辨率照片放大到224×224,会看到明显的模糊和锯齿。

解码器逐层上采样,每层都会增加分辨率,同时预测像素类别。但仅仅上采样是不够的,需要结合编码器的细节信息。

输入特征图
7×7
来自阶段1
理解语义但丢失细节
第1层上采样
7×7 → 14×14
转置卷积恢复分辨率
第2层上采样
14×14 → 28×28
继续恢复分辨率
第3层上采样
28×28 → 56×56
恢复更多细节
第4层上采样
56×56 → 112×112
接近原始分辨率
第5层上采样
112×112 → 224×224
恢复到原始大小
输出到下一阶段
224×224特征图
但细节模糊

阶段3:跳跃连接融合 - 融合语义和细节

仅仅上采样是不够的。如果只从7×7的特征图上采样到224×224,恢复的细节会很模糊,因为上采样只是插值,无法恢复丢失的信息。跳跃连接解决了这个问题:把编码器路径中高分辨率的特征图直接"抄"到解码器路径的对应层,与上采样后的特征图融合。

想象一下,编码器的第3层是56×56的特征图,它保留了相对清晰的空间信息(虽然语义不够丰富)。解码器在上采样到56×56时,会把编码器第3层的特征图"抄"过来,与上采样后的特征图拼接。这样,解码器既有高层的语义信息(来自深层特征,知道"这是天空"),又有低层的细节信息(来自浅层特征,知道"天空的边界在哪里")。

就像你在画一幅画:先用粗笔画出大致的轮廓(编码器理解语义),然后需要画细节时,把之前画的草图拿过来参考(跳跃连接传递细节),这样既能理解整体,又能画出精确的边界。

编码器特征
224×224
细节丰富但语义弱
跳跃连接1
传递到解码器
编码器特征
56×56
细节+语义平衡
跳跃连接2
传递到解码器
编码器特征
7×7
语义丰富但细节丢失
解码器上采样
7×7 → 224×224
融合特征
224×224
语义+细节
输出到下一阶段
224×224融合特征图
既有语义又有细节

阶段4:多尺度融合与输出 - 结合上下文并输出分割图

多尺度融合进一步提升了性能。金字塔池化模块会在不同尺度上进行池化:对特征图进行1×1、2×2、3×3、6×6的全局池化,得到不同尺度的全局上下文信息,然后上采样回原始大小,与原始特征图拼接。

这样,网络同时理解了三个层次的信息:局部细节(原始特征图,知道"这个像素周围的纹理")、中等范围的上下文(2×2池化,知道"这个区域的特征")和全局上下文(6×6池化,知道"整张照片的布局")。比如,判断某个像素是"道路"还是"人行道"时:只看局部特征(都是灰色的),可能无法区分;看中等范围的上下文(如果周围有斑马线,可能是人行道);看全局上下文(如果周围都是建筑,可能是人行道;如果周围是车辆,可能是道路)。结合这三个层次的信息,网络可以更准确地判断每个像素的类别。

最终,网络输出一张与输入图像同样大小的分割图,每个像素都有一个类别标签:天空、建筑、道路、车辆、行人等。

输入融合特征
224×224
来自阶段3
金字塔池化
多尺度上下文
1×1池化
全局上下文
整张照片布局
2×2池化
中等范围
区域特征
3×3池化
局部范围
6×6池化
更大范围
特征融合
拼接所有尺度特征
像素级分类
224×224
每个像素预测类别
输出分割图
224×224
每个像素有类别标签
天空/建筑/道路/车辆

关键机制总结:编码器通过池化扩大感受野理解语义,解码器通过上采样恢复分辨率,跳跃连接融合语义和细节,多尺度融合结合局部和全局上下文,最终输出像素级的分割图。

 


四、方法选择:根据问题特点权衡

CNN应用问题
不同视觉任务
图像分类
识别类别
目标检测
定位+识别
语义分割
像素级分类
全局特征
分类架构
识别这是什么
多尺度特征
检测架构
找到在哪里
精细空间特征
分割架构
每个像素是什么

从设计到分析到应用:CNN基础设计(卷积、池化、多层堆叠)→ 性能分析(多维度评估和优化)→ 应用实践(分类、检测、分割)。从简单到复杂:图像分类(识别类别,就像识别这是什么物体)→ 目标检测(定位+识别,就像找到物体在哪里)→ 语义分割(像素级分类,就像每个像素是什么)。

从理论到实践:理论模型(理想情况)→ 性能分析(多维度评估)→ 实际应用(考虑实际约束)。从全连接到局部连接:全连接网络(忽略空间结构)→ CNN(利用局部性和平移不变性,就像用模板滑动检测)。

在实际选择时,你需要在几个方面权衡:在表达能力和计算效率之间找到平衡(能力强但可能算得慢),在准确率和速度之间找到平衡(准确但可能慢,快速但可能不准),在理论完美和实际可行之间找到平衡(理论上完美但实际可能不可行)。设计、分析和应用CNN的核心就是在这些维度之间找到平衡点,根据实际需求优先优化关键维度,在其他维度上做出妥协。没有完美的算法,只有适合不同场景的算法。

设计权衡
表达能力
vs
计算效率
能力强vs算得快
准确率
vs
速度
准确vs快速
理论完美
vs
实际可行
完美vs可行

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值