从人工智能入门到理解ChatGPT的原理与架构的第一天(First)(含机器学习特征工程详解)

目录

一.ChatGPT的发展历程

二.Attention is all you need

三.对于GPT-4的智能水平评估

四.大语言模型的技术演化

1.从符号主义到连接主义

2.特征工程

2.1数据探索

2.2数据清洗

2.3数据预处理

2.3.1无量纲化

2.3.1.1标准化

2.3.1.2区间缩放法

2.3.1.3标准化与归一化的区别

2.3.2对定量特征二值化

2.3.3对定性特征哑编码

2.3.4处理缺失值

2.3.5数据变换

2.4特征选择、特征构造与特征提取

2.4.1特征选择

2.4.1.1Filter

2.4.1.2Wrapper

2.4.1.3Embedded

3.鲁棒性和泛化能力

3.1鲁棒性

3.2泛化能力

4.深度学习模型

4.1循环神经网络

4.2长短时记忆

4.3门控循环单元

5.小结(RNN架构的缺陷)


 

一.ChatGPT的发展历程

GPT 是基于 Transformer 架构的预训练语言模型。以下是 GPT 发展历程的重要时间节点:
 

  1. 2015年,创业家马斯克,美国创业孵化器Y Combinator 总裁阿尔特曼,以及全球在线支付平台PayPal的联合创始人泰尔等在旧金山创立的一家非营利的AI研究机构。
  2. 2017,谷歌团队在"Attention is all you need"中首次提出Transformer模型,在语言处理(Natural Language Processing NLP),和计算机视觉(Computer Vision CV)等领域展现了出色的效果
  3. 2018年,OpenAI 在 Transformer 技术的基础上发布 GPT-1,利用语料库中大量的文本信息获取更大的上下文数据,进而实现了更好的文本表示。
  4. 2019年,OpenAI 发布 GPT-2,能够从语料库中抽取更多的信息,获得更加精确的文本表示。GPT-2也具备了强大的推理能力,能够根据上文进行语境预测,以此实现更复杂的语言模型。
  5. 2020年,OpenAI 发布 GPT-3,旨在以更强大和更精确的方式推理和生成自然语言。GPT-3能够更好地处理长文本输入,并能够进行更复杂的语言推理和生成。
  6. 2021年,OpenAI 发布 GPT-4,与 GPT-3相比,GPT-4在性能和功能上都有了进一步的提升。它能够更好地处理多样化的输入,包括自然语言对话和文本生成。

4d95e503b7fa45feb24c4a55bd257bfb.png

二.Attention is all you need

众所周知谷歌团队在"Attention is all you need"中首次提出Transformer模型, 而Transformer模型与ChatGPT又有着密不可分的联系,所以我们不妨先来从这篇论文入手,看看Transformer模型出现的契机到底是什么?

先来看一篇大佬的文章https://blog.51cto.com/yunyaniu/2913904

我们不难发现该论文的重心是为了解决NLP中使用RNN不能并行计算

RNN/LSTM不能并行计算,原因是存在序列依赖关系,即t时刻的计算依赖t-1时刻的隐层计算结果,其训练是迭代的,是一个接一个字的来,当前这个字过完RNN/LSTM单元,才可以进下一个字。

Transformer可以并行的计算句子中不同的query,因为每个query之间并不存在先后依赖关系。

三.对于GPT-4的智能水平评估

在2023年3月15日公布的GPT-4的演示视频中,GPT-4成功识别了一张气球照片并对"如果绳子剪断会怎样"做出来推断----"气球将飞走", 这一事实表明,GPT-4已经掌握了对图像等多模态数据进行读取和综合推理的能力,GPT-4不仅能解读图片信息,还可以理解其深层含义,这种能力使人们深感GPT-4已经逐渐靠近AIGC领域,这也使人们不禁思考,未来人工智能是否会迈入Strong AI领域,甚至超越人类智能

因为GPT-4在训练过程中接触了大量数据,因此在特定任务中,往往难以分辨它是记住了任务内容,还是理解了任务内容,这是评估智能程度的关键因素

