(57)【特許請求の範囲】
【請求項１】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、
複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、
複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、
を実行させ、
前記第１モデルは、ＣＮＮモデルであり、
前記第２モデルは、学習された前記第１モデルに、前記第２分類を行うための少なくとも１層以上の畳み込み層と、前記第２分類を行うための少なくとも１層以上の全結合層とを追加したＣＮＮモデルである、
プログラム。
【請求項２】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、
複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、
複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、
を実行させ、
前記第２分類は、肌性の分類、肌に関する特定の状態の程度の分類、又は肌上の物体の個数の分類であり、
前記第１分類における分類の数は、前記第２分類における分類の数よりも多く、
前記第１画像データは、肌が映っている画像以外の画像を含み、
前記第２画像データは、肌が映っている画像である、
プログラム。
【請求項３】
前記第１モデルは、ＣＮＮモデルであり、
前記第２モデルは、学習された前記第１モデルに、前記第２分類を行うための少なくとも１層以上の畳み込み層と、前記第２分類を行うための少なくとも１層以上の全結合層とを追加したＣＮＮモデルである、
請求項２に記載のプログラム。
【請求項４】
前記第２分類は、特定の分野において、画像データを分類するものである、
請求項１〜請求項３の何れかに記載のプログラム。
【請求項５】
前記第１分類と、前記第２分類との相関性が低い、
請求項４に記載のプログラム。
【請求項６】
前記第１モデルを学習するステップと、前記第２モデルを学習するステップとを、所定の条件を満たすまで繰り返し、
前記第１モデルを学習するステップにおいて、前記第２モデルを学習するステップにより学習された前記第２モデルに含まれる前記第１モデルのパラメータを用いて、前記第１モデルを学習する
請求項１〜請求項５の何れかに記載のプログラム。
【請求項７】
画像データの入力を受け付けるステップと、
前記画像データと、学習された前記第２モデルとを用いて、前記画像データの前記第２分類における分類結果を求めるステップと、
求められた前記画像データの前記第２分類における分類結果を出力するステップと、
を実行させる請求項１〜請求項６の何れかに記載のプログラム。
【請求項８】
プロセッサを備える情報処理装置であって、前記プロセッサが、
複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、
複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、前記第１モデルに前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、
を実行し、
前記第１モデルは、ＣＮＮモデルであり、
前記第２モデルは、学習された前記第１モデルに、前記第２分類を行うための少なくとも１層以上の畳み込み層と、前記第２分類を行うための少なくとも１層以上の全結合層とを追加したＣＮＮモデルである、
情報処理装置。
【請求項９】
プロセッサを備える情報処理装置であって、前記プロセッサが、
複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、
複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、
を実行し、
前記第２分類は、肌性の分類、肌に関する特定の状態の程度の分類、又は肌上の物体の個数の分類であり、
前記第１分類における分類の数は、前記第２分類における分類の数よりも多く、
前記第１画像データは、肌が映っている画像以外の画像を含み、
前記第２画像データは、肌が映っている画像である、
を実行する情報処理装置。
【請求項１０】
プロセッサを備えるコンピュータが実行する方法であって、前記プロセッサが、
複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、
複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、前記第１モデルに前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、
を実行し、
前記第１モデルは、ＣＮＮモデルであり、
前記第２モデルは、学習された前記第１モデルに、前記第２分類を行うための少なくとも１層以上の畳み込み層と、前記第２分類を行うための少なくとも１層以上の全結合層とを追加したＣＮＮモデルである、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理装置、及び、方法に関する。
【背景技術】
【０００２】
入力された画像データを、精度良く分類することについてニーズがある。画像データから、肌の状態を識別する技術がある（特許文献１）。特許文献１は、「肌画像に対して十字二値化処理及び／又は短直線マッチング処理を含む画像処理を行い、肌の物理量を得る工程と、前記工程で得られた肌の物理量を、予め用意した予測式に代入し、得られた評価値を皮膚のキメ及び／又はシワの評価値と鑑別する工程とを含む、肌のキメ及び／又はシワの鑑別法」を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開２００９／１４２０６９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術を、例えば肌に関する分類を行うタスク（肌分類タスク）に適用しても、精度が低いものとなってしまう。また、分類タスクを行うためのモデルを学習データを増やして、精度を高めるように学習しても、実際に使う場面になると、過学習の影響により、分類結果に偏りが生じてしまう、という問題があった。
【０００５】
本開示の目的は、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる技術を提供することである。
【課題を解決するための手段】
【０００６】
本開示に係るプログラムは、プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップと、を実行させる。
【発明の効果】
【０００７】
本開示に係るプログラムによれば、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置１０の構成を示すブロック図である。
【図２】情報処理装置１０の機能構成を示すブロック図である。
【図３】第１モデルのＣＮＮ構造の一例を示す図である。
【図４】第２モデルのＣＮＮ構造の一例を示す図である。
【図５】情報処理装置１０による学習処理を行う流れの一例を示すフローチャートである。
【図６】情報処理装置１０による肌分類処理を行う流れの一例を示すフローチャートである。
【図７】第２モデルのＣＮＮ構造の一例を示す図である。
【図８】第２モデルのＣＮＮ構造の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。従って、それらについての詳細な説明は繰り返さない。
【００１０】
＜本開示の概要＞
本開示では、画像データを入力すると、所定の分類における分類結果を出力する学習済みモデルについて説明する。従来の学習済みモデルでは、精度を高めるように学習しても、実際に使う場面では、過学習により、分類結果に偏りが生じてしまう。
【００１１】
自然言語処理の分野では、ラベルのついていない文章から表現を事前学習するように作られたモデルに、特定の構成を付加することによりファインチューニングが可能にする技術がある（例えば、ＢＥＲＴ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｅｎｃｏｄｅｒ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｆｒｏｍ  Ｔｒａｎｓｆｏｒｍｅｒｓ））。しかし、ＢＥＲＴは自然言語についてであり、シーケンスと呼ばれる時系列のテキストデータを学習に用いるため、時系列のデータではない画像データの分類タスクにそのまま適用することができない。
【００１２】
本開示の技術は、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習する。そして、本開示の技術は、第１モデルに第２分類を行うための構造を追加した第２モデルを学習する。このように、第１モデルを事前学習し、第１モデルに第２分類を行うための構造を追加した第２モデルを学習することで、精度よく、かつ、偏りの無い画像データを分類することができる。第２分類よりも広い概念で分類する第１分類における第１モデルを第２モデルに組み込むことで、０から第２分類タスクを学ばせるのではなく、ある程度の知識がある状態で、第２分類タスクを学習させることを実現することができる。これにより、第２分類における分類結果の偏りを防ぐことができる。
【００１３】
以下、本開示では、目的とする分類タスク（第２分類）が、肌に関する分類を行うものである場合を例に説明する。従来から、美容部員と呼ばれる実際に化粧品などをユーザの肌質に合わせて提案する専門家が、肌質を肉眼、触感などにより、肌に関する分類を行っている。
【００１４】
このような肌分類タスクを行う肌分類モデルを考えると、学習装置が、画像データに、美容部員が判断したラベルを付与して、肌分類モデルを学習することになる。しかし、このような専門家の知見が不可欠な分類タスクでは、学習段階で精度を高めたとしても、実際に使う場面では偏りを生じやすいことが分かった。そこで、本開示では、上記第２モデルを、肌分類の分野に適用する例により、精度よく、かつ、偏りの無い肌分類を実現することができる情報処理装置、プログラム、及び方法について説明する。
【００１５】
＜１．情報処理装置１０の構成＞
図１及び図２を用いて、本開示に係る情報処理装置１０について説明する。本開示に係る情報処理装置１０は、画像データを入力することにより、肌に関して分類した分類結果を出力するための第２モデルを学習する処理等を実行するための装置である。
【００１６】
図１は、情報処理装置１０の構成を示す図である。情報処理装置１０は、例えば、ラップトップパソコン又はラックマウント型若しくはタワー型等のコンピュータ、スマートフォン等である。情報処理装置１０は、複数の情報処理装置１０により、１つのシステムとして構成される、冗長化構成される等されてもよい。情報処理システム１を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力、情報処理システム１に求められる仕様等に鑑みて適宜決定することができる。
【００１７】
情報処理装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信ＩＦ１４と、入出力ＩＦ１５とを含んで構成される。
【００１８】
プロセッサ１１は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【００１９】
メモリ１２は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性のメモリである。
【００２０】
ストレージ１３は、データを保存するための記憶装置であり、例えばフラッシュメモリ、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）である。
【００２１】
通信ＩＦ１４は、情報処理装置１０が外部の装置と通信するため、信号を入出力するためのインタフェースである。通信ＩＦ１４は、インターネット、広域イーサネット等のネットワークに有線又は無線により接続する。
【００２２】
入出力ＩＦ１５は、入力操作を受け付けるための入力装置（例えば、マウス等のポインティングデバイス、キーボード）、及び、情報を提示するための出力装置（ディスプレイ、スピーカ等）とのインタフェースとして機能する。
【００２３】
図２は、情報処理装置１０の機能構成を示すブロック図である。図２に示すように、情報処理装置１０は、通信部１１０と、記憶部１２０と、制御部１３０とを含む。
【００２４】
通信部１１０は、情報処理装置１０が外部の装置と通信するための処理を行う。
【００２５】
記憶部１２０は、情報処理装置１０が使用するデータ及びプログラムを記憶する。記憶部１２０は、学習データＤＢ１２１、モデルＤＢ１２２等を記憶する。
【００２６】
学習データＤＢ１２１は、学習処理を行う際に用いる学習データを保持するデータベースである。学習データは、第１学習データセットと、第２画像データセットとを少なくとも含む。
【００２７】
第１学習データセットは、第１モデルを学習するための学習データの集合である。第１学習データセットは、複数の第１画像データを少なくとも含む。第１画像データは、どのような画像データであってもよい。本開示で例示する第２分類では、肌に関する分類を行うため、学習に用いる第２画像データは、肌が映っている画像である必要があるが、第１画像データは、肌が映っている画像に限定されない。なお、第１学習データセットは、複数の第１画像データの各々についての、第１分類の分類結果を付与した情報を含んでもよい。また、第１学習データセットは、後述する第１モデルの学習精度の検証に用いる第１検証データを含む。第１学習データセットとしては、例えば、ＩｍａｇｅＮｅｔなどの画像データセットを用いることができる。
【００２８】
第２学習データセットは、第２モデルを学習するための学習データの集合である。第２学習データセットは、複数の第２画像データと、当該第２画像データの各々についての第２分類における分類結果とを少なくとも含む。また、第２学習データセットは、後述する第２モデルの学習精度の検証に用いる第２検証データを含む。
【００２９】
第２画像データは、第２分類の対象となる画像データである。本開示では、第２分類が肌分類であるため、第２画像データは、肌が映っている画像を含む。第２画像データは、例えば、顔の写真データ、腕の写真データ等である。分類結果は、美容部員と呼ばれる実際に化粧品などをユーザの肌質に合わせて提案する専門家等により、第２画像データに対して、例えば、乾燥、敏感、脂性、普通、混合等の肌性が分類された結果である。
【００３０】
モデルＤＢ１２２は、第１モデル及び第２モデルのパラメータを保持するデータベースである。第１モデル及び第２モデルは、任意の機械学習モデル、ニューラルネットワーク（例えば、ＣＮＮ）など、任意のモデルを採用することができる。本開示では、第１モデル及び第２モデルが、ＣＮＮモデルである場合を例に説明する。
【００３１】
第１モデルは、画像データを入力すると、第１分類における分類結果を出力するモデルである。第１分類は、第２分類よりも広い概念で分類するものである。より具体的には、第１分類は、第２分類との相関性が低く、より広い分類である。第１分類における分類の数は、第２分類における分類の数よりも多い。例えば、第１モデルは、入力された画像データを、肌とは無関係の５００〜１５００個のクラスに分類する。
【００３２】
図３は、第１モデルのＣＮＮ構造の一例を示す図である。図３に示すように、第１モデルは、一般的なＣＮＮ構造（入力層、畳み込み層、プーリング層、全結合層、及び出力層）を有するものを採用することができる。なお、第１モデルは、第１モデルの各層を、複数構成するなど、図３の構成に限定されない。第１モデルは、任意構成とすることができ、既存のＣＮＮモデルに限定されるものではない。第１モデルは、例えば、ＭｏｂｉｌｅＮｅｔなどの既存のモデルを採用しても良い。
【００３３】
第２モデルは、画像データを入力すると、第２分類の分類結果を出力するモデルである。第２モデルは、学習された第１モデルに、第２分類を行うための構造を追加するように構成される。第２分類を行うための構造は、第２分類を行うための全結合層を少なくとも１層以上含む。また、当該構造は、第２分類を行うための畳み込み層、プーリング層を、任意の個数含めるようにしてもよい。
【００３４】
第２分類は、第１分類よりも相対的に小さい数を分類するものとする。本開示の第２分類である肌に関する分類は、（ｉ）肌性の分類、（ｉｉ）肌に関する特定の状態の程度の分類、（ｉｉｉ）肌上の物体の個数の分類などである。例えば、肌に関する分類が、（ｉ）肌性の分類である場合、第２モデルは、入力された画像データを、肌性を示す５つのクラス（例えば、乾燥、敏感、脂性、普通、混合等）に分類する。なお、肌性の分類は上記５つに限定されるものではない。
【００３５】
また、肌に関する分類が、（ｉｉ）肌に関する特定の状態の程度の分類である場合、第２モデルは、入力された画像データを、肌に関する特定の状態（潤い、明るさ、肌色、目の隈、ニキビ、毛穴、シミ、シワなど）の程度を示すクラスに分類する。この場合、クラスは、例えば、Ａ〜Ｇ等の程度を示す表現を用いることができる。
【００３６】
また、肌に関する分類が、（ｉｉｉ）肌上の物体（例えば、ニキビ、毛穴、シミ、シワ、目の隈）の個数の分類である場合、第２モデルは、入力された画像データを、物体の個数の程度を示すクラスに分類する。この場合、クラスは、例えば、個数に応じてＡ〜Ｇ等の程度を示す表現を用いることができる。なお、第２モデルは、（ｉ）肌性の分類、（ｉｉ）肌に関する特定の状態の程度の分類、（ｉｉｉ）肌上の物体の個数の分類を組み合わせて同時に行うように構成してもよい。
【００３７】
図４は、第２モデルのＣＮＮ構造の一例を示す図である。図４の例において、第２モデルは、第１モデルに、第２分類を行うための畳み込み層を１つ、全結合層を２つ、出力層を１つ追加している。なお、第２モデルは、第１モデルの出力層を削除する構成としてもよい。
【００３８】
第１モデルは、多数のクラスを分類するように事前に学習されることにより、あたかも一般的な識別することができるモデルとなる。第２モデルは、そのような前提を持った第１モデルに、更に第２分類を行う構造を追加して上で、専門的な少数のクラスを分類するように学習される。人は、一般に、専門知識のみを学ぶよりも、教養が前提で更に専門知識を学んだ方が、偏りが無く、学習効率も良い。これに倣い、人の脳を模したＣＮＮのようなニューラルネットワークを用いる第２モデルは、ゼロ知識から第２分類を学習した学習済みモデルよりも、精度よく、かつ、偏りなく第２分類を行うことができる。
【００３９】
制御部１３０は、情報処理装置１０のプロセッサ１１がプログラムに従って処理を行うことにより、受信制御部１３１、送信制御部１３２、第１学習部１３３、第２学習部１３４、入力部１３５、分類部１３６、出力部１３７などに示す機能を発揮する。
【００４０】
受信制御部１３１は、情報処理装置１０が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【００４１】
送信制御部１３２は、情報処理装置１０が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【００４２】
第１学習部１３３は、複数の第１画像データを含む第１学習データセットを用いて、第１モデルを学習する。具体的には、第１学習部１３３は、まず、学習データＤＢ１２１から、第１学習データセットを取得する。また、第１学習部１３３は、モデルＤＢ１２２から、第１モデルの各層のパラメータを取得する。なお、第１学習部１３３が、初めて第１モデルを学習する場合、モデルＤＢ１２２には、第１モデルの初期パラメータが格納されている。
【００４３】
次に、第１学習部１３３は、第１学習データセットを用いて、第１モデルの各層のパラメータを学習する。第１学習部１３３は、第１モデルの学習に、任意の教師なし学習法を用いる。第１モデルは、学習法に応じて、例えば、ＤＣＧＡＮ（Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  ＧＡＮ）等を用いることができる。
【００４４】
また、第１学習部１３３は、第１モデルの各層のパラメータを、任意の教師有り学習法を用いて学習することもできる。この場合、第１学習データセットは、複数の第１画像データの各々についての、第１分類の分類結果を付与した情報を含む。任意の教師有り学習法としては、例えば、誤差逆伝播法等を用いることができる。
【００４５】
第１学習部１３３は、第１検証データを用いて、学習した第１モデルの精度を検証する。具体的には、第１学習部１３３は、第１検証データに含まれる複数の画像データと、分類結果とを用いて、精度を検証する。第１学習部１３３は、精度として、学習した第１モデルの分類結果の正答率が所定の閾値以上となるまで、第１モデルのパラメータを学習する。所定の閾値は、例えば、９０％〜９９．９％とする。所定の閾値が、９９．９％以上であれば、第２モデルの分類精度がより向上する。
【００４６】
第２学習部１３４は、第２学習データセットを用いて、画像データを入力すると、第２モデルを学習する。具体的には、第２学習部１３４は、まず、学習データＤＢ１２１から、第２学習データセットを取得する。また、第２学習部１３４は、モデルＤＢ１２２から、第２モデルの各層のうち、第１モデル以外の各層のパラメータを取得する。また、第２学習部１３４は、第１学習部１３３から、学習された第１モデルの各層のパラメータを取得する。なお、第２学習部１３４が、初めて第２モデルを学習する場合、モデルＤＢ１２２には、第２モデルの初期パラメータが格納されている。
【００４７】
次に、第２学習部１３４は、第２学習データセットを用いて、第２モデルの各層のパラメータを学習する。第２学習部１３４は、第２モデルの学習に、任意の教師あり学習法を用いる。任意の教師有り学習法としては、例えば、誤差逆伝播法等を用いることができる。第２学習部１３４は、美容部員などの専門家による判断結果を用いることが、第２モデルの精度を担保するため、教師有り学習法用いる。なお、第２学習部１３４は、第２モデルを学習する際に、第２モデルに含まれる第１モデルに相当する部分についての各層のパラメータも学習することになる。
【００４８】
第２学習部１３４は、第２検証データを用いて、学習した第２モデルの精度を検証する。具体的には、第２学習部１３４は、第２検証データに含まれる複数の画像データと、分類結果とを用いて、精度を検証する。第２学習部１３４は、精度として、学習した第２モデルの分類結果の正答率が所定の閾値以上となるまで、第２モデルのパラメータを学習する。所定の閾値は、例えば、７５％〜９９．９％とする。所定の閾値は、９９．９％以上であることが好ましい。
【００４９】
第２学習部１３４は、学習した第２モデルの各層のパラメータと、第２学習部１３４で学習した第１モデルの各層のパラメータとを、モデルＤＢ１２２に格納する。
【００５０】
第２学習部１３４は、所定の条件を満たすか否かを判定する。所定の条件は、第１学習部１３３による第１モデルの学習と、第２学習部１３４による第２モデルの学習とを行った回数が所定数以上となったこと、第２モデルの学習精度に変化が見られなくなったこと等である。第２学習部１３４は、第１学習部１３３による第１モデルの学習と、第２学習部１３４による第２モデルの学習とを所定の条件を満たすまで繰り返させる。第１学習部１３３及び第２学習部１３４の処理を繰り返すことにより、第１モデル及び第２モデルが互いに影響され、実際に学習された第２モデルを用いて第２分類を行った際の精度が向上する。
【００５１】
入力部１３５は、画像データの入力を受け付ける。具体的には、入力部１３５は、肌が映っている画像データの入力を受け付ける。画像データは、通信を介して入力されてもよい。
【００５２】
分類部１３６は、画像データと、学習された第２モデルとを用いて、画像データの第２分類における分類結果を求める。具体的には、分類部１３６は、まず、モデルＤＢ１２２から、学習済みの第２モデルのパラメータを取得する。次に、分類部１３６は、画像データを第２モデルに入力することにより、画像データの分類結果を求める。分類結果は、例えば、乾燥肌、敏感肌などである。
【００５３】
出力部１３７は、求められた画像データの第２分類における分類結果を出力する。分類結果は、通信を介して外部装置に出力、表示される構成としても良い。
【００５４】
＜２．動作＞
以下では、情報処理装置１０における処理について図面を参照しながら説明する。
【００５５】
＜２．１．学習処理＞
図５は、情報処理装置１０による学習処理を行う流れの一例を示すフローチャートである。情報処理装置１０は、当該処理を、任意のタイミング（例えば、学習処理開始信号の受信など）において実行する。
【００５６】
ステップＳ１０１において、第１学習部１３３は、モデルＤＢ１２２から、第１モデルの各層のパラメータを取得する。
【００５７】
ステップＳ１０２において、第１学習部１３３は、学習データＤＢ１２１から、第１学習データセットを取得する。
【００５８】
ステップＳ１０３において、第１学習部１３３は、第１学習データセットを用いて、第１モデルの各層のパラメータを学習する。
【００５９】
ステップＳ１０４において、第２学習部１３４は、モデルＤＢ１２２から、第２モデルの各層のうち、第１モデル以外の各層のパラメータを取得する。また、第２学習部１３４は、第１学習部１３３から、学習された第１モデルの各層のパラメータを取得する。
【００６０】
ステップＳ１０５において、第２学習部１３４は、学習データＤＢ１２１から、第２学習データセットを取得する。
【００６１】
ステップＳ１０６において、第２学習部１３４は、第２学習データセットを用いて、第２モデルの各層のパラメータを学習する。
【００６２】
ステップＳ１０７において、第２学習部１３４は、学習した第２モデルの各層のパラメータと、第２学習部１３４で学習した第１モデルの各層のパラメータとを、モデルＤＢ１２２に格納する。
【００６３】
ステップＳ１０８において、第２学習部１３４は、所定の条件を満たすか否かを判定する。
【００６４】
所定の条件を満たさない場合（ステップＳ１０８のＮ）、第２学習部１３４は、ステップＳ１０１に戻り、第１学習部１３３による第１モデルの学習と、第２学習部１３４による第２モデルの学習とを所定の条件を満たすまで繰り返させる。
【００６５】
一方、所定の条件を満たす場合（ステップＳ１０８のＹ）、第２学習部１３４は、処理を終了する。
【００６６】
＜２．２．肌分類処理＞
図６は、情報処理装置１０による肌分類処理を行う流れの一例を示すフローチャートである。情報処理装置１０は、当該処理を、画像データが入力されること等により実行する。
【００６７】
ステップＳ２０１において、入力部１３５は、画像データの入力を受け付ける。
【００６８】
ステップＳ２０２において、分類部１３６は、モデルＤＢ１２２から、学習済みの第２モデルのパラメータを取得する。
【００６９】
ステップＳ２０３において、分類部１３６は、画像データを第２モデルに入力することにより、画像データの分類結果を求める。
【００７０】
ステップＳ２０４において、出力部１３７は、求められた画像データの第２分類における分類結果を出力し、処理を終了する。
【００７１】
以上説明したように、本開示によれば、プロセッサに、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップと、複数の第２画像データと、第２画像データの各々についての第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、第２分類の分類結果を出力する第２モデルであって、学習された第１モデルに、第２分類を行うための構造を追加した第２モデルを学習するステップと、を実行させることにより、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類するためのモデルを学習することができる。
【００７２】
また、本開示によれば、プロセッサに、画像データの入力を受け付けるステップと、像データと、学習された第２モデルとを用いて、画像データの第２分類における分類結果を求めるステップと、求められた画像データの第２分類における分類結果を出力するステップと、を実行させることにより、画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができる。
【００７３】
＜３．変形例＞
本開示では、第２モデルが、第１モデルに、第２分類を行うための畳み込み層を１つ、全結合層を２つ、出力層を１つ追加した構成を例に説明した。本開示の第２モデルは、上記の構成に限定されない。本開示に係る第２モデルの他の例について説明する。
【００７４】
図７及び図８は、第２モデルのＣＮＮ構造の一例を示す図である。
【００７５】
図７の例において、第２モデルは、第１モデルに、第２分類を行うための畳み込み層、プーリング層、全結合層、出力層をそれぞれ１つ追加している。このように、第２モデルは、第１モデルに更に基本的なＣＮＮ構造を追加するような種々の変形が可能である。
【００７６】
図８の例において、第２モデルは、図３の例の第１モデルから出力層を削除した構成である。第２モデルは、第１モデルの出力層をそのまま用いても良いが、図８の例のように、出力層を削除することで、第１モデルで抽出した特徴をそのまま第２モデルで用いる構成も可能である。例えば、第１モデルの出力層で出力される値が、第２モデルで追加される構成に適合しない場合、適合させるための中間層を追加するのではなく第１モデルの出力層をあえて削除することで、精度よく第２モデルを構成することができる。
【００７７】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換及び変更を行なって実施することができる。これらの実施形態及び変形例ならびに省略、置換及び変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【００７８】
例えば、情報処理装置１０の各機能を、他の装置に構成してもよい。例えば、記憶部１２０の各ＤＢは、外部のデータベースとして構築してもよい。また、情報処理装置１０の各機能を、他の装置に構成してもよい。例えば、記憶部１２０の各ＤＢは、外部のデータベースとして構築してもよい。
【００７９】
また、情報処理装置１０の学習処理に用いる機能と、肌分類処理に用いる機能とを別の装置に構成しても良い。例えば、学習処理に用いる機能を高性能の情報処理装置に構成し、肌分類に用いる処理をスマートフォンにインストールするアプリとして構成することができる。
【００８０】
また、本開示では、第２分類が、肌性を分類するものである場合を例に説明したが、これに限定されるものではない。第２分類は、他の分類にも応用することができる。
【００８１】
＜付記＞
以上の各実施形態で説明した事項を、以下に付記する。
（付記１）プロセッサ（１１）を備えるコンピュータ（例えば、情報処理装置１０）を動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップ（Ｓ１０３）と、複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップ（Ｓ１０６）と、を実行させるプログラム。
【００８２】
（付記２）前記第２分類は、特定の分野において、画像データを分類するものである、（付記１）に記載のプログラム。
【００８３】
（付記３）前記第１分類と、前記第２分類との相関性が低い、（付記２）に記載のプログラム。
【００８４】
（付記４）前記第１モデルを学習するステップと、前記第２モデルを学習するステップとを、所定の条件を満たすまで繰り返し、前記第１モデルを学習するステップにおいて、前記第２モデルを学習するステップにより学習された前記第２モデルに含まれる前記第１モデルのパラメータを用いて、前記第１モデルを学習する（付記１）〜（付記３）の何れかに記載のプログラム。
【００８５】
（付記５）前記第１モデルは、ＣＮＮモデルであり、前記第２モデルは、学習された前記第１モデルに、前記第２分類を行うための全結合層を少なくとも１層以上追加したＣＮＮモデルである（付記１）〜（付記４）の何れかに記載のプログラム。
【００８６】
（付記６）前記第２モデルは、更に、前記第２分類を行うための畳み込み層を少なくとも１層以上追加したＣＮＮモデルである（付記５）に記載のプログラム。
【００８７】
（付記７）前記第２分類は、肌に関する分類を行うものであり、前記第１分類における分類の数は、前記第２分類における分類の数よりも多く、前記第１画像データは、肌が映っている画像以外の画像を含み、前記第２画像データは、肌が映っている画像である（付記６）に記載のプログラム。
【００８８】
（付記８）画像データの入力を受け付けるステップ（Ｓ２０１）と、前記画像データと、学習された前記第２モデルとを用いて、前記画像データの前記第２分類における分類結果を求めるステップ（Ｓ２０３）と、求められた前記画像データの前記第２分類における分類結果を出力するステップ（Ｓ２０４）と、を実行させる（付記１）〜（付記７）の何れかに記載のプログラム。
【００８９】
（付記９）プロセッサ（１１）を備える情報処理装置（１０）であって、前記プロセッサが、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップ（１３３）と、複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、前記第１モデルに前記第２分類を行うための構造を追加した前記第２モデルを学習するステップ（１３４）と、を実行する情報処理装置。
【００９０】
（付記１０）プロセッサ（１１）を備えるコンピュータ（例えば、情報処理装置（１０））が実行する方法であって、前記プロセッサが、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップ（Ｓ１０３）と、複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、前記第１モデルに前記第２分類を行うための構造を追加した前記第２モデルを学習するステップ（Ｓ１０６）と、を実行する方法。
【符号の説明】
【００９１】
１０        ：情報処理装置
１１        ：プロセッサ
１２        ：メモリ
１３        ：ストレージ
１４        ：通信ＩＦ
１５        ：入出力ＩＦ
１２０      ：記憶部
１２１      ：学習データＤＢ
１２２      ：モデルＤＢ
１３０      ：制御部
１３１      ：受信制御部
１３２      ：送信制御部
１３３      ：第１学習部
１３４      ：第２学習部
１３５      ：入力部
１３６      ：分類部
１３７      ：出力部
【要約】
【課題】画像データを、精度よく、かつ、偏りなく、所望の分類タスクにより分類することができるようにする。
【解決手段】プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プログラムは、前記プロセッサに、複数の第１画像データを含む第１学習データセットを用いて、画像データを入力すると、第２分類よりも広い概念で分類する第１分類における分類結果を出力する第１モデルを学習するステップ（Ｓ１０３）と、複数の第２画像データと、前記第２画像データの各々についての前記第２分類における分類結果とを含む第２学習データセットを用いて、画像データを入力すると、前記第２分類の分類結果を出力する第２モデルであって、学習された前記第１モデルに、前記第２分類を行うための構造を追加した前記第２モデルを学習するステップ（Ｓ１０６）と、を実行させる。
【選択図】図５【図１】
0006947460.tif 000002
【図２】
0006947460.tif 000003
【図３】
0006947460.tif 000004
【図４】
0006947460.tif 000005
【図５】
0006947460.tif 000006
【図６】
0006947460.tif 000007
【図７】
0006947460.tif 000008
【図８】
0006947460.tif 000009