JP7413628B2 - Abstraction interface for gamification of machine learning algorithms - Google Patents

Abstraction interface for gamification of machine learning algorithms Download PDF

Info

Publication number
JP7413628B2
JP7413628B2 JP2020552388A JP2020552388A JP7413628B2 JP 7413628 B2 JP7413628 B2 JP 7413628B2 JP 2020552388 A JP2020552388 A JP 2020552388A JP 2020552388 A JP2020552388 A JP 2020552388A JP 7413628 B2 JP7413628 B2 JP 7413628B2
Authority
JP
Japan
Prior art keywords
machine learning
solution
solutions
processed
interactive
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.)
Active
Application number
JP2020552388A
Other languages
Japanese (ja)
Other versions
JP2021519972A (en
Inventor
クラーク、コーリー
Original Assignee
バランスド メディア テクノロジー エルエルシー
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 バランスド メディア テクノロジー エルエルシー filed Critical バランスド メディア テクノロジー エルエルシー
Publication of JP2021519972A publication Critical patent/JP2021519972A/en
Application granted granted Critical
Publication of JP7413628B2 publication Critical patent/JP7413628B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • G06F18/41Interactive pattern learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

本開示は、一般に、ユーザ対話を伴う機械学習(ML)アルゴリズムの処理に関する。より具体的には、本開示は、機械学習アルゴリズムのゲーミフィケーションのための抽象化インターフェイスに関する。 TECHNICAL FIELD This disclosure generally relates to processing machine learning (ML) algorithms with user interaction. More specifically, the present disclosure relates to abstraction interfaces for gamification of machine learning algorithms.

多くの研究者がゲーム及びゲーム的な活動に目を向け、クラウドソーシング型の研究または市民科学(CS)(ヒューマンコンピューティング(HC)とも呼ばれる)を通じて研究にアプローチしている。CS研究技術は、研究者が、科学的研究を支援することに関心のあるボランティア市民科学者の膨大な潜在的ネットワークにアクセスすることを可能にする。Foldit(登録商標)などのCSゲームは、科学的な課題をゲームに変える。多くのCSゲームは、興味をうまく生み出し、貴重なデータ分析を提供し、科学的問題に対する創造的なソリューションを生み出すことが証明されている。これらのCSゲームの可能性にも拘わらず、CSゲームは、商用ビデオゲームのレベルでの成功及びエンゲージメントを見出していない。 Many researchers are turning to games and game-like activities and approaching research through crowdsourced research or citizen science (CS), also known as human computing (HC). CS research technology allows researchers to access a vast potential network of volunteer citizen scientists interested in supporting scientific research. CS games such as Foldit® turn scientific tasks into games. Many CS games have been proven to successfully generate interest, provide valuable data analysis, and generate creative solutions to scientific problems. Despite the potential of these CS games, CS games have not found success and engagement on the level of commercial video games.

本開示の実施形態は、対話型機械学習、機械学習アルゴリズムのゲーミフィケーションのための抽象化インターフェイス、及び/または構築主義拡張機械学習を提供する。 Embodiments of the present disclosure provide an abstracted interface for interactive machine learning, gamification of machine learning algorithms, and/or constructivist augmented machine learning.

一実施形態では、対話型機械学習の方法が提供される。この方法は、所与の問題に対するソリューションを識別するステップと、識別されたソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって可能なソリューションを処理するステップと、少なくとも部分がプロセスの異なる反復からのものである複数の処理されるソリューションに基づいて処理されるソリューションを選択するステップと、終了条件に基づいて所与の問題に対する選択されたソリューションを用いてプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行することを含む。プロセスを実行することは、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分を実行する際に使用する対話型アプリケーションへの入力を受信することを含む。 In one embodiment, a method of interactive machine learning is provided. This method is based on the steps of identifying solutions to a given problem and determining that the identified solutions are possible solutions to the given problem. processing possible solutions by executing; selecting a processed solution based on a plurality of processed solutions at least in part from different iterations of the process; and selecting a processed solution based on a termination condition. and determining whether to terminate the process using the selected solution to the given problem. Executing the process includes receiving input to the interactive application for use in performing at least a portion of the steps via a user interface for the interactive application.

別の実施形態では、対話型機械学習のシステムが提供される。システムは、プロセッサと、プロセッサに動作可能に接続された通信インターフェイスと、を含む。プロセッサは、所与の問題に対するソリューションを識別するステップと、識別されたソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって可能なソリューションを処理するステップと、少なくとも部分がプロセスの異なる反復からのものである複数の処理されるソリューションに基づいて処理されたソリューションを選択するステップと、終了条件に基づいて所与の問題に対する選択されたソリューションを用いてプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行するように構成される。通信インターフェイスは、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分の実行で使用するために、対話型アプリケーションへの入力を受信するように構成される。 In another embodiment, a system for interactive machine learning is provided. The system includes a processor and a communication interface operably connected to the processor. The processor executes a machine learning application using the possible solutions based on identifying solutions to the given problem and determining that the identified solutions are possible solutions to the given problem. selecting a processed solution based on a plurality of processed solutions at least in part from different iterations of the process; and selecting a processed solution based on a termination condition. determining whether to terminate the process using the selected solution to the problem. The communication interface is configured to receive input to the interactive application for use in performing at least a portion of the steps via a user interface for the interactive application.

別の実施形態では、対話型機械学習のための非一時的コンピュータ可読媒体が提供される。コンピュータ可読媒体は、システムのプロセッサによって実行されるとき、システムに、所与の問題に対するソリューションを識別するステップと、識別されたソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって、可能なソリューションを処理するステップと、プロセスの異なる反復からの少なくとも部分の処理されるソリューションに基づいて処理されるソリューションを選択するステップと、終了条件に基づいて、所与の問題に対して選択されたソリューションを使用するプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行させるプログラムコードを含む。コンピュータ可読媒体は、システムのプロセッサによって実行されると、システムに、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分の実行で使用するために対話型アプリケーションに入力を受信させるプログラムコードをさらに含む。 In another embodiment, a non-transitory computer-readable medium for interactive machine learning is provided. The computer-readable medium, when executed by a processor of the system, directs the system to the steps of: identifying a solution to a given problem; and determining that the identified solution is a possible solution to the given problem. processing the possible solutions by running a machine learning application using the possible solutions and selecting the processed solution based on at least a portion of the processed solutions from different iterations of the process; and determining whether to terminate the process using the selected solution for a given problem based on a termination condition. The computer-readable medium includes program code that, when executed by a processor of the system, causes the system to receive input to an interactive application for use in performing at least a portion of the steps, via a user interface for the interactive application. further including.

本開示の様々な実施形態を実施することができるネットワーク化されたシステムの一例を示す。1 illustrates an example of a networked system in which various embodiments of the present disclosure may be implemented. 本開示の様々な実施形態を実施することができるサーバの一例を示す。1 illustrates an example of a server that may implement various embodiments of the present disclosure. 本開示の様々な実施形態が実装され得るクライアント装置の例を示す。1 illustrates an example of a client device on which various embodiments of the present disclosure may be implemented. 本開示の様々な実施形態による、機械学習アルゴリズムのゲーミフィケーションを可能にする抽象化アルゴリズムインターフェイスを実装するためのプロセスを示す。2 illustrates a process for implementing an abstract algorithm interface that enables gamification of machine learning algorithms, according to various embodiments of the present disclosure. 本開示の様々な実施形態によるゲームプレイループのモデル内の機械学習アルゴリズムの例示的な実装を示す。2 illustrates an example implementation of a machine learning algorithm within a model of a gameplay loop according to various embodiments of the present disclosure. 本開示の様々な実施形態による、ゲームプレイを動的にスケーリングし、ゲームレベルを調整するためにアルゴリズム性能を使用するためのプロセスを示す。4 illustrates a process for dynamically scaling gameplay and using algorithmic performance to adjust game levels in accordance with various embodiments of the present disclosure. 本開示の1つまたは複数の実施形態による、ゲームプレイを動的にスケーリングし、ゲームレベルを調整するために使用される、経時的な機械学習アルゴリズム性能の例示的なグラフを示す。2 illustrates an example graph of machine learning algorithm performance over time used to dynamically scale gameplay and adjust game levels in accordance with one or more embodiments of the present disclosure.

本開示及びその利点をより完全に理解するために、以下の説明を添付の図面と併せて参照し、添付の図面では、同様の参照符号は同様の部分を表す。 For a more complete understanding of the present disclosure and its advantages, refer to the following description in conjunction with the accompanying drawings, in which like reference numbers represent like parts.

他の技術的特徴は、以下の図面、説明、及び特許請求の範囲から当業者には容易に明らかであろう。 Other technical features will be readily apparent to those skilled in the art from the following drawings, description, and claims.

以下で論じる図1~図7、及び本特許文献における本開示の原理を説明するために使用される様々な実施形態は、例示のためだけのものであり、本開示の範囲を限定するものと決して解釈されるべきではない。当業者は、本開示の原理が、任意の適切に配置されたシステムまたはデバイスにおいて実装され得ることを理解するであろう。 1-7 discussed below and the various embodiments used to explain the principles of the present disclosure in this patent document are for illustrative purposes only and are not intended to limit the scope of the present disclosure. It should never be construed. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.

本開示の様々な実施形態は、研究者に、ビデオゲームの設計及び開発の専門家になろうと試みさせること、又は科学的問題毎にカスタマイズされたゲームを作成させることは、費用がかかる可能性があることを認識する。本開示の様々な実施形態はまた、科学的問題を解決するいくつかのCSゲームの能力にもかかわらず、これらのゲームは、主流のビデオゲームのエンゲージメントを欠いていることを認識する。低いエンゲージメントでは、カスタム生成CSゲームの有用性は、完全な可能性に達しない。 Various embodiments of the present disclosure demonstrate that having researchers attempt to become experts in video game design and development, or creating customized games for each scientific problem, can be costly. Recognize that there is. Various embodiments of the present disclosure also recognize that despite the ability of some CS games to solve scientific problems, these games lack the engagement of mainstream video games. At low engagement, the usefulness of custom-generated CS games does not reach its full potential.

本開示の様々な実施形態は、科学的研究を既存の及び/又は成功した商用ビデオゲームに接続するためのソリューションを提供する。本開示の実施形態は、研究者がより一般的な形式で主流ビデオゲームを利用するためのメカニズムを提供する。特に、本開示の様々な実施形態は、ビデオゲーム(又はより一般的には対話型エンターテイメント)、機械学習、及び問題(例えば、機械学習問題、研究及び開発に関連する科学的問題)の間のインターフェイスのためのフレームワークを提供する。 Various embodiments of the present disclosure provide solutions for connecting scientific research to existing and/or successful commercial video games. Embodiments of the present disclosure provide a mechanism for researchers to utilize mainstream video games in a more general format. In particular, various embodiments of the present disclosure discuss how video games (or more generally interactive entertainment), machine learning, and problems (e.g., machine learning problems, scientific problems related to research and development) Provides a framework for interfaces.

本開示の実施形態はまた、クラウドソーシングまたはCS技術を利用して機械学習を改善し、機械学習と対話するためのインターフェイスを提供する。現在の開示の具体例は、ゲームコミュニティのような巨大なオンラインコミュニティに、より良い世界を創造するのに役立つ重要な問題を処理するのを助けるために、彼らがすでにゲームで遊んでいる時間を利用する動機づけと力を与えることを提供する。 Embodiments of the present disclosure also utilize crowdsourcing or CS techniques to improve machine learning and provide interfaces for interacting with machine learning. A specific example of current disclosure would be to give large online communities, like the gaming community, the time they already spend playing games to help them deal with important issues that help create a better world. Provide motivation and empowerment to take advantage of.

本明細書で使用されるように、用語「ビデオゲーム」または「ゲーム」の使用は、一例として意図され、本開示の実施形態は、任意のタイプの対話型アプリケーションで実施することができる。また、本明細書で使用されるように、問題は、機械学習モデル自体の改善または修正、ならびに研究及び開発に関連する科学的問題を含む、機械学習またはコンピュータ処理を使用して処理または解決することができる任意のタイプの問題を指す。 As used herein, the use of the terms "video game" or "game" is intended as an example, and embodiments of the present disclosure may be implemented in any type of interactive application. Also, as used herein, problems are handled or solved using machine learning or computer processing, including improving or modifying machine learning models themselves, as well as scientific problems related to research and development. It can point to any type of problem.

図1は、本開示の様々な実施形態が実装され得る例示的なネットワーク化されたシステム100を示す。図1に示されるネットワーク化されたシステム100の実施形態は、単に例示のためのものである。本開示の範囲から逸脱することなく、ネットワーク化されたシステム100の他の実施形態を使用することができる。 FIG. 1 depicts an example networked system 100 in which various embodiments of the present disclosure may be implemented. The embodiment of networked system 100 shown in FIG. 1 is for illustrative purposes only. Other embodiments of networked system 100 may be used without departing from the scope of this disclosure.

図1に示すように、システム100は、システム100内の種々の構成要素間の通信を容易にするネットワーク101を含む。例えば、ネットワーク101は、ネットワークアドレス間でインターネット・プロトコル(IP)パケットまたは他の情報を通信することができる。ネットワーク101は、1つ以上のローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、バーチャルプライベートネットワーク、インターネットのようなグローバル・ネットワークの全部または一部、または1つ以上の場所にある他の通信システムまたはシステムを含むことができる。 As shown in FIG. 1, system 100 includes a network 101 that facilitates communication between various components within system 100. For example, network 101 may communicate Internet Protocol (IP) packets or other information between network addresses. Network 101 may include all or a portion of one or more local area networks, metropolitan area networks, wide area networks, virtual private networks, global networks such as the Internet, or other communication systems or systems located at one or more locations. can include systems.

ネットワーク101は、様々なサーバ102~104及び様々なクライアント装置106~114の間の通信を容易にする。サーバ102~104の各々は、1つ以上のクライアント装置106~114のためのソフトウェアを含むコンピューティングサービスを提供することができる任意の適切な電子コンピューティング装置または処理装置とすることができる。サーバ102~104の各々は、例えば、1つ以上の処理装置、命令及びデータを記憶する1つ以上のメモリ、及びネットワーク101を介した通信を容易にする1つ以上のネットワークインターフェイスを含むことができる。例えば、以下でより詳細に議論されるように、サーバ102は、1つ以上のクライアント装置106~114を使用して実装される機械学習アルゴリズムのゲーミングのための抽象化インターフェイスを提供する。サーバ103は、以下でより詳細に論じるように、機械学習アルゴリズムを改善するためにクラウドソーシング技術を利用するために抽象化インターフェイスを統合する、ソフトウェアまたはゲーム開発に分類されたサーバであってもよい。サーバ104は、解く必要がある問題、及び/または抽象化インターフェイスを用いて処理される必要があるプロジェクトまたはタスクを有する、研究者、開発者、または他のグリッドコンピューティングコンシューマに関連するサーバであってもよい。さらに、いくつかの実施形態では、サーバ102~104の何れかは、アルゴリズム性能を評価するために、機械学習アルゴリズム性能に関するメトリックを受信し、記憶し、かつ/または分析することができ、かつ/または、以下でより詳細に説明するように、機械学習アルゴリズムソリューションの結果を研究者に提供することができる。 Network 101 facilitates communication between various servers 102-104 and various client devices 106-114. Each of servers 102-104 may be any suitable electronic computing or processing device capable of providing computing services, including software, for one or more client devices 106-114. Each of servers 102 - 104 may include, for example, one or more processing units, one or more memories for storing instructions and data, and one or more network interfaces to facilitate communication over network 101 . can. For example, as discussed in more detail below, server 102 provides an abstracted interface for gaming of machine learning algorithms implemented using one or more client devices 106-114. Server 103 may be a software or game development classified server that integrates abstraction interfaces to utilize crowdsourcing techniques to improve machine learning algorithms, as discussed in more detail below. . Server 104 may be a server associated with a researcher, developer, or other grid computing consumer who has a problem that needs to be solved and/or a project or task that needs to be processed using an abstracted interface. You can. Additionally, in some embodiments, any of the servers 102-104 may receive, store, and/or analyze metrics regarding machine learning algorithm performance to evaluate algorithm performance. Alternatively, the results of machine learning algorithm solutions can be provided to researchers, as described in more detail below.

各クライアント装置106~114は、ネットワーク101を介して少なくとも1つのサーバまたは他のコンピューティング装置と対話する任意の適切な電子コンピューティングまたは処理装置を表す。この例では、クライアント装置106~114は、デスクトップコンピュータ106、携帯電話又はスマートフォン108、タブレットコンピュータ110、ラップトップコンピュータ112、ビデオゲームコンソール114、セットトップボックス及び/又はテレビ等を含む。しかしながら、ネットワーク化されたシステム100では、任意の他のまたは追加のクライアント装置を使用することができる。例えば、システム100のクライアント装置106~114のうちの1つに、任意のインターネットまたはネットワーク接続可能な装置またはIoT(Internet of Things)装置(例えば、Smart TV、冷蔵庫、Raspberry PIなど)を使用することができる。以下で論じるように、様々な実施形態では、クライアント装置106~114は、サーバ102の調整の下で、ボランティアコンピューティンググリッドを(おそらく他のコンピューティング装置と共に)形成するために参加し、機械学習アルゴリズムのゲーミフィケーションのための抽象化インターフェイスを実装する。例えば、本明細書で説明するように、クライアント装置106~114は、抽象的な事柄で1つ以上の機械学習アルゴリズムを実行する能力を含む様々なビデオゲーム又は対話型アプリケーションを実行することができる。さらに、様々な実施形態では、クライアント装置106~114の何れかは、アルゴリズム性能を評価するために機械学習アルゴリズム性能に関するメトリックを生成し、送信し、及び/または分析することができ、かつ/または、以下でより詳細に説明するように、機械学習アルゴリズムソリューションの結果を研究者に提供することができる。いくつかの実施形態では、個々のクライアント装置106~1144は、例えば、集中型サーバとの間で直接的または間接的に、例えば、ピアツーピア、アドホック、及び/またはメッシュベースのネットワークを使用して、抽象化インターフェイスを実装するために、互いにまたはサーバと通信することができる。コンピューティングタスクの協調処理のためのコンピューティンググリッドのためのプラットフォームのさらなる例は、参照によりその全体が本明細書に組み込まれる、2018年6月5日に出願された「Platform for Collaborative Processing of Computing Tasks」という名称の米国特許出願第16/000,589号に記載されている。 Each client device 106 - 114 represents any suitable electronic computing or processing device that interacts with at least one server or other computing device over network 101 . In this example, client devices 106-114 include a desktop computer 106, a mobile phone or smart phone 108, a tablet computer 110, a laptop computer 112, a video game console 114, a set-top box and/or a television, and the like. However, any other or additional client devices may be used in networked system 100. For example, one of the client devices 106-114 of the system 100 can be any Internet or network-enabled device or Internet of Things (IoT) device (e.g., a Smart TV, a refrigerator, a Raspberry PI, etc.). Can be done. As discussed below, in various embodiments, client devices 106-114 participate, under the coordination of server 102, to form a volunteer computing grid (perhaps with other computing devices) and perform machine learning. Implement abstraction interfaces for algorithm gamification. For example, as described herein, client devices 106-114 may run various video games or interactive applications that include the ability to run one or more machine learning algorithms on abstract matter. . Further, in various embodiments, any of the client devices 106-114 may generate, transmit, and/or analyze metrics regarding machine learning algorithm performance to evaluate algorithm performance and/or , as described in more detail below, can provide researchers with the results of machine learning algorithm solutions. In some embodiments, individual client devices 106 - 1144 communicate directly or indirectly with, e.g., a centralized server, e.g., using peer-to-peer, ad hoc, and/or mesh-based networks. They can communicate with each other or with servers to implement abstracted interfaces. Further examples of platforms for computing grids for collaborative processing of computing tasks include Platform for Collaborative Processing of Computing, filed June 5, 2018, which is incorporated herein by reference in its entirety. No. 16/000,589 entitled ``Tasks''.

図1は、ネットワーク化されたシステム100の一例を示しているが、図1には様々な変更を加えることができる。例えば、システム100は、任意の適切な構成で任意の数の各構成要素を含むことができ、サーバ102~104及びクライアント装置106~114のそれぞれは、システム100の一部である任意の数のサーバ及び/またはクライアント装置を表すことができる。一般に、コンピューティング及び通信システムは、多種多様な構成になり、図1は、本開示の範囲を任意の特定の構成に限定しない。図1は、ここに開示されている様々な特徴を使用することができる1つの動作環境を示しているが、これらの特徴は、任意の他の適切なシステムで使用することができる。 Although FIG. 1 shows an example of a networked system 100, various modifications can be made to FIG. For example, system 100 may include any number of each of the components in any suitable configuration, and each of servers 102 - 104 and client devices 106 - 114 may include any number of components that are part of system 100 . It can represent a server and/or a client device. Computing and communication systems generally come in a wide variety of configurations, and FIG. 1 does not limit the scope of this disclosure to any particular configuration. Although FIG. 1 depicts one operating environment in which the various features disclosed herein may be used, these features may be used in any other suitable system.

図2及び図3は、本開示の様々な実施形態による、ネットワーク化されたシステムにおける例示的なコンピューティング装置を示す。具体的には、図2は、例示的なサーバ200を示し、図3は、例示的なクライアント装置300を示す。この例示的な例では、サーバ200は、図1のサーバ102~104のうちの任意の1つを表し、クライアント装置300は、図1のクライアント装置106~114のうちの1つまたは複数を表すことができる。 2 and 3 illustrate example computing devices in a networked system according to various embodiments of the present disclosure. Specifically, FIG. 2 depicts an example server 200 and FIG. 3 depicts an example client device 300. In this illustrative example, server 200 represents any one of servers 102-104 of FIG. 1, and client device 300 represents one or more of client devices 106-114 of FIG. be able to.

図2に示すように、サーバ200は、プロセッサ210、記憶装置215、通信インターフェイス220、及び入出力(I/O)ユニット225の間の通信をサポートするバスシステム205を含む。プロセッサ210は、メモリ230にロード可能な命令を実行する。プロセッサ210は、任意の適切な数及びタイプのプロセッサまたは他のデバイスを任意の適切な構成で含むことができる。プロセッサ210のタイプの例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、及びディスクリート回路が含まれる。 As shown in FIG. 2, server 200 includes a bus system 205 that supports communications between processor 210, storage 215, communication interface 220, and input/output (I/O) units 225. Processor 210 executes instructions that can be loaded into memory 230. Processor 210 may include any suitable number and type of processors or other devices in any suitable configuration. Examples of types of processors 210 include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuits.

メモリ230及び永続記憶装置235は、情報(データ、プログラムコード、及び/または他の適切な情報など)を一時的または永続的に記憶し、検索を容易にすることができる任意の構造(1つまたは複数)を表す記憶装置215の例である。メモリ230は、ランダムアクセスメモリ、または任意の他の適切な揮発性または不揮発性記憶装置を表すことができる。永続記憶装置235は、読み取り専用メモリ、ハードドライブ、フラッシュメモリ、または光ディスクのような、データの長期記憶をサポートする1つ以上の構成要素または装置を含んでもよい。例えば、永続記憶装置235は、データの1つ以上のデータベース、クライアントアプリケーション、ボランティアコンピューティンググリッド内のセルへの発送を待つタスク、及び/またはボランティアコンピューティンググリッドからの結果の処理などを記憶することができる。様々な実施形態では、永続記憶装置235は、ネットワーク101を介して配信するためにゲーム内に機械学習アルゴリズムを統合するための、インターフェイスされた機械学習アルゴリズム又はビデオゲームのコンポーネントを有するビデオゲームを記憶することができる。 Memory 230 and persistent storage 235 may include any structure that can temporarily or permanently store and facilitate retrieval of information (such as data, program code, and/or other suitable information). or a plurality of storage devices 215. Memory 230 may represent random access memory or any other suitable volatile or non-volatile storage. Persistent storage 235 may include one or more components or devices that support long-term storage of data, such as read-only memory, hard drives, flash memory, or optical disks. For example, persistent storage 235 may store one or more databases of data, client applications, tasks awaiting shipment to cells within the volunteer computing grid, and/or processing of results from the volunteer computing grid, etc. Can be done. In various embodiments, persistent storage 235 stores a video game having interfaced machine learning algorithms or video game components for integrating machine learning algorithms within the game for distribution over network 101. can do.

通信インターフェイス220は、他のシステムまたは装置との通信をサポートする。例えば、通信インターフェイス220は、ネットワークインターフェイスカードまたはネットワーク101を介した通信を容易にする無線トランシーバを含むことができる。通信インターフェイス220は、任意の適切な物理的または無線通信リンクを介した通信をサポートしてもよい。I/Oユニット225は、データの入出力を可能にする。例えば、I/Oユニット225は、キーボード、マウス、キーパッド、タッチスクリーン、または他の適切な入力デバイスを介したユーザ入力のための接続を提供し得る。I/Oユニット225は、ディスプレイ、プリンタ、または他の適切な出力装置に出力を送ることもできる。 Communication interface 220 supports communication with other systems or devices. For example, communication interface 220 may include a network interface card or a wireless transceiver that facilitates communication over network 101. Communication interface 220 may support communication via any suitable physical or wireless communication link. I/O unit 225 enables data input and output. For example, I/O unit 225 may provide connections for user input via a keyboard, mouse, keypad, touch screen, or other suitable input device. I/O unit 225 may also send output to a display, printer, or other suitable output device.

図2はサーバ200の一例を示しているが、図2には様々な変更を加えることができる。例えば、図2の様々な構成要素は、組み合わせるか、さらに細分するか、または省略することができ、特定の必要に応じて追加の構成要素を追加することができる。特定の例として、1つのシステムとして描かれているが、サーバ200は、遠隔に配置されていてもよい複数のサーバシステムを含んでもよい。別の例では、異なるサーバシステムは、本開示の様々な実施形態による機械学習アルゴリズムのゲーミフィケーションのための抽象化インターフェイスを提供するために、処理、記憶、及び/または通信リソースのいくつかまたはすべてを提供することができる。 Although FIG. 2 shows an example of the server 200, various modifications can be made to FIG. 2. For example, various components of FIG. 2 can be combined, further subdivided, or omitted, and additional components can be added depending on particular needs. As a particular example, although depicted as one system, server 200 may include multiple server systems that may be remotely located. In another example, different server systems may have some or more processing, storage, and/or communication resources to provide an abstraction interface for gamification of machine learning algorithms in accordance with various embodiments of the present disclosure. can provide everything.

図3は、本開示の実施形態による例示的なクライアント装置300を示す。図3に示すクライアント装置300の実施形態は、例示のためだけのものであり、図1のクライアント装置106~114は、同じまたは同様の構成を有することができる。しかしながら、クライアント装置は、多種多様な構成で提供され、図3は、本開示の範囲を、電子デバイスの任意の特定の実装に限定しない。図3に示すように、クライアント装置300は、通信インターフェイス305と、プロセッサ310と、入出力(I/O)インターフェイス315と、入力325と、ディスプレイ320と、メモリ330とを含む。メモリ330は、オペレーティングシステム332と、1つ以上のクライアントアプリケーション334とを含む。 FIG. 3 illustrates an example client device 300 according to an embodiment of the present disclosure. The embodiment of client device 300 shown in FIG. 3 is for illustration only, and client devices 106-114 of FIG. 1 may have the same or similar configuration. However, client devices may be provided in a wide variety of configurations, and FIG. 3 does not limit the scope of this disclosure to any particular implementation of an electronic device. As shown in FIG. 3, client device 300 includes a communications interface 305, a processor 310, an input/output (I/O) interface 315, an input 325, a display 320, and a memory 330. Memory 330 includes an operating system 332 and one or more client applications 334.

通信インターフェイスまたは回路305は、他のシステムまたはデバイスとの通信をサポートする。例えば、通信インターフェイス305は、ネットワークインターフェイスカードまたはネットワーク101を介した通信を容易にする無線トランシーバを含むことができる。通信インターフェイス305は、任意の適切な物理的または無線通信リンクを介した通信をサポートしてもよい。無線通信を利用する実施形態の場合、通信インターフェイス305は、様々な無線通信プロトコル(例えば、Bluetooth(登録商標)、Wi-Fi、セルラー、LTE通信プロトコルなど)を使用して、1つ以上のアンテナを介して着信RF信号を受信することができる。 Communication interface or circuit 305 supports communication with other systems or devices. For example, communication interface 305 may include a network interface card or a wireless transceiver that facilitates communication over network 101. Communication interface 305 may support communication via any suitable physical or wireless communication link. For embodiments that utilize wireless communications, the communication interface 305 connects one or more antennas using various wireless communication protocols (e.g., Bluetooth, Wi-Fi, cellular, LTE communication protocols, etc.). Incoming RF signals can be received via the RF signal.

プロセッサ310は、クライアント装置300の全体的な動作を制御するために、1つ以上のプロセッサまたは他の処理装置を含み、メモリ330に記憶されたOS332を実行することができる。プロセッサ310は、ボランティアコンピューティング・グリッドの一部として、タスクの処理及びストレージのための1つまたは複数のクライアントアプリケーションなど、メモリ330に常駐するクライアントアプリケーション334を実行することもできる。様々な実施形態では、プロセッサ310は、メモリ330に常駐するクライアントアプリケーション334、例えば、以下でより詳細に説明するように、問題に対するソリューションを提供するための抽象化された機械学習アルゴリズムを含む1つ以上のビデオゲームを実行する。プロセッサ310は、任意の適切な数及びタイプのプロセッサまたは他のデバイスを任意の適切な構成で含むことができる。プロセッサ310のタイプの例には、マイクロプロセッサ、マイクロコントローラ、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、及びディスクリート回路が含まれる。 Processor 310 may include one or more processors or other processing devices and execute an OS 332 stored in memory 330 to control overall operation of client device 300. Processor 310 may also execute client applications 334 that reside in memory 330, such as one or more client applications for processing and storage of tasks, as part of a volunteer computing grid. In various embodiments, the processor 310 runs a client application 334 residing in memory 330, such as one containing an abstracted machine learning algorithm for providing a solution to a problem, as described in more detail below. Run more video games. Processor 310 may include any suitable number and type of processors or other devices in any suitable configuration. Examples of types of processor 310 include microprocessors, microcontrollers, graphics processing units (GPUs), digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuits.

プロセッサ310は、実行プロセスによって要求されるように、メモリ330の中または外にデータを移動することができる。プロセッサ310はまた、I/Oインターフェイス315に結合され、これは、ラップトップコンピュータやハンドヘルドコンピュータなどの他の装置に接続する能力をクライアント装置300に提供する。I/Oインターフェイス315は、アクセサリとプロセッサ310との間の通信経路を提供する。 Processor 310 may move data into or out of memory 330 as required by executing processes. Processor 310 is also coupled to an I/O interface 315, which provides client device 300 with the ability to connect to other devices such as a laptop computer or handheld computer. I/O interface 315 provides a communication path between accessories and processor 310.

プロセッサ310は、入力325及びディスプレイ320にも結合される。クライアント装置300のオペレータは、入力325を使用してデータを入力し、クライアント装置300に入力することができる。例えば、入力325は、タッチスクリーン、ボタン、キーボード、トラックボール、マウス、スタイラス、電子ペン、ビデオゲームコントローラ等であってもよい。ディスプレイ320は、液晶ディスプレイ、発光ダイオードディスプレイ、またはウェブサイトなどからテキスト及び/または少なくとも限定されたグラフィックスをレンダリングすることができる他のディスプレイであってもよい。メモリ330は、プロセッサ310に結合される。メモリ330の一部は、ランダムアクセスメモリを含むことができ、メモリ330の別の部分は、フラッシュメモリまたは他のリードオンリーメモリを含むことができる。 Processor 310 is also coupled to input 325 and display 320. An operator of client device 300 may use input 325 to enter data into client device 300 . For example, input 325 may be a touch screen, buttons, keyboard, trackball, mouse, stylus, electronic pen, video game controller, etc. Display 320 may be a liquid crystal display, a light emitting diode display, or other display capable of rendering text and/or at least limited graphics, such as from a website. Memory 330 is coupled to processor 310. A portion of memory 330 may include random access memory and another portion of memory 330 may include flash memory or other read-only memory.

図3はクライアント装置300の一例を示しているが、図3には様々な変更を加えることができる。例えば、図3の様々な構成要素を組み合わせるか、さらに細分するか、または省略することができ、特定の必要に応じて追加の構成要素を追加することができる。特定の例として、プロセッサ310は、1つ以上の中央処理装置及び1つ以上のグラフィック処理装置(GPU)のような複数のプロセッサに分割することができる。別の例では、ディスプレイ320は、例えば、ビデオゲームコンソール又はデスクトップコンピュータ等のクライアント装置300の一部に外部装置として接続されてもよく、その一部でなくてもよい。 Although FIG. 3 shows an example of the client device 300, various modifications can be made to FIG. 3. For example, various components of FIG. 3 may be combined, further subdivided, or omitted, and additional components may be added depending on particular needs. As a particular example, processor 310 may be divided into multiple processors, such as one or more central processing units and one or more graphics processing units (GPUs). In another example, display 320 may be connected as an external device to or not be part of client device 300, such as a video game console or desktop computer, for example.

本明細書で論じるように、本発明の様々な実施形態は、システム100の構成要素を利用して、ビデオゲーム、機械学習、及び問題に対するソリューションの間のインターフェイスのためのフレームワークを提供する。様々な実施形態による抽象化インターフェイスは、ゲーム内で実行される機械学習アルゴリズムを接続し、プレーヤがそのアルゴリズムと対話することを可能にし、アルゴリズム接続が特定のアルゴリズムまたは技法に依存しないようにする。例えば、機械学習アルゴリズムは、ゲーム内で抽象化され、機械学習アルゴリズムは、ゲームインターフェイスを介して入力されるアルゴリズムの別のピース、または全く新しいアルゴリズム(例えば、異なる研究者のための異なる科学的問題を解決するため)と置き換えることができるが、依然として同じゲーム内に収まる。 As discussed herein, various embodiments of the invention utilize components of system 100 to provide a framework for an interface between video games, machine learning, and solutions to problems. Abstraction interfaces according to various embodiments connect machine learning algorithms that are executed within a game, allow players to interact with the algorithms, and make algorithm connections independent of specific algorithms or techniques. For example, a machine learning algorithm can be abstracted within a game, and a machine learning algorithm can be created using another piece of the algorithm that is input through the game interface, or a completely new algorithm (e.g., for different scientific problems for different researchers). ) and still fit within the same game.

