Wenzhe Sheng bio photo

Wenzhe Sheng

Undergraduate researcher at Peking University, School of Earth and Space Sciences.

本文采用pytorch机器学习开源库(引用)搭建基于一维卷积神经网络(1D-CNN)的谱特征提取模型,对时间序列或其频谱幅值进行端到端学习与预测有关参数。网络主体由四个卷积块与三次下采样、一个自适应全局池化层以及全连接层组成(如图x)。前三个卷积层后均接最大池化(核尺寸4、步长2)进行下采样,四个卷积层均配套批归一化(BatchNorm1d)与ReLU激活,以增强数值稳定性并提高非线性表达能力;随后通过自适应平均池化将时间维聚合为1。四个卷积层的核(kernel)尺寸分别为64,32,16,8,步长(stride)分别为8,4,2,1,填充长度(padding)分别为28,14,7,3,通道数分别为32,64,128,256。全连接部分按任务类型配置:

  • 回归任务:256→128→64→1,并在两层间分别施加0.3与0.2的Dropout;输出端采用Softplus激活,保证物理量非负且缓解梯度消失。

  • 分类任务:256→128→64→分类数量,在两层间分别施加0.3与0.2的Dropout,采用ReLU激活函数,用于输出类别的logits。

训练设置方面,所有卷积层与全连接层参数均通过误差反向传播更新,优化器采用Adam(学习率5×10^-4,权重衰减1×10^-5),并使用基于验证集损失的自适应学习率调度器(ReduceLROnPlateau,factor=0.5,patience=10)。批大小为32,训练轮数为100。数据划分采用固定随机种子(42)进行80%/20%的训练/验证划分,保证实验可复现性。

训练回归任务时,采用的目标函数(或误差函数)为均方误差函数(MSE loss),具体表达式为: \(L=\sum_{i=1}^N||y_i-y_i'||^2\) 训练分类任务时,采用的目标函数为经典的交叉熵函数(Cross-Entropy), 具体表达为 \(L=-\frac{1}{N}\sum_{i=1}^{N}\sum_{c=1}^{N_C}y_{i,c}log(p_{i,c})\) 其中,$N$是样本数量,$N_C$是分类类别数量,$y_{i,c}$是第$i$个样本在类别$c$上的真实标签(0或1),$p_{i,c}$是模型预测第$i$个样本属于类别$c$的概率。

从网络输出到目标函数会经过一层Softmax函数,其能将一个包含任意实数的 $N_C$ 维向量“压缩”到另一个 $N_C$ 维实向量中,使得每个元素的值都在 (0, 1) 区间内,并且所有元素的和为 1,常用于多分类任务,具体表达式为 \(\sigma(z)_i=\frac{exp(z_i)}{\sum_{c=1}^{N_C}exp(z_c)}\) $\sigma(z)_i$即当前样本输出对应的模型预测为第$i$个类别的概率。


Leave a Message