KR20230026104A - 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법 - Google Patents

학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법 Download PDF

Info

Publication number
KR20230026104A
KR20230026104A KR1020210108084A KR20210108084A KR20230026104A KR 20230026104 A KR20230026104 A KR 20230026104A KR 1020210108084 A KR1020210108084 A KR 1020210108084A KR 20210108084 A KR20210108084 A KR 20210108084A KR 20230026104 A KR20230026104 A KR 20230026104A
Authority
KR
South Korea
Prior art keywords
local parameters
global parameter
result
local
parameters
Prior art date
Application number
KR1020210108084A
Other languages
English (en)
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 KR1020210108084A priority Critical patent/KR20230026104A/ko
Priority to US17/888,843 priority patent/US20230059162A1/en
Publication of KR20230026104A publication Critical patent/KR20230026104A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • 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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 관한 것으로, 로컬 파라미터 개수 결정 방법은, 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 적어도 하나의 학습 분산 학습 처리 장치로부터 수신하는 단계, 상기 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하는 단계 및 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계를 포함할 수 있다.

Description

학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법{SYSTEM FOR PROCESSING MACHINE LEARNING, APPARATUS AND METHOD FOR DETERMINING NUMBER OF LOCAL PARAMETER}
본 발명은 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 관한 것이다.
기계 학습은, 컴퓨터 장치가 다량의 데이터를 이용하여 스스로 학습하여 알고리즘을 획득 및 갱신하고, 이렇게 획득된 알고리즘을 이용하여 입력된 데이터에 대응하는 적절한 결과를 획득할 수 있도록 하는 기술을 의미한다. 기계 학습은 복잡한 판단이나 분류 알고리즘을 상대적으로 용이하면서도 정확하게 구현할 수 있어 매우 각광을 받고 있다. 특히 최근 정보 처리 기술의 발전과 다양한 학습 기법의 소개 및 개발에 따라 기계 학습은 더욱 눈부시게 성장하고 있으며, 널리 다양한 분야에서 채용되어 이용되고 있다. 딥 러닝(Deep Learning, 심층 학습)은 다수의 은닉층을 갖는 심층 신경망을 이용하여 학습을 수행하는 기계 학습의 일종으로 학습 대상이 되는 데이터의 양의 증가에 비례하여 그 성능이 향상되는 경향이 있다. 그런데, 하나의 처리 장치에 의한 다량의 데이터의 학습 처리는 긴 처리 시간을 요구하는 문제점이 있다. 그러므로, 최근에는 이러한 문제를 해결하기 위해 분산 학습(DL: Distributed learning) 기술이 이용되고 있다. 분산 학습 기술은, 다수의 로컬 장치(노드)에 학습할 데이터를 분산하여 병렬적으로 학습을 수행하고, 중앙 서버가 로컬 장치에 의한 학습 결과를 취합하여 학습 모델을 획득하는 기술을 의미한다. 그러나, 분산 학습을 수행한다고 하더라도, 로컬 장치의 학습 결과(로컬 파라미터 패킷)가 중앙 서버로 전달되기 때문에, 로컬 장치가 다수이면, 학습 결과의 취합 과정에 있어서 병목 현상이 발생되므로 결과적으로 전체적인 학습 시간이 증가될 수 있어 분산 처리의 장점이 희석화 되는 문제점이 있었다.
학습 속도의 지나친 저하를 방지하면서도 우수한 학습 성능을 구현할 수 있는 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 로컬 파라미터 개수 결정 방법, 로컬 파라미터 개수 결정 장치 및 학습 처리 시스템이 제공된다.
로컬 파라미터 개수 결정 방법은, 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 적어도 하나의 학습 분산 학습 처리 장치로부터 수신하는 단계, 상기 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하는 단계 및 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계를 포함할 수 있다.
상기 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계는, 상기 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하는 단계 및 상기 제1 계수 결과 및 제1 기준 값을 비교하고, 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계를 더 포함할 수 있다.
상기 제1 계수 결과 및 제1 기준 값을 비교하고, 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계는, 상기 제1 계수 결과가 상기 제1 기준 값을 초과하면, 제2 계수 결과를 갱신하는 단계 및 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 취합 대상 로컬 파라미터 개수를 증가시켜 갱신하는 단계를 더 포함할 수 있다.
상기 제2 계수 결과는, 제1 글로벌 파라미터 내지 제(T-1) 글로벌 파라미터 중 연속된 두 개의 글로벌 파라미터 사이의 제1 계수 결과와 상기 제1 기준 값 간의 비교 결과를 기반으로 획득된 것일 수 있다.
로컬 파라미터 개수 결정 방법은, 상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 갱신된 제2 계수 결과를 초기화하는 단계를 더 포함하는 것도 가능하다.
상기 제1 기준 값은, 전체 파라미터 개수의 절반을 포함할 수도 있다.
상기 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하는 단계는, 상기 제T 글로벌 파라미터의 부호값 및 제(T-1) 글로벌 파라미터의 부호값 간에 배타적 논리합 연산을 수행하는 단계 및 배타적 논리합 연산의 결과를 합산하거나 또는 상기 배타적 논리합 연산 결과 중 값이 1인 결과를 계수하여 상기 제1 계수 결과를 획득하는 단계를 포함할 수 있다.
로컬 파라미터 개수 결정 방법은, 상기 제T 글로벌 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로 전달하는 단계를 더 포함하는 것도 가능하다.
로컬 파라미터 개수 결정 장치는, 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 적어도 하나의 분산 학습 처리 장치로부터 수신하는 통신부 및 상기 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하고, 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 제T 글로벌 파라미터와 상기 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하고, 상기 제1 계수 결과 및 제1 기준 값을 비교하고, 상기 제1 계수 결과 및 제1 기준 값의 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하도록 마련된 것일 수 있다.
상기 프로세서는, 상기 제1 계수 결과가 상기 제1 기준 값을 초과하면, 제2 계수 결과를 갱신하여 갱신된 제2 계수 결과를 획득하고, 상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 취합 대상 로컬 파라미터 개수를 증가시켜 상기 취합 대상 로컬 파라미터 개수를 갱신하도록 할 수도 있다.
상기 제2 계수 결과는, 제1 글로벌 파라미터 내지 제(T-1) 글로벌 파라미터 중 연속된 두 개의 글로벌 파라미터 사이의 제1 계수 결과와 상기 제1 기준 값 간의 비교 결과를 기반으로 획득된 것일 수 있다.
상기 프로세서는, 상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 갱신된 제2 계수 결과를 초기화할 수도 있다.
상기 제1 기준 값은, 전체 파라미터 개수의 절반을 포함할 수도 있다.
상기 프로세서는, 상기 제T 글로벌 파라미터의 부호값 및 제(T-1) 글로벌 파라미터의 부호값 간에 배타적 논리합 연산을 수행하고, 배타적 논리합 연산의 결과를 합산하거나 또는 상기 배타적 논리합 연산 결과 중 값이 1인 결과를 계수함으로써, 상기 제1 계수 결과를 획득할 수도 있다.
상기 통신부는, 상기 제T 글로벌 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로 전달할 수도 있다.
학습 시스템은, 학습을 수행하는 적어도 하나의 분산 학습 처리 장치 및 데이터 평면을 기반으로 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로부터 수신하고, 상기 취합 대상 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하고, 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신하는 로컬 파라미터 개수 결정 장치를 포함할 수 있다.
상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 의하면, 학습 속도의 지나친 저하 없이도 학습 성능을 향상시킬 수 있는 효과를 얻을 수 있다.
상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 의하면, 다수의 분산 학습 처리 장치(학습 노드)로부터 수신하여 이용할 로컬 파라미터의 개수를 보다 최적으로 결정함으로써 학습의 수렴 속도 저하를 방지하면서도 충분한 학습 성능을 확보할 수 있게 되는 장점도 얻을 수 있다.
상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 의하면, 다수의 분산 학습 처리 장치들이 로컬 파라미터를 전송하는 경우에도 병목 현상 없이 적절하게 학습 모델을 구현할 수 있게 되는 장점도 획득할 수도 있다.
상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 의하면, 먼저 들어오는 로컬 파라미터들을 우선적으로 선택함으로써 낙오자(straggler)가 존재하는 환경에서 수신할 로컬 파라미터의 개수를 적응적으로 변경할 수 있게 되고, 이에 따라 낙오자로 인한 학습 속도 저하를 방지하는 효과도 얻을 수 있다.
상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법에 의하면, 프로그래밍 가능한 데이터 평면(PDP: Programmable Data Plane)을 기반으로 분산 학습을 수행하는 환경에서도 트래픽이 거쳐야 하는 네트워크 홉 수를 감소시킬 수 있을 뿐만 아니라, 로컬 파라미터의 취합 및 분배에 소요되는 시간을 단축시킬 수 있는 장점도 얻을 수 있다.
도 1은 학습 처리 시스템의 일 실시예에 대한 개요도이다.
도 2는 로컬 파라미터 개수 결정 장치의 일 실시예에 대한 블록도이다.
도 3은 로컬 파라미터 개수 결정 방법의 일 실시예에 대한 제1 흐름도이다.
도 4는 로컬 파라미터 개수 결정 방법의 일 실시예에 대한 제2 흐름도이다.
도 5는 로컬 파라미터 개수 결정 방법의 일 실시예에 대한 제3 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 및/또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다. 명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분이 상호 간에 물리적으로 연결되었음을 의미할 수도 있고, 및/또는 전기적으로 연결되었음을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다. 제1 내지 제N(N은 1 이상의 자연수) 등의 표현은, 적어도 하나의 부분(들)을 다른 부분(들)으로부터 구분하기 위한 것으로, 특별한 기재가 없는 이상 이들이 순차적임을 반드시 의미하지는 않는다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 2를 참조하여 로컬 파라미터 개수 결정 장치 및 이를 포함하는 학습 시스템의 일 실시예에 대해서 설명하도록 한다.
도 1은 학습 처리 시스템의 일 실시예에 대한 개요도이다.
일 실시예에 의하면, 학습 시스템(1)은, 학습 처리를 수행하는 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)와, 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)의 학습 결과를 취합하는 적어도 하나의 로컬 파라미터 개수 결정 장치(100)를 포함할 수 있다. 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 및 적어도 하나의 로컬 파라미터 개수 결정 장치(100)는 일방으로 또는 쌍방으로, 통신 네트워크(2)를 통해 데이터나 명령 등을 전달하도록 마련된다. 여기서, 통신 네트워크(2)는 유선 통신 네트워크, 무선 통신 네트워크 또는 이들의 조합을 포함하여 구축된 것일 수 있다. 무선 통신 네트워크는 근거리 통신 네트워크 및 원거리 통신 네트워크 중 적어도 하나를 포함할 수 있으며, 근거리 통신 네트워크는, 예를 들어, 와이파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(Bluetooth), 저전력 블루투스(Bluetooth Low Energy), 초광대역(UWB: Ultra-Wideband) 통신, 알에프아이디(RFID: Radio-Frequency IDentification), 지그비(zigbee) 통신 또는 엔에프씨(NFC: Near Field Communication) 등의 통신 기술을 기반으로 구현된 네트워크 등을 포함할 수 있고, 원거리 통신 네트워크는, 예를 들어, 3GPP, 3GPP2, 와이브로 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 이동 통신 네트워크를 포함할 수 있다.
적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각은, 적어도 하나의 데이터를 이용하여 각각 학습 처리를 수행하고, 학습 처리에 따른 학습 결과, 일례로 파라미터(이하 로컬 파라미터라 함. 가중치 및/또는 편향 등을 포함할 수 있음)를 획득하고, 획득한 로컬 파라미터를 로컬 파라미터 개수 결정 장치(100)로 전달하도록 마련된다. 여기서, 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각의 학습은 상호 독립적일 수도 있고 또는 의존적일 수도 있다. 여기서, 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각이 이용하는 적어도 하나의 데이터는 모두 동일할 수도 있고, 일부는 동일할 수도 있으며, 모두 상이할 수도 있다. 적어도 하나의 데이터는 사용자 조작에 따라 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각에 직접 입력된 것일 수도 있고, 로컬 파라미터 개수 결정 장치(100) 또는 이외 다른 장치(미도시, 일례로 휴대용 메모리 장치나 컴퓨터 장치 등) 등으로부터 수신된 것일 수 있다. 또한, 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각은, 로컬 파라미터 개수 결정 장치(100)가 적어도 하나의 로컬 파라미터를 취합하여 획득한 전체적인 파라미터(이하 글로벌 파라미터)를 수신하고, 글로벌 파라미터를 이용하여 학습 모델을 갱신한 후, 이를 기반으로 적어도 하나의 데이터에 대한 학습을 수행할 수도 있다. 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)는 학습 처리 및 로컬 파라미터의 생성/전달 등의 일련의 동작들을 이 회 이상 반복해서 수행할 수도 있다.
적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)는, 학습 처리에 필요한 학습 모델(학습 알고리즘)을 저장하고 이를 이용하여 학습 처리를 수행할 수 있다. 학습 모델은, 로컬 파라미터 개수 결정 장치(100)로부터 획득된 것일 수도 있고, 다른 장치(외장 메모리 저장 장치나 서버 장치 등)로부터 획득된 것일 수도 있으며, 설계자나 사용자에 의해 직접 입력되어 획득된 것일 수도 있다. 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각의 학습 모델은, 실시예에 따라, 모두 동일할 수도 있고, 일부는 동일하고 다른 일부는 상이할 수도 있으며, 또는 모두 상이할 수도 있다. 여기서, 학습 모델은, 예를 들어, 심층 신경망(DNN: Deep Neural Network), 콘볼루션 신경망(CNN: Convolutional Neural Network), 심층 신뢰 신경망(DBN: Deep Belief Network), 순환 신경망(RNN: Recurrent Neural Network), 콘볼루션 순환 신경망(CRNN: Convolutional Recurrent Neural Network), 심층 Q-네트워크(Deep Q-Networks), 장단기 메모리(LSTM: Long short term memory), 다층 퍼셉트론(Multi-layer Perceptron), 서포트 벡터 머신(SVM: support vector machine), 생성적 적대 신경망(GAN: Generative Adversarial Network) 및/또는 조건적 생성적 적대 신경망(cGAN: Conditional GAN) 등을 하나 이상 포함할 수 있으나, 이에 한정되는 것은 아니다. 학습 모델은, 훈련을 통해 학습을 수행하고 학습 결과를 기반으로 데이터 처리를 수행할 수 있도록 설계자가 고려 가능한 적어도 하나의 알고리즘, 이를 이용하거나 포함하여 작성된 적어도 하나의 프로그램 코드를 포함하거나, 또는 프로그램의 전부 또는 일부를 기반으로 하거나 이를 전체적으로 또는 부분적으로 조합하여 구현된 적어도 하나의 프로그램 패키지 등을 포함할 수도 있다.
분산 학습 처리 장치(10: 10-1 내지 10-j) 중 적어도 하나는, 실시예에 따라서, 학습 처리를 수행하기 위해 특별히 고안, 제작된 장치를 단독으로 또는 조합 이용하여 구현될 수도 있고, 및/또는 하나 또는 둘 이상의 정보처리장치를 단독으로 이용하거나 조합 이용함으로써 구현될 수도 있다. 여기서, 하나 또는 둘 이상의 정보처리장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 하드웨어 장치, 스마트 폰, 태블릿 피씨, 스마트 시계, 스마트 태그, 스마트 밴드, 두부 장착형 디스플레이(HMD: Head Mounted Display) 장치, 휴대용 게임기, 개인용 디지털 보조기(PDA: Personal Digital Assistant), 내비게이션 장치, 리모트 컨트롤러(리모컨), 디지털 텔레비전, 셋 톱 박스, 디지털 미디어 플레이어 장치, 인공 지능 음향 재생 장치, 가전 기기(일례로 냉장고 또는 세탁기 등), 이동체(일례로 승용차, 버스나 이륜차와 같은 차량, 또는 이동성 로봇이나 무선 모형 차량이나, 로봇 청소기와 같은 무인 이동체 등), 비행체(일례로 항공기나, 헬리콥터나, 또는 무인 비행체(드론 등) 등), 가정용, 산업용 또는 군사용 로봇, 산업용 또는 군사용 기계 또는 각종 설비 등을 포함할 수 있으나 이에 한정되는 것은 아니다. 상술한 정보처리장치 이외에도 설계자나 사용자 등이 상황이나 조건에 따라 고려 가능한 다양한 장치가 분산 학습 처리 장치(10: 10-1 내지 10-j)로 이용될 수 있다.
로컬 파라미터 개수 결정 장치(100)는, 분산 학습 처리 장치(10), 일례로 각각의 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j)의 학습 결과에 따라 획득된 로컬 파라미터를 각각의 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j)로부터 수신하고, 수신한 로컬 파라미터를 취합하여 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j) 각각의 학습 모델을 위한 글로벌 파라미터를 생성하고, 생성한 글로벌 파라미터를 각각의 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j)로 전달함으로써, 분산 학습이 수행되도록 할 수 있다. 이 경우, 각 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j)는, 상술한 바와 같이, 수신한 글로벌 파라미터를 채용하여 학습 모델을 갱신한 후 다시 로컬 파라미터를 생성하여 로컬 파라미터 개수 결정 장치(100)로 전달하고, 로컬 파라미터 개수 결정 장치(100)는 다시 수신한 로컬 파라미터를 이용하여 글로벌 파라미터를 생성하고, 이를 제1 내지 제j 분산 학습 처리 장치(10-1 내지 10-j) 각각으로 다시 전송할 수 있다. 이와 같은 과정은 반복될 수 있다. 즉, 분산 학습 처리 장치(10: 10-1 내지 10-j)는 일 회 이상 로컬 파라미터의 획득 및 전달 동작을 수행하고, 로컬 파라미터 개수 결정 장치(100)는 이에 응하여 일 회 이상 글로벌 파라미터의 획득 및 브로드캐스팅 등의 동작을 수행할 수 있다. 이하 로컬 파라미터 개수 결정 장치(100)의 동작을 설명함에 있어서, 분산 학습 처리 장치(10: 10-1 내지 10-j)의 학습 처리 과정으로부터 로컬 파라미터 개수 결정 장치(100)의 글로벌 파라미터의 전달 과정까지 순차적으로 수행되는 일련의 동작들(일례로 학습 처리, 로컬 파라미터의 생성/전달 및 글로벌 파라미터의 생성/전달 등을 포함 가능함)의 집합을 하나의 라운드라 한다. 다시 말해서, 하나의 라운드 내에서 각각의 분산 학습 처리 장치(10: 10-1 내지 10-j)는 로컬 파라미터를 획득하고, 획득한 로컬 파라미터를 로컬 파라미터 개수 결정 장치(100)에 전달하고, 로컬 파라미터 개수 결정 장치(100)는 이에 응하여 글로벌 파라미터를 획득하고 이를 다시 각각의 분산 학습 처리 장치(10: 10-1 내지 10-j)로 전달한다. 각각의 라운드는 분산 학습 처리 장치(10: 10-1 내지 10-j) 및/또는 로컬 파라미터 개수 결정 장치(100)에 의해 적어도 일 회 이상 반복 수행될 수 있다. 적어도 하나의 라운드는 사용자가 설계자가 미리 정의한 시점(일례로 학습 모델의 성능이 수렴하는 시점)까지 반복될 수 있다.
도 2는 로컬 파라미터 개수 결정 장치의 일 실시예에 대한 블록도이다.
로컬 파라미터 개수 결정 장치(100)는, 도 2에 도시된 바와 같이, 일 실시예에 있어서, 수신할 로컬 파라미터의 개수(91, 이하 취합 대상 로컬 파라미터 개수라 함)를 결정하고, 결정된 로컬 파라미터 개수에 따라 취합된 로컬 파라미터를 종합하여 학습 모델에 대한 전체적인 파라미터(즉, 글로벌 파라미터)를 획득할 수도 있다. 예를 들어, 로컬 파라미터 개수 결정 장치(100)는, 해당 시점까지 수신한 로컬 파라미터의 전체 개수가 아직 설정된 취합 대상 로컬 파라미터 개수(91) 이하 또는 미만인 경우이면, 수신한 로컬 파라미터를 글로벌 파라미터의 생성에 이용하고, 반대로 해당 시점까지 수신한 로컬 파라미터의 전체 개수가 취합 대상 로컬 파라미터 개수(91) 초과 또는 이상인 경우에는, 추가적으로 수신한 로컬 파라미터는 글로벌 파라미터의 생성에 이용하지 않을 수 있다.
실시예에 따라, 로컬 파라미터 개수 결정 장치(100)는, 후술하는 처리 및/또는 제어 등을 수행할 수 있도록 특별히 고안된 장치를 이용하여 구현될 수도 있고, 및/또는 하나 이상의 정보처리장치를 단독으로 이용하거나 조합 이용함으로써 구현될 수도 있다. 여기서, 하나 이상의 정보처리장치는, 예를 들어, 적어도 하나의 네트워크용 하드웨어 장치(네트워크 스위치(스위치 또는 스위칭 허브 등으로도 지칭 가능함) 또는 서버용 컴퓨터 장치 등)를 포함할 수 있다. 로컬 파라미터 개수 결정 장치(100)가 네트워크 스위치 등의 네트워크 장비를 이용하여 구현된 경우, 분산 학습 처리 장치(10)와 로컬 파라미터 개수 결정 장치(100)는 프로그래밍 가능한 데이터 평면을 기반으로 분산 학습을 수행할 수도 있다. 또한, 로컬 파라미터 개수 결정 장치(100)는, 다른 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트 폰, 태블릿 피씨, 스마트 시계, 스마트 태그, 스마트 밴드, 두부 장착형 디스플레이 장치, 휴대용 게임기, 개인용 디지털 보조기, 내비게이션 장치, 리모트 컨트롤러(리모컨), 디지털 텔레비전, 셋 톱 박스, 디지털 미디어 플레이어 장치, 인공 지능 음향 재생 장치, 가전 기기, 이동체, 비행체, 가정용, 산업용 또는 군사용 로봇, 산업용 또는 군사용 기계 또는 기계 설비 등을 이용하여 구현될 수도 있다. 그러나, 로컬 파라미터 개수 결정 장치(100)는 상술한 예시(들)에 한정되는 것은 아니며, 이들 외에도 설계자나 사용자 등이 임의적으로 선택 가능한 정보의 연산 처리 및 제어가 다양한 장치 중 적어도 하나를 포함할 수도 있다.
일 실시예에 따르면, 로컬 파라미터 개수 결정 장치(100)는, 통신부(101), 저장부(105), 사용자 인터페이스(109) 및 처리부(110)를 포함할 수 있다. 통신부(101), 저장부(105), 사용자 인터페이스(109) 및 처리부(110) 중 적어도 둘은 케이블이나 회로 등을 통해 일방으로 또는 쌍방으로 데이터나 지시/명령 등을 전달할 수 있게 마련될 수 있다. 저장부(105)나 사용자 인터페이스(109) 등은 필요에 따라 생략 가능하다.
통신부(101)는 유선 통신 네트워크 또는 무선 통신 네트워크에 접속하고 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)의 전부 또는 일부와 상호 통신을 수행하여 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)의 전부 또는 일부로부터 적어도 하나의 로컬 파라미터를 수신할 수 있다. 이 경우, 통신부(101)가 수신하는 로컬 파라미터는 모두 상이한 분산 학습 처리 장치(10: 10-1 내지 10-j)로부터 전달된 것일 수도 있고, 모두 동일한 분산 학습 처리 장치(10: 10-1 내지 10-j)로부터 전달된 것일 수도 있으며, 또는 일부는 동일한 분산 학습 처리 장치(10: 10-1 내지 10-j)로부터 전달되고 다른 일부는 상이한 분산 학습 처리 장치(10: 10-1 내지 10-j)로부터 전달된 것일 수도 있다. 적어도 하나의 로컬 파라미터(일례로 제1 내지 제M 로컬 파라미터(M은 1 이상의 자연수))는, 상황에 따라 순차적으로 및/또는 동시에 통신부(101)로 전달될 수도 있다. 또한, 통신부(101)는 글로벌 파라미터를 적어도 하나의 분산 학습 처리 장치(10: 10-1 내지 10-j)로 전달할 수 있다. 필요에 따라 통신부(101)는 처리부(110)의 동작에 필요한 데이터(일례로 취합 대상 로컬 파라미터 개수(91) 등), 프로그램(앱, 소프트웨어 또는 애플리케이션 등으로 지칭 가능함)나 지시/명령 등을 더 수신할 수도 있고, 또는 다른 분산 학습 처리 장치(10: 10-1 내지 10-j)로 필요한 데이터(일례로 취합 대상 로컬 파라미터 개수(91) 등), 프로그램 또는 지시/명령 등을 전송할 수도 있다. 통신부(101)는 통신 포트(또는 안테나 등)나 관련 회로 부품(일례로 통신 칩 등)을 이용하여 구현될 수 있다. 통신부(101)가 수신한 데이터(일례로 하나 이상의 로컬 파라미터)는 저장부(105) 및 처리부(110) 중 적어도 하나로 전달될 수 있다.
저장부(105)는, 적어도 하나의 데이터를 일시적 또는 비일시적으로 저장할 수 있으며, 예를 들어, 처리부(110)의 동작에 필요한 정보나 처리부(110)의 처리에 따라 획득된 각종 처리 결과들을 일시적 또는 비일시적으로 저장할 수 있다. 보다 구체적으로 예를 들어, 저장부(105)는 적어도 하나의 로컬 파라미터나, 생성된 글로벌 파라미터를 저장할 수도 있고, 또한 처리부(110)에 의해 결정된 취합 대상 로컬 파라미터 개수(91)나, 현재의 처리 라운드(일례로 학습 처리, 로컬 파라미터의 전달 및 글로벌 파라미터의 획득 과정 등)에서 새로 획득된 글로벌 파라미터(이하 제T 글로벌 파라미터(T는 2 이상의 자연수))와 기존의 처리 라운드(일례로 바로 직전의 처리 라운드)에서 기 획득된 글로벌 파라미터(이하 제(T-1) 글로벌 파라미터) 간에 부호가 서로 상이한 경우를 계수하여 획득된 계수 결과(93, 이하 제1 계수 결과)나, 제1 계수 결과(93)와 소정의 기준 값(이하 제1 기준 값) 사이의 비교 결과를 계수하여 획득된 결과(95, 이하 제2 계수 결과) 등을 저장할 수도 있다. 저장부(105)는 처리부(110)의 동작을 위한 프로그램을 저장할 수도 있다. 여기서, 프로그램은 설계자나 사용자 등이 직접 입력 또는 수정한 것일 수도 있고, 통신부(101)나 사용자 인터페이스(109) 등을 통해 입력된 후 저장 또는 갱신된 것일 수도 있다. 또한, 저장부(105)는 분산 학습 처리 장치(10: 10-1 내지 10-j)의 식별을 위한 정보나, 학습 등을 위해 이용될 학습 모델이나, 글로벌 파라미터의 생성을 위한 설정 값 등을 저장할 수도 있다. 저장부(105)는, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는, 예를 들어, 롬(ROM) 또는 램(RAM)과 같은 반도체 저장 소자를 이용하여 구현된 것일 수 있고, 보조기억장치는, 예를 들어, 플래시 메모리 장치, SD 카드, 솔리드 스테이트 드라이브(SSD), 하드 디스크 드라이브(HDD), 자기 드럼, 컴팩트 디스크(CD), 디브이디(DVD) 또는 레이저 디스크 등과 같은 광 기록 매체(optical media), 자기 테이프, 광자기 디스크 또는 플로피 디스크 등의 저장 매체를 이용하여 구현된 것일 수 있다.
사용자 인터페이스(109)는 설계자, 사용자 또는 다른 장치 등으로부터 데이터, 프로그램, 지시/명령 또는 기타 정보 등을 수신하거나 및/또는 설계자, 사용자 또는 다른 장치 등으로 이들을 전달할 수도 있도록 마련된다. 예를 들어, 사용자 인터페이스(109)는 제2 계수 결과와의 비교를 위해 이용되는 임계 값(이하 제2 기준 값) 등을 설계자나 사용자 등으로부터 수신할 수도 있고, 또는 설계자나 사용자에게 시각적 또는 청각적으로 결정된 로컬 파라미터 개수나 글로벌 파라미터 등을 제공할 수도 있다. 사용자 인터페이스(109)는, 실시예에 따라서, 사용자로부터 명령이나 데이터 등을 입력 받기 위한 입력부 및 사용자 등에게 시각적 또는 청각적으로 데이터 등을 제공하기 위한 출력부 중 적어도 하나를 포함할 수 있다. 여기서, 입력부는, 예를 들어, 키보드, 마우스, 태블릿, 터치 스크린, 터치 패드, 트랙 볼, 트랙패드, 스캐너 장치, 영상 촬영 모듈, 초음파 스캐너, 동작 감지 센서, 진동 센서, 수광 센서, 감압 센서, 근접 센서, 마이크로 폰 및/또는 데이터 입출력 단자 등을 포함할 수 있고, 출력부는 디스플레이, 프린터 장치, 스피커 장치, 영상 출력 단자 및/또는 데이터 입출력 단자 등을 포함할 수 있다. 입력부와 출력부는 실시예에 따라 일체형으로 구현될 수도 있다. 사용자 인터페이스(109)는, 실시예에 따라, 로컬 파라미터 개수 결정 장치(100)와 일체형으로 마련된 것일 수도 있고, 또는 물리적으로 분리 가능하게 마련된 것일 수도 있다.
처리부(110)는 취합 대상 로컬 파라미터 개수(91)를 결정하는 동작을 수행할 수 있고, 실시예에 따라서 글로벌 파라미터를 생성하는 동작을 더 수행할 수도 있다. 처리부(110)는, 저장부(105)에 저장된 프로그램을 실행시키거나, 및/또는 외부의 다른 처리 장치(예를 들어, 중앙 파라미터 서버(PS: Parameter Server) 등)의 지시를 받아 취합 대상 로컬 파라미터 개수 결정 동작이나 글로벌 파라미터 생성 동작 등의 수행할 수도 있다. 처리부(110)는, 예를 들어, 적어도 하나의 칩셋(chipset), 중앙 처리 장치(CPU: Central Processing Unit), 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 애플리케이션 프로세서(AP: Application Processor), 전자 제어 유닛(ECU: Electronic Controlling Unit), 기본보드 관리 컨트롤러(BMC: Baseboard Management Controller), 마이컴(Micom: Micro Processor) 및/또는 이외 각종 연산 및 제어 처리를 수행할 수 있는 적어도 하나의 전자 장치 등을 포함할 수 있다. 이들 처리 또는 제어 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩, 회로 또는 관련 부품 등을 단독으로 이용하거나 조합하여 구현된 것일 수도 있다.
일 실시예에 의하면, 처리부(110)는, 도 2에 도시된 바와 같이 글로벌 파라미터 획득부(111), 제1 계수 처리부(113), 제2 계수 처리부(115) 및 로컬 파라미터 개수 처리부(117)를 포함할 수 있다. 글로벌 파라미터 획득부(111), 제1 계수 처리부(113), 제2 계수 처리부(115) 및 로컬 파라미터 개수 처리부(117) 중 적어도 둘은 논리적으로 구분되는 것일 수도 있고 또는 물리적으로 구분되는 것일 수도 있다. 논리적으로 구분되는 경우, 글로벌 파라미터 획득부(111), 제1 계수 처리부(113), 제2 계수 처리부(115) 및 로컬 파라미터 개수 처리부(117)는 하나의 반도체 처리 장치에 의해 구현될 수도 있다. 물리적으로 구분되는 경우, 글로벌 파라미터 획득부(111), 제1 계수 처리부(113), 제2 계수 처리부(115) 및 로컬 파라미터 개수 처리부(117) 중 적어도 둘은 서로 분리된 둘 이상의 반도체 처리 장치 등에 의해 구현될 수도 있다.
글로벌 파라미터 획득부(111)는, 저장부(105) 또는 로컬 파라미터 개수 처리부(117)로부터 취합 대상 로컬 파라미터 개수(91)를 획득할 수 있다. 취합 대상 로컬 파라미터 개수(91)는 로컬 파라미터 개수 처리부(117)에 의해 결정된 것일 수도 있고, 또는 사용자나 설계자에 의해 입력된 것일 수도 있다. 만약 취합 대상 로컬 파라미터 개수(91)의 값이 정해지지 않았거나 또는 0 등의 값으로 주어진 경우라면, 글로벌 파라미터 획득부(111)는 취합 대상 로컬 파라미터 개수(91)를 소정의 기본값(예를 들어, 1)로 설정하여 초기화할 수 있다. 이어서, 글로벌 파라미터 획득부(111)는 분산 학습 처리 장치(10: 10-1 내지 10-j) 각각이 전송한 하나 이상의 로컬 파라미터를 기반으로 글로벌 파라미터를 획득할 수 있다. 예를 들어, 글로벌 파라미터 획득부(111)는, 먼저 통신부(101)가 분산 학습 처리 장치(10: 10-1 내지 10-j)으로부터 로컬 파라미터가 기록된 패킷을 수신하면, 수신한 순서대로 또는 임의의 순서에 따라서 패킷으로부터 하나 이상의 로컬 파라미터를 추출하고, 추출된 하나 이상의 로컬 파라미터를 이용하여 글로벌 파라미터를 획득할 수도 있다. 이 경우, 글로벌 파라미터 획득부(111)는 하나 이상의 로컬 파라미터를 합산하거나 가중합함으로써, 글로벌 파라미터를 획득할 수도 있다. 글로벌 파라미터 획득부(111)는 로컬 파라미터를 수신할 때마다 글로벌 파라미터를 획득 또는 갱신할 수도 있다. 예를 들어, 로컬 파라미터가 수신되면, 글로벌 파라미터 획득부(111)는, 기존에 수신한 로컬 파라미터의 합산 또는 가중합 등에 의해 획득 또는 갱신된 글로벌 파라미터에 대해 새로 수신한 로컬 파라미터의 합산 또는 가중합 등의 연산을 수행함으로써 글로벌 파라미터를 획득 또는 갱신할 수도 있다.
일 실시예에 따르면, 글로벌 파라미터 획득부(111)는 취합 대상 로컬 파라미터 개수(91)에 따라서 글로벌 파라미터를 획득할 수도 있다. 보다 구체적으로 글로벌 파라미터 획득부(111)는 취합 대상 로컬 파라미터 개수(91)과 같거나 취합 대상 로컬 파라미터 개수(91)보다 적은 수의 로컬 파라미터를 이용하여 글로벌 파라미터를 획득할 수도 있다. 예를 들어, 글로벌 파라미터 획득부(111)는, 로컬 파라미터를 수신을 계수하고, 만약 계수 결과(즉, 수신한 로컬 파라미터의 개수)가 취합 대상 로컬 파라미터 개수(91)보다 작은 경우에는 로컬 파라미터를 해당 시점 이전에 기 획득된 글로벌 파라미터에 부가하여 합산하고, 반대로 계수 결과가 취합 대상 로컬 파라미터 개수(91)보다 큰 경우에는 수신한 로컬 파라미터를 부가하지 않음으로써 글로벌 파라미터를 연산할 수도 있다. 글로벌 파라미터 연산에 이용되지 안은 로컬 파라미터는 무시된다. 계수 결과가 취합 대상 로컬 파라미터 개수(91)와 동일한 경우에는, 미리 정의된 바에 따라서, 해당 시점에서의 로컬 파라미터는 기 연산된 글로벌 파라미터에 부가되어 합산될 수도 있고 또는 무시될 수도 있다. 다시 말해서, 취합 대상 로컬 파라미터 개수(91)가 N(N은 1보다 크고 M보다 작은 자연수)로 설정된 경우라면, 글로벌 파라미터의 연산에는 먼저 로컬 파라미터 개수 결정 장치(100)에 도달한 제1 로컬 파라미터 내지 제N 로컬 파라미터(또는 실시예에 따라 제(N-1) 로컬 파라미터)가 이용되고, 이후에 도착한 제(N+1) 로컬 파라미터(실시예에 따라 제N 로컬 파라미터) 내지 제M 로컬 파라미터는 글로벌 파라미터의 연산에 이용되지 않을 수 있다. 이에 따라 기 획득된 취합 대상 로컬 파라미터 개수(91) 이하(또는 미만)의 로컬 파라미터를 이용하여 글로벌 파라미터가 연산될 수 있다. 상술한 글로벌 파라미터의 연산 과정은 최종적으로, 예를 들어, 하기의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure pat00001
수학식 1에서 N은 취합 대상 로컬 파라미터 개수(91)이고, t는 해당 로컬 및 글로벌 파라미터 획득 과정(해당 라운드)을 나타내는 인덱스 번호이다. g^t_n,L은 n 시점에서 수신된 로컬 파라미터이고, g^t_G는 수신한 취합 대상 로컬 파라미터 개수의 로컬 파라미터(즉, N개의 로컬 파라미터)를 순차적으로 합산하여 획득된 최종적인 글로벌 파라미터이다.
글로벌 파라미터(일례로 로컬 파라미터의 수신 시마다 연산되어 획득되는 글로벌 파라미터나 최종적인 글로벌 파라미터)는, 실시예에 따라서, 즉시 또는 일정 시간의 경과 또는 일정 처리 이후에 각각의 분산 학습 처리 장치(10: 10-1 내지 10-j)로 전달될 수 있다.
일 실시예에 의하면, 글로벌 파라미터 획득부(111)는, 글로벌 파라미터(91)의 획득 이전에 수신한 패킷이 로컬 파라미터를 포함하고 있는 패킷인지 여부를 먼저 판단하도록 마련되는 것도 가능하다. 이 경우, 만약 수신한 패킷으로부터 로컬 파라미터가 추출 가능하다면, 글로벌 파라미터 획득부(111)는 상술한 바와 같이 글로벌 파라미터를 획득할 수 있다. 만약 수신한 패킷에 로컬 파라미터가 부재하여 패킷으로부터 로컬 파라미터의 추출이 불가능하다면, 글로벌 파라미터 획득부(111)는 수신한 패킷은 글로벌 파라미터의 생성 또는 갱신에 이용하지 않는다. 로컬 파라미터가 부재한 패킷은, 처리부(110) 등에 의해 일반적인 다른 패킷(들)과 동일하게 또는 이와 상이한 방법을 통해 처리될 수 있다. 패킷의 로컬 파라미터 포함 여부에 대한 판단 및 이에 따른 처리는 생략될 수도 있다.
또한, 다른 일 실시예에 따르면, 글로벌 파라미터 획득부(111)는, 글로벌 파라미터의 연산 전에 이미 글로벌 파라미터가 모든 또는 일부의 분산 학습 처리 장치(10: 10-1 내지 10-j)에게 브로드캐스팅되었는지 여부를 판단할 수도 있다. 만약 글로벌 파라미터가 이미 모든 분산 학습 처리 장치(10: 10-1 내지 10-j) 또는 일부의 분산 학습 처리 장치(10: 10-1 내지 10-j)에게 전송된 경우라면, 실시예에 따라서, 글로벌 파라미터 획득부(111)는 상술한 글로벌 파라미터 생성 동작을 수행하지 않을 수 있다. 이 경우, 글로벌 파라미터 획득부(111)는 수신되는 로컬 파라미터들은 무시하고 이들에 대한 처리(일례로 글로벌 파라미터의 생성 등)를 수행하지 않을 수도 있다. 글로벌 파라미터의 기 전송 여부에 대한 판단 및 관련 처리는 생략되는 것도 가능하다.
상술한 바와 같이 획득된 글로벌 파라미터(또는 글로벌 파라미터에 포함되는 각각의 값(들))는, 합산된 로컬 파라미터에 따라서 영(0), 양의 값 또는 음의 값을 가질 수 있다. 제1 계수 처리부(113)는, 현재의 라운드(일례로 제T 라운드)에서 획득된 글로벌 파라미터(제T 글로벌 파라미터)와 기존의 라운드(일례로 제T 라운드 바로 직전의 제(T-1) 라운드 등)에서 획득된 글로벌 파라미터(제(T-1) 글로벌 파라미터) 간의 부호의 동일 여부를 판단하고, 이를 기반으로 제1 계수 결과(93)를 획득 또는 갱신할 수 있다. 예를 들어, 제1 계수 처리부(113)는, 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터의 부호가 서로 상이한 경우를 계수하여 제1 계수 결과(93)를 갱신할 수 있다. 보다 구체적으로는, 제1 계수 처리부(113)는 획득된 제T 글로벌 파라미터의 부호 값(일례로 양수일 때 1로 저장되고 음수 일 때 0으로 저장되는 1 비트(1 bit)의 값)을 추출하여 부호 값에 대응하는 적어도 하나의 비트 열(S^t_G)를 획득하고, 제T 글로벌 파라미터의 부호 값에 대응하는 적어도 하나의 비트 열(S^t_G)과 기존에 추출된 제(T-1) 글로벌 파라미터의 부호 값에 대응하는 적어도 하나의 비트 열(S^(t-1)_G)에 대해 배타적 논리합(XOR) 연산을 수행하여 배타적 논리합 연산 결과에 대응하는 비트 열(R^t_G)을 획득한 후, 비트 열(R^t_G)의 값이 1인 경우를 계수하여 제1 계수 결과(93)를 생성하거나 또는 비트 열(R^t_G)의 값이 1인 경우의 계수 결과를 기 획득된 제1 계수 결과(93)에 합산하는 등의 방법으로 부가하여 제1 계수 결과(93)를 갱신할 수 있다. 배타적 논리합 연산은, 연산 대상이 동일한 경우에는 0을 리턴하고, 연산 대상이 상이한 경우에는 1을 리턴하므로, 양 글로벌 파라미터의 부호가 상이하면 연산 결과에 대응하는 비트 열(R^t_G)의 값은 1로 주어진다. 따라서, 연산 결과에 대응하는 각각의 비트 열(R^t_G)의 값을 합산하면, 일 과정에서 새로 획득된 최종적인 글로벌 파라미터가 부호가 그 전 과정에서 획득된 최종적인 글로벌 파라미터의 부호와 상이하게 변경된 경우를 계수할 수 있게 된다.
제2 계수 처리부(115)는, 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터의 부호가 서로 상이한 경우와 소정의 값(즉, 제1 기준 값)을 비교하고, 비교 결과에 따른 값(제2 계수 결과(95))를 결정할 수 있다. 구체적으로 제2 계수 처리부(115)는 제1 계수 처리부(113)로부터 제1 계수 결과(93)를 전달받고, 제1 계수 결과(93) 및 제1 기준 값 사이의 대소를 비교하고, 비교 결과에 따라서 제2 계수 결과(95)를 갱신 또는 유지할 수 있다. 예를 들어, 제2 계수 처리부(115)는 해당 글로벌 파라미터 획득 과정이 종료되면, 제1 계수 결과(93)를 제1 기준 값과 비교하고, 만약 제1 계수 결과(93)가 제1 기준 값보다 크면, 최초의 또는 기존에 갱신된 제2 계수 결과(95)에 소정의 값(일례로 1)을 부과하여 제2 계수 결과(95)를 갱신하고, 그렇지 않으면, 기존의 제2 계수 결과(95)를 그대로 유지함으로써, 제2 계수 결과(95)를 획득, 갱신 또는 유지할 수 있다. 기존의 제2 계수 결과(95)가 유지되는 경우(즉, 제1 계수 결과(93)가 제1 기준 값보다 작은 경우), 제T 글로벌 파라미터는, 실시예에 따라, 각각의 분산 학습 처리 장치(10: 10-1 내지 10-j)로 전달될 수 있다. 여기서, 해당 글로벌 파라미터 획득 과정이 종료된다는 것은, 일례로 분산 학습 처리 장치(10: 10-1 내지 10-j)로부터 수신한 로컬 파라미터 패킷이 해당 라운드에서 마지막으로 수신할 로컬 파라미터 패킷인 것을 포함할 수 있다. 한편, 만약 수신한 로컬 파라미터 패킷이 해당 라운드에서 마지막으로 수신할 로컬 파라미터 패킷이 아니라면, 획득된 제T 글로벌 파라미터는 브로드캐스팅되어 각각의 분산 학습 처리 장치(10: 10-1 내지 10-j)로 전달될 수 있다. 또한, 여기서, 제1 기준 값은 사용자나 설계자 등에 의해 미리 정의된 것일 수 있다. 예를 들어, 제1 기준 값은, 전체 모델에 대한 전체 파라미터 개수의 절반(즉, 2분의 1)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 다른 예를 들어, 설계자 등은 필요에 따라 제1 기준 값을 전체 파라미터 개수의 3분의 2로 정의하는 것도 가능하다. 상술한 바와 같이 제1 계수 결과(93)는 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터의 부호가 서로 상이한 경우를 계수한 것이므로, 제2 계수 결과(95)는 제1 글로벌 파라미터 내지 제T 글로벌 파라미터의 획득 과정에서 이전 글로벌 파라미터에 대해 부호가 변화된 글로벌 파라미터들의 개수(즉, 연속된 두 개의 글로벌 파라미터의 사이에 부호가 변화된 경우)가 소정의 기준(즉, 제1 기준 값)보다 많은 경우가 얼마나 많았는지를 의미한다.
로컬 파라미터 개수 처리부(117)는 제2 계수 처리부(115)로부터 생성 또는 갱신된 제2 계수 결과(95)를 수신하고, 생성 또는 갱신된 제2 계수 결과(95)를 기반으로 취합 대상 로컬 파라미터 개수(91)를 결정할 수 있다. 구체적으로 예를 들어, 로컬 파라미터 개수 처리부(117)는 제2 계수 결과(95)를 기 정의된 제2 기준 값과 비교하고, 만약 제2 계수 결과(95)가 제2 기준 값보다 작으면, 취합 대상 로컬 파라미터 개수(91)를 그대로 유지할 수 있다. 반대로 제2 계수 결과(95)가 제2 기준 값보다 크면 로컬 파라미터 개수 처리부(117)는 취합 대상 로컬 파라미터 개수(91)를 증가시켜 갱신할 수 있다. 이 경우, 로컬 파라미터 개수 처리부(117)는 기존의 취합 대상 로컬 파라미터 개수(91)에 소정의 값(예를 들어, 1)을 합산하여 취합 대상 로컬 파라미터 개수(91)를 새로 결정하여 갱신할 수도 있다. 제2 기준 값은 사용자나 설계자 등에 의해 임의적으로 정의될 수 있다. 한편, 로컬 파라미터 개수 처리부(117)는 취합 대상 로컬 파라미터 개수(91)가 새로 결정되면, 이에 응하여 갱신된 제2 계수 결과(95)를 소정의 값(일례로 0)으로 초기화시킬 수 있다. 상술한 처리에 의해 취합 대상 로컬 파라미터 개수(91)는 새로운 값으로 적절하게 갱신될 수 있게 된다. 글로벌 파라미터 획득부(111)는 갱신된 새로운 취합 대상 로컬 파라미터 개수(91)를 기반으로 적절한 수의 로컬 파라미터를 다시 획득하고, 이를 이용하여 글로벌 파라미터를 상술한 바와 같이 다시 결정하게 된다. 예를 들어, 제2 계수 결과(95)가 제2 기준 값보다 크면, 글로벌 파라미터 획득부(111)는 기존보다 더 많은 개수(일례로 N+1)의 로컬 파라미터를 기반으로 글로벌 파라미터를 생성 또는 갱신하게 되고, 반대로 제2 계수 결과(95)가 제2 기준 값보다 작으면 글로벌 파라미터 획득부(111)는 기존과 동일한 개수(일례로 N)의 로컬 파라미터를 기반으로 글로벌 파라미터를 생성 또는 갱신하게 된다.
이하 도 3 내지 도 5를 참조하여 로컬 파라미터 개수 방법의 여러 실시예에 대해서 설명하도록 한다.
도 3 내지 도 5는 각각 로컬 파라미터 개수 결정 방법의 일 실시예에 대한 제1 내지 제3 흐름도이다.
도 3 내지 도 5에 도시된 바에 따르면, 먼저 제t 라운드(일례로 제2 라운드)가 개시된다(200, 202).
어느 하나의 라운드가 개시되면, 하나 이상의 분산 학습 처리 장치는 각각 데이터를 이용하여 소정의 학습 모델의 훈련을 수행하고, 훈련 결과에 따른 로컬 파라미터를 획득할 수 있다(204). 여기서, 각각의 분산 학습 처리 장치에 의해 훈련되는 학습 모델은 모두 동일할 수도 있고, 일부는 상이할 수도 있으며, 모두 상이할 수도 있다. 또한, 각각의 분산 학습 처리 장치에 의해 이용되는 데이터도 모두 동일할 수도 있고, 모두 상이할 수도 있으며, 일부는 동일하고 다른 일부는 상이할 수도 있다.
각각의 분산 학습 처리 장치는 로컬 파라미터가 획득되면, 이에 응하여 즉시 또는 일정한 시간의 경과 후에, 유선 또는 무선 통신 네트워크로 연결된 로컬 파라미터 개수 결정 장치로 로컬 파라미터를 전송할 수 있다(206). 여기서, 로컬 파라미터 개수 결정 장치는, 로컬 파라미터 개수 결정을 위해 특별히 고안된 장치 및/또는 하나 이상의 정보 처리 장치를 단독으로 또는 조합하여 구현될 수 있다. 일 실시예에 의하면, 로컬 파라미터 개수 결정 장치는, 예를 들어 네트워크 스위치나 서버용 컴퓨터 장치 등과 같은 네트워크용 하드웨어 장치를 이용하여 구현될 수도 있으며, 이 경우, 분산 학습 처리 장치와 로컬 파라미터 개수 결정 장치는 프로그래밍 가능한 데이터 평면을 기반으로 각각 소정의 데이터 전송 또는 처리 등의 동작을 수행할 수 있다.
로컬 파라미터 개수 결정 장치는, 일 실시예에 있어서, 분산 학습 처리 장치로부터 수신한 패킷이 로컬 파라미터를 포함하고 있는지 여부를 먼저 판단할 수도 있다(210). 만약 수신한 패킷이 로컬 파라미터를 불포함하고 있다면(210의 아니오), 수신한 패킷에 대해선 일반적인 패킷 처리가 수행된다(214). 이후 도 5에 도시된 바와 같이 반복 여부(246)에 따라서, 그 다음 라운드(일례로 제2 라운드)가 개시되거나(246의 예, 248, 202) 또는 전체적인 처리 과정이 종료된다(246의 아니오). 반대로 수신한 패킷이 로컬 파라미터를 포함한다면(210의 예), 로컬 파라미터 개수 결정 장치는, 취합 대상 로컬 파라미터 개수(K)를 획득할 수 있다(212). 취합 대상 로컬 파라미터 개수(K)는, 예를 들어, 주기억장치나 보조기억장치 등과 같은 저장부에 저장된 것일 수 있다. 필요에 따라, 수신한 패킷이 로컬 파라미터를 포함하고 있는지 여부를 판단하는 과정(210)은 생략될 수도 있으며, 이 경우, 로컬 파라미터 개수 결정 장치는, 로컬 파라미터가 수신되면(206), 이에 응하여 취합 대상 로컬 파라미터 개수(K)를 획득할 수 있다(212).
로컬 파라미터 개수 결정 장치는, 실시예에 따라서 획득한 취합 대상 로컬 파라미터 개수(K)가 0보다 큰지 여부를 판단할 수도 있다(216). 만약 획득한 취합 대상 로컬 파라미터 개수(K)가 0을 초과하는 값(일례로 자연수 등)이 아니라면(216의 아니오), 로컬 파라미터의 개수를 소정의 기본 값(예를 들어, 1)로 설정할 수 있다(218).
취합 대상 로컬 파라미터 개수(K)가 0보다 크거나(216의 예) 또는 1 등의 기본 값으로 초기화된 후(218), 실시예에 따라서, 로컬 파라미터 개수 결정 장치는, 글로벌 파라미터(g^t_G)가 이미 각각의 분산 학습 처리 장치에 전송되었는지 여부를 더 판단할 수도 있다(220). 만약 이미 글로벌 파라미터(g^t_G)에 대한 전송(브로드캐스팅)이 완료된 이후라면(220의 예), 로컬 파라미터 개수 결정 장치는, 도 4에 도시된 바와 같이, 이후에 수신되는 패킷(로컬 파라미터를 포함할 수도 있고 포함하지 않을 수도 있음)을 무시하고, 이들에 대한 처리를 수행하지 않을 수도 있다(228). 반대로 만약 아직 글로벌 파라미터(g^t_G)에 대한 전송이 완료되지 않았다면(220의 아니오), 도 4에 도시된 바와 같이, 글로벌 파라미터(g^t_G)를 생성하거나 또는 갱신할 수 있다(222). 글로벌 파라미터(g^t_G)가 이미 전송되었는지 여부에 대한 판단(220)은 생략될 수도 있다.
일 실시예에 의하면, 로컬 파라미터 개수 결정 장치는 새로 전달된 로컬 파라미터(G^t_n,L)을 기 연산된 글로벌 파라미터(g^t_G)에 합산 또는 가중합하여 글로벌 파라미터(g^t_G)를 갱신할 수 있다(222). 만약 기 연산된 글로벌 파라미터(g^t_G)가 0이라면(일례로, 기존에 연산하여 획득된 글로벌 파라미터(g^t_G)가 부재하다면), 새로 전달된 로컬 파라미터(G^t_n,L)가 글로벌 파라미터(g^t_G)로 그대로 또는 일부 변형되어 이용될 수 있다.
한편, 로컬 파라미터(G^t_n,L)를 기 연산된 글로벌 파라미터(g^t_G)에 부가하는 과정(222)과 동시에 또는 순차적으로, 수신한 로컬 파라미터(G^t_n,L)가 계수될 수 있다(224). 수신한 로컬 파라미터(G^t_n,L)를 계수하는 과정은, 수신한 로컬 파라미터(G^t_n,L)의 개수를 나타내는 변수(Node_count)에 1을 더함으로써 수행될 수 있다(224). 수신한 로컬 파라미터(G^t_n,L)의 개수를 나타내는 변수(Node_count)는 로컬 파라미터가 수신 및 획득될 때마다 1씩 증가하도록 마련된 것일 수 있다.
로컬 파라미터 개수 결정 장치는 수신한 로컬 파라미터(G^t_n,L)의 계수 결과(일례로, 수신한 로컬 파라미터(G^t_n,L)의 개수를 나타내는 변수(Node_count))를 기 호출된 취합 대상 로컬 파라미터 개수(K)와 비교할 수 있다(226). 만약 수신한 로컬 파라미터(G^t_n,L)의 계수 결과가 취합 대상 로컬 파라미터 개수(K)보다 크거나 또는 실시예에 따라 동일하다면(226의 예), 이후에 분산 학습 처리 장치 각각으로부터 전달되는 패킷들을 무시하고, 이에 대해선 더 이상 처리를 수행하지 않을 수 있다(228).
반대로 수신한 로컬 파라미터(G^t_n,L)의 계수 결과가 취합 대상 로컬 파라미터 개수(K)보다 작다면, 로컬 파라미터 개수 결정 장치는 글로벌 파라미터의 부호 값을 추출하여 부호 값에 대응하는 적어도 하나의 비트 열(S^t_G)을 획득할 수 있다(228). 예를 들어, 로컬 파라미터 개수 결정 장치는, 글로벌 파라미터로부터 부호를 나타내는 영역(일례로 양수일 때 1로 저장되고 음수 일 때 0으로 저장되는 1 비트의 저장 공간)의 값을 호출하여 부호 값에 대응하는 적어도 하나의 비트 열(S^t_G)을 획득할 수도 있다.
이어서 로컬 파라미터 개수 결정 장치는, 이전 라운드(즉, 제(t-1) 라운드로, 예를 들어 제1 라운드일 수 있음)의 부호 값에 대응하는 적어도 하나의 비트 열(S^(t-1)_G)을 획득하고, 현 라운드(즉, 제2 라운드)에서 획득된 글로벌 파라미터(g^t_G)의 부호 값에 대응하는 적어도 하나의 비트 열(S^t_G)과 이전 라운드(즉, 제1 라운드)에서 획득된 글로벌 파라미터(g^(t-1)_G)의 부호 값에 대응하는 적어도 하나의 비트 열(S^(t-1)_G)을 이용하여 배타적 논리합 연산을 수행하여, 제1 계수 결과(sum^t_G)를 획득 또는 갱신할 수 있다(230, 232). 보다 상세하게 예를 들어, 제1 계수 결과는 배타적 논리합 연산 결과에 따른 비트 열(R^t_G)을 획득하고(230), 비트 열(R^t_G)의 값이 1인 경우를 계수한 후, 계수 결과(Bitcount(R^t_G))를 제1 계수 결과(sum^t_G)에 합산하여 제1 계수 결과(sum^t_G)를 갱신할 수도 있고, 또는 계수 결과(Bitcount(R^t_G))를 그대로 제1 계수 결과(sum^t_G)로 결정하여 획득할 수도 있다(232).
일 실시예에 의하면, 로컬 파라미터 개수 결정 장치는 수신한 패킷이 해당 라운드(일례로 제2 라운드)의 마지막 패킷인지 여부를 더 판단할 수도 있다(234). 만약 수신한 패킷이 해당 라운드의 마지막 로컬 파라미터 패킷이 아니라면(234의 아니오), 도 5에 도시된 바와 같이 글로벌 파라미터(g^t_G)는 각 분산 학습 처리 장치로 브로드캐스팅되어 전달될 수도 있다(246).
제1 계수 결과(sum^t_G)는 미리 정의된 제1 기준 값(c_1)과 상호 비교될 수 있다(236). 만약 제1 계수 결과(sum^t_G)가 미리 정의된 제1 기준 값(c_1)보다 작다면(236의 아니오), 획득된 해당 라운드(일례로 제2 라운드)의 글로벌 파라미터(g^t_G)는 도 5에 도시된 바와 같이 각 분산 학습 처리 장치로 전달될 수 있다(246). 만약 제1 계수 결과(sum^t_G)가 미리 정의된 제1 기준 값(c_1)보다 크다면(236의 예), 제2 계수 결과(count)가 설정 또는 갱신될 수 있다(238). 예를 들어, 제2 계수 결과(count)는, 제1 계수 결과(sum^t_G)가 미리 정의된 제1 기준 값(c_1)보다 큰 경우(236의 예), 기존의 제2 계수 결과(count)에 1의 값을 더함으로써 갱신될 수도 있다.
제2 계수 결과(count)가 획득 또는 갱신되면(238), 도 5에 도시된 바와 같이, 제2 계수 결과(count)가 제2 기준 값(c_2)과 비교될 수 있다(240). 만약 제2 계수 결과(count)가 제2 기준 값(c_2)보다 크다면(240의 예, 실시예에 따라 제2 계수 결과(count)가 제2 기준 값(c_2)과 동일한 경우를 포함 가능함), 취합 대상 로컬 파라미터 개수(K)는 갱신될 수 있다(242). 예를 들어, 취합 대상 로컬 파라미터 개수(K)는 기존의 취합 대상 로컬 파라미터 개수(K)에 1을 더함으로써 갱신될 수도 있다. 갱신된 취합 대상 로컬 파라미터 개수(K)는 저장부 등에 일시적 또는 비일시적으로 저장될 수 있다. 만약 제2 계수 결과(count)가 제2 기준 값(c_2)보다 작다면(240의 아니오), 취합 대상 로컬 파라미터 개수(K)의 갱신은 수행되지 않는다.
이후, 해당 라운드(일례로 제2 라운드)에서 획득된 글로벌 파라미터(g^t_G)는 각각의 분산 학습 처리 장치로 동시에 또는 순차적으로 전달될 수 있다(244).
상술한 과정(202 내지 244)은 필요에 따라 반복 수행될 수 있다(246, 248). 다시 말해서 해당 라운드(일례로 제2 라운드)가 종료되면, 상황에 따라서 그 다음 라운드(일례로 제3 라운드)가 개시될 수 있다. 라운드의 수행 및 처리는, 예를 들어, 학습 모델의 성능이 적절하게 수렴할 때까지 반복 수행될 수도 있다.
상술한 과정(200 내지 246)은 실시예에 따라서 도 3 내지 도 5에 도시된 바와는 상이한 순서로 수행될 수도 있다. 예를 들어, 글로벌 파라미터(g^t_G)의 기 전송 여부에 대한 판단(220)은, 취합 대상 로컬 파라미터 개수(K)의 호출 및 획득 과정(212) 이전에 수행될 수도 있다. 또한, 다른 예를 들어, 수신한 로컬 파라미터(G^t_n,L)의 계수(224)는, 글로벌 파라미터(g^t_G)의 생성 또는 갱신(222)에 선행하여 수행되는 것도 가능하다. 이 외에도 각각의 과정(200 내지 246)은, 설계자나 사용자 등의 임의적 선택에 따라서 상술한 바와는 다른 순서로 처리될 수도 있다.
상술한 실시예에 따른 로컬 파라미터 개수 결정 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 프로그램은, 명령어, 라이브러리, 데이터 파일 및/또는 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다. 또한, 상술한 로컬 파라미터 개수 결정 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 솔리드 스테이트 드라이브(SSD), 롬, 램 또는 플래시 메모리 등과 같은 반도체 기억 소자 기반의 저장 매체나, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 기반의 저장 매체나, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체나, 또는 플롭티컬 디스크 등과 같은 자기-광 기록 매체 등처럼 컴퓨터 또는 이에 상응하는 장치의 호출에 따라 실행되는 하나 이상의 프로그램을 일시적 또는 비일시적으로 저장 가능한 적어도 한 종류의 물리적 저장 매체를 포함할 수 있다.
이상 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법의 여러 실시예에 대해 설명하였으나, 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 또는 로컬 파라미터 개수 결정 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현할 수 있는 다른 다양한 시스템이나, 장치나 방법 역시 상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 또는 로컬 파라미터 개수 결정 방법의 일 실시예가 될 수 있다. 예를 들어, 설명된 방법(들)이 설명된 바와 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소(들)가 설명된 바와 다른 형태로 결합, 연결 또는 조합되거나 다른 구성 요소 또는 균등물 등에 의하여 대치 또는 치환되더라도, 상술한 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 로컬 파라미터 개수 결정 방법 중 적어도 하나의 일 실시예에 해당할 수 있다.
1: 학습 시스템 10: 분산 학습 처리 장치
100: 로컬 파라미터 개수 결정 장치 101: 통신부
105: 저장부 109: 사용자 인터페이스
110: 처리부 111: 글로벌 파라미터 획득부
113: 제1 계수 처리부 115: 제2 계수 처리부
117: 로컬 파라미터 개수 처리부

