https://aistudio.baidu.com/aistudio/competition/detail/495/0/introduction
汽车产业正在经历巨大变革,新能源汽车市场规模持续扩大,电池安全问题日益引发重视。 电池异常检测面临着汽车数据质量差,检出率低,误报率高,大量无效报警无法直接自动化运维等问题。
为了更好的检验电池安全问题,比赛通过募集优秀异常检测方案,使用特征提取、参数优化、异常对比等手段对实车数据进行处理,优化异常检测结果,以便更好的应用于车辆预警、故障模式识别等多种场景。
贴一个方案图和比赛结果,通过实验验证ResNet结构的网络在处理电池数据异常检测效果明显优于MLP和FTTransformer网络,具体实验可查看博客和能源AI挑战赛_异常检测赛.pptx。如果觉得可以,点个小星星:blush::blush:,多谢。
模型只用到了是电池数据的前7列的最后一行数据和里程数。
./Energy_Anomaly_Detection
│ clf1.torch # 模型文件
│ data_anls.ipynb # 数据分析脚本
│ demo_resnet_epoch532_lr0.001_dropout0.25_auc0.8998.ipynb # jupyter版本训练代码
│ loss.png # loss曲线
│ myutils.py # 配置文件
│ README.md # 中文用户手册
│ requirements.txt # 依赖环境
│ Revisiting Deep Learning Models for Tabular Data.pdf
│ submision.csv # 比赛要求的csv文件
│ train.py # 在jupyter版本训练代码进行规整的训练脚本
│ train_optuna.ipynb # optuna自动化调参
│ 能源AI挑战赛_异常检测赛.pptx
├─log # 日志类文件夹
| train.log # 训练日志文件
├─Test_A # 验证数据(只存在样例数据,训练时需拷贝全部数据)
│ 0.pkl
│ 1.pkl
│ ...
│ ...
│ ...
│
├─Train # 训练数据(只存在样例数据,训练时需拷贝全部数据)
│ 0.pkl
│ 1.pkl
│ ...
│ ...
│ ...
The experiment code is written in Python 3 and built on a number of Python packages:
- delu==0.0.13
- loguru==0.6.0
- matplotlib==3.6.1
- numpy==1.23.4
- pandas==1.3.2
- rtdl==0.0.13
- scikit_learn==1.1.2
- scipy==1.9.2
- torch==1.11.0
- tqdm==4.41.0
- matplotlib==3.0.3
- scipy==1.2.1
- numpy==1.21.5
python train.py
python train.py --model_name ResNet --train Train --test Test_A --epoch 532 --batch_size 256
1.模型只用到了是电池数据的前7列的最后一行数据和里程数,未考虑到数据的时序性。因此还存在改进点,比如将[256,8]的特征压缩到[1,8]或者用[256,8]的特征进行分类等等。 当然这只是猜想
😈
2.loss曲线发现趋势存在震荡,因为模型的超参数是通过手动调节的。因此设计了一个脚本train_optuna.ipynb,进行自动化调节模型的超参数,模型的超参数有学习率、batch_size、隐藏层的个数、dropout、网络结构的层数等一系列参数。 (由于时间等一系列原因导致搁置了。。。。。)