深度学习原理

1 简介

        AIGC(Artificial Intelligence Generated Content,即人工智能生成内容)是一种利用人工智能技术自动创建文本、图像、音频和视频等内容的技术。AIGC的核心是通过机器学习和深度学习算法,让计算机模型学会理解和生成人类语言,从而能够自动产生有价值的内容。这是几个关键概念的关系:

生成式AI系统的设计通常基于神经网络模型,尤其是自然语言处理(NLP)领域的模型。这些模型的设计灵感往往来源于人脑的结构和功能,通过模拟神经元的连接和信息传递机制,构建复杂的网络结构

        右边的节点网络中,最左侧的3个浅紫色的点是输入节点,最右边的2个红色节点是输出节点,中间的2层就是处理层(又叫隐藏层神经元)

一个典型的神经网络模型可能包括以下三部分:

(1)输入层:接收输入数据,如文本、语音或图像。

(2)处理层:通过多层的神经网络对输入进行处理和学习,提取关键信息和特征。

(3)输出层:根据学习到的信息生成响应或内容。

对神经网络简化,得到只有一个输入、1个处理和1个输出的模型:

这个图里,输入数据X经过线性函数l和非线性函数r计算,最终得到结果Y’。

要怎么理解上面这个图呢?

下面我们将它用一个例子来讲清楚其原理。

2 用一个求函数表达式的问题解析深度学习原理

首先提出问题:求下图中的y=f(x)关于x的表达式:

可以看到这个函数曲线大致分为了3部分,我们把它标注为下图:

        如果要知道f(x)的表达式,那把1、2、3的表达式求出来,他们组合的结果就是f(x)的函数表达式了。

2.1 线性和非线性函数

        在进行下一步之前,咱们得先了解下线性函数和非线性函数的区别:

2.1.1 线性函数(Linear Function)

        线性函数是指输入和输出之间存在线性关系的函数。在线性函数中,输出是输入的加权和,可能还会加上一个偏置项。线性函数的一般形式可以表示为:

y=wx+b

        其中,w 是权重,x 是输入,b 是偏置项,而 y 是输出。线性函数的特点是,当输入增加时,输出成比例地增加;当输入减少时,输出成比例地减少。线性函数无法捕捉输入和输出之间的复杂关系,如非线性模式或特征。

2.1.2 非线性函数(Non-linear Function)

        非线性函数是指输入和输出之间不是简单比例关系的函数。非线性函数可以引入数据的复杂模式和结构,使得神经网络能够学习和模拟更加复杂的函数映射。非线性函数在神经网络中又比称为激活函数,常见的激活函数包括:

  • ReLU 函数:ReLU(x)=max(0,x)
  • Sigmoid 函数:....
  • Tanh 函数:....
  • Swish 函数:Swish(x)=xσ(x)

        非线性函数的特点是,它们可以使得神经网络的输出不仅仅依赖于输入的线性组合,还能够捕捉输入之间的相互作用和复杂的非线性关系。这对于解决实际问题非常重要,因为现实世界中的很多问题都是非线性的。

2.1.3 线性与非线性在神经网络中的作用

        在线性神经网络中,如果网络只包含线性函数,那么无论网络有多少层,最终的输出都是输入的线性组合。这意味着多层线性网络的功能与单层线性网络相同,因为线性函数的复合仍然是线性的。这就是为什么我们需要非线性激活函数的原因。非线性激活函数打破了线性,使得每一层都能够学习到新的、更复杂的特征表示,从而使神经网络能够解决更加复杂的任务。

例:

Y=a(c(ex+f)+d)+b

3次线性操作后合并同类项,最终结果会等于:

Y= Ax+B

还是线性函数。

2.2 深度学习原理

2.2.1 函数分段

        回到上面的例子,要求解的函数图像分割成3部分

        对应上面的1、2、3分段的函数,3部分的表达式组合即可表达函数的y=f(x)。

2.2.2 引入非线性函数

        接下来引入一个非线性函数,本例使用上文提到的ReLU函数。其图形如下所示:

2.2.3 非线性函数图形变换

        对于坐标轴上的任意一段分段图形,都可通过调整R(x)函数获得,如下图所示:

对应到函数表达式上为:

R(x)1=R(x-1)

R(x)2=3R(x-4)-5

2.2.4 线性操作与非线性操作示例

以R(x)2=3R(x-4)-5 这个变换后得到的图像为例:

对数据X来说,

  1. x进行一次线性操作: y=x-4 (参数分别是1和4)

  1. 线性操作的结果做一次非线性操作:y=R(x-4)

  1. 非线性操作的结果再做一次线性操作:3R(x-4)-5 (参数分别是3和5)

        自此,输入x通过线性+非线性+线性操作,得到一个任意位置的R(x)函数。

2.2.5 函数求解的神经网络图表达

我们将上述例子的求解方法按照前面的神经图来输出,就得到了下图:

        图示有3个神经元,每个路径经过1次线性操作L,1次非线性操作R,1次线性操作L,得到1个分段函数f(x)1,3个路径得到3个分段函数组成预测函数Y’。

        然而,正常情况下的要求的函数图像并不是规则的,于是就需要更多的处理节点、更多层数的隐藏层去处理,以得到更拟合原有函数y=f(x)的预测结果。

通过在隐藏层增加更多层的处理层,来获得更精确的预测结果。

        隐藏层越多、单层的处理节点越多,其参数就越多,模型也越加复杂,结果也就接近正确值,正是因为中间隐藏层很多、很深,所以神经网络模型也叫深度学习模型。

        在这个过程中,模型训练就是通过调整每个线性函数的参数(权重Weights和偏移量Biases),使结果更准确的拟合。

2.2.6 损失函数

        既然是根据分段来拟合,那必然少不了与原始函数的差异,拟合函数与原函数的差异,我们用损失函数来说表示,损失函数是衡量模型预测结果与真实结果之间差异的指标。在训练过程中,模型的目标是最小化这个损失。

                如:使用绝对值均值(Y与Y’在相同x的差值的绝对值的均值)来衡量损失函数的值。在计算得到损失函数的值后,通过优化算法、反向传播算法来调整权重,以找到最小化损失函数的权重值

2.2.6.1 反向传播算法

        反向传播算法是神经网络训练中的核心,它通过计算损失函数相对于每个权重的梯度来更新权重。这个过程从输出层开始,逐层向输入层反向传播误差信号,每个神经元的权重都会根据误差梯度进行调整。反向传播通常与梯度下降算法结合使用,以找到最小化损失函数的权重值。

2.2.6.2 优化算法

        优化算法用于更新网络中的权重,以减少损失函数的值。最常见的优化算法是随机梯度下降(SGD)及其变体,如Adam等。这些算法通过在每次迭代中调整权重来逐步优化模型的性能。

2.2.7正则化

        在深度学习中,正则化是一种用于防止过拟合的技术。过拟合是指模型在训练数据上表现很好,但在未见过的测试数据上表现较差的现象。这通常是因为模型学习到了训练数据中的噪声和细节,而没有捕捉到数据的潜在分布或泛化特征。

常见的正则化方法包括:

        L1正则化(Lasso):在损失函数中添加权重的绝对值之和,倾向于产生稀疏权重矩阵,即许多权重为零。

        L2正则化(Ridge):在损失函数中添加权重的平方和,倾向于让权重均匀地分布,而不是选择少数几个特征。

        Dropout:在训练过程中随机丢弃(即暂时移除)网络中的一些节点,防止模型对特定的神经元过度依赖。

        早停(Early Stopping):在训练过程中监控模型在验证集上的表现,当性能不再提升或开始下降时停止训练,以避免过拟合。

        正则化是深度学习中提高模型性能的重要手段,通过适当的正则化策略,可以使模型在未知数据上表现得更好。

OK,到这里我们已经把深度学习的整个流程讲完了,总结一下:

深度学习的核心部分,是通过一系列的学习和训练过程来掌握数据的特征和模式。

这个过程可以分为以下几个关键步骤:

(1)前向传播:

        当输入数据(如文本序列)被送入模型时,它会通过每一层的神经元进行前向传播。每个神经元都会接收来自前一层的输入,通过加权求和(考虑每个连接的权重)后,通常会通过一个非线性激活函数(如ReLU)进行转换,产生输出到下一层。这个过程会一直重复,直到达到输出层。

(2)权重初始化:

        在训练开始之前,模型中的权重通常会被初始化为随机值。这是为了防止权重在训练初期就陷入局部最优解,确保模型能够开始学习。权重初始化的方法有很多种,如随机初始化等,每种方法都旨在帮助模型更有效地学习。

(3)模型训练与参数优化

        在训练过程中,模型通过损失函数来衡量模型预测结果与真实结果之间差异,在计算得到损失函数的值后,通过优化算法、反向传播算法来调整权重,以找到最小化损失函数的权重值。这个过程通常涉及到监督学习,即模型通过比较预测结果和真实结果的差异来不断调整自身参数。为了防止模型过拟合(即在训练数据上表现很好但在未见数据上表现差),通常会在训练过程中加入正则化项。

        通过这些步骤,模型的处理层能够逐渐学习到如何从输入数据中提取特征,并将这些特征转化为有意义的输出。随着训练的进行,模型的性能会逐渐提高,最终能够生成符合预期的内容。

        相信通过这篇文章,也能明白各种大模型里的提到的亿级的参数、模型训练等都是什么意思了。

  • 47
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值