什么是深度学习?
深度学习(Deep learning)是机器学习(Machine Learning)中的一个领域,是机器学习的一个分支,更简单来说就是,深度学习就是一个复杂的机器学习的算法,机器学习可以让计算机研究并学习人类的行为,从而获得新的知识和技能,而深度学习就是在这个基础上,让计算机可以模仿人脑的思维,像人一样,通过数据集(人的经验)来进行判断新的问题,并且自我完善,获得相对精确的模型,目前,深度学习在智能处理图像,语音识别方向已经取得了巨大的成功,未来的很多智能方向,都要依赖深度学习。
对深度学习所需要的基础知识?
入门深度学习,从个人经验来看,需要俩各方面,也是大多是机器学习所需要的俩个最重要的基础;
- 数学基础:线性代数、概率论;
- 编程语言基础:主要是Python语言,当然会其他语言的算法也是好的;
数学基础中的线性代数对机器学习是至关重要的,建议线性代数没有学好的同学可以在网上学习“线性代数的本质”,生动的讲解了现代的本质。https://www.bilibili.com/video/BV1fR4y1E7Pw/?spm_id_from=333.337.search-card.all.click&vd_source=aa45d525ce7be017ae86c23bda38bdeci
编程能力,就是要会用Python就可以了,以及各种包的调用,这个网上就可以找到;。关于编程语言,这个也可以结合算法一起学习,也可以先了解编程语言的基础知识,再去学习算法。通过自己动手编程实现算法,既可以加深对算法的理解,也可以加强编程能力
学习资料
参考书籍:
- 《数据挖掘导论》
- 《机器学习实战》
- 《统计学习方法》/《机器学习》
- 《深度学习》
- 《统计自然语言处理》/《推荐算法实战》
- 《算法导论》
视频资料:
- 刘二大人的《PyTorch深度学习实践》
- 吴恩达机器学习课程
深度学习的理解
深度学习说到底就是将人类推理的过程转化到计算机上,而机器学习我们一般说的都是监督学习,算法主要包括:1.穷举法、2.贪心法、3.分治法、4.动态规划,这些算法由数据集DataSet弄出算法,提出一个一个模型然后预测他们,总结来看包括三部分,1.DataSet数据集、2.Model模型、3.Training训练,训练集分成了俩方面,一部分用来训练,一部分用来开发;
在建立模型的过程中,要准备训练数据集,需要先确定模型,然后确定损失函数,这样在训练后,方便构造损失。
深度学习的实质,就是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。
原文参考链接:https://blog.csdn.net/qq_45093227/article/details/91494056
关于框架的学习
Pytorch是基于Torch的Python的开云机器学习库,用于自然语言处理等应用程序,这就要不得不说一下,关于这个环境的搭建,众所周知深度学习是对算力要求很高的一门学科,换句话说,就是要求电脑的显卡的配置要高,而早期的硬件计算能力有限,这也使得训练较复杂的神经网络都变得很苦难,然后通用GPU的到来就就饿了这一问题,GPU专门为图像处理和游戏以及算力的计算设计的,尤其是大量数据的吞吐量的计算,然而我的电脑是一台办公本,用的还是集成显卡,在费尽心力配置好环境以后,发现显卡根本不支持,GPU的运算,因此只有通过代码将其修改为利用cpu来计算,但是效果也不好,所以改用了线上的环境来使用,目前国内的阿里云,腾讯云在在线方面都很不错。
最后,在时间不多的情况下,多实践,不要管懂不懂为什么,问题可以在实践过程中解决,否则光视频或光看书,效果很小。
以上就是第一阶段的心得体会。