WO2022153739A1 - 機械学習装置、機械学習方法、および機械学習プログラム - Google Patents

機械学習装置、機械学習方法、および機械学習プログラム Download PDF

Info

Publication number
WO2022153739A1
WO2022153739A1 PCT/JP2021/045340 JP2021045340W WO2022153739A1 WO 2022153739 A1 WO2022153739 A1 WO 2022153739A1 JP 2021045340 W JP2021045340 W JP 2021045340W WO 2022153739 A1 WO2022153739 A1 WO 2022153739A1
Authority
WO
WIPO (PCT)
Prior art keywords
filters
task
filter
learning
weights
Prior art date
Application number
PCT/JP2021/045340
Other languages
English (en)
French (fr)
Inventor
晋吾 木田
英樹 竹原
尹誠 楊
Original Assignee
株式会社Jvcケンウッド
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 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Priority to EP21919628.4A priority Critical patent/EP4280115A1/en
Priority to CN202180074116.8A priority patent/CN116806341A/zh
Publication of WO2022153739A1 publication Critical patent/WO2022153739A1/ja
Priority to US18/349,195 priority patent/US20230376763A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Definitions

  • the present invention relates to a machine learning technique.
  • CNN convolutional neural network
  • Patent Document 1 discloses a learning device that allows two or more learning modules to share model parameters updated by a plurality of learning modules.
  • PackNet which is one method of continuous learning, can avoid the fatal forgetting problem.
  • PackNet there is a problem that the number of filters of the model is limited, and as new tasks are learned, the filters are saturated, so that the number of tasks that can be learned is limited.
  • the present invention has been made in view of such a situation, and an object of the present invention is to provide a machine learning technique capable of alleviating the saturation of a filter.
  • the machine learning device of an embodiment of the present embodiment includes a weight storage unit that stores the weights of a plurality of filters used for task feature detection, and the plurality of weight storage units for the input task.
  • the continuous learning unit that continuously learns the weights of the filters and the continuous learning of a predetermined number of epochs
  • the weights of the filters that have learned the task and the weights of the filters that are learning the task are compared, and the similarity of the weights is determined.
  • Includes a filter control unit that extracts duplicate filters that are equal to or greater than the threshold value of as a shared filter between tasks.
  • a continuous learning step of continuously learning the weights of a plurality of filters used for task feature detection, and a filter in which the task has been learned after the continuous learning of a predetermined number of epochs. Includes a step of comparing the weights of the filters that are learning the tasks with the weights of the filters that are learning the tasks, and extracting duplicate filters whose weight similarity is equal to or greater than a predetermined threshold as a shared filter between tasks.
  • 1 (a) to 1 (e) are diagrams for explaining continuous learning as a prerequisite technique. It is a block diagram of the machine learning apparatus which concerns on embodiment. 3 (a) to 3 (e) are diagrams for explaining continuous learning by the machine learning device of FIG. It is a figure explaining the operation of the filter control part of the machine learning apparatus of FIG. It is a flowchart explaining the continuous learning procedure by the machine learning apparatus of FIG.
  • FIGS. 1 (a) to 1 (e) are diagrams for explaining continuous learning by PackNet, which is a prerequisite technique.
  • PackNet the weights of multiple filters of the model are learned for a given task.
  • a plurality of filters of each layer of the convolutional neural network are arranged and illustrated in a grid pattern.
  • the PackNet learning process proceeds in the following steps (A) to (E).
  • FIG. 1A shows the initial state of the filter after learning task 1. All filters have learned Task 1 and are shown in black.
  • FIG. 1B shows the final state of the filter after learning task 1. The initialized filter is shown in white in color.
  • FIG. 1C shows the initial state of the filter after learning task 2. All of the filters shown in white in FIG. 1 (b) have learned Task 2 and are shaded in FIG. 1 (c).
  • step (D) In the same manner as in step (B), the filters are arranged in descending order of the weight value of the diagonal line filter learned in task 2, and the values of 60% of the total filters are initialized in order from the filter having the smallest weight value. .. FIG. 1D shows the final state of the filter after learning task 2. The initialized filter is shown in white in color.
  • FIG. 1 (e) shows the initial state of the filter after learning the task 3. All of the filters shown in white in FIG. 1 (d) have learned task 3 and are shown in horizontal stripes in FIG. 1 (e).
  • the PackNet filter will be saturated someday. However, the speed at which the filter saturates can be slowed down. Therefore, in the present embodiment, in the process of learning the current task, a duplicate filter having a high degree of similarity in weight is extracted as a shared filter between tasks, and one of the duplicate filters is left as a shared filter and shared. Initialize the weight of the filter other than the filter to 0 and exclude it from the learning target of the current task. As a result, the number of filters that can be learned by the new task can be increased, the saturation rate of the filter can be relaxed, and the number of tasks that can be learned can be increased.
  • FIG. 2 is a configuration diagram of the machine learning device 100 according to the embodiment.
  • the machine learning device 100 includes an input unit 10, a continuous learning unit 20, a filter processing unit 30, a filter control unit 40, a weight storage unit 50, an inference unit 60, and an output unit 70.
  • the input unit 10 supplies a supervised task to the continuous learning unit 20, and supplies an unknown task to the inference unit 60.
  • the task is image recognition.
  • task 1 is recognition of a cat
  • task 2 is recognition of a specific object in an image such as recognition of a dog.
  • the weight storage unit 50 stores the weights of a plurality of filters used for task feature detection. By passing an image through a number of filters, you can capture the characteristics of that image.
  • the continuous learning unit 20 continuously learns the weights of the plurality of filters of the weight storage unit 50 for the input supervised task, and stores the updated filter weights in the weight storage unit 50.
  • the filter control unit 40 After the continuous learning unit 20 has learned the current task by a predetermined number of epochs, the filter control unit 40 has the weights of the plurality of filters learning the current task and the weights of the plurality of filters after learning the past task. The weights are compared, and duplicate filters whose weight similarity is equal to or greater than a predetermined threshold are extracted as a shared filter between tasks. Since the model is a multi-layered convolutional neural network, the similarity of the weights of multiple filters is calculated in each layer. The filter control unit 40 leaves one of the overlapping filters as a shared filter, initializes the weights of filters other than the shared filter, and stores them in the weight storage unit 50. The duplicate filter whose weights are initialized is excluded from the learning target of the current task and used as the learning target of the next task.
  • the predetermined number of epochs is, for example, 10 times. It is desirable that the filter control unit 40 initializes a similar filter after the learning is stabilized to some extent. The number and time until learning stabilizes depends on the task. Therefore, it is preferable to adjust the number of epochs from the relationship between loss and accuracy.
  • the loss is the error between the output value by the neural network and the correct answer given by the teacher data
  • the accuracy is the correct answer rate of the output value by the neural network.
  • a predetermined number of epochs is adjusted.
  • the loss is below a certain level (for example, 0.75 or less)
  • Accuracy is above a certain level (for example, 0.75 or above)
  • the conditions of both (1) and (2) above are satisfied.
  • the filter processing unit 30 locks the weight so that a predetermined ratio of filters among the plurality of filters after learning one task is not used in learning another task, and the other filters are learned in another task. Initialize the weights for use in. For example, the filters are arranged in descending order of weight, lock the weights of 40% of the filters from the largest, and initialize the weights so that the remaining 60% of the filters can be used for learning another task.
  • the continuous learning unit 20 continuously learns the initialized weight of the filter for a new task.
  • the inference unit 60 infers the input unknown task using the weight of the filter stored in the weight storage unit 50.
  • the output unit 70 outputs the inference result by the inference unit 60.
  • 3 (a) to 3 (e) are diagrams for explaining continuous learning by the machine learning device 100 of FIG.
  • a plurality of filters in each layer of the convolutional neural network are shown side by side in a grid pattern, and (i, j) refers to the filters in the i-th row and the j-th column.
  • the learning process of the machine learning device 100 proceeds in the following steps (A) to (E).
  • FIG. 3A shows the initial state of the filter after learning the task 1. All filters have learned Task 1 and are shown in black.
  • FIG. 3B shows the final state of the filter after learning task 1. The initialized filter is shown in white in color.
  • FIG. 3C shows the initial state of the filter after learning task 2.
  • the filters that have learned task 2 are shown by diagonal lines in FIG. 3 (c).
  • the filters initialized in the learning process of task 2 and excluded from the learning target are shown in white in FIG. 3 (c).
  • the (1,1) filter and the (1,5) filter are initialized in the learning process of task 2, and can be used in new tasks after that.
  • step (D) In the same manner as in step (B), the filters are arranged in descending order of the weight value of the diagonal line filter learned in task 2, and the values of 60% of the total filters are initialized in order from the filter having the smallest weight value. .. FIG. 3D shows the final state of the filter after learning task 2. The initialized filter is shown in white in color.
  • FIG. 3 (E) Further, learn task 3.
  • the filter control unit 40 determines that the filter used in task 3 is a filter similar to the filter in which task 1 has been learned (black) or the filter in which task 2 has been learned (diagonal line).
  • the filter is initialized and controlled to be excluded from the learning target of task 3.
  • FIG. 3 (e) shows the initial state of the filter after learning the task 3.
  • the filters that have learned task 3 are shown by horizontal stripes in FIG. 3 (e).
  • the filters initialized in the learning process of task 3 and excluded from the learning target are shown in white in FIG. 3 (e).
  • the (1,1) filter, the (1,5) filter, and the (2,2) filter are initialized in the learning process of the task 3, and can be used in new tasks thereafter.
  • FIG. 4 is a diagram illustrating the operation of the filter control unit 40 of the machine learning device 100 of FIG.
  • the filter control unit 40 When learning the filter weights in backpropagation (error backpropagation method), which is a supervised learning method of a neural network, the filter control unit 40 sets the filter weights of a task that is currently learning and has learned a predetermined number of epochs. Compare with the filter weight of the learned task, and if it is similar, initialize the filter weight of the task currently being learned and exclude it from the learning target of the current task.
  • backpropagation error backpropagation method
  • the model has multiple layers, comparison is performed within each layer. For example, there are 128 filters on one layer. Among them, 51 filters have learned task 1, 30 filters are learning task 2, and if the remaining filters are initialized, 51 filters for task 1 and 30 filters for task 2 are initialized. Calculate the similarity of the filters in.
  • the degree of similarity is calculated by comparing the absolute values of the weight values of the filters. For example, in the case of a 3x3 filter, the absolute values of nine weights are compared.
  • the threshold value is set. When the similarity exceeds the threshold value, it is determined that the two filters overlap, the weight of the filter of the task 2 is initialized to 0, and the weight of the filter of the task 2 is excluded from the learning target of the subsequent task 2.
  • the difference between the absolute values of the values at the same position between the two filters A and B is, for example, d 1 (A, Calculate as B), d 2 (A, B), d ⁇ (A, B), dm (A, B).
  • the similarity of the filters is calculated by calculating the difference between the absolute values of the values at the same position between the two filters, but the similarity may be calculated by another method.
  • the weight is described as one element in the filter, and in the case of the 3 ⁇ 3 filter in FIG. 4, it is described as one cell in the matrix, but the weight is set in the filter unit, that is, in the matrix unit. You may catch it.
  • the filter weight of learning task N + 1 is initialized to 0. do. As a result, the limited filter can be fully utilized.
  • FIG. 5 is a flowchart illustrating a continuous learning procedure by the machine learning device 100 of FIG.
  • the input unit 10 inputs the current supervised task to the continuous learning unit 20 (S10).
  • the continuous learning unit 20 continuously learns the weights of a plurality of filters for the current task by a predetermined number of epochs (S20).
  • the filter control unit 40 compares the filter that is learning the current task with the filter that has learned the past task, and calculates the similarity of the weights (S30).
  • the filter control unit 40 initializes the learning filter of the current task, which has a high degree of similarity to the learned filter of the past task (S40).
  • step S50 When the learning of the current task is completed (Y in S50), the process proceeds to step S60, and when the learning of the current task is continued (N in S50), the process returns to step S20.
  • the filter processing unit 30 initializes a predetermined ratio of filters in order from the one having the smallest weight of the plurality of filters that have learned the current task (S60).
  • step S10 If there are still tasks, return to step S10 and enter the next task (N in S70). If there is no next task, continuous learning ends (Y in S70).
  • the various processes of the machine learning device 100 described above can be realized as a device using hardware such as a CPU and a memory, and can be stored in a ROM (read-only memory), a flash memory, or the like. It can also be realized by the firmware and software such as a computer.
  • the firmware program and software program can be recorded and provided on a recording medium that can be read by a computer or the like, transmitted to and received from a server via a wired or wireless network, or transmitted and received as data broadcasting of terrestrial or satellite digital broadcasting. Is also possible.
  • the saturation rate of the filter of the continuous learning model can be relaxed, and the filter can be efficiently used to learn more tasks.
  • the present invention can be used for machine learning techniques.
  • 10 input unit 20 continuous learning unit, 30 filter processing unit, 40 filter control unit, 50 weight storage unit, 60 inference unit, 70 output unit, 100 machine learning device.

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)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

