AI作业5-深度学习基础

人工智能、机器学习、深度学习之间的关系

  • 人工智能(Artificial Intelligence, AI)是机器,特别是计算机系统对人类智能过程的模拟。人工智能是一个宏大的愿景,目标是让机器像我们人类一样思考和行动,既包括增强我们人类脑力也包括增强我们体力的研究领域。
  • 机器学习(Machine Learning, ML)是一门多领域交叉学科,是人工智能的核心,是使计算机具有智能的根本途径。机器学习是一种实现人工智能的方法,它使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。
  • 深度学习(Deep Learning, DL)是机器学习的一种,主要特点是使用多层非线性处理单元进行特征提取和转换。深度学习是一种实现机器学习的技术,它利用深度的神经网络,将模型处理得更为复杂,从而使模型对数据的理解更加深入。

简单来说三者的关系即: 深度学习 ⊆ 机器学习 ⊆ 人工智能 深度学习 \subseteq 机器学习 \subseteq 人工智能 深度学习机器学习人工智能
用图解释的话就是:
AI作业5-深度学习基础_第1张图片

(可)参考链接:
一文看懂人工智能、机器学习、深度学习与神经网络之间的区别与关系

神经网络与深度学习的关系

首先了解这两者的概念:

  • 神经网络(Neural Network, NN)是一种机器学习的算法,它在设计的时候就是模仿人脑的处理方式,希望其可以按人类大脑的逻辑运行。神经网络由多个层和神经元组成,每个神经元都为它的输入分配权重,然后通过激活函数进行非线性转换,最终生成结果。
  • 在机器学习&深度学习的学习过程中我们也能发现机器学习中对于逻辑斯蒂回归的使用,在深度学习中(如sigmoid 函数)激活函数的作用是为神经网络引入非线性因素,从而使神经网络能够处理更加复杂的问题。在机器学习中,逻辑斯蒂回归(或对数几率回归)将概率转化为了接近0|1的函数值。
  • 深度学习见上;
    由此可见:神经网络“位于“机器学习和深度学习之间,可见下图
    AI作业5-深度学习基础_第2张图片
    (可)参考链接:
    [神经网络、深度学习、机器学习是什么?有什么区别和联系?]【上图摘自该文章】(https://www.zhihu.com/question/309493906)

“深度学习”和“传统浅层学习”的区别和联系

具体来说,深度学习和传统浅层学习的区别有以下几个方面:

  • 网络深度隐藏层的数量不一,深度学习使用的神经网络结构更加深层,可以包含数十甚至数百个隐藏层,而传统浅层学习则只有一到两个隐藏层。
  • 特征提取:深度学习可以通过多个隐藏层来实现多级特征提取,每一层都可以提取出数据的不同抽象特征,而传统浅层学习则需要手动进行特征工程。
  • 数据量:深度学习在大数据方面表现更加优秀,通常需要大量的数据才能得到良好的表现,而传统浅层学习则可以在相对较少的数据下表现良好。
  • 训练时间:深度学习模型通常需要更长的时间进行训练和调参,而传统浅层学习的模型则可以在短时间内得到较好的结果。

至于他们之间的联系,深度学习和传统浅层学习都属于机器学习的范畴,都是通过训练模型来实现数据的分类和预测。而且,深度学习的一些技术,比如激活函数、反向传播等,也是从传统浅层学习中发展而来的。因此,在实践中,深度学习和传统浅层学习通常会结合使用,以达到更好的效果。

神经元、人工神经元

  • 神经元(Neuron)是指生物神经系统中的基本单元,它是一种能够接收、处理和传递信息的细胞。神经元由细胞体、树突和轴突组成,细胞体负责维持生命活动,树突负责接收其他神经元的信号,轴突负责向其他神经元或效应器发送信号。神经元之间通过突触连接,突触是一种能够传递化学或电信号的结构。
  • 人工神经元(Artificial Neuron)是指人工神经网络中的基本单元,它是一种能够模拟生物神经元功能的数学模型。人工神经元由输入、权重、激活函数和输出组成,输入负责接收外部数据或其他人工神经元的输出,权重负责调节输入的影响程度,激活函数负责对加权输入进行非线性变换,输出负责向其他人工神经元或目标函数发送信号。人工神经元之间通过连接权重连接,连接权重是一种能够反映信号强度的数值。

(可)参考链接:
什么是人工神经网络(ANN)?

MP模型

MP模型是一种神经网络的基本单元,它是由美国神经生理学家沃伦·麦卡洛克和数学家沃尔特·皮茨于1943年提出的,模仿了生物神经元的结构和工作原理。

受神经元启发了,MP模型的输出可以表示为:
y j = f ( ∑ i = 0 n w i j x i − θ ) y_j=f(\sum_{i=0}^{n}w_{ij}x_i-\theta) yj=f(i=0nwijxiθ)

  1. 其中θ为神经元的激活阈值,函数f(⋅)被是激活函数。
  2. 函数f(⋅)可用阶跃方程表示,大于阈值激活;否则则抑制。
  3. 但阶跃函数不光滑,不连续,不可导,因此通常用sigmoid函数来表示函数f(⋅)。
    AI作业5-深度学习基础_第3张图片

(可)参考链接:
人工神经元图片来自于百度百科

单层感知机 SLP

单层感知机(Single Layer Perceptron,SLP)是一种简单的线性二分类模型,也可以看作是一种最基本的神经网络。它的输入是实例的特征向量,输出是实例的类别(+1或-1)。它的目标是寻找一个超平面,能够将训练集中正负实例划分正确。
单层感知机的模型可以表示为:
f ( x ) = s i g n ( w ⋅ x + b ) f(x) = sign(w \cdot x + b) f(x)=sign(wx+b)
其中, w w w是权值向量, b b b是偏置, s i g n sign sign是符号函数,即:
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 sign(x) = \begin{cases} +1, & x \geq 0 \\ -1, & x < 0 \end{cases} sign(x)={+1,1,x0x<0
单层感知机的学习策略是通过构造损失函数,并利用梯度下降法来更新参数。损失函数通常选用误分类点到超平面的距离之和,即:
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b) = -\sum_{x_i \in M} y_i (w \cdot x_i + b) L(w,b)=xiMyi(wxi+b)
其中, M M M是误分类点的集合, y i y_i yi是实例的类别。
单层感知机的学习算法可以描述为:

  • 随机初始化参数 w w w b b b
  • 选取一个学习率 η \eta η
  • 在训练集上进行迭代,每次随机选取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),按照如下公式更新参数:
    w ← w + η y i x i w \leftarrow w + \eta y_i x_i ww+ηyixi
    b ← b + η y i b \leftarrow b + \eta y_i bb+ηyi
  • 直到没有误分类点或达到最大迭代次数,停止迭代
    单层感知机的优点是模型简单,易于实现,但缺点是只能解决线性可分的问题,不能处理复杂的非线性问题。

