人工智能

人工智能、机器学习、神经网络、监督学习、无监督学习、强化学习、深度学习、深度强化学习,之间的关系:
在这里插入图片描述

人工智能就是让计算机模拟人类的思维;机器学习就是让计算机不断地学习,也就是喂给它大量的数据,让它从数据中积累经验,逐渐形成认知。机器学习是实现人工智能的手段之一。
机器学习包括:监督学习、无监督学习、半监督学习、强化学习。
在机器学习中应用神经网络解决问题,就是深度学习

该学什么

机器学习是实现人工智能的一种方式,目前是人工智能中的热门方向
深度学习是实现机器学习的一种方式,目前是机器学习中的热门方向
深度学习是一种学习方式,指的是采用神经网络模型中的多层神经网络进行学习,从而实现机器学习的技术。是神经网络在机器学习中的应用。

应用

主要分为三大应用方向:计算机视觉CV、自然语言处理NLP、其它小方向。深入学习opencv、 NLP、 图像识别等上层技术都要以深度学习为基础。
在这里插入图片描述

CV

分类、定位、检测、分割
图像分类、目标检测、语义分割、实例分割、目标跟踪
图像去噪、数据增强、三维重建、图像检索、图像超分辨率、图像生成

NLP

自然语言处理领域大概可以分为文本分类,序列标注,阅读理解,文本生成,信息抽取
,文本相似度等。

其它

对抗攻击、压缩、加密、比特币、天气预测。

深度学习库: pytorch,tensorflow,keras、Theano、Caffe 、MxNet
神经网络库:NeuroLab、Ffnet、Scikit-Neural Network、Lasagne、Pyrenn
科学运算库:numpy,pandas,sklearn,matplotlib,scipy



机器学习

流程:数学建模、特征提取、建立函数。

分类

监督学习

监督型学习(Supervised learning)就是训练样本,带有属性标签,知道样本属于什么类别。
监督学习有2个主要的任务:回归、分类。
回归:预测连续的、具体的数值。
分类:对各种事物分门别类,用于离散型预测
在这里插入图片描述

分类算法
分类算法按原理分为以下四大类:
基于统计:如贝叶斯算法
基于规则:如决策树算法
基于神经网络:如神经网络算法
基于距离:如KNN算法

半监督学习

在现实生活中,无标签的数据易于获取,而有标签的数据收集起来通常很困难,标注也耗时和耗力。在这种情况下,半监督学习(Semi-Supervised Learning)更适用于现实世界中的应用,该方法只需要少量有带标签的样本和大量无标签的样本。

无监督学习

包括聚类、降维两大算法。
无监督学习(Unsupervised learning)就是,事先不知道样本的类别,通过某种办法,把相似的样本放在一起归位一类,在这种情况下算法并不知道各类代表什么含义。例如,它可以区分出脸与风景有很大不同,而风景与马有很大不同,从而把它们分类,但是算法并不知道这些类是风景还是马。

强化学习

智能体agent
在这里插入图片描述

其它概念

meta learning:核心就是让机器学会学习。
life long learning:和meta learning都是要根据以往的task,希望对现在的task有所帮助,但是meta learn所要求的是学习新的task时候有新的model,但是life long learning始终是一个模型。
迁移学习

常用算法

分类与回归算法

在这里插入图片描述逻辑回归虽然叫回归,但它是分类算法

聚类和降维算法

非监督学习常用算法:谱聚类、EM算法、生成分分析、K举止聚类算法

强化学习算法

4个角度分类

Model-free 和 Model-based
基于概率和基于价值(value)
回合更新(Monte-Carlo update,蒙特卡洛更新)和单步更新(Temporal-Difference update)
在线学习(On-Policy)和 离线学习(Off-Policy)
在这里插入图片描述

算法优劣

评分函数(score function),它是原始图像数据到类别分值的映射(f(x)=Wx)。
损失函数(loss function),它是用来量化预测分类标签的得分与真实标签之间一致性的。



神经网络

分类

按照值的传递方向分类

1、前馈神经网络:是最常见的类型。第一层是输入,最后一层是输出。如果有多个隐藏层,称为“深度”神经网络。它可以计算一系列事件之间相似跃迁的变化,每一层神经元的活动都是下一层的非线性函数。CNN,自编码器。
2、反馈神经网络:是一种将输出经过一步时移再接入到输入层的神经网络系统。RNN

在前馈神经网络中,信息的传递是单向的,即网络的输出只依赖于当前的输入。但是在很多现实的任务中,网络的输出不仅和当前的输入有关还和之前的输入(当前的状态),甚至是以后的输入有关, 另外前馈神经网络难以处理时序数据,如视频、语音、文本,这类都是一些不固定长度的数据, 而前馈神经网络输入输出都是固定长度的,故很难去处理这一类时序数据。
而循环神经网络则是一类具有短期记忆功能的神经网络。不但可以接受其他神经元的信息,还可以接受自身的信息。形成环路。

按照连接方式分类

全连接
在这里插入图片描述

按照解决的问题分类

用于有监督学习的神经网络
用于无监督学习的神经网络:自动编码器(降维)
用于半监督学习的神经网络:GAN 生成对抗网络
用于强化学习的神经网络:DQN

按照有无状态分类

存储单元实际上由一些元素组成,称为门
LSTM长短时记忆网络;GRU是具有不同门的LSTM

组成

神经网络主要是由4个部分组成的,分别是:网络架构、激活函数、调整权重值的算法、损失函数。

激活函数

relu
sigmoid
tanh
maxout

最优权重值算法

也就是调整w值的算法,包括:BP算法

回归损失函数

用于衡量输出结果的正确性
Zero-one Loss(0-1损失)
Perceptron Loss(感知损失)
Hinge Loss
交叉熵损失函数
平方误差损失(Square Loss)
Absolute Loss即绝对值误差
Exponential Loss为指数误差

组合神经网络

入门只需要学习CNN RNN GAN,2021 最火的 Transformer。
LSTM 和普通 RNN 相比, 多出了三个控制器.(输入控制, 输出控制, 忘记控制)。
GRU 是RNN的另一种变体,其与LSTM 都采用了门机制来解决上述问题,不同的是GRU可以视作是LSTM的一种简化版本。
seq2seq 是一个 Encoder–Decoder 结构的网络
在反向传播期间,RNN 会面临梯度消失的问题。 LSTM解决了RNN梯度消失的问题。在LSTM被推出之前,RNN一直是主流的深度学习语言模型,但是其存在两个十分明显的技术缺陷,一个是梯度消失,另一个是梯度爆炸。LSTM可以解决梯度消失的问题,但是不能解决梯度爆炸的问题。

概念

Batch就是每次送入网络中训练的一部分数据,而Batch Size就是每个batch中训练样本的数量。
一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程。随着epoch数量的增加,神经网络中权重更新迭代的次数增多,曲线从最开始的不拟合状态,慢慢进入优化拟合状态,最终进入过拟合。
我们有2000个样本数据,分成4个batch,那么batch size就是500。运行所有的数据进行训练,完成1个epoch,需要进行4次iterations。
梯度
梯度消失:n趋向于0,此时w几乎停止改变,换句话说就是停止学习;
梯度爆炸:n趋向于无穷大

在全连接网络中,如果我们选择的激活函数是sigmod,那么越deep,就越容易发生梯度消失的情况。解决的方案就是用ReLU来替代sigmod,为何因为这样O7 O8 O1 …就会变为常数了

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