重み記憶部(50)は、タスクの特徴検出に用いられる複数のフィルタの重みを記憶する。継続学習部(20)は、入力されるタスクに対して複数のフィルタの重みを継続学習する。フィルタ制御部(40)は、所定のエポック数の継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出し、重複フィルタの内、一つのフィルタを共用フィルタとして残し、共用フィルタ以外のフィルタの重みを初期化する。

Description

機械学習装置、機械学習方法、および機械学習プログラム
 本発明は、機械学習技術に関する。
 人間は長期にわたる経験を通して新しい知識を学習することができ、昔の知識を忘れないように維持することができる。一方、畳み込みニューラルネットワーク(Convolutional Neural Network(CNN))の知識は学習に使用したデータセットに依存しており、データ分布の変化に適応するためにはデータセット全体に対してCNNのパラメータの再学習が必要となる。CNNでは、新しいタスクについて学習していくにつれて、昔のタスクに対する推定精度は低下していく。このようにCNNでは連続学習を行うと新しいタスクの学習中に昔のタスクの学習結果を忘れてしまう致命的忘却(catastrophic forgetting)が避けられない。
 致命的忘却を回避する手法として、継続学習(incremental learningまたはcontinual learning)が提案されている。継続学習の一つの手法としてPackNetがある。
 特許文献1には、複数の学習モジュールが更新したモデルパラメータを2以上の学習モジュールに共有させる学習装置が開示されている。
