Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
点
点头人工智能课程-v6.0-通识
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
靓靓
点头人工智能课程-v6.0-通识
Commits
57eabcc2
Commit
57eabcc2
authored
Jul 01, 2025
by
前钰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
2388a389
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
0 deletions
+49
-0
readme.md
5-深度学习/5.6-作业/readme.md
+49
-0
No files found.
5-深度学习/5.6-作业/readme.md
0 → 100644
View file @
57eabcc2
# 基于SimpleCNN改进的BetterCNN
# 基于SimpleCNN改进的BetterCNN
# 仅更改了model.py、train.py、train_new.py(若需要推理,predict里面的model也需更换)
## 1. 通道数增加
*
**SimpleCNN**
:通道数依次为 16 → 32 → 64
*
**BetterCNN**
:通道数加倍为 32 → 64 → 128
> 增加通道数能够提取更丰富的特征,有助于提升模型表达能力。
## 2. 引入 Batch Normalization
*
**SimpleCNN**
:无 BatchNorm
*
**BetterCNN**
:每个卷积层后都加了
`nn.BatchNorm2d`
> BatchNorm 有助于稳定训练,加快收敛,减轻梯度消失和过拟合。
## 3. 池化后的尺寸处理改进
*
**SimpleCNN**
:使用最大池化后,特征图尺寸从 224 → 112 → 56 → 28,最后全连接层接收展平的高维特征(64×28×28=50176)
*
**BetterCNN**
:在卷积模块后加入
`AdaptiveAvgPool2d((1,1))`
,自动将特征图缩小为 1×1,展平后维度为 128
> 这样显著减少全连接层参数量,降低过拟合风险,提升训练效率。
## 4. 分类器结构优化
*
**SimpleCNN**
:全连接层直接处理展平后的高维特征,结构较简单,隐藏层维度128
*
**BetterCNN**
:分类器先通过自适应池化减少特征维度,再经过两层全连接层(128→64→2),中间加入 ReLU 和 Dropout
> 增加了非线性和正则化,提升模型的泛化能力。
---
# 总结
| 特性 | SimpleCNN | BetterCNN | 改进效果 |
| --------- | ---------------- | ------------------------- | --------------- |
| 卷积通道数 | 16 → 32 → 64 | 32 → 64 → 128 | 增强特征表达能力 |
| BatchNorm | 无 | 有 | 训练更稳定,收敛更快 |
| 池化方式 | MaxPool + 固定尺寸展平 | MaxPool + AdaptiveAvgPool | 减少参数量,支持多尺寸输入 |
| 分类器 | 直接全连接128 → 2 | 全连接128 → 64 → 2 + Dropout | 更强非线性和正则化,防止过拟合 |
| Dropout | 有(0.5) | 有(0.5) | 防止过拟合 |
| 激活函数 | ReLU | ReLU | 一致 |
# 将SimpleCNN基于描述改为BetterCNN,训练检查结果是否更好(改进后不一定会更好,需要多次尝试),epoch可以拉高,例如训练60-100轮
# 注:在AI科研阶段图像分类(下)有更多基于CNN实现的算法实战
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment