【解決手段】 学習データ生成方法は、2つのサンプルイメージのうちの1つのサンプルイメージから一部の領域を取り除いた後、取り除かれた領域を他の1つのサンプルイメージのパッチと入れ替える方式によって前記2つのサンプルイメージを混合して新たなイメージを生成する段階、および前記生成されたイメージを学習データとして使用してCNN(convolutional neural network)モデルを学習する段階を含む。
【発明を実施するための形態】
【0011】
<発明の概要>
コンピュータシステムが実行する方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにより、2つのサンプルイメージのうちの1つのサンプルイメージから一部の領域を取り除いた後、取り除かれた領域に他の1つのサンプルイメージのパッチを入れ替える方式によって前記2つのサンプルイメージを混合して(mix)新たなイメージを生成する段階、および前記少なくとも1つのプロセッサにより、前記生成されたイメージを学習データとして使用してCNN(convolutional neural network)モデルを学習する段階を含む方法を提供する。
【0012】
一側面によると、前記生成する段階は、前記2つのサンプルイメージを混合するために、縦横の割合が原本イメージと比例するマスクをサンプリングする段階を含んでよい。
【0013】
他の側面によると、前記生成する段階は、前記2つのサンプルイメージそれぞれから一部の領域をランダムに選択する段階、および前記2つのサンプルイメージのうちの1つのサンプルイメージで選択された一部の領域を切り取り、他のサンプルイメージで選択された一部の領域に混合させて前記新たなイメージを生成する段階を含んでよい。
【0014】
また他の側面によると、前記生成する段階は、前記2つのサンプルイメージそれぞれから意味のある重要領域を選択する段階、および前記2つのサンプルイメージのうちの1つのサンプルイメージで選択された重要領域を切り取り、他のサンプルイメージで重要領域を除いた残りの領域に混合させて前記新たなイメージを生成する段階を含んでよい。
【0015】
また他の側面によると、前記選択する段階は、CNNモデルによって抽出された特徴マップに基づいて各サンプルイメージで前記重要領域を予測する段階を含んでよい。
【0016】
また他の側面によると、前記生成する段階は、前記1つのサンプルイメージの重要領域を前記他のサンプルイメージの残りの領域のうちのランダム位置に貼り付ける段階を含んでよい。
【0017】
また他の側面によると、前記学習する段階は、前記生成されたイメージを利用して原本損失関数(original loss function)で前記CNNモデルを学習してよい。
【0018】
また他の側面によると、前記方法は、前記少なくとも1つのプロセッサにより、前記2つのサンプルイメージをランダムに選択する段階をさらに含んでよい。
【0019】
さらに他の側面によると、前記方法は、前記少なくとも1つのプロセッサにより、イメージ分類による同一クラスタ内から前記2つのサンプルイメージを選択する段階をさらに含んでよい。
【0020】
前記方法をコンピュータに実行させるためのプログラムを提供する。
【0021】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、2つのサンプルイメージのうちの1つのサンプルイメージから一部の領域を取り除いた後、取り除かれた領域に他の1つのサンプルイメージのパッチを入れ替える方式によって前記2つのサンプルイメージを混合して新たなイメージを生成する過程、および前記生成されたイメージを学習データとして使用してCNNモデルを学習する過程を処理する、コンピュータシステムを提供する。
【0022】
<発明の詳細>
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0023】
本発明の実施形態は、分類器の性能と地域的特徴の認識性能を向上させるための技術に関する。
【0024】
本明細書において具体的に開示される事項を含む実施形態は、イメージを切り取って貼り付ける方式(CutMix方法)をデータ拡張(data augmentation)戦略として利用することで新たな学習イメージを生成することができ、これによって分類器の性能と地域的特徴の認識性能を同時に向上させることができる。
【0025】
図1は、本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。例えば、
図1のコンピュータシステム100によって本発明の実施形態に係る学習データ生成システムが実現されてよい。
図1に示すように、コンピュータシステム100は、学習データ生成方法を実行するための構成要素として、プロセッサ110、メモリ120、永続的大容量記録装置130、バス140、入力/出力インタフェース150、およびネットワークインタフェース160を含んでよい。
【0026】
プロセッサ110は、学習データ生成のための構成要素として命令語のシーケンスを処理することのできる任意の装置を含むか、その一部のであってよい。プロセッサ110は、例えば、コンピュータプロセッサ、移動装置または他の電子装置内のプロセッサ、および/またはデジタルプロセッサを含んでよい。プロセッサ110は、例えば、サーバコンピューティングデバイス、サーバコンピュータ、一連のサーバコンピュータ、サーバファーム、クラウドコンピュータ、コンテンツプラットフォームなどに含まれてよい。プロセッサ110は、バス140を介してメモリ120に接続されてよい。
【0027】
メモリ120は、コンピュータシステム100によって使用されるか、これによって出力される情報を記録するための揮発性メモリ、永続的、仮想、またはその他のメモリを含んでよい。メモリ120は、例えば、RAM(random access memory)および/またはDRAM(dynamic RAM)を含んでよい。メモリ120は、コンピュータシステム100の状態情報のような任意の情報を格納するために使用されてよい。メモリ120は、例えば、学習データの生成のための命令語を含むコンピュータシステム100の命令語を記録するために使用されてもよい。コンピュータシステム100は、必要な場合や適切な場合に、1つ以上のプロセッサ110を含んでよい。
【0028】
バス140は、コンピュータシステム100の多様なコンポーネントの相互作用を可能にする通信基盤構造を含んでよい。バス140は、例えば、コンピュータシステム100のコンポーネントの間、例えば、プロセッサ110とメモリ120の間でデータを運搬してよい。バス140は、コンピュータシステム100のコンポーネントの間の無線および/または有線通信媒体を含んでよく、並列、直列、または他のトポロジ配列を含んでもよい。
【0029】
永続的大容量記録装置130は、(例えば、メモリ120に比べて)所定の延長された期間にわたってデータを記録するために、コンピュータシステム100によって使用されるもののようなメモリまたは他の永続的大容量記録装置のようなコンポーネントを含んでよい。永続的大容量記録装置130は、コンピュータシステム100内のプロセッサ110によって使用されるもののような非揮発性メインメモリを含んでよい。永続的大容量記録装置130は、例えば、フラッシュメモリ、ハードディスク、光ディスク、または他のコンピュータ読み取り可能な媒体を含んでよい。
【0030】
入力/出力インタフェース150は、キーボード、マウス、音声命令入力、ディスプレイ、または他の入力または出力装置に対するインタフェースを含んでよい。構成命令および/または学習データ生成のための入力が、入力/出力インタフェース150に受信されてよい。
【0031】
ネットワークインタフェース160は、近距離ネットワークまたはインターネットのようなネットワークに対する1つ以上のインタフェースを含んでよい。ネットワークインタフェース160は、有線または無線接続に対するインタフェースを含んでよい。構成命令および/または学習データの生成のための入力が、ネットワークインタフェース160に受信されてよい。
【0032】
また、他の実施形態において、コンピュータシステム100は、
図1の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力インタフェース150と連結する入力/出力装置のうちの一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0033】
本発明は、イメージを切り取って貼り付ける方式であるCutMix方法をデータ拡張戦略として適用する。
【0034】
学習イメージ内からパッチを切り取って貼り付けるときには、実測資料(ground truth)ラベルもパッチの領域に比例するように混合する。CutMix方法は、効率的に学習用ピクセルを利用して領域ドロップアウト効果を維持することにより、ImageNetおよびImageNet分類作業だけでなく、ImageNetの弱教師ローカリゼーション(weakly−supervised localization)作業でも最先端の拡張戦略となる。また、従来の方法とは異なり、CutMix方法で学習されたImageNet分類器は、事前検証されたモデルに使用される場合、パスカル(Pascal)探知およびMS−COCO画像キャプションのベンチマークにおいて一貫した性能向上をもたらす。さらに、入力変質に対するモデルの堅固性と分布外の感知性能をCutMix方法によって改善することができる。
【0035】
本発明では、領域ドロップアウトによる優れた一般化とローカリゼーションを活用しながら削除された領域を最大限活用するために、CutMix方法を取り入れる。
【0036】
本発明に係るCutMix方法は、ピクセルを取り除く代わりに、取り除かれた領域に他のイメージのパッチを入れ替える。また、実測資料ラベルは、混合したイメージのピクセル数に比例するように混合する。CutMix方法は、学習に非情報画素がないという属性があり、学習を効率的に行うと同時に、オブジェクトの重要でない(non−discriminant)部分に注意を傾けることができる領域ドロップアウトの長所を維持する。追加されたパッチは、モデルが部分ビューでオブジェクトを識別するように要求することにより、ローカリゼーション能力をさらに強化することができる。学習および推論費用は、同じように維持される。
【0037】
イメージとラベルの両方を補間して2つのサンプルを混合する方法(Mixup方法)の研究もあった。Mixupは、補間サンプルが自然でない傾向がある反面、CutMix方法は、イメージ領域を他の学習イメージのイメージパッチと入れ替えるため、これによって従来の問題を克服することができる。
【0038】
図2は、本発明における、CutMix方法のイメージ分類結果と従来の方法(Mixup、Cutout)を比較した表である。
図2を参照すると、MixupとCutoutは、基準ラインと比べると、ImageNet分類の正確度は高めることができるが、ImageNetローカリゼーションおよびオブジェクト検出作業の性能は低下する。この反面、CutMixは、基準およびその他の拡張方法を超えるほど優れた分類とローカリゼーション能力を立証しており、3つの作業の全般にわたり相当な向上を達成することができる。
【0039】
先ず、以下のように関連研究について説明する。
【0040】
領域ドロップアウト(regional dropout)
CNNの一般化およびローカリゼーション成果を高めるために、イメージからランダム領域を取り除く方法が利用されている。本発明に係るCutMix方法と従来の方法との決定的に異なる点は、取り除かれた領域を他のイメージのパッチと入れ替えるということにある。特徴レベルにおいて、ドロップブロック(Drop Block)は、特徴空間に対する領域ドロップアウトを一般化して一般性も高めることができ、CutMix方法は特徴空間で実行されてよい。
【0041】
学習データ合成(synthesizing trainingdata)
一部の研究では、学習データを合成することで更なる一般化が可能な方法を適用している。Stylizing ImageNetによって新たな学習用サンプルを生成することにより、モデルがテクスチャよりも模様に集中するように誘導することにより、分類および個体感知性能を向上させることができる。また、CutMix方法は、ミニバッチ(mini−batches)内でパッチを切り取って貼り付けることで新たなサンプルを生成し、多くのコンピュータビジョン作業で性能を向上させることができる。CutMix方法の主な長所は、サンプル生成にかかる追加費用を無視できるという点にある。オブジェクト感知のためのオブジェクト挿入方法としてバックグラウンドでオブジェクトを合成する方法を利用しているが、このような方法は、単一オブジェクトを適切に表そうとする反面、CutMix方法は、複数のオブジェクトを含む混合したサンプルを生成することができるという点において、従来の方法と差がある。
【0042】
Mixup
Mixupサンプルは、局所的に曖昧かつ不自然であるため、特にローカリゼーションにおいてモデルを混乱させる。最近のMixupの変形技術では、特徴レベルの補間およびその他の類型の変換を行うが、混合サンプルのローカリゼーション能力ならびに以前学習に対する関心と研究は依然として不足である。
【0043】
ディープネットワークを学習するためのトリック(tricks for training deep networks)
ディープネットワークの効率的な学習には大量のコンピュータソースとデータが必要となる。荷重減衰(Weight Decay)、ドロップアウト、およびバッチ正規化のような方法は、より一般化が可能なディープネットワークを学習するために広く使われている。最近では、内部特徴にノイズを追加したりアーキテクチャに経路を追加したりする方法が提案されている。本発明に係るCutMix方法は、内部表現やアーキテクチャの変更はなく、データレベルで作動するため、従来の方法を補うことができる。
【0044】
以下、CutMix方法の具体的な実施形態について説明する。
【0045】
図3は、CutMix方法の一例として、領域をランダムに切り取って貼り付ける方法を説明するための例示図である。
【0046】
図3を参照すると、学習データを生成するためのMix対象イメージとして2つのサンプルイメージ310、320が与えられると、与えられた2つのサンプルイメージ310、320内から他のイメージと混合する領域311、321がランダムに選択されてよい。
【0047】
このとき、サンプルイメージ310、320はランダムに選択されてもよいが、イメージ分類による同一クラスタ内から適切に選択されることも可能である。
【0048】
サンプルイメージ310で選択領域311をランダムに切り取った後、他のサンプルイメージ320でランダムに選択されて切り取られた領域321を混合することにより、新たな学習用サンプルイメージ330を生成してよい。
【0049】
この後、
図4に示すように、新たに生成された学習用サンプルイメージ330を利用してCNNモデル401を学習してよい。言い換えれば、CNNモデル401を学習するとき、CutMix方法によって新たに生成された学習用サンプルイメージ330に該当する学習データとクラスラベルを使用する。
【0050】
図5は、CutMix方法の他の例として、重要領域を切り取って貼り付ける方法を説明するための例示図である。
【0051】
図5を参照すると、学習データを生成するためのMix対象イメージとして2つのサンプルイメージ510、520が与えられると、与えられた2つのサンプルイメージ510、520内の意味のある重要領域501を他のイメージと混合する領域511、521として選択してよい。
【0052】
このとき、サンプルイメージ510、520はランダムに選択されてもよいが、イメージ分類による同一クラスタ内から適切に選択されることも可能である。
【0053】
一例として、CNNモデルによって抽出された特徴マップに基づいて各サンプルイメージ510、520で重要領域501を予測し、重要領域501と残りの領域(すなわち、重要でない領域)502とに区分してよい。例えば、サンプルイメージ520から重要領域501を切り取ってサンプルイメージ510の重要でない領域502の少なくとも一部に貼り付ける方式により、新たな学習用サンプルイメージ530を生成してよい。サンプルイメージ510の重要でない領域502内のランダム位置、あるいは最も重要でないと判断された領域にサンプルイメージ520の重要領域501を貼り付けることで、新たな学習用サンプルイメージ530を生成してよい。
【0054】
この後、
図6に示すように、新たに生成された学習用サンプルイメージ530を利用してCNNモデル601を学習してよい。言い換えれば、CNNモデル601を学習するとき、CutMix方法によって新たに生成された学習用サンプルイメージ530に該当する学習データとクラスラベルを使用する。
【0055】
したがって、本発明に係るCutMix方法は、1つのサンプルイメージから一部の領域を切り取って他の1つのサンプルイメージの一部の領域に貼り付けるという方式により、新たな学習データを生成することができる。このようなCutMix方法は、従来の方法とは異なり、イメージの混合によってイメージ内で地域的特徴に集中するようにする学習データを生成することができる。
【0057】
【数1】
およびyをそれぞれ学習イメージおよびラベルとする。
【0058】
CutMixの目標は、2つの学習用サンプル(x
A,y
A)と(x
B,y
B)を混合して新たな学習用サンプル(x~,y~)を生成することにある。この後、新たに生成された学習用サンプルを使用して原本損失関数(original loss function)でモデルを学習する。
【0059】
このために、混合演算は、数式(1)のように定義されてよい。
【0061】
【数3】
は、2つのイメージから外れて埋められなければならない位置を示す二陣マスクを示しており、1は1で埋められた二陣マスクであり、
【0062】
【数4】
は要素ごとの積(element−wise multiplication)である。
【0063】
2つのデータポイントの組み合わせの比率λは、排他分布排他(α,α)でサンプリングされる。従来の技術との主な差は、CutMixによってイメージ領域を他の学習イメージのパッチと入れ替えることにより、従来の技術よりも、地域的に自然なイメージを多く生成できるという点にある。
【0064】
二陣マスクMをサンプリングするためには、先ず、x
Aとx
Bの切り取り領域を示す境界枠座標
【0065】
【数5】
をサンプリングする。x
Aの領域Bは削除され、x
BのBで切り取られたパッチが埋められる。
【0066】
縦横の割合が原本イメージと比例するように四角形のマスクMをサンプリングする。境界枠座標は、数式(2)によって均一にサンプリングされる。
【0068】
【数7】
で生成する。切り取り領域において、二陣マスク
【0069】
【数8】
は、境界枠内では0で埋められ、そうでなければ1となる。
【0070】
CutMixの実現は単純である上に、データ拡張技法のうちの1つとして無視することのできる演算オーバヘッドを有しているため、これを効率的に活用することにより、すべてのネットワークアーキテクチャを学習させることができる。繰り返される学習において、学習用サンプル(x~,y~)は、数式(1)によってランダムに選択された2つの学習サンプルをミニバッチに混合することで生成される。
【0071】
本発明は、CutMixに同期を付与することでオブジェクトの全体領域が分類されるようにする一方、学習の効率性を高めるために1つのイメージの部分的ビューから2つのオブジェクトが認識されるようにする。CutMixがそれぞれの部分ビューで2つのオブジェクトを認識する方法を実際に学んでいるかを確認するために、CutMixの活性化マップをCutoutおよびMixupと視覚的に比較する。
【0072】
図7は、複数の拡張技法を利用したサンプル(セントバーナード(Saint Bernard)画像、ミニチュアプードル(Miniature Poodle)画像)に対するクラス活性化マップ(CAM)を示している。ここで、CAMを得るためにResNet−50モデルを使用する。
【0073】
Cutoutにおいて、モデルがオブジェクトの重要でない部分に焦点を合わせるようにしていることが分かる。例えば、モデルは、Cutout−edサンプルにおいて、セントバーナードの腹部部分に焦点を合わせる。しかし、これは情報を提供しないピクセルであるため、学習データが効率的に使用されない。この反面、Mixupではピクセルを十分に活用するが、不自然な人為構造を取り入れる。この結果、Mixup用のCAMは、認識の手がかりを選択するにあたりモデルの混同を引き起こす。CutMixの場合には、分類とローカリゼーションにおいて次善的な成果を挙げることができる。Cutoutが単一イメージにおいて1つのオブジェクトだけを処理する反面、CutMixは2つのオブジェクトクラスを正確にローカリゼーションすることができるため、効率的な改善となる。
図8の表は、Mixup、Cutout、CutMixの比較を整理したものである。
【0074】
検証エラー分析(analysis on validation error)
CutMixがディープネットワークの学習の安定化に及ぼす影響を分析する。CutMixを利用した学習中のtop−1検証エラーと基準とを比較する。ImageNet分類はResNet−50、CIFAR−100分類はPyramidNet−200を学習するものであり、このような学習結果は
図9に示したとおりである。
【0075】
図9を参照すると、CutMixが、学習終了時の基準よりも低い検証エラーを達成したということが分かる。学習速度が減少する時期の後半では、基準線が次第に増加する検証エラーによる過剰適合によって困難を経験する。しかし、CutMixでは検証エラーが継続して減少し、多様なサンプルによって学習を指導することから、過剰適合を減らす能力が備えられていることが分かる。
【0076】
このように、本発明の実施形態によると、イメージを切り取って貼り付ける方式によって新たな学習データを生成してCNNを学習させることにより、分類器の性能と地域的特徴の認識性能を同時に向上させることができる。上述したCutMix方法は、学習モデルの一般性とローカリゼーションを改善することができ、イメージ分類とCIFAR分類に及ぼす影響を改善することができる。さらに、オブジェクト検出およびイメージキャプション作業に微調整が施された場合、CutMixを利用して学習モデルの移植性(transferability)を保障することができ、モデルの堅固性と不確実性を改善することができる。
【0077】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0078】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0079】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0080】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0081】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。