CN114816395A - 一种页面布局方法及装置 - Google Patents
一种页面布局方法及装置 Download PDFInfo
- Publication number
- CN114816395A CN114816395A CN202110118584.2A CN202110118584A CN114816395A CN 114816395 A CN114816395 A CN 114816395A CN 202110118584 A CN202110118584 A CN 202110118584A CN 114816395 A CN114816395 A CN 114816395A
- Authority
- CN
- China
- Prior art keywords
- page
- layout
- laid out
- strategy
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请涉及一种页面布局方法及装置。所述方法包括:获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略;利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
Description
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种页面布局方法及装置。
背景技术
页面布局是设计工作的核心环节,也是设计人员在制作页面过程中耗时最大的工作环节。页面布局需要在有限的页面中部署数量不等、形状不同、尺寸不同的页面元素,页面元素和页面之间、页面元素和页面元素之间还需要满足一些特定的规则以及一定的美观度。
近年来,随着人工智能技术的发展,使用机器学习来替代人工已逐渐成为页面布局发展的重点。自动化布局即利用计算机技术替代人类设计师进行页面布局,使用人工智能技术达到页面布局的要求。自动化布局通常不需要训练有素的工作人员进行操作,从而能够大大节省设计师的人力消耗和培训时间。相关技术中,可以采用随机布局的方式将多个页面元素部署于画布中,然后将布局完成的页面转换成图像数据,再利用评估模型对图像数据进行评分,最后用户可以从中选取评分较高的页面布局。从相关技术中自动生成页面布局的方式可见,随机布局的方式很难生成符合规则的页面,尤其随着页面元素增多、页面尺寸增大,很容易生成页面元素交叠、页面元素部署至边界区域内的不符合规则的页面布局。
因此,相关技术中亟需一种符合布局规则的自动化页面布局方式。
发明内容
有鉴于此,提出了一种页面布局方法及装置。
第一方面,本申请的实施例提供了一种页面布局方法,所述方法包括:
获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;
基于页面信息、至少一个待布局页面元素的元素信息、布局规则,利用强化学习算法获取至少一个候选页面布局策略;
利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
上述方法基于布局规则先通过强化学习算法获取候选页面布局策略,再利用模仿学习算法确定目标页面布局策略,可以获得更加符合布局规则和用户的审美习惯的页面布局。
根据第一方面第一种可能的实现方式,所述布局规则包括第一优先级布局规则和第二优先级布局规则,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。
本实施例中,将所述布局规则划分为第一优先级布局规则和第二优先级布局规则,所述第一优先级布局规则的优先级大于所述第二优先级布局规则,可以将所述第一优先级布局规则作为智能体实施动作时的约束条件,将所述第二优先级布局规则作为所述环境主体确定奖赏值的依据。通过上述方式,可以使得生成的候选页面布局策略完全满足硬性规则,并尽可能地满足软性规则。
根据第一方面第二种可能的实现方式,所述基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略,包括:
步骤1,根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态;
步骤2,根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置;
步骤3,确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态;
迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略;
累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件的页面布局策略作为候选页面布局策略。
本申请实施例中,将页面布局的决策过程建模为强化学习决策过程,在每次迭代过程中通过布局规则只约束一个待布局页面元素的布局位置,实现最终完成的候选页面布局策略能够完全满足所述布局规则。
根据第一方面第三种可能的实现方式,所述迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略,包括:
计算已迭代的过程中每次页面状态及每次布局位置所对应的奖赏值的累计值,并根据所述奖赏值的累计值确定当前页面布局策略的策略价值;
在确定所述策略价值不小于预设价值阈值的情况下,继续迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
本申请实施例中,在强化学习过程中利用蒙特卡洛树搜索算法减小页面布局的搜索空间,可以在待布局页面元素较多的情况下大大降低搜索复杂度。另外,通过价值函数预估中间结点的长期收益,能够在减小搜索空间的同时获取到奖赏值更高的页面布局策略。
根据第一方面第四种可能的实现方式,所述利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略,包括:
根据预先训练模仿学习器得到的奖励函数确定每个候选页面布局策略的评分,其中,所述奖励函数由训练所述模仿学习器采用的正样本和负样本的排序损失确定,所述正样本包括符合用户审美的页面布局策略;
根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略。
本申请实施例中,利用模仿学习算法学习到人类专家的页面布局策略,使得所述模仿学习器的审美与人类专家的审美更加相似。
根据第一方面第五种可能的实现方式,在根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略之后,所述方法还包括:
发送所述目标页面布局策略;
接收用户对所述目标页面布局策略的调整;
将所述调整后的所述目标页面布局策略作为训练所述模仿学习器的正样本,训练所述模仿学习器,获得优化的奖励函数。
本申请实施例中,提供了模仿学习器与用户之间交互的机制,如果模仿学习器输出的最优页面布局策略,用户觉得不满意,且做了调整。那么,模仿学习器还可以对做了调整的页面布局策略进行学习,从而优化奖励函数,能够根据用户的偏好持续优化自身性能,增强模仿学习器持续增强学习的能力。
根据第一方面第六种可能的实现方式,所述获取页面信息、至少一个待布局页面元素的元素信息以及布局规则,包括:
接收用户在用户界面中配置的页面信息、至少一个待布局页面元素的元素信息以及布局规则。
本申请实施例中,页面布局与用户之间的交互接口,用户可以在交互接口中配置各种信息。
根据第一方面第七种可能的实现方式,所述至少一个待布局页面元素被设置为按照尺寸由大到小的顺序布局于所述页面中。
本申请实施例中,将所述至少一个待布局页面元素按照尺寸从大到小的顺序布局,可以提升布局效率,加快强化学习算法的收敛速度。
根据第一方面第八种可能的实现方式,所述按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,包括:
将所述页面划分成多个网格,所述网格的尺寸根据所述至少一个页面元素中最小元素的尺寸设置;
按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,且所述第一个待布局页面元素的最小外接框的至少一个顶点与所述网格的顶点重合。
本申请实施例中,通过网格化的布局方式,可以使得待布局页面元素之间更容易对齐,同时也会加快页面布局的效率。
根据第一方面第九种可能的实现方式,所述页面状态包括页面中的不可布局区域和可布局区域,其中,所述不可布局区域对应的网格设置有屏蔽标识。
本申请实施例中,通过上述利用网格化和矩阵相结合的方式描述页面状态,不仅可以简化页面状态的描述,还可以减小后续布局的搜索空间,加快搜索速度,提升布局效率。
根据第一方面第十种可能的实现方式,所述确定所述页面状态及所述布局位置所对应的奖赏值,包括:
确定所述页面中已布局页面元素分别距离所述页面四个边的距离值;
统计沿所述页面四个边的方向上无重复的距离值的个数;
根据所述个数确定所述奖赏值。
本申请实施例中,将软性规则量化为奖赏值,使得生成的布局策略尽量满足软性规则。
根据第一方面第十一种可能的实现方式,所述确定所述页面状态及所述布局位置所对应的奖赏值,包括:
确定所述页面中已布局页面元素分别距离所述画布四个边的距离集合以及相邻已布局页面元素之间的横向间距集合和纵向间距集合;
分别确定所述距离集合、所述横向间距集合、所述纵向间距集合中距离值的标准差;
根据所述标准差确定所述奖赏值。
本申请实施例中,将软性规则量化为奖赏值,使得生成的布局策略尽量满足软性规则。
第二方面,本申请的实施例提供了一种页面布局装置,其特征在于,包括:
初始信息获取模块,用于获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;
强化学习模块,用于基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略;
模仿学习模块,用于利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
根据第一方面第一种可能的实现方式,所述布局规则包括第一优先级布局规则和第二优先级布局规则,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。
根据第一方面第二种可能的实现方式,所述强化学习模块,具体用于:
步骤1,根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态;
步骤2,根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置;
步骤3,确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态;
迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略;
累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件的页面布局策略作为候选页面布局策略。
根据第一方面第三种可能的实现方式,所述强化学习模块,还用于::
计算已迭代的过程中每次页面状态及每次布局位置所对应的奖赏值的累计值,并根据所述奖赏值的累计值确定当前页面布局策略的策略价值;
在确定所述策略价值不小于预设价值阈值的情况下,继续迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
根据第一方面第四种可能的实现方式,所述模仿学习模块,具体用于:
根据预先训练模仿学习器得到的奖励函数确定每个候选页面布局策略的评分,其中,所述奖励函数由训练所述模仿学习器采用的正样本和负样本的排序损失确定,所述正样本包括符合用户审美的页面布局策略;
根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略。
根据第一方面第五种可能的实现方式,所述模仿学习模块,还用于:
发送所述目标页面布局策略;
接收用户对所述目标页面布局策略的调整;
将所述调整后的所述目标页面布局策略作为训练所述模仿学习器的正样本,训练所述模仿学习器,获得优化的奖励函数。
根据第一方面第六种可能的实现方式,所述初始信息获取模块,具体用于:
接收用户在用户界面中配置的页面信息、至少一个待布局页面元素的元素信息以及布局规则。
第三方面,本申请的实施例提供了一种计算设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的页面布局方法。
第四方面,本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的页面布局方法。
第五方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的页面布局方法。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出根据本申请一实施例的页面布局装置100的结构示意图。
图2示出根据本申请一实施例的页面布局场景示意图。
图3示出根据本申请一实施例的页面布局方法的流程示意图。
图4示出根据本申请一实施例的马尔科夫模型的结构示意图。
图5示出根据本申请一实施例的利用强化学习算法生成页面布局策略的流程示意图。
图6示出根据本申请一实施例的场景示意图。
图7示出根据本申请一实施例的场景示意图。
图8示出根据本申请一实施例的场景示意图。
图9示出根据本申请一实施例的场景示意图。
图10示出根据本申请一实施例的利用强化学习算法生成页面布局策略的流程示意图。
图11示出根据本申请一实施例提供的另一种页面布局装置100的结构示意图。
图12示出根据本申请一实施例的计算设备1200的模块结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段未作详细描述,以便于凸显本申请的主旨。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
页面布局的核心是将数量不等、形状不同、尺寸不同的多个页面元素布局于有限的页面中。衡量一个页面布局是否为优秀的页面布局,需要判断该页面布局是否满足下述条件:第一,是否满足硬性规则;第二,是否满足软性规则;第三,是否符合人类审美或者符合用户使用习惯等。其中,所述硬性规则可以包括页面布局所要遵循的基本规则,例如不同的页面元素不产生重叠、页面的边缘区域内不放置页面元素等。所述软性规则可以包括不需要必须遵循的但是可以提升页面布局美感的规则,例如包括页面元素在横向和纵向上对齐、页面元素之间的间距均匀等。
基于类似于上文所述的实际技术需求,本申请实施例提供了一种页面布局方法。所述方法能够基于页面的页面信息、至少一个待布局页面元素的元素信息、布局规则,利用强化学习算法获取至少一个候选页面布局策略。然后,利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。其中,所述布局规则可以包括第一优先级布局规则和第二优先级布局规则,所述第一优先级布局规则可以包括硬性规则,所述第二优先级规则可以包括软性规则。在强化学习阶段,一方面,可以将所述第一优先级布局规则作为强化学习的动作约束条件,使得生成的候选页面布局策略完全满足硬性规则;另一方面,可以将所述第二优先级布局规则作为强化学习的奖赏函数,使得生成的候选页面布局策略尽可能满足软性规则。在模仿学习阶段,可以训练模仿学习器不断地与用户交互,学习用户的经验知识,使得模仿学习器决策得到的页面布局更加符合用户的审美和习惯。由此可见,利用该方法获取的目标页面布局策略不仅可以完全满足硬性规则,尽可能满足软性规则,还可以更加符合用户的审美和习惯,满足了上述对于优秀页面布局的要求。
本申请实施例提供的页面布局方法可以应用于平面设计、印刷品排版、网页设计、工业设计图纸排版、PPT排版、自媒体排版、芯片后端设计等多种应用场景中。
如图1所示,本申请实施例提供了一种示例性的应用场景,该场景可以包括页面布局装置100,所述页面布局装置100可以包括强化学习模块101和模仿学习模块103。
具体实现时,用户可以在用户界面中配置页面信息、至少一个待布局页面元素的元素信息以及布局规则。所述页面信息可以包括页面的尺寸、背景色、背景图片等,所述待布局页面元素可以包括图像、视频、文本或者上述任意多种元素的组合等,所述元素信息可以包括待布局页面元素的尺寸、图像像素的RGBA通道值(针对位图)、矢量元素的描述(针对矢量图)、图像或者视频的来源、文本内容等等。所述布局规则可以包括第一优先级规则(即硬性规则)和第二优先级规则(即软性规则)等。另外,对于不同的应用场景,可以设置与所述应用场景相匹配的第一优先级规则和第二优先级规则,本申请在此不做限制。用户还可以在用户界面中配置强化学习的累加奖赏阈值、策略价值的阈值等其他信息。
图2示出了所述强化学习模块101和所述模仿学习模块103的内部执行流程。对于强化学习模块101的执行流程,在步骤201中,可以首先构建强化学习模型环境,例如可以构建马尔科夫局决策模型,具体包括对模型的状态、行动、奖励、状态转移等参数的定义。在步骤203中,可以基于构建的强化学习模型环境,根据用户提供的页面信息、元素信息和布局规则,生成页面布局策略。步骤205中,可以判断所述页面布局策略的累积奖赏是否满足奖赏阈值。若判断结果包括所述累积奖赏满足奖赏阈值,则在步骤209中,将满足奖赏阈值的页面布局策略作为候选页面布局策略;否则,在步骤207中,可以利用布局规则(包括硬性规则和软性规则)的约束,生成下一个页面布局策略。如图1所示,通过对步骤203、205和207的多次迭代,最终可以生成累积奖赏满足奖赏阈值的至少一个候选页面布局策略105。
对于模仿学习模块103的内部工作流程,在步骤211中,可以利用奖励函数确定所述至少一个候选页面布局策略105的评分,并根据所述评分确定其中最符合人类审美的至少一个页面布局策略。然后,在步骤213中,可以将确定的所述至少一个页面布局策略发送至用户,判断是否符合用户的审美。如果不符合用户的审美,用户可以对所述页面布局策略进行调整,使得调整后的页面布局策略符合用户审美。步骤215中所述模仿学习模块103可以接收用户对所述页面布局策略的调整,并在步骤217中,学习调整后的页面布局策略,使得所述模仿学习模块103更加符合用户的审美。通过对步骤211-217的迭代,最终可以生成符合用户审美的页面布局策略107。
下面结合附图对本申请所述的页面布局方法进行详细的说明。图3为本申请提供的页面布局方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的页面布局过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的,本申请提供的页面布局方法的一种实施例如图3示,所述方法可以由前述页面布局装置100执行,所述方法可以包括:
S301:获取页面信息、至少一个待布局页面元素的元素信息以及布局规则。
在页面布局的准备阶段,可以获取到页面的页面信息。所述页面信息可以包括所述页面的尺寸(包括宽度和高度)、页面的可布局区域和不可布局区域的位置描述信息、页面的背景信息(包括背景颜色、背景透明度、背景图像)等等。所述待布局页面元素可以包括图像、视频、文本、页面控件或者上述任意多种元素的组合等。所述元素信息可以包括待布局页面元素的尺寸,例如一副图像的尺寸为640像素×480像素。在待布局页面元素为不规则形状的情况下,可以将所述待布局页面元素的最小外接矩形的尺寸作为所述待布局页面元素的尺寸。对于图像或者视频而言,所述元素信息还可以包括图像像素的RGBA通道值(针对位图)、矢量元素的描述(针对矢量图)、视频播放窗口的样式、图像或者视频的来源等。对于文本而言,所述元素信息还可以包括文本框的大小、样式,文本内容,文本样式等等。
本申请实施例中,所述布局规则可以作为在利用强化学习进行页面布局时所遵循的规则。由于涉及到具体强化学习算法,单纯利用文字则无法将布局规则运用到页面布局中。在本申请实施例中,可以将布局规则进行量化处理。具体实现时,对于硬性规则而言,可以根据页面元素的最小外接矩形中各个边的坐标值确定两个页面元素是否重叠或者确定页面元素是否超出可布局区域的范围。再如,对于软性规则而言,可以根据页面元素分别距离页面四个边的距离值,再根据页面中沿四个方向上重复的距离值的个数确定页面元素是否对齐。
S303:基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略。
为了能更加清楚地表达强化学习在页面布局中的使用方法,首先介绍强化学习的基本理论模型,马尔可夫决策过程(Markov Decision Process,英文缩写为MDP)。
图4是本申请提供的MDP的模型示意图,如图4所示,MDP中涉及到智能体(Agent)和环境两个交互的主体,其中,Agent为做出决策的主体,环境作为信息反馈的主体。MDP可以用一个四元组<S,A,R,T>表示,其中,
(1)S为状态空间(State Space),可以包含Agent可能感知到的环境状态集合;
(2)A为动作空间(Action Space),可以包含Agent在每个环境状态上可以采取的动作集合;
(3)R为奖赏函数(Reward Function),R(s,a,s’)可以表示在状态s上执行动作a,并转移到状态s’时,Agent从环境中获得的奖赏;
(4)T为环境状态转移函数(State Transition Function),T(s,a,s’)可以表示在状态s上执行动作a,并转移到状态s’的概率。
如图4所示的MDP中Agent和环境之间的交互过程,Agent感知到t时刻的环境状态为st,基于所述环境状态st,Agent可以从动作空间A中选择动作at执行;环境在接收Agent所选择的动作之后,给以Agent相应的奖赏信号反馈rt+1,并转移到新的环境状态st+1,并等待Agent做出新的决策。在与环境的交互过程中,Agent的目标是找到一个最优策略π*,使得π*在任意状态s和任意时间步骤t下,都能够获得最大的长期累积奖赏。在一个示例中,π*可以被定义为公式(1):
其中,π表示Agent的某个策略(即状态到动作的概率分布),Eπ表示策略π下的期望值,γ为折扣率(Discount Rate),k为未来时间步骤,rt+k表示Agent在时间步骤(t+k)上获得的即时奖赏。
本申请实施例中,可以基于以上MDP模型,构建本申请实施例中的强化学习模型环境。具体可以设置为:
状态st:t时刻的页面状态,可以包括可布局区域和不可布局区域的位置描述;
动作at:t时刻待布局页面元素在页面中的布局位置,可以表示为待布局页面元素的最小外接矩阵的左上角顶点在页面中的位置(xt,yt);
状态转移矩阵p(st+1|st):执行完动作at后,下一状态st+1发生的概率;
奖赏rt:将已选软性规则通过量化方式转变成奖励。
在所述强化学习模型环境中,智能体可以作为实施页面布局决策的对象。智能体在感知到页面状态的情况下,可以在布局规则(主要包括硬性规则)的约束下根据页面状态执行对应的动作,执行的动作可以包括所述待布局页面元素在所述页面中的布局位置。环境主体在接收到智能体的动作之后,可以根据布局规则(主要包括软性规则)给予智能体奖赏信号,并转移到新的页面状态。
下面通过一个具体的实施例说明利用强化学习生成候选页面布局策略的方法,图5示出了该方法的流程示意图。如图5所示,所述基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略,包括:
S501:根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态。
在本申请实施例中,可以按照每次布局一个待布局页面元素的方式对所述页面进行布局。这种将所述至少一个待布局页面元素逐个地布局于所述页面中的方式,可以在每次迭代过程中通过布局规则只约束一个待布局页面元素的布局位置,实现最终完成的候选页面布局策略能够完全满足所述布局规则。在本申请的一个实施例中,可以将所述至少一个待布局页面元素按照尺寸从大到小的顺序布局。如图6的上图所示,共有5个待布局页面元素需要布局于页面中,将这5个待布局页面元素按照尺寸从大到小的顺序排序之后示出图6中下图的布局顺序,即可以按照4-3-1-5-2的顺序布局这5个待布局页面元素。将所述至少一个待布局页面元素按照尺寸从大到小的顺序布局,可以提升布局效率,加快强化学习算法的收敛速度。当然,在其他实施例中,还可以按照其他任意顺序对所述至少一个待布局页面元素进行布局,本申请在此不做限制。
本申请实施例中,在确定第一个待布局页面元素之后,可以根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态。在一个具体的示例中,如图7所示,获取到页面701,将图6所示的5个待布局页面元素布局于页面701中。将待布局页面元素4作为第一个待布局页面元素,并且待布局页面元素4在页面701中的布局需要受到所述布局规则的约束。所述布局规则例如可以包括不同的待布局页面元素之间不重叠、待布局页面元素不占据页面中的不可布局区域、待布局页面元素的间距均匀等等。例如,布局规则包括在页面701中左右保留3cm的页边距,上下保留5cm的页边距。基于此,将待布局页面元素设置于页面701的过程中,需要获取到待布局页面元素距离页面701的上、下、左、右四个边的距离,图7中示出了待布局页面元素4与四个边之间的距离的示意图。具体来说,在确定d1、d3都大于等于3cm,d2、d4都大于等于5cm的情况下,确定待布局页面元素4的布局满足布局规则。
需要说明的是,为了加快页面布局的效率,还可以将页面701划分成多个网格703。其中,网格703的尺寸根据所述至少一个待布局页面元素中最小元素的尺寸设置。例如,在上述5个待布局页面元素中,待布局页面元素2的尺寸最小,因此,可以设置网格703的边长与待布局页面元素2的最小边长相等。在将所述待布局页面元素布局于页面的过程中,可以将所述待布局页面元素的外接框的至少一个顶点与所述网格的顶点重合。如图7所示,设置待布局页面元素4的左上角顶点与其中一个网格顶点重合。通过网格化的布局方式,可以使得待布局页面元素之间更容易对齐,同时也会加快页面布局的效率。另外,在其他实施例中,网格703的尺寸还可以设置为任意其他的数值,如固定值、最小页边距等,本申请在此不做限制。
本申请实施例中,将所述第一个待布局页面元素布局于页面之后,可以生成页面701的页面状态。所述页面状态可以包括页面701中的不可布局区域和可布局区域。在一个实施例中,所述不可布局区域和所述可布局区域可以利用坐标方式描述,例如,可以利用多个关键点描述。在本申请的另一个实施例中,可以利用设置屏蔽标识的方式描述页面701中的不可布局区域。具体来说,将页面701划分成多个网格703之后,可以确定网格的数量为M×N,如图7中M=8,N=10。在该实施例中,可以在所述不可布局区域上设置屏蔽标识,所述屏蔽标识用于表示对应的位置处不可布局页面元素。例如可以设置所述屏蔽标识为“1”,其他可布局区域处默认为“0”,这样,可以利用大小为M×N的矩阵描述页面701的页面状态。通过上述利用网格化和矩阵相结合的方式描述页面状态,不仅可以简化页面状态的描述,还可以减小后续布局的搜索空间,加快搜索速度,提升布局效率。
S503:根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置。
本申请实施例中,MDP模型中的智能体可以获取到上述页面状态,并根据所述页面状态和下一个待布局页面元素的元素信息,执行下述动作:按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置。例如在图6中,下一个待布局页面元素为待布局页面元素3,根据图7所述的页面状态以及待布局页面元素3,可以利用与上述实施例同样的方式将待布局页面元素3布局于页面701中。
S505:确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态。
本申请实施例,MDP模型中的环境主体可以获取到智能体所执行的动作(即所述布局位置),并确定所述页面状态与所述动作所对应的奖赏值。所述奖赏值可以根据布局规则确定,例如可以将软性规则量化为奖赏值。如图8所示的示例中,将待布局页面元素3布局于页面701之后,可以分别获取已布局页面元素分别距离页面701四个边的距离值,例如,页面元素4距离四个边的距离值分别为d1、d2、d3、d4,页面元素3距离四个边的距离值分别为d5、d6、d7、d8,统计上述距离值中无重复的距离值的个数。根据所述无重复的距离值的个数,确定所述页面状态与所述动作所对应的奖赏值。重复的距离值越多,表示页面布局越对齐。那么,奖赏值可以利用下述公式计算得到:
rewardalign=4×n-nu-nd-nl-nr
其中,n为已布局页面元素的数量,nu,nd,nl,nr为页面701中沿上、下、左、右四个方向上无重复的距离值的个数。那么在上述示例中,除了d2和d6为重复的距离值,其他的均为非重复的距离值,那么,奖赏值=8-0-2-2-2=2。
在本申请的另一个实施例中,还可以将页面元素之间间距均匀这一软性规则量化为奖赏值。具体来说,首先可以获取每个已布局页面元素在横向和纵向上与相邻已布局页面元素之间的间距集合(Ah,Av),以及获取每个已布局页面元素到页面701四边的距离集合(Au,Ad,Al,Ar)。然后,可以计算每个间距集合和每个距离集合的标准差,标准差越大,表示已布局页面元素的间距越不均匀。那么奖赏值可以利用下述公式计算得到:
rewardgap=-std(Ah)-std(Av)-std(Ah)-std(Av)-std(Ah)-std(Av)
其中,std(*)表示标准差运算。
需要说明的是,在页面布局中,可以利用的软性规则不限于上述举例,针对不同的应用场景,可以设置与应用场景相关的软性规则。例如,在具有触控组件的页面布局中,可以设置在触控组件布局于页面的右侧所获取的奖赏值越高。另外,不同的软性规则所贡献的奖赏值不相同,基于此,在本申请的一个实施例中,可以设置不同的软性规则所量化的奖赏值的权重,并根据所述权重确定最终的奖赏值,例如确定的最终的奖赏值可以表示为:
r=α×rewardalign+β×rewardgap
其中,α为根据页面元素对齐所量化得到的奖赏值的权重,β为根据页面元素间距均匀所量化得到的奖赏值的权重。
另外,将所述下一个待布局页面元素布局于页面701之后,页面701中的可布局区域和不可布局区域发生了变化,基于此,所述环境主体还可以更新页面状态,并将计算得到的奖赏值和更新后的页面状态发送给所述智能体。
S507:迭代S503和S505,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
通过对上述S503和S505的迭代,直至将全部的待布局页面元素布局于所述页面中,并生成页面布局策略。所述页面布局策略可以包括各个待布局页面元素在页面701中的布局位置。需要说明的是,每次迭代布局的待布局页面元素的数量不限于一个,在需要布局的页面元素数量较多的情况下,还可以每次迭代布局两个或者两个以上的待布局页面元素,本申请在此不做限制。
S509:累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件时所对应的页面布局策略作为候选页面布局策略。
在将所有待布局页面元素都布局于页面701中之后,可以累计每次迭代所确定的奖赏值,在累计的奖赏值满足预设条件时所对应的页面布局策略作为候选页面布局策略。所述预设条件例如可以包括累计的奖赏值大于预设奖赏阈值。
S305:利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
基于以上对所述模仿学习模块103内部流程的概述,下面通过具体的实施例说明所述模仿学习模块103如何从所述至少一个候选页面布局策略105中确定目标页面布局策略107。图9展示了一种实施场景的流程图,如图9所示,模仿学习器901可以利用正样本集合903和负样本集合905训练得到,正样本集合903中可以包括符合用户审美或者习惯的多个页面布局策略样本,所述用户可以包括设计师、普通消费者等等,负样本集合905可以包括与正样本相对应的利用强化学习算法所得到的页面布局策略样本。本申请实施例中,可以利用正样本和负样本之间的排序损失确定所述模仿学习器901的奖励函数。
在本申请的一个实施例中,在训练模仿学习器901的过程中,可以从所述正样本获取到状态动作对集合Dhuman={(si,ai)},该状态动作对集合Dhuman可以包括在生成页面布局策略的过程中人类专家的状态和动作的完整历史记录。另一方面,还可以从负样本中获取到状态动作对集合Dagent={(sj,aj)},该状态动作对集合Dagent包括在利用强化学习算法生成页面布局策略的过程中智能体的状态和动作的完整历史记录。然后,模仿学习器901可以利用Dhuman和Dagent训练得到奖励函数r(s,a),使得Dhuman获取的奖励大于等于Dagent获取的奖励,也就说正样本获取的奖赏永远是排在负样本获取的奖赏的前面。具体来说,模仿学习器901可以将状态si作为输入数据,将si对应的动作ai作为标记(label)进行模仿学习,每个状态动作对(si,ai)都可以获取到一个奖赏,那么Dhuman获取的奖励是状态动作对获取的累计奖赏。基于Dhuman获取的奖励大于等于Dagent获取的奖励的前提,最终可以获取到r(s,a)。需要说明的是,模仿学习器901可以包括多层前馈神经网络,如卷积神经网络等,本申请在此不做限制。
本申请实施例中,如图9所示,基于训练得到的模仿学习器901的奖励函数,可以分别对所述至少一个候选页面布局策略105进行评分,并确定评分最高的一个或者多个目标页面布局策略107。然后,可以将所述一个或者多个目标页面布局策略107展示给用户905。若用户905对展示的所述一个或者多个目标页面布局策略107表示满意,则可以直接利用所述一个或者多个目标页面布局策略107。若用户905对所述一个或者多个目标页面布局策略107不满意,并对其进行调整,可以将调整后的目标页面布局策略作为正样本,并训练所述模仿学习器901学习所述调整后的目标页面布局策略,获得优化的奖励函数,使得所述模仿学习器901的审美与用户907的审美更加接近。
本申请实施例中,由于机器学习对图像处理的技术已经较为成熟,因此,在模仿学习阶段,所述正样本集合901和所述负样本集合903可以均为图像格式。对应的,在将所述至少一个候选页面布局策略105输入至所述模仿学习器901之前,可以将所述候选页面布局策略105转化成图像格式,与训练数据的格式保持一致。
在实际的应用场景下,页面布局所涉及到的布局规则有很多,并且在不同的应用场景下,涉及到的布局规则可能还不相同。但是不同的布局规则,其对应的重要程度不相同,基于此,可以将所述布局规则划分为第一优先级布局规则和第二优先级布局规则,所述第一优先级布局规则的优先级大于所述第二优先级布局规则。例如,所述第一优先级布局规则可以包括硬性规则,所述第二优先级布局规则可以包括软性规则。在本申请实施例中,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。在具体的实施例中,可以将所述第一优先级布局规则作为智能体实施动作时的约束条件,将所述第二优先级布局规则作为所述环境主体确定奖赏值的依据。通过上述方式,可以使得生成的候选页面布局策略完全满足硬性规则,并尽可能地满足软性规则。
考虑到在实际的应用场景中,若涉及到的待布局页面元素的数量较多,那么可能实现的页面布局策略的数量可能呈指数级增长。在本申请实施例中,可以通过蒙特卡洛树搜索算法减少页面布局策略的搜索空间,提升布局效率。具体来说,如图10所示,在步骤505之后、步骤507之前,可以包括:
S1001:确定当前的累计奖赏值,并根据所述累计奖赏值确定当前页面布局策略的策略价值。
S1003:判断所述当前页面布局策略的策略价值是否大于等于预设价值阈值。
本申请实施例中,在强化学习阶段,每迭代一次,则可以获得一个奖赏值,根据获得的奖赏值,可以确定本次迭代的累计奖赏值。根据所述累计奖赏值,可以确定当前页面布局策略(也可以是当前页面状态)的策略价值,在一个示例中,所述策略价值与累计奖赏之间的关系可以表示为:
如果当前页面布局策略的策略价值越高,表示当前页面布局策略越有价值,基于此,可以判断当前页面布局策略的策略价值是否大于等于预设价值阈值。在确定所述策略价值大于等于预设价值阈值的情况下,可以继续执行步骤507。在本申请的另一个实施例中,如图10所示,在确定所述策略价值小于所述预设价值阈值的情况下,可以排除当前的页面布局策略,并回到步骤501,重新开始新的布局。
本实施例中,在强化学习过程中利用蒙特卡洛树搜索算法减小页面布局的搜索空间,可以在待布局页面元素较多的情况下大大降低搜索复杂度。另外,通过价值函数预估中间结点的长期收益,能够在减小搜索空间的同时获取到奖赏值更高的页面布局策略。
本申请另一方面还提供所述页面布局装置100的另一种实施例,如图11所示,所述页面布局装置100可以包括:
初始信息获取模块1101,用于获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;
强化学习模块101,用于基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略;
模仿学习模块103,用于利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
可选的,在本申请的一个实施例中,所述布局规则包括第一优先级布局规则和第二优先级布局规则,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。
可选的,在本申请的一个实施例中,所述强化学习模块,具体用于:
步骤1,根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态;
步骤2,根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置;
步骤3,确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态;
迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略;
累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件的页面布局策略作为候选页面布局策略。
可选的,在本申请的一个实施例中,所述强化学习模块,还用于::
计算已迭代的过程中每次页面状态及每次布局位置所对应的奖赏值的累计值,并根据所述奖赏值的累计值确定当前页面布局策略的策略价值;
在确定所述策略价值不小于预设价值阈值的情况下,继续迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
可选的,在本申请的一个实施例中,所述模仿学习模块,具体用于:
根据预先训练模仿学习器得到的奖励函数确定每个候选页面布局策略的评分,其中,所述奖励函数由训练所述模仿学习器采用的正样本和负样本的排序损失确定,所述正样本包括符合用户审美的页面布局策略;
根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略。
可选的,在本申请的一个实施例中,所述模仿学习模块,还用于:
发送所述目标页面布局策略;
接收用户对所述目标页面布局策略的调整;
将所述调整后的所述目标页面布局策略作为训练所述模仿学习器的正样本,训练所述模仿学习器,获得优化的奖励函数。
可选的,在本申请的一个实施例中,所述初始信息获取模块,具体用于:
接收用户在用户界面中配置的页面信息、至少一个待布局页面元素的元素信息以及布局规则。
根据本申请实施例的页面布局装置100可对应于执行本申请实施例中描述的方法,并且页面布局装置100中的各个模块的上述和其它操作和/或功能分别为了实现图2、图3、图5、图10中的各个方法的相应流程,为了简洁,在此不再赘述。
另外需说明的是,以上所描述的实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
本申请实施例还提供了一种设备1200,用于实现上述图1所示的系统架构图中页面布局装置100的功能。其中,设备1200可以是物理设备或物理设备集群,也可以是虚拟化的设备,如云计算集群中的至少一个云虚拟机。为了便于理解,本申请对该设备1200的结构进行示例说明。
图12提供了一种设备1200的结构示意图,如图12所示,设备1200包括总线1201、处理器1202、通信接口1203和存储器1204。处理器1202、存储器1204和通信接口1203之间通过总线1201通信。总线1201可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口1203用于与外部通信。例如,获取页面信息或者所述至少一个待布局页面元素的信息等等。
其中,处理器1202可以为中央处理器(central processing unit,CPU)。存储器1204可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器1204还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器1204中存储有可执行代码,处理器1202执行该可执行代码以执行前述页面布局方法。
具体地,在实现图1所示实施例的情况下,且图1实施例中所描述的页面布局装置100的各模块为通过软件实现的情况下,执行图1中的强化学习模块101、模仿学习模块103功能所需的软件或程序代码存储在存储器1204中。处理器1202执行存储器1204中存储的各模块对应的程序代码,如强化学习模块101、模仿学习模块103对应的程序代码,以获取至少一个候选页面布局策略,并从所述至少一个候选页面布局策略中确定目标页面布局策略。处理器1202还可以执行如图11所述的初始信息获取模块1101对应的程序代码。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (17)
1.一种页面布局方法,其特征在于,包括:
获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;
基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略;
利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
2.根据权利要求1所述的方法,其特征在于,所述布局规则包括第一优先级布局规则和第二优先级布局规则,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略,包括:
步骤1,根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态;
步骤2,根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置;
步骤3,确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态;
迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略;
累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件的页面布局策略作为候选页面布局策略。
4.根据权利要求3所述的方法,其特征在于,所述迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略,包括:
计算已迭代的过程中每次页面状态及每次布局位置所对应的奖赏值的累计值,并根据所述奖赏值的累计值确定当前页面布局策略的策略价值;
在确定所述策略价值不小于预设价值阈值的情况下,继续迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略,包括:
根据预先训练模仿学习器得到的奖励函数确定每个候选页面布局策略的评分,其中,所述奖励函数由训练所述模仿学习器采用的正样本和负样本的排序损失确定,所述正样本包括符合用户审美的页面布局策略;
根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略。
6.根据权利要求5所述的方法,其特征在于,在根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略之后,所述方法还包括:
发送所述目标页面布局策略;
接收用户对所述目标页面布局策略的调整;
将所述调整后的所述目标页面布局策略作为训练所述模仿学习器的正样本,训练所述模仿学习器,获得优化的奖励函数。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述获取页面信息、至少一个待布局页面元素的元素信息以及布局规则,包括:
接收用户在用户界面中配置的页面信息、至少一个待布局页面元素的元素信息以及布局规则。
8.一种页面布局装置,其特征在于,包括:
初始信息获取模块,用于获取页面信息、至少一个待布局页面元素的元素信息以及布局规则;
强化学习模块,用于基于所述页面信息、所述至少一个待布局页面元素的元素信息、所述布局规则,利用强化学习算法获取至少一个候选页面布局策略;
模仿学习模块,用于利用模仿学习算法从所述至少一个候选页面布局策略中确定目标页面布局策略。
9.根据权利要求8所述的装置,其特征在于,所述布局规则包括第一优先级布局规则和第二优先级布局规则,所述至少一个候选页面布局策略满足所述第一优先级布局规则,且在所述第二优先级布局规则的约束下获取的奖赏大于预设奖赏阈值。
10.根据权利要求8或9所述的装置,其特征在于,所述强化学习模块,具体用于:
步骤1,根据所述页面信息和第一个待布局页面元素的元素信息,按照所述布局规则将所述第一个待布局页面元素布局于所述页面中,并生成所述页面的页面状态;
步骤2,根据所述页面状态以及下一个待布局页面元素的元素信息,按照所述布局规则确定所述下一个待布局页面元素在所述页面中的布局位置;
步骤3,确定所述页面状态及所述布局位置所对应的奖赏值,并更新所述页面状态;
迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略;
累计每次迭代所确定的奖赏值,将累计得到的奖赏值满足预设条件的页面布局策略作为候选页面布局策略。
11.根据权利要求10所述的装置,其特征在于,所述强化学习模块,还用于::
计算已迭代的过程中每次页面状态及每次布局位置所对应的奖赏值的累计值,并根据所述奖赏值的累计值确定当前页面布局策略的策略价值;
在确定所述策略价值不小于预设价值阈值的情况下,继续迭代步骤2和步骤3,直至将所述至少一个待布局页面元素布局于所述页面中,并生成页面布局策略。
12.根据权利要求8-11中任意一项所述的装置,其特征在于,所述模仿学习模块,具体用于:
根据预先训练模仿学习器得到的奖励函数确定每个候选页面布局策略的评分,其中,所述奖励函数由训练所述模仿学习器采用的正样本和负样本的排序损失确定,所述正样本包括符合用户审美的页面布局策略;
根据所述评分从所述至少一个页面布局策略布局中确定目标页面布局策略。
13.根据权利要求12所述的装置,其特征在于,所述模仿学习模块,还用于:
发送所述目标页面布局策略;
接收用户对所述目标页面布局策略的调整;
将所述调整后的所述目标页面布局策略作为训练所述模仿学习器的正样本,训练所述模仿学习器,获得优化的奖励函数。
14.根据权利要求8至13任意一项所述的装置,其特征在于,所述初始信息获取模块,具体用于:
接收用户在用户界面中配置的页面信息、至少一个待布局页面元素的元素信息以及布局规则。
15.一种计算设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1-7任意一项所述的方法。
16.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-7中任意一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述权利要求1-7中任意一项所述的方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110118584.2A CN114816395A (zh) | 2021-01-28 | 2021-01-28 | 一种页面布局方法及装置 |
| PCT/CN2021/127122 WO2022160826A1 (zh) | 2021-01-28 | 2021-10-28 | 一种页面布局方法及装置 |
| EP21922417.7A EP4276601A4 (en) | 2021-01-28 | 2021-10-28 | METHOD AND APPARATUS FOR LAYOUT OF A PAGE |
| US18/360,497 US20230376674A1 (en) | 2021-01-28 | 2023-07-27 | Page Layout Method and Apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110118584.2A CN114816395A (zh) | 2021-01-28 | 2021-01-28 | 一种页面布局方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114816395A true CN114816395A (zh) | 2022-07-29 |
Family
ID=82525895
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110118584.2A Pending CN114816395A (zh) | 2021-01-28 | 2021-01-28 | 一种页面布局方法及装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20230376674A1 (zh) |
| EP (1) | EP4276601A4 (zh) |
| CN (1) | CN114816395A (zh) |
| WO (1) | WO2022160826A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116088835A (zh) * | 2022-11-29 | 2023-05-09 | 武汉虹服软件有限责任公司 | 一种基于反向传播算法的安卓应用页面布局方法 |
| CN117076452A (zh) * | 2023-08-18 | 2023-11-17 | 泛微网络科技股份有限公司 | 表单更新方法、装置、设备、系统及计算机可读存储介质 |
| CN120189717A (zh) * | 2025-05-27 | 2025-06-24 | 清枫(北京)科技有限公司 | 游戏攻略智能布局生成与动态优化方法、装置及存储介质 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115599809B (zh) * | 2022-11-16 | 2023-03-28 | 泽恩科技有限公司 | 基于粒子群优化算法的数据库布局设计方法 |
| CN116010732A (zh) * | 2022-12-22 | 2023-04-25 | 深圳市鸿合创新信息技术有限责任公司 | 窗口中的元素布局方法、电子设备及存储介质 |
| CN116107574B (zh) * | 2023-04-12 | 2023-06-13 | 南京数睿数据科技有限公司 | 应用界面自动构建方法、装置、电子设备和可读介质 |
| CN116894880B (zh) * | 2023-07-11 | 2024-11-29 | 北京百度网讯科技有限公司 | 一种文生图模型的训练方法、模型、装置及电子设备 |
| CN119312760B (zh) * | 2023-07-14 | 2025-09-16 | 浪潮(北京)电子信息产业有限公司 | 一种多智能体联合布局模型训练方法、装置、设备及介质 |
| CN119227627B (zh) * | 2024-09-14 | 2025-10-03 | 华中科技大学 | 一种基于强化学习层次式电力电子电路布局方法 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060200759A1 (en) * | 2005-03-04 | 2006-09-07 | Microsoft Corporation | Techniques for generating the layout of visual content |
| US10534845B2 (en) * | 2016-05-11 | 2020-01-14 | Overstock.Com, Inc. | System and method for optimizing electronic document layouts |
| EP3465412A4 (en) * | 2016-05-29 | 2020-01-15 | Wix.com Ltd. | CREATION AND UPDATE OF HIERARCHICAL WEBSITES BASED ON COLLECTED BUSINESS KNOWLEDGE |
| KR102111857B1 (ko) * | 2018-07-31 | 2020-05-15 | 한국과학기술원 | 인공지능 기반 게임 전략 유도 시스템 및 방법 |
| US11144717B2 (en) * | 2018-09-26 | 2021-10-12 | Adobe Inc. | Automatic generation of document layouts |
| US10783405B2 (en) * | 2018-10-31 | 2020-09-22 | Salesforce.Com, Inc. | Refinement of machine learning engines for automatically generating component-based user interfaces |
| CN110018869B (zh) * | 2019-02-20 | 2021-02-05 | 创新先进技术有限公司 | 通过强化学习向用户展示页面的方法及装置 |
| CN111353822A (zh) * | 2020-03-03 | 2020-06-30 | 广东博智林机器人有限公司 | 一种图像布局、模型训练方法、装置、设备及存储介质 |
-
2021
- 2021-01-28 CN CN202110118584.2A patent/CN114816395A/zh active Pending
- 2021-10-28 EP EP21922417.7A patent/EP4276601A4/en active Pending
- 2021-10-28 WO PCT/CN2021/127122 patent/WO2022160826A1/zh not_active Ceased
-
2023
- 2023-07-27 US US18/360,497 patent/US20230376674A1/en active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116088835A (zh) * | 2022-11-29 | 2023-05-09 | 武汉虹服软件有限责任公司 | 一种基于反向传播算法的安卓应用页面布局方法 |
| CN117076452A (zh) * | 2023-08-18 | 2023-11-17 | 泛微网络科技股份有限公司 | 表单更新方法、装置、设备、系统及计算机可读存储介质 |
| CN120189717A (zh) * | 2025-05-27 | 2025-06-24 | 清枫(北京)科技有限公司 | 游戏攻略智能布局生成与动态优化方法、装置及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4276601A1 (en) | 2023-11-15 |
| WO2022160826A1 (zh) | 2022-08-04 |
| US20230376674A1 (en) | 2023-11-23 |
| EP4276601A4 (en) | 2024-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114816395A (zh) | 一种页面布局方法及装置 | |
| US12086516B2 (en) | Generating integrated circuit floorplans using neural networks | |
| US10928982B2 (en) | Automatic grouping of user interface elements into components | |
| US10579737B2 (en) | Natural language image editing annotation framework | |
| CN119647553A (zh) | 学习数据增强策略 | |
| CN109376844A (zh) | 基于云平台和模型推荐的神经网络自动训练方法和装置 | |
| US20250104291A1 (en) | Method of generating an image | |
| US20200349416A1 (en) | Determining computer-executed ensemble model | |
| JP7293729B2 (ja) | 学習装置、情報出力装置、及びプログラム | |
| CN116541593B (zh) | 一种基于超图神经网络的课程推荐方法 | |
| US20230186092A1 (en) | Learning device, learning method, computer program product, and learning system | |
| CN112749364A (zh) | 基于人工智能的网页生成方法、装置、设备及存储介质 | |
| KR102363370B1 (ko) | UX-bit 및 몬테카를로 트리 탐색을 이용한 자동 디자인 생성 인공신경망 장치 및 방법 | |
| WO2025167876A1 (zh) | 对象类别识别模型的训练方法、对象类别识别方法及装置 | |
| CN111241993B (zh) | 座位数的确定方法、装置、电子设备及存储介质 | |
| CN117635741A (zh) | 图像生成方法及装置 | |
| Kakooee et al. | Enhancing architectural space layout design by pretraining deep reinforcement learning agents | |
| CN109242927B (zh) | 一种广告模板生成方法、装置及计算机设备 | |
| KR102608266B1 (ko) | 이미지 생성 장치 및 방법 | |
| KR20240079506A (ko) | 마스크 업데이트 기반의 객체 인식 방법 및 전자장치 | |
| KR102041130B1 (ko) | 자동 배색 서비스 제공 시스템 | |
| US20250200982A1 (en) | Method for training autonomous driving model, method for predicting autonomous driving video, electronic device, and storage medium | |
| JP2024164981A (ja) | 情報処理装置、情報処理方法およびプログラム | |
| CN121390058A (zh) | 自适应语言模型解码方法及计算机程序产品 | |
| CN112870716A (zh) | 游戏数据处理方法、装置、存储介质与电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |