CN103198358B - 信息处理设备、信息处理方法和程序 - Google Patents

信息处理设备、信息处理方法和程序 Download PDF

Info

Publication number
CN103198358B
CN103198358B CN201210366351.5A CN201210366351A CN103198358B CN 103198358 B CN103198358 B CN 103198358B CN 201210366351 A CN201210366351 A CN 201210366351A CN 103198358 B CN103198358 B CN 103198358B
Authority
CN
China
Prior art keywords
action
data
remuneration
estimator
historical data
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.)
Expired - Fee Related
Application number
CN201210366351.5A
Other languages
English (en)
Other versions
CN103198358A (zh
Inventor
小林由幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN103198358A publication Critical patent/CN103198358A/zh
Application granted granted Critical
Publication of CN103198358B publication Critical patent/CN103198358B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及信息处理设备、信息处理方法和程序。提供一种信息处理设备,其包括:报酬估计器生成单元,其使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据来估计报酬值的报酬估计器,该历史数据包含表示代理的状态的状态数据、表示代理的行动的行动数据,以及表示该行动的报酬的报酬值;行动选择单元,其优选地选择不包含在行动历史数据中但具有高估计报酬值的行动;以及行动历史添加单元,其使代理执行选择的行动,并将针对该行动的状态数据和行动数据与该行动的报酬值相互关联地添加到行动历史数据。当一组状态数据、行动数据和报酬值被添加到该行动历史数据时,重新生成该报酬估计器。

Description

信息处理设备、信息处理方法和程序
技术领域
本公开涉及信息处理设备、信息处理方法和程序。
背景技术
近年来,人们已经关注从难以定量地确定特征的任意的数据集机械地提取特征量的方法。例如,已知有一种方法用于自动地构建这样一种算法,该算法用于输入任意的音乐数据并机械地提取这样的音乐数据所属于的音乐流派(genre)。诸如爵士乐、古典乐和流行乐的音乐流派不是通过乐器的类型或演奏的风格来定量地决定的。出于这一原因,传统上认为当提供任意的音乐数据时,难以机械地提取音乐数据的流派。
但是,实际上,决定一首音乐作品的流派的特征被潜在地包含在各种信息的组合中,诸如,包含在音乐数据中的间隔、这些间隔组合的方式、乐器类型的组合、以及旋律线和/或低音线的结构的组合。出于这一原因,在假定自动地构建用于通过机器学习提取这样的特征的算法(或“特征量提取装置”)是可能的情况下,已经对特征量提取装置进行了研究。这样的研究的一个成果是在日本特开公报No.2009-48266中公开的基于遗传算法的用于特征量提取装置的自动构建方法。“遗传算法”的表述是指一种算法,该算法以与生物进化过程中的方式相同的方式考虑在机器学习的过程中的元素的选择、交叉和突变。
通过使用在引用的出版物中公开的用于特征量提取装置的自动构建算法,可以自动地构建从任意音乐数据提取该音乐数据所属于的音乐流派的特征量提取装置。在引用的出版物中公开的用于特征量提取装置的自动构建算法还具有极其广泛的应用性,并且可以构建从不限于音乐数据的任意数据集提取该数据集的特征量的特征量提取装置。出于这一原因,期待在引用的出版物中公开的用于特征量提取装置的自动构建算法可以被应用于诸如音乐数据和/或视频数据的人工数据的特征量分析,以及在自然世界中呈现的各种观测值的特征量分析。
发明内容
通过进一步扩展引用的出版物的技术,本发明人研究是否可以开发一种自动地构建用于使代理智能地行动的算法的技术。在这样的研究期间,本发明人专注于一种技术,该技术自动地构建用于决定从特定状态下代理可以采取的行动中选择的行动的思考过程(thought routine)。本公开涉及这样的技术并致力于提供一种新型的、改进的信息处理设备、信息处理方法和程序,该信息处理设备、信息处理方法和程序能够有效地并自动地构建当选择要被代理采取的行动时输出起决定性的信息的估计器。
根据本公开的实施例,提供一种信息处理设备,其包括:报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据。当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
此外,根据本公开的实施例,提供一种信息处理设备,其包括:报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;以及行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据。当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
此外,根据本公开的另一个实施例,提供一种信息处理方法,其包括:使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
此外,根据本公开的另一个实施例,提供一种信息处理方法,包括:
使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
此外,根据本公开的另一个实施例,提供一种程序,使计算机实现:报酬估计器生成功能,该报酬估计器生成功能使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;行动选择功能,该行动选择功能从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及行动历史添加功能,该行动历史添加功能使代理根据行动选择功能的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据。当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成功能用于重新生成报酬估计器。
此外,根据本公开的另一个实施例,提供一种程序,使计算机实现:报酬估计器生成功能,该报酬估计器生成功能使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;行动选择功能,该行动选择功能从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;以及行动历史添加功能,该行动历史添加功能使代理根据行动选择功能的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据。当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成功能用于重新生成报酬估计器。
根据本公开的另一个实施例,提供一种在其上已经记录了上述程序的计算机可读记录介质。
根据上述的本公开的实施例,可以有效地、自动地构建当选择要被代理采取的行动时输出决定性的信息的估计器。
附图说明
图1是用于解释估计器的自动构建方法的说明图;
图2是用于解释估计器的自动构建方法的说明图;
图3是用于解释估计器的自动构建方法的说明图;
图4是用于解释估计器的自动构建方法的说明图;
图5是用于解释估计器的自动构建方法的说明图;
图6是用于解释估计器的自动构建方法的说明图;
图7是用于解释估计器的自动构建方法的说明图;
图8是用于解释估计器的自动构建方法的说明图;
图9是用于解释估计器的自动构建方法的说明图;
图10是用于解释估计器的自动构建方法的说明图;
图11是用于解释估计器的自动构建方法的说明图;
图12是用于解释估计器的自动构建方法的说明图;
图13是用于解释基于在线学习的估计器的自动构建方法的说明图;
图14是用于解释对数据集进行综合的方法的说明图;
图15是用于解释对数据集进行综合的方法的说明图;
图16是用于解释对数据集进行综合的方法的说明图;
图17是用于解释对数据集进行综合的方法的说明图;
图18是用于解释对数据集进行综合的方法的说明图;
图19是用于解释对数据集进行综合的方法的说明图;
图20是用于解释对数据集进行综合的方法的说明图;
图21是用于解释对数据集进行综合的方法的说明图;
图22是用于解释对数据集进行综合的方法的说明图;
图23是用于解释对数据集进行综合的方法的说明图;
图24是用于解释对数据集进行综合的方法的说明图;
图25是用于解释对数据集进行综合的方法的说明图;
图26是用于解释对数据集进行综合的方法的说明图;
图27是用于解释对数据集进行综合的方法的说明图;
图28是用于解释对数据集进行综合的方法的说明图;
图29是用于解释对数据集进行综合的方法的说明图;
图30是用于解释对数据集进行综合的方法的说明图;
图31是用于解释对数据集进行综合的方法的说明图;
图32是用于解释对数据集进行综合的方法的说明图;
图33是用于解释对数据集进行综合的方法的说明图;
图34是用于解释思考过程的配置的说明图;
图35是用于解释思考过程的配置的说明图;
图36是用于解释思考过程的配置的说明图;
图37是用于解释思考过程的配置的说明图;
图38是用于解释构建思考过程的方法的说明图;
图39是用于解释信息处理设备10的示例功能配置的说明图;
图40是用于解释信息处理设备10的示例功能配置的说明图;
图41是用于解释构建报酬估计器的有效方法的说明图;
图42是用于解释构建报酬估计器的有效方法的说明图;
图43是用于解释使用动作得分估计器的思考过程的配置的说明图;
图44是用于解释使用动作得分估计器的思考过程的配置的说明图;
图45是用于解释使用预测器估计报酬的方法的说明图;
图46是用于解释使用预测器估计报酬的方法的说明图;
图47是用于解释使用预测器估计报酬的方法的说明图;
图48是用于解释井字游戏(tic-tac-toe)的应用的说明图;
图49是用于解释井字游戏的应用的说明图;
图50是用于解释井字游戏的应用的说明图;
图51是用于解释井字游戏的应用的说明图;
图52是用于解释井字游戏的应用的说明图;
图53是用于解释井字游戏的应用的说明图;
图54是用于解释井字游戏的应用的说明图;
图55是用于解释战斗游戏的应用的说明图;
图56是用于解释战斗游戏的应用的说明图;
图57是用于解释战斗游戏的应用的说明图;
图58是用于解释战斗游戏的应用的说明图;
图59是用于解释战斗游戏的应用的说明图;
图60是用于解释战斗游戏的应用的说明图;
图61是用于解释战斗游戏的应用的说明图;
图62是用于解释战斗游戏的应用的说明图;
图63是用于解释“五子棋”游戏的应用的说明图;
图64是用于解释“五子棋”游戏的应用的说明图;
图65是用于解释扑克游戏的应用的说明图;
图66是用于解释扑克游戏的应用的说明图;
图67是用于解释扑克游戏的应用的说明图;
图68是用于解释角色扮演游戏的应用的说明图;
图69是用于解释角色扮演游戏的应用的说明图;
图70是用于解释角色扮演游戏的应用的说明图;
图71是用于解释角色扮演游戏的应用的说明图;
图72是用于解释角色扮演游戏的应用的说明图;
图73是用于解释角色扮演游戏的应用的说明图;
图74是用于解释角色扮演游戏的应用的说明图;
图75是用于解释角色扮演游戏的应用的说明图;
图76是用于解释角色扮演游戏的应用的说明图;
图77是用于解释角色扮演游戏的应用的说明图;
图78是用于解释角色扮演游戏的应用的说明图;
图79是用于解释角色扮演游戏的应用的说明图;以及
图80是用于解释能够实现信息处理设备的功能的示例硬件配置的说明图。
具体实施方式
在下文中,将参照附图详细地描述本公开的优选实施例。请注意,在本说明书和附图中,基本上具有相同的功能和结构的结构元件用相同的附图标记表示,并且省略对这些结构元件的重复解释。
解释的顺序
将首先简单地描述下面的解释的顺序。
首先将描述根据本公开的实施例的基本技术。更具体地说,将首先参考图1到12描述估计器的自动构建方法。其后,将参考图13描述基于在线学习的估计器的自动构建方法。
接下来,将参考图14到图16描述对数据集进行综合的方法。其后,将参考图17到图23描述对数据集进行采样的有效方法。接下来,将参考图24到图27描述加权的有效方法。然后,将参考图28描述组合对数据集进行采样和加权的有效方法。其后,将参考图29到图33描述对数据集进行采样和加权的其它方法。
然后,将参考图34到图38描述思考过程的配置和构建思考过程的方法。其后,将参考图39到图40描述根据本公开实施例的信息处理设备10的功能配置。接下来,将参考图41到图42描述构建报酬估计器的有效方法。然后,将参考图43和图44描述使用动作得分估计器的思考过程的配置。其后,将参考图45到图47描述使用预测器估计报酬的方法。
将参考图48到图54描述将本公开实施例的技术应用到井字游戏的方法。其后,将参考图55到图62描述将本公开实施例的技术应用到战斗游戏的方法。将参考图63到图64描述将本公开实施例的技术应用到“五子棋”游戏的方法。接下来,将参考图65到图67描述将本公开实施例的技术应用到扑克游戏的方法。其后,将参考图68到图79描述将本公开实施例的技术应用到角色扮演游戏的方法。
将参考图80描述能够实现根据本公开实施例的信息处理设备10的功能的示例硬件配置。最后,将总结本公开实施例的技术概念,并简单地描述通过这些技术概念获得的操作效果。
索引
1.基本技术
1-1:估计器的自动构建方法
1-1-1:估计器的配置
1-1-2:构建处理的流程
1-2:在线学习
1-3:对学习数据进行综合的方法
1-3-1:特征量空间中的学习数据的分布和估计器的精度
1-3-2:在数据综合期间使用的采样配置
1-3-3:在数据综合期间使用的加权配置
1-3-4:在数据综合期间使用的采样和加权配置
1-4:有效的采样/加权方法
1-4-1:采样方法
1-4-2:加权方法
1-4-3:组合方法
1-5:采样处理和加权处理的变型例
1-5-1:变型例1(基于距离的处理)
1-5-2:变型例2(基于群集的处理)
1-5-3:变型例3(基于密度估计方法的处理)
2:实施例
2-1:思考过程的自动构建方法
2-1-1:思考过程
2-1-2:思考过程的配置
2-1-3:构建报酬估计器的方法
2-2:信息处理设备10的配置
2-3:有效地构建报酬估计器的方法
2-4:变型例1.使用动作得分估计器的思考过程
2-5:变型例2.使用预测器的报酬的估计
2-5-1:构建预测器的方法
2-5-2:估计报酬的方法
2-6:变型例3.多个代理的同时学习
31:应用
3-1:对井字游戏的应用
3-2:战斗斗游戏的应用
3-3:对“五子棋”游戏的应用
3-4:对扑克游戏的应用
3-5:对角色扮演游戏的应用
4:示例硬件配置
5:总结
1:基本技术
稍后描述的实施例涉及估计器的自动构建方法。此外,这样的实施例涉及一种构架(在下文中的“在线学习”),该构架使得添加在构建估计器中要被使用的学习数据成为可能。出于这一原因,在详细描述根据实施例的技术之前,将描述估计器的自动构建方法和在线学习方法(在下文中的“基本技术”)。请注意,尽管在下面作为一个例子,将对基于遗传算法的估计器的自动构建方法进行解释,但是本公开实施例的应用的技术范畴并不限于此。
1-1:估计器的自动构建方法
现在将描述估计器的自动构建方法。
1-1-1:估计器的配置
首先,将参考图1到图3描述估计器的配置。图1是用于解释使用估计器的系统的示例系统配置的说明图。图2是用于解释在估计器的构建中要被使用的学习数据的示例配置的说明图。图3是用于示出估计器的结构和构建方法的概要的说明图。
首先,将描述图1。如图1所示,例如,通过信息处理设备10来实现估计器的构建和估计值的计算。信息处理设备10使用学习数据(X1,t1)、......、(XN,tN)来构建估计器。信息处理设备10还使用构建的估计器根据输入数据X来计算估计值y。估计值y被用于识别输入数据X。例如,如果估计值y等于或大于指定阈值Th,那么获得“是”的识别结果;如果估计值y小于指定阈值Th,那么获得“否”的识别结果。
现在让我们参考图2来考虑估计器的具体配置。在图2中示出的学习数据的集合被用于构建识别海的图像的图像识别装置。在这种情况中,由信息处理设备10构建的估计器输出表示输入图像的与海的相似性的估计值y。如图2所示,学习数据由成对的数据Xk和目标变量tk(其中,k为1到N)构成。数据Xk是第k个图像数据(image#k)。目标变量tk是这样的变量:当image#k是海的图像时其取“1”的值,当image#k不是海的图像时其取“0”的值。
在图2的例子中,image#1是海的图像,image#2是海的图像,......,image#1不是海的图像。在这种情况中,t1=1、t2=1、......、tN=0。当该学习数据被输入时,信息处理设备10根据基于输入的学习数据的机器学习来构建输出表示输入图像的与海的相似性的估计值y的估计器。输入图像的与海的相似性越近,则估计值y越接近“1”,与海的相似性越弱,则估计值y越接近“0”。
当新的输入数据X(图像X)被输入时,信息处理设备10将图像X输入到使用学习数据的集合构建的估计器中,以计算表示输入数据X的与海的相似性的估计值y。通过使用估计值y,可以识别图像X是否是海的图像。作为一个例子,如果估计值y≥指定阈值Th,那么输入图像X被识别为海的图像。同时,如果估计值y<指定阈值Th,那么输入图像X被识别为不是海的图像。
本实施例涉及自动构建估计器(诸如上述估计器)的技术。请注意,尽管这里描述了要用于构建图像识别装置的估计器,但是根据本实施例的技术也可以被应用于各种估计器的自动构建方法。作为例子,可以使用该技术来构建语言分析仪以及使用该技术来构建分析歌曲的旋律线和/或和弦进行的音乐分析仪。另外,可以使用该技术来构建运动预测装置,该运动预测装置再现自然现象和/或预测自然行为,诸如蝴蝶的运动或云的运动。
例如,可以将本技术应用到在日本特开公报No.2009-48266、2010-159598、2010-159597、2009-277083、2009-277084等的说明书中公开的算法。该技术还可以被应用于诸如AdaBoost的集成学习方法(ensemble learning method)或使用诸如SVM或SVR的内核(kernel)的学习方法。当应用于诸如AdaBoost的集成学习方法时,弱学习机对应于稍后描述的基本函数当该技术被应用于诸如SVM或SVR的学习方法时,内核对应于稍后描述的基本函数请注意,“SVM”是“支持向量机(Support Vector Machine)”的简称,“SVR”是“支持向量回归(Support Vector Regression)”的简称,“RVM”是“相关向量机”的简称。
现在将参考图3描述估计器的结构。如图3所示,估计器由基本函数列表和估计函数f构成。基本函数列表 包含M个基本函数(其中k=1到M)。每一个基本函数都是响应于输入数据X的输入而输出特征量zk的函数。另外,估计函数f是响应于包含M个作为元素的特征量zk(其中k为1到M)的特征量向量z=(z1,......,zM)的输入而输出估计值y的函数。基本函数是通过将事先提供的一个或多个处理函数组合来生成的。
作为处理函数,例如,可以使用三角函数、指数函数、四则运算、数字滤波、微分运算、中值滤波、归一化运算、白噪声添加处理和图像处理滤波。作为一个例子,当输入数据X是图像时,可以使用基本函数其是添加白噪声的处理“AddWhiteNoise()”、中值滤波“Median()”和模糊处理“Blur()”的组合。该基本函数连续地执行对输入数据X进行模糊处理、中值滤波处理和附加白噪声的处理。
1-1-2:构建处理的流程
基本函数(其中k为1到M)的配置、基本函数列表的配置和估计函数f的配置是通过基于学习数据的机器学习决定的。现在将更详细地描述通过机器学习构建估计器的处理。
整体配置
现在,首先将参考图4描述处理的整体流程。图4是用于解释处理的整体流程的说明图。请注意,下面描述的处理由信息处理设备10执行。
如图4所示,首先,学习数据被输入到信息处理设备10中(S101)。请注意,一对数据X和目标变量t作为学习数据被输入。当学习数据已经被输入时,信息处理设备10通过组合处理函数生成基本函数(S102)。接下来,信息处理设备10将数据X输入到基本函数以计算特征量向量z(S103)。其后,信息处理设备10执行基本函数的评估和估计函数的生成(S104)。
然后,信息处理设备10确定是否满足特定的结束条件(S105)。如果满足特定的结束条件,那么信息处理设备10前进到步骤S106。同时,如果不满足特定的结束条件,那么信息处理设备10返回到步骤S102,并再次执行步骤S102到S104中的处理。如果处理已经前进到了步骤S106,那么信息处理设备10输出估计函数(S106)。如上所述,在步骤S102到步骤S104中的处理被重复地执行。出于这一原因,在下面描述的处理中,在处理的第τ次迭代中的步骤S102中生成的基本函数被称为第τ代基本函数。
基本函数的生成(S102)
现在将参考图5到图10更详细地描述在步骤S102中的处理(基本函数的生成)。
首先将描述图5。如图5所示,信息处理设备10确定当前的这一代是否是第二代或后面的代(S111)。也就是说,信息处理设备10确定当前即将执行的步骤S102中的处理是否是该处理的第二或后面的迭代。如果该处理是第二代或后面的代,那么信息处理设备10前进到步骤S113。同时,如果该处理不是第二代或后面的代(即,处理是第一代),那么信息处理设备10前进到步骤S112。如果处理已经前进到了步骤S112,那么信息处理设备10随机地生成估计函数(S112)。同时,如果处理已经前进到了步骤S113,那么信息处理设备10进化地生成估计函数(S113)。其后,在完成步骤S112或步骤S113中的处理时,信息处理设备10结束步骤S102中的处理。
S112:基本函数的随机生成
接下来,将参考图6和图7更详细地描述步骤S112中的处理。步骤S112中的处理涉及生成第一代基本函数的处理。
首先将描述图6。如图6所示,信息处理设备10开始基本函数的与指数m(其中m=0到M-1)有关的处理循环(S121)。接下来,信息处理设备10随机地生成基本函数(S122)。接下来,信息处理设备10确定基本函数的指数m是否已经达到M-1,并且如果基本函数的指数m还没有达到M-1,那么信息处理设备10将基本函数的指数m加1并且处理返回到步骤S121(S124)。同时,如果基本函数的指数m为m=M-1,那么信息处理设备10结束处理循环(S124)。在步骤S124中结束处理循环时,信息处理设备10完成在步骤S112中的处理。
步骤S122的细节
接下来,将参考图7更详细地描述步骤S122中的处理。
当在步骤S122中的处理开始时,如图7所示,信息处理设备10随机地决定基本函数的原型(prototype)(S131)。作为该原型,除了作为例子已经被列出的处理函数以外,还可以使用诸如线性项、高斯内核(Gaussian kernel)或S型内核(sigmoid kernel)的处理函数。接下来,信息处理设备10随机地确定决定的原型的参数来生成基本函数(S132)。
S113:基本函数的进化的生成
接下来,将参考图8到图10更详细地描述步骤S113中的处理。步骤S113中的处理涉及生成第τ(其中τ≥2)代基本函数的处理。因此,当执行步骤S113时,获得第(τ-1)代的基本函数(其中m=1到M)和基本函数的评估值vm,τ-1
首先将描述图8。如图8所示,信息处理设备10更新基本函数的数量M(S141)。也就是说,信息处理设备10决定第τ代基本函数的数量Mτ。接下来,信息处理设备10基于第(τ-1)代基本函数(其中m=1到M)的评估值vτ-1={v1,τ-1,……,vM,τ-1}从第(τ-1)代基本函数中选择e个有用的基本函数并将所选的基本函数设置为第τ代基本函数(S142)。
接下来,信息处理设备10从交叉(crossing)、突变(mutation)和随机生成中随机地选择生成剩余的(Mτ-e)个基本函数 的方法(S143)。当选择交叉时,信息处理设备10前进到步骤S144。当选择突变时,信息处理设备10前进到步骤S145。当选择随机生成时,信息处理设备10前进到步骤S146。
当处理已经前进到了步骤S144时,信息处理设备10通过交叉从在步骤S142中选择的基本函数中选择的基本函数来生成新的基本函数(其中m’≥e+1)。当处理已经前进到了步骤S145时,信息处理设备10通过使从在步骤S142中选择的基本函数中选择的基本函数发生突变来生成新的基本函数(其中m’≥e+1)。同时,当处理已经前进到步骤S146时,信息处理设备10随机地生成新的基本函数(其中m’≥e+1)(S146)。
当在步骤S144、S145和S146中的一个中的处理已经结束时,信息处理设备10前进到步骤S147。当处理已经前进到步骤S147时,信息处理设备10确定第τ代基本函数的数量是否已经达到M(即,M=Mτ)(S147)。如果第τ代基本函数的数量还没有达到M,那么信息处理设备10再一次返回步骤S143。同时,如果第τ代基本函数的数量已经达到M,那么信息处理设备10结束在步骤S113中的处理。
S144的细节:交叉
接下来,将参考图9更详细地描述步骤S144中的处理。
一旦在步骤S144中的处理开始,如图9所示,信息处理设备10就从在步骤S142中选择的基本函数中随机地选择两个具有相同原型的基本函数(S151)。其后,信息处理设备10交叉所选的这两个基本函数的参数以生成新的基本函数(S152)。
S145的细节:突变
接下来,将参考图10更详细地描述步骤S145中的处理。
当在步骤S145中的处理开始时,如图10所示,信息处理设备10从在步骤S142中选择的基本函数中随机地选择一个基本函数(S161)。其后,信息处理设备10随机地改变所选基本函数的某些参数以生成新的基本函数(S162)。
S146的细节:随机生成
接下来,将参考图7更详细地描述步骤S146中的处理。
当在步骤S146中的处理开始时,如图7所示,信息处理设备10随机地决定基本函数的原型(S131)。作为该原型,除了作为例子已经被列出的处理函数以外,还可以使用诸如线性项、高斯内核或S型内核的处理函数。接下来,信息处理设备10随机地确定决定的原型的参数以生成基本函数(S132)。
这样完成了在步骤S102中的处理(即,基本函数的生成)的详细描述。
基本函数的计算(S103)
接下来,将参考图11更详细地描述在步骤S103中的处理(即,基本函数的计算)。
如图11所示,信息处理设备10开始与包含在学习数据中的第i个数据X(i)的指数i有关的处理循环。例如,在N个数据集{X(1),......,X(N)}已经作为学习数据被输入的情况下,针对i=1到N的处理循环被执行。其后,信息处理设备10开始针对基本函数的指数m的处理循环(S172)。例如,如果已经生成了M个基本函数,那么针对m=1到M执行处理循环。
其后,信息处理设备10计算特征量(S173)。接下来,信息处理设备10前进到步骤S174,并且处理循环针对基本函数的指数m继续进行。在结束与基本函数的指数m有关的处理循环时,然后,信息处理设备10前进到步骤S175并继续与指数i有关的处理。当与指数i有关的处理循环已经结束时,信息处理设备10结束在步骤S103中的处理。
这样完成了在步骤S103中的处理(即,基本函数的计算)的详细描述。
基本函数的评估、估计函数的生成(S104)
接下来,将参考图12更详细地描述在步骤S104中的处理(即,基本函数的评估和估计函数的生成)。
如图12所示,信息处理设备10根据基于AIC标准的前向和后向回归的回归/判别学习来计算估计函数的参数w={w0,......,wM}(S181)。也就是说,信息处理设备10根据回归/判别学习找到向量w={w0,......,wM},从而使得成对的特征量和目标变量t(i)(其中i=1到N)符合估计函数f。这里,估计函数f(x)被假定为接下来,当参数w是0时,信息处理设备10将基本函数的评估值v设置在0,并将其它基本函数的评估值v设置在1(S182)。也就是说,评估值v是1的基本函数是有用的基本函数。
这样完成了在步骤S104中的处理(即,基本函数的评估和估计函数的生成)的详细描述。
与估计器的构建有关的处理的流程如上所述。以这种方式,在步骤S102到S104中的处理被重复地执行,并且通过根据进化的方法连续地更新基本函数,获得具有高估计精度的估计函数。也就是说,通过使用上述方法,可以自动地构建高性能估计器。
1-2:在线学习
如上所述,使用根据机器学习自动地构建估计器的算法,学习数据的数量越大,构建的估计器的性能就越高。这意味着,使用最大可能的数量的学习数据构建估计器是优选的。通过在下面的实施例中描述的技术,用于增加学习数据的构架被使用。出于这一原因,在下面介绍可以增加学习数据的新的构架(在下文中称为“在线学习”)。
根据在图13中示出的处理的流程来实现构建与在线学习有关的估计器。如图13所示,首先,学习数据的集合被输入到信息处理设备10中(步骤1)。接下来,信息处理设备10根据较早描述的估计器的自动构建方法使用输入的学习数据的集合来构建估计器(步骤2)。
其后,信息处理设备10在任意定时或在指定的定时获取另外的学习数据(步骤3)。接下来,信息处理设备10将在步骤3中获取的学习数据综合到在步骤1中输入的学习数据的集合中(步骤4)。当这样做时,信息处理设备10对该学习数据执行采样处理和/或加权处理,以生成综合后的学习数据的集合。然后,信息处理设备10使用综合后的学习数据的集合重新构建估计器(步骤2)。当这样做时,信息处理设备10根据较早描述的估计器的自动构建方法来构建估计器。
在步骤2到步骤4中的处理被重复地执行。这里,每当该处理被重复时,学习数据都被更新。作为一个例子,由于如果在每次迭代中都添加学习数据那么在估计器的构建处理中使用的学习数据的数量将增加,因此估计器的性能将得以改进。请注意,在步骤4中执行的针对学习数据的综合处理中,对综合的方法进行了各种修改,以更有效地使用信息处理设备10的资源,并使得在估计器的构建中使用更有用的学习数据。在下面介绍这样的修改。
1-3:学习数据的综合方法
现在将详细描述学习数据的综合方法。
1-3-1:特征量空间中的学习数据的分布和估计器的精度
首先,将参考图14讨论特征量空间中的学习数据的分布与估计器的精度之间的关系。图14是用于解释特征量空间中的学习数据的示例分布的说明图。
通过将构成一个学习数据集的数据输入到包含在基本函数列表中的每一个基本函数中来获得一个特征量向量。也就是说,一个学习数据集对应于一个特征量向量(特征量坐标)。出于这一原因,特征量坐标的分布被称为在特征量空间中的“学习数据的分布”。例如,在特征量空间中的学习数据的分布如图14所示。请注意,尽管为了便于表述在图14中的例子中考虑二维特征量空间,但是特征量空间的维数并不限于此。
在图14中示出的特征量坐标的分布中,应当清楚的是,稀疏区域出现在第四象限。如较早所描述的,通过回归/判别学习生成估计函数,从而使得针对所有的学习数据精确地表示特征量向量与目标变量之间的关系。出于这一原因,在特征量坐标具有低密度的区域中,很可能估计函数将不能精确地表示特征量向量与目标变量之间的关系。因此,如果对应于要进行识别处理的输入数据的特征量坐标位于上述的稀疏区域中,那么期待高度精确的识别结果是不现实的。
如图15所示,学习数据集的数量越大,越难产生稀疏区域,这提高了将要构建不管对应于输入的输入数据的区域如何都能够输出高度精确的识别结果的估计器的可能性。此外,即使学习数据集的数量相当较低,只要特征量坐标被均匀地分布在特征量空间上,那么就可能构建能够输出高度精确的识别结果的估计器。出于这一原因,本发明人设计了一种当对学习数据进行综合时将特征量坐标的分布考虑在内的调整构架,以便产生与综合后的学习数据的集合相对应的特征量坐标的分布的指定分布(诸如均匀分布或高斯分布)。
1-3-2在数据综合期间使用的采样配置
首先,将参考图16描述对学习数据进行采样的方法。图16是用于解释对学习数据进行采样的方法的说明图。
如较早所述,由于在使用在线学习时可以连续地添加学习数据,因此可以使用大量学习数据构建估计器。但是,由于信息处理设备10具有有限的存储器资源,因此当对学习数据进行综合时,需要减少用于构建估计器的学习数据的数量。当这样做时,通过在考虑特征量坐标的分布的情况下对学习数据进行采样,而不是随机地、简单地减少(即,采样)学习数据,可以在不降低估计器的精度的条件下减少学习数据的数量。作为一个例子,如图16所示,进行采样,从而大大地减少包含在密集区域中的特征量坐标的数量,并保持包含在稀疏区域中的特征量坐标。
通过根据本方法对学习数据进行采样,对应于综合后的学习数据的集合的特征量坐标的密度变得均匀。也就是说,尽管学习数据的总数减少了,但是由于特征量坐标是均匀地分布在整个特征量空间中的,因此当生成估计函数时,在进行回归/判别学习期间,可以将整个特征量空间考虑在内。结果,即使信息处理设备10的存储器资源是有限的,仍然可以构建能够估计精确的识别结果的高度精确的估计器。
1-3-3:在数据综合期间使用的加权配置
接下来,将描述设置学习数据的权重的方法。
当信息处理设备10的存储器资源是有限的时,在学习数据的综合期间对学习数据进行采样是有效的。同时,如果有足够的存储器资源可用,那么可以通过设置学习数据的权重而不是对学习数据进行采样来改进估计器的性能。作为一个例子,对于其特征量坐标被包含在稀疏区域中的学习数据设置大的权重,对于其特征量坐标被包含在密集区域中的学习数据设置小的权重。然后,当生成估计函数时,在进行回归/判别学习期间,将已经为学习数据设置的这样的权重考虑在内。
1-3-4:在数据综合期间使用的采样和加权配置
也可以将对学习数据进行采样的方法与为学习数据设置权重的方法组合。例如,在学习数据已经被采样以便以指定的分布来设置特征量坐标的分布后,针对属于采样后保留的学习数据的集合的学习数据,与特征量坐标的密度保持一致地设置权重。通过以这种方式组合采样处理和加权处理,即使在存储器资源是有限的时也可以构建更精确的估计器。
1-4:有效的采样/加权方法
接下来,将描述对学习数据进行有效的采样和权重的方法。
1-4-1:采样方法
首先,将参考图17描述对学习数据进行有效的采样的方法。图17是用于解释对学习数据进行有效的采样的方法的说明图。
如图17所示,信息处理设备10针对所有的学习数据计算特征量向量(特征量坐标)(S201)。接下来,信息处理设备10对计算的特征量坐标进行归一化(S202)。作为一个例子,如图18所示,信息处理设备10对各个特征量的值进行归一化,从而使得离差(dispersion)为1且平均值为0。
接下来,信息处理设备10随机地生成散列函数g(S203)。作为一个例子,信息处理设备10生成多个散列函数g,所述散列函数g输出下面给出的公式(1)所示出的五比特值。此时,信息处理设备10生成Q散列函数gq(其中q=1到Q)。函数hj(其中j=1到5)由下面给出的公式(2)定义。这里,“d”和“阈值”由随机数决定。
如果特征量坐标的分布接近于均匀分布,那么均匀的随机数被用作用于决定“阈值”的随机数。类似地,如果特征量坐标的分布接近于高斯分布,那么高斯随机数被用作用于决定“阈值”的随机数。这也适用于其它分布。以相同的方式,使用随机数来决定d,该随机数与用来计算zd的基本函数的贡献率保持一致地偏置。例如,使用这样的随机数,该随机数使得用来计算zd的基本函数的贡献率越大,那么生成的d的可能性就越高。
数学式1
g(Z)={h1(Z),h2(Z),h3(Z),h4(Z),h5(Z)} …(1)
在生成散列函数gq(其中q=1到Q)时,信息处理设备10将对应于每个学习数据的特征量向量z输入到散列函数gq以计算散列值。然后,信息处理设备10基于计算的散列值将学习数据分配给分组(S204)。这里使用的表述“分组”指与可以被散列值采用的值相关联的区域。
例如,让我们考虑散列值是五比特并且Q为256的情况。在这种情况中,分组的配置如图19所示。如图19所示,由于散列值是五比特,因此为一个散列值gq提供32个分组(在下文中称为“分组集”)。此外,由于Q=256,因此提供256个分组集。现在将针对本例来描述将学习数据分配给分组的方法。
当给出对应于每一个学习数据集的特征向量z时,使用256个散列函数g1到g256计算256个散列值。作为一个例子,如果g1(Z)=2(以基数10表示),那么信息处理设备10将这样的学习数据分配给对应于g1的分组集中的“2”。以相同的方式,计算gq(Z)(其中q=2到256),并且学习数据被分配给对应于各个值的分组。在图19中的例子中,由白色圆圈和黑色圆圈表示两种类型的学习数据,并且示意性地示出与各个分组的对应关系。
在以这种方式将各个学习数据分配给分组后,信息处理设备10以指定顺序从各分组中选择一个学习数据(S205)。例如,如图20所示,信息处理设备10以从左上开始的顺序(其中,散列函数的指数q低并且分配给分组的值低)扫描各分组,并选择分配给分组的一个学习数据集。
在图21中示出从分组中选择学习数据的规则。首先,信息处理设备10跳过空分组。第二,在选择了一个学习数据集后,信息处理设备10从所有其它分组中去除这样的学习数据。第三,当多个学习数据已经被分配给单个分组时,信息处理设备10随机地选择一个学习数据集。请注意,关于选择的学习数据的信息由信息处理设备10存储。
在已经选择了一个学习数据集后,信息处理设备10确定是否已经选择了指定数量的学习数据(S206)。如果已经选择了指定数量的学习数据,那么信息处理设备10将选择的指定数量的学习数据作为综合后的学习数据的集合输出,并结束与学习数据的综合有关的处理序列。同时,如果还没有选择指定数量的学习数据,那么信息处理设备10返回到步骤S205。
这样完成了对学习数据进行采样的有效方法的描述。请注意,上述的特征量空间与分组之间的对应关系用图22中示出的图像描绘。例如,根据如上所述的方法实现的学习数据的采样的结果如图23所示(均匀分布的例子)。如图23所示,包含在稀疏区域中的特征量坐标被保留,并且包含在密集区域中的特征量坐标被采样(即,变稀薄)。请注意,如果没有使用上述分组,那么可能需要对学习数据进行采样的计算负荷会有很大的增长。
1-4-2:加权方法
接下来,将参考图24描述对学习数据进行加权的有效方法。图24是用于解释对学习数据进行加权的有效方法的说明图。
如图24所示,信息处理设备10针对所有的学习数据计算特征量向量(特征量坐标)(S211)。其后,信息处理设备10对计算的特征量坐标进行归一化(S212)。例如,如图24所示,信息处理设备10对特征量的值进行归一化,从而使得离差为1且平均值为0。
接下来,信息处理设备10随机地生成散列函数g(S213)。作为一个例子,信息处理设备10生成多个散列函数g,所述散列函数g输出如上给出的公式(1)所示出的五比特的值。当这样做时,信息处理设备10生成Q散列函数gq(其中q=1到Q)。函数hj(其中j=1到5)由上面给出的公式(2)定义。这里,“d”和“阈值”由随机数决定。
如果特征量坐标的分布接近于均匀分布,那么均匀的随机数被用作用于决定“阈值”的随机数。类似地,如果特征量坐标的分布接近于高斯分布,那么高斯随机数被用作用于决定“阈值”的随机数。其也适用于其它分布。以相同的方式,使用随机数来决定d,该随机数与用来计算zd的基本函数的贡献率保持一致地偏置。例如,使用这样的随机数,该随机数使得用来计算zd的基本函数的贡献率越大,那么生成的d的可能性就越高。
在生成散列函数gq(其中q=1到Q)时,信息处理设备10将对应于每个学习数据的特征量向量z输入到散列函数gq以计算散列值。然后,信息处理设备10基于计算的散列值将学习数据分配给分组(S214)。其后,信息处理设备10计算各个学习数据的密度(S215)。作为一个例子,如图25所示,假定学习数据集已经被分配给了分组。这里,关注使用白色圆圈描绘的学习数据。
在这种情况中,对于与各个散列函数对应的分组集,信息处理设备10首先对分配给包含白色圆圈的分组的学习数据的数量进行计数。作为一个例子,对于与散列函数g1对应的分组集,分配给包含白色圆圈的分组的学习数据的数量是1。以相同的方式,对于与散列函数g2对应的分组集,分配给包含白色圆圈的分组的学习数据的数量是2。信息处理设备10对分配给与散列函数g1到g256对应的分组集的包含白色圆圈的分组的学习数据的数量进行计数。
其后,信息处理设备10计算学习数据的计数的平均值并将计算的平均值视为对应于白色圆圈的学习数据的密度。信息处理设备10以相同的方式计算所有学习数据的密度。请注意,学习数据的密度被表示为如图26B所示。在图26B中,暗色部分指示高密度,浅色部分指示低密度。
在完成所有的学习数据的密度计算时,信息处理设备10前进到步骤S217(S216)。当处理已经前进到步骤S217时,信息处理设备10根据计算的密度计算为每个学习数据设置的权重(S217)。例如,信息处理设备10将密度的倒数设置为权重。为学习数据设置的权重的分布在图27B中示出。在图27B中,暗色部分指示高权重,浅色部分指示低权重。从图27A和图27B应当清楚可知,密集区域具有小权重,稀疏区域具有大权重。
当为学习数据设置的权重的计算已经如上所述地完成了时,信息处理设备10结束与权重有关的处理序列。这样完成了对学习数据进行加权的有效方法的描述。请注意,如果没有使用上述分组,那么可能需要对学习数据进行加权的计算负荷会有很大的增长。
1-4-3:组合方法
接下来,将参考图28描述将上述的采样的有效方法与加权的有效方法组合的方法。图28是用于解释将上述的采样的有效方法与加权的有效方法组合的方法的说明图。
如图28所示,信息处理设备10首先对学习数据执行采样处理(S221)。该采样处理与在图17中示出的处理流程保持一致地实现。当已经获得了指定数量的学习数据时,信息处理设备10针对获得的学习数据执行加权处理(S222)。该加权处理与在图24中示出的处理流程保持一致地实现。请注意,在采样处理期间计算的特征量向量和散列函数可以在这里被再次使用。在完成了采样处理和加权处理时,信息处理设备10结束处理序列。
这样完成了对学习数据进行采样/加权的有效方法的描述。
1-5:采样处理和加权处理的变型例
接下来,将介绍采样处理和加权处理的变型例。
1-5-1:变型例1(基于距离的处理)
首先,将参考图29描述基于特征量坐标之间的距离的对学习数据进行采样的方法。图29是用于解释基于特征量坐标之间的距离的对学习数据进行采样的方法的说明图。
如图29所示,信息处理设备10首先随机地选择一组特征量坐标(S231)。接下来,信息处理设备10对指数j进行初始化(S232)。然后,信息处理设备10把将要被选择的J个特征量坐标中的第j个特征量坐标设置为关注坐标(S233)。其后,信息处理设备10计算关注坐标与已经被选择的所有特征量坐标之间的距离D(S234)。接下来,信息处理设备10从计算的距离中提取最小值Dmin(S235)。
其后,信息处理设备10确定是否j=J(S236)。如果j=J,那么信息处理设备10前进到步骤S237。同时,如果j≠J,那么信息处理设备10前进到步骤S233。如果处理已经前进到步骤S237,那么信息处理设备10选择具有最大的最小值Dmin的关注坐标(特征量坐标)(S237)。接下来,信息处理设备10确定在步骤S231和S237中选择的特征量坐标的数量是否已经达到了指定数量(S238)。
如果在步骤S231和S237中选择的特征量坐标的数量已经达到了指定数量,那么信息处理设备10将对应于所选特征量坐标的学习数据作为综合后的学习数据的集合输出并结束处理序列。同时,如果在步骤S231和S237中选择的特征量坐标的数量还没有达到指定数量,那么信息处理设备10前进到步骤S232。
这样完成了基于特征量坐标之间的距离的对学习数据进行采样的方法。
1-5-2:变型例2(基于群集的处理)
接下来,将描述基于群集的对学习数据进行采样/加权的方法。请注意,尽管在下面对采样方法和加权方法分开进行描述,但是这些方法可以被组合。
数据集的选择
首先,将参考图30描述基于群集的对学习数据进行采样的方法。图30是用于解释基于群集的对学习数据进行采样的方法的说明图。
如图30所示,首先,信息处理设备10将特征量向量分类到指定数量的群集中(S241)。作为群集方法的例子,可以使用k-means或分级群集。其后,信息处理设备10从每个集群中依次选择一个特征量向量(S242)。然后,信息处理设备10将对应于所选特征量向量的学习数据作为综合后的学习数据的集合输出并结束处理序列。
权重的设置
接下来,将参考图31描述基于群集的对学习数据进行加权的方法。图31是用于解释基于群集的对学习数据进行加权的方法的说明图。
如图31所示,信息处理设备10首先将特征量向量分类到指定数量的群集中(S251)。作为群集方法的例子,可以使用k-means或分级群集。其后,信息处理设备10对每个集群中的元素的数量进行计数并计算元素数量的倒数(S252)。然后,信息处理设备10将计算的元素数量的倒数作为权重输出并结束处理序列。
这样完成了基于群集的对学习数据进行采样/加权的方法的描述。
1-5-3变型例3(基于密度估计方法的处理)
接下来,将描述基于密度估计方法的对学习数据进行采样/加权的方法。请注意,尽管在下面对采样方法和加权方法分开进行描述,但是这些方法可以被组合。
数据集的选择
首先,将参考图32描述基于密度估计方法的对学习数据进行采样的方法。图32是用于解释基于密度估计方法的对学习数据进行采样的方法的说明图。
如图32所示,信息处理设备10首先对特征量坐标的密度进行建模(S261)。为了对密度进行建模,作为一个例子,使用诸如GMM(高斯混合模型)的密度估计方法。接下来,信息处理设备10基于构建的模型计算各个特征量坐标的密度(S262)。其后,信息处理设备10从将要被选择的特征量坐标中随机地选择具有与密度的倒数成比例的概率的特征量坐标(S263)。
接下来,信息处理设备10确定是否已经选择了指定数量的特征量坐标(S264)。如果还没有选择指定数量的特征量坐标,那么信息处理设备10返回到步骤S263。同时,如果已经选择了指定数量的特征量坐标,那么信息处理设备10将对应于所选特征量坐标的学习数据作为综合后的学习数据的集合输出并结束处理序列。
权重的设置
接下来,将参考图33描述基于密度估计方法的对学习数据进行加权的方法。图33是用于解释基于密度估计方法的对学习数据进行加权的方法的说明图。
如图33所示,信息处理设备10首先对特征量坐标的密度进行建模(S271)。为了对密度进行建模,作为一个例子,使用诸如GMM(高斯混合模型)的密度估计方法。接下来,信息处理设备10基于构建的模型计算特征量坐标的密度(S272)。其后,信息处理设备10将计算的密度的倒数设置为权重并结束处理序列。
这样完成了基于密度估计方法的对学习数据进行采样/加权的方法的描述。
这样完成了对可以被用于下述实施例中的基本技术的描述。但是,下文描述的实施例的技术并不需要使用上述的所有的基本技术,并且可以使用该基本技术的变型例,或者可以与另一种机器学习算法结合使用该基本技术。
2:实施例
现在将描述本公开的实施例。
2-1:思考过程的自动构建方法
本实施例涉及自动构建诸如机器人的代理的思考过程和/或在各种游戏中出现的NPC(非玩家角色)的思考过程的技术。例如,本公开涉及自动构建决定由NPC在某个状态S下采取的下一个行动a的思考过程的技术。在本说明书中,响应于状态S的输入而输出行动a的程序被称为“思考过程”。下面的描述是针对决定NPC的行动a的思考过程的例子。应当显而易见的是,也可以以相同方式自动地构建决定机器人等的行动的思考过程。
2-1-1:思考过程
如上所述,如图34所示,在本说明书中的表述“思考过程”是响应于状态S的输入而输出行动a的程序。请注意,表述“状态S”指一种环境,其中,其行动a要被决定的NPC处于给定时刻。作为一个例子,如图34所示,考虑两个NPC(NPC#1和NPC#2)彼此战斗的战斗游戏。该战斗游戏被配置为使得NPC#1和NPC#2中的每一个都具有命中点,并且当角色受到伤害时这样的命中点减少。在本例中,在给定时刻的状态S是命中点和NPC#1与NPC#2之间的位置关系。
如果输入该状态S,那么思考过程决定NPC#1的行动a,其中可以期待NPC#1将破坏NPC#2,并且最终将NPC#2的命中点降至0。作为一个例子,如果NPC#1具有足够的命中点保留下来并且NPC#2只有非常少的命中点,那么思考过程可以决定NPC#1可以遭受一定量的伤害而对NPC#2快速地造成伤害的动作a。此外,如果NPC#1具有很少的保留下来的命中点而NPC#2具有足够的命中点,那么思考过程可以决定NPC#1不遭受伤害而对NPC#2造成一定的伤害的动作a。
决定NPC的行动的思考过程在过去是由熟练的技术人员通过大量的工作来设计的。应当显而易见的是,随机地决定NPC的动作的思考过程也可能存在。但是,为了构建能够实现智能NPC行为的思考过程,就需要与环境保持一致地分析用户操作并研究最佳行为。另外,基于这样的分析和研究的结果,需要设计用于决定与环境保持一致的NPC的最佳行动的条件。这意味着构建思考过程需要大量的时间和艰辛的努力。鉴于这样的情况,本发明人开发了一种思考过程的自动构建技术,其不必依赖于手工劳动。
2-1-2:思考过程的配置
如图35所示,根据本实施例的思考过程是通过思考过程的自动构建技术生成的,该自动构建技术是基于行动历史数据。行动历史数据由状态S、行动a和报酬r构成。作为一个例子,假定在状态S=S1中,如果NPC#1采取行动a=“向右移动”,那么NPC#2遭受伤害并且命中点降至0。在这种情况中,行动历史数据为状态S=S1,动作a=“向右移动”,并且报酬r=“0”。以这种方式配置的行动历史数据被事先存储,并且通过使用该行动历史数据作为学习数据的机器学习,可以自动构建思考过程。
根据本实施例的思考过程具有图36所示的配置。如图36所示,思考过程列出了响应于状态S的输入而可以采取的行动a,并计算由NPC针对每个行动a可以获得的报酬r的估计值(在下文中“估计报酬y”)。然后,思考过程选择估计报酬y最高的行动a。请注意,估计报酬y是使用报酬估计器计算的。这样的报酬估计器是响应于状态S的输入和行动a而输出估计报酬y的算法。报酬估计器是通过将行动历史数据作为学习数据使用的机器学习来自动构建的。作为一个例子,通过采用较早前介绍的估计器的自动构建方法,可以自动地构建报酬估计器。
如图37所示,报酬估计器由基本函数列表和估计函数f构成。基本函数列表包含M个基本函数(其中k=1到M)。每一个基本函数都是响应于输入数据X(状态S和行动a)的输入而输出特征量zk的函数。另外,估计函数f是响应于包含M个特征量zk(其中k=1到M)作为元素的特征量向量z=(z1,...,zM)而输出估计报酬y的函数。每一个基本函数是通过将事先提供的一个或多个处理函数组合来生成的。作为处理函数,例如,可以使用三角函数、指数函数、四则运算、数字滤波、微分、中值滤波、归一化运算等。
根据本实施例的思考过程的自动构建技术使用已经被自动构建的思考过程来使NPC采取行动,然后使用行动历史数据来更新这样的思考过程,作为这样的行动的结果新获得的行动历史数据已经被添加到该行动历史数据。这样的行动历史数据可以使用与较早前介绍的在线学习有关的技术来添加。
2-1-3:构建报酬估计器的方法
作为一个例子,使用与在线学习有关的技术的报酬估计器的构建和更新是根据图38示出的处理流程来实现的。请注意,假定这样的处理是通过信息处理设备10来实现的。如图38所示,首先,行动历史数据被输入到信息处理设备10中(步骤1)。
在步骤1中,信息处理设备10使用事先设计的简单思考过程来决定行动a,控制在环境中的NPC的行为,从而获得行动历史数据(S、a、r)。在强化学习的领域中,这样的简单思考过程被称为“先天的”(对应于婴儿执行的本能的行为)。这样的“先天的”可以从可以由NPC采取的行动中随机地选择行动。在这种情况中,不需要设计“先天的”。信息处理设备10基于“先天的”使NPC重复地执行行动,直到获得指定数量的行动历史数据集。其后,信息处理设备10以与较早前描述的用于估计器的自动构建方法相同的方式使用输入的行动历史数据来构建报酬估计器。
接下来,信息处理设备10在任意定时或在指定的定时获取附加的行动历史数据(步骤3)。然后,信息处理设备10将在步骤3中获取的行动历史数据综合到在步骤1中输入的行动历史数据中(步骤4)。当这样做时,信息处理设备10对该行动历史数据执行采样处理和/或加权处理,以生成综合后的行动历史数据。然后,信息处理设备10使用综合后的行动历史数据重新构建报酬估计器(步骤2)。在步骤2到步骤4中的处理被重复地执行。每当处理被重复时,行动历史数据都被更新。
这样完成了思考过程的自动构建方法的简单描述。这里,尽管已经描述了决定NPC的行动的思考过程的自动构建方法,但是也可以通过改变行动历史数据的配置来自动地构建各种类型的思考过程。也就是说,通过采用根据本实施例的技术,可以构建具有统一构架的各种思考过程。此外,由于思考过程是自动构建的,因此思考过程的构建不花费某人的时间,导致付出的努力大大地减少。
2-2:信息处理设备10的配置
这里,将参考图39和图40描述根据本实施例的信息处理设备10的基本配置。图39是用于示出根据本实施例的信息处理设备10的整体功能配置的说明图。图40是用于示出构建根据本实施例的信息处理设备10的报酬估计器构建单元12的详细的功能配置的说明图。
整体功能配置
首先,将参考图39描述整体功能配置。如图39所示,信息处理设备10主要包括行动历史数据获取单元11、报酬估计器构建单元12、输入数据获取单元13和行动选择单元14。
当思考过程的构建处理开始时,行动历史数据获取单元11获取当构建报酬估计器时要被使用的行动历史数据。作为一个例子,行动历史数据获取单元11基于简单思考过程(“先天的”)重复地使NPC执行行动以获取指定数量的行动历史数据。但是,行动历史数据获取单元11还可以读取事先存储在存储设备(未示出)中的行动历史数据或者经由网络从提供行动历史数据的系统等获取行动历史数据。
由行动历史数据获取单元11获取的行动历史数据被输入到报酬估计器构建单元12中。当行动历史数据被输入时,报酬估计器构建单元12基于输入的行动历史数据通过机器学习来构建报酬估计器。作为一个例子,报酬估计器构建单元12基于较早前描述的遗传算法使用估计器的自动构建方法来构建报酬估计器。此外,如果从行动历史数据获取单元11已经输入了附加的行动历史数据,那么报酬估计器构建单元12将该行动历史数据综合并使用综合后的行动历史数据来构建报酬估计器。
由报酬估计器构建单元12构建的报酬估计器被输入到行动选择单元14。报酬估计器被用来针对任意的输入数据(状态S)选择最佳行动。当已经通过输入数据获取单元113获取了输入数据(状态S)时,获取的输入数据被输入到行动选择单元14中。当已经输入输入数据时,行动选择单元14将由输入的输入数据示出的状态S和可以由NPC在S状态中采取的行动a输入到报酬估计器中,并基于从报酬估计器输出的估计报酬y来选择行动a。作为一个例子,如图36所示,行动选择单元14选择估计报酬y最高的行动a。
这样完成了信息处理设备10的整体功能配置的描述。
报酬估计器构建单元12的功能配置
接下来,将参考图40详细描述报酬估计器估计单元12的功能配置。如图40所示,报酬估计器估计单元12包括基本函数列表生成单元121、特征量计算单元122、估计函数生成单元123和行动历史数据综合单元124。
当思考过程构建处理开始时,首先,基本函数列表生成单元121生成基本函数列表。其后,由基本函数列表生成单元121生成的基本函数列表被输入到特征量计算单元122。行动历史数据也被输入到特征量计算单元122。当基本函数列表和行动历史数据也被输入时,特征量计算单元122将输入的行动历史数据输入到包含在基本函数列表中的各个基本函数中以计算特征量。由特征量计算单元122计算的特征量集(即,特征量向量)被输入到估计函数生成单元123。
当特征量向量已经被输入时,估计函数生成单元123基于构成行动历史数据的输入的特征量向量和报酬值r通过回归/判别学习来生成估计函数。请注意,如果使用基于遗传算法构建估计器的方法,那么估计函数生成单元123针对生成的估计函数计算每个基本函数的贡献率(评估值),并基于这样的贡献率确定是否满足结束条件。如果满足结束条件,那么估计函数生成单元123输出包含基本函数列表和估计函数的报酬估计器。
同时,如果结束条件不满足,那么估计函数生成单元123将针对生成的估计函数的各个基本函数的贡献率通知基本函数列表生成单元121。已经收到这样的通知的基本函数列表生成单元121根据基于各个基本函数的贡献率的遗传算法更新基本函数列表。当基本函数列表已经被更新时,基本函数列表生成单元121将更新的基本函数列表输入到特征量计算单元122中。如果更新的基本函数列表已经被输入,那么特征量计算单元122使用更新的基本函数列表计算特征量向量。然后,由特征量计算单元122计算的特征量向量被输入到估计函数生成单元123中。
如上所述,当使用基于遗传算法构建估计器的方法时,由估计函数生成单元123执行的生成估计函数的处理、由基本函数列表生成单元121执行的对于基本函数列表的更新处理,以及由特征量计算单元122执行的对于特征量向量的计算处理被反复地执行,直到满足结束条件。其后,如果满足结束条件,那么从估计函数生成单元123输出报酬估计器。
此外,如果输入附加的行动历史数据,那么输入的附加的行动历史数据被输入到特征量计算单元122和行动历史数据综合单元124。一旦附加的行动历史数据已经被输入,特征量计算单元122将附加的行动历史数据输入到包含在基本函数列表中的各个基本函数中以生成特征量。其后,对应于附加的行动历史数据的特征量向量和对应于已有行动历史数据的特征量向量被输入到行动历史数据综合单元124。请注意,假定已有行动历史数据也已经被输入到了行动历史数据综合单元124中。
行动历史数据综合单元124使用较早前介绍的数据集的综合方法对已有行动历史数据和附加的行动历史数据进行综合。例如,行动历史数据综合单元124对行动历史数据进行采样和/或针对行动历史数据设置权重,从而使得在特征量空间中由特征量向量示出的坐标(特征量坐标)的分布成为指定的分布。如果行动历史数据已经被采样,那么采样后的行动历史数据被用作综合后的行动历史数据。同时,如果已经针对行动历史数据设置了权重,那么在由估计函数生成单元123执行的回归/判别学习期间,针对各个行动历史数据设置的权重被考虑在内。
一旦行动历史数据已经被综合,那么使用综合后的行动历史数据来执行报酬估计器的自动构建处理。更具体地说,综合的行动历史数据和对应于综合的行动历史数据的特征量向量被从行动历史数据综合单元124输入到估计函数生成单元123,并由估计函数生成单元123生成估计函数。此外,如果使用基于遗传算法来构建估计器的方法,那么诸如估计函数的生成、贡献率的计算和基本函数列表的更新的处理使用综合的行动历史数据来执行。
这样完成了报酬估计器构建单元12的功能配置的详细描述。
上述已经描述了根据本实施例的信息处理装置10的配置。通过使用上述配置,可以自动地构建思考过程,该思考过程根据任意状态S来决定要由NPC采取的下一个行动a。通过使用该思考过程,可以使NPC智能地行动。请注意,通过改变要被使用的行动历史数据,还可以使诸如机器人的代理以相同的方式智能地行动。
2-3:有效地构建报酬估计器的方法
到此为止已经解释了基于针对较早前介绍的估计器的自动构建方法的思考过程的自动构建方法。通过使用这样的方法,可以可靠地、自动地构建思考过程。但是,为了自动构建智能地行动的NPC的思考过程,需要花费一定量的时间重复地执行学习处理。出于这一原因,本发明人设计了一种构建高性能报酬估计器的更有效的方法。
现在将参考图41和图42描述有效地构建报酬估计器的方法。该方法涉及获取具有更高学习效率的行动历史数据的方法。这里“具有更高学习效率的行动历史数据”的表述指对应于具有较高的估计报酬、具有更大的估计误差并且位于在特征量空间中具有稀疏密度的区域中的特征量坐标的数据。出于这一原因,介绍在图42中示出的三种得分。第一种得分是报酬得分,其值随着估计报酬的增加而增加。第二种得分是未知得分,其值在特征量空间中的密度越稀疏而越高。第一种得分是误差得分,其值随着估计误差的增加而增加。
例如,关注在图41中示出的行动a1、a2、a3。假设由虚线围绕的区域是估计误差小的区域。还假定在图中估计报酬越向右上越增加。在这种情况中,可以说行动a1是具有相对高的报酬得分、相对高的未知得分和相对低的误差得分的行动。可以说行动a2是具有相对低的报酬得分、相对低的未知得分和相对高的误差得分的行动。可以说行动a3是具有相对高的报酬得分、相对高的未知得分和相对高的误差得分的行动。
通过优先选择具有较高的报酬得分的行动,可以收集实现高报酬所需的行动历史数据。类似地,通过优先选择具有较高的未知得分或较高的误差得分的行动,可以收集选择这样的行动的结果是不确定的行动历史数据。作为一个例子,对于图41中示出的情况,认为通过选择行动a3,可以收集可能获得较高的报酬并且选择这样的行动的结果是不确定的行动历史数据。对于如图38所示的处理,通过根据上述在步骤1和/或步骤3中描述的方法来获取行动历史数据,可以在步骤2中以更高的效率构建报酬估计器。
这样完成了对构建报酬估计器的有效方法的描述。
2-4:变型例1.使用行动得分估计器的思考过程
上述描述关注使用报酬估计器估计报酬并基于估计报酬选择行动的思考过程。如图44所示,现在让我们考虑使用行动得分估计器来估计行动得分并基于估计的行动得分选择行动的思考过程。这里的表述“行动得分”指与可以被采取的行动相关联的得分,并示出当采取对应行动时获得的良好的结果的概率。
当使用行动得分时,行动历史数据以图43中示出的形式提供。首先,信息处理设备10以与较早前描述的行动历史数据相同的方式收集各组的状态S、行动a和报酬r。其后,信息处理设备10基于报酬r计算行动得分。
例如,假设如果在状态S=S1时采取行动a=“R(即,向右移动)”那么获得报酬r=0。在这种情况中,对应于行动a=“R”的行动得分为“0”,并且对应于其它行动(“L”、“N”、“J”)的行动得分为“1”。结果,对应于状态S=S1和行动a=“R”获得行动得分(R,L,N,J)=(0,1,1,1)。
还假设如果在状态S=S2时采取行动a=“L(即,向左移动)”那么报酬r=“1”。在这种情况中,对应于行动a=“L”的行动得分为“1”,并且对应于其它行动(“R”、“N”、“J”)的行动得分为“0”。结果,对应于状态S=S2和行动a=“L”获得行动得分(R,L,N,J)=(0,1,0,0)。
如果如上所述获得的各组的状态S、行动a和行动得分被用作行动历史数据,那么通过机器学习获得响应于状态S的输入而输出行动得分的估计值的行动得分估计器。例如,如果使用基于遗传算法的估计器的自动构建方法,那么可以自动地构建高性能行动得分估计器。在收集行动历史数据时,如果使用与构建报酬估计器的有效方法相同的方法,那么可以有效地自动构建行动得分估计器。
如果使用行动得分估计器,那么思考过程的配置如图44所示。也就是说,如果状态S被输入到思考过程,那么思考过程将状态S输入到行动得分估计器,以计算行动得分的估计值。然后,思考过程选择行动得分的估计值最高的行动。例如,如图44所示,如果行动得分的估计值是(R,L,J,N)=(0.6,0.3,0.4,0.2),那么思考过程选择对应于估计值“0.6”的行动“R”。
这样完成了使用行动得分估计器的思考过程的描述。
2-5:变型例2.使用预测器的报酬的估计
接下来,将描述使用预测器估计报酬的方法。请注意,这里的表述“预测器”指一种算法,当在给定时间t1处的状态S(t1)和在这样的状态S(t1)中由NPC采取的行动a(t1)已经被输入时,该算法在其后的时间t2处输出状态S(t2)。
2-5-1:构建预测器的方法
上述的预测器是通过诸如图45中示出的方法来构建的。如图45所示,在不同时间点上获得的行动历史数据被作为学习数据使用。作为一个例子,如果在时间t2处的状态S2中NPC没有采取行动而获得了良好的结果,那么行动历史数据是时间t=t2、状态S=S2、行动a=“无行动”和报酬r=“1”。请注意,在日本特开专利公开No.2009-277084的说明书中详细描述了预测器的自动构建方法。该说明书描述了通过机器学习自动地构建预测器的方法,该预测器根据直到某个时间点的观测值来预测在将来的时间点处的观测值。
2-5-2:估计报酬的方法
如果使用上述的预测器,那么,如图46所示,可以估计可能在将来获得的估计报酬。作为一个例子,如果NPC在时间t的状态S(t)采取行动a(t),那么可以预测在时间t+1处实现的状态S(t+1),并可以计算可以由NPC在这样的状态S(t+1)中采取的各个行动的估计报酬y。这意味着,可以基于针对时间t+1估计的报酬选择在时间t要由NPC采取的行动。如图47所示,通过重复地使用预测器,还可以计算从若干个步骤前的状态S(t+q)估计的估计报酬y。在这种情况中,可以考虑可由NPC在各个时间点处采取的行动的组合并选择最终得到最高估计报酬的行动的组合。
这样完成了对使用预测器估计报酬的方法的描述。
2-6:变型例3.多个代理的同时学习
到此为止已经描述了构建关注单个NPC并选择最佳行动的思考过程的方法。但是,还可以构建同时考虑由两个或更多NPC采取的动作的思考过程。如果两个NPC在相同的环境中采取行动,那么由这两个NPC采取的行动被反映在状态S中。出于这一原因,如果使用该方法,那么可以自动地构建这样的思考过程,在另一个NPC采取期望导致该NPC的最高估计报酬的环境中,该思考过程选择期望导致当前NPC的最高估计报酬的行动。例如,使用Min-maxing来实现这样的思考过程的自动构建。这样完成了多个代理的同时学习的描述。
这样也完成了对本公开的实施例的描述。
3:应用
现在将介绍具体地应用上述实施例的技术的方法。
3-1:对井字游戏的应用
首先,将参考图48到图54描述将上述实施例的技术应用到井字游戏的方法。如图48所示,井字游戏的主要规则是玩家轮流下棋,将三个标记置为一行的第一玩家赢。对于井字游戏,状态S是棋盘的当前状态,行动a是玩家进行的移动。
对于井字游戏,已知两个玩家的最佳移动将导致平局。用于这种类型的完美信息游戏的很多思考过程都由静态评估函数和预测算法构成。静态评估函数是将给定的游戏阶段是有利的还是不利的进行量化的函数。例如,当提供如图49所示的游戏阶段时,静态评估函数输出值y(其中,“○不利”:-1、“中性”:0、“○有利”:1),值y示出该游戏阶段有利或不利。使用上述实施例,静态评估函数的功能通过报酬估计器来实现。
预测算法是这样的一种算法,其预测未来的移动并选择将来从静态评估函数将获得较高的输出值的移动。作为一个例子,使用Min-maxing来实现预测算法。作为一个例子,如图50所示,预测算法想象在当前玩家进行了移动后由对手可以进行的移动,想象当前玩家响应于想象的对手的移动而然后可以进行的移动,并选择对于当前玩家最有利的移动。
但是,诸如上述的这些静态评估函数迄今为止是被人工设计的。例如,即使使用Bonanza(一种著名的shogi AI程序),诸如由静态评估函数考虑的游戏阶段的特征的设计元素也是人工设计的。此外,如果游戏的类型改变,那么就需要也改变特征量的设计。出于这一原因,需要通过重复的试验和错误来手工地设计针对每个游戏的静态评估函数。但是,通过采用根据上述实施例的技术,可以自动地构建思考过程,同时省略这样的手工设计工作。
在井字游戏的情况中,如图51所示,状态S和行动a可以由3×3矩阵表示。这里,状态S表示当已经轮到当前玩家时的棋盘。反映当前玩家的当前移动的棋盘被表示为(S,a)。另外,当前玩家的移动被表示为“1”,对手的移动被表示为“-1”,并且空白的空间被表示为“0”。也就是说,棋盘和移动由值表示。如果可以以这种方式使用值来表示棋盘和移动,那么将可以使用根据上述实施例的报酬估计器的自动构建方法来自动地构建思考过程。
例如,信息处理设备10首先使用“先天的”来执行当前玩家和对手在随机位置处的移动以生成行动历史数据。如上所述,(S,a)由3×3矩阵表示。如图52所示,信息处理设备10将报酬“1”分配给对应于所有导致赢棋的移动的(S,a)。同时,如图53所示,信息处理设备10将报酬“-1”分配给对应于所有导致输棋的移动的(S,a)。一旦以这种方式累积了行动历史数据,那么信息处理设备10使用累积的行动历史数据构建报酬估计器。
当选择实际的移动时,如图54所示,信息处理设备10使用报酬估计器从当前状态S来计算估计报酬y并选择具有最高估计报酬y的移动。在图54中的例子中,对应于最高估计报酬的移动(C)被选择。请注意,尽管该移动是通过提前一步评估报酬在图54中的例子中选择的,但是也可以使用这样的配置,其中针对对手以相同的方式计算估计报酬,并且使用诸如Min-maxing的方法,以使用预测若干个移动后的结果来选择当前移动。
此外,如果使用通常使用通过学习获得的报酬估计器来选择最佳行动的配置,那么可能存在NPC每次都选择相同移动的问题。出于这一原因,一定的随机性可以被添加到计算估计报酬的处理。例如,可以想得到是,使用将小的随机数添加到由报酬估计器计算的估计报酬的方法。此外,如果报酬估计器是基于遗传算法通过机器学习计算的,那么可以使用这样的配置,其中,针对每一个学习代计算的报酬估计器被存储并且要被使用的报酬估计器被随机地切换。
这样完成了对井字游戏的应用的描述。
3-2:对战斗游戏的应用
接下来,将参考图55到图62描述将根据上述实施例的技术应用到战斗游戏的方法。如图55所示,这里考虑的战斗游戏的主要规则是:(1)该游戏是两个角色之间的战斗,(2)各个玩家的行动是“向左移动”、“向右移动”、“没有向左/右移动”、“跳”和“不跳”的组合,并且(3)如果玩家踩到对手,那么与在Y轴方向上的加速度的差保持一致地导致对手的伤害。此外,当玩家的命中点达到0时,他/她失败。请注意,在对于战斗游戏的本应用中,使用了较早前描述的使用行动得分估计器构建思考过程的方法。
在这种情况中,当前玩家的绝对坐标、对手的绝对坐标和时间被用作状态S。出于这一原因,状态S由诸如图56所示的三维矩阵来表示。这里,考虑针对行动得分估计器的自动构建方法,该行动得分估计器响应于由三维矩阵表示的状态S的输入来估计具有五个元素(N,L,R,J,NJ)的行动得分。这里,元素N是对应于行动a=“(没有向左/右移动)”的行动得分。元素L是对应于行动a=“(向左移动)”的行动得分。元素R是对应于行动a=“(向右移动)”的行动得分。元素J是对应于行动a=“(跳)”的行动得分。元素NJ是对应于行动a=“(不跳)”的行动得分。
作为用于收集行动历史数据的“先天的”,作为一个例子,使用完全随机地选择玩家的移动的方法。作为一个例子,这样的“先天的”从N(没有向左/右移动)、L(向左移动)和R(向右移动)中随机地选择一个行动,并随机地选择与从J(跳)和NJ(不跳)中选择的行动组合的行动。此外,如图57所示,当玩家造成对对手的伤害时,信息处理设备10将从玩家或对手之前受到伤害的时间到当前时间的行动历史数据的报酬设置为1。同时,如图57所示,如果玩家受到伤害,则信息处理设备10将从玩家或对手之前受到伤害的时间到当前时间的行动历史数据的报酬设置为0。
请注意,对于报酬被设置为1的行动历史数据,信息处理设备10将实际执行的行动的行动得分设置为1,并将没有执行的行动的行动得分设置为0。同时,对于报酬被设置为0的行动历史数据,信息处理设备10将实际执行的行动的行动得分设置为0,并将没有执行的行动的行动得分设置为1。通过重复这样的处理,获得由状态S和行动得分构成的诸如图57示出的行动历史数据。
一旦已经获得了行动历史数据,那么信息处理设备10根据图58中示出的处理流程来构建思考过程。如图58所示,一旦已经获得了行动历史数据(S301),那么信息处理设备10使用获取的行动历史数据通过机器学习来构建思考过程(S302)。接下来,在必要的时候,信息处理设备10获取附加的行动历史数据。其后,信息处理设备10将添加的行动历史数据综合到最初的行动历史数据中(S304)。然后,信息处理设备10确定是否满足结束条件(S305)。
作为例子,当已经由用户进行了结束操作时,或者当随机行动的玩家的获胜率已经超出指定阈值时,信息处理设备10确定满足结束条件。如果没有满足结束条件,那么信息处理设备10返回到步骤S302。同时,如果满足结束条件,那么信息处理设备10结束与思考过程的构建有关的处理序列。
在图59中示出的结果是针对随机行动的玩家的获胜率获得的,并且是根据已经如上所述地自动构建的思考过程从玩家行动获得的结果。如图59所示,使用该思考过程行动的玩家的获胜率在15代(即,在图58中的步骤S302到S304的迭代的数量)中达到了接近100%的值。请注意,行动的选择是根据选择具有最高行动得分的行动的方法来执行的。但是,当在本例中选择行动时,在将小随机数添加到每个行动得分后选择行动。
此外,使用较早前描述的多个代理的同时学习,通过同时学习两个玩家的行动来构建思考过程。由于当使用多个代理的同时学习时试图赢不是随机移动的玩家的思考过程是被自动构建的,因此更智能地移动玩家的思考过程被构建。请注意,在图60中示出都使用思考过程的两个玩家之间的战斗的结果。如图60所示,依赖于学习代,存在玩家1大部分时间赢的情况和玩家2大部分时间赢的情况。
如图61所示,针对给定学习代的实验上进行1000次战斗的结果是玩家1大部分时间赢(即,具有高获胜率)。这里,当对手是随机移动的玩家(即,随机对手)时,玩家1和玩家2两者都实现对他们对手的最少90%的获胜率。也就是说,根据思考过程移动的玩家充分智能地移动。以这种方式,当使用多个代理的同时学习时,在思考过程正在被改进从而击败对手的同时,获得也能够击败随机移动的对手的各种算法。
但是,尽管在上面的描述中表示当前玩家的坐标、对手的坐标和时间的三维矩阵被用作状态S,但是也可以想到将游戏画面的图像信息当作在这样的三维矩阵中使用的方法。例如,作为状态S,还可以使用诸如图62中示出的游戏画面的亮度图像。也就是说,状态S可以是包含对决定行动有用的信息的任何事物。基于这一点,应该可以容易地想象把根据上述实施例的本技术应用到与各种游戏和任务有关的思考过程的自动构建方法。
这样完成了对战斗游戏的应用的描述。
3-3:对“五子棋”游戏的应用
接下来,将参考图63到图64描述将根据上述实施例的技术应用到“五子棋”游戏的方法。五子棋的主要规则是玩家轮流下棋,将五个石头垂直地、水平地或对角地置为一行的第一玩家赢。对于五子棋,状态S是棋盘并且行动a是玩家进行的移动。
将本技术应用于五子棋的方法与将本技术应用于井字游戏的方法基本上相同。也就是说,如图63所示,状态S和行动a由二维矩阵表示。首先使用的行动历史数据是使用完全随机地放置石头的“先天的”来获取的。报酬1是针对最终导致赢的所有(S,a)设置,报酬0是针对所有最终导致输的所有(S,a)设置。信息处理设备10使用这样的行动历史数据来构建思考过程。信息处理设备10还使用这样的思考过程来进行比赛,并且使用行动历史数据来构建思考过程,在该行动历史数据中已经综合有这样的比赛的结果。通过重复这样的处理,选择智能行动的思考过程被构建。
当选择行动时,信息处理设备10以与井字游戏相同的方式找到所有可能的行动(即,针对石头已经被放置在所有可能的点上的情况)的估计报酬,并将石头放置在具有最高估计报酬的点上。应该显而易见的是,信息处理设备10可以被配置为在选择要放置石头的位置时预测若干移动。请注意,针对五子棋的棋盘排列的数量与井字游戏相比是巨大的。出于这一原因,随机地放置石头的玩家可能走出非常差的移动,并且因此变得极其弱。
因此,通过将随机地放置石头的玩家作为对手进行学习只会产生能够击败极其弱的对手的思考过程,而不太可能得到智能的思考过程。出于这一原因,以与战斗游戏相同的方式,优选的是,使用执行多个代理的同时学习以学习在相同环境中的玩家和对手两者的方法。通过使用该配置,可以自动地构建相对高性能的思考过程。两者都使用思考过程进行移动的玩家之间的比赛的结果如图64所示。
这样完成了对五子棋的应用的描述。
3-4:对纸牌游戏的应用
接下来,将参考图65到图67描述将根据上述实施例的技术应用到纸牌游戏的方法。如图65所示,扑克游戏的主要规则是(1)玩家都发五张牌,(2)每个玩家选择要打出的牌,以及(3)手中的牌最强的赢。这里,让我们考虑构建在决定已经发牌后要打出的牌的思考过程的方法。
如图66所示,使用字符串来表示状态S和行动a。作为例子,红桃A被表示为“HA”、梅花2被表示为“C2”,并且方片K被表示为“DK”。在图66中示出的例子中,状态S由字符串“SJCJC0D9D7”表示。如果方片9和方片7被打出,那么行动a由字符串“D9D7”表示。此外,如果游戏赢了,那么分配报酬“1”,如果游戏输了,那么分配报酬“0”。当以这种方式表示牌时,例如,获得诸如图67所示的行动历史数据。
作为首先获取行动历史数据的“先天的”,作为一个例子,可以使用这样的方法,该方法决定是否以完全随机的方式单独地打出五张牌。此外,信息处理设备10针对赢的行动历史数据设置报酬“1”,针对输的行动历史数据设置报酬“0”。然后,信息处理设备10使用累积的行动历史数据来构建思考过程。此时,没有使用诸如选择行动的结果、最终产生的是什么类型的手中牌,以及对手的手中牌的信息。也就是说,思考过程是在仅考虑游戏最终是赢还是输的情况下构建的。这里,存在这样的倾向,即,对于当前的玩家为了创建强的手中牌在行动历史数据中被保留或打出的牌越有利,那么这样的行动历史数据的报酬是“1”的概率就越高。
当选择行动时,对于五张发出的牌中的每一张,给予“保留”或“打出”的选择项。这意味着总共存在25=32种不同的行动组合。因此,思考过程使用报酬估计器来计算32种(S,a)模式的估计报酬,并选择具有最高估计报酬的行动。
这样完成了对扑克游戏的应用的描述。
3-5:对角色扮演游戏的应用
接下来,将参考图68到图79描述将根据上述实施例的技术应用到角色扮演游戏的方法。这里,让我们考虑思考过程的自动构建方法,该思考过程在角色扮演游戏中的战斗场景中以玩家的身份自动地、智能地操作角色。请注意,这里考虑的角色扮演游戏的规则如图68所示。如图68所示,状态S是提供给玩家的信息,并且行动a是用于操作角色的命令。
战斗场景的环境如图69所示。首先,如果战斗赢了,那么经验点在幸存者之间瓜分。另外,通过积累经验点,角色可以“升级”。当角色升级时,状态值与角色的职业保持一致地增加和/或角色变得能够使用魔法。当角色赢了五次连续的战斗时,敌人的级别提升一级并且角色的命中点恢复。当敌人的级别达到31时,游戏清零。
请注意,在战斗场景中,每个角色采取行动的定时通过与“速度”值保持一致来决定,该“速度”值是每个角色的状态的一部分。此外,可以由角色采取的行动是“攻击”和“使用魔法”(如果该角色具有魔法能力)。魔法的类型是“治愈”、“火”和“冰”。“治愈”是使盟友恢复命中点(HP)的魔法。“火”是使用火攻击敌人的魔法。“冰”是使用冰攻击敌人的魔法。也可以选择魔法的目标是单个敌人还是所有的敌人。但是,如果选择了所有的敌人,那么魔法的效力将减半。此外,可以使用的魔法的类型和级别根据角色的级别改变。另外,即使对于相同的魔法,魔法的级别越高,消耗的魔法点(MP)的数量越大并且效力越大。
角色的职业和每种职业的状态如图70所示。状态提升率示出当角色的级别提高一级时状态提升的比率。魔法级别Lv示出当已经达到由该值指示的级别时所拥有的魔法能力的级别。空白指示对应的魔法能力不可用。值0指示对应的魔法能力从开始时就可用。请注意,盟友的联队由具有前四种类型的职业的角色构成。同时,敌人的联队由从具有后四种类型的职业的角色中选择的角色构成。
作为状态S使用的关于盟友侧的信息如图71所示。作为一个例子,每个幸存的盟友的级别、职业、HP、最大HP、MP、最大MP、攻击力、防御强度和速度被用作状态S。请注意,对于职业列,对应职业所在列的值被赋予“1”,其它职业列中被赋予“0”。当前值写在与HP等有关的其它列中。同时,作为状态S使用的关于敌人侧的信息如图72所示。作为一个例子,幸存的敌人的级别、职业和全部的伤害被用作状态S。请注意,全部的伤害是迄今为止导致的伤害的全部。
此外,作为行动a使用的关于盟友侧的信息如图73所示。作为一个例子,1被赋予执行者(即,即将执行该行动的角色),并且0被赋予其它角色。在行动目标列,1被赋予将接收该行动的角色,并且0被赋予其它角色。例如,1被赋予对应于接受了治愈魔法的角色的行动目标列。此外,1被赋予要采取该行动的行动类型列,并且0被赋予没有采取该行动的行动类型列。同时,作为行动a使用的关于敌人侧的信息如图74所示。如图74所示,关于行动目标的信息被用作敌人侧的信息。
以与较早前描述的示例性应用相同的方式,信息处理设备10首先获取行动历史数据。此时,信息处理设备10对每种类型的行动的选择概率应用权重并使用随机地选择行动的“先天的”来获取行动历史数据。例如,信息处理设备10使角色使用“先天的”来执行动作,在该“先天的”中,选择攻击的概率已经被设置为比魔法的概率高。如图75所示,如果联盟被击败,那么信息处理设备10在行动历史数据中设置“-5”的报酬,如果敌人被击败,那么在行动历史数据中设置“1”的报酬。结果,获得诸如图76A中示出的行动历史数据。但是,为了进一步考虑击败联盟或敌人的处理的评估,信息处理设备10导致如图76B所示的报酬的线性衰退。
信息处理设备10使用如上所述获取的行动历史数据来构建思维过程。此时,信息处理设备10构建根据在时间t处的状态和行动a来估计在时间t+1处的状态S’的预测器。信息处理设备10还根据在时间t+1处的状态S’来构建计算估计报酬的报酬估计器。如图77所示,然后,信息处理设备10使用预测器来预测针对可以由角色在当前状态S中采取的每一个行动的下一个状态S’。另外,信息处理设备10将预测状态S’输入到报酬估计器以计算估计报酬y。已经计算了估计报酬y的信息处理设备10选择估计报酬y最高的行动。
在图77中的例子中,对应于行动a=“对所有敌人开火”的估计报酬y是最高的。出于这一原因,在本例中,行动a=“对所有敌人开火”被选作最佳动作。这里,如图78所示,思维过程可以被配置为选择具有高估计报酬、高估计误差并且对应于在特征量空间中具有稀疏密度的区域中的特征量坐标的行动。也就是说,可以基于针对较早前描述的构建报酬估计器的有效方法介绍的报酬得分、未知得分和误差得分来构建思维过程。
请注意,报酬得分是通过使用报酬估计器找到针对可以采取的所有行动的估计报酬并分配随着估计报酬的增加而增加的得分(诸如1、2、3…,从最低的估计报酬开始按顺序分配)来获得的。未知得分是通过使用如图25等所示的方法找到针对所有行动的特征量坐标的外围密度并分配随着密度降低而增加的得分(诸如1、2、3…,从最高的密度开始按顺序分配)来获得的。
此外,为了找到误差得分,信息处理设备10首先将估计报酬y与实际报酬r的值进行比较,并找出针对所有已有行动历史数据的误差。接下来,信息处理设备10在特征量空间中绘出对应于其误差大于平均值的行动历史数据的特征量坐标。其后,信息处理设备10找到已经绘出的特征量坐标的密度分布。最后,信息处理设备10找到对应于所有行动历史数据的特征量坐标的密度,并分配随密度的增加而增加的得分(诸如1、2、3…,从最低的密度开始按顺序分配)。
作为一个例子,当报酬得分被表示为s1、未知得分被表示为s2、并且误差得分被表示为s3时,当选择一个动作时,信息处理设备10计算s1×w1+s2×w2+s3×w3的值(其中w1到w3是指定的权重)并选择这样的值最高的行动。通过以这种方式选择行动,可以选择具有高报酬、大估计误差以及其特征量坐标位于特征量空间中具有稀疏密度的区域中的行动。
现在将参考图79描述使用构建报酬估计器的有效方法的效果。在图79中的曲线图是这样的曲线图,其中,针对选择获得最高估计报酬的行动的情况(“最佳策略”)与构建报酬估计器的有效方法被使用的情况(“搜索行为”)比较在过关之前每一步的平均报酬。从图79中的曲线图应该清楚可知的是,通过使用这三种得分而构建的思维过程,可以稳定地获得高报酬。从这一评估结果理解,通过使用构建报酬估计器的有效方法,可以降低计算负荷,并且还可以构建具有较高性能的思维过程。
请注意,还应当理解,将自动构建的思维过程应用到角色扮演游戏还能够添加下面的策略。
(A)集中攻击
集中攻击是为了使敌人的数量快速地减少。
(B)如果HP降低则恢复
遭受HP下降的盟友的HP被恢复,以保护该盟友免遭失败。
(C)单独攻击与成组攻击之间的切换
当存在相对较大数量的敌人时,使用攻击全部敌人的魔法。如果很明显的是当前正在遭受集中攻击的敌人可以通过很小的伤害来被击败,那么可以使用攻击每个敌人的魔法来击败该敌人并且还对其他敌人造成伤害。
(D)避免魔法的浪费使用
治愈魔法不被用于没有遭受HP下降的盟友。魔法也不对该魔法不起作用的敌人使用。
这样完成了对角色扮演游戏的应用的描述。
如上所述,通过采用根据上述本实施例的技术,可以在不需要手工调整的条件下自动构建各种思维过程。
4:示例硬件配置
例如,上述信息处理设备10的各个组成元件的功能可以使用如图80所示的硬件配置来实现。也就是说,各个组成元件的功能是通过使用计算机程序控制如图80所示的硬件来实现的。请注意,硬件的形式是任意的,并且作为例子包括:个人计算机、移动电话、PHS、诸如PDA的移动信息终端、游戏机或各种智能家用设备。这里,“PHS”的表述是“个人手持系统”的简称。“PDA”的表述是“个人数字助理”的简称。
如图80所示,硬件主要包括CPU 902、ROM 904、RAM 906、主机总线908和桥接器910。另外,硬件包括外部总线912、接口914、输入单元916、输出单元918、存储单元920、驱动器922、连接端口924和通信单元926。这里,“CPU”的表述是“中央处理单元”的简称。“ROM”的表述是“只读存储器”的简称。“RAM”的表述是“随机存取存储器”的简称。
例如,CPU 902充当计算处理设备或控制设备,并且各个组成元件的全部或部分操作是基于记录在ROM 904、RAM 906、存储单元920或可移动记录介质928中的各种程序来控制的。ROM 904是存储写入CPU 902中的程序和在计算中使用的数据等的装置。在RAM 906中,例如,写入到CPU 902中的程序和当该程序被执行时适当地改变的各种参数被临时地或者永久地存储。
作为一个例子,这样的组成元件经由能够高速数据传输的主机总线908被连接到另一个组成元件。同时,作为一个例子,主机总线908经由桥接器910被连接到具有相对低的数据传输速度的外部总线912。作为输入单元916,例如,鼠标、键盘、触摸面板、按钮、开关和控制杆被使用。另外,能够使用红外线或其它电磁波传送控制信号的遥控器可以被用作输入单元916。
输出单元918是音频地或可视地将获取的信息通知用户的设备,例如,比如CRT、LCD、PDP或ELD的显示设备,比如扬声器或头戴式电话的音频输出设备,打印机、移动电话或传真装置。这里,“CRT”是“阴极射线管”的简称,“LCD”是“液晶显示器”的简称、“PDP”是“等离子显示器”的简称,并且“ELD”是“电致发光显示器”的简称。
存储单元920是用于存储各种类型的数据的设备。作为例子,诸如硬盘驱动器(HDD)、半导体存储装置、光学存储装置或磁光存储装置的磁存储装置被用作存储单元920。这里,“HDD”是“硬盘驱动器”的简称。
作为一个例子,驱动器922是读取记录在可移动记录介质928上的信息或者将信息写到可移动记录介质928上的设备,该可移动记录介质928可以是磁盘、光盘、磁光盘或半导体存储器。作为例子,可移动记录介质928是DVD介质、蓝光介质、HD-DVD介质或各种类型的半导体存储介质。应该显而易见的是,作为其它例子,可移动记录介质928可以是装备有非接触式IC芯片的IC卡、电子设备等。这里,“IC”是“集成电路”的简称。
连接端口924是用于连接到外部连接设备930的端口,诸如:USB端口、IEEE 1394端口、SCSI、RS-232C端口或光学音频插孔。例如,外部连接的设备930是打印机、移动音乐播放器、数字照相机、数字摄像机或IC记录器。这里,“USB”是“通用串行总线”的简称,“SCSI”是“小型计算机系统接口”的简称。
通信单元926是用于连接到网络932的通信装置,并且例如,是用于有线或无线LAN、Bluetooth(注册商标)或WUSB的通信卡,用于光通信的路由器、ADSL路由器或各种类型的通信调制解调器。连接到通信单元926的网络932由通过无线或使用电缆连接的网络来配置,并且例如是互联网、家用LAN、红外通信、可见光通信、广播或卫星通信。这里,“LAN”是“局域网”的简称,“WUSB”是“无线USB”的简称。“ADSL”是“非对称数字用户线”的简称。
这样完成了对示例硬件配置的描述。
5:总结
最后,将简短地总结上述实施例的技术概念。下面给出的技术概念可以被应用于各种信息处理设备,诸如:PC、移动电话、移动游戏机、移动信息终端、智能家用设备或汽车导航系统。
上述信息处理设备的功能配置可以按如下表述。例如,在下面的(1)中描述的信息处理设备可以使用行动历史数据自动地构建报酬估计器。当使用这样的报酬估计器时,针对响应于存在代理的状态可以由代理采用的每一个行动,可以估计在采取这样的行动中由代理获得的报酬。这意味着,通过执行使代理采取被估计为获得高报酬的行动的控制,可以实现代理的智能行动。换句话说,在下面的(1)中描述的信息处理设备能够自动地构建能够实现代理的智能行动的思考过程。特别地,由于在下面的(1)中描述的信息处理设备优先选择其报酬值高并且没有被包含在行动历史数据中的行动,因此可以有效地、自动地构建思考过程。
(1)一种信息处理设备,包括:
报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及
行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
(2)根据(1)所述的信息处理设备,
其中,行动选择单元优先选择具有使用报酬估计器估计的高报酬值、对于报酬值具有高估计误差并且不包含在行动历史数据中的行动。
(3)根据(1)或(2)所述的信息处理设备,
其中,报酬估计器生成单元包括:
基本函数生成单元,该基本函数生成单元通过组合多个处理函数来生成多个基本函数;
特征量向量计算单元,该特征量向量计算单元通过将包含在行动历史数据中的状态数据和行动数据输入到所述多个基本函数中来计算特征量向量;以及
估计函数计算单元,该估计函数计算单元根据回归/判别学习来计算估计函数,该估计函数从特征量向量估计包含在行动历史数据中的报酬值,
其中,报酬值估计器包括多个基本函数和估计函数。
(4)根据(3)所述的信息处理设备,
其中,当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,特征量向量计算单元用于针对包含在行动历史数据中的所有状态数据和行动数据计算特征量向量,并且
信息处理设备还包括分布调整单元,该分布调整单元对包含在行动历史数据中的各组状态数据、行动数据和报酬值进行采样,从而使得在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
(5)根据(3)所述的信息处理设备,
其中,当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,特征量向量计算单元用于针对包含在行动历史数据中的所有状态数据和行动数据计算特征量向量,并且
信息处理设备还包括分布调整单元,该分布调整单元针对包含在行动历史数据中的各组状态数据、行动数据和报酬值设置权重,从而使得在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
(6)根据(4)所述的信息处理设备,
其中,分布调整单元针对包含在行动历史数据中的各组状态数据、行动数据和报酬值设置权重,从而使得在采样后剩余的针对各组状态数据、行动数据和报酬值的在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
(7)根据(3)到(6)中的任意一项描述的信息处理设备,
其中,基本函数生成单元基于遗传算法更新基本函数,
当基本函数已经被更新时,特征量向量计算单元用于将状态数据和行动数据输入到更新的基本函数中,以计算特征量向量,并且
响应于使用更新的基本函数计算的特征量向量的输入,估计函数计算单元计算估计报酬值的估计函数。
(8)一种信息处理设备,包括:
报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;以及
行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
(9)一种信息处理方法,包括:
使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;
使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及
当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
(10)一种信息处理方法,包括:
使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;
使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及
当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
(11)一种程序,使计算机实现:
报酬估计器生成函数,该报酬估计器生成函数使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择函数,该行动选择函数从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及
行动历史添加函数,该行动历史添加函数使代理根据行动选择函数的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成函数用于重新生成报酬估计器。
(12)一种程序,使计算机实现:
报酬估计器生成函数,该报酬估计器生成函数使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择函数,该行动选择函数从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;以及
行动历史添加函数,该行动历史添加函数使代理根据行动选择函数的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成函数用于重新生成报酬估计器。
评论
上述的报酬估计器构建单元12是“报酬估计器生成单元”的一个例子。上述的行动历史数据获取单元11是“行动历史添加单元”的一个例子。上述的基本函数列表生成单元121是“基本函数生成单元”的一个例子。上述的特征量计算单元122是“特征量向量计算单元”的一个例子。上述的估计函数生成单元123是“估计函数计算单元”的一个例子。上述的行动历史数据综合单元124是“分布调整单元”的一个例子。
尽管已经参考附图在上文中描述了本公开的优选实施例,但是,应当显而易见的是本公开不限于在本说明书中描述的示例配置。本领域的技术人员应该理解,可以根据设计要求和其它因素进行各种修改、组合、子组合和替换,只要它们在所附权利要求或其等同物的范围即可。
本申请包含与在2011年10月12日提交在日本专利局中的日本在先专利申请JP2011-224639中公开的主题相关的主题,该专利申请的全部内容以引用的方式并入本文中。

Claims (10)

1.一种信息处理设备,包括:
报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及
行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
2.根据权利要求1所述的信息处理设备,
其中,行动选择单元优先选择具有使用报酬估计器估计的高报酬值、对于报酬值具有高估计误差并且不包含在行动历史数据中的行动。
3.根据权利要求1所述的信息处理设备,
其中,报酬估计器生成单元包括:
基本函数生成单元,该基本函数生成单元通过组合多个处理函数来生成多个基本函数;
特征量向量计算单元,该特征量向量计算单元通过将包含在行动历史数据中的状态数据和行动数据输入到所述多个基本函数中来计算特征量向量;以及
估计函数计算单元,该估计函数计算单元根据回归/判别学习来计算估计函数,该估计函数从特征量向量估计包含在行动历史数据中的报酬值,
其中,报酬值估计器包括多个基本函数和估计函数。
4.根据权利要求3所述的信息处理设备,
其中,当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,特征量向量计算单元用于针对包含在行动历史数据中的所有状态数据和行动数据计算特征量向量,并且
信息处理设备还包括分布调整单元,该分布调整单元对包含在行动历史数据中的各组状态数据、行动数据和报酬值进行采样,从而使得在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
5.根据权利要求3所述的信息处理设备,
其中,当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,特征量向量计算单元用于针对包含在行动历史数据中的所有状态数据和行动数据计算特征量向量,并且
信息处理设备还包括分布调整单元,该分布调整单元针对包含在行动历史数据中的各组状态数据、行动数据和报酬值设置权重,从而使得在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
6.根据权利要求4所述的信息处理设备,
其中,分布调整单元针对包含在行动历史数据中的各组状态数据、行动数据和报酬值设置权重,从而使得在采样后剩余的针对各组状态数据、行动数据和报酬值的在特征量空间中由特征量向量指示的坐标点的分布接近特定分布。
7.根据权利要求3所述的信息处理设备,
其中,基本函数生成单元基于遗传算法更新基本函数,
当基本函数已经被更新时,特征量向量计算单元用于将状态数据和行动数据输入到更新的基本函数中,以计算特征量向量,并且
响应于使用更新的基本函数计算的特征量向量的输入,估计函数计算单元计算估计报酬值的估计函数。
8.一种信息处理设备,包括:
报酬估计器生成单元,该报酬估计器生成单元使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
行动选择单元,该行动选择单元从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;以及
行动历史添加单元,该行动历史添加单元使代理根据行动选择单元的选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据,
其中,当已经将一组状态数据、行动数据和报酬值添加到行动历史数据时,报酬估计器生成单元用于重新生成报酬估计器。
9.一种信息处理方法,包括:
使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且不包含在行动历史数据中的行动;以及
使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及
当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
10.一种信息处理方法,包括:
使用行动历史数据作为学习数据来通过机器学习生成根据输入的状态数据和行动数据估计报酬值的报酬估计器,该行动历史数据包含表示代理的状态的状态数据、表示在该状态中由代理采取的行动的行动数据、以及表示作为该行动的结果的由代理获得的报酬的报酬值;
从代理能够采取的行动中优先选择具有使用报酬估计器估计的高报酬值并且其报酬值具有大估计误差的行动;
使代理根据选择结果进行行动,并将在行动的过程中获得的状态数据和行动数据与作为行动的结果获得的报酬值彼此相关联地添加到行动历史数据;以及
当一组状态数据、行动数据和报酬值已经被添加到行动历史数据时,重新生成报酬估计器。
CN201210366351.5A 2011-10-12 2012-09-28 信息处理设备、信息处理方法和程序 Expired - Fee Related CN103198358B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011224639A JP5879899B2 (ja) 2011-10-12 2011-10-12 情報処理装置、情報処理方法、及びプログラム
JP2011-224639 2011-10-12

Publications (2)

Publication Number Publication Date
CN103198358A CN103198358A (zh) 2013-07-10
CN103198358B true CN103198358B (zh) 2017-05-24

Family

ID=48086658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210366351.5A Expired - Fee Related CN103198358B (zh) 2011-10-12 2012-09-28 信息处理设备、信息处理方法和程序

Country Status (3)

Country Link
US (1) US9165249B2 (zh)
JP (1) JP5879899B2 (zh)
CN (1) CN103198358B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852419B2 (en) * 2012-09-17 2017-12-26 Capital One Financial Corporation Systems and methods for providing near field communications
US20140164220A1 (en) * 2012-12-06 2014-06-12 Microsoft Corporation Payment instrument selection
JP6516406B2 (ja) * 2013-12-13 2019-05-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理装置、処理方法、およびプログラム
KR20150107418A (ko) * 2014-03-14 2015-09-23 삼성전자주식회사 전자 지갑을 활용한 결제 방법, 장치 그리고 시스템
JP6465106B2 (ja) * 2014-03-31 2019-02-06 日本電気株式会社 教師データ生成装置、電気機器監視システム、教師データ生成方法及びプログラム
MX2018000942A (es) * 2015-07-24 2018-08-09 Deepmind Tech Ltd Control continuo con aprendizaje de refuerzo profundo.
JP6630522B2 (ja) * 2015-09-16 2020-01-15 株式会社バンダイナムコエンターテインメント ゲーム装置及びプログラム
JP2018049563A (ja) * 2016-09-23 2018-03-29 カシオ計算機株式会社 電子機器、サーバ、対価設定方法及びプログラム
WO2018101035A1 (ja) * 2016-11-29 2018-06-07 ソニー株式会社 情報処理装置及び情報処理方法
WO2018150654A1 (ja) * 2017-02-15 2018-08-23 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
CN110326004B (zh) * 2017-02-24 2023-06-30 谷歌有限责任公司 使用路径一致性学习训练策略神经网络
JP6795090B2 (ja) 2017-04-28 2020-12-02 富士通株式会社 行動選択学習装置、行動選択学習プログラム、行動選択学習方法及び行動選択学習システム
EP3596662A1 (en) * 2017-05-19 2020-01-22 Deepmind Technologies Limited Imagination-based agent neural networks
JP6612306B2 (ja) * 2017-11-21 2019-11-27 株式会社 ディー・エヌ・エー 情報処理装置及び情報処理プログラム
JP2019118461A (ja) 2017-12-28 2019-07-22 株式会社 ディー・エヌ・エー 情報処理装置及び情報処理プログラム
WO2019150452A1 (ja) * 2018-01-30 2019-08-08 日本電気株式会社 情報処理装置、制御方法、及びプログラム
US20210125039A1 (en) * 2018-06-11 2021-04-29 Nec Solution Innovators, Ltd. Action learning device, action learning method, action learning system, program, and storage medium
JP7048455B2 (ja) * 2018-08-30 2022-04-05 本田技研工業株式会社 学習装置、シミュレーションシステム、学習方法、およびプログラム
JP7199203B2 (ja) 2018-11-16 2023-01-05 株式会社Cygames ゲームプログラムを検査するためのシステム、方法、プログラム、機械学習支援装置、及びデータ構造
US11928556B2 (en) * 2018-12-29 2024-03-12 International Business Machines Corporation Removing unnecessary history from reinforcement learning state
KR102209917B1 (ko) * 2018-12-31 2021-01-29 아주대학교산학협력단 심층 강화 학습을 위한 데이터 처리 장치 및 방법
CN110327624B (zh) * 2019-07-03 2023-03-17 广州多益网络股份有限公司 一种基于课程强化学习的游戏跟随方法和系统
JP7335739B2 (ja) * 2019-07-16 2023-08-30 株式会社 ディー・エヌ・エー ゲームを提供するためのシステム、方法、及びプログラム
JP6812583B1 (ja) * 2020-02-28 2021-01-13 株式会社Cygames ゲームスクリプトの作成を支援するためのシステム及び方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627251A (zh) * 2003-12-09 2005-06-15 微软公司 使用图形处理单元加速并优化机器学习技术的处理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403904B2 (en) * 2002-07-19 2008-07-22 International Business Machines Corporation System and method for sequential decision making for customer relationship management
US7837543B2 (en) * 2004-04-30 2010-11-23 Microsoft Corporation Reward-driven adaptive agents for video games
US7668632B2 (en) * 2004-11-22 2010-02-23 The Boeing Company System, method and computer program product for real-time event identification and course of action interpretation
JP4525477B2 (ja) * 2005-02-23 2010-08-18 ソニー株式会社 学習制御装置および学習制御方法、並びに、プログラム
US20070203871A1 (en) * 2006-01-23 2007-08-30 Tesauro Gerald J Method and apparatus for reward-based learning of improved systems management policies
JP4392620B2 (ja) 2007-08-14 2010-01-06 ソニー株式会社 情報処理装置、情報処理方法、演算装置、演算方法、プログラム、および記録媒体
JP4803212B2 (ja) * 2008-05-28 2011-10-26 ソニー株式会社 データ処理装置、データ処理方法、及びプログラム
JP5440840B2 (ja) * 2009-06-11 2014-03-12 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627251A (zh) * 2003-12-09 2005-06-15 微软公司 使用图形处理单元加速并优化机器学习技术的处理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"active learning for reward estimation in inverse reinforcement learning";Manuel Lopes等;《active learning for reward estimation in inverse reinforcement learning》;20091231;第33-40页 *

Also Published As

Publication number Publication date
US20130097107A1 (en) 2013-04-18
US9165249B2 (en) 2015-10-20
JP5879899B2 (ja) 2016-03-08
JP2013081683A (ja) 2013-05-09
CN103198358A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103198358B (zh) 信息处理设备、信息处理方法和程序
JP5874292B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Torrado et al. Bootstrapping conditional gans for video game level generation
CN111632379B (zh) 游戏角色行为控制方法、装置、存储介质及电子设备
JP7399277B2 (ja) 情報処理方法、装置、コンピュータプログラム及び電子装置
Khalifa et al. Intentional computational level design
Janusz et al. Helping ai to play hearthstone: Aaia'17 data mining challenge
Martínez et al. Extending neuro-evolutionary preference learning through player modeling
Phon-Amnuaisuk Evolving and discovering Tetris gameplay strategies
Cuccu et al. Playing Atari with few neurons: Improving the efficacy of reinforcement learning by decoupling feature extraction and decision making
Qader et al. Evolving and training of neural network to play DAMA board game using NEAT algorithm
Zhou et al. Discovering of game AIs’ characters using a neural network based AI imitator for AI clustering
Safak et al. Automated maze generation for Ms. Pac-Man using genetic algorithms
Lara-Cabrera et al. Geometrical vs topological measures for the evolution of aesthetic maps in a RTS game
Liang Research on prediction of the game winner based on artificial intelligence methods
Chole et al. Locust Mayfly optimization-tuned neural network for AI-based pruning in Chess game
Zhu et al. Design and implementation of NPC AI based on genetic algorithm and BP neural network
Chang et al. Construction of macro actions for deep reinforcement learning
Ring et al. Replicating deepmind starcraft ii reinforcement learning benchmark with actor-critic methods
Mandel Better Education Through Improved Reinforcement Learning
Thawonmas et al. Aggregation of action symbol sub-sequences for discovery of online-game player characteristics using KeyGraph
Kielmann Neuro-evolution as an Alternative to Reinforcement Learning for Playing Atari Games
Autin Super Mario Evolution by the Augmentation of Topology
Jusoh et al. AI Games and Algorithms: An Overview of Categories
Thaker et al. Evolutionary computation in artificial board game playing through genetic weight evolution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170524

CF01 Termination of patent right due to non-payment of annual fee