大数跨境

AIGC发展史中的重要算法解构

AIGC发展史中的重要算法解构 数组智控产业发展科技院
2023-10-13
4
导读:AIGC的发展历程,也是机器学习集大成的过程。机器学习算法可以根据不同的分类标准进行分类,常见算法主要分为四

AIGC的发展历程,也是机器学习集大成的过程。

机器学习算法可以根据不同的分类标准进行分类,常见算法主要分为四类,包括监督学习、非监督学习、深度学习和强化学习。

此外,还有一些其他类型的机器学习方法,如迁移学习(Transfer Learning)、元学习(Meta-learning)和生成对抗网络(GANs)等。

这些方法可能结合了上述几种类型的学习方法或具有独特的学习策略。

一 监督学习

监督学习算法是机器学习中的一种,它的目标是从已有的数据中学习出一个模型,然后用这个模型处理新的数据。

最早定义监督学习算法的是汤姆·米切尔(Tom Mitchell),他在1997年的一篇论文中给出了对“机器学习”这个概念的定义,并且明确了监督学习、非监督学习和强化学习三种模式。当前流行的监督学习算法比较多,以下列举几种。

(一)决策树

决策树是一种逼近离散函数值的算法。

它是一种典型的分类算法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。

本质上决策树算法是通过一系列规则对数据进行分类的过程。

(二)朴素贝叶斯

朴素贝叶斯(Naive Bayes)是应用最为广泛的机器学习分类算法之一,是在贝叶斯模型的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。

朴素贝叶斯没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。

这种简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但在实际的应用场景中,它极大地简化了贝叶斯方法的复杂性。

(三)支持向量机

支持向量机(Support Vector Machine, SVM)是利用一个分割超平面(Hyperplane)切割两种类型数据的分布空间,再将未分类的数据放入模型当中判别从属于哪一片空间以加以分类。

它既能解决线性可分又能解决线性不可分,既能解决分类问题又能完成回归问题。

(四)K最邻近

邻近算法(K-Nearest Neighbor, KNN)也称K最邻近分类算法,是数据挖掘分类技术中最简单的方法之一。

K最近邻就是K个最近的邻居,说的是每个样本都可以用它最接近的K个邻近值来代表。

近邻算法就是将数据集合中每一个记录进行分类的方法。

(五)随机森林

随机森林是一种有监督学习算法,是以决策树模型为基础学习器的集成学习算法,并且它输出的类别是由个别树输出类别的众数而定的。

(六)逻辑回归

这是一种简单常见的二分类模型,通过输入未知类别对象的属性特征序列得到对象所处的类别,常用于数据挖掘、疾病自动诊断、经济预测等领域。

(七)梯度提升

梯度提升(Gradient Boosting)是一种提升方法,也是一种常用于回归和分类问题的集成学习算法和机器学习技术,以弱预测模型(通常是决策树)集合的形式产生预测模型。

主要思想是梯度提升每一次,建立模型都是在之前建立模型损失函数的梯度下降方向,也就是通过优化损失函数(Loss Function)来生成这些模型。

二 非监督学习

非监督学习算法,典型的就是聚类算法。聚类算法就是将数据自动聚类成几个类别,相似度大的聚在一起,主要用来做数据的划分。

(一)谱聚类

谱聚类算法建立在谱图理论基础上,相比传统的聚类算法,其优点是能够在任意形状的样本空间上聚类且收敛全局最优解。

谱聚类算法首先根据给定的样本数据集定义一个描述成对数据点相似度的亲和矩阵,然后计算矩阵的特征值和特征向量,最后选择合适的特征向量聚类不同的数据点。

该算法将数据集中的每个对象看作图的顶点V,再将顶点间的相似度量化作为相应顶点连接边E的权值,它这样就会得到一个基于相似度的无向加权图G (V, E),于是传统聚类问题就可以转化为图的划分问题。

因此,基于图论的最优划分准则就是使划分后的子图内部相似度最大,子图之间的相似度最小。

(二)AP聚类

AP聚类于2007年首次提出。

该算法无须事先定义类数,而是在迭代过程中不断搜索合适的聚类中心,自动从数据点间识别类中心的位置及个数,使所有的数据点到最近的类代表点的相似度之和最大。

算法开始时把所有的数据点均视作类中心,通过数据点间的“信息传递”来实现聚类过程。

(三)K均值聚类

K均值聚类(K-Means Clustering, KMC)是一种迭代求解的聚类分析算法。

其步骤是,预先将数据分为K组,然后随机选取K个对象作为初始的聚类中心,最后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。

分配给它们的对象以及聚类中心就代表一个聚类。

每分配一个样本,聚类的聚类中心就会根据聚类中现有的对象被重新计算。

这个过程被不断重复直到满足某个终止条件。

终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,也没有(或最小数目)聚类中心再发生变化,且误差平方和局面小。

(四)层次聚类

层次聚类(Hierarchical Clustering)是通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。

层次聚类算法分为两类:自上而下和自下而上。

自下而上的算法在一开始就将每个数据点视为一个单一的聚类,然后依次合并类,直到所有类合并成一个包含所有数据点的单一聚类。

(五)DBSCAN聚类

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类是一个相当有代表性的基于密度的聚类算法。

与层次和划分聚类方法不同,它将“簇”定义为密度相连的点的最大集合,它能把具有足够高密度的区域划分为簇,还可在噪声的空间数据库中发现任意形状的聚类。

(六)主成分分析

主成分分析(Principal Component Analysis, PCA)是一种基于变量协方差矩阵对数据进行压缩降维,是去噪的有效方法。

(七)t分布式随机邻域嵌入

t分布式随机邻域嵌入(t-distributed Stochastic Neighbor Embedding, t-SNE)是一种非线性降维算法,将多维数据映射到适合观察的数个维度,多用于挖掘高维数据。

(八)奇异值分解

奇异值分解(Singular Value Decomposition, SVD)是在机器学习领域广泛应用的算法,可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。

奇异值分解是很多机器学习算法的基石。

三 深度学习

深度学习属于机器学习的一种,它的目标同样是让机器具有智能。深度学习与传统的机器学习算法不同,它是通过神经网络来实现的,它以人工神经网络为架构,可以做计算机视觉、自然语言处理、多模态等。

深度学习算法同时包含监督学习和非监督学习。

(一)卷积神经网络

卷积神经网络(CNN)是采用监督学习方式训练的一种面向两维形状不变性识别的特定多层感知机,是深度学习的代表算法之一,也是一类包含卷积计算且具有深度结构的前馈神经网络。

CNN具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,也就被称为“平移不变人工神经网络”。

自20世纪80至90年代,人们便开始研究卷积神经网络,最好出现的卷积神经网络是时间延迟网络和LeNet-5。

进入21世纪后,随着深度学习理论的提出和数值计算设备的更新换代,卷积神经网络得到了快速发展,并被应用于自然语言处理、计算机视觉等领域。

卷积神经网络可进行监督学习和非监督学习,可仿造生物的视知觉机制构建。

卷积神经网络隐含层内的卷积核参数共享与层间连接的稀疏性,使得卷积神经网络能够以较小的计算量对格点化特征,比如音频和像素进行学习,有稳定的效果并且对数据没有额外的特征工程要求。

(二)循环神经网络

循环神经网络(RNN)是一类特殊的神经网络,其主要应用于序列数据的处理,如语音识别、自然语言处理、股票预测等领域。

与传统的前馈神经网络不同,RNN具有反馈机制,可以保存过去的状态,并将其作为当前状态的输入,从而更好地对序列数据进行处理。

在RNN中,每个时间步都有一个隐藏状态,它被用于存储序列中之前所有时间步的信息,并影响当前时间步的输出。

每个时间步都有一个相同的权重矩阵,用于对输入和隐藏状态进行线性变换。

此外,RNN还包括一个激活函数,用于将线性变换的结果转换为非线性的输出。

RNN的训练过程可以通过反向传播算法实现,其中误差从后往前逐个时间步传播,并累积到各个时间步的权重矩阵中。

由于RNN的反向传播涉及梯度消失和梯度爆炸的问题,因此在实际应用中,常常采用LSTM或GRU等经过改进的RNN模型来提高训练效果。

总之,循环神经网络是一种能够处理序列数据的神经网络,其中的隐藏状态具有记忆功能,可以帮助网络更好地理解序列数据的上下文信息。

(三)深度信念网络

深度信念网络(DBN)是一种基于非监督学习的深度神经网络。

它由多个堆叠的受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)组成。

DBN可以用于分类、降维和生成模型等任务。在DBN中,每个RBM都由可见层和隐藏层组成。

每层之间完全连通,同一层之间没有连接。

通过逐层训练RBM,可以得到多个特征提取器,并且每个特征提取器都可以用于下一层的输入。

最后,将所有的特征提取器连接起来,构成一个具有极强表达能力的深度神经网络。

DBN的训练是基于贪心算法的,即逐层预训练。

在预训练阶段,每层RBM都被视为一个独立的模型,使用无标签数据进行训练。

在每次预训练中,当前层的输出被用作下一层的输入。

在预训练完成后,通常还需要对整个DBN进行微调,以进一步提高其性能。

DBN在图像、语音识别、自然语言处理等领域中取得了很好的效果,并且在计算机视觉和自然语言处理等领域中已经成为重要技术之一。

(四)生成式对抗网络

生产式对抗网络(GAN)是一种目前非常流行的深度学习模型,由两个神经网络——生成器和判别器组成。

生成器会输入一个随机噪声向量,并输出一个与训练数据类似的虚假样本;

而判别器则用于区分真实样本和虚假样本。

GAN的核心思想是生成器和判别器在训练过程中相互博弈。生成器需要不断优化自己的生成能力,以欺骗判别器,让其无法区分真实和虚假样本;

而判别器则需要不断调整自己的判别能力,以提高对真实和虚假样本的区分性能。

最终,生成器会生成越来越逼真的虚假样本,而判别器也会变得越来越难以区分真实和虚假样本。

GAN被广泛应用于图像生成、视频生成、语音合成等多个领域,并且已经出现了很多基于GAN的新型应用,如GAN的变体——条件GAN,用于生成特定类型的图像。

(五)残差神经网络

残差神经网络(ResNet)是由微软亚洲研究院提出的一种用于训练深层神经网络的方法。

在传统的神经网络中,增加网络的深度会导致梯度消失和梯度爆炸问题,使得网络的性能难以进一步提高。

而ResNet则通过引入残差块(Residual Block),在保证信息流向前传递的同时避免了这些问题。

在残差块中,输入的特征图先通过一系列卷积、归一化和非线性激活函数等计算,然后与原始的输入进行相加得到输出。

这种设计使网络可以学习到残差信息,即学习到输入和输出之间的差异,而不是直接学习输入和输出之间的映射关系。

因此,ResNet可以训练比较深的网络,同时具有更好的性能和更少的参数。

ResNet在多个视觉任务(如图像分类、目标检测和分割等)中均取得了优异的效果,并被广泛应用于各种实际场景中。

(六)长短时记忆网络

长短时记忆网络(LSTM)是一种比较特殊的循环神经网络,它通过引入门控机制来解决传统RNN中梯度消失和梯度爆炸的问题,从而更好地处理长序列数据。

LSTM中的每个单元都有一个输出和一个状态,其中状态被设计为可以保留并传递重要信息,同时抑制不重要的信息。

每个LSTM单元通过输入门、遗忘门和输出门三个门控制状态的更新和输出的计算。

其中,输入门用于控制新信息的输入,遗忘门用于控制旧信息的保留或遗忘,输出门用于控制状态的输出。

同时,LSTM还包括一个记忆细胞,用于存储之前的状态,并在需要时更新状态。

对于LSTM的训练,通常采用反向传播算法,但由于LSTM具有门控机制和长期记忆功能,因此其训练过程更加复杂。

LSTM在自然语言处理、语音识别等领域得到了广泛的应用,成为处理序列数据的重要工具之一。

(七)多层感知机

多层感知机(MLP)是一种比较常见的前馈人工神经网络,由多个神经元组成多个隐藏层和一个输出层。

每个神经元接收来自上一层的输入,通过非线性函数进行加权计算,再将结果传递到下一层。

最终输出层会将所有隐藏层的结果加权并计算出最终输出。MLP通常用于分类和回归问题,利用反向传播算法进行训练。

在训练期间,模型会根据样本数据不断调整各层之间的权重和偏置,使得模型能够逐渐适应训练集的数据规律并达到更好的预测效果。

虽然MLP在一些任务上的表现十分优秀,但是在实际使用时仍需要注意过拟合等问题。

因此,研究者们也在不断地对其进行改进和优化,如引入正则化和Dropout等技巧,以提升其性能和泛化能力。

四 强化学习

强化学习(Reinforcement Learning, RL)是属于机器学习方法的一种,又称再励学习、评价学习或增强学习,是智能体以“试错”的方式进行学习。

RL通过与环境进行交互获得的奖赏指导行为,其目标是使智能体获得最大的奖赏。

RL不同于连接主义学习中的监督学习,主要表现在强化信号上。

RL中由环境提供的强化信号是对产生动作的好坏做一种评价,而不是告诉强化学习系统(RLS)如何去产生正确的动作。

由于RLS外部环境提供的信息很少,必须靠自身的经历进行学习。

通过这种RL方式,RLS在行动—评价的环境中获得知识,改进行动方案以适应环境。

常见RL模型是标准的马尔可夫决策过程(MDP)。

一些复杂的强化学习算法在一定程度上具备解决复杂问题的通用智能,可以在围棋和电子游戏中达到人类水平。

(一)Q-learning

Q-learning算法是一种用于强化学习的经典算法,能够使智能体在与环境交互的过程中逐渐学习到合适的动作策略。

它基于Bellman方程和贝尔曼最优性原理的思想,通过不断地更新动作-价值函数(Q函数)来实现对最优策略的学习。

Q-learning算法使用了一个Q表来记录在某个状态下采取某个动作所获得的期望回报值。

在每一步的决策中,智能体选择当前状态中具有最高Q值的动作,然后使用环境反馈的奖励信号来更新Q表中相应的值。

这样,随着不断地与环境交互,Q表中存储的Q函数会不断地逼近真实的最优动作-价值函数。

Q-learning算法的优势在于无须知道环境的具体模型,即可在数值上求解最优策略,实际应用广泛,如机器人控制、游戏玩法等。

(二)Deep Q-Network

DQN(Deep Q-Network)算法是一种深度强化学习算法,它将Q-learning和深度神经网络相结合,能够在不需要先验知识的情况下直接从原始像素数据中学习控制策略。

DQN算法的主要思想是使用深度神经网络来逼近Q值函数,在每个时间步上根据当前状态选择动作,并获得奖励,同时更新Q值函数。

通过不断迭代更新Q值函数,最终得到最优的控制策略。

DQN算法的一个重要创新是“经验回放”机制,即将之前的经验存储下来,随机抽取一部分进行训练,以增加数据的利用效率和训练稳定性。

另外,DQN算法还引入了“目标网络”,用于解决深度神经网络优化过程中出现的问题。

DQN算法已经被广泛应用于机器人控制、游戏AI等领域,并取得了很好的效果。

(三)SARSA

SARSA(State-Action-Reward-State-Action)是一种经典的强化学习算法,它是基于Q-learning算法的思想,并且采用的也是状态—动作—回报—下一个状态—下一个动作的结构。

与Q-learning不同的是,SARSA算法在更新过程中使用当前策略下的下一个动作的Q值来更新当前状态的Q值,因此被称为“状态—动作—回报—下一个状态—下一个动作”算法。

SARSA算法通过不断更新状态—动作价值函数来实现控制策略的优化。

在每个时间步上,智能体将基于其当前状态选择一个动作,并观察到环境的反馈奖励。

然后,它将基于当前策略和下一状态的Q值来更新状态-动作价值函数,并使用此函数来选择下一个动作。

SARSA算法的应用范围非常广泛,如游戏AI、机器人控制等领域。

它是一种简单而有效的强化学习算法,易于理解和实现。

(四)TRPO

TRPO(Trust Region Policy Optimization)是一种基于策略优化的强化学习算法。

与值函数方法不同,策略优化算法直接优化策略函数,以及策略函数的参数。

TRPO算法通过限制每次更新的策略改变幅度,保证每个更新都是单调的,从而提高收敛速度

TRPO算法通过在策略空间中定义一个可信域(Trust Region),并在该可信域内进行策略搜索,来确保每次更新后,新的策略都比旧的策略更优。

这种方式避免了在参数空间中过度调整参数,引起过拟合的问题。

同时,为了使策略能够在可信域内充分探索,TRPO使用线性搜索等方法,对距离当前策略最优的目标策略进行逐步逼近。

TRPO还通过确定优化目标时使用的KL散度的阈值,加强了约束条件,使得学习结果更加鲁棒。

TRPO算法通过在策略空间内进行约束优化,提高了强化学习的效率和稳定性,同时也能够应对高维、连续状态空间的问题。

(五)A3C

A3C(Asynchronous Advantage Actor-Critic)是一种基于策略梯度的深度强化学习算法,在DRL领域中备受关注。

A3C算法主要包括两个组成部分:Actor和Critic。

Actor负责选择动作,Critic负责评估价值函数,并给出相应的奖励。

A3C算法在策略梯度方法基础上,引入了Advantage函数,用于解决策略梯度方法中难以训练的问题。

Advantage函数可以理解为某一个状态下某一个动作的优越性程度。

A3C算法采用异步更新策略,即多个智能体同时使用不同的副本进行环境交互,每个智能体都有自己独立的Actor和Critic网络,只有当一个智能体完成了一次交互后,才会更新全局的Actor和Critic网络。

这种异步更新策略显著提高了算法的训练速度和效率,适用于需要大量环境交互的任务。

A3C算法已经在很多领域得到了广泛应用,如围棋、电子游戏等。

       

【声明】内容源于网络
0
0
数组智控产业发展科技院
以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
内容 986
粉丝 0
数组智控产业发展科技院 以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
总阅读2.8k
粉丝0
内容986