特開2010-20446号公報
 継続学習の一つの手法であるPackNetは、致命的忘却問題を回避することができる。しかし、PackNetでは、モデルのフィルタ数に限りがあり、新しいタスクを学習していくと、フィルタが飽和するため、学習可能なタスク数に制限があるという問題があった。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、フィルタの飽和を緩和することができる機械学習技術を提供することにある。
 上記課題を解決するために、本実施形態のある態様の機械学習装置は、タスクの特徴検出に用いられる複数のフィルタの重みを記憶する重み記憶部と、入力されるタスクに対して前記複数のフィルタの重みを継続学習する継続学習部と、所定のエポック数の前記継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出するフィルタ制御部とを含む。
 本実施形態の別の態様は、機械学習方法である。この方法は、入力されるタスクに対して、タスクの特徴検出に用いられる複数のフィルタの重みを継続学習する継続学習ステップと、所定のエポック数の前記継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出するステップとを含む。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本実施形態によれば、フィルタの飽和を緩和することができる機械学習技術を提供することができる。
図1(a)~図1(e)は、前提技術となる継続学習を説明する図である。 実施の形態に係る機械学習装置の構成図である。 図3(a)~図3(e)は、図2の機械学習装置による継続学習を説明する図である。 図2の機械学習装置のフィルタ制御部の動作を説明する図である。 図2の機械学習装置による継続学習手順を説明するフローチャートである。
 図1(a)~図1(e)は、前提技術となるPackNetによる継続学習を説明する図である。PackNetでは与えられたタスクに対してモデルの複数のフィルタの重みが学習される。ここでは、畳み込みニューラルネットワークの各層の複数のフィルタを格子状に並べて図示する。
 PackNetの学習プロセスは下記の(A)~(E)のステップで進められる。
 (A)モデルがタスク1を学習する。図1(a)は、タスク1の学習後のフィルタの初期状態を示す。すべてのフィルタはタスク1を学習済みで、色が黒で示される。
 (B)各フィルタの重みの値の大きい順にフィルタを並べ、重みの値が小さいフィルタから順に全体の60%のフィルタの値を初期化する。図1(b)は、タスク1の学習後のフィルタの最終状態を示す。初期化されたフィルタは色が白で示される。
 (C)次に、タスク2を学習する。このステップにおいて、図1(b)の黒色のフィルタの重みの値がロックされ、重みの値を変更できるのは白色のフィルタだけである。図1(c)は、タスク2の学習後のフィルタの初期状態を示す。図1(b)の白で示されたフィルタのすべてはタスク2を学習済みで、図1(c)において斜線で示される。
 (D)ステップ(B)と同様に、タスク2を学習した斜線のフィルタの重みの値の大きい順にフィルタを並べ、重みの値が小さいフィルタから順に全体の60%のフィルタの値を初期化する。図1(d)は、タスク2の学習後のフィルタの最終状態を示す。初期化されたフィルタは色が白で示される。
 (E)さらに、タスク3を学習する。このステップにおいて、図1(d)の黒色と斜線のフィルタの重みの値がロックされ、重みの値を変更できるのは白色のフィルタだけである。図1(e)は、タスク3の学習後のフィルタの初期状態を示す。図1(d)の白で示されたフィルタのすべてはタスク3を学習済みで、図1(e)において横縞で示される。
 このようにPackNetの学習プロセスによると、このままタスクNまで学習していくと、初期化された白のフィルタの数がどんどん少なくなり、飽和する。フィルタが飽和すると、新しいタスクを学習できなくなる。
 PackNetのフィルタがいつか飽和することは回避することができない。しかし、フィルタが飽和するスピードを緩めることはできる。そこで、本実施の形態では、現在のタスクを学習する過程で、重みの類似度が高い重複フィルタをタスク間の共用フィルタとして抽出し、重複フィルタの内、一つのフィルタを共用フィルタとして残し、共用フィルタ以外のフィルタの重みを0に初期化し、現在のタスクの学習対象から除外する。これにより、新しいタスクで学習できるフィルタを増やし、フィルタの飽和速度を緩和し、学習できるタスクの数を増やすことができる。
 図2は、実施の形態に係る機械学習装置100の構成図である。機械学習装置100は、入力部10、継続学習部20、フィルタ処理部30、フィルタ制御部40、重み記憶部50、推論部60、および出力部70を含む。
 入力部10は、教師付きのタスクを継続学習部20に供給し、未知タスクを推論部60に供給する。ここでは、一例としてタスクは画像認識である。たとえば、タスク1は猫の認識、タスク2は犬の認識といった画像における特定の物体の認識である。
 重み記憶部50は、タスクの特徴検出に用いられる複数のフィルタの重みを記憶する。画像をいくつものフィルタに通すことで、その画像の特徴を捉えることができる。
 継続学習部20は、入力される教師付きタスクに対して重み記憶部50の複数のフィルタの重みを継続学習し、更新されたフィルタの重みを重み記憶部50に保存する。
 継続学習部20が現在のタスクの学習を所定のエポック数だけ行った後、フィルタ制御部40は、現在のタスクを学習中の複数のフィルタの重みと過去のタスクを学習後の複数のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出する。モデルは多層の畳み込みニューラルネットワークであるため、各層において複数のフィルタの重みの類似度を算出する。フィルタ制御部40は、重複フィルタの内、一つのフィルタを共用フィルタとして残し、共用フィルタ以外のフィルタの重みを初期化し、重み記憶部50に保存する。重みが初期化された重複フィルタは、現在のタスクの学習対象から除外され、次のタスクの学習対象として利用される。
 ここで、所定のエポック数は、たとえば10回である。学習がある程度安定してから、フィルタ制御部40が類似するフィルタを初期化することが望ましい。学習が安定するまでの回数や時間は、タスクによって異なる。そのため、損失(Loss)と正確さ(Accuracy)の関係からエポック数を調整することが好ましい。ここで、損失は、ニューラルネットワークによる出力値と教師データの与える正解との誤差であり、正確さは、ニューラルネットワークによる出力値の正答率である。
 たとえば、学習が安定していることを、下記いずれかの条件を用いて判断し、所定のエポック数を調整する。
