WO2020045193A1 - 訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体 - Google Patents

訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体 Download PDF

Info

Publication number
WO2020045193A1
WO2020045193A1 PCT/JP2019/032674 JP2019032674W WO2020045193A1 WO 2020045193 A1 WO2020045193 A1 WO 2020045193A1 JP 2019032674 W JP2019032674 W JP 2019032674W WO 2020045193 A1 WO2020045193 A1 WO 2020045193A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
neural network
network model
conversion
input
Prior art date
Application number
PCT/JP2019/032674
Other languages
English (en)
French (fr)
Inventor
丸山 宏
健太 大野
Original Assignee
株式会社 Preferred Networks
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 株式会社 Preferred Networks filed Critical 株式会社 Preferred Networks
Publication of WO2020045193A1 publication Critical patent/WO2020045193A1/ja

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

Definitions

  • the present invention relates to a training method, a training device, a learned model, an estimation method, an estimation device, a program, and a non-transitory computer readable medium.
  • n-dimensional a multidimensional Euclidean space
  • Absent That is, it is difficult to eliminate the possibility that the value of any point of R n is output.
  • the output of a deep neural network can appear at any point in an n-dimensional real space, it has not been easy to use such a neural network for safe control.
  • an embodiment of the present invention relates to a training method, a training device trained model, an estimation method, an estimation device, a program, and a non-transitory computer-readable medium for a neural network whose output is configured to satisfy a predetermined condition. provide.
  • the training method comprises: Input the input data to the neural network model to be trained, Obtaining output data of the neural network model, A first transformation so that the output data belongs to a bounded set; The second conversion is performed so that the first converted data belongs to a predetermined area from the bounded set, Performing error backpropagation processing on the second transformed data to train the neural network model; It is prepared.
  • the block diagram of the training device concerning one embodiment.
  • 5 is a flowchart illustrating a flow of processing of the training device according to the embodiment.
  • the figure which shows an example of 2nd conversion. 1 is a block diagram of an estimation device according to one embodiment. 7 is an example of mounting according to one embodiment.
  • the output may have a constraint condition.
  • the movable range of the apparatus is a constraint.
  • POS Point of Sales
  • an estimated value outside the constraints may be output for the input data.
  • the trained model that has undergone such training may incur an accident or extra cost by performing automatic driving or the like based on the estimated value. For example, in the automatic operation of the drone, by outputting a value outside the constraint condition, the drone collides with a wall or enters a no-fly zone or out of a control range. As another example, an order is placed at a POS such that goods cannot be displayed and stocked. In such a case, if the estimated value outside the constraint condition converges on, for example, the nearest boundary, the estimated value on the boundary increases, which is not always practical.
  • the training device trains a learned model that can avoid such a state.
  • FIG. 1 is a block diagram illustrating functions of the training device according to the embodiment.
  • the training device 1 includes an input unit 10, a storage unit 12, a forward propagation unit 14, a first conversion unit 16, a second conversion unit 18, an error calculation unit 20, a back propagation unit 22, and an update unit 24. And an output unit 26.
  • the input unit 10 receives the input of the training data.
  • the training data may be, for example, a combination of supervised learning data and label data, or may be unsupervised learning data. Further, validation data used for cross-validation or the like may be received for evaluation.
  • the storage unit 12 stores data required for the training device 1.
  • the data may include, for example, training data received by the input unit 10.
  • a program for executing information processing by software that is specifically realized using the computer may be stored.
  • the storage unit 12 may store programs for executing various units of the training device 1, various parameters of a neural network model to be learned, and the like.
  • various data are stored at necessary timing.
  • the forward propagation unit 14 inputs the data received by the input unit 10 to the neural network model and forward propagates the data, and acquires the output of the neural network model.
  • the first conversion unit 16 performs the first conversion on the data acquired by the forward propagation unit 14.
  • the first transformation is a transformation that maps output data of the neural network into a finite space. This transformation is performed using a continuous function whose output is bounded and differentiable, for example, a sigmoid function. As long as the function satisfies the condition, the function does not need to be the sigmoid function. As another example, a hyperbolic tangent function, a logistic function, an error function, or the like may be used. Furthermore, it is not necessary to be differentiable at all points in the space, and it may be a function that can be differentiated at almost all points, or a function that can calculate a differential value approximately at all points. There may be.
  • the first transformation unit 16 transforms a point in the space of R n which is an output of the neural network into a space of [ ⁇ 10, 10] n using, for example, a sigmoid function.
  • the same conversion need not be performed for all axes in the space, and different conversions may be performed for different axes.
  • the absolute value of the boundary of the bounded area does not need to be 10, and may be ⁇ 1, 0, or another value.
  • FIG. 2 is a diagram showing an output space of the neural network model.
  • the output space is not limited to this, and may have a boundary of ⁇ ⁇ in any of the dimensions constituting the space.
  • the first conversion unit 16 projects the output values distributed in a state where no particular restriction is applied as shown in FIG. 2 to a finite area by executing the first conversion.
  • the space S10 indicates a part of the output space of the neural network model to be trained.
  • the space S10 is a two-dimensional space in which the area of each axis is ( ⁇ , + ⁇ ).
  • the area C10 is an area indicating conditions to be satisfied by the output of the neural network model.
  • the training causes the output of the neural network model to belong to the region C10.
  • FIG. 3 is a diagram illustrating an example of the data set illustrated in FIG. 2 after being changed by the first conversion unit 16.
  • the first conversion unit 16 converts the space S10 into a bounded space S11 by, for example, using the following sigmoid function for each dimension.
  • the values of 20 and 10 in the formula are predetermined values based on the standardization of the output space, and can be arbitrarily changed.
  • a is a constant representing a gain, and can take an arbitrary value. For example, when it is desired that the output of the neural network that does not belong to the area C10 be closer to the boundary in the second conversion described later, the gain is increased. In addition, the gain can be appropriately set based on the output of the neural network model.
  • Pivot P11 is set in this area C11.
  • the pivot P11 is, for example, a point represented by the center of gravity of the area C11.
  • FIGS. 2 and 3 show examples in which the regions C10 and C11 are convex polygons.
  • the pivot P11 is not limited to the center of gravity, and may be any point in the area C11 where the output of the neural network model is desired to converge.
  • a point corresponding to the center point of the room may be used as a pivot, or in a case of automatic arrival at a store, a point where profit is greatest. May be used as a pivot.
  • the second conversion unit 18 converts the first converted and bounded data so as to match the constraint condition.
  • the boundary of the constraint condition is calculated in advance by performing the same conversion as the conversion by the first conversion unit 16, and the boundary of each point is included such that the value converted by the first conversion unit 16 is included in the boundary. Perform the conversion.
  • FIG. 4 is a diagram for explaining the second conversion. How the point P1 outside the area C11 in the space S11 is transformed will be described. Note that the pivot P11 is described as a point O for simplicity. Hereinafter, the pivot P11 is shown using a star symbol in the figure.
  • the second conversion unit 18 calculates a point S1 that internally divides OQ1 based on a ratio of OR1 and OP1, and converts the point P1 into a point S1. That is, the point P1 is projected onto the point S1 such that
  • the second conversion unit 18 converts the point P2 into a point S2 where
  • FIG. 5 is a diagram showing an output distribution from the neural network model after the second transformation. As shown in FIG. 5, all the points after the first conversion are converted to points in the area C11 after the second conversion. As a result of the conversion, the outputs of the model to be trained are all converted to points that satisfy a predetermined condition. By performing the conversion in this manner, it is possible to avoid an unexpected accident due to the automatic driving and an estimation of outputting an excessive stock or the like in the automatic receiving.
  • the data having the variation in the space S10 as illustrated in FIG. 2 is converted into a point in the area C11 that satisfies the predetermined condition by the respective conversions in the first conversion unit 16 and the second conversion unit 18. Is converted to
  • the error calculator 20 calculates an error based on the output from the neural network and the teacher data converted in the first converter 16 and the second converter 18.
  • the conversion value of the teacher data may be calculated in advance if there is room in the storage unit 12, or may be calculated as appropriate in parallel with the conversion of the input data.
  • the back propagation unit 22 performs an error back propagation process based on the error calculated by the error calculation unit 20. Since the conversion in the first conversion unit 16 is a differentiable conversion, it is possible to obtain a gradient in each layer from the output layer to the input layer. Therefore, it is possible to perform training by the back propagation method.
  • the updating unit 24 updates the network parameters based on the result of the back propagation by the back propagation unit 22.
  • the updated network is output via the output unit 26 as a learned model when a predetermined condition is satisfied. Until a predetermined condition is satisfied, optimization of the updated network is further performed from the processing of the forward propagation unit 14.
  • the predetermined condition may be, for example, a condition that training of a predetermined number of epochs is completed, an evaluation value reaches a predetermined value, and the like, as in general machine learning.
  • the output unit 26 outputs the trained model for which training has been completed.
  • the output unit 26 may output parameters and the like to the outside, or may output the parameters and the like to the storage unit 12 and store them.
  • FIG. 6 is a flowchart illustrating a flow of the training according to the present embodiment.
  • data is input from the input unit 10 (S100).
  • the forward propagation unit 14 forward propagates the input data to the network (S102).
  • the network has, for example, parameters stored in the storage unit 12 and is formed by the processor at the timing of training. By this forward propagation, the input data becomes output data through the network and is output.
  • the first conversion unit 16 performs the first conversion on the data output by the network (S104). By the first conversion, data output from the network is converted into data in a bounded area. Further, the first conversion unit 16 performs the first conversion on the teacher data corresponding to the input data that is the source of the output data.
  • the second conversion unit 18 performs the second conversion on the first converted data (S106).
  • the data bounded by the first conversion is converted so as to satisfy the constraint condition.
  • the second conversion unit 18 performs the second conversion on the first converted teacher data. Note that the first conversion and the second conversion of the teacher data need not be performed at this timing, but may be performed before the timing of calculating the error, such as the timing of inputting the input data to the network.
  • the error calculator 20 calculates an error between the second converted input data and the second converted teacher data (S108).
  • the calculation of the error is performed based on an arbitrary method in a general training method.
  • the back-propagation unit 22 back-propagates the error (S110).
  • the updating unit 24 updates the network parameters based on the result of the back propagation (S112).
  • the updated parameters are stored in the storage unit 12, for example. Backpropagation and updating are repeated if necessary.
  • the processes from S100 to S112 are repeated until the training end condition is satisfied, and the network is updated.
  • the termination condition is a termination condition in a general training method, for example, a termination condition such that the number of epochs has reached a predetermined value or an error has fallen below a predetermined value.
  • the output unit 26 When the training is completed, the output unit 26 outputs information necessary for configuring the network, such as updated network parameters (S114).
  • the output is a concept including output to the outside of the training device 1 via an interface or the like and storage in the storage unit 12.
  • the real space is a space in which a solution to be estimated can exist, such as a two-dimensional or three-dimensional space in the case of a drone or a robot. Refers to the space shown.
  • the space that satisfies the constraint condition is assumed to be a convex space, but at least one pivot that can have all points and line segments in the space without intersecting with the boundary line is used. Any space that can be defined is acceptable. That is, the space satisfying the constraint condition may be a star-shaped space as shown in FIG. Of course, in this case, the pivot is selected such that the line segments between all points in the space satisfying the constraint do not intersect the boundary.
  • the output space is described as being two-dimensional, but is not limited to this.
  • it may be a space of any three or more dimensions or a scalar (one-dimensional).
  • the output space becomes an n-dimensional hypercube by the first transformation, and the area C10 is an n-dimensional convex closed space in which a pivot that satisfies the above-mentioned requirement of at least one point can be defined. Becomes This is the same in the embodiments described below.
  • the neural network, the first conversion unit 16, and the second conversion unit 18 are provided.
  • the first conversion unit 16 and the second conversion unit 18 are each independently of the neural network. No need to be provided. That is, the first conversion unit 16 and the second conversion unit 18 may be provided as layers of the neural network. By designing in this manner, it is also possible to generate a learned neural network having the functions of the first conversion unit 16 and the second conversion unit 18. As described above, since each transform is described by a differentiable operation, even in a neural network including these layers, it is possible to update parameters by back propagation of errors.
  • the constraint condition is set within the bounded space.
  • the present invention is not limited to this.
  • the data may be converted to a space having a constraint condition that protrudes from the space.
  • FIG. 8 is a diagram illustrating a relationship between the bounded space according to the present embodiment and a region satisfying the bounded constraint condition. As described above, the region C12 may exist so as to protrude from the space S12.
  • the conversion from the bounded space to the region that satisfies the constraint condition is obtained by a simple calculation of internal division and external division, but is not limited thereto.
  • the conversion from a point in space to a point in a region is bijective and may be performed by a conversion that can preserve order.
  • a continuous conversion is desirable.
  • a transform that can be differentiated at almost any point may be used.
  • the transformation from this space to constraints can also be incorporated into the network.
  • by updating the transformation by training it is also possible to configure a network for estimating a solution within a more flexible constraint condition.
  • FIG. 9 is a block diagram illustrating functions of the estimation device according to the present embodiment.
  • the estimation device 2 includes an input unit 28, a storage unit 30, a trained model 32, a first conversion unit 34, a second conversion unit 36, and an output unit 38.
  • the estimating apparatus 2 converts the value estimated by the trained model 32 into an appropriate range and outputs it.
  • the input unit 28 receives data input.
  • the data is data captured by the drone itself, data on the environment in which the drone is installed, such as speed and target position data specified by the user, or data on operation. Even in the case other than the drone, any information on the target situation may be used.
  • the storage unit 30 stores information necessary for the estimation device 2. For example, data input via the input unit 28 may be stored in the storage unit 30. Further, when the trained model 32, the first conversion unit 34, and the second conversion unit 36 are processing by software, an execution file, various parameters, and the like regarding the software may be stored. Further, data output by the output unit 38 may be stored.
  • the trained model 32 includes, for example, the neural network trained in each of the above-described embodiments.
  • the first conversion unit 34 and the second conversion unit 36 perform the same conversion as in each of the above-described embodiments.
  • the first conversion unit 34 and the second conversion unit 36 may be provided in the neural network during training.
  • the first conversion unit 34 and the second conversion unit 36 in the estimation device 2 are not indispensable configurations, and may have a configuration that can execute the first conversion and the second conversion in the trained model 32.
  • the estimation device 2 outputs a value estimated by the trained model 32 via the output unit 38 and according to an appropriate constraint condition.
  • the neural network can be applied even when there is a desirable area where a solution exists, such as automatic driving of vehicles and drones, automation of POS services, and other solutions.
  • a solution exists, such as automatic driving of vehicles and drones, automation of POS services, and other solutions.
  • automatic driving by limiting the output range to a range in which safe operation can be performed, safety in automatic driving can be further improved.
  • Each function of the training device 1 and the estimation device 2 in the above-described embodiment may be realized by an analog circuit, a digital circuit, or a mixed circuit of an analog circuit and a digital circuit. Further, the training device 1 and the estimation device 2 may include a control circuit that controls each function. Each of these circuits may be implemented by ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or the like.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • some or all of the training device 1 and the estimation device 2 may be configured by hardware, or may be configured by information processing of software (program) executed by a CPU or the like.
  • the training device 1, the estimation device 2, and software for realizing at least a part of the functions are stored in a storage medium such as a flexible disk or a CD-ROM and read by a computer.
  • information processing of software may be executed.
  • the software may be downloaded via a communication network.
  • the computer can be the device of the above embodiment.
  • information processing by software may be specifically realized using hardware resources.
  • software is implemented in a circuit such as an ASIC or an FPGA
  • information processing assumed to be executed by software may be executed by hardware.
  • the generation of the model and the processing using the generated model may be performed using, for example, an accelerator such as a GPU.
  • the type of storage medium for storing software is not particularly limited.
  • the storage medium is not limited to a removable medium such as a magnetic disk or an optical disk, but may be a fixed storage medium such as a hard disk or a memory.
  • the storage medium may be provided inside the computer or may be provided outside the computer.
  • FIG. 10 is a block diagram illustrating an example of a hardware configuration according to an embodiment.
  • the training device 1 and the estimating device 2 include a processor 71, a main storage device 72, an auxiliary storage device 73, a network interface 74, and a device interface 75, which are connected to a computer 7 via a bus 76.
  • a processor 71 a main storage device 72
  • auxiliary storage device 73 a main storage device 72
  • a network interface 74 a network interface 74
  • a device interface 75 which are connected to a computer 7 via a bus 76.
  • the computer 7 in FIG. 10 includes one component, but may include a plurality of the same components.
  • one computer 7 is shown, but the software may be installed in a plurality of computers, and each of the plurality of computers may execute the same or different part of the processing of the software.
  • the computer may be in a form of distributed computing in which each computer communicates via the network interface 74 or the like to execute processing.
  • Various operations of the training device 1 and the estimation device 2 may be executed in parallel using one or a plurality of processors (for example, accelerators such as GPUs) or using a plurality of computers via a network. . Further, various operations may be distributed to a plurality of operation cores in the processor and executed in parallel. Further, some or all of the processes, means, and the like of the present disclosure are executed or functioned by at least one of a processing circuit and a storage device provided on a cloud that can communicate with the computer 7 via a network. You may. As described above, a form of parallel computing by one or a plurality of computers may be used.
  • the processor 71 may be an electronic circuit (a processing circuit, a processing circuit, a processing circuit) including a computer control device and an arithmetic device. Further, the processor 71 may be a CPU or a GPU that does not limit the number of cores, or may be a semiconductor device or the like including a dedicated processing circuit. The processor 71 can perform arithmetic processing based on data or a program input from each device or the like having an internal configuration of the computer 7 and output a calculation result or a control signal to each device or the like. The processor 71 may control each component configuring the computer 7 by executing an operating system (OS) of the computer 7, an application, or the like.
  • OS operating system
  • the training device 1 and the estimation device 2 and their respective hardware configurations may be realized by one or a plurality of processors 71.
  • the processing circuit may refer to one or a plurality of electric circuits disposed on one chip, or may refer to one or a plurality of electric circuits disposed on two or more chips or devices. . When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
  • the main storage device 72 is a storage device that stores instructions executed by the processor 71, various data, and the like, and the information stored in the main storage device 72 is read by the processor 71.
  • the auxiliary storage device 73 is a storage device other than the main storage device 72. Note that these storage devices mean any electronic component capable of storing electronic information, and may be a memory or a storage.
  • the memory includes a volatile memory and a non-volatile memory, but any of them may be used.
  • a memory for storing various data in the training device 1 and the estimation device 2 may be realized by the main storage device 72 or the auxiliary storage device 73.
  • the storage units 12 and 30 may be implemented in the main storage device 72 or the auxiliary storage device 73.
  • the storage units 12 and 30 may be implemented in a memory included in the accelerator.
  • a plurality of processors may be physically or electrically connected to one memory (storage device), or a single processor may be physically or electrically connected.
  • a plurality of memories (storage devices) may be physically or electrically connected to one processor.
  • Storage device may be included physically or electrically. This configuration may be realized by a memory (storage device) and a processor included in a plurality of computers.
  • the memory (storage device) may include a configuration integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache). In this case, a memory that controls access to the memory (storage device) It may further include a controller.
  • the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire.
  • the network interface 74 may be one that conforms to the existing communication standard.
  • the network interface 74 may exchange information with the external device 9 ⁇ / b> A communicatively connected via the communication network 8.
  • the external device 9A includes, for example, a camera, a motion capture, an output destination device, an external sensor, an input source device, and the like.
  • the external device 9A may include an external memory (storage device) such as a network storage. Further, the external device 9A may be a device having some functions of the components of the training device 1 and the estimation device 2.
  • the computer 7 may receive a part or all of the processing results of the training device 1 and the estimation device 2 via the communication network 8 like a cloud service, or may transmit the processing result to the outside of the computer 7. Is also good.
  • the device interface 75 is an interface such as a USB (Universal Serial Bus) that is directly connected to the external device 9B.
  • the external device 9B may be an external storage medium or a storage device.
  • the storage units 12 and 30 may be realized by the external device 9B.
  • the external device 9B may be an output device.
  • the output device may be, for example, a display device for displaying an image, or a device for outputting sound or the like.
  • a display device for displaying an image
  • a device for outputting sound or the like for example, an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), a speaker, etc., are not limited thereto.
  • the external device 9B may be an input device.
  • the input device includes devices such as a keyboard, a mouse, and a touch panel, and provides information input by these devices to the computer 7.
  • a signal from the input device is output to the processor 71.
  • the expression “including at least one (one) of a, b, and c” or “at least one (one) of a, b, or c” includes a, b, c , Ab, ac, bc, abc.
  • a combination with a plurality of instances of any element such as a-a, a-b-b, a-a-b-b-c-c is covered.
  • a combination such as a-b-c-d, which further has d, that is, a combination in which other elements other than a, b, and / or c are added is covered.
  • the expression “based on data” includes, unless otherwise specified, a case where various data itself is used as an input, and a case where some processing is performed on various data (for example, Noise-added data, normalized data, intermediate representation of various data, etc.) are used as inputs.
  • Training device 10, 28: input unit, 12, 30: storage unit, 14: Forward propagation part, 16, 34: first conversion unit, 18, 36: second conversion unit, 20: error calculator, 22: back propagation part, 24: update section, 26, 38: output unit 32: trained model

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)

Abstract

出力が所定の条件を満たすように構成されたニューラルネットワークを生成する。訓練方法は、訓練対象であるニューラルネットワークモデルに、入力データを入力し、前記ニューラルネットワークモデルの出力データを取得し、前記出力データが有界集合に属するように第1変換し、前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換し、前記第2変換されたデータについて誤差逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する、ことを備える。

Description

訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体
 本発明は、訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体に関する。
 深層学習等の統計的機械学習システムにおいては、その出力は多次元ユークリッド空間(例えば、n次元)の点として表され、一般的にはその値についてある条件を満たすという保証をすることは容易ではない。すなわち、Rnのいずれの点についても、その値が出力される可能性を排除することは困難である。一般には、深層ニューラルネットワークの出力は、n次元実数空間上のどの点にも現れうるので、このようなニューラルネットワークを安全に関わる制御に用いることは容易ではなかった。
D. Amodei, et.al., "Concrete problem in ai safety," arXiv preprint, arXiv:1606.06565, 2016, [インターネット], https://arxiv.org/abs/1606.06565
 そこで、本発明の実施形態は、その出力が所定の条件を満たすように構成されたニューラルネットワークに関する、訓練方法、訓練装置学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体を提供する。
 一実施形態によれば、訓練方法は、
 訓練対象であるニューラルネットワークモデルに、入力データを入力し、
 前記ニューラルネットワークモデルの出力データを取得し、
 前記出力データが有界集合に属するように第1変換し、
 前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換し、
 前記第2変換されたデータについて誤差逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する、
 ことを備える。
一実施形態に係る訓練装置のブロック図。 ニューラルネットワークモデルの出力分布の一例を示す図。 第1変換後のデータ分布の一例を示す図。 第2変換の一例を示す図。 第2変換後のデータ分布の一例を示す図。 一実施形態に係る訓練装置の処理の流れを示すフローチャート。 拘束条件を満たす空間の一例を示す図。 第2変換の一例を示す図。 一実施形態に係る推定装置のブロック図。 一実施形態に係る実装例。
 以下、図面を参照して実施形態について詳しく説明する。なお、図面は一例として模式的に示すものであり、実施形態は、これらの図面に限定されるものではない。
 まず、本実施形態における概略について説明する。学習済みのニューラルネットワークにおいて、出力に拘束条件を有することがある。例えば、装置に搭載されているセンサにより取得された情報を学習済みモデルに入力して制御信号を推定する場合には、当該装置の可動範囲等が拘束条件となる。別の例としては、店舗において売り上げ、残りの商品等をPOS(Point of Sales)で取得した情報を学習済みモデルに入力して入荷依頼をする場合には、費用、収納場所等が拘束条件となる。
 このような出力の拘束条件を考慮せずにモデルの訓練を行った場合、入力されたデータに対して拘束条件外の推定値を出力する場合がある。このような訓練を行った学習済みモデルは、推定値に基づいて自動運転等をすることにより、事故や余分なコストを負う可能性がある。例えば、ドローンの自動操縦において、拘束条件外の値を出力することにより、壁に衝突したり、飛行禁止区域又は制御範囲外に突入したりする。別の例として、POSにおいて、商品を陳列及びストックすることができないような発注をしたりする。このような場合に、拘束条件外の推定値を、例えば最近傍の境界上に収束させると、境界上の推定値が多くなり、必ずしも実用的であるとは言えなくなる。本実施形態に係る訓練装置は、このような状態を回避可能な学習済みモデルを訓練する。
 (第1実施形態)
 図1は、一実施形態に係る訓練装置の機能を示すブロック図である。訓練装置1は、入力部10と、記憶部12と、順伝播部14と、第1変換部16と、第2変換部18と、誤差算出部20と、逆伝播部22と、更新部24と、出力部26と、を備える。
 入力部10は、訓練データの入力を受け付ける。訓練データは、例えば、教師あり学習用のデータとラベルデータとの組み合わせでもよいし、教師なし学習用のデータであってもよい。また、交差検証等に用いるバリデーションデータを評価用に受け付けてもよい。
 記憶部12は、訓練装置1に必要となるデータを格納する。データとは、例えば、入力部10が受け付けた訓練データを備えてもよい。また、訓練装置1がコンピュータで実行される場合には、当該コンピュータ(ハードウェア資源)を用いて具体的に実現するソフトウェアによる情報処理を実行するためのプログラムが格納されていてもよい。具体的には、記憶部12は、訓練装置1の各種手段を実行するためのプログラム、及び、学習対象であるニューラルネットワークモデルの各種パラメータ等を格納してもよい。この他、必要なタイミングにおいて種々のデータを格納する。
 順伝播部14は、入力部10が受け付けたデータをニューラルネットワークモデルに入力し順伝播させて、ニューラルネットワークモデルの出力を取得する。
 第1変換部16は、順伝播部14により取得されたデータを、第1変換する。第1変換とは、ニューラルネットワークの出力データを、有限の空間内に写像する変換である。この変換は、出力が有界で微分可能な連続関数、例えば、シグモイド関数を用いて実行される。条件を満たす関数であれば、シグモイド関数でなくともよく、別の例としては、ハイパボリックタンジェント関数、ロジスティック関数、誤差関数等であってもよい。さらに、空間内の全ての点において微分可能である必要もなく、ほとんど全ての点において微分可能な関数であってもよく、又は、全ての点において近似的に微分値が算出できるような関数であってもよい。
 第1変換部16は、例えば、シグモイド関数を用いて、ニューラルネットワークの出力であるRnの空間における点を[-10,10]nの空間へと変換する。空間内の全ての軸において同じ変換をしなくてもよく、軸により異なる変換を行ってもよい。有界領域の境界の絶対値は10である必要は無く、±1や、0であってもよいし、他の値であってもよい。
 図2は、ニューラルネットワークモデルの出力空間を示す図である。図2においては、限られた有限の空間としているが、出力空間はこれに限られるものではなく、空間を構成するいずれかの次元において±∞の境界を有していてもよい。第1変換部16は、この図2のように特に制限が掛けられない状態において分布している出力値を、第1変換を実行することにより、有限の領域に投射する。
 空間S10は、訓練対象となるニューラルネットワークモデルの出力空間の一部を示す。例えば、空間S10は、2次元空間であり、それぞれの軸の領域が(-∞,+∞)である空間である。これに対して、領域C10は、ニューラルネットワークモデルの出力が満たすべき条件を示す領域である。訓練により、ニューラルネットワークモデルの出力が領域C10に属するようにする。
 図3は、第1変換部16により変化された後の図2に示すデータの集合の一例を示す図である。第1変換部16は、例えば、各次元に対して以下に示すシグモイド関数を用いた変換により空間S10を有界の空間S11へと変換する。
Figure JPOXMLDOC01-appb-M000001
 式中の20、10の値は、出力空間の規格化に基づいた所定値であり、任意に変更することが可能である。aは、ゲインを表す定数であり、任意の値を取ることが可能である。例えば、領域C10に属しないニューラルネットワークの出力を後述の第2変換において境界線に近づけたい場合には、ゲインを大きくする。この他、ニューラルネットワークモデルの出力に基づいて、適切にゲインは設定することが可能である。
 図2における領域C10は、図3においては領域C11へと変換される。上述したゲインaを大きくするほど、領域C11の境界は、空間S11の境界へと近づく。
 この領域C11内に、ピボットP11を設定する。ピボットP11は、例えば、領域C11の重心により表される点である。なお、図2、図3においては、領域C10、C11が凸型の多角形である例を示している。領域C11が凸型の多角形である場合には、ピボットP11は、重心に限られるものではなく、領域C11内においてニューラルネットワークモデルの出力を収束させたい任意の点としてもよい。例えば、部屋においてドローン等のデバイスを自動的に運転させる場合には、部屋の中央の点に対応する点をピボットとしてもよいし、店舗における自動入荷の場合には、利益が一番大きくなる点をピボットとしてもよい。
 第2変換部18は、第1変換され有界となったデータを拘束条件に合致するように変換する。例えば、拘束条件の境界を第1変換部16による変換と同じ変換を施すことによりあらかじめ算出しておき、この境界内に第1変換部16により変換された値が含まれるように、各点の変換を行う。
 図4は、第2変換の説明のための図である。空間S11内の領域C11外の点P1がどのように変換されるかを説明する。なお、ピボットP11を簡単のため、点Oと記載する。以下、ピボットP11は、図において星形の記号を用いて示す。
 まず、点Oから点P1へと向かう半直線r1を考える。領域C11の境界と半直線r1の交点をQ1、空間S11の境界と半直線r1との交点をR1とする。第2変換部18は、OR1とOP1との比でOQ1を内分する点S1を算出し、点P1を点S1へと変換する。すなわち、|OR1|:|OP1|=|OQ1|:|OS1|となるような点S1に点P1を投射する。このような第2変換により、空間S11に属する点は、全て領域C11に属する点へと変換される。
 領域C11に属する点P2についても同様である。すなわち、点Oから点P2へと向かう半直線r2に対して、領域C11、空間S11との交点をQ2、R2とする。そして、第2変換部18により、|OR2|:|OP2|=|OQ2|:|OS2|となる点S2に点P2が変換される。
 図5は、第2変換後のニューラルネットワークモデルからの出力分布を示す図である。この図5に示すように、第1変換後の点は、全て第2変換後において領域C11内の点へと変換される。このように変換されることにより、訓練対象となるモデルの出力は、全て所定の条件を満たす点へと変換される。このように変換することにより、自動運転による不慮の事故や、自動入荷における過剰な在庫等を出力する推定を回避することが可能となる。
 このように、図2に示されたような空間S10におけるばらつきを有したデータは、第1変換部16、第2変換部18におけるそれぞれの変換により、所定の条件を満たす領域C11内の点へと変換される。
 誤差算出部20は、第1変換部16及び第2変換部18において変換されたニューラルネットワークからの出力及び教師データと、に基づいて誤差を算出する。教師データの変換値は、記憶部12に余裕があるのであればあらかじめ算出しておいてもよいし、入力データに関する変換と並列に、適宜算出してもよい。
 逆伝播部22は、誤差算出部20が算出した誤差に基づいて、誤差逆伝播処理を実行する。第1変換部16における変換が微分可能な変換であるので、出力層から入力層へ向けて、各層において勾配を求めることが可能であるので誤差逆伝播法により訓練を行うことが可能である。
 更新部24は、逆伝播部22が逆伝播した結果に基づいて、ネットワークのパラメータを更新する。更新されたネットワークは、所定の条件を満たすと学習済みモデルとして出力部26を介して出力される。所定の条件を満たすまでは、更新されたネットワークについて、さらに、順伝播部14の処理から最適化を係属する。所定の条件とは、一般的な機械学習と同様に、所定エポック数の訓練が終了した、評価値が所定値に達した、等の条件であればよい。
 出力部26は、訓練が終了した学習済みモデルを出力する。出力部26は、外部へとパラメータ等を出力してもよいし、又は、記憶部12にパラメータ等を出力し、格納させてもよい。
 次に、上記で説明した処理の流れについてフローチャートを用いて説明する。図6は、本実施形態に係る訓練の流れを示すフローチャートである。
 まず、入力部10からデータを入力する(S100)。次に、順伝播部14は、入力されたデータをネットワークに順伝播させる(S102)。ネットワークは、例えば、パラメータが記憶部12に記憶されており、訓練を行うタイミングでプロセッサにより形成される。この順伝播により、入力データがネットワークにより出力データとなり出力される。
 次に、第1変換部16は、ネットワークにより出力されたデータを第1変換する(S104)。この第1変換により、ネットワークから出力されたデータが有界の領域内のデータへと変換される。また、第1変換部16は、当該出力データの元となる入力データに対応する教師データを第1変換する。
 次に、第2変換部18は、第1変換されたデータを第2変換する(S106)。この第2変換により、第1変換により有界化されたデータが拘束条件を満たすように変換される。また、第2変換部18は、第1変換された教師データを第2変換する。なお、教師データの第1変換、第2変換は、このタイミングではなくともよく、入力データをネットワークに入力するタイミング等、誤差を算出するタイミングの前までに実行されればよい。
 次に、誤差算出部20は、第2変換された入力データと、第2変換された教師データとの誤差を算出する(S108)。この誤差の算出は、一般的な訓練方法における任意の手法に基づいて実行される。
 次に、逆伝播部22は、誤差を逆伝播する(S110)。この逆伝播の結果に基づいて、更新部24は、ネットワークのパラメータを更新する(S112)。更新されたパラメータは、例えば、記憶部12に記憶される。逆伝播と更新とは、必要であれば、繰り返し実行される。
 このS100からS112の処理は、訓練の終了条件を満たすまで繰り返され、ネットワークが更新される。終了条件は、一般的な訓練方法における終了条件、例えば、エポック数が所定値に達した、誤差が所定値を下回った等の終了条件とする。
 訓練が終了すると、出力部26は、更新されたネットワークのパラメータ等、ネットワークを構成するために必要な情報を出力する(S114)。ここで、出力とは、インタフェース等を介して訓練装置1の外部へ出力することも、記憶部12に記憶することも含めた概念であるものとする。
 以上のように、第1変換及び第2変換をすることにより、ネットワークにどのようなデータが入力されたとしても、拘束条件を自然に満たすような出力を得ることができるネットワークを訓練することが可能となる。
 訓練が終了したネットワークについては、訓練時と同様のタイミングにおいて上記の有界化された空間から拘束条件を満たす領域への変換をする。そして、必要に応じて、ネットワークから取得した推定値を、有界化された空間から有界化前の空間へと逆変換することにより現実の空間における解を取得することが可能となる。ここで、現実の空間とは、推定したい解が存在し得る空間、例えば、ドローンやロボットの場合には、2次元又は3次元空間、POSの場合には、各商品とそれに対する入荷量等を示す空間のことを言う。
 なお、上記においては、拘束条件を満たす空間は、凸状の空間であるとしたが、境界線と交わらずに空間内の全ての点と線分を有することが可能な少なくとも1点のピボットが定義できる空間であれば構わない。すなわち、拘束条件を満たす空間は、図7に示すような星状空間であってもよい。もちろんこの場合、ピボットは、拘束条件を満たす空間における全ての点との間の線分が境界と交わらないように選択する。
 また、本実施形態においては、出力空間は2次元であるものとして説明したが、これには限られない。例えば、3次元以上の任意の次元の空間であってもよいし、スカラー(1次元)であってもよい。3次元以上のn次元の場合には、第1変換により出力空間は、n次元のハイパーキューブとなり、領域C10は、少なくとも1点の前述の要件を満たすピボットが定義できるn次元の凸の閉空間となる。これは、以下に示す実施形態においても同様である。
 上記の実施形態においては、ニューラルネットワーク、第1変換部16、第2変換部18がそれぞれ備えられるものとしたが、第1変換部16、第2変換部18は、それぞれニューラルネットワークと独立して備えられる必要はない。すなわち、ニューラルネットワークの層として、第1変換部16、第2変換部18が備えられてもよい。このように、設計することにより、第1変換部16、及び、第2変換部18の機能を備えた学習済みのニューラルネットワークを生成することも可能である。上述したように、各変換は、微分可能な演算で記載されるため、これらの層を備えるニューラルネットワークにおいても、誤差逆伝播によりパラメータの更新を実行することが可能である。
 この場合、第1変換、第2変換において、オフセット、バイアス(ゲイン)等を設定することも可能である。これらオフセット、バイアス等の値をも訓練することにより、ニューラルネットワークにより推定された値をより望ましい推定値とすることも可能である。
 (第2実施形態)
 前述の実施形態においては、有界化した空間の内側に拘束条件が収まるようにしたが、これには限られない。例えば、有界化した後に、当該空間からはみ出すような拘束条件の空間にデータを変換してもよい。
 図8は、本実施形態に係る有界化した後の空間と、有界化された拘束条件を満たす領域との関係を示す図である。このように、空間S12からはみ出すように、領域C12が存在していてもよい。
 例えば、ピボットP12からみて点P3に対して半直線を引くと、点O、点Q3、点R3の順番で並んでいる場合には、前述の実施形態と同様に、線分OQ3を|OR3|:|OP3|の比で内分する点に対応する解を、拘束条件を満たす解とする。
 一方で、点P4のように、ピボットP12から半直線を引くと、点O、点R4、点Q4の順番で並んでいる場合には、前述の実施形態と異なり、外分する点を解として取得する。すなわち、|OR4|:|OP4|=|OQ4|:|OS4|となるように、点S4を取得して拘束条件を満たす解とする。
 以上のように、本実施形態によれば、拘束条件を満たす領域を有界化した空間よりも拡げることも可能である。このように空間、領域を設定することにより、有界化する関数等の自由度を向上させることが可能となる。
 また、訓練時に、有界化された空間外の点を含めることもできる。これは、強化学習等において、非実効的な解を設定して訓練を行うことを可能とする。
 なお、前述の全ての実施形態において、有界化された空間から拘束条件を満たす領域への変換は、内分、外分する単純な計算により求められるものとしたが、これには限られない。例えば、空間内の点から領域内の点への変換は、全単射であり、順序保存ができる変換により実行されてもよい。さらに、連続な変換であることが望ましい。
 このような変換を行うことにより、訓練が終了したネットワークからの出力が第1変換及び第2変換後の点を推定するとしても、第2変換の逆変換及び第1変換の逆変換を行うことにより、現実の空間へと推定値を変換することが可能となる。
 また、上記の全単射、順序保存を満たす上で、ほぼあらゆる点において微分可能な変換を用いてもよい。このような微分可能な変換を用いることにより、この空間から拘束条件への変換もまた、ネットワークに組み込むことが可能となる。このように、変換をも訓練により更新することにより、より柔軟な拘束条件内の解を推定するネットワークを構成することも可能となる。ネットワークに変換が組み込まれて最適化される場合には、この逆変換を求めることにより、現実の空間における解を取得することも可能となる。
 (第3実施形態)
 図9は、本実施形態に係る推定装置の機能を示すブロック図である。推定装置2は、入力部28と、記憶部30と、訓練済モデル32と、第1変換部34と、第2変換部36と、出力部38と、を備える。推定装置2は、入力部28を介してデータを入力すると、訓練済モデル32により推定された値を、適切な範囲へと変換して出力する。
 入力部28は、データの入力を受け付ける。データは、例えば、ドローンの操縦であれば、ドローン自身が撮影したデータ、又は、ユーザが指定した速度、目標位置データ等のドローンのおかれている環境、又は、操縦に関するデータである。ドローン以外の場合においても、目標の状況に関する情報であればよい。
 記憶部30は、推定装置2において必要な情報を格納する。例えば、入力部28を介して入力されたデータを記憶部30に格納してもよい。また、訓練済モデル32、第1変換部34、第2変換部36がソフトウェアによる処理である場合には、当該ソフトウェアに関する実行ファイル、各種パラメータ等を格納してもよい。また、出力部38が出力するデータを格納してもよい。
 訓練済モデル32は、例えば、前述の各実施形態において訓練されたニューラルネットワークを備える。第1変換部34と、第2変換部36は、それぞれ前述の各実施形態と同様の変換を行うものである。
 なお、第1実施形態で記載したように、訓練時において、ニューラルネットワークに第1変換部34及び第2変換部36を備えることもできる。この場合、推定装置2において第1変換部34及び第2変換部36は、必須の構成ではなく、訓練済モデル32において、第1変換及び第2変換を実行できる構成であってもよい。
 推定装置2は、出力部38を介して訓練済モデル32により推定された値であって適切な拘束条件にしたがった推定値を出力する。
 以上のように、本実施形態によれば、解の範囲に限定がある場合にも、当該範囲に収まる推定値を出力することができる。例えば、車両、ドローン等の自動運転、POSサービスの自動化、その他の解が存在する望ましい領域がある場合にもニューラルネットワークを適用することが可能となる。例えば、自動運転においては、出力範囲を安全な運行ができる範囲に限定することにより、自動運転における安全性をより向上させることも可能となる。
 前述した実施形態における訓練装置1及び推定装置2の各機能は、アナログ回路、デジタル回路又はアナログ回路とデジタル回路の混合回路で実現されてもよい。また、訓練装置1及び推定装置2は各機能の制御を行う制御回路を備えていてもよい。これらの各回路は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等により実装されてもよい。
 上記の全ての記載において、訓練装置1及び推定装置2の一部または全部は、ハードウェアで構成されていてもよいし、CPU等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、訓練装置1、推定装置2及びそれらの少なくとも一部の機能を実現するソフトウェアをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理が実行されてもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。このようにして、コンピュータを上記の実施形態の装置とすることができる。また、このようにして、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実現されてもよい。さらに、ソフトウェアがASIC、FPGA等の回路に実装されることにより、ソフトウェアにより実行されることを想定していた情報処理がハードウェアにより実行されてもよい。モデルの生成や、生成したモデルを利用した処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
 ソフトウェアを収納する記憶媒体の種類は特に限定されるものではない。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスクやメモリ等の固定型の記憶媒体であってもよい。記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
 図10は、一実施形態におけるハードウェア構成の一例を示すブロック図である。訓練装置1及び推定装置2は、プロセッサ71と、主記憶装置72と、補助記憶装置73と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現できる。
 なお、図10のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図10では、1台のコンピュータ7が示されているが、ソフトウェアが複数のコンピュータにインストールされて、当該複数のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。
 訓練装置1及び推定装置2の各種演算は、1又は複数のプロセッサ(例えば、GPU等のアクセラレータ)を用いて、又は、ネットワークを介した複数のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられた処理回路及び記憶装置の少なくとも一方により実行され又は機能されるものであってもよい。このように、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
 プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry)であってもよい。また、プロセッサ71は、コア数を限定しないCPU又はGPUであってもよいし、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。換言すると、訓練装置1及び推定装置2、並びにそれらの各ハードウェア構成は、1又は複数のプロセッサ71により実現されてもよい。ここで、処理回路は、1チップ上に配置された1又は複数の電気回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電気回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
 主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。訓練装置1及び推定装置2内において各種データを保存するためのメモリは、主記憶装置72又は補助記憶装置73により実現されてもよい。例えば、記憶部12、30は、この主記憶装置72又は補助記憶装置73に実装されていてもよい。別の例として、コンピュータ7がアクセラレータを備える場合には、記憶部12、30は、当該アクセラレータに備えられているメモリ内に実装されていてもよい。
  また、メモリ(記憶装置)1つに対して、複数のプロセッサが物理的又は電気的に接続されてもよいし、単数のプロセッサが物理的又は電気的に接続されてもよい。プロセッサ1つに対して、複数のメモリ(記憶装置)が物理的又は電気的に接続されてもよい。一実施形態におけるハードウェアが少なくとも1つのメモリ(記憶装置)とこのメモリ(記憶装置)に接続される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つのメモリ(記憶装置)に物理的に又は電気的に接続される構成を含んでもよい。また、複数のコンピュータに含まれるメモリ(記憶装置)とプロセッサによって、この構成が実現されてもよい。さらに、メモリ(記憶装置)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよく、この場合、これらメモリ(記憶装置)へのアクセスを制御するメモリコントローラをさらに含んでもよい。
 ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して通信接続された外部装置9Aと情報のやり取りが行われてもよい。
 外部装置9Aは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイス等が含まれる。外部装置9Aとして、外部のメモリ(記憶装置)、例えば、ネットワークストレージ等を備えてもよい。また、外部装置9Aは、訓練装置1及び推定装置2の構成要素の一部の機能を有する装置でもよい。そして、コンピュータ7は、訓練装置1及び推定装置2の処理結果の一部又は全部を、クラウドサービスのように通信ネットワーク8を介して受信してもよいし、コンピュータ7の外部へと送信してもよい。
 デバイスインタフェース75は、外部装置9Bと直接接続するUSB(Universal Serial Bus)等のインタフェースである。外部装置9Bは、外部記憶媒体でもよいし、ストレージ装置でもよい。記憶部12、30は、外部装置9Bにより実現されてもよい。
 外部装置9Bは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声等を出力する装置等でもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカ等があるが、これらに限られるものではない。
 なお、外部装置9Bは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネル等のデバイスを備え、これらのデバイスにより入力された情報をコンピュータ7に与える。入力装置からの信号はプロセッサ71に出力される。
 本明細書において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)は、a、b、c、a-b、a-c、b-c、a-b-cのいずれかの組み合わせを含む。また、a-a、a-b-b、a-a-b-b-c-c等のいずれかの要素の複数のインスタンスとの組み合わせをカバーする。さらに、a-b-c-dのように、さらにdを有する組み合わせ、すなわち、a、b及び/又はc以外の他の要素が加えられた組み合わせをカバーする。
 本明細書において、「データに基づいて」の表現(同様な表現を含む)は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。
 以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。
1:訓練装置、
10、28:入力部、
12、30:記憶部、
14:順伝播部、
16、34:第1変換部、
18、36:第2変換部、
20:誤差算出部、
22:逆伝播部、
24:更新部、
26、38:出力部
32:訓練済モデル

Claims (15)

  1.  訓練対象であるニューラルネットワークモデルに、入力データを入力し、
     前記ニューラルネットワークモデルの出力データを取得し、
     前記出力データが有界集合に属するように第1変換し、
     前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換し、
     前記第2変換されたデータについて誤差逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する、
     訓練方法。
  2.  前記第1変換は、微分可能な演算である、請求項1に記載の訓練方法。
  3.  前記第1変換は、シグモイド関数に基づいた変換を行う、請求項2に記載の訓練方法。
  4.  前記所定領域は、星状領域である、請求項1から請求項3のいずれかに記載の訓練方法。
  5.  前記所定領域は、凸型領域である、請求項4に記載の訓練方法。
  6.  前記所定領域に属する所定点から、前記第1変換されたデータまでの距離と、前記所定点から前記第1変換されたデータを接続する半直線上に投射されるように、前記第1変換されたデータを前記第2変換する、請求項4に記載の訓練方法。
  7.  前記半直線上における前記所定点から、前記第1変換されたデータまでの距離及び前記有界集合の境界までの距離、の比率と、前記第2変換されたデータまでの距離及び前記所定領域の境界までの距離、の比率が等しくなるように、前記第2変換する、請求項6に記載の訓練方法。
  8.  前記半直線上において、前記所定点と、前記第1変換されたデータとを、内分又は外分して前記第2変換する、請求項6又は請求項7に記載の訓練方法。
  9.  前記ニューラルネットワークモデルが、当該ニューラルネットワークモデルを構成する層において、前記第1変換と前記第2変換を実行し、前記有界集合における前記所定領域内に属するデータを出力し、
     誤差逆伝播処理を実行して、前記第1変換と前記第2変換の処理を含んだ前記ニューラルネットワークモデルを訓練する、
     請求項1から請求項8のいずれかに記載の訓練方法。
  10.  請求項1から請求項9のいずれかに記載の訓練方法を用いて訓練された前記ニューラルネットワークモデルを備える、学習済みモデル。
  11.  メモリと、
     1又は複数のプロセッサと、を備え、
     前記1又は複数のプロセッサは、
      訓練対象であるニューラルネットワークモデルに、入力データを入力し、
     前記ニューラルネットワークモデルにおいて前記入力データを順伝播し、出力データを取得し、
     前記出力データが有界集合に属するように第1変換し、
     前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換し、
     前記第2変換されたデータについて逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する、
     ように構成される、
     訓練装置。
  12.  学習済みのニューラルネットワークモデルに、入力データを入力し、
     前記ニューラルネットワークモデルの出力データを取得し、
     前記出力データが有界集合に属するように変換し、
     前記有界集合に属するように変換されたデータが所定領域内に属するよう変換する、
     推定方法。
  13.  メモリと、
     1又は複数のプロセッサと、を備え、
     前記1又は複数のプロセッサは、
      学習済みのニューラルネットワークモデルに、入力データを入力し、
      前記ニューラルネットワークモデルの出力データを取得し、
      前記出力データが有界集合に属するように変換し、
      前記有界集合に属するように変換されたデータが所定領域内に属するように変換する、
     推定装置。
  14.  コンピュータに、
     訓練対象であるニューラルネットワークモデルに、入力データを入力する手段、
     前記ニューラルネットワークモデルにおいて前記入力データを順伝播し、の出力データを取得する手段、
     前記出力データが有界集合に属するように第1変換する手段、
     前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換する手段、
     前記第2変換されたデータについて逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する手段、
     として機能させるプログラム。
  15.  1又は複数のプロセッサに実行させると、
     訓練対象であるニューラルネットワークモデルに、入力データを入力し、
     前記ニューラルネットワークモデルにおいて前記入力データを順伝播し、の出力データを取得し、
     前記出力データが有界集合に属するように第1変換し、
     前記第1変換されたデータが、前記有界集合から、所定領域内に属するように第2変換し、
     前記第2変換されたデータについて逆伝播処理を実行して、前記ニューラルネットワークモデルを訓練する、
     ことを備える方法、
     を実行するプログラムを格納した非一時的コンピュータ可読媒体。
PCT/JP2019/032674 2018-08-28 2019-08-21 訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体 WO2020045193A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-171947 2018-08-28
JP2018171947A JP2022016709A (ja) 2018-08-28 2018-08-28 装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2020045193A1 true WO2020045193A1 (ja) 2020-03-05

Family

ID=69643296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/032674 WO2020045193A1 (ja) 2018-08-28 2019-08-21 訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体

Country Status (2)

Country Link
JP (1) JP2022016709A (ja)
WO (1) WO2020045193A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146068A (ja) * 2008-12-16 2010-07-01 Hitachi Ltd プラントの制御装置及び火力発電プラントの制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146068A (ja) * 2008-12-16 2010-07-01 Hitachi Ltd プラントの制御装置及び火力発電プラントの制御装置

Also Published As

Publication number Publication date
JP2022016709A (ja) 2022-01-24

Similar Documents

Publication Publication Date Title
KR102402111B1 (ko) 콘볼루션 신경망 정방향 연산 실행용 장치와 방법
CN115456160A (zh) 一种数据处理方法和数据处理设备
US10796225B2 (en) Distributing tensor computations across computing devices
JP6872044B2 (ja) 対象物の外接枠を決定するための方法、装置、媒体及び機器
US11468310B2 (en) Constraining actions for reinforcement learning under safety requirements
US20220318591A1 (en) Inference method and information processing apparatus
WO2021065538A1 (ja) 点群データ同一性推定装置及び点群データ同一性推定システム
JP2020198041A (ja) 訓練装置、訓練方法、推定装置及びプログラム
JP2020068000A (ja) 訓練装置、訓練方法、予測装置、予測方法及びプログラム
CN116670649B (zh) 用于设计具有优化的系统延时的机器人系统架构的方法和系统
TW202022485A (zh) 對微影最佳化之黑塞矩陣及向量之乘積的黑塞自由運算
WO2020045193A1 (ja) 訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体
WO2020121755A1 (ja) 推定装置、訓練装置、推定方法及び訓練方法
JP2021022231A (ja) 管理装置、管理方法、および管理プログラム
WO2020217620A1 (ja) 訓練装置、推定装置、訓練方法、推定方法及びプログラム
US9015095B2 (en) Neural network designing method and digital-to-analog fitting method
JP2020135748A (ja) 最適化装置、最適化方法及びプログラム
JP2023088136A (ja) 学習装置、学習方法、学習プログラム、および学習システム
JP2001076172A (ja) 曲面発生方法及びその装置並びに記憶媒体
CN117475399B (zh) 车道线拟合方法、电子设备及可读介质
JPWO2018142507A1 (ja) シミュレーション方法、システム、及びプログラム
US20230252763A1 (en) Model generation method, model generation device, and inference device
CN116630436B (zh) 相机外参修正方法、装置、电子设备和计算机可读介质
WO2022050426A1 (ja) 推定装置、推定方法及びプログラム
JP2022093863A (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: 19855692

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19855692

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP