WO2025215751A1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法、及び情報処理プログラムInfo
- Publication number
- WO2025215751A1 WO2025215751A1 PCT/JP2024/014449 JP2024014449W WO2025215751A1 WO 2025215751 A1 WO2025215751 A1 WO 2025215751A1 JP 2024014449 W JP2024014449 W JP 2024014449W WO 2025215751 A1 WO2025215751 A1 WO 2025215751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- model
- information processing
- arithmetic
- processing device
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
Definitions
- the present invention relates to an information processing device, an information processing method, and an information processing program for training a machine learning model.
- the objective of this invention is to perform task arithmetic between different models.
- the information processing device of the present invention is characterized by having a reading unit that reads a first model and task vectors of multiple models different from the first model, and a task arithmetic unit that performs task arithmetic using the first model and the result of converting the task vector according to the first model.
- task arithmetic can be performed between different models.
- FIG. 1 is an image diagram of a permutation transform.
- FIG. 2 is an image diagram of the learning process when the step size is infinitesimal.
- FIG. 3 is a diagram illustrating a method for obtaining continuous information in the learning process.
- FIG. 4 is a diagram illustrating an example of the configuration of the information processing apparatus according to the first embodiment.
- FIG. 5 is a flowchart showing an outline of a learning transfer process executed by the information processing apparatus of the first embodiment.
- FIG. 6 is a diagram illustrating an example of an algorithm.
- FIG. 7 is a flowchart illustrating the algorithm.
- FIG. 8 is a diagram for explaining an overview of task arithmetic.
- FIG. 9 is a conceptual diagram of task arithmetic according to the first embodiment.
- FIG. 10 is a flowchart illustrating the processing procedure of task arithmetic according to the first embodiment.
- FIG. 11 is a conceptual diagram of task arithmetic according to the second embodiment.
- FIG. 12 is a flowchart illustrating a processing procedure of task arithmetic according to the second embodiment.
- FIG. 13 is a diagram illustrating an example of the configuration of a computer that executes an information processing program.
- the information processing apparatus performs learning of a machine learning model using, for example, a deep neural network (DNN).
- DNN deep neural network
- the information processing device performs learning transfer between models and task arithmetic. For example, the information processing device performs learning transfer to execute task arithmetic. However, the information processing device may obtain the results of learning transfer from another device, etc., and perform task arithmetic using the obtained results. Therefore, the information processing device does not need to be equipped with a learning transfer function.
- SGD stochastic gradient descent
- NN f(x;W 1 , ..., W L ) of the L layer of the DNN has degrees of freedom of permutation symmetry.
- ⁇ 1 , ..., ⁇ L-1 the relationship shown in the following formula (1) holds.
- the permutation matrix is, for example, a permutation matrix as shown in equation (2).
- the information processing device can handle the permutation of intermediate dimensions in the neural network.
- the learning process for parameter ⁇ 2 can be obtained inductively from the learning process for parameter ⁇ 1.
- the learning process for parameter ⁇ 2 can be obtained by the following equation (4).
- the information processing device of this embodiment finds a permutation transformation ⁇ that satisfies the relationship in equation (3) above for any t.
- ⁇ ⁇ 2 2 is the L 2 norm of the vector.
- the information processing device solves the optimization problem P T by approximating each difference ⁇ i t - ⁇ i t-1 by the gradient with respect to the loss function L of the data set D.
- the gradient includes a linear gradient - ⁇ i t-1 L and a quadratic gradient - ⁇ 2 ⁇ i t-1 L.
- each optimization problem P' t is inductively defined as shown in the following equation (7) using the solution ⁇ t- 1 of P' t-1 .
- the model parameters are updated step by step. At each step, a portion of data from dataset D is input into the model, and the parameters are updated.
- the first-order gradient is obtained as a value corresponding to each step, it can be considered discrete information of the learning process.
- the second-order gradient can be considered continuous information of the learning process.
- the information processing device of this embodiment determines the permutation transform ⁇ using continuous information of the learning process. This allows the information processing device to determine the permutation transform ⁇ with greater accuracy than, for example, when using only discrete information. As a result, the accuracy of learning transfer is improved.
- the continuous information of the learning process is not limited to a quadratic gradient.
- the continuous information of the learning process may be a higher-order gradient of quadratic or higher order.
- the quadratic gradient in this embodiment may be replaced with a higher-order gradient as appropriate.
- the information processing device calculates the quadratic gradient based on the learning process.
- the information processing device can approximately calculate the quadratic gradient by assuming that the step size is infinitesimal.
- the learning rate ⁇ corresponds to the step size and is infinitesimal ( ⁇ ⁇ 0).
- Figure 3 is a diagram explaining a method for obtaining continuous information of the learning process.
- the information processing device obtains the linear gradient of the learning process of the first step of model P1 and the linear gradient of the learning process of the first step of model P2 using (a).
- the information processing device approximates the parameters at the second step (i.e., the step size is infinitesimal) in the direction of the obtained linear gradient as shown in (b) or (b').
- the information processing device obtains the quadratic gradient of the first step of the learning process of model P1 and the linear gradient of the first step of the learning process of model P2 .
- the information processing device 10 includes, for example, an input/output unit 11, a storage unit 12, and a control unit 13.
- the input/output unit 11 is an interface that controls the input and output of various data.
- the memory unit 12 stores data, programs, etc. that are referenced when the control unit 13 executes various processes.
- the memory unit 12 is realized by semiconductor memory elements such as RAM (Random Access Memory) or flash memory, or by storage devices such as hard disks or optical disks.
- the control unit 13 is responsible for overall control of the information processing device 10.
- the functions of the control unit 13 are realized, for example, by the CPU (Central Processing Unit) executing a program stored in the memory unit 12.
- the control unit 13 includes, for example, an input reception unit 131, a reading unit 132, a calculation unit 133, an output processing unit 134, and a task arithmetic unit 136.
- the information generation unit 135, indicated by a dashed line, may or may not be included; cases in which it is included will be described later.
- the calculation unit 133 compares and minimizes partial learning processes up to the tth one, where t ⁇ T , using a permutation transformation ⁇ t ⁇ 1 that minimizes the distance of partial learning processes up to the t ⁇ 1th one.
- the calculation unit 133 can use continuous information of the learning process.
- the calculation unit 133 determines a transformation method for the first learning process so as to reduce the degree of deviation between the continuous information of the first learning process when the parameters of the first model are learned using a dataset and the continuous information of the second learning process of the second model obtained by transforming the first learning process.
- the transformation method is, for example, permutation transformation ⁇ .
- the degree of deviation is, for example, the distance between the learning processes.
- the continuous information of the learning process is, for example, a quadratic gradient.
- the calculation unit 133 can determine a transformation method for the first learning process that simultaneously minimizes the distance between the linear gradient of the first learning process and the linear gradient of the second learning process, and the distance between the quadratic gradient of the first learning process and the quadratic gradient of the second learning process.
- the calculation unit 133 can approximately determine the quadratic gradient by assuming an infinitesimal step size. That is, based on the linear gradient of the first model and the linear gradient of the second model in the first step of the first learning process and the second learning process, the calculation unit 133 approximates the linear gradient of the first model and the linear gradient of the second model in the second step, which is the step after the first step when the step size is infinitesimal, and then determines the quadratic gradient of the first model and the quadratic gradient of the second model in the first step based on the approximation result.
- the first step and the second step correspond to the first and second steps in Figure 2, respectively.
- the calculation unit 133 calculates ⁇ (permutation transformation) that satisfies the relationship shown in the above-mentioned equation (3) for any t (S3).
- FIG. 6 An example of an algorithm used when the information processing device executes the above-mentioned learning transfer process is shown in FIG. 6.
- ⁇ t is a permutation transform.
- the algorithm shown in FIG. 6 will be explained using the flowchart shown in FIG. 7.
- the calculation unit 133 substitutes the linear gradient of the mini-batch at parameter ⁇ 1 s-1 into g 1 s , the linear gradient of the mini-batch at parameter ⁇ 2 s-1 into g 2 s , the quadratic gradient of the mini-batch at parameter ⁇ 1 s-1 into h 1 s , and the quadratic gradient of the mini-batch at parameter ⁇ 2 s-1 into h 2 s. Then, the calculation unit 133 adds 1 to s (S21) and returns to S19.
- the calculation unit 133 calculates the Hessian-vector product H i as shown in equation (8).
- P i is a parameter of model i
- L D is a loss function of dataset D
- G i is the learning process of model i.
- the calculation unit 133 introduces ⁇ , which represents a sufficiently small positive real number (infinitesimal), and calculates equation (8) approximately.
- the calculation unit 133 calculates equations (9) and (10) by back-propagation, and then calculates equation (11).
- the calculation unit 133 obtains H i ', which is approximated to H i .
- H i and H i ' are regarded as the same thing.
- the calculation unit 133 may approximately calculate H i ′′ instead of H i ′ as shown in equation (12).
- the calculation unit 133 performs optimization of the subproblem (S22).
- H i in the formula for the sum of squares in S22 may be replaced with the above-mentioned H i ' or H i ". That is, the calculation unit 133 solves, using a quadratic or linear optimization solver, a permutation transformation ⁇ that minimizes the sum of squares of the L2 distance of the mini-batch gradient shown in the following formula (13), and substitutes the result for the variable ⁇ .
- the information processing device 10 includes an information generation unit 135 (see FIG. 4 ).
- FIG. 8 is a diagram illustrating an overview of task arithmetic.
- Model P0 in FIG. 8 is a base model to which task vectors are added.
- task vectors M1T1 - P1 , ..., M1Tn - Pn corresponding to n base models from model P1 to model Pn (where n is an integer equal to or greater than 2) are added to model P0 using task arithmetic.
- task arithmetic is performed when it is desired to use model P0 instead of models P1 to Pn .
- model P0 is assumed to have superior performance, such as generalization performance and robustness performance , compared to models P1 to Pn .
- the task vector is a vector obtained by subtracting the parameters (e.g., P1 ) of the model before task-specific learning, i.e., the base model, from the parameters (e.g., M1T1 ) of the model after task- specific learning. Therefore, task arithmetic can be rephrased as addition and subtraction between vectors representing model parameters or learning processes. Note that the parameters of a model may be simply referred to as a model.
- the permutation transformation obtained in the learning transfer.
- the method for obtaining permutation transformations between models is as described above. That is, the task arithmetic unit 136 performs task arithmetic using the result of permutation transformation of the task vector through learning transfer that minimizes the distance between the learning process of model P0 and the task vector, and the first model.
- the permutation transformation may be obtained by a method other than that of this embodiment.
- the task arithmetic unit 136 can obtain the model M0 by adding each task vector to which the permutation transformation has been applied to the model P0 . In this way, the task arithmetic unit 136 performs task arithmetic using the model P0 and the result of transforming the task vector according to the model P0 .
- Example 1 A first embodiment of task arithmetic performed by the task arithmetic unit 136 will be described. As shown in Fig. 9, in the first embodiment, the task arithmetic unit 136 performs task arithmetic using permutation transformations obtained between model P0 and models P1 and P2 .
- the reading unit 132 reads task vectors V1 , ..., Vn for a base model P0 and a plurality of other base models P1 , ..., Pn (S31).
- the task arithmetic unit 136 assigns 1 to i (S32).
- the task arithmetic unit 136 calculates the permutation transform ⁇ i using the model P0 , weight ⁇ i , permutation transform ⁇ i , and task vector Vi for the model ⁇ Pi ( ⁇ immediately above P ) that assumes the result of task arithmetic (S33).
- the task arithmetic unit 136 can calculate the permutation transform ⁇ i using a method similar to the learning transfer described above.
- Example 2 A second embodiment of task arithmetic performed by the task arithmetic unit 136 will now be described.
- the task arithmetic unit 136 adds a task vector of another model to model P0 , and then adds a task vector of yet another model to the result of the addition, repeating this process.
- the reading unit 132 reads task vectors V1 , ..., Vn for a model P0 and a plurality of other base models P1 , ..., Pn (S41).
- the task arithmetic unit 136 assigns 1 to i (S42).
- the task arithmetic unit 136 also assigns P0 to ⁇ P0 (S43).
- the task arithmetic unit 136 calculates the permutation transform ⁇ i for the model ⁇ P i using the model P 0 , weight ⁇ i , permutation transform ⁇ i , and task vector V i (S44).
- the task arithmetic unit 136 can calculate the permutation transform ⁇ i in a manner similar to the learning transfer described above.
- the task arithmetic unit 136 adds ⁇ i ⁇ i V i to ⁇ P 0 (S45). In this way, ⁇ i ⁇ i V i is added to ⁇ P 0 every time the value of i increases.
- the task arithmetic unit 136 adds 1 to i (S47), and returns to S44 to repeat the process.
- the output processing unit 134 outputs ⁇ P0 (S48).
- the task arithmetic unit 136 sets the model P0 as the initial value (S43), and then sequentially (S47) performs a process of updating the initial value for each task vector by adding the result of conversion according to the initial value to the initial value (S45).
- the task arithmetic unit 136 performs task arithmetic by treating the task vectors ⁇ 1 V 1 , ..., ⁇ n V n converted by ⁇ i as pseudo task vectors on P 0. This enables task arithmetic between different base models.
- Example 1 multiple transformations are calculated independently for each base model, so when arithmetic is performed on transformed task vectors, the transformed task vectors may interfere with each other and cause adverse effects.
- the task arithmetic unit 136 performs task vector conversion and task arithmetic in a way that prevents task vectors from interfering with each other.
- n 3 or greater and i is 3.
- ⁇ 2 ⁇ 2 V 2 and ⁇ 3 ⁇ 3 V 3 are simultaneously added to P 0 (S36 in FIG. 10 ), which may cause V 2 and V 3 to interfere with each other, making it impossible to properly specialize the base models for their respective tasks.
- mutual interference and adverse effects can be avoided when performing arithmetic on task vectors.
- each unit shown in the figure is conceptual functional units and do not necessarily have to be physically configured as shown.
- the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
- all or any part of the processing functions performed by each device can be realized by a CPU and a program executed by the CPU, or can be realized as hardware using wired logic.
- the information processing device 10 can be implemented by installing a program (information processing program) as package software or online software on a desired computer. For example, by executing the program on an information processing device, the information processing device can function as the information processing device 10.
- the information processing device referred to here includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as terminals such as PDAs (Personal Digital Assistants).
- FIG. 13 is a diagram showing an example of a computer that executes an information processing program.
- the computer 1000 has, for example, memory 1010 and a CPU 1020.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
- Memory 1010 includes ROM (Read Only Memory) 1011 and RAM (Random Access Memory) 1012.
- ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
- Hard disk drive interface 1030 is connected to hard disk drive 1090.
- Disk drive interface 1040 is connected to disk drive 1100.
- a removable storage medium such as a magnetic disk or optical disk is inserted into disk drive 1100.
- Serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
- Video adapter 1060 is connected to, for example, a display 1130.
- the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094.
- the programs that define the processes executed by the information processing device 10 are implemented as program modules 1093 in which computer-executable code is written.
- the program modules 1093 are stored, for example, on the hard disk drive 1090.
- a program module 1093 for executing processes similar to the functional configuration of the information processing device 10 is stored on the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- program data 1094 data used in the processing of the above-described embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090.
- the CPU 1020 reads the program modules 1093 and program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as needed and executes them.
- the program module 1093 and program data 1094 do not necessarily have to be stored on the hard disk drive 1090; they may instead be stored on a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like.
- the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a LAN (Local Area Network) or WAN (Wide Area Network)).
- the program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
- the information processing device includes the task arithmetic unit sets a first model to an initial value, and sequentially performs a process of updating the initial value for each of the task vectors by adding a result of conversion according to the initial value to the initial value.
- the processor The task arithmetic unit performs task arithmetic using the first model and a result of permutation transformation of the task vector through learning transfer such that a distance between the learning process of the first model and the task vector is minimized.
- a non-transitory storage medium storing a program executable by a computer, The program reading a first model and task vectors of a plurality of models different from the first model; performing task arithmetic using the first model and a result of converting the task vector according to the first model; The processing is executed by a computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
Abstract
読み込み部は、第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む。タスク算術部は、前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行う。
Description
本発明は、機械学習モデルの学習を行うための、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
昨今、基盤モデルのFine-Tuningにより、様々なタスクに特化したモデルが作られている。また、互いに異なるタスクに特化した複数のモデルに基づくタスクベクトルを、別の基盤モデルに足したり、別の基盤モデルから引いたりすることで、一つの基盤モデルに複数のタスク知識を学習させたり、基盤モデルにタスク知識を忘却させたりするタスク算術という技術が知られている(例えば、非特許文献1を参照)。
Gabriel Ilharco, Marco Tulio Ribeiro, Mitchell Wortsman, Suchin Gururangan, Ludwig Schmidt, Hannaneh Hajishirzi, Ali Farhadi, Editing Models with Task Arithmetic, [online], [2024年3月28日検索], インターネット<URL:https://arxiv.org/abs/2212.04089>
しかしながら、従来の技術では、互いに異なるモデル間でのタスク算術を実行できない場合があるという問題がある。例えば、2つの基盤モデルのパラメータが互いに一対一に対応していない場合、当該2つの基盤モデルの加算を正常に行うことは難しい。
そこで、本発明は、互いに異なるモデル間でのタスク算術を行うことを課題とする。
前記した課題を解決するため、本発明の情報処理装置は、第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み部と、前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行うタスク算術部と、を有することを特徴とする。
本発明によれば、互いに異なるモデル間でのタスク算術を行うことができる。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)を説明する。本発明は、実施形態に限定されない。
[第1の実施形態]
[概要]
まず、図1を参照しながら、第1の実施形態の情報処理装置の概要を説明する。情報処理装置は、例えば、DNN(Deep Neural Network)を用いた機械学習モデルの学習を行う。
[概要]
まず、図1を参照しながら、第1の実施形態の情報処理装置の概要を説明する。情報処理装置は、例えば、DNN(Deep Neural Network)を用いた機械学習モデルの学習を行う。
情報処理装置は、モデル間の学習転移、及びタスク算術を行う。例えば、情報処理装置は、タスク算術を実行するために学習転移を行う。ただし、情報処理装置は、学習転移の結果を他の装置等から取得し、取得した結果を用いてタスク算術を行ってもよい。このため、情報処理装置には、学習転移の機能が備わっていなくてもよい。
[モデルの学習及び学習転移の概要]
まず、モデルの学習及び学習転移について説明する。例えば、DNNの初期パラメータθ1 t=0に対して、SGD(確率的勾配降下法)によるデータセットDの学習過程(θ1 t=0,…,θ1 t=T)が与えられているとする。ここで情報処理装置は、新たな初期パラメータ(パラメータ初期値)θ2 t=0に対しデータセットDを学習する際、与えられたθ1の学習過程(θ1 t=0,…,θ1 t=T)をPermutation変換すると、θ2の学習過程(θ2 t=0,…,θ2 t=T)となるようなPermutation変換πを求める。そして、情報処理装置は、求めたPermutation変換πを用いることにより、初期パラメータθ2 t=0に対するデータセットDの学習過程(θ2 t=0,…,θ2 t=T)を計算する。これにより、(θ2 t=1,…,θ2 t=T)の計算時間を低減する。
まず、モデルの学習及び学習転移について説明する。例えば、DNNの初期パラメータθ1 t=0に対して、SGD(確率的勾配降下法)によるデータセットDの学習過程(θ1 t=0,…,θ1 t=T)が与えられているとする。ここで情報処理装置は、新たな初期パラメータ(パラメータ初期値)θ2 t=0に対しデータセットDを学習する際、与えられたθ1の学習過程(θ1 t=0,…,θ1 t=T)をPermutation変換すると、θ2の学習過程(θ2 t=0,…,θ2 t=T)となるようなPermutation変換πを求める。そして、情報処理装置は、求めたPermutation変換πを用いることにより、初期パラメータθ2 t=0に対するデータセットDの学習過程(θ2 t=0,…,θ2 t=T)を計算する。これにより、(θ2 t=1,…,θ2 t=T)の計算時間を低減する。
つまり、初期パラメータθ1
t=0に対するデータセットDの学習過程(θ1
t=0,…,θ1
t=T)にはデータセットDの学習に有用な情報が含まれていると考えられる。そこで、情報処理装置は、上記の情報を活用することにより、新たな初期パラメータθ2
t=0に対するデータセットDの学習を効率的に行う。これにより情報処理装置が、初期パラメータθ2
t=0に対しデータセットDを学習する過程(θ2
t=1,…,θ2
t=T)の計算時間を低減する。
[DNNのPermutation対称性]
次に、本実施形態の情報処理装置が行う学習における基本的考え方を説明する。DNNの一般的な性質として、DNNのL層のNN f(x;W1,…,WL)は、Permutation対称性の自由度を持つ。例えば、任意のPermutation行列σ1,…,σL-1に対して、以下の式(1)に示す関係となる。以下、DNNのパラメータθ=(W1,…,WL)に対してPermutation変換π=(σ1,…,σL-1)を適用した結果(式(1)の右辺)をπθと書き、これをθのπによるPermutation変換と呼ぶ。
次に、本実施形態の情報処理装置が行う学習における基本的考え方を説明する。DNNの一般的な性質として、DNNのL層のNN f(x;W1,…,WL)は、Permutation対称性の自由度を持つ。例えば、任意のPermutation行列σ1,…,σL-1に対して、以下の式(1)に示す関係となる。以下、DNNのパラメータθ=(W1,…,WL)に対してPermutation変換π=(σ1,…,σL-1)を適用した結果(式(1)の右辺)をπθと書き、これをθのπによるPermutation変換と呼ぶ。
なお、Permutation行列は、例えば、式(2)に示すような置換行列である。情報処理装置が、上記のようなPermutation行列を用いることで、NNにおける中間次元の入れ替え(Permutation)に対応することができる。
本実施形態において「パラメータθ1及びパラメータθ2の学習過程は、あるPermutation変換により近似的に一致する」と仮定する。言い換えると、任意のtについて以下の式(3)に示す関係を満たすPermutation変換π=(σ1,…,σL-1)が存在すると仮定する。
ここで式(3)に示す関係を満たすπが見つかれば、パラメータθ1の学習過程から帰納的にパラメータθ2の学習過程が得られる。つまり、以下の式(4)によりパラメータθ2の学習過程が得られる。
よって、本実施形態の情報処理装置は、任意のtについて上記の式(3)の関係を満たすPermutation変換πを求める。
[提案技術の定式化]
上記の議論により、求めたいPermutation変換πは、以下の式(5)に示す最適化問題PTの解と考えることができる。
上記の議論により、求めたいPermutation変換πは、以下の式(5)に示す最適化問題PTの解と考えることができる。
Given:θ1
t=0,…,θ1
t=T(θ1の学習過程)とθ2
t=0(θ2の初期値)
なお、式(5)における|| ||2
2はベクトルのL2ノルムである。
ところが、式(5)におけるθ2
tは(θ2
t=0を除いて)未知のパラメータであるため、上記の最適化問題PTは不完全な定式化である。そこで、情報処理装置は、各差分θi
t-θi
t-1をデータセットDのロス関数Lに対する勾配により近似した最適化問題PTを解く。勾配は、1次勾配である-∇θi
t-1L、及び2次勾配である-∇2θi
t-1Lを含む。これにより式(5)に示した最適化問題PTは、最終的に以下の式(6)のように定式化できる。
式(6)に示す最適化問題PTは入れ子構造のため(θ2,π
tにも未知変数πが含まれているため)直接解くことは難しく、工夫して解く必要がある。
そこで、情報処理装置は、上記の最適化問題PTの代わりに、線形最適化問題P´1,…,P´Tを順番に解き、帰納的に解π1,…,πT-1,πT=:πを求める。ここで各最適化問題P´tは、P´t-1の解πt-1を用いて、以下の式(7)のように帰納的に定義される。
上記の式(7)における各最適化問題P´tは、入れ子(where句)のない単純な2次最適化問題であり、また、Permutation変換は、パラメータベクトルのノルムを変えない。このことから各最適化問題P´tは線形最適化問題に帰着できる。このため、情報処理装置は、既存の線形最適化ソルバーを用いて解πtを計算できる。よって、情報処理装置が上記のように、解π1,…,πT-1,πTを順に求めることで、最後に得られるπTは上記の最適化問題PTの解に収束する。例えば、情報処理装置は、Hungarian法及び最適輸送を用いて最適化問題を解くことができる。
ここで、学習において、モデルのパラメータの更新はステップごとに行われる。各ステップでは、データセットDの一部のデータがモデルに入力され、また、パラメータの更新が行われる。
1次勾配は、各ステップに対応した値として得られるため、学習過程の離散的な情報ということができる。これに対し、2次勾配は、学習過程の連続的な情報ということができる。本実施形態の情報処理装置は、学習過程の連続的な情報を用いてPermutation変換πを求める。これにより、情報処理装置は、例えば離散的な情報のみを用いる場合と比べて、精度良くPermutation変換πを求めることができる。その結果、学習転移の精度が向上する。
なお、学習過程の連続的な情報は、2次勾配に限られない。例えば、学習過程の連続的な情報は、2次以上の高次勾配であってよい。本実施形態の2次勾配は、適宜高次勾配と置き換えられてもよい。
情報処理装置は、学習過程に基づき2次勾配を計算する。情報処理装置は、ステップサイズが無限小であると仮定して、二次勾配を近似的に計算することができる。
図2は、ステップサイズが無限小である場合の学習過程のイメージ図である。ここでは、情報処理装置は、データセットを用いた学習によりモデルP1がP1
t=2に変化する学習過程にPermutation変換πを適用し、同じデータセットを用いてモデルP2の学習が行われた際に得られるモデルP2
t=2を求めるものとする。
図2に示すように、1ステップ目の学習で、モデルP1はモデルP1
t=1に変化する。また、1ステップ目の学習で、モデルP2はモデルP2
t=1に変化する。また、2ステップ目の学習で、モデルP1
t=1はモデルP1
t=2に変化する。また、2ステップ目の学習で、モデルP2
t=1はモデルP2
t=2に変化する。ただし、学習率αはステップサイズに相当し、無限小(α→0)である。
モデルP1の学習過程をG1とし、モデルP2の学習過程をG2とすると、情報処理装置は、図3の(a)のように1ステップ目の学習過程を近似する。図3は、学習過程の連続的な情報を求める方法を説明する図である。情報処理装置は、(a)によりモデルP1の1ステップ目の学習過程の1次勾配、及びモデルP2の1ステップ目の学習過程の1次勾配を得る。
さらに、情報処理装置は、得られた1次勾配方向に無限小のステップサイズで1ステップ進んだ先(2ステップ目)のパラメータを、(b)又は(b´)のように近似する。情報処理装置は、(b)及び(b´)により、モデルP1の1ステップ目の学習過程の2次勾配、及びモデルP2の1ステップ目の学習過程の1次勾配を得る。
また、情報処理装置は、図3に示した1次勾配と2次勾配を、t=0のときのGradient Flow解の一階微分と二階微分同士の近似を求めてもよい。
[構成例]
次に、図4を用いて、情報処理装置10の構成例を説明する。情報処理装置10は、例えば、入出力部11、記憶部12、及び制御部13を備える。
次に、図4を用いて、情報処理装置10の構成例を説明する。情報処理装置10は、例えば、入出力部11、記憶部12、及び制御部13を備える。
入出力部11は、各種データの入出力を司るインタフェースである。入出力部11は、例えば、モデル1のパラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)、モデル2のパラメータθ2の初期値θ2
0、データセットD等の入力を受け付ける。
記憶部12は、制御部13が各種処理を実行する際に参照されるデータ、プログラム等を記憶する。記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。
例えば、記憶部12は、入出力部11で受け付けたパラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)、パラメータθ2の初期値θ2
t=0、データセットD等を記憶する。パラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)は、モデル1のパラメータθ1の初期値(θ1
t=0)とデータセットDを用いた確率的勾配降下法による学習過程におけるパラメータθ1の推移を示した情報である。
制御部13は、情報処理装置10全体の制御を司る。制御部13の機能は、例えば、CPU(Central Processing Unit)が、記憶部12に記憶されるプログラムを実行することにより実現される。
制御部13は、例えば、入力受付部131と、読み込み部132と、計算部133と、出力処理部134と、タスク算術部136と、を備える。破線で示す情報生成部135は、装備される場合と装備されない場合とがあり、装備される場合については後記する。
入力受付部131は、パラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)、パラメータθ2の初期値θ2
t=0、データセットDの入力を受け付け、記憶部12に格納する。
読み込み部132は、記憶部12からパラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)、パラメータθ2の初期値θ2
t=0を読み込む。
計算部133は、モデル1のパラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)をPermutation変換した結果と、モデル2のパラメータ初期値θ2
0及びデータセットDとを用いたパラメータθ2の学習過程(θ2
t=0,…,θ2
t=T)との距離を最小化するようなPermutation変換を求める。
ここで、計算部133は、パラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)、及びパラメータθ2の学習過程(θ2
t=0,…,θ2
t=T)における各差分θi
t-θi
t-1をデータセットDのロス関数Lに対する勾配の値(-∇θi
t-1L)に近似することにより、前記距離を最小化するようなPermutation変換を求める(最適化問題PTを解く)。
また、計算部133は、前記距離を最小化するようなPermutation変換を求めるため、パラメータθ1の学習過程(θ1
t=0,…,θ1
t=T)をPermutation変換した値と、パラメータθ2の学習過程(θ2
t=0,…,θ2
t=T)との距離を最小化するようなPermutation変換を求める処理を、学習過程の順に実行する。
例えば、計算部133は、パラメータθの学習過程の過程数をTとしたときに、全ての過程を同時に比較して前記距離(学習過程全体の距離)を最小化する代わりに、t≦Tであるようなt番目までの部分的な学習過程を比較して最小化するPermutation変換πtを、t-1番目までの部分的な学習過程の距離を最小化するPermutation変換πt-1を用いて求める。計算部133は、このような処理をt=1からt=Tまで帰納的に繰り返し、最後に求めたPermutation変換πTによって、学習過程全体の距離を最小化する。
そして、計算部133は、上記の処理により求めたPermutation変換を用いて計算した、パラメータθ2の学習過程(θ2
t=0,…,θ2
t=T)を返す。
また、計算部133は、Permutation変換を求める際に、学習過程の連続的な情報を用いることができる。すなわち、計算部133は、データセットを用いて第1のモデルのパラメータの学習を行ったときの第1の学習過程の連続的な情報と、第1の学習過程を変換して得られた第2のモデルの第2の学習過程の連続的な情報と、の間のかい離度合いが小さくなるように、第1の学習過程の変換方法を求める。変換方法は、例えばPermutation変換πである。また、かい離度合いは、例えば学習過程間の距離である。
学習過程の連続的な情報は、例えば2次勾配である。計算部133は、第1の学習過程の1次勾配と、第2の学習過程の1次勾配と、の間の距離、及び第1の学習過程の2次勾配と、第2の学習過程の2次勾配と、の間の距離が同時に最小化されるような、第1の学習過程の変換方法を求めることができる。
また、計算部133は、無限小のステップサイズを仮定し、近似的に2次勾配を求めることができる。すなわち、計算部133は、第1の学習過程及び第2の学習過程の第1のステップにおける第1のモデルの1次勾配と第2のモデルの1次勾配とを基に、ステップサイズが無限小である場合の第1のステップの次のステップである第2のステップにおける第1のモデルの1次勾配と第2のモデルの1次勾配を近似により求めることにより、近似の結果に基づき、第1のステップにおける第1のモデルの2次勾配と第2のモデルの2次勾配とを求める。例えば、第1のステップ及び第2のステップは、それぞれ図2の1ステップ目及び2ステップ目に相当する。
出力処理部134は、計算部133により計算されたパラメータθ2の学習過程(θ2
t=0,…,θ2
t=T)における最終過程のパラメータの値(θ2
t=T)を出力する。
[学習転移の処理手順の例]
次に、図5を用いて、情報処理装置10が実行する学習転移の処理手順の例を説明する。
次に、図5を用いて、情報処理装置10が実行する学習転移の処理手順の例を説明する。
まず、情報処理装置10の読み込み部132は、モデル1の学習過程(θ1
t=0,…,θ1
t=T)を読み込む(S1)。また、読み込み部132は、モデル2のパラメータ初期値θ2
t=0を読み込む(S2)。次に、計算部133は、任意のtについて、前記した式(3)に示す関係を満たすπ(Permutation変換)を求める(S3)。
S3の後、計算部133は、S3で求めたπ(Permutation変換)により計算した、モデル2の学習過程(θ2
t=0,…,θ2
t=T)を返す(S4)。その後、出力処理部134は、モデル2のパラメータの学習の最終過程の値(θ2
t=T)を出力する(S5)。
[学習転移のアルゴリズムの例]
情報処理装置が上記の学習転移の処理を実行する際に用いるアルゴリズムの例を、図6に示す。なお、図6において、θi t=sをθi sと略記している。また、πtは、Permutation変換である。図6に示すアルゴリズムを、図7に示すフローチャートを用いて説明する。
情報処理装置が上記の学習転移の処理を実行する際に用いるアルゴリズムの例を、図6に示す。なお、図6において、θi t=sをθi sと略記している。また、πtは、Permutation変換である。図6に示すアルゴリズムを、図7に示すフローチャートを用いて説明する。
まず、情報処理装置10の読み込み部132は、記憶部12からモデル1の学習過程をロードする。例えば、読み込み部132は、記憶部12からモデル1の長さTの学習過程(θ1
t=0,…,θ1
t=T)を読み込む(S11)。また、読み込み部132は、記憶部12からモデル2のパラメータ初期値θ2
t=0を読み込む(S12)。
次に、計算部133は、モデル2の学習過程を格納する変数(θ2
t=1,…,θ2
t=T)を全てゼロベクトルで初期化する(S13)。そして、「NNの各中間層の成分を入れ替える置換変換」を格納する変数πを用意する(S14)。また、計算部133は、ループインデックスtを0で初期化する(S15)。
S15の後、t=Tでなければ(S16でNo)、計算部133は、ミニバッチ勾配を格納する変数g1
1,…,g1
t、g2
1,…,g2
t、h1
1,…,h1
t、及びh2
1,…,h2
tを用意し(S17)、ループインデックスsを0で初期化する(S18)。その後、s=tでなければ(S19でNo)、計算部133は、ミニバッチ勾配を計算する(S20)。例えば、計算部133は、g1
sにパラメータθ1
s-1におけるミニバッチの1次勾配を代入し、g2
sにパラメータθ2
s-1におけるミニバッチの1次勾配を代入し、h1
sにパラメータθ1
s-1におけるミニバッチの2次勾配を代入し、h2
sにパラメータθ2
s-1におけるミニバッチの2次勾配を代入する。その後、計算部133は、sに1を足し(S21)、S19に戻る。
ここで、S20における、ミニバッチの2次勾配の求め方を説明する。計算部133は、式(8)のようにHessian-vector積Hiを求める。ただし、Piはモデルiのパラメータである。また、LDはデータセットDのロス関数である。また、Giはモデルiの学習過程である。
その際、各モデルについて式(8)の右辺を別々に計算すると、計算量がO((パラメータ数)2)と膨大になる。そこで、計算部133は、十分小さな正の実数(無限小)を表すαを導入し、近似的に式(8)を計算する。まず、計算部133は、式(9)及び式(10)をback-propagationで計算し、さらに式(11)を計算する。
これにより、計算部133は、Hiと近似されたHi´を得る。HiとHi´は同一視される。
また、計算部133は、Hi´の代わりに、Hi´´を式(12)のように近似的に計算してもよい。
一方、S19においてs=tであれば(S19でYes)、計算部133は、部分問題の最適化を行う(S22)。なお、S22の二乗和の式におけるHiは、前述のHi´又はHi´´に置き換えられてもよい。すなわち、計算部133は、以下の式(13)に示すミニバッチ勾配のL2距離の二乗和を最小化する置換変換πを、2次最適化又は線形最適化ソルバーにより求解し、変数πに代入する。
S22の後、計算部133は、ループインデックスsを0で初期化する(S23)。その後、s=tでなければ(S24でNo)、計算部133は、モデル2の学習過程を更新する(S25)。すなわち、計算部133は、パラメータθ2
sに、θ2
s-1+π(θ1
s-θ1
s-1)を代入する。その後、計算部133は、sに1を足し(S26)、S24に戻る。
一方、S24においてs=tであれば(S24でYes)、計算部133は、tに1を足し(S27)、S16に戻る。S16において、計算部133は、t=Tであれば(S16でYes)、モデル2の学習過程(θ2
t=1,…,θ2
t=T)を返す(S28)。その後、出力処理部134は、モデル2の学習過程(θ2
t=1,…,θ2
t=T)のうち、最終過程のパラメータ(θ2
t=T)を出力する。
情報処理装置10が上記の処理を実行することで、モデル2の学習後のパラメータ(θ2
t=T)を計算することができる。
[第1の実施形態の学習転移に関する変形例]
なお、情報処理装置10は、記憶部12に、モデル1の長さTの学習過程(θ1 t=0,…,θ1 t=T)を保持する代わりに、2つのパラメータ(例えば、パラメータ初期値θ1 t=0,学習の最終過程のパラメータ値θ1 t=T)を保持してもよい。
なお、情報処理装置10は、記憶部12に、モデル1の長さTの学習過程(θ1 t=0,…,θ1 t=T)を保持する代わりに、2つのパラメータ(例えば、パラメータ初期値θ1 t=0,学習の最終過程のパラメータ値θ1 t=T)を保持してもよい。
この場合、情報処理装置10は情報生成部135(図4参照)を備える。情報生成部135は、記憶部12に保持されるモデル1のパラメータθ1の初期値θ1
t=0と、パラメータθ1の最終過程の値θ1
t=Tから、モデル1の学習の中間過程(θ1
t=1,…,θ1
t=T-1)を線形補間する。例えば、情報生成部135は、θ1
tを以下の式(14)により計算することにより、モデル1の長さTの学習過程(θ1
t=0,…,θ1
t=T)を示す情報を生成する。
これにより情報処理装置10は、記憶部12に保持するパラメータθ1の数を低減することができるので、ストレージコストを低減することができる。
[タスク算術]
まず、図8を用いて、タスク算術の概要を説明する。図8は、タスク算術の概要を説明する図である。図8のモデルP0は、タスクベクトルが足される(加算される)基盤モデルである。ここでは、モデルP1からモデルPnまでのn個(ただし、nは2以上の整数)の基盤モデルのそれぞれに対応するタスクベクトルM1 T1-P1,…, M1 Tn-Pnをタスク算術によりモデルP0に足すことを考える。なお、このようなタスク算術は、モデルP1からモデルPnまでの代わりに、モデルP0を使用することが希望される場合に行われる。例えば、モデルP0は、モデルP1からモデルPnまでに比べて、汎化性能、及びロバスト性能といった性能が優れているものとする。
まず、図8を用いて、タスク算術の概要を説明する。図8は、タスク算術の概要を説明する図である。図8のモデルP0は、タスクベクトルが足される(加算される)基盤モデルである。ここでは、モデルP1からモデルPnまでのn個(ただし、nは2以上の整数)の基盤モデルのそれぞれに対応するタスクベクトルM1 T1-P1,…, M1 Tn-Pnをタスク算術によりモデルP0に足すことを考える。なお、このようなタスク算術は、モデルP1からモデルPnまでの代わりに、モデルP0を使用することが希望される場合に行われる。例えば、モデルP0は、モデルP1からモデルPnまでに比べて、汎化性能、及びロバスト性能といった性能が優れているものとする。
なお、タスクベクトルは、タスク特化するための学習が行われた後のモデルのパラメータ(例えば、M1
T1)から、タスク特化するための学習が行われる前のモデル、すなわち基盤モデルのパラメータ(例えば、P1)を引くことによって求められるベクトルである。このため、タスク算術は、モデルのパラメータ又は学習過程を表すベクトル同士の加減算と言い換えられてもよい。なお、モデルのパラメータを単にモデルと表記する場合がある。
また、図8のπ1,…,πnは、学習転移において求められるPermutation変換である。モデル間のPermutation変換の求め方は、前述の通りである。すなわち、タスク算術部136は、モデルP0の学習過程とタスクベクトルとの間の距離が最小化されるような学習転移により、タスクベクトルをPermutation変換した結果と、第1のモデルと、を用いてタスク算術を行う。また、Permutation変換は、本実施形態の方法以外の方法によって求められたものであってもよい。
タスク算術部136は、Permutation変換を適用した各タスクベクトルを、モデルP0に足すことで、モデルM0を得ることができる。このように、タスク算術部136は、モデルP0と、モデルP0に応じてタスクベクトルを変換した結果と、を用いてタスク算術を行う。
(実施例1)
タスク算術部136によるタスク算術の実施例1を説明する。図9に示すように、実施例1では、タスク算術部136は、モデルP0とモデルP1及びモデルP2との間で求められたPermutation変換を用いてタスク算術を行う。図9は、実施例1のタスク算術のイメージ図である。ただし、図9ではn=2である。
タスク算術部136によるタスク算術の実施例1を説明する。図9に示すように、実施例1では、タスク算術部136は、モデルP0とモデルP1及びモデルP2との間で求められたPermutation変換を用いてタスク算術を行う。図9は、実施例1のタスク算術のイメージ図である。ただし、図9ではn=2である。
図10は、実施例1のタスク算術の処理手順を示すフローチャートである。図10に示すように、読み込み部132は、基盤モデルP0と、複数の他の基盤モデルP1,…,PnについてのタスクベクトルV1,…,Vnを読み込む(S31)。タスク算術部136は、iに1を代入する(S32)。
次に、タスク算術部136は、タスク算術の結果を仮定したモデル~Pi(Pの直上に~)を、モデルP0、重みαi、Permutation変換πi、タスクベクトルViを用いておいた上で、Permutation変換πiを計算する(S33)。タスク算術部136は、前述の学習転移と同様の方法でPermutation変換πiを計算することができる。
続いて、i=nでなければ(S34でNo)、タスク算術部136は、iに1を足し(S35)、S33に戻り処理を繰り返す。一方、i=nであれば(S34でYes)、出力処理部134は、i=1からi=nまでのそれぞれに対応するαiπiViをP0に足した値を出力する(S36)。
(実施例2)
タスク算術部136によるタスク算術の実施例2を説明する。図11に示すように、実施例2では、タスク算術部136は、モデルP0に他のモデルのタスクベクトルを足し、足した後の結果に、さらに別のモデルのタスクベクトルを足す、ということを繰り返す。図11は、実施例2のタスク算術のイメージ図である。ただし、図9ではn=2である。
タスク算術部136によるタスク算術の実施例2を説明する。図11に示すように、実施例2では、タスク算術部136は、モデルP0に他のモデルのタスクベクトルを足し、足した後の結果に、さらに別のモデルのタスクベクトルを足す、ということを繰り返す。図11は、実施例2のタスク算術のイメージ図である。ただし、図9ではn=2である。
図12は、実施例2のタスク算術の処理手順を示すフローチャートである。図12に示すように、読み込み部132は、モデルP0と、複数の他の基盤モデルP1,…,PnについてのタスクベクトルV1,…,Vnを読み込む(S41)。タスク算術部136は、iに1を代入する(S42)。また、タスク算術部136は、~P0にP0を代入する(S43)。
次に、タスク算術部136は、モデル~Piを、モデルP0、重みαi、Permutation変換πi、タスクベクトルViを用いておいた上で、Permutation変換πiを計算する(S44)。タスク算術部136は、前述の学習転移と同様の方法でPermutation変換πiを計算することができる。
ここで、タスク算術部136は、~P0にαiπiViを足す(S45)。このように、~P0には、iの値が増えるたびに、αiπiViが足しこまれていく。
続いて、i=nでなければ(S46でNo)、タスク算術部136は、iに1を足し(S47)、S44に戻り処理を繰り返す。一方、i=nであれば(S46でYes)、出力処理部134は、~P0を出力する。(S48)。
このように、タスク算術部136は、モデルP0を初期値に設定し(S43)、タスクベクトルのそれぞれについて、初期値に応じて変換した結果を初期値に足すことにより初期値を更新する処理(S45)を順次(S47)行う。
[第1の実施形態のタスク算術の効果]
ここで説明したように、タスク算術部136は、πiで変換されたタスクベクトルπ1V1,…,πnVnを、疑似的にP0上のタスクベクトルとみなしてタスク算術を行う。これにより、異なる基盤モデル間でのタスク算術が可能になる。
ここで説明したように、タスク算術部136は、πiで変換されたタスクベクトルπ1V1,…,πnVnを、疑似的にP0上のタスクベクトルとみなしてタスク算術を行う。これにより、異なる基盤モデル間でのタスク算術が可能になる。
また、実施例1では、複数の変換を各基盤モデルについて独立に求めるため、変換後のタスクベクトル同士の算術を行った際に、変換後のタスクベクトル同士が互いに干渉し悪影響を与える恐れがある。
これに対し、実施例2では、タスク算術部136は、タスクベクトルのそれぞれが互いに干渉しない方法によりタスクベクトルの変換及びタスク算術を行う。
例えば、nが3以上であって、iが3の場合を考える。この場合、実施例1では、α2π2V2とα3π3V3が同時にP0(図10のS36)に足されることになるため、V2とV3が互いに干渉し、それぞれのタスクに基盤モデルを正常に特化させることができない恐れがある。
一方、実施例2では、まずi=2の時点で基盤モデルのV2のタスクへの特化が確定しており、その上でi=3の段階で基盤モデルをV3のタスクに特化させることになるため、基盤モデルがV2のタスクとV3のタスクの両方に正常に特化することが見込まれる。このように、実施例2によれば、タスクベクトル同士の算術の際に、互いの干渉を避け、悪影響を与えることを防止できる。
[システム構成等]
また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
前記した情報処理装置10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラム(情報処理プログラム)を所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を情報処理装置10として機能させることができる。ここで言う情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
前記した情報処理装置10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラム(情報処理プログラム)を所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を情報処理装置10として機能させることができる。ここで言う情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
図13は、情報処理プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の情報処理装置10が実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続される他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行う、
情報処理装置。
(付記項2)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスクベクトルのそれぞれが互いに干渉しない方法により前記タスクベクトルの変換及びタスク算術を行う
情報処理装置。
(付記項3)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスク算術部は、第1のモデルを初期値に設定し、前記タスクベクトルのそれぞれについて、前記初期値に応じて変換した結果を前記初期値に足すことにより前記初期値を更新する処理を順次行う
情報処理装置。
(付記項4)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスク算術部は、前記第1のモデルの学習過程と前記タスクベクトルとの間の距離が最小化されるような学習転移により、前記タスクベクトルをPermutation変換した結果と、前記第1のモデルと、を用いてタスク算術を行う
情報処理装置。
(付記項5)
コンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記プログラムは、
第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込み、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行う、
処理をコンピュータに実行させる。
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行う、
情報処理装置。
(付記項2)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスクベクトルのそれぞれが互いに干渉しない方法により前記タスクベクトルの変換及びタスク算術を行う
情報処理装置。
(付記項3)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスク算術部は、第1のモデルを初期値に設定し、前記タスクベクトルのそれぞれについて、前記初期値に応じて変換した結果を前記初期値に足すことにより前記初期値を更新する処理を順次行う
情報処理装置。
(付記項4)
付記項1に記載の情報処理装置であって、
前記プロセッサは、
前記タスク算術部は、前記第1のモデルの学習過程と前記タスクベクトルとの間の距離が最小化されるような学習転移により、前記タスクベクトルをPermutation変換した結果と、前記第1のモデルと、を用いてタスク算術を行う
情報処理装置。
(付記項5)
コンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記プログラムは、
第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込み、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行う、
処理をコンピュータに実行させる。
10 情報処理装置
11 入出力部
12 記憶部
13 制御部
131 入力受付部
132 読み込み部
133 計算部
134 出力処理部
135 情報生成部
136 タスク算術部
11 入出力部
12 記憶部
13 制御部
131 入力受付部
132 読み込み部
133 計算部
134 出力処理部
135 情報生成部
136 タスク算術部
Claims (6)
- 第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み部と、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行うタスク算術部と、
を有することを特徴とする情報処理装置。 - 前記タスク算術部は、前記タスクベクトルのそれぞれが互いに干渉しない方法により前記タスクベクトルの変換及びタスク算術を行う
ことを特徴とする請求項1に記載の情報処理装置。 - 前記タスク算術部は、第1のモデルを初期値に設定し、前記タスクベクトルのそれぞれについて、前記初期値に応じて変換した結果を前記初期値に足すことにより前記初期値を更新する処理を順次行う
ことを特徴とする請求項1に記載の情報処理装置。 - 前記タスク算術部は、前記第1のモデルの学習過程と前記タスクベクトルとの間の距離が最小化されるような学習転移により、前記タスクベクトルをPermutation変換した結果と、前記第1のモデルと、を用いてタスク算術を行う
ことを特徴とする請求項1に記載の情報処理装置。 - 第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み工程と、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行うタスク算術工程と、
を含むことを特徴とする情報処理方法。 - 第1のモデルと、前記第1のモデルと異なる複数のモデルのタスクベクトルと、を読み込む読み込み手順と、
前記第1のモデルと、前記第1のモデルに応じて前記タスクベクトルを変換した結果と、を用いてタスク算術を行うタスク算術手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/014449 WO2025215751A1 (ja) | 2024-04-09 | 2024-04-09 | 情報処理装置、情報処理方法、及び情報処理プログラム |
| PCT/JP2025/011597 WO2025216044A1 (ja) | 2024-04-09 | 2025-03-24 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/014449 WO2025215751A1 (ja) | 2024-04-09 | 2024-04-09 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025215751A1 true WO2025215751A1 (ja) | 2025-10-16 |
Family
ID=97349627
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/014449 Pending WO2025215751A1 (ja) | 2024-04-09 | 2024-04-09 | 情報処理装置、情報処理方法、及び情報処理プログラム |
| PCT/JP2025/011597 Pending WO2025216044A1 (ja) | 2024-04-09 | 2025-03-24 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/011597 Pending WO2025216044A1 (ja) | 2024-04-09 | 2025-03-24 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Country Status (1)
| Country | Link |
|---|---|
| WO (2) | WO2025215751A1 (ja) |
-
2024
- 2024-04-09 WO PCT/JP2024/014449 patent/WO2025215751A1/ja active Pending
-
2025
- 2025-03-24 WO PCT/JP2025/011597 patent/WO2025216044A1/ja active Pending
Non-Patent Citations (2)
| Title |
|---|
| DAIKI CHIJIWA: "Transferring Learning Trajectories of Neural Networks", ARXIV.ORG, 23 May 2023 (2023-05-23), 201 Olin Library Cornell University Ithaca, NY 14853, XP091516999 * |
| ILHARCO GABRIEL, RIBEIRO MARCO TULIO, WORTSMAN MITCHELL, GURURANGAN SUCHIN, SCHMIDT LUDWIG, HANNANEH HAJISHIRZI, FARHADI ALI: "<mark>Editing Models with Task Arithmetic</mark>", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, ARXIV.ORG, 31 March 2023 (2023-03-31), XP093212425, Retrieved from the Internet <URL:https://arxiv.org/pdf/2212.04089> * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025216044A1 (ja) | 2025-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Daneshmand et al. | Hybrid random/deterministic parallel algorithms for convex and nonconvex big data optimization | |
| CN111077768B (zh) | 优化装置及优化装置的控制方法 | |
| CN111008696A (zh) | 优化装置和控制优化装置的方法 | |
| CN114418105B (zh) | 一种基于量子线路处理量子应用问题的方法及装置 | |
| CN111639780A (zh) | 优化装置和优化装置的控制方法 | |
| CN113821983A (zh) | 基于代理模型的工程设计优化方法、装置及电子设备 | |
| JP6925546B1 (ja) | 演算システム、情報処理装置、および最適解探索処理方法 | |
| CN115552424A (zh) | 用于训练包含量化参数的人工神经网络的方法 | |
| JP7256378B2 (ja) | 最適化システムおよび最適化システムの制御方法 | |
| Wang et al. | Generalization analysis of stochastic weight averaging with general sampling | |
| Shen et al. | Accelerated doubly stochastic gradient algorithm for large-scale empirical risk minimization | |
| Zhao et al. | Levenberg–Marquardt method based on probabilistic Jacobian models for nonlinear equations | |
| CN116484959A (zh) | 量子电路处理方法、装置、设备以及存储介质 | |
| JP7242595B2 (ja) | 学習装置、推論装置、学習方法及び推論方法 | |
| WO2025216044A1 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
| WO2025215749A1 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
| Li | Accelerated value iteration via Anderson mixing | |
| WO2024209607A1 (ja) | 情報処理装置、情報処理方法、および、情報処理プログラム | |
| CN117010508B (zh) | 多项式的计算方法及相关设备 | |
| Agrawalla et al. | Statistical Inference for Linear Functionals of Online Least-Squares SGD When t≳ d 1+ δ | |
| La Cruz | A genetic algorithm with a self-reproduction operator to solve systems of nonlinear equations | |
| CN118569417A (zh) | 数据预测方法及系统 | |
| WO2024209773A1 (ja) | 情報処理装置、端末装置、サーバ、情報処理方法、および、情報処理プログラム | |
| WO2024252520A1 (ja) | 情報処理装置、情報処理方法、および、情報処理プログラム | |
| CN117313815B (zh) | 一种优化MZI的ONNs相位配置的渐进式训练方法 |
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: 24935131 Country of ref document: EP Kind code of ref document: A1 |