运动捕捉学习心得
开学有大半个月了,来学校也有将近两个月了,对自己学到的东西进行总结。
机器学习1
论文阅读
机器学习算法学习
代码理解和测试
机器学习
由于刚刚接触到机器学习内容,对其较多概念都不了解,所以先看了一遍《机器学习》这本书,对整个机器学习的算法和方式都进行了讲解,而且讲的很容易理解,适合入门,但是机器学习十分庞大,每个知识点都可以写一本书,所以对具体的算法只是讲了大概的思路,如果是要做研究,这些只是是远远不够的,需要结合其他资源进行深入学习。
刚开始的时候看这本书的时候感觉每个知识点都十分的抽象,比如什么支持向量机、分类器等十分的不理解,随着对课题的深入研究和对知识的补充,这些知识点组件清晰起来。
对其具体的概念也就不再关公门前耍大刀了,主要说说自己的学习过程。由于我的科研方向是运动捕捉方向,现在深度学习十分的火热,近期的科研文章都是使用深度学习做的,因此开始从深度学习进行课题的入门。
讲到深度学习,就不得不提神经网络,我没有一开始就研究CNN和DNN,而是从RBM开始(由于看的第一篇较好的文献是RBM实现的),多层的RBM叠加在一起构成一个DBM,这个是多层神经网络十分的相似。RBM的参数更新算法采用的是CD-k算法,比较容易理解,而且不需要求导过程,速度较快,推到也较为容易,具体的推导和实现过程推荐一篇博文: 受限玻尔兹曼机(RBM)学习笔记(一)预备知识。
学习完RBM后开始进行神经网络的学习,主要是看ufldl的教程,而且还有视频教程,每节后面都有习题,完成每一节后面的习题,对于理解和实现神经网络有较大的帮助。神经网络的学习中主要进行CNN的学习(也是由于课题可以使用CNN完成,就是主要围绕课题,进行核心知识的学习),看了ufld中关于CNN的教程,也按照推到公式进行了简单的实现,但是对于实际的问题就难以设计代码实现(比如有过个权重时),学习十分的艰难,最近就在努力的啃代码中。
论文阅读
论文的阅读主要有两篇Factored Conditional Restricted Boltzmann Machines和A Deep Learning Framework for Character Motion Synthesis and Editing。第一篇主要是使用RBM实现的,代码实现是使用matlab,加入“past”输入和“分解因子”,对RBM进行训练,合成运动特征。第二篇论文则是使用自编码的卷积实现,论文中实现了较多的功能,还没有完全看懂,而且利用图像风格合成的算法进行的运动风格合成,这给了许多启发,最近在研究图片风格合成,试着是否可疑移植到运动风格上。
机器学习算法学习
在机器学习算法方面就主要推到了RBM和CNN的实现,而且最近也在研究使用这两种技术,试试是否可以研究出新的东西。RBM的实现比较容易,而且运行较快,CNN的计算就比较慢,因为需要反向传播计算参数,如果是实现自编码,就需要跟高的时间,最近师兄给了本caffe的书,是深度学习的工具包,刚好进行caffe学习,学习熟练使用这个工具,对于今后研究和毕业工作又有较大的好处,由于caffe有太多的依赖包,安装折腾我好久,搞到半夜好几点(弄不好都睡不着,职业病!),不过现在终于搭建完成了。今后白天就研究论文实验,晚上回去学习caffe和linux(没办法,本科感觉什么都没学)。
代码理解和测试
代码的测试主要是针对那两篇论文的,一个用matlab实现,另一个是python(^-^也要学习python了),具体代码的分析就不贴出来了,都是比较简单的,python使用了theano深度学习包,这个分装的较好,只知道怎么建立网络层的,具体实现不是很懂。
PS:只是第一次写博文,主要是想把自己的学习过程记录下来,写的也不怎么好,后面也没有认真的写了,以后会坚持写下去。^-^
- 周志华. 机器学习[M]. 北京:清华大学出版社, 2016. ↩