JP2020149693A - Generation device, generation method, and generation program - Google Patents
Generation device, generation method, and generation program Download PDFInfo
- Publication number
- JP2020149693A JP2020149693A JP2020044720A JP2020044720A JP2020149693A JP 2020149693 A JP2020149693 A JP 2020149693A JP 2020044720 A JP2020044720 A JP 2020044720A JP 2020044720 A JP2020044720 A JP 2020044720A JP 2020149693 A JP2020149693 A JP 2020149693A
- Authority
- JP
- Japan
- Prior art keywords
- model
- generation
- index
- data
- learning
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 claims description 181
- 230000008569 process Effects 0.000 claims description 38
- 238000007667 floating Methods 0.000 claims description 15
- 230000002068 genetic effect Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 82
- 238000005457 optimization Methods 0.000 description 72
- 238000011156 evaluation Methods 0.000 description 52
- 238000013473 artificial intelligence Methods 0.000 description 34
- 238000012545 processing Methods 0.000 description 33
- 238000003860 storage Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 19
- 238000012360 testing method Methods 0.000 description 19
- 238000013502 data validation Methods 0.000 description 18
- 230000008901 benefit Effects 0.000 description 17
- 238000013459 approach Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 10
- 241000724291 Tobacco streak virus Species 0.000 description 9
- 230000009471 action Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 108090000623 proteins and genes Proteins 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000010420 art technique Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000005435 mesosphere Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、生成装置、生成方法および生成プログラムに関する。 The present invention relates to a generator, a generator and a generator.
様々な従来技術の構想において、人工知能モデルは開発されてきた。具体的には、データが取得され、モデルが機械学習を使用して生成されてきた。人工知能モデルを生成する従来技術の手法においては、データの取得およびデータモデルのテストや評価の実施を含めて、かなりの手動による作業(例えば、人の介在)が必要とされてきた。 Artificial intelligence models have been developed in various prior art initiatives. Specifically, data has been acquired and models have been generated using machine learning. Conventional techniques for generating artificial intelligence models have required considerable manual work (eg, human intervention), including data acquisition and data model testing and evaluation.
近年、SVM(Support vector machine)やDNN(Deep Neural Network)等の各種モデルに対し、学習データが有する特徴を学習させることで、モデルに各種の予測や分類を行わせる技術が提案されている。このような学習手法の一例として、ハイパーパラメータの値等に応じて、学習データの学習態様を動的に変化させる技術が提案されている。 In recent years, a technique has been proposed in which various models such as SVM (Support vector machine) and DNN (Deep Neural Network) are trained to learn the characteristics of the training data so that the models can perform various predictions and classifications. As an example of such a learning method, a technique has been proposed in which a learning mode of learning data is dynamically changed according to a hyperparameter value or the like.
従来技術の手法には様々な問題と欠点がある。例えば、これに限定するものではないが、モデル生成に関連した手動による作業は、個人データにアクセスできるように、開発者、プログラマ、分析者、試験者などの主体にアクセス権を提供することになる。購買、消費習慣などの機微なおよび/または個人的な情報に、テストや評価、モデル生成における訓練または他の態様の間中、アクセスすることができる。したがって、エンドユーザは、機微なおよび/または個人的な情報を潜在的にさらす結果として危険な状態にある可能性がある。さらに、販売業者や再販業者などの他の主体は、データ漏洩またはセキュリティ違反、あるいは企業機密情報へのアクセスの可能性により、危険な状態にある可能性もある。 Conventional methods have various problems and drawbacks. For example, but not limited to, manual work related to model generation is to provide access to entities such as developers, programmers, analysts, and testers so that they can access personal data. Become. Sensitive and / or personal information such as purchasing, consumption habits, etc. can be accessed throughout testing and evaluation, training in model generation or other aspects. Therefore, end users can be at risk as a result of potentially exposing sensitive and / or personal information. In addition, other entities, such as distributors and resellers, may be at risk due to data breaches or security breaches, or possible access to sensitive corporate information.
さらに、従来技術の人工知能モデルが一旦生成されると、これらのモデルの規模を変更するには、コンピュータ処理能力や記憶容量など、きわめて大規模な容量を必要とする。この従来技術の難点の理由は、人工知能モデルに関連した入力およびパラメータは静的であり、効率的な方法で変更または最適化することができないことである。例えば、人工知能モデルの最適化には手動による介在を伴う。これにより時間およびリソースを追加する必要があるが、これら時間およびリソースは他の作業に使用することができるものである。さらに、従来技術の手動による最適化手法は、全体最適点に向けて最適化することができず、手動のオプティマイザを利用しづらい場合がある。 Moreover, once the prior art artificial intelligence models are generated, resizing these models requires extremely large amounts of capacity, such as computer processing power and storage capacity. The reason for the difficulty of this prior art is that the inputs and parameters associated with the artificial intelligence model are static and cannot be modified or optimized in an efficient way. For example, optimizing an artificial intelligence model involves manual intervention. This requires additional time and resources, which can be used for other tasks. Further, the manual optimization method of the prior art cannot optimize toward the overall optimum point, and it may be difficult to use the manual optimizer.
したがって、1つまたは複数の前述の従来技術の問題および/または欠点に取り組む必要性があるが、対処されないままになっている。 Therefore, one or more of the aforementioned prior art problems and / or shortcomings need to be addressed, but remain unaddressed.
また、上述した技術では、モデルの精度を改善させる余地がある。例えば、上述した例では、ハイパーパラメータの値等に応じて、特徴の学習対象となる学習データを動的に変化させているに過ぎない。このため、ハイパーパラメータの値が適切ではない場合、モデルの精度を改善することができない場合がある。 Further, in the above-mentioned technique, there is room for improving the accuracy of the model. For example, in the above-mentioned example, the learning data to be learned of the feature is only dynamically changed according to the value of the hyperparameter or the like. Therefore, if the values of hyperparameters are not appropriate, it may not be possible to improve the accuracy of the model.
ここで、モデルの精度は、学習データがどのような値のデータであるか、学習データがどのような特徴を有しているか、どの特徴を学習させるか等に応じて変化することが知られている。また、モデルの精度は、学習データをモデルに学習させる際の学習態様、すなわち、ハイパーパラメータが示す学習態様によっても変化する。このような多くの要素の中から、利用者の目的に応じたモデルを学習するために最適な要素を選択するのは、容易ではない。 Here, it is known that the accuracy of the model changes depending on what value the training data is, what features the training data has, which features are trained, and the like. ing. In addition, the accuracy of the model also changes depending on the learning mode when the training data is trained by the model, that is, the learning mode indicated by the hyperparameters. From such many elements, it is not easy to select the most suitable element for learning a model according to the purpose of the user.
本願に係る生成装置は、モデルの学習に用いる学習データを取得する取得部と、前記学習データが有する特徴に基いて、前記モデルの生成指標を生成する指標生成部とを有することを特徴とする。 The generation device according to the present application is characterized by having an acquisition unit for acquiring learning data used for learning a model, and an index generation unit for generating an index for generating the model based on the characteristics of the training data. ..
実施形態の一態様によれば、モデルの精度を改善させることができる。 According to one aspect of the embodiment, the accuracy of the model can be improved.
実装例の態様は、人工知能モデルを生成し最適化し、同時に手動による介在を最小化することに関連した方法、システム、およびユーザ体験に関する。 Aspects of the implementation relate to methods, systems, and user experiences related to generating and optimizing artificial intelligence models while simultaneously minimizing manual intervention.
実装例の態様によれば、コンピュータ実装方法が人工知能モデルを生成し最適化するのに提供される。この方法には、入力済みデータおよびラベルを受け取るステップ、データ検証を実行して構成ファイルを生成するステップ、データを分割して訓練用と評価用の分割済みデータを生成するステップ、分割済みデータの訓練と評価を実行して誤差レベルを測定するステップ、誤差レベルに基づいてアクションを実行するステップが含まれる。このアクションには、構成ファイルを修正するステップ、人工知能モデルを自動的にチューニングするステップ、訓練と評価とチューニングに基づいて人工知能モデルを生成するステップ、およびモデルを本番にサービングするステップ、のうちの少なくとも1つが含まれる。 According to the embodiment of the implementation example, a computer implementation method is provided for generating and optimizing an artificial intelligence model. This method includes steps to receive input data and labels, to perform data validation to generate a configuration file, to split the data to generate split data for training and evaluation, and to generate split data. It includes the steps of performing training and evaluation to measure the error level, and performing actions based on the error level. This action includes modifying the configuration file, automatically tuning the artificial intelligence model, generating the artificial intelligence model based on training, evaluation and tuning, and serving the model in production. At least one of is included.
他の態様によれば、訓練には、入力済みデータに関連した1つまたは複数の入力済み素性を自動的に最適化するステップ、生成済み人工知能モデルに関連したハイパーパラメータを自動的に最適化するステップ、最適化された1つまたは複数の入力済み素性および最適化されたハイパーパラメータに基づいてアップデートモデルを自動的に生成するステップ、が含まれる。 According to another aspect, the training involves automatically optimizing one or more pre-filled identities associated with the populated data, automatically optimizing the hyperparameters associated with the generated artificial intelligence model. It includes steps to, and automatically generate an update model based on one or more optimized input qualities and optimized hyperparameters.
他の態様によれば、1つまたは複数の入力済み素性は、一般的なアルゴリズムによって最適化され、1つまたは複数の入力済み素性の組合せを最適化し、その最適化された入力済み素性のリストを生成する。 According to another aspect, one or more input features are optimized by a general algorithm, optimizing a combination of one or more input features, and a list of the optimized input features. To generate.
さらに1つの態様によれば、ハイパーパラメータを自動的に最適化するステップは、ハイパーパラメータに基づいて最適化するベイズのアルゴリズムとランダムアルゴリズムのうちの少なくとも一方を適用することを含む。 According to still one aspect, the step of automatically optimizing hyperparameters involves applying at least one of Bayesian algorithms and random algorithms that optimize based on hyperparameters.
さらに1つの態様によれば、1つまたは複数の入力済み素性を自動的に最適化するステップは、第1の規定の反復回数が満たされるまで実行される第1の反復ループで実行され、ハイパーパラメータを自動的に最適化するステップおよびアップデートモデルを自動的に生成するステップは、第2の規定の反復回数が満たされるまで実行される第2の反復ループで実行される。 According to still one aspect, the step of automatically optimizing one or more input features is performed in a first iteration loop that is executed until the first specified number of iterations is met, and is hyper. The steps of automatically optimizing the parameters and automatically generating the update model are performed in a second iteration loop that is executed until the second specified number of iterations is met.
別の態様によれば、第1の反復ループおよび第2の反復ループは、第3の規定の反復回数が満たされるまで反復的に実行される。 According to another aspect, the first iterative loop and the second iterative loop are iteratively executed until the third defined number of iterations is met.
別の態様によれば、訓練および評価の実行は、データのデータ型式、データの密度、およびデータの量に基づいて、1つまたは複数の素性関数を実行することを含む。 According to another aspect, performing training and evaluation involves performing one or more feature functions based on the data type of the data, the density of the data, and the amount of data.
実装例は、記憶装置を有する非一時的コンピュータ可読媒体、および人工知能モデルを生成し最適化する命令を実行することができるプロセッサを備えることもできる。 Implementation examples can also include non-transitory computer-readable media with storage devices and processors capable of executing instructions that generate and optimize artificial intelligence models.
以下の詳細な説明により、本出願の図表および実装例の詳細を提示する。図表間の重複要素の参照番号および説明は、説明を明快にするため省略する。説明を通して使用する言葉は例示として提示するものであり、それに限定するものではない。 The following detailed description presents the details of the charts and implementation examples of the present application. Reference numbers and descriptions of overlapping elements between figures and tables are omitted for clarity. The words used throughout the description are presented as examples and are not limited to them.
実装例は、従来技術のアプローチでは必要とされてきた手動による人の介在を最小化すると同時に人工知能モデルを作成する方法およびシステムを対象とする。より詳細には、実装例は、データフレームワーク、ディープフレームワーク、およびチューナフレームワークを有する。データフレームワークには、データ検証、ディープフレームワークに必要となる構成ファイルの生成、および/または訓練と評価とテスト用データの編成が含まれる。ディープフレームワーク(例えば、ディープラーニングフレームワーク)により、別のコードを生成する必要なく、本番用ディープラーニングモデルを構築する。チューナフレームワークにより、データフレームワークについて1つまたは複数のハイパーパラメータおよびそれらの組合せ、および入力済み素性と素性類型とモデル形式の組合せ、を最適化する。例えば、これに限定されないが、本実装例は、Python 2.7またはPython 3.Xを使用し、TensorFlow 1.12.0またはそれ以降を使用することによって実行することができ、他の実装が、当業者には理解されるように、発明の範囲から逸脱することなく、それの代わりに用いることができる。 Implementation examples cover methods and systems for creating artificial intelligence models while minimizing manual human intervention required by prior art approaches. More specifically, implementation examples include data frameworks, deep frameworks, and tuner frameworks. The data framework includes data validation, generation of configuration files required for deep frameworks, and / or organization of training, evaluation and testing data. A deep learning framework (eg, a deep learning framework) builds a production deep learning model without the need to generate separate code. The tuner framework optimizes one or more hyperparameters and their combinations for the data framework, as well as the combination of input features, feature types and model formats. For example, but not limited to this, this implementation example is Python 2.7 or Python 3. It can be performed by using X and using TensorFlow 1.12.0 or later, and other implementations, as will be appreciated by those skilled in the art, without departing from the scope of the invention. Can be used instead of.
図1は実装例の概要図100である。概要図100によれば、データ101およびラベル103は入力として提供される。例えば、これに限定されないが、データ101はTSV TFRecordまたはHDFSフォーマットであってもよく、ラベル103は文字列として提供されてもよい。105には、データフレームワーク、ディープフレームワーク、およびチューナフレームワークが表示されている。出力107として、TensorFlowがサービングするモデルなどのモデルが、本番に提供される。単一コマンドとして、本明細書の105で示す実装例が、例えば、ユーザによって実行することができる。 FIG. 1 is a schematic view 100 of an implementation example. According to schematic 100, data 101 and label 103 are provided as inputs. For example, but not limited to this, the data 101 may be in TSV TFRecord or HDFS format and the label 103 may be provided as a string. A data framework, a deep framework, and a tuner framework are displayed on the 105. As the output 107, a model such as a model served by TensorFlow is provided in production. As a single command, the implementation example shown in 105 of the present specification can be executed by a user, for example.
TensorFlow Extendedの文脈において、本実装例は、以下のように、任意で統合することができる。より詳細には、図2の200に示すとおりである。TensorFlow Extendedは、ジョブ管理、監視、デバッグ、およびデータ/モデル/評価の可視化、ならびに203に示す共有構成フレームワーク、およびジョブ編成のために、統合フロントエンド201を提供する。本実装例は、その中にチューナフレームワーク205を統合することができる。さらに、データフレームワーク207はデータ解析、データ変換、およびデータ検証を提供し、ディープフレームワーク209はトレーナ、モデルの評価と検証、およびサービングを提供する。さらに、実装例は、211で示す不要データ収集およびデータアクセス制御の共有ユーティリティ、ならびに213で示すパイプライン記憶などの態様をTensorFlowと統合することができる。したがって、人工知能モデルは、構成ファイルと初期データだけで、本番向けに作成することができる。 In the context of TensorFlow Extended, this implementation example can optionally be integrated as follows: More details are as shown in FIG. 2, 200. TensorFlow Extended provides an integrated front end 201 for job management, monitoring, debugging, and data / model / evaluation visualization, as well as the shared configuration framework shown in 203, and job organization. In this implementation example, the tuner framework 205 can be integrated therein. In addition, data framework 207 provides data analysis, data transformation, and data validation, and deep framework 209 provides trainers, model evaluation and validation, and serving. Further, implementation examples can integrate aspects such as the shared utility of unwanted data collection and data access control shown in 211, and pipeline storage shown in 213 with TensorFlow. Therefore, the artificial intelligence model can be created for production with only the configuration file and the initial data.
本明細書で説明するように、実装例は自動最適化を備える。例えば、これに限定されないが、最適化は、入力済み素性の組合せ、入力済み素性のカラム形式、入力交差素性、および入力埋め込みサイズについて実行することができる。さらに、最適化は、モデル選択、モデルアーキテクチャ、モデルネットワーク/接続、モデルハイパーパラメータ、およびモデルサイズについて実行することもできる。 As described herein, implementation examples include automatic optimization. For example, but not limited to, optimizations can be performed on input feature combinations, input feature column formats, input cross features, and input embed sizes. In addition, optimizations can be performed on model selection, model architecture, model network / connectivity, model hyperparameters, and model size.
実装例によるパイプラインについては、人工知能フレームワークは、これはTensorFlow Extendedと統合することができるが、様々な工程を備える。図3は、実装例による人工知能フレームワーク300の工程を示している。例えば、これに限定されないが、工程は、ジョブ/リソース管理301、監視303、可視化305、および実行307を含むことができ(例えば、Kubernetes)、その後にデータフレームワーク309、ディープフレームワーク311、およびチューナフレームワーク313が続き、次に、ロールアウトとサービング、ロギング、訓練ハードウェア、および推論ハードウェアが続く。例えば、これに限定されないが、データフレームワーク309は、(データ取入れ工程の後に)データ解析、データ変換、データ検証、およびデータ分割を含むことができる。ディープフレームワーク311は、例えば、トレーナ、モデルの構築、モデル検証、スケールについての訓練、訓練ハードウェアとのインタフェース、ロールアウト、ロギングおよび干渉ハードウェアとのサービングインタフェースを含むことができる。 For pipelines with implementation examples, the artificial intelligence framework, which can be integrated with TensorFlow Extended, has a variety of steps. FIG. 3 shows the process of the artificial intelligence framework 300 according to the implementation example. For example, a process can include, but is not limited to, job / resource management 301, monitoring 303, visualization 305, and execution 307 (eg, Kubernetes), followed by data framework 309, deep framework 311, and. The tuner framework 313 follows, followed by rollout and serving, logging, training hardware, and inference hardware. For example, but not limited to, the data framework 309 can include data analysis, data transformation, data validation, and data partitioning (after the data acquisition process). Deep framework 311 can include, for example, trainers, model building, model validation, training on scales, interfaces with training hardware, rollouts, logging and serving interfaces with interfering hardware.
アーキテクチャ例によれば、タブ区切り値またはTSVフォーマットのデータ構成ファイルおよび入力済みデータがデータフレームワークに提供される。データフレームワークはデータ検証を実行し、ディープフレームワーク向けに、スキーマ、素性、モデルおよび交差素性ファイル、ならびに検証レポートを含む構成ファイルを生成する。また、データフレームワークは、訓練用、評価用、および任意でテストおよび/または予測用にデータを分割する。 According to the architectural example, tab-delimited values or TSV format data configuration files and input data are provided to the data framework. The data framework performs data validation and generates configuration files for deep frameworks, including schema, identity, model and cross-feature files, as well as validation reports. The data framework also divides the data for training, evaluation, and optionally testing and / or prediction.
データフレームワークの出力はディープフレームワークに提供される。ディープフレームワークは、本番用モデルへの出力と同時にモデル解析レポートを出力し、訓練、評価とテスト、サービングモデルのエクスポート、モデル解析とサービングを実行する。 The output of the data framework is provided to the deep framework. The deep framework outputs a model analysis report at the same time as the output to the production model, and performs training, evaluation and testing, export of serving model, model analysis and serving.
構成ファイルはチューナフレームワークにも提供され、チューナフレームワークは、オプティマイザ構成ファイルを使用して、入力済み素性およびハイパーパラメータの最適化、モデルの自動選択と自動機械学習を提供する。 The configuration file is also provided to the tuner framework, which uses the optimizer configuration file to provide input feature and hyperparameter optimization, automatic model selection and automatic machine learning.
前述のアーキテクチャの実行に関して、次のように作業が行われる。まず、入力済みデータが準備され、この入力済みデータはヘッダ無しのTSVフォーマットまたはヘッダとスキーマ構成ファイル無しのTSVフォーマットで提供される。次に、データ検証が実行され、ディープフレームワーク向け構成ファイルがエクスポートされる。さらに、データは、データフレームワークによって、訓練用、評価とテスト用に分割される。次いで、訓練をディープフレームワークによって実行することができるかどうかについて、確認が提供される。さらに、チューナフレームワークは、ハイパーパラメータの最適化、および入力済み素性、素性類型、およびモデル形式の組合せの最適化を実行することができる。続いて、モデルサービング(例えば、予測を提供すること、またはモデルの適用によって出力の蓋然性を使用すること)および推論を、ディープフレームワークによって実行することができる。 Regarding the execution of the above-mentioned architecture, the work is performed as follows. First, the input data is prepared, and the input data is provided in the TSV format without a header or the TSV format without a header and a schema configuration file. Next, data validation is performed and the configuration file for the deep framework is exported. In addition, the data is divided by the data framework for training, evaluation and testing. A confirmation is then provided as to whether the training can be performed by the deep framework. In addition, the tuner framework can perform hyperparameter optimizations and optimization of combinations of entered features, feature typologies, and model formats. The model serving (eg, providing predictions or using the probability of output by applying the model) and inference can then be performed by the deep framework.
図4は、実装例のアーキテクチャ全体400の図である。前述のように、データ401およびラベル403は入力として提供され、入力済みデータ構成ファイル405は任意で提供されてもよい。データフレームワーク407において、データ検証409およびデータ分割411が実行される。データ検証409の結果として、検証レポート413およびディープフレームワーク向け構成ファイル415が生成される。データ分割411において、データは、417で示すように、訓練用、評価用、および任意でテストと予測用に分割される。 FIG. 4 is a diagram of the entire architecture 400 of the implementation example. As mentioned above, the data 401 and the label 403 are provided as inputs, and the input data configuration file 405 may optionally be provided. Data validation 409 and data division 411 are performed in the data framework 407. As a result of data validation 409, validation report 413 and configuration file 415 for deep frameworks are generated. In the data division 411, the data is divided for training, evaluation, and optionally for testing and prediction, as shown in 417.
ディープフレームワーク419へのデータフレームワークの出力は、構成ファイル415と分割ファイル417である。ディープフレームワーク419において、訓練と評価とテスト、サービングモデルのエクスポート、モデル解析とサービングが実行される。さらに、チューナフレームワーク421は、以下により詳細に説明するように、ディープフレームワーク419とインタフェースで接続する。チューナフレームワークは入力済み素性およびハイパーパラメータを自動的に最適化し、モデルの自動選択を提供する。任意で、オプティマイザ構成ファイル423を提供することができる。出力として、チューナフレームワーク421は、モデルの最適化のために最も好ましい構成ファイル424を提供し、同時にレポート425も提供する。ディープフレームワーク419は、その出力として、サービングモデル427を本番に提供し、同時に、モデル解析レポート429を提供する。 The output of the data framework to the deep framework 419 is the configuration file 415 and the split file 417. In deep framework 419, training, evaluation and testing, serving model export, model analysis and serving are performed. In addition, the tuner framework 421 interfaces with the deep framework 419, as described in more detail below. The tuner framework automatically optimizes the entered features and hyperparameters and provides automatic model selection. Optionally, an optimizer configuration file 423 can be provided. As output, the tuner framework 421 provides the most preferred configuration file 424 for model optimization, as well as report 425. The deep framework 419 provides the serving model 427 in production as its output, and at the same time provides the model analysis report 429.
前述の実装例は、本明細書に記載の方法およびシステムを実行する命令を収納する非一時的コンピュータ可読媒体を通じて実行することができる。例えば、これに限定されないが、命令は、単一マシンの中の単一プロセッサ上で、単一マシンの中の複数プロセッサ上で、および/または複数マシンの中の複数プロセッサ上で実行することができる。例えば、1つのCPUと1つのGPUを有する単一サーバにおいては、実装例はそのGPU上で命令を実行することができ、複数GPUを有する単一サーバにおいては、処理はいくつかのGPUまたはすべてのGPUを使用して並列化形式で実行することができる。複数CPU、複数サーバ環境においては、効率を最適化する方法で負荷分散技術が使用される。1つの実装例によれば、ヤフー株式会社によって開発された、kukaiシステムを採用してもよい。 The implementation examples described above can be performed through a non-transitory computer-readable medium containing instructions for executing the methods and systems described herein. For example, but not limited to, an instruction can be executed on a single processor in a single machine, on multiple processors in a single machine, and / or on multiple processors in multiple machines. it can. For example, in a single server with one CPU and one GPU, the implementation example can execute instructions on that GPU, and in a single server with multiple GPUs, processing can be done on some GPUs or all. It can be executed in parallel using the GPU of. In a multi-CPU, multi-server environment, load distribution technology is used in a way that optimizes efficiency. According to one implementation example, the kukai system developed by Yahoo Japan Corporation may be adopted.
データフレームワークについては、先に開示したように、データ検証、ディープフレームワーク向け構成ファイルの生成、ならびに訓練用および評価とテスト用データの分割が実行される。これらのスキーム関連した実装例は、以下でより詳細に説明する。 For the data framework, as previously disclosed, data validation, generation of configuration files for deep frameworks, and division of training and evaluation and test data are performed. Implementation examples related to these schemes are described in more detail below.
例えば、これに限定されないが、Deep Framework 1.7.1またはそれ以降が、実装例にしたがって、データフレームワークとともに使用することができる。ただし、他のアプローチまたはスキームは、発明の範囲を逸脱することなく、実装例の中でそのためにサブミットすることができる。さらに、データフレームワークへの入力として、データファイルが提供される。本実装例においては、データフォーマットはTSVをサポートすることができ、有利な仕様がデータファイルの第1行目に、またはDeep Framework schema.yamlの中に提供される。さらに、データ構成ファイルはDATA.yamlとして提供される。 For example, but not limited to, Deep Framework 1.7.1 or later can be used with the data framework according to the implementation examples. However, other approaches or schemes can be submitted for that purpose within the implementation without departing from the scope of the invention. In addition, a data file is provided as input to the data framework. In this implementation example, the data format can support TSVs, with favorable specifications on the first line of the data file, or on the Deep Framework schema. Provided in yaml. Furthermore, the data structure file is DATA. Provided as yaml.
フレームワークのデータ検証によれば、データ検証は以下に説明するように実行される。データ検証は、無視するカラムを指定する関数を有している。無視するカラムが指定されると、これらのカラムは構成ファイルにエクスポートされないことになる。任意で、カラムは重み付けすることができる。より詳細には、データの中のラベルクラスそれぞれの番号が一様ではない場合、重みカラムはモデルの性能を改善することができる。より詳細には、重みカラムは、サンプルの損失と掛け合わせることができる。意味的には、重みカラムは、重みを表す文字列型カラムまたは数値カラムであってもよく、この重みカラムを使用して、訓練中に重みを下げたり、サンプルを増加させたりする。カラムの値は、サンプルに関連した損失と掛け合わせることができる。値が文字列型の場合はそれをキーとして使用して、素性から重みテンソルを引き出す。カラムの値が数字の場合は、RAWテンソルを引き出し、続いてノーマライザを適用し、重みテンソルを適用する。さらに、読み込むレコード数の最大数を指定することができる。 According to the framework data validation, the data validation is performed as described below. Data validation has a function that specifies which columns to ignore. If you specify columns to ignore, these columns will not be exported to the configuration file. Optionally, the columns can be weighted. More specifically, weight columns can improve the performance of the model if the numbers of the label classes in the data are not uniform. More specifically, the weight column can be multiplied by the loss of the sample. Semantically, the weight column may be a string or numeric column representing the weight, and this weight column is used to reduce the weight or increase the sample during training. The column value can be multiplied by the loss associated with the sample. If the value is a string type, use it as a key to derive the weight tensor from the features. If the column value is a number, pull out the RAW tensor, then apply the normalizer and apply the weighted tensor. Furthermore, the maximum number of records to be read can be specified.
さらに、密度比率のしきい値を指定することができ、以下で説明するように密な密度と疎な密度を区別し、この関数を実装する。同じく、密なデータにおける少量と大量を区別するための最大値のしきい値を指定することができ、同様に、疎なデータの少量と大量を区別するための一意の総数のしきい値を提供することができる。また、ユーザIDのカラム名を指定し、再集計とユーザとの関係性をレポートすることができる。 In addition, a density ratio threshold can be specified, distinguishing between dense and sparse densities and implementing this function as described below. Similarly, you can specify a maximum threshold to distinguish between small and large amounts of dense data, as well as a unique total threshold to distinguish between small and large amounts of sparse data. Can be provided. In addition, the column name of the user ID can be specified, and the relationship between the recount and the user can be reported.
データ検証の一部分として、データの少量と大量を区別するための一意の総数のしきい値を提供し、同様に大きな値と非常に大きな値とを区別する総数のしきい値を提供することができる。任意で、バケットの数も指定してもよい。以下に説明するように、バケット化関数に関連した2タイプの区画による出力がある。第1の区画は、指定数によって最大値と最小値との区別を定義する。第2の区画は、おおよそ同一サイズのバケットに分類するように定義する。計算されるバケットの実際の数はリクエスト数よりも小さい場合も大きい場合もある。これらの区画は、以下に説明するように、モデルオプティマイザの素性関数の最適化に使用することができる。 As part of data validation, it is possible to provide a unique total threshold to distinguish between small and large amounts of data, as well as a total threshold to distinguish between large and very large values. it can. You may optionally specify the number of buckets. There are two types of partition output related to the bucketing function, as described below. The first section defines the distinction between the maximum value and the minimum value according to the specified number. The second compartment is defined to be classified into buckets of approximately the same size. The actual number of buckets calculated may be less than or greater than the number of requests. These partitions can be used to optimize the model optimizer's feature functions, as described below.
さらに、データフレームワークは、データを訓練用データ、評価とテスト用データに分割する。例えば、これに限定されないが、各データファイルの比率は、合計値が1.0になるように、指定することができる。あるいは、その比率は、データサイズに基づいて、自動的に計算することができる。さらに、任意で、各データファイルへのレコードのデータエクスポートは、その値が「true」に設定されることに基づいて、実行することができる。さらに、データセットは、ユーザIDのカラム名に基づいて、指定された比率で各ユーザIDに分割することができ、そのデータセットは、タイムスタンプのカラム名を指定することによって、タイムスタンプに基づいて、分類後に分割することができる。 In addition, the data framework divides the data into training data, evaluation and test data. For example, but not limited to this, the ratio of each data file can be specified so that the total value is 1.0. Alternatively, the ratio can be calculated automatically based on the data size. In addition, optionally, data export of records to each data file can be performed based on its value being set to "true". Further, the dataset can be divided into each user ID at a specified ratio based on the column name of the user ID, and the dataset is based on the time stamp by specifying the column name of the time stamp. It can be divided after classification.
実施例によれば、データフレームワークの作業は以下のように行われる。最初に、データ検証関数についての前述の実装例を参照し、データおよびディープフレームワーク構成ファイルを検証する作業が実行される。データ検証作業が実行されたのちに、レポートおよびヒストグラムファイルが生成され再検討することができる。例えば、これに限定されないが、検証レポートにより、データ誤差、またはデータの問題点に関する警告についての情報を提供することができる。さらに、レポートログを生成することができ、密度などの情報を提供する。 According to the embodiment, the work of the data framework is performed as follows. First, the task of validating the data and the deep framework configuration file is performed by referring to the above implementation example of the data validation function. After the data validation work has been performed, reports and histogram files can be generated and reviewed. For example, but not limited to, validation reports can provide information about data errors or warnings about data problems. In addition, a report log can be generated to provide information such as density.
検証レポートおよびヒストグラムファイルを検査したのちに、ディープフレームワーク構成ファイルを検証することができる。さらに、データを分割する作業を実行することができ、続いて、訓練用データと評価用データとの比較を実行する。その比較の結果も検証することができる。 After inspecting the validation report and histogram files, you can validate the deep framework configuration file. In addition, the task of dividing the data can be performed, followed by a comparison of the training data with the evaluation data. The result of the comparison can also be verified.
実装例によると、素性関数選択アルゴリズムは以下のように提供される。図5は素性関数選択アルゴリズム500の実装例の図である。整数型のデータについては、501において、最大値+1に対する一意の総数の比率に基づいて密度が判定される。503においてその密度がしきい値以上であると判定されると、505においてデータは密なものとして特徴づけられる。507においてその密度がしきい値未満であると判定されると、509においてデータは疎なものとして特徴づけられる。505において密なものとして特徴づけられるデータについては、最大値が少量定数以上であるかどうかで判定される。少量定数以上である場合は、511において密なデータは大量として特徴づけられ、513において、IDを備えた分類カラムが実行され、同様に、埋め込みが実行される。これに対し、最大値が少量定数未満であると判定されると、515においてデータは密なものかつ少量なものとして特徴づけられ、517においてIDを備えた分類カラムを使用して実行される。 According to the implementation example, the feature function selection algorithm is provided as follows. FIG. 5 is a diagram of an implementation example of the feature function selection algorithm 500. For integer type data, the density is determined in 501 based on the ratio of the unique total number to the maximum value + 1. If at 503 it is determined that the density is greater than or equal to the threshold, at 505 the data is characterized as dense. If the density is determined to be below the threshold in 507, the data is characterized as sparse in 509. For data characterized as dense in 505, it is determined whether the maximum value is greater than or equal to the small amount constant. If it is greater than or equal to a small number constant, dense data is characterized as large at 511, and at 513 a classification column with an ID is executed, as well as embedding. On the other hand, if it is determined that the maximum value is less than the small amount constant, the data is characterized as dense and small in 515 and executed using the classification column with the ID in 517.
509において判定された疎なデータについて、データの一意の総数がしきい値と比較される。509において一意の総数がしきい値以上であると判定されると、519においてデータは大量かつ疎なものとして特徴づけられ、ハッシュバケットを備えた分類カラムが提供され、521において埋め込みカラムが実行される。これに対し、一意の総数がしきい値未満であると判定されると、523においてデータは少量かつ疎なものとして特徴づけられ、ハッシュバケットを備えた分類カラムが提供され、525において実行される。 For the sparse data determined in 509, the unique total number of data is compared to the threshold. If 509 determines that the total number of uniques is greater than or equal to the threshold, then 519 the data is characterized as large and sparse, a classification column with a hash bucket is provided, and an embedded column is executed at 521. To. In contrast, if the unique total number is determined to be less than the threshold, the data is characterized as small and sparse at 523, a classification column with a hash bucket is provided and executed at 525. ..
527において判定された文字列型データについては、一意の総数は少量定数と比較される。529において一意の総数が少量定数未満であると判定されると、531において文字列データは少量であると判定され、語彙リストを備えた分類カラムが提供され、533において語彙ファイルを備えた分類カラムが実行される。535において一意の総数が大量定数未満である判定されると、537において文字列データは大量であると判定され、語彙ファイルを備えた分類カラムが提供され、539において埋め込みカラムが実行される。541において一意の総数が大量定数以上である場合は、543において文字列データは超大量であると判定され、ハッシュバケットを備えた分類カラムが提供され、545において埋め込みカラムが実行される。 For the string type data determined in 527, the unique total number is compared with the small constant. If it is determined in 529 that the total number of uniques is less than a small amount constant, in 531 it is determined that the string data is small and a classification column with a vocabulary list is provided and in 533 a classification column with a vocabulary file Is executed. If it is determined in 535 that the unique total number is less than a large number constant, it is determined in 537 that the string data is large, a classification column with a vocabulary file is provided, and an embedded column is executed in 539. If the total number of uniques in 541 is greater than or equal to a large number of constants, it is determined in 543 that the string data is very large, a classification column with a hash bucket is provided, and an embedded column is executed in 545.
547において判定された浮動小数点型データについては、データは、549において実行されたバケット化カラムまたは551において実行された数値カラムのいずれかとして特徴づけられる。 For floating point data determined at 547, the data is characterized as either a bucketed column executed at 549 or a numeric column executed at 551.
データフレームワーク向けデータの取得に関して、ユーザは、携帯電話などのユーザ機器に関連した情報から、ID、タイムスタンプ、位置などの情報を提供することができる。同様に、オペレーティングシステム情報は、システムにアクセス可能なユーザ機器に関連した、IPアドレス、MACアドレス、または他の利用可能な情報から取得することができる。性別、年齢、職業などの人口統計学的な情報は、ユーザプロファイルデータからユーザの承諾を得て取得することができる。さらに、ユーザIDおよび追加情報は暗号化され、開発者が、ユーザに関する1つまたは複数のタイプの情報に基づいて、ユーザを識別することはできないことに留意されたい。 Regarding the acquisition of data for a data framework, a user can provide information such as an ID, a time stamp, and a position from information related to a user device such as a mobile phone. Similarly, operating system information can be obtained from IP addresses, MAC addresses, or other available information associated with user equipment that has access to the system. Demographic information such as gender, age and occupation can be obtained from user profile data with the consent of the user. In addition, it should be noted that the user ID and additional information are encrypted and the developer cannot identify the user based on one or more types of information about the user.
データの分割に関して、機械学習方法のために、訓練用データおよび評価用データは別々に準備されなければならず、データは訓練し評価する必要がある。前述のように、データフレームワークにより、訓練用データおよび評価用データが提供される。実装例によれば、訓練用データと評価用データは重複してもよい。さらに、テストは反復的に実施することができ、最適なデータテスト性能を提供するために、反復ごとにデータをシャッフルしてもよい。 Regarding the division of data, the training data and the evaluation data must be prepared separately for the machine learning method, and the data needs to be trained and evaluated. As mentioned above, the data framework provides training data and evaluation data. According to the implementation example, the training data and the evaluation data may be duplicated. In addition, the tests can be performed iteratively and the data may be shuffled at each iteration to provide optimal data test performance.
以下で説明するように、ディープフレームワークはデータ訓練のために提供し、このデータ訓練は、ユーザまたは開発者がコードを提供する必要なく、自動的に実行される。また本明細書で説明するように、メカニズムまたは方法が、データの文字列型、整数型、および浮動小数点型、少量または大量などのデータの特質、ならびに密度関連情報を検出するのに提供される。 As explained below, the deep framework provides for data training, which is performed automatically without the need for the user or developer to provide code. Also, as described herein, mechanisms or methods are provided to detect data characteristics such as string, integer, and floating point, small or large quantities of data, as well as density-related information. ..
したがって、データフレームワークの出力として、モデル、スキーマ、素性、交差素性、および訓練用と評価テスト用に分割されたデータ自体、ならびに、任意で予測が提供される。この情報に基づいて、ディープフレームワークは以下に説明するように実装される。 Therefore, the output of the data framework provides the model, schema, features, cross-features, and the data itself divided for training and evaluation testing, and optionally predictions. Based on this information, the deep framework is implemented as described below.
図6に示すように、ディープフレームワークアーキテクチャ600は、インタフェース613を有するディープフレームワーク611を経由して、前述のように、構成ファイル(例えば、モデル、スキーマ、素性、および交差素性の各構成ファイル601〜607)およびデータ609を受け取ること含む。さらに、ディープフレームワーク611は、エスティメータ615、チューナフレームワーク621とインタフェースで接続されるコア619、以下でもう少し説明するが、本番モデル623およびレポート625を提供する。 As shown in FIG. 6, the deep framework architecture 600 goes through the deep framework 611 having the interface 613 and, as described above, the configuration files (eg, model, schema, feature, and cross-feature configuration files). 601 to 607) and receiving data 609. Further, the deep framework 611 provides an estimator 615, a core 619 interfaced with the tuner framework 621, a production model 623 and a report 625, which will be described a little further below.
より詳細には、図7に示すように、ディープフレームワークに関連する一連の作業700が提供される。データフレームワークは701においてデータを準備し、703において構成ファイルを作成する。ディープフレームワークは、データフレームワークから受け取った構成ファイルに基づいた、訓練705および評価707を有する。訓練誤差率が高いと、データフレームワークへのフィードバックは、より大きなモデル、より長い訓練、および/または新しいモデルアーキテクチャを提供するか、または、709で示すように、チューナフレームワークによって自動チューニングを実行することになる。評価誤差率が高いと、データフレームワークへのフィードバックは、より多くのデータを組み入れた修正済み構成ファイルを提供することになり、正規化、および/または新しいモデルアーキテクチャ、あるいは711で示すようなチューナフレームワークによる自動チューニングの実行を提供することになる。ディープネットワークによる訓練および評価が完了すると、713においてテストフェーズが、715においてモデルエクスポートが、717においてサービングが実行される。 More specifically, as shown in FIG. 7, a series of work 700 related to the deep framework is provided. The data framework prepares the data in 701 and creates the configuration file in 703. The deep framework has training 705 and rating 707 based on the configuration file received from the data framework. With a high training error rate, feedback to the data framework provides a larger model, longer training, and / or a new model architecture, or performs automatic tuning by the tuner framework, as shown in 709. Will be done. If the evaluation error rate is high, the feedback to the data framework will provide a modified configuration file that incorporates more data, normalization and / or a new model architecture, or a tuner as shown in 711. It will provide the framework to perform automatic tuning. Upon completion of training and evaluation by the deep network, a test phase is performed at 713, a model export is performed at 715, and a serving is performed at 717.
前述のように、入力済みデータファイルは、任意でTSVフォーマット、ヘッダ無し、およびTFRecordで提供される。任意で、実装例は、変換関数を使用することによって、変換するエクスポートレコード数を指定することによって、入力済みTSVファイルがヘッダを含まない場合はスキーマファイルを指定することによって、TSVとTFRecordを変換する方法を含むことができる。 As mentioned above, the input data file is optionally provided in TSV format, no header, and TFRecord. Optionally, the implementation example converts TSVs and TFRecords by using a conversion function, specifying the number of export records to convert, and specifying the schema file if the input TSV file does not contain a header. The method of doing so can be included.
構成ファイルは、カラムIDおよびカラム名を含む、スキーマファイルを有するものとして提供され、その配列は入力済みデータファイルと一致しており、カラム名はsensitiveである。ディープフレームワークは、構成ファイルを、TensorFlow関数などの関数に変換することができる。より詳細には、カラム名をキーとして使用することによって、構成ファイルは関数に変形するが、パラメータ名および関数名は保持することができる。さらに、一部分を省略する、またはデフォルトに設定することができる。 The configuration file is provided as having a schema file containing the column ID and column name, the array matches the input data file, and the column name is sensitive. Deep frameworks can convert configuration files into functions such as the TensorFlow function. More specifically, by using the column name as a key, the configuration file is transformed into a function, but the parameter name and function name can be retained. In addition, some can be omitted or set to default.
関数は、生成されて数値参照が付与されると、モデルオプティマイザに関連する素性関数の自動最適化に使用することができ、必要なだけ値を指定することができる。このことは、素性関数アルゴリズムおよびデータフレームワークに関するバケットに関連して、前述されている。 Once generated and given a numeric reference, the function can be used for automatic optimization of feature functions associated with the model optimizer, and you can specify as many values as you need. This has been mentioned above in relation to buckets for feature function algorithms and data frameworks.
1つまたは複数の基本素性関数を提供することができる。これら素性関数は、データフレームワークに関連して前述したように、素性関数アルゴリズムに基づいてその使用を選択することができる。例えば、IDを備えた分類カラムおよびIDと埋め込みカラムを備えた分類カラムの関数は、入力がゼロからバケットの数までの範囲内の整数である場合に使用することができる。ハッシュバケットを備えた分類カラムおよびハッシュバケットと埋め込みカラムを備えた分類カラムの素性関数は、疎な素性であって、ハッシュの使用によってIDが設定される場合に使用することができる。語彙リストを備えた分類カラムおよび語彙リストと埋め込みカラムを備えた分類カラムの素性関数は、入力が文字列または整数フォーマットであって、各値を整数IDにマッピングするメモリ内語彙が提供される場合に使用することができる。 One or more basic feature functions can be provided. These feature functions can be selected for use based on the feature function algorithm, as described above in relation to the data framework. For example, a classification column with an ID and a classification column function with an ID and an embedded column can be used when the input is an integer in the range from zero to the number of buckets. The feature function of a classification column with a hash bucket and a classification column with a hash bucket and an embedded column can be used when the features are sparse and the ID is set by the use of a hash. A classification column with a vocabulary list and a classification column identity function with a vocabulary list and an embedded column are provided when the input is in string or integer format and an in-memory vocabulary that maps each value to an integer ID is provided. Can be used for.
語彙ファイルを備えた分類カラムおよび語彙ファイルと埋め込みカラムを備えた分類カラムの素性関数は、入力が文字列または整数フォーマットであって、各値を整数IDにマッピングする語彙ファイルが提供される場合に使用することができる。数値カラムの素性関数が提供され、そのデータは値を持つ数値素性を示す。また、バケット化カラムの素性関数が離散化済み高密な入力を示すデータに提供される。さらに、前述の1つまたは複数の素性関数に関連して、連続した値を扱うために、連続した素性関数を提供することができる。 A classification column with a vocabulary file and a classification column identity function with a vocabulary file and an embedded column are provided when the input is in string or integer format and a vocabulary file is provided that maps each value to an integer ID. Can be used. Numeric column feature functions are provided, and the data show the numeric features that have values. In addition, the feature function of the bucketed column is provided for the data showing the discretized and dense input. Further, in relation to the one or more feature functions described above, a continuous feature function can be provided to handle consecutive values.
図8に示すように、モデルファイルについて、モデル800は、ワイドモデル801、ディープモデル803、またはワイドモデルとディープモデルの組合せなどの線形であってもよい。モデル設定は、1つまたは複数の分類器クラスおよび1つまたは複数の回帰クラスを有することができる。個別化されたレコメンダシステムの文脈において、ユーザID、人口統計、オペレーティングシステム、および/またはユーザデバイスないしはユーザ機器などのユーザ情報805を提供することができる。同様に、商品ID、名称、タグ、カテゴリ、発行日、供給業者などの商品情報807を提供することができる。 As shown in FIG. 8, for the model file, the model 800 may be linear, such as wide model 801 or deep model 803, or a combination of wide and deep models. The model setup can have one or more classifier classes and one or more regression classes. In the context of personalized recommender systems, user information 805 such as user IDs, demographics, operating systems, and / or user devices or user devices can be provided. Similarly, product information 807 such as product ID, name, tag, category, issue date, and supplier can be provided.
素性関数の作業は前述のように実行することができる。疎な素性について、適宜809において作業が実行され、ワイドモデル801またはディープモデル803、あるいはそれらの組合せは、素性関数の作業の結果に基づいて実行することができる。811においては、高密な埋め込みについて、ディープモデル803の実装について前述したような素性関数の決定に基づいて、隠れ層813として示すように別の作業を実行することができる。さらに、出力部815が、サービングモデル向けなどに、提供される。 The work of the feature function can be performed as described above. For sparse features, work is performed at 809 as appropriate, and wide model 801 or deep model 803, or a combination thereof, can be performed based on the result of the work of the feature function. In 811 for dense embedding, another task can be performed as shown as hidden layer 813, based on the determination of the feature function as described above for the implementation of the deep model 803. Further, the output unit 815 is provided for serving models and the like.
要約すると、ユーザ情報および商品情報がデータフレームワークに提供され、素性の疎密さについて判定が行われる。素性が十分に高密である場合は、素性関数モデルに関連して前述したように、高密埋め込みが実行され、ディープゼネラリゼーションが実行されて隠れ層を通じて出力を生成する。あるいは、高密な埋め込みがない場合は、ワイドメモライゼーションが実行されて出力を生成する。出力部は、任意のまたはすべての商品についての確率の結果を提供することができる。 In summary, user information and product information are provided to the data framework to determine the sparseness of features. If the features are dense enough, dense embedding is performed and deep generalization is performed to produce output through the hidden layer, as described above in relation to the feature function model. Alternatively, in the absence of dense embedding, wide memorialization is performed to produce the output. The output unit can provide a probability result for any or all commodities.
ディープフレームワークをサポートするために、1つまたは複数のAPIを提供することができる。図9は、実装例によるAPI900を示す図である。例えば、これに限定されないが、APIは901においてRESTの中で提供することができ、TensorFlowサービングコンテナなどのサービングサーバ907へのクライアント入力905を含み、サービングサーバ907はモデルレプリカを生成し、サービス化モデル911と同期する。さらにAPIは、モデル構築を通じて訓練913を提供し、訓練913は実験、アイデア生成、および生成したアイデアに基づいた構成ファイルの修正を含む。さらに、903においてPython API(例えば、gRPC)を提供することができ、これは要素907、911、および913に関連したREST APIに類似している。また、Python APIは、クライアントからの情報、前処理ロジック回路917と後処理ロジック回路919からなるミドルウェア、およびgRPCクライアント921とのAPIインタフェース915を備えることができる。 One or more APIs can be provided to support deep frameworks. FIG. 9 is a diagram showing an API 900 according to an implementation example. For example, but not limited to this, the API can be provided in REST at 901, including a client input 905 to a serving server 907 such as a TensorFlow serving container, the serving server 907 generating a model replica and servicing it. Synchronize with model 911. In addition, the API provides training 913 through model building, which includes experimentation, idea generation, and modification of configuration files based on the generated ideas. In addition, a Python API (eg, gRPC) can be provided in 903, which is similar to the REST API associated with elements 907, 911, and 913. Further, the Python API can be provided with information from a client, middleware including a preprocessing logic circuit 917 and a postprocessing logic circuit 919, and an API interface 915 with a gRPC client 921.
図10は、多様なデータ密度判定にマッピングすることが可能な様々なデータ型式を表したマッピング1000、および実装することが可能な関連素性関数を示した実装例の図である。例えば、整数データ型式が1001に示され、これには、ユーザID、商品IDなどの識別子、年齢、年、月、日などの数値、および、デバイス、性別、OSなどのカテゴリなどが含まれる。さらに、ブールデータ型式はクリックなどのフラグ型として1003に示され、タグやクエリなどを含む文字列データは語彙型として1005に示され、浮動小数点データが温度、重量、高さ、価格などの実数値型として1007に示される。 FIG. 10 is a diagram of an implementation example showing mapping 1000 representing various data types that can be mapped to various data density determinations, and related feature functions that can be implemented. For example, an integer data model is shown in 1001, which includes identifiers such as user IDs and product IDs, numerical values such as age, year, month, and day, and categories such as device, gender, and OS. Furthermore, the Boolean data type is shown in 1003 as a flag type such as click, the character string data including tags and queries is shown in 1005 as a lexical type, and the floating point data is the actual temperature, weight, height, price, etc. It is shown in 1007 as a numerical type.
1017においてデータが密で少量のデータを含むと判定されると、IDを備えた分類カラムの素性関数が1027において適用される。1015においてデータが密で大量であると判定されると、IDを備えた分類カラムの素性関数および埋め込みが1029において適用される。1013においてデータが疎で少量であると判定されると、ハッシュバケットを備えた分類カラム素性関数が1031において適用される。データが疎で大量であると判定されると、ハッシュバケットを備えた分類カラムの素性関数および埋め込みが1033において実行される。データが1009においてバケット化済みであると判定されると、1035においてデータは素性関数としてバケット化済みカラムであると評価される。前述のデータ判定のいずれにも適合しない場合は、1037においてデータは数値カラムとして特徴づけられる。 If it is determined in 1017 that the data is dense and contains a small amount of data, the feature function of the classification column with the ID is applied in 1027. If the data is determined to be dense and large in 1015, the feature function and embedding of the classification column with the ID is applied in 1029. If the data is determined to be sparse and small in 1013, a classification column feature function with a hash bucket is applied in 1031. If the data is determined to be sparse and large, a feature function and embedding of a classification column with a hash bucket is performed in 1033. If it is determined in 1009 that the data has been bucketed, then in 1035 the data is evaluated as a bucketed column as a feature function. If none of the above data verdicts are met, the data is characterized as a numeric column at 1037.
さらに、文字列値のデータ型式については、1019においてデータが少量であると判定されると、1039において語彙リストを備えた分類カラムおよび語彙ファイルを備えた分類カラムの素性関数が適用される。1021においてデータが大量であると判定されると、1041において語彙ファイルを備えた分類カラムの素性関数および埋め込みが適用される。1023においてデータが超大量であると判定されると、1043においてハッシュバケットを備えた分類カラムの素性関数および埋め込みが適用される。 Further, regarding the data type of the character string value, when it is determined in 1019 that the amount of data is small, the identity function of the classification column having the vocabulary list and the classification column having the vocabulary file is applied in 1039. If it is determined in 1021 that the data is large, the feature function and embedding of the classification column with the vocabulary file is applied in 1041. If it is determined in 1023 that the data is very large, the feature function and embedding of the classification column with the hash bucket is applied in 1043.
1007において浮動小数点型であると判定されたデータ型式については、1025においてデータはバケット化済みであると判定され、1045においてバケット化済みカラムの素性関数が適用される。もしくは、数値カラム1037の素性関数が浮動小数点型のデータに適用される。 For the data type determined to be a floating point type in 1007, the data is determined to be bucketed in 1025, and the feature function of the bucketed column is applied in 1045. Alternatively, the feature function of numeric column 1037 is applied to floating-point data.
例えば、これに限定されないが、基準分類器を提供することができ、この基準分類器は、素性値を省略し、各ラベルの平均値を予測するのに提供される単純な基準を確立する。単一ラベル問題については、基準分類器がラベルと同様にクラスについての確率の分布を予測することができる。複数ラベル問題については、基準分類器が各クラスに対して正であるサンプルの割合を予測することができる。 For example, but not limited to, a reference classifier can be provided, which omits the feature values and establishes the simple criteria provided to predict the average value of each label. For single-label problems, the reference classifier can predict the distribution of probabilities for a class as well as labels. For multi-label problems, the reference classifier can predict the percentage of samples that are positive for each class.
さらに、線形分類器を提供することができ、線形モデルを訓練してインスタンスを複数の可能性のあるクラスのうちの1つに分類する。例えば、これに限定されないが、可能性のあるクラスの数が2の場合、これはバイナリ分類である。さらに、DNN分類器を提供することができ、DNNモデルを訓練してインスタンスを複数の可能性のあるクラスのうちの1つに分類し、それによって、可能性のあるクラスの数が2の場合、これはバイナリ分類になる。また、線形分類器とDNN分類器の組合せを提供することができ、これにより、前述の線形分類器モデルとDNN分類器モデルを組み合わせる。さらに、分類器にAdaNetなどのモデルを提供する、または組み合わせることができる。回帰型ニューラルネットワークモデルを訓練してインスタンスを複数のクラスのうちの1つまたは他の分類器(例えば、残差ネットワークを備えたDNN、または自己注意型ニューラルネットワークを使用した自動素性インタラクションラーニング)に分類するTensorFlow RNNモデルが、当業者に理解されよう。 In addition, a linear classifier can be provided to train a linear model to classify an instance into one of several possible classes. For example, but not limited to this, if the number of possible classes is 2, this is a binary classification. In addition, a DNN classifier can be provided to train the DNN model to classify the instance into one of multiple possible classes, thereby if the number of possible classes is two. , This is a binary classification. It is also possible to provide a combination of a linear classifier and a DNN classifier, thereby combining the above-mentioned linear classifier model and a DNN classifier model. In addition, models such as AdaNet can be provided or combined with the classifier. Train a recurrent neural network model to instantiate an instance into one or another classifier of multiple classes (eg, DNN with a residual network, or automatic nature interaction learning using a self-attention neural network). The TensorFlow RNN model to classify will be understood by those skilled in the art.
同様に、リグレッサを先述の分類器に提供することができ、素性値を省略して平均値を予測し、見積りを提供するなどが可能である。 Similarly, the regressor can be provided to the above-mentioned classifier, the feature value can be omitted, the average value can be predicted, and an estimate can be provided.
モデルは1つまたは複数の関数を有することができる。例えば、これに限定されないが、1つまたは複数の関数は停止関数を有することができ、この停止関数は、メトリックが所定の最大ステップ内で低下しない、所定の最大ステップ内で増加しない、しきい値より高いまたは低いなど、一定の条件下で訓練を停止する。前述の事例に限定されず、当業者に理解されるように、他の関数を含むことができる。 The model can have one or more functions. For example, but not limited to, one or more functions can have a stop function, which does not decrease the metric within a given maximum step, does not increase within a given maximum step, and thresholds. Stop training under certain conditions, such as above or below the value. Other functions may be included, not limited to the cases described above, as will be appreciated by those skilled in the art.
前述のように、データセットおよび構成ファイルを使用して、訓練および評価を実行することができる。この訓練および評価は1つのCPUまたはGPUを有する単一マシン上で作動し、GPUは利用可能な場合に自動的に使用することができる。さらに、プロセスは複数のデバイスに対して並列化することができ、GPUまたはCPUの規定の数を指定することができる。処理はバックグラウンドで実行することができ、コンソールログが表示され、任意で処理を停止することができる。 As mentioned above, datasets and configuration files can be used to perform training and evaluation. This training and evaluation runs on a single machine with one CPU or GPU, which can be used automatically when available. In addition, the process can be parallelized for multiple devices and a specified number of GPUs or CPUs can be specified. The process can be executed in the background, the console log is displayed, and the process can be stopped at will.
実装例によれば、テストモデルが作動し、予測モデルが作動し、モデルアナライザが続く。次いで、エクスポートがcervicalモデルに対して実行され、モデルサーバが起動し、前述のように、RESTおよびPython APIを備えたインタフェースの作動が続く。 According to the implementation example, the test model works, the predictive model works, followed by the model analyzer. The export is then performed on the cervical model, the model server is started, and the interface with the REST and Python APIs continues to operate as described above.
任意で、TensorBoardを使用してディープフレームワークを可視化することができる。例えば、TensorBoardは、実行すると閲覧することができ、訓練データおよび評価データがグラフィカルに表示され、同様に、作業についてグラフが提供され、さらにデータが表示される。 Optionally, TensorBoard can be used to visualize the deep framework. For example, the TensorBoard can be viewed when run, displaying training and evaluation data graphically, as well as providing a graph of the work and further displaying the data.
例えば、図11は、TensorBoardを採用の実装例に関連したユーザ体験例を示す図である。1101においては、ユーザが「scalars」を選択する。1103においては、訓練データと評価データの比較がグラフ形式で表示されている。1105および1107においては、訓練データおよび評価データそれぞれのカーブが、損失を表現するように示されている。 For example, FIG. 11 is a diagram showing a user experience example related to an implementation example adopting TensorBoard. In 1101, the user selects "scalars". In 1103, the comparison between the training data and the evaluation data is displayed in a graph format. In 1105 and 1107, the curves of the training data and the evaluation data, respectively, are shown to represent the loss.
図12は、別のユーザ体験例を示す図である。より詳細には、1200においては、トレース構造の画像が示され、その画像の中で、ユーザは1201で「graphs」を選択している。1203においては、構成要素間の関係性がグラフ表示されている。 FIG. 12 is a diagram showing another user experience example. More specifically, in 1200, an image of the trace structure is shown, in which the user has selected "graphs" at 1201. In 1203, the relationships between the components are displayed in a graph.
図13は、1300で、ユーザ体験の別の実装例を提供する。より詳細には、1301においてユーザは「projector」を選択し、1303においてユーザはカーネルを選択している。その結果、1305においてデータ表示が示されている。 FIG. 13 is 1300, which provides another implementation of the user experience. More specifically, in 1301 the user selects "projector" and in 1303 the user selects the kernel. As a result, the data display is shown at 1305.
ディープフレームワークはモデルアナライザを有する。より詳細には、モデルアナライザはエクスポート、および入力済みデータに関連した各カラムについての正確なレポートを生成する。例えば、これに限定されないが、入力済みデータがユーザID、オペレーティングシステム、エージェントアドレスを含んでいる場合、これらのカラムそれぞれについて、正確なレポートが生成されることになる。より詳細には、ユーザが所定のモデルに対して高精度を有するか、または低精度を有するかについて、判定を行うことができる。同様に、モデルの精度を改善する必要があり得るデータの類、および不足しているデータについて、判定を行うことができる。 The deep framework has a model analyzer. More specifically, the model analyzer will export and generate accurate reports for each column associated with the entered data. For example, but not limited to, if the entered data includes a user ID, operating system, and agent address, an accurate report will be generated for each of these columns. More specifically, it is possible to determine whether the user has high accuracy or low accuracy for a predetermined model. Similarly, judgments can be made on the types of data that may need to be improved in model accuracy and on the missing data.
1つの実装例によれば、精度は、2つのモデルについて、androidおよびiOSそれぞれについて判定される。モデルアナライザの出力は、androidおよびiOSそれぞれについて、モデルそれぞれについて、0.0と1.0の間の精度スコアで提供される。見てのとおり、androidは両方のモデルでiOSよりも精度が高かった。さらに、総データ数が、データ量を検証するために、androidおよびiOSの両方について提供される。加えて、出力は、第2のモデルがandroidおよびiOSオペレーティングシステムの両方について高精度を有することを実証した。 According to one implementation example, accuracy is determined for each of the two models, android and iOS. The output of the model analyzer is provided with an accuracy score between 0.0 and 1.0 for each model, for android and iOS respectively. As you can see, android was more accurate than iOS on both models. In addition, the total number of data is provided for both android and iOS to validate the amount of data. In addition, the output demonstrated that the second model has high accuracy for both android and iOS operating systems.
例えば、図14に示すように、モデル間の比較1400が、androidとiOSオペレーティングシステムそれぞれについて提供される。1401に示すように、モデルAおよびモデルBの両方について、androidがiOSとの比較においてより高い精度を示している。さらに、モデルAとモデルBの間において、モデルBがモデルAとの比較においてより優れた精度を示している。加えて、1403はオペレーティングシステムについてのデータ数を示している。 For example, as shown in FIG. 14, comparisons 1400 between models are provided for android and iOS operating systems, respectively. As shown in 1401, for both model A and model B, android shows higher accuracy in comparison to iOS. Moreover, between model A and model B, model B shows better accuracy in comparison with model A. In addition, 1403 indicates the number of data for the operating system.
ユーザの年齢がモデルアナライザへの入力として提供され、各モデルについて年齢グループそれぞれの精度判定を行った。第2のモデルがほとんどの年齢グループで高い精度を提供することが理解されよう。さらに、データ数は年齢グループにも提供されている。 The age of the user was provided as an input to the model analyzer, and the accuracy of each age group was determined for each model. It will be appreciated that the second model provides high accuracy for most age groups. In addition, the number of data is also provided to age groups.
例えば、図15に示すように、モデルAとモデルBそれぞれについて、年齢グループをまたがって比較1500が提供される。1501に示すように、モデルBは、モデルAとの比較において、ほとんどの年齢グループでより高い精度を有している。さらに、1503は、年齢グループについてのデータ数を示している。 For example, as shown in FIG. 15, for each of model A and model B, comparison 1500 is provided across age groups. As shown in 1501, model B has higher accuracy in most age groups when compared to model A. In addition, 1503 indicates the number of data for the age group.
加えて、実装例は「what if」と呼ぶツールを提供し、このツールにより、コーディングすることなく、詳細にモデルを精査することを可能にする。このツールを実行すると、データとモデル情報、およびモデル型式を入力することができる。例えば、図16は、そのようなユーザインタフェース例1600を示す図である。この情報を入力すると、データを視覚的に表示するなど、出力を生成することができる。さらに、データポイントエディタを提供し、素性値を修正して更新済み推論を作動させたり、グランドトルース素性の基準を設定、公正メトリックを比較、あるいは性能を再検討したり、ページ、ユーザID、タイムスタンプなどの様々な入力済み素性について、数値素性の表示を可視化したりすることができる。例えば、そのような出力を図17から20に示す。 In addition, the implementation example provides a tool called "what if", which allows you to scrutinize the model in detail without coding. When you run this tool, you can enter data, model information, and model model. For example, FIG. 16 is a diagram showing such a user interface example 1600. Entering this information can produce output, such as displaying the data visually. In addition, it provides a data point editor to modify feature values to activate updated inferences, set ground truth feature criteria, compare fair metrics, or review performance, page, user ID, timestamp. It is possible to visualize the display of numerical features for various entered features such as stamps. For example, such outputs are shown in FIGS. 17-20.
チューナフレームワークに関して以下に説明するように、自動チューニングに加えて、手動チューニングオプションを提供することができる。より詳細には、一部の人工知能モデルにおいては、チューナフレームワークの結果が、開発者のカスタマイズ要求に十分に合致しない場合がある。そのような状況、および任意でユーザの同意を必要とする状況においては、チューナフレームワークの出力の後でモデルをカスタマイズすることができる。プロセスを完全自動化するために、任意で、手動チューニングオプションを使用できなくしたり、提供しないようにしたりできる。これにより、潜在的に機微な情報への手動によるアクセスを予防することができる。さらに、実装例における本明細書に記載の自動チューニングのいくつかの態様を組み合わせたハイブリッド型アプローチ、および関連の手動チューニングアプローチを提供することができる。 In addition to automatic tuning, manual tuning options can be provided, as described below for the tuner framework. More specifically, in some artificial intelligence models, the results of the tuner framework may not fully meet the developer's customization requirements. In such situations, and optionally in situations that require user consent, the model can be customized after the output of the tuner framework. To fully automate the process, you can optionally disable or disable the manual tuning option. This can prevent manual access to potentially sensitive information. Further, it is possible to provide a hybrid approach that combines some aspects of automatic tuning described herein in an implementation example, and a related manual tuning approach.
前述のディープフレームワークの実装例は、サンプルデータセット上で実行することができる。さらに、複数クラス分類、バイナリ分類、および回帰を、1つまたは複数のサンプルデータセット上で実行することができる。図21は、素性関数の取扱いに関連した実装例を示す図である。より詳細には、2100に示すように、素性関数の実行、変換関数および分類の作業に関連した複数のシナリオを示す。2101においては、ハッシュバケットを備えた分類カラム、語彙リストを備えた分類カラム、語彙ファイルを備えた分類カラム、およびIDを備えた分類カラムの素性関数を実行して、出力を提供する。関数が出力上で実行され、データが疎であるとの判定に基づいて、線形分類器および線形リグレッサを実行することができる。これに対して、データが高密であるとの判定の場合は、2101に示すように、さらに分類関数を実行することができる。同様に、埋め込みが実行されると、2103にスキーマが示される。これに対して、素性関数が数値カラムの場合は、2105においてデータが高密であるかどうかの判定が行われ、そこに示すように、分類が実行される。バケット化カラムについては、2107において数値カラムが定義され、データが高密であるとの判定が行われ、様々な分類が実行される。 The deep framework implementation example described above can be run on a sample dataset. In addition, multiclassification, binary classification, and regression can be performed on one or more sample datasets. FIG. 21 is a diagram showing an implementation example related to the handling of the feature function. More specifically, as shown in 2100, we show a plurality of scenarios related to the work of performing feature functions, transforming functions and classification. In 2101, the feature functions of the classification column with the hash bucket, the classification column with the vocabulary list, the classification column with the vocabulary file, and the classification column with the ID are executed to provide the output. The function can be executed on the output and a linear classifier and linear regressor can be executed based on the determination that the data is sparse. On the other hand, in the case of determining that the data is dense, a classification function can be further executed as shown in 2101. Similarly, when the embedding is performed, the schema is shown in 2103. On the other hand, when the feature function is a numerical column, the determination of whether or not the data is dense is performed at 2105, and the classification is executed as shown therein. For bucketed columns, a numeric column is defined in 2107, it is determined that the data is dense, and various classifications are performed.
実装例によれば、評価用データの損失が訓練用データの損失を超過する、過剰適合シナリオを識別することができる。このような状態においては、図22(例えば、評価用データと訓練用データとの間に損失の大きな差があるケース)に示すように、より多くのデータ、正則化を要求することによって構成ファイルを修正する、または新しいモデルアーキテクチャを提供するように、判定が行われる場合がある。 According to the implementation example, it is possible to identify an overfitting scenario in which the loss of evaluation data exceeds the loss of training data. In such a situation, as shown in FIG. 22 (for example, a case where there is a large difference in loss between the evaluation data and the training data), the configuration file is made by requesting more data and regularization. Judgment may be made to modify or provide a new model architecture.
図23に示すように、訓練用データと評価用データの損失が大きい状態では、過小適合の状態にある可能性がある。このような状態においては、より大きなモデルを提供する、より長時間訓練する、または新しいモデルアーキテクチャを採用するように、構成ファイルが修正される場合がある。 As shown in FIG. 23, when the loss of training data and evaluation data is large, there is a possibility of underfitting. In such situations, the configuration file may be modified to provide a larger model, train longer, or adopt a new model architecture.
実装例によれば、ディープフレームワークは、素性関数の結果およびデータ型に基づいて、データに関連した統計情報をエクスポートして、データを巧みに作業し、最適な選択のための推奨を提供する。 According to the implementation example, the deep framework exports data-related statistics based on the result and data type of the feature function to work with the data and provide recommendations for the best choice. ..
本明細書で提供する、ディープフレームワークを使用した実装例により、範囲に関する密度を使用して素性の自動選択を可能にする。例えば、これに限定されないが、様々なデータ型について、データ密度が疎、密、高密であるかどうかを考慮に入れる。大きなサンプルサイズを有する疎なデータについては、埋め込みを実行することができる。さらに、密な、または非常に高密なデータについては、どれだけ多くのデータが存在するかを確認するように、判定が行われる場合があり、しきい値に合致しているかどうかに基づいて、埋め込みが実行される。このようなしきい値に合致していない、または低いしきい値が提供されている場合は、IDを使用してデータを分類することができる。 Implementation examples using the deep framework provided herein allow automatic selection of features using density for ranges. For example, for various data types, including, but not limited to, whether the data density is sparse, dense, or dense is taken into account. Embedding can be performed on sparse data with a large sample size. In addition, for dense or very dense data, a decision may be made to see how much data is present, based on whether the threshold is met. Embedding is performed. IDs can be used to classify data if such thresholds are not met or if lower thresholds are provided.
データが十分に高密でない場合は、分類できない可能性がある。さらに、データが疎である場合は、ハッシュを実行してIDの表示を回避することができる。この埋め込みモデルを使用して、実装例は、しきい値に合致しているかどうかを判定する。このように、モデルの最適化を提供することができ、チューナフレームワークに関連して説明したように、例えば、ランダムに、またはベイズ最適化に基づくかのどちらかの手法で、モデルの選択を実行することができる。 If the data is not dense enough, it may not be possible to classify. Furthermore, if the data is sparse, hashing can be performed to avoid displaying the ID. Using this embedded model, the implementation example determines if the threshold is met. In this way, model optimization can be provided, and model selection can be made, for example, either randomly or based on Bayesian optimization, as described in connection with the tuner framework. Can be executed.
前述のように、ハイパーパラメータ、入力済みデータの組合せ、およびモデル選択を自動的に最適化するために、チューナフレームワークが提供される。一部の環境では、モデルの最適値を手動で取得することができない。例えば、図24の2400に示すように、第1のハイパーパラメータ2403と第2のハイパーパラメータ2405とオブジェクト2407との間に挟まれた解空間2401において、手動による最適化により特定領域の結果2409を提供することができる。しかし、大域的最大の結果2411は、手動による最適化だけでは取得することはできない。さらに、手動による最適化により、オペレータはプライバシー保護のない形式でユーザおよび/または商品のデータを見ることを可能にする場合がある。 As mentioned above, a tuner framework is provided to automatically optimize hyperparameters, combinations of input data, and model selection. In some environments, it is not possible to manually obtain the optimum value for the model. For example, as shown in 2400 of FIG. 24, in the solution space 2401 sandwiched between the first hyperparameter 2403, the second hyperparameter 2405, and the object 2407, the result 2409 of a specific region is obtained by manual optimization. Can be provided. However, the global maximum result 2411 cannot be obtained by manual optimization alone. In addition, manual optimization may allow the operator to view user and / or product data in a non-privacy-protected format.
したがって、本実施例は、ランダム検索アルゴリズムおよびベイズ最適化アルゴリズムを提供し、ディープフレームワークおよびデータフレームワークの文脈の中で提供される。より詳細には、図25に示すように、チューナフレームワーク2500はディープフレームワーク構成ファイル2501、ならびにオプティマイザファイル2503、および例えば前述のTSVフォーマットの入力済みデータ2505を含む。 Therefore, this example provides random search algorithms and Bayesian optimization algorithms and is provided in the context of deep and data frameworks. More specifically, as shown in FIG. 25, the tuner framework 2500 includes a deep framework configuration file 2501, an optimizer file 2503, and, for example, the input data 2505 in the TSV format described above.
より詳細には、モデルオプティマイザ2507は生成済み構成ファイル2509を受け取り、2511においてオプティマイザを使用して生成済み構成ファイルを備えたモデルの評価を実行し、2513においてその結果を解析し、2515において出力したレポートをディープフレームワーク構成2517に対してレポート形式2519で提供する。 More specifically, the model optimizer 2507 received the generated configuration file 2509, used the optimizer in 2511 to evaluate the model with the generated configuration file, analyzed the results in 2513, and output in 2515. The report is provided in report format 2519 for the deep framework configuration 2517.
前述のように、構成ファイルがデータフレームワークによって生成され、編集して、または編集せずに、チューナフレームワークに直接提供されてもよい。構成ファイルの中で、リグレッサモデルについてはaverage_loss(MINIMIZE)、分類器モデルについてはaccuracy(MAXIMIZE)のように、メトリックタグを指定する。さらに、ランダム検索またはベイズ最適化のいずれかのアルゴリズム、およびモデルパラメータの許容最大数を指定する必要がある。 As mentioned above, the configuration file may be generated by the data framework and provided directly to the tuner framework with or without editing. In the configuration file, specify metric tags such as average_loss (MINIMIZE) for the regressor model and accuracy (MAXIMIZE) for the classifier model. In addition, you need to specify either a random search or Bayesian optimization algorithm, and the maximum number of model parameters allowed.
実装例によれば、ランダム検索アルゴリズムは、図26の2600に示すように、以下のように実行することができる。第1の作業2601においては、入力済み素性が最適化され、この作業は、その試行の回数が入力済み素性の試行の回数未満である限り、反復して実行される。第2の作業2607においては、ハイパーパラメータ最適化2603およびモデル自動選択2605が実行される。これらの作業は、その試行の回数がモデルの試行の回数未満である限り、実行される。2609において、第1の作業および第2の作業がループで実行され、そのループの回数がランダム検索を実行するのに必要なループ回数未満である限り、実行される。 According to the implementation example, the random search algorithm can be executed as follows, as shown in 2600 of FIG. In the first task 2601, the input features are optimized, and this operation is repeated as long as the number of trials is less than the number of trials of the input features. In the second operation 2607, hyperparameter optimization 2603 and model automatic selection 2605 are executed. These tasks are performed as long as the number of trials is less than the number of model trials. At 2609, as long as the first and second operations are performed in loops and the number of loops is less than the number of loops required to perform a random search.
ランダム検索実行モデルが実行されると、その結果が「false」の場合、2611に示すように、第1の作業が実行され、その後に第2の作業が実行される。これに対し、結果が「true」の場合は、この作業は取り消され、2613に示すように、第2の作業が実行され、その後に第1の作業が実行される。 When the random search execution model is executed, if the result is "false", the first work is executed, and then the second work is executed, as shown in 2611. On the other hand, when the result is "true", this work is canceled, the second work is executed, and then the first work is executed, as shown in 2613.
第1の作業に関連して、これは入力済み素性の作業の設定であるが、入力済み素性の最適構成を自動的に抽出するために、実装例が以下のように実行される。試行回数が立証され、前述のように素性関数を生成するために素性カラム関数型を「true」に設定することによって最適化が可能になると、ランダム検索を実行する関数が最良の結果に基づいて入力済み素性に「true」を設定しているかどうかについて判定を行う。この場合は、一般的なアルゴリズムを使用して入力済み関数の組合せを最適化する。任意で、最適化の処理中に各作業において使用される入力済み素性のリストを提供することができ、同様に、次のハイパーパラメータ最適化プロセスに受け継がれる試行ごとの反復の数および結果の数を提供することができる。結果として、入力済み素性の自動最適化が実行される。 In relation to the first work, this is the setting of the work of the input features, but in order to automatically extract the optimum configuration of the input features, the implementation example is executed as follows. Once the number of trials has been proven and optimization is possible by setting the feature column function type to "true" to generate the feature function as described above, the function performing the random search is based on the best results. Judgment is made as to whether or not "true" is set for the input feature. In this case, a general algorithm is used to optimize the combination of input functions. Optionally, it can provide a list of entered features used in each task during the optimization process, as well as the number of iterations and results per trial that will be passed on to the next hyperparameter optimization process. Can be provided. As a result, automatic optimization of the entered features is performed.
第2の作業に関して、ハイパーパラメータ最適化が提供される。例えば、一定のパラメータの値は、試行回数設定、および「ベイズ最適化」に設定されたアルゴリズムに基づいて、最適化することができる。さらに、試行および反復の回数も設定することができる。次いで、モデルオプティマイザ構成ファイルが検査され、必要に応じて編集される。チューナフレームワークの前回の結果が取り除かれ、続いて、構成ファイルおよびデータフレームワークによって提供されたデータを使用して、データセットを備えたチューナフレームワークが実行される。 For the second task, hyperparameter optimization is provided. For example, the value of a certain parameter can be optimized based on the number of trials setting and the algorithm set in "Bayesian optimization". In addition, the number of trials and iterations can be set. The model optimizer configuration file is then inspected and edited as needed. The previous results of the tuner framework are removed, followed by the tuner framework with the dataset running using the configuration file and the data provided by the data framework.
チューナフレームワークは、CPUまたはGPUを備えた単一マシンの単一デバイス上で、またはCPUをまたがって自動的に使用されるGPUを備えた単一マシン上の複数デバイス上で、実行することができる。チューナフレームワークの処理はバックグラウンドで実行される。 The tuner framework can run on a single device on a single machine with a CPU or GPU, or on multiple devices on a single machine with a GPU that is automatically used across CPUs. it can. The processing of the tuner framework runs in the background.
1つのマシン上の複数デバイスを使用して、いくつかのCPUまたはGPUの並列化を提供することができる。さらに、チューナフレームワークは、複数マシン上の複数デバイスで作動させることができる。任意で、チューナフレームワークは、一般的に、所定の1つのマシンまたは複数のマシン上でCPUをまたがって自動的にGPUを使用するように選択することができる。より詳細には、チューナフレームワークの実行にはサーバリストファイルを修正し、複数マシン上の複数デバイスを使用してチューナフレームワークを実行することになる。 Multiple devices on one machine can be used to provide parallelization of several CPUs or GPUs. In addition, the tuner framework can be run on multiple devices on multiple machines. Optionally, the tuner framework can generally be chosen to automatically use the GPU across CPUs on a given machine or machines. More specifically, running the tuner framework would modify the server list file and run the tuner framework using multiple devices on multiple machines.
本明細書で説明するように、チューナフレームワークは、人工知能モデルを自動的にチューニングし作成する。ライブラリとしてディープフレームワークを使用し、そのディープフレームワークの実行に基づいて、チューナフレームワークは、更新済みモデル、またはモデルへの推奨される変更を提供する。任意で、ユーザにレポートを提供することができ、そのレポートは、変更する必要のある、間違った、見逃した、あるいは不適当なデータの表示を含み、そのようなデータを変更する機会をユーザに提供する。このオプションを使用して、フィードバックする機会を提供し、モデルをさらに洗練させることができる。また、ディープフレームワークおよびチューナフレームワークに含まれるべきではないデータを除去することによって、性能をさらに改善することができる。 As described herein, the tuner framework automatically tunes and creates artificial intelligence models. It uses a deep framework as a library, and based on the execution of that deep framework, the tuner framework provides an updated model, or recommended changes to the model. Optionally, a report may be provided to the user, which contains the display of incorrect, missed, or inappropriate data that needs to be modified and gives the user the opportunity to modify such data. provide. This option can be used to provide an opportunity for feedback and further refine the model. Performance can also be further improved by removing data that should not be included in the deep and tuner frameworks.
本明細書に記載の実装例は、入力オプティマイザおよびハイパーパラメータオプティマイザを有し、これらはチューナフレームワークに実装して最適モデルの判定を提供する。入力オプティマイザは、ユーザによって提供されたRAWデータに応じて最適化を提供し、提供されたRAWデータの最適な組み合わせを判定する。 The implementation examples described herein have an input optimizer and a hyperparameter optimizer, which are implemented in the tuner framework to provide optimal model determination. The input optimizer provides optimization according to the RAW data provided by the user and determines the optimal combination of provided RAW data.
実装例によれば、チューナフレームワークのオプティマイザは入力最適化を提供する。対照的に、従来技術の手法は、入力最適化を提供しない。代わりに、従来技術の手法は、すべてのデータを含め、すべての情報をモデルに集約しようと試みるが、データを分割した後に入力最適化を提供しようとしない。その代わりに、従来技術の手法は、入力済みデータを最大化することを追求する。しかし、実装例においては、チューナフレームワークが素性の最適な組み合わせを判定して選択し、これによって、重要な情報およびパラメータを選択し、ノイズを除去する。例えば、本明細書に記載の遺伝的アルゴリズムを採用して入力を最適化することができる。さらに、本明細書でも説明するように、ランダムモデルおよびベイズモデルのうちの片方または両方がハイパーパラメータ最適化に採用されている。 According to the implementation example, the tuner framework optimizer provides input optimization. In contrast, prior art techniques do not provide input optimization. Instead, prior art techniques attempt to aggregate all information, including all data, into a model, but do not provide input optimization after partitioning the data. Instead, prior art techniques seek to maximize the input data. However, in the implementation example, the tuner framework determines and selects the optimal combination of features, thereby selecting important information and parameters and removing noise. For example, the genetic algorithms described herein can be employed to optimize input. In addition, as also described herein, one or both of the random model and the Bayesian model are employed for hyperparameter optimization.
さらに、実装例は反復手法を提供する。本明細書で説明するように、反復手法は入力最適化に関連して提供され、また、他と関係なく、反復手法はハイパーパラメータ最適化にも関連して提供される。さらに、入力最適化およびハイパーパラメータ最適化は反復ループの中に含まれている。発明者は、入力最適化およびハイパーパラメータ最適化を反復ループに追加することによって、重要で望外な結果を提供することができる、と結論づけている。 In addition, the implementation example provides an iterative approach. As described herein, iterative methods are provided in relation to input optimization, and independently, iterative methods are also provided in relation to hyperparameter optimization. In addition, input optimization and hyperparameter optimization are contained within an iterative loop. The inventor concludes that adding input optimizations and hyperparameter optimizations to the iterative loop can provide important and unexpected results.
チューナフレームワークの実行が完了すると、処理結果の確認が行われる。より詳細には、リアルタイムに、または停止点に基づいて、規定の最上位の数値の結果を提供し、それによって、ランク付けされた結果を再検討することができる。それの代わりに、TensorBoardなどの表示ツールを使用してすべての結果を表示し、例えば、正確な損失または平均の損失を表示することができる。 When the execution of the tuner framework is completed, the processing result is confirmed. More specifically, it is possible to provide the highest numerical result of a given, in real time or based on a stop point, thereby revisiting the ranked result. Instead, a display tool such as TensorBoard can be used to display all the results, for example, the exact loss or the average loss.
最終結果の確認を行うことができ、その結果のログを入力済み素性情報とともにエクスポートすることができる。最終結果を使用して、最良の結果を使用したモデルの訓練を行うことができ、それによって、構成ファイルを修正して訓練を再度作動させることができる。 The final result can be confirmed, and the log of the result can be exported together with the input feature information. The final results can be used to train the model with the best results, which allows the configuration file to be modified and the training to work again.
実施例によれば、図27に示すように、モデルオプティマイザを、複数分類の問題型の「map life magazine」に関連したデータ上で作動させることができる。2701および2703を見ると分かるが、2つの異なる処理モデルを使用し、precisionおよびrecallそれぞれが最適化の前と後で増加している。さらに、素性およびモデルは、最適化の前後において、最適化されているように理解されよう。 According to the examples, as shown in FIG. 27, the model optimizer can be operated on the data related to the problem type "map life magazine" of multiple classifications. As you can see from 2701 and 2703, two different processing models are used, with precision and recall increasing before and after optimization, respectively. In addition, features and models will be understood to be optimized before and after optimization.
図28に示すように、2801において代替のハードウェア構成を使用し、処理速度が実質的に増大している。これは、精度を計算するのに必要な時間数で示すことができる。この新しいバージョンは、図29に示すように、並行分散処理の性能が処理時間の点で実質的に性能向上を備えていることを示すことができる。 As shown in FIG. 28, the 2801 uses an alternative hardware configuration, which substantially increases the processing speed. This can be indicated by the number of hours required to calculate the accuracy. This new version can show that the performance of parallel distributed processing is substantially improved in terms of processing time, as shown in FIG.
確度または可能性に基づいて、出力を提供することができる。製品またはサービスを購入するために検索するなど、オンライン検索に没頭しているユーザの実装例においては、商品がユーザによって購入される確率に基づいて、検索結果をランク付けまたは整列させることができる。前述の実装例は自動的にサービスを提供するため、オペレータは、ユーザに関連した情報を手動で再検討する必要はなくてよい。したがって、本実装例はプライバシー保護された手法を提供し、人工知能技術を使用して、例えば、オンライン検索におけるランク付け出力を提供することができる。 Output can be provided based on accuracy or possibility. In an example implementation of a user who is devoted to online search, such as searching to purchase a product or service, the search results can be ranked or sorted based on the probability that the product will be purchased by the user. Since the above implementation example provides services automatically, the operator does not have to manually review the information related to the user. Thus, this implementation example provides a privacy-protected approach and can use artificial intelligence technology to provide, for example, ranking output in online searches.
例えば、1つの電子商取引モデルによれば、入力済みデータは、ユーザID、人口統計情報、オペレーティングシステム、検索に使用されるデバイスなどを含むユーザ情報である。さらに、入力済みデータは、商品ID、名称、型式、メタデータ、カテゴリ、発行日、供給業者、企業名などの商品情報も含み、前述のデータは、データフレームワーク、ディープネットワーク、およびチューナフレームワークへの入力として使用することができる。モデルの出力は、購入などのユーザおよび商品に関連したイベントの発生の確率である。前述のように、埋め込みを使用してデータをベクトル化し、データ間の類似性を評価する。 For example, according to one e-commerce model, the input data is user information including a user ID, demographic information, an operating system, a device used for searching, and the like. In addition, the entered data includes product information such as product ID, name, model, metadata, category, issue date, supplier, company name, etc., and the above data includes data frameworks, deep networks, and tuner frameworks. Can be used as an input to. The output of the model is the probability of occurrence of user- and product-related events such as purchases. As mentioned earlier, embedding is used to vectorize the data and evaluate the similarity between the data.
さらに、前述の実装例は候補素性も提供する。例えば、これに限定されないが、統計および候補素性に加えて、エクスポート候補および関数の型式を自動形式で提供することができる。モデルについての最良の関数からの最良の結果を提供し、使用するパラメータおよび入力を生成する。実装例は、基本モデル、およびモデルサイズ、メトリック、平均損失などのログからの抽出情報を受け取る。結果として、ユーザは、データフレームワーク、ディープフレームワーク、およびチューナフレームワークによって提供された情報に基づいて、最適なモデルを理解することができる。 In addition, the implementation examples described above also provide candidate features. For example, but not limited to, export candidates and function types can be provided in automatic form, in addition to statistics and candidate features. It provides the best results from the best functions for the model and generates the parameters and inputs to use. The implementation example receives the base model and information extracted from the log such as model size, metric, and average loss. As a result, the user can understand the optimal model based on the information provided by the data framework, the deep framework, and the tuner framework.
モデルを使用して、例えば、ユーザが商品を購入する可能性を予測することができ、その可能性のランク付けに基づいて、検索を要求するユーザ向けに優先付けされた領域において商品リストまたは推奨を提供することができる。それの代わりに、所定の商品について、その商品の販売業者向けに、その商品を購入する可能性があり得るユーザについてランク付けを提供することができる。例えば、任意でカテゴリによって分類された、多種の製品を提示するウェブサイトについて、本実装例は、購入の可能性に基づいた商品の分類されたランク付けされたユーザ向け出力、あるいは、ユーザが商品を購入する可能性に基づいたユーザのランク付けされた販売業者向け出力を提供することができる。したがって、推奨は、検索を実行するユーザに対して自動的に個別化される。モデルはユーザの嗜好やユーザの特徴を自動的に学習し、その学習した情報を適用してユーザが1つまたは複数の商品を購入する可能性を計算する。 The model can be used, for example, to predict the likelihood that a user will purchase a product, and based on the ranking of that likelihood, the product list or recommendations in the area prioritized for the user requesting a search. Can be provided. Instead, for a given product, the seller of the product can be provided with a ranking of users who may purchase the product. For example, for a website that offers a wide variety of products, optionally categorized, this implementation example may be a classified and ranked user output of the product based on the likelihood of purchase, or the user may product. Can provide user-ranked distributor output based on the likelihood of purchasing. Therefore, recommendations are automatically personalized to the user performing the search. The model automatically learns user preferences and user characteristics and applies the learned information to calculate the likelihood that a user will purchase one or more products.
したがって、実装例は、プライバシー保護に関連した利点について、少なくとも1つまたは複数の利益を提供する。例えば、これに限定されないが、データが提供され、そのデータをアクセス、再検討または解析に人の介在を一切必要とせずに、処理および出力されるように、実装例を実行することができる。さらに、実装例は、何人も処理を通じてデータにアクセスすることができないように、制限を提供することもできる。 Therefore, the implementation examples provide at least one or more benefits for the benefits associated with privacy protection. For example, implementation examples can be performed such that the data is provided and processed and output without any human intervention to access, review or analyze the data. In addition, implementations can also provide restrictions so that no one can access the data through processing.
任意で、実装例との組合せにおいて、匿名化、疑似匿名化、ハッシュまたは他のプライバシー保護技術によって、セキュリティをさらにユーザデータに提供することができる。モデルへの外部アクセスが必要である限りにおいては、そのようなアクセスは前述のようにAPIを通じてのみ可能である。そのような状況においては、ユーザ、または当該サービスの場合のみ最終結果にアクセスすることができ、データに関連したプライバシー関連情報にアクセスすることはできない。 Optionally, in combination with implementation examples, anonymization, pseudo-anonymization, hashes or other privacy protection techniques can provide additional security to the user data. As long as external access to the model is required, such access is only possible through the API as described above. In such situations, only the user, or the service concerned, may have access to the final result, not privacy-related information related to the data.
当業者には理解されるように、データは任意のデータであると考えられるが、ある実装例によれば、データはユーザ行動データを有することができる。例えば、これに限定されないが、ユーザ行動データはユーザの人口統計に関する情報を含む可能性があり、この情報はデータフレームワークに入力される他のデータと組み合わされている場合がある。 As will be appreciated by those skilled in the art, the data is considered to be arbitrary data, but according to some implementation examples, the data can have user behavior data. For example, but not limited to, user behavior data may include information about the user's demographics, which may be combined with other data entered into the data framework.
より詳細には、人工知能モデル、特にディープフレームワークに関連して、訓練および推論を実行して予測を生成することができる。前述の実装例は、前述の訓練の結果に応じて、製品に関連したユーザ行動の予測を生成するのに使用される推論を対象にしている。 More specifically, training and inference can be performed to generate predictions in connection with artificial intelligence models, especially deep frameworks. The example implementations described above are intended for inferences used to generate predictions of user behavior associated with the product, depending on the outcome of the training described above.
図30は、いくつかの実装例での使用に適したコンピュータデバイス3005を備えたコンピューティング環境例3000を示す図である。コンピューティング環境3000の中のコンピューティングデバイス3005は、1つまたは複数の処理部、コア、またはプロセッサ3010、メモリ3015(例えば、RAM、ROMなど)、内部ストレージ3020(例えば、磁気、光学式、半導体ストレージ、および/または有機体)、および/またはI/Oインタフェース3025を有することができ、これらのいずれもが通信メカニズムまたはバス3030と結合して情報を伝達する、またはコンピューティングデバイス3005の中に組み込むことができる。 FIG. 30 is a diagram showing an example computing environment 3000 including a computer device 3005 suitable for use in some implementation examples. The computing device 3005 in the computing environment 3000 includes one or more processors, cores, or processors 3010, memory 3015 (eg, RAM, ROM, etc.), internal storage 3020 (eg, magnetic, optical, semiconductor, etc.). Storage and / or organisms), and / or I / O interfaces 3025, all of which combine with a communication mechanism or bus 3030 to convey information, or into a computing device 3005. Can be incorporated.
コンピューティングデバイス3005は入力/インタフェース3035および出力デバイス/インタフェース3040と通信可能に結合することができる。入力/インタフェース3035および出力デバイス/インタフェース3040のいずれか片方または両方が有線インタフェースまたは無線インタフェースであることができ、取り外し可能であることができる。入力/インタフェース3035は、任意のデバイス、構成部品、センサ、あるいは物理または仮想のインタフェースを含んでもよく、これらは入力を提供するのに使用することができる(例えば、ボタン、タッチスクリーンインタフェース、キーボード、ポインタ/カーソル制御、マイク、カメラ、点字、人感センサ、光学読取機など)。 The computing device 3005 can be communicably coupled with the input / interface 3035 and the output device / interface 3040. Either one or both of the input / interface 3035 and the output device / interface 3040 can be wired or wireless interfaces and can be removable. The input / interface 3035 may include any device, component, sensor, or physical or virtual interface, which can be used to provide input (eg, buttons, touch screen interface, keyboard, etc.). Pointer / cursor control, microphone, camera, Braille, human sensor, optical reader, etc.).
出力デバイス/インタフェース3040は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでもよい。いくつかの実装例では、入力/インタフェース3035(例えば、ユーザインタフェース)および出力デバイス/インタフェース3040は、コンピューティングデバイス3005に組み込む、または物理的に結合することができる。他の実施例では、他のコンピューティングデバイスが、コンピューティングデバイス3005用の入力/インタフェース3035および出力デバイス/インタフェース3040として機能する、またはそれらの機能を提供することできる。 The output device / interface 3040 may include a display, a television, a monitor, a printer, a speaker, Braille, and the like. In some implementations, the input / interface 3035 (eg, user interface) and output device / interface 3040 can be integrated into or physically coupled to the computing device 3005. In other embodiments, other computing devices can function as or provide functionality as input / interface 3035 and output device / interface 3040 for computing device 3005.
コンピューティングデバイス3005の実施例は、これに限定されないが、高度なモバイルデバイス(例えば、スマートフォン、車または他のマシンに搭載のデバイス、人または動物が携帯するデバイスなど)、モバイルデバイス(例えば、タブレット、ノートパソコン、ラップトップパソコン、パーソナルコンピュータ、携帯型テレビ、ラジオなど)、および移動性を考慮して設計されていないデバイス(例えば、デスクトップパソコン、サーバデバイス、他のコンピュータ、情報kiosk、1つまたは複数のプロセッサを内蔵または結合したテレビ、ラジオなど)を含んでもよい。 Examples of the computing device 3005 are, but are not limited to, advanced mobile devices (eg, devices mounted on smartphones, cars or other machines, devices carried by humans or animals), mobile devices (eg, tablets). , Laptops, laptops, personal computers, portable TVs, radios, etc.), and devices not designed for mobility (eg desktop computers, server devices, other computers, information kiosks, one or more It may include a television, radio, etc. with or combined with multiple processors.
コンピューティングデバイス3005は、同一または異なる構成の1つまたは複数のコンピューティングデバイスを含み、任意の数のネットワーク化された構成部品、デバイス、およびシステムと通信するために、外部ストレージ3045およびネットワーク3050と(例えば、I/Oインタフェース3025を介して)通信可能に結合することができる。コンピューティングデバイス3005または任意の接続されたコンピューティングデバイスは、サーバ、クライアント、シンサーバ、一般的なマシン、特定用途マシン、または別の標識のものとして機能するか、それらのサービスを提供するか、またはそれらと称されることができる。例えば、これに限定されないが、ネットワーク3050はブロックチェーンネットワークおよび/またはクラウドを含むことができる。 The computing device 3005 includes one or more computing devices of the same or different configurations and with external storage 3045 and network 3050 to communicate with any number of networked components, devices, and systems. It can be communicably coupled (eg, via the I / O interface 3025). Compute Device 3005 or any connected compute device acts as a server, client, thin server, general machine, purpose-built machine, or another indicator, or provides services for them. Or they can be called them. For example, but not limited to, network 3050 can include blockchain networks and / or clouds.
I/Oインタフェース3025は、これに限定されないが、任意の通信、I/Oプロトコル、または通信標準(例えば、Ethernet、802.11xs、ユニバーサルシステムバス(USB)、WiMAX、モデム、携帯電話ネットワークプロトコルなど)を使用する有線および/または無線インタフェースを有し、コンピューティング環境3000の中の、少なくともすべての接続された構成部品、デバイス、およびネットワークと情報を伝達することができる。ネットワーク3050は、任意のネットワークまたはネットワークの組合せ(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、携帯電話ネットワーク、衛星ネットワークなど)であることができる。 The I / O interface 3025 is limited to, but is not limited to, any communication, I / O protocol, or communication standard (eg, Ethernet, 802.1xs, universal system bus (USB), WiMAX, modem, mobile phone network protocol, etc. ) Has a wired and / or wireless interface capable of communicating information with at least all connected components, devices, and networks in a computing environment 3000. The network 3050 can be any network or any combination of networks (eg, internet, local area network, wide area network, telephone network, mobile phone network, satellite network, etc.).
コンピューティングデバイス3005は、一時的媒体および非一時的媒体を含み、コンピュータ利用可能媒体およびコンピュータ可読媒体を使用する、および/または、それらを使用して通信することができる。一時的媒体は、伝送媒体(例えば、メタルケーブル、光ファイバ)、信号、搬送波などを含む。非一時的媒体は、磁気媒体(例えば、ディスクおよびテープ)、光学媒体(例えば、CD ROM、デジタルビデオディスク、ブルーレイディスク)、半導体媒体(例えば、RAM、ROM、フラッシュメモリ、半導体ストレージ)、および他の非一時的ストレージまたはメモリを含む。 The computing device 3005 includes temporary and non-temporary media, and can use and / or communicate with computer-enabled and computer-readable media. Temporary media include transmission media (eg, metal cables, optical fibers), signals, carrier waves, and the like. Non-temporary media include magnetic media (eg, disks and tapes), optical media (eg, CD ROMs, digital video discs, Blu-ray discs), semiconductor media (eg, RAM, ROM, flash memory, semiconductor storage), and others. Includes non-temporary storage or memory.
コンピューティングデバイス3005を使用して、いくつかのコンピューティング環境例において、技術、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を実装することができる。コンピュータ実行可能命令を一時的媒体から受け取り、非一時的媒体に格納し、その非一時的媒体から検索することができる。実行可能命令は、任意のプログラミング言語、スクリプト言語、およびマシン語(例えば、C、C++、C#、Java、Visual Basic、Python、Perl、JavaScriptなど)のうちの1つまたは複数から作り出すことができる。 The computing device 3005 can be used to implement a technology, method, application, process, or computer executable instruction in some example computing environment. Computer-executable instructions can be received from temporary media, stored in non-temporary media, and retrieved from that non-temporary medium. Executable instructions can be created from one or more of any programming language, scripting language, and machine language (eg, C, C ++, C #, Java, Visual Basic, Python, Perl, Javascript, etc.). ..
プロセッサ(複数可)3010は、ネイティブまたは仮想環境において、任意のオペレーティングシステム(OS)(図示せず)の下で実行することができる。1つまたは複数のアプリケーションを配置することができ、ロジック部3055、アプリケーションプログラミングインタフェース(API)部3060、入力部3065、出力部3070、データ処理部3075、ディープラーニングモデリング部3080、自動チューニング部3085、および様々な部分が、OSを使用し、他のアプリケーション(図示せず)を使用して、相互に通信するための部分間通信メカニズム3095を含む。 The processor (s) 3010 can run under any operating system (OS) (not shown) in a native or virtual environment. One or more applications can be placed, logic unit 3055, application programming interface (API) unit 3060, input unit 3065, output unit 3070, data processing unit 3075, deep learning modeling unit 3080, automatic tuning unit 3085, And various parts include a partial communication mechanism 3095 for communicating with each other using the OS and using other applications (not shown).
例えば、データ処理部3075、ディープラーニングモデリング部3080、および自動チューニング部3085は、前述の構造に関連して前に示した1つまたは複数のプロセスを実装することができる。記載した部分および部品は、デザイン、機能、構成、または実装において一様である必要はなく、記載のものに限定されない。 For example, the data processing unit 3075, the deep learning modeling unit 3080, and the automatic tuning unit 3085 can implement one or more of the processes previously shown in connection with the above structure. The described parts and parts need not be uniform in design, function, configuration, or mounting, and are not limited to those described.
いくつかの実装例においては、情報または実行命令をAPI部3060から受け取ると、1つまたは複数の他の部分(例えば、ロジック部3055、入力部3065、データ処理部3075、ディープラーニングモデリング部3080、および自動チューニング部3085)と通信することができる。 In some implementations, when information or execution instructions are received from API unit 3060, one or more other parts (eg, logic unit 3055, input unit 3065, data processing unit 3075, deep learning modeling unit 3080, And can communicate with the automatic tuning unit 3085).
例えば、データ処理部3075は、入力情報を受け取って処理し、データの解析、変換、および検証を実行し、データを分割することができる。データ処理部3075の出力は構成ファイル、およびテスト用、評価用、訓練用などに分割されたデータを提供することができる。そのデータはディープラーニングモデリング部3080に提供され、ディープラーニングモデリング部3080は訓練を実行して、モデルを構築し、そのモデルおよびスケール訓練の性能、続いて最終的な実際のモデルのサービングを検証する。さらに、自動チューニング部3085は、データ処理部3075およびディープラーニングモデリング部3080から取得した情報に基づき、入力およびハイパーパラメータの自動最適化を提供することができる。 For example, the data processing unit 3075 can receive and process input information, perform data analysis, conversion, and verification, and divide the data. The output of the data processing unit 3075 can provide a configuration file and data divided into test, evaluation, training, and the like. The data is provided to the deep learning modeling unit 3080, which performs training to build a model, verifying the performance of the model and scale training, followed by the final serving of the actual model. .. Further, the automatic tuning unit 3085 can provide automatic optimization of inputs and hyperparameters based on the information acquired from the data processing unit 3075 and the deep learning modeling unit 3080.
場合によっては、ロジック部3055は、前述のいくつかの実装例において、部分間の情報フローを制御し、API部3060、入力部3065、データ処理部3075、ディープラーニングモデリング部3080、および自動チューニング部3085によって提供されるサービスを管理するように構成することができる。例えば、1つまたは複数のプロセスまたは実装のフローは、ロジック部3055単独またはAPI部3060と連携して制御することができる。 In some cases, the logic unit 3055 controls the information flow between the parts in some of the implementation examples described above, the API unit 3060, the input unit 3065, the data processing unit 3075, the deep learning modeling unit 3080, and the automatic tuning unit. It can be configured to manage the services provided by 3085. For example, the flow of one or more processes or implementations can be controlled by the logic unit 3055 alone or in cooperation with the API unit 3060.
図31は、いくつかの実装例に適した環境例を示す図である。環境3100は、デバイス3105〜3145を含み、それぞれは、例えば、ネットワーク3160(例えば、有線および/または無線接続)を介して少なくとも1つの他のデバイスと通信可能に接続される。いくつかのデバイスは、1つまたは複数のストレージデバイス3130および3145と通信可能に接続することができる。 FIG. 31 is a diagram showing an environment example suitable for some implementation examples. Environment 3100 includes devices 3105 to 3145, each of which is communicably connected to at least one other device via, for example, a network 3160 (eg, wired and / or wireless connection). Some devices may be communicably connected to one or more storage devices 3130 and 3145.
1つまたは複数のデバイス3105〜3145の例は、それぞれ図30に記載のコンピューティングデバイス3005であってもよい。デバイス3105〜3145は、これに限定されないが、モニタと関連ウェブカメラを有するコンピュータ3105(例えば、ラップトップコンピューティングデバイス)、モバイルデバイス3110(例えば、スマートフォンまたはタブレット)、テレビ3115、車両に関連したデバイス3120、サーバコンピュータ3125、コンピューティングデバイス3135〜3140、ストレージデバイス3130および3145を含んでもよい。 An example of one or more devices 3105 to 3145 may be the computing device 3005 shown in FIG. 30, respectively. Devices 3105-3145 are, but are not limited to, a computer 3105 (eg, a laptop computing device), a mobile device 3110 (eg, a smartphone or tablet), a television 3115, a vehicle-related device having a monitor and associated webcam. 3120, server computer 3125, computing device 3135-3140, storage devices 3130 and 3145 may be included.
いくつかの実装においては、デバイス3105〜3120は、ブロードキャストを遠隔で受け取ることができるユーザに関連したユーザデバイスであると考えることができ、そのユーザに設定およびインタフェースを提供することができる。デバイス3125〜3145は、サービス提供者に関連したデバイス(例えば、ドキュメントテンプレート、第三者アプリケーションなどと関連した情報を格納し処理するのに使用される)であってもよい。 In some implementations, devices 3105-3120 can be thought of as user devices associated with a user who can receive broadcasts remotely and can provide the user with settings and interfaces. Devices 3125-3145 may be devices associated with the service provider (eg, used to store and process information associated with document templates, third party applications, etc.).
前述の実装例は、多様な利益および利点を様々な主体に提供することができる。 The above implementation examples can provide various benefits and benefits to various entities.
実装例においては、エンドユーザは情報をサービスに提供することができる。一方、サービスは、推奨をユーザに提供することができる。従来技術においては、コンピュータプログラマ、データアナリストなどの手動の介在があることから、ユーザのプライバシー情報は、モデル最適化を実行するため、それらの主体の目にさらされる可能性がある。しかし、本明細書で説明するように、実装例は、そのような仲介者または主体の介在を必要としない自動化手法を提供する。したがって、ユーザの個人的、プライバシー情報は、他のユーザ、開発者などから制限することができる。したがって、プライバシー保護の利益が実装例にある。 In the implementation example, the end user can provide the information to the service. The service, on the other hand, can provide recommendations to the user. In the prior art, due to the manual intervention of computer programmers, data analysts, etc., the user's privacy information may be exposed to those subjects in order to perform model optimization. However, as described herein, implementation examples provide an automated approach that does not require the intervention of such an intermediary or subject. Therefore, the personal and privacy information of the user can be restricted from other users, developers and the like. Therefore, the benefit of privacy protection is in the implementation example.
本実装例を採用する販売業者は、人工知能手法の利益を実現するために、顧客の機微なまたは個人の情報をプラットフォームに提供することを要しない可能性がある。その代わりに、本明細書に記載する自動化手法を使用して、サービスプロバイダなどの販売業者は、最適化されたモデル情報を取得すると同時に、ユーザのプライバシーを保護することを可能にすることができる。さらに、より少ないデータを必要とするとの判定が入力最適化で提供されると、エンドユーザのプライバシーはさらに保護される。 Distributors who adopt this implementation example may not need to provide the platform with sensitive or personal information of the customer in order to realize the benefits of the artificial intelligence technique. Instead, the automation techniques described herein can be used to enable distributors, such as service providers, to obtain optimized model information while at the same time protecting user privacy. .. In addition, end-user privacy is further protected when input optimization provides the determination that less data is needed.
同様に、プラットフォームまたは開発者も多様な利益および利点を実現することができる。例えば、これに限定されないが、モデルは追加の手動のコーディングまたは情報の入力を必要とせずに最適化することができる。プラットフォームまたは開発者に課せられた要求事項は、実装するオプションを選択することに限定することができる。開発者が、ユーザの許可を得て、手動によるモデルの再検討や修正を必要とし、パラメータを理解して入力済みデータを変更したい場合は、前述のwhat ifツールにより、ユーザがそのような手法を講じることを可能にする。例えば、ユーザの許可を得て、開発者は入力済みデータを変更し、より容易に結果を取得することを可能にすることができるが、その入力済みデータは、推論および最適化に基づき、モデルに関連したチューナフレームワーク出力に基づいて変更される。 Similarly, the platform or developer can realize a variety of benefits and benefits. For example, but not limited to, the model can be optimized without the need for additional manual coding or input of information. The requirements imposed on the platform or developer can be limited to choosing the options to implement. If the developer needs to manually review or modify the model with the user's permission and wants to understand the parameters and change the entered data, the above-mentioned what if tool allows the user to do so. Allows you to take. For example, with the permission of the user, the developer can modify the input data and make it easier to get the result, but the input data is a model based on inference and optimization. Modified based on the tuner framework output associated with.
加えて、モバイルデバイスの製造元、サーバの製造元、またはデータストレージおよび処理に関連した主体などのユーザ機器製造業者も、多様な利益および利点を実現することができる。前述のように、エンドユーザデータはプライバシーを保護する方法で扱われ、チューナフレームワークは最適化を提供し、この最適化は、デバイスによって提供される必要のある情報を削減するように、データ入力またはパラメータなどのデータを制限することができる。例えば、ある場合には、GPSに基づいたユーザ位置が非最適な入力またはパラメータであると判定されると、更新されたモデルは、そのようなエンドユーザデバイスからの情報を要求または収集しない場合がある。結果的に、取得され、感知され、収集され、エンドユーザデバイスの中に潜在的に格納されている情報は、モデルによる使用から保護することができる。さらに、データフレームワーク、ディープフレームワーク、およびチューナフレームワークの自動化により、プラットフォームにおける主体、開発者、アナリスト、販売業者または相当する者が、ユーザの潜在的に機微で個人的な情報にアクセスする必要はない。したがって、これら主体に関連したデバイスは、ユーザによってアクセスされることを必要とせず、プライバシー保護をさらに獲得することができる。 In addition, mobile device manufacturers, server manufacturers, or user equipment manufacturers such as data storage and processing entities can also realize a variety of benefits and benefits. As mentioned earlier, end-user data is treated in a privacy-friendly way, the tuner framework provides optimizations, and this optimization reduces the amount of information that needs to be provided by the device. Alternatively, data such as parameters can be restricted. For example, in some cases, if a GPS-based user location is determined to be a non-optimal input or parameter, the updated model may not request or collect information from such end-user devices. is there. As a result, the information that is acquired, sensed, collected, and potentially stored within the end-user device can be protected from use by the model. In addition, automation of data frameworks, deep frameworks, and tuner frameworks allows actors, developers, analysts, distributors, or equivalents on the platform to access potentially sensitive and personal information about users. No need. Therefore, devices associated with these entities do not need to be accessed by the user and can further gain privacy protection.
1つの実装例においては、オンライン小売業者、製造業者、流通業者などのオンライン小売に関連した主体は、製品および/またはサービスを販売促進する方法を決定するために、実装例を使用することができる。そのような状況においては、実装例は、ツール、技術、システム、および本明細書に記載の手法を使用して、ユーザを動かして製品を購入させる可能性が最も高い広告についての推奨をオンライン小売業者に提供することができる。逆に、ユーザがオンラインウェブサイトにアクセスし、閲覧し、検索し、またはオンラインショッピングを行う場合に、実装例は、ユーザは必要とする可能性が最も高いものに基づいて、ユーザに推奨を提供することができる。さらに、実装例は、金融上の予測に関連するものなどのサービス、様々なサービスや製品の販売の促進、また、買うべきものの推奨、それを買ったかどうか、と関連付けることもできる。 In one implementation, online retail-related entities such as online retailers, manufacturers, distributors, etc. can use the implementation to determine how to promote products and / or services. .. In such situations, implementation examples use tools, technologies, systems, and techniques described herein to retail online recommendations for advertisements that are most likely to drive users to purchase products. Can be provided to vendors. Conversely, when a user visits, browses, searches, or shop online on an online website, the implementation examples provide the user with recommendations based on what the user is most likely to need. can do. In addition, implementation examples can be associated with services such as those related to financial forecasting, promotion of sales of various services and products, recommendations for what to buy, and whether or not they bought it.
前述の実装例は、様々な利益および利点を有することができる。本明細書に示すように、正確性、および相対的作動特性は、実装例を使用することによって、従来技術の手法以上に、実質的に改善することができる。 The above implementation examples can have various benefits and advantages. As shown herein, accuracy and relative operating characteristics can be substantially improved over conventional techniques by using implementation examples.
図32に示すように、グラフィック表示3200が提供され、金融モデルのバイナリ分類に関連して、従来技術の手法と実装例との相違を示す。より詳細には、3201において従来技術の手法が破線で示され、3203において実装例による手法が示されている。この実装例によれば、正確に同一データについて、従来技術との比較において実装例を使用して、精度について7.62%増加し、相対的作動特性が2.78%増加していることが理解されよう。 As shown in FIG. 32, a graphic representation 3200 is provided to show the differences between prior art methods and implementation examples in relation to the binary classification of financial models. More specifically, in 3201, the method of the prior art is shown by a broken line, and in 3203, the method according to the implementation example is shown. According to this implementation example, for exactly the same data, using the implementation example in comparison with the prior art, the accuracy is increased by 7.62% and the relative operating characteristics are increased by 2.78%. Will be understood.
さらに、不必要な入力済みデータ/パラメータを削減するために実装例を使用して、計算コストを劇的に低減することができる。処理速度を実質的に高める、最適化によってモデル上でデータを処理する時間を低減することができる、という点で、実装例の手法はさらに利益を提供することができる。したがって、精度を犠牲にすることなく、従来技術の手法と比較して、モデルがより少ない処理を必要とし、ハードウェアシステムについて利益がある。 In addition, implementation examples can be used to reduce unnecessary input data / parameters, dramatically reducing computational costs. The implementation example approach can provide additional benefits in that it can substantially increase processing speed and reduce the time it takes to process data on the model through optimization. Therefore, the model requires less processing and is beneficial for hardware systems as compared to prior art methods, without sacrificing accuracy.
本実装例の別の利点または利益は、フレームワークにより規模の調整が容易であることがある。例えば、これに限定されないが、チューナフレームワークは、前述のように、データ、入力、パラメータなどの量を低減することができる最適化を提供する。この最適化の結果、従来技術の手法に比較して、計算、格納、通信、または他の必要なリソースの量について増加することなく、規模の追加を行うことができる。 Another advantage or benefit of this implementation is that the framework makes it easy to scale. For example, but not limited to, the tuner framework provides optimizations that can reduce the amount of data, inputs, parameters, etc., as described above. The result of this optimization is the ability to add scale without increasing the amount of computation, storage, communication, or other required resources compared to prior art techniques.
さらに、実装例によれば、前述のように、チューナフームワークは人工知能モデルの最適化を提供する。例えば、これに限定されないが、モデルは、個別の作業タイプついて最適化し、行動タイプ(例えば、商用)に応じてテンプレートとして提供することができる。例えば、これに限定されないが、食料雑貨購入のオンラインと、自動車購入のオンライン、新規住宅ローン周旋のオンラインとの相違はかなり大きく、したがって、事前の最適化に基づいて、様々なモデルをテンプレートとして提供することができる。対照的に、従来技術の手法は、そのようなモデルのテンプレートを提供しない。これは、モデルは作成するが、チューナフレームワークによって提供されるような、実装例の最適化は含まないからである。 Further, according to the implementation example, as mentioned above, the tuner software provides optimization of the artificial intelligence model. For example, but not limited to, the model can be optimized for individual work types and provided as templates according to behavior type (eg, commercial). For example, but not limited to this, the difference between online grocery purchases, online car purchases, and online new mortgage loans is quite large, so various models are provided as templates based on prior optimization. can do. In contrast, prior art techniques do not provide templates for such models. This is because it creates a model but does not include implementation example optimizations as provided by the tuner framework.
さらに別の利益および利点として、開発者は使い易さを体験することができる。例えば、これに限定されないが、これらの実装例に記載されたフレームワークのユーザは、自分の作業によって何らコードを作成する必要がなく、多くても、開発者はフィードバックを再検討し、オプションなどを選択する必要があるだけである。自動チューニングを提供するこの手法の結果として、プライバシーは、前述のように、保護される。 Yet another benefit and advantage is that developers can experience ease of use. For example, but not limited to, users of the frameworks described in these implementations do not have to write any code for their own work, and at most developers will revisit their feedback, options, etc. You just have to select. As a result of this approach of providing automatic tuning, privacy is protected, as described above.
新しい実装例を示し説明してきたが、これらの実装例を提供して本明細書に記載の主題を当領域に精通する人たちに伝達するものである。本明細書に記載の主題はここに記載の実装例に限定することなく様々な形式で実装することができることは理解されよう。本明細書に記載の主題は、具体的に定義または記載した事項を使用せずに、または記載されていない別の部品または事項を使用して実践することができる。付属の請求事項およびその相当物で定義するように、本明細書に記載の主題から逸脱しない限り、これらの実装例の中で変更を行うことができることが、当領域に精通する人たちに理解されよう。 Although new implementation examples have been shown and described, these implementation examples are provided to convey the subject matter described herein to those familiar with the art. It will be appreciated that the subject matter described herein can be implemented in various forms without limitation to the implementation examples described herein. The subject matter described herein can be practiced without the use of specific definitions or items, or with other parts or items not described. Those familiar with the art will understand that changes can be made in these implementations without departing from the subject matter described herein, as defined in the accompanying claims and their equivalents. Will be done.
[実施形態の一例]
以下、上述した各種処理を実現する生成装置、生成方法および生成プログラムの一例について説明する。
[Example of Embodiment]
Hereinafter, an example of a generation device, a generation method, and a generation program that realizes the above-mentioned various processes will be described.
以下の実施形態に係る情報提供装置は、以下の生成処理を実行する。まず、情報提供装置は、モデルの学習に用いる学習データを取得する。そして、情報提供装置は、学習データが有する特徴に基いて、モデルの生成指標を生成する。例えば、情報提供装置は、学習データが有する統計的な特徴に基づいて、モデルを生成する際の指標、すなわち、生成するモデルのレシピとなる生成指標を生成する。 The information providing device according to the following embodiment executes the following generation processing. First, the information providing device acquires learning data used for learning the model. Then, the information providing device generates a model generation index based on the characteristics of the learning data. For example, the information providing device generates an index for generating a model, that is, a generation index that serves as a recipe for the model to be generated, based on the statistical characteristics of the training data.
以下に、本願に係る生成装置、生成方法、および生成プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、および生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Hereinafter, a generator, a generation method, and a mode for carrying out the generation program according to the present application (hereinafter, referred to as “the embodiment”) will be described in detail with reference to the drawings. It should be noted that this embodiment does not limit the generator, the generation method, and the generation program according to the present application. Further, in each of the following embodiments, the same parts are designated by the same reference numerals, and duplicate description is omitted.
〔1.情報提供システムの構成〕
まず、図33を用いて、生成装置の一例である情報提供装置10を有する情報提供システムの構成について説明する。図33は、実施形態に係る情報提供システムの一例を示す図である。図33に示すように、情報提供システム1は、情報提供装置10、モデル生成サーバ2、および端末装置3を有する。なお、配信システム1は、複数のモデル生成サーバ2や複数の端末装置3を有していてもよい。また、情報提供装置10と、モデル生成サーバ2とは、同一のサーバ装置やクラウドシステム等により実現されてもよい。ここで、情報提供装置10、モデル生成サーバ2、および端末装置3は、ネットワークN(例えば、図36参照)を介して有線または無線により通信可能に接続される。
[1. Information provision system configuration]
First, the configuration of the information providing system including the information providing device 10 which is an example of the generating device will be described with reference to FIG. 33. FIG. 33 is a diagram showing an example of the information providing system according to the embodiment. As shown in FIG. 33, the information providing system 1 includes an information providing device 10, a model generation server 2, and a terminal device 3. The distribution system 1 may have a plurality of model generation servers 2 and a plurality of terminal devices 3. Further, the information providing device 10 and the model generation server 2 may be realized by the same server device, cloud system, or the like. Here, the information providing device 10, the model generation server 2, and the terminal device 3 are communicably connected via a network N (see, for example, FIG. 36) by wire or wirelessly.
情報提供装置10は、モデルの生成における指標(すなわち、モデルのレシピ)である生成指標を生成する指標生成処理と、生成指標に従ってモデルを生成するモデル生成処理とを実行し、生成した生成指標およびモデルを提供する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。 The information providing device 10 executes an index generation process for generating a generation index which is an index (that is, a model recipe) in model generation, and a model generation process for generating a model according to the generation index, and the generated generation index and the generated index It is an information processing device that provides a model, and is realized by, for example, a server device or a cloud system.
モデル生成サーバ2は、学習データが有する特徴を学習させたモデルを生成する生成装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、モデル生成サーバ2は、モデルの生成指標として、生成するモデルの種別や行動、どのように学習データの特徴を学習させるかといったコンフィグファイルを受付けると、受付けたコンフィグファイルに従って、モデルの自動生成を行う。なお、モデル生成サーバ2は、任意のモデル学習手法を用いて、モデルの学習を行ってもよい。また、例えば、モデル生成サーバ2は、AutoMLといった各種既存のサービスであってもよい。 The model generation server 2 is a generation device that generates a model in which the features of the training data are learned, and is realized by, for example, a server device or a cloud system. For example, when the model generation server 2 receives a config file such as the type and behavior of the model to be generated and how to train the characteristics of the training data as a model generation index, the model is automatically generated according to the received config file. I do. The model generation server 2 may learn the model by using an arbitrary model learning method. Further, for example, the model generation server 2 may be various existing services such as AutoML.
端末装置3は、利用者Uによって利用される端末装置であり、例えば、PC(Personal Computer)やサーバ装置等により実現される。例えば、端末装置3は、情報提供装置10とのやり取りを介して、モデルの生成指標を生成させ、生成させた生成指標に従ってモデル生成サーバ2が生成したモデルを取得する。 The terminal device 3 is a terminal device used by the user U, and is realized by, for example, a PC (Personal Computer), a server device, or the like. For example, the terminal device 3 generates a model generation index through communication with the information providing device 10, and acquires a model generated by the model generation server 2 according to the generated generation index.
〔2.情報提供装置10が実行する処理の概要〕
まず、情報提供装置10が実行する処理の概要について説明する。まず、情報提供装置10は、端末装置3からモデルに特徴を学習させる学習データの指摘を受付ける(ステップS1)。例えば、情報提供装置10は、学習に用いる各種の学習データを所定の記憶装置に記憶させており、利用者Uが学習データに指定する学習データの指摘を受付ける。なお、情報提供装置10は、例えば、端末装置3や各種外部のサーバから、学習に用いる学習データを取得してもよい。
[2. Outline of processing executed by the information providing device 10]
First, an outline of the processing executed by the information providing device 10 will be described. First, the information providing device 10 receives the indication of the learning data that causes the model to learn the features from the terminal device 3 (step S1). For example, the information providing device 10 stores various learning data used for learning in a predetermined storage device, and receives an indication of the learning data designated by the user U as the learning data. The information providing device 10 may acquire learning data used for learning from, for example, the terminal device 3 or various external servers.
ここで、学習データとは、任意のデータが採用可能である。例えば、情報提供装置10は、各利用者の位置の履歴や各利用者が閲覧したウェブコンテンツの履歴、各利用者による購買履歴や検索クエリの履歴等、利用者に関する各種の情報を学習データとしてもよい。また、情報提供装置10は、利用者のデモグラフィック属性やサイコグラフィック属性等を学習データとしてもよい。また、情報提供装置10は、配信対象となる各種ウェブコンテンツの種別や内容、作成者等のメタデータ等を学習データとしてもよい。 Here, any data can be adopted as the learning data. For example, the information providing device 10 uses various information related to the user as learning data, such as a history of the position of each user, a history of web contents browsed by each user, a history of purchases by each user, and a history of search queries. May be good. Further, the information providing device 10 may use the user's demographic attributes, psychographic attributes, and the like as learning data. Further, the information providing device 10 may use the types and contents of various web contents to be distributed, the metadata of the creator, and the like as learning data.
このような場合、情報提供装置10は、学習に用いる学習データの統計的な情報に基づいて、生成指標の候補を生成する(ステップS2)。例えば、情報提供装置10は、学習データに含まれる値の特徴等に基づいて、どのようなモデルに対し、どのような学習手法により学習を行えばよいかを示す生成指標の候補を生成する。換言すると、情報提供装置10は、学習データの特徴を精度よく学習可能なモデルやモデルに精度よく特徴を学習させるための学習手法を生成指標として生成する。すなわち、情報提供装置10は、学習手法の最適化を行う。なお、どのような学習データが選択された場合に、どのような内容の生成指標を生成するかについては、後述する。 In such a case, the information providing device 10 generates a candidate for the generation index based on the statistical information of the learning data used for learning (step S2). For example, the information providing device 10 generates candidates for a generation index indicating what kind of model and what kind of learning method should be used for learning based on the characteristics of values included in the learning data. In other words, the information providing device 10 generates a model capable of accurately learning the features of the training data and a learning method for causing the model to learn the features accurately as a generation index. That is, the information providing device 10 optimizes the learning method. It should be noted that what kind of learning data is selected and what kind of content generation index is generated will be described later.
続いて、情報提供装置10は、生成指標の候補を端末装置3に対して提供する(ステップS3)。このような場合、利用者Uは、生成指標の候補を嗜好や経験則等に応じて修正する(ステップS4)。そして、情報提供装置10各生成指標の候補と学習データとをモデル生成サーバ2に提供する(ステップS5)。 Subsequently, the information providing device 10 provides a candidate for the generation index to the terminal device 3 (step S3). In such a case, the user U modifies the candidate of the generation index according to the preference, the rule of thumb, and the like (step S4). Then, the candidate of each generation index of the information providing device 10 and the learning data are provided to the model generation server 2 (step S5).
一方、モデル生成サーバ2は、生成指標ごとに、モデルの生成を行う(ステップS6)。例えば、モデル生成サーバ2は、生成指標が示す構造を有するモデルに対し、生成指標が示す学習手法により学習データが有する特徴を学習させる。そして、モデル生成サーバ2は、生成したモデルを情報提供装置10に提供する(ステップS7)。 On the other hand, the model generation server 2 generates a model for each generation index (step S6). For example, the model generation server 2 causes the model having the structure indicated by the generation index to learn the features of the learning data by the learning method indicated by the generation index. Then, the model generation server 2 provides the generated model to the information providing device 10 (step S7).
ここで、モデル生成サーバ2によって生成された各モデルは、それぞれ生成指標の違いに由来する精度の違いが生じると考えられる。そこで、情報提供装置10は、各モデルの精度に基づいて、遺伝的アルゴリズムにより新たな生成指標を生成し(ステップS8)、新たに生成した生成指標を用いたモデルの生成を繰り返し実行する(ステップS9)。 Here, it is considered that each model generated by the model generation server 2 has a difference in accuracy due to a difference in the generation index. Therefore, the information providing device 10 generates a new generation index by a genetic algorithm based on the accuracy of each model (step S8), and repeatedly executes the generation of the model using the newly generated generation index (step S8). S9).
例えば、情報提供装置10は、学習データを評価用データと学習用データとに分割し、学習用データが有する特徴を学習させたモデルであって、それぞれ異なる生成指標に従って生成された複数のモデルを取得する。例えば、情報提供装置10は、10個の生成指標を生成し、生成した10個の生成指標と、学習用データとを用いて、10個のモデルを生成する。このような場合、情報提供装置10は、評価用データを用いて、10個のモデルそれぞれの精度を測定する。 For example, the information providing device 10 is a model in which the learning data is divided into evaluation data and learning data, and the features of the learning data are trained, and a plurality of models generated according to different generation indexes are generated. get. For example, the information providing device 10 generates 10 generation indexes, and generates 10 models by using the generated 10 generation indexes and learning data. In such a case, the information providing device 10 measures the accuracy of each of the 10 models using the evaluation data.
続いて、情報提供装置10は、10個のモデルのうち、精度が高い方から順に所定の数のモデル(例えば、5個)のモデルを選択する。そして、情報提供装置10は、選択した5個のモデルを生成した際に採用された生成指標から、新たな生成指標を生成する。例えば、情報提供装置10は、各生成指標を遺伝的アルゴリズムの個体と見做し、各生成指標が示すモデルの種別、モデルの構造、各種の学習手法(すなわち、生成指標が示す各種の指標)を遺伝的アルゴリズムにおける遺伝子と見做す。そして、情報提供装置10は、遺伝子の交叉を行う個体の選択および遺伝子の交叉を行うことで、次世代の生成指標を10個新たに生成する。なお、情報提供装置10は、遺伝子の交叉を行う際に、突然変異を考慮してもよい。また、情報提供装置10は、二点交叉、多点交叉、一様交叉、交叉対象となる遺伝子のランダムな選択を行ってもよい。また、情報提供装置10は、例えば、モデルの精度が高い個体の遺伝子程、次世代の個体に引き継がれるように、交叉を行う際の交叉率を調整してもよい。 Subsequently, the information providing device 10 selects a predetermined number of models (for example, 5) in order from the one with the highest accuracy among the 10 models. Then, the information providing device 10 generates a new generation index from the generation index adopted when the five selected models are generated. For example, the information providing device 10 regards each generation index as an individual of a genetic algorithm, and the model type, model structure, and various learning methods (that is, various indexes indicated by the generation indexes) indicated by each generation index. Is regarded as a gene in the genetic algorithm. Then, the information providing device 10 newly generates 10 next-generation generation indexes by selecting an individual to cross genes and crossing genes. The information providing device 10 may consider mutation when crossing genes. Further, the information providing device 10 may perform two-point crossing, multi-point crossing, uniform crossing, and random selection of genes to be crossed. Further, the information providing device 10 may adjust the crossover rate at the time of crossing so that, for example, the gene of an individual with higher model accuracy is inherited by the next generation individual.
また、情報提供装置10は、次世代の生成指標を用いて、再度新たな10個のモデルを生成する。そして、情報提供装置10は、新たな10個のモデルの精度に基づいて、上述した遺伝的アルゴリズムによる新たな生成指標の生成を行う。このような処理を繰り返し実行することで、情報提供装置10は、生成指標を学習データの特徴に応じた生成指標、すなわち、最適化された生成指標へと近づけることができる。 In addition, the information providing device 10 generates 10 new models again using the next-generation generation index. Then, the information providing device 10 generates a new generation index by the above-mentioned genetic algorithm based on the accuracy of the new 10 models. By repeatedly executing such processing, the information providing device 10 can bring the generation index closer to the generation index according to the characteristics of the learning data, that is, the optimized generation index.
また、情報提供装置10は、所定の回数新たな生成指標を生成した場合や、モデルの精度の最大値、平均値、若しくは最低値が所定の閾値を超えた場合等、所定の条件が満たされた場合は、最も精度が高いモデルを提供対象として選択する。そして、情報提供装置10は、選択したモデルと共に、対応する生成指標を端末装置3に提供する(ステップS10)。このような処理の結果、情報提供装置10は、利用者から学習データを選択するだけで、適切なモデルの生成指標を生成するとともに、生成した生成指標に従うモデルを提供することができる。 Further, the information providing device 10 satisfies a predetermined condition such as when a new generation index is generated a predetermined number of times, or when the maximum value, the average value, or the minimum value of the accuracy of the model exceeds a predetermined threshold value. If so, select the model with the highest accuracy as the provision target. Then, the information providing device 10 provides the terminal device 3 with the corresponding generation index together with the selected model (step S10). As a result of such processing, the information providing device 10 can generate an appropriate model generation index and provide a model according to the generated generation index only by selecting learning data from the user.
なお、上述した例では、情報提供装置10は、遺伝的アルゴリズムを用いて生成指標の段階的な最適化を実現したが、実施形態は、これに限定されるものではない。後述する説明で明らかとなるように、モデルの精度は、モデルの種別や構造といったモデルそのものの特徴のみならず、どのような学習データをどのようにモデルに入力するのか、どのようなハイパーパラメータを用いてモデルの学習を行うのかというように、モデルを生成する際(すなわち、学習データの特徴を学習させる際)の指標に応じて大きく変化する。 In the above-mentioned example, the information providing device 10 has realized the stepwise optimization of the generation index by using the genetic algorithm, but the embodiment is not limited to this. As will be clarified in the explanation described later, the accuracy of the model is not only the characteristics of the model itself such as the type and structure of the model, but also what kind of training data is input to the model and what kind of hyperparameters are used. It changes greatly depending on the index when the model is generated (that is, when the features of the training data are trained), such as whether the model is trained by using it.
そこで、情報提供装置10は、学習データに応じて、最適と推定される生成指標を生成するのであれば、遺伝的アルゴリズムを用いた最適化を行わずともよい。例えば、情報提供装置10は、学習データが、経験則に応じて生成された各種の条件を満たすか否かに応じて生成した生成指標を利用者に提示するとともに、提示した生成指標に従ったモデルの生成を行ってもよい。また、情報提供装置10は、提示した生成指標の修正を受付けると、受付けた修正後の生成指標に従ってモデルの生成を行い、生成したモデルの精度等を利用者に対して提示し、再度生成指標の修正を受付けてもよい。すなわち、情報提供装置10は、利用者Uに最適な生成指標を試行錯誤させてもよい。 Therefore, the information providing device 10 does not have to perform optimization using a genetic algorithm as long as it generates a generation index presumed to be optimal according to the learning data. For example, the information providing device 10 presents to the user a generation index generated according to whether or not the learning data satisfies various conditions generated according to the empirical rule, and follows the presented generation index. You may generate a model. Further, when the information providing device 10 accepts the modification of the presented generation index, the model is generated according to the received modified generation index, the accuracy of the generated model is presented to the user, and the generation index is generated again. You may accept the correction of. That is, the information providing device 10 may make the user U try and error the optimum generation index.
〔3.生成指標の生成について〕
以下、どのような学習データに対して、どのような生成指標を生成するかの一例について説明する。なお、以下の例は、あくまで一例であり、学習データが有する特徴に応じて生成指標を生成するのであれば、任意の処理が採用可能である。
[3. About generation of generation index]
Hereinafter, an example of what kind of generation index is generated for what kind of learning data will be described. The following example is just an example, and any process can be adopted as long as the generation index is generated according to the characteristics of the learning data.
〔3−1.生成指標について〕
まず、生成指標が示す情報の一例について説明する。例えば、学習データが有する特徴をモデルに学習させる場合、学習データをモデルに入力する際の態様、モデルの態様、およびモデルの学習態様(すなわち、ハイパーパラメータが示す特徴)が最終的に得られるモデルの精度に寄与すると考えられる。そこで、情報提供装置10は、学習データの特徴に応じて、各態様を最適化した生成指標を生成することで、モデルの精度を向上させる。
[3-1. About the generation index]
First, an example of the information indicated by the generation index will be described. For example, when the model is trained with the features of the training data, the model in which the mode when the training data is input to the model, the mode of the model, and the training mode of the model (that is, the features indicated by the hyperparameters) are finally obtained. It is thought that it contributes to the accuracy of. Therefore, the information providing device 10 improves the accuracy of the model by generating a generation index that optimizes each aspect according to the characteristics of the learning data.
例えば、学習データには、様々なラベルが付与されたデータ、すなわち、様々な特徴を示すデータが存在すると考えられる。しかしながら、データを分類する際に有用ではない特徴を示すデータを学習データとした場合、最終的に得られるモデルの精度は、悪化する恐れがある。そこで、情報提供装置10は、学習データをモデルに入力する際の態様として、入力する学習データが有する特徴を決定する。例えば、情報提供装置10は、学習データのうち、どのラベルが付与されたデータ(すなわち、どの特徴を示すデータ)を入力するかを決定する。換言すると、情報提供装置10は、入力する特徴の組み合わせを最適化する。 For example, it is considered that the learning data includes data with various labels, that is, data showing various characteristics. However, if the training data is data showing features that are not useful when classifying the data, the accuracy of the finally obtained model may deteriorate. Therefore, the information providing device 10 determines the characteristics of the input learning data as an mode when the learning data is input to the model. For example, the information providing device 10 determines which label-assigned data (that is, data indicating which feature) is input among the training data. In other words, the information providing device 10 optimizes the combination of input features.
また、学習データには、数値のみのデータや文字列が含まれるデータ等、各種形式のカラムが含まれていると考えられる。このような学習データをモデルに入力する際に、そのまま入力した場合と、他の形式のデータに変換した場合とで、モデルの精度が変化するとも考えられる。例えば、複数種別の学習データ(それぞれ異なる特徴を示す学習データ)であって、文字列の学習データを数値の学習データとを入力する際に、文字列と数値とをそのまま入力した場合と、文字列を数値に変換して数値のみを入力した場合と、数値を文字列と見做して入力した場合とでは、それぞれモデルの精度が変化すると考えられる。そこで、情報提供装置10は、モデルに入力する学習データの形式を決定する。例えば、情報提供装置10は、モデルに入力する学習データを数値とするか、文字列とするかを決定する。換言すると、情報提供装置10は、入力する特徴のカラムタイプを最適化する。 Further, it is considered that the learning data includes columns of various formats such as data containing only numerical values and data containing character strings. When inputting such training data into the model, it is considered that the accuracy of the model changes depending on whether the data is input as it is or converted into data in another format. For example, when inputting multiple types of training data (learning data showing different characteristics) and inputting the training data of a character string as the training data of a numerical value, the case where the character string and the numerical value are input as they are and the case where the character is input It is considered that the accuracy of the model changes depending on whether the column is converted to a numerical value and only the numerical value is input, or the numerical value is regarded as a character string and input. Therefore, the information providing device 10 determines the format of the learning data to be input to the model. For example, the information providing device 10 determines whether the learning data to be input to the model is a numerical value or a character string. In other words, the information providing device 10 optimizes the column type of the feature to be input.
また、それぞれ異なる特徴を示す学習データが存在する場合、どの特徴の組み合わせを同時に入力するかによって、モデルの精度が変化すると考えられる。すなわち、それぞれ異なる特徴を示す学習データが存在する場合、どの特徴の組み合わせの特徴(すなわち、複数の特徴の組み合わせの関係性)を学習させるかにより、モデルの精度が変化すると考えられる。例えば、第1特徴(例えば、性別)を示す学習データと、第2特徴(例えば、住所)を示す学習データと、第3特徴(例えば、購買履歴)を示す学習データとが存在する場合、第1特徴を示す学習データと第2特徴を示す学習データとを同時に入力した場合と、第1特徴を示す学習データと第3特徴を示す学習データとを同時に入力した場合とでは、モデルの精度が変化すると考えられる。そこで、情報提供装置10は、モデルに関係性を学習させる特徴の組み合わせ(クロスフューチャー)を最適化する。 In addition, when learning data showing different features exists, it is considered that the accuracy of the model changes depending on which combination of features is input at the same time. That is, when learning data showing different features exists, it is considered that the accuracy of the model changes depending on which feature combination of features (that is, the relationship between the combinations of a plurality of features) is trained. For example, when there are learning data showing the first feature (for example, gender), learning data showing the second feature (for example, address), and learning data showing the third feature (for example, purchase history), the first The accuracy of the model is higher when the learning data showing one feature and the learning data showing the second feature are input at the same time and when the learning data showing the first feature and the learning data showing the third feature are input at the same time. It is expected to change. Therefore, the information providing device 10 optimizes the combination of features (cross-future) that causes the model to learn the relationship.
ここで、各種のモデルは、入力データを所定の超平面により分割された所定次元の空間内に投影し、投影した位置が分割された空間のうちいずれの空間に属するかに応じて、入力データの分類を行うこととなる。このため、入力データを投影する空間の次元数が最適な次元数よりも低い場合は、入力データの分類能力が劣化する結果、モデルの精度が悪化する。また、入力データを投影する空間の次元数が最適な次元数よりも高い場合は、超平面との内積値が変化する結果、学習時に用いたデータとは異なるデータを適切に分類することができなくなる恐れがある。そこで、情報提供装置10は、モデルに入力する入力データの次元数を最適化する。例えば、情報提供装置10は、モデルが有する入力層のノードの数を制御することで、入力データの次元数を最適化する。換言すると、情報提供装置10は、入力データの埋め込みを行う空間の次元数を最適化する。 Here, various models project the input data into a space of a predetermined dimension divided by a predetermined hyperplane, and the input data depends on which space the projected position belongs to in the divided space. Will be classified. Therefore, if the number of dimensions of the space on which the input data is projected is lower than the optimum number of dimensions, the classification ability of the input data deteriorates, and as a result, the accuracy of the model deteriorates. In addition, when the number of dimensions of the space on which the input data is projected is higher than the optimum number of dimensions, the inner product value with the hyperplane changes, and as a result, data different from the data used at the time of training can be appropriately classified. It may disappear. Therefore, the information providing device 10 optimizes the number of dimensions of the input data input to the model. For example, the information providing device 10 optimizes the number of dimensions of the input data by controlling the number of nodes in the input layer of the model. In other words, the information providing device 10 optimizes the number of dimensions of the space in which the input data is embedded.
また、モデルには、SVMに加え、複数の中間層(隠れ層)を有するニューラルネットワーク等が存在する。また、このようなニューラルネットワークには、入力層から出力層まで一方方向に情報が伝達されるフィードフォワード型のDNN、中間層で情報の畳み込みを行う畳み込みニューラルネットワーク(CNN:Convolutional Neural Networks)、有向閉路を有する回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、ボルツマンマシン等、各種のニューラルネットワークが知られている。また、このような各種ニューラルネットワークには、LSTM(Long short-term memory)やその他各種のニューラルネットワークが含まれている。 Further, in the model, in addition to the SVM, there is a neural network or the like having a plurality of intermediate layers (hidden layers). Further, such a neural network includes a feed-forward type DNN in which information is transmitted in one direction from the input layer to the output layer, and a convolutional neural network (CNN) in which information is convoluted in the intermediate layer. Various neural networks such as a recurrent neural network (RNN) having a closed path and a Boltzmann machine are known. Further, such various neural networks include LSTM (Long short-term memory) and various other neural networks.
このように、学習データの各種特徴を学習するモデルの種別が異なる場合、モデルの精度は変化すると考えられる。そこで、情報提供装置10は、学習データの特徴を精度良く学習すると推定されるモデルの種別を選択する。例えば、情報提供装置10は、学習データのラベルとしてどのようなラベルが付与されているかに応じて、モデルの種別を選択する。より具体的な例を挙げると、情報提供装置10は、ラベルとして「履歴」に関連する用語が付されたデータが存在する場合は、履歴の特徴をより良く学習することができると考えられるRNNを選択し、ラベルとして「画像」に関連する用語が付されたデータが存在する場合は、画像の特徴をより良く学習することができると考えられるCNNを選択する。これら以外にも、情報提供装置10は、ラベルがあらかじめ指定された用語若しくは用語と類似する用語であるか否かを判定し、同一若しくは類似すると判定された用語と予め対応付けられた種別のモデルを選択すればよい。 As described above, when the types of models for learning various features of the training data are different, the accuracy of the model is considered to change. Therefore, the information providing device 10 selects the type of model that is presumed to learn the features of the training data with high accuracy. For example, the information providing device 10 selects the type of the model according to what kind of label is given as the label of the training data. To give a more specific example, the information providing device 10 is considered to be able to better learn the characteristics of the history when the data with the term related to "history" is present as a label. If there is data with a term related to "image" as a label, select CNN, which is considered to be able to better learn the features of the image. In addition to these, the information providing device 10 determines whether or not the label is a term designated in advance or a term similar to the term, and a model of a type previously associated with the term determined to be the same or similar. You just have to select.
また、モデルの中間層の数や1つの中間層に含まれるノードの数が変化した場合、モデルの学習精度が変化すると考えられる。例えば、モデルの中間層の数が多い場合(モデルが深い場合)、より抽象的な特徴に応じた分類を実現することができると考えらえれる一方で、バックプロパゲーションにおける局所誤差が入力層まで伝播しづらくなる結果、学習が適切に行えなくなる恐れがある。また、中間層に含まれるノードの数が少ない場合は、より高度が抽象化を行うことができるものの、ノードの数が少なすぎる場合は、分類に必要な情報が欠損する可能性が高い。そこで、情報提供装置10は、中間層の数や中間層に含まれるノードの数の最適化を行う。すなわち、情報提供装置10は、モデルのアーキテクチャの最適化を行う。 Further, when the number of intermediate layers of the model or the number of nodes included in one intermediate layer changes, it is considered that the learning accuracy of the model changes. For example, if the number of intermediate layers of the model is large (the model is deep), it may be possible to realize classification according to more abstract features, while local error in backpropagation is the input layer. As a result of difficulty in propagating to, there is a risk that learning cannot be performed properly. Further, if the number of nodes included in the mesosphere is small, a higher level of abstraction can be performed, but if the number of nodes is too small, the information necessary for classification is likely to be lost. Therefore, the information providing device 10 optimizes the number of intermediate layers and the number of nodes included in the intermediate layer. That is, the information providing device 10 optimizes the architecture of the model.
また、アテンションの有無やモデルに含まれるノードに自己回帰がある場合とない場合、どのノード間を接続するのかに応じて、ノードの精度が変化すると考えられる。そこで、情報提供装置10は、自己回帰を有するか否か、どのノード間を接続するのかといったネットワークの最適化を行う。 In addition, it is considered that the accuracy of the nodes changes depending on the presence or absence of attention and the case where the nodes included in the model have autoregressive or not, depending on which node is connected. Therefore, the information providing device 10 optimizes the network such as whether or not it has autoregression and which nodes are connected to each other.
また、モデルの学習を行う場合、モデルの最適化手法(学習時に用いるアルゴリズム)やドロップアウト率、ノードの活性化関数やユニット数等がハイパーパラメータとして設定される。このようなハイパーパラメータが変化した場合にも、モデルの精度が変化すると考えられる。そこで、情報提供装置10は、モデルを学習する際の学習態様、すなわち、ハイパーパラメータの最適化を行う。 When learning a model, a model optimization method (algorithm used at the time of learning), a dropout rate, a node activation function, the number of units, and the like are set as hyperparameters. It is considered that the accuracy of the model also changes when such hyperparameters change. Therefore, the information providing device 10 optimizes the learning mode when learning the model, that is, the hyperparameters.
また、モデルのサイズ(入力層、中間層、出力層の数やノード数)が変化した場合も、モデルの精度が変化する。そこで、情報提供装置10は、モデルのサイズの最適化についても行う。 The accuracy of the model also changes when the size of the model (the number of input layers, intermediate layers, output layers, and the number of nodes) changes. Therefore, the information providing device 10 also optimizes the size of the model.
このように、情報提供装置10は、上述した各種モデルを生成する際の指標について最適化を行う。例えば、情報提供装置10は、各指標に対応する条件を予め保持しておく。なお、このような条件は、例えば、過去の学習モデルから生成された各種モデルの精度等の経験則により設定される。そして、情報提供装置10は、学習データが各条件を満たすか否かを判定し、学習データが満たす若しくは満たさない条件に予め対応付けられた指標を生成指標(若しくはその候補)として採用する。この結果、情報提供装置10は、学習データが有する特徴を精度良く学習可能な生成指標を生成することができる。 In this way, the information providing device 10 optimizes the indexes when generating the various models described above. For example, the information providing device 10 holds in advance the conditions corresponding to each index. It should be noted that such a condition is set by, for example, an empirical rule such as the accuracy of various models generated from the past learning model. Then, the information providing device 10 determines whether or not the learning data satisfies each condition, and adopts an index previously associated with the condition that the learning data satisfies or does not satisfy as a generation index (or a candidate thereof). As a result, the information providing device 10 can generate a generation index capable of accurately learning the features of the learning data.
なお、上述したように、学習データから自動的に生成指標を生成し、生成指標に従ってモデルを作成する処理を自動的に行った場合、利用者は、学習データの内部を参照し、どのような分布のデータが存在するかといった判断を行わずともよい。この結果、情報提供装置10は、例えば、モデルの作成に伴ってデータサイエンティスト等が学習データの認識を行う手間を削減するとともに、学習データの認識に伴うプライバシーの毀損を防ぐことができる。 As described above, when the generation index is automatically generated from the training data and the process of creating the model according to the generation index is automatically performed, the user refers to the inside of the training data and what kind of It is not necessary to judge whether the distribution data exists. As a result, the information providing device 10 can reduce the time and effort required for the data scientist or the like to recognize the learning data when creating the model, and can prevent the privacy from being damaged due to the recognition of the learning data.
〔3−2.データ種別に応じた生成指標〕
以下、生成指標を生成するための条件の一例について説明する。まず、学習データとしてどのようなデータが採用されているかに応じた条件の一例について説明する。
[3-2. Generation index according to data type]
Hereinafter, an example of the conditions for generating the generation index will be described. First, an example of conditions according to what kind of data is adopted as learning data will be described.
例えば、学習に用いられる学習データには、整数、浮動小数点、若しくは文字列等がデータとして含まれている。このため、入力されるデータの形式に対して適切なモデルを選択した場合は、モデルの学習精度がより高くなると推定される。そこで、情報提供装置10は、学習データが整数であるか、浮動小数点であるか、若しくは文字列であるかに基いて、生成指標を生成する。 For example, the learning data used for learning includes integers, floating point numbers, character strings, and the like as data. Therefore, if an appropriate model is selected for the format of the input data, it is estimated that the learning accuracy of the model will be higher. Therefore, the information providing device 10 generates a generation index based on whether the learning data is an integer, a floating point number, or a character string.
例えば、学習データが整数である場合、情報提供装置10は、学習データの連続性に基いて、生成指標を生成する。例えば、情報提供装置10は、学習データの密度が所定の第1閾値を超える場合、当該学習データが連続性を有するデータであると見做し、学習データの最大値が所定の第2閾値を上回るか否かに基いて生成指標を生成する。また、情報提供装置10は、学習データの密度が所定の第1閾値を下回る場合、当該学習データがスパースな学習データであると見做し、学習データに含まれるユニークな値の数が所定の第3閾値を上回るか否かに基いて生成指標を生成する。 For example, when the learning data is an integer, the information providing device 10 generates a generation index based on the continuity of the learning data. For example, when the density of the learning data exceeds a predetermined first threshold value, the information providing device 10 considers the learning data to be continuous data, and the maximum value of the learning data sets the predetermined second threshold value. Generate an index based on whether or not it exceeds. Further, when the density of the learning data is lower than the predetermined first threshold value, the information providing device 10 considers the learning data to be sparse learning data, and determines the number of unique values included in the learning data. The generation index is generated based on whether or not the third threshold value is exceeded.
より具体的な例を説明する。なお、以下の例においては、生成指標として、AutoMLによりモデルを自動的に生成するモデル生成サーバ2に対して送信するコンフィグファイルのうち、特徴関数(feature function)を選択する処理の一例について説明する。例えば、情報提供装置10は、学習データが整数である場合、その密度が所定の第1閾値を超えるか否かを判定する。例えば、情報提供装置10は、学習データに含まれる値のうちユニークな値の数を、学習データの最大値に1を加算した値で除算した値を密度として算出する。 A more specific example will be described. In the following example, an example of a process of selecting a feature function from the configuration files to be transmitted to the model generation server 2 that automatically generates a model by AutoML as a generation index will be described. .. For example, when the learning data is an integer, the information providing device 10 determines whether or not the density exceeds a predetermined first threshold value. For example, the information providing device 10 calculates the number of unique values included in the learning data divided by the value obtained by adding 1 to the maximum value of the learning data as the density.
続いて、情報提供装置10は、密度が所定の第1閾値を超える場合は、学習データが連続性を有する学習データであると判定し、学習データの最大値に1を加算した値が第2閾値を上回るか否かを判定する。そして、情報提供装置10は、学習データの最大値に1を加算した値が第2閾値を上回る場合は、特徴関数として「Categorical_colum_with_identity & embedding_column」を選択する。一方、情報提供装置10は、学習データの最大値に1を加算した値が第2閾値を下回る場合は、特徴関数として「Categorical_column_with_identity」を選択する。 Subsequently, when the density exceeds a predetermined first threshold value, the information providing device 10 determines that the learning data is continuous learning data, and the value obtained by adding 1 to the maximum value of the learning data is the second value. Determine if the threshold is exceeded. Then, when the value obtained by adding 1 to the maximum value of the learning data exceeds the second threshold value, the information providing device 10 selects "Categorical_colum_with_identity & embedding_column" as the characteristic function. On the other hand, the information providing device 10 selects "Categorical_column_with_identity" as the characteristic function when the value obtained by adding 1 to the maximum value of the training data is lower than the second threshold value.
一方、情報提供装置10は、密度が所定の第1閾値を下回る場合は、学習データがスパースであると判定し、学習データに含まれるユニークな値の数が所定の第3閾値を超えるか否かを判定する。そして、情報提供装置10は、学習データに含まれるユニークな値の数が所定の第3閾値を超える場合は、特徴関数として「Categorical_column_with_hash_bucket & embedding_column」を選択し、学習データに含まれるユニークな値の数が所定の第3閾値を下回る場合は、特徴関数として「Categorical_column_with_hash_bucket」を選択する。 On the other hand, when the density is lower than the predetermined first threshold value, the information providing device 10 determines that the training data is sparse, and whether or not the number of unique values included in the training data exceeds the predetermined third threshold value. Is determined. Then, when the number of unique values included in the training data exceeds a predetermined third threshold value, the information providing device 10 selects "Categorical_column_with_hash_bucket & embedding_column" as the feature function and sets the unique values included in the training data. If the number is below a predetermined third threshold, select "Categorical_column_with_hash_bucket" as the feature function.
また、情報提供装置10は、学習データが文字列である場合、学習データに含まれる文字列の種別の数に基いて、生成指標を生成する。例えば、情報提供装置10は、学習データに含まれるユニークな文字列の数(ユニークなデータの数)を計数し、計数した数が所定の第4閾値を下回る場合は、特徴関数として「categorical_column_with_vocabulary_list」若しくは/および「categorical_column_with_vocabulary_file」を選択する。また、情報提供装置10は、計数した数が所定の第4閾値よりも大きい第5閾値を下回る場合は、特徴関数として「categorical_column_with_vocabulary_file & embedding_column」を選択する。また、情報提供装置10は、計数した数が所定の第4閾値よりも大きい第5閾値を上回る場合は、特徴関数として「categorical_column_with_hash_bucket & embedding_column」を選択する。 Further, when the learning data is a character string, the information providing device 10 generates a generation index based on the number of types of the character string included in the learning data. For example, the information providing device 10 counts the number of unique character strings (number of unique data) included in the training data, and when the counted number falls below a predetermined fourth threshold value, the feature function is "categorical_column_with_vocabulary_list". Or / and select "categorical_column_with_vocabulary_file". Further, the information providing device 10 selects "categorical_column_with_vocabulary_file & embedding_column" as the characteristic function when the counted number is less than the fifth threshold value larger than the predetermined fourth threshold value. In addition, the information providing device 10 selects "categorical_column_with_hash_bucket & embedding_column" as the characteristic function when the counted number exceeds the fifth threshold value larger than the predetermined fourth threshold value.
また、情報提供装置10は、学習データが浮動小数点である場合、モデルの生成指標として、学習データをモデルに入力する入力データへの変換指標を生成する。例えば、情報提供装置10は、特徴関数として「bucketized_column」もしくは「numeric_colum」を選択する。すなわち、情報提供装置10は、学習データをバケタイズ(グルーピング)し、バケットの番号を入力とするか、数値をそのまま入力するかを選択する。なお、情報提供装置10は、例えば、各バケットに対して対応付けられる数値の範囲が同程度となるように、学習データのバケタイズを行ってもよく、例えば、各バケットに分類される学習データの数が同程度となるように、各バケットに対して数値の範囲を対応付けてもよい。また、情報提供装置10は、バケットの数やバケットに対して対応付けられる数値の範囲を生成指標として選択してもよい。 Further, when the training data is floating point, the information providing device 10 generates a conversion index for input data for inputting the training data to the model as a model generation index. For example, the information providing device 10 selects "bucketized_column" or "numeric_colum" as the characteristic function. That is, the information providing device 10 buckets (groups) the learning data and selects whether to input the bucket number or the numerical value as it is. The information providing device 10 may, for example, bucket the learning data so that the range of numerical values associated with each bucket is about the same. For example, the learning data classified into each bucket may be bucketd. A range of numbers may be associated with each bucket so that the numbers are comparable. Further, the information providing device 10 may select the number of buckets or the range of numerical values associated with the buckets as the generation index.
また、情報提供装置10は、複数の特徴を示す学習データを取得し、モデルの生成指標として、学習データが有する特徴のうちモデルに学習させる特徴を示す生成指標を生成する。例えば、情報提供装置10は、どのラベルの学習データをモデルに入力するかを決定し、決定したラベルを示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、学習データの種別のうちモデルに対して相関を学習させる複数の種別を示す生成指標を生成する。例えば、情報提供装置10は、モデルに対して同時に入力するラベルの組み合わせを決定し、決定した組み合わせを示す生成指標を生成する。 Further, the information providing device 10 acquires learning data indicating a plurality of features, and generates a generation index indicating a feature to be trained by the model among the features of the training data as a model generation index. For example, the information providing device 10 determines which label of training data to be input to the model, and generates a generation index indicating the determined label. Further, the information providing device 10 generates, as a model generation index, a generation index indicating a plurality of types of training data for learning the correlation with respect to the model. For example, the information providing device 10 determines a combination of labels to be input to the model at the same time, and generates a generation index indicating the determined combination.
また、情報提供装置10は、モデルの生成指標として、モデルに入力される学習データの次元数を示す生成指標を生成する。例えば、情報提供装置10は、学習データに含まれるユニークなデータの数やモデルに入力するラベルの数、モデルに入力するラベルの数の組み合わせ、バケットの数等に応じて、モデルの入力層におけるノードの数を決定してもよい。 Further, the information providing device 10 generates a generation index indicating the number of dimensions of the learning data input to the model as a model generation index. For example, the information providing device 10 is in the input layer of the model according to the number of unique data included in the training data, the number of labels to be input to the model, the combination of the number of labels to be input to the model, the number of buckets, and the like. You may decide the number of nodes.
また、情報提供装置10は、モデルの生成指標として、学習データの特徴を学習させるモデルの種別を示す生成指標を生成する。例えば、情報提供装置10は、過去に学習対象とした学習データの密度やスパース具合、ラベルの内容、ラベルの数、ラベルの組み合わせの数等に応じて、生成するモデルの種別を決定し、決定した種別を示す生成指標を生成する。例えば、情報提供装置10は、AutoMLにおけるモデルのクラスとして「BaselineClassifier」、「LinearClassifier」、「DNNClassifier」、「DNNLinearCombinedClassifier」、「BoostedTreesClassifier」、「AdaNetClassifier」、「RNNClassifier」、「DNNResNetClassifier」、「AutoIntClassifier」等を示す生成指標を生成する。 Further, the information providing device 10 generates a generation index indicating the type of the model for learning the features of the training data as the model generation index. For example, the information providing device 10 determines and determines the type of model to be generated according to the density and sparseness of training data that has been learned in the past, the content of labels, the number of labels, the number of combinations of labels, and the like. Generates a generation index that indicates the type of label. For example, the information providing device 10 has "BaselineClassifier", "LinearClassifier", "DNNClassifier", "DNNLinearCombinedClassifier", "BoostedTreesClassifier", "AdaNetClassifier", "RNNClassifier", "DNNResNetClassifier", "AutoIntClassifier", etc. as model classes in AutoML. Generates a generation index that indicates.
なお、情報提供装置10は、これら各クラスのモデルの各種独立変数を示す生成指標を生成してもよい。例えば、情報提供装置10は、モデルの生成指標として、モデルが有する中間層の数若しくは各層に含まれるノードの数を示す生成指標を生成してもよい。また、情報提供装置10は、モデルの生成指標として、モデルが有するノード間の接続態様を示す生成指標やモデルの大きさを示す生成指標を生成してもよい。これらの独立変数は、学習データが有する各種の統計的な特徴が所定の条件を満たすか否かに応じて、適宜選択されることとなる。 The information providing device 10 may generate a generation index indicating various independent variables of the models of each of these classes. For example, the information providing device 10 may generate a generation index indicating the number of intermediate layers of the model or the number of nodes included in each layer as a model generation index. Further, the information providing device 10 may generate a generation index indicating the connection mode between the nodes of the model and a generation index indicating the size of the model as the model generation index. These independent variables will be appropriately selected depending on whether or not the various statistical features of the training data satisfy a predetermined condition.
また、情報提供装置10は、モデルの生成指標として、学習データが有する特徴をモデルに学習させる際の学習態様、すなわち、ハイパーパラメータを示す生成指標を生成してもよい。例えば、情報提供装置10は、AutoMLにおける学習態様の設定において、「stop_if_no_decrease_hook」、「stop_if_no_increase_hook」、「stop_if_higher_hook」、もしくは「stop_if_lower_hook」を示す生成指標を生成してもよい。 Further, the information providing device 10 may generate a learning mode in which the model learns the features of the learning data, that is, a generation index indicating hyperparameters, as a model generation index. For example, the information providing device 10 may generate a generation index indicating "stop_if_no_decrease_hook", "stop_if_no_increase_hook", "stop_if_higher_hook", or "stop_if_lower_hook" in setting the learning mode in AutoML.
すなわち、情報提供装置10は、学習に用いる学習データのラベルやデータそのものの特徴に基づいて、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を示す生成指標を生成する。より具体的には、情報提供装置10は、AutoMLにおけるモデルの生成を制御するためのコンフィグファイルを生成する。 That is, the information providing device 10 causes the model to learn the characteristics of the training data to be trained by the model, the mode of the model to be generated, and the characteristics of the training data based on the label of the training data used for learning and the characteristics of the data itself. A generation index indicating the learning mode is generated. More specifically, the information providing device 10 generates a config file for controlling the generation of the model in AutoML.
〔3−3.生成指標を決定する順序について〕
ここで、情報提供装置10は、上述した各種の指標の最適化を同時並行的に行ってもよく、適宜順序だてて実行してもよい。また、情報提供装置10は、各指標を最適化する順序を変更可能としてもよい。すなわち、情報提供装置10は、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を決定する順番の指定を利用者から受け付け、受け付けた順序で、各指標を決定してもよい。
[3-3. About the order of determining the generation index]
Here, the information providing device 10 may optimize the various indexes described above in parallel, or may execute them in an appropriate order. Further, the information providing device 10 may be able to change the order of optimizing each index. That is, the information providing device 10 accepts from the user the designation of the order of determining the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data. Each index may be determined in the order received.
例えば、図34は、実施形態に係る情報提供装置が指標を最適化する順序を示す図である。例えば、図34に示す例では、情報提供装置10は、生成指標の生成を開始した場合、入力する学習データの特徴や、どのような態様で学習データを入力するかといった入力素性の最適化を行い、続いて、どの特徴の組み合わせの特徴を学習させるかという入力クロス素性の最適化を行う。続いて、情報提供装置10は、モデルの選択を行うとともに、モデル構造の最適化を行う。その後、情報提供装置10は、ハイパーパラメータの最適化を行い、生成指標の生成を終了する。 For example, FIG. 34 is a diagram showing an order in which the information providing device according to the embodiment optimizes the index. For example, in the example shown in FIG. 34, when the information providing device 10 starts generating the generation index, it optimizes the input characteristics such as the characteristics of the learning data to be input and the mode in which the learning data is input. Then, the input cross element of which combination of features is to be learned is optimized. Subsequently, the information providing device 10 selects a model and optimizes the model structure. After that, the information providing device 10 optimizes the hyperparameters and finishes the generation of the generation index.
ここで、情報提供装置10は、入力素性最適化において、入力する学習データの特徴や入力態様といった各種入力素性の選択や修正、遺伝的アルゴリズムを用いた新たな入力素性の選択を行うことで、入力素性を繰り返し最適化してもよい。同様に、情報提供装置10は、入力クロス素性最適化において、入力クロス素性を繰り返し最適化してもよく、モデル選択およびモデル構造の最適化を繰り返し実行してもよい。また、情報提供装置10は、ハイパーパラメタ―の最適化を繰り返し実行してもよい。また、情報提供装置10は、入力素性最適化、入力クロス素性最適化、モデル選択、モデル構造最適化、およびハイパーパラメータの最適化という一連の処理を繰り返し実行し、各指標の最適化を行ってもよい。 Here, the information providing device 10 selects and corrects various input qualities such as the characteristics and input modes of the input learning data in the input habit optimization, and selects a new input trait using a genetic algorithm. The input characteristics may be repeatedly optimized. Similarly, in the input cross feature optimization, the information providing device 10 may repeatedly optimize the input cross feature, or may repeatedly execute model selection and model structure optimization. Further, the information providing device 10 may repeatedly execute the optimization of the hyper parameter. Further, the information providing device 10 repeatedly executes a series of processes such as input feature optimization, input cross feature optimization, model selection, model structure optimization, and hyperparameter optimization to optimize each index. May be good.
また、情報提供装置10は、例えば、ハイパーパラメータの最適化を行ってから、モデル選択やモデル構造最適化を行ってもよく、モデル選択やモデル構造最適化の後に、入力素性の最適化や入力クロス素性の最適化を行ってもよい。また、情報提供装置10は、例えば、入力素性最適化を繰り返し実行し、その後入力クロス素性最適化を繰り返し行う。その後、情報提供装置10は、入力素性最適化と入力クロス素性最適化を繰り返し実行してもよい。このように、どの指標をどの順番で最適化するか、最適化においてどの最適化処理を繰り返し実行するかについては、任意の設定が採用可能となる。 Further, for example, the information providing device 10 may perform model selection and model structure optimization after optimizing hyperparameters, and after model selection and model structure optimization, optimization of input characteristics and input. Cross-based optimization may be performed. Further, the information providing device 10 repeatedly executes, for example, input feature optimization, and then repeatedly performs input cross feature optimization. After that, the information providing device 10 may repeatedly execute the input feature optimization and the input cross feature optimization. In this way, any setting can be adopted for which index is optimized in which order and which optimization process is repeatedly executed in the optimization.
〔3−4.情報提供装置が実現するモデル生成の流れについて〕
続いて、図35を用いて、情報提供装置10を用いたモデル生成の流れの一例について説明する。図35は、実施形態における情報提供装置を用いたモデル生成の流れの一例を説明する図である。例えば、情報提供装置10は、学習データと各学習データのラベルとを受付ける。なお、情報提供装置10は、学習データの指定と共に、ラベルを受付けてもよい。
[3-4. About the flow of model generation realized by the information providing device]
Subsequently, an example of the flow of model generation using the information providing device 10 will be described with reference to FIG. 35. FIG. 35 is a diagram illustrating an example of a flow of model generation using the information providing device in the embodiment. For example, the information providing device 10 receives the learning data and the label of each learning data. The information providing device 10 may accept the label together with the designation of the learning data.
このような場合、情報提供装置10は、データの分析を行い、分析結果に応じたデータ分割を行う。例えば、情報提供装置10は、学習データを、モデルの学習に用いるトレーニング用データと、モデルの評価(すなわち、精度の測定)に用いる評価用データとに分割する。なお、情報提供装置10は、各種テスト用のデータをさらに分割してもよい。なお、このような学習データをトレーニング用データと評価用データとに分割する処理は、各種任意の公知技術が採用可能である。 In such a case, the information providing device 10 analyzes the data and divides the data according to the analysis result. For example, the information providing device 10 divides the training data into training data used for learning the model and evaluation data used for evaluating the model (that is, measuring accuracy). The information providing device 10 may further divide the data for various tests. In addition, various known techniques can be adopted for the process of dividing such learning data into training data and evaluation data.
また、情報提供装置10は、学習データを用いて、上述した各種の生成指標を生成する。例えば、情報提供装置10は、AutoMLにおいて生成されるモデルやモデルの学習を定義するコンフィグファイルを生成する。このようなコンフィグファイルにおいては、AutoMLで用いられる各種の関数がそのまま生成指標を示す情報として格納されることとなる。そして、情報提供装置10は、トレーニング用データを生成指標とをモデル生成サーバ2に提供することで、モデルの生成を行う。 Further, the information providing device 10 uses the learning data to generate the various generation indexes described above. For example, the information providing device 10 generates a model generated in AutoML and a config file that defines the learning of the model. In such a configuration file, various functions used in AutoML are stored as they are as information indicating a generation index. Then, the information providing device 10 generates a model by providing the training data and the generation index to the model generation server 2.
ここで、情報提供装置10は、利用者によるモデルの評価と、モデルの自動生成とを繰り返し行うことで、生成指標の最適化、ひいてはモデルの最適化を実現してもよい。例えば、情報提供装置10は、入力する特徴の最適化(入力素性や入力クロス素性の最適化)、ハイパーパラメータの最適化、および生成するモデルの最適化を行い、最適化された生成指標に従って自動でのモデル生成を行う。そして、情報提供装置10は、生成したモデルを利用者に提供する。 Here, the information providing device 10 may realize the optimization of the generation index, and eventually the optimization of the model, by repeatedly evaluating the model by the user and automatically generating the model. For example, the information providing device 10 optimizes the input features (optimization of input features and input cross features), optimizes hyperparameters, and optimizes the model to be generated, and automatically follows the optimized generation index. Model is generated in. Then, the information providing device 10 provides the generated model to the user.
一方、利用者は、自動生成されたモデルのトレーニングや評価、テストを行い、モデルの分析や提供を行う。そして、利用者は、生成された生成指標を修正することで、再度新たなモデルを自動生成させ、評価やテスト等を行う。このような処理を繰り返し実行することで、複雑な処理を実行することなく、試行錯誤しながらモデルの精度を向上させる処理を実現することができる。 On the other hand, the user trains, evaluates, and tests the automatically generated model, and analyzes and provides the model. Then, the user modifies the generated generation index to automatically generate a new model again, and performs evaluation, testing, and the like. By repeatedly executing such a process, it is possible to realize a process of improving the accuracy of the model through trial and error without executing a complicated process.
〔4.情報提供装置の構成〕
次に、図36を用いて、実施形態に係る情報提供装置10の機能構成の一例について説明する。図36は、実施形態に係る情報提供装置の構成例を示す図である。図36に示すように、情報提供装置10は、通信部20と、記憶部30と、制御部40とを有する。
[4. Configuration of information providing device]
Next, an example of the functional configuration of the information providing device 10 according to the embodiment will be described with reference to FIG. FIG. 36 is a diagram showing a configuration example of the information providing device according to the embodiment. As shown in FIG. 36, the information providing device 10 includes a communication unit 20, a storage unit 30, and a control unit 40.
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、モデル生成サーバ2や端末装置3との間で情報の送受信を行う。 The communication unit 20 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 11 is connected to the network N by wire or wirelessly, and transmits / receives information to / from the model generation server 2 and the terminal device 3.
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、学習データデータベース31および生成条件データベース32を有する。 The storage unit 30 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. Further, the storage unit 30 has a learning data database 31 and a generation condition database 32.
学習データデータベース31には、学習データが登録される。例えば、図37は、実施形態に係る学習データベースに登録される情報の一例を示す図である。図37に示す例では、学習データデータベース31には、学習データID(Identifier)、および学習データが対応付けて登録されている。ここで、学習データIDは、学習データとなる複数のデータ群を識別する識別子である。また、学習データとは、学習に用いられるデータである。 The learning data is registered in the learning data database 31. For example, FIG. 37 is a diagram showing an example of information registered in the learning database according to the embodiment. In the example shown in FIG. 37, the learning data ID (Identifier) and the learning data are registered in association with each other in the learning data database 31. Here, the learning data ID is an identifier that identifies a plurality of data groups that serve as learning data. The learning data is data used for learning.
例えば、図37に示す例では、学習データデータベース31には、「学習データ#1」に対し、「ラベル#1−1」と「データ#1−1」との組、および、「ラベル#1−2」と「データ#1−2」との組が対応付けて登録されている。このような情報は、「学習データ#1」が示す学習データとして、「ラベル#1−1」が付与された「データ#1−1」、および、「ラベル#1−2」が付与された「データ#1−2」が登録されている旨を示す。なお、各ラベルには、同一の特徴を示す複数のデータが登録されていてもよい。また、図37に示す例では、「学習データ#1」、「ラベル#1−1」、「データ#1−1」といった概念的な値を記載したが、実際には、学習データを識別するための文字列や数値、ラベルとなる文字列、データとなる各種整数、浮動小数点、もしくは文字列等が登録されることとなる。 For example, in the example shown in FIG. 37, in the training data database 31, the pair of “label # 1-1” and “data # 1-1” and “label # 1” for “training data # 1” The pair of "-2" and "data # 1-2" is registered in association with each other. Such information is given "data # 1-1" to which "label # 1-1" is attached and "label # 1-2" as training data indicated by "learning data # 1". Indicates that "Data # 1-2" is registered. In addition, a plurality of data showing the same characteristics may be registered in each label. Further, in the example shown in FIG. 37, conceptual values such as "training data # 1", "label # 1-1", and "data # 1-1" are described, but in reality, the training data is identified. Character strings and numerical values for this purpose, character strings to be labels, various integers to be data, floating points, character strings, etc. will be registered.
図36に戻り、生成条件データベース38には、学習データに関する各種の条件と、学習データが条件を場合に生成指標若しくはその候補として決定される各種の指標とを対応付けた生成条件が登録されている。例えば、図38は、実施形態に係る生成条件データベースに登録される情報の一例を示す図である。図38に示す例では、生成条件データデータベース32には、条件ID、条件内容、および指標候補が対応付けて登録されている。 Returning to FIG. 36, in the generation condition database 38, the generation conditions in which various conditions related to the learning data are associated with the generation indexes or various indexes determined as candidates thereof when the training data is the condition are registered. There is. For example, FIG. 38 is a diagram showing an example of information registered in the generation condition database according to the embodiment. In the example shown in FIG. 38, the condition ID, the condition content, and the index candidate are registered in association with each other in the generation condition data database 32.
ここで、条件IDとは、生成条件を識別する識別子である。また、条件内容とは、学習データが満たすか否かの判定対象となる条件であり、例えば、学習データの内容に関する条件である内容条件と、学習データの傾向に関する傾向条件等、各種の条件により構成される。また、指標候補とは、対応付けられた条件内容に含まれる各条件が満たされた場合に、生成指標に含まれる各種の指標である。 Here, the condition ID is an identifier that identifies the generation condition. Further, the condition content is a condition to be determined whether or not the learning data is satisfied, and depends on various conditions such as a content condition which is a condition related to the content of the learning data and a tendency condition related to the tendency of the learning data. It is composed. Further, the index candidates are various indexes included in the generated index when each condition included in the associated condition content is satisfied.
例えば、生成条件データベース38には、条件ID「条件ID#1」、内容条件「整数」、傾向条件「密度<閾値」、指標候補「生成指標#1」とが対応付けて登録されている。このような情報は、条件ID「条件ID#1」として、学習データが内容条件「整数」であり、かつ、傾向条件「密度<閾値」を満たす場合に、指標候補「生成指標#1」が生成指標として決定される旨を示す。 For example, the condition ID "condition ID # 1", the content condition "integer", the tendency condition "density <threshold value", and the index candidate "generation index # 1" are registered in the generation condition database 38 in association with each other. Such information can be obtained by setting the condition ID "condition ID # 1" as the index candidate "generation index # 1" when the learning data is the content condition "integer" and the tendency condition "density <threshold" is satisfied. Indicates that it is determined as a generation index.
なお、図38に示す例では、「生成指標#1」といった概念的な値を記載したが、実際には、各種生成指標として採用される情報が登録される。例えば、生成条件データベース38には、AutoMLにおけるコンフィグファイルに記載される各種の関数が指標候補として登録される。なお、生成条件データベース38には、例えば、1つの条件に対して複数の生成指標が登録されていてもよい。 In the example shown in FIG. 38, a conceptual value such as "generation index # 1" is described, but in reality, information adopted as various generation indexes is registered. For example, various functions described in the config file in AutoML are registered as index candidates in the generation condition database 38. In the generation condition database 38, for example, a plurality of generation indexes may be registered for one condition.
なお、上述したように、どのような条件が満たされた場合にどのような生成指標を生成するかについては、任意の設定が可能である。例えば、生成条件データベース38には、過去に生成したモデルであって、精度が所定の閾値を超えるモデルについての各種生成指標と、そのモデルの学習に用いた学習データの特徴や傾向とに基づいて生成された生成条件が登録されてればよい。 As described above, it is possible to arbitrarily set what kind of generation index is generated when what kind of condition is satisfied. For example, the generation condition database 38 contains various generation indexes for models that have been generated in the past and whose accuracy exceeds a predetermined threshold value, and features and tendencies of training data used for learning the model. It suffices if the generated generation condition is registered.
図36に戻り、説明を続ける。制御部40は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部40は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。図36に示すように、制御部40は、取得部41、指標生成部42、提示部43、受付部44、モデル生成部45、および提供部46を有する。 Returning to FIG. 36, the description will be continued. The control unit 40 is realized by, for example, using a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like to execute various programs stored in a storage device inside the information providing device 10 using the RAM as a work area. Will be done. Further, the control unit 40 is realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). As shown in FIG. 36, the control unit 40 includes an acquisition unit 41, an index generation unit 42, a presentation unit 43, a reception unit 44, a model generation unit 45, and a provision unit 46.
取得部41は、モデルの学習に用いる学習データを取得する。例えば、取得部41は、端末装置3から、学習データとして用いる各種のデータと、各種データに付与されるラベルを受付けると、受付けたデータとラベルとを学習データとして学習データデータベース3に登録する。なお、取得部41は、あらかじめ学習データデータベース31に登録されたデータのうち、モデルの学習に用いる学習データの学習データIDやラベルの指摘を受付けてもよい。 The acquisition unit 41 acquires learning data used for learning the model. For example, when the acquisition unit 41 receives various data to be used as training data and labels attached to the various data from the terminal device 3, the received data and the label are registered in the training data database 3 as training data. The acquisition unit 41 may accept the indication of the learning data ID and the label of the learning data used for learning the model among the data registered in the learning data database 31 in advance.
指標生成部42は、学習データが有する特徴に基いて、モデルの生成指標を生成する。例えば、指標生成部42は、学習データが有する統計的な特徴に基いて、生成指標を生成する。例えば、指標生成部42は、取得部41から学習データを取得する。そして、指標生成部42は、取得した学習データが生成条件データベース32に登録された生成条件を満たすか否かに応じて、生成指標を生成する。 The index generation unit 42 generates a model generation index based on the characteristics of the learning data. For example, the index generation unit 42 generates a generation index based on the statistical characteristics of the learning data. For example, the index generation unit 42 acquires learning data from the acquisition unit 41. Then, the index generation unit 42 generates a generation index according to whether or not the acquired learning data satisfies the generation condition registered in the generation condition database 32.
例えば、指標生成部42は、学習データが整数であるか、浮動小数点であるか、若しくは文字列であるかに基いて、生成指標を生成してもよい。より具体的な例を挙げると、指標生成部42は、学習データが整数である場合、学習データの連続性に基いて、生成指標を生成してもよい。例えば、指標生成部42は、学習データの密度を算出し、算出した密度が所定の第1閾値を超える場合、学習データの最大値が所定の第2閾値を上回るか否かに基いて生成指標を生成してもよい。すなわち、指標生成部42は、最大値が第2閾値を上回るか否かに応じて異なる生成指標を生成してもよい。また、指標生成部42は、学習データの密度が所定の第1閾値を下回る場合、学習データに含まれるユニークな値の数が所定の第3閾値を上回るか否かに基いて生成指標を生成してもよい。 For example, the index generation unit 42 may generate a generation index based on whether the training data is an integer, a floating point number, or a character string. To give a more specific example, when the training data is an integer, the index generation unit 42 may generate a generation index based on the continuity of the training data. For example, the index generation unit 42 calculates the density of the learning data, and when the calculated density exceeds a predetermined first threshold value, the index generation unit 42 generates an index based on whether or not the maximum value of the learning data exceeds a predetermined second threshold value. May be generated. That is, the index generation unit 42 may generate different generation indexes depending on whether or not the maximum value exceeds the second threshold value. Further, when the density of the training data is lower than the predetermined first threshold value, the index generation unit 42 generates the generation index based on whether or not the number of unique values included in the training data exceeds the predetermined third threshold value. You may.
なお、指標生成部42は、学習データの密度や最大値等が各種閾値を超えるか否かといった条件分岐に応じて異なる生成指標を生成してもよく、例えば、学習データの密度や最大値等そのものの値に応じた生成指標を生成してもよい。例えば、指標生成部42は、学習データの数、密度、最大値等といった統計的な値に基づいて、モデルのノード数や中間層の数等といった各種生成指標となるパラメータの値を算出してもよい。すなわち、指標生成部42は、学習データが有する特徴に基づいて異なる生成指標を生成するのであれば、任意の条件に基づいて、生成指標の生成を行ってよい。 The index generation unit 42 may generate different generation indexes according to conditional branching such as whether or not the density and maximum value of the learning data exceed various threshold values. For example, the density and maximum value of the training data and the like may be generated. A generation index corresponding to the value of itself may be generated. For example, the index generation unit 42 calculates the values of parameters that serve as various generation indexes, such as the number of model nodes and the number of intermediate layers, based on statistical values such as the number of training data, density, and maximum value. May be good. That is, if the index generation unit 42 generates different generation indexes based on the characteristics of the learning data, the index generation unit 42 may generate the generation indexes based on arbitrary conditions.
また、指標生成部42は、学習データが文字列である場合、学習データに含まれる文字列の種別の数に基いて、生成指標を生成する。すなわち、指標生成部42は、ユニークな文字列の種別の数に応じて異なる生成指標を生成する。また、指標生成部42は、学習データが浮動小数点である場合、モデルの生成指標として、学習データをモデルに入力する入力データへの変換指標を生成する。例えば、指標生成部42は、浮動小数点をバケタイズするか否か、どの範囲の値をどのバケットに分類するか等を学習データの統計的な情報に基づいて決定する。より具体的な例を挙げると、指標生成部42は、浮動小数点である学習データに含まれる値の範囲や、学習データに付されたラベルの内容といった特徴に応じて、バケタイズするか否か、どの範囲の値をどのバケットに分類するか等を決定してもよい。また、指標生成部42は、学習データの特徴に基づいて、各バケットに対応する値の範囲を一定にするか否かや、各バケットに分類する学習データの数を一定(若しくは、所定の分布)にするか否かを決定してもよい。 Further, when the learning data is a character string, the index generation unit 42 generates a generation index based on the number of types of the character string included in the learning data. That is, the index generation unit 42 generates different generation indexes according to the number of unique character string types. Further, when the training data is a floating point number, the index generation unit 42 generates a conversion index for input data for inputting the training data to the model as a model generation index. For example, the index generation unit 42 determines whether or not to bucket the floating point number, which range of values should be classified into which bucket, and the like based on the statistical information of the training data. To give a more specific example, whether or not the index generation unit 42 buckets according to the range of values included in the floating-point training data and the content of the label attached to the training data. You may decide which range of values to classify into which bucket. Further, the index generation unit 42 determines whether or not the range of values corresponding to each bucket is constant based on the characteristics of the learning data, and the number of learning data to be classified into each bucket is constant (or a predetermined distribution). ) May be decided.
また、指標生成部42は、モデルの生成指標として、学習データが有する特徴のうちモデルに学習させる特徴を示す生成指標を生成する。例えば、指標生成部42は、学習データの特徴に基づいて、モデルに学習させるデータのラベルを決定する。また、指標生成部42は、モデルの生成指標として、学習データの種別のうちモデルに対して相関を学習させる複数の種別を示す生成指標を生成する。 In addition, the index generation unit 42 generates, as a model generation index, a generation index indicating a feature to be trained by the model among the features of the training data. For example, the index generation unit 42 determines the label of the data to be trained by the model based on the characteristics of the training data. Further, the index generation unit 42 generates, as a model generation index, a generation index indicating a plurality of types of training data for learning the correlation with respect to the model.
なお、このような学習対象となる特徴(ラベル)や特徴の関係性の決定は、例えば、モデルが出力するデータのラベル等、どのようなモデルを利用者が所望するかといった目的に応じた決定が行われてもよい。また、どの特徴を採用するか、どの特徴の組み合わせの特徴を学習させるかについては、例えば、上述した遺伝的アルゴリズムにおいて、各特徴や特徴の組み合わせを採用するか否かを示すビットを遺伝子と見做し、新生代の生成指標を生成することで、モデルの精度がより向上する特徴や特徴の組み合わせを発見することで、決定されてもよい。 It should be noted that the determination of the features (labels) to be learned and the relationships between the features is determined according to the purpose such as what kind of model the user desires, such as the label of the data output by the model. May be done. Regarding which feature to adopt and which feature combination to learn, for example, in the above-mentioned genetic algorithm, a bit indicating whether to adopt each feature or feature combination is regarded as a gene. It may be determined by discovering features and combinations of features that further improve the accuracy of the model by generating Cenozoic generation indicators.
また、指標生成部42は、モデルの生成指標として、モデルに入力される学習データの次元数を示す生成指標を生成する。また、指標生成部42は、モデルの生成指標として、学習データの特徴を学習させるモデルの種別を示す生成指標を生成する。また、指標生成部42は、モデルの生成指標として、モデルが有する中間層の数若しくは各層に含まれるノードの数を示す生成指標を生成する。また、指標生成部42は、モデルの生成指標として、モデルが有するノード間の接続態様を示す生成指標を生成する。また、指標生成部42は、モデルの生成指標として、モデルの大きさを示す生成指標を生成する。例えば、指標生成部42は、ユニークな学習データの数や採用される特徴あるいはその組み合わせの数、学習データとなる数値や文字列のビット数等に応じて、モデルに入力される学習データの次元数を示す生成指標を生成してもよく、例えば、モデルの各種構造を決定してもよい。 In addition, the index generation unit 42 generates a generation index indicating the number of dimensions of the learning data input to the model as a model generation index. Further, the index generation unit 42 generates, as a model generation index, a generation index indicating the type of the model for learning the features of the training data. Further, the index generation unit 42 generates a generation index indicating the number of intermediate layers of the model or the number of nodes included in each layer as a model generation index. In addition, the index generation unit 42 generates a generation index indicating the connection mode between the nodes of the model as a model generation index. In addition, the index generation unit 42 generates a generation index indicating the size of the model as a model generation index. For example, the index generation unit 42 determines the dimension of the training data input to the model according to the number of unique training data, the number of features adopted or combinations thereof, the number of numerical values to be the training data, the number of bits of the character string, and the like. A generation index indicating a number may be generated, and for example, various structures of the model may be determined.
また、指標生成部42は、モデルの生成指標として、学習データが有する特徴をモデルに学習させる際の学習態様を示す生成指標を生成する。例えば、指標生成部42は、学習データの特徴や上述した各種の生成指標に基づいて、ハイパーパラメータの内容を決定してもよい。このように、指標生成部42は、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を示す生成指標を生成する。なお、指標生成部42は、上述した全ての生成指標を決定、生成する必要はなく、任意の種別の生成指標のみを決定、生成すればよい。 In addition, the index generation unit 42 generates, as a model generation index, a generation index indicating a learning mode when the model learns the features of the training data. For example, the index generation unit 42 may determine the contents of the hyperparameters based on the characteristics of the learning data and the various generation indexes described above. In this way, the index generation unit 42 generates a generation index indicating the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data. It is not necessary for the index generation unit 42 to determine and generate all the above-mentioned generation indexes, and only the generation indexes of any type need to be determined and generated.
提示部43は、指標生成部42により生成された指標を利用者に提示する。例えば、提示部43は、生成指標として生成されたAutoMLのコンフィグファイルを端末装置3に送信する。 The presentation unit 43 presents the index generated by the index generation unit 42 to the user. For example, the presentation unit 43 transmits the AutoML config file generated as the generation index to the terminal device 3.
受付部44は、利用者に対して提示した生成指標の修正を受付ける。また、受付部44は、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を決定する順番の指定を利用者から受け付ける。このような場合、指標生成部42は、利用者から指定された順番で、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を決定する。すなわち、指標生成部42は、利用者から指定された順番で、各種の生成指標を再度生成しなおす。 The reception unit 44 accepts the modification of the generation index presented to the user. In addition, the reception unit 44 receives from the user the designation of the order of determining the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data. In such a case, the index generation unit 42 makes the model learn the features of the training data to be trained by the user, the mode of the model to be generated, and the features of the training data in the order specified by the user. To determine. That is, the index generation unit 42 regenerates various generation indexes in the order specified by the user.
モデル生成部45は、生成指標に従って、学習データが有する特徴を学習させたモデルを生成する。例えば、モデル生成部45は、学習データをトレーニング用データと評価用データとに分割するとともに、トレーニング用データと生成指標とをモデル生成サーバ2に送信する。そして、モデル生成部45は、モデル生成サーバ2が生成指標に従ってトレーニング用データから生成したモデルを取得する。このような場合、モデル生成部45は、評価用データを用いて、取得したモデルの精度を算出する。 The model generation unit 45 generates a model in which the features of the training data are trained according to the generation index. For example, the model generation unit 45 divides the training data into training data and evaluation data, and transmits the training data and the generation index to the model generation server 2. Then, the model generation unit 45 acquires the model generated from the training data by the model generation server 2 according to the generation index. In such a case, the model generation unit 45 calculates the accuracy of the acquired model using the evaluation data.
なお、指標生成部42は、それぞれ異なる複数の生成指標を生成する。このような場合、指標生成部42は、生成指標ごとに異なるモデルを生成させ、各モデルの精度を算出する。なお、指標生成部42は、各モデルごとに異なるトレーニング用データおよび評価用データを生成してもよく、同一のトレーニング用データおよび評価用データを採用してもよい。 The index generation unit 42 generates a plurality of different generation indexes. In such a case, the index generation unit 42 generates a different model for each generation index and calculates the accuracy of each model. The index generation unit 42 may generate different training data and evaluation data for each model, or may adopt the same training data and evaluation data.
このように、複数のモデルが生成された場合、指標生成部42は、生成されたモデルの精度に基いて、モデルの生成指標を新たに生成する。例えば、指標生成部42は、各学習データを利用するか否か、どの生成指標を採用したか否かを遺伝子見做した遺伝的アルゴリズムを用いて、複数の生成指標から新たな生成指標を生成する。そして、モデル生成部45は、新たな生成指標に基づいて、新たなモデルの生成を行う。このような試行錯誤を所定の回数、若しくは、モデルの精度が所定の閾値を超えるまで繰り返し実行することで、情報提供装置10は、モデルの精度を向上させる生成指標の生成を実現できる。 When a plurality of models are generated in this way, the index generation unit 42 newly generates a model generation index based on the accuracy of the generated model. For example, the index generation unit 42 generates a new generation index from a plurality of generation indexes by using a genetic algorithm that genetically considers whether or not to use each learning data and which generation index is adopted. To do. Then, the model generation unit 45 generates a new model based on the new generation index. By repeatedly executing such trial and error a predetermined number of times or until the accuracy of the model exceeds a predetermined threshold value, the information providing device 10 can realize the generation of a generation index that improves the accuracy of the model.
なお、指標生成部42は、生成指標を決定する順序についても、遺伝的アルゴリズムの対象として最適化を行ってもよい。また、提示部43は、生成指標が生成される度に生成指標を利用者に提示してもよく、例えば、精度が所定の閾値を超えたモデルと対応する生成指標のみを利用者に提示してもよい。 The index generation unit 42 may also optimize the order in which the generation indexes are determined as the target of the genetic algorithm. Further, the presentation unit 43 may present the generation index to the user each time the generation index is generated. For example, the presentation unit 43 presents only the generation index corresponding to the model whose accuracy exceeds a predetermined threshold value to the user. You may.
提供部46は、生成されたモデルを利用者に提供する。例えば、提供部46は、モデル生成部45により生成されたモデルの精度が所定の閾値を超えた場合は、そのモデルとともに、モデルと対応する生成指標を端末装置3へと送信する。この結果、利用者は、モデルの評価や試用を行うとともに、生成指標の修正を行うことができる。 The providing unit 46 provides the generated model to the user. For example, when the accuracy of the model generated by the model generation unit 45 exceeds a predetermined threshold value, the providing unit 46 transmits the model and the generation index corresponding to the model to the terminal device 3. As a result, the user can evaluate and try the model and modify the generation index.
〔5.情報提供装置10の処理フロー〕
次に、図39を用いて、情報提供装置10が実行する処理の手順について説明する。図39は、実施形態に係る生成処理の流れの一例を示すフローチャートである。
[5. Processing flow of information providing device 10]
Next, the procedure of the process executed by the information providing device 10 will be described with reference to FIG. 39. FIG. 39 is a flowchart showing an example of the flow of the generation process according to the embodiment.
例えば、情報提供装置10は、学習データの指定を受付ける(ステップS101)。このような場合、情報提供装置10は、指定された学習データの統計的な特徴を特定する(ステップS102)。そして、情報提供装置10は、統計的な特徴に基づいて、モデルの生成指標の候補を作成する(ステップS103)。 For example, the information providing device 10 accepts the designation of the learning data (step S101). In such a case, the information providing device 10 identifies the statistical features of the designated learning data (step S102). Then, the information providing device 10 creates a candidate of the model generation index based on the statistical characteristics (step S103).
続いて、情報提供装置10は、作成した生成指標の修正を受付けたか否かを判定し(ステップS104)、受付けた場合は(ステップS104:Yes)、指示に従って修正を行う(ステップS105)。一方、情報提供装置10は、修正を受付けていない場合は、ステップS105の実行をスキップする。そして、情報提供装置10は、生成指標に従ってモデルを生成し(ステップS106)、生成したモデルを提供して(ステップS107)、処理を終了する。 Subsequently, the information providing device 10 determines whether or not the correction of the created generation index has been accepted (step S104), and if it has received the correction (step S104: Yes), the correction is performed according to the instruction (step S105). On the other hand, if the information providing device 10 does not accept the correction, the information providing device 10 skips the execution of step S105. Then, the information providing device 10 generates a model according to the generation index (step S106), provides the generated model (step S107), and ends the process.
〔6.変形例〕
上記では、生成処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、提供処理の変形例について説明する。
[6. Modification example]
In the above, an example of the generation process has been described. However, the embodiments are not limited to this. Hereinafter, a modified example of the providing process will be described.
〔6−1.装置構成〕
上記実施形態では、配信システム1に、生成指標の生成を行う情報提供装置10、および、生成指標に従ってモデルを生成するモデル生成サーバ2を有する例について説明したが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、モデル生成サーバ2が有する機能を有していてもよい。また、情報提供装置10が発揮する機能は、端末装置3に内包されていてもよい。このような場合、端末装置3は、生成指標を自動的に生成するとともに、モデル生成サーバ2を用いたモデルの生成を自動的に行うこととなる。
[6-1. Device configuration〕
In the above embodiment, an example in which the distribution system 1 has an information providing device 10 for generating a generation index and a model generation server 2 for generating a model according to the generation index has been described, but the embodiment is limited to this. It's not something. For example, the information providing device 10 may have a function of the model generation server 2. Further, the function exhibited by the information providing device 10 may be included in the terminal device 3. In such a case, the terminal device 3 automatically generates the generation index and automatically generates the model using the model generation server 2.
〔6−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[6-2. Others]
Further, among the processes described in the above-described embodiment, all or a part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or part of it can be done automatically by a known method. In addition, the processing procedure, specific name, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 In addition, the above-described embodiments can be appropriately combined as long as the processing contents do not contradict each other.
〔6−3.プログラム〕
また、上述してきた実施形態に係る情報提供装置10は、例えば図40に示すような構成のコンピュータ1000によって実現される。図40は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[6-3. program〕
Further, the information providing device 10 according to the above-described embodiment is realized by, for example, a computer 1000 having a configuration as shown in FIG. 40. FIG. 40 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to the output device 1010 and the input device 1020, and the arithmetic unit 1030, the primary storage device 1040, the secondary storage device 1050, the output IF (Interface) 1060, the input IF 1070, and the network IF 1080 are connected by the bus 1090. Has.
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。 The arithmetic unit 1030 operates based on a program stored in the primary storage device 1040 or the secondary storage device 1050, a program read from the input device 1020, or the like, and executes various processes. The primary storage device 1040 is a memory device that temporarily stores data used by the arithmetic unit 1030 for various calculations, such as a RAM. Further, the secondary storage device 1050 is a storage device in which data used by the calculation device 1030 for various calculations and various databases are registered, and is realized by a ROM (Read Only Memory), an HDD, a flash memory, or the like.
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。 The output IF 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various information such as a monitor and a printer. For example, USB (Universal Serial Bus), DVI (Digital Visual Interface), and the like. It is realized by a standard connector such as HDMI (registered trademark) (High Definition Multimedia Interface). Further, the input IF 1070 is an interface for receiving information from various input devices 1020 such as a mouse, a keyboard, and a scanner, and is realized by, for example, USB.
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。 The input device 1020 is, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), or a tape. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like. Further, the input device 1020 may be an external storage medium such as a USB memory.
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 The network IF1080 receives data from another device via the network N and sends it to the arithmetic unit 1030, and also transmits the data generated by the arithmetic unit 1030 to the other device via the network N.
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040, and executes the loaded program.
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。 For example, when the computer 1000 functions as the information providing device 10, the arithmetic unit 1030 of the computer 1000 realizes the function of the control unit 40 by executing the program loaded on the primary storage device 1040.
〔7.効果〕
上述したように、情報提供装置10は、モデルの学習に用いる学習データを取得し、学習データが有する特徴に基いて、モデルの生成指標を生成する。例えば、情報提供装置10は、学習データが有する統計的な特徴に基いて、生成指標を生成する。このような処理の結果、情報提供装置10は、利用者が複雑な設定を行うことなく、精度が見込まれるモデルを生成するための生成指標を提供することができる。
[7. effect〕
As described above, the information providing device 10 acquires the learning data used for learning the model, and generates a model generation index based on the characteristics of the learning data. For example, the information providing device 10 generates a generation index based on the statistical characteristics of the learning data. As a result of such processing, the information providing device 10 can provide a generation index for generating a model in which accuracy is expected, without the user making complicated settings.
例えば、情報提供装置10は、学習データが整数であるか、浮動小数点であるか、若しくは文字列であるかに基いて、生成指標を生成する。また、情報提供装置10は、学習データが整数である場合、学習データの連続性に基いて、生成指標を生成する。より具体的な例を挙げると、情報提供装置10は、学習データの密度が所定の第1閾値を超える場合、学習データの最大値が所定の第2閾値を上回るか否かに基いて生成指標を生成する。また、情報提供装置10は、学習データの密度が所定の第1閾値を下回る場合、学習データに含まれるユニークな値の数が所定の第3閾値を上回るか否かに基いて生成指標を生成する。 For example, the information providing device 10 generates a generation index based on whether the training data is an integer, a floating point number, or a character string. Further, when the learning data is an integer, the information providing device 10 generates a generation index based on the continuity of the learning data. To give a more specific example, the information providing device 10 generates an index based on whether or not the maximum value of the learning data exceeds the predetermined second threshold value when the density of the learning data exceeds the predetermined first threshold value. To generate. Further, when the density of the training data is lower than the predetermined first threshold value, the information providing device 10 generates a generation index based on whether or not the number of unique values included in the training data exceeds the predetermined third threshold value. To do.
また、情報提供装置10は、学習データが文字列である場合、学習データに含まれる文字列の種別の数に基いて、生成指標を生成する。また、情報提供装置10は、学習データが浮動小数点である場合、モデルの生成指標として、学習データをモデルに入力する入力データへの変換指標を生成する。また、情報提供装置10は、複数の特徴を示す学習データを取得し、モデルの生成指標として、学習データが有する特徴のうちモデルに学習させる特徴を示す生成指標を生成する。 Further, when the learning data is a character string, the information providing device 10 generates a generation index based on the number of types of the character string included in the learning data. Further, when the training data is floating point, the information providing device 10 generates a conversion index for input data for inputting the training data to the model as a model generation index. Further, the information providing device 10 acquires learning data indicating a plurality of features, and generates a generation index indicating a feature to be trained by the model among the features of the training data as a model generation index.
また、情報提供装置10は、複数種別の特徴を示す学習データを取得し、モデルの生成指標として、学習データの種別のうちモデルに対して相関を学習させる複数の種別を示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、モデルに入力される学習データの次元数を示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、学習データの特徴を学習させるモデルの種別を示す生成指標を生成する。 Further, the information providing device 10 acquires learning data showing the characteristics of a plurality of types, and generates a generation index indicating a plurality of types of the training data types for learning the correlation with respect to the model as a model generation index. .. Further, the information providing device 10 generates a generation index indicating the number of dimensions of the learning data input to the model as a model generation index. Further, the information providing device 10 generates a generation index indicating the type of the model for learning the features of the training data as the model generation index.
また、情報提供装置10は、モデルの生成指標として、モデルが有する中間層の数若しくは各層に含まれるノードの数を示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、モデルが有するノード間の接続態様を示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、学習データが有する特徴をモデルに学習させる際の学習態様を示す生成指標を生成する。また、情報提供装置10は、モデルの生成指標として、モデルの大きさを示す生成指標を生成する。また、情報提供装置10は、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を示す生成指標を生成する。 Further, the information providing device 10 generates a generation index indicating the number of intermediate layers of the model or the number of nodes included in each layer as a model generation index. Further, the information providing device 10 generates a generation index indicating the connection mode between the nodes of the model as a model generation index. Further, the information providing device 10 generates, as a model generation index, a generation index indicating a learning mode when the model learns the features of the learning data. Further, the information providing device 10 generates a generation index indicating the size of the model as a model generation index. Further, the information providing device 10 generates a generation index indicating the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data.
このように、情報提供装置10は、モデルを生成する際における各種の生成指標を自動的に生成する。この結果、情報提供装置10は、生成指標を利用者が作成する手間を省き、モデルの生成をより容易にすることができる。また、情報提供装置10は、学習データの内容を認識し、認識結果に応じたモデルを生成する手間を省くことができる結果、利用者の各種情報を学習データとする場合に、プライバシーの毀損を防ぐことができる。 In this way, the information providing device 10 automatically generates various generation indexes when generating the model. As a result, the information providing device 10 can save the trouble of creating the generation index by the user and can more easily generate the model. Further, the information providing device 10 can recognize the content of the learning data and save the trouble of generating a model according to the recognition result. As a result, when various information of the user is used as the learning data, the privacy is damaged. Can be prevented.
また、情報提供装置10は、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を決定する順番の指定を利用者から受け付ける。そして、情報提供装置10は、利用者から指定された順番で、モデルに学習させる学習データの特徴、生成するモデルの態様、および学習データが有する特徴をモデルに学習させる際の学習態様を決定する。このような処理の結果、情報提供装置10は、モデルの精度をより向上させることができる。 Further, the information providing device 10 receives from the user the designation of the order of determining the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data. Then, the information providing device 10 determines the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data, in the order specified by the user. .. As a result of such processing, the information providing device 10 can further improve the accuracy of the model.
また、情報提供装置10は、生成指標に従って、学習データが有する特徴を学習させたモデルを生成する。また、情報提供装置10は、モデル生成部が生成したモデルの精度に基いて、モデルの生成指標を新たに生成し、指標生成部が新たに生成した生成指標に従って、モデルを新たに生成する。例えば、情報提供装置10は、遺伝的アルゴリズムを用いて、複数の生成指標から新たな生成指標を生成する。このような処理の結果、情報提供装置10は、より精度の高いモデルを生成するための生成指標を生成することができる。 Further, the information providing device 10 generates a model in which the features of the learning data are learned according to the generation index. Further, the information providing device 10 newly generates a model generation index based on the accuracy of the model generated by the model generation unit, and newly generates a model according to the generation index newly generated by the index generation unit. For example, the information providing device 10 uses a genetic algorithm to generate a new generation index from a plurality of generation indexes. As a result of such processing, the information providing device 10 can generate a generation index for generating a model with higher accuracy.
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Although some of the embodiments of the present application have been described in detail with reference to the drawings, these are examples, and various modifications are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure column of the invention. It is possible to carry out the present invention in other improved forms.
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。 In addition, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the distribution unit can be read as a distribution means or a distribution circuit.
[付記]
上述した実施形態の説明に加え、さらに以下の付記を開示する。
(付記1)
人工知能モデルを生成し最適化するコンピュータ実装方法であって、前記方法が、
入力済みデータおよびラベルを受け取り、データ検証を実行して構成ファイルを生成し、前記データを分割して訓練および評価向けの分割済みデータを生成するステップと、
前記分割済みデータの訓練および評価を実行して誤差レベルを測定し、前記誤差レベルに基づいてアクションを実行するステップであって、前記アクションは、前記構成ファイルを修正することと、前記人工知能モデルを自動的にチューニングすることの、少なくとも片方を有する、ステップと、
前記訓練、前記評価、および前記チューニングに基づいて、前記人工知能モデルを生成するステップと、
前記モデルを本番にサービングするステップと、
を含む、コンピュータ実装方法。
(付記2)
前記チューニングが、
前記入力済みデータに関連した1つまたは複数の入力済み素性を自動的に最適化するステップと、
前記生成済み人工知能モデルに関連したハイパーパラメータを自動的に最適化するステップと、
最適化済みの1つまたは複数の入力済み素性および前記最適化済みのハイパーパラメータに基づいて、更新済みモデルを自動的に生成するステップと、
を含む、付記1に記載のコンピュータ実装方法。
(付記3)
前記1つまたは複数の入力済み素性が一般的なアルゴリズムによって最適化され、前記1つまたは複数の入力済み素性の組合せを最適化し、前記最適化済みの入力済み素性のリストを生成する、付記2に記載のコンピュータ実装方法。
(付記4)
前記自動的に前記ハイパーパラメータを最適化するステップが、ベイズアルゴリズムおよびランダムアルゴリズムの少なくとも片方を適用して前記ハイパーパラメータに基づき最適化することを有する、付記2に記載のコンピュータ実装方法。
(付記5)
前記自動的に前記1つまたは複数の入力済み素性を最適化するステップが、第1の規定の反復回数が満たされるまで実行される第1の反復ループで実行され、前記自動的に前記ハイパーパラメータを最適化するステップおよび前記自動的に前記更新済みモデルを生成するステップが、第2の規定の反復回数が満たされるまで第2の反復ループで実行される、付記2に記載のコンピュータ実装方法。
(付記6)
前記第1の反復ループおよび前記第2の反復ループが、第3の規定の反復回数が満たされるまで反復的に実行される、付記5に記載のコンピュータ実装方法。
(付記7)
前記訓練および前記評価を実行するステップが、前記データのデータ型式、前記データの密度、および前記データの量に基づいて、1つまたは複数の素性関数を実行することを有する、付記1に記載のコンピュータ実装方法。
(付記8)
人工知能モデルを生成し最適化するために、ストレージに格納されたマシン可読命令を実行するように構成された非一時的コンピュータ可読媒体であって、前記命令が、
入力済みデータおよびラベルを受け取り、データ検証を実行して構成ファイルを生成し、前記データを分割して訓練および評価向けの分割済みデータを生成するステップと、
前記分割済みデータの訓練および評価を実行して誤差レベルを測定し、前記誤差レベルに基づいてアクションを実行するステップであって、前記アクションが、前記構成ファイルを修正することと、前記人工知能モデルを自動的にチューニングすることの、少なくとも片方を有する、ステップと、
前記訓練、前記評価、および前記チューニングに基づいて、前記人工知能モデルを生成するステップと、
前記モデルを本番にサービングするステップと、
を含む、非一時的コンピュータ可読媒体。
(付記9)
前記チューニングが、
前記入力済みデータに関連した1つまたは複数の入力済み素性を自動的に最適化するステップと、
前記生成済み人工知能モデルに関連したハイパーパラメータを自動的に最適化するステップと、
最適化済みの1つまたは複数の入力済み素性および前記最適化済みのハイパーパラメータに基づいて更新済みモデルを自動的に生成するステップと、
を含む、付記8に記載の非一時的コンピュータ可読媒体。
(付記10)
前記1つまたは複数の入力済み素性が一般的なアルゴリズムによって最適化され、前記1つまたは複数の入力済み素性の組合せを最適化し、前記最適化済みの入力済み素性のリストを生成する、付記9に記載の非一時的コンピュータ可読媒体。
(付記11)
前記自動的に前記ハイパーパラメータを最適化するステップが、ベイズアルゴリズムおよびランダムアルゴリズムの少なくとも片方を適用して前記ハイパーパラメータに基づき最適化することを有する、付記9に記載の非一時的コンピュータ可読媒体。
(付記12)
前記自動的に前記1つまたは複数の入力済み素性を最適化するステップが、第1の規定の反復回数が満たされるまで実行される第1の反復ループで実行され、前記自動的に前記ハイパーパラメータを最適化するステップおよび前記自動的に前記更新済みモデルを生成するステップが、第2の規定の反復回数が満たされるまで第2の反復ループで実行される、付記9に記載の非一時的コンピュータ可読媒体。
(付記13)
前記第1の反復ループおよび前記第2の反復ループが、第3の規定の反復回数が満たされるまで反復的に実行される、付記12に記載の非一時的コンピュータ可読媒体。
(付記14)
前記訓練および前記評価を実行するステップが、前記データのデータ型式、前記データの密度、および前記データの量に基づいて、1つまたは複数の素性関数を実行することを有する、付記8に記載の非一時的コンピュータ可読媒体。
(付記15)
人工知能モデルを生成し最適化するシステムであって、前記システムが、
入力済みデータおよびラベルを受け取り、データ検証を実行して構成ファイルを生成し、前記データを分割して訓練および評価向けに分割済みデータを生成するように構成されたデータフレームワークと、
前記分割済みデータの訓練および評価を実行して誤差レベルを測定し、前記誤差レベルに基づいてアクションを実行し、前記訓練、前記評価、および前記チューニングに基づいて前記人工知能モデルを生成し、前記モデルを本番にサービングするように構成されたディープフレームワークと、
前記アクションを実行するように構成されたチューナフレームワークであって、前記アクションが、前記構成ファイルを修正することと、前記人工知能モデルを自動的にチューニングすること、のうち少なくとも片方を含むチューナフレームワークと、
を含む、システム。
(付記16)
前記チューナフレームワークが、前記入力済みデータに関連した1つまたは複数の入力済み素性を自動的に最適化し、前記生成済み人工知能モデルに関連したハイパーパラメータを自動的に最適化し、最適化済みの1つまたは複数の入力済み素性および前記最適化済みのハイパーパラメータに基づいて更新済みモデルを自動的に生成するように構成される、付記15に記載のシステム。
(付記17)
前記チューナフレームワークが、前記1つまたは複数の入力済み素性を一般的なアルゴリズムを適用することによって自動的に最適化し、前記1つまたは複数の入力済み素性の組合せを最適化し、前記最適化済みの入力済み素性のリストを生成する、付記16に記載のシステム。
(付記18)
前記チューナフレームワークが、ベイズアルゴリズムおよびランダムアルゴリズムの少なくとも片方を適用して前記ハイパーパラメータに基づき最適化することによって、前記ハイパーパラメータを自動的に最適化する、付記16に記載のシステム。
(付記19)
チューナフレームワークが、第1の反復ループで前記1つまたは複数の入力済み素性を、第1の規定の反復回数が満たされるまで自動的に最適化するステップを実行し、第2の反復ループで前記ハイパーパラメータを自動的に最適化するステップおよび前記更新済みモデルを自動的に生成するステップを、第2の規定の反復回数が満たされるまで実行する、付記16に記載のシステム。
(付記20)
チューナフレームワークが、前記第1の反復ループおよび前記第2の反復ループを、第3の規定の反復回数が満たされるまで反復的に実行する、付記19に記載のシステム。
[Additional Notes]
In addition to the above description of the embodiment, the following additional notes will be further disclosed.
(Appendix 1)
A computer implementation method for generating and optimizing an artificial intelligence model.
The steps of receiving the entered data and labels, performing data validation to generate a configuration file, and splitting the data to generate split data for training and evaluation.
A step of performing training and evaluation of the divided data to measure an error level and performing an action based on the error level, wherein the action modifies the configuration file and the artificial intelligence model. Have at least one of the steps to tune automatically,
A step of generating the artificial intelligence model based on the training, the evaluation, and the tuning.
The step of serving the model in production and
Computer implementation methods, including.
(Appendix 2)
The tuning
A step that automatically optimizes one or more entered features related to the entered data, and
The steps to automatically optimize the hyperparameters associated with the generated artificial intelligence model,
Steps to automatically generate an updated model based on one or more optimized input features and the optimized hyperparameters.
The computer mounting method according to Appendix 1, which comprises.
(Appendix 3)
The one or more input features are optimized by a general algorithm, the combination of the one or more input features is optimized, and a list of the optimized input features is generated, Appendix 2. Computer implementation method described in.
(Appendix 4)
The computer implementation method according to Appendix 2, wherein the step of automatically optimizing the hyperparameters comprises applying at least one of a Bayesian algorithm and a random algorithm to optimize based on the hyperparameters.
(Appendix 5)
The step of automatically optimizing the one or more input features is performed in a first iteration loop that is executed until the first defined number of iterations is met, and the hyperparameters are automatically said. 2. The computer implementation method according to Appendix 2, wherein the step of optimizing the above and the step of automatically generating the updated model are executed in a second iteration loop until the second specified number of iterations is satisfied.
(Appendix 6)
The computer implementation method according to Appendix 5, wherein the first iteration loop and the second iteration loop are iteratively executed until a third defined number of iterations is met.
(Appendix 7)
Addendum 1. The step of performing the training and the evaluation comprises performing one or more feature functions based on the data type of the data, the density of the data, and the amount of the data. Computer implementation method.
(Appendix 8)
A non-transitory computer-readable medium configured to execute machine-readable instructions stored in storage in order to generate and optimize an artificial intelligence model.
The steps of receiving the entered data and labels, performing data validation to generate a configuration file, and splitting the data to generate split data for training and evaluation.
A step of performing training and evaluation of the divided data to measure an error level and performing an action based on the error level, wherein the action modifies the configuration file and the artificial intelligence model. Have at least one of the steps to tune automatically,
A step of generating the artificial intelligence model based on the training, the evaluation, and the tuning.
The step of serving the model in production and
Non-transitory computer-readable media, including.
(Appendix 9)
The tuning
A step that automatically optimizes one or more entered features related to the entered data, and
The steps to automatically optimize the hyperparameters associated with the generated artificial intelligence model,
Steps to automatically generate an updated model based on one or more optimized input features and the optimized hyperparameters.
The non-transitory computer-readable medium according to Appendix 8, comprising.
(Appendix 10)
The one or more input features are optimized by a general algorithm, the combination of the one or more input features is optimized, and a list of the optimized input features is generated. Non-temporary computer-readable media described in.
(Appendix 11)
The non-temporary computer-readable medium according to Appendix 9, wherein the step of automatically optimizing the hyperparameters comprises applying at least one of a Bayesian algorithm and a random algorithm to optimize based on the hyperparameters.
(Appendix 12)
The step of automatically optimizing the one or more input features is performed in a first iteration loop that is executed until the first defined number of iterations is met, and the hyperparameters are automatically said. The non-transient computer according to Appendix 9, wherein the step of optimizing the above and the step of automatically generating the updated model are executed in the second iteration loop until the second specified number of iterations is satisfied. Readable medium.
(Appendix 13)
The non-transitory computer-readable medium according to Appendix 12, wherein the first iteration loop and the second iteration loop are iteratively executed until a third defined iteration count is met.
(Appendix 14)
8. Addendum 8, wherein the step of performing the training and the evaluation comprises performing one or more feature functions based on the data type of the data, the density of the data, and the amount of the data. Non-temporary computer-readable medium.
(Appendix 15)
A system that generates and optimizes an artificial intelligence model.
A data framework configured to receive input data and labels, perform data validation to generate a configuration file, and split the data to generate split data for training and evaluation.
Training and evaluation of the divided data is performed to measure the error level, actions are performed based on the error level, and the artificial intelligence model is generated based on the training, the evaluation, and the tuning. With a deep framework configured to serve the model in production,
A tuner framework configured to perform the action, the action including at least one of modifying the configuration file and automatically tuning the artificial intelligence model. Work and
Including the system.
(Appendix 16)
The tuner framework automatically optimizes one or more input elements related to the input data, and automatically optimizes and optimizes the hyperparameters related to the generated artificial intelligence model. The system according to Appendix 15, which is configured to automatically generate an updated model based on one or more entered inputs and the optimized hyperparameters.
(Appendix 17)
The tuner framework automatically optimizes the one or more input features by applying a general algorithm, optimizes the combination of the one or more input features, and optimizes the optimized features. The system according to Appendix 16, which generates a list of entered features of.
(Appendix 18)
The system according to Appendix 16, wherein the tuner framework automatically optimizes the hyperparameters by applying at least one of a Bayesian algorithm and a random algorithm and optimizing based on the hyperparameters.
(Appendix 19)
The tuner framework performs a step of automatically optimizing the one or more input features in the first iteration loop until the first specified number of iterations is met, and in the second iteration loop. 16. The system of Appendix 16, wherein the steps of automatically optimizing the hyperparameters and automatically generating the updated model are performed until the second defined number of iterations is met.
(Appendix 20)
19. The system of Appendix 19, wherein the tuner framework iteratively executes the first iterative loop and the second iterative loop until a third defined number of iterations is met.
2 モデル生成サーバ
3 端末装置
10 情報提供装置
20 通信部
30 記憶部
40 制御部
41 取得部
42 指標生成部
43 提示部
44 受付部
45 モデル生成部
46 提供部
2 Model generation server 3 Terminal device 10 Information providing device 20 Communication unit 30 Storage unit 40 Control unit 41 Acquisition unit 42 Index generation unit 43 Presentation unit 44 Reception unit 45 Model generation unit 46 Providing unit
Claims (23)
前記学習データが有する特徴に基いて、前記モデルの生成指標を生成する指標生成部と
を有することを特徴とする生成装置。 An acquisition unit that acquires training data used for model training,
A generation device including an index generation unit that generates a generation index of the model based on the characteristics of the training data.
ことを特徴とする請求項1に記載の生成装置。 The generator according to claim 1, wherein the index generation unit generates the generation index based on the statistical characteristics of the learning data.
ことを特徴とする請求項1または2に記載の生成装置。 The index generation unit according to claim 1 or 2, wherein the index generation unit generates the generation index based on whether the training data is an integer, a floating point number, or a character string. Generator.
ことを特徴とする請求項3に記載の生成装置。 The generation device according to claim 3, wherein the index generation unit generates the generation index based on the continuity of the learning data when the learning data is an integer.
ことを特徴とする請求項4に記載の生成装置。 The index generation unit is characterized in that when the density of the learning data exceeds a predetermined first threshold value, the index generation unit generates the generation index based on whether or not the maximum value of the learning data exceeds a predetermined second threshold value. The generator according to claim 4.
ことを特徴とする請求項4または5に記載の生成装置。 When the density of the training data is lower than the predetermined first threshold value, the index generation unit generates the generation index based on whether or not the number of unique values included in the training data exceeds the predetermined third threshold value. The generator according to claim 4 or 5, wherein the generator is generated.
ことを得著とする請求項3〜6のうちいずれか1つに記載の生成装置。 Of claims 3 to 6, the index generation unit is particularly good at generating the generation index based on the number of types of character strings included in the training data when the learning data is a character string. The generator according to any one.
ことを特徴とする請求項3〜7のうちいずれか1つに記載の生成装置。 The index generation unit is characterized in that, when the training data is a floating point number, a conversion index for inputting the training data into the input data is generated as a generation index of the model. The generator according to any one of 7.
前記指標生成部は、前記モデルの生成指標として、前記学習データが有する特徴のうち前記モデルに学習させる特徴を示す生成指標を生成する
ことを特徴とする請求項1〜8のうちいずれか1つに記載の生成装置。 The acquisition unit acquires learning data showing a plurality of features and obtains learning data.
The index generation unit is any one of claims 1 to 8 characterized in that, as a generation index of the model, a generation index indicating a feature to be trained by the model is generated among the features of the training data. The generator described in.
前記指標生成部は、前記モデルの生成指標として、前記学習データの種別のうち前記モデルに対して相関を学習させる複数の種別を示す生成指標を生成する
ことを特徴とする請求項1〜9のうちいずれか1つに記載の生成装置。 The acquisition unit acquires learning data indicating a plurality of types of features, and obtains learning data.
The index generation unit according to claim 1 to 9, wherein, as a generation index of the model, a generation index indicating a plurality of types of the training data types for learning the correlation with respect to the model is generated. The generator according to any one of them.
ことを特徴とする請求項1〜10のうちいずれか1つに記載の生成装置。 The index generation unit according to any one of claims 1 to 10, wherein the index generation unit generates a generation index indicating the number of dimensions of the learning data input to the model as the generation index of the model. Generator.
ことを特徴とする請求項1〜11のうちいずれか1つに記載の生成装置。 The index generation unit according to any one of claims 1 to 11, wherein the index generation unit generates a generation index indicating the type of the model for learning the characteristics of the training data as the generation index of the model. Generator.
ことを特徴とする請求項1〜12のうちいずれか1つに記載の生成装置。 The index generation unit is any one of claims 1 to 12, characterized in that, as a generation index of the model, a generation index indicating the number of intermediate layers possessed by the model or the number of nodes included in each layer is generated. The generator according to one.
ことを特徴とする請求項1〜13のうちいずれか1つに記載の生成装置。 The generation device according to any one of claims 1 to 13, wherein the index generation unit generates a generation index indicating a connection mode between nodes of the model as a generation index of the model. ..
ことを特徴とする請求項1〜14のうちいずれか1つに記載の生成装置。 Any one of claims 1 to 14, wherein the index generation unit generates, as a generation index of the model, a generation index indicating a learning mode when the model is trained with the features of the training data. The generator according to one.
ことを特徴とする請求項1〜15のうちいずれか1つに記載の生成装置。 The generator according to any one of claims 1 to 15, wherein the index generation unit generates a generation index indicating the size of the model as a generation index of the model.
ことを特徴とする請求項1〜16のうちいずれか1つに記載の生成装置。 The index generation unit is characterized in that it generates a generation index indicating the characteristics of the learning data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data. The generator according to any one of claims 1 to 16.
を有し、
前記指標生成部は、前記利用者から指定された順番で、前記モデルに学習させる学習データの特徴、生成するモデルの態様、および前記学習データが有する特徴をモデルに学習させる際の学習態様を決定する
ことを特徴とする請求項1〜17のうちいずれか1つに記載の生成装置。 It has a reception unit that accepts from the user the specifications of the learning data to be trained by the model, the mode of the model to be generated, and the order of determining the learning mode when the model is trained with the features of the training data.
The index generation unit determines the characteristics of the training data to be trained by the model, the mode of the model to be generated, and the learning mode when the model is trained with the features of the training data, in the order specified by the user. The generator according to any one of claims 1 to 17, wherein the generator.
を有することを特徴とする請求項1〜18のうちいずれか1つに記載の生成装置。 The generator according to any one of claims 1 to 18, further comprising a model generator that generates a model in which the features of the training data are trained according to the generation index.
前記モデル生成部は、前記指標生成部が新たに生成した生成指標に従って、前記モデルを新たに生成する
ことを特徴とする請求項19に記載の生成装置。 The index generation unit newly generates a generation index of the model based on the accuracy of the model generated by the model generation unit.
The generation device according to claim 19, wherein the model generation unit newly generates the model according to a generation index newly generated by the index generation unit.
前記モデル生成部は、各生成指標ごとに前記モデルを生成し、
前記指標生成部は、遺伝的アルゴリズムを用いて、前記複数の生成指標から新たな生成指標を生成する
ことを特徴とする請求項20に記載の生成装置。 The index generation unit generates a plurality of generation indexes,
The model generation unit generates the model for each generation index, and generates the model.
The generation device according to claim 20, wherein the index generation unit generates a new generation index from the plurality of generation indexes by using a genetic algorithm.
モデルの学習に用いる学習データを取得する取得工程と、
前記学習データが有する特徴に基いて、前記モデルの生成指標を生成する指標生成工程と
を含むことを特徴とする生成方法。 It is a generation method executed by the generation device.
The acquisition process to acquire the training data used for model training,
A generation method including an index generation step of generating a generation index of the model based on the characteristics of the training data.
前記学習データが有する特徴に基いて、前記モデルの生成指標を生成する指標生成手順と
をコンピュータに実行させるための生成プログラム。 Acquisition procedure to acquire training data used for model training,
A generation program for causing a computer to execute an index generation procedure for generating a generation index of the model based on the characteristics of the training data.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962818437P | 2019-03-14 | 2019-03-14 | |
US62/818,437 | 2019-03-14 | ||
US16/552,882 US11687839B2 (en) | 2019-03-14 | 2019-08-27 | System and method for generating and optimizing artificial intelligence models |
US16/552,882 | 2019-08-27 | ||
US201962926276P | 2019-10-25 | 2019-10-25 | |
US62/926,276 | 2019-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020149693A true JP2020149693A (en) | 2020-09-17 |
JP7267964B2 JP7267964B2 (en) | 2023-05-02 |
Family
ID=72429734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020044720A Active JP7267964B2 (en) | 2019-03-14 | 2020-03-13 | Generation device, generation method and generation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7267964B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113066655A (en) * | 2021-03-26 | 2021-07-02 | 安徽工业大学 | Intelligent production system and production method of self-learning high-silicon steel soft magnetic composite iron core |
US20220108186A1 (en) * | 2020-10-02 | 2022-04-07 | Francisco Daniel Filip Duarte | Niche Ranking Method |
WO2022080000A1 (en) * | 2020-10-13 | 2022-04-21 | ソニーグループ株式会社 | Information processing apparatus, information processing method, computer program, and learning system |
WO2022269743A1 (en) * | 2021-06-22 | 2022-12-29 | 日本電信電話株式会社 | Secure computation device, purchase prediction system, secure computation method, and program |
JP7262654B1 (en) | 2022-07-11 | 2023-04-21 | アクタピオ,インコーポレイテッド | Information processing method, information processing device, and information processing program |
WO2023149120A1 (en) * | 2022-02-07 | 2023-08-10 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014115685A (en) * | 2012-12-06 | 2014-06-26 | Nippon Telegr & Teleph Corp <Ntt> | Profile analyzing device, method and program |
JP2015230570A (en) * | 2014-06-04 | 2015-12-21 | 日本電信電話株式会社 | Learning model creation device, determination system and learning model creation method |
JP2018156346A (en) * | 2017-03-17 | 2018-10-04 | 株式会社日立製作所 | Business Improvement Support Apparatus and Business Improvement Support Method |
WO2019008661A1 (en) * | 2017-07-04 | 2019-01-10 | Nec Corporation | Information processing apparatus, control method, and program |
JP2019012555A (en) * | 2017-04-10 | 2019-01-24 | 株式会社クロスコンパス | Artificial intelligence module development system and artificial intelligence module development integration system |
JP2019021210A (en) * | 2017-07-20 | 2019-02-07 | ヤフー株式会社 | Specification device and specification method |
-
2020
- 2020-03-13 JP JP2020044720A patent/JP7267964B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014115685A (en) * | 2012-12-06 | 2014-06-26 | Nippon Telegr & Teleph Corp <Ntt> | Profile analyzing device, method and program |
JP2015230570A (en) * | 2014-06-04 | 2015-12-21 | 日本電信電話株式会社 | Learning model creation device, determination system and learning model creation method |
JP2018156346A (en) * | 2017-03-17 | 2018-10-04 | 株式会社日立製作所 | Business Improvement Support Apparatus and Business Improvement Support Method |
JP2019012555A (en) * | 2017-04-10 | 2019-01-24 | 株式会社クロスコンパス | Artificial intelligence module development system and artificial intelligence module development integration system |
WO2019008661A1 (en) * | 2017-07-04 | 2019-01-10 | Nec Corporation | Information processing apparatus, control method, and program |
JP2019021210A (en) * | 2017-07-20 | 2019-02-07 | ヤフー株式会社 | Specification device and specification method |
Non-Patent Citations (1)
Title |
---|
澤田 好秀 YOSHIHIDE SAWADA: "深層学習に基づく転移学習を用いたたんぱく質解析による敗血症識別 Proteomics-based Sepsis Classificati", 電子情報通信学会論文誌D VOLUMEJ100−D NO.8 [ONLINE], vol. 第J100-D巻, JPN6022054188, 1 August 2017 (2017-08-01), JP, pages 733 - 741, ISSN: 0004955572 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220108186A1 (en) * | 2020-10-02 | 2022-04-07 | Francisco Daniel Filip Duarte | Niche Ranking Method |
WO2022080000A1 (en) * | 2020-10-13 | 2022-04-21 | ソニーグループ株式会社 | Information processing apparatus, information processing method, computer program, and learning system |
CN113066655A (en) * | 2021-03-26 | 2021-07-02 | 安徽工业大学 | Intelligent production system and production method of self-learning high-silicon steel soft magnetic composite iron core |
CN113066655B (en) * | 2021-03-26 | 2023-03-14 | 安徽工业大学 | Intelligent production system and production method of self-learning high-silicon steel soft magnetic composite iron core |
WO2022269743A1 (en) * | 2021-06-22 | 2022-12-29 | 日本電信電話株式会社 | Secure computation device, purchase prediction system, secure computation method, and program |
WO2023149120A1 (en) * | 2022-02-07 | 2023-08-10 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
JP7262654B1 (en) | 2022-07-11 | 2023-04-21 | アクタピオ,インコーポレイテッド | Information processing method, information processing device, and information processing program |
JP2024009738A (en) * | 2022-07-11 | 2024-01-23 | アクタピオ,インコーポレイテッド | Information processing method, information processing apparatus, and information processing program |
JP7449426B2 (en) | 2022-07-11 | 2024-03-13 | アクタピオ,インコーポレイテッド | Information processing method, information processing device, and information processing program |
Also Published As
Publication number | Publication date |
---|---|
JP7267964B2 (en) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7267964B2 (en) | Generation device, generation method and generation program | |
JP7043512B2 (en) | A new autonomous artificial intelligence system that predicts pipe leaks | |
US20240046157A1 (en) | System and method for generating and optimizing artificial intelligence models | |
US11109083B2 (en) | Utilizing a deep generative model with task embedding for personalized targeting of digital content through multiple channels across client devices | |
US11556567B2 (en) | Generating and visualizing bias scores representing bias in digital segments within segment-generation-user interfaces | |
US8762299B1 (en) | Customized predictive analytical model training | |
US11687839B2 (en) | System and method for generating and optimizing artificial intelligence models | |
Lyu et al. | An empirical study of the impact of data splitting decisions on the performance of AIOps solutions | |
Ay et al. | FC-Kmeans: Fixed-centered K-means algorithm | |
US11663509B2 (en) | System and method for a personalized machine learning pipeline selection and result interpretation | |
Vlachos et al. | Addressing interpretability and cold-start in matrix factorization for recommender systems | |
US11244244B1 (en) | Machine learning systems architectures for ranking | |
WO2019188101A1 (en) | Device, method and program for analyzing customer attribute information | |
JP2024516656A (en) | Industry-Specific Machine Learning Applications | |
Hammond et al. | Cloud based predictive analytics: text classification, recommender systems and decision support | |
Zhang et al. | E‐Commerce Information System Management Based on Data Mining and Neural Network Algorithms | |
US20240184598A1 (en) | Real-time event status via an enhanced graphical user interface | |
Patoulia et al. | A comparative study of collaborative filtering in product recommendation | |
Nagwani et al. | A comparative study of bug classification algorithms | |
JP7041299B1 (en) | Information processing equipment, information processing methods and information processing programs | |
Dua et al. | Machine Learning with Spark | |
Vieira et al. | An automated approach for binary classification on imbalanced data | |
Withanawasam | Apache Mahout Essentials | |
Satu et al. | Modeling online customer purchase intention behavior applying different feature engineering and classification techniques | |
US20220156334A1 (en) | User profile matching using lists |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221116 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230328 |
|
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: 20230404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7267964 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |