(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】ニューラルネットワーク捜索方法、装置、プロセッサ、電子機器、記憶媒体及びコンピュータプログラム
(51)【国際特許分類】
G06N 3/08 20060101AFI20221101BHJP
G06N 3/04 20060101ALI20221101BHJP
G06T 7/00 20170101ALI20221101BHJP
【FI】
G06N3/08
G06N3/04 154
G06T7/00 350C
(21)【出願番号】P 2021516876
(86)(22)【出願日】2019-11-08
(86)【国際出願番号】 CN2019116623
(87)【国際公開番号】W WO2020238039
(87)【国際公開日】2020-12-03
【審査請求日】2021-03-25
(31)【優先権主張番号】201910471323.1
(32)【優先日】2019-05-31
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】519454811
【氏名又は名称】北京市商▲湯▼科技▲開▼▲発▼有限公司
【氏名又は名称原語表記】BEIJING SENSETIME TECHNOLOGY DEVELOPMENT CO., LTD.
【住所又は居所原語表記】Room 710-712, 7th Floor, 3rd Building, 1st Courtyard, Zhongguancun East Road, Haidian District, Beijing 100084 China
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】周 心池
(72)【発明者】
【氏名】周 東展
(72)【発明者】
【氏名】伊 帥
(72)【発明者】
【氏名】欧陽 万里
【審査官】石川 亮
(56)【参考文献】
【文献】中国特許出願公開第108985386(CN,A)
【文献】米国特許出願公開第2019/0065994(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
捜索対象のニューラルネットワークライブラリと訓練データセットを取得することと、
前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークを
訓練結果による前記訓練データセットに対する認識精度の高い順に基づいてソートして第1ニューラルネットワーク系列セットを得て、前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとすることと、
前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第2所定値の周期数で訓練する第1段階訓練を行うことと、
前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとすることと、を含
み、
前記第1所定値の周波数で訓練されたニューラルネットワークは、前記第1段階訓練よりも前の前置訓練段階の訓練後に前記訓練データセットに対する認識精度で選別されたニューラルネットワークであり、
前記第1所定値は、1以上の整数である、ことを特徴とするニューラルネットワーク捜索方法。
【請求項2】
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートして第1ニューラルネットワーク系列セットを得て、前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとする前に、
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとすることと、
前記訓練データセットを用いて前記第2訓練対象ニューラルネットワークセットに対して前記第3所定値との和が前記第1所定値に等しい周期数で訓練する第2段階訓練を行うこととをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとする前に、
前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られるR個の進化後のニューラルネットワークを増加することをさらに含み、
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとすることは、
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記R個の進化後のニューラルネットワークとをソートして第3ニューラルネットワーク系列セットを得て、前記第3ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを前記第2訓練対象ニューラルネットワークセットとすることを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第1段階訓練を行う後、
前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られる、前記Rに等しいS個の進化後のニューラルネットワークを増加することと、
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記S個の進化後のニューラルネットワークとをソートして第4ニューラルネットワーク系列セットを得て、前記第4ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第3訓練対象ニューラルネットワークセットとし、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第1所定値の周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、前記第5ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第4訓練対象ニューラルネットワークセットとすることと、
前記訓練データセットを用いて前記第3訓練対象ニューラルネットワークセットに対して前記第2段階訓練を行い、前記訓練データセットを用いて前記第4訓練対象ニューラルネットワークセットに対して前記第1段階訓練を行うことと、を含む反復をX回実行すること、及び、
前記捜索対象のニューラルネットワークライブラリ内の、前記Xよりも小さいT回の反復で訓練されなかったニューラルネットワークを除去することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記捜索対象のニューラルネットワークライブラリにR個の進化後のニューラルネットワークを増加することは、
前記捜索対象のニューラルネットワークライブラリ内のR個のニューラルネットワークを複製し、R個の複製後のニューラルネットワークを得ることと、
前記R個の複製後のニューラルネットワークの構造を修正することにより、前記R個の複製後のニューラルネットワークを進化させ、R個の訓練対象ニューラルネットワークを得ることと、
前記訓練データセットを用いて前記R個の訓練対象ニューラルネットワークに対して第3所定値の周期数で訓練する第3段階訓練を行い、前記R個の進化後のニューラルネットワークを得ることと、
前記R個の進化後のニューラルネットワークを前記捜索対象のニューラルネットワークライブラリに追加することとを含むことを特徴とする請求項3又は4に記載の方法。
【請求項6】
前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、画像分類に用いられることを特徴とする請求項5に記載の方法。
【請求項7】
前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、標準層、削減層及び分類層を含み、
前記標準層、前記削減層及び前記分類層は順次直列に接続され、
前記標準層は、前記標準層に入力された画像から特徴を抽出するために用いられ、
前記削減層は、前記削減層に入力された画像から特徴を抽出し、且つ前記削減層に入力された画像のサイズを縮小するために用いられ、
前記分類層は、前記削減層から出力された特徴に基づいて、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに入力された画像の分類結果を得るために用いられ、
前記標準層と前記削減層はいずれも複数のニューロンを含み、前記複数のニューロンのそれぞれは順次直列に接続され、i+1番目のニューロンの入力はi番目のニューロンの出力とi-1番目のニューロンの出力を含み、前記i+1番目のニューロン、前記i番目のニューロン及び前記i-1番目のニューロンは前記複数のニューロンに属し、前記iは1よりも大きい正の整数であり、
前記ニューロンはj個のノードを含み、k番目のノードの入力は前記k番目のノードより前のk-1個のノードのうちの任意の2つのノードの出力であり、前記kは2よりも大きい正の整数であり、且つ前記kは前記j以下であり、前記ニューロンの出力はj番目のノードの出力とj-1番目のノードの出力が融合した結果であり、
前記ノードは少なくとも2つの操作を含み、前記操作の入力は前記ノードの入力であり、前記操作は畳み込み、プーリング、マッピングのいずれか一つであることを特徴とする請求項6に記載の方法。
【請求項8】
前記R個の複製後のニューラルネットワークの構造を修正することは、
前記R個の複製後のニューラルネットワークのニューロンの入力を変換することによって前記R個の複製後のニューラルネットワークの構造を修正すること、及び/又は
前記R個の複製後のニューラルネットワークのニューロンのノード内の操作を変換することによって前記R個の複製後のニューラルネットワークの構造を修正することを含むことを特徴とする請求項6に記載の方法。
【請求項9】
前記捜索対象のニューラルネットワークライブラリを取得することは、
捜索対象ニューラルネットワークを取得することと、
前記訓練データセットを用いて前記捜索対象ニューラルネットワークに対して前記第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを含む前記捜索対象のニューラルネットワークライブラリを得ることとを含むことを特徴とする請求項5~8のいずれか1項に記載の方法。
【請求項10】
前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとすることは、
前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、前記第5ニューラルネットワーク系列セットのうちの上位Y個のニューラルネットワークを前記目標ニューラルネットワークとすることを含むことを特徴とする請求項1~4及び6~8のいずれか1項に記載の方法。
【請求項11】
捜索対象のニューラルネットワークライブラリと訓練データセットを取得するための取得ユニットと、
前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークを
訓練結果による前記訓練データセットに対する認識精度の高い順に基づいてソートして第1ニューラルネットワーク系列セットを得て、前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとするためのソートユニットと、
前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第2所定値の周期数で訓練する第1段階訓練を行うための訓練ユニットと、
前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとするための決定ユニットと、を含
み、
前記第1所定値の周波数で訓練されたニューラルネットワークは、前記第1段階訓練よりも前の前置訓練段階の訓練後に前記訓練データセットに対する認識精度で選別されたニューラルネットワークであり、
前記第1所定値は、1以上の整数である、ことを特徴とするニューラルネットワーク捜索装置。
【請求項12】
プロセッサと、送信装置と、入力装置と、出力装置と、コンピュータ命令を含むコンピュータプログラムコードを記憶するためのメモリとを含み、前記プロセッサが前記コンピュータ命令を実行すると、請求項1~10のいずれか1項に記載の方法を実行することを特徴とする電子機器。
【請求項13】
プログラム命令を含むコンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムが電子機器のプロセッサにより実行されると、前記プロセッサに請求項1~10のいずれか1項に記載の方法を実行させることを特徴とするコンピュータ読取可能記憶媒体。
【請求項14】
コンピュータ読取可能なコードを含むコンピュータプログラムであって、前記コンピュータ読取可能なコードは電子機器内で実行されると、前記電子機器内のプロセッサに請求項1~10のいずれか1項に記載の方法を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理技術分野に関し、特に、ニューラルネットワーク捜索方法及び装置に関する。
【背景技術】
【0002】
ニューラルネットワークは、コンピュータビジョンの分野で広く用いられており、ニューラルネットワークの性能はニューラルネットワークの構造と関連しており、性能の良いニューラルネットワークの構造をどのように決定するのかという点が非常に重要となる。
【発明の概要】
【0003】
本開示は、ニューラルネットワーク捜索の技術方案を提供する。
【0004】
第1方面は、捜索対象のニューラルネットワークライブラリと訓練データセットを取得することと、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートして第1ニューラルネットワーク系列セットを得て、且つ前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとすることと、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第2所定値の周期数で訓練する第1段階訓練を行うことと、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとすることと、を含むニューラルネットワーク捜索方法を提供する。
【0005】
第1方面において、第1訓練対象ニューラルネットワークに対して第1段階訓練を行うことにより、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに対する段階的な訓練を実現し、即ち前段階の訓練後に性能の良いニューラルネットワークに対して次段階の訓練を行い、このようにして、前段階の訓練後、性能の悪いニューラルネットワークにかかる計算リソースと時間を減少させ、ひいては捜索過程にかかる計算リソースと時間を減少させることができる。
【0006】
可能な一実施形態では、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートして第1ニューラルネットワーク系列セットを得て、且つ前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとする前に、前記方法は、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとすることと、前記訓練データセットを用いて前記第2訓練対象ニューラルネットワークセットに対して前記第3所定値との和が前記第1所定値に等しい周期数で訓練する第2段階訓練を行うこととをさらに含む。
【0007】
可能な該実現形態では、まず、捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークを認識精度でソートし、ソートされた上位N個のニューラルネットワークに対して第2段階訓練を行う。上記の実現可能な形態と併せて、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに対して段階的訓練の方式を採用することに相当し、即ち前段階の訓練完了後に認識精度の高いニューラルネットワークに対して次段階の訓練を行い、前段階の訓練完了後に認識精度の低いニューラルネットワークに対して次段階の訓練を行わず、このようにして、ニューラルネットワーク捜索にかかる計算リソースを減少させ、且つ捜索時間を短縮することができる。
【0008】
可能な別の実現形態では、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとする前に、前記方法は、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られるR個の進化後のニューラルネットワークを増加することをさらに含み、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとすることは、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記R個の進化後のニューラルネットワークとをソートして第3ニューラルネットワーク系列セットを得て、且つ前記第3ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを前記第2訓練対象ニューラルネットワークセットとすることを含む。
【0009】
可能な該実現形態では、捜索対象のニューラルネットワークライブラリにおいて進化後のニューラルネットワークを増加することにより、捜索効果を向上させ、即ち捜索によって性能の良いニューラルネットワークが取得される確率を向上させる。
【0010】
可能なさらなる実現形態では、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第1段階訓練を行う後、前記方法は、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られる、前記Rに等しいS個の進化後のニューラルネットワークを増加することと、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記S個の進化後のニューラルネットワークとをソートして第4ニューラルネットワーク系列セットを得て、且つ前記第4ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第3訓練対象ニューラルネットワークセットとし、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第1所定値の周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、且つ前記第5ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第4訓練対象ニューラルネットワークセットとすることと、前記訓練データセットを用いて前記第3訓練対象ニューラルネットワークセットに対して前記第2段階訓練を行い、及び前記訓練データセットを用いて前記第4訓練対象ニューラルネットワークセットに対して前記第1段階訓練を行うことと、を含む反復をX回実行することをさらに含み、前記方法は、前記捜索対象のニューラルネットワークライブラリ内の、前記Xよりも小さいT回の反復で訓練されなかったニューラルネットワークを除去することをさらに含む。
【0011】
可能な該実現形態では、捜索の反復過程でT回の反復で訓練されなかったニューラルネットワークを捜索対象のニューラルネットワークライブラリから除去することにより、ニューラルネットワーク捜索にかかる計算リソースをさらに減少させ、捜索速度を向上させる。
【0012】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリにR個の進化後のニューラルネットワークを増加することは、前記捜索対象のニューラルネットワークライブラリ内のR個のニューラルネットワークを複製し、R個の複製後のニューラルネットワークを得ることと、前記R個の複製後のニューラルネットワークの構造を修正することにより、前記R個の複製後のニューラルネットワークを進化させ、R個の訓練対象ニューラルネットワークを得ることと、前記訓練データセットを用いて前記R個の訓練対象ニューラルネットワークに対して第3所定値の周期数で訓練する第3段階訓練を行い、前記R個の進化後のニューラルネットワークを得ることと、前記R個の進化後のニューラルネットワークを前記捜索対象のニューラルネットワークライブラリに追加することとを含む。
【0013】
可能な該実現形態では、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの構造を調整することにより、進化後のニューラルネットワークを得て、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの構造を豊かにし、捜索効果を向上させることができる。
【0014】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、画像分類に用いられる。
【0015】
第1方面及び前述の実現可能な形態のいずれかと併せて、該実現可能な形態では、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークはいずれも画像分類に用いることができる。
【0016】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、標準層、削減層及び分類層を含み、前記標準層、前記削減層及び前記分類層は順次直列に接続され、前記標準層は、前記標準層に入力された画像から特徴を抽出するために用いられ、前記削減層は、前記削減層に入力された画像から特徴を抽出し、且つ前記削減層に入力された画像のサイズを縮小するために用いられ、前記分類層は、前記削減層から出力された特徴に基づいて、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに入力された画像の分類結果を得るために用いられ、前記標準層と前記削減層はいずれも複数のニューロンを含み、前記複数のニューロンのそれぞれは順次直列に接続され、且つi+1番目のニューロンの入力はi番目のニューロンの出力とi-1番目のニューロンの出力を含み、前記i+1番目のニューロン、前記i番目のニューロン及び前記i-1番目のニューロンは前記複数のニューロンに属し、前記iは1よりも大きい正の整数であり、前記ニューロンはj個のノードを含み、k番目のノードの入力は前記k番目のノードより前のk-1個のノードのうちの任意の2つのノードの出力であり、前記kは2よりも大きい正の整数であり、且つ前記kは前記j以下であり、前記ニューロンの出力はj番目のノードの出力とj-1番目のノードの出力が融合した結果であり、前記ノードは少なくとも2つの操作を含み、前記操作の入力は前記ノードの入力であり、前記操作は畳み込み、プーリング、マッピングのいずれか一つである。
【0017】
可能な該実現形態では、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの構造を豊かにするように、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの構造を提供し、当該構造に基づいて複数の異なる構造のニューラルネットワークを得ることができる。
【0018】
可能なさらなる実現形態では、前記R個の複製後のニューラルネットワークの構造を修正することは、前記R個の複製後のニューラルネットワークのニューロンの入力を変換することによって前記R個の複製後のニューラルネットワークの構造を修正すること、及び/又は前記R個の複製後のニューラルネットワークのニューロンのノード内の操作を変換することによって前記R個の複製後のニューラルネットワークの構造を修正することを含む。
【0019】
可能な該実現形態では、複製後のニューラルネットワークを進化させることを実現するように、複製後のニューラルネットワークのニューロンの入力を変換すること及び/又は複製後のニューラルネットワークのニューロンのノード内の操作を変換することにより複製後のニューラルネットワークの構造を修正する。
【0020】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリを取得することは、捜索対象ニューラルネットワークを取得することと、前記訓練データセットを用いて前記捜索対象ニューラルネットワークに対して前記第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを含む前記捜索対象のニューラルネットワークライブラリを得ることとを含む。
【0021】
該実現可能な形態では、捜索対象ニューラルネットワークに対して第3段階訓練を行うことにより、捜索対象のニューラルネットワークライブラリを得て、その後の捜索対象のニューラルネットワークライブラリに基づくニューラルネットワーク捜索を容易にする。
【0022】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとすることは、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、且つ前記第5ニューラルネットワーク系列セットのうちの上位Y個のニューラルネットワークを前記目標ニューラルネットワークとすることを含む。
【0023】
可能なさらなる実現形態では、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークのうちの、認識精度の最も高いY個のニューラルネットワークを目標ニューラルネットワークとし、捜索効果をさらに向上させる。
【0024】
第二方面は、捜索対象のニューラルネットワークライブラリと訓練データセットを取得するための取得ユニットと、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートして第1ニューラルネットワーク系列セットを得て、且つ前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとするためのソートユニットと、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第2所定値の周期数で訓練する第1段階訓練を行うための訓練ユニットと、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとするための決定ユニットと、を含むニューラルネットワーク捜索装置を提供する。
【0025】
可能な一実現形態では、前記ソートユニットは、さらに、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートして第1ニューラルネットワーク系列セットを得て、且つ前記第1ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークセットとする前に、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとするために用いられ、前記訓練ユニットは、さらに、前記訓練データセットを用いて前記第2訓練対象ニューラルネットワークセットに対して前記第3所定値との和が前記第1所定値に等しい周期数で訓練する第2段階訓練を行うために用いられる。
【0026】
可能な別の実現形態では、前記ニューラルネットワーク捜索装置は、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークセットとする前に、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られるR個の進化後のニューラルネットワークを増加するためのニューラルネットワーク進化ユニットをさらに含み、前記ソートユニットは、具体的には、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記R個の進化後のニューラルネットワークとをソートして第2ニューラルネットワーク系列セットを得て、且つ前記第2ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを前記第2訓練対象ニューラルネットワークセットとするために用いられる。
【0027】
可能なさらなる実現形態では、前記ニューラルネットワーク捜索装置は、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークセットに対して第1段階訓練を行う後、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られる、前記Rに等しいS個の進化後のニューラルネットワークを増加することと、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記S個の進化後のニューラルネットワークとをソートして第4ニューラルネットワーク系列セットを得て、且つ前記第4ニューラルネットワーク系列セットのうちの上位N個のニューラルネットワークを第3訓練対象ニューラルネットワークセットとし、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第1所定値の周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、且つ前記第5ニューラルネットワーク系列セットのうちの上位M個のニューラルネットワークを第4訓練対象ニューラルネットワークセットとすることと、前記訓練データセットを用いて前記第3訓練対象ニューラルネットワークセットに対して前記第2段階訓練を行い、及び前記訓練データセットを用いて前記第4訓練対象ニューラルネットワークセットに対して前記第1段階訓練を行うことと、を含む反復をX回実行するための実行ユニットと、前記捜索対象のニューラルネットワークライブラリ内の、前記Xよりも小さいT回の反復で訓練されなかったニューラルネットワークを除去するための除去ユニットと、をさらに含む。
【0028】
可能なさらなる実現形態では、前記ニューラルネットワーク進化ユニットは、具体的には、前記捜索対象のニューラルネットワークライブラリ内のR個のニューラルネットワークを複製し、R個の複製後のニューラルネットワークを得て、及び、前記R個の複製後のニューラルネットワークの構造を修正することにより、前記R個の複製後のニューラルネットワークを進化させ、R個の訓練対象ニューラルネットワークを得て、及び、前記訓練データセットを用いて前記R個の訓練対象ニューラルネットワークに対して第3所定値の周期数で訓練する第3段階訓練を行い、前記R個の進化後のニューラルネットワークを得て、及び、前記R個の進化後のニューラルネットワークを前記捜索対象のニューラルネットワークライブラリに追加するために用いられる。
【0029】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、画像分類に用いられる。
【0030】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、標準層、削減層及び分類層を含み、前記標準層、前記削減層及び前記分類層は順次直列に接続され、前記標準層は、前記標準層に入力された画像から特徴を抽出するために用いられ、前記削減層は、前記削減層に入力された画像から特徴を抽出し、且つ前記削減層に入力された画像のサイズを縮小するために用いられ、前記分類層は、前記削減層から出力された特徴に基づいて、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに入力された画像の分類結果を得るために用いられ、前記標準層と前記削減層はいずれも複数のニューロンを含み、前記複数のニューロンのそれぞれは順次直列に接続され、且つi+1番目のニューロンの入力はi番目のニューロンの出力とi-1番目のニューロンの出力を含み、前記i+1番目のニューロン、前記i番目のニューロン及び前記i-1番目のニューロンは前記複数のニューロンに属し、前記iは1よりも大きい正の整数であり、前記ニューロンはj個のノードを含み、k番目のノードの入力は前記k番目のノードより前のk-1個のノードのうちの任意の2つのノードの出力であり、前記kは2よりも大きい正の整数であり、且つ前記kは前記j以下であり、前記ニューロンの出力はj番目のノードの出力とj-1番目のノードの出力が融合した結果であり、前記ノードは少なくとも2つの操作を含み、前記操作の入力は前記ノードの入力であり、前記操作は畳み込み、プーリング、マッピングのいずれか一つである。
【0031】
可能なさらなる実現形態では、前記ニューラルネットワーク進化ユニットは、具体的には、前記R個の複製後のニューラルネットワークのニューロンの入力を変換することによって前記R個の複製後のニューラルネットワークの構造を修正し、及び/又は前記R個の複製後のニューラルネットワークのニューロンのノード内の操作を変換することによって前記R個の複製後のニューラルネットワークの構造を修正するために用いられる。
【0032】
可能なさらなる実現形態では、前記取得ユニットは、具体的には、捜索対象ニューラルネットワークを取得し、前記訓練データセットを用いて前記捜索対象ニューラルネットワークに対して前記第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを含む前記捜索対象のニューラルネットワークライブラリを得るために用いられる。
【0033】
可能なさらなる実現形態では、前記決定ユニットは、具体的には、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークをソートして第5ニューラルネットワーク系列セットを得て、且つ前記第5ニューラルネットワーク系列セットのうちの上位Y個のニューラルネットワークを前記目標ニューラルネットワークとするために用いられる。
【0034】
第三方面は、上記のように第一方面及びそのいずれの1つ可能な実現形態を実行するためのプロセッサを提供する。
【0035】
第四方面は、プロセッサと、送信装置と、入力装置と、出力装置と、コンピュータ命令を含むコンピュータプログラムコードを記憶するためのメモリとを含み、前記プロセッサが前記コンピュータ命令を実行すると、上記のように第一方面及びそのいずれの1つ可能な実現形態を実行する電子機器を提供する。
【0036】
第五方面は、プログラム命令を含むコンピュータプログラムが記憶されているコンピュータ読取可能記憶媒体であって、前記コンピュータプログラムが電子機器のプロセッサにより実行されるとき、前記プロセッサに上記のように第一方面及びそのいずれの1つ可能な実現形態を実行させるコンピュータ読取可能記憶媒体を提供する。
【0037】
第六方面は、コンピュータ読取可能なコードを含むコンピュータプログラムであって、前記コンピュータ読取可能なコードは電子機器内で実行されると、前記電子機器内のプロセッサに上記のように第一方面及びそのいずれの1つ可能な実現形態を実行させるコンピュータプログラムを提供する。
【0038】
なお、上述した概略的な説明及び次の詳細な説明は、例示的及び解釈的なものに過ぎず、本開示を限定するものではない。
【図面の簡単な説明】
【0039】
以下、本開示の実施例又は背景技術における技術方案をより明確に説明するために、本開示の実施例又は背景技術における必要とする図面を説明する。
【0040】
ここで、本明細書の一部として組み込まれる図面は、本開示の実施例に適し、明細書と共に本開示の技術方案の説明に用いられる。
【0041】
【
図1】
図1は、本開示の実施例によるニューラルネットワーク捜索方法のフローチャートである。
【
図2】
図2は、本開示の実施例による別のニューラルネットワーク捜索方法のフローチャートである。
【
図3A】
図3Aは、本開示の実施例による捜索空間におけるニューラルネットワークの全体構造の模式図である。
【
図3B】
図3Bは、本開示の実施例によるニューラルネットワーク層内のニューロン間の接続関係の模式図である。
【
図3C】
図3Cは、本開示の実施例による神経層内のニューロンの構造の模式図である。
【
図3D】
図3Dは、本開示の実施例によるニューロン内のノードの構造の模式図である。
【
図4A】
図4Aは、本開示の実施例によるニューラルネットワークの構造調整の模式図である。
【
図4B】
図4Bは、本開示の実施例による別のニューラルネットワークの構造調整の模式図である。
【
図5】
図5は、本開示の実施例による別のニューラルネットワーク捜索方法のフローチャートである。
【
図6】
図6は、本開示の実施例によるニューラルネットワーク捜索装置の構造の模式図である。
【
図7】
図7は、本開示の実施例によるニューラルネットワーク捜索装置のハードウェア構造の模式図である。
【発明を実施するための形態】
【0042】
本開示の方案を当業者によりよく理解させるために、以下、本開示の実施例における技術方案を、本開示の実施例における図面と併せて、明確に、完全に説明するが、明らかに、説明された実施例は、本開示の一部の実施例にすぎず、全ての実施例ではない。本開示の実施例に基づいて、当業者が創造的な労働を行うことなく得られる他の全ての実施例は、本開示の保護範囲内である。
【0043】
本開示の明細書、特許請求の範囲、及び上述の図面における用語「第1」、「第2」などは、異なる対象を区別するためのものであり、特定の順序を説明するためのものではない。なお、「含む」及び「有する」という用語並びにそれらの任意の変形は、排他的でない包含をカバーすることを意図している。例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は設備は、挙げられたステップ又はユニットに限定されず、場合によって記載されていないステップ又はユニットをさらに含み、あるいは、場合によってこれらのプロセス、方法、製品又は設備に固有の他のステップ又はユニットをさらに含む。
【0044】
本明細書において「実施例」の意味は、実施例に関連して説明された特定の特徴、構造又は特性が、本開示の少なくとも1つの実施例に含まれ得る。本明細書の様々な場所に当該語句が現れることは、必ずしも全てが同じ実施例を表すことではなく、他の実施例を除いた別個の又は代替の実施例を表すことではない。当業者は、本明細書に記載された実施例を他の実施例と組み合わせることができることを明らか且つ暗黙的に理解するであろう。
【0045】
画像処理(例えば、画像分類)する際には、異なるニューラルネットワークの構造を訓練して得られるニューラルネットワークの正確率が異なるため、画像処理する前に、画像処理のために性能の良いニューラルネットワークの構造を決定する必要がある。ここで、ニューラルネットワークの構造の性能が良いほど、当該ニューラルネットワークの構造を訓練して得られるニューラルネットワークを用いた画像処理の正確率が高いことを特徴づける。
【0046】
ニューラルネットワーク捜索とは、捜索対象のニューラルネットワークライブラリ内の、異なる構造を有するニューラルネットワークに対して大量の訓練を行うことで、ニューラルネットワークライブラリ内の、性能の良いニューラルネットワークの構造を決定でき、ひいてはニューラルネットワークライブラリから目標ニューラルネットワークを得て、その後、目標ニューラルネットワークを画像処理に用いることができる。
【0047】
上記の「性能の良い」及び以下に複数回現れる「性能の良い」とは、複数の異なるニューラルネットワークの構造のうち最も性能の良いいくつかを指し、ここでの「いくつか」とは具体的にはいくつかであるかは、実際の応用に応じて調整可能である。例えば、10個の異なるニューラルネットワークの構造のうち最も性能の良い4個を性能の良いニューラルネットワークの構造と呼び、一方、これら10個の異なるニューラルネットワークの構造のうち最も性能の良い4個のニューラルネットワークの構造をそれぞれa、b、c、dとすれば、a、b、c、dは性能の良いニューラルネットワークの構造となる。
【0048】
以下では「性能の悪い」という言葉が複数回現れ、「性能の悪い」とは複数の異なるニューラルネットワークの構造のうち最も性能の悪いいくつかを指し、ここでの「いくつか」とは具体的にはいくつかであるかは、実際の応用に応じて調整可能である。例えば、10個の異なるニューラルネットワークの構造のうち最も性能の悪い3個を性能の悪いニューラルネットワークの構造と呼び、一方、これら10個の異なるニューラルネットワークの構造のうち最も性能の悪い3個のニューラルネットワークの構造をそれぞれe、f、gとすれば、e、f、gは性能の悪いニューラルネットワークの構造となる。
【0049】
以下、本開示の実施例における図面を参照しながら、本開示の実施例について説明する。
【0050】
図1を参照する。
図1は、本開示の実施例(1)によるニューラルネットワーク捜索方法のフローチャートである。
【0051】
101、捜索対象のニューラルネットワークライブラリと訓練データセットを取得する。
【0052】
本開示の実施例では、捜索対象のニューラルネットワークライブラリは、複数の捜索対象ニューラルネットワークを含み、ここで、捜索対象ニューラルネットワークは本開示の実施例を実行する端末(例えば、コンピュータ)に記憶されたものであってもよいし、捜索対象ニューラルネットワークは端末に接続された記憶媒体から取得されたものであってもよいし、捜索対象ニューラルネットワークはランダムに生成することにより取得されたものであってもよいし、捜索対象ニューラルネットワークは人工設計により取得されたものであってもよい。本開示は、捜索対象ニューラルネットワークの取得方式に限定されるものではない。
【0053】
本開示の実施例では、訓練データセットは、画像セットであってもよく、当該画像セットは、ニューラルネットワークを訓練するために用いて画像分類する画像セットを選択可能であっても良い。訓練データセットは、端末(例えば、コンピュータ)に記憶されたものであってもよいし、端末に接続された記憶媒体から取得されたものであってもよいし、端末がインターネットから取得したものであってもよい。
【0054】
102、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークとする。
【0055】
本開示の実施例では、認識精度は、訓練データセットの分類結果の正確率であってもよい。第1所定値は正の整数であり、第1所定値は40を選択可能である。Mは、任意の正の整数であってもよく、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの数が決定されるので、Mは、予め設定された比率によって決定されてもよく、例えば、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの数は100個であり、予め設定された比率は50%であり、即ち精度ランキングの上位50%のニューラルネットワークを第1訓練対象ニューラルネットワークとし、つまりソートされた上位50個のニューラルネットワークを第1訓練対象ニューラルネットワークとすることを理解する必要がある。
【0056】
103、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークに対して第2所定値の周期数で訓練する第1段階訓練を行う。
【0057】
本開示の実施例では、第1段階訓練において第2所定値の周期数で訓練してもよく、第2所定値は20を選択可能である。第1訓練対象ニューラルネットワークに対して第1段階訓練を行うことにより、第1訓練対象ニューラルネットワークの訓練データセットに対する認識正確率をさらに向上させることができ、同時に第1訓練対象ニューラルネットワークのネットワーク構造の性能をよりリアルに反応させることができる。
【0058】
ニューラルネットワークライブラリからニューラルネットワークを捜索する際にニューラルネットワークを訓練することでニューラルネットワークの構造の性能を評価する必要があり、最終的に評価結果により性能の良いニューラルネットワークを選択することができるとともに、訓練の回数が多ければ多いほど、ニューラルネットワークの性能はより正確に評価される。捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの数が多いため、捜索対象のニューラルネットワークライブラリ内の各ニューラルネットワークに対して大量の訓練を行うことによりニューラルネットワークの構造性能を評価すれば、膨大な計算リソースをかかるとともに、大量の時間もかかる。
【0059】
したがって、本開示の実施例は、「性能の悪いニューラルネットワークにかかる計算リソースと捜索時間を減少させる」というポリシーを用いて捜索する。当該策略は、102により捜索対象のニューラルネットワークライブラリから精度の高いニューラルネットワーク(即ち性能の良いニューラルネットワーク)を決定し、103により性能の良いニューラルネットワークに対して第1段階訓練を行い、性能の悪いニューラルネットワークにかかる計算リソースと訓練時間を減少させことを含むことができる。このようにして、捜索対象のニューラルネットワークライブラリからのニューラルネットワーク捜索にかかる計算リソースを減少させるとともに、捜索時間を短縮することができる。
【0060】
104、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとする。
【0061】
上述したように、第1訓練対象ニューラルネットワークが第1所定値の周期数で訓練されたものであり、第1段階訓練において第2所定値の周期数で訓練するので、第1段階訓練後のニューラルネットワークは第1所定値と第2所定値の和である周期数で訓練されたものである。
【0062】
本開示の実施例では、目標ニューラルネットワークは、捜索によって得られるニューラルネットワークであり、その後、目標ニューラルネットワークと同じ構造を有するニューラルネットワークを訓練することができ、訓練されたニューラルネットワークを用いて画像処理(例えば、画像分類)を行う。
【0063】
第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークが複数存在するかもしれない、且つこれらのニューラルネットワークのうち異なるニューラルネットワークの性能が異なるため、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークから性能ランキングが最も高いいくつかのニューラルネットワークを目標ニューラルネットワークとして選択することができ、例えば、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークのうち性能ランキングの上位10のニューラルネットワークを目標ニューラルネットワークとする。
【0064】
本実施例は、第1訓練対象ニューラルネットワークに対して第1段階訓練を行うことにより、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに対する段階的訓練を実現し、即ち前段階の訓練後に性能の良いニューラルネットワークに対して次段階の訓練を行い、このようにして、捜索過程にかかる計算リソースと時間を減少させることができる。
【0065】
図2を参照する。
図2は、本開示の実施例による別のニューラルネットワーク捜索方法のフローチャートである。
【0066】
201、捜索対象ニューラルネットワークと訓練データセットを取得する。
【0067】
捜索対象ニューラルネットワークは、本開示の実施例を実行する端末(例えば、コンピュータ)に記憶されたものであってもよいし、捜索対象ニューラルネットワークは、端末に接続された記憶媒体から取得されたものであってもよいし、捜索対象ニューラルネットワークは、ランダムに生成することにより取得されたものであってもよいし、捜索対象ニューラルネットワークは、人工設計により取得されたものであってもよい。本開示は、捜索対象ニューラルネットワークの取得方式に限定されるものではない。
【0068】
可能な一実施形態では、ニューラルネットワーク捜索空間に基づくネットワークアーキテクチャは、捜索対象ニューラルネットワークをランダムに生成することができ、捜索対象ニューラルネットワークは、画像分類のためのニューラルネットワークを選択可能である。捜索空間は
図3を参照することができる。ここで、
図3Aは、捜索空間におけるニューラルネットワークの全体構造の模式図であり、
図3Aに示すように、当該捜索空間におけるニューラルネットワークはいずれも3つの標準層(Normal Cell)、2つの削減層(Reduction Cell)及び1つの分類層(Classification)を含み、これら6つのニューラルネットワーク層は順次直列に接続されており、即ち前の層の出力は後の層の入力であり、ここで、入力画像を例にすると、標準層の処理を経て、画像のサイズは変わらないが、削減層の処理を経て、画像のサイズは元の半分に縮小される。例えば、入力された画像のサイズは32*32であり、第1層標準層の処理を経た後、出力されたものは32*32サイズの画像であり、且つ第2層削減層の入力として、第2層入力層の処理を経た後、出力されたものは16*16サイズの画像である。
【0069】
図3Bは、ニューラルネットワーク層内のニューロン(cell)間の接続関係の模式図であり、
図3Bに示すように、各ニューラルネットワーク層におけるi+1番目のニューロンの入力は、いずれもi番目のニューロンとi-1番目のニューロンの出力であり、ここで、iは2以上の正の整数である。
【0070】
図3Cは、
図3Bのニューロンの構造の模式図であり、
図3Cに示すように、各ニューロンは5つのノードを含み、各ノードの内部に対応する操作を含み、ここで、ノード0及びノード1は入力ノードであり、ノード0はi-1番目のニューロンの出力である。ノード1はi番目のニューロンの出力であり、ノード2の入力はノード0及びノード1の出力であり、ノード3の入力はノード0、ノード1、ノード2のいずれか2つのノードの出力であってもよく、つまり、ノード3の入力として、ノード0の出力、ノード1の出力、ノード2の出力から2つの出力をランダムに選択する。ノード4の入力はノード0、ノード1、ノード2、ノード3のいずれか2つのノードの出力であってもよく、つまり、ノード4の入力として、ノード0の出力、ノード1の出力、ノード2の出力及びノード3の出力から2つの出力をランダムに選択する。最後にノード2、ノード3及びノード4の出力を融合(Concat)し、ニューロンの出力を得る。
【0071】
図3Dは、ニューロン内のノードの構造の模式図であり、
図3Dに示すように、各ノードの2つの入力はそれぞれ操作1及び操作2に入力され、ここで、操作1及び操作2は、畳み込み、プーリング、マッピングのいずれであってもよく、つまり、各ノードにおける操作1及び操作2は、畳み込み、プーリング及びマッピングから1つをランダムに選択することができ、最後に操作1及び操作2の出力を加算し、ノードの出力を得る。
【0072】
このことから、各ニューロン内のノード間の接続関係をランダムに決定すること、及び各ノード内の操作をランダムに生成することで、異なるネットワーク構造を有する複数の捜索対象ニューラルネットワークをランダムに生成できることが分かる。
【0073】
なお、上述した可能な実現形態における捜索空間は一例であって、本開示の実施例を限定するものではないと考えられる。つまり、本開示の実施例は、他の捜索空間に基づいて捜索対象ニューラルネットワークをランダムに生成することもできる。
【0074】
訓練データセットの取得方式は、101を参照する。ここでは説明を省略する。
【0075】
202、前記訓練データセットを用いて前記捜索対象ニューラルネットワークに対して第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを含む前記捜索対象のニューラルネットワークライブラリを得る。
【0076】
捜索対象ニューラルネットワークが得られた後、訓練データセットを用いて前記捜索対象ニューラルネットワークに対して第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを捜索対象のニューラルネットワークライブラリに増加することができる。ここで、第3段階訓練において第3所定値の周期数で訓練し、第3所定値は正の整数であり、第3所定値は20を選択可能である。
【0077】
捜索によって性能の良いニューラルネットワークの構造をより多く得るために、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークから所定数のニューラルネットワークをランダムに選択し、選択されたニューラルネットワークを進化させ、進化後のニューラルネットワークを捜索対象のニューラルネットワークライブラリに追加する。ここで、訓練データセットに対する捜索対象ニューラルネットワークの認識精度が高ければ高いほど、当該ニューラルネットワークの性能が良く、即ち当該ニューラルネットワークの構造が良い。このようにして、進化性能の良いニューラルネットワークは、進化性能の悪いニューラルネットワークと比べて、性能の良いニューラルネットワークが得られる確率が高い。したがって、訓練データセットに対する捜索対象ニューラルネットワークの認識精度が高ければ高いほど、当該ニューラルネットワークが選択される確率が高くなる。ここで、進化ニューラルネットワークは、ニューラルネットワークの構造を調整すること、ニューラルネットワークのパラメータを変更すること、及びその組み合わせのいずれか1つによって実現できる。
【0078】
可能な一実施形態では、捜索対象のニューラルネットワークライブラリにR個の進化後のニューラルネットワークを増加することは、捜索対象のニューラルネットワークライブラリ内のR個のニューラルネットワークを複製することと、R個の複製後のニューラルネットワークの構造を修正することにより、R個の複製後のニューラルネットワークを進化させ、R個の訓練対象ニューラルネットワークを得ることと、訓練データセットを用いてR個の訓練対象ニューラルネットワークに対して第3所定値の周期数で訓練する第3段階訓練を行い、R個の進化後のニューラルネットワークを得ることと、及びR個の進化後のニューラルネットワークを捜索対象のニューラルネットワークライブラリに追加することとによって実現できる。
【0079】
例えば、捜索対象のニューラルネットワークライブラリから3つのニューラルネットワーク(それぞれA、B、C)をランダムに選択し、且つこれら3つのニューラルネットワークの構造を調整することにより、3つの進化後のニューラルネットワーク(それぞれD、E、F)を得るとともに、当該3つの進化後のニューラルネットワークを捜索対象のニューラルネットワークライブラリに追加する。このとき、捜索対象のニューラルネットワークライブラリにはA、B、C、D、E、Fの6つのニューラルネットワークが含まれていることを理解する必要がある。
【0080】
上述したR個の複製後のニューラルネットワークの構造を修正することは、R個の複製後のニューラルネットワークのニューロンの入力を変換することによって実現できる。また、上述したR個の複製後のニューラルネットワークの構造を修正することは、R個の複製後のニューラルネットワークのニューロンの操作を変換することによって実現できる。また、上述したR個の複製後のニューラルネットワークの構造を修正することは、R個の複製後のニューラルネットワークのニューロンとR個の複製後のニューラルネットワークのニューロンのノード内の操作の両方を変換することによって実現できる。
【0081】
上で
図4Aを参照する。
図4Aは、ニューロン内のノードの入力を変換することによってニューラルネットワークの構造を調整する模式図である。
図4Aに示すように、ニューラルネットワークの構造を調整する前に、ノード4の入力はノード1及びノード2の出力であり、ノード4の入力をノード1及びノード3の出力に調整することで、ニューラルネットワークの構造を調整し、ひいてはニューラルネットワークを進化させることができる。
【0082】
図4Bを参照する。
図4Bは、ニューラルネットワークのニューロンのノード内の操作を変換することによってニューラルネットワークの構造を調整する模式図である。
図4Bに示すように、ノード4は、操作1(畳み込み)と操作2(プーリング)とを含み、操作2を何も行わないようにすることで、ニューラルネットワークの構造を調整し、ひいてはニューラルネットワークを進化させることができる。
【0083】
203、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートし、上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークとする。
【0084】
ニューラルネットワークの性能をよりよく評価するためには、第3段階訓練(即ち、第3所定値の周期数での訓練)が完了している場合には、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの訓練を継続する必要がある。ニューラルネットワーク捜索は、捜索対象のニューラルネットワークライブラリから性能の良いニューラルネットワークの構造を決定することを目的としているため、本開示の実施例は、第3段階訓練後に性能の良いニューラルネットワークに対して後続訓練を行う。このようにして、後続の捜索過程にかかる計算リソースを減少させ、捜索過程にかかる時間を短縮することができる。
【0085】
上述したように、捜索対象のニューラルネットワークライブラリを取得した後、捜索対象のニューラルネットワークライブラリにR個の進化後のニューラルネットワークを増加することができるが、R個の進化後のニューラルネットワークは全て第3段階訓練を行ったものであり、つまりこれらR個の進化後のニューラルネットワークは第3所定値の周期数で訓練されたものである。なお、R個の進化後のニューラルネットワークを捜索対象のニューラルネットワークライブラリに追加する前に、捜索対象のニューラルネットワークライブラリに第3所定値の周期数で訓練されたニューラルネットワークが存在する。したがって、訓練データセットの認識精度の高い順に、捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワーク及びR個の進化後のニューラルネットワークをソートし、且つ上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークとする。
【0086】
本開示の実施例では、Nは任意の正の整数であってもよいが、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの数が決定されるので、Nは、予め設定された比率によって決定されてもよく、例えば、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークの数は100個であり、予め設定された比率は50%であり、即ち精度ランキングの上位50%のニューラルネットワークを第2訓練対象ニューラルネットワークとし、つまりソートされた上位50個のニューラルネットワークを第2訓練対象ニューラルネットワークとすることを理解する必要がある。
【0087】
なお、以下では、R、M、Yなどの文字もあり、これらの文字はNと同義であるため、説明を省略する。
【0088】
204、前記訓練データセットを用いて前記第2訓練対象ニューラルネットワークに対して前記第3所定値との和が前記第1所定値に等しい周期数で訓練する第2段階訓練を行う。
【0089】
上述したように、第2訓練対象ニューラルネットワークは第3所定値の周期数で訓練されたものであり、第2訓練対象ニューラルネットワークに対して第2段階訓練を行うことにより、第1所定値の周期数で訓練されたニューラルネットワークを得ることができ、つまり、第2段階訓練において第3所定値との和が第1所定値に等しい周期数で訓練する。例えば、第1所定値が40であり、第3所定値が20である場合、第2段階訓練において周期数の20で訓練する。
【0090】
ニューラルネットワークを訓練することはニューラルネットワークの構造が変わらなく、訓練データセットに対するニューラルネットワークの認識精度が向上する。したがって、訓練データセットを用いて第2訓練対象ニューラルネットワークに対して第2段階訓練を行って得られたニューラルネットワークの性能は、第2訓練対象ニューラルネットワークの構造の性能をより正確に反映することができ、捜索正確率の向上に寄与する。
【0091】
205、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークとする。
【0092】
上述したように、ニューラルネットワークに対する訓練の周期数が多いほど、ニューラルネットワークの性能に対する評価が正確になり、ひいては捜索正確率も向上するため、本開示の実施例では、ニューラルネットワーク捜索の目標訓練周期数を第1所定値と第2所定値の和とし、即ち捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを最大で第1所定値と第2所定値の和である周期数で訓練し、且つ第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとすることができる。
【0093】
202~204の処理を経て、捜索対象のニューラルネットワークライブラリ内の一部のニューラルネットワークが第1所定値の周期数で訓練されたため、第1所定値の周期数で訓練されたニューラルネットワークの訓練を継続する必要がある。「性能の悪いニューラルネットワークにかかる計算リソースと捜索時間を減少させる」というポリシーを継続的に用いて捜索し、訓練データセットに対する認識精度の高い順に、捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークとする。MはNに等しいことを選択可能である。
【0094】
206、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークに対して第2所定値の周期数で訓練する第1段階訓練を行う。
【0095】
本開示の実施例では、第1段階訓練において第2所定値の周期数で訓練する。訓練データセットを用いて第1訓練対象ニューラルネットワークに対して第1段階訓練を行うことにより、目標訓練周期数(即ち第1所定値と第2所定値の和)である周期数で訓練されたニューラルネットワークを得ることができる。
【0096】
207、前記訓練データセットに対する認識精度の高い順に、前記第1段階訓練後のニューラルネットワークをソートし、上位Y個のニューラルネットワークを前記目標ニューラルネットワークとする。
【0097】
201~206の処理を経て、捜索対象のニューラルネットワークライブラリ内の一部のニューラルネットワークは、既に目標訓練周期数である周期数で訓練された、つまり、当該一部のニューラルネットワークは既にニューラルネットワーク捜索における訓練過程が完了する。
【0098】
明らかに、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークが複数存在するかもしれない、且つこれらのニューラルネットワークのうち異なるニューラルネットワークの性能が異なるため、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークから性能ランキングが最も良いいくつかのニューラルネットワークを目標ニューラルネットワークとして選択することができ、即ち訓練データセットに対する認識精度の高い順に、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークをソートし、且つ上位Y個のニューラルネットワークを目標ニューラルネットワークとする。
【0099】
本実施例は、捜索対象ニューラルネットワークに対して第3段階訓練、第2段階訓練、第1段階訓練を順次行うことにより、捜索対象ニューラルネットワークから捜索して目標ニューラルネットワークを得ることを実現する。ここで、第3段階訓練後に性能の良いニューラルネットワークに対して第2段階訓練を行い、及び第2段階訓練後に性能の良いニューラルネットワークに対して第1段階訓練を行うことにより捜索過程にかかる計算リソースと時間を大幅に減少させることができる。同時に、捜索対象のニューラルネットワークライブラリに進化後のニューラルネットワークを増加することにより、捜索効果を向上させることができる。
【0100】
実施例(2)は、捜索対象ニューラルネットワークをランダムに生成してから目標ニューラルネットワークを得るまでの実現の過程を述べており、即ちランダムに生成された捜索対象ニューラルネットワークに対して順次に第3段階訓練、第2段階訓練、第1段階訓練を行い、目標ニューラルネットワークを得る。実際に適用する際には、より多くの訓練によって捜索正確率をさらに向上させる必要がある場合が多い。
【0101】
図5を参照する。
図5は、本開示の実施例(3)による別のニューラルネットワーク捜索の方法のフローチャートである。
【0102】
501、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークに対して第1段階訓練を行った後、X回の反復を実行する。
【0103】
本開示の実施例では、1回の反復は、順次、捜索対象のニューラルネットワークライブラリに、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られるRに等しいS個の進化後のニューラルネットワークを増加することと、訓練データセットに対する認識精度の高い順に、捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークとS個の進化後のニューラルネットワークをソートし、且つ上位N個のニューラルネットワークを第3訓練対象ニューラルネットワークとし、同時に訓練データセットに対する認識精度の高い順に、捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位M個のニューラルネットワークを第4訓練対象ニューラルネットワークとすることと、訓練データセットを用いて第3訓練対象ニューラルネットワークに対して第2段階訓練を行い、及び訓練データセットを用いて第4訓練対象ニューラルネットワークに対して第1段階訓練を行うことと、を含む。
【0104】
上記X回の反復は実施例(2)の206の後に実行され、各反復にはいずれも第1段階訓練を含み、つまり、各反復には第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワーク、即ち目標訓練周期数である周期数で訓練されたニューラルネットワークが生成される。
【0105】
捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは目標訓練周期数である周期数で訓練されたら、当該ニューラルネットワークは訓練されなくなることを理解する必要がある。なお、各反復の過程において、捜索対象のニューラルネットワークライブラリにS個の進化後のニューラルネットワークが新たに増加され(S個の進化後のニューラルネットワークを得る実現の過程は、202ではR個の進化後のニューラルネットワークを得る実現の過程を参照する)、同時に、各反復において、第3訓練対象ニューラルネットワークに対して第2段階訓練が行われるため、各反復後に、ニューラルネットワークライブラリ内の、それぞれ第1所定値、第3所定値及び目標訓練周期数である周期数で訓練されたニューラルネットワークの数は変更される。
【0106】
例えば、202を1回目の反復とし、203~204を2回目の反復とし、205~206を3回目の反復とし、501が実行するX回の反復は順次4回目の反復、5回目の反復、…、(X+3)回目の反復である。
【0107】
なお、205~206は、3回目の反復において、性能の良い第1所定値の周期数で訓練されたニューラルネットワークに対して第1段階訓練を行うことのみを述べている。3回目の反復には、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位N個のニューラルネットワークに対して第2段階訓練を行う過程をさらに含むことを選択可能である。
【0108】
ランダムに生成された捜索対象ニューラルネットワークの数が32であり、第1所定値、第2所定値及び第3所定値がいずれも20であり、N=8であり、M=4であり、R=S=16であると仮定すれば、各反復の前に捜索対象のニューラルネットワークライブラリ内の、それぞれ周期数の20、40、60で訓練されたニューラルネットワークの数は、下記表1を参照されたい。
【0109】
【0110】
表1に示すように、3回目の反復から、以後の各反復では、周期数の60で訓練された新たなニューラルネットワーク(即ち、目標訓練周期数である周期数で訓練されたニューラルネットワーク)が生成される。
【0111】
上記の例のデータは単なる例示であって、本開示を限定するものではないことを理解する必要がある。
【0112】
502、前記捜索対象のニューラルネットワークライブラリ内の、前記Xよりも小さいT回の反復で訓練されなかったニューラルネットワークを除去する。
【0113】
本実施例は、捜索対象のニューラルネットワークライブラリから捜索して性能の良いニューラルネットワークの構造を得るためであり、つまり、本実施例が解決するのは最適化の問題である。他の最適化方法に存在する局所最適化の問題のように、実施例(1)、実施例(2)及び501の方法を実施して捜索対象のニューラルネットワークライブラリから性能の良いニューラルネットワークの構造を捜索する過程においても、局所最適化の問題がある。
【0114】
202で説明したように、訓練データセットに対する捜索対象ニューラルネットワークの認識精度が高いほど(以下、これらの捜索対象ニューラルネットワークを性能の良い捜索対象ニューラルネットワークと呼ぶ)、当該捜索対象ニューラルネットワークが進化のために選択される確率は大きくなる。各反復の後、捜索対象のニューラルネットワークライブラリ内の、性能の良い捜索対象ニューラルネットワークを選択して進化させ、したがって、各反復の後、目標ランキング内に属さない性能の良い捜索ニューラルネットワークは大きな確率で進化され、つまり、捜索対象のニューラルネットワークライブラリにおいて、最も性能の良い捜索対象ニューラルネットワーク(即ち大域最適化)以外に性能の良い捜索ニューラルネットワークを進化させて得られたニューラルネットワークの数は多くなる可能性があり、これにより、端末(ここでは本開示の実施例を実施する設備を指す)がその後の捜索過程で当該進化後のニューラルネットワークを捜索することに「打ち込む」可能性があり、ひいては捜索して性能の良いニューラルネットワークを得る確率を低下させ、捜索効果を低下させることを理解する必要がある。
【0115】
上記の局所的最適化の問題を解決するために、本実施例は、T回の反復で訓練されなかったニューラルネットワークを捜索対象のニューラルネットワークライブラリから除去することにより、上記の局所的最適化の問題が捜索効果に与える影響を低減させ、ひいては捜索効果を向上させる。ここで、Tは正の整数であり、TはX未満である。
【0116】
例えば、T=10と仮定し、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークGが4回目の反復で訓練された後、次の10回の反復で訓練されなかった(即ち5回目の反復から始まり、14回目の反復が完了するまで、ニューラルネットワークGは最後まで訓練されなかった)場合、14回目の反復終了後に、ニューラルネットワークGを捜索対象のニューラルネットワークライブラリから除去する。
【0117】
202を1回目の反復とし、203~204を2回目の反復とし、205~206を3回目の反復とすることを選択可能であれば、以下の例を参照することができる。T=10と仮定し、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークHが1回目の反復で訓練された後、次の10回の反復で訓練されなかった(即ち2回目の反復から始まり、11回目の反復が完了するまで、ニューラルネットワークHは最後まで訓練されなかった)場合、11回目の反復終了後に、ニューラルネットワークHを捜索対象のニューラルネットワークライブラリから除去する。
【0118】
可能な別の実現形態では、T=2と仮定し、捜索対象のニューラルネットワークライブラリ内のニューラルネットワークKが1回目の反復で訓練された後、次の2回の反復で訓練されなかった(即ち2回目の反復から始まり、3回目の反復が完了するまで、ニューラルネットワークKは最後まで訓練されなかった)場合、3回目の反復終了後に、ニューラルネットワークKを捜索対象のニューラルネットワークライブラリから除去する。
【0119】
本実施例は、捜索対象のニューラルネットワークライブラリ内の「長期間」訓練されなかったニューラルネットワーク(即ちT回の反復で訓練されなかったニューラルネットワーク)を捜索対象のニューラルネットワークライブラリから除去することにより、捜索中の局所的最適化の問題が捜索効果に与える悪影響を低減する。
【0120】
当業者であれば、具体的な実施形態に係る上記の方法では、各ステップの記載順序は、実行順序を厳密に限定して実施の過程を限定するものではなく、各ステップの実行順序がその機能と内部の論理によって具体的に決定されることが理解すべきである。
【0121】
以上、本開示の実施例の方法について詳細に説明した。以下に本開示の実施例の装置を提供する。
【0122】
図6は、本開示の実施例によるニューラルネットワーク捜索装置の構造を示す図であり、
図6を参照すると、当該ニューラルネットワーク捜索装置600は、捜索対象のニューラルネットワークライブラリと訓練データセットを取得するための取得ユニット11と、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークとするためのソートユニット12と、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークに対して第2所定値の周期数で訓練する第1段階訓練を行うための訓練ユニット13と、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークを目標ニューラルネットワークとするための決定ユニット14と、ニューラルネットワーク進化ユニット15と、実行ユニット16と、除去ユニット17とを含む。
【0123】
前記ソートユニット12は、さらに、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位M個のニューラルネットワークを第1訓練対象ニューラルネットワークとする前に、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークとするために用いられ、前記訓練ユニットは、さらに、前記訓練データセットを用いて前記第2訓練対象ニューラルネットワークに対して前記第3所定値との和が前記第1所定値に等しい周期数で訓練する第2段階訓練を行うために用いられる。
【0124】
可能な一実施形態では、前記ニューラルネットワーク捜索装置600は、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第3所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位N個のニューラルネットワークを第2訓練対象ニューラルネットワークとする前に、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られるR個の進化後のニューラルネットワークを増加するためのニューラルネットワーク進化ユニット15をさらに含み、前記ソートユニット12は、具体的には、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記R個の進化後のニューラルネットワークとをソートし、且つ上位N個のニューラルネットワークを前記第2訓練対象ニューラルネットワークとするために用いられる。
【0125】
可能な別の実現形態では、前記ニューラルネットワーク捜索装置600は、前記訓練データセットを用いて前記第1訓練対象ニューラルネットワークに対して第1段階訓練を行う後、前記捜索対象のニューラルネットワークライブラリに、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークを進化させて得られる、前記Rに等しいS個の進化後のニューラルネットワークを増加することと、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第3所定値の周期数で訓練されたニューラルネットワークと前記S個の進化後のニューラルネットワークとをソートし、且つ上位N個のニューラルネットワークを第3訓練対象ニューラルネットワークとし、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、前記第1所定値の周期数で訓練されたニューラルネットワークをソートし、且つ上位M個のニューラルネットワークを第4訓練対象ニューラルネットワークとすることと、前記訓練データセットを用いて前記第3訓練対象ニューラルネットワークに対して前記第2段階訓練を行い、及び前記訓練データセットを用いて前記第4訓練対象ニューラルネットワークに対して前記第1段階訓練を行うことと、を含む反復をX回実行するための実行ユニット16と、前記捜索対象のニューラルネットワークライブラリ内の、前記Xよりも小さいT回の反復で訓練されなかったニューラルネットワークを除去するための除去ユニット17と、をさらに含む。
【0126】
可能なさらなる実現形態では、前記ニューラルネットワーク進化ユニット15は、具体的には、前記捜索対象のニューラルネットワークライブラリ内のR個のニューラルネットワークを複製し、及び、R個の複製後のニューラルネットワークの構造を修正することにより、前記R個の複製後のニューラルネットワークを進化させ、R個の訓練対象ニューラルネットワークを得て、及び、前記訓練データセットを用いて前記R個の訓練対象ニューラルネットワークに対して第3所定値の周期数で訓練する第3段階訓練を行い、前記R個の進化後のニューラルネットワークを得て、及び、前記R個の進化後のニューラルネットワークを前記捜索対象のニューラルネットワークライブラリに追加するために用いられる。
【0127】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、画像分類に用いられる。
【0128】
可能なさらなる実現形態では、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークは、標準層、削減層及び分類層を含み、前記標準層、前記削減層及び前記分類層は順次直列に接続され、前記標準層は、前記標準層に入力された画像から特徴を抽出するために用いられ、前記削減層は、前記削減層に入力された画像から特徴を抽出し、且つ前記削減層に入力された画像のサイズを縮小するために用いられ、前記分類層は、前記削減層から出力された特徴に基づいて、前記捜索対象のニューラルネットワークライブラリ内のニューラルネットワークに入力された画像の分類結果を得るために用いられ、前記標準層と前記削減層はいずれも複数のニューロンを含み、前記複数のニューロンのそれぞれは順次直列に接続され、且つi+1番目のニューロンの入力はi番目のニューロンの出力とi-1番目のニューロンの出力を含み、前記i+1番目のニューロン、前記i番目のニューロン及び前記i-1番目のニューロンは前記複数のニューロンに属し、前記iは1よりも大きい正の整数であり、前記ニューロンはj個のノードを含み、k番目のノードの入力は前記k番目のノードより前のk-1個のノードのうちの任意の2つのノードの出力であり、前記kは2よりも大きい正の整数であり、且つ前記kは前記j以下であり、前記ニューロンの出力はj番目のノードの出力とj-1番目のノードの出力が融合した結果であり、前記ノードは少なくとも2つの操作を含み、前記操作の入力は前記ノードの入力であり、前記操作は畳み込み、プーリング、マッピングのいずれか一つである。
【0129】
可能なさらなる実現形態では、前記ニューラルネットワーク進化ユニットは、具体的には、前記R個の複製後のニューラルネットワークのニューロンの入力を変換することによって前記R個の複製後のニューラルネットワークの構造を修正し、及び/又は前記R個の複製後のニューラルネットワークのニューロンのノード内の操作を変換することによって前記R個の複製後のニューラルネットワークの構造を修正するために用いられる。
【0130】
可能なさらなる実現形態では、前記取得ユニット11は、具体的には、捜索対象ニューラルネットワークを取得し、前記訓練データセットを用いて前記捜索対象ニューラルネットワークに対して前記第3段階訓練を行い、第3段階訓練後の捜索対象ニューラルネットワークを含む前記捜索対象のニューラルネットワークライブラリを得るために用いられる。
【0131】
可能なさらなる実現形態では、前記決定ユニット14は、具体的には、前記訓練データセットに対する認識精度の高い順に、前記捜索対象のニューラルネットワークライブラリ内の、第1所定値と第2所定値の和である周期数で訓練されたニューラルネットワークをソートし、且つ上位Y個のニューラルネットワークを前記目標ニューラルネットワークとするために用いられる。
【0132】
いくつかの実施例では、本開示の実施例による装置が有する機能又は含まれるモジュールは上記方法の実施例に説明される方法を実行するために利用でき、その具体的な実現について、上記方法の実施例の説明を参照すればよく、簡潔化のために、ここで詳細な説明を省略する。
【0133】
本開示の実施例は、上記方法を実行するためのプロセッサをさらに提案する。
【0134】
本開示の実施例は、プロセッサと、送信装置と、入力装置と、出力装置と、コンピュータ命令を含むコンピュータプログラムコードを記憶するためのメモリとを含み、前記プロセッサが前記コンピュータ命令を実行すると、上記方法を実行する電子機器をさらに提案する。
【0135】
本開示の実施例は、前記プロセッサに上記方法を実行させるプログラム命令を含むコンピュータプログラムが記憶されているコンピュータ読取可能記憶媒体であって、前記コンピュータプログラム命令は電子機器のプロセッサによって実行されると、上記の方法を実現させるコンピュータ可読記憶媒体がさらに提供される。当該コンピュータ読取可能記憶媒体は、不揮発性のコンピュータ読取可能記憶媒体又は揮発性のコンピュータ読取可能記憶媒体であってもよい。
【0136】
本開示の実施例は、コンピュータ読取可能なコードを含むコンピュータプログラムであって、前記コンピュータ読取可能なコードは電子機器内で実行されると、前記電子機器のプロセッサが上記方法を実行させるコンピュータプログラムをさらに提案する。
【0137】
図7は、本開示の実施例によるニューラルネットワーク捜索装置のハードウェア構造の模式図である。当該ニューラルネットワーク捜索装置700は、プロセッサ21と、メモリ22と、入力装置23と、出力装置24とを含む。当該プロセッサ21、メモリ22、入力装置23及び出力装置24は、各種インタフェース、伝送線又はバスなどを含むコネクタを介して結合されており、本開示の実施例はこれについて限定しない。本開示の様々な実施例において、結合とは、直接接続又は他の設備を介した間接的な接続を含む特定の方法による相互接続を意味し、例えば、各種インタフェース、伝送線、バスなどを介して接続することができることを理解すべきである。
【0138】
プロセッサ21は、1つ以上のグラフィックスプロセッサ(graphics processing unit、GPU)であってもよい。プロセッサ21が1つのGPUである場合、当該GPUは、シングルコアGPUであってもよいし、マルチコアGPUであってもよい。プロセッサ21は、複数のGPUからなるプロセッサ群であり、複数のプロセッサの間は1つ以上のバスを介して相互に結合されることを選択可能であっても良い。当該プロセッサは、他のタイプのプロセッサなどを選択可能であっても良く、本開示の実施例は限定しない。
【0139】
メモリ22は、コンピュータプログラム命令、及び本開示の方案を実行するためのプログラムコードを含む様々なコンピュータプログラムコードを記憶するために使用でき。メモリは、ランダムアクセスメモリ(random access memory、RAM)、リードオンリーメモリ(read-only memory、ROM)、消去可能なプログラマブルリードオンリーメモリ(erasable programmable read only memory、EPROM)、又はコンパクトディスクリードオンリーメモリ(compact disc read-only memory、CD-ROM)を選択可能に含むが、これらに限定されず、当該メモリは関連命令及びデータのために使用される。
【0140】
入力装置23は、データ及び/又は信号を入力するために用いられ、及び出力装置24は、データ及び/又は信号を出力するために用いられる。入力装置23及び出力装置24は、独立したデバイスであってもよいし、一体のデバイスであってもよい。
【0141】
本開示の実施例では、メモリ22は、関連する命令を記憶するために用いることができるだけでなく、関連画像を記憶するために用いることもでき、例えば当該メモリ22は、入力装置23により取得された捜索対象ニューラルネットワークを記憶するために用いることができ、又は当該メモリ22は、さらにプロセッサ21により捜索して得られた目標ニューラルネットワークなどを記憶するために用いることができ、本開示の実施例は、当該メモリに具体的に記憶されたデータを限定するものではないと理解することができる。
【0142】
図7は、ニューラルネットワーク捜索処理装置の簡略化された設計のみを示している。実際の応用では、ニューラルネットワーク捜索装置は、任意の数の入力/出力装置、プロセッサ、メモリなど必要な他の要素をそれぞれ含んでいてもよいが、これらに限定されなく、本開示の実施例を実現することができる全てのニューラルネットワーク捜索装置が本開示の範囲内にあると理解することができる。
【0143】
当業者であれば、本明細書に開示された実施例に関連して説明された様々な例示的なユニット及びアルゴリズムステップは、電子ハードウェア、又はコンピュータソフトウェアと電子ハードウェアとの組み合わせで実現され得ることを認識するであろう。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、技術方案の特定の応用や設計制約条件に依存する。当業者は特定の応用ごとに異なる方法を用いて説明した機能を実現することができるが、この実現は本開示の範囲を超えているとは考えられない。
【0144】
当業者には明らかなように、説明の容易さと簡潔さのために、上述したシステム、装置及びユニットの具体的な動作過程は、前述した方法の実施例における対応の過程を参照することができ、ここでは説明を省略する。当業者には明らかなように、本開示の各実施例はそれぞれに重点を置いて説明し、説明の容易さと簡潔さのために、異なる実施例において、同一又は類似の部分は説明が省略されている場合があり、したがって、ある実施例において説明されない又は詳細に説明されない部分は他の実施例の記載を参照することができる。
【0145】
本開示によって提供されるいくつかの実施例において、開示されたシステム、装置及び方法は、他の方式によって実現されることが理解すべきである。例えば、上述した装置の実施例は例示的なものにすぎず、例えば、前記ユニットの分割は論理的な機能分割のみであり、実際に実現される場合には別の分割方式があってもよく、例えば、複数のユニット又はコンポーネントを集積したり、別のシステムに集積したり、一部の特徴を無視したり、実行しなかったりしてもよい。別の点として、表示又は議論された相互間の結合又は直接結合又は通信接続は、いくつかのインタフェース、装置又はユニットを介した間接的な結合又は通信接続であってもよく、電気的、機械的又は他の形態であってもよい。
【0146】
分離部材として説明した前記ユニットは物理的に分離されていてもよいし、物理的に分離されていなくてもよく、ユニットとして表示される部材は物理的なユニットであってもよいし、物理的なユニットでなくてもよく、即ち1つの場所にあってもよいし、複数のネットワークユニットに分散されていてもよい。実際の需要に応じてその中の一部又は全部のユニットを選択して本実施例の手段の目的を達成することができる。
【0147】
また、本開示の各実施例における各機能ユニットは、1つの処理ユニットに集積されていてもよいし、各処理ユニットが個別に物理的に存在していてもよいし、2つ以上の処理ユニットが1つの処理ユニットに集積されていてもよい。
【0148】
上述した実施例において、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせにより、その全部又は一部を実現するようにしてもよい。ソフトウェアを用いて実現する場合には、その全部又は一部をコンピュータプログラム製品として実現してもよい。前記コンピュータプログラム製品は1つ以上のコンピュータ命令を含む。コンピュータ上で前記コンピュータプログラム命令がロードされて実行されると、その全部又は一部は、本開示の実施例に記載されたフロー又は機能を生成する。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってもよい。前記コンピュータ命令は、コンピュータ読取可能記憶媒体に記憶されてもよいし、前記コンピュータ読取可能記憶媒体を介して伝送されてもよい。前記コンピュータ命令は、1つのウェブサイト、コンピュータ、サーバ、又はデータセンタから、有線(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(digital subscriber line、DSL))又は無線(例えば、赤外線、無線、マイクロ波など)により、別のウェブサイト、コンピュータ、サーバ、又はデータセンタへ伝送されてもよい。前記コンピュータ読取可能記憶媒体は、コンピュータがアクセス可能な任意の利用可能な媒体であってもよいし、1つ以上の利用可能な媒体が集積されたサーバ、データセンタなどのデータ記憶装置であってもよい。前記利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、磁気テープ)、光媒体(例えば、デジタルユニバーサルディスク(digital versatile disc、DVD))、又は半導体媒体(例えば、ソリッドステートドライブ(solid state disk、SSD))などであってもよい。
【0149】
論理に反しない場合は、本開示の異なる実施例の間で互いに結合されてもよく、異なる実施例は重点を置いて説明し、重点を置いて説明する部分は他の実施例の記載を参照することができる。
【0150】
当業者は上記実施例の方法を実現するフローの全部又は一部を理解することができ、当該フローはコンピュータプログラムによって関連するハードウェアに命令して完成することができ、当該プログラムはコンピュータ読取可能記憶媒体に記憶されて、当該プログラムが実行されるとき、上記各方法の実施例のようなフローを含むことができる。また、前述した記憶媒体には、リードオンリーメモリ(read-only memory、ROM)又はランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、光ディスクなどのプログラムコードを記憶可能な各種媒体が含まれる。
【0151】
本願は、2019年5月31日に中国国家知識産権局に提出された、出願番号201910471323.1で、発明の名称「ニューラルネットワーク捜索方法及び装置」である中国特許出願の優先権を主張し、その全ての内容は援用することによって本願に組み込まれる。