评估 GPT-4 的智能水平可以从以下几个方面考虑:
 

  • 1. 语言理解能力:GPT-4 对各种主题的理解程度,包括复杂的概念、语境和语义关系。
  • 2. 知识广度:GPT-4 对广泛领域的知识的掌握程度。
  • 3. 生成能力:GPT-4 生成连贯、有逻辑和有意义的文本的能力。
  • 4. 适应性:GPT-4 在不同任务和领域中的应用能力。
  • 5. 与人类的比较:将 GPT-4 的表现与人类在类似任务上的表现进行比较。

 
然而,要全面评估 GPT-4 的智能水平是具有挑战性的,因为智能是一个复杂且多维度的概念。此外,GPT-4 是一个工具,其智能水平还取决于使用它的方式和环境。

四.大语言模型的技术演化

1.从符号主义到连接主义

大语言模型的技术演化经历了从符号主义到连接主义的转变。符号主义方法主要关注基于规则和符号的语言处理,而连接主义方法则更侧重于通过神经网络来学习语言的模式和规律。
 
在符号主义阶段,语言模型通常是基于规则和语法的。这些模型试图通过定义语言的规则和结构来理解和生成自然语言。然而,这种方法在处理复杂和多样的自然语言时面临困难,因为语言的规则和结构往往是非常复杂和模糊的。
 
随着深度学习技术的发展,连接主义方法逐渐成为主流。连接主义语言模型,如神经网络,通过学习大量的文本数据来自动发现语言的模式和规律。这些模型可以自动学习语言的特征和表示,从而能够处理更加复杂和多样的自然语言任务。
 
连接主义方法的优势在于它能够从大量的数据中自动学习到语言的特征和模式,而不需要手动定义规则和语法。这使得语言模型能够更好地适应不同的语言和任务,并具有更强的泛化能力。
 
然而,连接主义方法也面临一些挑战,例如需要大量的训练数据、计算资源和时间。此外,神经网络模型的可解释性相对较低,这使得我们难以理解模型是如何做出决策和生成回答的。

机器学习和深度学习的出现引领了NLP技术数据驱动的转变

在机器学习时代,尽管可以针对特定子任务,基于训练数据在预设的函数空间内寻找最优映射,但这并未完全解决规则设计的问题

特征工程成为影响机器学习效果的重要因素

2.特征工程

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

特征工程是将原始数据转换为更有意义和有用的特征的过程,这些特征可以被机器学习算法有效地使用。它在数据预处理阶段起着重要的作用,旨在提高模型的性能和准确性。
 
以下是特征工程的一些关键步骤和技术:
 

  • 1. 数据理解:首先,需要对数据进行深入的理解和分析,包括数据的分布、特征的类型、缺失值等。
  • 2. 特征选择:从原始数据中选择最相关和最有信息量的特征。这可以通过统计方法、过滤法或基于模型的选择方法来完成。
  • 3. 特征提取:通过变换或组合原始特征来创建新的特征。例如,通过数学函数、主成分分析(PCA)或自编码器等技术。
  • 4. 特征缩放和规范化:将特征的值进行标准化或规范化,使它们在相同的范围内,以便模型能够更好地处理数据。
  • 5. 特征构建:根据领域知识和数据的特点,构建新的特征。这可能涉及到对时间序列数据进行差分、计算统计量或创建交互特征等。
  • 6. 特征验证:使用交叉验证或其他验证技术来评估不同特征组合的效果,选择最优的特征集。

 
特征工程的目标是使数据更适合机器学习算法的处理,并提高模型的预测能力。通过精心设计和选择特征,可以减少噪声和冗余信息,增强数据的表达能力,从而提高模型的性能。

2.1数据探索

在数据探索过程主要考虑两个方面。

数据说明查看看原始数据以及数据说明文件,对数据有一个整体的了解。

数据初步筛查通过人工查看的方式,对数据本身做一个比较直观的了解,然后对数据做初步的整理分类,剔除没有必要的数据。根据数据的特征和目标,确定后续的数据清洗方法。

2.2数据清洗

