KR20210112082A - 분산 병렬 딥러닝 시스템, 서버 및 방법 - Google Patents

분산 병렬 딥러닝 시스템, 서버 및 방법 Download PDF

Info

Publication number
KR20210112082A
KR20210112082A KR1020200027200A KR20200027200A KR20210112082A KR 20210112082 A KR20210112082 A KR 20210112082A KR 1020200027200 A KR1020200027200 A KR 1020200027200A KR 20200027200 A KR20200027200 A KR 20200027200A KR 20210112082 A KR20210112082 A KR 20210112082A
Authority
KR
South Korea
Prior art keywords
learning
servers
job
batch
mini
Prior art date
Application number
KR1020200027200A
Other languages
English (en)
Other versions
KR102444449B1 (ko
Inventor
조성래
전주형
김중헌
Original Assignee
중앙대학교 산학협력단
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 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020200027200A priority Critical patent/KR102444449B1/ko
Publication of KR20210112082A publication Critical patent/KR20210112082A/ko
Application granted granted Critical
Publication of KR102444449B1 publication Critical patent/KR102444449B1/ko

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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

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)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 분산 병렬 딥러닝 시스템 및 방법에 관한 것으로, 분산 병렬 딥러닝 시스템은 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 제1 레이어의 학습 과정을 수행함으로써 연산된 가중치를 전방향 전파하는 복수개의 작업서버; 및 상기 복수개의 작업서버로부터 전파되는 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 연산한 총(total) 가중치를 상기 복수개의 작업서버 각각에 역방향 전파하는 학습관리서버를 포함하고, 상기 복수개의 작업서버 각각은 역방향 전파된 총(total) 가중치를 상기 제1 레이어에 적용하는 것을 특징으로 한다.

Description