様々な実施形態は、従来のゲーム開発者が、ゲームをプログラミングするときに、自分のビデオゲームに対するソリューションが何であるかを既に知っていることを認識する。しかしながら、機械学習では、様々な実施形態は、研究者が、自分の問題に対する正しいソリューションが何であるか、または正しいソリューションが存在する場合であっても、何であるかについての考えを持たないことが多いことを認識している。したがって、本開示の様々な実施形態は、ユーザが、既に人気のあるおよび/または魅力的なゲームをプレイすることを可能にする。最終目標への到達が既知であるこれらのゲームは、楽しさを維持し、また、最終的なソリューションまたは良好なソリューションの保証を持っていないかもしれない機械学習アルゴリズムを統合する問題を解決する。したがって、本開示の様々な実施形態は、ゲームの楽しさを保ち、エンゲージメントしながら、アルゴリズムによる侵襲性をほとんどまたは全く伴わずに、ユーザがエンゲージメントするゲームをプレイするための抽象化インターフェイスを提供する。 Various embodiments recognize that traditional game developers already know what the solution to their video game is when programming the game. However, in machine learning, various embodiments allow researchers to have no idea what the correct solution to their problem is, or even if a correct solution exists. I realize that there are many. Accordingly, various embodiments of the present disclosure enable users to play already popular and/or engaging games. These games solve problems where reaching the end goal is known, keeping it fun and also integrating machine learning algorithms that may not have a final solution or a guarantee of a good solution. Accordingly, various embodiments of the present disclosure provide an abstracted interface for playing games that engage users with little or no algorithmic invasiveness while preserving game fun and engagement. .