数据格式内容错误数据来源有多种,有些是传感器采集,然后算法提取的特征数据;有些是采集的控制器的数据;还有一些应用场合,则是用户/访客产生的,数据肯定存在格式和内容上不一致的情况,所以在进行模型构建之前需要先进行数据的格式内容清洗操作。逻辑错误清洗主要是通过简单的逻辑推理发现数据中的问题数据,防止分析结果走偏,主要包含以下几个步骤:

2.3数据预处理

数据相关分析数据相关性分析是为了剔除数据中相关程度高的特征成分,对数据进行初步的降维,为后续的模型训练做准备。

数据不平衡在实际应用中,数据往往分布得非常不均匀,也就是会出现“长尾现象”,即绝大多数的数据在一个范围或属于一个类别,而在另外一个范围或者另外一个类别 中,只有很少的一部分数据。那么这个时候直接使用机器学习可能效果会不太少,所以需要对数据进行重构。

2.3.1无量纲化

无量纲化使不同规格的数据转换到同一规格。常见的无量纲化方法有标准化和区间缩放法。标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布。区间缩放法利用了边界值信息,将特征的取值区间缩放到某个特点的范围,例如[0, 1]等。

2.3.1.1标准化

无量纲化的标准化是一种常见的数据预处理技术,用于将数据的各个特征进行尺度变换,使其具有相同的均值和标准差。
 
标准化的具体步骤如下:
 

  • 1. 计算每个特征的均值(eq?%5Cmu)。
  • 2. 计算每个特征的标准差(eq?%5Csigma)。
  • 3. 对于每个特征eq?x_i,将其进行标准化,得到eq?z_i,计算公式为:%20%5Csigma_i

 
通过标准化,每个特征的均值变为0,标准差变为1。这样做的好处是:
 

  • 1. 消除了不同特征之间的量纲差异,使得不同特征在数值上具有可比性。
  • 2. 使得模型对特征的缩放不敏感,因为标准化后所有特征都具有相同的范围。
  • 3. 有助于加速模型的训练,特别是在使用基于梯度的优化算法时。

2.3.1.2区间缩放法

区间缩放法是一种常见的数据预处理方法,用于将数据映射到特定的区间范围内。它的目的是将原始数据进行尺度变换,以便更好地适应模型或数据分析的需求。
 
区间缩放法的一般步骤如下:
 

  • 1. 确定目标区间:确定希望数据映射到的目标区间,例如[0,1]或[-1,1]。
  • 2. 计算缩放因子:根据目标区间和原始数据的范围,计算缩放因子。缩放因子可以是简单的线性函数,也可以是更复杂的函数。
  • 3. 应用缩放因子:将缩放因子应用于原始数据,得到缩放后的数据。

 
例如,如果要将数据映射到[0,1]区间,可以使用以下公式进行缩放:
%20%28x_%7Bmax%7D%20-%20x_%7Bmin%7D%29
其中,x是原始数据,eq?x%5E%5Cprime是缩放后的数据,eq?x_%7Bmin%7D是原始数据的最小值,eq?x_%7Bmax%7D是原始数据的最大值。
 
通过区间缩放法,数据被限制在目标区间内,这样可以使数据具有更好的可比性和可视化效果。它还可以帮助消除数据中的极端值或异常值的影响,使模型更容易学习和处理数据。

2.3.1.3标准化与归一化的区别

标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。规则为l2的归一化公式如下:fd5f023c477445618d2f1c4719f96c79.png

2.3.2对定量特征二值化

对定量特征进行二值化是将连续的数值特征转换为布尔值(0 或 1)的过程。这种方法常用于将连续特征离散化,以便于模型的理解和处理。
 
以下是一些常见的定量特征二值化的方法:
 

  • 1. 阈值分割:根据一个特定的阈值,将定量特征的值划分为两个类别。例如,大于阈值的数值标记为 1,小于等于阈值的数值标记为 0。
  • 2. 中位数分割:将定量特征的值与中位数进行比较,大于中位数的标记为 1,小于等于中位数的标记为 0。
  • 3. 等频分割:将定量特征的数值范围等分成多个区间,然后根据数值所在的区间进行二值化。

 