분산 병렬 딥러닝 시스템, 서버 및 방법{Distributed parallel deep learning system, server and method}
본 발명은 분산 병렬 딥러닝 시스템, 서버 및 방법에 관한 것으로써, 더욱 상세하게는 복수개의 서버가 로우데이터를 공유하지 않고 분산 병렬적으로 딥러닝을 수행하는 분산 병렬 딥러닝 시스템, 서버 및 방법에 관한 것이다.
딥러닝(Deep Learning)은 사람의 신경 세포(Biological Neuron)를 모사하여 기계가 학습될 수 있게 하는 다계층 인공 신경망(Multi-Layer Artificial Neural Network)에 기반을 둔 기계 학습 기술로서 컴퓨터 비전(Computer Vision), 음성 인식(Speech Recognition), 자연어 처리(Natural Language Processing) 빅 데이터(Big Data) 분야에서 인식 성능을 높이는데 굉장히 중요한 역할을 하고 있다.
도 1은 일반적인 딥러닝 학습 과정을 설명하기 위한 도면이다.
도 1을 참조하여 일반적인 딥러닝 학습 과정을 간략히 살펴보면, 딥러닝 학습 과정은 입력 계층부터 다수의 은닉계층을 거쳐 출력계층까지 특징값(Deep learning parameter)과 목적함수를 계산해 나가는 전방향전파인 순전파(Forward Propagation) 과정과, 오류를 반영하여 출력계층으로부터 은닉계측을 거쳐 입력계층까지 가중치를 수정하는 역방향전파인 역전파(Backward Propagarion) 과정을 반복하는 방식으로 수행된다. 이러한 딥러닝 학습 과정에서 수정되는 가중치는 오류가 최소화될 때까지 반복 갱신된다.
도 1을 참조하면 전방향 전파과정은 입력 계층(Input layer)부터 여러 은닉 계층(Hidden layer)을 거쳐 출력(Output) 계층까지 정방향으로 특징값들을 계산하는 과정이고, 역방향전파과정은 출력 계층에서 여러 은닉 계층을 거쳐 입력 계층까지 역방향으로 비용을 최소화하는 가중치(weight)로 갱신하는 역방향 전파 과정의 반복으로 구성된다.
한편, 최근 개인정보법이 강화되고, 데이터의 보안이 중요해짐에 따라, 딥러닝을 수행하기 위한 로우 데이터 확보에 어려움이 있다. 예를 들어, 병원의 경우, 환자의 개인 데이터를 외부로 노출할 수 없기 때문에, 병원들의 기록을 수집하기 위하여, 개인 정보 삭제, 병원 내 심의 등 엄격한 절차를 거쳐야 한다.
따라서, 개인정보법 등의 이슈로 인하여 데이터 수집 자체가 어려운 경우에, 로우 데이터를 직접 수집하지 않고, 딥러닝 학습을 진행할 수 있는 방법이 요구된다.
상술한 문제점을 해결하기 위해, 본 발명의 일 실시예는 서로 각기 다른 주체의 서버로부터 로우 데이터를 직접 수집하지 않고, 딥러닝 학습을 진행할 수 있는 분산 병렬 딥러닝 시스템 및 방법을 제공하는데 목적이 있다.
또 다른 목적은 분산 병렬처리함으로써, 연산 효율을 높이면서도 정확한 딥러닝 효과를 제공하도록 하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시예는 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 제1 레이어의 학습 과정을 수행함으로써 연산된 가중치를 전방향 전파하는 복수개의 작업서버; 및 상기 복수개의 작업서버로부터 전파되는 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 연산한 총(total) 가중치를 상기 복수개의 작업서버 각각에 역방향 전파하는 학습관리서버를 포함하고, 상기 복수개의 작업서버 각각은 역방향 전파된 총(total) 가중치를 상기 제1 레이어에 적용하는 것을 특징으로 하는 분산 병렬 딥러닝 시스템을 포함한다.
일 실시예에서, 상기 복수개의 작업서버 각각은 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하되, 미니배치(Mini-Batch) 단위로 1회 학습 후 역방향 전파에 의해 수신받은 총 가중치를 제1 레이어에 업데이트 한 후 다음 미니배치의 학습을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 복수개의 작업서버 각각은 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 것을 특징으로 한다.
일 실시예에서, 상기 복수개의 작업서버 각각은 학습 과정 수행 이전 서로 동일한 제1 레이어를 갖도록 초기화하는 것을 특징으로 한다.
본 발명의 일 실시예는 제1 레이어를 갖는 학습 모델 및 로우데이터를 저장하는 저장부; 상기 로우데이터에 기초하여 상기 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 학습부; 및 연산된 가중치를 학습관리서버로 전방향 전파하는 데이터통신부를 포함하고, 상기 학습부는 상기 학습관리서버로부터 역방향 전파된 총(total) 가중치를 수신하여 상기 제1 레이어에 적용하는 것을 특징으로 하는 작업서버를 포함한다.
일 실시예에서, 상기 학습부는 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하되, 미니배치(Mini-Batch) 단위로 1회 학습 후 상기 학습관리서버로부터 총 가중치를 수신할 때까지 다음 미니배치의 학습을 대기하는 것을 특징으로 한다.
일 실시예에서, 상기 학습부는 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 것을 특징으로 한다.
본 발명의 일 실시예는, 학습 모델을 저장하는 저장부; 상기 학습 모델에 의해 복수개의 작업서버로부터 전파되는 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 총(total) 가중치를 연산하는 학습관리부; 및 상기 총 가중치를 복수개의 작업서버 각각에 역방향 전파하는 데이터통신부를 포함하는 학습관리서버를 포함한다.
본 발명의 일 실시예는, 딥러닝 시스템의 분산 병렬 딥러닝 방법으로서, 복수개의 작업서버 각각이 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 단계; 상기 복수개의 작업서버가 연산된 가중치를 각각 학습관리서버에 전방향 전파하는 단계; 상기 학습관리서버가 복수개의 작업서버 각각으로부터 수신한 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 총(total) 가중치를 연산하는 단계; 및 상기 학습관리서버가 상기 총 가중치를 복수개의 작업서버 각각에 역방향 전파하는 단계를 포함한다.
일 실시예에서, 상기 복수개의 작업서버 각각은 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하고, 미니배치(Mini-Batch) 단위로 1회 학습 후 상기 학습관리서버로부터 총 가중치를 수신할 때까지 다음 미니배치의 학습을 대기하는 것을 특징으로 한다.
일 실시예에서, 분산 병렬 딥러닝 방법은 상기 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 단계 이전에, 상기 복수개의 작업서버 각각은 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 단계를 더 포함한다.
일 실시예에서, 분산 병렬 딥러닝 방법은 상기 복수개의 작업서버 각각은 학습 과정 수행 이전 서로 동일한 제1 레이어를 갖도록 초기화하는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면, 주체가 각자 다른 서버로부터 로우데이터를 송수신하지 않고, 딥러닝 학습을 진행할 수 있다.
또한, 복수개의 서버에서 딥러닝을 분산 병렬적으로 수행함으로써, 연산효율을 높이면서도 정확한 딥러닝 효과를 제공한다.
도 1은 일반적인 딥러닝 학습 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 구조를 개략적으로 도시한 블럭도이다.
도 3은 본 발명의 실시예에 따른 작업서버의 구조를 개략적으로 도시한 블럭도이다.
도 4은 본 발명의 실시예에 따른 학습관리서버의 구조를 개략적으로 도시한 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 딥러닝 학습을 위한 전처리 과정을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 레이어 구조의 일 예를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 딥러닝 학습과정을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 방법의 정확도 실험에 대한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 분산 병렬 딥러닝 시스템 및 방법에 대해 설명한다.
먼저, 도 2는 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 구조를 개략적으로 도시한 블럭도이다.
도 2를 참조하면, 본 발명에 의한 분산 병렬 딥러닝 시스템은 복수개의 작업서버(100) 및 학습관리서버(200)를 포함할 수 있다. 분산 병렬 딥러닝 시스템의 네트워크 구조는 딥러닝 학습과정의 분산처리를 수행하는 복수개의 작업서버(100)가 네트워크를 통해 학습관리서버(200)와 병렬로 연결되어 있다. 이하에서는 편의를 위해 네트워크를 언급하지 않고 작업서버(100)와 학습관리서버(200)가 직접 통신하는 것처럼 설명한다.
이처럼 분산 병렬 딥러닝 시스템의 네트워크 구조에서는, 복수개의 작업서버(100)가 각각 소유하고 있는 로우 데이터를 데이터 병렬처리(Data Parallelism) 기법을 기반으로 학습이 수행하게 된다.
즉, 데이터 병렬처리 기법을 기반으로 복수개의 작업서버(100) 각각이 자신이 소유한 로우데이터를 이용하여 학습을 진행하게 되므로, 학습관리서버(200)가 로우데이터를 직접 수신할 필요가 없다.
또한, 복수개의 작업서버(100) 각각이 순차적으로 학습을 진행하는 것이 아니라, 병렬적으로 학습을 진행하므로, 순차적인 학습진행보다 연산자원의 효율을 높일 수 있고, 순차적인 학습으로 발생할 수 있는 오버피팅(Overfitting) 문제를 완화할 수 있다.
또한, 복수개의 작업서버(100)에서 분산 학습이 수행됨으로써, 발생할 수 있는 정확성 문제를 해결하기 위하여, 복수개의 작업서버(100) 각각이 학습관리서버(200)에 전방향 전파를 수행하고, 학습관리서버(200)가 복수개의 작업서버(100)에 역방향 전파를 수행하여, 높은 수준의 정확성이 보장될 수 있도록 한다.
작업서버(100)는 로우데이터를 보유하고 있는 서버로서, 예컨대, 의료기관의 서버, 금융기관의 서버일 수 있다. 복수개의 작업서버(100) 각각은 서로 다른 주체가 소유하는 서버일 수 있다.
복수개의 작업서버(100) 각각은 딥러닝 학습을 위한 특정한 학습모델을 가지고 있다.
복수개의 작업서버(100) 각각은 미리 획득한 로우데이터에 기초하여 해당 모델의 구조에 의한 학습(learning)을 수행한다. 작업서버(100)는 학습 과정에 의해 연산한 가중치를 학습관리서버(200)에 전방향 전파(Forward Propagation)한다. 복수개의 작업서버(100) 각각은 서로 다른 로우데이터를 가지고 있으므로, 학습 과정에 따라 연산된 가중치는 서로 다른 값일 수 있다. 추후 복수개의 작업서버(100) 각각은 학습관리서버(200)로부터 역방향 전파되는 총(total) 가중치를 수신하여 가중치를 업데이트 한다. 이를 통해 복수개의 작업서버(100) 각각은 서로 동일한 가중치를 갖게 된다. 이와 같이 복수개의 작업서버(100) 각각이 동일한 가중치를 갖게 되는 것을 동기화라고 한다.
도 3은 본 발명의 실시예에 따른 작업서버의 구조를 개략적으로 도시한 블럭도이다.
작업서버(100)는 데이터송수신부(110), 저장부(120) 및 학습부(130)를 포함할 수 있다.
데이터송수신부(110)는 학습관리서버(200)와 데이터를 송수신한다. 데이터송수신부(110)는 학습관리서버(200)로부터 수신한 데이터를 학습부(130)에게 전달한다. 또한 데이터송수신부(110)는 학습부(130)의 요청에 따라 데이터를 학습관리서버(200)에게 전달한다. 데이터송수신부(110)가 사용하는 통신 기술은 네트워크의 유형이나 기타 사정에 따라 달라질 수 있다.
저장부(120)는 로우데이터 및 딥러닝 학습을 위한 특정한 학습모델을 저장한다. 또한, 학습부(130)의 학습 수행에 따라 발생 또는 획득한 데이터를 저장하고, 요청된 데이터를 학습부(130)에 전달한다.
저장부(120)는 물리적으로 분리돼 있는 저장장치의 총합으로 구현될 수도 있다.
저장부(120)가 물리적으로 분리돼 있는 여러 장치의 총합으로 구현되는 경우 여러 장치들 사이의 통신이 필요할 수 있다. 여기서는 설명의 단순화를 위하여 저장부(120)가 하나의 객체로 구현된 경우를 가정하여 설명할 것이다.
학습부(130)는 작업서버(100)의 저장부(130)에 저장된 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 보유한 앞쪽 레이어의 학습 과정을 수행하고, 학습관리서버(200)의 지시에 따라 다른 작업서버(100)와 동일한 레이어를 갖도록 동기화 과정을 수행한다.
도 4은 본 발명의 실시예에 따른 학습관리서버의 구조를 개략적으로 도시한 블럭도이다.
학습관리서버(200)는 데이터송수신부(210), 저장부(220) 및 학습관리부(230)를 포함할 수 있다.
데이터송수신부(210)는 작업서버(100)와 데이터를 송수신한다. 데이터송수신부(210)는 작업서버(100)로부터 수신한 데이터를 학습부(230)에게 전달한다. 또한 데이터송수신부(210)는 학습부(230)의 요청에 따라 데이터를 작업서버(100)에게 전달한다. 데이터송수신부(110)가 사용하는 통신 기술은 네트워크의 유형이나 기타 사정에 따라 달라질 수 있다.
저장부(220)는 딥러닝 학습을 위한 특정한 학습모델을 저장한다. 또한, 학습부(230)의 학습 수행에 따라 발생 또는 획득한 데이터를 저장하고, 요청된 데이터를 학습부(230)에 전달한다.
저장부(220)는 물리적으로 분리돼 있는 저장장치의 총합으로 구현될 수도 있다.
저장부(220)가 물리적으로 분리돼 있는 여러 장치의 총합으로 구현되는 경우 여러 장치들 사이의 통신이 필요할 수 있다. 여기서는 설명의 단순화를 위하여 저장부(220)가 하나의 객체로 구현된 경우를 가정하여 설명할 것이다.
학습부(230)는 복수개의 작업서버(100)로부터 전방향 전파받은 데이터를 이용하여 복수개의 작업서버(100)의 레이어를 동기화하기 위한 데이터를 생성하여 복수개의 작업서버(100) 각각에 역방향 전파한다.
학습부(230)는 작업서버(100)가 소유한 앞쪽 레이어(제1 레이어)를 제외한 나머지 레이어의 학습 과정을 수행한다.
이하, 상술한 바와 같은 구성을 갖는 본 발명의 일 실시예에 따른 작업서버(100)와 학습관리서버(200)를 포함하는 분산 병렬 딥러닝 시스템에 의한 분산 병렬 딥러닝 방법에 대해 설명한다.
도 5는 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 딥러닝 학습을 위한 전처리 과정을 설명하기 위한 흐름도이다.
도 5에 도시한 바와 같이, 복수개의 작업서버(100) 각각은 분산 병렬 딥러닝 학습을 수행하기 전에 제1 레이어가 동일하도록 하는 초기화과정을 수행한다(S10).
복수개의 작업서버(100) 각각은 로우데이터의 크기 및 자신의 작업성능에 기초하여 단위 입력 데이터인 미니배치(Mini-Batch)를 설정한다(S20).
따라서, 복수개의 작업서버(100) 각각의 미니배치는 서로 독립적이다. 즉, 복수개의 작업서버(100) 각각의 미니배치는 서로 같지 않을 수 있다.
여기서, 작업성능은 성능정보에 기초하며, 성능정보는 CPU 메모리 크기, 스토리지(예: HDD, SSD 등) 크기 등을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 레이어 구조의 일 예를 나타낸 도면이고, 도 7은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 시스템의 딥러닝 학습과정을 설명하기 위한 흐름도이다.
도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 구조는 복수개의 레이어를 포함하고, 앞쪽 레이어(제1 레이어; L1)는 작업서버(100)가 갖고, 나머지 레이어(L2,…,Lm)는 학습관리서버(200)가 갖는다.
도 6 및 도 7을 참조하면, 복수개의 작업서버(100) 각각은 자신의 저장부에 저장된 로우데이터에 기초하여 제1 레이어에 대하여 한 번의 학습 과정을 수행하여 가중치(P1, P2, P3)가 연산된다(S110).
복수개의 작업서버(100) 각각은 연산된 가중치를 각각 학습관리서버(200)에 전방향 전파한다(S120). 이후, 복수개의 작업서버(100) 각각은 상기 학습관리서버로부터 총 가중치를 수신할 때까지 다음 미니배치의 학습을 대기한다.
학습관리서버(200)가 복수개의 작업서버(100) 각각으로부터 수신된 가중치(P1, P2, P3)를 취합하여 총(total) 가중치를 연산하고, 나머지 레이어의 학습을 진행한다(S130). 학습관리서버(200)는 상기 복수개의 작업서버로부터 수신된 가중치를 평균내어 총 가중치를 연산할 수 있다.
학습관리서버(200)가 총 가중치를 복수개의 작업서버 각각에 역방향 전파한다(S140).
복수개의 작업서버(100) 각각이 제1 레이어에 총 가중치를 적용함으로써, 레이어를 동기화한다(S150).
작업서버(100) 또는 학습관리서버(200) 중 어느 하나는 학습해야 할 미니배치가 더 존재하는지 확인한다(S160). 예를 들어, 학습관리서버(200)는 미리 설정된 시간 동안 작업서버(100)로부터 어떠한 데이터도 수신받지 못하거나, 피니시 데이터를 수신하는 경우, 학습해야 할 미니배치가 더 존재하지 않는다고 판단할 수 있다.
단계 S160에서 작업서버(100)에 학습해야 할 미니배치가 더 존재하는 경우, 단계 S110으로 되돌아간다.
즉, 복수개의 작업서버(100)와 학습관리서버(200)는 모든 로우데이터에 대하여 미니배치 단위로, 단계 S110 내지 S150 과정을 순차적으로 반복 수행한다.
단계 S160에서 작업서버(100)에 학습해야 할 미니배치가 더 존재하지 않는 경우, 딥러닝을 종료한다.
본 발명의 일 실시예에 따른 분산 병렬 딥러닝 학습 방법에 따라 학습관리서버(200)는 복수개의 작업서버(100)로부터 가중치를 취합하여 총 가중치를 각 작업서버(100)에 역방향 전파함으로써, 작업서버(100)와 학습관리서버(200)는 동기화된다. 이러한 방법으로 딥러닝을 진행하게 되면 학습이 종료된 이후 모든 작업서버(100)가 동일한 레이어를 보유하고 있게 되어 동일한 딥러닝 모델을 구축할 수 있다. 또한 모든 작업서버(100)가 병렬적으로 학습을 진행하기 때문에 순차적인 학습진행보다 연산효율을 높일 수 있다.
도 8은 본 발명의 일 실시예에 따른 분산 병렬 딥러닝 방법의 정확도 실험에 대한 그래프이다.
본 발명의 일 실시예에 따른 정확도 분석 실험은 Lenet-5 모델을 이용하였으며, 60,000 MNIST 데이터베이스(Modified National Institute of Standards and Technology database)을 사용하였다. 제1 시나리오는 [36000, 6000, 3000, 3000, 3000, 3000, 3000, 1200, 1200, 600]로 데이터 분산처리되었고, 제2 시나리오는 [54000, 600, 600, 600, 600, 600, 600, 600, 600, 600]로 데이터 분산처리되었다.
실험 결과에 따른 정확도는 표 1과 같다.
시나리오 정확도
Baseline 98.4
시나리오 1 98.29
시나리오 2 98.27
도 8을 참조하면, 하나의 서버에서 작업한 결과는 파란 그래프(Baseline)으로 나타내고, 10개의 작업서버에서 분석 병렬 딥러닝 학습은 제1 시나리오와 제2 시나리오에 따라 실행되었으며, 제1 시나리오는 노란색 그래프로 나타내고, 제2 시나리오는 빨간색 그래프로 나타내었다.
상기 표와 그래프를 통해, 하나의 서버에서 딥러닝을 수행한 것과 비교하여 복수개의 작업서버를 통해 분산 병렬 딥러닝을 수행하여도 정확도가 거의 비슷하게 나타남을 알 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 실행된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 작업서버
110 : 데이터송수신부
120 : 저장부
130 : 학습부
200 : 학습관리서버
210 : 데이터송수신부
220 : 저장부
230 : 학습관리부

