IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニューロクル インコーポレーテッドの特許一覧

<図1>
  • 特許-自動化された機械学習方法及びその装置 図1
  • 特許-自動化された機械学習方法及びその装置 図2
  • 特許-自動化された機械学習方法及びその装置 図3
  • 特許-自動化された機械学習方法及びその装置 図4
  • 特許-自動化された機械学習方法及びその装置 図5
  • 特許-自動化された機械学習方法及びその装置 図6
  • 特許-自動化された機械学習方法及びその装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】自動化された機械学習方法及びその装置
(51)【国際特許分類】
   G06N 3/0985 20230101AFI20240813BHJP
   G06N 20/00 20190101ALI20240813BHJP
【FI】
G06N3/0985
G06N20/00
【請求項の数】 15
(21)【出願番号】P 2023516482
(86)(22)【出願日】2020-11-16
(65)【公表番号】
(43)【公表日】2023-09-29
(86)【国際出願番号】 KR2020016084
(87)【国際公開番号】W WO2022055020
(87)【国際公開日】2022-03-17
【審査請求日】2023-03-10
(31)【優先権主張番号】10-2020-0116989
(32)【優先日】2020-09-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】523088590
【氏名又は名称】ニューロクル インコーポレーテッド
【氏名又は名称原語表記】NEUROCLE INC.
【住所又は居所原語表記】#301,3F,32,Maeheon-ro 16-gil Seocho-gu Seoul 06770,Republic of Korea
(74)【代理人】
【識別番号】100130111
【弁理士】
【氏名又は名称】新保 斉
(72)【発明者】
【氏名】イ、ジェ ファン
(72)【発明者】
【氏名】イム、ヒョン ジン
【審査官】福西 章人
(56)【参考文献】
【文献】特開2020-123270(JP,A)
【文献】米国特許出願公開第2019/0272468(US,A1)
【文献】韓国公開特許第10-2019-0048895(KR,A)
【文献】韓国公開特許第10-2020-0080947(KR,A)
【文献】井上 研一 ,使ってわかったAWSのAI まるごと試せば視界は良好 さあPythonではじめよう!,第1版第1刷,日本,株式会社リックテレコム,2020年06月02日,pp.158-221
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/0985
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
自動化された機械学習方法であって、
学習モデルの性能に影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録する段階と、
入力された学習条件に基づいて、前記第1パラメーターセットの中で前記学習モデルの生成に用いる少なくとも一つの第2パラメーターセットを選定する段階と、
前記第2パラメーターセット及び所定の入力データセットに基づいてネットワーク関数に対する学習を進めることにより、前記第2パラメーターセットのそれぞれに対応する前記学習モデルを生成し、前記学習モデルのそれぞれに対する検証スコア(validation score)を算出する段階と、
前記検証スコアをもとに、生成された前記学習モデルのいずれか一つを適用モデルで選択する段階と、を含む構成において、
前記第1パラメーターセットを登録する段階は、
前記少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることで、複数の候補パラメーターセットを生成する段階と、
前記候補パラメーターセットのそれぞれに対して第1データセットを通じて前記ネットワーク関数に対する学習を進めて交差検証を行う段階と、
前記交差検証の結果によって、前記候補パラメーターセットの中で少なくとも一つを前記第1パラメーターセットとして決定する段階と、
を含む、方法。
【請求項2】
前記交差検証を行う段階及び前記第1パラメーターセットとして決定する段階は、前記第1データセットと異なる少なくとも一つの第2データセットに基づいて繰り返し行われる、請求項に記載の方法。
【請求項3】
前記交差検証の結果は、前記候補パラメーターセットのそれぞれに対して算出された前記交差検証による検証スコアの平均及び標準偏差を含み、
前記第1パラメーターセットとして決定する段階では、
前記検証スコアの平均及び標準偏差に基づき統計的比較を行うことで、所定の基準値(baseline)よりも高い性能を有する前記候補パラメーターセットを前記第1パラメーターセットとして決定する、請求項に記載の方法。
【請求項4】
前記第1パラメーターセットは、ネットワーク関数の種類、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)の中で少なくとも一つに関するパラメーターの設定データを含む、請求項1に記載の方法。
【請求項5】
前記学習条件は、学習環境、推論速度(inference speed)、及び検索範囲の中で少なくとも一つに関する条件を含む、請求項1に記載の方法。
【請求項6】
前記第2パラメーターを選定する段階は、
前記第1パラメーターセットをアキテクチャー(architecture)及び前記推論速度の中で少なくとも一つを基準として整列する段階と、
入力された前記学習条件によって、前記整列された第1パラメーターセットの中で上位の所定の割合を前記第2パラメーターセットに選定する段階と、を含む、請求項に記載の方法。
【請求項7】
前記検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出される、請求項1に記載の方法。
【請求項8】
自動化された機械学習装置であって、
自動化された機械学習のためのプログラムを格納するメモリーと、
前記プログラムを実行することで、学習モデルの性能に影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録し、入力された学習条件に基づいて、前記第1パラメーターセットの中で前記学習モデルの生成に用いる少なくとも一つの第2パラメーターセットを選定し、前記第2パラメーターセット及び所定の入力データセットに基づいてネットワーク関数に対する学習を進めることで、前記第2パラメーターセットのそれぞれに対応する前記学習モデルを生成し、前記学習モデルのそれぞれに対する検証スコア(validation score)を算出して、前記検証スコアに基づき、生成された前記学習モデルのいずれか一つを適用モデルで選択するように制御するプロセッサーと、を含む構成において、
前記プロセッサーは、
前記少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることで、複数の候補パラメーターセットを生成し、前記候補パラメーターセットのそれぞれ対して第1データセットを通じて前記ネットワーク関数に対する学習を進めて交差検証を行い、前記交差検証の結果によって、前記候補パラメーターセットの中で少なくとも一つを前記第1パラメーターセットとして決定するように制御する、装置。
【請求項9】
前記プロセッサーは、
前記第1データセットと異なる少なくとも一つの第2データセットに基づいて前記交差検証及び前記交差検証の結果による前記第1パラメーターセットの決定を繰り返し行うように制御する、請求項に記載の装置。
【請求項10】
前記プロセッサーは、
前記候補パラメーターセットのそれぞれに対して前記交差検証による検証スコアの平均及び標準偏差を算出し、前記検証スコアの平均及び標準偏差に基づき統計的比較を行うことにより、所定の基準値(baseline)よりも高い性能を有する前記候補パラメーターセットを前記第1パラメーターセットとして決定するように制御する、請求項に記載の装置。
【請求項11】
前記第1パラメーターセットは、ネットワーク関数の種類、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)の中で少なくとも一つに関するパラメーターの設定データを含む、請求項に記載の装置。
【請求項12】
前記学習条件は、学習環境、推論速度(inference speed)、及び検索範囲の中で少なくとも一つに関する条件を含む、請求項に記載の装置。
【請求項13】
前記プロセッサーは、
前記第1パラメーターセットをアキテクチャー(architecture)及び前記推論速度の中で少なくとも一つを基準として整列し、入力された前記学習条件によって、前記整列された第1パラメーターセットの中で上位の所定の割合を前記第2パラメーターセットに選定するように制御する、請求項12に記載の装置。
【請求項14】
前記検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出される、請求項に記載の装置。
【請求項15】
請求項1~のいずれか一項に記載の方法を実行するために記録媒体に格納されたコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示(disclosure)の技術的思想は、自動化された機械学習方法及びその装置に関する。
【背景技術】
【0002】
機械学習(Machine Learning)は、AIの一分野であって、データに基づいてコンピューターを学習させるアルゴリズムと技術を開発する分野であり、イメージ処理、映像認識、音声認識、インターネット検索などの多様な分野における核心技術であり、予測(prediction)、オブジェクト検出(detection)、オブジェクト分類(classification)、オブジェクト分割(segmentation)、異常検知(anomaly detection)などに卓越した成果を示す。
【0003】
このような機械学習を通じて目標とする性能の学習モデル導き出すためには、機械学習のためのニューラルネットワーク(neural network)を適宜選択することが求められる。しかし、ニューラルネットワークの選択に際して、絶対的な基準が存在していないことから、適用しようと分野または入力データの特性に適するニューラルネットワークを選ぶことはかなり難題であるしかない。
【0004】
例えば、データセットの種類によって、深い層のネットワークの方が、性能が良いことができ、むしろ層が深くなくても十分に性能を導き出せることもあり、特に、産業体の場合、推論時間(inference time)を非常に重要なものと考える場合があるため、深いネットワークが不向きであることもある。
【0005】
また、学習モデルの性能は、ユーザによって設定される複数のハイパーパラメーター(hyper parameter)に影響を受けるようになるので、このようなハイパーパラメーターを入力データなどの特性に合わせて設定することも機械学習において重要なイシューである。
【0006】
ところが、機械学習のブラックボックスの特性上、入力データセットに好適なハイパーパラメーターを把握するためには、起こり得るすべての場合の数に対して非常に消耗的な実験過程が必要であり、とりわけ、非専門家である場合、いかなるハイパーパラメーターが有意味な変化を導き出すか推測もされにくいという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示の技術的思想に基づく自動化された機械学習装置及びその装置が達成しようとする技術的課題は、入力データなどの特性に適するようにネットワーク関数及びそのパラメーターを速かに自動で最適化することができる自動化された機械学習方法及び装置を提供することにある。
【0008】
本開示の技術的思想に基づく方法及びそのための装置が達成しようとする技術的課題は、前述した課題に限定されなく、言及されていないまた他の課題は、下記の記述から当業者にとって明確に理解されることができるはずである。
【課題を解決するための手段】
【0009】
本開示の技術的思想に基づく一態様によれば、自動化された機械学習方法は、学習モデルの性能に影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録する段階と、入力された学習条件に基づいて、前記第1パラメーターセットの中で前記学習モデルの生成に用いる少なくとも一つの第2パラメーターセットを選定する段階と、前記第2パラメーターセット及び所定の入力データセットに基づいてネットワーク関数に対する学習を進めることにより、前記第2パラメーターセットのそれぞれに対応する前記学習モデルを生成し、前記学習モデルのそれぞれに対する検証スコア(validation score)を算出する段階と、前記検証スコアをもとに、生成された前記学習モデルのいずれか一つを適用モデルで選択する段階と、を含むことができる。
【0010】
例示的な実施の形態によれば、前記第1パラメーターセットを登録する段階は、前記少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることで、複数の候補パラメーターセットを生成する段階と、前記候補パラメーターセットのそれぞれに対して第1データセットを通じて前記ネットワーク関数に対する学習を進めて交差検証を行う段階と、前記交差検証の結果によって、前記候補パラメーターセットの中で少なくとも一つを前記第1パラメーターセットとして決定する段階と、を含むことができる。
【0011】
例示的な実施の形態によれば、前記交差検証を行う段階及び前記第1パラメーターセットとして決定する段階は、前記第1データセットと異なる少なくとも一つの第2データセットに基づいて繰り返し行われることができる。
【0012】
例示的な実施の形態によれば、前記交差検証の結果は、前記候補パラメーターセットのそれぞれに対して算出された前記交差検証による検証スコアの平均及び標準偏差を含み、前記第1パラメーターセットとして決定する段階では、前記検証スコアの平均及び標準偏差に基づき統計的比較を行うことで、所定の基準値(baseline)よりも高い性能を有する前記候補パラメーターセットを前記第1パラメーターセットとして決定することができる。
【0013】
例示的な実施の形態によれば、前記第1パラメーターセットは、ネットワーク関数の種類、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)の中で少なくとも一つに関するパラメーターの設定データを含むことができる。
【0014】
例示的な実施の形態によれば、前記学習条件は、学習環境、推論速度(inference speed)、及び検索範囲の中で少なくとも一つに関する条件を含むことができる。
【0015】
例示的な実施の形態によれば、前記第2パラメーターを選定する段階は、前記第1パラメーターセットをアキテクチャー(architecture)及び前記推論速度の中で少なくとも一つを基準として整列する段階と、入力された前記学習条件によって、前記整列された第1パラメーターセットの中で上位の所定の割合を前記第2パラメーターセットに選定する段階と、を含むことができる。
【0016】
例示的な実施の形態によれば、前記検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出される。
【0017】
本開示の技術的思想に基づく一態様によれば、自動化された機械学習装置は、自動化された機械学習のためのプログラムを格納するメモリーと、前記プログラムを実行することで、学習モデルの性能に影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録し、入力された学習条件に基づいて、前記第1パラメーターセットの中で前記学習モデルの生成に用いる少なくとも一つの第2パラメーターセットを選定し、前記第2パラメーターセット及び所定の入力データセットに基づいてネットワーク関数に対する学習を進めることで、前記第2パラメーターセットのそれぞれに対応する前記学習モデルを生成し、前記学習モデルのそれぞれに対する検証スコア(validation score)を算出して、前記検証スコアに基づき、生成された前記学習モデルのいずれか一つを適用モデルで選択するように制御するプロセッサーと、を含むことができる。
【0018】
例示的な実施の形態によれば、前記プロセッサーは、前記少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることで、複数の候補パラメーターセットを生成し、前記候補パラメーターセットのそれぞれ対して第1データセットを通じて前記ネットワーク関数に対する学習を進めて交差検証を行い、前記交差検証の結果によって、前記候補パラメーターセットの中で少なくとも一つを前記第1パラメーターセットとして決定するように制御することができる。
【0019】
例示的な実施の形態によれば、前記プロセッサーは、前記第1データセットと異なる少なくとも一つの第2データセットに基づいて前記交差検証及び前記交差検証の結果による前記第1パラメーターセットの決定を繰り返し行うように制御することができる。
【0020】
例示的な実施の形態によれば、前記プロセッサーは、前記候補パラメーターセットのそれぞれに対して前記交差検証による検証スコアの平均及び標準偏差を算出し、前記検証スコアの平均及び標準偏差に基づき統計的比較を行うことにより、所定の基準値(baseline)よりも高い性能を有する前記候補パラメーターセットを前記第1パラメーターセットとして決定するように制御することができる。
【0021】
例示的な実施の形態によれば、前記第1パラメーターセットは、ネットワーク関数の種類、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)の中で少なくとも一つに関するパラメーターの設定データを含むことができる。
【0022】
例示的な実施の形態によれば、前記学習条件は、学習環境、推論速度(inference speed)、及び検索範囲の中で少なくとも一つに関する条件を含むことができる。
【0023】
例示的な実施の形態によれば、前記プロセッサーは、前記第1パラメーターセットをアキテクチャー(architecture)及び前記推論速度の中で少なくとも一つを基準として整列し、入力された前記学習条件によって、前記整列された第1パラメーターセットの中で上位の所定の割合を前記第2パラメーターセットに選定するように制御することができる。
【0024】
例示的な実施の形態によれば、前記検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出される。
【発明の効果】
【0025】
本開示の技術的思想に基づく実施の形態に係る自動化された機械学習方法及びそのための装置によれば、ユーザが学習条件および入力データなどを入力するだけで好適なネットワーク関数の選択及びハイパーパラメーターの最適化を自動で行うように具現されることで、非専門家でも容易に学習モデルを生成して活用することができる。
【0026】
また、本開示の技術的思想に基づく実施の形態に係る自動化された機械学習方法及びそのための装置によれば、一定した基準値以上の性能を有する有意味なハイパーパラメーターの組み合わせをあらかじめ検索及び登録することで、ハイパーパラメーターの最適化に要する検索範囲及び時間を最小化することができる。
【0027】
本開示の技術的思想に基づく方法及びそのための装置によって得られる効果は、前述した効果に限定されなく、言及されていないまた他の効果は、下記の記述から本開示の属する技術分野における通常の知識を持つ者に明確に理解できるだろう。
【図面の簡単な説明】
【0028】
本開示で引用される図面をより十分に理解すべく、各図面の簡単な説明が提供される。
図1図1は、ネットワーク関数のパラメーターの最適化を説明するための図である。
図2図2は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法を説明するための流れ図である。
図3図3は、図2のS210段階の一実施の形態を示す図である。
図4図4は、図2のS220段階の一実施の形態を示す図である。
図5図5は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法において、パラメーターセットをプリセットグループに登録する過程を例示的に示す図である。
図6図6は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法において、学習条件を入力するためのユーザインターフェースを例示的に示す図である。
図7図7は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習装置の構成を簡略に示したブロック図である。
【発明を実施するための形態】
【0029】
本開示の技術的思想は、種々の変更を加えることができ、いろいろな実施の形態を有することができるところ、特定の実施の形態を図面に例示しこれを詳しく説明する。しかし、これは本開示の技術的思想を特定の実施形態に対して限定しようとするわけではなく、本開示の技術的思想の範囲に含まれるすべての変更、均等物ないし代替物を含むものと理解されなければならない。
【0030】
本開示の技術的思想を説明するにおいて、関連の公知技術に対する具体的な説明が本開示の要旨を無駄に濁らす恐れがあると判断される場合、その詳細な説明を省略する。また、本開示の説明過程で用いられる数字(例えば、第1、第2など)は、一つの構成要素を他の構成要素と区分するための識別記号に過ぎないものである。
【0031】
また、本開示において、一構成要素が他の構成要素と「連結さる」または「接続される」などのように言及された時には、前記一構成要素が前記他の構成要素と直接連結されるまたは直接接続されることもできるが、特に反対の記載が存在しない以上、その中間に別の構成要素を介して連結または接続されることもできると理解されなければならない。
【0032】
また、本開示に記載された「…部」、「…機」、「…子」、「…モジュール」などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これはプロセッサー(Processor)、マイクロプロセッサー(Micro Processer)、マイクロコントローラー(Micro Controller)、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、APU(Accelerate Processor Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などのようなハードウェアやソフトウェア、またはハードウェアとソフトウェアとの結合で具現できる。
【0033】
そして、本開示での構成部に対する区分は、各構成部が担当する主機能別に区分したものに過ぎないことを明確にしようとする。すなわち、後述する2つ以上の構成部が一つの構成部で一体化されるか、もしくは一つの構成部がより細分化された、機能別に2つ以上に分化されて具備されてもよい。そして、以下で説明する構成部のそれぞれは、自分が担う主機能に加えて、他の構成部が担う機能のうちの一部または全部の機能を追加的に遂行することもでき、構成部の各々が担う主機能の中で一部の機能が他の構成部によって専担されて遂行されてもよいことは勿論である。
【0034】
以下、本開示の実施の形態を順次詳しく説明する。
【0035】
本明細書に亘って、ネットワーク関数は、神経網ネットワーク及び/またはニューラルネットワーク(neural network)と同じ意味で使われることができる。ここで、ニューラルネットワーク(神経網)は、一般に、ノードと呼ばれることができる相互連結された計算単位の集合で構成されることができ、これらのノードは、ニューロンとも呼ばれる。ニューラルネットワークは、通常複数のノードを含んでなる。ニューラルネットワークを構成するノードは、一つ以上のリンクによって相互連結されることができる。
【0036】
ニューラルネットワークを構成するノード中の一部は、最初入力ノードからの距離に基づいて一つの層(layer)を構成することができる。例えば、最初入力ノードから距離がnであるノードの集合は、n層を構成することができる。
【0037】
本明細書で説明するニューラルネットワークは、入力層と出力層のほかに、複数の隠れ層を含むディープニューラルネットワーク(Deep Neural Network、DNN)を含むことができる。ディープニューラルネットワークは、畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)、回帰型ニューラルネットワーク(Recurrent Neural Network、RNN)などを含むことができる。
【0038】
図1は、ネットワーク関数のパラメーターの最適化を説明するための図である。
【0039】
ネットワーク関数は、相異なるデータセットに対する学習によって、異なる学習モデルを生成することができる。このとき、ネットワーク関数から生成された学習モデルの性能(速度、品質など)は、少なくとも一つのパラメーターの設定値によって影響を受けることができる。ここで、パラメーターは、ユーザによって直接設定可能であり、学習モデルに有意味な変化を与えることができる変数、すなわち、ハイパーパラメーター(hyper-parameter)を指称することができる。例えば、ハイパーパラメーターは、ネットワーク関数(またはアキテクチャー)の種類、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)などに関する変数を含むことができる。
【0040】
このように、パラメーターの設定値によって学習モデルの性能が変わるから、学習モデルの生成及び適用において学習しようとするデータセットの特性に適するようにパラメーターを最適化することが前もって要求される。
【0041】
図1は、パラメーターの最適化のために用いられる一つの方法であって、グリッドサーチ(grid search)を概念的に示している。
【0042】
グリッドサーチとは、特定の検索範囲内で学習モデルの性能に有意味な変化を与えることができるパラメーターに対して、可能なすべての組み合わせの設定値を検索することをいい、例えば、異なるように組み合わせられたパラメーターの設定値に基づいて、所定のデータセットを通じてネットワーク関数を交差検証して、学習モデルの性能を確認する方法によって、パラメーターの設定値を最適化することができる。
【0043】
ところが、グリッドサーチ方式も、可能なすべてのパラメーターの設定値の組み合わせを対象として検証を行うことから、検索の範囲及び費用が大きくなるしかないため、以下では、検索範囲及び費用を最小化することができる本開示の一実施の形態に係る自動化された機械学習方法及び装置について説明することにする。
【0044】
図2は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法を説明するための流れ図であり、図3は、図2のS210段階の一実施の形態を示しており、図4は、図2のS220段階の一実施の形態を示す。
【0045】
本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法は、演算能力を持つパソコン(Personal Computer)、ワークステーション(Work Station)、サーバー用コンピューター装置などで遂行されるか、前記自動化された機械学習方法を遂行するためのプログラム組み込み(embedded)の別途の装置などで遂行されることができる。
【0046】
また、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法は、一つ以上の演算装置で遂行されることもできる。例えば、本開示の一実施の形態に係る自動化された機械学習方法の中で少なくとも一つ以上の段階は、クライアントデバイスにおいて、他の段階はサーバーデバイスにおいて遂行されてもよい。このような場合、クライアントデバイスとサーバーデバイスは、ネットワークで連結されて演算結果を送受信することができる。または、本開示の一実施の形態に係る自動化された機械学習方法は、分散コンピューティング技術によって遂行されてもよい。
【0047】
S210段階で、機械学習装置は、学習モデルに影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録することができる。
【0048】
一実施の形態において、パラメーターは、図1を参照して前述したハイパーパラメーターを指すことができ、ネットワーク関数の種類(例えば、CNNの種類など)、オプティマイザー(optimizer)、学習速度(learning rate)、及びデータオーグメンテーション(data augmentation)の中で少なくとも一つに関するパラメーターを含むことができる。例えば、第1パラメーターセットは、学習モデルに対して所定の基準値以上の性能を発揮させ得る少なくとも一つのハイパーパラメーターの設定データの組み合わせで構成されることができる。
【0049】
一実施の形態において、S210 段階は、図3に示されているように、S211~S214段階を含むことができる。
【0050】
S211段階で、機械学習装置は、少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることにより、候補パラメーターセットを生成することができる。例えば、候補パラメーターセットにはネットワーク関数の種類、オプティマイザー、学習速度、及びデータオーグメンテーションの中で少なくとも一つに関するパラメーターが含まれることができ、これらのパラメーターに対する設定データは、夫々の候補パラメーターセット別に異なる組み合わせを持つことができる。
【0051】
次いで、S212段階で、機械学習装置は、生成された候補パラメーターセットのそれぞれに対して第1データセットを通じてネットワーク関数に対する学習を進めることで、交差検証を行うことができる。例えば、機械学習装置はハイパーパラメーターをそれぞれの候補パラメーターセットに含まれた設定データに基づいて設定し、第1データセットをk個のフォルダに分割した後、ネットワーク関数に対する学習及び交差検証を進行し、それぞれの候補パラメーターセットに対する検証スコア(validation score)の平均及び標準偏差を算出することができる。
【0052】
次に、S213段階で、機械学習装置は、交差検証の結果によって、候補パラメーターセットの中で少なくとも一つをプリセットグループ(preset group)に登録することができる。例えば、機械学習装置は、S212段階で算出した検証スコアの平均及び標準偏差に基づき統計的比較を行い、所定の基準値(baseline)よりも高い性能を有する候補パラメーターセットをプリセットグループに登録することができる。
【0053】
それから、S214段階で、機械学習装置は、S212及びS213段階を第1データセットと異なる少なくとも一つの第2データセットに基づいて繰り返し行うことができる。これによって、例えば、異なるデータセットに対応する複数のプリセットグループ内にそれぞれ少なくとも一つのパラメーターセットがそれぞれ登録されることができる。
【0054】
S220段階で、機械学習装置は少なくとも一つのプリセットグループに登録された第1パラメーターセットの中で学習モデルの生成に使用する少なくとも一つの第2パラメーターセットを選定することができる。
【0055】
一実施の形態で、S220段階は、図4に示されているように、S221~S223段階を含むことができる。
【0056】
S221段階において、機械学習装置は、学習条件に対するユーザ入力を受信することができる。例えば、機械学習装置は、ユーザ端末または自らのディスプレイ部に所定のユーザインターフェースを提供し、これによって、入力される学習条件を受信することができる。一実施の形態で、学習条件は学習環境(PCまたは組み込み機器)、推論速度(inference speed)、及び検索範囲の中で少なくとも一つに関する条件を含むことができる。ここで、検索範囲に関する条件は、プリセットグループに登録された第1パラメーターセットの中でどれくらいを使用(すなわち、第2パラメーターセットで選定する割合)するかを決めるための条件を指すことができる。
【0057】
実施の形態によって、S221段階で、機械学習装置はユーザ端末から入力データセットをさらに受信することができる。
【0058】
次いで、S222段階において、少なくとも一つのプリセットグループに登録された第1パラメーターセットをアキテクチャー(architecture)及び推論速度(inference speed)の中で少なくとも一つを基準として整列することができる。
【0059】
例えば、機械学習装置は、ユーザによって入力された学習環境に対応してアキテクチャーを基準として第1パラメーターセットを1次整列し、引き続き、S210段階を通じて第1パラメーターセットのそれぞれに対して記録された推論速度に基づき(すなわち、推論速度が高い順に)、第1パラメーターセットを2次整列することができる。
【0060】
次に、S223段階で、機械学習装置は、ユーザが入力した学習条件によって、S222段階を通じて整列された第1パラメーターセットの中で上位の所定の割合を第2パラメーターセットに選定することができる。
【0061】
一実施の形態で、機械学習装置は、ユーザが入力した推論速度レベル及び/または検索範囲レベルに基づいて第1パラメーターセットの中で一定した割合を第2パラメーターセットに選定することができる。例えば、機械学習装置は、ユーザが入力した推論速度がレベル3であれば、上位20%を第2パラメーターセットに選定し、レベル2であれば、上位50%を第2パラメーターセットに選定し得る。
【0062】
一実施の形態で、S222及びS223段階は、プリセットグループ別に個別遂行されることができる。すなわち、複数のプリセットグループが存在する場合、プリセットグループ別に、それに含まれた第1パラメーターセットに対する整列及び第2パラメーターセットの選定が行われることができる。
【0063】
S230段階で、選定された第2パラメーターセット及び入力データセットに基づいてネットワーク関数に対する学習を進行することで、相異なる学習モデルを生成し、生成された学習モデルにそれぞれに対する検証スコア(validation score)を算出することができる。
【0064】
例えば、第2パラメーターセットの設定データをもってネットワーク関数のハイパーパラメーターを設定し、入力データセットの少なくとも一部を学習データとしてネットワーク関数に入力して、ネットワーク関数を学習させることで学習モデルを生成することができる。
【0065】
一実施の形態で、検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出されることができる。例えば、機械学習装置は学習モデルがオブジェクト検出(detection)及び/または分類(classification)のためのものであれば、再現率に基づいて検証スコアを算出し、学習モデルがオブジェクト分割(segmentation)のためのものであれば、再現率と精密度が組み合わせられたF1スコアをもとに検証スコアを算出するように構成されることができるが、これに限定するものではない。
【0066】
S240段階で、機械学習装置は、S230段階で算出された検証スコアをもとに生成された学習モデルのいずれか一つを適用モデルで選択することができる。
【0067】
一実施の形態で、機械学習装置は算出された検証スコアが最も高い学習モデルを適用モデルで選択することができる。また、一実施の形態において、機械学習装置は算出された検証スコアが最も高い学習モデルが複数である場合、より上位に整列された第2パラメーターセットによって生成された学習モデルを適用モデルで選択することができる。
【0068】
次に、適用モデルが決められれば、機械学習装置は入力データセットの一部であるテストセットを通じて適用モデルを評価し、適用モデルを通じてユーザが要求する結果を導出することができる。
【0069】
図5は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法において、パラメーターセットをプリセットグループに登録する過程を例示的に示す。
【0070】
図5に示されているように、少なくとも一つのハイパーパラメーターに対する相異なる組み合わせの設定データを含む候補パラメーターセットに対して、異なる6つのデータセットを利用して所定の基準値以上の性能を持つ候補パラメーターをプリセットグループに登録することができる。
【0071】
この時、機械学習装置はデータセットに対応する6つのプリセットグループをそれぞれ生成し、それぞれのデータセットを利用した交差検証過程を繰り返し行うことで、データセットに対応するプリセットグループに候補パラメーターセットを登録するように具現されることができる。
【0072】
プリセットグループに登録されたパラメーターセットに関する情報は、機械学習装置又は機械学習装置と通信する外部サーバーなどに保存されることができる。
【0073】
図6は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習方法において、学習条件を入力するためのユーザインターフェースを例示的に示している。
【0074】
機械学習装置は、ユーザ端末またはそれ自体に具備されたディスプレイ部を通じて学習条件に対するユーザ入力を受信するためのユーザインターフェースを提供することができる。
【0075】
例えば、ユーザインターフェースには学習環境を設定するための領域610、検索空間のレベルを設定するための領域620、及び推論速度のレベルを設定するための領域630を含むことができる。
【0076】
ユーザは、このようなユーザインターフェースを介して、プリセットグループに登録されたパラメーターに対して、如何なる環境に合わせてパラメーターセットを選択するか、また、レベル別に登録されたパラメーターの中で何パーセントを利用するかを設定することができる。
【0077】
図7は、本開示の技術的思想に基づく一実施の形態に係る自動化された機械学習装置の構成を簡略に示したブロック図である。
【0078】
通信部710は、プロセッサー740の制御によって外部装置(ユーザ端末など)または外部サーバーとデータまたは信号を送受信することができる。通信部710は、有無線通信部を含むことができる。通信部710が有線通信部を含む場合、通信部710は、 構内通信網(Local Area Network;LAN)、広域通信網(Wide Area Network;WAN)、付加価置通信網(Value Added Network;VAN)、移動通信網(mobile radio communication network)、衛星通信網、及びこれらの相互組み合わせによって通信を行うようにする一つ以上の構成要素を含むことができる。また、通信部710が無線通信部を含む場合、通信部710は、セルラー移動通信、無線RAN(例えば、ワイファイ(Wi-Fi))などを利用して無線でデータまたは信号を送受信することができる。
【0079】
入力部720は、外部の操作によって、多様なユーザ命令を受信することができる。このために、入力部720は一つ以上の入力装置を含む、または連結することができる。例えば、入力部720は、キーパッド、マウスなど多様な入力のためのインターフェースと連結されてユーザ命令を受信することができる。このために、入力部720は、USBポートだけでなく、サンダーボルトなどのインターフェースを含んでもよい。また、入力部720は、タッチスクリーン、ボタンなどの多様な入力装置を含む、またはこれらと結合して外部からのユーザ命令を受信することができる。
【0080】
メモリー730は、プロセッサー740の動作のためのプログラムを保存することができ、入出力されるデータを臨時または永久保存することができる。メモリー730は、フラッシュメモリー(flash memory)型、ハードディスク(hard disk)型、マルチメディアカードマイクロ(multimedia card micro)型、カード型のメモリー(例えば、SDまたはXDメモリーなど)、RAM、SRAM、ROM(Read Only Memory)、EEPROM、PROM、磁気メモリー、磁気ディスク、光ディスクの中で少なくとも一つのタイプの記憶媒体を含むことができる。
【0081】
また、メモリー730は、多様なネットワーク関数及びアルゴリズムを保存することができ、デバイス700を駆動して制御するための多様なデータ、プログラム(一つ以上の指令)、アプリケーション、ソフトウェア、命令、コードなどを保存することができる。
【0082】
プロセッサー740は、デバイス700の全般的な動作を制御することができる。プロセッサー740はメモリー730に保存される一つ以上のプログラムを実行することができる。プロセッサー740は、中央処理装置(Central Processing Unit、CPU)、グラフィック処理装置(Graphics Processing Unit、GPU)または本開示の技術的思想による方法が遂行される専用のプロセッサーを意味することができる。
【0083】
一実施の形態で、プロセッサー740は学習モデルの性能に影響を及ぼす少なくとも一つのパラメーターに対する相異なる設定データの組み合わせを含む少なくとも一つの第1パラメーターセットを登録することができる。
【0084】
一実施の形態で、プロセッサー740は、少なくとも一つのパラメーターに対して相異なる設定データを組み合わせることで、複数の候補パラメーターセットを生成し、候補パラメーターセットのそれぞれに対して第1データセットに通じてネットワーク関数に対する学習を進めて交差検証を行い、交差検証の結果によって、候補パラメーターセットの中で少なくとも一つを第1パラメーターセットとして決定するように制御することができる。
【0085】
一実施の形態で、プロセッサー740は、第1データセットと異なる少なくとも一つの第2データセットに基づいて前記交差検証と前記交差検証の結果による前記第1パラメーターセットの決定を繰り返し行うように制御することができる。
【0086】
一実施の形態で、プロセッサー740は、候補パラメーターセットのそれぞれに対して交差検証による検証スコアの平均及び標準偏差を算出し、検証スコアの平均及び標準偏差に基づき統計的比較を遂行することで、所定の基準値(baseline)よりも高い性能を持つ候補パラメーターセットを第1パラメーターセットとして決定するように制御することができる。
【0087】
一実施の形態で、プロセッサー740は入力された学習条件に基づいて、第1パラメーターセットの中で学習モデルの生成に用いる少なくとも一つの第2パラメーターセットを選定することができる。
【0088】
一実施の形態で、プロセッサー740は第1パラメーターセットをアキテクチャー(architecture)及び推論速度の中で少なくとも一つを基準として整列し、入力された前記学習条件によって、整列された第1パラメーターセットの中で上位の所定の割合を前記第2パラメーターセットに選定するように制御することができる。
【0089】
一実施の形態で、プロセッサー740は第2パラメーターセット及び所定の入力データセットに基づいてネットワーク関数に対する学習を進行することで、第2パラメーターセットのそれぞれに対応する学習モデルを生成し、学習モデルそれぞれに対する検証スコア(validation score)を算出して、検証スコアをもとに、生成された学習モデルのいずれか一つを適用モデルとして選択するように制御することができる。この時、検証スコアは、再現率(recall)、精密度(precision)、正確度(accuracy)、及びこれらの組み合わせの中で少なくとも一つに基づいて算出されることができる。
【0090】
また、図7には不図示であるが、機械学習デバイス700は、出力部、ディスプレイ部などをさらに含むことができる。
【0091】
出力部は、視覚、聴覚、振動などに係わる出力を発生させるためのものであり、ディスプレイ部、音響出力部、モーターなどを含むことができる。
【0092】
ディスプレイ部は、プロセッサー740の制御によって、学習条件、入力データセットなどの入力のためのユーザインターフェース、学習モデルの出力などを表示することができる。ディスプレイ部は、ディスプレイモジュールを含むことができる。ディスプレイモジュールは、ディスプレイパネル、ディスプレイ駆動部、及びタッチパネルを含むことができる。
【0093】
以上のような本開示の技術的思想に基づく多様な実施の形態によれば、ユーザが学習条件と入力データなどを入力することだけで、好適なネットワーク関数の選択及びハイパーパラメーターの最適化を自動で遂行するように具現されることで、非専門家であっても容易に学習モデルを生成して活用することができる。
【0094】
また、本開示の技術的思想に基づく多様な実施の形態によれば、一定した基準値以上の性能を提供する有意味なハイパーパラメーターの組み合わせを、事前に検索してプリセットグループとして登録することで、ハイパーパラメーターの最適化に要する検索範囲及び時間を最小化することができる。
【0095】
一実施の形態に係る自動化された機械学習方法は、多様なコンピューター手段を通じて遂行されることができるプログラム命令の形態で具現されてコンピューターで読み取り可能な媒体に記録されることができる。前記コンピューターで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でもしくは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本開示のために特別に設計されて構成されたものであってもよく、コンピューターソフトウェアの当業者に公知されている使用可能なものであってもよい。コンピューターで読み取り可能な記録媒体としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、光フロッピーディスク(floptical disk)のような磁気光媒体(magneto-optical media)、及びROM(Read Only Memory)、RAM、フラッシュメモリーなどのようなプログラム命令を保存して遂行するように特別に構成されたハードウェア装置が挙げられる。プログラム命令としては、コンパイラーによって作成されるような機械語コードだけではなく、インタプリターなどを用いて コンピューターによって実行できる高級言語コードが挙げられる。
【0096】
また、開示の実施の形態による自動化された機械学習方法は、コンピュータープログラム製品(computer program product)に含まれて提供されることができる。コンピュータープログラム製品は、商品として販売者及び購買者間に取り引きされることができる。
【0097】
コンピュータープログラム製品は、S/Wプログラム、S/Wプログラムが保存されたコンピューターで読み取り可能な記憶媒体を含むことができる。例えば、コンピュータープログラム製品は、電子デバイスの製造会社または電子マーケット(例えば、Googleプレーストア、アップストア)を通じて電子的に配布されるS/Wプログラム形態の商品(例えば、ダウンロード可能なアップ)を含むことができる。電子的配布のために、S/Wプログラムの少なくとも一部は、記憶媒体に保存されるか、臨時的に生成されることができる。この場合、記憶媒体は、製造会社のサーバー、電子マーケットのサーバー、またはSWプログラムを臨時的に保存する中継サーバーの記憶媒体になることができる。
【0098】
コンピュータープログラム製品は、サーバー及びクライアント装置で構成されるシステムにおいて、サーバーの記憶媒体またはクライアント装置の記憶媒体を含むことができる。または、サーバーまたはクライアント装置と通信接続される第3装置(例えば、スマートフォン)が存在する場合、コンピュータープログラム製品は第3装置の記憶媒体を含むことができる。または、コンピュータープログラム製品は、サーバーからクライアント装置または第3装置へ伝送されるか、第3装置からクライアント装置から伝送されるS/Wプログラムそれ自体を含むことができる。
【0099】
この場合、サーバー、クライアント装置及び第3装置のいずれか一つがコンピュータープログラム製品を実行して、開示の実施の形態による方法を遂行することができる。または、サーバー、クライアント装置及び第3装置の中で2以上がコンピュータープログラム製品を実行して開示の実施の形態による方法を分散して実施することができる。
【0100】
例えば、サーバー(例で、クラウドサーバーまたは人工知能サーバーなど)がサーバーに保存されたコンピュータープログラム製品を実行して、サーバーと通信接続されたクライアント装置が、開示の実施の形態による方法を遂行するように制御することができる。
【0101】
以上、実施の形態について詳細に説明したが、本開示の権利範囲はこれらに限定されるもではなく、添付の特許請求の範囲で規定している本開示の基本概念を利用した当業者の種々の変形及び改良形態も本開示の権利範囲に属する。
図1
図2
図3
図4
図5
図6
図7