(1)損失が一定以下である(たとえば0.75以下)
(2)正確さが一定以上である(たとえば0.75以上)
(3)上記の(1)および(2)の両方の条件を満たす
 フィルタ処理部30は、1つのタスクを学習後の複数のフィルタの内、所定の割合のフィルタを別のタスクの学習で用いないように重みをロックし、それ以外のフィルタを別のタスクの学習で用いるために重みを初期化する。たとえば、フィルタの重みの大きい順にフィルタを並べ、重みの大きい方から40%のフィルタの重みをロックし、残りの60%のフィルタを別のタスクの学習で用いるために重みを初期化する。
 継続学習部20は、新しいタスクに対してフィルタの初期化された重みを継続学習する。
 推論部60は、重み記憶部50に保存されたフィルタの重みを用いて、入力された未知タスクに対して推論する。出力部70は、推論部60による推論結果を出力する。
 図3(a)~図3(e)は、図2の機械学習装置100による継続学習を説明する図である。畳み込みニューラルネットワークの各層の複数のフィルタを格子状に並べて図示しており、(i,j)は、第i行、第j列のフィルタを指す。
 機械学習装置100の学習プロセスは下記の(A)~(E)のステップで進められる。
 (A)モデルがタスク1を学習する。図3(a)は、タスク1の学習後のフィルタの初期状態を示す。すべてのフィルタはタスク1を学習済みで、色が黒で示される。
 (B)各フィルタの重みの値の大きい順にフィルタを並べ、重みの値が小さいフィルタから順に全体の60%のフィルタの値を初期化する。図3(b)は、タスク1の学習後のフィルタの最終状態を示す。初期化されたフィルタは色が白で示される。
 (C)次に、タスク2を学習する。このステップにおいて、図3(b)の黒色のフィルタの重みの値がロックされ、重みの値を変更できるのは白色のフィルタだけである。タスク2の学習過程で、フィルタ制御部40は、タスク2で使用するフィルタがタスク1を学習済みのフィルタ(黒色)と類似するフィルタであった場合、そのフィルタを初期化して、タスク2の学習対象から除外するように制御する。図3(c)は、タスク2の学習後のフィルタの初期状態を示す。図3(b)の白で示されたフィルタの内、タスク2を学習済みのフィルタは、図3(c)において斜線で示される。図3(b)の白で示されたフィルタの内、タスク2の学習過程で初期化され、学習対象から除外されたフィルタは、図3(c)において白で示される。ここでは、(1,1)フィルタ、(1,5)フィルタがタスク2の学習過程で初期化され、それ以降の新しいタスクで利用可能となる。
 (D)ステップ(B)と同様に、タスク2を学習した斜線のフィルタの重みの値の大きい順にフィルタを並べ、重みの値が小さいフィルタから順に全体の60%のフィルタの値を初期化する。図3(d)は、タスク2の学習後のフィルタの最終状態を示す。初期化されたフィルタは色が白で示される。
 (E)さらに、タスク3を学習する。このステップにおいて、図3(d)の黒色および斜線のフィルタの重みの値がロックされ、重みの値を変更できるのは白色のフィルタだけである。タスク3の学習過程で、フィルタ制御部40は、タスク3で使用するフィルタがタスク1を学習済みのフィルタ(黒色)またはタスク2を学習済みのフィルタ(斜線)と類似するフィルタであった場合、そのフィルタを初期化して、タスク3の学習対象から除外するように制御する。図3(e)は、タスク3の学習後のフィルタの初期状態を示す。図3(d)の白で示されたフィルタの内、タスク3を学習済みのフィルタは、図3(e)において横縞で示される。図3(d)の白で示されたフィルタの内、タスク3の学習過程で初期化され、学習対象から除外されたフィルタは、図3(e)において白で示される。ここでは、(1,1)フィルタ、(1,5)フィルタ、(2,2)フィルタがタスク3の学習過程で初期化され、それ以降の新しいタスクで利用可能となる。
 以降、タスクNまで同様の学習プロセスを実行することで、学習過程においてタスク間のフィルタの重複を解消し、フィルタの飽和を緩和し、学習可能なタスク数を増やすことができる。
 図4は、図2の機械学習装置100のフィルタ制御部40の動作を説明する図である。
 フィルタ制御部40は、ニューラルネットワークの教師付き学習方法であるバックプロパゲーション(誤差逆伝搬法)におけるフィルタの重みの学習時に、現在学習中で所定のエポック数を学習済みのタスクのフィルタの重みを学習済タスクのフィルタの重みと比較し、類似する場合、現在学習中のタスクのフィルタの重みを初期化し、現在のタスクの学習対象から除外する。
 モデルには複数のレイヤがあるため、比較は各レイヤ内で行う。例えば、一つのレイヤにフィルタが128個ある。この中に、タスク1を学習済みのフィルタが51個、タスク2を学習中のフィルタが30個、残りのフィルタは初期化されている場合、タスク1の51個のフィルタとタスク2の30個のフィルタの類似度を算出する。
 類似度は、フィルタの重みの値の絶対値を比較することによって算出する。たとえば、3×3のフィルタの場合、9個の重みの絶対値を比較する。ここで、閾値を設定する。類似度が閾値を上回ると、二つのフィルタは重複していると判定され、タスク2のフィルタの重みを0に初期化し、以降のタスク2の学習対象から除外する。
 フィルタAの各要素をaij、フィルタBの各要素をbijとした場合、二つのフィルタA、B間で同じ位置にある値の絶対値の差を、たとえば次式のd(A,B)、d(A,B)、d(A,B)、d(A,B)のように計算する。