二值化的目的是将连续的特征转换为离散的特征,以便于模型的学习和理解。它可以简化问题,减少特征的维度,并在一些情况下提高模型的性能。
 
然而,二值化也可能会丢失一些信息,因此在选择二值化方法时需要谨慎考虑。此外,对于某些模型,保留原始的定量特征可能更有意义,因为它们可以捕捉到更细致的信息。

2.3.3对定性特征哑编码

哑编码是一种将定性特征(如类别、标签等)转换为数值特征的方法。它的目的是将非数值的特征转化为模型可以处理的数值形式。
 
对于一个有n个不同类别定性特征,通常会使用哑编码将其转换为n个二进制特征。哑编码的基本思想是为每个类别创建一个新的特征,并且对于该类别对应的样本,该特征的值为1,其他类别对应的特征值为0。
 
例如,对于一个有三个类别的定性特征(如颜色:红色、蓝色、绿色),可以使用哑编码将其转换为三个二进制特征:
 

  1. - 红色:color_red = 1, color_blue = 0, color_green = 0
  2. - 蓝色:color_red = 0, color_blue = 1, color_green = 0
  3. - 绿色:color_red = 0, color_blue = 0, color_green = 1

 
通过这种方式,模型可以理解和处理定性特征,并将其与其他数值特征一起进行训练和预测。
 
哑编码的好处是它保留了定性特征的类别信息,并且可以避免将类别直接视为数值所带来的潜在问题(如排序假设)。此外,哑编码还可以方便地进行特征交叉(Feature Crossing),从而捕捉不同类别之间的交互作用。

2.3.4处理缺失值

在数据分析中,处理缺失值的常见方法有以下几种:
 

  1. - 均值插补(Mean Imputation):将缺失值用变量的均值来代替。适用于连续型变量,但可能会导致数据集的均值偏移。
  2. - 中位数插补(Median Imputation):将缺失值用变量的中位数来代替。适用于连续型变量,对于有偏分布的数据较为有效。
  3. - 众数插补(Mode Imputation):将缺失值用变量的众数来代替。适用于离散型变量。
  4. - 回归插补(Regression Imputation):通过建立回归模型来预测缺失值。适用于存在相关性的变量。
  5. - K近邻插补(K-nearest neighbor Imputation):根据与缺失值最接近的K个样本的值来插补。适用于存在相似性的样本。
  6. - 多重插补(Multiple Imputation):通过多次模拟来生成多个完整的数据集,每个数据集都包含对缺失值的不同估计。

 
在实际应用中,需要根据数据集的特点和分析需求来选择合适的缺失值处理方法。

2.3.5数据变换

数据变换是数据预处理中常用的技术,它可以帮助改善数据的分布、降低数据的复杂性或增强数据的可解释性。以下是一些常见的数据变换方法:
 

  • 1. 标准化/正则化:将数据映射到特定的范围内,如[0,1]或[-1,1]。这可以消除不同特征的量纲差异,使模型对特征的缩放不敏感。
  • 2. 对数变换:对数值较大或呈指数增长的数据进行对数变换,可以使数据更加平稳,并且在一些情况下可以改善模型的性能。
  • 3. 平方根变换:对于具有长尾分布的数据,可以使用平方根变换来使数据更加正态分布。
  • 4. Box-Cox 变换:Box-Cox 变换是一种广义的幂变换,可以根据数据的特点选择最佳的幂参数,使数据更接近正态分布。
  • 5. 离散化/二值化:将连续数据转换为离散的类别或二进制值,适用于一些分类问题或需要简化数据的情况。
  • 6. 主成分分析(PCA):通过线性变换将高维数据降维到较低的维度,保留主要的信息。
  • 7. 数据扩充:通过对现有数据进行随机变换、旋转、缩放等操作,增加数据的多样性,有助于提高模型的泛化能力。
  • 8. 时间序列操作:对于时间序列数据,可以进行差分、移动平均等操作,以去除趋势或季节性因素。

常见的数据变换有基于多项式的、基于指数函数的、基于对数函数的。4个特征,度为2的多项式转换公式如下:

4528602ec9d84978a52f7e6f0a1f1146.png

使用preproccessing库的PolynomialFeatures类对数据进行多项式转换的代码如下:

from sklearn.preprocessing import PolynomialFeatures
#多项式转换
#参数degree为度,默认值为2
PolynomialFeatures().fit_transform(iris.data)

基于单变元函数的数据变换可以使用一个统一的方式完成,使用preproccessing库的FunctionTransformer对数据进行对数函数转换的代码如下:

from numpy import log1p
from sklearn.preprocessing import FunctionTransformer
 
#自定义转换函数为对数函数的数据变换
#第一个参数是单变元函数
FunctionTransformer(log1p).fit_transform(iris.data)

 

2.4特征选择、特征构造与特征提取

特征工程的后期方法根据应用领域不同,使用的方法完全不一样。在互联网领域,主要是应用特征选择的方法。在计算机视觉、语音信号处理,自然语言处理主要是特征提取。

2.4.1特征选择

当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:

  • 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
  • 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。

  根据特征选择的形式又可以将特征选择方法分为3种:

  • Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
  • Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
  • Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。

2.4.1.1Filter

方差选择法

方差选择法是一种用于特征选择的方法,常用于机器学习和数据分析中它的基本思想是根据特征的方差来评估其对模型的重要性。
 
具体来说,方差选择法认为具有较大方差的特征更有可能对模型的预测结果产生较大影响,因此可以选择这些特征来构建模型,相反,方差较小的特征可能对模型的预测能力贡献较小,因此可以考虑忽略它们。

from sklearn.feature_selection import VarianceThreshold 
#方差选择法,返回值为特征选择后的数据
#参数threshold为方差的阈值
VarianceThreshold(threshold=3).fit_transform(iris.data)

相关系数法

相关系数法是一种统计分析方法,用于衡量两个变量之间的线性关系强度。它通过计算两个变量之间的相关系数来评估它们之间的关联程度。
 
相关系数的取值范围通常在-1 到 1 之间,其中-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。相关系数的值越接近-1 或 1,说明两个变量之间的关系越强;值越接近 0,则表示关系越弱。
 
相关系数法在数据分析、统计学和机器学习等领域都有广泛的应用。它可以帮助我们了解变量之间的关系,发现数据中的模式和趋势,以及进行预测和建模。

from sklearn.feature_selection import SelectKBest
from scipy.stats import pearsonr

