1.4 复杂环境建模

复杂环境建模是智能体学习和优化智能策略的基础,环境模型的好坏决定了智能体决策行为的优劣,因此需要深入分析复杂系统的特征规律和环境状态表示以建立环境模型。图1.2中给出了一个简单的智能体与复杂环境进行交互的框架,智能体在复杂环境中学习和优化智能策略。

图1.2 智能体与复杂环境的交互框架图

在图1.2中,智能体和复杂环境是复杂系统的两个主要组成部分,智能体和复杂环境之间存在两个作用关系:行动和反馈。智能体输出动作,作用于复杂环境;复杂环境输出反馈信息,智能体接收反馈信息,反馈是复杂智能系统的关键,也是复杂系统控制的关键。反馈是经典控制论的一个核心概念,也是强化学习与自动化控制等经典学科之间联系的纽带。

智能体感知复杂环境状态信息,并基于自身策略输出行为动作,作用于复杂环境,复杂环境转移至新的状态并做出反馈,智能体感知到反馈信息后重新输出自己的行为动作,如此反复迭代。智能体收集反馈信息和环境信息并训练、优化自身策略。环境反馈信息包含了有关智能体“好”的行为的奖励信息以及“坏”的行为的惩罚信息,智能体通过反复试错,并学习优化,直到获得最优策略。在智能体和复杂环境进行交互的过程中,动作和反馈都需要通过变量进行表示,合适的智能体行为表示和环境反馈信息表示是计算机进行数值模拟和高效求解复杂问题的关键。

复杂系统环境建模需要收集大量的环境数据,对复杂系统环境进行刻画和表示,而大规模的数据集又给问题分析和求解带来了困难,因为在现实世界的复杂系统中,一些数据是不可获得的。在复杂系统中,智能体与环境交互,进行信息通信,并对复杂环境状态进行表征,感知环境特征,优化智能策略。因此,环境建模是智能体优化策略的数据来源,直接影响了智能体策略的智能水平。

复杂环境的状态特征、智能体行为动作以及反馈信息等都需要进行变量表示。图1.3给出了四种常用的数据类型结构示意图。

图1.3 常用数据类型结构示意图

1.标量型环境状态变量

图1.3(a)为标量(Scalar)x,是表征环境特征最常用的数据形式。环境的大小尺寸,可以用标量表示;智能体的速度大小可以用标量表示等。标量x按其测量尺度可以再进行细分,可简单分成3种:

(1)标量x为连续的实值变量,可表示间隔尺度,如身高、体重、时间等。间隔尺度是使用最广泛的数据形式,日常生活中随处可见。间隔尺度的标量能够进行加减乘除等运算,也能够比较大小关系。

(2)标量x为整数型分类变量,可表示有序尺度,如产品质量等级、学历等级等。有序尺度标量x只表示次序,例如小学、初中、高中和大学可分别用数字1、2、3和4表示,不等式2>1表示初中学历高于小学学历,具有实际含义。有序尺度的指标不能够像间隔尺度指标一样进行加减法,如1+2=3不能表示小学学历加初中学历等于高中学历,因此,有序尺度变量在模型构建过程中需要加以特别注意。

(3)标量x表示某些分类或属性时,称作名义尺度,如性别、季节等。与间隔尺度和有序尺度指标相比,名义尺度指标既不能进行加减运算也不能比较大小,例如,个体性别属性可以用0和1分别表示男性和女性,0<1并不能说明女性大于男性,名义尺度变量的数值大小关系没有实际含义。

在对环境和智能体属性进行表示的过程中,我们要细致分析特征的属性和可用变量的属性,运用合适的特征表示是对智能体进行有效训练和高效学习的基础。

2.向量型环境状态变量

在图1.3(b)中,多个标量可以构成向量(Vector),向量可以表示环境和个体的多维特征属性,如三维空间中个体位置坐标可以用向量(x1,x2,x3)表示。在数据分析中,时间序列数据也可以用向量表示,如股票价格时间序列、经济体历史数据等。

3.矩阵型环境状态变量

图1.3(c)为矩阵(Matrix)示意图,将向量拼在一起可以构成矩阵。矩阵是线性代数的重要概念,也是机器学习常用的数据类型。很多数据分析软件将矩阵作为基本分析对象,如MATLAB,就是矩阵实验室(Matrix Laboratory)的简称,MATLAB将矩阵作为其主要数据结构。一般矩阵可以表示如下:

其中,矩阵元素xij的下标分别表示元素处于矩阵的第i行和第j列。

矩阵可以表示大部分数据类型。例如,最常见的图片数据可以用矩阵表示,图片大小就是矩阵大小,矩阵中每个元素对应图形中的像素点;研究国民经济各部门间关系时可采用投入产出方法,其主要研究对象是投入产出矩阵;博弈论中收益矩阵可以用于研究竞争或者合作之间的冲突问题;图数据(网络数据)的邻接矩阵、拉普拉斯矩阵都能够表示复杂网络或复杂图结构信息。现实世界中的很多研究对象都可以用矩阵表示。在强化学习中,智能体在不同状态之间的转化规律可以表示为状态之间的转移概率矩阵;在AlphaGo和AlphaGo Zero中,用19×19矩阵表示围棋棋盘信息。

4.张量型环境状态变量

图1.3(d)为张量(Tensor)示意图,为张量最简单的表现形式,可以看成矩阵堆叠在一起构成的高维数据,严格定义可以参考数学或物理教材。深度学习领域流行的机器学习框架TensorFlow和PyTorch都将张量作为主要操作对象,类似于MATLAB将矩阵作为其主要操作对象。我们可以从另一个角度重新理解各个类型的数据,零阶张量为标量,一阶张量为向量,二阶张量为矩阵,随着数据维度增加,数据越来越复杂,分析方法和工具也越来越复杂。AlphaGo不仅仅考虑了单步落子的信息,还考虑了历史落子信息,因此构造了大小为19×19×17的张量表示棋局状态信息。

5.网络型环境状态变量

矩阵型数据可以表示复杂网络的结构特征。在实际数据分析中,我们经常遇到关系型数据,可以采用复杂网络方法进行分析。一般来说,融合网络分析能有效提高智能决策系统的实用性和准确度。图1.4给出了73个村庄社会网络示意图,数据来源于一次大规模调查问卷[90]。图中每一个网络节点对应村庄中一位村民,网络连边代表了“如果你必须做出一个艰难的个人决定,你会向谁寻求建议?”的关系。

在图1.4中,社会网络关系存在明显的社团结构,每一个社团对应一个村落。同村落中村民之间的关系较紧密,即村民在做艰难的个人决定时会向同村村民寻求建议,包括家庭成员等;不同村落间村民联系较少,或者根本就没有联系,只有少量异村村民之间互相寻求建议和帮助。我们能够挖掘图中丰富的社会结构信息,如识别村落中的意见领袖,判断家族成员之间是否存在等级结构等。复杂网络方法提供了一个新的分析视角和强大的分析工具来处理关系型数据,能洞察更深刻的网络结构信息和语义信息。社会网络分析是社会科学领域常用的方法和工具,得到了大量社会学家认可和广泛使用,用于挖掘蕴含于网络拓扑结构中的社会信息。

图1.4 73个村庄社会网络示意图

图1.4中的网络拓扑结构也很好地展示了“网络的网络”这一概念。社会网络中每一个小团体对应一个村庄中成员之间的联系网络,位于图1.4上部的不同村庄(社团)之间也存在着较为紧密的联系,中间位置处存在一个较为明显的中心节点,或称为意见领袖。社会网络中个体之间相互作用关系也依赖于其他网络,可称之为相依网络或网络的网络。斯坦利(H.Eugene Stanley)教授等人为“网络的网络”提供了一个创新性的理论分析框架[62,63]。学者们研究网络中社会舆论、个体偏好等行为的传播过程,发现个体的相似性、互补性、同质性、流行性等因素都直接影响了个体的决策和社会系统的宏观演化规律。复杂社会网络的形成和演化同样受到环境因素的影响,如何捕捉到更加细致且更加有效的影响因素,如何更好地重现网络演化特征和规律,并融合网络的网络等方法模拟网络动力学特征,仍然是一个具有挑战的问题。

在现实世界中,网络形成和演化过程更加复杂,个体决策变量更加繁杂。复杂环境下个体决策行为受到诸多因素影响,如流行性和相似性等[91]。在金融交易系统中,如何表示投资者属性和环境因素仍然是一个重要的问题。在复杂决策环境中,影响主体决策的属性因素各不相同,很多因素因为隐私和采集难度问题而不可量化。近年来,一些基于机器学习的优化算法直接从复杂金融网络拓扑结构中解构市场行为信息和个体行为信息[92]。机器学习模型也能够学习复杂环境下个体之间网络关系的形成和演化模型[93],将网络连边的建立过程表示成异质主体之间的博弈过程,网络主体考虑大量影响博弈均衡的因素,融合机器学习优化算法直接学习网络演化过程。很多学者运用智能算法研究网络演化过程中网络连边预测问题,取得了大量的研究成果[94-96]