12

机器学习与计算机视觉(深度学习)

 3 years ago
source link: https://blog.csdn.net/feixiaoxing/article/details/85473677
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

机器学习与计算机视觉(深度学习)

original.png
费晓行 2018-12-31 17:39:06 articleReadEyes.png 6772

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

    要说很多现在最火的AI是什么,那就是深度学习。那么深度学习和机器学习有什么关系呢?我们可以通过一问一答的形式来解决。

1、什么是机器学习?

    机器学习一般是指传统的人工智能方法,它包括bayes、决策树、svm、线性回归、逻辑回归、神经网络、knn、kmeans等。目前使用较多的机器学习库就是sklearn。

2、深度学习是什么?

    深度学习来自于传统的机器学习方法-神经网络,即nerual network。只不过深度学习比传统的神经网络层数更多、计算量更大,深度学习中大量使用的反向传播算法起始就来自于神经网络。深度学习少则几层,多则上百层,随之而来的训练时间也很长。即使使用分布式、gpu运算,也要很长的时间。

3、深度学习需要哪些基础?

    深度学习来源于机器学习,而机器学习的本身和矩阵论、概率论、凸函数和优化方法息息相关。所以,如果需要深入了解深度学习,也需要多看看数学相关的内容。深度学习没有脱离模型、损失函数、优化方法的基本框架。

4、目前使用比较广泛的深度学习模型有哪些?

    目前使用比较多的深度模型有cnn、rnn、lstm。其中cnn多用于图像,rnn多用于语音、而lstm多用于行为识别。当然,2018年除了深度学习模型以外,gan也非常火,即生成对抗网络。姑且不论gan的具体含义,但是它所体现的思想非常有意义。当然,如果是图像本身,那么一般是cnn+opencv一起使用,如果是语音,一般是kaldi+rnn一起使用。因为我们实在没有必要从头开始做一些基础工作。

5、目前开源的深度学习框架有哪些?

    现在使用较多的深度学习框架有tensorflow、keras、caffe、mxnet和darknet等。这几种深度学习框架结构差不多,一般都包含数据表示、layer、network、solver这几个模块。可以重点学习一种,其他几种用到的时候看一下就可以了。我个人比较推荐的是darknet。darknet结构简单,可以移植到多个cpu体系,不依赖于第三方库,支持GPU、cuDNN,使用方便。

6、为什么大多数深度学习多使用python来操作?

    大多数深度学习多支持python操作,python不用编译,和matlab类似,也不涉及版权,第三方库多,所以使用广泛。当然,如果是caffe的使用者,可能连编译代码都不需要。当然如果需要将深度学习框架port到嵌入式设备上,那么c&c++是少不了的,大家可以试试darknet移植到arm开发板上面。

7、很多论文中提到的yolo、r-cnn、fast r-cnn、faster r-cnn、ssd又是指什么?

    这是针对物体检测提出的优化深度学习网络,比如道路上的行人检测、汽车检测、符号检测等等。我们可以看成是针对cnn和应用场景的进一步优化。

8、一般深度学习怎么训练?

    深度学习可以用cpu训练,也可以用gpu训练。但是gpu一般比cpu快十几到几十倍。首先,我们需要自定义网络模型;然后定义网络训练参数,最后输入数据开始训练。等到训练结束后,我们就会得到一个训练模型。使用这个训练模型,我们就可以进行检测、分类和识别了。

9、个人如何使用别人训练好的模型?

    可以利用别人的模型加上自己的数据继续训练,或者直接修改别人的softmax层,添加自己的分类选项。个人如果训练数据,可以选择数据量比较少的模型进行训练,如果是项目需要,尽量复用别人的模型,特别是imagenet上面公用的权重模型数据。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK