掌桥专利:专业的专利平台
掌桥专利
首页

基于深度强化学习的面向创新设计的功能知识集成方法

文献发布时间:2024-04-18 19:54:45


基于深度强化学习的面向创新设计的功能知识集成方法

技术领域

本发明涉及深度强化学习、概念设计和功能知识集成领域。首先将待设计产品的功能转为结构化的语义信息——目标输入/输出,再基于深度蒙特卡洛算法学习由目标输入/输出到最优概念设计方案的映射,将功能知识集成过程由搜索转为了马尔科夫决策过程,极大减少了功能知识集成所需的时间成本,尤其是在大规模功能知识库中。

背景技术

设计任务的复杂性正与日俱增,许多产品设计所需知识也正由单学科向多学科发生转变。这一趋势不仅导致了更为通用的知识表示模型,也使得设计知识库的规模显著增加。传统的功能知识集成(Functional unit integration,FKI)算法以遍历为核心,在大搜索空间存在组合爆炸问题,多不具备实际可行性。因此非常有必要有探索一个拥有全然不同内核的、更加高效的算法,以作为大规模知识库下FKI可运行性的有效保证。

发明内容

本发明要克服现有技术的上述缺点,提供一种基于深度强化学习的面向创新设计的功能知识集成方法。

本发明通过以深度强化学习算法替代传统遍历搜索算法来实时生成功能单元链,解决了以往算法在大规模知识库下可行性低、运行时间成本过高的问题。

本发明基于深度强化学习的面向创新设计的功能知识集成方法,包括以下步骤:

1)将离散的功能知识单元依托其输入/输出间的匹配关系构建为功能知识图谱。

2)将功能知识集成的核心任务——功能单元链生成建模为马尔科夫决策过程,并采用强化学习中的深度蒙特卡洛算法进行求解。

3)通过自动或半自动迭代框架将强化学习算法生成的阶段性方案(功能单元链)合并为最终设计方案。实现以用户对目标功能的结构化语义描述为输入,相应功能设计方案为输出的高效FKI框架。

进一步,步骤1)具体包括:

1.1)以功能设计知识的最小重用单元——功能单元构建功能知识图谱(Functional knowledge graph,FKG),并表示为一个有向图G(V,E)。其中每个结点v

1.2)功能单元的本体被定义为具有以下七个属性:ID、Input、Output、Prior、Next、Category、Carrier。其中ID是功能单元的唯一标识符。Input和Output表示功能单元的输入和输出,描述产品功能的基本内容。Prior和Next反映了功能单元在FKG中的位置(或邻接)关系,分别对应前驱和后继。Category指功能单元携带的功能类别,包含转换、支持、存储、激励功能四种。Carrier表示现实中该功能单元的物理或技术原型;

1.3)输入、输出的表示是功能表示的重点,本发明采取了一种关键词加参数的表示方式。具体来说,每个关键词以“修饰词+核心词”的格式存在,如“新鲜的、干净的+水”。每个参数以“名称+值域+单位”的格式存在,如“电压+[220]+V”。每个输入或输出可以由多个关键词和参数构成,每个关键词可以有多个修饰词,但只能对应一个核心词;

1.4)为了节约表示空间以及解决表述歧义问题,本发明设计了一个bucket机制用于进行多义词管理。具体来说,每个字词会根据它的词意被分至不同的bucket中,并由bucket的标签词tag进行统一表示。此时,对于功能单元录入过程中出现的任意多义词,用户可以通过将其分配至不同的bucket以决定其具体含义;

1.5)功能单元间的匹配关系定义如下:对于功能单元v

进一步,步骤2)具体包括:

2.1)将目标功能表示为FKG中两个虚拟的结点St和Ed,前者仅包含输出属性,后者仅包含输入属性。那么,FKI任务可以被定义为在FKG中寻找一条从St到Ed的完全匹配的路径,即路径中功能单元间的冗余数之和为0。进一步利用动态规划的思想,复杂的FKI任务可以被转化为每次搜索一条从St到Ed的部分匹配路径(即功能单元链),之后将未匹配的输入/输出作为新目标功能并搜索其功能单元链的迭代方式,逐步完成所有输入/输出的匹配;

2.2)将路径中的冗余数之和作为功能单元链的评价指标,称为全局冗余度。通过对该指标最优化,既能保证所得方案的功能完备性,又能控制算法所需的迭代次数至合理的范围内;

2.3)将FKI任务建模为马尔科夫决策过程,其中每个时间步的行为对应路径搜索过程中的一个后继结点的选择。

2.4)构建价值网络Q-network用于对从目标输入结点St开始的所有后继结点的决策。网络包含卷积和LSTM两个特征提取模块,以及一个MLP预测模块。接收当前结点、邻接结点、当前结点与其后继结点之间的冗余数、行为轨迹、全局冗余数以及目标功能需求七大信息为输入,输出每个后继结点的预期回报值Q-value;

2.5)奖励用于对智能体的行为进行引导,奖励函数的定义属于强化学习算法设计中颇为重要的一环。本发明中定义了成功、失败、过程以及碰壁四个奖励函数,分别对智能体成功到达目标输出结点、达到最大搜索长度仍未到达最终结点、处在中间结点、处在无后继结点的中间四种情景状态给予反馈。其中失败奖励为基于健康导向假说的非零奖励,使智能体在搜索失败时同样能学习如何进行健康搜索(即使路径冗余数变小)。该奖励能很好的提升算法收敛速度以及收敛性能;

2.6)使用Every-visit Monte-Carlo算法对价值网络进行训练。定义目标策略为贪婪策略,行为策略为基于epsilon贪婪策略改进的,epsilon值随训练过程递减的区间epsilon贪婪策略。

进一步,步骤3)具体包括:

3.1)将用户输入的目标功能的结构化描述作为步骤2)中强化学习算法的输入,并输出一条相应的最优功能单元链。基于此时FKI过程已由搜索转化为马尔科夫决策过程,该步骤中功能单元链能以几乎实时的速度生成;

3.2)将步骤3.1)中生成的功能单元中未匹配的输入/输出分别作为下一轮迭代的目标功能的输出/输入。该步骤中允许用户对现有未匹配的输入/输出进行调整,即切换为半自动迭代框架,所允许的调整包括但不限于删除、新增、手动匹配、参数修改。

3.3)对步骤3.1)、3.2)循环迭代,直至路径中所有的输入/输出已被完全匹配或被用户确认为完全匹配(半自动)。

本发明主要包括两部分,即基于bucket和知识图谱的功能单元表示/存储方法和基于深度强化学习的功能单元链生成算法。对于功能单元表示/存储方法,首先构建功能单元本体,用关键词表示法对其输入/输出属性进行描述,之后用bucket机制对关键词中的同义词进行统一表示,最后用知识图谱对功能单元及其关系进行存储。基于深度强化学习的功能单元链生成算法中,功能知识集成问题被建模为马尔科夫决策过程,设计相应的价值网络、策略以及奖励后,采用深度蒙特卡洛算法进行求解,以实现近乎实时的功能单元链生成。根据用户对目标产品功能的结构化语义描述,本发明能以几乎实时的速度输出最具功能完备性的设计方案,保证方案质量的同时,极大降低了大规模知识库下功能知识集成所需的时间成本。

本发明的优点是:功能描述时对关键词进行同义词管理,不仅简化了功能单元录入流程还极力避免了表述歧义问题;将功能知识集成过程由搜索转化为了决策过程,辅以强化学习算法,在大规模知识库下能以仅牺牲少量方案产出质量的代价,换取极大的方案产出速度以及算法可运行性的提升。

附图说明

图1是本发明的流程图。

图2是本发明的功能单元构建实例示意图。

图3是本发明的价值网络的结构示意图。

图4(a)和图4(b)是强化学习算法的收敛曲线,分别记录损失值和近100次迭代的平均奖励值随情景迭代次数的变化情况,频率为每500次情景迭代记录1次以上数据。

图5是本发明的生成的设计方案的实例示意图。

图6是本发明的设计方案的生成过程的实例示意图。

具体实施方式

下面结合附图进一步说明本发明。

本实施例提出一种应用本发明的基于深度强化学习的面向创新设计的功能知识集成方法的机械产品创新设计方法,包括以下步骤:

1)构建功能知识单元本体,将若干机械产品分解为机械零部件,从中抽象出功能知识并描述为功能知识单元。将离散的功能知识单元依托其输入/输出间的匹配关系构建为功能知识图谱;

2)将功能知识集成的核心任务——功能单元链生成建模为马尔科夫决策过程,设计相应的价值网络、策略以及奖励,并采用强化学习中的深度蒙特卡洛算法进行求解;

3)当新的机械产品的设计需求被提交至本框架,依据其功能的结构化语义描述,首先经由强化学习方法实时生成阶段性方案(功能单元链),之后通过自动或半自动迭代框架,将阶段性方案合并为最终设计方案。

步骤1)提出了基于知识图谱的功能知识单元表示/存储方法,具体包括:

1.1)以功能设计知识的最小重用单元——功能单元构建功能知识图谱(Functional knowledge graph,FKG),并表示为一个有向图G(V,E)。其中每个结点v

1.2)功能单元的本体被定义为具有以下七个属性:ID、Input、Output、Prior、Next、Category、Carrier。其中ID是功能单元的唯一标识符。Input和Output表示功能单元的输入和输出,描述产品功能的基本内容。Prior和Next反映了功能单元在FKG中的位置(或邻接)关系,分别对应前驱和后继。Category指功能单元携带的功能类别,包含转换、支持、存储、激励功能四种。Carrier表示现实中该功能单元的物理或技术原型;

1.3)输入、输出的表示是功能表示的重点,本发明采取了一种关键词加参数的表示方式。具体来说,每个关键词以“修饰词+核心词”的格式存在,如“新鲜的、干净的+水”。每个参数以“名称+值域+单位”的格式存在,如“电压+[220]+V”。每个输入或输出可以由多个关键词和参数构成,每个关键词可以有多个修饰词,但只能对应一个核心词。在本实施例中修饰词的最大个数被限制为5;

1.4)为了节约表示空间以及解决表述歧义问题,本发明设计了一个bucket机制用于进行多义词管理。具体来说,每个字词会根据它的词意被分至不同的bucket中,并由bucket的标签词tag进行统一表示。此时,对于功能单元录入过程中出现的任意多义词,用户可以通过将其分配至不同的bucket以决定其具体含义。Bucket的具体构建方式如下所示:

(a)当首个字词被添加至同义词字典时,将为其创建一个bukect。该bucket会被分配一个唯一标识符tag,其值默认等于bucket中存储的第一个字符。

(b)当一个新字词被添加至字典时,用户将决定将它分配给现有的最推荐的n个bucket中,还是为其创建一个具有新含义的bucket。推荐基于该字词和每个bucket的tag之间的余弦相似度大小而给出。

1.5)功能单元间的匹配关系定义如下:对于功能单元v

1.6)将若干机械产品分解为机械零部件,从中抽象出功能知识并依据步骤1.1)至1.4)中所述方法表示为功能知识单元。附图2所示为功能单元的构建实例。其次,依据步骤1.5)中所述方法通过自动计算程序获取所有功能知识单元间的匹配关系。最后,将各功能单元及其关系存储为功能知识图谱。

步骤2)提出了基于深度强化学习的功能单元链生成算法,具体包括:

2.1)将目标功能表示为FKG中两个虚拟的结点St和Ed,前者仅包含输出属性,后者仅包含输入属性。那么,FKI任务可以被定义为在FKG中寻找一条从St到Ed的完全匹配的路径,即路径中功能单元间的冗余数之和为0。进一步利用动态规划的思想,复杂的FKI任务可以被转化为每次搜索一条从St到Ed的部分匹配路径(即功能单元链),之后将未匹配的输入/输出作为新目标功能并搜索其功能单元链的迭代方式,逐步完成所有输入/输出的匹配;

2.2)将路径中的冗余数之和作为功能单元链的评价指标,称为全局冗余度。通过对该指标最优化,既能保证所得方案的功能完备性,又能控制算法所需的迭代次数至合理的范围内;

2.3)将FKI任务建模为马尔科夫决策过程,其中每个时间步的行为对应路径搜索过程中的一个后继结点的选择;

2.4)构建价值网络Q-network用于对从目标输入结点St开始的所有后继结点的决策。网络包含卷积和LSTM两个特征提取模块,以及一个MLP预测模块。接收当前结点、邻接结点、当前结点与其后继结点之间的冗余数、行为轨迹、全局冗余数以及目标功能需求七大信息为输入,输出每个后继结点的预期回报值Q-value。具体到每个输入特征,除了冗余数直接作为数值传递,其余文本特征均采用相应的词向量进行表示。为了节约向量空间,本实施例只针对前5步轨迹特征进行编码,并对每一个输入/输出的6个词向量取了均值。价值网络的具体结构见附图3。价值网络输入特征的编码结果如以下表格形式的程序块所示:

2.5)奖励用于对智能体的行为进行引导,奖励函数的定义属于强化学习算法设计中颇为重要的一环。本发明中定义了成功、失败、过程以及碰壁四个奖励函数,分别对智能体成功到达目标输出结点、达到最大搜索长度仍未到达最终结点、处在中间结点、处在无后继结点的中间四种情景状态给予反馈。其中失败奖励为基于健康导向假说的非零奖励,使智能体在搜索失败时同样能学习如何进行健康搜索(即使路径冗余数变小)。该奖励能很好的提升算法收敛速度以及收敛性能。

2.6)使用Every-visit Monte-Carlo算法对价值网络进行训练,定义目标策略为贪婪策略,行为策略为基于epsilon贪婪策略改进的,epsilon值随训练过程递减的区间epsilon贪婪策略,具体的训练算法描述如以下程序块所示:

本实例中,训练在一台搭载12代英特尔(R)酷睿(TM)i7-12700KF CPU@3.61GHz处理器和NVIDIA GeForce RTX 3080 10GB GPU的小型服务器上花费了3天时间完成,附图4所示是最终的训练收敛曲线。

步骤3)在基于机械零部件的真实功能知识库下验证本发明方法的有效性,具体包括:

3.1)将用户输入的目标功能的结构化描述作为步骤2)中强化学习算法的输入,并输出一条相应的最优功能单元链。基于此时FKI过程已由搜索转化为马尔科夫决策过程,该步骤中功能单元链能以几乎实时的速度生成;

3.2)将步骤3.1)中生成的功能单元中未匹配的输入/输出分别作为下一轮迭代的目标功能的输出/输入。该步骤中允许用户对现有未匹配的输入/输出进行调整,即切换为半自动迭代框架,所允许的调整包括但不限于删除、新增、手动匹配、参数修改;

3.3)对步骤3.1)、3.2)循环迭代,直至路径中所有的输入/输出已被完全匹配或被用户确认为完全匹配(半自动),合并所有阶段性方案(功能单元链)为最终设计方案;

3.4)围绕建立清洁、可持续休闲中心的设计背景,将包括通过日常垃圾处理生成室内供暖和燃气在内的二十一个真实的机械产品功能设计需求做结构化描述,基于步骤3.1)、3.2)、3.3),分别生成二十一个设计方案。如,在附图5所示功能设计实例中,需要一种机械装置来完成水力发电以对整个休闲中心进行电力供应,因此其功能可以由输入“流动的河流”,输出“220V+电”加上若干细节参数进行描述。经由步骤3.1),得到第一轮迭代结果,即附图6灰色虚线框所示的功能单元链。其中功能单元FU34的输入“速度调节信号”未能被链中的任一输出所匹配,算法自动将其判断为下一轮迭代的目标输出。此外,由于链中不存在未匹配的输出,所以手动添加和“速度调节信号”最为相关的“220V+电”作为目标输入,如步骤3.2)所述。经由步骤3.3),第二轮迭代中,算法根据新的目标输入“220V+电”,新的目标输出“速度调节信号”以及若干参数得到一条如附图6绿色虚线框所示的新功能单元链。由于其中并不存在未匹配的输入或输出,迭代停止,如附图6蓝线所示合并所有功能单元链至附图5所示的最终设计方案。

3.5)将步骤3.4)中生成的二十一个设计方案与预先设定的最优设计方案比较,结果显示,本发明方法所输出的设计方案和最优设计方案的重合率达到百分之百,且生成方案所需的平均时间仅为传统基于DFS算法的功能知识集成方法的1/5000。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

技术分类

06120116380777