#选择K个最好的特征,返回选择特征后的数据
#第一个参数为计算评估特征是否好的函数,该函数输入特征矩阵和目标向量,输出二元组(评分,P值)的数组,数组第i项为第i个特征的评分和P值。在此定义为计算相关系数
#参数k为选择的特征个数
SelectKBest(lambda X, Y: array(map(lambda x:pearsonr(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)

卡方检验

相关系数法是一种统计分析方法,用于衡量两个变量之间的线性关系强度。它通过计算两个变量之间的相关系数来评估它们之间的关联程度。
 
相关系数的取值范围通常在-1 到 1 之间,其中-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。相关系数的值越接近-1 或 1,说明两个变量之间的关系越强;值越接近 0,则表示关系越弱。
 
相关系数法在数据分析、统计学和机器学习等领域都有广泛的应用。它可以帮助我们了解变量之间的关系,发现数据中的模式和趋势,以及进行预测和建模。

from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

#选择K个最好的特征,返回选择特征后的数据
SelectKBest(chi2, k=2).fit_transform(iris.data, iris.target)

互信息法

相关系数法是一种统计分析方法,用于衡量两个变量之间的线性关系强度。它通过计算两个变量之间的相关系数来评估它们之间的关联程度。
 
相关系数的取值范围通常在-1 到 1 之间,其中-1 表示完全负相关,1 表示完全正相关,0 表示无相关性。相关系数的值越接近-1 或 1,说明两个变量之间的关系越强;值越接近 0,则表示关系越弱。
 
相关系数法在数据分析、统计学和机器学习等领域都有广泛的应用。它可以帮助我们了解变量之间的关系,发现数据中的模式和趋势,以及进行预测和建模。

from sklearn.feature_selection import SelectKBest
from minepy import MINE

#由于MINE的设计不是函数式的,定义mic方法将其为函数式的,返回一个二元组,二元组的第2项设置成固定的P值0.5
def mic(x, y):
    m = MINE()
    m.compute_score(x, y)
    return (m.mic(), 0.5)

#选择K个最好的特征,返回特征选择后的数据
SelectKBest(lambda X, Y: array(map(lambda x:mic(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)

2.4.1.2Wrapper

递归特征消除法(Recursive Feature Elimination,RFE)

是一种特征选择方法,属于包装法,也是向后选择法。它的主要思路是反复建立多种模型,每一次根据系数的不挑出差的特征,并去除挑出来的特征,然后在剩余的特征上重复该过程,直到遍历了所有的特征。
 

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

#递归特征消除法,返回特征选择后的数据
#参数estimator为基模型
#参数n_features_to_select为选择的特征个数
RFE(estimator=LogisticRegression(), n_features_to_select=2).fit_transform(iris.data, iris.target)

2.4.1.3Embedded

基于惩罚项的特征选择法

是一种常见的特征选择方法,通过L1正则项来选择特征。L1正则方法具有稀疏解的特性,因此天然具备特征选择的特性。

使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。使用feature_selection库的SelectFromModel类结合带L1惩罚项的逻辑回归模型,来选择特征的代码如下:

from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import LogisticRegression
#带L1惩罚项的逻辑回归作为基模型的特征选择
SelectFromModel(LogisticRegression(penalty="l1", C=0.1)).fit_transform(iris.data, iris.target)

基于树模型的特征选择法

是指通过使用决策树或随机森林等基于树的模型,根据特征在树中的重要性进行特征选择。这种方法在机器学习中比较常用,因为树模型具有较强的能力和可解释性。
 
其中,CART(Classification And Regression Tree)等单树模型是完全可解释的,因为可以很容易地通过观察最终决策树中的分割来遵循它们的预测逻辑。但是,CART是使用每次形成一个分割的树的贪婪启发式方法进行训练模型的,这种方法会产生许多缺点。
 
而基于树的集成学习器,如随机森林和梯度增强(如XGBoost),通过集成大量单树模型的预测来改进CART的性能。这些模型在计算特征重要性时,可能会存在一定的敏感性,尤其对具有很多潜在分裂点的特征,及特征中包含一些易形成偏倚问题的数据。
 
此外,SHAP( SHapley Additive exPlanations )是一种最新的方法,它统一了许多早期的方法,旨在解决集成树模型中的偏倚问题,并使用博弈论方法来理解和解释每个特性是如何驱动最终预测的。

from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import GradientBoostingClassifier
 
#GBDT作为基模型的特征选择
SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

3.鲁棒性和泛化能力

预设函数空间往往在特定子任务的鲁棒性和泛化能力方面表现不佳

3.1鲁棒性

在统计学领域和机器学习领域,对异常值也能保持稳定、可靠的性质,称为鲁棒性。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。有一个与鲁棒性很相似的概念叫模型的泛化能力。

鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,也是指控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。

鲁棒性包括稳定鲁棒性和品质鲁棒性。一个控制系统是否具有鲁棒性,是它能否真正实际应用的关键。因此,现代控制系统的设计已将鲁棒性作为一种最重要的设计指标。

3.2泛化能力

是指机器学习算法对新鲜样本的适应能力,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。

根据泛化能力好的网络设计的神经网络控制器的鲁棒性也会有所改善。泛化能力指对未知数据的预测能力。例如小样本。

4.深度学习模型

早期的NLP文本生成主要依赖传统的循环神经网络(RNN),长短时记忆(LSTM)网络或门控循环单元(GRU),这三种模型都基于循环结构

4.1循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一种常见的神经网络结构,它在处理序列数据时非常有用RNN 具有循环连接,允许信息在网络中在不同时间步之间传递。
 
RNN 可以用于各种任务,如自然语言处理中的文本生成、语音识别、时间序列预测等。通过学习序列中的模式和关系,RNN 可以对下一个时间步的输出进行预测

然而,传统的 RNN 可能会面临梯度消失或梯度爆炸等问题,这会影响其性能和学习能力。为了解决这些问题,研究人员提出了一些改进的 RNN 架构,如长短时记忆网络(Long Short-term Memory,LSTM)和门控循环单元(Gate Recurrent Unit,GRU)等。

4.2长短时记忆

长短时记忆网络(Long Short-Term Memory)是循环神经网络(Recurrent Neural Network)的变种结构,主要用于情感分析,机器翻译,语音识别和图像识别等领域。
 
在传统的循环神经网络中,算法是将序列按时间展开,然后在每一时刻分别输入数据。而长短时记忆网络通过引入一种称为“记忆单元”的结构来克服传统循环神经网络的缺点。这种结构能够在长序列中保持信息的流动,捕捉和理解长序列中的复杂依赖关系。
 
长短时记忆网络已经被广泛应用于许多序列学习任务,如语音识别、机器翻译和时间序列分析等。

4.3门控循环单元

门控循环单元(Gated Recurrent Unit,简称GRU)是一种循环神经网络(RNN)的变体,旨在解决传统RNN中的长期依赖问题,并提供一种更简化的门控机制。GRU是由Cho等人在2014年提出的,类似于长短期记忆网络(LSTM),但减少了LSTM中的门控单元。
 
GRU的核心是更新门(update gate)和重置门(reset gate),它们控制了信息的流动和存储,以捕捉长期依赖关系。与传统的RNN相比,GRU能够更好地处理长序列数据,并具备较强的记忆能力,适用于需要捕捉长期依赖关系的任务,如自然语言处理、语音识别、机器翻译等。

5.小结(RNN架构的缺陷)

因RNN存在记忆短暂问题,LSTM和GRU应运而生,但RNN架构仍面临多项挑战

  1. 并行计算能力不足,RNN需要按序列处理序列数据中的每个时间步,这限制了它在训练过程中充分利用GPU的并行计算能力
  2. 长程依赖问题(长期依赖问题,长距离依赖问题)
  3. 模型容量限制

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/488675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android开发简易登录界面

title: Android开发第四天 search: 2024-03-22 tags: Android开发 Android开发简易登录界面 文章目录 Android开发简易登录界面一、定义style样式二、完成 activity_main.xml 界面具体设计三、代码简述 背景 :在初学 android 开发的时候,为了尽量熟悉学…

RSTP环路避免实验(思科)

华为设备参考:RSTP环路避免实验(华为) 一,技术简介 RSTP (Rapid Spanning Tree Protocol) 是从STP发展而来 • RSTP标准版本为IEEE802.1w • RSTP具备STP的所有功能,可以兼容STP运行 • RSTP和STP有所不同 减少了…

新书速览|Django 5企业级Web应用开发实战:视频教学版

掌握Django框架开发技能,实战投票应用系统和内容管理系统 本书内容 《Django 5企业级Web应用开发实战:视频教学版》精选当前简单、实用和流行的Django实例代码,帮助读者学习和掌握Django 5框架及其相关技术栈的开发知识。本书系统全面、内容…

深入解析MySQL的四种打开方式

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

伦敦金与纸黄金有什么区别?怎么选?

伦敦金与纸黄金都是与黄金相关的投资品种,近期黄金市场的上涨吸引了投资者的关注,那投资者想开户入场成为黄金投资者应该选择纸黄金还是伦敦金呢?两者有何区别呢?下面我们就来讨论一下。 伦敦金是一种起源于伦敦的标准化黄金交易合…

2015年认证杯SPSSPRO杯数学建模A题(第一阶段)绳结全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 A题 绳结 原题再现: 给绳索打结是人们在日常生活中常用的技能。对登山、航海、垂钓、野外生存等专门用途,结绳更是必不可少的技能之一。针对不同用途,有多种绳结的编制方法。最简单的绳结,有时称…

Go第三方框架--gin框架(一)

序言 Gin框架作为go语言使用最多的web框架,以其快速的响应速度和对复杂http路由配置的支持受到程序员和媛们的喜爱,几乎统治了web市场。但作为一名合格的程序员,要知其然更要知其所以然,不然八股文背的也没有啥意思。本着这个原则…

【Java程序设计】【C00372】基于(JavaWeb)Springboot的社区网格化管理系统(有论文)

TOC 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。 项目简介 项目获取 🍅文末点击卡片…

工业互联网下的增强现实

工业互联网下的增强现实 1、 概述 增强现实(Augmented Reality,简称AR),增强现实技术也被称为扩增现实,AR增强现实技术是促使真实世界信息和虚拟世界信息内容之间综合在一起的较新的技术内容,其将原本在现…

Apache SeaTunnel和SeaTunnel Web 安装部署

Apache SeaTunnel和SeaTunnel Web 安装部署 前面我们介绍已经介绍过了Apache SeaTunnel,这里我们看一下SeaTunnel 的安装部署,早期的SeaTunnel 是没有web 页面的,只能在命令行里使用,现在SeaTunnel 已经有了web 端了,这就降低了我们的使用门槛 下载配置 我们可以去下面的…

如何理解TCP/IP协议?

一、是什么 TCP/IP,传输控制协议/网际协议,是指能够在多个不同网络间实现信息传输的协议簇 TCP(传输控制协议) 一种面向连接的、可靠的、基于字节流的传输层通信协议 IP(网际协议) 用于封包交换数据网络…

2024年最新阿里云服务器价格表_CPU内存+磁盘+带宽价格

2024年阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元,ECS u1服务器2核4G5M固定带宽199元一年,2核4G4M带宽轻量服务器一年165元12个月,2核4G服务…

YT8531调试记录

总结 还是从设备树,mac驱动,mac驱动对mdio总线的注册,phy驱动 ,phy的datasheet,cpu的datasheet 几个方面来看来看 0.确认供电,以及phy的地址(一般会有多个地址,根据相关引脚电平可配置) 1.确…

青年人格测验,管理岗和管培生的招聘测评

青年人格测验是由美国心理学家高夫提出,并逐渐完善的一种性格测试工具。在青年人格测验中,人的人格特质被分为许多个维度,不同的维度,都能对我们健全自身性格,了解自己,起着至关重要的作用。 高夫曾是mmpi…

[NKCTF 2024]web解析

文章目录 my first cms全世界最简单的CTF解法一解法二 my first cms 打开题目在最下面发现是CMS Made Simple,版本为2.2.19 扫一下发现存在后台登陆界面,直接访问 用字典爆破下admin的密码为Admin123 然后直接登录,去漏洞库搜一下其实存在…

武汉凯迪正大—开关柜模拟装置

产品简介 产品包括断路器模拟装置,控制器和控制盒,控制盒包括盒体,控制按钮和信号装置,控制按钮和信号装置设置于盒体的表面,且均与控制器连接.控制按钮和信号装置集中安装于控制盒的盒体表面上。 由于控制盒上的控制按钮和信号装置集中安装,使开关柜模拟实验控制装置体积小,…

mysql增量备份与修复

MySQL数据库增量恢复 1.一般恢复 将所有备份的二进制日志内容全部恢复 2.基于位置恢复 数据库在某一时间点可能既有错误的操作也有正确的操作 可以基于精准的位置跳过错误的操作 发生错误节点之前的一个节点,上一次正确操作的位置点停止 3.基于时间点恢复 跳过…

[自动化测试]博客系统测试用报告

目录 (一) 项目介绍 (二) 测试计划 1. 功能测试 (1)测试环境 (2)测试用例 (3)部分的功能测试 2. 自动化测试 项目介绍 项目整体基于 HTTP 协议,前端使用 HTMLCSSJS 构建页面整体布局&#x…

【Unity3D小功能】Unity3D中实现点击‘文字’出现‘UI面板’

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 宠粉博主又来了,今天有粉丝问我如何实…

如何在VS Code上搭建 C/C++开发环境

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、什么是VScode VScode(Visual Studio Code)是一款由微软开发的免费开源的轻量级代码编辑器。它…