Claims (12)

  1. 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 제1 레이어의 학습 과정을 수행함으로써 연산된 가중치를 전방향 전파하는 복수개의 작업서버; 및
    상기 복수개의 작업서버로부터 전파되는 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 연산한 총(total) 가중치를 상기 복수개의 작업서버 각각에 역방향 전파하는 학습관리서버
    를 포함하고,
    상기 복수개의 작업서버 각각은 역방향 전파된 총(total) 가중치를 상기 제1 레이어에 적용하는 것을 특징으로 하는 분산 병렬 딥러닝 시스템.
  2. 제1항에 있어서,
    상기 복수개의 작업서버 각각은 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하되, 미니배치(Mini-Batch) 단위로 1회 학습 후 역방향 전파에 의해 수신받은 총 가중치를 제1 레이어에 업데이트 한 후 다음 미니배치의 학습을 수행하는 것을 특징으로 하는 분산 병렬 딥러닝 시스템.
  3. 제1항에 있어서,
    상기 복수개의 작업서버 각각은 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 것을 특징으로 하는 분산 병렬 딥러닝 시스템.
  4. 제1항에 있어서,
    상기 복수개의 작업서버 각각은 학습 과정 수행 이전 서로 동일한 제1 레이어를 갖도록 초기화하는 것을 특징으로 하는 분산 병렬 딥러닝 시스템.
  5. 제1 레이어를 갖는 학습 모델 및 로우데이터를 저장하는 저장부;
    상기 로우데이터에 기초하여 상기 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 학습부; 및
    연산된 가중치를 학습관리서버로 전방향 전파하는 데이터통신부
    를 포함하고,
    상기 학습부는 상기 학습관리서버로부터 역방향 전파된 총(total) 가중치를 수신하여 상기 제1 레이어에 적용하는 것을 특징으로 하는 작업서버.
  6. 제5항에 있어서,
    상기 학습부는 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하되, 미니배치(Mini-Batch) 단위로 1회 학습 후 상기 학습관리서버로부터 총 가중치를 수신할 때까지 다음 미니배치의 학습을 대기하는 것을 특징으로 하는 작업서버.
  7. 제5항에 있어서,
    상기 학습부는 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 것을 특징으로 하는 작업서버.
  8. 학습 모델을 저장하는 저장부;
    상기 학습 모델에 의해 복수개의 작업서버로부터 전파되는 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 총(total) 가중치를 연산하는 학습관리부; 및
    상기 총 가중치를 복수개의 작업서버 각각에 역방향 전파하는 데이터통신부
    를 포함하는 학습관리서버.
  9. 딥러닝 시스템의 분산 병렬 딥러닝 방법으로서,
    복수개의 작업서버 각각이 로우데이터에 기초하여 미리 저장된 학습 모델에 의해 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 단계;
    상기 복수개의 작업서버가 연산된 가중치를 각각 학습관리서버에 전방향 전파하는 단계;
    상기 학습관리서버가 복수개의 작업서버 각각으로부터 수신한 가중치를 반영하여 나머지 레이어의 학습 과정을 수행하고, 상기 가중치를 취합하여 총(total) 가중치를 연산하는 단계; 및
    상기 학습관리서버가 상기 총 가중치를 복수개의 작업서버 각각에 역방향 전파하는 단계;
    를 포함하는 분산 병렬 딥러닝 방법.
  10. 제9항에 있어서,
    상기 복수개의 작업서버 각각은 상기 로우데이터를 미니배치(Mini-Batch)로 단위로 학습하고, 미니배치(Mini-Batch) 단위로 1회 학습 후 상기 학습관리서버로부터 총 가중치를 수신할 때까지 다음 미니배치의 학습을 대기하는 것을 특징으로 하는 분산 병렬 딥러닝 방법.
  11. 제9항에 있어서,
    상기 제1 레이어의 학습 과정을 수행하여 가중치를 연산하는 단계 이전에,
    상기 복수개의 작업서버 각각은 상기 로우데이터의 크기와 자신의 작업성능을 고려하여 미니배치 단위를 설정하는 단계를 더 포함하는 분산 병렬 딥러닝 방법.
  12. 제9항에 있어서,
    상기 복수개의 작업서버 각각은 학습 과정 수행 이전 서로 동일한 제1 레이어를 갖도록 초기화하는 단계
    를 더 포함하는 분산 병렬 딥러닝 방법.
KR1020200027200A 2020-03-04 2020-03-04 분산 병렬 딥러닝 시스템, 서버 및 방법 KR102444449B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200027200A KR102444449B1 (ko) 2020-03-04 2020-03-04 분산 병렬 딥러닝 시스템, 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200027200A KR102444449B1 (ko) 2020-03-04 2020-03-04 분산 병렬 딥러닝 시스템, 서버 및 방법

Publications (2)

Publication Number Publication Date
KR20210112082A true KR20210112082A (ko) 2021-09-14
KR102444449B1 KR102444449B1 (ko) 2022-09-19

Family

ID=77774431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200027200A KR102444449B1 (ko) 2020-03-04 2020-03-04 분산 병렬 딥러닝 시스템, 서버 및 방법

Country Status (1)

Country Link
KR (1) KR102444449B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220111599A (ko) 2021-02-02 2022-08-09 주식회사 바디프랜드 의료데이터 인공지능 분산학습 방법
KR20220149796A (ko) 2021-04-28 2022-11-08 주식회사 메디컬에이아이 딥러닝기반의 심전도 판독 시스템
KR102473941B1 (ko) 2021-11-30 2022-12-06 주식회사 튜닙 딥러닝 모델 병렬 처리 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
STOCHASTIC WEIGHT AVERAGING IN PARALLEL: LARGE-BATCH TRAINING THAT GENERALIZES WELL* *
딥러닝 모델 병렬 처리* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220111599A (ko) 2021-02-02 2022-08-09 주식회사 바디프랜드 의료데이터 인공지능 분산학습 방법
KR20220149796A (ko) 2021-04-28 2022-11-08 주식회사 메디컬에이아이 딥러닝기반의 심전도 판독 시스템
KR20250005021A (ko) 2021-04-28 2025-01-09 주식회사 메디컬에이아이 딥러닝기반의 심전도 판독 시스템
KR102473941B1 (ko) 2021-11-30 2022-12-06 주식회사 튜닙 딥러닝 모델 병렬 처리 장치 및 방법

Also Published As

Publication number Publication date
KR102444449B1 (ko) 2022-09-19

Similar Documents

Publication Publication Date Title
KR102444449B1 (ko) 분산 병렬 딥러닝 시스템, 서버 및 방법
EP4018394A1 (en) Systems and methods for supplementing data with generative models
CN113254663B (zh) 一种融合图卷积与翻译模型的知识图谱联合表示学习方法
CN105303059B (zh) 一种基于智能移动设备和智能大数据分析的远程诊疗系统
CN112799708B (zh) 联合更新业务模型的方法及系统
US11593341B2 (en) Method and system for row lock solution
CN109326353A (zh) 预测疾病终点事件的方法、装置及电子设备
CN117994635B (zh) 一种噪声鲁棒性增强的联邦元学习图像识别方法及系统
US20200311527A1 (en) Residual semi-recurrent neural networks
CN114239820A (zh) 纵向联邦学习模型的训练方法、装置和计算机设备
CN114462090A (zh) 一种针对联邦学习中差分隐私预算计算的收紧方法
CN113033801A (zh) 神经网络模型的预训练方法、装置、电子设备和介质
CN104331600B (zh) 基于因子图模型的自诊模型训练方法和装置
US20230352138A1 (en) Systems and Methods for Adjusting Randomized Experiment Parameters for Prognostic Models
WO2021178747A1 (en) Domain generalization via batch normalization statistics
Li et al. Causal data fusion methods using summary‐level statistics for a continuous outcome
CN113792713A (zh) 模型训练、人脸识别模型更新方法、电子设备及存储介质
US20230352125A1 (en) Systems and Methods for Adjusting Randomized Experiment Parameters for Prognostic Models
CN113673476A (zh) 人脸识别模型训练方法、装置、存储介质与电子设备
EP3756109B1 (en) Scalable graph slam for hd maps
CN110991661A (zh) 用于生成模型的方法和装置
US20240104348A1 (en) Temporal-Aware and Local-Aggregation Graph Neural Networks
Zhao et al. Heterogeneous transfer learning for building high-dimensional generalized linear models with disparate datasets
US20190236074A1 (en) Normalization of confidence thresholds in federated environments
Schwarz Randomized controlled trials under influence: Covariate factors and graph-based network interference

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200304

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210915

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220321

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220906

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220914

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220915

End annual number: 3

Start annual number: 1

PG1601 Publication of registration