WO2023085458A1 - 경량 딥러닝 학습 메모리 제어 방법 및 장치 - Google Patents
경량 딥러닝 학습 메모리 제어 방법 및 장치 Download PDFInfo
- Publication number
- WO2023085458A1 WO2023085458A1 PCT/KR2021/016377 KR2021016377W WO2023085458A1 WO 2023085458 A1 WO2023085458 A1 WO 2023085458A1 KR 2021016377 W KR2021016377 W KR 2021016377W WO 2023085458 A1 WO2023085458 A1 WO 2023085458A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- deep learning
- batch
- inference data
- learning network
- data
- Prior art date
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012549 training Methods 0.000 title claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Definitions
- the present invention relates to deep learning technology, and more particularly, to a method for training a lightweight deep learning network in a mobile device with few resources.
- Deep learning network training is performed in batch units. That is, it is performed by inputting all the training data constituting the batch into the deep learning network to generate inference data, and updating the weights of the deep learning network using the generated inference data.
- the present invention was made to solve the above problems, and an object of the present invention is to provide a method for learning a deep learning network without limiting the batch size even in a device with insufficient resources such as a mobile device. there is.
- a deep learning network learning method includes generating inference data while inputting a plurality of learning data constituting a batch into a deep learning network one by one; performing a batch operation to update weights of the deep learning network whenever inference data is generated; and updating weights using batch operation results when the generating and performing steps for all learning data constituting the batch are completed.
- the method for learning a deep learning network further includes, when inference data is generated in the generation step, overwriting the generated inference data with previous inference data pre-stored in a memory, and the batch operation performing step comprises: , can be performed using inference data stored in memory.
- Batch operations can use inference data to calculate errors and update gradient mean and variance for deep learning network weights.
- weights may be updated based on the final mean and variance of the gradient.
- the weight update step may be performed after repeating the inference data generating step and the batch calculation performing step twice for each batch.
- the initial batch operation may be performed using pre-stored specific inference data and inference data generated in the generation step.
- a deep learning network may be run on a mobile device.
- a deep learning network learning apparatus generates inference data while inputting a plurality of training data constituting a batch into a deep learning network one by one, and generates inference data whenever the inference data is generated.
- a processor that performs a batch operation to update the weights of the batch, and updates the weights using the results of the batch operation when inference data generation and batch operation are completed for all learning data constituting the batch; and a memory for overwriting previously stored inference data with the generated inference data when inference data is generated.
- Deep learning networks can be trained without limiting the batch size.
- 1 is a diagram showing a forward path in a multi-batch learning process
- FIG. 2 is a diagram showing a backward path in a multi-batch learning process
- 3 is a diagram comparing the amount of calculation at the time of inference and the amount of calculation at the time of learning
- 5 is a diagram showing a situation in which batch operations are performed by storing all inference data in deep learning network learning with a batch size of N;
- FIG. 6 is a diagram provided for explanation of a deep learning network learning method according to an embodiment of the present invention.
- FIG. 7 is a diagram showing the structure of a mobile device according to another embodiment of the present invention.
- the forward path which is an inference process for multi-batch learning
- the backward path which is a back-propagation process
- Multi-batch size learning that is, in a learning environment where the batch size is larger than 1, all inference data generated by inputting training data equal to the batch size into the deep learning network must be stored in memory.
- a deep learning network learning method using a memory control method that does not require a large storage space for inference data even if the batch size is large and does not require additional storage space even if the batch size increases is proposed.
- 5 shows a situation in which a batch operation is performed by storing all inference data generated in the process of learning a deep learning network when the batch size is N.
- batch operations are performed on the stored inference data one by one to calculate errors and gradients, and when all batch operations are completed, weights of the deep learning network are updated.
- this method is applicable when there is sufficient memory, and in a hardware environment where resources such as memory are limited, as shown in FIG. Memory should be reused as much as possible.
- an embodiment of the present invention proposes a method of performing a batch operation by storing only two inference data regardless of the batch size without storing all of the inference data generated from the learning data constituting the batch.
- FIG. 6 is a diagram provided to explain a method for learning a deep learning network according to an embodiment of the present invention.
- inference data is generated while inputting a plurality of training data constituting one batch into the deep learning network one by one. And, whenever inference data is generated, the generated inference data is overwritten with previous inference data pre-stored in the memory (Trained Datat temp).
- Batch operation is the process of calculating the error of the inference value and updating the gradient mean and variance for the deep learning network weights.
- Nth inference data generated from Nth learning data is stored in the memory.
- the first batch operation is performed using this inference data and the first inference data generated thereafter.
- the deep learning network weight is updated using the final batch operation result, that is, the final mean and variance of the gradient.
- a mobile device includes a communication unit 110, a processor 120, a storage unit 130, and a memory 140.
- the communication unit 110 is a communication means for communicating with an external device and accessing an external network.
- the storage unit 130 is a storage in which data necessary for a mobile device is stored, and learning data is stored in relation to an embodiment of the present invention.
- the processor 120 trains the deep learning network and drives the trained deep learning network to perform inference. Deep learning network training is performed by the method shown in FIG. 6 described above.
- the memory 140 provides a storage space necessary for the processor 120 to train the deep learning network and drive the trained deep learning network.
- memory 140 stores inference data and provides storage space necessary for batch operations and weight updates.
- inference data one by one for the learning data constituting the batch and performing batch calculations each time
- deep learning is possible without limiting the batch size even in devices with insufficient resources such as mobile devices. to train the network.
- the technical spirit of the present invention can also be applied to a computer-readable recording medium containing a computer program for performing the functions of the apparatus and method according to the present embodiment.
- technical ideas according to various embodiments of the present invention may be implemented in the form of computer readable codes recorded on a computer readable recording medium.
- the computer-readable recording medium may be any data storage device that can be read by a computer and store data.
- the computer-readable recording medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, and the like.
- computer readable codes or programs stored on a computer readable recording medium may be transmitted through a network connected between computers.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
경량 딥러닝 학습 메모리 제어 방법 및 장치가 제공된다. 본 발명의 실시예에 따른 딥러닝 네트워크 학습 방법은, 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성하고, 추론 데이터가 생성될 때마다 딥러닝 네트워크의 웨이트를 업데이트하기 위한 배치 연산을 수행하며, 배치를 구성하는 모든 학습 데이터들에 대해 생성단계와 수행단계가 종료되면 배치 연산 결과를 이용하여 웨이트를 업데이트 한다. 이에 의해, 배치를 구성하는 학습 데이터들에 대해 하나씩 추론 데이터들을 생성해 가면서 그 때마다 배치 연산을 수행함으로써, 모바일 디바이스와 같이 리소스가 충분하지 못한 디바이스에서도 배치 크기에 대한 제한 없이 딥러닝 네트워크를 학습시킬 수 있게 된다.
Description
본 발명은 딥러닝 기술에 관한 것으로, 더욱 상세하게는 리소스가 적은 모바일 디바이스에서 경량 딥러닝 네트워크를 학습시키는 방법에 관한 것이다.
딥러닝 네트워크 학습은 배치(batch) 단위로 수행된다. 즉 배치를 구성하는 모든 학습 데이터들을 딥러닝 네트워크에 입력하여 추론 데이터들을 생성하고, 생성한 추론 데이터들을 이용하여 딥러닝 네트워크의 웨이트들을 업데이트 하는 방식으로 수행된다.
대용량의 메모리를 확보하고 있는 서버에서는 위와 같은 방식으로 딥러닝 네트워크를 학습시킴에 있어서는 아무런 문제가 없다. 하지만 모바일 디바이스와 같이 리소스가 충분하지 못한 디바이스에서 위와 같은 학습 방식은 문제가 된다.
생성되는 추론 데이터의 용량이 크기 때문인데, 이를 해소하기 위해서는 배치의 크기를 줄이는 방법을 상정할 수 있다. 하지만 배치 크기가 작아지면 딥러닝 네트워크의 추론 정확도가 떨어지는 문제가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 모바일 디바이스와 같이 리소스가 충분하지 못한 디바이스에서도 배치 크기에 대한 제한 없이 딥러닝 네트워크를 학습시킬 수 있는 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 딥러닝 네트워크 학습 방법은, 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성하는 단계; 추론 데이터가 생성될 때마다 딥러닝 네트워크의 웨이트를 업데이트하기 위한 배치 연산을 수행하는 단계; 및 배치를 구성하는 모든 학습 데이터들에 대해 생성단계와 수행단계가 종료되면, 배치 연산 결과를 이용하여 웨이트를 업데이트 하는 단계;를 포함한다.
본 발명의 실시예에 따른 딥러닝 네트워크 학습 방법은, 생성 단계에서 추론 데이터가 생성되면, 생성된 추론 데이터를 메모리에 기저장된 이전 추론 데이터에 덮어쓰는 단계;를 더 포함하고, 배치 연산 수행 단계는, 메모리에 저장된 추론 데이터를 이용하여 수행될 수 있다.
배치 연산은, 추론 데이터를 이용하여 에러를 계산하고 딥러닝 네트워크 웨이트에 대한 그래디언트 평균과 분산을 업데이트 할 수 있다.
웨이트 업데이트 단계는, 그래디언트의 최종 평균과 분산을 기초로, 웨이트를 업데이트 할 수 있다.
웨이트 업데이트단계는, 배치에 대해, 추론 데이터 생성단계와 배치 연산 수행단계를 2회 반복한 이후에 수행될 수 있다.
최초의 배치 연산은, 기저장되어 있는 특정 추론 데이터와 생성 단계에서 생성되는 추론 데이터를 이용하여 수행될 수 있다.
딥러닝 네트워크는, 모바일 디바이스에서 구동될 수 있다.
한편, 본 발명의 다른 실시예에 따른, 딥러닝 네트워크 학습 장치는, 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성하고, 추론 데이터가 생성될 때마다 딥러닝 네트워크의 웨이트를 업데이트 하기 위한 배치 연산을 수행하며, 배치를 구성하는 모든 학습 데이터들에 대해 추론 데이터 생성과 배치 연산이 종료 되면 배치 연산 결과를 이용하여 웨이트를 업데이트 하는 프로세서; 및 추론 데이터가 생성되면, 생성된 추론 데이터를 기저장된 이전 추론 데이터에 덮어쓰는 메모리;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 배치를 구성하는 학습 데이터들에 대해 하나씩 추론 데이터들을 생성해 가면서 그 때마다 배치 연산을 수행함으로써, 모바일 디바이스와 같이 리소스가 충분하지 못한 디바이스에서도 배치 크기에 대한 제한 없이 딥러닝 네트워크를 학습시킬 수 있게 된다.
도 1은 멀티 배치 학습 과정에서 추론 과정(Forward path)을 나타낸 도면,
도 2는 멀티 배치 학습 과정에서 역전파 과정(Backward path)을 나타낸 도면,
도 3은 추론 시의 연산량과 학습 시의 연산량을 비교한 도면,
도 4는 resnet 기반의 추론 시 연산량과 학습 시 연산량을 레이어들 별로 비교한 도면,
도 5는 배치 크기가 N인 딥러닝 네트워크 학습에서 추론 데이터들을 모두 저장하여 배치 연산을 수행하는 상황을 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 딥러닝 네트워크 학습 방법의 설명에 제공되는 도면, 그리고,
도 7은 본 발명의 다른 실시예에 따른 모바일 디바이스의 구조를 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
현재 대부분의 딥러닝 네트워크는 다수의 고성능 GPU와 많은 양의 메모리를 보유하고 있는 서버 단에서 학습을 진행하기 때문에 컴퓨팅 리소스로 비롯되는 문제가 없다.
하지만 모바일 디바이스와 같이 리소스와 파워가 제한적인 경우, 필요한 연산량과 중간 데이터 연산을 위한 메모리 사용량을 줄이는 방법으로 하드웨어 개발이 진행되어야 한다.
특히 소형 다바이스를 위한 학습 전용 ASIC 및 FPGA 플랫폼에서 다수의 영상을 이용한 멀티-배치 크기(multi-batch size) 학습시 모든 중간 연산 결과 값을 보유한 상태로 학습이 불가능하기 때문에 이를 보완하기 위한 기술을 필요로 한다.
학습은 크게 추론(inference) 과정과 역전파(back-propagation) 과정으로 이루어진다. 멀티-배치 학습을 위한 추론 과정인 Forward path를 도 1에 나타내었고, 역전파 과정인 Backward path를 도 2에 나타내었다.
딥러닝 네트워크의 학습을 위해서는 현재 웨이트를 기반으로 추론 과정을 거친 후에 에러 값을 연산하고 그래디언트를 계산하여 이전 웨이트를 업데이트 하는 과정을 거치는데, 도 3에 나타낸 바와 같이 추론 시의 연산량과 비교할 때 학습 시의 연산량이 상당히 많음을 알 수 있다.
실제로 resnet 기반으로 추론 시의 연산량과 학습 시의 연산량을 비교해 보면, 추론 시에는 72GOPS가 필요한 반면 학습 시에는 203GOPS를 필요로 한다. 또한 각 Layer 별로 연산량이 다른데 이는 도 4에 나타내었다. 모든 레이어들에 대해 추론 시 보다 학습 시의 연산량이 많다는 것을 알 수 있다.
멀티-배치 크기 학습, 즉, 배치 크기가 1개 보다 큰 학습 환경에서는 배치 크기 만큼의 학습 데이터를 딥러닝 네트워크에 입력하여 생성한 추론 데이터들을 메모리에 모두 저장해야 한다.
또한 배치 연산시에는 딥러닝 네트워크에 대한 그래디언트 평균과 분산을 계산하므로, 저장된 추론 데이터를 여러 번 불러서 업데이트 해야 하는 상황이 발생한다.
아울러 학습을 위하여 특정 공간에 저장된 기존 학습된 원본 데이터를 불러와서 학습을 진행해야 한다. 따라서 기존의 학습데이터 외에, 현재 처리 되고 있는 모든 배치 크기만큼의 추론 데이터를 저장하여야 하는데, 하드웨어 메모리 공간은 한정되어 있기 때문에 데이터를 저장/관리하는 방법이 중요한 문제가 된다.
본 발명의 실시예에서는 배치 크기가 크더라도 추론 데이터를 큰 저장 공간을 요구하지 않고, 배치 크기가 증가되더라도 저장 공간을 추가적으로 요하지 않는 메모리 제어 방법을 적용한 딥러닝 네트워크 학습 방법을 제시한다.
도 5에는 배치 크기가 N인 경우에 딥러닝 네트워크를 학습시키는 과정에서 생성되는 추론 데이터들을 모두 저장하여 배치 연산을 수행하는 상황을 나타내었다.
도 5에서는 저장된 추론 데이터들에 대해 하나씩 배치 연산을 수행하여 에ㄹ러와 그래디언트를 연산하고, 배치 연산이 모두 완료되면 딥러닝 네트워크의 웨이트를 업데이트 한다.
추론 데이터들이 딥러닝 네트워크 크기에 비례하게 증가하게 되므로 메모리가 충분한 경우에 적용 가능한 방식이며, 메모리 등의 자원이 한정되어 있는 하드웨어 환경에서는 도 5에 도시된 바와 같이 추론 데이터들을 모두 저장할 수 없으므로 보유하고 있는 메모리를 최대한 재사용해야 한다.
이에 따라, 본 발명의 실시예에서는 배치를 구성하는 학습 데이터로부터 생성한 추론 데이터들을 모두 저장하지 않고, 배치 크기에 상관없이 2개의 추론 데이터만을 저장하여 배치 연산을 수행하는 방법을 제시한다.
도 6은 본 발명의 일 실시예에 따른 딥러닝 네트워크 학습 방법의 설명에 제공되는 도면이다.
도시된 바와 같이, 하나의 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성한다. 그리고, 추론 데이터가 생성될 때마다, 생성된 추론 데이터를 메모리(Trained Datat temp)에 기저장되어 있는 이전 추론 데이터에 덮어쓴다.
그리고 추론 데이터가 생성되어 메모리에 덮어쓰기 되어 저장될 때마다 배치 연산이 수행된다. 배치 연산은 추론 값의 에러를 계산하고 딥러닝 네트워크 웨이트에 대한 그래디언트 평균과 분산을 업데이트하는 과정이다.
최초의 배치 연산을 위해 메모리에는 특정 추론 데이터, 도 6에서는 N번째 학습 데이터로부터 생성된 N번째 추론 데이터가 저장되어 있다. 최초의 배치 연산은 이 추론 데이터와 이후 최초로 생성되는 추론 데이터를 이용하여 수행된다.
배치를 구성하는 모든 학습 데이터들에 대해 추론 데이터 생성과 배치 연산이 완료되면, 동일한 절차를 한 번 더 수행한다. 즉, 하나의 배치에 대해 추론 데이터 생성과 배치 연산이 2회 반복되어 수행되는 것이다.
추론 데이터 생성과 배치 연산이 2회 반복 완료되면, 최종 배치 연산 결과, 즉, 그래디언트의 최종 평균과 분산을 이용하여 딥러닝 네트워크 웨이트를 업데이트한다.
도 7은 본 발명의 다른 실시예에 따른 모바일 디바이스의 구조를 도시한 도면이다. 본 발명의 실시예에 따른 모바일 디바이스는, 통신부(110), 프로세서(120), 저장부(130) 및 메모리(140)를 포함하여 구성된다.
통신부(110)는 외부 디바이스와 통신하고 외부 네트워크에 액세스하기 위한 통신 수단이다. 저장부(130)는 모바일 디바이스에 필요한 데이터들이 저장되는 스토리지이며, 본 발명의 실시예와 관련하여서는 학습 데이터가 저장된다.
프로세서(120)는 딥러닝 네트워크를 학습시키고, 학습된 딥러닝 네트워크를 구동하여 추론을 수행한다. 딥러닝 네트워크 학습은 전술한 도 6에 제시된 방법으로 수행된다.
메모리(140)는 프로세서(120)가 딥러닝 네트워크를 학습시키고, 학습된 딥러닝 네트워크를 구동하는데 필요한 저장 공간을 제공한다. 본 발명의 실시예와 관련하여, 메모리(140)는 추론 데이터가 저장되고 배치 연산과 웨이트 업데이트에 필요한 저장 공간을 제공한다.
지금까지, 리소스의 제한이 있는 모바일 디바이스에서 딥러닝 네트워크 학습 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.
본 발명의 실시예에서는 배치를 구성하는 학습 데이터들에 대해 하나씩 추론 데이터들을 생성해 가면서 그 때마다 배치 연산을 수행함으로써, 모바일 디바이스와 같이 리소스가 충분하지 못한 디바이스에서도 배치 크기에 대한 제한 없이 딥러닝 네트워크를 학습시킬 수 있도록 하였다.
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (8)
- 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성하는 단계;추론 데이터가 생성될 때마다 딥러닝 네트워크의 웨이트를 업데이트하기 위한 배치 연산을 수행하는 단계; 및배치를 구성하는 모든 학습 데이터들에 대해 생성단계와 수행단계가 종료되면, 배치 연산 결과를 이용하여 웨이트를 업데이트 하는 단계;를 포함하는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 1에 있어서,생성 단계에서 추론 데이터가 생성되면, 생성된 추론 데이터를 메모리에 기저장된 이전 추론 데이터에 덮어쓰는 단계;를 더 포함하고,배치 연산 수행 단계는,메모리에 저장된 추론 데이터를 이용하여 수행되는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 1에 있어서,배치 연산은,추론 데이터를 이용하여 에러를 계산하고 딥러닝 네트워크 웨이트에 대한 그래디언트 평균과 분산을 업데이트 하는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 3에 있어서,웨이트 업데이트 단계는,그래디언트의 최종 평균과 분산을 기초로, 웨이트를 업데이트 하는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 1에 있어서,웨이트 업데이트단계는,배치에 대해, 추론 데이터 생성단계와 배치 연산 수행단계를 2회 반복한 이후에 수행되는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 1에 있어서,최초의 배치 연산은,기저장되어 있는 특정 추론 데이터와 생성 단계에서 생성되는 추론 데이터를 이용하여 수행되는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 청구항 1에 있어서,딥러닝 네트워크는,모바일 디바이스에서 구동되는 것을 특징으로 하는 딥러닝 네트워크 학습 방법.
- 배치를 구성하는 다수의 학습 데이터들을 딥러닝 네트워크에 하나씩 입력하면서 추론 데이터를 생성하고, 추론 데이터가 생성될 때마다 딥러닝 네트워크의 웨이트를 업데이트 하기 위한 배치 연산을 수행하며, 배치를 구성하는 모든 학습 데이터들에 대해 추론 데이터 생성과 배치 연산이 종료 되면 배치 연산 결과를 이용하여 웨이트를 업데이트 하는 프로세서; 및추론 데이터가 생성되면, 생성된 추론 데이터를 기저장된 이전 추론 데이터에 덮어쓰는 메모리;를 포함하는 것을 특징으로 하는 딥러닝 네트워크 학습 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0154364 | 2021-11-11 | ||
KR1020210154364A KR20230068509A (ko) | 2021-11-11 | 2021-11-11 | 경량 딥러닝 학습 메모리 제어 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023085458A1 true WO2023085458A1 (ko) | 2023-05-19 |
Family
ID=86335950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/016377 WO2023085458A1 (ko) | 2021-11-11 | 2021-11-11 | 경량 딥러닝 학습 메모리 제어 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230068509A (ko) |
WO (1) | WO2023085458A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
KR20160144467A (ko) * | 2014-04-11 | 2016-12-16 | 구글 인코포레이티드 | 컨볼루션 신경망들의 트레이닝을 병렬화 |
US20180267806A1 (en) * | 2017-03-16 | 2018-09-20 | Flexera Software Llc | Calculating wait time for batch scheduler jobs |
US20200257983A1 (en) * | 2019-02-13 | 2020-08-13 | Toshiba Memory Corporation | Information processing apparatus and method |
CN113469341A (zh) * | 2021-07-07 | 2021-10-01 | 河海大学 | 一种基于版本差异的流水线并行训练节点权重分配方法 |
-
2021
- 2021-11-11 KR KR1020210154364A patent/KR20230068509A/ko not_active Application Discontinuation
- 2021-11-11 WO PCT/KR2021/016377 patent/WO2023085458A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160144467A (ko) * | 2014-04-11 | 2016-12-16 | 구글 인코포레이티드 | 컨볼루션 신경망들의 트레이닝을 병렬화 |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
US20180267806A1 (en) * | 2017-03-16 | 2018-09-20 | Flexera Software Llc | Calculating wait time for batch scheduler jobs |
US20200257983A1 (en) * | 2019-02-13 | 2020-08-13 | Toshiba Memory Corporation | Information processing apparatus and method |
CN113469341A (zh) * | 2021-07-07 | 2021-10-01 | 河海大学 | 一种基于版本差异的流水线并行训练节点权重分配方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20230068509A (ko) | 2023-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022146080A1 (ko) | 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법 | |
CN113568727A (zh) | 一种基于深度强化学习的移动边缘计算任务分配方法 | |
CN112329948A (zh) | 一种多智能体策略预测方法及装置 | |
WO2022080790A1 (en) | Systems and methods for automatic mixed-precision quantization search | |
KR102655950B1 (ko) | 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치 | |
CN113077052B (zh) | 用于稀疏奖励环境的强化学习方法、装置、设备及介质 | |
WO2019066104A1 (ko) | 히스토리 데이터 기반 뉴럴 네트워크 학습을 통한 공정 제어 방법 및 시스템 | |
WO2020218723A1 (ko) | 양자화 오류 문제를 해결하기 위한 3d 프린팅 슬라이싱 방법 | |
CN112348200A (zh) | 一种基于联邦学习的受控共享学习方法及系统 | |
WO2023085458A1 (ko) | 경량 딥러닝 학습 메모리 제어 방법 및 장치 | |
CN114282665A (zh) | 神经网络模型的并行训练方法、装置以及电子设备 | |
WO2023224205A1 (ko) | 인공 신경망 모델 학습 결과 합성을 통한 공통 모델 생성 방법 | |
WO2022107910A1 (ko) | 재학습 가능한 모바일 딥러닝 하드웨어 장치 | |
WO2023277448A1 (ko) | 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템 | |
WO2023033194A1 (ko) | 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 | |
CN110450164A (zh) | 机器人控制方法、装置、机器人及存储介质 | |
EP4341865A1 (en) | Electronic device and method for torque-based structured pruning for deep neural networks | |
CN116187403A (zh) | 存储介质、模型简化装置和模型简化方法 | |
CN114580555A (zh) | 一种基于局部结构一致性的对抗知识蒸馏语义分割方法 | |
WO2024090600A1 (ko) | 딥러닝 모델 학습 방법 및 이를 적용한 딥러닝 연산장치 | |
WO2023080292A1 (ko) | 딥러닝 가속장치를 위한 적응적 파라미터 생성 장치 및 방법 | |
WO2024135861A1 (ko) | 가변 데이터 표현형을 적용한 딥러닝 학습 방법 및 이를 적용한 모바일 디바이스 | |
WO2023085457A1 (ko) | 효율적인 딥러닝 학습을 위한 메모리 구조 및 제어 방법 | |
WO2023214608A1 (ko) | 양자 회로 시뮬레이션 하드웨어 | |
CN111709513B (zh) | 长短期记忆网络lstm的训练系统、方法及电子设备 |
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: 21964168 Country of ref document: EP Kind code of ref document: A1 |