(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体
(51)【国際特許分類】
G06N 3/045 20230101AFI20231031BHJP
G06N 3/09 20230101ALI20231031BHJP
G06T 7/00 20170101ALI20231031BHJP
G06V 10/82 20220101ALI20231031BHJP
【FI】
G06N3/045
G06N3/09
G06T7/00 350C
G06V10/82
(21)【出願番号】P 2022564577
(86)(22)【出願日】2021-07-16
(86)【国際出願番号】 CN2021106635
(87)【国際公開番号】W WO2022042123
(87)【国際公開日】2022-03-03
【審査請求日】2022-10-21
(31)【優先権主張番号】202010862911.0
(32)【優先日】2020-08-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522238376
【氏名又は名称】深▲セン▼思謀信息科技有限公司
【氏名又は名称原語表記】SHENZHEN SMARTMORE TECHNOLOGY CO., LTD.
【住所又は居所原語表記】2201A, Tower 2, Qianhai Kerry Business Center Phase 4, Qianhai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong, China
(73)【特許権者】
【識別番号】522413869
【氏名又は名称】上海思謀科技有限公司
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(72)【発明者】
【氏名】クイ、ジェクァン
(72)【発明者】
【氏名】リュウ、シュ
(72)【発明者】
【氏名】ティアン、チュオタオ
【審査官】稲葉 崇
(56)【参考文献】
【文献】米国特許出願公開第2019/0272482(US,A1)
【文献】国際公開第2019/232489(WO,A1)
【文献】特表2020-522794(JP,A)
【文献】特開2014-49118(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
G06T 7/00-7/90
G06V 10/00-20/90
G06V 30/418,40/16,40/20
G06T 1/00-1/40
G06T 3/00-5/50
G06T 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するステップと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るステップであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、
各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であるステップと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするステップと、を含む画像認識モデル生成方法。
【請求項2】
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得る前記ステップは、
前記サンプル画像セットの複数の前記サンプル画像サブセットを均一にサンプリングして、サンプル画像入力シーケンスを得るステップと、
前記サンプル画像入力シーケンスに基づいて、サンプル画像を前記訓練対象の画像認識モデルに入力して、前記サンプル画像の
認識された画像クラスを得るステップと、
前記サンプル画像の
認識された画像クラスと、対応する
前記サンプル画像の実際の画像クラスとに基づいて、前記訓練対象の画像認識モデルの損失値を決定するステップと、を含む請求項1に記載の方法。
【請求項3】
前記訓練対象の画像認識モデルは、前記ブランチニューラルネットワークに接続されるベースニューラルネットワークをさらに含み、
前記サンプル画像入力シーケンスに基づいて、サンプル画像を前記訓練対象の画像認識モデルに入力して、前記サンプル画像の
認識された画像クラスを得る前記ステップは、
前記ベースニューラルネットワークが前記サンプル画像の第1画像特徴を取得し、前記ブランチニューラルネットワークが、前記第1画像特徴に基づいて前記サンプル画像の第2画像特徴を得るとともに、前記第2画像特徴に基づいて前記サンプル画像セットのサンプル画像の
認識された画像クラスを決定するように、前記サンプル画像を前記訓練対象の画像認識モデルに入力することを含む請求項2に記載の方法。
【請求項4】
前記サンプル画像の画像クラスと、対応する実際の画像クラスとに基づいて、前記訓練対象の画像認識モデルの損失値を決定する前記ステップは、
前記サンプル画像セットのサンプル画像の
認識された画像クラスと、対応する
サンプル画像の実際の画像クラスとに基づいて、前記サンプル画像セットのサンプル画像の損失値を決定するステップと、
複数の前記ブランチニューラルネットワークにより決定された前記サンプル画像セットのサンプル画像の損失値に基づいて、前記サンプル画像セットに対応する損失値を得、前記目標分類損失値とするステップと、
各前記ブランチニューラルネットワークに対応するサンプル画像サブセットの全てのサンプル画像の損失値を取得し、前記サンプル画像サブセットの全てのサンプル画像の損失値の和を
各前記ブランチニューラルネットワークに対応する分類損失値とするステップと、
前記目標分類損失値と、
各前記ブランチニューラルネットワークに対応する分類損失値とに基づいて、前記訓練対象の画像認識モデルの損失値を計算して得るステップと、を含む請求項
2に記載の方法。
【請求項5】
前記サンプル画像セットは、画像の数が順次減少する3つのサンプル画像サブセットを含み、前記訓練対象の画像認識モデルは、3つのブランチニューラルネットワークを含み、
前記目標分類損失値は、下記式:
L
f
=J(F
net
(X),Y),ここで、F
net
(X)=N
h+m+t
(X)+N
m+t
(X)+N
t
(X)
(式中、L
fは前記目標分類損失値であり、Jはクロスエントロピー損失関数であり、F
netは訓練対象の画像認識モデルであり、Xは前記サンプル画像入力シーケンスにおけるサンプル画像
セットであり、Yは前記サンプル画像の実際の画像クラスであり、h、m、tはそれぞれ画像の数が順次減少する第1、第2及び第3サンプル画像サブセットであり、前記
N
h+m+t
、N
m+t
、N
t
は3つのサンプル画像サブセットに対応する3つのブランチニューラルネットワークであり、添え字はブランチニューラルネットワークに対応するサンプル画像サブセットである。)により計算して得られ、
各前記ブランチニューラルネットワークに対応する前記分類損失値は、下記式:
(式中、L
iは複数の前記ブランチニューラルネットワークに対応する分類損失値の和であり、S
m+tはXの一方のサブセットであり、前記サンプル画像入力シーケンスにおける第2及び第3サンプル画像サブセットに属するサンプル画像を含み、S
tはXの他方のサブセットであり、前記サンプル画像入力シーケンスにおける第3サンプル画像サブセットに属するサンプル画像を含む。)により計算して得られる請求項4に記載の方法。
【請求項6】
前記訓練対象の画像認識モデルの損失値は、下記式により計算して得られる請求項5に記載の方法。
L
all=(1-α)L
f/n
1+αL
i/n
2;
(式中、L
allは訓練対象の画像認識モデルの損失値であり、αはハイパーパラメータであり、n
1はXにおけるサンプル画像の数であり、n
2はX、S
m+t及びS
tにおけるサンプル画像の数の総和である。)
【請求項7】
サンプル画像セットを取得する前に、
サンプル画像を取得し、前記サンプル画像の画像クラスに基づいて、前記画像クラスの画像の数を決定するステップと、
前記画像クラスの画像の数に基づいて、前記画像クラスの並び順を得、前記並び順に従って、前記画像クラスを、同じ数の画像クラスを含む複数のクラス組み合わせに分けるステップと、
複数の前記クラス組み合わせと、複数の前記クラス組み合わせにおける画像クラスに対応するサンプル画像とに基づいて、複数の前記クラス組み合わせに対応するサンプル画像サブセットを得、複数の前記サンプル画像サブセットの組み合わせを前記サンプル画像セットとするステップと、をさらに含む請求項1に記載の方法。
【請求項8】
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するための取得モジュールと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るための訓練モジュールであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、
各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値である訓練モジュールと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするための調整モジュールと、を備える画像認識モデル生成装置。
【請求項9】
コンピュータプログラムが記憶されているメモリと、前記コンピュータプログラムを実行する場合に、請求項1~7のいずれか一項に記載の方法のステップを実現するプロセッサと、を備えるコンピュータ機器。
【請求項10】
プロセッサによって実行される場合に、請求項1~7のいずれか一項に記載の方法のステップを実現するコンピュータプログラムが記憶されているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2020年8月25日に提出された、名称が「画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体」、出願番号が2020108629110である中国特許出願の優先権を主張し、その全ての内容が参照によって本願に組み込まれる。
【0002】
本願は、画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体に関する。
【背景技術】
【0003】
深層学習において、画像認識技術は非常に大きな進歩を遂げた。しかし、これらの進歩には、ImageNet、COCOなどの大規模なデータセットが欠かせない。一般的な場合、これらの大規模なデータセットはクラスのバランスがとれているが、現実では、我々が得られるデータは通常、小さなクラスに含まれる画像データが多く、大きなクラスに含まれる画像データが少ないというロングテール分布に従うものである。
【発明の概要】
【0004】
複数の実施例によれば、本願の第1態様は、
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するステップと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るステップであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であるステップと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするステップと、を含む画像認識モデル生成方法を提供する。
【0005】
複数の実施例によれば、本願の第2態様は、
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するための取得モジュールと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るための訓練モジュールであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値である訓練モジュールと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするための調整モジュールと、を備える画像認識モデル生成装置を提供する。
【0006】
複数の実施例によれば、本願の第3態様は、コンピュータプログラムが記憶されているメモリと、前記コンピュータプログラムを実行する場合に、
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するステップと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るステップであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であるステップと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするステップと、を実現するプロセッサと、を備えるコンピュータ機器を提供する。
【0007】
複数の実施例によれば、本願の第4態様は、プロセッサによって実行される場合に、
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するステップと、
前記サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、前記訓練対象の画像認識モデルの損失値を得るステップであって、前記訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、前記損失値は、目標分類損失値と、各前記ブランチニューラルネットワークに対応する分類損失値とを含み、前記目標分類損失値は、前記訓練対象の画像認識モデルの前記サンプル画像セットに対する損失値であり、各前記ブランチニューラルネットワークに対応する前記分類損失値は、対応するブランチニューラルネットワークの前記ブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であるステップと、
前記損失値に基づいて、前記損失値が予め設定された閾値よりも低くなるまで前記訓練対象の画像認識モデルのモデルパラメータを調整し、前記訓練対象の画像認識モデルを訓練済みの画像認識モデルとするステップと、を実現するコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。
【0008】
本願の一つ又は複数の実施例の詳細は、以下の図面及び説明に記載されている。本願の他の特徴及び利点は、明細書、図面及び特許請求の範囲から明らかになるであろう。
【0009】
以下、本願の実施例又は従来技術の技術的手段をより明確に説明するために、実施例又は従来技術の説明に使用する図面を簡単に紹介する。以下の説明における図面は、本願のいくつかの実施例に過ぎず、当業者であれば、創造的努力なしにこれらの図面から他の図面を導き出すこともできることは明らかである。
【図面の簡単な説明】
【0010】
【
図1】一実施例における画像認識モデル生成方法の使用環境を示す図である。
【
図2】一実施例における画像認識モデル生成方法のフローチャートである。
【
図3】一実施例におけるブランチニューラルネットワークの構造を示す図である。
【
図4】一実施例における訓練対象の画像認識モデルを訓練して損失値を得るステップのフローチャートである。
【
図5】一実施例における訓練対象の画像認識モデルの損失値を決定するステップのフローチャートである。
【
図6】一実施例におけるサンプル画像サブセット及びサンプル画像セットを得る方法のフローチャートである。
【
図7】一実施例における画像認識モデル生成装置の構成ブロック図である。
【
図8】一実施例におけるコンピュータ機器の内部構造図である。
【発明を実施するための形態】
【0011】
このロングテール分布に適合するデータを利用してニューラルネットワークを訓練した結果、ニューラルネットワークは、画像データが多く含まれる小さなクラスをうまく認識することができるが、画像データが少なく含まれる大きなクラスを認識する精度が低いということが一般的である。これにより、画像認識モデルを生成する際に、このロングテール分布特性を無視すると、実際の使用において画像認識モデルの性能が大幅に低下してしまう。したがって、従来の画像認識モデル生成方法により得られた画像認識モデルの認識効果が依然として劣っている。
【0012】
本願の目的、技術的手段及び利点をより明確にするために、以下、図面及び実施例を参照しながら、本願を詳細に説明する。ここで説明される具体的な実施例は、本願を解釈するためのものに過ぎず、本願を限定するためのものではないことを理解されたい。
【0013】
本願に係る画像認識モデル生成方法は、
図1に示される使用環境に使用することができる。端末11はネットワークを介してサーバ12と通信する。サーバ12は、ネットワークを介して端末11から送信される、同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得し、サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得、訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、損失値は、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とを含み、目標分類損失値は、訓練対象の画像認識モデルのサンプル画像セットに対する損失値であり、
各ブランチニューラルネットワークに対応する分類損失値は、対応するブランチニューラルネットワークのブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であり、サーバ12は、損失値に基づいて、損失値が予め設定された閾値よりも低くなるまで訓練対象の画像認識モデルのモデルパラメータを調整し、訓練対象の画像認識モデルを訓練済みの画像認識モデルとする。端末11は、認識対象の画像をサーバ12に送信するとともに、サーバ12からの認識結果を得ることができる。
【0014】
端末11は、様々なパーソナルコンピュータ、ノートパソコン、スマートフォン、タブレット及びウェアラブルデバイスであってもよいが、これらに限定されるものではない。サーバ12は、独立したサーバであってもよいし、又は複数のサーバからなるサーバクラスタであってもよい。
【0015】
一実施例において、
図2に示すように、画像認識モデル生成方法を提供し、この方法を
図1におけるサーバ12に使用することを例に説明し、下記のステップ21~ステップ23を含む。
【0016】
ステップ21:同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得する。
【0017】
サンプル画像セットは、全てのサンプル画像を含むデータセットであり、複数のサンプル画像サブセットからなり、各サンプル画像サブセットには1つ又は複数の画像クラスのサンプル画像が含まれ、各サンプル画像サブセットに含まれる画像クラスの数が同じであり、また、サンプル画像サブセットに含まれる画像の総数が異なり、順次減少する傾向にある。
【0018】
例えば、サンプル画像における画像クラスAが100枚、画像クラスBが80枚、画像クラスCが60枚、画像クラスDが40枚、画像クラスEが20枚、画像クラスFが10枚であると、画像クラスA、Bは180枚のサンプル画像を含むサンプル画像サブセットを構成し、画像クラスC、Dは100枚のサンプル画像を含むサンプル画像サブセットを構成し、画像クラスE、Fは30枚のサンプル画像を含むサンプル画像サブセットを構成することができる。これにより、3つのサンプル画像サブセットは、画像の数が順次減少し、同じ数の画像クラスを含む。
【0019】
具体的には、サーバは、端末から画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを直接取得することもできるし、端末から大量のサンプル画像を取得し、サンプル画像の対応する画像種別に基づいてサンプル画像を分類処理し、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを得ることもできる。サンプル画像セットは、ロングテール分布特性に適合するサンプル画像(即ち、小さな画像クラスの画像の数が多く、大きな画像クラスの画像の数が少ない)から構成されてもよいし、正規分布特性に適合するサンプル画像から構成されてもよく、ここではサンプル画像セットのサンプル画像のクラス分布特性を限定しない。
【0020】
このステップでは、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得することにより、サンプル画像の前処理を実現し、サンプル画像が画像クラスによって並べられて異なるサンプル画像サブセットにあり、後続のブランチニューラルネットワークによる特徴学習が容易になり、訓練の際に画像の数が少ない画像クラスでも十分に訓練されることができ、従来のニューラルネットワークの訓練におけるロングテールデータの無視を防止し、画像認識モデルの生成効果を向上させる。
【0021】
ステップ22:サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得、訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、損失値は、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とを含み、目標分類損失値は、訓練対象の画像認識モデルのサンプル画像セットに対する損失値であり、各ブランチニューラルネットワークに対応する分類損失値は、対応するブランチニューラルネットワークのブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値である。
【0022】
具体的には、1×1の畳み込みによってブランチニューラルネットワークの構築を実現できるため、ブランチニューラルネットワークの構築の際に非常に少ない追加パラメータを使用するだけで済む。訓練対象の画像認識モデルに複数のブランチニューラルネットワークが構築されているため、ブランチニューラルネットワークは、訓練対象の画像認識モデルのパラメータを、サンプル画像の共通特徴を抽出するための共有パラメータと、共有パラメータに基づいて、ブランチニューラルネットワークに対応するサンプル画像サブセットのサンプル画像を抽出するための個別パラメータとの2部分に分けることができる。個別パラメータはブランチニューラルネットワークにおける対応パラメータである。
【0023】
ブランチニューラルネットワークが構築された後に、ブランチニューラルネットワークの個数及びサンプル画像サブセットに基づいて、ブランチニューラルネットワークとサンプル画像サブセットとの対応関係を決定することができる。通常は3つのブランチニューラルネットワーク及び3つのサンプル画像サブセットであり、その1つのブランチニューラルネットワークが3つのサンプル画像サブセットに対応し、2番目のブランチニューラルネットワークが3つのサンプル画像サブセットの2番目及び3番目のサンプル画像サブセットに対応し、3番目のブランチニューラルネットワークが3つのサンプル画像サブセットの3番目のサンプル画像サブセット(画像の数が最も少ないサンプル画像サブセット)に対応するように定められている。
【0024】
例えば、あるサンプル画像セットには、head classes(ヘッドデータ,hと略称する)、medium classes(中間データ、mと略称する)及びtail classes(テールデータ、
tと略称する)の3つのサンプル画像サブセットが含まれ、head classesには画像の数が最も多い初めの1/3の画像クラスが含まれ、medium classesには画像の数が中間の1/3の画像クラスが含まれ、tail classesには画像の数が最も少ない残りの1/3の画像クラスが含まれる。1×1の畳み込みによって
図3に示すような3つのブランチニューラルネットワークN
h+m+t、N
m+t及びN
tを構築し、ここで、
ブランチニューラルネットワークN
h+m+tは全てのサンプル画像サブセットに対応し、全てのサンプル画像サブセットにおける画像クラスを分類するためのものであり、
ブランチニューラルネットワークN
m+tは2つのサンプル画像サブセットに対応し、画像の数が相対的に少ないmedium classes及びtail classesサンプル画像サブセットにおける画像クラスを分類するためのものであり、
ブランチニューラルネットワークN
tは1つのサンプル画像サブセットに対応し、画像の数が最も少ないtail classesサンプル画像サブセットにおける画像クラスを分類するためのものである。これにより、3つのブランチニューラルネットワークN
h+m+t、N
m+t及びN
tはいずれもそれ自体の個別パラメータによって対応するサンプル画像サブセットにおける画像クラスの学習を導くことができ、画像の数が少ないtail classesは3つのブランチニューラルネットワークと対応関係が存在し、数が多いhead classesは1つのブランチニューラルネットワークのみと対応関係が存在するため、ロングテールデータの利用度がある程度実現され、画像の数の異なる画像クラスが訓練時にバランスをとるようになる。
【0025】
訓練対象の画像認識モデルの損失値は、分類損失値及び目標分類損失値を含み、分類損失値は、ブランチニューラルネットワークのブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であり、目標分類損失値は、訓練対象の画像認識モデルのサンプル画像セットに対する損失値であり、調整可能である。複数の分類損失値及び目標分類損失値に基づいて、訓練対象の画像認識モデルを訓練する損失値を得、画像認識モデル全体の訓練度合を判断することができる。
【0026】
分類損失値は、ブランチニューラルネットワークにそれぞれ対応するサンプル画像サブセットの損失値であり、即ち、ブランチニューラルネットワークNh+m+tに対応するhead classes、medium classes及びtail classesサンプル画像サブセットの損失値であるか、又はブランチニューラルネットワークNtに対応するtail classesサンプル画像サブセットの損失値である。目標分類損失値は、訓練対象の画像認識モデル全体から出力された画像クラスがサンプル画像セット全体に対応して得られた損失値であり、即ち、複数のブランチニューラルネットワークがサンプル画像セットを認識して出力された画像クラスを融合して得られた画像クラスに対応するサンプル画像セットの損失値である。各ブランチニューラルネットワークに対応する分類損失値と目標分類損失値との相違は、損失値を計算する際に考量する対象が異なることであり、分類損失値は各ブランチニューラルネットワークから出力された画像クラスを対応するサンプル画像サブセットのサンプル画像の実際の画像クラスと比較して得られた損失値であるが、目標分類損失値は訓練対象の画像認識モデル全体から出力されたサンプル画像の認識された画像クラス(即ち複数のブランチニューラルネットワークから出力された画像クラスの融合結果)をサンプル画像セットのサンプル画像の実際の画像クラスと比較して得られた損失値である。
【0027】
このステップでは、ブランチニューラルネットワークによって対応する画像を認識して、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とを得、画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得ることにより、訓練の際に画像の数が少ない画像クラスでも十分に訓練されることができ、従来のニューラルネットワークの訓練におけるロングテールデータの無視を防止し、画像認識モデルの生成効果を向上させる。
【0028】
ステップ23:損失値に基づいて、損失値が予め設定された閾値よりも低くなるまで訓練対象の画像認識モデルのモデルパラメータを調整し、訓練対象の画像認識モデルを訓練済みの画像認識モデルとする。
【0029】
具体的には、サーバは、計算された損失値に基づいて、訓練対象の画像認識モデルにおける畳み込み層、プーリング層、正規化層等を含むがこれらに限定されない重みやバイアスなどの各パラメータを逆調整し、通常の場合に、複数回の訓練を繰り返した後、各損失値が徐々に小さくなって一定値に近づく。予め設定された閾値はこの一定値の付近に設定することができ、損失値が予め設定された閾値よりも低い場合に、画像認識モデルの訓練が終わると判断することができる。
【0030】
このステップでは、損失値によって画像認識モデルのパラメータを絶えずに調整し、損失値と予め設定された閾値との差に基づいて画像認識モデルの訓練度合を判断し、画像認識モデルの算出された損失値が予め設定された閾値よりも低くなると、画像認識モデルの訓練が終わると判断することができ、画像認識モデルの生成効果を向上させる。
【0031】
上記の画像認識モデル生成方法は、同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するステップと、サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得るステップであって、訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、損失値は、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とを含み、目標分類損失値は、訓練対象の画像認識モデルのサンプル画像セットに対する損失値であり、分類損失値は、対応するブランチニューラルネットワークのブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値であるステップと、損失値に基づいて、損失値が予め設定された閾値よりも低くなるまで訓練対象の画像認識モデルのモデルパラメータを調整し、訓練対象の画像認識モデルを訓練済みの画像認識モデルとするステップと、を含む。本願は、画像の数が順次減少する複数のサンプル画像サブセットと、対応するサンプル画像サブセットの画像を認識するブランチニューラルネットワークとを設けることにより、訓練の際に画像の数が少ない画像クラスでも十分に訓練されることができ、従来のニューラルネットワークにおけるロングテールデータの無視を防止し、画像認識モデルの生成効果を向上させる。
【0032】
一実施例において、
図4に示すように、サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得る上記ステップ22は、
サンプル画像セットの複数のサンプル画像サブセットを均一にサンプリングして、サンプル画像入力シーケンスを得るステップ41と、
サンプル画像入力シーケンスに基づいて、サンプル画像を訓練対象の画像認識モデルに入力して、サンプル画像の
認識された画像クラスを得るステップ42と、
サンプル画像の
認識された画像クラスと、対応する
サンプル画像の実際の画像クラスとに基づいて、訓練対象の画像認識モデルの損失値を決定するステップ43と、を含む。
【0033】
具体的には、サーバは、サンプル画像セットの複数のサンプル画像サブセットを均一にサンプリングして、mini-batchデータを得、mini-batchデータをサンプル画像入力シーケンスとして訓練対象の画像認識モデルに入力して訓練し、画像認識モデルから出力されたサンプル画像の認識された画像クラスを得、サンプル画像の実際の画像クラスを取得し、サンプル画像の認識された画像クラス及び実際の画像クラスを予め設定された損失関数に入力し、画像認識モデルの損失値を計算して得る。
【0034】
本実施例は、均一にサンプリングすることにより、サンプル画像入力シーケンスにおける各画像クラスのサンプル画像のバランスが取れるようになり、さらに、決定された訓練対象の画像認識モデルの損失値がより正確になり、画像認識モデルの生成効果を向上させる。
【0035】
一実施例において、訓練対象の画像認識モデルは、ブランチニューラルネットワークに接続されるベースニューラルネットワークをさらに含み、
サンプル画像入力シーケンスに基づいて、サンプル画像を訓練対象の画像認識モデルに入力して、サンプル画像の認識された画像クラスを得る上記ステップ42は、ベースニューラルネットワークがサンプル画像の第1画像特徴を取得し、ブランチニューラルネットワークが、第1画像特徴に基づいてサンプル画像の第2画像特徴を得るとともに、第2画像特徴に基づいてサンプル画像セットのサンプル画像の認識された画像クラスを決定するように、サンプル画像を訓練対象の画像認識モデルに入力することを含む。
【0036】
具体的には、ベースニューラルネットワークは、サンプル画像セットのサンプル画像の特徴情報を抽出し、即ちサンプル画像セットの全ての画像クラスの共通特徴を第1画像特徴として抽出し、ブランチニューラルネットワークは、ベースニューラルネットワークにより抽出された第1画像特徴を取得し、再抽出して第2画像特徴を得て出力する。ブランチニューラルネットワークから出力された第2画像特徴を分類器を通じて融合し、サンプル画像の画像クラスを得る。ベースニューラルネットワークのパラメータは、各ブランチニューラルネットワークに使用されることができる共有パラメータである。ここではベースニューラルネットワークのタイプ及び構造を限定しない。
【0037】
一実施例において、
図5に示すように、サンプル画像の
認識された画像クラスと、対応する
サンプル画像の実際の画像クラスとに基づいて、訓練対象の画像認識モデルの損失値を決定する上記ステップ43は、
サンプル画像セットのサンプル画像の
認識された画像クラスと、対応する
サンプル画像の実際の画像クラスとに基づいて、サンプル画像セットのサンプル画像の損失値を決定するステップ51と、
複数のブランチニューラルネットワークにより決定されたサンプル画像セットのサンプル画像の損失値に基づいて、サンプル画像セットに対応する損失値を得、目標分類損失値とするステップ52と、
各ブランチニューラルネットワークに対応するサンプル画像サブセットの全てのサンプル画像の損失値を取得し、サンプル画像サブセットの全てのサンプル画像の損失値の和を
各ブランチニューラルネットワークに対応する分類損失値とするステップ53と、
目標分類損失値と、
各ブランチニューラルネットワークに対応する分類損失値とに基づいて、訓練対象の画像認識モデルの損失値を計算して得るステップ54と、を含む。
【0038】
具体的には、サンプル画像セットがhead classes、medium classes、tail classesの3つのサンプル画像サブセットを含むことを例に説明する。目標分類損失値は、訓練対象の画像認識モデル全体から出力されたサンプル画像の認識された画像クラス(即ち複数のブランチニューラルネットワークから出力された画像クラスの融合結果)をサンプル画像セットのサンプル画像の実際の画像クラスと比較して得られた損失値であり、そのため、目標分類損失値は、3つのブランチニューラルネットワークから出力された、サンプル画像セットのサンプル画像に対応する認識された画像クラスを計算し、全ての認識された画像クラスと実際の画像クラスとを損失関数に入力して、得られた損失値が目標分類損失値であり、下記式:
L
f
=J(F
net
(X),Y),ここで、F
net
(X)=N
h+m+t
(X)+N
m+t
(X)+N
t
(X)
(式中、Lfは目標分類損失値であり、Jはクロスエントロピー損失関数であり、Fnetは訓練対象の画像認識モデルであり、Xはサンプル画像入力シーケンスにおけるサンプル画像セットであり、Yはサンプル画像の実際の画像クラスであり、h、m、tはそれぞれ画像の数が順次減少する第1、第2及び第3サンプル画像サブセットであり、N
h+m+t
、N
m+t
、N
t
は3つのサンプル画像サブセットに対応する3つのブランチニューラルネットワークであり、添え字はブランチニューラルネットワークに対応するサンプル画像サブセットである。)で示される。
【0039】
分類損失値は、各ブランチニューラルネットワークが対応するサンプル画像サブセットに対して得られた損失値であり、サンプル画像セット全体に対するものではない。例えば、
ブランチニューラルネットワークN
h+m+t
と第1、第2及び第3サンプル画像サブセットとが対応関係にあり、
ブランチニューラルネットワークN
h+m+t
を計算する場合に、サンプル画像セット全体に対する損失値を計算することに相当する。
ブランチニューラルネットワークN
t
は第3サンプル画像サブセットのみと対応関係が存在するため、
ブランチニューラルネットワークN
t
の損失値を計算する場合に、第3サンプル画像サブセットの対応するサンプル画像の実際の画像クラスに基づいて損失値を計算すればよい。全てのブランチニューラルネットワークにより算出された
各ブランチニューラルネットワークに対応する分類損失値を得て加算演算を行った結果は、最終的な画像クラスの予測結果であり、具体的に、下記式:
(式中、L
iは複数のブランチニューラルネットワークに対応する分類損失値の和であり、S
m+tはXの一方のサブセットであり、サンプル画像入力シーケンスにおける第2及び第3サンプル画像サブセットに属するサンプル画像を含み、S
tはXの他方のサブセットであり、サンプル画像入力シーケンスにおける第3サンプル画像サブセットに属するサンプル画像を含む。)で示される。
【0040】
訓練対象の画像認識モデルの損失値は、各ブランチニューラルネットワークに対応する分類損失値及び目標分類損失値の両方により計算して得られ、具体的に、下記式:
Lall=(1-α)Lf/n1+αLi/n2;
(式中、Lallは訓練対象の画像認識モデルの損失値であり、αはハイパーパラメータであり、n1はXにおけるサンプル画像の数であり、n2はX、Sm+t及びStにおけるサンプル画像の数の総和である。)で示される。
【0041】
なお、ロングテールの程度の異なるデータセットに対して、Lall関数におけるハイパーパラメータαによって調整可能である。また、データセットが正常分布状態(即ち各画像クラスの画像の数が均一である)である場合に、ハイパーパラメータαを0にすれば正常に動作することができる。
【0042】
上記実施例は、サンプル画像の認識された画像クラスと、対応するサンプル画像の実際の画像クラスとの相違によって、目標分類損失値及び各ブランチニューラルネットワークに対応する分類損失値を算出し、さらに訓練対象の画像認識モデルの損失値を得ることで、訓練対象の画像認識モデルにおけるパラメータを調整することができるため、訓練の際に画像の数が少ない画像クラスでも十分に訓練されることができ、従来のニューラルネットワークの訓練におけるロングテールデータの無視を防止し、画像認識モデルの生成効果を向上させる。
【0043】
一実施例において、
図6に示すように、サンプル画像セットを取得する上記ステップ21の前に、
サンプル画像を取得し、サンプル画像の画像クラスに基づいて、画像クラスの画像の数を決定するステップ61と、
画像クラスの画像の数に基づいて、画像クラスの並び順を得、並び順に従って、画像クラスを、同じ数の画像クラスを含む複数のクラス組み合わせに分けるステップ62と、
複数のクラス組み合わせと、複数のクラス組み合わせにおける画像クラスに対応するサンプル画像とに基づいて、複数のクラス組み合わせに対応するサンプル画像サブセットを得、複数のサンプル画像サブセットの組み合わせをサンプル画像セットとするステップ63と、をさらに含む。
【0044】
具体的に、サーバは端末からサンプル画像を取得し、サンプル画像の画像クラスを認識し、画像クラスに従ってサンプル画像を分類するとともに、各画像クラスに対応するサンプル画像の数を統計する。画像クラスに対応するサンプル画像の数に基づいて、画像クラスを高い順に順次並べて、並び順を得る。ブランチニューラルネットワークの数及び画像クラスの数に基づいて、画像クラスを複数のクラス組み合わせに均一に分配する。例えば、3つのブランチニューラルネットワーク、6つの画像クラスであると、2つの画像クラスを一組にし、3つのクラス組み合わせを得る。クラス組み合わせと、クラス組み合わせに対応するサンプル画像とに基づいて、クラス組み合わせに対応するサンプル画像サブセットを得、複数のサンプル画像サブセットによりサンプル画像セットが構成される。
【0045】
本実施例は、画像クラスの画像の数に基づいて、高い順又は低い順に並べて、並び順に基づいて均一に分配し、同じ数の画像クラスを含むサンプル画像サブセットを得ることで、サンプル画像の前処理を実現し、各ブランチニューラルネットワークがロングテールデータ分布の特性に従ってサンプル画像サブセットと互いに対応するため、訓練の際に画像の数が少ない画像クラスでも十分に訓練されることができ、従来のニューラルネットワークの訓練におけるロングテールデータの無視を防止し、画像認識モデルの生成効果を向上させる。
【0046】
図2、
図4~
図6のフローチャートにおける各ステップは、矢印に示されるように順次表示されるが、これらのステップは必ずしも矢印に示される順序によって順次実行されるわけではないことを理解されたい。本明細書において明確に説明しない限り、これらのステップの実行は順序に限定されるものではなく、他の順序で実行されてもよい。そして、
図2、
図4~
図6における少なくとも一部のステップは、複数のステップ又は複数の段階を含むことができ、これらのステップ又は段階は必ずしも同じ時刻に実行されるわけではなく、異なる時刻に実行されてもよく、これらのステップ又は段階の実行順序も必ずしも順次実行されるわけではなく、他のステップ又は他のステップにおけるステップ又は段階の少なくとも一部と順番又は交互に実行されてもよい。
【0047】
一実施例において、
図7に示すように、
同じ数の画像クラスをそれぞれ含み、画像の数が順次減少する複数のサンプル画像サブセットを含むサンプル画像セットを取得するための取得モジュール71と、
サンプル画像セットに基づいて、訓練対象の画像認識モデルを訓練して、訓練対象の画像認識モデルの損失値を得るための訓練モジュール72であって、訓練対象の画像認識モデルは、対応する画像をそれぞれ認識するためのブランチニューラルネットワークを複数含み、損失値は、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とを含み、目標分類損失値は、訓練対象の画像認識モデルのサンプル画像セットに対する損失値であり、
各前記ブランチニューラルネットワークに対応する分類損失値は、対応するブランチニューラルネットワークのブランチニューラルネットワークに対応するサンプル画像サブセットに対する損失値である訓練モジュール72と、
損失値に基づいて、損失値が予め設定された閾値よりも低くなるまで訓練対象の画像認識モデルのモデルパラメータを調整し、訓練対象の画像認識モデルを訓練済みの画像認識モデルとするための調整モジュール73と、を備える画像認識モデル生成装置を提供する。
【0048】
一実施例において、訓練モジュール72はさらに、サンプル画像セットの複数のサンプル画像サブセットを均一にサンプリングして、サンプル画像入力シーケンスを得、サンプル画像入力シーケンスに基づいて、サンプル画像を訓練対象の画像認識モデルに入力して、サンプル画像の認識された画像クラスを得、サンプル画像の認識された画像クラスと、対応するサンプル画像の実際の画像クラスとに基づいて、訓練対象の画像認識モデルの損失値を決定する。
【0049】
一実施例において、訓練モジュール72はさらに、ベースニューラルネットワークがサンプル画像の第1画像特徴を取得し、ブランチニューラルネットワークが、第1画像特徴に基づいてサンプル画像の第2画像特徴を得るとともに、第2画像特徴に基づいてサンプル画像セットのサンプル画像の認識された画像クラスを決定するように、サンプル画像を訓練対象の画像認識モデルに入力する。
【0050】
一実施例において、訓練モジュール72はさらに、サンプル画像セットのサンプル画像の認識された画像クラスと、対応するサンプル画像の実際の画像クラスとに基づいて、サンプル画像セットのサンプル画像の損失値を決定し、複数のブランチニューラルネットワークにより決定されたサンプル画像セットのサンプル画像の損失値に基づいて、サンプル画像セットに対応する損失値を得、目標分類損失値とし、各ブランチニューラルネットワークに対応するサンプル画像サブセットの全てのサンプル画像の損失値を取得し、サンプル画像サブセットの全てのサンプル画像の損失値の和を各ブランチニューラルネットワークに対応する分類損失値とし、目標分類損失値と、各ブランチニューラルネットワークに対応する分類損失値とに基づいて、訓練対象の画像認識モデルの損失値を計算して得る。
【0051】
一実施例において、取得モジュール71はさらに、サンプル画像を取得し、サンプル画像の画像クラスに基づいて、画像クラスの画像の数を決定し、画像クラスの画像の数に基づいて、画像クラスの並び順を得、並び順に従って、画像クラスを、同じ数の画像クラスを含む複数のクラス組み合わせに分け、複数のクラス組み合わせと、複数のクラス組み合わせにおける画像クラスに対応するサンプル画像とに基づいて、複数のクラス組み合わせに対応するサンプル画像サブセットを得、複数のサンプル画像サブセットの組み合わせをサンプル画像セットとする。
【0052】
画像認識モデル生成装置の具体的な限定については、上記の画像認識モデル生成方法の限定を参照することができ、ここでは詳しい説明を省略する。上記の画像認識モデル生成装置における各モジュールの全部又は一部は、ソフトウェア、ハードウェア及びこれらの組み合わせによって実現されてもよい。上記各モジュールは、プロセッサが上記各モジュールに対応する動作を呼び出して実行できるように、コンピュータ機器におけるプロセッサにハードウェアの形で埋め込まれていてもよいし、プロセッサから独立していてもよいし、コンピュータ機器におけるメモリにソフトウェアの形で記憶されていてもよい。
【0053】
一実施例において、コンピュータ機器が提供されており、このコンピュータ機器は、サーバであってもよく、その内部構造図が
図8に示されるものであってもよい。このコンピュータ機器は、システムバスを介して接続されるプロセッサ、メモリ及びネットワークインタフェースを備える。このコンピュータ機器のプロセッサは、計算機能及び制御機能を提供するためのものである。このコンピュータ機器のメモリは、不揮発性記憶媒体、内部メモリを備え、この不揮発性記憶媒体にオペレーティングシステム、コンピュータプログラム及びデータベースが記憶されており、この内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行のための環境を提供する。このコンピュータ機器のデータベースは、画像認識モデル生成データを記憶するためのものである。このコンピュータ機器のネットワークインタフェースは、外部の端末とネットワークを介して接続通信するためのものである。このコンピュータプログラムは、プロセッサにより実行される場合に、画像認識モデル生成方法を実現することができる。
【0054】
当業者であれば、
図8に示される構成は、本願の技術的手段に関連する構成の一部のブロック図に過ぎず、本願の技術的手段が適用されるコンピュータ機器を限定するものではなく、具体的なコンピュータ機器は、図示よりも多いか又は少ない構成要素を含んでいてもよいし、一部の構成要素を組み合わせていてもよいし、異なる構成要素配置を有していてもよいことを理解されたい。
【0055】
一実施例において、コンピュータプログラムが記憶されているメモリと、コンピュータプログラムを実行する場合に、上記各方法の実施例におけるステップを実現するプロセッサと、を備えるコンピュータ機器を提供する。
【0056】
一実施例において、プロセッサによって実行される場合に、上記各方法の実施例におけるステップを実現するコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。
【0057】
当業者であれば、上記実施例の方法を実現するフローの全部又は一部は、コンピュータプログラムによって関連するハードウェアに指示することで実現されてもよく、上記コンピュータプログラムは、不揮発性コンピュータ可読記憶媒体に記憶されてもよく、このコンピュータプログラムが実行される際に、上記各方法の実施例のフローを含むことができることを理解するであろう。本願に係る各実施例において使用されるメモリ、ストレージ、データベース又は他の媒体への任意の参照でも、不揮発性及び揮発性メモリの少なくとも1つを含むことができる。不揮発性メモリは、読出し専用メモリ(Read-Only Memory,ROM)、磁気テープ、フロッピーディスク、フラッシュメモリ又は光メモリ等を含むことができる。揮発性メモリは、ランダムアクセスメモリ(Random Access Memory,RAM)又は外部キャッシュメモリを含むことができる。RAMは、限定ではなく例として、スタティックランダムアクセスメモリ(Static Random Access Memory,SRAM)やダイナミックランダムアクセスメモリ(Dynamic Random Access Memory,DRAM)等の様々な形態であってよい。
【0058】
以上の実施例の各技術的特徴は、任意に組み合わせることが可能であり、説明を簡潔化するために、上記実施例における各技術的特徴の全ての可能な組み合わせについて説明していないが、これらの技術的特徴の組み合わせに矛盾が生じない限り、本明細書に記載される範囲と見なされるべきである。
【0059】
以上の実施例は、本願のいくつかの実施形態を示したものに過ぎず、その説明が具体的で詳細であるが、本願の特許請求の範囲を限定するものとして理解されるべきではない。なお、当業者であれば、本願の趣旨から逸脱しない限り、様々な変形及び改良を行うことができ、それらも全て本願の保護範囲に含まれる。従って、本願の保護範囲は添付された特許請求の範囲に準じるべきである。