(可)参考链接:
单层感知机(Single Layer Perceptron)详解 - CSDN博客.
单层感知机(Single Layer Perceptron)原理及Matlab实现.
深度学习:单层感知机与多层感知机详解 - 知乎.

异或问题 XOR

异或问题曾经是神经网络发展的一个障碍,因为单层感知机无法解决这个问题,而多层感知机的学习算法还没有被发现。[1969年,人工智能之父 Minsky(和Seymour Papert)在《感知器》(Perceptrons)一书里给感知器判了“死刑”。Minsky的逻辑是:
(1)一层感知器只能解决线性问题;
(2)要解决非线性问题(包括分段线性问题),比如异或(XOR)问题,我们需要多层感知器(MLP)
(3)但是,我们没有MLP可用的训练算法。
(4)所以,神经网络是不够实用的。

异或问题(XOR)是指用一个线性模型(如单层感知机)无法正确分类的问题,即当两个输入变量的值不同时输出为,否则输出为0的问题。

异或问题的真值表如下:

x y x XOR y
0 0 0
0 1 1
1 0 1
1 1 0

异或问题的数据分布如下图所示,可以看出,无法用一条直线将两类数据分开。

AI作业5-深度学习基础_第4张图片

多层感知机是如何解决异或问题的呢?(见下)其实就是通过增加一个隐藏层,将输入空间映射到一个更高维的空间,使得原本线性不可分的数据变成线性可分的。
想解决“异或”问题,就需要让网络复杂起来。这是因为,复杂的网络,表征能力就比较强[1]。按照这个思路,可以在输入层和输出层之间,添加一层神经元,将其称之为隐含层(hidden layer,亦有文献简称为“隐藏层”、“隐层”,后文不再区分这三个称谓)。这样一来,隐含层和输出层中的神经元都拥有激活函数。假设各个神经元的阈值均为0.5,权值如图8-1所示,就实现了“异或”功能
AI作业5-深度学习基础_第5张图片

(可)参考链接:
异或运算(XOR)_xor是什么逻辑运算_大Damon的博客-CSDN博客.
【深度学习之美13】多层网络是如何解决“异或”问题的?【图8.1摘自该文章】
神经网络简史(上)——从“极高的期待”到“极度的怀疑”

多层感知机 MLP

在上面我们已经简要了解了单层神经网络和他不能解决的异或问题,然后我们简要叙述了多层感知机是如何解决异或问题的。

  • 多层感知机(MLP)是一种前馈的人工神经网络,包含输入层、输出层和一个或多个隐藏层。MLP可以将一组输入向量映射到一组输出向量,可以用来进行分类或回归等任务。
  • MLP的每个节点都是一个带有非线性激活函数的神经元,例如 sigmoid 函数、tanh 函数或 ReLU 函数等。MLP的每一层都与下一层全连接,即每个节点的输出都作为下一层所有节点的输入。
  • MLP的学习方法是通过反向传播算法,利用梯度下降法来更新参数,以最小化损失函数。损失函数可以是均方误差、交叉熵或其他形式。反向传播算法的基本思想是,从输出层开始,计算每一层的误差信号,并根据误差信号和激活函数的导数,调整每一层的权重和偏置。
  • MLP是感知器的推广,可以解决线性不可分的问题,如异或问题。MLP也是深度学习的基础模型,可以构成深度神经网络。MLP在模式识别、计算机视觉、自然语言处理等领域有广泛的应用。

(可)参考链接:
多层感知器 - 维基百科,自由的百科全书.
机器学习(4)多层感知机(MLP) - 知乎 - 知乎专栏.
多层感知机(MLP)简介_北漂奋斗者的博客-CSDN博客.

前馈神经网络 FNN

前馈神经网络(FNN)是一种最简单的神经网络结构,FNN 结构是由最基本的神经元 (neuron)堆叠而成;在每个神经元会做两步操作:
1.与对应权重相乘累加,称为神经元状态。
2.累加后的结果传入激活函数。FNN 是一种有向无环图,信号从输入层向输出层单向传播,可用于实现分类或回归问题。FNN 也经常称为多层感知器(Multi-Layer Perceptron,MLP)。

(可)参考链接:
深度学习基础——前馈神经网络(FNN) - 知乎 - 知乎专栏.
深度学习笔记(1)–前馈神经网络
深度学习之前馈神经网络(前向传播和误差反向传播)

激活函数 Activation Function

激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。在神经元中,输入的input经过一系列加权求和后作用于另一个函数,这个函数就是这里的激活函数。激活函数可以分为线性激活函数和非线性激活函数,常见的非线性激活函数有Sigmoid、Tanh、ReLU、ELU、SELU等。不同的激活函数有不同的特点和优缺点,选择合适的激活函数可以提高神经网络的性能和效率。

(可)参考链接:
深度学习笔记:如何理解激活函数?(附常用激活函数)

为什么要使用激活函数?

因为神经网络中每一层的输入输出都是一个线性求和的过程,下一层的输出只是承接了上一层输入函数的线性变换,所以如果没有激活函数,那么无论你构造的神经网络多么复杂,有多少层,最后的输出都是输入的线性组合纯粹的线性组合并不能够解决更为复杂的问题。而引入激活函数之后,我们会发现常见的激活函数都是非线性的,因此也会给神经元引入非线性元素,使得神经网络可以逼近其他的任何非线性函数,这样可以使得神经网络应用到更多非线性模型中。

均方误差和交叉熵损失函数,哪个适合于分类?哪个适合于回归?为什么?

均方误差(MSE)和交叉熵(Cross-entropy)是两种常用的损失函数,它们分别适合于回归和分类问题。均方误差是求预测值和真实值之间的差的平方的平均值,它反映了预测误差的大小。交叉熵是求预测概率分布和真实概率分布之间的差异,它反映了预测准确性的程度。

  • 一般来说,均方误差适合于回归问题,因为回归问题的目标是最小化预测误差,而不关心预测值的具体分布。交叉熵适合于分类问题,因为分类问题的目标是最大化预测正确的概率,而不关心预测值的具体大小。
  • 此外,使用均方误差作为分类问题的损失函数时,会有一些缺点,比如梯度消失、学习速度慢、对异常值敏感等。使用交叉熵作为回归问题的损失函数时,也会有一些缺点,比如对数运算增加计算量、对于连续值不太适用、对于多目标回归不太合理等。

(可)参考链接:
损失函数|交叉熵损失函数
【超详细公式推导】关于交叉熵损失函数(Cross-entropy)和 平方损失(MSE)的区别

你可能感兴趣的:(人工智能导论,人工智能,深度学习,机器学习)