本開示の様々な実施形態は、アルゴリズムがどのように実行されるかを特徴付けることができることを必要とするだけで、ソリューションに対する肯定的な結果が生じ得るという理解をさらに認識し、利用する。統合された機械学習アルゴリズムによって提供されるソリューションは、ゲーム中の処理の後でも依然として不十分であり得る。しかしながら、アルゴリズムソリューションを特徴付けることができる場合、本開示の様々な実施形態は、アルゴリズムによって提供されるソリューションが改善しているかどうかを判定するために、アルゴリズムキャラクタリゼーションを比較することができる。少なくとも少量の改善がある限り、非常に人気のあるゲーム内で実行するための抽象化インターフェイスの能力は、機械学習アルゴリズムと研究されている問題に対する最終的なソリューションの全体的な改善量を大幅に増大させる。 Various embodiments of the present disclosure further recognize and exploit the understanding that positive results for a solution can arise simply by requiring the ability to characterize how an algorithm performs. Solutions provided by integrated machine learning algorithms may still be insufficient even after in-game processing. However, if an algorithmic solution can be characterized, various embodiments of the present disclosure can compare the algorithmic characterization to determine whether the solution provided by the algorithm is an improvement. As long as there is at least a small amount of improvement, the ability of abstracted interfaces to perform within highly popular games can significantly improve the overall amount of improvement in machine learning algorithms and the final solution to the problem being studied. increase

いくつかの実施形態では、市民科学または群衆起源の研究が、機械学習アルゴリズムの1つまたは複数の態様に従って利用されて、機械学習アルゴリズムによって提供されるソリューションに対するさらなる改善を提供する。例えば、CSプロジェクト、CSゲーム、及びゲーム設計技術を分析することにより、本開示の実施形態は、研究者が問題をビデオゲーム内に含めることができる一貫したフォーマットに分解するための構造を提供する。付随するアプリケーションプログラミングインターフェイス(API)は、ゲーム開発者及び改造コミュニティ(例えば、開発者)がCSデータ及び付随するサポート機能にアクセスできるようにする一般的なインターフェイスを提供する。この構造により、開発者は、自分の設計専門知識を適用して、自分のゲームにより自然にCSを統合することができ、これにより、より多くのエンゲージメントが提供され、ユーザベースが拡張される。様々な実施形態の抽象化インターフェイスは、科学者が自分のドメイン知識及び専門知識に焦点を当てることを可能にし、一方で、ゲーム開発者のスキルを活用して新たなインターフェイスを生成し、ゲームプレイへの統合に取り組むための手段を提供し、両方とも、改造コミュニティをサポートするゲームのためのクラウドソースコミュニティソリューションの付加された創造性を活用することができる。さらに、統合ソリューションは、新しいデータ及びパラメータがアップロードされているときにゲーム及び/またはインターフェイスがリリースされた後に、CS研究者がCS研究を利用することを可能にする。 In some embodiments, citizen science or crowd-based research is utilized in accordance with one or more aspects of the machine learning algorithm to provide further improvements to the solutions provided by the machine learning algorithm. For example, by analyzing CS projects, CS games, and game design techniques, embodiments of the present disclosure provide a structure for researchers to break down problems into a consistent format that can be included within a video game. . An accompanying application programming interface (API) provides a common interface that allows game developers and the modding community (eg, developers) to access CS data and accompanying support functionality. This structure allows developers to apply their design expertise to more naturally integrate CS into their games, which provides more engagement and expands the user base. The abstracted interfaces of various embodiments allow scientists to focus on their domain knowledge and expertise, while leveraging the skills of game developers to generate new interfaces and improve gameplay. Both provide a means for working on integrations and can leverage the added creativity of crowd-sourced community solutions for games that support the modding community. Additionally, the integrated solution allows CS researchers to utilize CS research after the game and/or interface is released while new data and parameters are being uploaded.

図4は、本開示の様々な実施形態による、機械学習アルゴリズムのゲーミフィケーションを可能にする抽象化アルゴリズムインターフェイスを実装するためのプロセス400を示す。例えば、図4に示すプロセスは、図3のクライアント装置300、図2のサーバ200、及び/または図1のクライアント装置106~114の何れか(集合的にまたは個別に「システム」と呼ばれる)によって実施することができる。 FIG. 4 illustrates a process 400 for implementing an abstract algorithm interface that enables gamification of machine learning algorithms, according to various embodiments of the present disclosure. For example, the process illustrated in FIG. 4 may be executed by client device 300 of FIG. 3, server 200 of FIG. 2, and/or any of client devices 106-114 of FIG. 1 (collectively or individually referred to as a "system"). It can be implemented.

本明細書で論じるように、本開示の実施形態は、機械学習アルゴリズムを以下で論じる5つのステップに分割し、問題が同じフォーマットに従うことができる場合、問題に対するソリューションをビデオゲーム内で処理することができ、したがって、ビデオゲーム、機械学習、及び問題の間のインターフェイスを提供する。図示のように、プロセス400は、機械学習アルゴリズムが様々なサイクルで複数の提案されたソリューションを処理する反復プロセスである。プロセスは、システムが可能なソリューションを示唆することから始まる(ステップ405)。例えば、ステップ405において、システムはビデオゲームを実行している。ビデオゲーム内では、システムはまた、機械学習アルゴリズムを処理して、ゲーム内の機械学習アルゴリズムによって適切に処理されるためのフォーマットに分解された科学的問題に対するソリューションを提供する。ステップ405において、システムは、可能であろうとなかろうと、問題に対する何らかの潜在的なソリューションを提案または生成する。CSを組み込んだ実施形態では、システムは、研究問題に対する潜在的なソリューションの基準が何であるかを提示し、潜在的なソリューションのユーザからの入力を要求することができる。例えば、以下でより詳細に議論されるように、ソリューションは、ユーザによって提案されてもよいし、ユーザ入力に基づいてシステムによって識別されてもよい。様々な実施形態では、複数のソリューションをステップ405で提案し、プロセス400の各反復で評価することができる。 As discussed herein, embodiments of the present disclosure divide machine learning algorithms into five steps, discussed below, and process solutions to problems within a video game if the problems can follow the same format. can thus provide an interface between video games, machine learning, and problems. As illustrated, process 400 is an iterative process in which a machine learning algorithm processes multiple proposed solutions in various cycles. The process begins with the system suggesting possible solutions (step 405). For example, in step 405, the system is running a video game. Within the video game, the system also processes machine learning algorithms to provide solutions to scientific problems that are broken down into a format for proper processing by the in-game machine learning algorithm. In step 405, the system suggests or generates any potential solutions to the problem, whether possible or not. In embodiments that incorporate CS, the system can suggest what the criteria are for potential solutions to the research problem and request input from users of potential solutions. For example, solutions may be suggested by the user or identified by the system based on user input, as discussed in more detail below. In various embodiments, multiple solutions may be proposed at step 405 and evaluated at each iteration of process 400.

その後、システムは、提案されたソリューションが可能であるかどうかを検証する(ステップ410)。例えば、ステップ410において、システムは、提案されたソリューションが問題に対する有効なソリューションである可能性があるかどうかを判定する。例えば、出力の構造を決定するのに役立つ確立された測定値、アルゴリズム、または方程式に制限がある場合、またはソリューションが特定のフォーマット(例えば、非循環である必要があるベイズネットワーク)であることが要求される場合、提案されたソリューションは可能でないことがある。提案されたソリューション(またはステップ405で提案されたソリューションのすべて)が不可能または無効である場合、システムはステップ405に戻り、他のソリューションを提案する。 The system then verifies whether the proposed solution is possible (step 410). For example, in step 410, the system determines whether the proposed solution is likely to be a valid solution to the problem. For example, if there are limitations to established measurements, algorithms, or equations that help determine the structure of the output, or if the solution is in a particular format (e.g., a Bayesian network that needs to be acyclic) If required, the proposed solution may not be possible. If the proposed solution (or all of the solutions proposed in step 405) is impossible or invalid, the system returns to step 405 and proposes other solutions.

提案されたソリューションが可能であることを検証した後、システムは、検証されたソリューションを処理し、メトリックを生成する(ステップ415)。例えば、ステップ415において、システムは、現在提案されているソリューションを使用して機械学習アルゴリズムを実行することによって、ソリューションをテストまたは評価する。この処理はまた、1つまたは複数のメトリックを使用して、アルゴリズムがどの程度良好に実行されたかを判定することによって、機械学習アルゴリズムの性能を特徴付けることを含む。例えば、限定はしないが、これらのアルゴリズム特徴付けメトリックは、実行時間、グローバル/ローカルスコア、探索されたトータルソリューション、有効なソリューションのパーセント、及び学習曲線上の傾向を含むことができる。これらは、アルゴリズムが改善するかどうかを見るためにシステムが使用する機械学習アルゴリズムの特徴である。以下でより詳細に論じるように、ソリューションの試験または評価は、ユーザによって提案または選択され得る(たとえば、ユーザ入力に基づいてシステムによって識別される)、またはシステムによって選択または提案され得る、ソリューションのパラメータ値の修正、ならびにそれらの組合せを含むことができる。 After verifying that the proposed solution is possible, the system processes the verified solution and generates metrics (step 415). For example, in step 415, the system tests or evaluates the solution by running a machine learning algorithm using the currently proposed solution. The processing also includes characterizing the performance of the machine learning algorithm by determining how well the algorithm performed using one or more metrics. For example, and without limitation, these algorithm characterization metrics may include execution time, global/local scores, total solutions searched, percent of valid solutions, and trend on learning curve. These are characteristics of machine learning algorithms that the system uses to see if the algorithm improves. As discussed in more detail below, testing or evaluation of a solution may include parameters of the solution that may be suggested or selected by the user (e.g., identified by the system based on user input) or selected or suggested by the system. It can include modification of values as well as combinations thereof.

上述したように、改善が有意であるか、ソリューションが最終的に有用な結果であるかにかかわらず、ソリューションを特徴付けることができる限り、機械学習アルゴリズムをゲーム内で実行することができる。キャラクタリゼーションメトリックの比較に基づいて決定されるように、何らかの改善がある場合、ゲームにおける機械学習アルゴリズムの処理は有用である。本開示の抽象化インターフェイスによって、機械学習アルゴリズムを人気のある、かつ、関心のあるビデオゲーム内で実行することが可能になり、その結果、ビデオゲームの大規模なスケールによって、いかなる軽微な改善も大幅に拡大されることになる。 As mentioned above, machine learning algorithms can be implemented within a game as long as the solution can be characterized, regardless of whether the improvement is significant or whether the solution is ultimately a useful outcome. The processing of machine learning algorithms in games is useful if there is any improvement, as determined based on a comparison of characterization metrics. The abstraction interface of the present disclosure allows machine learning algorithms to be executed within popular and interesting video games, so that even minor improvements can be made by the massive scale of video games. It will be significantly expanded.

実行時間は、機械学習アルゴリズムがソリューションを処理するために使用した合計時間(またはサイクルなどの計算資源の他のメトリック)である。例えば、たとえアルゴリズムがサイクルごとにわずかな改善しか提供せず、実行時間が短い場合であっても、このアルゴリズムは、サイクルごとにソリューションのより大きな改善を提供するが、実行時間がはるかに長いアルゴリズムよりも好ましい場合がある。グローバルスコアは、現在のソリューションが、特定の科学的問題について処理された全ての以前のソリューションに対してどのようにランク付けされるかを特徴付ける。例えば、処理される特定の科学的問題のための機械学習アルゴリズムも実行しているシステム100内の他のクライアント装置と同様に、システムによって処理されるソリューションである。ローカルスコアは、現在のソリューションが、特定のクライアント装置300によって処理されたすべての以前のソリューションに対してどのようにランク付けされるかを特徴付ける。 Execution time is the total time (or other metric of computational resources such as cycles) used by a machine learning algorithm to process a solution. For example, even if an algorithm provides only a small improvement per cycle and has a short running time, this algorithm may be better suited to an algorithm that provides a larger improvement in the solution per cycle but has a much longer running time. may be more preferable than The global score characterizes how the current solution ranks against all previous solutions processed for a particular scientific problem. For example, solutions are processed by the system, as are other client devices within system 100 that are also running machine learning algorithms for the particular scientific problem being processed. The local score characterizes how the current solution ranks against all previous solutions processed by a particular client device 300.

探索されるソリューションは、機械学習アルゴリズムによって使用される技法が探索することができる、全ソリューション空間の可能なソリューションの数についてのメトリックである。 The solution searched is a metric for the number of possible solutions in the total solution space that the techniques used by the machine learning algorithm can explore.

例えば、機械学習アルゴリズムによって使用される技法を使用して、探索されたソリューションは、ソリューション空間内のソリューションの可能な総数のうち、いくつのソリューション、またはどのパーセンテージのソリューション(例えば、ステップ405における提案可能なソリューションの数など)が機械学習アルゴリズムによって探索されるかを定量化する。例えば、本開示によって提供されるエンゲージメントの増加を利用すると、トータルソリューションのより大きなパーセンテージを探索する機械学習アルゴリズムは、他の場所ではより低い性能にもかかわらず、より良好であり得る。さらに、このメトリックは、プロセスの追加の反復において追加のソリューションが示唆されるので、時間とともに更新することができる。 For example, using techniques used by machine learning algorithms, the solutions explored may be determined by how many solutions, or what percentage of the proposed solutions in step 405, out of the total possible number of solutions in the solution space. Quantify how many solutions (e.g., the number of solutions) explored by a machine learning algorithm. For example, taking advantage of the increased engagement provided by this disclosure, machine learning algorithms that explore a larger percentage of the total solution may be better despite lower performance elsewhere. Furthermore, this metric can be updated over time as additional solutions are suggested in additional iterations of the process.

有効なソリューションのパーセントは、機械学習アルゴリズムのための提案されたまたは提案されたソリューションのうちのどれだけのパーセンテージが有効であるかについてのメトリックであり、例えば、合計ソリューションの3分の2のみが有効である場合、より多くのトータルソリューションを有するアルゴリズムは、より少ないソリューションを有するが、より高い有効パーセントを有する別のアルゴリズムよりも悪くなり得る。さらに、これは、追加のソリューションがプロセスの追加の反復で検証されるときに、時間の経過とともに更新されるメトリックである。学習曲線上の傾向は、アルゴリズムが経時的にどのように実行されるかについてのメトリックである。学習曲線は、例えば、グローバルスコアメトリックまたはローカルスコアメトリックを使用して、アルゴリズムが経時的にどのように実行されるかを示す図である。アルゴリズムの性能は、開始時にはあまり良くないかもしれないが、学習曲線上でより迅速に上昇するかもしれず、したがって、より良いソリューションで始まるが、サイクルごとにほとんど改善を示さないアルゴリズムよりも好ましいかもしれない。 Percentage of valid solutions is a metric for how many percentages of proposed or suggested solutions for a machine learning algorithm are valid, e.g. only two-thirds of the total solutions If effective, an algorithm with more total solutions can be worse than another algorithm with fewer solutions but a higher percentage of effectiveness. Additionally, this is a metric that is updated over time as additional solutions are verified in additional iterations of the process. The trend on the learning curve is a metric of how an algorithm performs over time. A learning curve is a diagram that illustrates how an algorithm performs over time, using, for example, a global score metric or a local score metric. The performance of the algorithm may not be very good at the start, but may rise more quickly on the learning curve, and thus may be preferable to an algorithm that starts with a better solution but shows little improvement from cycle to cycle. do not have.

本明細書で論じられるように、科学的問題に対するソリューションを処理するアルゴリズムが、例えば、上述の例示的なメトリックのうちの1つ以上を使用して特徴付けられ得る限り、アルゴリズムの性能は、測定され得、この測定された性能が改善する場合、改善の程度に拘わらず、アルゴリズムは、科学的問題を解決するために最終的に有用であるように、ゲームプレイにうまく抽象化されている。 As discussed herein, insofar as an algorithm processing a solution to a scientific problem can be characterized using, for example, one or more of the example metrics discussed above, the performance of the algorithm can be measured using If this measured performance improves, regardless of the degree of improvement, the algorithm has been successfully abstracted into gameplay so that it is ultimately useful for solving scientific problems.

その後、システムは処理されたソリューションを選択する(ステップ420)。例えば、ステップ420において、システムは、n個の処理されたソリューションの結果を、例えば、処理されたソリューションに関して生成されたメトリックを使用してレビューし、さらなるテストのためにどのソリューションを使用するかを決定または選択する。例えば、多くの場合、ステップ405において提案されるソリューションは、ステップ420からの以前に選択されたソリューションからシードされる初期状態に基づく。したがって、ステップ405は、選択されたソリューションを出発点として使用して、新しいソリューションを提案または提案するシステムをさらに含むことができる。例えば、ステップ420の一部として、システムは、ソリューションがさらに探索される価値があるかどうか、最高のスコア(ローカルまたはグローバル)を有するかどうかなどの基準に基づいてソリューションを選択することができる。 The system then selects a processed solution (step 420). For example, in step 420, the system reviews the results of the n processed solutions, e.g., using the metrics generated for the processed solutions, and determines which solutions to use for further testing. Decide or choose. For example, often the solution proposed in step 405 is based on an initial state seeded from a previously selected solution from step 420. Accordingly, step 405 may further include the system proposing or proposing a new solution using the selected solution as a starting point. For example, as part of step 420, the system may select a solution based on criteria such as whether the solution is worth exploring further, whether it has the highest score (local or global), etc.

その後、システムは終了条件に基づいてプロセスを終了する(ステップ425)。例えば、ステップ425で、システムは、機械学習アルゴリズムの処理が1つまたは複数の終了条件を満たすかどうかを判定することができる。終了条件を満たさない場合、システムはステップ405に戻り、プロセス400の別の繰り返しに戻る。終了条件を満たす場合、システムは機械学習アルゴリズムの処理を停止する。例えば、終了条件(複数可)は、ある量の時間の間機械学習アルゴリズムを処理すること、ある回数の反復について実行すること、メトリックの何れかについてのあるスコアを処理すること、機械学習アルゴリズムについてのソリューションが、ある回数の試行について、またはある期間(例えば、アルゴリズムが収束した)について改善しないことなどを含むことができる。 The system then terminates the process based on the termination conditions (step 425). For example, at step 425, the system may determine whether processing of the machine learning algorithm satisfies one or more termination conditions. If the termination condition is not met, the system returns to step 405 and returns to another iteration of process 400. If the termination condition is met, the system stops processing the machine learning algorithm. For example, termination condition(s) may be for the machine learning algorithm to process for a certain amount of time, for a certain number of iterations, for a certain score on any of the metrics, for the machine learning algorithm to process for a certain number of iterations, to process a certain score on any of the metrics, may include that the solution does not improve for a certain number of trials or for a certain period of time (e.g., the algorithm has converged).

さらに、様々な実施形態では、本開示は、ユーザがビデオゲームを介して機械学習アルゴリズムと対話することを可能にするフレームワークを提供する。ゲームプレイをアルゴリズムに抽象化し、ゲーム内で実行するアルゴリズムを抽象化することによって、本開示の様々な実施形態は、機械学習及びユーザ対話の要素を混合し、マッチングさせて、アルゴリズムの1つまたは複数のステップを置き換えるか、または増強するか、または1つまたは複数のステップを増強することができる。例えば、ユーザは、可能なソリューションを選択し、ソリューションを評価し、ランク付けし、及び/または、どのソリューションが最良であるか、または次に使用されるソリューションであるかを選択または決定することができる。 Additionally, in various embodiments, the present disclosure provides a framework that allows users to interact with machine learning algorithms via video games. By abstracting gameplay into algorithms and abstracting the algorithms that run within the game, various embodiments of this disclosure can mix and match elements of machine learning and user interaction to create one or more of the algorithms. Multiple steps can be replaced or augmented, or one or more steps can be augmented. For example, a user may select possible solutions, evaluate and rank solutions, and/or select or decide which solution is the best or next used solution. can.

本開示は、ユーザ対話を使用して、アルゴリズムの1つまたは複数のステップを置換または増強するか、または1つまたは複数のステップを増強するための、少なくとも4つの例示的なシナリオを提供する。最初の例として、ユーザは、処理されたソリューションを評価するために使用される訓練データを生成することができる。例えば、写真から顔を識別するための機械学習アルゴリズムの場合、ユーザは、顔の写真を選択して、アルゴリズム性能を評価するために使用される訓練データを生成することができる。第2の例は、教師付き学習である。例えば、写真内の特定のオブジェクトを選択するための機械学習アルゴリズムの場合、ユーザは、機械学習アルゴリズムが正しく実行されたかどうかを示すことができる。 This disclosure provides at least four example scenarios for using user interaction to replace or augment one or more steps of an algorithm or to augment one or more steps. As a first example, a user can generate training data that is used to evaluate processed solutions. For example, for a machine learning algorithm to identify faces from photographs, a user may select photographs of faces to generate training data used to evaluate algorithm performance. The second example is supervised learning. For example, in the case of a machine learning algorithm for selecting specific objects in a photo, the user can indicate whether the machine learning algorithm performed correctly.

第3の例は突然変異である。機械学習アルゴリズムが局所探索空間または「ローカルミニマム」(ここで、ソリューションは、経時的に、あったとしてもあまり改善しない)に留まる場合、アルゴリズムは、突然変異技術を適用して、パラメータ及び変数をランダムに変化させることによって局所探索空間から脱出する。1つまたは複数の実施形態では、システムは、ユーザが突然変異または異なるソリューションを提案するための入力を要求して、アルゴリズムをローカルミニマムから移動させようと試みることができる。例えば、クライアント装置は、機械学習を使用して1000個のソリューションを評価し、ユーザがソリューションの一部をより良いものに操作するために1つまたは複数をユーザに提供することができる。次に、ユーザ操作ソリューションは、システムがローカル探索空間から脱出しようとする処理を続けるために、機械学習アルゴリズムにフィードバックされる。これにより、システムは、ヒューリスティックまたは機械学習を使用して生成された突然変異だけでなく、ユーザが選択した突然変異を機械学習アルゴリズムに適用する。1つの特定の例として、小惑星場を通って宇宙飛行体を飛行させるようにプログラムしようとする問題に対して、宇宙飛行体の各センサは、機械学習アルゴリズムへの入力と考えられ、各センサは、例えば、ニューラルネットワークのための行列の形の重み値を有する。機械学習アルゴリズムは、種々のセンサ入力に基づいて宇宙飛行体が取るべき応答のタイプ及び厳しさを含む、センサ重み付け値を、種々のセンサ間でプログラムの相対的重要度(例えば、種々のセンサ入力に基づいて、応答のタイプ及び応答の厳しさを含む)に調整する。ユーザが選択した突然変異は、どのセンサが多かれ少なかれ重要であるか(例えば、長距離または短距離センサ間の相対的重要性)の重みセンサに関する入力を提供することができる。したがって、ユーザが選択した突然変異を用いてアルゴリズムを再実行すると、ソリューションを局所探索空間またはローカルミニマムの外に移動させることができる。 A third example is mutation. When a machine learning algorithm remains in a local search space or "local minimum" (where the solution does not improve much, if at all, over time), the algorithm applies mutation techniques to reduce parameters and variables. Escape from the local search space by changing it randomly. In one or more embodiments, the system may request input from the user to suggest mutations or different solutions in an attempt to move the algorithm away from the local minimum. For example, a client device may evaluate 1000 solutions using machine learning and provide one or more of the solutions to the user for the user to manipulate to make them better. The user manipulation solution is then fed back to the machine learning algorithm to continue the process as the system attempts to escape from the local search space. This allows the system to apply user-selected mutations to the machine learning algorithm, as well as mutations generated using heuristics or machine learning. As one particular example, for the problem of trying to program a spacecraft to fly through an asteroid field, each sensor on the spacecraft is considered an input to a machine learning algorithm, and each sensor , for example, with weight values in the form of a matrix for a neural network. The machine learning algorithm calculates sensor weighting values based on the program's relative importance among the various sensors (e.g., the type and severity of responses the spacecraft should take based on the various sensor inputs). (including the type of response and the severity of the response). User-selected mutations can provide input regarding the weight sensors of which sensors are more or less important (eg, relative importance between long-range or short-range sensors). Therefore, rerunning the algorithm with user-selected mutations can move the solution out of the local search space or local minimum.

第4の例は、ヒューマンサーチヒューリスティックである。機械学習アルゴリズム処理に加えて、実際のモニタユーザゲームプレイからのデータを記録し、機械学習アルゴリズムに提供して、ユーザが機械学習アルゴリズムをより迅速に訓練しようと試みたものからソリューション(またはその一部)を「学習」または選択することができる。言い換えれば、機械学習アルゴリズムは、蓄積されたユーザデータを評価し、ユーザ決定が行われる理由を学習しようとする決定パターンを識別することができる。例えば、システムは、ユーザの検索及びデータの最適化を評価し、次いで、ユーザが行ったのと同じまたは同様の方法でデータを検索するようにニューラルネットワークを訓練して、ユーザの検索及び最適化から生成されたデータを調べることなくニューラルネットワークがプロセスを実行した場合よりも、結果がより良好であるか、またはより良好なソリューションを導くかどうかを決定するための、検索ヒューリスティックのためのプログラミングを含む。 A fourth example is the human search heuristic. In addition to machine learning algorithm processing, data from actual monitor user gameplay is recorded and provided to the machine learning algorithm to improve the solution (or one of them) from what the user attempts to train the machine learning algorithm more quickly. section) can be "learned" or selected. In other words, machine learning algorithms can evaluate accumulated user data and identify decision patterns that attempt to learn why user decisions are made. For example, the system evaluates a user's search and data optimization and then trains a neural network to search for data in the same or similar way that the user did to optimize the user's search and data optimization. programming a search heuristic to determine whether the results are better or lead to a better solution than if the neural network had performed the process without examining the data generated from the include.

その結果、本開示の実施形態は、人工知能(AI)とユーザが協調環境で協働して問題を解決するためのメカニズムをさらに提供する。機械学習アルゴリズムが、アイドルCPUリソースを単に使用して、バックグラウンドで特定のコンポーネントを処理する能力に加えて、本開示の実施形態は、ユーザフィードバック及びゲームプレイからの入力を組み込むことによって、機械学習アルゴリズムの処理にさらなる改善を提供し、上述のユーザ寄与技法を使用して機械学習アルゴリズムの有効性をさらに改善する。例えば、ユーザがソリューションを選択している場合、機械学習アルゴリズムは、ゲームに、ユーザがそのソリューションを次のサイクルに使用すべきかどうかを決定するためのソリューションを視覚的にユーザに表示させることができる。したがって、本開示の実施形態は、ユーザがビデオゲームを介して機械学習アルゴリズムと対話することを可能にするフレームワークを提供する。 As a result, embodiments of the present disclosure further provide mechanisms for artificial intelligence (AI) and users to collaborate in a collaborative environment to solve problems. In addition to the ability for machine learning algorithms to simply use idle CPU resources and process specific components in the background, embodiments of the present disclosure can also improve machine learning by incorporating input from user feedback and gameplay. Further improvements are provided to the processing of the algorithm and the user contribution techniques described above are used to further improve the effectiveness of the machine learning algorithm. For example, if a user is selecting a solution, the machine learning algorithm can have the game visually display the solution to the user for the user to decide whether that solution should be used in the next cycle. . Accordingly, embodiments of the present disclosure provide a framework that allows users to interact with machine learning algorithms via video games.

したがって、最適ソリューションを識別するのではなく改善に焦点を当て、ゲーム対話部分をアルゴリズムに基づいて必ずしも最良ソリューションではないより良いソリューションを見つけることによって、本開示の実施形態は、機械学習アルゴリズムを抽象化して、機械学習アルゴリズムを、そうでなければ適用可能であるよりも多くのゲームに適用することができるようにする。ここに開示された抽象化技術に焦点を当て、利用することによって、本開示の実施形態は、例えば、ゲーム内でアルゴリズムが使用されていないかのように、又は通常のゲームプレイからの逸脱をほとんど伴わずに、ゲームへのエンゲージメントを高く維持することを可能にする。このようにして、機械学習アルゴリズムの要素を抽象化することによって、本開示の実施形態は、ゲームの構成要素内に機械学習アルゴリズムを含めることを可能にする。これにより、研究者及び開発者は、本明細書に開示される機械学習アルゴリズムのための抽象化インターフェイスを用いて、大量に魅力的な、はるかに広く受け入れられているビデオゲーム内で、機械学習を介して自分の問題を処理することができる。さらに、本開示の抽象化インターフェイスでは、任意のタイプの機械学習アルゴリズムまたは技法を使用することができ(すなわち、特定のタイプのアルゴリズムに依存せず)、たとえば、機械学習アルゴリズムは、遺伝的アルゴリズム、粒子群最適化、ニューラルネットワーク技法などを使用することができる。 Therefore, by focusing on improving rather than identifying the optimal solution and basing the game interaction part on the algorithm to find a better solution that is not necessarily the best solution, embodiments of the present disclosure abstract machine learning algorithms. This allows machine learning algorithms to be applied to more games than would otherwise be applicable. By focusing on and utilizing the abstraction techniques disclosed herein, embodiments of the present disclosure can, for example, create a game as if no algorithms were used in the game or deviations from normal gameplay. It makes it possible to maintain high engagement with the game with little to no play. By abstracting the elements of machine learning algorithms in this manner, embodiments of the present disclosure enable the inclusion of machine learning algorithms within the components of a game. This allows researchers and developers to use the abstraction interfaces for machine learning algorithms disclosed herein to create machine learning tools within video games that are mass-appealing and much more widely accepted. be able to handle their own problems through. Further, the abstracted interfaces of this disclosure may use any type of machine learning algorithm or technique (i.e., independent of any particular type of algorithm); for example, machine learning algorithms may include genetic algorithms, Particle swarm optimization, neural network techniques, etc. can be used.

様々な実施形態では、システムは、ゲーム開発者が様々なCSプロジェクトを統合すること、ならびに分散ボランティアグリッドコンピューティングネットワークにアクセスする能力を可能にする汎用インターフェイスを提供する。研究者がこの資源を利用するためには、研究者は、プロジェクトを分析し、インターフェイスによってサポートされるフォーマットに分解するだけでよい。ゲーム開発者は、APIを自分のゲームに統合し、所与の問題タイプをサポートするエンゲージングシステムを設計し、結果データにアクセスする。このシステムは、サポートされているフォーマットに変換されると、他の同様の問題に適用するために再利用可能である。基本的には、プロジェクトを以下の一般的な分析構造に分解することができるのであれば、あらゆる種類のCSプロジェクトを分析することができる。 In various embodiments, the system provides a universal interface that allows game developers to integrate various CS projects as well as the ability to access a distributed volunteer grid computing network. For researchers to utilize this resource, they simply need to analyze and decompose the project into a format supported by the interface. Game developers integrate APIs into their games, design engagement systems that support given problem types, and access result data. This system, once converted to a supported format, is reusable to apply to other similar problems. Basically, any type of CS project can be analyzed if the project can be decomposed into the following general analysis structure.

