相关标签

基于用户黏性视角的档案信息资源开发路径探索

发布时间:2019-12-04 17:11

  摘要

  2017年5月,一个举世瞩目的标志着人工智能进入一个全新阶段的事件发生了,AlphaGo战胜了世界围棋第一人柯洁。AlphaGo作为目前最先进的人工智能,采用了深度强化学习作为核心算法,这也使得深度强化学习走进了人们的视线,受到了广泛的关注。与已经研究开发许久的深度学习相比,深度强化学习的应用领域更为广阔,游戏、智能机器人、图像处理、视频处理、自然语言处理等均是深度强化学习可应用的领域。本文探讨的深度Q学习方法,即DQN,就是一种深度强化学习算法。深度强化学习是将深度神经网络和强化学习算法互相结合而最终形成的。而基于优先级的深度Q学习方法,又是在深度Q学习方法应用层次上又进一步的优化,因为它充分地结合了优先经验回放这一概念。结果表明,基于优先级的深度Q学习方法在实际的运用中比Q-learning方法效率更高,能更好地满足用户的需求。

  关键词:深度强化学习;深度学习;深度Q学习方法;优先经验回放

  前言

  强化学习是人工智能最为重要的一项技术,为大家所熟知的AlphaGo、AlphaGo Zero正是应用了这项先进的技术。随着时代与技术的进步,大数据、高性能计算和深度学习技术取得了飞快的进步,发展的情势也是蓬勃向上,强化学习算法以及它的一些应用引起的关注越来越多,进步的速度也越来越快。在工业界和学术界,这些学习技术被越来越多地应用与研究,特别是将强化学习与深度学习相互结合而发展起来的深度强化学习技术。在计算机领域强化学习的应用最为频繁,这也说明了强化学习在计算机方面赢得了巨大的胜利,同时强化学习在很多领域也被认作是实现人工智能最有发展前景的方法,如汽车智能驾驶、机器人控制、人机对话、过程优化决策与控制等。强化学习有强化学习的长处,深度学习也有着深度学习的优点,深度强化学习正是将两者相互联结发展的,是在强化学习的基础上的更上一层楼。本文完成的主要工作及创新点:

  (1)介绍深度强化学习的基本概念。

  (2)剖析深度Q学习方法的基本原理以及主要技术。

  (3)将优先经验回放应用到深度Q学习方法之中。

  (4)通过模型分析比较深度Q学习方法和基于优先级的深度Q学习方法。

  (5)通过实验总结深度Q学习方法的优缺点。

  第一章 绪论

  1.1研究背景及其意义

  1.1.1研究背景

  在我们人类在思考应当如何学习或者说真正的学习状态应该是什么样时,首当其冲我们会想到的就是我们的行为对周围环境造成一定影响,环境也对我们的行为作出反馈,我们从中学习进步。在日常生活中,无论我们是在交流谈话还是学习驾驶车辆,我们都能清楚地意识到环境对于我们行为的种种回应,我们都是试图通过自己的行为来影响接下来发生的事情。我们所知道的几乎所有的智能系统的理论基础都是从互动中学习,这些理论基础同时也是强化学习的基础。那么强化学习的思想是何时被提出来的呢,这个我们可以追溯到20世纪初了,接下来近一个世纪的蓬勃发展,强化学习与运筹学、心理学、认知科学、计算智能、智能控制、优化理论等等学科形成了密切的联系,是一个典型的多学科交叉领域。

  强化学习是机器学习里面的一个重要部分,能够控制个体在某种场景下自主地执行一些动作是强化学习所善长的,通过不断地与环境进行交互,不断地改进智能体地行为。强化学习所要解决的主要问题是让agent学习如何做,如何将从环境中收集的信息转变为行动,并以此获得最大的回报。在强化学习的过程中,通常被我们称作学习器的就是来确定策略的智能体,在当前状态下接下来应执行什么动作学习器是不会被告知的,而是通过不断的反复尝试运行,来寻找得到最大奖赏的行为。一般的情况下,当前的行为不仅会改变到当前的奖赏,而且会改变到下个时间点的环境,因此后续所有的奖赏都会受到影响。从根本上来说,强化学习是一个闭环控制问题,因为学习系统的行为会改变环境,环境对后续的行为又会产生一定的改变。这就是我们常说的“闭环学习”,数据是动态的,加上一些标签,通过一定的联结方式,模型的优化与数据的产生就会相互关联,并将动态的反馈信号引入学习过程的一种学习范式[1]。强化学习是“闭环学习”范式的典型代表。

  1.1.2意义

  强化学习所要解决的问题是序贯决策问题[2]。下面我们来解释一下序贯决策问题的概念。为了能够实现最终的目的,我们必须连续不断的作出决策来解决的问题就是序贯决策问题。强化学习是不在乎输入的内容到底是什么的,重点在于为了实现最终目标当前输入下应该采取什么样的动作。所要强调的是,当前采取什么动作与最终的目标是有关的。换句话说,要使整个任务序列达到最优,当前应该采取的动作应当将之考虑进去。由于起步阶段智能体处于的状态也不清楚要采取何种动作对完成目的有帮助,所以要找出一条最优的任务序列需要智能体与环境一直互动,不停地采取动作尝试[3]。

  强化学习在不同的领域取得了令人惊艳的成果,它除了可以应用到下棋、机器人、非线性控制等方向,在其它的一些领域也能够发挥作用,如人机对话、视频游戏、机器翻译、无人驾驶、文本序列预测等等。随着时代的发展,传统的强化学习算法与最近发展起来的深度强化学习算法都在与时俱进,更大程度又更有效率的满足了人类的需求。

  1.2强化学习的研究现状

  目前已经存在的强化学习算法的种类繁多,一般都按照三个主流的标准来分类:

  (1)有些强化学习的算法在执行的过程中是需要依赖模型的,因此我们从是否需要借助模型有了以下两个分类:基于模型的强化学习算法和无模型的强化学习算法。

  (2)强化学习的过程中策略的更新和学习的方法也是不同的,我们从这个角度又将强化学分为了三类:基于值函数的强化学习算法、基于直接策略搜索的强化学习算法以及AC的方法。基于AC的方法是联合使用值函数和直接策略搜索。

  (3)根据环境返回的回报函数是否已知,分为两类:正向强化学习、逆向强化学习。

  除了这三类主流的分类标准,又有很多强化学习算法被专家们搬上了研究的舞台,使得强化学习的效率和实用性都得到了增加,比如元强化学习、分层强化学习、多智能体强化学习、迁移强化学习和关系强化学习等。

  强化学习尤其是深度强化学习正在快速的发展,从各个方面的调查我们可以初步判断强化学习的发展趋势有以下四点:

  第一,强化学习算法与深度学习的结合会更加紧密。

  第二,强化学习算法与专业知识结合得将更加紧密。

  第三,强化学习算法理论分析会更强,算法会更稳定和高效。

  第四,脑科学、认知神经科学在机器学习方面提供了很大的帮助,因此它们之间的联系未来也会更为紧密。

  1.3本文的主要工作

  本文在了解强化学习的基本原理的基础上,对当前的热点话题深度强化学习进一步了解,然后掌握深度强化学习中的深度Q学习算法,并结合优先经验回放熟练运用。

  根据一定的数学模型对深度强化学习的算法进行选择,采用深度Q学习方法对数学模型进行强化学习以达到对于每一个行为得到的奖赏最大化,实现模型的深度强化学习过程。

  再对算法进一步优化,结合优先经验回放使得算法的效率更高,具有更高的可塑性。

  分析比较深度Q学习方法与基于优先级的深度Q学习方法在实际应用中展现出的不同的效率,以及它们之间的联系与差别。

  展示模型的运作过程,使得应用基于优先级的深度Q学习方法的成果直观的表达出来,满足用户对深度强化学习目标的要求。

  1.4本文的结构

  本文的内容包括了对强化学基本原理的介绍以及现有的强化学习的种类,再透彻地分析了深度强化学习的定义以及其采用的主要技术,并构建了基于优先级的深度Q学习方法。全文共四个章节:

  第一章主要介绍强化学习的研究背景和意义,以及本文的文本结构。

  第二章开始是分析深度Q学习方法的定义,以及深度Q学习方法的一些主要技术,包括卷积神经网络、经验回放、目标网络。

  第三章开始详细的介绍了基于优先级的深度Q学习方法的构建,分析了优先经验回放的优缺点,是否采用优先经验回放也是本次设计的一个关键点。

  第四章是全文的总结性章节,对这次设计开发做了一个总结,并提出了仍存在的一些问题与解决方向。

  第二章 深度Q学习方法的研究综述

  2.1深度Q学习方法的定义

  强化学习是一个过程,这个过程我们可以形容为一个agent(又称作智能系统或智能体)通过与环境的交互学习从当前环境的状态选择动作的过程,学习主要任务是使其累积奖赏最大。深度学习中的监督学习和非监督学习是有别于强化学习的其他机器学习算法,这是我们从强化学习的基本原理中可以看出的。监督学习和非监督学习中的数据类型都是一样的,这两个学习方法的数据都是静态的,它不需要与环境进行互动,比如图像识别,通过给出足够的差异样本并提取出数据,在深度网络中将这些数据输入,就可以进行训练了。与之不同的是,动态的、不断与环境交互的强化学习的学习过程所形成的数据是通过与环境的不断交互产生的。因此,与监督学习和非监督学习相比较,强化学习所涉及的范围更加广泛,如环境,动作,状态转移概率和回报函数等。我们说,强化学习与人学习新事物的过程更为相似:人类学会走路,奔跑,劳动是通过与周围的环境进行交互;人类与大自然,与宇宙交互又创造了现代文明。

  该如何决策是强化学习所要解决的问题,而语音识别和图像识别这类感知的问题的解决属于深度学习的范畴了。通过感知进行智能的决策正是人工智能的终极目的,实现人工智能终极目标的一个很有前景的方法——深度强化学习——将深度学习技术与强化学习算法融合在一起的先进技术。深度强化学习是直接从高维的原始数据学习来进行智能的决策来实施策略,具体的方法是将卷积神经网络和Q-learning相互融合。简单的用一个公式来表示深度Q学习就是[4]:

  深度Q学习(DQN)= 卷积神经网络(CNN)+ Q-learning

  (1)通过Q-learning来使用奖赏构造标签

  (2)通过经验回放(experience replay)的方法来解决非静态分布和相关性的问题

  谷歌DeepMind公司在强化学习方面做出了极大的贡献,也使强化学习逐渐引起了公众的注意力,而深度Q学习方法(DQN)在这个世界上的第一次出现正是在DeepMind发表在《Nature》上的第一篇名为《Human-level control through deep reinforcement learning》的论文上[5]。经过对这篇论文的研究分析,我们发现DQN算法是在Q-learning的基础上发展起来的,经验回放和设立单独的目标网络是被认为是这篇论文两个最主要的独特新概念。

  异策略时间差分法正是Q-learning采用的方法[6]。下面是Q-learning的伪代码:

  掌握异策略和时间差分两个概念是学会操作Q-learning方法的关键,同时我们也要了解这两个概念在Q-learning中是如何体现的。行动策略(产生数据的策略)和要评估的策略不是一个同一个策略的方法称之为异策略。在Q-learning伪代码中,行动策略是第5行的-greedy策略,而第6行的greedy策略(在任何状态都执行值函数最大的动作)则是用来评估和改进策略的。利用时间差分目标来更新当前行为值函数的方法正式时间差分方法。在上面的伪代码中,时间差分目标为2.2 深度Q学习方法的主要技术

  深度Q学习(DQN)对Q-learning主要有三个方面的修改[7],同时也是深度Q学习方法采用的主要的三个技术。

  2.2.1卷积神经网络

  深度Q学习方法利用卷积神经网络逼近行为值函数,是一种非线性逼近的方式。非线性逼近和线性逼近虽然方法不同,但是它们都是一种参数逼近的方法。值函数对应着一组参数,每层网络的权重就是神经网络中的参数,用

  就代表值函数。在图2-2中的深度Q学习方法所采用的网络结构是3个卷积层+2个全连接层。

  其实早在上个世纪90年代,在强化学习的领域就有着使用神经网络逼近值函数的方式了。因为利用神经网络,特别是深度神经网络逼近值函数往往会出现不稳定不收敛的状况,所以专家学者们普遍认为这一方法不太科学,在这个方向上一直也没有新的成果,直到DeepMind的出现。DeepMind是怎么办到的呢?在深度神经网络的的训练之中DeepMind将认识神经科学的成果发挥出来,从而在这个领域迈出了一大步。

  在高维且连续的状态下的表格型Q函数可以在深度Q学习中的卷积神经网络(CNN)作用下做函数拟合。监督学习对于函数的优化,通常是先确定损失函数,然后再求梯度,更新参数的化是使用随机梯度下降,而深度Q学习方法对函数的优化的方法是基于Q-learning来确定损失函数。

  2.2.2经验回放

  人类大脑有一个负责存储记忆和学习知识的主要的构造就是海马体,当我们处在睡眠状态的时候,像播放电影一样海马体将一天的记忆在我们的脑海中重放,反映给大脑皮层。经验回放正是受到这一人体活动的启发而创造出来的一种神经网络的训练方法。

  神经网络通过经验回放使得训练稳定且收敛。能够达到这种状态的原理是这样的:在神经网络的训练过程中,有种假设是训练数据是独立的且同分布的,而通过强化学习收集的数据之间是相互有关联的,而使用这些数据进行顺序训练,神经网络会有不稳定的情况出现。而引入经验回放就能够将这些数据间的关联打破,如图2-3。

  图2-3 经验回放

  智能体在强化学习的过程中将收集到的数据存放在一个数据库当中,这个数据库就是我们通常所说的经验池,要进行下一步操作时,就利用均匀采样的方式从数据库中抽取数据来训练神经网络[8]。

  当我们要解决数据的相关性以及非静态分布问题时,发挥重要作用的角色就是经验池。在训练神经网络时,我们是从经验池抽取数据的,经验池中存储的是每个时间步智能体与环境交互得到的转移样本(st,at,rt,st+1)。简而言之,训练时随机地抽取数据来避免数据相关的问题,采取的措施就是将游戏的过程打成碎片再储存。

  2.2.3目标网络

  深度Q学习方法处理时间差分算法中的TD偏差通过的方法就是设置目标网络来单独处理。利用神经网络对值函数进行逼近是与表格型的Q-learning算法不一样的,在值函数的更新步中会发现更新的是参数

  (如图2-4所示),DQN利用了卷积神经网络。DQN的的更新方法是梯度下降法。所以Q-learning的伪代码中的第6行的值函数更新的过程也就变为了一次监督学习的更新过程,它的梯度下降法是:

  我们在计算TD目标时需要使用一种网络这就是TD网络。在深度Q学习方法还没有开发之前,数据之间会相互关联,训练因此不稳定,因为利用神经网络来逼近值函数,计算TD目标的动作值函数中的网络参数

  保持不变;并且计算TD目标的网络更新一次是按照每个固定的步数,而用于动作值函数逼近的网络每一步都会更新,以此来解决这个问题。

  我们来对DQN的伪代码进行逐行分析:

  第[1]行,初始化经验池D,以及经验池可包含的数据条数N,这个N就是表示经验池的大小的参数;

  第[2]行,初始化动作-行为值函数Q是利用随机权值

  -的利用是在第[13]行;更新动作值函数逼近网络参数是第[15]行;在第[17]行目标网络参数得到了更新。

  2.3总结

  对于将强化学习和深度学习模型融合在一起的深度Q学习方法来说,它是第一个成功地直接从高维的输入来学习控制策略的一种先进的技术。深度Q学习方法的创新点总结来说有以下3个:

  1. 基于Q-learning构造损失函数。这一点创新不是很新颖,因为过往使用的线性和非线性函数拟合表格型Q函数时就是这么做的。

  2. 通过经验池解决相关性及非静态分布问题。

  3. 使用目标网络解决稳定性问题。

  下面我们再来总结一下深度Q学习的优缺点。

  优点:

  1. 算法通用性强,可应用于不同的游戏;

  2. 端到端的训练方式,省去了特征的提取,直接输入原始数据就能输出最后的结果;

  3. 可生产大量的样本来进行监督学习。

  缺点:

  1. 无法应用于连续的动作控制;

  2. 只能处理只需短时记忆的问题,无法处理需长时记忆的问题;

  3. 卷积神经网络不一定收敛,需要精良的调整参数。

  第三章 基于优先级的深度Q学习方法的设计与应用

  本次工作的目的是将深度Q学习方法与优先经验回放相结合,主要目的是能够根据需求让模型进行深度强化学习使得其对于每个状态都能作出最优策略,使累计得到的奖赏最大。而结合了优先经验回放的深度Q学习方法,即基于优先级的深度Q学习方法,能够使模型在学习过程中的效率更高,另一方面也就是说模型达到目标所需的时间得到一定程度减少。

  3.1基于优先级的深度Q学习方法的构成

  前面我们已经解释了深度Q学习方法的基本原理及其构成,这里我们要对深度Q学习方法进行进一步的优化——将DQN与优先经验回放结合使用。那什么是优先经验回放呢?

  我们都知道智能体的经验就是经历过的数据,而对于智能体的学习并非都是具有同等重要的意义。所以说,智能体在某些状态的学习效率比其他状态的学习效率高。而优先经验回放的基本思想就是打破再上一个章节提到的DQN伪代码的第12行提到的均匀采样,赋予学习效率高的状态以更高的优先级,用专业语言来说即更大的采样权重。

  这里我们就要提到该如何选择权重呢?一个理想的标准指的是智能体的学习效率越高,权重越大。符合该标准的一个选择是TD偏差

  。TD偏差越大,则说明在该状态处的值函数与TD目标的差距越大,智能体的更新量越大,因此该处的学习效率也就越高。

  在这里我们假设样本i处的TD偏差为

  我们来对这段代码进行分析,第一步,我用标准偏差为0.01的正态分布随机初始化所有权重矩阵,然后将经验池大小设置为最大的50,000。

  我的设定是通过在前10,000个时间步中随机选择操作而不更新网络权重来开始训练。这使得系统在训练开始之前就填充经验池。

  请注意,与初始化ε= 1的不同,我在接下来的2000,000帧的过程中将ε从0.1线性衰退到0.0001。之所以这样设定,是因为agent可以在我们的游戏中每隔0.03秒选择一个动作(FPS = 30),高的ε值会使其振动太多,从而保持在游戏屏幕的顶部,最终以笨拙的方式撞击管道。这个条件将使Q函数收敛相对较慢,因为当ε很低时,它才开始看其他条件。然而,在其他游戏中,将ε初始化为1更合理。

  在训练时间期间,在每个时间步,网络从经验池中采样大小为32的经验以训练,并且通过Adam优化算法使用上述的损失函数以学习速率为0.000001来执行梯度下降。衰退结束后,网络继续无限地训练,ε固定为0.0001。

  3.3基于优先级的深度Q学习方法的配置与运行

  这里我们有一个从网络上下载好的名叫wrapped_flappy_bird的import库作为实验的对象,单独的对wrapped_flappy_bird进行一定的修改并运行的话就会运行上文中我们提到的那个小游戏程序。

  主函数很简单,只是调用了一个叫playGame的函数。这个名叫playGame的函数里面仅仅包含了两个函数:createNetwork函数和上节主要讲的trainNetwork函数。我们来看看createNetwork函数的构成:

  这个函数是用来创建卷积神经网络的,它的卷积神经网络是这样构成的:第一个卷积层使用8x8x4x32内核以4的步长卷积输入图像。然后通过2x2最大池化层进行输出。 第二个卷积层使用4x4x32x64内核以2的步长卷积输入图像。然后再次通过最大池化层输出。 第三个卷积层使用3x3x64x64内核以1的步长输入图像。我们再次通过最大池化层输出。最后一个隐藏层由256个完全连接的ReLU节点组成。

  通过深度Q学习方法,我们的Flappy Bird在游戏中不断积累经验,取得的得分越来越高,以至于最后小鸟再也不会从天空“摔落”。接下来我又对算法进行了进一步的优化,将优先经验回放加入其中,这就是基于优先级的深度Q学习方法。

  在上述深度Q学习方法中,如果经验池的容量已满,需要增加新的经验,则从左边删除最开始进入经验池的数据。而基于优先级的深度Q学习方法,若要增加新的经验,则按照重要性的大小或者说是优先级的高低,将优先级较低的数据取代。通俗的说,基于优先级的深度Q学习方法更加智能。

  3.4基于优先级的深度Q学习方法的问题

  3.4.1DQN自身的缺点

  深度Q学习方法是Q-learning的延伸,它并没有将Q-learning固有的过估计的不足改善。

  过估计是什么意思呢?过估计在Q-learning中又是怎么产生的呢?

  过估计指的是估计的值函数比真实值函数要大。我们都知道Q-learning采用的都是最大化操作,这也就是为什么过估计的问题存在的根本原因。

  以下两类是Q-learning评估值函数的数学公式:由上面两个式子可知,值函数的更新公式都是最大化操作。最大化操作使得估计的值函数比值函数的真实值大。如果过估计对于每个值函数估计的量是相同的,也就是说过估计量均匀,由于采取的是贪婪策略,找到的最大值函数的动作仍是不受影响的,这时候最优策略是保持不变的。在这种情况下,虽然值函数被过估计了,但是最优策略还是被找到了,强化学习的目标不是求得最大值函数,而是搜寻最优策略,所以最终目的还是达成。然而事实并非如此,在值函数的更新中过估计的量并非是均匀的,因为此最终得到的策略并不是最优,是次优的。

  3.4.2基于优先级的深度Q学习方法的局限性

  基于优先级的深度Q学习方法是一种非常优秀的深度强化学习算法,但同时它也有着自己的局限:1.采样效率比较堪忧,在深度Q学习当中,我们需要将与环境互动收集的数据存储到经验池中,而获得这些数据,有时我们只需要修改几个参数,而一旦这个方法不起作用,强化学习就陷入了艰难的处境。2.强化学习通常需要奖励,奖励函数的设计也具有一定的难度。最合理的奖励不能避免局部最优。如果当前策略探索得过多,就有可能会得到一大堆无用数据并且没法从中提取有效信息。而如果进行过多的尝试,那么也有可能无法找到最佳的动作。

  3.5 小结

  综上所述,一个基于优先级的深度Q学习方法就被构建出来并在实际中得到了应用。在本章中,我将非常有趣的小游戏Flappy Bird作为模型,以此为基础编写DQN算法结合小游戏是游戏中的小鸟在不断的训练中找到最优策略,成功地通过管道,经过代码一段时间的运行会发现小鸟基本处于“无敌”状态。随后,我又将优先经验回放技术加入DQN算法中,观察发现小鸟达到“无敌”状态所需的时间相对没有采用优先经验回放有着明显的缩减。基于优先级的深度Q学习方法和原始的深度Q学习方法最终都在最大累积奖赏处收敛,只是效率明显的提高了。

  第四章 总结与展望

  4.1本文工作总结

  本文主要介绍了强化学习的基本原理以及现有的强化学习的种类,再透彻地分析了深度强化学习的定义以及其采用的主要技术,并探讨了为什么要发展深度强化学习:在当前社会下,高科技人工智能软件和产品层出不穷,AlphaGo的出现震惊世界,人们需要一种实现高级人工智能的有潜力的方法,深度强化学习应运而生。深度Q学习方法作为深度强化学习中重要的一支有着非常广泛的适用范围,而基于优先级的深度Q学习方法又是在这一基础上的优化更是值得学习与运用。

  对于基于优先级的深度Q学习方法来说,有着两个决定性的难点:一是奖励函数的设计 ;二是与优先经验回放的结合。在结合了卷积神经网络与Q-learning算法后,将奖励函数应用于其中便能使模型进行深度强化学习,而后应用优先经验回放,使模型根据状态的优先级来累积经验从而又进一步地提高效率,使模型更快地达到最大累积奖赏。

  4.2展望

  本文的目的是实现一个基于优先级的深度Q学习算法,在目前看来,这个基于优先级的深度Q学习算法还有着很多不足的地方需要去改进。

  首先,对于深度强化学习基本概念和原理的认知还没有特别深入,其次,在DQN算法的使用上有可能存在着一些不足,在奖励函数的设计上还可以进行进一步的完善。

  相对而言,从小游戏Flppy Bird的成功实现基于优先级的深度Q学习方法上我学到了丰富的有关强化学习的其他知识,同时对于优先级的看法有了自己的一些见解。比如说一开始我们就可以在经验池中加上一些已有的典型的经验和一些专家的经验,并赋予它们一定的优先级这样又可以进一步的加快学习过程,提高效率。

  对于深度强化学习在未来的发展,我的憧憬是非常美好的。在目前人类对人工智能的高需求下,深度强化学习必定会更快更好的发展。或许不久的将来,像AlphaGo一样惊艳人类世界的高科技人工智能会如雨后春笋般飞快增多,未来的人工智能必将更好地为人类服务,解决人类的生活、工作中遇到的种种难题。

毕业论文:http://www.3lunwen.com/jsj/dzjs/5422.html

上一篇:基于群智感知的校园信息系统研究与设计

下一篇:没有了

     移动版:基于用户黏性视角的档案信息资源开发路径探索

本文标签:
最新论文