3月的最后一天,通过一条推文,偶然地加入了深度学习CV入门打卡营,于是便有了这样一周的经历。整个学习的过程围绕深度学习展开,以Python为编程语言,理论与实践结合,每日观看直播课学习理论,然后在百度AI Studio进行实操。
回想整个学习安排,是比较流畅的,理论部分讲解较多,实践部分基本会提供大部分代码或者baseline,一般补充几行代码就能跑通,然后进行参数配置调优,当然也可以设计更好的网络结构。这样低门槛的设定也更好地吸引初学者加入,故为“入门打卡营”。
随着大数据的发展,深度学习的优势得以显现。一般而言,对于一个实际问题,处理步骤为:数据获取、数据预处理、设计模型、训练模型、检验与运用。其中,解决问题的核心在于模型的设计与训练,模型的设计决定了其效果的上限,而模型的训练是通过某些方法调整模型参数使其不断接近上限的过程。
几种改善模型拟合度的方法:
- 改变网络结构:网络深度与宽度的设计,卷积核大小、stride、padding的设置;
- 调整超参数:学习率、优化器、迭代次数、训练批大小等;
- 解决过拟合:如dropout。
模型压缩是对已训练好的模型进行操作,以较小的损失为代价,达到存储空间压缩、提升准确率或提高运算速度的效果,以满足存储与算力有限的设备(如移动设备、嵌入式设备)较好地完成AI任务。
几种模型压缩的策略:
- 模型剪裁
- 定点量化
- 知识蒸馏
- NAS
这里推荐一个模型压缩工具集PaddleSlim:
https://paddlepaddle.github.io/PaddleSlim/
最后,作为一名深度学习的小白,谈一谈自己的感受。成长性最大的是打卡营的第2-3天,从完全不了解,通过查阅各种资料,到渐渐读懂每一行代码的含义,到深入理解深度学习的概念及其数学本质;以及打卡营的大项目——人流密度检测的比赛,运用前几天学到的知识与实现方式,不断地调参训练,虽然没进top10,却也可以接受(13/442)。