本文目录
如何学习人工智能
人工智能是通过学习人类的数据,从中找出规律,然后代替人类在各个领域工作。如果你想知道人工智能是如何从人类的数据中学习的,可以先从机器学习的算法入手,这些算法有趣且不难理解,是很好的激发学习兴趣的着手点。
机器学习的算法有比如:
非监督式学习中的K-Means算法,DBSCAN,t-SNE等等,主要不是用来预测,而是对整个数据有一定的深入了解。
监督式学习中常见的有:
- 回归算法:试图采用对误差的衡量来探索变量之间的关系的一类算法,常见的种类有最小二乘法,逻辑回归,逐步式回归,多元自适应回归样条,以及本地散点平滑估计。
- 决策树学习:根据数据的属性采用树状结构建立决策模型,通常用来解决分类的问题。常见种类有:分类及回归树,随机森林,多元自适应回归样条,以及梯度推进机。(虽然名字长但是内容不难理解)
- 深度学习算法在近期赢得了很多关注,特别是百度也开始发力深度学习后,更是在国内引起了很多关注。在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:卷积网络,堆栈式自动编码器。(同样是名字长但是内容不难理解)
了解过一些算法后,就可以简单的跑一些数据来做自己的预测了!这时需要学习一下编程语言Python,具体的指令非常简单,几乎一行代码就能训练好预测模型,然后做出自己的预测结果了!具体资源有很多教机器学习的书籍和视频,B站和西瓜视频都有很多人在科普。
如果想自己做一些预测项目自娱自乐一下,也可以去Kaggle这个网站,有很多有趣的项目,网站提供数据,自己做模型做预测然后提交,比照精确度,满满的成就感。网站上也有很多人提供自己的解决思路和代码,可以去跟大神们学习一下。很有名的一个项目是:预测泰坦尼克号每位乘客最后有没有生存下来,生存率跟他们在船上的位置,性别,收入,家庭人数等等都有关系。
如何理解空洞卷积
如何理解空洞卷积dilated convolution?
首先,我们要知道,空洞卷积是什么,和一般的卷积操作有什么不同?
一般的卷积层的卷积操作是什么样?一般的卷积操作就不仔细说了,看下面的动图,这是padding=1,stride=1的卷积操作示意图,外圈白色区域是padding。从下图看出,输入层和输出层经过卷积操作后,尺寸没变,都是5*5,但卷积神经网络提取特征是一个下采样的过程。
网络为什么需要下采样?1.减小特征的尺寸,从而减小网络的参数量,防止网络过拟合
2.提取更好的特征,获得更好的性能
一般卷积神经网络中下采样由什么操作完成?一般的卷积网络中下采样都是通过池化(pooling)层得到的。通过池化层下采样特征,减小特征尺寸减轻过拟合同时增大了网络感受野,一般设计卷积神经网络时,都会在卷积操作后加上池化层。
池化层优点:能够增大感受野减小模型参数缓解过拟合
池化层缺点:通过这样直接pooling的操作,在一定程度上损失了空间结构信息。
空洞卷积操作如何进行?空洞卷积如下图所示,它可以看做利用一个参数,将原本的卷积核中间填充0,扩大卷积核的大小,利用扩充的卷积核进行卷积操作。从图中所示,空洞卷积也能扩大网络感受野减小尺寸同时还能保留一定的结构空间信息。
空洞卷积有一个rate的参数,它控制着卷积核中两个值中间插入0的个数为rate-1,可以使用0填充卷积核扩大卷积核。
为什么需要空洞卷积?从上述可知,池化层能够增大感受野减小模型参数缓解过拟合,但是池化层的操作一定程度上破坏了特征的空间结构信息,但是在特定的一些任务例如图像语义分割任务中,则需要保存利用图片的空间信息,这时候便可以利用空洞卷积完成下采样,增大感受野同时还可以保留图片空间结构信息。
综上所述,都是本人的总结,若有不当之处,欢迎交流指正。