Claims (17)

  1. 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 적어도 하나의 분산 학습 처리 장치로부터 수신하는 단계;
    상기 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하는 단계; 및
    제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계;를 포함하는 로컬 파라미터 개수 결정 방법.
  2. 제1항에 있어서,
    상기 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계는,
    상기 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하는 단계; 및
    상기 제1 계수 결과 및 제1 기준 값을 비교하고, 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계;를 더 포함하는 로컬 파라미터 개수 결정 방법.
  3. 제2항에 있어서,
    상기 제1 계수 결과 및 제1 기준 값을 비교하고, 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 단계는,
    상기 제1 계수 결과가 상기 제1 기준 값을 초과하면, 제2 계수 결과를 갱신하는 단계; 및
    갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 취합 대상 로컬 파라미터 개수를 증가시켜 갱신하는 단계;를 더 포함하는 로컬 파라미터 개수 결정 방법.
  4. 제3항에 있어서,
    상기 제2 계수 결과는, 제1 글로벌 파라미터 내지 제(T-1) 글로벌 파라미터 중 연속된 두 개의 글로벌 파라미터 사이의 제1 계수 결과와 상기 제1 기준 값 간의 비교 결과를 기반으로 획득된 것인 로컬 파라미터 개수 결정 방법.
  5. 제3항에 있어서,
    상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 갱신된 제2 계수 결과를 초기화하는 단계;를 더 포함하는 로컬 파라미터 개수 결정 방법.
  6. 제2항에 있어서,
    상기 제1 기준 값은, 전체 파라미터 개수의 절반을 포함하는 로컬 파라미터 개수 결정 방법.
  7. 제2항에 있어서,
    상기 제T 글로벌 파라미터와 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하는 단계는,
    상기 제T 글로벌 파라미터의 부호값 및 제(T-1) 글로벌 파라미터의 부호값 간에 배타적 논리합 연산을 수행하는 단계; 및
    배타적 논리합 연산의 결과를 합산하거나 또는 상기 배타적 논리합 연산 결과 중 값이 1인 결과를 계수하여 상기 제1 계수 결과를 획득하는 단계;를 포함하는 로컬 파라미터 개수 결정 방법.
  8. 제1항에 있어서,
    상기 제T 글로벌 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로 전달하는 단계;를 더 포함하는 로컬 파라미터 개수 결정 방법.
  9. 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 적어도 하나의 분산 학습 처리 장치로부터 수신하는 통신부; 및
    상기 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하고, 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 프로세서;를 포함하는 로컬 파라미터 개수 결정 장치.
  10. 제9항에 있어서,
    상기 프로세서는, 상기 제T 글로벌 파라미터와 상기 제(T-1) 글로벌 파라미터 간에 부호가 서로 상이한 경우를 계수하여 제1 계수 결과를 획득하고, 상기 제1 계수 결과 및 제1 기준 값을 비교하고, 상기 제1 계수 결과 및 제1 기준 값의 비교 결과에 따라 상기 취합 대상 로컬 파라미터 개수를 갱신 또는 유지하는 로컬 파라미터 개수 결정 장치.
  11. 제10항에 있어서,
    상기 프로세서는, 상기 제1 계수 결과가 상기 제1 기준 값을 초과하면, 제2 계수 결과를 갱신하여 갱신된 제2 계수 결과를 획득하고, 상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 취합 대상 로컬 파라미터 개수를 증가시켜 상기 취합 대상 로컬 파라미터 개수를 갱신하는 로컬 파라미터 개수 결정 장치.
  12. 제11항에 있어서,
    상기 제2 계수 결과는, 제1 글로벌 파라미터 내지 제(T-1) 글로벌 파라미터 중 연속된 두 개의 글로벌 파라미터 사이의 제1 계수 결과와 상기 제1 기준 값 간의 비교 결과를 기반으로 획득된 것인 로컬 파라미터 개수 결정 장치.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 갱신된 제2 계수 결과가 미리 정의된 제2 기준 값을 초과하면, 상기 갱신된 제2 계수 결과를 초기화하는 로컬 파라미터 개수 결정 장치.
  14. 제10항에 있어서,
    상기 제1 기준 값은, 전체 파라미터 개수의 절반을 포함하는 로컬 파라미터 개수 결정 장치.
  15. 제10항에 있어서,
    상기 프로세서는, 상기 제T 글로벌 파라미터의 부호값 및 제(T-1) 글로벌 파라미터의 부호값 간에 배타적 논리합 연산을 수행하고, 배타적 논리합 연산의 결과를 합산하거나 또는 상기 배타적 논리합 연산 결과 중 값이 1인 결과를 계수함으로써, 상기 제1 계수 결과를 획득하는 로컬 파라미터 개수 결정 장치.
  16. 제9항에 있어서,
    상기 통신부는, 상기 제T 글로벌 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로 전달하는 로컬 파라미터 개수 결정 장치.
  17. 학습을 수행하는 적어도 하나의 분산 학습 처리 장치; 및
    데이터 평면을 기반으로 취합 대상 로컬 파라미터 개수 이하의 로컬 파라미터를 상기 적어도 하나의 분산 학습 처리 장치로부터 수신하고, 상기 취합 대상 개수 이하의 로컬 파라미터를 이용하여 제T 글로벌 파라미터를 획득하고, 제(T-1) 글로벌 파라미터와 상기 제T 글로벌 파라미터 간의 부호의 상이 여부를 기반으로 상기 취합 대상 로컬 파라미터 개수를 갱신하는 로컬 파라미터 개수 결정 장치;를 포함하는 학습 처리 시스템.
KR1020210108084A 2021-08-17 2021-08-17 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법 KR20230026104A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210108084A KR20230026104A (ko) 2021-08-17 2021-08-17 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법
US17/888,843 US20230059162A1 (en) 2021-08-17 2022-08-16 System for processing machine learning, apparatus and method for determining number of local parameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210108084A KR20230026104A (ko) 2021-08-17 2021-08-17 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230026104A true KR20230026104A (ko) 2023-02-24

Family

ID=85228420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210108084A KR20230026104A (ko) 2021-08-17 2021-08-17 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법

Country Status (2)

Country Link
US (1) US20230059162A1 (ko)
KR (1) KR20230026104A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240855A (zh) * 2023-08-21 2023-12-15 北京百度网讯科技有限公司 分布式系统及流量控制方法、装置、设备和介质

Also Published As

Publication number Publication date
US20230059162A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
US20220051061A1 (en) Artificial intelligence-based action recognition method and related apparatus
US10726335B2 (en) Generating compressed representation neural networks having high degree of accuracy
CN111291190B (zh) 一种编码器的训练方法、信息检测的方法以及相关装置
CN111428091B (zh) 一种编码器的训练方法、信息推荐的方法以及相关装置
JP2023510566A (ja) ニューラル・ネットワークのための適応的探索方法および装置
CN112990390B (zh) 一种图像识别模型的训练方法、图像识别的方法及装置
CN111612093A (zh) 一种视频分类方法、视频分类装置、电子设备及存储介质
CN110516113B (zh) 一种视频分类的方法、视频分类模型训练的方法及装置
WO2023142316A1 (zh) 飞行决策生成方法和装置、计算机设备、存储介质
CN113723378B (zh) 一种模型训练的方法、装置、计算机设备和存储介质
EP3767549A1 (en) Delivery of compressed neural networks
CN114092920B (zh) 一种模型训练的方法、图像分类的方法、装置及存储介质
US11295455B2 (en) Information processing apparatus, information processing method, and program
KR20230026104A (ko) 학습 처리 시스템, 로컬 파라미터 개수 결정 장치 및 방법
KR102471701B1 (ko) 감시카메라 관리 장치
CN113791910A (zh) 内存分配方法、内存分配装置、电子设备和可读存储介质
CN114282035A (zh) 图像检索模型的训练和检索方法、装置、设备及介质
CN113409096B (zh) 目标对象识别方法、装置、计算机设备及存储介质
CN113536876A (zh) 一种图像识别方法和相关装置
KR20230025266A (ko) 학습 시스템, 학습 모델 결정 장치 및 방법
CN112015973A (zh) 一种异构网络的关系推理方法及终端
CN110188218A (zh) 影像处理方法、装置以及电子设备
KR102259429B1 (ko) 로봇의 배치 구역을 결정하는 인공 지능 서버 및 그 방법
KR102563330B1 (ko) 조인 질의를 위한 카디널리티 추정 장치 및 방법
CN112202686B (zh) 一种差分流量控制的自适应接入识别方法及终端设备