Figure JPOXMLDOC01-appb-M000001
 上記の説明では、フィルタの類似度は、二つのフィルタ間で同じ位置にある値の絶対値の差を計算することによって算出したが、これ以外の方法で類似度を算出してもよい。たとえば、各フィルタについて、フィルタ絶対差分和SADを水平方向絶対差分和SAD_Hと垂直方向絶対差分和SAD_Vの和として、SAD=SAD_H+SAD_Vにより求める。フィルタAのフィルタ絶対差分和SAD_AとフィルタBのフィルタ絶対差分和SAD_Bの差が閾値より小さいなら、フィルタAとフィルタBは重複していると判定してもよい。ここで、3×3のフィルタの第1行の要素をa1、a2、a3、第2行の要素をa4、a5、a6、第3行の要素をa7、a8、a9とした場合、水平方向絶対差分和SAD_Hと垂直方向絶対差分和SAD_Vは次式で与えられる。
 SAD_H=|a1-a2|+|a2-a3|+|a4-a5|+|a5-a6|+|a7-a8|+|a8-a9|
 SAD_V=|a1-a4|+|a2-a5|+|a3-a6|+|a4-a7|+|a5-a8|+|a6-a9|
 また、別の類似度の算出方法として、ユークリッド距離やコサイン距離の比較を用いてもよい。
 フィルタの重みの類似度が高ければ、そのフィルタはタスク間において特徴が同じか差がないということになり、重複フィルタを保持する必要はない。そこで片方のフィルタについては初期化して、別のタスクの学習に用いる。なお、ここでは、重みをフィルタの中にある1要素、図4の3×3のフィルタの場合、マトリクスのうちの1つのセルであるとして説明したが、フィルタ単位、つまりマトリクスの単位で重みを捉えてもよい。
 より一般的には、タスクNの性能を最大限に維持するため、学習済みタスクNと学習中タスクN+1の間に重複したフィルタがある場合、学習中タスクN+1のフィルタの重みを0に初期化する。これにより、限られたフィルタを最大限に利用することができる。
 図5は、図2の機械学習装置100による継続学習手順を説明するフローチャートである。
 入力部10は、現在の教師付きタスクを継続学習部20に入力する(S10)。
 継続学習部20は、所定のエポック数だけ現在のタスクに対して複数のフィルタの重みを継続学習する(S20)。
 フィルタ制御部40は、現在のタスクを学習中のフィルタと、過去のタスクを学習済みのフィルタとを比較し、重みの類似度を算出する(S30)。
 フィルタ制御部40は、過去のタスクの学習済みのフィルタと類似度が高い現在のタスクの学習中のフィルタを初期化する(S40)。
 現在のタスクの学習が終了すると(S50のY)、ステップS60に進み、現在のタスクの学習を引き続き行う場合(S50のN)、ステップS20に戻る。
 フィルタ処理部30は、現在のタスクを学習した複数のフィルタの重みの小さいものから順に所定の割合のフィルタを初期化する(S60)。
 まだタスクがある場合、ステップS10に戻り、次のタスクを入力する(S70のN)。次のタスクがない場合、継続学習を終了する(S70のY)。
 以上説明した機械学習装置100の各種の処理は、CPUやメモリ等のハードウェアを用いた装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバと送受信することも、地上波あるいは衛星ディジタル放送のデータ放送として送受信することも可能である。
 以上述べたように、本実施の形態の機械学習装置100によれば、継続学習モデルのフィルタの飽和速度を緩和し、フィルタを効率的に利用してより多くのタスクを学習することができる。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 本発明は、機械学習技術に利用できる。
 10 入力部、 20 継続学習部、 30 フィルタ処理部、 40 フィルタ制御部、 50 重み記憶部、 60 推論部、 70 出力部、 100 機械学習装置。

Claims (6)

  1.  タスクの特徴検出に用いられる複数のフィルタの重みを記憶する重み記憶部と、
     入力されるタスクに対して前記複数のフィルタの重みを継続学習する継続学習部と、
     所定のエポック数の前記継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出するフィルタ制御部とを含むことを特徴とする機械学習装置。
  2.  前記フィルタ制御部は、前記重複フィルタの内、一つのフィルタを前記共用フィルタとして残し、前記共用フィルタ以外のフィルタの重みを初期化することを特徴とする請求項1に記載の機械学習装置。
  3.  前記継続学習部は、別のタスクに対して前記共用フィルタ以外のフィルタの初期化された重みを継続学習することを特徴とする請求項2に記載の機械学習装置。
  4.  前記所定のエポック数は、学習モデルの出力値と教師データの与える正解の誤差である損失の変化率または学習モデルの出力値の正答率である正確さの変化率に関する条件にもとづいて決定されることを特徴とする請求項1から3のいずれかに記載の機械学習装置。
  5.  入力されるタスクに対して、タスクの特徴検出に用いられる複数のフィルタの重みを継続学習する継続学習ステップと、
     所定のエポック数の前記継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出するステップとを含むことを特徴とする機械学習方法。
  6.  入力されるタスクに対して、タスクの特徴検出に用いられる複数のフィルタの重みを継続学習する継続学習ステップと、
     所定のエポック数の前記継続学習の後、タスクを学習済みのフィルタの重みとタスクを学習中のフィルタの重みを比較し、重みの類似度が所定の閾値以上である重複フィルタをタスク間の共用フィルタとして抽出するステップとをコンピュータに実行させることを特徴とする機械学習プログラム。
PCT/JP2021/045340 2021-01-13 2021-12-09 機械学習装置、機械学習方法、および機械学習プログラム WO2022153739A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21919628.4A EP4280115A1 (en) 2021-01-13 2021-12-09 Machine learning device, machine learning method, and machine learning program
CN202180074116.8A CN116806341A (zh) 2021-01-13 2021-12-09 机器学习装置、机器学习方法以及机器学习程序
US18/349,195 US20230376763A1 (en) 2021-01-13 2023-07-10 Machine learning device, machine learning method, and non-transitory computer-readable recording medium having embodied thereon a machine learning program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021003241A JP2022108332A (ja) 2021-01-13 2021-01-13 機械学習装置、機械学習方法、および機械学習プログラム
JP2021-003241 2021-01-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/349,195 Continuation US20230376763A1 (en) 2021-01-13 2023-07-10 Machine learning device, machine learning method, and non-transitory computer-readable recording medium having embodied thereon a machine learning program

Publications (1)

Publication Number Publication Date
WO2022153739A1 true WO2022153739A1 (ja) 2022-07-21

Family

ID=82448344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/045340 WO2022153739A1 (ja) 2021-01-13 2021-12-09 機械学習装置、機械学習方法、および機械学習プログラム

Country Status (5)

Country Link
US (1) US20230376763A1 (ja)
EP (1) EP4280115A1 (ja)
JP (1) JP2022108332A (ja)
CN (1) CN116806341A (ja)
WO (1) WO2022153739A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020446A (ja) 2008-07-09 2010-01-28 Sony Corp 学習装置、学習方法、およびプログラム
JP2017037392A (ja) * 2015-08-07 2017-02-16 トヨタ自動車株式会社 ニューラルネットワーク学習装置
JP2018055259A (ja) * 2016-09-27 2018-04-05 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020446A (ja) 2008-07-09 2010-01-28 Sony Corp 学習装置、学習方法、およびプログラム
JP2017037392A (ja) * 2015-08-07 2017-02-16 トヨタ自動車株式会社 ニューラルネットワーク学習装置
JP2018055259A (ja) * 2016-09-27 2018-04-05 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARUN MALLYA; SVETLANA LAZEBNIK: "PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning", ARXIV.ORG, 15 November 2017 (2017-11-15), pages 1 - 9, XP081288833 *

