(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176320
(43)【公開日】2024-12-19
(54)【発明の名称】データ拡張装置、訓練システム、データ拡張方法、プログラム及び機械学習モデル
(51)【国際特許分類】
G06F 18/214 20230101AFI20241212BHJP
G06N 20/00 20190101ALI20241212BHJP
G06T 7/00 20170101ALI20241212BHJP
G06V 10/774 20220101ALI20241212BHJP
【FI】
G06F18/214
G06N20/00 130
G06T7/00 350C
G06V10/774
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023094778
(22)【出願日】2023-06-08
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】前野 一樹
(72)【発明者】
【氏名】中村 譲
(72)【発明者】
【氏名】丸山 悠樹
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA01
5L096FA66
5L096HA11
5L096JA05
5L096KA04
5L096KA15
(57)【要約】
【課題】識別対象のデータセットに対応したデータ拡張技術を提供することである。
【解決手段】本開示の一態様は、データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、を有するデータ拡張装置に関する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、
を有するデータ拡張装置。
【請求項2】
前記データ拡張部は、前記第1の距離と前記第2の距離とが等しくなるデータ拡張強度によって前記データセットに対してデータ拡張を実行する、請求項1に記載のデータ拡張装置。
【請求項3】
前記データ拡張パラメータは、データ拡張種別、データ拡張強度及び種別適用確率の少なくとも1つを含む、請求項1に記載のデータ拡張装置。
【請求項4】
前記距離算出部は、コサイン類似度に基づいて前記第1の距離と前記第2の距離とを算出する、請求項1に記載のデータ拡張装置。
【請求項5】
データセットに対してデータ拡張を実行するデータ拡張装置と、
前記データセットと前記データ拡張によって生成された拡張データとを利用して、訓練対象モデルを訓練する訓練装置と、
を有し、
前記データ拡張装置は、
前記データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、
を有する、訓練システム。
【請求項6】
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
を有する、コンピュータが実行するデータ拡張方法。
【請求項7】
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
をコンピュータに実行させるプログラム。
【請求項8】
データを受け付けることと、
前記データに対する処理結果を出力することと、
を実行する機械学習モデルであって、
前記機械学習モデルは、
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
を実行することによって生成された拡張データを含む前記データセットを利用して訓練される、機械学習モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ拡張装置、訓練システム、データ拡張方法、プログラム及び機械学習モデルに関する。
【背景技術】
【0002】
近年のディープラーニング技術の進化によって、広範な技術分野において機械学習モデルが利用されている。教師あり学習では、機械学習モデルは、ラベル付けされた訓練データから構成されるデータセットを利用して訓練される。機械学習モデルを適切に訓練するためには、ある程度のデータ数のデータセットを準備する必要があり、そのようなデータセットを収集するには大きなコストがかかりうる。
【0003】
データセットにおけるデータ数を増加させるため、収集したデータセットに対してデータ拡張が実行されうる。例えば、データセットが画像データから構成される場合、データセットの画像データに対して移動、回転、ブラー又は明度変換などが実行され、拡張された画像データが生成される。与えられたデータセットのデータに加えて、データセットのデータから拡張されたデータを利用して機械学習モデルを訓練することによって、機械学習モデルの汎化性能を向上させうる。
【0004】
データ拡張によって規定される拡張空間は、データ拡張パラメータによって規定されうる。データ拡張パラメータは、典型的には、移動、回転、ブラー又は明度変換などのデータ拡張の種別を示すデータ拡張種別、ある種別のデータ拡張の強度を示すデータ拡張強度、及び、ある種別のデータ拡張を適用する頻度を示す種別適用確率の少なくとも1つを規定しうる。
【0005】
このようなデータ拡張パラメータを自動最適化するため、AutoML(Machine Learning)技術の重要性が着目されている。従来、データ拡張パラメータは、タスク及び/又はデータセットに関する知識に基づいて主として人手により設計されていた。このデータ拡張パラメータを自動最適化するためのツールとして、AutoAugmentが利用されるとともに、AutoAugmentから派生した各種ツール(例えば、AdaAug、Faster AAなど)が提案されてきている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Raphael Gontijo-Lopes, Sylvia Smullin, Ekin Dogus Cubuk, and Ethan Dyer. “Tradeoffs in data augmentation: An empirical study”. In International Conference on Learning Representations (ICLR), 2021. 3
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、AutoAugmentなどの従来のデータ拡張最適化技術は、CIFAR(Canadian Institute for Advanced Research)、ImageNetなど、物体が飛行機、自動車、花などの何れのクラスに分類されるかに関する一般物体認識を対象としており、飛行機の機種、自動車の車種、花の種別などを分類する詳細(fine-grained)識別を対象とするものでない。
【0008】
実際、識別対象のデータセットが異なる場合、最適な拡張空間、すなわち、データ拡張パラメータの値として取り得る範囲も異なりうると考えられ、識別対象のデータセットに対応してデータ拡張パラメータが最適化されることが好ましい。
【0009】
上記問題点に鑑み、本開示の1つの課題は、識別対象のデータセットに対応したデータ拡張技術を提供することである。
【課題を解決するための手段】
【0010】
本開示の一態様は、データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、を有するデータ拡張装置に関する。
【発明の効果】
【0011】
本開示によれば、識別対象のデータセットに対応したデータ拡張技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本開示の一実施例による訓練システムを示す概略図である。
【
図2】
図2A及び2Bは、データ拡張例を示す図である。
【
図3】
図3A及び3Bは、本開示の一実施例によるデータ拡張例を示す図である。
【
図4】
図4は、本開示の一実施例によるデータ拡張装置のハードウェア構成を示すブロック図である。
【
図5】
図5は、本開示の一実施例によるデータ拡張装置の機能構成を示すブロック図である。
【
図6】
図6は、本開示の一実施例によるデータ拡張による拡張空間を示す概略図である。
【
図7】
図7は、本開示の一実施例によるデータ拡張処理のアルゴリズムを示す擬似コードを示す図である。
【
図8】
図8は、本開示の一実施例による訓練処理を示すフローチャートである。
【
図9】
図9は、本開示の一実施例による顔認証技術の適用事例を示す概略図である。
【
図10】
図10は、本開示の一実施例による顔認証装置を示す概略図である。
【
図11】
図11は、本開示の一実施例による顔認証装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本開示の実施の形態を説明する。
【0014】
以下の実施例では、データ拡張パラメータに従ってデータセットに対してデータ拡張を実行するデータ拡張装置が開示される。
【0015】
[訓練システム]
図1に示されるような訓練システム10において、訓練装置200は、訓練データデータベース(DB)50から取得したデータセットと、当該データセットからデータ拡張装置100によって拡張された拡張データセットとを利用して、訓練対象の機械学習モデル20を訓練する。なお、図示された実施例では、データ拡張装置100は、訓練装置200から物理的に独立した装置として示されているが、本開示によるデータ拡張装置100は、これに限定されず、例えば、訓練装置200に内蔵されてもよい。
【0016】
データ拡張装置100は、データ拡張種別、データ拡張強度及び種別適用確率の少なくとも1つを含むデータ拡張パラメータに従ってデータセットのデータから拡張データを生成する。ここで、データ拡張種別は、例えば、移動、回転、ブラー又は明度変換などのデータ拡張の種別を示すものであってもよい。また、データ拡張強度は、ある種別のデータ拡張の強度を示すものであってもよく、種別適用確率は、ある種別のデータ拡張を適用する頻度を示すものであってもよい。これらのデータ拡張パラメータに従って、データセットのデータから拡張データを生成することができる。
【0017】
以下の実施例では、データ拡張装置100は、データセットにおけるクラスAのデータx
aと、データx
aから拡張された拡張データx
a´との間の距離
【数1】
を算出するとともに、拡張データx
a´と、データセットにおけるクラスNのデータx
nから拡張された拡張データx
n´との間の距離
【数2】
を算出する。なお、本開示の実施の形態において、t
kはデータ拡張の関数を、θ
kは拡張の強度を表現している。また、距離d
a´とd
n´とは、画像間の類似度を示しうる。そして、データ拡張装置100は、2つの距離d
a´とd
n´とに基づいてデータ拡張パラメータを決定する。例えば、クラスAのデータx
aとクラスNのデータx
nとは、
図2Aに示されるような位置関係にあるとする。データ拡張強度が高く設定された場合、データx
aと拡張データx
a´との間の距離d
a´と、拡張データx
a´と拡張データx
n´との間の距離d
n´とは、
図2Bに示されるような位置関係になりうる。この場合、クラスA及びクラスNのクラス内の変化は大きくなる一方、距離d
a´が距離d
n´より有意に大きくなることによって、クラスAとクラスNとの間のクラス間の距離が近くなり、クラスAとクラスNとを識別することが困難になりうる。
【0018】
後述される実施例では、クラス内の変化とクラス間の識別との良好なトレードオフを実現するため、データ拡張装置100は、
図3Aに示されるようなクラスAのデータx
aとクラスNのデータx
nとの位置関係に対して、
図3Bに示されるように、2つの距離d
a´とd
n´とが等しくなるようデータ拡張強度θ
kを決定する。これにより、クラス間の識別性を維持しながら、クラス内の変化を可能にするデータ拡張を実現することができる。
【0019】
ここで、データ拡張装置100は、サーバ等の計算装置によって実現され、例えば、
図4に示されるようなハードウェア構成を有してもよい。すなわち、データ拡張装置100は、バスBを介し相互接続されるドライブ装置101、ストレージ装置102、メモリ装置103、プロセッサ104、ユーザインタフェース(UI)装置105及び通信装置106を有する。
【0020】
データ拡張装置100における後述される各種機能及び処理を実現するプログラム又は指示は、CD-ROM(Compact Disk-Read Only Memory)、フラッシュメモリ等の着脱可能な記憶媒体に格納されてもよい。当該記憶媒体がドライブ装置101にセットされると、プログラム又は指示が記憶媒体からドライブ装置101を介しストレージ装置102又はメモリ装置103にインストールされる。ただし、プログラム又は指示は、必ずしも記憶媒体からインストールされる必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードされてもよい。ストレージ装置102は、ハードディスクドライブなどによって実現され、インストールされたプログラム又は指示と共に、プログラム又は指示の実行に用いられるファイル、データ等を格納する。メモリ装置103は、ランダムアクセスメモリ、スタティックメモリ等によって実現され、プログラム又は指示が起動されると、ストレージ装置102からプログラム又は指示、データ等を読み出して格納する。ストレージ装置102、メモリ装置103及び着脱可能な記憶媒体は、非一時的な記憶媒体(non-transitory storage medium)として総称されてもよい。
【0021】
プロセッサ104は、1つ以上のプロセッサコアから構成されうる1つ以上のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、処理回路(processing circuitry)等によって実現されてもよく、メモリ装置103に格納されたプログラム、指示、当該プログラム若しくは指示を実行するのに必要なパラメータなどのデータ等に従って、後述されるデータ拡張装置100の各種機能及び処理を実行する。ユーザインタフェース(UI)装置105は、キーボード、マウス、カメラ、マイクロフォン等の入力装置、ディスプレイ、スピーカ、ヘッドセット、プリンタ等の出力装置、タッチパネル等の入出力装置から構成されてもよく、ユーザとデータ拡張装置100との間のインタフェースを実現する。例えば、ユーザは、ディスプレイ又はタッチパネルに表示されたGUI(Graphical User Interface)をキーボード、マウス等を操作し、データ拡張装置100を操作する。通信装置106は、外部装置、インターネット、LAN(Local Area Network)等の通信ネットワークとの通信処理を実行する各種通信回路により実現される。
【0022】
しかしながら、上述したハードウェア構成は単なる一例であり、本開示によるデータ拡張装置100は、他の何れか適切なハードウェア構成により実現されてもよい。また、訓練装置200もまた、同様のハードウェア構成を有するサーバとして実現されてもよい。
【0023】
[データ拡張装置]
次に、
図5を参照して、本開示の一実施例によるデータ拡張装置100を説明する。本実施例では、データ拡張装置100は、訓練データDB50から訓練対象モデル20を訓練するためのデータセットを取得し、データセットにおける異なるクラスのデータの識別性を維持可能なデータ拡張パラメータに従って、データセットにおけるデータから拡張データを生成する。具体的には、
図3を参照して説明したように、データ拡張装置100は、異なるクラスA,Nのデータx
a,x
nに対して、データx
aとそれの拡張データx
a´との間の距離d
a´と、拡張データx
a´とデータx
nの拡張データx
n´との間の距離d
n´とを算出し、算出した距離d
a´と距離d
n´とに基づいてデータ拡張パラメータを決定する。そして、データ拡張装置100は、決定したデータ拡張パラメータに従ってデータセットに対してデータ拡張を実行し、生成した拡張データセットを訓練装置200にわたす。
【0024】
図5は、本開示の一実施例によるデータ拡張装置100の機能構成を示すブロック図である。
図5に示されるように、データ拡張装置100は、距離算出部110及びデータ拡張部120を有する。例えば、距離算出部110及びデータ拡張部120の1つ以上の機能部は、1つ以上のプロセッサ104が1つ以上のプログラム又は指示を実行することによって実現されてもよい。
【0025】
距離算出部110は、データセットにおけるクラスAのデータx
aと、データx
aから拡張された拡張データx
a´との間の距離
【数3】
と、拡張データx
a´と、データセットにおけるクラスNのデータx
nから拡張された拡張データx
n´との間の距離
【数4】
とを算出する。ここで、距離d
a´,d
n´は、コサイン類似度に基づいて算出されてもよく、また、画像間の類似度を示す他の何れか適切な指標が利用されてもよい。距離d
a´,d
n´を算出すると、距離算出部110は、算出した距離d
a´,d
n´をデータ拡張部120にわたす。
【0026】
データ拡張部120は、距離da´,dn´に基づいて決定されるデータ拡張パラメータによってデータセットに対してデータ拡張を実行する。典型的には、データ拡張は、データ拡張パラメータに従って実行され、データ拡張パラメータは、データ拡張種別、データ拡張強度及び/又は種別適用確率を含みうる。すなわち、データ拡張種別は、例えば、移動、回転、ブラー又は明度変換などのデータ拡張の種別を示すものであってもよい。また、データ拡張強度は、ある種別のデータ拡張の強度を示すものであってもよく、例えば、回転について0~30度の回転角度の範囲が、データ拡張強度として設定されてもよい。また、種別適用確率は、ある種別のデータ拡張を適用する頻度を示すものであってもよく、例えば、回転について0~0.3の適用確率の範囲が、種別適用確率として設定されてもよい。
【0027】
例えば、距離算出部110から距離d
a´,d
n´を取得すると、データ拡張部120はまず、取得した距離d
a´,d
n´に基づいてデータ拡張パラメータを決定する。一実施例では、データ拡張部120は、2つの距離d
a´,d
n´が等しくなるデータ拡張強度をデータセットに対するデータ拡張強度として決定してもよい。具体的には、データ拡張部120は、d
a´=d
n´となるデータ拡張強度θを求める。例えば、
図6に示されるように、クラスAのデータとクラスNのデータとがある場合、破線で示されるクラスAの拡張空間が、クラスAと類似するクラスNのSEMI-HARDデータと分離できるように、データ拡張強度が決定されることが好ましい。ここで、クラスNのHARDデータは、ラベリングミスなどにより本来的にクラスAのデータと分離不可であり、また、クラスNのEASYデータは、データ拡張の適用後も依然としてクラスAのデータと分離可能でありうる。2つの距離d
a´,d
n´が等しくなるデータ拡張強度をデータ拡張パラメータとして決定することは、異なるクラスNのHARDデータとEASYデータとの識別ではなく、SEMI-HARDデータとの分離可能性に着目することを意図している。なお、図示された例では、特定のアンカーデータに対してSEMI-HRADデータ及びHARDデータが決定されたが、好ましくは、データセットの各クラスに対してグローバルにSEMI-HRADデータ及びHARDデータが決定されてもよい。
【0028】
このように、2つの距離d
a´,d
n´が等しくなるデータ拡張強度を採用し、データ拡張によるクラス内の変化を維持しながら、異なるクラスA,Nに対して類似する拡張データx
a´,x
n´を分離可能にすることを実現するため、データ拡張部120は、具体的には、以下の制約条件付き最適化問題を解くようにしてもよい。
【数5】
すなわち、目的関数は、以下のように書き換えられうる。
【数6】
ここで、kはデータ拡張種別を表し、t
kはデータ拡張関数であり、データ変換は、
【数7】
により表される。ここで、θ
kはデータ拡張強度を表す。
【0029】
式(1)の目的関数は、データセットのあるクラスの1つのデータと、他のクラスの1つのデータ(ネガティブサンプルとも呼ばれうる)とに対するものであるが、より一般的には、目的関数がクラス全体に適用される場合、距離d
a´とd
n´に対応する項はそれぞれ、以下のように定式化できる。
【数8】
ここで、Nはデータセットのサンプル数であり、Mはネガティブサンプルのペア数である。また、y
iはデータiのラベルであり、2つのデータが異なるクラスに属する場合、y
i≠y
jとなる。この場合、目的関数は、以下のように定式化されうる。
【数9】
データ拡張部120は、式(4)の目的関数を解くことによって、データセット全体に対してデータ拡張強度θ
kを求めることができる。
【0030】
例えば、データ拡張部120は、
図7に示されるような拡張空間最適化(Augmentation Space Optimization:ASO)アルゴリズムに従って、画像データセットについて各データ拡張種別kに対するデータ拡張強度θ
kを求めることができる。なお、上述した距離distは、類似度hにより置換されている。また、データ拡張強度は、所定の粒度により量子化されている。図示されたアルゴリズムを概略すると、各データ拡張種別kに対して、クラスAのデータx
aと拡張データx
a´との間の距離d
a´の平均d
a´と、拡張データx
a´とクラスNのデータx
nの拡張データx
n´との間の距離d
n´の平均d
n´との間の差分が0になるように、すなわち、平均d
a´と平均μd
n´とが等しくなるように、データ拡張強度θ
kが決定される。
【0031】
[データ拡張処理]
次に、
図8を参照して、本開示の一実施例によるデータ拡張処理を説明する。
図8は、本開示の一実施例によるデータ拡張処理を示すフローチャートである。当該データ拡張処理は、上述した訓練システム10によって実行され、より詳細には、データ拡張装置100及び/又は訓練装置200の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。例えば、当該データ拡張処理は、訓練システム10における訓練対象モデル20に対する訓練処理が起動されることによって開始されうる。
【0032】
図8に示されるように、ステップS101において、訓練装置200は、データセットを利用して訓練対象モデル20を訓練する。具体的には、訓練装置200は、画像間の距離を決定するため、データ拡張することなく訓練対象モデル20を訓練し、ベースラインモデルとして利用されてもよい。例えば、訓練対象モデル20が画像処理のためニューラルネットワークにより実現される場合、訓練装置200は、訓練データDB50から画像データとラベルとのペアから構成される訓練データを取得し、画像データを訓練対象モデル20の入力層に入力する。そして、出力層から処理結果を取得すると、訓練装置200は、処理結果とラベルとを比較し、誤差逆伝播法に従って処理結果とラベルとの誤差に応じて訓練対象モデル20のパラメータを更新する。例えば、訓練されたベースラインモデルのパラメータは、
図7においてφとして表され、データ間の類似度を算出するのに利用されうる。
【0033】
ステップS102において、データ拡張装置100は、クラスAのデータx
aと拡張データx
a´との間の距離
【数10】
を算出する。例えば、当該距離は、データx
aと拡張データx
a´との間のコサイン類似度に基づいて決定されてもよい。
【0034】
ステップS103において、データ拡張装置100は、クラスAの拡張データx
a´とクラスNの拡張データx
n´との間の距離
【数11】
を算出する。例えば、当該距離は、データx
a´と拡張データx
n´との間のコサイン類似度に基づいて決定されてもよい。
【0035】
ステップS104において、データ拡張装置100は、2つの距離da´とdn´とに基づいてデータ拡張パラメータを決定する。具体的には、データ拡張装置100は、距離da´とdn´とが等しくなるようデータ拡張強度を決定してもよい。例えば、データ拡張装置100は、データセットの各クラスの各データに対して、当該データと異なるクラスの各データ(ネガティブサンプル)との間で2つの距離da´とdn´とを決定し、決定した距離da´の平均da´と距離dn´の平均dn´とをそれぞれ算出する。そして、データ拡張装置100は、da´=dn´となるデータ拡張強度θを決定する。
【0036】
例えば、移動、回転、ブラー又は明度変換などの各データ拡張処理について、目的関数がデータ拡張強度を求めるのに利用されてもよい。最適化前のデータ拡張強度の範囲の最大値と最小値とが提供され、当該範囲がLステップに分割されうる。実験では、当該範囲はPILなどの拡張ライブラリの仕様から規定されうる。訓練されたベースラインモデルを利用して、訓練データは各ステップのデータ拡張強度と抽出された特徴量とにおいて拡張されうる。
図7における
【数12】
が抽出された特徴量から計算されうる。そして、各ステップについて、
【数13】
の制約条件が充足されるか判定されてもよい。そして、
【数14】
を最小化するデータ拡張強度が、データ拡張強度の範囲の上限として決定されてもよい。
【0037】
ステップS105において、データ拡張装置100は、データ拡張パラメータに従ってデータ拡張を実行する。具体的には、データ拡張装置100は、決定されたデータ拡張強度θに従ってデータセットに対してデータ拡張を実行し、拡張データを生成する。
【0038】
ステップS106において、訓練装置200は、拡張データを含むデータセットにより訓練対象モデル20を訓練する。例えば、訓練対象モデル20が画像処理のためニューラルネットワークにより実現される場合、訓練装置200は、データセットと拡張データセットとにおける画像データとラベルとのペアから構成される訓練データを取得し、画像データを訓練対象モデル20の入力層に入力する。そして、出力層から処理結果を取得すると、訓練装置200は、処理結果とラベルとを比較し、誤差逆伝播法に従って処理結果とラベルとの誤差に応じて訓練対象モデル20のパラメータを更新する。所定の終了条件を充足すると、訓練装置200は、訓練対象モデル20の訓練を終了する。
【0039】
[顔認証技術]
上述した実施例によるデータ拡張処理は、任意の機械学習モデルに適用可能であるが、例えば、上述した実施例によるデータ拡張処理によって生成された拡張データを利用して訓練された機械学習モデルは、例えば、画像処理用のニューラルネットワークとして実現されてもよい。上述した実施例によるデータ拡張処理によって生成された拡張データを利用して訓練されたニューラルネットワークは、例えば、画像認識、物体検出、顔認証などに利用されてもよい。例えば、顔認証用のニューラルネットワークは、以下に限定することなく、
図9に示されるように、建物、部屋への入退出管理、空港における入出国手続、受付処理、店舗モニタリング、製品・サービスへの導入など、様々なソリューションに適用されうる。
【0040】
上述したデータ拡張処理を利用して訓練システム10によって訓練された訓練済みモデル30は、例えば、
図10に示されるように、顔認証装置300によって利用されてもよい。顔認証装置300は、上述したように、建物、部屋への入退出管理、空港における入出国手続、受付処理、店舗モニタリング、製品・サービスへの導入などに利用されうる。ここで、顔認証装置300は、
図4を参照して説明されたようなハードウェア構成を備えるサーバとして実現されてもよい。
【0041】
図11は、本開示の一実施例による顔認証装置300の機能構成を示すブロック図である。
図11に示されるように、顔認証装置300は、データ取得部310及び顔認証部320を有する。
【0042】
データ取得部310は、認証対象の顔を示す画像データを取得する。具体的には、データ取得部310は、顔認証装置300と通信接続されるカメラから、認証対象の顔を撮像した画像データを取得し、取得した画像データを顔認証部320にわたす。
【0043】
顔認証部320は、訓練済みモデル30を利用して、画像データにおける顔を認証する。ここでの訓練済みモデル30は、データセットにおけるクラスAのデータx
aと、データx
aから拡張された拡張データx
a´との間の距離
【数15】
と、拡張データx
a´と、クラスNのデータx
nから拡張された拡張データx
n´との間の距離
【数16】
とに基づいて決定されるデータ拡張パラメータによって拡張されたデータを含むデータセットを利用して訓練システム10によって訓練されている。
【0044】
例えば、顔認証部320は、認証対象の顔を示す画像データを訓練済みモデル30に入力し、訓練済みモデル30から撮像された顔の認証結果を取得する。例えば、顔認証技術による入退室管理では、顔認証部320は、登録済みの顔データ及び/又はそれの特徴量と当該認証結果とを比較し、画像データに撮像されている人物が登録済みの人物であるか判定する。画像データに撮像されている人物が登録済みの人物であると判定すると、顔認証部320は、例えば、当該人物の入室を許可し、画像データに撮像されている人物が登録済みの人物でないと判定すると、顔認証部320は、例えば、当該人物の入室を許可しない。
【0045】
上述した実施例によると、データ拡張装置100は、データ拡張によるクラス内の変化を可能にしながら、クラス間の識別を維持することが可能なデータ拡張を実現することができる。顔認証の場合、ImageNetなどとは画像の変化傾向が異なり、従来のデータ拡張空間を用いると精度改善が得られない。手作業によるチューニングも考えられるが、データ拡張空間はパラメータが多く、手作業によるチューニングは、時間及び計算リソースを浪費しうる。上述した実施例によると、このようなコストを抑制しながら、精度を改善させる効果を奏しうる。
【0046】
(付記1)
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、
を有するデータ拡張装置。
(付記2)
前記データ拡張部は、前記第1の距離と前記第2の距離とが等しくなるデータ拡張強度によって前記データセットに対してデータ拡張を実行する、付記1に記載のデータ拡張装置。
(付記3)
前記データ拡張パラメータは、データ拡張種別、データ拡張強度及び種別適用確率の少なくとも1つを含む、付記1又は2に記載のデータ拡張装置。
(付記4)
前記距離算出部は、コサイン類似度に基づいて前記第1の距離と前記第2の距離とを算出する、付記1から3の何れか1つに記載のデータ拡張装置。
(付記5)
データセットに対してデータ拡張を実行するデータ拡張装置と、
前記データセットと前記データ拡張によって生成された拡張データとを利用して、訓練対象モデルを訓練する訓練装置と、
を有し、
前記データ拡張装置は、
前記データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出する距離算出部と、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行するデータ拡張部と、
を有する、訓練システム。
(付記6)
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
を有する、コンピュータが実行するデータ拡張方法。
(付記7)
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
をコンピュータに実行させるプログラム。
(付記8)
データを受け付けることと、
前記データに対する処理結果を出力することと、
を実行する機械学習モデルであって、
前記機械学習モデルは、
データセットにおける第1のクラスの第1のデータと、前記第1のデータから拡張された第1の拡張データとの間の第1の距離と、前記第1の拡張データと、前記データセットにおける第2のクラスの第2のデータから拡張された第2の拡張データとの間の第2の距離とを算出することと、
前記第1の距離と前記第2の距離とに基づいて決定されるデータ拡張パラメータによって前記データセットに対してデータ拡張を実行することと、
を実行することによって生成された拡張データを含む前記データセットを利用して訓練される、機械学習モデル。
【0047】
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形・変更が可能である。
【産業上の利用可能性】
【0048】
本開示は、機械学習モデルを訓練する際に実行されるデータ拡張のためのデータ拡張装置及び方法に有用である。
【符号の説明】
【0049】
10 訓練システム
20 訓練対象モデル
30 訓練済みモデル
50 訓練データDB
100 データ拡張装置
110 距離算出部
120 データ拡張部
200 訓練装置
300 顔認証装置
310 データ取得部
320 顔認証部