首页 > 其他分享 >深度学习原理

深度学习原理

时间:2024-06-19 17:01:37浏览次数:21  
标签:函数 权重 模型 非线性 学习 深度 线性 原理 输入

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)模型训练与参数优化

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

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

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

标签:函数,权重,模型,非线性,学习,深度,线性,原理,输入
From: https://blog.csdn.net/xiao77224li/article/details/139752848

相关文章

  • DevOps学习回顾02-实践的通用路径-需求分析的拆解-CI的理解-质量体系的实践路径
    参考来源:极客时间专栏:DevOps实战笔记,作者:石雪峰课程链接:https://time.geekbang.org/column/intro/235DevOps学习回顾02-实践的通用路径-需求分析的拆解-CI的理解-质量体系的实践路径DevOps实践的通用路径第一步:寻找合适的试点项目一个合适的项目应该具备以下几个特......
  • 机器学习(一)
    机器学习1.机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习的关系1.1.2人工智能的起点1.1.3机器学习、深度学习能做什么?1.2什么是机器学习?1.2.1定义1.2.2数据集的构成1.3机器学习算法1.4机器学习开发流程2.特征工程2.1数据集2.1.1可用数据......
  • nodejs学习08——会话控制 session cookie token
    会话控制一、介绍所谓会话控制就是对会话进行控制HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户而产品中又大量存在的这样的需求,所以我们需要通过会话控制来解决该问题常见的会话控制技术有三种:cookiesessiontoken二、cooki......
  • 莫比乌斯反演学习笔记
    \[\]前段时间学习了莫比乌斯反演,现在补一篇学习笔记吧。Step1:莫比乌斯函数首先我们来定义一下莫比乌斯函数\(\mu\),它的取值如下:\[\mu(n)=\left\{ \begin{array}{ll} 1\qquad\quadn=1\\ (-1)^k\quadn=p_1p_2\cdotsp_k\\ 0\qquad\quadotherwise \end{array}......
  • 筛法学习笔记
    0.更新upd2023.5.21更新了关于powerfulnumber数量的证明upd2023.5.25更新了关于杜教筛的时间复杂度证明正文1.筛质数筛法其实就是判断质数的一个算法,但是是解决\([1,n]\)这一段区间的算法筛质数是最简单的一个用法1.1暴力最简单的方式就是对于每一个数去判断......
  • 狄利克雷卷积学习笔记
    0.更新upd2023.5.18更新了狄利克雷卷积新的一个性质,更新了常用结论的证明1.正文这玩意儿是这么说的:定义一个运算:$*$为狄利克雷卷积。他是干啥的呢?把两个数论函数进行一个运算。\[h(n)=(f*g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})\]当\(f,g\)都是积性函数时,他们的狄利......
  • XAF 属性编辑器(PropertyEditor)- 原理篇
    前言随着DEV24.1.3的发布,XAFBlazor中的属性编辑器(PropertyEditor)也进行了很大的改动,在使用体验上也更接近WinForm了,由于进行了大量的封装,理解上没有WinForm直观,所以本文通过对属性编辑器的原理进行解析,并对比新旧版本中的变化,使大家能够对属性编辑器有一个更全面的认识。......
  • SpringData初步学习-连接MySQL数据库
    1.添加mysql驱动和spring-data-jpa依赖<dependencies><!--SpringDataJPA--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><......
  • 如何解决深度神经网络中的梯度消失问题
    引言深度神经网络(DNNs)以其强大的特征学习能力在多个领域取得了巨大成功。然而,随着网络深度的增加,梯度消失问题逐渐显现,严重影响了深层网络的训练效率和性能。本文将探讨梯度消失问题的原因、影响以及解决这一问题的多种策略。梯度消失问题的定义在深度神经网络的训练过程......
  • 【学习笔记】MySQL(Ⅲ)
    MySQL(Ⅲ)11、进阶篇——视图      11.1、概述      11.2、基本语法      11.3、检查选项CASCADED      11.4、检查选项LOCAL      11.5、视图的更新原则12、进阶篇——存储过程      12.1、概述      1......