第一次深度学习模型是如何训练的
- 2020 年 2 月 26 日
- 筆記

计算机视觉学着学着,就自然而然的歪到机器学习,深度学习这一块儿了,因为单纯的图片处理是不能满足一些要求的,没学深度学习时,有时觉的它简单,因为不就按着套路来嘛。但它又不简单,因为里面涉及的知识真不是一下就可以说清楚的。
所以既然说不清楚,我这个小辣鸡就不说了,小白们也不要妄想可以一下就学会,今天只和大家谈一谈我从听说深度学习,到我第一次完成一个像样的模型训练的过程,希望可以为小白们提供参考。
第一次听说
有关机器学习,最简单的一种大概就是KNN算法了,我是在全国大学生电子设计大赛备赛时老师给我们介绍的,赛前押题时,老师给我们略微介绍了一下这个最最最简单的机器学习算法,这个算法大概就是物以类聚人以群分的原理吧,它会统计某个对象在训练样本中离它最近的K个对象,K个对象中种类数最多的那个,就被认为是这个对象的种类(就是如果某人身边K个活物里,有K-1个都是猪,那他就被判定为猪,嘿嘿)。
不过那年暑假我们并没有用上机器学习的东西,我也并没有深入研究它。
第一次开始学习
我第一次开始学习,是在大二上,我自我感觉在计算机视觉方面难以再进步了(当然不是都学会了,只是学了,没有什么项目需要我来练手,而书本上的东西,已经看烦了),便想要尝试点新的东西,就学机器学习吧。
我学机器学习是通过两本书:《机器学习实战》和《统计学习方法:李航》,这两本书,前者重代码,后者重理论,而且章节目录很类似,是非常适合相互参看的。除了这两本书之外,B站上还有很多配套的教学视频,这里给大家推荐两个。
一个是位比较骚的UP主“云雨偏蓝”(好像是搬运工),全程手把手照着《机器学习实战》这本书教你写代码,链接放下面了:
https://www.bilibili.com/video/av36993857?from=search&seid=8894021963757644142
一个是位漂亮小姐姐全程露脸带你学,UP名为“菊安酱”,网站:
https://www.bilibili.com/video/av81430943from=search&seid=8894021963757644142

闷头学了有一段时间,只能说里面的数学知识是真的难,学了大概有3/4,因为学业压力便放一边了,最近又发现一个评价很高的视频,是浙江大学2017年研究生课程之机器学习,是结合《统计学习方法》将的,里面理论,数学讲的很清晰,我希望以后再有机会可以刷一遍。
https://www.bilibili.com/video/av77638697?p=61
我认为应该有怎样的基础
机器学习,深度学习很火,很多学弟学妹都很想学,但我还是希望他们能多积累些基础,而不要起步太高,否则你肯定会错失很多有意思的东西。
1:首先编程基础要有吧,我大一玩单片机时学的C语言,之后学opencv计算机视觉学的C++,而在学《机器视觉实战》时巩固了一下python,虽然我编程不咋样,但一些基本功还是有的。
我觉得如果你想很快的学好一门编程语言,还是应该刷一套教学视频,网上免费的教学视频一大把,如果你觉得讲的不好,也可以去一个平台买一门评价比较高的课程。四五十的课程贵吗?其实不贵,只是你白嫖的本性限制了你。
不过能白嫖还是白嫖的好,但当你觉得看书学不精通,看网上视频看不下去的时候,买一门课试试看。
2:其次明确个方向,机器学习,深度学习可以应用的方面很多,而你如果单学不用,是不会有什么收获的,所以你需要知道你学了是想干什么,就像我是学计算机视觉的,而它本身就是深度学习一大应用领域。
我的深度学习环境的搭建
下面说一说,学了机器学习后,是如何入坑深度学习的?
首先简述一下机器学习和深度学习这个比较容易混的概念,深度学习是机器学习的一个子集,而你常听说的神经网络是机器学习的算法,但当这个神经网络叠加了好几层变成深度神经网路的时候,它就是深度学习的算法了。你可以将深度学习理解为机器学习一个庞大的分支。
在前面我学机器学习时,都是手打python代码来实现算法,但深度学习有很多成形的,方便的框架,例如:
- caffe
- tensorflow
- pytorch
这些就类似于opencv的包一样,不过配置的过程要麻烦一些,这里给大家推荐一位技术大牛的网站:
https://cuijiahua.com/

他在上面跟新有一系列的完整的教程,足以起到引领入门的作用。他有一篇文会教你如何搭建深度学习开发需要的环境。
https://cuijiahua.com/blog/2019/11/dl-14.html