paddlepaddle飞桨学习笔记


本笔记是记录参加百度深度学习7日入门-CV疫情特辑课程学习过程中所学到的一些心得体会。

从无到有,由浅入深

本以为已经有了些python基础,学起深度学习来会较为轻松,但实际上的情况并不是如此,一些在平时写代码中比较陌生的概念,例如基础的DNN、CNN网络,在最开始学习的时候感觉仿佛一团乱麻,所幸的是在参加了百度的课程后,在每天晚上八点的晚课上老师们先理论后实践的讲课模式,无不使我茅塞顿开,原本晦涩难懂的那些原理思路,一下子就豁然开朗起来,再结合之后老师所进行的实践教学,很快地就学会了一个基本网络的构建与调试,同时还学会了种种进行优化的手段。

引人入胜,独具匠心

从老师的字里行间,都可以看出无论是上课的课件,还是相关课程的讲解,都能很容易地让人理解以及懂得相关的概念,特别是课程中那些经典理论的介绍与讲解,不仅丰富了课程的内容,同时也极大程度上的丰富了我的思路,让我构建网络时不再局限于老师所提供的基础范例,开始阅读一些相关的文献,来优化处理自己的网络结构,同时在学习的期间,本来有些图曾经虽然见过,但是说实在地看的不是很明白,但在课程上老师每个结构每个结构的讲解,使我对于这些结构的组成有了新的认识,当我再看见其他的一些结构时,很容易地就能够揣摩出他们所特别具有的结构。

由易及难,收获颇丰

整个7日入门特辑时间虽然不长,但是内容的层次十分的有深度,首先引导我们从最简单的DNN出发,之后慢慢地延申扩展开了之后的诸如卷积神经网络等结构,以及在写代码的撰写过程中,需要不断地查询paddle的api,从最简单的连接层再到后来的卷积池化层,极大的增强了我阅读api的能力,不再面对着api是陌生的一堆定义以及参数,变得能够静下来心来去仔细观察揣摩每个函数的意思,遇见不懂的地方马上就去查阅课程的文档以及相关的文献资料,正是在这种层层递进式的学习中学会了很多新的知识。

具体经验的一些掌握

在完成作业的具体过程中,通过对于参数的调节也有了一定的理解,对于不同的网络,网络的层数与训练次数都会很大程度上的影响模型的精度,层数多了容易训练不出理想的结果,训练次数低了容易无法有效的实现模型的功能,次数多了容易出现过拟合现象。而这些调节在之前的课程作业中还体现的不太明显,但在之后的比赛实战中就暴露无遗实际理论支持的重要性。
初看比赛题目,对于我这种新学习的小白来说,刚看过去堪称一头雾水,而老师授课时所提供的那些思路也由于代码撰写的较少没有相应的能力去将其实现,可以这么说,当看到比赛时,我才理解了我仍然还是有很多仍未掌握的地方,而这也在当老师发布了课程基础版代码时体现的更加明显,虽然基础版实现的功能不算特别的复杂,但对于我来说,由于此前从未接触过相关领域,通过学习源码,我迈出了有关密度检测的第一步,然后再开始了对其他方面知识的学习,最开始完完全全跑老师的代码,名次也自然只出于倒数位置,之后再不断地学习相关领域的文献与知识后,在基础版本的源码的基础上不断改进优化,成绩也在不断地进步,截至写这篇日记前,居然能来到排行榜的第十一名,这对我一个从未学习过相关知识的小白来说,堪称一种奇妙的体验,而在这不断进步的过程中,由于基础的不够牢靠,也走了很多弯路,有时迭代次数多了效果反而差了,有时收敛很快但效果却并不好,这让我发现了平衡各个参数间的作用是十分必要的,学习率过高不好,但过低了学习速度太慢影响效率,还有处理数据的方式也有着讲究,虽然现在身处家中仍未正式开学,但每天一起来就想的是抢GPU调参的生活也是十分的充实愉快,有时没思路了还能看看群里大佬们的分享,堪称收获颇丰,在这几天的学习中,不仅掌握了一定的调参经验,同时对于这些理论的学习兴趣也变得更加浓厚了,希望之后也能继续不断地进步下去。
在这里插入图片描述