发布时间:2023-3-8 分类: 行业动态
要理解深度学习,首先必须理解“深度学习”的概念:神经网络和神经元的概念。
关于神经网络和深度学习之间的概念和差异,我不会详细介绍“机器学习(一)”文章。
深度学习可以说是当前“人工智能浪潮”的根本原因,因为它的兴起,包括深度神经网络,循环神经网络和卷积神经网络的突破,允许语音识别,自然语言处理和基本技术,如计算机视觉已经突破了以前的瓶颈。要理解深度学习,首先必须理解“前身,神经网络和神经元”的概念。
一,神经元的组成
神经元可以说是深度学习中最基本的单元。几乎所有的深度学习网络都以不同的方式由神经元组成。
完整的神经元由两部分组成,即“线性模型”和“激励函数”。如果您已阅读上一篇文章,我相信您可以回想起“线性回归”和“激励函数”的概念。
1.线性模型
(1)作文
假设这个线性模型的函数:y=wx + b(木材很熟悉),其中x是1xn向量矩阵,矩阵中的每个向量值代表样本特征的值,w是权重nx1的矩阵(对应于矢量的比例),b是偏移项。
(2)工作流程
以苹果的质量为例,我们假设y代表质量变量,x是1× 3矩阵,w是3&次; 1个矩阵(当忽略偏移量为0时),如下:
x矩阵中的矢量值< 1,2,3"表示分别从数据中提取的特征向量的值。
w矩阵中的“0.2,0.6,0.7”表示每个特征向量的权重。
将这两个矩阵相乘最终将得到一个实数(涉及数学矩阵运算,并非所有都是实数)。
1X0.2 + 2X0.6 + 3X0.7=3.5
获得的3.5是我们已经适合假设y1的苹果的质量。使用此值与已校准的真实质量y0产生差异,我们可以得到拟合值与数据真值之间的误差。当然,实际计算这是一个海量数据计算
我用第一章分享了线性回归
中全局误差函数的定义该函数用于描述所有数据拟合值与实际值之间的关系。目的是与机器学习相同。最后,我们需要找到所需的Loss和w,b之间的映射关系。
“线性模型”中上述单神经元的操作流程与机器学习中的“线性回归”过程基本相同。
2.激励功能
(1)激励功能的作用
激励函数位于神经元线性模型之后,并且还被转换为激活函数。它有两个功能:
加入“非线性”因子
根据不同培训目的的需要进行数学函数映射
为什么加入“非线性”因子,因为“真实世界”的数据不能是线性的,如果强迫“线性模型”拟合非线性数据,最终结果肯定是“不合适””
如何理解数学函数映射,采取最常用的Sigmoid函数示例
Sigmoid函数定义:
激励函数前的线性模型“y=wx + b”;已被计算得到一个实数(即前3.5)
可以推导如下
然后激励函数sigmoid变为
下图显示了Sigmoid函数图。从图像中可以看出,初始x被线性建模为z(z理论上可以是任意大小的实数),并且z由激励函数再次映射,最后输出必须是实数的[0,1]间隔,它实现了数学函数的映射。
它可以实现简单的概率分类判断,假设“0”为“0”。并且“ 1”每个代表一个概念,然后最终输出在区间[0,1],更接近“1”,这意味着它更可能是由“1”代表的概念;
(2)激励功能的类型
激励功能有很多种,应用场景也不同。除了上面提到的Sigmoid函数之外,还有许多用于RNN(圆形神经网络)的Tanh函数,其中大部分用于CNN(卷积神经网络)。网络)ReLU功能,以及线性功能等。
这里不列出他们的公式和功能图像。简而言之,每个刺激功能都有自己的“个性”(特征)。根据不同的算法模型和应用场景,将使用不同的激励函数。当然,最终目标只有一个,即算法模型收敛得越快,拟合越好
二,神经网络
1.神经网络的组成
神经网络实际上是多个神经元的水平和垂直堆叠。最简单和最基本的神经网络可以用下图表示
通常分为以下三层:
输入层:负责直接接受输入的向量。通常,不处理数据,并且不计算神经网络的层数。
隐式层:它是整个神经网络中最重要的部分。它可以是一层或N层。隐藏层中的每个神经元都将处理数据。
输出层:用于输出整个网络处理的值。该值可以是分类矢量值或类似于线性回归的连续值。
2.神经网络工作流程
最初,神经元通过图中的端到端连接进行连接和连接。先前神经元的输出成为下一层神经元的输入。对于x向量中任何维度的分量,它在整个神经网络中逐层处理。
神经网络的优点在于我们可以调整神经网络的层数,网络的拓扑结构和神经元的参数,以改变输入向量x的不同数学维度的处理,以实现不同的训练目的。 。这也是DNN,RNN和CNN成为当今人工智能热门话题的主要原因。 (事实上,DNN,但在结构上,可以简单地理解为层数的增加,这反过来又会导致特征提取和抽象功能的增强)
当然,随着网络层数的增加,拓扑结构变得复杂,反过来又带来整个神经网络的副作用和问题,例如容易陷入局部最优解和严重梯度消失等问题。这也是事后需要探索和深化的事情。