670. NeurIPS - Ariel Data Challenge 2025 | ariel-data-challenge-2025
副标题:在噪声数据上训练鲁棒的神经网络
我想向 Kaggle 和伦敦大学学院表示诚挚的感谢,感谢他们主办了这次比赛。我学到了很多,这真是一次令人兴奋和有益的经历。我还要感谢我的队友 @ajinomoto132 @chenzhenyuan @atamazian @larrylin666 ——我们一起自豪地赢得了本次比赛的银牌。
基于官方提交 baseline,我们做了以下修改:我们采用了 5 的分箱因子以保留更丰富的时间信息,并应用背景噪声去除以提高信号质量。
我们通过将每个信号与所有可用的校准文件配对来增强数据集,而不仅仅是其名义配对,以增加样本多样性并提高模型鲁棒性。
signal_0 + calibration_0 → sample1
signal_0 + calibration_1 → sample2
signal_1 + calibration_0 → sample3
signal_1 + calibration_1 → sample4
def smooth_data_lambda_batch(train_signal, win=3):
"""
Smooth spectral data with Gaussian filter (batch version).
Args:
train_signal: numpy array of shape (batch_size, n_channels, n_wavelengths)
win: window half-size (default=3)
Returns:
Smoothed signal of shape (batch_size, n_channels, ?)
"""
batch_size, n_channels, n_wavelengths = train_signal.shape
def gaussian_kernel(size=7, sigma=1.0):
x = np.arange(-size//2 + 1, size//2 + 1)
g = np.exp(-(x**2) / (2*sigma**2))
return g / g.sum()
gauss_coefs = gaussian_kernel(size=7, sigma=1.0)
# Slice region of interest
q = train_signal[:, :, 40-win:322+win] # (B, C, slice_len)
# Normalize each channel by its mean (per batch & channel)
q = q / q.mean(axis=2, keepdims=True)
# Reference spectrum: mean across batch & channels
q_coef = q.mean(axis=(0,1)) # shape (slice_len,)
# Copy ROI for smoothing
t_smooth = train_signal[:, :, 40-win:322+win].copy()
# Loop over wavelengths inside ROI
for l in range(win, t_smooth.shape[2]-win):
coefs = q_coef[l-win:l+win+1] / q_coef[l] # (2*win+1,)
window = train_signal[:, :, 40-win+l-win:40-win+l+win+1] # (B, C, 2*win+1)
# Weighted Gaussian smoothing
t_smooth[:, :, l] = np.tensordot(window * coefs, gauss_coefs, axes=([2],[0]))
# Trim edges and reverse order
if win > 0:
t_smooth = t_smooth[:, :, win:-win][:, :, ::-1]
else:
t_smooth = t_smooth[:, :, ::-1]
# Concatenate first column (wavelength=0) back
first_col = train_signal[:, :, 0:1] # (B, C, 1)
return np.concatenate([first_col, t_smooth], axis=2)
然后我们在此之后进行归一化。
暗电流代表测量信号中的加性噪声分量。因此,它应该在非线性校正之前被减去,非线性校正旨在作用于真实的物理信号。在非线性变换中包含暗电流将违反这一假设并引入系统误差。

益处:
在非线性校正之前应用暗电流减法确保多项式校正作用于更干净的信号,不受加性噪声的影响。这防止了暗电流分量被非线性变换放大或扭曲,从而产生更准确的信号校准和改进的下游性能。
方法 1:带有滤波器内核、CNN 主干和投影层的神经网络。
方法 2:传输模型和树模型堆叠
下面展示了数据集中经常观察到的典型异常样本示例。
我们没有找出鲁棒的后处理方法。
在这项工作中,我们在官方 baseline 的基础上,通过在数据预处理、增强、建模和校准方面引入一系列针对性的改进。这次比赛强化了仔细数据预处理的重要性,领域知识与机器学习的结合,以及迭代实验的重要性。