第1に、システムは、分析または解くべき問題を識別する。プロジェクトを分析する場合、第1段階は、データを処理するのに必要な作業のタイプを識別することである。例えば、データ生成の問題(例えば、ユーザが何らかの目的のために新しいデータを作成している)か。問題は、ユーザ分析問題(例えば、ユーザは、マイクロタスクを分類しているか、さもなければ実行しているか)であるか。問題は、ユーザ計算問題(例えば、ユーザのプレーヤが、より複雑な問題解決スキルを適用している)であるか。この問題は、より伝統的には機械学習アルゴリズムまたはアプローチを使用して行われるであろうが、潜在的な対話型要素(ハイブリッドプロジェクト)を有する問題であろうか。 First, the system identifies a problem to analyze or solve. When analyzing a project, the first step is to identify the type of work required to process the data. For example, is it a data generation issue (e.g. a user is creating new data for some purpose)? Is the problem a user analysis problem (e.g., are users categorizing or otherwise performing microtasks)? Is the problem a user-computed problem (eg, the user's players are applying more complex problem-solving skills)? This problem would more traditionally be done using machine learning algorithms or approaches, but could it be a problem with a potential interactive component (hybrid project)?

第2に、システムは、データを捕捉し、変換する。たとえば、システムは、データがどの形式であるか、データにアクセスしやすいようにデータをより小さな管理しやすいデータのマイクロチャンクに分割するか、データが均一であるか、データの一部に固有のものがあるかを判定する。例えば、システムは、データの一部が既に処理されており、基礎サンプルとして(例えば、訓練データとして、またはゲームチュートリアルの基礎として)役立つことができることを決定することができる。データは、従来のカンマ区切り値(CSV)ファイルなどの解析可能な形式に配置するか、CSVファイルを使用してイメージデータへのインデックスを作成する必要がある場合がある。 Second, the system captures and transforms the data. For example, the system determines what format the data is in, whether the data is divided into smaller, more manageable micro-chunks of data to make it easier to access, whether the data is uniform, and whether the data is unique to some parts of the data. Determine whether something exists. For example, the system may determine that some of the data has already been processed and can serve as a base sample (eg, as training data or as the basis for a game tutorial). The data may need to be placed in a parsable format, such as a traditional comma separated value (CSV) file, or the CSV file may need to be used to index into the image data.

第三に、このシステムは、支援ヒューリスティクス、シミュレーション研究、または適応度基準を特定する。例えば、システムは、この研究または類似の研究の過去の分析において成功したことが証明された確立されたヒューリスティックがあるかどうかを判定する。これらのヒューリスティックは、開発コミュニティがプロセスを理解するのを助けるためのガイドラインを提供することができ、開発者がヒューリスティックアプローチのいくつかを模倣する活動を作成することができるゲームプレイループに関連する設計選択のいくつかを通知することができる。開発者は、正規化されたヒューリスティック出力を様々なゲームプレイ要素(例えば、オブジェクトの色、統計乗数)にマッピングし、ユーザが問題/データを視覚化し、対話するための固有の方法を提供することもできる。同様に、システムは、シミュレーションをより正確にすることができる確立された方程式、アルゴリズム、ツール、または他の方程式があるかどうかを判定する。この種の情報の例には、Rosetta構造予測方法が含まれる。ユーザの計算が要因となる状況では、この種の情報はデータに値を持たせるのに役立つ。これらのシミュレーションツールはまた、検証ステップまたは選択ステップの何れかにおいて、検証のために使用されてもよく、また、プロセスステップの一部としてフィットネススコアまたはメトリックを作成する際に有用であってもよい。グループスコアリングまたはコンセンサスはまた、数値ガイダンスを提供するために統計分析技術を使用する検証ツールとして役立ち得る。プロセスステップが、ユーザにフィードバックを提供するか、またはユーザ作業の品質の相対的な感覚を得るために、所与のユーザ生成結果の相対的な品質を表す値またはメトリックを出力する何らかの種類のフィットネス関数が存在する。このフィットネス関数は、解決される問題のタイプ(例えば、クラスタリング問題)または研究分野に特有の何かから得ることができる。ゲームでうまく機能するためには、これらのフィットネス関数は、フレームレートと同じくらい高速かつ効率的であり、一貫性がある必要があり、リアルタイムフィードバックは、成功するエンゲージメントにとって重要であり得る。 Third, the system identifies supporting heuristics, simulation studies, or fitness criteria. For example, the system determines whether there are established heuristics that have proven successful in past analyzes of this or similar studies. These heuristics can provide guidelines to help the development community understand the process and design associated with gameplay loops, allowing developers to create activities that mimic some of the heuristic approaches. Some of the choices may be informed. Developers can map the normalized heuristic output to various gameplay elements (e.g. object colors, statistical multipliers) and provide unique ways for users to visualize and interact with the problem/data. You can also do it. Similarly, the system determines whether there are established equations, algorithms, tools, or other equations that can make the simulation more accurate. Examples of this type of information include the Rosetta structure prediction method. In situations where user calculations are a factor, this type of information helps give the data value. These simulation tools may also be used for validation, either in the validation step or the selection step, and may also be useful in creating fitness scores or metrics as part of the process step. . Group scoring or consensus can also serve as a validation tool that uses statistical analysis techniques to provide numerical guidance. Any type of fitness in which a process step outputs a value or metric that represents the relative quality of a given user-generated result, in order to provide feedback to the user or gain a relative sense of the quality of the user's work. A function exists. This fitness function can be derived from the type of problem being solved (eg, a clustering problem) or something specific to the field of study. To work well in games, these fitness functions need to be as fast, efficient, and consistent as the frame rate, and real-time feedback can be critical to successful engagement.

科学的な研究をゲームプレイや美学/テーマに簡単に統合するために考慮すべき要素はいくつかある。ゲームプレイと科学的研究価値との間のバランスを提供するためにゲームを統合するためのいくつかの原理を以下に説明する。第1に、ゲームは、より広いアプリケーションのために設計される。同じタイプの他の問題にも対処することができるように問題を抽象化することができる場合(例えば、クラスタリングアルゴリズムを使用する任意の問題が同じゲーム機構を使用することができる)、ゲームプレイに多様性を追加するためのデータのミックスの機会が提供される。科学的理解が出力の成功にとって基本的でない限り、ゲーム設計要素は、特に科学に言及することなく所望の結果を達成するように設計される。 There are several factors to consider to easily integrate scientific research into gameplay and aesthetics/themes. Some principles for integrating games to provide a balance between gameplay and scientific research value are described below. First, the game is designed for wider application. If a problem can be abstracted so that other problems of the same type can also be addressed (e.g. any problem that uses a clustering algorithm can use the same game mechanics), then gameplay Opportunities are provided for mixing data to add diversity. Unless scientific understanding is fundamental to the success of the output, game design elements are designed to achieve desired results without specific reference to science.

第2に、ゲーム統合は、所望の出力を識別し、強化する。アウトプットの研究価値を強化するために、フィットネス関数や他の成功の尺度は、プレーヤに与えられるフィードバックに影響を与える。フィットネス関数は数値を提供するが、ゲームの美観及びテーマと一致するようにフィードバックも修正される。最良の結果は研究のニーズによって変わることがあるので、出力は、記載された成功の尺度と比較される。精度(品質)、全体的寄与(量)、及び効率(速度)などの他の所望の挙動は、それらをゲーム報酬及び/またはフィードバックに考慮に入れる。成功のための処方は、必ずしも出力に関連するものではなく、最も重要な因子が十分な重みを有するようにバランスがとられている。不適切な重み付けは、望ましくない行動を強化するか、またはシステムを「ゲーム」するユーザをもたらし、その両方が結果の品質を低下させる可能性がある。 Second, game integration identifies and enhances the desired output. To enhance the research value of the output, fitness functions and other measures of success influence the feedback given to the player. The fitness function provides numbers, but the feedback is also modified to match the aesthetic and theme of the game. Outputs are compared to the described measures of success, as best results may vary depending on research needs. Other desired behaviors such as accuracy (quality), overall contribution (quantity), and efficiency (speed) factor them into game rewards and/or feedback. The recipe for success is not necessarily related to output, but is balanced so that the most important factors have sufficient weight. Improper weighting can reinforce undesirable behaviors or result in users "gaming" the system, both of which can reduce the quality of the results.

第3に、研究活動はゲームループに統合される。ゲームプレイループは、プレーヤを動機づける中心的な活動を表すので、研究活動をループに接続することによってシームレスな統合が容易になる。プレーヤのアクションと結果として得られる出力の両方が、活動を統合する際の要因である。研究活動は、出力を完了するために使用されるコンポーネントアクションに分解される。これらのアクションは、しばしば、特定のゲームプレイ要素、機構、又はシステムを示唆する。研究活動から生じる出力の形成を所望の結果と比較することは、統合技術、例えば、科学的活動を模倣する任意の既存のゲーム機構を示唆することができる。機構をゲームプレイに統合することで、科学的要素がより自然に組み込まれるようになる。同様に、他のゲームで証明されたゲーム機構を活用することは、バランスを必要とする変数の数を減らすのに役立ち、機構自体をエンゲージメントさせるよりも統合に焦点を当てることができる。 Third, research activities are integrated into the game loop. Since the gameplay loop represents the core activity that motivates the player, connecting research activities to the loop facilitates seamless integration. Both the player's actions and the resulting output are factors in integrating the activities. Research activities are broken down into component actions that are used to complete the output. These actions often imply specific gameplay elements, mechanics, or systems. Comparing the formation of outputs resulting from research activities with desired results can suggest integration techniques, for example any existing game mechanism that mimics scientific activities. By integrating mechanics into gameplay, scientific elements become more naturally incorporated. Similarly, leveraging game mechanics proven in other games can help reduce the number of variables that need to be balanced, allowing the focus to be on integration rather than engaging mechanics themselves.

第4に、ゲームは、異常な結果のためのデザインである。ゲームのニーズに合わせることができるゲームシステムとは異なり、研究出力は、時には、極端で予想外の結果を提供することがある。データに応じて、プレーヤに完全な成功、失敗、または決して達成させないことを体験させることが可能である。従って、ゲームは、これらの結果に対するエンゲージメントを維持する必要があり、これらの結果は、ゲームフィードバック又は他のゲームプレイ要素に考慮される。 Fourth, games are designed for unusual outcomes. Unlike gaming systems, which can be tailored to the needs of the game, research output can sometimes provide extreme and unexpected results. Depending on the data, it is possible to allow the player to experience complete success, failure, or never achieve it. Therefore, the game needs to maintain engagement with these results, which are factored into game feedback or other gameplay elements.

第5に、ゲームは、複雑さと正確さとのバランスをとる。プレーヤは、多数の要素のバランスをとることができるが、ゲームプレイの複雑さ、人間の計算の複雑さ、及び期待される速度及び精度が、平均的なプレーヤの認知閾値を超えて広がる課題を作り出す可能性があるポイントがある。これをバランスさせるために、1つの要素における複雑さの増加は、他の要素における複雑さの減少によってバランスされ得る。問題が高精度の必要性を有するか、または複雑な人間の計算を必要とする場合、高速ペーシングされたリアルタイムの高スキルゲームは、大多数のプレーヤで所望の結果を生み出す可能性が低い。スローペースの機構またはターンベースの機構は、プレーヤが時間をかけて問題を考慮することを可能にし、これは、ニーズによりよく適合し得る。その結果、より単純な問題は、典型的には、所望のゲームプレイにより良く適合した場合に、より複雑な機構及びタイミングを維持することができる。 Fifth, the game balances complexity and accuracy. Players can balance numerous factors, but the complexity of gameplay, the complexity of human computation, and the expected speed and accuracy pose challenges that extend beyond the average player's cognitive threshold. There are points that can be created. To balance this out, increases in complexity in one element can be balanced by decreases in complexity in other elements. If the problem has a need for high precision or requires complex human calculations, a fast-paced, real-time, high-skill game is unlikely to produce the desired results with a large number of players. Slow-paced or turn-based mechanics allow players to consider the problem over time, which may better suit their needs. As a result, simpler problems can typically sustain more complex mechanics and timing if they better suit the desired gameplay.

第6に、ゲーム統合は、ゲームの美学及び/又はテーマの統合を考慮する。非視覚データを含む研究活動は、多くの場合、任意のテーマで機能する。分類タイプの問題に見られる要素などの視覚データを含むものは、要素をゲーム全体に適合させるために、何らかの創造的な考慮を必要とすることがある。 Sixth, game integration considers the aesthetic and/or thematic integration of the game. Research activities involving non-visual data often work on any subject. Those that involve visual data, such as elements found in classification type problems, may require some creative consideration to fit the elements into the overall game.

本開示の実施形態の利点を説明する目的で、薬物研究に関する以下の実施例を論じる。この実装は、例示的な例として意図されており、本開示の原理及び教示に従って実装され得る様々な実施形態に対する限定ではない。多剤耐性癌のための化学療法共投薬特性を探すにあたり、解決のために同定された問題は数量の1つであった。併用薬とは、既存の薬剤耐性がん細胞の効果を高める薬である。併用薬研究は比較的新しいので、研究者が既存薬から良い候補を同定できるデータはほとんどない。いくらかの除去/減少があっても、500万を超える可能性のある併用薬を何らかの方法で評価する必要がある。初期の研究では、科学者は71種類の医薬品を購入し、それらを潜在的な共投薬として試験した。23種類はある程度の成功を示し、残りの48種類はそうではなかった。各薬物は、30個の識別変数を有する。最も単純な状況では、研究者らは、成功した23種類の薬剤の共通性を決定する方法を望み、試験用の新薬を同定するシステムを作るのに役立ち、逆に残りの薬剤のどのような側面がそれらを不成功にしたのかを明らかにした。 To illustrate the advantages of embodiments of the present disclosure, the following examples relating to drug research are discussed. This implementation is intended as an illustrative example and not a limitation to the various embodiments that may be implemented in accordance with the principles and teachings of this disclosure. In searching for chemotherapy co-medication properties for multi-drug resistant cancers, the problem identified for solution was one of quantity. Combination drugs are drugs that increase the effectiveness of existing drug-resistant cancer cells. Combination drug research is relatively new, so there is little data that allows researchers to identify good candidates among existing drugs. Even with some elimination/reduction, over 5 million potential concomitant medications would need to be evaluated in some way. In an early study, scientists purchased 71 drugs and tested them as potential co-medications. Twenty-three species showed some success, while the remaining 48 did not. Each drug has 30 discrimination variables. In the simplest situation, researchers would like a way to determine the commonalities of the 23 successful drugs, to help create a system for identifying new drugs for testing, and conversely to determine what the commonalities of the remaining drugs are. Revealed what aspects made them unsuccessful.

CSモデルに続いて、最初の質問は、問題を識別することに焦点を当てた。問題、データセット、及び所望の情報を調べた後、クラスタリング問題として提示されたグループ間の共通性を探す。問題パラメータを決定した後、データを分析して、情報をどのように提示するかを決定した。各薬剤は、30の変数を記録した表に既に存在した。クラスタリング問題においてデータを使用するために、データは、全てが一貫したスケール、この場合は0~1で表されることができるように正規化された。各薬剤の相対的な成功または失敗を併用薬として記録するデータポイントを追加し、そのデータをCSVファイルに変換した。 Following the CS model, the first question focused on identifying the problem. After examining the problem, dataset, and desired information, we look for commonalities between the groups presented as a clustering problem. After determining the problem parameters, the data was analyzed to determine how to present the information. Each drug was already present in a table that recorded 30 variables. To use the data in a clustering problem, the data was normalized so that everything could be represented on a consistent scale, in this case 0 to 1. We added data points to record the relative success or failure of each drug as a combination drug and converted the data to a CSV file.

ヒューリスティック、シミュレーション研究、及び適合性基準を探すとき、クラスタリング問題の必要性が識別された。基本アルゴリズムを形成することができる多くのクラスタリングアルゴリズムがある。この場合、K平均のような重心ベースのアルゴリズムが出発点として選択された。基本的に、重心ベースのアルゴリズムは、最良のスコアを探して重心を移動させ、ヒューリスティックな手法を開始する。重心運動はまた、プレーヤがインターフェイスするための対話領域を示唆し、アルゴリズムのその態様を機能的に置き換える。 When looking for heuristics, simulation studies, and suitability criteria, the need for a clustering problem was identified. There are many clustering algorithms that can form a basic algorithm. In this case, a centroid-based algorithm such as K-means was chosen as a starting point. Basically, a centroid-based algorithm moves the centroid looking for the best score and starts a heuristic. Center of gravity motion also suggests an interaction area for the player to interface with and functionally replaces that aspect of the algorithm.

クラスタリングアルゴリズムにおける他の駆動要因は、フィットネススコアを決定することであり、フィットネススコアは、重心の移動をガイドし、改善されたスコアに向かって移動しているか、または改善されたスコアから離れて移動しているかを識別するのに役立つ。この機能は、プレーヤが自分の成功を評価することができるためにも重要である。この状況では、目標は、2つのグループが何を分離したかを見ようと試みることであり、その結果、フィットネススコアの基礎となり、加重平均は、1つのグループに作業中の共投薬の数がいくつであったか、他のグループにいくつあったかを示す。2つの基本群があるので、2つの重心で開始されたが、適応度スコアは、将来の反復において任意の数の重心が追加され得るように設計される。 The other driving factor in the clustering algorithm is to determine the fitness score, which guides the movement of the center of gravity and whether it is moving towards or away from an improved score. This will help you identify what you are doing. This feature is also important because it allows players to evaluate their success. In this situation, the goal is to try to see what the two groups separated, which is the basis for the fitness score, and the weighted average is how many co-medications one group has at work. and how many were in other groups. Since there are two basic groups, we started with two centroids, but the fitness score is designed such that any number of centroids can be added in future iterations.

任意の精度ガイドラインを分析すると、ユーザは、ユーザがスコアを改善しているかどうかを知ることができる十分に正確なデータを必要とするが、プレーヤによって提供されたデータが、訓練セット以外の他の潜在的な併用薬を分析し、識別するように設計された別個のニューラルネットのための訓練データを提供することが期待されるので、精度はそれほど重要ではなかった。より精緻化が必要であることが証明された場合、研究者は、得点を精緻化するために、プレーヤの結果に基づいて、別個の従来の重心ベースのアルゴリズムを実行することを計画した。 Analyzing any accuracy guidelines requires the user to have sufficiently accurate data to know whether the user is improving their score, but if the data provided by the player is Accuracy was not as important as it is expected to provide training data for a separate neural net designed to analyze and identify potential drug combinations. If more refinement was proven to be necessary, the researchers planned to run a separate conventional centroid-based algorithm based on the player's results to refine the scoring.

ゲーム開発者がインターフェイスを作成できるようにするために、ゲーム開発において問題、データ、及びフィットネススコアを実施する際に、ゲーム開発のために知るべき重要な情報は、クラスタリングアルゴリズムがどのように機能したか、及びデータセットで何が達成されようと試みられたかを理解することであった。最後に、ゲームへのインターフェイスを設計するために必要なデータが識別されたかどうかをチェックするために、分析構造の質問が分析された。新しいソリューションを提案するために、ユーザまたはアルゴリズムは、新しい重心位置を提供することができる必要がある。我々のパラメータに有効なソリューションを提供するために、重心位置は、我々がデータをフォーマットしたときに決定された正規化空間内にある必要があった。この状況における処理段階は、適応度関数を適用し、群がどの程度良好に分離されているかを表す相対スコアを得ることであった。ニューラルネットワークのための訓練情報としてのプレーヤ生成データの適用において、結果として得られるソリューションは有効であり、したがって、その段階ではフィルタリングは必要ではなかった。さらなる改良が必要であることが判明した場合、別個のK平均アルゴリズムを、得られた重心上で実行した。最後に、出口パラメータをオープン(open)として定義した。 Important information to know for game development is how the clustering algorithm worked when implementing problems, data, and fitness scores in game development to allow game developers to create interfaces. The objective was to understand what was being done and what was being attempted to be achieved with the data set. Finally, the questions in the analytical structure were analyzed to check whether the data needed to design the interface to the game was identified. In order to propose a new solution, the user or algorithm needs to be able to provide new centroid locations. To provide a valid solution for our parameters, the centroid location needed to be within the normalized space determined when we formatted the data. The processing step in this situation was to apply a fitness function and obtain a relative score representing how well the groups were separated. In the application of player-generated data as training information for neural networks, the resulting solution was effective and therefore no filtering was necessary at that stage. If further refinement was found to be necessary, a separate K-means algorithm was run on the resulting centroids. Finally, we defined the exit parameter as open.

上述のアルゴリズムのゲーミフィケーションの2つの例が提供される。最初の例は、ラジオダイヤルを操作して重心位置に影響を与えるプレ-ヤを表し、得られたスコアは、ターゲット波のマッチングにより波形をより近くまたはより遠くにシフトさせた。第2は、データ位置が身体の一部を表し、プレーヤが様々な機能を改善するために重心位置を調整することができる医療用ミニゲームである。これらのミニゲームの何れかまたは両方は、人気があり魅力的なビデオゲームの様々な側面に統合することができる。 Two examples of gamification of the algorithms described above are provided. The first example depicts a player manipulating a radio dial to influence the center of gravity position, and the resulting score shifted the waveform closer or farther by matching the target wave. The second is a medical mini-game where the data positions represent body parts and the player can adjust the center of gravity position to improve various functions. Either or both of these mini-games can be integrated into various aspects of popular and engaging video games.

さまざまな実施形態は、構築的に拡張された機械学習を提供する。構築主義学習とは、一般に、教師が学生の経験的学習プロセスを導くために、学生との協力的パートナーシップに過去の知識を持ち込むことができるシナリオを指す。これらの実施形態では、システムは、ユーザ知識をネットワークに直接導入し、これは、構築主義学習理論に見られるインストラクタ対生徒協調関係を模倣する。本明細書で論じるように、本開示のこれらの実施形態は、ユーザによって生成された入力を受信することによって機械学習を増強する。例えば、上述した各例では、機械学習アルゴリズムは、突然変異、訓練データ、探索ヒューリスティック、教師付き学習などのためのものであるかどうかにかかわらず、対話に基づいて拡張される。例えば、いくつかの実施形態では、システムは、問題空間を縮小し、キー畳み込みカーネルを識別するために、畳み込みカーネル上でクラスタリング技法を使用する。次に、システムはカーネルをユーザが構築したカーネルに置き換える。例えば、システムは、入力を増強することによって、並びに訓練プロセス全体を通して隠れ層、重み、及び接続部を直接修正することによって、アルゴリズムガイダンスを可能にする。システムはまた、訓練中にユーザが識別したパターン及び最適化の機会を利用し、その後、ユーザの直感を利用するために機械学習モデルを修正することができる。これらの実施形態では、システムは、モデル精度を向上させることができ、モデルサイズを圧縮することができ、または大きなデータセットがない場合にモデルの改良を可能にすることができる。 Various embodiments provide constructively enhanced machine learning. Constructivist learning generally refers to scenarios in which teachers can bring past knowledge into a collaborative partnership with students to guide students' experiential learning processes. In these embodiments, the system introduces user knowledge directly into the network, which mimics the instructor-to-student collaboration found in constructivist learning theory. As discussed herein, these embodiments of the present disclosure augment machine learning by receiving user-generated input. For example, in each of the examples discussed above, machine learning algorithms are expanded based on interactions, whether for mutations, training data, search heuristics, supervised learning, etc. For example, in some embodiments, the system uses clustering techniques on the convolution kernels to reduce the problem space and identify key convolution kernels. The system then replaces the kernel with the user-built kernel. For example, the system allows for algorithm guidance by augmenting inputs and directly modifying hidden layers, weights, and connections throughout the training process. The system can also take advantage of patterns and optimization opportunities identified by the user during training and subsequently modify the machine learning model to take advantage of the user's intuition. In these embodiments, the system can improve model accuracy, compress model size, or allow model refinement in the absence of large data sets.

構築的に拡張された機械学習の一例では、機械学習は、機械学習を加速するために人間の識別されたパターンを使用することによって拡張される。例えば、提案されたソリューションのための(例えば、画像内のオブジェクト識別のための)ユーザゲーム入力の多数のセットを受信することによって、システムは、確率分布を計算するためにゲーム入力を平均化することができる。次に、システムは、機械学習アルゴリズムの探索空間を狭めることができる。このようにして、システムは、ソリューションを識別するために問題を処理する際に機械学習アルゴリズムによって適用される多くのフィルタのうちの1つとして適用されるアルファフィルタとしてユーザ入力を使用する。 In one example of constructively augmented machine learning, machine learning is augmented by using human identified patterns to accelerate machine learning. For example, by receiving a large set of user game inputs (e.g. for object identification in an image) for a proposed solution, the system averages the game inputs to calculate a probability distribution. be able to. The system can then narrow the search space for the machine learning algorithm. In this way, the system uses user input as an alpha filter that is applied as one of many filters applied by the machine learning algorithm when processing a problem to identify a solution.

構築的拡張機械学習の別の例では、ゲームまたは他の対話型アプリケーション中のユーザ入力を追跡し、モデル化することができる。システムは、ユーザ入力のモデルを使用して、性能に基づいて機械学習アルゴリズムの値を修正することができる。 Another example of constructive augmentative machine learning can track and model user input during games or other interactive applications. The system can use the model of user input to modify the values of the machine learning algorithm based on performance.

構築的拡張機械学習の別の例では、ユーザ入力を機械学習アルゴリズムの圧縮に使用することができる。例えば、システムは、クラスタリングを使用して、圧縮のための平均フィルタを見つけることができる。しかしながら、そのような圧縮は、例えば、ソリューションに存在する雑音のために、異なると仮定されるいくつかのソリューションを過度に表し、一方で、圧縮されたデータセット内の離散ソリューションを過小に表し得る。本開示のこれらの実施形態の抽象化インターフェイスを使用して、システムは、ユーザによる分類及び圧縮のために(例えば、対話型環境において)クラスタを送信することができる。例えば、ユーザは、ノイズのために、機械学習アルゴリズムが関連付けられない場合がある、類似のソリューションを相関させるために、ノイズ(例えば、イメージ内の)を認識する(及び無視する)方が良い場合がある。他方、ユーザは、十分に類似していないソリューションを関連付ける際に、機械学習アルゴリズムに存在する圧縮を達成する必要性の基礎を有さない場合がある。これらの実施形態では、システムは、機械学習入力と共にユーザ圧縮入力を使用し、関連付けられた分類器がより良好であるものに基づいてそれぞれの入力に重み付けし、入力の一方または両方を使用して、データセットのサイズを圧縮または縮小して、さらなる計算の高速化及び記憶要件の低減を支援することができる。 In another example of constructive augmentation machine learning, user input can be used to compress machine learning algorithms. For example, the system can use clustering to find an average filter for compression. However, such compression may over-represent some solutions that are assumed to be different, for example due to noise present in the solutions, while under-representing discrete solutions within the compressed dataset. . Using the abstraction interface of these embodiments of the present disclosure, the system can submit clusters for classification and compression by a user (eg, in an interactive environment). For example, if a user is better off recognizing (and ignoring) noise (e.g. in an image) in order to correlate similar solutions, machine learning algorithms may not be able to correlate due to the noise. There is. On the other hand, users may not have the basis for the need to achieve the compression that exists in machine learning algorithms when correlating solutions that are not sufficiently similar. In these embodiments, the system uses user compression inputs along with machine learning inputs, weights each input based on what the associated classifier does better, and uses one or both of the inputs to , the size of the data set can be compressed or reduced to help further speed up computations and reduce storage requirements.

構築的拡張機械学習の別の例では、ユーザ入力を使用して、機械学習モデル自体を改善または修正することができ、機械学習モデルの改善は、所与の問題と見なされる。例えば、機械学習モデルは、平均重心を決定するために、畳み込みに対してクラスタリングアルゴリズムを実行することができる。これらの重心は、ユーザが機械学習モデルを改善するためのソリューションを選択または提案するために、例えば、対話型アプリケーションにおいて、ユーザに、例えば、画像または画像のセットとして提示されてもよい。ユーザが選択または提案したソリューションは、機械学習モデルを修正または更新するために、パラメータまたは決定された重心の1つまたは複数の形成であってもよい。その後、システムは、修正されたまたは更新されたモデルに基づいて(例えば、複数の反復で)機械学習アルゴリズムを実行し、改善が生じたかどうかを判定するためにモデルの性能を評価することができる。後の反復は、システムが、以前のユーザソリューション提案に対する反復の後に、機械学習モデルの改善のためのソリューションの追加の提案を受信することを含むことができる。このようにして、機械学習モデルを改善するためにユーザが提案したソリューションを使用することにより、ニューラルネットワークを十分に訓練するために必要とされる、または使用されるデータの量を低減することが可能になり得る。さらに、機械学習モデルを改善するためにユーザが提案したソリューションを使用することは、ユーザが提案した修正のために、ニューラルネットワークの計算または訓練のための時間量の削減を可能にすることができる。 In another example of constructive augmentative machine learning, user input can be used to improve or modify the machine learning model itself, where the improvement of the machine learning model is considered a given problem. For example, a machine learning model can run a clustering algorithm on the convolution to determine the average centroid. These centroids may be presented to the user, eg, as an image or set of images, eg, in an interactive application, for the user to select or suggest solutions for improving the machine learning model. The user selected or proposed solution may be the formation of one or more parameters or determined centroids to modify or update the machine learning model. The system can then run a machine learning algorithm (e.g., over multiple iterations) based on the modified or updated model and evaluate the model's performance to determine whether improvements have occurred. . The later iterations may include the system receiving additional suggestions for solutions for improving the machine learning model after the previous iterations on user solution suggestions. In this way, by using user-suggested solutions to improve machine learning models, it is possible to reduce the amount of data required or used to adequately train a neural network. It could be possible. Additionally, using user-suggested solutions to improve machine learning models can allow for a reduction in the amount of time for computing or training neural networks due to user-suggested modifications. .

図5は、本開示の様々な実施形態によるゲームプレイループ500のモデル内の機械学習アルゴリズムの例示的な実装を示す。例えば、図5に示すゲームプレイループ500は、図3のクライアント装置300又は図1のクライアント装置106~114の何れか(集合的に又は個別に「システム」と呼ばれる)によって実行されるゲーム内で実施することができる。ゲームプレイループ500の例示は、一例として意図されており、本開示に従って実施することができる様々な実施形態に対する限定ではない。 FIG. 5 illustrates an example implementation of a machine learning algorithm within a model of a gameplay loop 500 according to various embodiments of the present disclosure. For example, the gameplay loop 500 shown in FIG. 5 may be executed within a game executed by client device 300 of FIG. It can be implemented. The illustration of gameplay loop 500 is intended as an example and not a limitation to the various embodiments that may be implemented in accordance with this disclosure.

ゲームプレイループ500は、ゲームプレイ中に発生し得る共通の活動のモデル又は表現であり、機械学習アルゴリズムを組み込むために関連するか又は使用可能である。例えば、ロード(収集)セクション510の間に、システムは、ゲーム中にユーザがリソースを収集している間に、データセット及びロードされた問題を取得することができる。分析セクション515(ゲームプレイループ500の構築、アップグレード、修正セクション)中に、システムは、ユーザが構築、アップグレード、及び/または修正しているゲーム中に、ソリューションの処理または評価を実行している。例えば、プロセス400の部分は、新しいソリューションが提案され、妥当性が確認され、処理される分析セクション515内のサブループとすることができる。一例では、分析セクション515は、例えば、上記で論じたような構築主義拡張機械学習に関して、提案されたソリューションまたは決定されたソリューションを修正することを含むことができる。したがって、システムは、ユーザ対話によって修正される機械学習モデルのためのディープラーニングネットワークの修正カーネルを利用することができる。クラスタリングは、可能なソリューションを提供することができる。次いで、システムは、ユーザ対話を使用してクラスタを修正し、次いで、機械学習モデルの修正を進めることができる。 Gameplay loop 500 is a model or representation of common activities that may occur during gameplay and is relevant or usable for incorporating machine learning algorithms. For example, during the load (collect) section 510, the system may obtain datasets and loaded questions while the user is collecting resources during the game. During the analysis section 515 (the construction, upgrade, and modification section of the gameplay loop 500), the system is processing or evaluating solutions during the game that the user is building, upgrading, and/or modifying. For example, portions of process 400 may be sub-loops within analysis section 515 where new solutions are proposed, validated, and processed. In one example, analysis section 515 may include modifying the proposed or determined solution, eg, with respect to constructivist augmented machine learning as discussed above. Thus, the system can utilize a deep learning network's modification kernel for machine learning models that are modified by user interaction. Clustering may provide a possible solution. The system can then use user interaction to modify the clusters and then proceed with modifying the machine learning model.

次に、処理されたソリューションが処理されると、システムは、そのソリューションをテストして(テストセクション520)、選択されたソリューションがどれだけ良好であったかを判定し、次いで、そのソリューションを以前のソリューションと比較して(セクション525)、そのソリューションが以前のソリューションよりも良好であったかどうかを判定し、その後、そのソリューションを選択して(選択セクション505)、ループ500を再び開始する。テストセクション520の一部として、システムは、ゲーム中にユーザがエンゲージメントまたは戦闘を行っている間にメトリックを生成することができる。比較セクション525の一部として、システムは、例えば、継続ゲームプレイ、仮想アイテム、ランキングなどを含むゲーム内報酬を用いて、ユーザ参加及び/または改善された結果を奨励することもできる。 Next, once the processed solution has been processed, the system tests the solution (test section 520) to determine how well the selected solution was, and then compares the solution to the previous solution. (section 525) to determine whether the solution was better than the previous solution, and then select that solution (selection section 505) and begin loop 500 again. As part of the testing section 520, the system may generate metrics during user engagement or combat during the game. As part of the comparison section 525, the system may also encourage user participation and/or improved results with in-game rewards, including, for example, continued gameplay, virtual items, rankings, and the like.

図6は、本開示の様々な実施形態による、ゲームプレイを動的にスケーリングし、ゲームレベルを調整するためにアルゴリズム性能を使用するためのプロセスを示す。例えば、図6に示すプロセスは、図3のクライアント装置300、図2のサーバ200、及び/または図1のクライアント装置106~114の何れか(集合的にまたは個別に「システム」と呼ばれる)によって実施することができる。 FIG. 6 illustrates a process for dynamically scaling gameplay and using algorithmic performance to adjust game levels, according to various embodiments of the present disclosure. For example, the process illustrated in FIG. 6 may be performed by client device 300 of FIG. 3, server 200 of FIG. 2, and/or any of client devices 106-114 of FIG. 1 (collectively or individually referred to as a "system"). It can be implemented.

これらの実施形態では、システムは、ゲームレベルを調整し、ゲームプレイを動的にスケーリングするために、アルゴリズム性能のための学習曲線を監視し、使用する(ステップ605)。例えば、ステップ605において、システムは、アルゴリズム学習曲線を生成し、監視するために、グローバルスコアなどの性能メトリックを経時的にプロットすることができる。アルゴリズムの性能または学習曲線のスコアリングメトリックの一例を、図7に例示として示す。示されるように、アルゴリズム性能の大きなランプは、最初は705で発生し、その後、アルゴリズム性能は、しばらくしてプラトー710でフラットになる。ランプアップの期間は、典型的には、レベルの開始である。得点がプラトーに達するとすぐに、ゲームはレベルの端部に達する。システムは、このプラトーの発生を検出する(ステップ610)。例えば、ステップ610において、システムは、アルゴリズム性能が以前のランプアップに対していつプラトーになったかを決定するためのパラメータとして、1つ以上の閾値または連続したスコアの平均を使用してもよい。このプラトーは、極小と考えることができる。 In these embodiments, the system monitors and uses learning curves for algorithm performance to adjust game levels and dynamically scale gameplay (step 605). For example, in step 605, the system may plot performance metrics, such as global scores, over time to generate and monitor algorithm learning curves. An example of a scoring metric for algorithm performance or learning curve is illustratively shown in FIG. As shown, a large ramp in algorithm performance initially occurs at 705, after which the algorithm performance flattens out at a plateau 710 after some time. The ramp-up period is typically the beginning of a level. As soon as the score reaches a plateau, the game reaches the end of the level. The system detects the occurrence of this plateau (step 610). For example, in step 610, the system may use one or more thresholds or an average of consecutive scores as a parameter to determine when algorithm performance plateaus relative to a previous ramp-up. This plateau can be considered a minimum.

次に、システムは、アルゴリズム性能がプラトーを超える時を監視する(ステップ615)。例えば、ステップ615において、システムは、ユーザのために、プラトー710のローカルミニマムからの突然変異を探しており、より良いソリューションを見つけ、715において、アルゴリズム性能を再び増加させ、学習処理を再び開始する。ステップ615の一部として、システムは、アルゴリズム性能がプラトー710を超えたことを判定する際に、プラトー710内のスコア変動に対して相対的であり得る1つ以上の閾値を使用してもよい。プラトーを超えるアルゴリズム性能を検出すると、システムはゲームレベルをインクリメントし(ステップ620)、ゲームの各レベルに対してプロセスが繰り返される。例えば、プラトー後の増加アルゴリズム性能は、ゲームのレベル2(又は次のレベル)と考えられる。 Next, the system monitors when algorithm performance exceeds a plateau (step 615). For example, in step 615, the system is looking for mutations from the local minimum of plateau 710 for the user, finds a better solution, increases the algorithm performance again in 715, and starts the learning process again. . As part of step 615, the system may use one or more thresholds, which may be relative to score variation within plateau 710, in determining that algorithm performance has exceeded plateau 710. . Upon detecting algorithm performance above a plateau, the system increments the game level (step 620) and the process is repeated for each level of the game. For example, increasing algorithm performance after a plateau is considered level 2 (or next level) of the game.

レベルが変化すると、ゲームプレイキャラクタは、以前のローカルミニマムから脱出し、アルゴリズム性能を改善するインセンティブとして能力が向上する。各レベルに到達することはより困難であり、これは、次のプラトー720に到達し、725でブレイクアウトするために、追加の計算時間及び/またはアルゴリズム対話が必要であることを意味する。例えば、ユーザは、次のレベルに到達するための追加のリソース(例えば、ゲームにおいて、収集ステップを実行する)及び追加のインセンティブを寄付するために、コンピュータをより長く動作させたままにするようにインセンティブが与えられる。 As the level changes, the gameplay character improves in ability as an incentive to escape from the previous local minimum and improve algorithm performance. Each level is more difficult to reach, meaning additional computational time and/or algorithmic interaction is required to reach the next plateau 720 and breakout at 725. For example, users may want to leave the computer running longer in order to donate additional resources (e.g., performing collection steps in a game) and additional incentives to reach the next level. Incentives are given.

これらの実施形態では、ゲームの難易度は、必ずしもアルゴリズムの性能ではなく、キャラクタのレベルに応じてスケーリングされる。ゲームの難易度は、学習曲線を監視した結果得られるレベルに基づくキャラクタ能力に基づいてスケーリングされる。例えば、一人称視点シューティングゲーム(FPS)では、難易度はあるレベルの敵の数である。その数は、ゲームプレイにチャレンジし、エンゲージメントし続けるキャラクタの能力に基づいて増加させることができる。キャラクタの強さ、またはキャラクタの能力は、学習曲線に結び付けられる達成されたレベルの値に依存する。このようにして、ゲームプレイは、アルゴリズム性能を反映し、ユーザは、アルゴリズム性能をさらに改善するためのインセンティブ及びエンゲージメントを提供される。 In these embodiments, the difficulty of the game is scaled according to the level of the character, not necessarily the performance of the algorithm. The difficulty of the game is scaled based on the character's abilities based on the level obtained as a result of monitoring the learning curve. For example, in a first-person shooter (FPS) game, difficulty is the number of enemies at a certain level. That number can be increased based on the character's ability to keep gameplay challenging and engaged. A character's strength, or character's abilities, depend on the value of the achieved level, which is tied to a learning curve. In this way, gameplay reflects algorithm performance and users are provided with incentives and engagement to further improve algorithm performance.

図4及び図6は、マシン学習アルゴリズムのゲーミフィケーションを可能にし、ゲームプレイを動的にスケーリングし、ゲームレベルを調整するためにアルゴリズムを使用する抽象化アルゴリズムインターフェイスを実装するためのプロセスの例を示すが、図4及び図6には様々な変更を行うことができる。例えば、一連のステップとして示されているが、各図の様々なステップは、オーバーラップするか、並列に起こるか、異なる順序で起こるか、または複数回起こることができる。別の例では、ステップは、省略されるか、または他のステップに置き換えられてもよい。 Figures 4 and 6 are example processes for implementing abstract algorithm interfaces that enable gamification of machine learning algorithms and use algorithms to dynamically scale gameplay and adjust game levels. 4 and 6, various changes can be made to FIGS. 4 and 6. For example, although shown as a series of steps, the various steps in each figure can overlap, occur in parallel, occur in a different order, or occur multiple times. In other examples, steps may be omitted or replaced with other steps.

本特許文書全体を通して使用される特定の単語及び語句の定義を記載することが有利であり得る。「結合」及び類似する用語は、それらの要素が互いに物理的に接触しているか否かにかかわらず、2つ以上の要素間の任意の直接的または間接的な通信を指す。「送信」、「受信」、及び「通信」という用語は、任意の直接的または間接的な通信の両方を包含するとともに、類似する通信を包含する。用語「を含む」は、限定せず、包含することを意味する。用語「または」は、及び/または含む。用語「関連する」は、類似する用語を含み、含む、やりとりする、結合する、通信する、協働する、近接する、接する、差し挟む、並置する、など、何らかの関係を有することを意味する。用語「少なくとも1つの」は、アイテムのリストと共に使用される場合、リストに含まれるアイテムの1つまたは複数の異なる組合せが使用されてもよく、1つのアイテムだけが必要とされてもよいことを示す。例えば、「A、B、Cのうち少なくとも1つ」は、A、B、C、AとB、AとC、BとC、及びAとBとCの組み合わせの何れかを含む。 It may be advantageous to provide definitions of certain words and phrases used throughout this patent document. "Coupled" and similar terms refer to any direct or indirect communication between two or more elements, whether or not the elements are in physical contact with each other. The terms "sending," "receiving," and "communication" encompass any direct or indirect communication, both direct and similar communications. The term "comprising" means including, but not limited to. The term "or" includes and/or. The term "related" includes similar terms, and means having some kind of relationship, such as including, interacting with, combining, communicating with, cooperating with, proximate to, abutting, intervening with, juxtaposing with, or the like. The term "at least one" when used with a list of items indicates that one or more different combinations of items included in the list may be used and only one item may be required. show. For example, "at least one of A, B, and C" includes any combination of A, B, C, A and B, A and C, B and C, and A, B, and C.

さらに、以下に説明する様々な機能は、1つ以上のコンピュータプログラムによって実現またはサポートすることができ、その各々は、コンピュータ可読プログラムコードから形成され、コンピュータ可読媒体で具体化される。用語「アプリケーション」及び「プログラム」は、1つまたは複数のコンピュータプログラム、ソフトウェアコンポーネント、命令のセット、手順、機能、オブジェクト、クラス、インスタンス、関連データ、または適切なコンピュータ可読プログラムコードでの実装に適合されたそれらの部分を指す。語句「コンピュータ可読プログラムコード」は、ソースコード、オブジェクトコード、及び実行可能コードを含む任意のタイプのコンピュータコードを含む。語句「コンピュータ可読媒体」は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、または任意の他のタイプのメモリなど、コンピュータによってアクセスされることが可能な任意のタイプの媒体を含む。非一時的コンピュータ可読媒体は、データを永久的に記憶することができる媒体と、書き換え可能な光ディスクまたは消去可能なメモリ装置のように、データを記憶し後で上書きすることができる媒体とを含む。 Additionally, the various functions described below may be implemented or supported by one or more computer programs, each formed from computer-readable program code and embodied on a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, associated data, or implementation in suitable computer-readable program code. refers to those parts that have been The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer-readable medium" means a computer-readable medium, such as read-only memory (ROM), random access memory (RAM), hard disk drive, compact disc (CD), digital video disc (DVD), or any other type of memory. Includes any type of media that can be accessed. Non-transitory computer-readable media include media that can store data permanently and media that can store data and later overwrite it, such as rewritable optical disks or erasable memory devices. .

他の特定の語句の定義は、本特許文書全体を通して提供される。当業者は、ほとんどではないにしても多くの場合、そのような定義は、そのような定義された単語及び句の以前の使用ならびに将来の使用に適用されることを理解すべきである。 Definitions of other specific terms are provided throughout this patent document. Those skilled in the art should understand that in many, if not most, cases, such definitions apply to previous uses as well as future uses of the words and phrases so defined.

本開示は、例示的な実施形態を用いて説明されてきたが、当業者には、様々な変更及び修正が示唆され得る。本開示は、添付の特許請求の範囲内にあるような変更及び修正を包含することが意図される。 Although this disclosure has been described using exemplary embodiments, various changes and modifications may suggest to those skilled in the art. This disclosure is intended to cover such changes and modifications as come within the scope of the appended claims.

一実施形態は、対話型機械学習のための方法を提供する。この方法は、所与の問題に対するソリューションを識別するステップと、識別されたソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって可能なソリューションを処理するステップと、少なくとも部分がプロセスの異なる反復からのものである複数の処理されるソリューションに基づいて処理されるソリューションを選択するステップと、終了条件に基づいて所与の問題に対する選択されたソリューションを用いてプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行することを含む。プロセスを実行することは、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分を実行する際に使用する対話型アプリケーションへの入力を受信することを含む。 One embodiment provides a method for interactive machine learning. This method is based on the steps of identifying solutions to a given problem and determining that the identified solutions are possible solutions to the given problem. processing possible solutions by executing; selecting a processed solution based on a plurality of processed solutions at least in part from different iterations of the process; and selecting a processed solution based on a termination condition. and determining whether to terminate the process using the selected solution to the given problem. Executing the process includes receiving input to the interactive application for use in performing at least a portion of the steps via a user interface for the interactive application.

別の実施形態は、対話型機械学習のためのシステムを提供する。システムは、プロセッサと、プロセッサに動作可能に接続された通信インターフェイスとを含む。プロセッサは、所与の問題に対するソリューションを識別するステップと、識別されたソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって可能なソリューションを処理するステップと、少なくとも部分がプロセスの異なる反復からのものである複数の処理されたソリューションに基づいて処理されたソリューションを選択するステップと、終了条件に基づいて所与の問題に対する選択されたソリューションを用いてプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行するように構成される。通信インターフェイスは、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分の実行で使用するために、対話型アプリケーションへの入力を受信するように構成される。 Another embodiment provides a system for interactive machine learning. The system includes a processor and a communication interface operably connected to the processor. The processor executes a machine learning application using the possible solutions based on identifying solutions to the given problem and determining that the identified solutions are possible solutions to the given problem. selecting a processed solution based on a plurality of processed solutions at least in part from different iterations of the process; and selecting a processed solution based on a termination condition. determining whether to terminate the process using the selected solution to the problem. The communication interface is configured to receive input to the interactive application for use in performing at least a portion of the steps via a user interface for the interactive application.

別の実施形態は、対話型機械学習のための非一時的コンピュータ可読媒体を提供する。コンピュータ可読媒体は、システムのプロセッサによって実行されるとき、システムに、所与の問題に対するソリューションを識別するステップと、識別されるソリューションが所与の問題に対する可能なソリューションであると判定することに基づいて、可能なソリューションを使用して機械学習アプリケーションを実行することによって、可能なソリューションを処理するステップと、少なくとも部分がプロセスの異なる反復からのものである複数の処理されるソリューションに基づいて処理されるソリューションを選択するステップと、終了条件に基づいて、所与の問題に対して選択されたソリューションを使用してプロセスを終了するかどうかを判定するステップと、を含むプロセスを反復的に実行させるプログラムコードを含む。コンピュータ可読媒体は、システムのプロセッサによって実行されると、システムに、対話型アプリケーションのためのユーザインターフェイスを介して、ステップの少なくとも部分の実行で使用するために対話型アプリケーションに入力を受信するプログラムコードをさらに含む。 Another embodiment provides a non-transitory computer-readable medium for interactive machine learning. The computer-readable medium, when executed by a processor of the system, causes the system to perform the steps of: identifying a solution to a given problem; and determining that the identified solution is a possible solution to the given problem. processing possible solutions by running a machine learning application using the possible solutions; and determining, based on a termination condition, whether to terminate the process using the selected solution for a given problem. Contains program code. The computer-readable medium includes program code that, when executed by a processor of the system, receives input to the interactive application for use in performing at least a portion of the steps, via a user interface for the interactive application, to the system; further including.

上記の例及び実施形態の何れにおいても、プロセスは、各反復で処理された処理されるソリューションについてメトリックを生成し、生成されたメトリックのうちの1つまたは複数に基づいて、処理されるソリューションを使用して機械学習アプリケーションの性能を特徴付ける、ことをさらに含む。また、処理されたソリューションを選択することは、選択されたソリューションを使用する機械学習アプリケーションの性能に基づいて、複数の処理されるソリューションから処理されるソリューションを選択することを含む。 In any of the above examples and embodiments, the process generates metrics for the processed solution processed at each iteration, and based on one or more of the generated metrics, the process generates metrics for the processed solution processed at each iteration. further comprising characterizing the performance of the machine learning application using the method. Selecting the processed solution also includes selecting the processed solution from the plurality of processed solutions based on performance of a machine learning application using the selected solution.

上記の例及び実施形態の何れにおいても、プロセスは、ステップのうちの1つの少なくとも部分を実行する際に使用する入力を受信することを含み、当該受信することは、受信された入力に基づいて、機械学習アプリケーションのパラメータに対する修正を識別し、所与の問題に対するソリューションを識別し、プロセスの反復のために、識別されたソリューションの少なくとも部分としてパラメータ修正を識別し、可能なソリューションを処理し、パラメータ修正に基づいて機械学習アプリケーションを修正し、1つまたは複数の反復で、修正された機械学習アプリケーションを実行する、ことを含む。 In any of the above examples and embodiments, the process includes receiving input for use in performing at least a portion of one of the steps, and the receiving is based on the received input. , identifying modifications to parameters of a machine learning application, identifying a solution to a given problem, identifying the parameter modifications as at least part of the identified solution, and processing possible solutions for an iteration of the process; modifying the machine learning application based on the parameter modification and running the modified machine learning application in one or more iterations.

上記の例及び実施形態の何れにおいても、パラメータ修正は、受信された入力が、プロセスの以前の反復、すなわち当該反復の前の時間における以前の反復において機械学習アプリケーションによって生成されたパラメータ修正のセットから選択されることに基づいて識別される。 In any of the above examples and embodiments, the parameter modifications are based on the received input being a set of parameter modifications generated by the machine learning application in a previous iteration of the process, i.e., in a previous iteration at a time prior to that iteration. Identified based on being selected from.

上記の例及び実施形態の何れかでは、ステップのうちの1つの少なくとも部分を実行する際に使用する入力を受信することは、ユーザインターフェイスを介して、対話型アプリケーションで提示される対話のためのパラメータ入力として入力を受信し、所与の問題に対するソリューションを識別し、識別されたソリューションの少なくとも部分としてパラメータ入力を識別し、可能なソリューションを使用して機械学習アプリケーションを実行することによって可能なソリューションを処理し、対話型アプリケーションで提示される対話からのパラメータ入力を、機械学習アプリケーションのためのパラメータの少なくとも修正として使用する、ことを含む。 In any of the above examples and embodiments, receiving input for use in performing at least a portion of one of the steps includes, via a user interface, for interaction presented in an interactive application. possible solutions by receiving the input as a parameter input, identifying a solution to a given problem, identifying the parameter input as at least part of the identified solution, and running a machine learning application using the possible solutions and using parameter input from the interaction presented in the interactive application as at least a modification of parameters for the machine learning application.

上記の例及び実施形態の何れにおいても、ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信することは、ユーザインターフェイスを介して、対話型アプリケーションで提示される対話に関する所与の問題の少なくとも部分のための試みられたソリューションとして入力を受信することを含み、複数の試みられたソリューションが、プロセスの複数の反復にわたって受信され、処理されるソリューションを選択することは、複数の試みられたソリューションを評価することと、試みられたソリューションの評価に基づいて処理されるソリューションを選択すること、を含む。 In any of the above examples and embodiments, receiving input for use in performing at least a portion of the steps may include, via a user interface, relating to interaction presented in the interactive application. receiving input as attempted solutions for at least a portion of a given problem, wherein a plurality of attempted solutions are received over multiple iterations of the process and selecting a solution to be processed; The method includes evaluating a plurality of attempted solutions and selecting a solution to be processed based on the evaluation of the attempted solutions.

上記の例及び実施形態の何れかでは、ステップのうちの1つの少なくとも部分を実行する際に使用する入力を受信することは、ユーザインターフェイスを介して、可能なソリューションを使用して機械学習アプリケーションを実行することからの出力が正しいかどうかの指標として入力を受信することを含み、可能なソリューションを処理することは、受信した指標に基づいて可能なソリューションを評価することを含む。 In any of the above examples and embodiments, receiving input for use in performing at least a portion of one of the steps may include, via a user interface, implementing a machine learning application using a possible solution. The processing includes receiving input as an indication of whether the output from the execution is correct, and processing the possible solutions includes evaluating the possible solutions based on the received indication.

上記の例及び実施形態の何れにおいても、対話型アプリケーションはビデオゲームであってよく、複数のステップのうちの1つのステップの少なくとも部分の実行に使用される受信入力は、ビデオゲームのゲームプレイから受信される。 In any of the above examples and embodiments, the interactive application may be a video game, and the received input used to perform at least a portion of the one step of the plurality of steps is from gameplay of the video game. Received.

本出願における説明の何れも、任意の特定の要素、ステップ、または機能が、特許請求の範囲に含まれなければならない本質的な要素であることを暗示するものとして解釈されるべきではない。特許の対象の範囲は、請求項によってのみ定義される。さらに、特許請求の範囲の何れも、「のための手段」という正確な単語の後に分詞が続かない限り、35 U.S.C.§112(f)を惹起するようには意図されていない。 Nothing described in this application should be construed to imply that any particular element, step, or feature is essential for falling within the scope of a claim. The scope of patented subject matter is defined solely by the claims. Furthermore, none of the claims fall within 35 U.S.C. unless the exact words "means for" are followed by a participle. S. C. §112(f) is not intended.

〔関連出願及び優先権の主張への相互参照〕
本出願は、2018年3月26日に出願された米国仮特許出願第62/648,198号の優先権を主張する。上記特許文献の内容は、参照により本明細書に組み込まれる。

[Cross reference to related applications and priority claims]
This application claims priority to U.S. Provisional Patent Application No. 62/648,198, filed March 26, 2018. The contents of the above patent documents are incorporated herein by reference.

Claims (13)

プロセッサが、
所与の問題に対するソリューションを識別するステップと、
識別された前記ソリューションが所与の前記問題に対する可能なソリューションであると判定することに基づいて、可能な前記ソリューションを使用する機械学習アプリケーションを実行することによって、可能な前記ソリューションを処理するステップと、
処理されるソリューションを選択するステップと、
終了条件に基づいて、所与の前記問題について選択された前記ソリューションによるプロセスを終了するかどうかを判定するステップと、
含むプロセスを反復的に実行し、
前記プロセッサが、
各反復で処理された処理されるソリューションに対するメトリックを生成するステップと、
生成された前記メトリックのうちの1つまたは複数に基づいて、処理される前記ソリューションを使用して前記機械学習アプリケーションの性能を特徴付けるステップと、
を、前記プロセスがさらに含み、
前記プロセスを実行することは、対話型アプリケーションのためのユーザインターフェイスを介して、前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を前記対話型アプリケーションに受信することを含
処理される前記ソリューションを選択するステップは、選択された前記ソリューションを使用する前記機械学習アプリケーションの性能に基づいて、複数の処理されるソリューションから処理される前記ソリューションを選択することを含む、
対話型機械学習方法。
The processor
identifying a solution to a given problem;
processing the possible solutions by running a machine learning application that uses the possible solutions based on determining that the identified solutions are possible solutions to the given problem; ,
selecting a solution to be processed ;
determining whether to terminate the process with the selected solution for a given problem based on a termination condition;
Iteratively executes a process that includes
The processor,
generating metrics for the processed solution processed in each iteration;
characterizing the performance of the machine learning application using the processed solution based on one or more of the generated metrics;
The process further comprises:
Executing the process includes receiving, via a user interface for the interactive application, input to the interactive application for use in performing at least a portion of one of the steps. fruit ,
Selecting the solution to be processed includes selecting the solution to be processed from a plurality of solutions to be processed based on performance of the machine learning application using the selected solution.
Interactive machine learning methods.
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信することは、
受信された前記入力に基づいて、前記機械学習アプリケーションのパラメータに対する修正を識別する、
ことを含み、
所与の前記問題に対するソリューションを識別することは、
前記プロセスの反復について、識別された前記ソリューションの少なくとも部分として、パラメータ修正を識別する、
ことを含み、
可能な前記ソリューションを処理することは、
前記パラメータ修正に基づいて前記機械学習アプリケーションを修正し、
修正された前記機械学習アプリケーションを1つまたは複数の反復で実行する、
ことを含む、
請求項1に記載の対話型機械学習方法。
Receiving input for use in performing at least a portion of one of the steps comprises:
identifying modifications to parameters of the machine learning application based on the received input;
including that
Identifying a solution to a given problem is
identifying parameter modifications as at least part of the identified solution for the iteration of the process;
including that
Possible processing solution is
modifying the machine learning application based on the parameter modification;
running the modified machine learning application in one or more iterations;
including
The interactive machine learning method according to claim 1.
受信された前記入力に基づいて識別された前記パラメータ修正は、前記プロセスの以前の反復において、前記機械学習アプリケーションによって生成されたパラメータ修正のセットから選択され、
前記以前の反復は、当該反復より時間的に前の反復である、
請求項に記載の対話型機械学習方法。
the parameter modifications identified based on the input received are selected from a set of parameter modifications generated by the machine learning application in a previous iteration of the process;
the previous iteration is an iteration temporally earlier than the current iteration;
The interactive machine learning method according to claim 2 .
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信することは、
前記ユーザインターフェイスを介して、前記対話型アプリケーションで提示される対話のためのパラメータ入力として前記入力を受け取る、
ことを含み、
所与の前記問題に対するソリューションを識別することは、
識別された前記ソリューションの少なくとも部分として前記パラメータ入力を識別する、
ことを含み、
可能な前記ソリューションを使用して前記機械学習アプリケーションを実行することによって可能な前記ソリューションを処理することは、
前記対話型アプリケーションで提示された前記対話からの前記パラメータ入力を、前記機械学習アプリケーションのためのパラメータの少なくとも1つの修正として使用する、
ことを含む、
請求項1に記載の対話型機械学習方法。
Receiving input for use in performing at least a portion of one of the steps comprises:
receiving, via the user interface, the input as a parameter input for an interaction presented in the interactive application;
including that
Identifying a solution to a given problem is
identifying the parameter input as at least part of the identified solution;
including that
Processing the possible solutions by running the machine learning application using the possible solutions includes:
using the parameter input from the interaction presented in the interactive application as at least one modification of a parameter for the machine learning application;
including
The interactive machine learning method according to claim 1.
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信することは、
前記ユーザインターフェイスを介して、前記対話型アプリケーションで提示された対話に関する所与の問題の少なくとも部分に対して試みられるソリューションとしての入力を受信する、
ことを含み、
複数の試みられるソリューションは、プロセスの複数の反復にわたって受信され、
処理される前記ソリューションを選択することは、
複数の試みられる前記ソリューションを評価し、
試みられる前記ソリューションの評価に基づいて処理されるソリューションを選択する、
請求項1に記載の対話型機械学習方法。
Receiving input for use in performing at least a portion of one of the steps comprises:
receiving input via the user interface as a solution to be attempted for at least a portion of a given problem regarding the interaction presented in the interactive application;
including that
multiple attempted solutions are received over multiple iterations of the process;
Selecting said solution to be processed is
evaluate said multiple attempted solutions;
selecting a solution to be processed based on an evaluation of the attempted solutions;
The interactive machine learning method according to claim 1.
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信することは、
前記ユーザインターフェイスを介して、可能な前記ソリューションを使用して前記機械学習アプリケーションを実行することからの出力が正しいかどうかの指標としての入力を受信する、
ことを含み、
可能な前記ソリューションを処理することは、
受信した前記指標に基づいて、可能な前記ソリューションを評価する、
ことを含む、
請求項1に記載の対話型機械学習方法。
Receiving input for use in performing at least a portion of one of the steps comprises:
receiving input via the user interface as an indication of whether the output from running the machine learning application using the possible solution is correct;
including that
Possible processing solution is
evaluating the possible solutions based on the received indicators;
including
The interactive machine learning method according to claim 1.
所与の問題に対するソリューションを識別するステップと、
識別された前記ソリューションが所与の前記問題に対する可能なソリューションであると判定することに基づいて、可能な前記ソリューションを使用する機械学習アプリケーションを実行することによって、可能な前記ソリューションを処理するステップと、
処理されるソリューションを選択するステップと、
終了条件に基づいて、所与の前記問題について選択された前記ソリューションによるプロセスを終了するかどうかを判定するステップと、
含むプロセスを反復的に実行するように構成されているプロセッサ(210)と、
前記プロセッサに動作可能に接続されている通信インターフェイス(220)と、
を含み、
前記プロセッサが、
各反復で処理された処理されるソリューションに対するメトリックを生成するステップと、
生成された前記メトリックのうちの1つまたは複数に基づいて、処理される前記ソリューションを使用して前記機械学習アプリケーションの性能を特徴付けるステップと、
をさらに含む、前記プロセスをさらに実行するように構成され、
前記通信インターフェイスは、対話型アプリケーションのためのユーザインターフェイスを介して、前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を前記対話型アプリケーションに受信するように構成され、
処理される前記ソリューションを選択するために、前記プロセッサが、選択された前記ソリューションを使用する前記機械学習アプリケーションの性能に基づいて、複数の処理されるソリューションから処理される前記ソリューションを選択するように構成されている、
対話型機械学習システム(200)。
identifying a solution to a given problem;
processing the possible solutions by running a machine learning application that uses the possible solutions based on determining that the identified solutions are possible solutions to the given problem; ,
selecting a solution to be processed ;
determining whether to terminate the process with the selected solution for a given problem based on a termination condition;
a processor (210) configured to iteratively execute a process comprising;
a communications interface (220) operably connected to the processor;
including;
The processor,
generating metrics for the processed solution processed in each iteration;
characterizing the performance of the machine learning application using the processed solution based on one or more of the generated metrics;
further configured to perform said process, further comprising:
the communication interface is configured to receive input to the interactive application for use in performing at least a portion of one of the steps via a user interface for the interactive application ;
selecting said solution to be processed, said processor selecting said solution to be processed from a plurality of processed solutions based on performance of said machine learning application using said selected solution; It is configured,
Interactive machine learning system (200).
前記プロセッサが、
受信された前記入力に基づいて、前記機械学習アプリケーションのパラメータに対する修正を識別する、
ように構成され、
所与の前記問題に対するソリューションを識別するために、前記プロセッサは、
前記プロセスの反復について、識別された前記ソリューションの少なくとも部分として、パラメータ修正を識別する、
ように構成され、
可能な前記ソリューションを処理するために、前記プロセッサは、
前記パラメータ修正に基づいて前記機械学習アプリケーションを修正し、
修正された前記機械学習アプリケーションを1つまたは複数の反復で実行する、
ように構成されている、
請求項に記載の対話型機械学習システム。
The processor,
identifying modifications to parameters of the machine learning application based on the received input;
It is configured as follows,
In order to identify a solution to the given problem, the processor:
identifying parameter modifications as at least part of the identified solution for the iteration of the process;
It is configured as follows,
In order to process the possible solutions, the processor:
modifying the machine learning application based on the parameter modification;
running the modified machine learning application in one or more iterations;
It is configured as follows.
The interactive machine learning system according to claim 7 .
受信された前記入力に基づいて識別された前記パラメータ修正は、前記プロセスの以前の反復において、前記機械学習アプリケーションによって生成されたパラメータ修正のセットから選択され、
前記以前の反復は、当該反復より時間的に前の反復である、
請求項に記載の対話型機械学習システム。
the parameter modifications identified based on the input received are selected from a set of parameter modifications generated by the machine learning application in a previous iteration of the process;
the previous iteration is an iteration temporally earlier than the current iteration;
The interactive machine learning system according to claim 8 .
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信するために、前記通信インターフェイスは、さらに、
前記ユーザインターフェイスを介して、前記対話型アプリケーションで提示される対話のためのパラメータ入力として前記入力を受け取る、
ように構成され、
所与の前記問題に対するソリューションを識別するために、前記プロセッサは、さらに、
識別された前記ソリューションの少なくとも部分として前記パラメータ入力を識別する、
ように構成され、
可能な前記ソリューションを使用して前記機械学習アプリケーションを実行することによって可能な前記ソリューションを処理するために、前記プロセッサは、さらに、
前記対話型アプリケーションで提示された前記対話からの前記パラメータ入力を、前記機械学習アプリケーションのためのパラメータの少なくとも1つの修正として使用する、
ように構成されている、
請求項に記載の対話型機械学習システム。
The communication interface further comprises: receiving input for use in performing at least a portion of one of the steps;
receiving, via the user interface, the input as a parameter input for an interaction presented in the interactive application;
It is configured as follows,
In order to identify a solution to the given problem, the processor further:
identifying the parameter input as at least part of the identified solution;
It is configured as follows,
In order to process the possible solutions by running the machine learning application using the possible solutions, the processor further comprises:
using the parameter input from the interaction presented in the interactive application as at least one modification of a parameter for the machine learning application;
It is configured as follows.
The interactive machine learning system according to claim 7 .
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信するために、前記通信インターフェイスは、さらに、
前記ユーザインターフェイスを介して、前記対話型アプリケーションで提示された対話に関する所与の問題の少なくとも部分に対して試みられるソリューションとしての入力を受信する、
ように構成され、
複数の試みられるソリューションは、プロセスの複数の反復にわたって受信され、
処理される前記ソリューションを選択するために、前記プロセッサは、さらに、
複数の試みられる前記ソリューションを評価し、
試みられる前記ソリューションの評価に基づいて処理されるソリューションを選択する、
ように構成されている、
請求項に記載の対話型機械学習システム。
The communication interface further comprises: receiving input for use in performing at least a portion of one of the steps;
receiving input via the user interface as a solution to be attempted for at least a portion of a given problem regarding the interaction presented in the interactive application;
It is configured as follows,
multiple attempted solutions are received over multiple iterations of the process;
In order to select the solution to be processed, the processor further:
evaluate said multiple attempted solutions;
selecting a solution to be processed based on an evaluation of the attempted solutions;
It is configured as follows.
The interactive machine learning system according to claim 7 .
前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を受信するために、前記通信インターフェイスは、さらに、
前記ユーザインターフェイスを介して、可能な前記ソリューションを使用して前記機械学習アプリケーションを実行することからの出力が正しいかどうかの指標としての入力を受信する、
ように構成され、
可能な前記ソリューションを処理するために、前記プロセッサは、さらに、
受信した前記指標に基づいて、可能な前記ソリューションを評価する、
ように構成されている、
請求項に記載の対話型機械学習システム。
The communication interface further comprises: receiving input for use in performing at least a portion of one of the steps;
receiving input via the user interface as an indication of whether the output from running the machine learning application using the possible solution is correct;
It is configured as follows,
In order to process the possible solutions, the processor further:
evaluating the possible solutions based on the received indicators;
It is configured as follows.
The interactive machine learning system according to claim 7 .
所与の問題に対するソリューションを識別するステップと、
識別された前記ソリューションが所与の前記問題に対する可能なソリューションであると判定することに基づいて、可能な前記ソリューションを使用する機械学習アプリケーションを実行することによって、可能な前記ソリューションを処理するステップと、
処理されるソリューションを選択するステップと、
終了条件に基づいて、所与の前記問題について選択された前記ソリューションによるプロセスを終了するかどうかを判定するステップと、
含むプロセスを反復的に実行し、
前記プロセスが、
各反復で処理された処理されるソリューションに対するメトリックを生成するステップと、
生成された前記メトリックのうちの1つまたは複数に基づいて、処理される前記ソリューションを使用して前記機械学習アプリケーションの性能を特徴付けるステップと、
を、さらに含み、
対話型アプリケーションのためのユーザインターフェイスを介して、前記ステップのうちの1つの少なくとも部分を実行する際に使用するための入力を前記対話型アプリケーションに受信
処理される前記ソリューションを選択するステップは、選択された前記ソリューションを使用する前記機械学習アプリケーションの性能に基づいて、複数の処理されるソリューションから処理される前記ソリューションを選択する、
ことを、システム(200)のプロセッサ(210)によって実行されると、前記システムに実行させるプログラムコードを含む対話型機械学習のための非一時的コンピュータ可読媒体(215)。
identifying a solution to a given problem;
processing the possible solutions by running a machine learning application that uses the possible solutions based on determining that the identified solutions are possible solutions to the given problem; ,
selecting a solution to be processed ;
determining whether to terminate the process with the selected solution for a given problem based on a termination condition;
Iteratively executes a process that includes
The process is
generating metrics for the processed solution processed in each iteration;
characterizing the performance of the machine learning application using the processed solution based on one or more of the generated metrics;
further including,
receiving input to the interactive application for use in performing at least a portion of the one of the steps via a user interface for the interactive application;
selecting the solution to be processed from a plurality of solutions to be processed based on performance of the machine learning application using the selected solution;
A non-transitory computer-readable medium (215) for interactive machine learning comprising program code that, when executed by a processor (210) of a system (200), causes said system to perform.
JP2020552388A 2018-03-26 2019-03-26 Abstraction interface for gamification of machine learning algorithms Active JP7413628B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862648198P 2018-03-26 2018-03-26
US62/648,198 2018-03-26
PCT/US2019/024157 WO2019191153A1 (en) 2018-03-26 2019-03-26 Abstracted interface for gamification of machine learning algorithms

Publications (2)

Publication Number Publication Date
JP2021519972A JP2021519972A (en) 2021-08-12
JP7413628B2 true JP7413628B2 (en) 2024-01-16

Family

ID=67984195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020552388A Active JP7413628B2 (en) 2018-03-26 2019-03-26 Abstraction interface for gamification of machine learning algorithms

Country Status (6)

Country Link
US (1) US11763190B2 (en)
EP (1) EP3746890A4 (en)
JP (1) JP7413628B2 (en)
CN (1) CN111919223B (en)
CA (1) CA3094240A1 (en)
WO (1) WO2019191153A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018100683A1 (en) * 2016-11-30 2018-06-07 株式会社オプティム Computer system, edge device control method, and program
US10565475B2 (en) * 2018-04-24 2020-02-18 Accenture Global Solutions Limited Generating a machine learning model for objects based on augmenting the objects with physical properties
US11561540B2 (en) * 2019-02-26 2023-01-24 Intel Corporation Augmenting autonomous driving with remote viewer recommendation
CN111914862B (en) * 2019-05-09 2023-07-11 富士通株式会社 Training device and training method for training multi-target model
US11369871B2 (en) * 2020-04-01 2022-06-28 Sony Interactive Entertainment Inc. Interactive what-if game replay methods and systems
US11038528B1 (en) * 2020-06-04 2021-06-15 International Business Machines Corporation Genetic programming based compression determination
US20210406642A1 (en) * 2020-06-30 2021-12-30 Nvidia Corporation Anomaly characterization using one or more neural networks
CN114139629A (en) * 2021-12-02 2022-03-04 中国人民解放军国防科技大学 Self-guided mixed data representation learning method and system based on metric learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312848A (en) 2006-05-23 2007-12-06 Daiwa Tsusho:Kk Character growing game program
JP2013084175A (en) 2011-10-12 2013-05-09 Sony Corp Information processing apparatus, information processing method, and program
JP2014157605A (en) 2013-02-14 2014-08-28 Aktana Inc System and method for managing system-level workflow strategy and individual workflow activity
US20150126286A1 (en) 2013-09-27 2015-05-07 Tencent Technology (Shenzhen) Company Limited Method And System For Implementing Artificial Intelligence

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406475B2 (en) * 2001-01-09 2008-07-29 British Telecommunications Public Limited Company Software tool for heuristic search methods
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US7634450B2 (en) * 2003-12-12 2009-12-15 Hewlett-Packard Development Company, L.P. System and method for determining difficulty measures for training cases used in developing a solution to a problem
US8239293B2 (en) 2006-12-20 2012-08-07 Microsoft Corporation Computer system and method for bulk auditing, archiving, and selling personal property of a customer
WO2010040125A1 (en) * 2008-10-03 2010-04-08 Beliefnetworks, Inc. Systems and methods for automatic creation of agent-based systems
US20120225721A1 (en) 2011-03-04 2012-09-06 Microsoft Corporation Game dossier for an advisory services network
US8821272B2 (en) * 2011-09-26 2014-09-02 Andrew Jack Thomas System and method of gamification of real-life events
US8982066B2 (en) 2012-03-05 2015-03-17 Ricoh Co., Ltd. Automatic ending of interactive whiteboard sessions
JP6440205B2 (en) 2012-08-02 2018-12-19 ガナリラ、エルエルシー System and method for gaming problems
US9386152B2 (en) 2013-03-15 2016-07-05 Genesys Telecommunications Laboratories, Inc. Intelligent automated agent and interactive voice response for a contact center
US20170006161A9 (en) * 2013-03-15 2017-01-05 Genesys Telecommunications Laboratories, Inc. Intelligent automated agent for a contact center
US10327159B2 (en) * 2014-12-09 2019-06-18 Futurewei Technologies, Inc. Autonomous, closed-loop and adaptive simulated annealing based machine learning approach for intelligent analytics-assisted self-organizing-networks (SONs)
US10722802B2 (en) 2015-07-24 2020-07-28 Silver Curve Games, Inc. Augmented reality rhythm game
FR3044438A1 (en) 2015-11-27 2017-06-02 Thales Sa DECISION SUPPORT SYSTEM AND METHOD

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312848A (en) 2006-05-23 2007-12-06 Daiwa Tsusho:Kk Character growing game program
JP2013084175A (en) 2011-10-12 2013-05-09 Sony Corp Information processing apparatus, information processing method, and program
JP2014157605A (en) 2013-02-14 2014-08-28 Aktana Inc System and method for managing system-level workflow strategy and individual workflow activity
US20150126286A1 (en) 2013-09-27 2015-05-07 Tencent Technology (Shenzhen) Company Limited Method And System For Implementing Artificial Intelligence

Also Published As

Publication number Publication date
CA3094240A1 (en) 2019-10-03
CN111919223B (en) 2024-07-02
US20190294922A1 (en) 2019-09-26
WO2019191153A1 (en) 2019-10-03
EP3746890A1 (en) 2020-12-09
JP2021519972A (en) 2021-08-12
US11763190B2 (en) 2023-09-19
EP3746890A4 (en) 2021-12-08
CN111919223A (en) 2020-11-10

Similar Documents

Publication Publication Date Title
JP7413628B2 (en) Abstraction interface for gamification of machine learning algorithms
CN113365706B (en) Artificial Intelligence (AI) model training using cloud gaming networks
CN108499108B (en) Real-time dynamic modification and optimization of game play parameters within a video game application
US11376500B2 (en) Gamer training using neural networks
Cook et al. The angelina videogame design system—part i
US11325048B2 (en) User experience modeling for gaming applications
CN113660987A (en) Generating gaming robots adapted for gaming applications
US11446570B2 (en) Automated test multiplexing system
Clark et al. A model for integrating human computing into commercial video games
Gutiérrez-Sánchez et al. Liquid Snake: a test environment for video game testing agents.
Ehlert Improving input prediction in online fighting games
Kanervisto Advances in deep learning for playing video games
CN115175750A (en) AI-based game application content generation
Karth et al. Generating playable rpg roms for the game boy
Martin et al. Teaching and Learning Computer-Intelligent Games
Rumsamrong et al. CRISIS-Expert: Conflict resolution and decision support in scaled-down models of serious resource management scenarios
Basilio Ferreira et al. Problem Solving for Industry
Bontrager Learning to Generate Form and Function
de Woillemont Simulation Of Diverse Human Play-Styles In Video Games: A Reinforcement Learning Approach
Ahlberg Playstyle Generation with Multimodal Generative Adversarial Imitation Learning: Style-reward from Human Demonstration for Playtesting Agents
Koppen Integrating a Human Feedback Loop in PCG for Level Design Using LLMs
Önal et al. A constructive approach to strategy game map generation
Villicana BDI player modelling for interactive narratives
CN118159342A (en) Quality assurance game robot for game applications
Fabris Machine Learning and Feature Selection for Videogame Beta Testing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231204

R150 Certificate of patent or registration of utility model

Ref document number: 7413628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150