别只做调包侠,去理解模型设计的底层逻辑

很多开发者在入门后陷入瓶颈:只会调用现成的 ResNet 或 Transformer 接口,一旦业务场景需要调整结构,便无从下手。这门课解决的核心痛点正是:给定任务,如何设计匹配的神经网络。这是算法工程师从“使用工具”进阶到“改造工具”的必经之路,也是面试中区分初级与高级候选人的关键能力。

门槛说明:你需要已经熟练掌握 PyTorch 或 TensorFlow 的基本编程,理解反向传播、梯度下降以及卷积、池化、全连接等基础层的工作机制。如果你连 Dropout 防止过拟合的原理都说不清楚,建议先回头补基础,否则本课程中关于性能分析与结构优化的环节会让你感到晦涩难懂。

从理论推演到端侧部署的全链路覆盖

课程摒弃了空洞的数学推导,按“结构变化对性能影响”的逻辑展开五个核心模块,层层递进:

  • 深度与宽度:深入剖析增加网络层数(深度)与通道数(宽度)分别带来的收益,以及边际效应递减的临界点。这是理解模型容量控制的基石。
  • 注意力机制:不只介绍 Transformer 架构,而是解析 Self-Attention 如何取代 CNN 成为视觉与大模型的基石,重点理解其计算复杂度与长距离依赖建模能力的权衡。
  • 轻量化网络:针对移动端和嵌入式场景,讲解 MobileNet、ShuffleNet 等设计哲学,学会如何用更少的 FLOPs 保持精度,这是工程落地的核心技能。
  • 安卓部署:最后落地到手机端,涵盖模型量化、算子融合与推理引擎适配。这是多数课程缺失的最后一公里,也是极具差异化的实战经验。

高效学习路径与产出预期

建议顺序:先看“深度与宽度”建立宏观认知,再读“注意力机制”把握主流架构,最后攻坚“轻量化”与“部署”。切勿跳过理论直接看代码,因为设计决策背后的 Trade-off 才是精髓。

资料用法:配套的项目代码是检验理解的唯一标准。每看完一节,务必手动复现核心结构(如自己实现带 Skip Connection 的 Block),并尝试修改超参数观察 Loss 曲线变化。如果只是拷贝运行,等于未学。

学完产出:你将具备独立设计简单神经网络的能力,能针对新项目画出结构草图,解释 1x1 卷积的设计意图,并能对手机端模型进行基本的量化评估。这才是真正的模型设计内功。

课程介绍

深度学习之模型设计—理论与实践视频教程,。模型的设计是整个深度学习领域的通用基础,掌握各类网络的设计技巧,是深度学习算法工程师进阶的难点及必学点!本课程结合实际项目,将所学理论应用于实践。目前已经包含有网络深度与模型性能、网络宽度与模型性能、注意力机制、轻量化网络、安卓部署5个部分。

课程目录

├── [7.1M] 1-0_课程介绍
├── [1.8M] 2-1.1.0_经典浅层卷积网络设计_简介
├── [ 54M] 3-1.1.1_Neocognitron
├── [ 27M] 4-1.1.2_TDNN
├── [6.9M] 5-1.1.3_Cresceptron
├── [ 81M] 6-1.1.4_LeNet
├── [662K] 7-1.2.0_网络深度对分类模型的影响_简介
├── [ 46M] 8-1.2.1_经典的网络AlexNet
├── [ 55M] 9-1.2.2_更深的网络VGGNet
├── [ 66M] 10-1.2.3_梯度问题与ResNet
├── [3.0M] 11-1.3.1_ResNet垃圾分类任务介绍
├── [123M] 12-1.3.2_ResNet垃圾分类数据集预处理
├── [ 43M] 13-1.3.3_ResNet垃圾分类数据读取
├── [ 33M] 14-1.3.4_ResNet垃圾分类模型训练
├── [ 13M] 15-1.3.5_ResNet垃圾分类模型测试-
├── [ 96M] 16-1.3.6_ResNet垃圾分类模型调优
├── [6.0M] 17-2.1.0_经典模型的宽度设计思想_简介
├── [ 84M] 18-2.1.1_通道数量调整
├── [439K] 19-2.1.2_多分支网络结构
├── [ 29M] 20-2.1.3_通道补偿技术
├── [543K] 21-2.2.0_网络宽度对模型性能影响_简介
├── [ 33M] 22-2.2.1_多通道的网络Inception-v1
├── [ 95M] 23-2.2.2_拓宽的残差网络ResNeXt
├── [8.2M] 24-2.3.1_InceptionNet花卉分类实战-项目简介
├── [121M] 25-2.3.2_InceptionNet花卉分类实战-模型搭建(In
├── [131M] 26-2.3.3_InceptionNet花卉分类实战-模型搭建(In
├── [239M] 27-2.3.4_InceptionNet花卉分类实战-模型搭建(In
├── [ 71M] 28-2.3.5_InceptionNet花卉分类实战-模型训练
├── [ 36M] 29-2.3.6_InceptionNet花卉分类实战-模型测试
├── [ 89M] 31-3.1.1_STN
├── [ 62M] 32-3.1.2_DynamicCapacityNetworks
├── [ 35M] 33-3.1.3_Learn to Pay Attention
├── [ 52M] 34-3.2.1_SENet
├── [ 37M] 35-3.2.2_SKNet
├── [ 37M] 36-3.2.3_ResNeSt
├── [ 66M] 37-3.3.1_CBAM
├── [ 28M] 38-3.3.2_BAM
├── [ 63M] 39-3.3.3_ResidualAttention
├── [ 24M] 40-3.3.4_Dual Attention Network
├── [ 71M] 41-3.4.1_基于SENet模型的人种分类-数据集介绍与读取
├── [ 22M] 42-3.4.2_基于SENet模型的人种分类-模型搭建通用模板
├── [146M] 43-3.4.3_基于SENet模型的人种分类-从零搭建ResNet模
├── [ 30M] 44-3.4.4_基于SENet模型的人种分类-模型训练通用模板
├── [ 62M] 45-3.4.5_基于SENet模型的人种分类-SENet模型搭建与训
├── [ 60M] 47-4.1.1_Xception理论介绍
├── [ 71M] 48-4.1.2_Xception代码讲解
├── [ 52M] 49-4.2.1_MobileNet V1理论介绍
├── [ 38M] 50-4.2.2_MobileNet V1代码讲解
├── [ 46M] 51-4.3.1_MobileNet V2理论介绍
├── [ 23M] 52-4.3.2_MobileNet V2代码讲解
├── [ 59M] 53-4.4.1_shufflenetv1_理论
├── [ 35M] 54-4.4.2_shufflenetv1_代码
├── [ 54M] 55-4.5.1_shufflenetv2理论
├── [ 27M] 56-4.5.2_shufflenetv2代码
├── [ 53M] 57-4.6.1_squeezenet理论
├── [ 21M] 58-4.6.2_squeezenet代码
├── [ 31M] 60-5.1.1_通用的分类任务训练代码
├── [7.5M] 61-5.1.2_利用Tensorboard监控训练速度
├── [ 16M] 62-5.1.3_通用的分类任务预测代码
├── [7.3M] 63-5.2.1_Pytorch模型格式转换与优化
├── [ 40M] 64-5.2.2_安卓部署单张图片识别app
└── [ 59M] 65-5.2.3_安卓部署实时识别app