Also Published As

Publication number Publication date
EP4280115A1 (en) 2023-11-22
JP2022108332A (ja) 2022-07-26
US20230376763A1 (en) 2023-11-23
CN116806341A (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
US9619749B2 (en) Neural network and method of neural network training
US8015130B2 (en) Information processing apparatus, information processing method, pattern recognition apparatus, and pattern recognition method
JP4532915B2 (ja) パターン認識用学習方法、パターン認識用学習装置、画像入力装置、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
Madhavan et al. Deep learning architectures
US20200125930A1 (en) Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis
CN115485697A (zh) 用于适应性缩放的人工神经网络中的非均匀正则化
Zhang et al. Spiking echo state convolutional neural network for robust time series classification
CN111104831B (zh) 一种视觉追踪方法、装置、计算机设备以及介质
CN111079790A (zh) 一种构建类别中心的图像分类方法
Henderson et al. Spike event based learning in neural networks
CN110335466B (zh) 交通流量预测方法和设备
WO2022153739A1 (ja) 機械学習装置、機械学習方法、および機械学習プログラム
JP7047778B2 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラム
WO2022153738A1 (ja) 機械学習装置、機械学習方法、および機械学習プログラム
Vijayakumar et al. Local dimensionality reduction for locally weighted learning
Geldibayev et al. Use of convolutional neural network algorithm in object detection
Rajapakse et al. Multi sensor data fusion within hierarchical neural networks
JP2022114065A (ja) 機械学習装置、機械学習方法、および機械学習プログラム
KR102539876B1 (ko) 인공지능 기술을 이용한 적층형 저항 변화 메모리 소자의 계층 최적화 시스템 및 그 방법
JP6942204B2 (ja) データ処理システムおよびデータ処理方法
Suri et al. Methods for maintenance of neural networks in continual learning scenarios
Langer Distributed deep learning in bandwidth-constrained environments
JP4258268B2 (ja) 多層ニューラルネットワーク学習方法
Nicolau et al. Aspects of image compression using neural networks for visual servoing in robot control
JP2022101164A (ja) 学習方法、情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21919628

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180074116.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021919628

Country of ref document: EP

Effective date: 20230814