Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7838638B2 - ニューラルネットワーク生成方法 - Google Patents
[go: Go Back, main page]

JP7838638B2 - ニューラルネットワーク生成方法 - Google Patents

ニューラルネットワーク生成方法

Info

Publication number
JP7838638B2
JP7838638B2 JP2024516053A JP2024516053A JP7838638B2 JP 7838638 B2 JP7838638 B2 JP 7838638B2 JP 2024516053 A JP2024516053 A JP 2024516053A JP 2024516053 A JP2024516053 A JP 2024516053A JP 7838638 B2 JP7838638 B2 JP 7838638B2
Authority
JP
Japan
Prior art keywords
neural network
student
subnetwork
layer
teacher
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024516053A
Other languages
English (en)
Other versions
JPWO2023203775A1 (ja
Inventor
幸宏 笹川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Publication of JPWO2023203775A1 publication Critical patent/JPWO2023203775A1/ja
Application granted granted Critical
Publication of JP7838638B2 publication Critical patent/JP7838638B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Description

本開示は、学習済み生徒ニューラルネットワークを生成するニューラルネットワーク生成方法に関する。
従来、学習済み教師ニューラルネットワークに基づいて、生徒ニューラルネットワークを学習し、学習済み生徒ニューラルネットワークを生成する方法が知られている。
非特許文献1には、教師ニューラルネットワークをブロック単位に構造化し、当該教師ニューラルネットワークと複数候補の生徒ニューラルネットワークとのロスを探索することで、ネットワークアーキテクチャのサーチを効率化する方法が開示されている。この方法では、知識の蒸留を活用して生徒ニューラルネットワークを模倣させている。
Blockwisely Supervised Neural Architecture Search with KnowledgeDistillation (by Changlin Li+),ArXiv,2019
一般には、生徒ニューラルネットワークよりも教師ニューラルネットワークの方が複雑なモデルであることが多い。その場合、生徒ニューラルネットワークの複雑度を上げて生徒ニューラルネットワークの模倣度を上げることもできるが、生徒ニューラルネットワークの制約上、複雑度を上げることが困難なことがある。
そこで本開示は、学習済み生徒ニューラルネットワークをシンプルに生成することができるニューラルネットワーク生成方法を提供する。
上記目的を達成するために、本開示の一形態に係るニューラルネットワーク生成方法は、コンピュータによって実行されるニューラルネットワーク生成方法であって、M層(Mは3以上の整数)によって構成される学習済み教師ニューラルネットワーク、および、M層より少ないN層(Nは2以上の整数)によって構成される生徒ニューラルネットワークを準備する準備ステップと、前記学習済み教師ニューラルネットワークをN個のサブネットワークに分解する分解ステップと、前記N個のサブネットワークに分解した前記学習済み教師ニューラルネットワーク、および、前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記生徒ニューラルネットワークを学習させることで学習済み生徒ニューラルネットワークを生成する学習ステップと、を含み、前記分解ステップは、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変える、複数のグループ分けパターンを有し、前記学習ステップは、(1)前記N個のサブネットワークごとの出力であるN個の教師側出力と、前記生徒ニューラルネットワークのN層の層ごとの出力であるN個の生徒側出力とを入力層から出力層へ向かって処理順に対応付け、(2)複数のグループ分けパターンを有する前記学習済み教師ニューラルネットワークと、前記生徒ニューラルネットワークとによる複数の組み合わせの中から、対応付けたN個の前記教師側出力とN個の前記生徒側出力とのそれぞれの誤差に基づく評価値が最も小さくなるときの当該学習済み教師ニューラルネットワークと前記生徒ニューラルネットワークとの組み合わせを選択し、(3)選択後の前記生徒ニューラルネットワークに基づいて当該生徒ニューラルネットワークのN層のそれぞれの重みデータを決定することで、前記学習済み生徒ニューラルネットワークを生成する。
上記目的を達成するために、本開示の一形態に係るニューラルネットワーク生成方法は、コンピュータによって実行されるニューラルネットワーク生成方法であって、M層(Mは3以上の整数)によって構成される学習済み教師ニューラルネットワーク、および、M層より少ないN層(Nは2以上の整数)によって構成される生徒ニューラルネットワークを準備する準備ステップと、前記学習済み教師ニューラルネットワークを、入力側から順に少なくとも第1サブネットワークと第2サブネットワークとを含むように分解する分解ステップと、前記第1サブネットワークおよび前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記第1サブネットワークの出力である第1の教師側出力と、前記生徒ニューラルネットワークの第1層の出力である第1の生徒側出力との誤差に基づく第1の誤差が小さくなるように前記生徒ニューラルネットワークを学習させることで前記第1層の重みデータを決定する第1決定ステップと、前記第1サブネットワークおよび前記第2サブネットワークで構成される部分ニューラルネットワーク、ならびに、前記第1決定ステップで決定した重みデータを有する第1層および前記第1層の後段に位置する第2層を含む前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記第2サブネットワークの出力である第2の教師側出力と、前記第2層の出力である第2の生徒側出力との誤差に基づく第2の誤差が小さくなるように前記生徒ニューラルネットワークを学習させることで前記第2層の重みデータを決定する第2決定ステップと、を含み、前記分解ステップにおいて、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変えることで、前記第1サブネットワークおよび前記第2サブネットワークはそれぞれ複数のグループ分けパターンを有し、前記第1決定ステップは、複数のグループ分けパターンを有する前記第1サブネットワークと、前記生徒ニューラルネットワークの第1層とによる複数の組み合わせの中から、前記第1の誤差が最も小さくなるときの前記第1サブネットワークと前記生徒ニューラルネットワークの第1層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第1層に基づいて前記第1層の重みデータを決定し、前記第2決定ステップは、前記第1の誤差が最も小さくなるときの前記第1サブネットワークおよび複数のグループ分けパターンを有する前記第2サブネットワークで構成される複数の部分ニューラルネットワークと、前記生徒ニューラルネットワークの第1層および第2層とによる組み合わせの中から、前記第2の誤差が最も小さくなるときの当該部分ニューラルネットワークと前記生徒ニューラルネットワークの第1層および第2層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第2層に基づいて前記第2層の重みデータを決定する。
本開示のニューラルネットワーク生成方法によれば、学習済み生徒ニューラルネットワークをシンプルに生成することができる。
図1は、教師ニューラルネットワークおよび生徒ニューラルネットワークの一例を示す図である。 図2は、学習済み教師ニューラルネットワークおよび学習前の生徒ニューラルネットワークを模式的に示す図である。 図3は、学習済み教師ニューラルネットワークおよび生徒ニューラルネットワークの関係を示す図である。 図4Aは、実施の形態1に係るニューラルネットワーク生成方法を概略的に示す図である。 図4Bは、図4Aにつづき、ニューラルネットワーク生成方法を概略的に示す図である。 図4Cは、図4Bにつづき、ニューラルネットワーク生成方法を概略的に示す図である。 図5は、実施の形態1に係るニューラルネットワーク生成方法を示すフローチャートである。 図6は、教師側出力と生徒側出力との誤差に係数を乗じた例を示す図である。 図7は、誤差に乗じる係数の導出方法を示すフローチャートである。 図8は、誤差に乗じる係数の導出方法の一例を示す図である。 図9は、特徴マップをリサイズする際の一例を示す図である。 図10は、特徴マップをリサイズする際の他の一例を示す図である。 図11は、実施の形態2に係るニューラルネットワーク生成方法を概略的に示す図である。 図12は、実施の形態2に係るニューラルネットワーク生成方法を示すフローチャートである。 図13は、教師側出力と生徒側出力との誤差に基づく評価値を示す図である。 図14は、誤差に乗じる係数の導出方法を示すフローチャートである。 図15は、誤差に乗じる係数の導出方法の一例を示す図である。
以下、本開示の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。以下の実施の形態で示される数値、形状、材料、規格、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
[ニューラルネットワークの基本構成]
教師ニューラルネットワークおよび生徒ニューラルネットワークの基本構成について説明する。
図1は、教師ニューラルネットワークおよび生徒ニューラルネットワークの一例を示す図である。
図1に示す各ニューラルネットワークは、マルチレイヤ構造を有し、入力層、複数の中間層、および、出力層によって構成されている。入力層、中間層および出力層のそれぞれは、例えば、畳み込み層または全結合層であり、ニューロンに相当する複数のノード(図示省略)を有している。
教師ニューラルネットワークは、複雑な推論モデルによって構成されているため、教師ニューラルネットワークを利用するときの負荷が重くなることがある。そこで、教師ニューラルネットワークを模倣した生徒ニューラルネットワークが利用される。
生徒ニューラルネットワークは、簡易な推論モデルであって、教師ニューラルネットワークよりも全体の層数が少ない。本開示の生徒ニューラルネットワークは、教師ニューラルネットワークに匹敵する処理をシステムLSI(Large Scale Integrated Circuit)などの固定ハードウェアで実現させるためのモデルである。生徒ニューラルネットワークの層数は、システムLSIなどのハードウェア構成に応じて予め決定される。一方、生徒ニューラルネットワークの各層に対応するシステムLSIの各層の重みデータは可変であり、重みデータを後からシステムLSIに実装することが可能となっている。
本開示のニューラルネットワーク生成方法では、生徒ニューラルネットワークの層数が予め決められているという制約の下で生徒ニューラルネットワークを学習させ、各層の重みデータを決定することで学習済み生徒ニューラルネットワークを生成する。例えば、学習済み生徒ニューラルネットワークの重みデータをシステムLSIに実装することで、教師ニューラルネットワークに匹敵する処理を上記のシステムLSIで実現することができる。
ここで本開示に対する理解を容易にするため、教師ニューラルネットワークおよび生徒ニューラルネットワークのそれぞれを以下のように模式化して説明する。
図2は、学習済み教師ニューラルネットワークTLおよび学習前の生徒ニューラルネットワークSを模式的に示す図である。図2には、図1のニューラルネットワークを模式化したものが示されている。
図2の(a)に示す学習済み教師ニューラルネットワークTLは、M層(Mは3以上の整数)によって構成されている。Mは、学習済み教師ニューラルネットワークTLを層構造で表したときの層数である。この例では、学習済み教師ニューラルネットワークTLは9つの層を有している。例えば9つの層の1層目は入力層であり、2層目~9層目は中間層である。なお、9つの層の全てが中間層であってもよい。
図2の(b)に示す学習前の生徒ニューラルネットワークSは、M層よりも少ないN層(Nは2以上の整数)によって構成されている。Nは、生徒ニューラルネットワークSを層構造で表したときの層数であり、例えばシステムLSIなどのハードウェア構成によって予め決定される。この例では、生徒ニューラルネットワークSは3つの層を有している。例えば3つの層の1層目は入力層であり、2層目および3層目は中間層である。なお、3つの層の全てが中間層であってもよい。
以下では、9層で構成される学習済み教師ニューラルネットワークTLに基づいて、3層で構成される生徒ニューラルネットワークSを学習し、3層のそれぞれの重みデータを決定する実施の形態について説明する。
(実施の形態1)
[ニューラルネットワーク生成方法の概略説明]
図3は、学習済み教師ニューラルネットワークTLおよび生徒ニューラルネットワークSの関係を示す図である。
図3には、学習済み教師ニューラルネットワークTLに含まれる3個のサブネットワーク、および、学習前の生徒ニューラルネットワークSに含まれる3つの層が示されている。サブネットワークとは、ニューラルネットワークの一部を構成するネットワークである。サブネットワークの個数を3個にしているのは、生徒ニューラルネットワークSの層数と合わせるためである。なお、同図に示す3個のサブネットワークのグループ分けは、あくまでも一例である。
ここで3個のサブネットワークを入力層から出力層へ向う処理順に、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3と呼ぶ。また、生徒ニューラルネットワークSに含まれる3つの層を入力層から出力層へ向う処理順に、第1層S1、第2層S2および第3層S3と呼ぶ。この例では、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3と、第1層S1、第2層S2および第3層S3とが、入力層から出力層へ向かって並ぶ順に対応付けられている。
例えば、9層で構成されるニューラルネットワークから3個のサブネットワークを生成する際のグループ分けの選択数は、9層の各層の間に位置する8つの分解位置p1~p8の中から2つの分解位置を選択するときの選択数と同じである。したがって、3個のサブネットワークを生成する際の全てのグループ分けパターンは、28パターンとなる(=28)。
実施の形態1では、28パターンの全てのグループ分けパターンの探索を行うのでなく、28パターンのうちの一部のパターンを探索して、生徒ニューラルネットワークSの3層の重みデータを決定する。
図4A、図4Bおよび図4Cは、実施の形態1に係るニューラルネットワーク生成方法を概略的に示す図である。図4Aには、第1サブネットワークT1に関する探索が示され、図4Bには、第2サブネットワークT2に関する探索が示され、図4Cには、第3サブネットワークT3に関する探索が示されている。
まず、図4Aに示すように、第1サブネットワークT1に関する探索を行う。第1サブネットワークT1の後段の第2サブネットワークT2および第3サブネットワークT3にはそれぞれ最低1層は必要なので、第1サブネットワークT1は、9層から2層引いた7層以下で形成される。言い換えると、第1サブネットワークT1は、図4Aに示すように、分解位置p1、p2、p3、p4、p5、p6またはp7で分解したときの7つのパターンをとり得る。
次に、学習済み教師ニューラルネットワークTLおよび生徒ニューラルネットワークSのそれぞれに、入力データおよびラベルを含む学習用のデータセットを入力する。データセットの入力数は、100であってもよいし、1000であってもよい。そして、第1サブネットワークT1以降の出力である第1の教師側出力to1と、生徒ニューラルネットワークSの第1層S1以降の出力である第1の生徒側出力so1との誤差に基づく第1の誤差e1が小さくなるように、生徒ニューラルネットワークSを学習させる。なおここでは、第1の誤差e1=(第1サブネットワークT1の単体の出力と生徒ニューラルネットワークSの第1層S1の単体の出力との誤差)としている。上記の学習を7つのパターンのそれぞれについて実行し、7つのパターンの中から第1の誤差e1が最も小さくなるときのパターンを選択する。
この例では、分解位置p3で分解したときの第1の誤差e1が最も小さくなっており、図4Aに示すように、第1サブネットワークT1は、分解位置p3で分解したときのパターンに決定される。また、生徒ニューラルネットワークSの第1層S1の重みデータは、分解位置p3で分解したときの第1サブネットワークT1と第1層S1との学習で得られた重みデータW1に決定される。
次に、図4Bに示すように、第2サブネットワークT2に関する探索を行う。第2サブネットワークT2に関する探索は、第1サブネットワークT1が先に決めた分解位置p3で固定されていることを前提として実行される。第2サブネットワークT2の後段の第3サブネットワークT3には最低1層は必要なので、第2サブネットワークT2は、第1サブネットワークT1以外の6層から1層引いた5層以下で形成される。言い換えると、第2サブネットワークT2は、図4Bに示すように、分解位置p4、p5、p6、p7またはp8で分解したときの5つのパターンをとり得る。
次に、第1サブネットワークT1および第2サブネットワークT2を含む学習済み教師ニューラルネットワークTL、ならびに、先に決定した重みデータW1を有する第1層S1および第1層S1の後段に位置する第2層S2を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力する。そして、第2サブネットワークT2以降の出力である第2の教師側出力to2と、生徒ニューラルネットワークSの第2層S2以降の出力である第2の生徒側出力so2との誤差に基づく第2の誤差e2が小さくなるように、生徒ニューラルネットワークSを学習させる。なおここでは、第2の誤差e2=第1の誤差e1+(第2サブネットワークT2の単体の出力と生徒ニューラルネットワークSの第2層S2の単体の出力との誤差)としている。上記の学習を5つのパターンのそれぞれについて実行し、5つのパターンの中から第2の誤差e2が最も小さくなるときのパターンを選択する。
この例では、分解位置p6で分解したときの第2の誤差e2が最も小さくなっており、図4Bに示すように、第2サブネットワークT2は、分解位置p6で分解したときのパターンに決定される。また、生徒ニューラルネットワークSの第2層S2の重みデータは、分解位置p3で分解したときの第1サブネットワークT1および分解位置p6で分解したときの第2サブネットワークT2と、第1層S1および第2層S2との学習で得られた重みデータW2に決定される。
次に、図4Cに示すように、第3サブネットワークT3に関する探索を行う。第3サブネットワークT3に関する探索は、第1サブネットワークT1が先に決めた分解位置p3で固定され、第2サブネットワークT2が先に決めた分解位置p6で固定されていることを前提として実行される。第3サブネットワークT3は、第1サブネットワークT1および第2サブネットワークT2以外の3層で形成される。言い換えると、第3サブネットワークT3は、図4Cに示すように、分解位置p6で分解したときの1つのパターンをとり得る。
次に、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3を含む学習済み教師ニューラルネットワークTL、ならびに、重みデータW1を有する第1層S1、重みデータW2を有する第2層S2および第2層S2の後段に位置する第3層S3を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力する。そして、第3サブネットワークT3以降の出力である第3の教師側出力to3と、生徒ニューラルネットワークSの第3層S3以降の出力である第3の生徒側出力so3との誤差に基づく第3の誤差e3が小さくなるように、生徒ニューラルネットワークSを学習させる。なおここでは、第3の誤差e3=第2の誤差e2+(第3サブネットワークT3の単体の出力と生徒ニューラルネットワークSの第3層S3の単体の出力との誤差)としている。
図4Cに示す例では、生徒ニューラルネットワークSの第3層S3の重みデータは、上記の学習済み教師ニューラルネットワークTLと第1層S1、第2層S2および第3層S3との学習で得られた重みデータW3に決定される。これらにより、第1層S1、第2層S2および第3層S3のそれぞれに対応する重みデータW1、W2およびW3が決定され、学習済み生徒ニューラルネットワークSLが生成される。
このように、実施の形態1では、3個のサブネットワークごとの出力である3個の教師側出力と、生徒ニューラルネットワークSの3層の層ごとの出力である3個の生徒側出力とを入力層から出力層へ向かって処理順に対応付ける。そして、対応付けた順に生徒ニューラルネットワークSの3層のそれぞれの重みデータW1~W3を決定することで、学習済み生徒ニューラルネットワークSLを生成する。この方法によれば、学習済み生徒ニューラルネットワークSLを負荷の少ない処理でシンプルに生成することができる。例えば上記の例では、合計の探索数が7+5+1=13であり、28パターンの全探索を行うよりも探索数を減らすことができる。
[ニューラルネットワーク生成方法のフロー]
ニューラルネットワークの生成方法のフローについて、図5を参照しながら説明する。
図5は、実施の形態1に係るニューラルネットワーク生成方法を示すフローチャートである。
実施の形態1に係るニューラルネットワーク生成方法は、準備ステップS100と、分解ステップS200と、学習ステップS300とを含む。学習ステップS300は、第1決定ステップS310と、第2決定ステップS320と、第3決定ステップS330と、を含む。
準備ステップS100は、M層によって構成される学習済み教師ニューラルネットワークTL、および、M層より少ないN層によって構成される生徒ニューラルネットワークSを準備するステップである。
分解ステップS200は、学習済み教師ニューラルネットワークTLを、入力側から順に少なくとも第1サブネットワークT1と第2サブネットワークT2とを含むように分解するステップである。具体的には、分解ステップS200では、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、複数のグループ分けパターンを有する第1サブネットワークT1および第2サブネットワークT2をそれぞれ生成する。また、分解ステップS200は、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、第2サブネットワークT2の後段に位置する第3サブネットワークT3を生成する。
なお、分解ステップS200は、第1決定ステップS310、第2決定ステップS320および第3決定ステップS330のそれぞれの前に必要に応じて実行される。例えばこの例では、第1決定ステップS310の前に第1サブネットワークT1が分解して抽出され、第2決定ステップS320の前に第2サブネットワークT2が分解して抽出され、第3決定ステップS330の前に第3サブネットワークT3が分解して抽出される。
第1決定ステップS310は、生徒ニューラルネットワークSの第1層S1の重みデータW1を決定するステップである。第1決定ステップS310では、学習済み教師ニューラルネットワークTLおよび生徒ニューラルネットワークSのそれぞれに、入力データおよびラベルを含む学習用のデータセットを入力する。そして、第1サブネットワークT1の出力である第1の教師側出力to1と、生徒ニューラルネットワークSの第1層S1の出力である第1の生徒側出力so1との誤差(またはロス値)に基づく第1の誤差e1が小さくなるように生徒ニューラルネットワークSを学習させることで第1層S1の重みデータを決定する。
具体的には第1決定ステップS310では、複数のグループ分けパターンを有する第1サブネットワークT1と、生徒ニューラルネットワークSの第1層S1とによる複数の組み合わせの中から、第1の誤差e1が最も小さくなるときの第1サブネットワークT1と生徒ニューラルネットワークSの第1層S1との組み合わせを選択する。そして、選択後の生徒ニューラルネットワークSの第1層S1に基づいて、第1層S1の重みデータW1を決定する。
第2決定ステップS320は、生徒ニューラルネットワークSの第2層S2の重みデータW2を決定するステップである。第2決定ステップS320では、第1サブネットワークT1および第2サブネットワークT2を含む学習済み教師ニューラルネットワークTL、ならびに、第1決定ステップS310で決定した重みデータW1を有する第1層S1および第1層S1の後段に位置する第2層S2を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力する。そして、第2サブネットワークT2の出力である第2の教師側出力to2と、生徒ニューラルネットワークSの第2層S2の出力である第2の生徒側出力so2との誤差(またはロス値)に基づく第2の誤差e2が小さくなるように生徒ニューラルネットワークSを学習させることで第2層S2の重みデータW2を決定する。
具体的には第2決定ステップS320では、第1の誤差e1が最も小さくなるときの第1サブネットワークT1および複数のグループ分けパターンを有する第2サブネットワークT2で構成される複数の部分ニューラルネットワークと、生徒ニューラルネットワークSの第1層S1および第2層S2とによる組み合わせの中から、第2の誤差e2が最も小さくなるときの部分ニューラルネットワークと生徒ニューラルネットワークSの第1層S1および第2層S2との組み合わせを選択する。そして、選択後の生徒ニューラルネットワークSの第2層S2に基づいて、第2層S2の重みデータW2を決定する。
第3決定ステップS330は、生徒ニューラルネットワークSの第3層S3の重みデータW3を決定するステップである。第3決定ステップS330では、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3を含む学習済み教師ニューラルネットワークTL、ならびに、第1決定ステップS310で決定した重みデータW1を有する第1層S1、第2決定ステップS320で決定した重みデータW2を有する第2層S2および第2層S2の後段に位置する第3層S3を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力する。そして、第3サブネットワークT3の出力である第3の教師側出力to3と、生徒ニューラルネットワークSの第3層S3の出力である第3の生徒側出力so3との誤差(またはロス値)に基づく第3の誤差e3が小さくなるように生徒ニューラルネットワークSを学習させることで第3層S3の重みデータW3を決定する。
これらのステップS100~S300を実行することで、学習済み生徒ニューラルネットワークSLを負荷の少ない処理でシンプルに生成することができる。
なお、分解ステップS200において、学習済み教師ニューラルネットワークTLを分解して複数のグループ分けパターンを有する第3サブネットワークT3を生成できる場合、すなわち、第3サブネットワークT3と異なる他のサブネットワークをさらに生成できる場合、第3決定ステップS330は、以下に示すように実行されてもよい。
この場合、第3決定ステップS330は、第1の誤差e1が最も小さくなるときの第1サブネットワークT1、第2の誤差e2が最も小さくなるときの第2サブネットワークT2、および、複数のグループ分けパターンを有する第3サブネットワークT3で構成される複数の部分ニューラルネットワークと、生徒ニューラルネットワークの第1層S1、第2層S2および第3層S3とによる組み合わせの中から、第3の誤差e3が最も小さくなるときの当該部分ニューラルネットワークと生徒ニューラルネットワークSの第1層S1、第2層S2および第3層S3との組み合わせを選択する。そして、選択後の生徒ニューラルネットワークSの第3層S3に基づいて第3層S3の重みデータW3を決定する。
また、上記の学習ステップS300で用いられるデータセットは、同じデータセットであることが望ましいが、必ずしも同じ入力データおよびラベルである必要はない。また、データセットは、全ての入力データおよびラベルを含むスーパデータセットであってもよいし、一部の代表的な入力データおよびラベルを含むサブデータセットであってもよい。例えば、教師ニューラルネットワークは、教師学習用のデータセットである教師学習用データを入力することで学習され、生徒ニューラルネットワークSは、教師学習用データのうちの一部のデータセットによって学習されてもよい。すなわち、学習ステップS300で用いられるデータセットは、教師学習用データの一部であるサブデータセットによって構成されていてもよい。この場合、さらに、教師学習用データを用いて、生徒ニューラルネットワークSを学習させてもよい。
[実施の形態1の変形例1]
実施の形態1の変形例1について、図6~図8を参照しながら説明する。
実施の形態1では、教師側出力と生徒側出力との誤差が小さくなるように生徒ニューラルネットワークSを学習させる例について説明したが、それに限られず、誤差に係数を乗じ、係数を乗じた後の誤差が小さくなるように生徒ニューラルネットワークSを学習させることもできる。そこで、変形例1では、誤差に乗じる係数を導出する方法について説明する。
図6は、教師側出力と生徒側出力との誤差に係数を乗じた例を示す図である。
図6の(a)には、第1サブネットワークT1の単体の出力と第1層S1の単体の出力との誤差に係数k1を乗じた値である第1の誤差e1が示されている。図6の(b)には、第2サブネットワークT2の単体の出力と第2層S2の単体の出力との誤差に係数k2を乗じ、第1の誤差e1に合算した値である第2の誤差e2が示されている。図6の(c)には、第3サブネットワークT3の単体の出力と第3層S3の単体の出力との誤差に係数k3を乗じ、第2の誤差e2に合算した値である第3の誤差e3が示されている。
各誤差は、教師側出力と生徒側出力との差であるロス値であってもよい。各係数k1、k2、k3のそれぞれは、各出力における誤差の重要性を示す値であり、係数の値が大きいほど、その出力における誤差が重要であることを示す。
この例では、対象とするニューラルネットワークの挙動の敏感さに基づいて各係数を導出する。なお、各係数は、図5に示すニューラルネットワーク生成方法のフローを実行する前の準備段階において、各誤差に応じて予め導出される。
図7は、誤差に乗じる係数の導出方法を示すフローチャートである。図8は、誤差に乗じる係数の導出方法の一例を示す図である。
図7に示すように、係数の導出方法は、参照用教師ニューラルネットワークTrを準備するステップと、N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成するステップと、誤差に乗じる係数を導出するステップと、を含む。
参照用教師ニューラルネットワークTrを準備するステップでは、学習済み教師ニューラルネットワークTLのそれぞれの層に対応する重みデータにノイズを加えたノイズ付き重みデータを有する参照用教師ニューラルネットワークTrを準備する。
N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成するステップでは、参照用教師ニューラルネットワークTrをN個のサブネットワークに分解することで、N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成する。
係数を導出するステップでは、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrのそれぞれにデータセットを入力し、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrの対応する各層の出力間のロス値を用いて、N個のサブネットワークごとのロス値のノイズによる変動分の合計値を求め、この合計値の大小関係に基づいて係数を設定する。
具体的には、係数を導出するステップでは、図8の(a)に示すように、学習済み教師ニューラルネットワークTLの各層の重み(Z)にノイズ(n)を付加したもの(Z+n)を比較対象として、学習済み教師ニューラルネットワークTLの各層のロス変動値ΔLを測定する。そして、ロス変動値ΔLの値が大きいものに該当するサブネットワークから係数を大きな数値に設定する。例えば、図8の(b)に示すように、各サブネットワークT1、T2、T3に含まれる各層のロス変動値ΔLを合計し、各係数k1、k2、k3を導出する。このように求めた係数を誤差に乗じることで、ニューラルネットワークの挙動の敏感さに応じて、教師側出力と生徒側出力との誤差(またはロス)を評価することが可能となる。
[実施の形態1の変形例2]
実施の形態1の変形例2について、図9および図10を参照しながら説明する。
実施の形態1では、教師側出力と生徒側出力とを単純に比較して誤差を求める例について示したが、それに限られず、各サブネットワークの特徴マップと生徒ニューラルネットワークの各層の特徴マップとのサイズを同じにした後に、誤差を求めることもできる。そこで、変形例2では、特徴マップをリサイズしてサイズを同じにする例について説明する。
図9は、特徴マップをリサイズする際の一例を示す図である。
図9の(a)には、サブネットワークの特徴マップが生徒ニューラルネットワークの各層の特徴マップよりも大きくなっている例が示されている。この例では、図9の(b)に示すように、サブネットワークの特徴マップを縮小して、生徒ニューラルネットワークの各層の特徴マップと同じサイズにする。リサイズの方法としては、例えば、畳み込みニューラルネットワーク(CNN)のプーリング計算と同じ方法や、画像リサイズで行う補完カーネル(Bi-Linear)などの方法が用いられる。このようにリサイズを行うことで、教師側出力と生徒側出力との誤差を精度よく求めることが可能となる。
図10は、特徴マップをリサイズする際の他の一例を示す図である。
図10の(a)には、サブネットワークの特徴マップが生徒ニューラルネットワークの各層の特徴マップよりも大きくなっている例が示されている。この例では、図10の(b)に示すように、生徒ニューラルネットワークの特徴マップを拡大して、サブネットワークの特徴マップと同じサイズにする。リサイズの方法としては、例えば、畳み込みニューラルネットワーク(CNN)のアップサンプリング計算と同じ方法や、画像リサイズで行う補完カーネル(Bi-Linear)などの方法が用いられる。このようにリサイズを行うことで、教師側出力と生徒側出力との誤差を精度よく求めることが可能となる。
例えば、図5に示す第1決定ステップS310において、第1の教師側出力to1および第1の生徒側出力so1の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第1の誤差e1を求めてもよい。第2決定ステップS320において、第2の教師側出力to2および第2の生徒側出力so2の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第2の誤差e2を求めてもよい。第3決定ステップS330において、第3の教師側出力to3および第3の生徒側出力so3の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第3の誤差e3を求めてもよい。
(実施の形態2)
[ニューラルネットワーク生成方法の概略説明]
実施の形態2では、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3に関する全探索を行う例について説明する。なお、実施の形態2でも本開示に対する理解を容易にするため、教師ニューラルネットワークおよび生徒ニューラルネットワークのそれぞれを模式化して説明する。
図11は、実施の形態2に係るニューラルネットワーク生成方法を概略的に示す図である。
例えば、M層で構成される学習済み教師ニューラルネットワークTLを分解してN個のサブネットワークを生成する際のグループ分けパターンは、(M-1N-1)で表される。この例では、M=9、N=3であるので、グループ分けパターンは、(9-13-1)パターンとなる。つまり、実施の形態2では、28パターンの全てのグループ分けパターンを探索して、生徒ニューラルネットワークSの3層の重みデータを決定する。
実施の形態2では、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3に関する全探索を行う。第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3は、分解位置p1、p2、p3、p4、p5、p6、p7およびp8で分解したときの28のパターンをとり得る。なお、図11に示す「分解位置p1,p2→p1,p8」という記載は、分解位置p1を固定し、もう一つの分解位置を分解位置p2からp8まで変えて、合計7パターンの探索を行ったことを示している。他の分解位置の記載についても同様である。
次に、学習済み教師ニューラルネットワークTLおよび生徒ニューラルネットワークSのそれぞれに、入力データおよびラベルを含む学習用のデータセットを入力する。データセットの入力数は、100であってもよいし、1000であってもよい。そして、学習済み教師ニューラルネットワークTLの出力である教師側出力toと、生徒ニューラルネットワークSの出力である生徒側出力soとの誤差に基づく評価値vが小さくなるように、生徒ニューラルネットワークSを学習させる。この学習を28つのパターンのそれぞれについて実行し、28つのパターンの中から評価値vが最も小さくなるときのパターンを選択する。
この例では、分解位置p3およびp6で分解したときの評価値vが最も小さくなっており、図11に示すように、第1サブネットワークT1は、分解位置p3で分解したときのパターンに決定され、第2サブネットワークT2および第3サブネットワークT3は、分解位置p6で分解したときのパターンに決定される。また、生徒ニューラルネットワークSの各層の重みデータは、分解位置p3およびp6で分解したときの重みデータであり、第1層S1の重みデータはW1に決定され、第2層S2の重みデータはW2に決定され、第3層S3の重みデータはW3に決定される。
実施の形態2では、3個のサブネットワークの全探索を行い、生徒ニューラルネットワークSの3層のそれぞれの重みデータW1~W3を決定することで、学習済み生徒ニューラルネットワークSLを生成する。この方法によれば、学習済み生徒ニューラルネットワークSLを精度よくシンプルに生成することができる。
[ニューラルネットワーク生成方法のフロー]
ニューラルネットワークの生成方法のフローについて、図12を参照しながら説明する。
図12は、実施の形態2に係るニューラルネットワーク生成方法を示すフローチャートである。
実施の形態2に係るニューラルネットワーク生成方法は、準備ステップS100と、分解ステップS200と、学習ステップS300とを含む。
準備ステップS100は、M層によって構成される学習済み教師ニューラルネットワークTL、および、M層より少ないN層によって構成される生徒ニューラルネットワークSを準備するステップである。
分解ステップS200は、学習済み教師ニューラルネットワークTLをN個のサブネットワークに分解することで、N個のサブネットワークを有する学習済み教師ニューラルネットワークTLを生成するステップである。分解ステップS200では、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、複数のグループ分けパターンを有する学習済み教師ニューラルネットワークTLを生成する。
学習ステップS300は、N個のサブネットワークを有する学習済み教師ニューラルネットワークTL、および、生徒ニューラルネットワークSのそれぞれにデータセットを入力し、生徒ニューラルネットワークSを学習させることで学習済み生徒ニューラルネットワークSLを生成するステップである。
具体的には、学習ステップS300では、まず、N個のサブネットワークごとの出力であるN個の教師側出力と、生徒ニューラルネットワークSのN層の層ごとの出力であるN個の生徒側出力とを入力層から出力層へ向かって処理順に対応付ける。次に、複数のグループ分けパターンを有する学習済み教師ニューラルネットワークTLと、生徒ニューラルネットワークSとによる複数の組み合わせの中から、対応付けた教師側出力と生徒側出力との誤差に基づく評価値vが最も小さくなるときの学習済み教師ニューラルネットワークTLと生徒ニューラルネットワークSとの組み合わせを選択する。そして、選択後の生徒ニューラルネットワークSに基づいて生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを生成する。
これらのステップS100~S300を実行することで、学習済み生徒ニューラルネットワークSLを精度よくシンプルに生成することができる。
[実施の形態2の変形例1]
実施の形態2の変形例1について、図13~図15を参照しながら説明する。
実施の形態2では、評価値vが小さくなるように、生徒ニューラルネットワークSを学習させる例について説明したが、それに限られず、誤差に係数を乗じた後の評価値vが小さくなるように、生徒ニューラルネットワークSを学習させることもできる。そこで、この変形例1では、評価値vを導出する方法について説明する。
図13は、教師側出力と生徒側出力との誤差に基づく評価値を示す図である。
図13には、第1サブネットワークT1の単体の出力と第1層S1の単体の出力との誤差に係数k1を乗じ、第2サブネットワークT2の単体の出力と第2層S2の単体の出力との誤差に係数k2を乗じ、第3サブネットワークT3の単体の出力と第3層S3の単体の出力との誤差に係数k3を乗じ、これらを合算した評価値vが示されている。つまり、評価値vは、N個の教師側出力とN個の生徒側出力とのそれぞれの誤差であるN個の誤差に対し、N個の誤差のそれぞれに対応する係数を乗じ、合算した値である。
各誤差は、教師側出力と生徒側出力との差であるロス値であってもよい。各係数k1、k2、k3のそれぞれは、各出力における誤差の重要性を示す値であり、係数の値が大きいほど、その出力における誤差が重要であることを示す。
この例でも、対象とするニューラルネットワークの挙動の敏感さに基づいて各係数を導出する。各係数は、図12に示すニューラルネットワーク生成方法のフローを実行する前の準備段階において、各誤差に応じて予め導出される。
図14は、誤差に乗じる係数の導出方法を示すフローチャートである。図15は、誤差に乗じる係数の導出方法の一例を示す図である。
図14に示すように、係数の導出方法は、参照用教師ニューラルネットワークTrを準備するステップと、N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成するステップと、誤差に乗じる係数を導出するステップと、を含む。
参照用教師ニューラルネットワークTrを準備するステップでは、学習済み教師ニューラルネットワークTLのそれぞれの層に対応する重みデータにノイズを加えたノイズ付き重みデータを有する参照用教師ニューラルネットワークTrを準備する。
N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成するステップでは、参照用教師ニューラルネットワークTrをN個のサブネットワークに分解することで、N個のサブネットワークを有する参照用教師ニューラルネットワークTrを生成する。
係数を導出するステップでは、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrのそれぞれにデータセットを入力し、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrの対応する各層の出力間のロス値を用いて、N個のサブネットワークごとのロス値のノイズによる変動分の合計値を求め、この合計値の大小関係に基づいて係数を設定する。
具体的には、係数を導出するステップでは、図15の(a)に示すように、学習済み教師ニューラルネットワークTLの各層の重み(Z)にノイズ(n)を付加したもの(Z+n)を比較対象として、学習済み教師ニューラルネットワークTLの各層のロス変動値ΔLを測定する。そして、ロス変動値ΔLの値が大きいものに該当するサブネットワークから係数を大きな数値に設定する。例えば、図15の(b)に示すように、各サブネットワークに含まれる各層のロス変動値ΔLを合計し、各係数k1、k2、k3を導出する。このように求めた係数を誤差に乗じることで、ニューラルネットワークの挙動の敏感さに応じて、教師側出力と生徒側出力との誤差に基づく評価値vを求めることが可能となる。
なお、上記では、教師側出力と生徒側出力とを単純に比較して評価値vを求める例について示したが、それに限られず、各サブネットワークの特徴マップと生徒ニューラルネットワークの各層の特徴マップとのサイズを同じにした後に、評価値vを求めることもできる。特徴マップをリサイズしてサイズを同じにする方法は、実施の形態1の変形例2と同様である。
(まとめ)
本開示の一形態に係るニューラルネットワーク生成方法は、M層によって構成される学習済み教師ニューラルネットワークTL、および、M層より少ないN層によって構成される生徒ニューラルネットワークSを準備する準備ステップと、学習済み教師ニューラルネットワークTLをN個のサブネットワークに分解する分解ステップと、N個のサブネットワークに分解した学習済み教師ニューラルネットワークTL、および、生徒ニューラルネットワークSのそれぞれにデータセットを入力し、生徒ニューラルネットワークSを学習させることで学習済み生徒ニューラルネットワークSLを生成する学習ステップと、を含む。学習ステップは、N個のサブネットワークごとの出力であるN個の教師側出力と、生徒ニューラルネットワークSのN層の層ごとの出力であるN個の生徒側出力とを入力層から出力層へ向かって処理順に対応付け、対応付けた順に生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを生成する。
このように、入力層から出力層へ向う処理順に生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを負荷の少ない処理でシンプルに生成することができる。また、例えば一般的には、各層の重みはランダム値を初期値として学習されるが、入力に対して出力の挙動が変わるという傾向があるので、本開示のように、入力側の重みを先に確定させたほうが学習済み生徒ニューラルネットワークを生成する効率が高くなると考えられる。
また、学習ステップは、N個の教師側出力とN個の生徒側出力とのそれぞれの誤差が小さくなるように、生徒ニューラルネットワークSを学習させることで、重みデータを決定してもよい。
このように、上記の誤差が小さくなるように学習させることで、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
本開示の一形態に係るニューラルネットワーク生成方法は、M層によって構成される学習済み教師ニューラルネットワークTL、および、M層より少ないN層によって構成される生徒ニューラルネットワークSを準備する準備ステップと、学習済み教師ニューラルネットワークTLをN個のサブネットワークに分解する分解ステップと、N個のサブネットワークに分解した学習済み教師ニューラルネットワークTL、および、生徒ニューラルネットワークSのそれぞれにデータセットを入力し、生徒ニューラルネットワークSを学習させることで学習済み生徒ニューラルネットワークSLを生成する学習ステップと、を含む。分解ステップは、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変える、複数のグループ分けパターンを有する。学習ステップは、(1)N個のサブネットワークごとの出力であるN個の教師側出力と、生徒ニューラルネットワークSのN層の層ごとの出力であるN個の生徒側出力とを入力層から出力層へ向かって処理順に対応付け、(2)複数のグループ分けパターンを有する学習済み教師ニューラルネットワークTLと、生徒ニューラルネットワークSとによる複数の組み合わせの中から、対応付けたN個の教師側出力とN個の生徒側出力とのそれぞれの誤差に基づく評価値vが最も小さくなるときの学習済み教師ニューラルネットワークTLと生徒ニューラルネットワークSとの組み合わせを選択し、(3)選択後の生徒ニューラルネットワークSに基づいて生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを生成する。
このように、複数の組み合わせの中から評価値vが最も小さくなるときの組み合わせを選択することで、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。これにより、学習済み生徒ニューラルネットワークSLを精度よくシンプルに生成することができる。
また、評価値vは、N個の教師側出力とN個の生徒側出力とのそれぞれの誤差であるN個の誤差に対し、N個の誤差のそれぞれに対応する係数を乗じ、合算した値であってもよい。
このように、N個の誤差のそれぞれに対応する係数を乗じることで、誤差の重要性に応じた評価値vを生成することができる。そのため、評価値に応じた重みデータを有する学習済み生徒ニューラルネットワークSLを生成することができる。
また、ニューラルネットワーク生成方法は、さらに、学習済み教師ニューラルネットワークTLのそれぞれの層に対応する重みデータにノイズを加えたノイズ付き重みデータを有する参照用教師ニューラルネットワークTrを準備するステップと、参照用教師ニューラルネットワークTrをN個のサブネットワークに分解するステップと、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrに基づいて、N個の誤差のそれぞれに対応する係数を導出するステップと、を含む。係数を導出するステップは、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrのそれぞれにデータセットを入力し、学習済み教師ニューラルネットワークTLおよび参照用教師ニューラルネットワークTrの対応する各層の出力間のロス値を用いて、N個のサブネットワークごとのロス値のノイズによる変動分の合計値を求め、合計値の大小関係に基づいて係数を導出してもよい。
これによれば、ニューラルネットワークの挙動の敏感さに応じて、教師側出力と生徒側出力との評価値vを求めることが可能となる。これにより、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、学習ステップにおいて、教師側出力および生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、誤差を求めてもよい。
このように特徴マップのサイズを合わせることで、教師側出力と生徒側出力との誤差を精度よく求めることが可能となる。これにより、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、教師ニューラルネットワークは教師学習用データを用いて学習され、データセットは、教師学習用データの一部によって構成されてもよい。
これによれば、学習済み生徒ニューラルネットワークSLを短時間でシンプルに生成することができる。
また、ニューラルネットワーク生成方法は、さらに、教師学習用データを用いて生徒ニューラルネットワークSを学習させるステップを含んでいてもよい。
これによれば、学習済み生徒ニューラルネットワークSLの信頼性を高めることができる。
本開示の一形態に係るニューラルネットワーク生成方法は、M層によって構成される学習済み教師ニューラルネットワークTL、および、M層より少ないN層によって構成される生徒ニューラルネットワークSを準備する準備ステップと、学習済み教師ニューラルネットワークTLを、入力側から順に少なくとも第1サブネットワークT1と第2サブネットワークT2とを含むように分解する分解ステップと、第1サブネットワークT1および生徒ニューラルネットワークSのそれぞれにデータセットを入力し、第1サブネットワークT1の出力である第1の教師側出力to1と、生徒ニューラルネットワークSの第1層S1の出力である第1の生徒側出力so1との誤差に基づく第1の誤差e1が小さくなるように生徒ニューラルネットワークSを学習させることで第1層S1の重みデータW1を決定する第1決定ステップと、第1サブネットワークT1および第2サブネットワークT2で構成される部分ニューラルネットワーク、ならびに、第1決定ステップで決定した重みデータW1を有する第1層S1および第1層S1の後段に位置する第2層S2を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力し、第2サブネットワークT2の出力である第2の教師側出力to2と、第2層S2の出力である第2の生徒側出力so2との誤差に基づく第2の誤差e2が小さくなるように生徒ニューラルネットワークSを学習させることで第2層S2の重みデータW2を決定する第2決定ステップと、を含む。
このように、入力側から順に生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを負荷の少ない処理でシンプルに生成することができる。
また、分解ステップにおいて、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、第1サブネットワークT1および第2サブネットワークT2はそれぞれ複数のグループ分けパターンを有する。第1決定ステップは、複数のグループ分けパターンを有する第1サブネットワークT1と、生徒ニューラルネットワークSの第1層S1とによる複数の組み合わせの中から、第1の誤差e1が最も小さくなるときの第1サブネットワークT1と生徒ニューラルネットワークSの第1層S1との組み合わせを選択し、選択後の生徒ニューラルネットワークSの第1層S1に基づいて第1層S1の重みデータW1を決定する。第2決定ステップは、第1の誤差e1が最も小さくなるときの第1サブネットワークT1および複数のグループ分けパターンを有する第2サブネットワークT2で構成される複数の部分ニューラルネットワークと、生徒ニューラルネットワークSの第1層S1および第2層S2とによる組み合わせの中から、第2の誤差e2が最も小さくなるときの部分ニューラルネットワークと生徒ニューラルネットワークSの第1層S1および第2層S2との組み合わせを選択し、選択後の生徒ニューラルネットワークSの第2層S2に基づいて第2層S2の重みデータW2を決定してもよい。
このように、複数の組み合わせの中から誤差が最も小さくなるときの組み合わせを選択することで、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、第1決定ステップにおいて、第1の教師側出力to1および第1の生徒側出力so1の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第1の誤差e1を求め、第2決定ステップにおいて、第2の教師側出力to2および第2の生徒側出力so2の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第2の誤差e2を求めてもよい。
このように特徴マップのサイズを合わせることで、教師側出力と生徒側出力との誤差を精度よく求めることが可能となる。これにより、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、分解ステップは、第2サブネットワークT2の後段に位置する第3サブネットワークT3を含む。ニューラルネットワーク生成方法は、さらに、第2決定ステップの後に実行される第3決定ステップを含む。第3決定ステップは、第1サブネットワークT1、第2サブネットワークT2および第3サブネットワークT3で構成される部分ニューラルネットワーク、ならびに、第1決定ステップで決定した重みデータW1を有する第1層S1、第2決定ステップで決定した重みデータW2を有する第2層S2および第2層S2の後段に位置する第3層S3を含む生徒ニューラルネットワークSのそれぞれにデータセットを入力し、第3サブネットワークT3の出力である第3の教師側出力to3と、生徒ニューラルネットワークSの第3層S3の出力である第3の生徒側出力so3との誤差に基づく第3の誤差e3が小さくなるように生徒ニューラルネットワークSを学習させることで第3層S3の重みデータW3を決定してもよい。
このように、入力側から順に生徒ニューラルネットワークSのN層のそれぞれの重みデータを決定することで、学習済み生徒ニューラルネットワークSLを負荷の少ない処理でシンプルに生成することができる。
また、分解ステップにおいて、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、第1サブネットワークT1および第2サブネットワークT2はそれぞれ複数のグループ分けパターンを有する。第1決定ステップは、複数のグループ分けパターンを有する第1サブネットワークT1と、生徒ニューラルネットワークSの第1層S1とによる複数の組み合わせの中から、第1の誤差e1が最も小さくなるときの第1サブネットワークT1と生徒ニューラルネットワークSの第1層S1との組み合わせを選択し、選択後の生徒ニューラルネットワークSの第1層S1に基づいて第1層S1の重みデータW1を決定する。第2決定ステップは、第1の誤差e1が最も小さくなるときの第1サブネットワークT1および複数のグループ分けパターンを有する第2サブネットワークT2で構成される複数の部分ニューラルネットワークと、生徒ニューラルネットワークSの第1層S1および第2層S2とによる組み合わせの中から、第2の誤差e2が最も小さくなるときの当該部分ニューラルネットワークと生徒ニューラルネットワークSの第1層S1および第2層S2との組み合わせを選択し、選択後の生徒ニューラルネットワークSの第2層S2に基づいて第2層S2の重みデータW2を決定する。さらに、分解ステップにおいて、学習済み教師ニューラルネットワークTLを分解する際の分解位置を変えることで、第3サブネットワークT3が複数のグループ分けパターンを有する場合に、第3決定ステップは、第1の誤差e1が最も小さくなるときの第1サブネットワークT1、第2の誤差e2が最も小さくなるときの第2サブネットワークT2、および、複数のグループ分けパターンを有する第3サブネットワークT3で構成される複数の部分ニューラルネットワークと、生徒ニューラルネットワークSの第1層S1、第2層S2および第3層S3とによる組み合わせの中から、第3の誤差e3が最も小さくなるときの当該部分ニューラルネットワークと生徒ニューラルネットワークSの第1層S1、第2層S2および第3層S3との組み合わせを選択し、選択後の生徒ニューラルネットワークSの第3層S3に基づいて第3層S3の重みデータW3を決定してもよい。
このように、複数の組み合わせの中から誤差が最も小さくなるときの組み合わせを選択することで、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、第1決定ステップにおいて、第1の教師側出力to1および第1の生徒側出力so1の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第1の誤差e1を求め、第2決定ステップにおいて、第2の教師側出力to2および第2の生徒側出力so2の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第2の誤差e2を求め、第3決定ステップにおいて、第3の教師側出力to3および第3の生徒側出力so3の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、第3の誤差e3を求めてもよい。
このように特徴マップのサイズを合わせることで、教師側出力と生徒側出力との誤差を精度よく求めることが可能となる。これにより、生徒ニューラルネットワークSの各層の重みデータを精度よく求めることができる。
また、教師ニューラルネットワークは教師学習用データを用いて学習され、データセットは、教師学習用データの一部によって構成されてもよい。
これによれば、学習済み生徒ニューラルネットワークSLを短時間でシンプルに生成することができる。
また、ニューラルネットワーク生成方法は、さらに、教師学習用データを用いて生徒ニューラルネットワークSを学習させるステップを含んでいてもよい。
これによれば、学習済み生徒ニューラルネットワークSLの信頼性を高めることができる。
(その他の実施の形態)
以上、本開示に係るニューラルネットワーク生成方法について、各実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、各実施の形態における一部の構成要素を組み合わせて構築される別の形態も、本開示の範囲内に含まれる。
実施の形態1の変形例1および実施の形態2の変形例1では、ニューラルネットワークの挙動の敏感さに応じて、係数を決める例を示したが、その方法だけに限られない。例えば、畳み込みニューラルネットワークの入力側は入力に依らない特徴抽出が主体であるため、出力側に近くなるほど挙動が敏感になる。そこで、ニューラルネットワークの出力側に近くなるほど係数が大きくなるように設定してもよい(例えばk1≦k2≦k3)。
また、以下に示す形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
(1)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(2)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
(3)また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(4)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本開示は、学習済み教師ニューラルネットワークを模倣して、学習済み生徒ニューラルネットワークを生成するニューラルネットワーク生成方法などに広く利用できる。
e1、e2、e3 誤差
p1、p2、p3、p4、p5、p6、p7、p8 分解位置
S 生徒ニューラルネットワーク
S1 第1層
S2 第2層
S3 第3層
SL 学習済み生徒ニューラルネットワーク
so、so1、so2、so3 生徒側出力
T1 第1サブネットワーク
T2 第2サブネットワーク
T3 第3サブネットワーク
TL 学習済み教師ニューラルネットワーク
Tr 参照用教師ニューラルネットワーク
to、to1,to2、to3 教師側出力
v 評価値
W1、W2、W3 重みデータ

Claims (13)

  1. コンピュータによって実行されるニューラルネットワーク生成方法であって、
    M層(Mは3以上の整数)によって構成される学習済み教師ニューラルネットワーク、および、M層より少ないN層(Nは2以上の整数)によって構成される生徒ニューラルネットワークを準備する準備ステップと、
    前記学習済み教師ニューラルネットワークをN個のサブネットワークに分解する分解ステップと、
    前記N個のサブネットワークに分解した前記学習済み教師ニューラルネットワーク、および、前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記生徒ニューラルネットワークを学習させることで学習済み生徒ニューラルネットワークを生成する学習ステップと、
    を含み、
    前記分解ステップは、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変える、複数のグループ分けパターンを有し、
    前記学習ステップは、
    (1)前記N個のサブネットワークごとの出力であるN個の教師側出力と、前記生徒ニューラルネットワークのN層の層ごとの出力であるN個の生徒側出力とを入力層から出力層へ向かって処理順に対応付け、
    (2)複数のグループ分けパターンを有する前記学習済み教師ニューラルネットワークと、前記生徒ニューラルネットワークとによる複数の組み合わせの中から、対応付けたN個の前記教師側出力とN個の前記生徒側出力とのそれぞれの誤差に基づく評価値が最も小さくなるときの当該学習済み教師ニューラルネットワークと前記生徒ニューラルネットワークとの組み合わせを選択し、
    (3)選択後の前記生徒ニューラルネットワークに基づいて当該生徒ニューラルネットワークのN層のそれぞれの重みデータを決定することで、前記学習済み生徒ニューラルネットワークを生成する
    ニューラルネットワーク生成方法。
  2. 前記評価値は、N個の前記教師側出力とN個の前記生徒側出力とのそれぞれの前記誤差であるN個の誤差に対し、前記N個の誤差のそれぞれに対応する係数を乗じ、合算した値である
    請求項に記載のニューラルネットワーク生成方法。
  3. さらに、
    前記学習済み教師ニューラルネットワークのそれぞれの層に対応する重みデータにノイズを加えたノイズ付き重みデータを有する参照用教師ニューラルネットワークを準備するステップと、
    前記参照用教師ニューラルネットワークをN個のサブネットワークに分解するステップと、
    前記学習済み教師ニューラルネットワークおよび前記参照用教師ニューラルネットワークに基づいて、前記N個の誤差のそれぞれに対応する前記係数を導出するステップと、
    を含み、
    前記係数を導出するステップは、
    前記学習済み教師ニューラルネットワークおよび前記参照用教師ニューラルネットワークのそれぞれに前記データセットを入力し、前記学習済み教師ニューラルネットワークおよび前記参照用教師ニューラルネットワークの対応する各層の出力間のロス値を用いて、N個の前記サブネットワークごとの前記ロス値の前記ノイズによる変動分の合計値を求め、前記合計値の大小関係に基づいて前記係数を導出する
    請求項に記載のニューラルネットワーク生成方法。
  4. 前記学習ステップにおいて、前記教師側出力および前記生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記誤差を求める
    請求項1~3のいずれか1項に記載のニューラルネットワーク生成方法。
  5. 前記教師ニューラルネットワークは教師学習用データを用いて学習され、
    前記データセットは、前記教師学習用データの一部によって構成される
    請求項1~3のいずれか1項に記載のニューラルネットワーク生成方法。
  6. さらに、
    前記教師学習用データを用いて前記生徒ニューラルネットワークを学習させるステップを含む
    請求項に記載のニューラルネットワーク生成方法。
  7. コンピュータによって実行されるニューラルネットワーク生成方法であって、
    M層(Mは3以上の整数)によって構成される学習済み教師ニューラルネットワーク、および、M層より少ないN層(Nは2以上の整数)によって構成される生徒ニューラルネットワークを準備する準備ステップと、
    前記学習済み教師ニューラルネットワークを、入力側から順に少なくとも第1サブネットワークと第2サブネットワークとを含むように分解する分解ステップと、
    前記第1サブネットワークおよび前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記第1サブネットワークの出力である第1の教師側出力と、前記生徒ニューラルネットワークの第1層の出力である第1の生徒側出力との誤差に基づく第1の誤差が小さくなるように前記生徒ニューラルネットワークを学習させることで前記第1層の重みデータを決定する第1決定ステップと、
    前記第1サブネットワークおよび前記第2サブネットワークで構成される部分ニューラルネットワーク、ならびに、前記第1決定ステップで決定した重みデータを有する第1層および前記第1層の後段に位置する第2層を含む前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記第2サブネットワークの出力である第2の教師側出力と、前記第2層の出力である第2の生徒側出力との誤差に基づく第2の誤差が小さくなるように前記生徒ニューラルネットワークを学習させることで前記第2層の重みデータを決定する第2決定ステップと、
    を含み、
    前記分解ステップにおいて、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変えることで、前記第1サブネットワークおよび前記第2サブネットワークはそれぞれ複数のグループ分けパターンを有し、
    前記第1決定ステップは、複数のグループ分けパターンを有する前記第1サブネットワークと、前記生徒ニューラルネットワークの第1層とによる複数の組み合わせの中から、前記第1の誤差が最も小さくなるときの前記第1サブネットワークと前記生徒ニューラルネットワークの第1層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第1層に基づいて前記第1層の重みデータを決定し、
    前記第2決定ステップは、前記第1の誤差が最も小さくなるときの前記第1サブネットワークおよび複数のグループ分けパターンを有する前記第2サブネットワークで構成される複数の部分ニューラルネットワークと、前記生徒ニューラルネットワークの第1層および第2層とによる組み合わせの中から、前記第2の誤差が最も小さくなるときの当該部分ニューラルネットワークと前記生徒ニューラルネットワークの第1層および第2層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第2層に基づいて前記第2層の重みデータを決定する
    ニューラルネットワーク生成方法。
  8. 前記第1決定ステップにおいて、前記第1の教師側出力および前記第1の生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記第1の誤差を求め、
    前記第2決定ステップにおいて、前記第2の教師側出力および前記第2の生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記第2の誤差を求める
    請求項に記載のニューラルネットワーク生成方法。
  9. 前記分解ステップは、前記第2サブネットワークの後段に位置する第3サブネットワークを含み、
    さらに、前記第2決定ステップの後に実行される第3決定ステップを含み、
    前記第3決定ステップは、
    前記第1サブネットワーク、前記第2サブネットワークおよび前記第3サブネットワークで構成される部分ニューラルネットワーク、ならびに、前記第1決定ステップで決定した前記重みデータを有する前記第1層、前記第2決定ステップで決定した前記重みデータを有する前記第2層および前記第2層の後段に位置する第3層を含む前記生徒ニューラルネットワークのそれぞれにデータセットを入力し、前記第3サブネットワークの出力である第3の教師側出力と、前記生徒ニューラルネットワークの第3層の出力である第3の生徒側出力との誤差に基づく第3の誤差が小さくなるように前記生徒ニューラルネットワークを学習させることで前記第3層の重みデータを決定する
    請求項に記載のニューラルネットワーク生成方法。
  10. 前記分解ステップにおいて、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変えることで、前記第1サブネットワークおよび前記第2サブネットワークはそれぞれ複数のグループ分けパターンを有し、
    前記第1決定ステップは、複数のグループ分けパターンを有する前記第1サブネットワークと、前記生徒ニューラルネットワークの第1層とによる複数の組み合わせの中から、前記第1の誤差が最も小さくなるときの前記第1サブネットワークと前記生徒ニューラルネットワークの第1層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第1層に基づいて前記第1層の重みデータを決定し、
    前記第2決定ステップは、前記第1の誤差が最も小さくなるときの前記第1サブネットワークおよび複数のグループ分けパターンを有する前記第2サブネットワークで構成される複数の部分ニューラルネットワークと、前記生徒ニューラルネットワークの第1層および第2層とによる組み合わせの中から、前記第2の誤差が最も小さくなるときの当該部分ニューラルネットワークと前記生徒ニューラルネットワークの第1層および第2層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第2層に基づいて前記第2層の重みデータを決定し、
    さらに、前記分解ステップにおいて、前記学習済み教師ニューラルネットワークを分解する際の分解位置を変えることで、前記第3サブネットワークが複数のグループ分けパターンを有する場合に、
    前記第3決定ステップは、
    前記第1の誤差が最も小さくなるときの前記第1サブネットワーク、第2の誤差が最も小さくなるときの第2サブネットワーク、および、複数のグループ分けパターンを有する前記第3サブネットワークで構成される複数の部分ニューラルネットワークと、前記生徒ニューラルネットワークの第1層、第2層および第3層とによる組み合わせの中から、前記第3の誤差が最も小さくなるときの当該部分ニューラルネットワークと前記生徒ニューラルネットワークの第1層、第2層および第3層との組み合わせを選択し、選択後の前記生徒ニューラルネットワークの第3層に基づいて前記第3層の重みデータを決定する
    請求項に記載のニューラルネットワーク生成方法。
  11. 前記第1決定ステップにおいて、前記第1の教師側出力および前記第1の生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記第1の誤差を求め、
    前記第2決定ステップにおいて、前記第2の教師側出力および前記第2の生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記第2の誤差を求め、
    前記第3決定ステップにおいて、前記第3の教師側出力および前記第3の生徒側出力の一方の特徴マップのサイズを他方の特徴マップのサイズに合わせて変換した後にロス計算を行い、前記第3の誤差を求める
    請求項9または10に記載のニューラルネットワーク生成方法。
  12. 前記教師ニューラルネットワークは教師学習用データを用いて学習され、
    前記データセットは、前記教師学習用データの一部によって構成される
    請求項7、9、10のいずれか1項に記載のニューラルネットワーク生成方法。
  13. さらに、
    前記教師学習用データを用いて前記生徒ニューラルネットワークを学習させるステップを含む
    請求項12に記載のニューラルネットワーク生成方法。
JP2024516053A 2022-04-22 2022-04-22 ニューラルネットワーク生成方法 Active JP7838638B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/018619 WO2023203775A1 (ja) 2022-04-22 2022-04-22 ニューラルネットワーク生成方法

Publications (2)

Publication Number Publication Date
JPWO2023203775A1 JPWO2023203775A1 (ja) 2023-10-26
JP7838638B2 true JP7838638B2 (ja) 2026-04-01

Family

ID=88419482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024516053A Active JP7838638B2 (ja) 2022-04-22 2022-04-22 ニューラルネットワーク生成方法

Country Status (3)

Country Link
US (1) US20250036951A1 (ja)
JP (1) JP7838638B2 (ja)
WO (1) WO2023203775A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086738A (ja) 2018-11-21 2020-06-04 沖電気工業株式会社 情報処理装置および情報処理方法
US20220076136A1 (en) 2020-09-09 2022-03-10 Peyman PASSBAN Method and system for training a neural network model using knowledge distillation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086738A (ja) 2018-11-21 2020-06-04 沖電気工業株式会社 情報処理装置および情報処理方法
US20220076136A1 (en) 2020-09-09 2022-03-10 Peyman PASSBAN Method and system for training a neural network model using knowledge distillation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WANG, Hui, et al.,Progressive Blockwise Knowledge Distillation for Neural Network Acceleration,Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence,[online],2018年,pp.2769-2775, [retrieved on 2022.07.06] ,Retrieved from <https://www.ijcai.org/proceedings/2018/0384.pdf>

Also Published As

Publication number Publication date
US20250036951A1 (en) 2025-01-30
WO2023203775A1 (ja) 2023-10-26
JPWO2023203775A1 (ja) 2023-10-26

Similar Documents

Publication Publication Date Title
CN113554156B (zh) 基于注意力机制与可变形卷积的多任务图像处理方法
US11741362B2 (en) Training neural networks using mixed precision computations
CN113902926A (zh) 一种基于自注意力机制的通用图像目标检测方法和装置
CN113906450B (zh) 量子电路模拟
CN110244689A (zh) 一种基于判别性特征学习方法的auv自适应故障诊断方法
JP2017182320A (ja) 機械学習装置
CN118838195B (zh) 一种多源数据驱动的混合半实物仿真系统及方法
CN117709258A (zh) 基于图神经网络的路径时序预测方法
CN112414715A (zh) 基于混合特征与改进灰度共生算法的轴承故障诊断方法
CN114580525A (zh) 一种面向含缺失数据的手势动作分类方法
CN119089941A (zh) 一种基于Vision Transformer神经网络的硬件友好的剪枝方法
JP3247803B2 (ja) ファジィ・ニューラルネットワーク・システム
JP7838638B2 (ja) ニューラルネットワーク生成方法
US6922712B2 (en) Apparatus, methods, and computer program products for accurately determining the coefficients of a function
CN119783218B (zh) 一种索网结构初始预应力分布计算方法及系统
CN115860113B (zh) 一种自对抗神经网络模型的训练方法及相关装置
KR20210084115A (ko) 3차원 포인트 클라우드 신뢰도 판단 시스템 및 방법
CN114707400B (zh) 一种基于cfd的降阶模型获取破损船舶rao曲线的方法
Bal et al. JMASM 55: MATLAB Algorithms and Source Codes of'cbnet'Function for Univariate Time Series Modeling with Neural Networks (MATLAB)
JP7533933B2 (ja) ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、及びコンピュータプログラム
CN116483633A (zh) 一种数据增广方法及相关装置
JP2023149501A (ja) 機能推定方法および機能推定プログラム
Hao et al. Evolutionary neural network-based method for constructing surrogate model with small scattered dataset and monotonicity experience
CN119990052B (zh) 一种基于强化学习的模拟ic版图布线顺序优化与布线方法
CN116230112B (zh) 一种基于子结构图卷积的分子特征提取方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260302

R150 Certificate of patent or registration of utility model

Ref document number: 7838638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150