Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7051946B2 - Go game service system and service method based on deep learning - Google Patents
[go: Go Back, main page]

JP7051946B2 - Go game service system and service method based on deep learning - Google Patents

Go game service system and service method based on deep learning Download PDF

Info

Publication number
JP7051946B2
JP7051946B2 JP2020122007A JP2020122007A JP7051946B2 JP 7051946 B2 JP7051946 B2 JP 7051946B2 JP 2020122007 A JP2020122007 A JP 2020122007A JP 2020122007 A JP2020122007 A JP 2020122007A JP 7051946 B2 JP7051946 B2 JP 7051946B2
Authority
JP
Japan
Prior art keywords
game
deep learning
model
server
posture
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
JP2020122007A
Other languages
Japanese (ja)
Other versions
JP2021018819A (en
Inventor
フン パク,ジュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NHN Corp
Original Assignee
NHN Corp
NHN Entertainment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NHN Corp, NHN Entertainment Corp filed Critical NHN Corp
Publication of JP2021018819A publication Critical patent/JP2021018819A/en
Application granted granted Critical
Publication of JP7051946B2 publication Critical patent/JP7051946B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/85Providing additional services to players
    • 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/45Controlling the progress of the video game
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Optics & Photonics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Image Analysis (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

本発明は、ディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法に関するものである。より詳細には、ディープラーニングニューラルネットワークを利用して囲碁形勢を判断する方法及びその装置に関するものである。 The present invention relates to a Go game service system and a service method based on deep learning. More specifically, the present invention relates to a method for determining a Go situation using a deep learning neural network and a device thereof.

スマートフォン、タブレットPC(Personal Computer)、PDA(Personal Digital Assistant)、ノートブックなどのようなユーザ端末の利用が大衆化され、情報処理技術が発達するにつれて、ユーザ端末を利用してボードゲームの一種である囲碁を打つことができるようになり、さらに、人でないプログラムされた人工知能コンピュータと囲碁対局が可能なようになった。 As the use of user terminals such as smartphones, tablet PCs (Personal Computers), PDAs (Personal Digital Assistants), notebooks, etc. has become popular and information processing technology has developed, it is a type of board game that uses user terminals. It has become possible to play a certain Go, and it has become possible to play a Go game with a non-human programmed artificial intelligence computer.

囲碁は、チェスや将棋のようなボードゲームに比べて場合の数が多く、人工知能コンピュータが人の水準の対局をするのには限界があった。このような限界を克服するために、人工知能コンピュータの棋力を高めるための研究が活発に進まれている。最近、開発者らは、人工知能コンピュータにモンテカルロ木探索(Monte Carlo Tree Search、MCTS)アルゴリズムとディープラーニング技術とを適用して人工知能コンピュータの棋力をプロ棋士たちの水準以上に上げた。 Go has more cases than board games such as chess and shogi, and there is a limit to how artificial intelligence computers can play human-level games. In order to overcome these limitations, research is being actively pursued to improve the strength of artificial intelligence computers. Recently, developers have applied the Monte Carlo Tree Search (MCTS) algorithm and deep learning technology to artificial intelligence computers to raise the power of artificial intelligence computers to above the level of professional players.

特に、囲碁は、対局が進む間、誰がどれくらい勝っているかのような形勢を判断することが重要である。なぜなら、囲碁は、多くの場合の数があり、不利な形勢であるといえども、ゲーム戦略によって有利な形勢に変えることができるためである。しかし、囲碁は、規則による場合の数が多く、正確な形勢を判断することが難しい。囲碁をしきりに打つ一般人やアマチュア達も、場合の数の多い囲碁で形勢判断することが容易でなく、最近開発された人工知能コンピュータを利用して囲碁の形勢を判断させた場合、正確度が顕著に低いという問題があった。最近、対局中、囲碁形勢を判断するための人工知能コンピュータとして、影響力関数を実現する方法がある。しかし、影響力関数を用いた形勢判断方法は、囲碁ゲーム規則が反映されず、判断正確度が低いという問題がある。また、パターンを利用した形勢判断方法が開発されたが、この方法は、碁盤に置かれた碁石のパターンに対する影響力を計算して形勢を予測する方法である。しかし、パターンを利用した形勢判断方法は、特定状況では判断できないか、正確な判断ができないという問題がある。また、ロールアウトニューラルネットワークを利用した形勢判断方法は、現在碁盤の状態で一定の数の分だけゲームの終わりまでシミュレーションしてみた後、ゲーム終了状態の碁盤で各石の状態に対する平均値で形勢を予測する方法である。 In particular, it is important for Go to judge the situation such as who is winning and how much while the game progresses. This is because Go is often in a number, and even if it is a disadvantageous situation, it can be changed to an advantageous position by the game strategy. However, there are many cases of Go according to the rules, and it is difficult to judge the exact situation. It is not easy for ordinary people and amateurs who play Go to judge the situation with Go, which is often used, and the accuracy is remarkable when using a recently developed artificial intelligence computer to judge the situation of Go. There was a problem that it was low. Recently, there is a method to realize an influence function as an artificial intelligence computer for judging the Go situation during a game. However, the method of determining the situation using the influence function has a problem that the Go game rules are not reflected and the accuracy of the determination is low. In addition, a method for determining a posture using a pattern has been developed, and this method is a method for predicting a posture by calculating the influence of a go stone placed on a go board on a pattern. However, the method of determining the situation using a pattern has a problem that it cannot be determined in a specific situation or an accurate determination cannot be made. In addition, the posture judgment method using the rollout neural network is to simulate the game until the end of the game for a certain number of times in the current state of the go board, and then use the average value for each stone state on the board in the end state of the game. Is a way to predict.

しかし、ロールアウトニューラルネットワークを利用した形勢判断方法は、シミュレーションに多くの時間が必要であり、シミュレーション結果に基づいた形勢判断も正確でないという問題がある。また、ディープラーニング技術を利用した形勢判断方法は、CNNを使用して囲碁形勢を学習したモデルを用いた方法(GoCNN)であるが、形勢予測と碁盤上の捨て石の予測正確度が低く、駄目や関の予測正確度が低いという問題点がある。 However, the posture judgment method using the rollout neural network requires a lot of time for simulation, and there is a problem that the posture judgment based on the simulation result is not accurate. In addition, the method of determining the situation using deep learning technology is a method using a model that learned the Go situation using CNN (GoCNN), but the accuracy of the situation prediction and the prediction of the discarded stones on the board is low, so it is useless. There is a problem that the prediction accuracy of Goban is low.

大韓民国公開特許公報第10-2015-0129265号Republic of Korea Published Patent Gazette No. 10-2015-0129265

本発明は、前述した問題点を解決するための、ディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法に関するものである。より詳細には、ディープラーニングニューラルネットワークを利用して囲碁形勢を判断する方法及びその装置を提案しようとする。 The present invention relates to a Go game service system and a service method based on deep learning for solving the above-mentioned problems. In more detail, we will propose a method and a device for determining the Go situation using a deep learning neural network.

具体的に、本発明は、囲碁規則による地、捨て石、石、駄目、関を正確に区分して囲碁の形勢を正確に判断できるディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法を提供することを目的とする。 Specifically, the present invention provides a Go game service system and a service method based on deep learning that can accurately determine the situation of Go by accurately classifying the ground, abandoned stones, stones, uselessness, and seki according to the Go rules. The purpose.

また、本発明は、囲碁規則による地、捨て石、石、駄目、関を予測して囲碁の形勢を正確に判断できるディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法を提供することを目的とする。 Another object of the present invention is to provide a Go game service system and a service method based on deep learning that can accurately determine the situation of Go by predicting the ground, abandoned stones, stones, uselessness, and seki according to the Go rules.

また、本発明は、囲碁対局中、速かに形勢を判断できるディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法を提供することを目的とする。 Another object of the present invention is to provide a Go game service system and a service method based on deep learning that can quickly determine the situation during a Go game.

実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、ユーザが端末機を介して囲碁ゲームを要請したり、囲碁対局中、形勢判断を要請することに応答して囲碁ゲームサービスと形勢判断を提供する囲碁サーバと、前記囲碁サーバの着手要請に応答して前記ユーザと囲碁対局を進行する着手モデルサーバと、前記囲碁サーバから伝達された複数の棋譜情報を基に前記ユーザの形勢判断要請に対応する形勢判断を行う形勢判断モデルサーバとを備えることができる。 The Go game service system based on the deep learning according to the embodiment provides a Go game service and a situation judgment in response to a user requesting a Go game via a terminal or a request for a situation judgment during a Go game. Go server, a start model server that advances a Go game with the user in response to the start request of the Go server, and a response to the user's situation judgment request based on a plurality of Go score information transmitted from the Go server. It can be equipped with a posture judgment model server that makes a posture judgment.

また、形勢判断モデルサーバは、前記囲碁サーバから伝達された複数の棋譜情報を格納する格納部と、前記囲碁サーバからユーザが要請した形勢判断要請を受信し、形勢判断を前記囲碁サーバに提供する通信部と、前記格納部から形勢判断モデルを読み込んで前記形勢判断モデルの学習を行い、前記学習された形勢判断モデルを用いて碁盤状態の形勢を判断するプロセッサとを備えることができる。 Further, the situation determination model server receives a storage unit for storing a plurality of game record information transmitted from the Go server and a situation determination request requested by the user from the Go server, and provides the situation determination to the Go server. It can be provided with a communication unit and a processor that reads a situation determination model from the storage unit, learns the situation determination model, and determines the situation in a go board state using the learned situation determination model.

また、形勢判断モデルは、前記複数の棋譜情報から第1碁盤状態に関する入力特徴を抽出する入力特徴抽出部と、前記抽出された入力特徴を基に現在進行中である対局の第2碁盤状態でヨセをすることができる正解ラベルを生成する正解ラベル生成部と、前記抽出された入力特徴に対する入力データが前記正解ラベルに対するターゲットデータと同じになるように、前記形勢判断モデルを学習させる形勢判断ニューラルネットワークとを備えることができる。 In addition, the posture determination model is based on the input feature extraction unit that extracts the input features related to the first Go board state from the plurality of game score information, and the second Go board state of the game currently in progress based on the extracted input features. A correct answer label generator that generates a correct answer label that can be distorted, and a posture judgment neural that trains the posture judgment model so that the input data for the extracted input feature is the same as the target data for the correct answer label. It can be equipped with a network.

また、前記正解ラベルは、前記第2碁盤状態で交差点等に対して-1から+1までの数値で表示された形勢値でありうるし(ただし、形勢値は定数)、前記正解ラベルは、前記第2碁盤状態でヨセのために地の境界が明確になるようにする第1の前処理と、前記第1の前処理状態で地の境界内に配置され、地の区分に不要な石を除去する第2の前処理を行って取得されることができる。 Further, the correct answer label may be a stance value displayed as a numerical value from -1 to +1 for an intersection or the like in the second board state (however, the stance value is a constant), and the correct answer label is the first. 2 The first pretreatment that makes the boundary of the ground clear for Yose in the Go board state, and the stones that are placed within the boundary of the ground in the first pretreatment state and are unnecessary for the division of the ground are removed. It can be obtained by performing the second preprocessing.

また、前記正解ラベルは、前記第2の前処理状態で前記第2碁盤状態の各交差点を-1、0、または+1のうち、いずれか1つの数値からなる形勢値に変更する第3の前処理を介して取得されることができ、前記第3の前処理は、前記第2の前処理状態で所定の交差点で自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1に対応した形勢値に変更することができる。 Further, the correct answer label is a third before changing each intersection in the second board state to a stance value consisting of any one of -1, 0, and +1 in the second preprocessing state. It can be acquired via processing, and the third pretreatment is 0 if one's stone is placed at a predetermined intersection in the second pretreatment state, +1 if one's ground area. If the opponent's stone is placed, it can be changed to 0, and if it is the opponent's ground area, it can be changed to the position value corresponding to -1.

また、前記第3の前処理は、前記第2の前処理状態で所定の交差点で自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1、関または駄目であれば0に対応した形勢値に変更することができ、前記形勢判断ニューラルネットワークは、複数のレシデュアルブロックを含み、前記複数のレシデュアルブロックの各々は、コンボリューションレイヤ、一括正規化レイヤ、Relu活性化関数レイヤ、スキップコネクションを含むことができる。 Further, in the third pretreatment, 0 if one's stone is placed at a predetermined intersection in the second pretreatment state, +1 if one's own ground area, and 0 if an opponent's stone is placed. , If it is the other party's ground area, it can be changed to a stance value corresponding to -1, and if it is not good, it can be changed to a stance value corresponding to 0. Each of the blocks can include a convolution layer, a bulk normalization layer, a Relu activation function layer, and a skip connection.

また、前記形勢判断ニューラルネットワークは、下記の数式による形勢判断損失Lpreを用いてトレーニングすることができる。

Figure 0007051946000001
Further, the posture judgment neural network can be trained by using the posture judgment loss L pre according to the following mathematical formula.
Figure 0007051946000001

また、前記入力特徴は、前記第1碁盤状態で黒プレイヤの最近の8手に対する石の位置情報と白プレイヤの最近の8手に対する石の位置情報と、現在プレイヤが黒であるか白であるかに対する順序情報を含むことができる。 Further, the input features are the position information of the stone with respect to the recent 8 moves of the black player and the position information of the stone with respect to the recent 8 moves of the white player in the first board state, and whether the player is currently black or white. Can include order information for.

実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、通信部、形勢判断モデルが格納された格納部、前記形勢判断モデルを駆動するプロセッサを備える形勢判断モデルサーバにより碁盤状態の形勢を判断するディープラーニングに基づく囲碁ゲームサービス方法において、前記通信部が複数の棋譜を受信するステップと、前記プロセッサが前記形勢判断モデルの入力特徴抽出部を利用して前記複数の棋譜の第1碁盤状態に関する入力特徴を抽出するステップと、前記プロセッサが前記形勢判断モデルの正解ラベル生成部を利用して前記入力特徴に基づいて現在進行中である対局の第2碁盤状態でヨセをすることができる正解ラベルを生成するステップと、前記プロセッサが、前記入力特徴に対する入力データが前記正解ラベルに対するターゲットデータと同じになるように前記形勢判断モデルをトレーニングするステップと、前記プロセッサがトレーニングを完了して形勢判断モデルを構築するステップと、前記プロセッサが前記トレーニングされた形勢判断モデルを用いて形勢判断が必要な第2碁盤状態が入力されれば、前記第2碁盤状態の交差点に対する形勢値を生成する形勢判断を行うステップとを含むことができる。 The Go game service method based on deep learning according to the embodiment is a deep game in which a Go board state is determined by a communication unit, a storage unit in which a situation determination model is stored, and a situation determination model server including a processor for driving the situation determination model. In a Go game service method based on learning, a step in which the communication unit receives a plurality of Gobans, and an input feature relating to the first Go board state of the plurality of Gobans by the processor using the input feature extraction unit of the posture determination model. And the correct answer label that the processor can use in the correct answer label generation unit of the posture judgment model to generate a correct answer label that can be played in the second board state of the game currently in progress based on the input feature. Steps to train the posture judgment model so that the input data for the input feature is the same as the target data for the correct answer label, and the processor completes the training to build the posture judgment model. And a step to generate a posture value for the intersection of the second Go board state when the second board state in which the posture judgment is required is input by the processor using the trained posture judgment model. And can be included.

実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法は、ディープラーニングニューラルネットワークを利用して囲碁形勢を判断できる。 The Go game service system and the service method based on deep learning according to the embodiment can determine the Go situation by using the deep learning neural network.

また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法は、囲碁規則による地、捨て石、石、駄目、関を正確に区分して囲碁の形勢を正確に判断することができる。 In addition, the Go game service system and service method based on deep learning according to the embodiment can accurately classify the ground, abandoned stones, stones, uselessness, and seki according to the Go rules, and accurately judge the situation of Go.

また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法は、囲碁規則による地、捨て石、石、駄目、関を予測して囲碁の形勢を正確に判断することができる。 In addition, the Go game service system and service method based on deep learning according to the embodiment can predict the ground, abandoned stones, stones, uselessness, and seki according to the Go rules, and can accurately judge the situation of Go.

また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法は、囲碁対局中、速かに形勢を判断できる。 Further, the Go game service system and the service method based on the deep learning according to the embodiment can quickly determine the situation during the Go game.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムに対する例示図である。It is an exemplary diagram for the Go game service system based on deep learning according to the embodiment of the present invention. 本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスにおいて人工知能コンピュータの着手のための着手モデルサーバの着手モデル構造を説明するための図である。It is a figure for demonstrating the start model structure of the start model server for the start of the artificial intelligence computer in the Go game service based on the deep learning which concerns on embodiment of this invention. 着手モデルの政策による着手点に対する移動確率分布を説明するための図である。It is a figure for explaining the movement probability distribution with respect to the start point by the policy of the start model. 着手モデルの着手点に対する価値と訪問回数を説明するための図である。It is a figure for demonstrating the value and the number of visits with respect to the start point of a start model. 着手モデルが探索部のパイプラインに沿って着手する過程を説明するための図である。It is a figure for demonstrating the process which a start model starts along the pipeline of a search part. 本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスの形勢判断機能を提供する画面を見せる例示図である。It is an exemplary diagram which shows the screen which provides the posture determination function of the Go game service based on the deep learning which concerns on embodiment of this invention. 本発明の形勢判断モデルサーバの形勢判断モデル構造を説明するための図である。It is a figure for demonstrating the posture judgment model structure of the posture judgment model server of this invention. 本発明の形勢判断モデルの複数のブロックからなるニューラルネットワーク構造のうち、1つのブロックを説明するための図である。It is a figure for demonstrating one block among the neural network structure consisting of a plurality of blocks of the posture judgment model of this invention. 本発明の形勢判断モデルを学習するために使用される正解ラベルを生成するための第1及び第2の前処理ステップを説明するための図である。It is a figure for demonstrating the 1st and 2nd preprocessing steps for generating the correct label used for learning the posture judgment model of this invention. 本発明の形勢判断モデルを学習するために使用される正解ラベルを生成するための第1及び第2の前処理ステップを説明するための図である。It is a figure for demonstrating the 1st and 2nd preprocessing steps for generating the correct label used for learning the posture judgment model of this invention. 本発明の形勢判断モデルを学習するために使用される正解ラベルを生成するための第3の前処理ステップを説明するための図である。It is a figure for demonstrating the 3rd preprocessing step for generating the correct label used for learning the posture judgment model of this invention. 本発明の形勢判断モデルの形勢判断結果を説明するための図である。It is a figure for demonstrating the posture determination result of the posture determination model of this invention. 本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状である。It is a shape comparing the posture judgment result of the posture judgment model of the present invention and the posture judgment result by the deep learning model according to the prior art. 本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状である。It is a shape comparing the posture judgment result of the posture judgment model of the present invention and the posture judgment result by the deep learning model according to the prior art. 本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状である。It is a shape comparing the posture judgment result of the posture judgment model of the present invention and the posture judgment result by the deep learning model according to the prior art. 本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムにおける信号フローに対する例示図である。It is an exemplary diagram for the signal flow in the Go game service system based on deep learning according to the embodiment of the present invention. 本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法のうち、形勢判断方法である。Among the Go game service methods based on deep learning according to the embodiment of the present invention, this is a method for determining the situation. 図17の形勢判断方法のうち、正解ラベルを生成するためのトレーニングデータの前処理方法である。Among the posture determination methods of FIG. 17, this is a training data preprocessing method for generating a correct answer label.

本発明は、様々な変換を加えることができ、種々の実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細な説明に詳しく説明しようとする。本発明の効果及び特徴、そして、それらを達成する方法は、図面とともに詳しく後述されている実施形態を参照すれば明確になるであろう。しかし、本発明は、以下において開示される実施形態等に限定されるものではなく、様々な形態で実現されることができる。以下の実施形態において、第1、第2などの用語は、限定的な意味ではなく、1つの構成要素を他の構成要素と区別する目的として使用された。また、単数の表現は、文脈上、明白に異なるように意味しない限り、複数の表現を含む。また、「含む」または「有する」などの用語は、明細書上に記載された特徴または構成要素が存在することを意味するものであり、1つ以上の他の特徴または構成要素が付加される可能性を予め排除するものではない。また、図面では、説明の都合上、構成要素等が、そのサイズが誇張または縮小され得る。例えば、図面に示された各構成のサイズ及び厚さは、説明の都合上、任意に示したので、本発明が必ずしも図示されたところに限定されない。 Where various transformations can be made and various embodiments can be made, the present invention exemplifies specific embodiments in the drawings and attempts to illustrate them in detail. The effects and features of the present invention, and the methods for achieving them, will be clarified with reference to the embodiments described in detail below with reference to the drawings. However, the present invention is not limited to the embodiments disclosed below, and can be realized in various forms. In the following embodiments, terms such as first and second are used for the purpose of distinguishing one component from the other, without limiting the meaning. Also, a singular expression includes multiple expressions unless they are meant to be explicitly different in context. Also, terms such as "include" or "have" mean that the features or components described herein are present, to which one or more other features or components are added. It does not preclude the possibility. Further, in the drawings, for convenience of explanation, the size of the components and the like may be exaggerated or reduced. For example, the size and thickness of each configuration shown in the drawings are arbitrarily shown for convenience of explanation, and thus the present invention is not necessarily limited to those shown in the drawings.

以下、添付された図面を参照して本発明の実施形態を詳しく説明し、図面を参照して説明するとき、同一であるか、対応する構成要素は同様の図面符号を付し、これについての重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when the embodiments are described with reference to the drawings, the same or corresponding components are designated by the same drawing reference numerals. Duplicate explanations will be omitted.

図1は、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムに対する例示図である。 FIG. 1 is an exemplary diagram for a Go game service system based on deep learning according to an embodiment of the present invention.

図1に示すように、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、端末機100、囲碁サーバ200、着手モデルサーバ300、形勢判断モデルサーバ400、及びネットワーク500を備えることができる。 As shown in FIG. 1, the Go game service system based on deep learning according to the embodiment can include a terminal 100, a Go server 200, a start model server 300, a posture determination model server 400, and a network 500.

図1の各構成要素は、ネットワーク500を介して連結されることができる。端末機100、囲碁サーバ200、着手モデルサーバ300、及び形勢判断モデルサーバ400などのようなそれぞれのノード相互間に情報交換が可能な連結構造を意味するものであって、このようなネットワークの一例には、3GPP(3rd Generation Partnership Project)ネットワーク、LTE(Long Term Evolution)ネットワーク、WIMAX(World Interoperability for Microwave Access)ネットワーク、インターネット(Internet)、LAN(Local Area Network)、Wireless LAN(Wireless Local Area Network)、WAN(Wide Area Network)、PAN(Personal Area Network)、ブルートゥース(登録商標)(Bluetooth)ネットワーク、衛星放送ネットワーク、アナログ放送ネットワーク、DMB(Digital Multimedia Broadcasting)ネットワークなどが含まれるが、これに限定されるものではない。 Each component of FIG. 1 can be connected via the network 500. It means a connected structure in which information can be exchanged between each node such as a terminal 100, a Go server 200, a start model server 300, and a posture judgment model server 400, and is an example of such a network. 3GPP (3rd Generation Partnership Project) network, LTE (Long Term Evolution) network, WIMAX (World Intellaviity for Microwave , WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth® network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc. It's not something.

<端末機100>
まず、端末機100は、囲碁ゲームサービスの提供を受けようとするユーザの端末機である。また、端末機100は、様々な作業を行うアプリケーションを実行するためにユーザが使用する1つ以上のコンピュータまたは他の電子装置である。例えば、コンピュータ、ラップトップコンピュータ、スマートフォン、モバイル電話機、PDA、タブレットPC、あるいは囲碁サーバ200と通信するように動作可能な任意の他のデバイスを備える。ただし、これに限定されるものではなく、端末機100は、様々なマシン上で実行され、複数のメモリ内に格納された命令語を解釈して実行するプロセッシングロジックを備え、外部入力/出力デバイス上にグラフィックユーザインターフェース(GUI)のためのグラフィック情報をディスプレイするプロセスなどのように、様々なその他の要素を含むことができる。さらに、端末機100は、入力装置(例えば、マウス、キーボード、タッチ感知表面等)及び出力装置(例えば、ディスプレイ装置、モニタ、スクリーン等)に接続されることができる。端末機100により実行されるアプリケーションは、ゲームアプリケーション、ウェブブラウザ、ウェブブラウザで動作するウェブアプリケーション、ワードプロセッサ、メディアプレイヤ、スプレッドシート、イメージプロセッサ、保安ソフトウェア、またはその他のものを含むことができる。
<Terminal 100>
First, the terminal 100 is a terminal of a user who wants to receive a Go game service. Also, the terminal 100 is one or more computers or other electronic devices used by the user to execute applications that perform various tasks. For example, it comprises a computer, a laptop computer, a smartphone, a mobile phone, a PDA, a tablet PC, or any other device capable of operating to communicate with the Go server 200. However, the terminal 100 is not limited to this, and the terminal 100 is an external input / output device provided with a processing logic that is executed on various machines and interprets and executes an instruction word stored in a plurality of memories. Various other elements can be included, such as the process of displaying graphic information for a graphic user interface (GUI) on top. Further, the terminal 100 can be connected to an input device (eg, mouse, keyboard, touch-sensitive surface, etc.) and an output device (eg, display device, monitor, screen, etc.). The application executed by the terminal 100 can include a game application, a web browser, a web application running on the web browser, a word processor, a media player, a spreadsheet, an image processor, security software, or the like.

また、端末機100は、命令を格納する少なくとも1つのメモリ101、少なくとも1つのプロセッサ102、及び通信部103を備えることができる。 Further, the terminal 100 can include at least one memory 101 for storing instructions, at least one processor 102, and a communication unit 103.

端末機100のメモリ101は、端末機100で駆動される複数の応用プログラム(application program)またはアプリケーション(application)、端末機100の動作のためのデータ、命令語を格納することができる。命令は、プロセッサ102をして動作を実行させるためにプロセッサ102により実行可能であり、動作は、囲碁ゲーム実行要請信号を送信、ゲームデータ送受信、着手情報送受信、形勢判断要請信号を送信、形勢判断結果受信、及び各種情報を受信する動作を含むことができる。また、メモリ101は、ハードウェア的に、ROM、RAM、EPROM、フラッシュドライブ、ハードドライブなどのような様々な格納機器でありうるし、メモリ101は、インターネット(internet)上で前記メモリ101の格納機能を果たすウェブストレージ(web storage)でありうる。 The memory 101 of the terminal 100 can store a plurality of application programs or applications driven by the terminal 100, data for the operation of the terminal 100, and command words. The instruction can be executed by the processor 102 in order to execute the operation by the processor 102, and the operation is to transmit a Go game execution request signal, game data transmission / reception, start information transmission / reception, a posture judgment request signal transmission, and a posture judgment. The operation of receiving the result and receiving various information can be included. Further, the memory 101 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc. in terms of hardware, and the memory 101 has a storage function of the memory 101 on the Internet. It can be a web storage that fulfills the above.

端末機100のプロセッサ102は、全般的な動作を制御して囲碁ゲームサービスの提供を受けるためのデータ処理を行うことができる。端末機100で囲碁ゲームアプリケーションが実行されれば、端末機100で囲碁ゲーム環境が構成される。そして、囲碁ゲームアプリケーションは、ネットワーク500を介して囲碁サーバ200と囲碁ゲームデータとを交換して端末機100上で囲碁ゲームサービスが実行されるようにする。このようなプロセッサ102は、ASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、制御機(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他の機能実行のための任意の形態のプロセッサでありうる。 The processor 102 of the terminal 100 can control the overall operation and perform data processing for receiving the provision of the Go game service. If the Go game application is executed on the terminal 100, the Go game environment is configured on the terminal 100. Then, the Go game application exchanges the Go server 200 with the Go game data via the network 500 so that the Go game service is executed on the terminal 100. Such processor 102, ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controller (controllers) , Microcontrollers, microprocessors, and any other form of processor for performing other functions.

端末機100の通信部103は、下記の通信方式(例えば、GSM(Global System for Mobile communication)、CDMA(Code Division Multi Access)、HSDPA(High Speed Downlink Packet Access)、HSUPA(High Speed Uplink Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution-Advanced)等)、WLAN(Wireless LAN)、Wi-Fi(Wireless-Fidelity)、Wi-Fi(Wireless Fidelity)Direct、DLNA(登録商標)(Digital Living Network Alliance)、WiBro(Wireless Broadband)、WiMAX(World Interoperability for Microwave Access)によって構築されたネットワーク網上で基地局、外部の端末、サーバのうち、少なくとも1つと無線信号を送受信できる。 The communication unit 103 of the terminal 100 has the following communication methods (for example, GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), HSDPA (High Speed Downlink PackAccessPass), and the communication unit 103. , LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.), WLAN (Wireless LAN), Wi-Fi (Wireless-Fildity), Wi-Fi (Wireless File), Wi-Fi (Wireless File) A base station, an external terminal, or a server that can transmit and receive at least one signal on a network constructed by (Digital Living Network Alliance), WiBr (Wiress Broadband), and WiMAX (World Interoperability for Wireless Access).

<囲碁サーバ200>
囲碁サーバ200が提供する囲碁ゲームサービスは、囲碁サーバ200が提供する仮像のコンピュータユーザと実際ユーザとが共にゲームに参加する形態で構成されることができる。これは、ユーザ側端末機100上で実現される囲碁ゲーム環境で1つの実際ユーザと1つのコンピュータユーザとが共にゲームをプレイする。他の側面において、囲碁サーバ200が提供する囲碁ゲームサービスは、複数のユーザ側デバイスが参加して囲碁ゲームがプレイされる形態で構成されることもできる。
<Go server 200>
The Go game service provided by the Go server 200 can be configured in such a form that both the computer user of the pseudo image provided by the Go server 200 and the actual user participate in the game. In this, one actual user and one computer user play a game together in a Go game environment realized on the user-side terminal 100. In another aspect, the Go game service provided by the Go server 200 may be configured in a form in which a plurality of user-side devices participate and the Go game is played.

囲碁サーバ200は、命令を格納する少なくとも1つのメモリ201、少なくとも1つのプロセッサ202、及び通信部203を備えることができる。 The Go server 200 can include at least one memory 201 for storing instructions, at least one processor 202, and a communication unit 203.

囲碁サーバ200のメモリ201は、囲碁サーバ200で駆動される複数の応用プログラム(application program)またはアプリケーション(application)、囲碁サーバ200の動作のためのデータ、命令語を格納することができる。命令は、プロセッサ202をして動作を実行させるためにプロセッサ202により実行可能であり、動作は、ゲーム実行要請信号受信、ゲームデータ送受信、着手情報送受信、形勢判断要請信号送受信、形勢判断結果送受信、及び各種送信動作を含むことができる。また、メモリ201は、囲碁サーバ200で対局した複数の棋譜または既存に公開された複数の棋譜を格納することができる。複数の棋譜の各々は、対局開始の初めの着手情報である第1の着手から対局が終了される最終着手までの情報を全て含むことができる。すなわち、複数の棋譜は、着手に関するヒストリー情報を含むことができる。囲碁サーバ200は、形勢判断モデルサーバ400のトレーニングのために、格納された複数の棋譜を形勢判断モデルサーバ400に提供できるようにする。また、メモリ201は、ハードウェア的に、ROM、RAM、EPROM、フラッシュドライブ、ハードドライブなどのような様々な格納機器でありうるし、メモリ201は、インターネット(internet)上で前記メモリ201の格納機能を果たすウェブストレージ(web storage)でありうる。 The memory 201 of the Go server 200 can store a plurality of application programs (application programs) or applications (applications) driven by the Go server 200, data for the operation of the Go server 200, and command words. The instruction can be executed by the processor 202 in order to execute the operation by the processor 202, and the operation is the game execution request signal reception, the game data transmission / reception, the start information transmission / reception, the situation judgment request signal transmission / reception, the situation judgment result transmission / reception, And various transmission operations can be included. Further, the memory 201 can store a plurality of game records played by the Go server 200 or a plurality of game records that have already been published. Each of the plurality of game records can include all the information from the first start, which is the start information at the beginning of the game, to the final start at the end of the game. That is, the plurality of game records can include history information regarding the start. The Go server 200 makes it possible to provide a plurality of stored game records to the situation determination model server 400 for training of the situation determination model server 400. Further, the memory 201 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc. in terms of hardware, and the memory 201 has a storage function of the memory 201 on the Internet. It can be a web storage that fulfills the above.

囲碁サーバ200のプロセッサ202は、全般的な動作を制御して囲碁ゲームサービスを提供するためのデータ処理を行うことができる。このようなプロセッサ202は、ASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、制御機(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他の機能実行のための任意の形態のプロセッサでありうる。 The processor 202 of the Go server 200 can control the overall operation and perform data processing for providing the Go game service. Such processor 202, ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controller (controllers) , Microcontrollers, microprocessors, and any other form of processor for performing other functions.

囲碁サーバ200は、通信部203を介してネットワーク500を経由して端末機100、着手モデルサーバ300、及び形勢判断モデルサーバ400と通信を行うことができる。 The Go server 200 can communicate with the terminal 100, the start model server 300, and the posture determination model server 400 via the network 500 via the communication unit 203.

<着手モデルサーバ300>
着手モデルサーバ300は、別のクラウドサーバやコンピュータ装置を備えることができる。また、着手モデルサーバ300は、端末機100のプロセッサまたは囲碁サーバ200のデータ処理部に設けられたニューラルネットワークシステムでありうるが、以下において着手モデルサーバ300は、端末機100または囲碁サーバ200とは別の装置として説明する。
<Start model server 300>
The start model server 300 can be provided with another cloud server or computer device. Further, the start model server 300 may be a processor of the terminal 100 or a neural network system provided in the data processing unit of the Go server 200, but in the following, the start model server 300 is the terminal 100 or the Go server 200. It will be described as another device.

着手モデルサーバ300は、命令を格納する少なくとも1つのメモリ301、少なくとも1つのプロセッサ302、及び通信部303を備えることができる。 The start model server 300 can include at least one memory 301 for storing instructions, at least one processor 302, and a communication unit 303.

着手モデルサーバ300は、囲碁規則によって自ら学習してディープラーニングモデルである着手モデルを構築し、端末機100のユーザと対局が可能な人工知能コンピュータであって、自分のターンにおいて対局で勝つことができるように碁石の着手を行うことができる。着手モデルサーバ300が着手モデルでトレーニングする詳しい説明は、図2~図5の着手モデルに関する説明にしたがう。 The start model server 300 is an artificial intelligence computer that can play against the user of the terminal 100 by learning by itself according to the Go rules to build a start model that is a deep learning model, and can win the game in its own turn. You can start playing Go stones as you can. The detailed explanation of the start model server 300 training with the start model follows the description of the start model of FIGS. 2 to 5.

着手モデルサーバ300のメモリ301は、着手モデルサーバ300で駆動される複数の応用プログラム(application program)またはアプリケーション(application)、着手モデルサーバ300の動作のためのデータ、命令語を格納することができる。命令は、プロセッサ302をして動作を実行させるためにプロセッサ302により実行可能であり、動作は、着手モデル学習(トレーニング)動作、着手情報送受信、及び各種送信動作を含むことができる。また、メモリ301は、ディープラーニングモデルである着手モデルを格納することができる。また、メモリ301は、ハードウェア的に、ROM、RAM、EPROM、フラッシュドライブ、ハードドライブなどのような様々な格納機器でありうるし、メモリ301は、インターネット(internet)上で前記メモリ301の格納機能を果たすウェブストレージ(web storage)でありうる。 The memory 301 of the start model server 300 can store a plurality of application programs (application programs) or applications (applications) driven by the start model server 300, data for the operation of the start model server 300, and instruction words. .. The instructions can be executed by the processor 302 in order for the processor 302 to perform the operation, and the operation can include a start model learning (training) operation, a start information transmission / reception, and various transmission operations. Further, the memory 301 can store a start model which is a deep learning model. Further, the memory 301 can be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc. in terms of hardware, and the memory 301 has a storage function of the memory 301 on the Internet. It can be a web storage that fulfills the above.

着手モデルサーバ300のプロセッサ302は、メモリ302に格納された着手モデルを読み出して、構築されたニューラルネットワークシステムにしたがって下記に記述する着手モデル学習及び碁石着手を行うようになる。実施形態によってプロセッサ302は、全体ユニットを制御するメインプロセッサと、着手モデルによってニューラルネットワーク駆動の際に必要な大容量の演算を処理する複数のグラフィックプロセッサ(Graphics Processing Unit、GPU)とを備えるように構成されることができる。 The processor 302 of the start model server 300 reads out the start model stored in the memory 302, and performs the start model learning and the go stone start described below according to the constructed neural network system. According to the embodiment, the processor 302 includes a main processor that controls the entire unit, and a plurality of graphic processors (Graphics Processing Units, GPUs) that process a large amount of operations required for driving a neural network by a start model. Can be configured.

着手モデルサーバ300は、通信部303を介してネットワーク500を経由して囲碁サーバ200と通信を行うことができる。さらに、着手モデルサーバ300は、ネットワーク500を経由して形勢判断モデルサーバ400及び端末機100とも通信を行うことができる。 The start model server 300 can communicate with the Go server 200 via the network 500 via the communication unit 303. Further, the start model server 300 can also communicate with the posture determination model server 400 and the terminal 100 via the network 500.

<形勢判断モデルサーバ400>
形勢判断モデルサーバ400は、別のクラウドサーバやコンピュータ装置を備えることができる。また、形勢判断モデルサーバ400は、端末機100のプロセッサまたは囲碁サーバ200のデータ処理部に設けられたニューラルネットワークシステムでありうるが、以下において形勢判断モデルサーバ400は、端末機100または囲碁サーバ200とは別の装置として説明する。
<Position judgment model server 400>
The posture determination model server 400 can be provided with another cloud server or computer device. Further, the posture determination model server 400 may be a neural network system provided in the processor of the terminal 100 or the data processing unit of the Go server 200, but in the following, the posture determination model server 400 is the terminal 100 or the Go server 200. It will be described as a separate device.

形勢判断モデルサーバ400は、命令を格納する少なくとも1つのメモリ401、少なくとも1つのプロセッサ402、及び通信部403を備えることができる。 The posture determination model server 400 can include at least one memory 401 for storing instructions, at least one processor 402, and a communication unit 403.

形勢判断モデルサーバ400は、通信部403を介して囲碁サーバ200からトレーニングデータセットを受信できる。トレーニングデータセットは、複数の棋譜と、当該複数の棋譜に対する形勢判断情報でありうる。形勢判断モデルサーバ400は、受信したトレーニングデータセットを用いて碁石が置かれた碁盤の状態に対する形勢を判断できるように指導学習してディープラーニングモデルである形勢判断モデルを構築し、端末機100ユーザの形勢判断要請に応じて形勢判断を行うことができる。形勢判断モデルサーバ400が形勢判断モデルでトレーニングする詳しい説明は、図6~図18の形勢判断モデルに関する説明にしたがう。 The posture determination model server 400 can receive the training data set from the Go server 200 via the communication unit 403. The training data set may be a plurality of game records and information on determining the posture of the plurality of game records. The posture judgment model server 400 constructs a posture judgment model, which is a deep learning model, by teaching and learning so that the posture for the state of the go board on which the go stones are placed can be judged using the received training data set, and the terminal 100 users. It is possible to make a situation judgment in response to a request for a situation judgment. The detailed explanation of the situation judgment model server 400 training in the situation judgment model follows the explanation of the situation judgment model of FIGS. 6 to 18.

形勢判断モデルサーバ400のメモリ401は、形勢判断モデルサーバ400で駆動される複数の応用プログラム(application program)またはアプリケーション(application)、形勢判断モデルサーバ400の動作のためのデータ、命令語を格納することができる。命令は、プロセッサ402をして動作を実行させるためにプロセッサ402により実行可能であり、動作は、形勢判断モデル学習(トレーニング)動作、形勢判断実行、形勢判断結果送信、複数の棋譜情報受信、及び各種送信動作を含むことができる。また、メモリ401は、ディープラーニングモデルである形勢判断モデルを格納できる。また、メモリ401は、ハードウェア的に、ROM、RAM、EPROM、フラッシュドライブ、ハードドライブなどのような様々な格納機器でありうるし、メモリ401は、インターネット(internet)上で前記メモリ401の格納機能を果たすウェブストレージ(web storage)でありうる。 The memory 401 of the posture judgment model server 400 stores a plurality of application programs (application programs) or applications (applications) driven by the posture judgment model server 400, data for the operation of the posture judgment model server 400, and command words. be able to. The instructions can be executed by the processor 402 in order for the processor 402 to execute the operation, and the operation includes a posture judgment model learning (training) operation, a posture judgment execution, a posture judgment result transmission, a plurality of game record information reception, and an operation. Various transmission operations can be included. Further, the memory 401 can store a posture determination model, which is a deep learning model. Further, the memory 401 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc. in terms of hardware, and the memory 401 has a storage function of the memory 401 on the Internet. It can be a web storage that fulfills the above.

形勢判断モデルサーバ400のプロセッサ402は、メモリ401に格納された形勢判断モデルを読み込んだ後、構築されたニューラルネットワークシステムにしたがって下記に記述する形勢判断モデル学習及び対局中、碁盤の形勢判断を行うようになる。実施形態によってプロセッサ402は、全体ユニットを制御するメインプロセッサと、形勢判断モデルによってニューラルネットワーク駆動の際に必要な大容量の演算を処理する複数のグラフィックプロセッサ(Graphics Processing Unit、GPU)とを備えるように構成されることができる。 The processor 402 of the posture judgment model server 400 reads the posture judgment model stored in the memory 401, and then performs the posture judgment model learning described below according to the constructed neural network system and the posture judgment of the go board during the game. It will be like. According to the embodiment, the processor 402 includes a main processor that controls the entire unit, and a plurality of graphic processors (Graphics Processing Units, GPUs) that process a large amount of operations required for driving a neural network by a posture determination model. Can be configured in.

形勢判断モデルサーバ400は、通信部403を介してネットワーク500を経由して囲碁サーバ200と通信を行うことができる。さらに、形勢判断モデルサーバ400は、ネットワーク500を経由して着手モデルサーバ300及び端末機100と通信を行うことができる。 The situation determination model server 400 can communicate with the Go server 200 via the network 500 via the communication unit 403. Further, the posture determination model server 400 can communicate with the start model server 300 and the terminal 100 via the network 500.

<着手モデル>
図2は、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスにおいて人工知能コンピュータの着手のための着手モデルサーバ300の着手モデル構造を説明するための図であり、図3は、着手モデルの政策による着手点に対する移動確率分布を説明するための図であり、図4は、着手モデルの着手点に対する価値と訪問回数を説明するための図であり、図5は、着手モデルが探索部のパイプラインに沿って着手する過程を説明するための図である。
<Starting model>
FIG. 2 is a diagram for explaining a start model structure of a start model server 300 for starting an artificial intelligence computer in a Go game service based on deep learning according to an embodiment of the present invention, and FIG. 3 is a diagram for explaining a start model. FIG. 4 is a diagram for explaining the movement probability distribution for the start point according to the policy of, FIG. 4 is a diagram for explaining the value and the number of visits for the start point of the start model, and FIG. 5 is a diagram in which the start model is the search unit. It is a figure for demonstrating the process of embarking along the pipeline of.

図2に示すように、本発明の実施形態に係る着手モデルは、着手モデルサーバ300のディープラーニングモデルであって、探索部310、セルフプレイ部320、着手ニューラルネットワーク330を備えることができる。 As shown in FIG. 2, the start model according to the embodiment of the present invention is a deep learning model of the start model server 300, and can include a search unit 310, a self-play unit 320, and a start neural network 330.

着手モデルは、探索部310、セルフプレイ部320、及び着手ニューラルネットワーク330を用いて対局で勝つことができるように着手するモデルとして学習されることができる。より具体的に、探索部310は、着手ニューラルネットワーク330のガイドによってモンテカルロ木探索(Monte Carlo Tree Searchと、MCTS)動作を行うことができる。MCTSは、一種の意思決定のための体験的探索アルゴリズムである。すなわち、探索部310は、着手ニューラルネットワーク330が提供する移動確率値P及び/又は価値Vに基づいてMCTSを行うことができる。一例として、着手ニューラルネットワーク330によりガイドされた探索部310は、MCTSを行って着手点等に対する確率分布値である探索確率値πを出力できる。セルフプレイ部320は、探索確率値πによって自ら囲碁対局をすることができる。セルフプレイ部320は、ゲームの勝敗が決定される時点まで自ら囲碁対局を進み、自家対局が終了されれば、碁盤状態S、探索確率値π、自家プレイ価値Zを着手ニューラルネットワーク330に提供することができる。碁盤状態Sは、着手点等に碁石が置かれた状態である。自家プレイ価値Zは、碁盤状態Sで自家対局したときの勝率値である。着手ニューラルネットワーク330は、移動確率値Pと価値Vを出力できる。移動確率値Pは、碁盤状態Sによって着手点等に対してどの着手点に着手することがゲームに勝つことができる良い手であるか数値として表した確率分布値である。価値Vは、当該着手点に着手時の勝率を表す。例えば、移動確率値Pが高い着手点が良い手でありうる。着手ニューラルネットワーク330は、移動確率値Pが探索確率値πと同一になるようにトレーニングされ、価値Vが自家プレイ価値Zと同一になるようにトレーニングされることができる。その後、トレーニングされた着手ニューラルネットワーク330は、探索部310をガイドし、探索部310は、以前探索確率値πより良い手を探すようにMCTSを進行して新しい探索確率値πを出力させる。セルフプレイ部320は、新しい探索確率値πに基づいて碁盤状態Sによる新しい自家プレイ価値Zを出力し、碁盤状態S、新しい探索確率値π、新しい自家プレイ価値Zを着手ニューラルネットワーク330に提供することができる。着手ニューラルネットワーク330は、移動確率値Pと価値Vが新しい探索確率値πと新しい自家プレイ価値Zで出力されるように再度トレーニングされることができる。すなわち、着手モデルは、このような過程を繰り返して、着手ニューラルネットワーク330が対局で勝つためのより良い着手点を探すようにトレーニングされることができる。一例として、着手モデルは、着手損失lを利用できる。着手損失lは、数式1のとおりである。

Figure 0007051946000002
The start model can be learned as a model to start so that the player can win the game by using the search unit 310, the self-play unit 320, and the start neural network 330. More specifically, the search unit 310 can perform a Monte Carlo tree search (Monte Carlo Tree Search and MCTS) operation by the guide of the starting neural network 330. MCTS is a kind of experiential search algorithm for decision making. That is, the search unit 310 can perform MCTS based on the movement probability value P and / or the value V provided by the start neural network 330. As an example, the search unit 310 guided by the start neural network 330 can perform MCTS and output a search probability value π which is a probability distribution value for a start point or the like. The self-play unit 320 can play Go by itself depending on the search probability value π. The self-play unit 320 advances the Go game by itself until the victory or defeat of the game is decided, and when the self-game is completed, provides the Go board state S, the search probability value π, and the self-play value Z to the starting neural network 330. be able to. The go board state S is a state in which a go stone is placed at a starting point or the like. The self-play value Z is a winning percentage value when a self-play is played in the board state S. The start neural network 330 can output the movement probability value P and the value V. The movement probability value P is a probability distribution value that numerically expresses which starting point is a good move that can win the game with respect to the starting point or the like depending on the board state S. The value V represents the winning percentage at the time of starting the starting point. For example, a starting point with a high movement probability value P may be a good move. The start neural network 330 can be trained so that the movement probability value P is the same as the search probability value π, and the value V is the same as the self-play value Z. After that, the trained start neural network 330 guides the search unit 310, and the search unit 310 advances the MCTS so as to search for a move better than the previously search probability value π, and outputs a new search probability value π. The self-play unit 320 outputs a new self-play value Z by the board state S based on the new search probability value π, and provides the board state S, the new search probability value π, and the new self-play value Z to the starting neural network 330. be able to. The start neural network 330 can be retrained so that the movement probability value P and the value V are output with the new search probability value π and the new self-play value Z. That is, the launch model can be trained to repeat this process in search of a better launch point for the launch neural network 330 to win in the game. As an example, the start model can utilize the start loss l. The start loss l is as shown in Equation 1.
Figure 0007051946000002

θは、ニューラルネットワークのパラメータであり、cは、非常に小さい定数である。 θ is a parameter of the neural network, and c is a very small constant.

数式1の着手損失lにおいてz(自家プレイ価値)とv(価値)とが同じになるようにすることは、平均二乗損失(mean square loss)タームに該当し、πとp(移動確率値)とが同じになるようにすることは、クロスエントロピー損失(cross entropy loss)タームに該当し、θにcをかけることは、正規化タームであって、オーバーフィッティングを防止するためのものである。 Making z (self-play value) and v (value) the same in the start loss l of Equation 1 corresponds to the mean square loss term, and π and p (movement probability value). It corresponds to the cross entropy loss term, and multiplying θ by c is a normalization term to prevent overfitting.

例えば、図3に示すように、トレーニングされた着手モデルは、着手点等の移動確率値Pを図3のように確率分布値で表すことができる。図4に示すように、トレーニングされた着手モデルの価値Vは、図4の1つの着手点において上に表示された値で表すことができる。着手ニューラルネットワーク330は、ニューラルネットワーク構造で構成されることができる。一例として、着手ニューラルネットワーク330は、1個のコンボリューション(convolution)ブロックと19個のレシデュアル(residual)ブロックとで構成されることができる。コンボリューションブロックは、3×3コンボリューションレイヤが複数個重なった形態でありうる。1つのレシデュアルブロックは、3×3コンボリューションレイヤが複数個重なり、スキップコネクションを含んだ形態でありうる。スキップコネクションは、所定のレイヤの入力が当該レイヤの出力値と合わせられて出力され、他のレイヤに入力される構造である。また、着手ニューラルネットワーク330の入力は、黒プレイヤの最近の8手に対する石の位置情報と百プレイヤの最近の8手に対する石の位置情報と、現在プレイヤが黒であるか白であるかに対する順序情報を含んだ19*19*17のRGBイメージが入力され得る。 For example, as shown in FIG. 3, in the trained start model, the movement probability value P of the start point or the like can be represented by the probability distribution value as shown in FIG. As shown in FIG. 4, the value V of the trained launch model can be represented by the value displayed above at one launch point in FIG. The starting neural network 330 can be configured with a neural network structure. As an example, the starting neural network 330 can be composed of one convolution block and 19 residal blocks. The convolution block may be a form in which a plurality of 3 × 3 convolution layers are overlapped. One recital block may have a form in which a plurality of 3 × 3 convolution layers are overlapped and a skip connection is included. The skip connection is a structure in which the input of a predetermined layer is output together with the output value of the layer and is input to another layer. Further, the input of the starting neural network 330 is the position information of the stone for the recent 8 moves of the black player, the position information of the stone for the recent 8 moves of the 100 player, and the order of whether the player is currently black or white. A 19 * 19 * 17 RGB image containing information can be input.

図5に示すように、学習された着手モデルは、自分の順序で着手ニューラルネットワーク330と探索部310を用いて着手することができる。着手モデルは、選択過程aを介して現在第1碁盤状態S、S1でMCTSを介して探索しなかった枝である第2碁盤状態S、S1-2で活動関数Qと信頼値Uとが高い着手点を選択する。活動関数Qは、当該枝を通る度に算出された価値Vの平均値である。信頼値Uは、当該枝を通る訪問回数Nに比例する。着手モデルは、拡張と評価過程bを介して選択された着手点での第3碁盤状態S、S1-2-1に拡張し、移動確率値Pを算出できる。着手モデルは、バックアップ過程cを介して拡張された第3碁盤状態S、S1-2-1の価値を算出し、通った枝等の活動関数Q、訪問回数N、移動確率値Pを格納することができる。着手モデルは、選択a、拡張及び評価b、バックアップc過程を繰り返し、各着手点に対する訪問回数Nを用いて確率分布を作って探索確率値πを出力できる。着手モデルは、着手点等のうち、最も高い探索確率値πを選択して着手することができる。 As shown in FIG. 5, the trained start model can be started using the start neural network 330 and the search unit 310 in its own order. In the starting model, the activity function Q and the reliability value U are high in the second board state S and S1-2, which are the branches that are not searched through the MCTS in the first board state S and S1 through the selection process a. Select a starting point. The activity function Q is an average value of the value V calculated each time the branch is passed. The confidence value U is proportional to the number of visits N through the branch. The start model can be expanded to the third board state S, S1-2-1 at the start point selected through the expansion and evaluation process b, and the movement probability value P can be calculated. The start model calculates the value of the third board state S and S1-2-1 expanded via the backup process c, and stores the activity function Q such as the passed branch, the number of visits N, and the movement probability value P. be able to. The start model can repeat the selection a, expansion and evaluation b, and backup c processes, create a probability distribution using the number of visits N for each start point, and output the search probability value π. The start model can be started by selecting the highest search probability value π from the start points and the like.

<形勢判断モデル>
図6は、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスの形勢判断機能を提供する画面を見せる例示図であり、図7は、本発明の形勢判断モデルサーバ400の形勢判断モデル構造を説明するための図であり、図8は、本発明の形勢判断モデルの複数のブロックからなるニューラルネットワーク構造のうち、1つのブロックを説明するための図である。
<Position judgment model>
FIG. 6 is an exemplary diagram showing a screen that provides a posture determination function of a Go game service based on deep learning according to an embodiment of the present invention, and FIG. 7 is a posture determination model structure of the posture determination model server 400 of the present invention. FIG. 8 is a diagram for explaining one block of the neural network structure composed of a plurality of blocks of the posture determination model of the present invention.

図6に示すように、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスは、現在碁盤状態の形勢判断をすることができる。一例として、図6のように、ユーザが端末機100の画面で囲碁対局中、形勢判断メニューAをクリックして形勢判断を要請すれば、ディープラーニングに基づく囲碁ゲームサービスがポップアップウィンドウに形勢判断結果を提供できる。形勢判断は、囲碁対局中に相手方と自分の地を計算して、誰が何点で勝っているのか判断することである。例えば、ユーザは、形勢が自分に有利であるという判断がつくと、それ以上無理せずに、現在の有利な状況をそのまま維持したまま対局を終了する方向に戦略を立てるはずであり、仮りに、不利であるという判断であれば、ゲーム局面を新しく転換できるように様々な戦略を模索することができる。形勢判断の基準は、碁石が碁盤に配置された状態による地、捨て石、石、駄目、関になる。石は、碁盤に置かれた石であり、韓国の規則では点数ではない。地は、1つの色の碁石で囲まれた空いた点から構成された領域であって、韓国の規則では点数である。駄目と関は、囲碁が終わったとき、黒地でも百地でもない領域であって、韓国の規則では点数ではない。碁盤上の捨て石は、碁盤上に置かれた石のうち、どのように打っても捕まえるしかなく、死んだ石であって、韓国の規則では、相手方の地を埋めるのに使用するので点数である。関は、囲碁が終わったとき、黒地でも百地でもない領域をいう。したがって、形勢判断は、碁石が置かれた碁盤状態で地、捨て石、石、駄目、関を正確に区分または予測してこそ正確な判断になることができる。このとき、地、捨て石、石、駄目、関を正確に区分することは、地、捨て石、石、駄目、関が完全になされた状態を区分することであり、地、捨て石、石、駄目、関を正確に予測することは、地、捨て石、石、駄目、関になる可能性が高い状態を予測することでありうる。 As shown in FIG. 6, the Go game service based on deep learning according to the embodiment of the present invention can determine the current state of the Go board. As an example, as shown in FIG. 6, when the user clicks the situation judgment menu A during a Go game on the screen of the terminal 100 to request the situation judgment, the Go game service based on deep learning displays the situation judgment result in the pop-up window. Can be provided. The situation judgment is to calculate the opponent and your own land during the Go game and judge who is winning by what point. For example, if a user decides that the situation is in his or her own favor, he or she should not overdo it and make a strategy to end the game while maintaining the current favorable situation. If it is judged to be disadvantageous, various strategies can be sought so that the game phase can be newly changed. The criteria for determining the situation are the ground, abandoned stones, stones, uselessness, and seki, depending on how the go stones are placed on the board. A stone is a stone placed on a board and is not a score under Korean rules. The ground is an area composed of vacant points surrounded by go stones of one color, and is a score according to Korean rules. No good and Seki are areas that are neither black nor 100 when Go is over, and are not points under Korean rules. The abandoned stone on the board is a dead stone that can only be caught by hitting it no matter how it is placed on the board. According to Korean rules, it is used to fill the opponent's land, so in terms of points be. Seki refers to an area that is neither black nor a hundred when Go is over. Therefore, the situation judgment can be made accurately only by accurately classifying or predicting the ground, abandoned stones, stones, uselessness, and seki in the state of the board on which the go stones are placed. At this time, to accurately classify the ground, abandoned stone, stone, useless, and Seki is to classify the state where the ground, abandoned stone, stone, useless, and Seki are completely completed. Accurate prediction of Seki can be to predict the ground, abandoned stones, stones, spoilage, and conditions that are likely to be Seki.

図7に示すように、本発明の実施形態に係る形勢判断モデルは、形勢判断モデルサーバ400のディープラーニングモデルであって、形勢判断ニューラルネットワーク410、入力特徴抽出部420、及び正解ラベル生成部430を備えることができる。 As shown in FIG. 7, the posture determination model according to the embodiment of the present invention is a deep learning model of the posture determination model server 400, and is a posture determination neural network 410, an input feature extraction unit 420, and a correct label generation unit 430. Can be provided.

形勢判断モデルは、形勢判断ニューラルネットワーク410を用いて現在碁盤状態の形勢を判断できるように指導学習(supervised learning)することができる。より具体的に、形勢判断モデルの碁盤状態Sに関するトレーニングデータセットを生成し、生成されたトレーニングデータセットを用いて形勢判断ニューラルネットワーク410が現在碁盤状態Sによる形勢を判断できるように学習させることができる。形勢判断モデルサーバ400は、囲碁サーバ200から複数の棋譜を受信できる。複数の棋譜の各棋譜は、着手順序によるそれぞれの碁盤状態Sを含むことができる。 The posture determination model can be supervised learning so that the posture of the current Go board state can be determined by using the posture determination neural network 410. More specifically, it is possible to generate a training data set for the Go board state S of the situation judgment model and train the situation judgment neural network 410 to judge the current state of the Go board state S using the generated training data set. can. The situation determination model server 400 can receive a plurality of game records from the Go server 200. Each game record of the plurality of game records can include each board state S according to the starting order.

入力特徴抽出部420は、複数の棋譜の碁盤状態Sで入力特徴IFを抽出して形勢判断ニューラルネットワーク410にトレーニングのための入力データとして提供することができる。碁盤状態Sの入力特徴IFは、黒プレイヤの最近の8手に対する石の位置情報と白プレイヤの最近の8手に対する石の位置情報と、現在プレイヤが黒であるか白であるかに対する順序情報を含んだ19*19*18のRGBイメージでありうる。一例として、入力特徴抽出部420は、ニューラルネットワーク構造からなっていることができ、一種のエンコーダを含むことができる。 The input feature extraction unit 420 can extract the input feature IF in the board state S of a plurality of game records and provide the input feature IF to the posture determination neural network 410 as input data for training. The input feature IF of the board state S is the position information of the stone for the latest 8 moves of the black player, the position information of the stone for the latest 8 moves of the white player, and the order information for whether the player is currently black or white. It can be a 19 * 19 * 18 RGB image containing. As an example, the input feature extraction unit 420 may consist of a neural network structure and may include a kind of encoder.

Figure 0007051946000003
Figure 0007051946000003

Figure 0007051946000004
Figure 0007051946000005
Figure 0007051946000004
Figure 0007051946000005

Figure 0007051946000006
Figure 0007051946000006

形勢判断ニューラルネットワーク410は、ニューラルネットワーク構造で構成されることができる。一例として、形勢判断ニューラルネットワーク420は、19個のレシデュアル(residual)ブロックで構成されることができる。図8に示すように、任意の1つのレシデュアルブロック(800:block n)は、256個の3×3コンボリューションレイヤ801、第1の一括正規化(batch normalization)レイヤ802、第1のRelu活性化関数レイヤ803、256個の3×3コンボリューションレイヤ804、第2の一括正規化(batch normalization)レイヤ805、スキップコネクション807、第2のRelu活性化関数レイヤ806の順に配置されることができる。第1及び第2の一括正規化(batch normalization)レイヤ802、805は、学習する途中に以前レイヤのパラメータ変化のため、現在レイヤの入力の分布が変わる現象である共変量シフト(covariate shift)を防止するためのものである。スキップコネクション807は、ブロック層が厚くなってもニューラルネットワークの性能が減少することを防止し、ブロック層をさらに厚くして全体ニューラルネットワークの性能を高めることができるようにする。スキップコネクション807は、レシデュアルブロック800の最初入力データが2番目の第2の一括正規化(batch normalization)レイヤ805の出力と合わせて2番目に配置された第2のRelu活性化関数レイヤ806に入力される形態でありうる。 The posture determination neural network 410 can be configured with a neural network structure. As an example, the posture determination neural network 420 can be composed of 19 residal blocks. As shown in FIG. 8, any one resonant block (800: block n) includes 256 3 × 3 convolution layers 801, a first batch normalization layer 802, and a first Relu. The activation function layer 803, 256 3 × 3 convolution layers 804, the second batch normalization layer 805, the skip connection 807, and the second Relu activation function layer 806 may be arranged in this order. can. The first and second batch normalization layers 802 and 805 undergo covariate shift, which is a phenomenon in which the distribution of the input of the current layer changes due to the parameter change of the previous layer during learning. It is for prevention. The skip connection 807 prevents the performance of the neural network from deteriorating even if the block layer becomes thick, and makes it possible to further thicken the block layer to improve the performance of the entire neural network. The skip connection 807 is placed in the second Relu activation function layer 806 in which the first input data of the resonant block 800 is arranged second with the output of the second second batch normalization layer 805. It can be in the form of input.

図9及び図10は、本発明の形勢判断モデルを学習するために使用される正解ラベルを生成するための第1及び第2の前処理ステップを説明するための図であり、図11は、本発明の形勢判断モデルを学習するために使用される正解ラベルを生成するための第3の前処理ステップを説明するための図である。 9 and 10 are diagrams for explaining the first and second preprocessing steps for generating the correct label used for learning the posture determination model of the present invention, and FIG. 11 is a diagram for explaining the first and second preprocessing steps. It is a figure for demonstrating the 3rd preprocessing step for generating the correct label used for learning the posture judgment model of this invention.

正解ラベル生成部430は、形勢判断ニューラルネットワーク410が正確な形勢判断が可能なように学習するのに用いられる正解ラベルを生成できる。 The correct answer label generation unit 430 can generate a correct answer label used for learning so that the posture determination neural network 410 can perform an accurate posture determination.

より具体的に、正解ラベル生成部430は、入力データに基になる碁盤状態Sを入力として受け、現在碁盤状態Sでヨセをする第1の前処理を行って第1の前処理状態P1を生成できる。第1の前処理であるヨセは、地の計算をする前に地の境界が明確になるように所定の着手をしてゲームを仕上げる過程である。一例として、図9に示すように、正解ラベル生成部430は、図9の(a)の現在碁盤状態Sでヨセをして図9の(b)の第1の前処理状態P1を生成できる。 More specifically, the correct answer label generation unit 430 receives the board state S based on the input data as an input, performs the first preprocessing for making a twist in the current board state S, and performs the first preprocessing state P1. Can be generated. The first pretreatment, Yose, is the process of finishing the game by making a predetermined start so that the boundary of the ground becomes clear before calculating the ground. As an example, as shown in FIG. 9, the correct label generation unit 430 can generate the first preprocessing state P1 of FIG. 9 (b) by twisting in the current board state S of FIG. 9 (a). ..

正解ラベル生成部430は、第1の前処理状態P1で地の境界内に配置され、地の区分に不要な石を除去する第2の前処理を行って第2の前処理状態P2を生成できる。例えば、地の境界内に配置され、地の区分に不要な石は捨て石でありうる。捨て石は、地内に相手方の石が配置されて、どのように打っても捕まえるしかなくなり、死んだ石であることを先に説明した。また、地の境界内に配置され、地の区分に不要な石は地内に配置された自分の石でありうる。一例として、図9に示すように、正解ラベル生成部430は、図9の(b)の第1の前処理状態P1で地の区分に不要な石を除去して、図9の(c)の第2の前処理状態P2を生成できる。 The correct label generation unit 430 is arranged within the boundary of the ground in the first pretreatment state P1, and performs the second pretreatment for removing stones unnecessary for the division of the ground to generate the second pretreatment state P2. can. For example, stones that are placed within the boundaries of the ground and are not needed to divide the ground can be abandoned stones. I explained earlier that the abandoned stone is a dead stone because the opponent's stone is placed in the ground and you have no choice but to catch it no matter how you hit it. Also, stones that are placed within the boundaries of the ground and are not needed to divide the ground can be their own stones placed within the ground. As an example, as shown in FIG. 9, the correct label generation unit 430 removes stones unnecessary for ground division in the first pretreatment state P1 of FIG. 9 (b), and (c) of FIG. The second preprocessing state P2 can be generated.

他の例として、図10に示すように、正解ラベル生成部430は、図10の(a)の現在碁盤状態Sで第1の前処理であるヨセのために、図10の(b)のように赤色×に着手することができる。正解ラベル生成部430は、図10の(b)で青色×と表示された捨て石を除去するために、緑色×に着手して捨て石を除去し、捨て石除去のために使用された緑色×に着手した石も除去して第2の前処理を行うことができる。 As another example, as shown in FIG. 10, the correct label generation unit 430 of FIG. 10 (b) is for Yose, which is the first preprocessing in the current board state S of FIG. 10 (a). You can start red x like this. The correct label generation unit 430 starts green × to remove the waste stones in order to remove the waste stones displayed as blue × in FIG. 10 (b), and starts the green × used for removing the waste stones. The stones that have been removed can also be removed and a second pretreatment can be performed.

正解ラベル生成部430は、第2の前処理状態P2で各交差点を-1から+1まで表示された形勢値(g、ただし、gは定数)に変更する第3の前処理を行うことができる。すなわち、第3の前処理は、正解ラベル生成部430がイメージ特徴である第2の前処理状態P2を数値特徴である第3の前処理状態P3に変更することである。一例として、第2の前処理状態P2で交差点に自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1に対応することができる。この場合、形勢判断ニューラルネットワーク410は、形勢判断の際、地、石、捨て石を区分できるように学習されることができる。他の例として、第2の前処理状態P2で交差点に自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1、関または駄目であれば0に対応することができる。他の例の場合、形勢判断ニューラルネットワーク410は、形勢判断の際、関または駄目を区分できるように学習されることができる。例えば、図11に示すように、正解ラベル生成部430は、図11の(a)の第2の前処理状態P2を図11の(b)の第3の前処理状態P3に特徴を変更することができる。 The correct label generation unit 430 can perform a third preprocessing for changing each intersection to a stance value (g, where g is a constant) displayed from -1 to +1 in the second preprocessing state P2. .. That is, in the third preprocessing, the correct label generation unit 430 changes the second preprocessing state P2, which is an image feature, to the third preprocessing state P3, which is a numerical feature. As an example, in the second pretreatment state P2, 0 if your stone is placed at the intersection, +1 if your stone is placed, 0 if your opponent's stone is placed, and-if your opponent's stone is placed- It can correspond to 1. In this case, the posture determination neural network 410 can be learned so that the ground, the stone, and the abandoned stone can be classified at the time of the posture determination. As another example, in the second pretreatment state P2, if your stone is placed at the intersection, it is 0, if it is your own ground area, it is +1. If your opponent's stone is placed, it is 0. If it is -1, Seki or if it is not good, it can correspond to 0. In another example, the stance-determining neural network 410 can be learned to be able to discriminate between relations and failures during stance-determining. For example, as shown in FIG. 11, the correct label generation unit 430 changes the feature of the second preprocessing state P2 in FIG. 11A to the third preprocessing state P3 in FIG. 11B. be able to.

Figure 0007051946000007
Figure 0007051946000007

図12は、本発明の形勢判断モデルの形勢判断結果を説明するための図である。 FIG. 12 is a diagram for explaining the posture determination result of the posture determination model of the present invention.

学習された形勢判断モデルは、碁盤状態が入力されれば、碁盤の全ての交差点に対する形勢値を提供できる。すなわち、碁盤交差点の361個地点に対して形勢値である-1ないし+1の定数値を提供できる。 The trained stance determination model can provide stance values for all intersections of the board if the board state is input. That is, it is possible to provide a constant value of -1 to +1 which is a stance value for 361 points of the Go board intersection.

図12に示すように、形勢判断モデルサーバ400は、形勢判断モデルが提供した形勢値、所定の閾値、石の有無を利用して形勢を判断できる。一例として、形勢判断モデルサーバ400は、石がない所であり、形勢値が第1閾値を越えると、自分の地になる可能性が高い所と判断し、+1に近い値であれば、自分の地領域と判断することができる。形勢判断モデルサーバ400は、自分の地である可能性が高いほど、次第に大きくなる自分の石と同じ色の四角形態で表示することができる。すなわち、百地である可能性が高いほど、白色四角形態と表示し、黒地である可能性が高いほど、黒色四角形態と表示することができる。形勢判断モデルサーバ400は、石がない所であり、形勢値が第2閾値以下であれば、相手の地になる可能性が高い所と判断し、-1に近い値であれば、自分の地領域と判断することができる。形勢判断モデルサーバ400は、相手の地である可能性が高いほど、次第に大きくなる相手の石と同じ色の四角形態と表示することができる。形勢判断モデルサーバ400は、石がない所であり、形勢値が第3閾値範囲以内または0に近い値であれば、駄目または関と判断することができる。形勢判断モデルサーバ400は、駄目または関と判断すれば、Xと表示することができる。形勢判断モデルサーバ400は、石がある所であり、形勢値が第3閾値範囲以内または0に近い値であれば、自分の石または相手の石と判断することができる。形勢判断モデルサーバ400は、駄目または関と判断すれば、何らの表示もしないことができる。形勢判断モデルサーバ400は、石がある所であり、形勢値が第1閾値を越えると、相手の石の捨て石になる可能性が高い所と判断し、+1に近い値であれば、相手の石の捨て石と判断することができる。形勢判断モデルサーバ400は、相手の石の捨て石である可能性が高いほど、次第に大きくなる自分の石と同じ色の四角形態と表示することができる。形勢判断モデルサーバ400は、石がある所であり、形勢値が第2閾値以下であれば、自分の石の捨て石になる可能性が高い所と判断し、-1に近い値であれば、相手の石の捨て石と判断することができる。形勢判断モデルサーバ400は、相手の石の捨て石である可能性が高いほど、次第に大きくなる相手の石と同じ色の四角形態と表示することができる。 As shown in FIG. 12, the stance determination model server 400 can determine the stance by using the stance value provided by the stance determination model, a predetermined threshold value, and the presence or absence of stones. As an example, the situation judgment model server 400 determines that there is no stone, and if the situation value exceeds the first threshold value, it is likely to become one's own land, and if the value is close to +1 then oneself. It can be judged as the ground area of. The posture determination model server 400 can display in a square shape of the same color as its own stone, which gradually becomes larger as it is more likely to be its own ground. That is, the higher the possibility of a hundred grounds, the more a white square shape can be displayed, and the higher the possibility of a black background, the more a black square shape can be displayed. The situation judgment model server 400 is a place where there are no stones, and if the situation value is equal to or less than the second threshold value, it is determined that there is a high possibility of becoming the opponent's land, and if the value is close to -1, it is own. It can be judged as a ground area. The posture determination model server 400 can display a square shape having the same color as the opponent's stone, which gradually becomes larger as the possibility of the opponent's land is higher. If the posture determination model server 400 is a place where there are no stones and the posture value is within the third threshold value range or is close to 0, it can be determined to be useless or related. The situation determination model server 400 can display X if it determines that it is useless or related. The stance determination model server 400 can determine that it is a stone of its own or a stone of the opponent if the stance value is within the third threshold range or is close to 0 where the stone is located. The situation determination model server 400 may not display anything if it determines that it is useless or related. The stance judgment model server 400 determines that there is a stone, and if the stance value exceeds the first threshold value, there is a high possibility that it will be a waste stone of the opponent's stone. It can be judged as a discarded stone. The posture determination model server 400 can display a square shape of the same color as its own stone, which gradually becomes larger as the possibility of being a waste stone of the opponent's stone increases. The stance judgment model server 400 determines that there is a stone, and if the stance value is equal to or less than the second threshold value, it is highly likely that the stone will be discarded, and if the value is close to -1, it is likely to be a waste stone. It can be judged as a waste stone of the opponent's stone. The posture determination model server 400 can display a square shape having the same color as the opponent's stone, which gradually becomes larger as the possibility of being a waste stone of the opponent's stone increases.

また、形勢判断モデルサーバ400は、各交差点で判断した形勢判断基準を利用して現在碁盤状態での地計算結果を表示できる。 In addition, the situation determination model server 400 can display the ground calculation result in the current state of the board by using the situation determination criteria determined at each intersection.

したがって、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、ディープラーニングニューラルネットワークを利用して囲碁形勢を判断できる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、囲碁規則による地、捨て石、石、駄目、関を正確に区分して囲碁の形勢を正確に判断することができる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、囲碁規則による地、捨て石、石、駄目、関を予測して囲碁の形勢を正確に判断することができる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムは、囲碁対局中、速やかに形勢を判断できる。 Therefore, the Go game service system based on deep learning according to the embodiment can determine the Go situation by using the deep learning neural network. In addition, the Go game service system based on deep learning according to the embodiment can accurately classify the ground, abandoned stones, stones, uselessness, and seki according to the rules of Go, and accurately judge the situation of Go. In addition, the Go game service system based on deep learning according to the embodiment can predict the ground, abandoned stones, stones, uselessness, and seki according to the rules of Go, and can accurately judge the situation of Go. In addition, the Go game service system based on deep learning according to the embodiment can quickly determine the situation during a Go game.

図13は、本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状であり、図14は、本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状であり、図15は、本発明の形勢判断モデルの形勢判断結果と従来技術に係るディープラーニングモデルによる形勢判断結果とを比較した形状である。 FIG. 13 is a shape comparing the shape judgment result of the shape judgment model of the present invention with the shape judgment result by the deep learning model according to the prior art, and FIG. 14 shows the shape judgment result of the shape judgment model of the present invention and the conventional one. It is a shape comparing the posture judgment result by the deep learning model according to the technique, and FIG. 15 is a shape comparing the posture judgment result of the posture judgment model of the present invention and the posture judgment result by the deep learning model according to the prior art. be.

図13に示すように、本発明の形勢判断モデルは、図13の(a)のB領域のように、交差点毎に地、石、捨て石を区分して形勢を判断する。しかし、従来技術に係るディープラーニングモデルによる形勢判断モデルは、図13の(b)で図13の(a)と対応する領域の交差点に対して地、石、捨て石を区分できない。 As shown in FIG. 13, the posture determination model of the present invention determines the posture by classifying the ground, stones, and abandoned stones at each intersection as in the B region of FIG. 13 (a). However, in the posture determination model based on the deep learning model according to the prior art, the ground, the stone, and the abandoned stone cannot be classified with respect to the intersection of the region corresponding to the (a) of FIG. 13 in (b) of FIG.

同様に、図14に示すように、本発明の形勢判断モデルは、図14の(a)のC領域のように、交差点毎に地、石、捨て石を区分して形勢を判断する。しかし、従来技術に係るディープラーニングモデルによる形勢判断モデルは、図14の(b)で図13の(a)と対応する領域の交差点に対して地、石、捨て石を区分できない。 Similarly, as shown in FIG. 14, the posture determination model of the present invention determines the posture by classifying the ground, stones, and abandoned stones at each intersection as in the C region of FIG. 14 (a). However, in the posture determination model based on the deep learning model according to the prior art, the ground, the stone, and the abandoned stone cannot be classified with respect to the intersection of the region corresponding to the (a) of FIG. 13 in (b) of FIG.

図15に示すように、本発明の形勢判断モデルは、図15の(a)のD領域のように、白地を正しく認識する。しかし、従来技術に係るディープラーニングモデルによる形勢判断モデルは、図15の(b)で図15の(a)と対応する領域で白地を区分できない。 As shown in FIG. 15, the posture determination model of the present invention correctly recognizes a white background as in the D region of FIG. 15 (a). However, in the posture determination model based on the deep learning model according to the prior art, the white background cannot be classified in the region corresponding to FIG. 15 (a) in FIG. 15 (b).

図16は、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービスシステムにおける信号フローに対する例示図である。 FIG. 16 is an exemplary diagram for a signal flow in a Go game service system based on deep learning according to an embodiment of the present invention.

図16に示すように、着手モデルサーバ300は、人工知能コンピュータであって、自分のターンにおいて対局で勝つことができるように碁石の着手を行うことができるように囲碁規則によって自ら学習してディープラーニングモデルである着手モデルをトレーニングすることができる(S11)。囲碁サーバ200は、複数の棋譜を形勢判断モデルサーバ400に送信することができる(S12)。形勢判断モデルサーバ400は、トレーニングデータセットを生成できる。まず、形勢判断モデルサーバ400は、複数の棋譜の碁盤状態で入力特徴を抽出できる(S13)。形勢判断モデルサーバ400は、入力特徴を抽出した碁盤状態を利用して正解ラベルを生成できる(S14)。形勢判断モデルサーバ400は、入力特徴を入力データとし、正解ラベルをターゲットデータとしたトレーニングデータセットを用いて形勢判断モデルをトレーニングすることができる(S15)。端末機100は、囲碁サーバ200に人工知能コンピュータを相手にしてまたは他のユーザ端末機を相手にして囲碁ゲームを要請できる(S16)。囲碁サーバ200は、端末機100が人工知能コンピュータを相手にして囲碁ゲームを要請すれば、着手モデルサーバ300に着手を要請できる(S17)。囲碁サーバ200は、囲碁ゲームを進行し、端末機100と着手モデルサーバ300とが自分のターンに着手を行うことができる(S18~S20)。対局中、端末機100は、囲碁サーバ200に形勢判断を要請できる(S21)。囲碁サーバ200は、形勢判断モデルサーバ400に現在碁盤状態に対する形勢判断を要請できる(S22)。形勢判断モデルサーバ400は、現在碁盤状態の入力特徴を抽出し、ディープラーニングモデルである形勢判断モデルが入力特徴を利用して形勢値を生成し、碁盤状態と形勢値を用いて形勢判断を行うことができる(S23)。形勢判断モデルサーバ400は、形勢判断結果を囲碁サーバ200に提供することができる(S24)。囲碁サーバ200は、端末機100に形勢判断結果を提供できる(S25)。 As shown in FIG. 16, the start model server 300 is an artificial intelligence computer, and learns deeply by the rules of Go so that it can start a go stone so that it can win in a game on its own turn. The starting model, which is a learning model, can be trained (S11). The Go server 200 can transmit a plurality of game records to the situation determination model server 400 (S12). The posture determination model server 400 can generate a training data set. First, the posture determination model server 400 can extract input features in a board state of a plurality of game records (S13). The situation determination model server 400 can generate a correct label by using the board state from which the input features are extracted (S14). The posture judgment model server 400 can train the posture judgment model using a training data set in which the input feature is the input data and the correct answer label is the target data (S15). The terminal 100 can request the Go server 200 to play a Go game against an artificial intelligence computer or against another user terminal (S16). The Go server 200 can request the start model server 300 to start the game if the terminal 100 requests the Go game against the artificial intelligence computer (S17). The Go server 200 advances the Go game, and the terminal 100 and the start model server 300 can start their own turn (S18 to S20). During the game, the terminal 100 can request the Go server 200 to determine the situation (S21). The Go server 200 can request the situation determination model server 400 to determine the current situation of the Go board state (S22). The posture judgment model server 400 extracts the input features of the current Go board state, the posture judgment model, which is a deep learning model, uses the input features to generate the shape value, and makes the shape judgment using the Go board state and the shape value. Can be done (S23). The situation determination model server 400 can provide the situation determination result to the Go server 200 (S24). The Go server 200 can provide the situation determination result to the terminal 100 (S25).

図17は、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法のうち、形勢判断方法であり、図18は、図17の形勢判断方法のうち、正解ラベルを生成するためのトレーニングデータの前処理方法である。 FIG. 17 is a posture determination method among the Go game service methods based on deep learning according to the embodiment of the present invention, and FIG. 18 is training data for generating a correct answer label among the posture determination methods of FIG. It is a pretreatment method of.

図17に示すように、本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断モデルサーバ400が囲碁サーバから複数の棋譜を受信するステップ(S100)を含むことができる。 As shown in FIG. 17, the Go game service method based on deep learning according to the embodiment of the present invention can include a step (S100) in which the situation determination model server 400 receives a plurality of game records from the Go server.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断モデルサーバ400の形勢判断モデルのうち、入力特徴抽出部が複数の棋譜の碁盤状態で入力特徴を抽出するステップ(S200)を含むことができる。入力特徴を抽出する方法は、図7の説明にしたがう。 The Go game service method based on deep learning according to the embodiment of the present invention is a step (S200) in which the input feature extraction unit extracts input features in a go board state of a plurality of game records in the posture judgment model of the posture judgment model server 400. Can be included. The method of extracting the input features follows the description of FIG.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断モデルのうち、正解ラベル生成部が入力特徴を抽出した碁盤状態に基づいて正解ラベルを生成するステップ(S300)を含むことができる。一例として、図18に示すように、正解ラベル生成ステップ(S300)は、正解ラベル生成部が現在碁盤状態でヨセをする第1の前処理するステップ(S301)を含むことができる。第1の前処理するステップ(S301)は、図9~図10の説明にしたがう。正解ラベル生成ステップ(S300)は、正解ラベル生成部が第1の前処理された碁盤状態で不要な石を除去する第2の前処理するステップ(S302)を含むことができる。第2の前処理するステップ(S302)は、図9~図10の説明にしたがう。正解ラベル生成ステップ(S300)は、正解ラベル生成部が第2の前処理された碁盤状態の各交差点を形勢値に変更する第3の前処理するステップ(S303)を含むことができる。第3の前処理するステップ(S303)は、図11の説明にしたがう。正解ラベル生成ステップ(S300)は、第3の前処理状態を正解ラベルとして形勢判断ニューラルネットワークにターゲットデータとして提供するステップ(S304)を含むことができる。ターゲットデータを提供するステップ(S304)は、図7及び図11の説明にしたがう。 The Go game service method based on deep learning according to the embodiment of the present invention includes a step (S300) of generating a correct label based on a Go board state from which an input feature is extracted by a correct label generation unit in a posture determination model. Can be done. As an example, as shown in FIG. 18, the correct answer label generation step (S300) can include a first preprocessing step (S301) in which the correct answer label generation unit makes a twist in the current board state. The first preprocessing step (S301) follows the description of FIGS. 9 to 10. The correct label generation step (S300) can include a second pretreatment step (S302) in which the correct label generation unit removes unnecessary stones in the first preprocessed Go board state. The second preprocessing step (S302) follows the description of FIGS. 9 to 10. The correct label generation step (S300) can include a third preprocessing step (S303) in which the correct label generation unit changes each intersection in the second preprocessed Go board state to a stance value. The third preprocessing step (S303) follows the description of FIG. The correct answer label generation step (S300) can include a step (S304) of providing the third preprocessing state as the correct answer label to the posture determination neural network as target data. The step (S304) for providing the target data follows the description of FIGS. 7 and 11.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、トレーニングデータセットを用いて形勢判断モデルの形勢判断ニューラルネットワークをトレーニングするステップ(S400)を含むことができる。形勢判断ニューラルネットワークをトレーニング(学習)する方法は、図7の説明にしたがう。 The Go game service method based on deep learning according to the embodiment of the present invention can include a step (S400) of training a posture judgment neural network of a posture judgment model using a training data set. The method of training (learning) the posture judgment neural network follows the explanation of FIG.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断ニューラルネットワークのトレーニングが完了して形勢判断モデルを構築するステップ(S500)を含む。一例として、形勢判断ニューラルネットワークのトレーニングの完了は、図7の形勢判断損失が所定の値以下になった場合でありうる。 The Go game service method based on deep learning according to the embodiment of the present invention includes a step (S500) of constructing a posture judgment model after training of the posture judgment neural network is completed. As an example, the completion of training of the posture judgment neural network may be when the posture judgment loss in FIG. 7 becomes a predetermined value or less.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、端末機の形勢判断要請により現在碁盤状態が形勢判断モデルに入力されるステップ(S600)を含むことができる。 The Go game service method based on deep learning according to the embodiment of the present invention can include a step (S600) in which the current Go board state is input to the posture determination model by the posture determination request of the terminal.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断モデルが入力された現在碁盤状態の形勢判断を行うステップ(S700)を含むことができる。形勢判断を行うステップ(S700)は、図12において説明した形勢判断モデルが現在碁盤状態の形勢値を生成する説明にしたがうことができる。 The Go game service method based on deep learning according to the embodiment of the present invention can include a step (S700) of determining the current state of the Go board in which the situation determination model is input. The step (S700) for determining the posture can follow the explanation that the posture determination model described in FIG. 12 generates the posture value in the current board state.

本発明の実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、形勢判断モデルサーバ400が形勢判断結果を出力するステップ(S800)を含むことができる。形勢判断結果を出力するステップ(S800)は、図12において説明した形勢判断モデルサーバが形勢値、碁盤の状態、所定の閾値を用いて形勢判断結果を提供する説明にしたがうことができる。 The Go game service method based on deep learning according to the embodiment of the present invention can include a step (S800) in which the situation determination model server 400 outputs a situation determination result. The step (S800) for outputting the situation determination result can follow the explanation that the situation determination model server described with reference to FIG. 12 provides the situation determination result using the situation value, the state of the board, and a predetermined threshold value.

したがって、実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、ディープラーニングニューラルネットワークを利用して囲碁形勢を判断できる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、囲碁規則による地、捨て石、石、駄目、関を正確に区分して囲碁の形勢を正確に判断することができる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、囲碁規則による地、捨て石、石、駄目、関を予測して囲碁の形勢を正確に判断することができる。また、実施形態に係るディープラーニングに基づく囲碁ゲームサービス方法は、囲碁対局中、速やかに形勢を判断できる。 Therefore, in the Go game service method based on deep learning according to the embodiment, the Go situation can be determined by using the deep learning neural network. In addition, the Go game service method based on deep learning according to the embodiment can accurately classify the ground, abandoned stones, stones, uselessness, and seki according to the rules of Go, and accurately determine the situation of Go. In addition, the Go game service method based on deep learning according to the embodiment can predict the ground, abandoned stones, stones, uselessness, and seki according to the rules of Go, and can accurately judge the situation of Go. In addition, the Go game service method based on deep learning according to the embodiment can quickly determine the situation during a Go game.

以上で説明された本発明に係る実施形態は、様々なコンピュータ構成要素を介して実行され得るプログラム命令語の形態で実現され、コンピュータ読み取り可能な記録媒体に記録されることができる。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知されて使用可能なものでありうる。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスク、及び磁気テープのような磁気媒体、CD-ROM及びDVDのような光気緑媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及びROM、RAM、フラッシュメモリなどのような、プログラム命令語を格納し、実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるような機械語コードだけでなく、インタプリタなどを使用してコンピュータにより実行され得る高級言語コードも含まれる。ハードウェア装置は、本発明に係る処理を行うために、1つ以上のソフトウェアモジュールに変更されることができ、その逆も同様である。 The embodiments according to the present invention described above can be realized in the form of program instructions that can be executed via various computer components and can be recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium are those specially designed and configured for the present invention, or those known and usable by those skilled in the art of computer software. sell. Examples of computer-readable recording media include hard disks, floppy disks, magnetic media such as magnetic tapes, light green media such as CD-ROMs and DVDs, and magnetics such as floptic discs. -Includes optical media, and hardware devices specially configured to store and execute program commands, such as ROMs, RAMs, flash memories, and the like. Examples of program instructions include not only machine language code as created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device can be changed to one or more software modules in order to perform the processing according to the present invention, and vice versa.

本発明において説明する特定実行等は、一実施形態であって、いかなる方法でも本発明の範囲を限定するものではない。明細書の簡潔さのために、従来の電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面等の記載は省略されることができる。また、図面に図示された構成要素間の線等の連結または連結部材などは、機能的な連結及び/又は物理的または回路的連結を例示的に示したものであって、実際装置では、代替可能であるか、追加の様々な機能的な連結、物理的な連結、または回路連結として表されることができる。また、「必須な」、「重要に」などのように、具体的な言及がなければ、本発明の適用のために必ず必要な構成要素でない場合がある。 The specific execution or the like described in the present invention is an embodiment and does not limit the scope of the present invention by any method. For the sake of brevity of the specification, the description of conventional electronic configurations, control systems, software, other functional aspects of the system, etc. may be omitted. In addition, the connection or connecting member such as a line between the components shown in the drawings schematically shows a functional connection and / or a physical or circuit connection, and is an alternative in an actual device. It is possible or can be represented as an additional variety of functional connections, physical connections, or circuit connections. In addition, unless there is a specific reference such as "essential" or "important", it may not be a necessary component for the application of the present invention.

また、説明した本発明の詳細な説明では、本発明の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者または当該技術分野における通常の知識を有する者であれば、後述する特許請求の範囲に記載された本発明の思想及び技術領域から逸脱しない範囲内で本発明を様々に修正及び変更させ得ることが理解できるであろう。したがって、本発明の技術的範囲は、明細書の詳細な説明に記載された内容に限定されるものではなく、特許請求の範囲により決められなければならないであろう。 Further, in the detailed description of the present invention described, although the description has been made with reference to the preferred embodiment of the present invention, any person skilled in the art or a person having ordinary knowledge in the technical field can be used. It can be understood that the present invention can be variously modified and modified without departing from the ideas and technical areas of the present invention described in the claims described later. Therefore, the technical scope of the present invention is not limited to the contents described in the detailed description of the specification, but must be determined by the scope of claims.

100 端末機
200 囲碁サーバ
300 着手モデルサーバ
310 探索部
320 セルフプレイ部
330 着手ニューラルネットワーク
400 形勢判断モデルサーバ
410 形勢判断ニューラルネットワーク
420 入力特徴抽出部
430 正解ラベル生成部
100 Terminal 200 Go server 300 Start model server 310 Search unit 320 Self-play unit 330 Start neural network 400 Position judgment model server 410 Position judgment neural network 420 Input feature extraction unit 430 Correct answer label generation unit

Claims (14)

ユーザが端末機を介して囲碁ゲームを要請し、囲碁対局中、形勢判断を要請することに応答して囲碁ゲームサービスと形勢判断を提供する囲碁サーバと、
前記囲碁サーバの着手要請に応答して前記ユーザと囲碁対局を進行する着手モデルサーバと、
前記囲碁サーバから伝達された複数の棋譜情報を基に前記ユーザの形勢判断要請に対応する形勢判断を行う形勢判断モデルサーバと、
を備え、
前記形勢判断モデルサーバは、
前記囲碁サーバから伝達された複数の棋譜情報を格納する格納部と、
前記囲碁サーバからユーザが要請した形勢判断要請を受信し、形勢判断を前記囲碁サーバに提供する通信部と、
前記格納部から形勢判断モデルを読み込んで前記形勢判断モデルの学習を行い、前記学習された形勢判断モデルを用いて碁盤状態の形勢を判断するプロセッサと、
を備え、
前記形勢判断モデルは、
前記複数の棋譜情報から現在の碁盤状態に関する入力特徴を抽出する入力特徴抽出部と、
前記抽出された入力特徴を基に前記現在碁盤状態でヨセをすることができる正解ラベルを生成する正解ラベル生成部と、
前記抽出された入力特徴に対する入力データが前記正解ラベルに対するターゲットデータと同じになるように、前記形勢判断モデルを学習させる形勢判断ニューラルネットワークと、
を備えるディープラーニングに基づく囲碁ゲームサービスシステム。
A Go server that provides a Go game service and a situation judgment in response to a user requesting a Go game via a terminal and requesting a situation judgment during a Go game.
A start model server that advances a Go game with the user in response to a start request of the Go server.
A situation judgment model server that makes a situation judgment corresponding to the user's situation judgment request based on a plurality of game record information transmitted from the Go server, and a situation judgment model server.
Equipped with
The situation judgment model server is
A storage unit that stores a plurality of game record information transmitted from the Go server, and a storage unit.
A communication unit that receives a situation judgment request requested by a user from the Go server and provides the situation judgment to the Go server.
A processor that reads the posture judgment model from the storage unit, learns the posture judgment model, and judges the posture of the Go board state using the learned posture judgment model.
Equipped with
The situation judgment model is
An input feature extraction unit that extracts input features related to the current Go board state from the plurality of game record information, and an input feature extraction unit.
A correct label generation unit that generates a correct label that can be twisted in the current Go board state based on the extracted input features.
A stance judgment neural network that trains the stance judgment model so that the input data for the extracted input features is the same as the target data for the correct label.
A Go game service system based on deep learning.
前記正解ラベルは、前記現在の碁盤状態で交差点に対して-1から+1までの数値で表示された形勢値である(ただし、形勢値は定数)請求項1に記載のディープラーニングに基づく囲碁ゲームサービスシステム。 The correct answer label is a Go that is displayed as a numerical value from -1 to +1 for an intersection in the current Go board state (however, the Go is a constant). Go based on deep learning according to claim 1. Game service system. 前記正解ラベルは、前記現在の碁盤状態でヨセのために地の境界が明確になるようにする第1の前処理と、
前記第1の前処理で地の境界内に配置され、地の区分に不要な石を除去する第2の前処理を行って取得された請求項1に記載のディープラーニングに基づく囲碁ゲームサービスシステム。
The correct label is the first pretreatment that makes the boundary of the ground clear for Yose in the current Go board state.
The Go game service system based on deep learning according to claim 1, which was obtained by performing the second pretreatment for removing stones unnecessary for the division of the ground, which was placed within the boundary of the ground in the first pretreatment. ..
前記正解ラベルは、前記第2の前処理で前記現在の碁盤状態の各交差点を-1、0、または+1のうち、いずれか1つの数値からなる形勢値に変更する第3の前処理を介して取得される請求項3に記載のディープラーニングに基づく囲碁ゲームサービスシステム。 The correct label is obtained through a third preprocessing in which each intersection in the current Go board state is changed to a stance value consisting of any one of -1, 0, or +1 in the second preprocessing. The Go game service system based on the deep learning according to claim 3. 前記第3の前処理は、前記第2の前処理で所定の交差点で自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1に対応した形勢値に変更する請求項4に記載のディープラーニングに基づく囲碁ゲームサービスシステム。 In the third pretreatment, 0 if one's stone is placed at a predetermined intersection in the second pretreatment, +1 if one's own ground area, 0 if an opponent's stone is placed, and the other party. The Go game service system based on deep learning according to claim 4, wherein the value of the game is changed to the value corresponding to -1 in the case of the local area. 前記第3の前処理は、前記第2の前処理で所定の交差点で自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1、関または駄目であれば0に対応した形勢値に変更する請求項4に記載のディープラーニングに基づく囲碁ゲームサービスシステム。 In the third pretreatment, 0 if one's stone is placed at a predetermined intersection in the second pretreatment, +1 if one's own ground area, 0 if an opponent's stone is placed, and the other party. The Go game service system based on deep learning according to claim 4, wherein the value is changed to -1 in the case of the land area of No. 1 and 0 in the case of Seki or No. 前記形勢判断ニューラルネットワークは、複数のレシデュアルブロックを含み、前記複数
のレシデュアルブロックの各々は、コンボリューションレイヤ、一括正規化レイヤ、Relu活性化関数レイヤ、スキップコネクションを含む請求項1に記載のディープラーニングに基づく囲碁ゲームサービスシステム。
The position determination neural network includes a plurality of reciprocal blocks, and each of the plurality of reciprocal blocks includes a convolution layer, a batch normalization layer, a Relu activation function layer, and a skip connection according to claim 1. Go game service system based on deep learning.
前記形勢判断ニューラルネットワークは、下記の数式による形勢判断損失Lpreを用いてトレーニングする請求項2に記載のディープラーニングに基づく囲碁ゲームサービスシステム。
Figure 0007051946000008
The Go game service system based on deep learning according to claim 2, wherein the posture judgment neural network is trained by using the posture judgment loss L pre according to the following mathematical formula.
Figure 0007051946000008
前記入力特徴は、前記現在の碁盤状態で黒プレイヤの最近の8手に対する石の位置情報と白プレイヤの最近の8手に対する石の位置情報と、現在プレイヤが黒であるか白であるかに対する順序情報を含む請求項1に記載のディープラーニングに基づく囲碁ゲームサービスシステム。 The input features are for the position information of the stone for the last 8 moves of the black player and the position information of the stone for the latest 8 moves of the white player in the current board state, and for whether the player is currently black or white. The Go game service system based on deep learning according to claim 1, which includes order information. 通信部、形勢判断モデルが格納された格納部、前記形勢判断モデルを駆動するプロセッサを備える形勢判断モデルサーバにより碁盤状態の形勢を判断するディープラーニングに基づく囲碁ゲームサービス方法において、
前記通信部が複数の棋譜を受信するステップと、
前記プロセッサが前記形勢判断モデルの入力特徴抽出部を利用して前記複数の棋譜の現在の碁盤状態に関する入力特徴を抽出するステップと、
前記プロセッサが前記形勢判断モデルの正解ラベル生成部を利用して前記入力特徴に基づいて前記現在の碁盤状態でヨセをすることができる正解ラベルを生成するステップと、
前記プロセッサが、前記入力特徴に対する入力データが前記正解ラベルに対するターゲットデータと同じになるように前記形勢判断モデルをトレーニングするステップと、
前記プロセッサがトレーニングを完了して形勢判断モデルを構築するステップと、
前記プロセッサが前記トレーニングされた形勢判断モデルを用いて形勢判断が必要な現在の碁盤状態が入力されれば、前記現在の碁盤状態の交差点に対する形勢値を生成する形勢判断を行うステップとを含み、
前記正解ラベルを生成するステップは、
前記現在の碁盤状態でヨセのために地の境界が明確になるようにする第1の前処理状態を生成する第1の前処理ステップと、
前記第1の前処理状態で地の境界内に配置され、地の区分に不要な石を除去して第2の前処理状態を生成する第2の前処理ステップと、
前記第2の前処理状態で前記現在の碁盤状態の各交差点を-1、0、または+1のうち、いずれか1つの数値からなる形勢値に変更する第3の前処理状態を生成する第3の前処理ステップと、
を含むことを特徴とするディープラーニングに基づく囲碁ゲームサービス方法。
In a Go game service method based on deep learning, in which a communication unit, a storage unit in which a situation determination model is stored, and a situation determination model server including a processor for driving the situation determination model are used to determine the situation in a go board state.
The step in which the communication unit receives a plurality of game records,
A step in which the processor uses the input feature extraction unit of the posture determination model to extract input features related to the current Go board state of the plurality of game records.
A step of generating a correct label that allows the processor to make a twist in the current Go board state based on the input feature by using the correct label generation unit of the posture determination model.
A step in which the processor trains the posture determination model so that the input data for the input feature is the same as the target data for the correct label.
The steps that the processor completes training to build a posture judgment model,
The processor includes a step of making a position determination to generate a position value for an intersection of the current board state when the current board state requiring the position determination is input using the trained position determination model.
The step of generating the correct label is
A first pretreatment step that creates a first pretreatment state that makes the boundaries of the ground clear for Yose in the current Go board state.
A second pretreatment step, which is placed within the boundary of the ground in the first pretreatment state and removes stones unnecessary for the division of the ground to generate a second pretreatment state.
A third pre-processing state that generates a third pre-processing state that changes each intersection of the current board state to a stance value consisting of any one of -1, 0, or +1 in the second pre-processing state. Pre-processing steps and
A Go game service method based on deep learning characterized by including.
前記第3の前処理ステップは、前記第2の前処理状態で所定の交差点で自分の石が配置さ
れれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1に対応した形勢値に変更することを特徴とする請求項10に記載のディープラーニングに基づく囲碁ゲームサービス方法。
In the third pretreatment step, 0 if one's stone is placed at a predetermined intersection in the second pretreatment state, +1 if one's own ground area, and 0 if an opponent's stone is placed. The Go game service method based on deep learning according to claim 10, wherein if the opponent's ground area is used, the value is changed to a position value corresponding to -1.
前記第3の前処理ステップは、前記第2の前処理状態で所定の交差点で自分の石が配置されれば0、自分の地領域であれば+1、相手の石が配置されれば0、相手の地領域であれば-1、関または駄目であれば0に対応した形勢値に変更することを特徴とする請求項10に記載のディープラーニングに基づく囲碁ゲームサービス方法。 In the third pretreatment step, 0 if one's stone is placed at a predetermined intersection in the second pretreatment state, +1 if one's own ground area, and 0 if an opponent's stone is placed. The Go game service method based on deep learning according to claim 10, wherein the value is changed to -1 in the case of the opponent's land area and 0 in the case of Seki or No. 前記形勢判断モデルをトレーニングするステップ、下記の数式による形勢判断損失Lpreを用いてトレーニングする請求項10に記載のディープラーニングに基づく囲碁ゲームサービス方法。
Figure 0007051946000009
The Go game service method based on deep learning according to claim 10, wherein the step of training the posture judgment model and training using the posture judgment loss L pre according to the following mathematical formula.
Figure 0007051946000009
前記入力特徴は、前記現在の碁盤状態で黒プレイヤの最近の8手に対する石の位置情報と白プレイヤの最近の8手に対する石の位置情報と、現在プレイヤが黒であるか白であるかに対する順序情報を含む請求項10に記載のディープラーニングに基づく囲碁ゲームサービス方法。 The input features are for the position information of the stone for the last 8 moves of the black player and the position information of the stone for the latest 8 moves of the white player in the current board state, and for whether the player is currently black or white. The Go game service method based on deep learning according to claim 10, which includes order information.
JP2020122007A 2019-07-17 2020-07-16 Go game service system and service method based on deep learning Active JP7051946B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190086287A KR102316930B1 (en) 2019-07-17 2019-07-17 Deep-learning based baduk game service method and apparatus thereof
KR10-2019-0086287 2019-07-17

Publications (2)

Publication Number Publication Date
JP2021018819A JP2021018819A (en) 2021-02-15
JP7051946B2 true JP7051946B2 (en) 2022-04-11

Family

ID=74238199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020122007A Active JP7051946B2 (en) 2019-07-17 2020-07-16 Go game service system and service method based on deep learning

Country Status (2)

Country Link
JP (1) JP7051946B2 (en)
KR (1) KR102316930B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112843726B (en) * 2021-03-15 2024-06-25 网易(杭州)网络有限公司 Intelligent body processing method and device
KR102595656B1 (en) * 2021-05-26 2023-10-30 엔에이치엔클라우드 주식회사 Deep-learning based jang-gi game service method and apparatus thereof
JP7186321B1 (en) 2022-04-11 2022-12-08 株式会社Cygames Situation evaluation device, situation evaluation method, and program
KR102568685B1 (en) * 2023-01-04 2023-08-18 이현호 Method For Evaluating Baduk Ability Of Baduk by Artifical Intelligence
JPWO2024154235A1 (en) * 2023-01-17 2024-07-25

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130089931A (en) 2012-01-13 2013-08-13 박성군 System and method for providing paduk situation stands using application

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090120054A (en) * 2008-05-19 2009-11-24 (주)에이아이바둑 AI program Go game display method
KR20150129265A (en) 2014-05-09 2015-11-19 숭실대학교산학협력단 Method and server for providing artificial intelligence for baduk service
KR102392094B1 (en) * 2016-09-06 2022-04-28 딥마인드 테크놀로지스 리미티드 Sequence processing using convolutional neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130089931A (en) 2012-01-13 2013-08-13 박성군 System and method for providing paduk situation stands using application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
武田 敦志,ニューラルネットワークを用いた囲碁のための効率的な強化学習手法,FIT2018 第17回情報科学技術フォーラム 講演論文集,日本,一般社団法人 電子情報通信学会,2018年09月12日,pp.271-272

Also Published As

Publication number Publication date
JP2021018819A (en) 2021-02-15
KR102316930B1 (en) 2021-10-26
KR20210009588A (en) 2021-01-27

Similar Documents

Publication Publication Date Title
JP7065912B2 (en) Go game service system and service method based on deep learning
JP7051946B2 (en) Go game service system and service method based on deep learning
CN113561986B (en) Self-driving car decision-making method and device
CN109908591B (en) Virtual object decision method, model construction method and device
JP7064559B2 (en) Deep learning-based gameplay servers, game difficulty prediction servers, and gameplay service methods, as well as programs
KR102286010B1 (en) Deep-learning based baduk game service method and apparatus thereof
CN121263238A (en) Generating narrative game experience with player feedback
Wunder et al. Using iterated reasoning to predict opponent strategies.
KR102299138B1 (en) Deep-learning based baduk game service method and apparatus thereof
KR102299135B1 (en) Method and device that providing deep-running-based baduk game service
KR102595660B1 (en) Method and device for providing service that deep learning-based imperfect information game
US20220150148A1 (en) Latency mitigation system and method
KR102299141B1 (en) Method and device for providing deep-running-based baduk game service
KR102292046B1 (en) Deep-learning based baduk game service method and apparatus thereof
KR102591226B1 (en) Method and device for preventing long-ladder of deep learning-based go game service
CN115581925B (en) Game character interaction control methods, devices, storage media, and electronic devices
KR102820421B1 (en) Method and system for training and playing of playing-yut ai based on deep learning
KR102595656B1 (en) Deep-learning based jang-gi game service method and apparatus thereof
KR102813495B1 (en) Method and system for providing playing-yut ai based on playing-yut-specific data type
KR102628188B1 (en) Method and device for providing service that deep learning-based imperfect information game
CN114146422B (en) A method and related device for processing data of Doudizhu
KR102537471B1 (en) Method and device for deep-learning based computation time management of go game service
KR20260025738A (en) A system and method for providing artificial intelligence baduk game service specialized in irregular opening
KR102572342B1 (en) Method and device for deep-learning based simulation count management of go game service
Fu et al. Model-based reinforcement learning for playing Atari games

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220104

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: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220330

R150 Certificate of patent or registration of utility model

Ref document number: 7051946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250