KR102649283B1 - 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법 - Google Patents

임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법 Download PDF

Info

Publication number
KR102649283B1
KR102649283B1 KR1020210023302A KR20210023302A KR102649283B1 KR 102649283 B1 KR102649283 B1 KR 102649283B1 KR 1020210023302 A KR1020210023302 A KR 1020210023302A KR 20210023302 A KR20210023302 A KR 20210023302A KR 102649283 B1 KR102649283 B1 KR 102649283B1
Authority
KR
South Korea
Prior art keywords
neural network
deep neural
level
target
optimization
Prior art date
Application number
KR1020210023302A
Other languages
English (en)
Other versions
KR20220119883A (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 KR1020210023302A priority Critical patent/KR102649283B1/ko
Publication of KR20220119883A publication Critical patent/KR20220119883A/ko
Application granted granted Critical
Publication of KR102649283B1 publication Critical patent/KR102649283B1/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
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법이 개시되며, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법은, 기 구축된 학습 심층신경망의 특성 정보를 획득하는 단계, 상기 특성 정보에 기초하여 상기 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시키는 단계, 타겟 디바이스의 하드웨어 정보 및 상기 타겟 디바이스에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신하는 단계 및 상기 하드웨어 정보 및 상기 대상 특성 정보에 대응하는 상기 연산 융합 수준을 상기 최적화 모델에 기초하여 도출하는 단계를 포함할 수 있다.

Description

임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법{APPARATUS AND METHOD FOR OPTIMIZING DEEP NEURAL NETWORK FOR EMBEDDED PLATFORM}
본원은 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법에 관한 것이다. 예를 들면, 본원은 영상으로부터 행동을 인식하는 ST-GCN 모델의 임베디드 플랫폼에서의 최적화 기법에 관한 것이다.
최근 들어, 임베디드 GPU는 심층신경망(Deep Neural Network, DNN)의 구현을 위한 유망한 후보가 되고 있다. CPU 기반의 DNN 설계와 비교할 때, GPU 기반의 DNN 설계는 구현 과정에서 사용자 정의가 가능하여 지연 시간을 줄일 수 있는 이점이 있다.
또한 자율주행, 안전 및 모니터링 등 다양한 분야에서 사물 인터넷(IoT)을 구현하기 위하여는 점점 더 복잡하고 고성능인 DNN 모델이 필요할 뿐만 아니라, 지연 시간, 전력 소비 및 리소스와 같은 제약을 엄격하게 만족할 것을 요구하고 있다. 이와 관련하여, 임베디드 GPU는 저전력 플랫폼을 위한 고성능의 병렬 프로세서에 해당하기 때문에 IoT에 DNN을 구현하는데 적합한 솔루션일 수 있다.
특히, 심층신경망(DNN) 중 영상에서 식별되는 스켈레톤(Skeleton) 데이터에 기반한 3D 행동 인식 모델인 ST-GCN(Spatial Temporal Graph Convolutional Network)의 경우, 등장인물의 포즈 추정 및 동작 인식의 두 가지 주요 기능을 수행하며, 구체적으로 키 포인트 인식과 키 포인트 사이의 벡터 방향 인식을 통해 키 포인트 사이의 비정상 연결 오류를 줄이는 프로세스를 통해 등장인물에 대하여 인식된 골격 포인트를 나타내는 키 포인트로부터 포즈를 추정하고 이를 GCN(Graph Convolutional Network)을 기반으로 하여 공간적 특성과 시간적 특성의 관계로 결합하여 행동을 보다 정확히 인식하도록 동작한다.
그러나, 임베디드 플랫폼 환경에서 ST-GCN 모델을 구동하기 위하여, 타겟 디바이스의 하드웨어 리소스의 제약을 고려하여 심층신경망(DNN) 모델의 세부 파라미터에 대한 구체적인 설계 및 하드웨어 최적화를 제공하는 기법에 대한 연구 개발은 미비한 실정이다.
본원의 배경이 되는 기술은 한국등록특허공보 제10-1950786호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 디바이스의 하드웨어 제약을 고려하여 심층신경망의 연산 융합 수준, 병렬 레벨 등에 대한 최적화를 수행하는 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법은, 기 구축된 학습 심층신경망의 특성 정보를 획득하는 단계, 상기 특성 정보에 기초하여 상기 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시키는 단계, 타겟 디바이스의 하드웨어 정보 및 상기 타겟 디바이스에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신하는 단계 및 상기 하드웨어 정보 및 상기 대상 특성 정보에 대응하는 상기 연산 융합 수준을 상기 최적화 모델에 기초하여 도출하는 단계를 포함할 수 있다.
또한, 상기 최적화 모델을 학습시키는 단계는, 상기 연산 융합 수준의 변화에 따른 보상에 기초하여 상기 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시킬 수 있다.
또한, 상기 보상은, 상기 연산 융합 수준의 변화에 따른 메모리 소비에 대한 제1변화 정보 및 지연 수준에 대한 제2변화 정보로부터 연산될 수 있다.
또한, 상기 최적화 모델을 학습시키는 단계는, 이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 상기 최적의 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 상기 최적화 모델을 학습시킬 수 있다.
또한, 상기 특성 정보는 상기 학습 심층신경망의 입력 채널의 수, 출력 채널의 수, 입력 피처 맵의 크기, 커널 크기 및 레이어 인덱스를 포함할 수 있다.
또한, 상기 대상 특성 정보는 상기 타겟 심층신경망의 입력 채널의 수, 출력 채널의 수, 입력 피처 맵의 크기, 커널 크기 및 레이어 인덱스를 포함할 수 있다.
또한, 상기 학습 심층신경망 및 상기 타겟 심층신경망은 입력된 영상으로부터 등장인물의 행동을 인식하기 위한 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델일 수 있다.
또한, 상기 ST-GCN 모델은 각각이 상호 순차 연결되는 복수 개의 유닛을 포함할 수 있다.
또한, 상기 도출하는 단계는, 상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 상기 연산 융합 수준으로 도출할 수 있다.
또한, 상기 복수 개의 유닛 각각은 컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산을 각각 수행하는 복수의 레이어를 포함할 수 있다.
또한, 상기 도출하는 단계는, 상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 상기 연산 융합 수준으로 도출할 수 있다.
또한, 상기 타겟 디바이스는 GPU(Graphics Processing Unit)를 포함할 수 있다.
또한, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법은 상기 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 상기 GPU의 병렬 수준을 결정하는 단계를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치는, 기 구축된 학습 심층신경망의 특성 정보를 획득하고, 상기 특성 정보에 기초하여 상기 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시키는 모델 구축부 및 타겟 디바이스의 하드웨어 정보 및 상기 타겟 디바이스에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신하고, 상기 하드웨어 정보 및 상기 대상 특성 정보에 대응하는 상기 연산 융합 수준을 상기 최적화 모델에 기초하여 도출하는 모델 적용부를 포함할 수 있다.
또한, 상기 모델 구축부는 상기 연산 융합 수준의 변화에 따른 보상에 기초하여 상기 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시킬 수 있다.
또한, 상기 모델 구축부는 이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 상기 최적의 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 상기 최적화 모델을 학습시킬 수 있다.
또한, 상기 모델 적용부는 상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 상기 연산 융합 수준으로 도출할 수 있다.
또한, 상기 모델 적용부는 상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 상기 연산 융합 수준으로 도출할 수 있다.
또한, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치는, 상기 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 상기 GPU의 병렬 수준을 결정하는 병렬 수준 결정부를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 디바이스의 하드웨어 제약을 고려하여 심층신경망의 연산 융합 수준, 병렬 레벨 등에 대한 최적화를 수행하는 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 디바이스의 하드웨어 제약을 고려하여 입력된 영상으로부터 등장인물의 행동을 인식하는 심층신경망을 최적화할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치를 포함하는 플랫폼 최적화 시스템의 개략적인 구성도이다.
도 2는 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델의 계층 구조를 설명하기 위한 도면이다.
도 3은 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델에 포함된 복수 개의 유닛 각각의 레이어 구조를 설명하기 위한 도면이다.
도 4는 최적화 모델의 학습을 위한 Actor-Critic 구조의 DDPG(Deep Deterministic Policy Gradient) 에이전트를 나타낸 도면이다.
도 5은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치의 개략적인 구성도이다.
도 6은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법에 관한 것이다. 예를 들면, 본원은 영상으로부터 행동을 인식하는 ST-GCN 모델의 임베디드 플랫폼에서의 최적화 기법에 관한 것이다.
도 1은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치를 포함하는 플랫폼 최적화 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본원의 일 실시예에 따른 플랫폼 최적화 시스템(10)은, 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치(100)(이하, '최적화 장치(100)'라 한다.), 타겟 디바이스(200) 및 학습 DB(300)를 포함할 수 있다.
최적화 장치(100), 타겟 디바이스(200) 및 학습 DB(300) 상호간은 네트워크(20)를 통해 통신할 수 있다. 네트워크(20)는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(20)의 일 예에는, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), wifi 네트워크, 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
본원의 실시예에 관한 설명에서 타겟 디바이스(200)는 본원에서의 타겟 심층신경망을 디바이스 상에 구현하려는 대상 장치를 의미할 수 있다. 이와 관련하여, 최적화 장치(100)는 타겟 디바이스(200)의 하드웨어 제약, 자원, 성능 등을 고려하여 타겟 디바이스(200)에 탑재하려는 타겟 심층신경망의 특성에 따라 타겟 심층신경망의 구동과 연계된 최적화 결과를 제공하는 구성일 수 있다.
또한, 본원의 실시예에 관한 설명에서 학습 DB(300)는 타겟 심층신경망과 관련성이 있는 복수(다수)의 학습 심층신경망을 포함하는 기 구축(미리 학습)된 복수의 학습 심층신경망 모델을 저장(보다 구체적으로, 학습 심층신경망 모델 각각과 연계된 네트워크 구조, 파라미터, 코드, 가중치 등의 특성 정보를 저장)하는 구성일 수 있다. 또한, 본원의 구현예에 따라 학습 DB(300)는 최적화 장치(100)에 탑재되어 최적화 장치(100)의 하위 구성으로서 마련되거나 최적화 장치(100)와 별개의 디바이스로 마련되는 것일 수 있다.
타겟 디바이스(200)는 예를 들면, 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC등과 PCS(Personal Communication System), GSM(Global System for Mobile communication), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말기 같은 모든 종류의 무선 통신 장치일 수 있다. 특히, 본원에서의 타겟 디바이스(200)는 임베디드 환경에서 구동하는 IoT 단말, 엣지 디바이스, 임베디드 보드 등을 의미하는 것일 수 있다.
달리 말해, 본원에서의 타겟 디바이스(200)는 임베디드 환경에서 구동하는 컴퓨팅 디바이스를 의미하는 것일 수 있다. 이와 관련하여, 최근에는 임베디드 시스템 환경에서도 GPU(Graphics Processing Unit)를 탑재한 임베디드 디바이스들이 등장함에 따라 이를 이용한 고속 병렬 연산이 가능해져, 방대한 연산량을 요구하는 심층신경망을 임베디드 환경에서 구현하는 것에 대한 요구가 높아지고 있다. 그러나, 종래의 대부분의 인공지능 프레임워크들은 데스크탑 환경, 서버 환경 등 리소스/성능이 충분한 컴퓨팅 환경에서 빠른 학습을 위해 가능한 많은 병렬 컴퓨팅 자원을 활용하는데 초점이 맞추어져 있어 추론(Inference)의 실시간 성능과 저전력, 낮은 메모리 소모량 등이 중요한 임베디드 환경에 대하여 그대로 적용하기 어려운 문제가 있었다.
이하에서는 본원에서 개시하는 최적화 장치(100)가 심층신경망과 연계된 연산 융합 수준, 프로세싱 유닛의 병렬화 수준 등을 최적화하는 프로세스에 대해 상세히 설명하도록 한다.
최적화 장치(100)는 기 구축된 학습 심층신경망의 특성 정보를 획득할 수 있다. 예시적으로, 최적화 장치(100)는 복수의 학습 심층신경망 각각에 대한 특성 정보를 저장하는 학습 DB(300)로부터 학습 심층신경망 각각의 특성 정보를 수신하는 것일 수 있다.
또한, 본원의 실시예에 관한 설명에서 심층신경망의 특성 정보는 심층신경망의 입력 채널의 수, 출력 채널의 수, 입력 피처 맵의 크기, 커널 크기 및 레이어 인덱스를 포함할 수 있다. 보다 구체적으로, 본원에서의 각각의 심층신경망의 특성 정보는 하기 식 1의 5차원 특성 벡터(feature vector) 형태로 정의될 수 있다.
[식 1]
여기서, Dt는 심층신경망 각각에 대한 특성 벡터이고, Ic는 입력 채널의 수이고, Oc는 출력 채널의 수이고, If는 입력 피처 맵의 크기이고, K는 커널 크기이고 T는 레이어 인덱스일 수 있다.
보다 구체적으로, 복수 개의 기 구축된 심층신경망을 포함하는 학습 심층신경망은 특성 정보에 포함된 각각의 요소(예를 들어, 전술한 5가지의 파라미터)마다 상이한 값으로 결정되어 특성 벡터(Dt)가 서로 다르게 정의된 다수의 심층신경망일 수 있다. 달리 말해, 학습 심층신경망은 신경망의 네트워크 구조, 파라미터 등이 적어도 일부 상이한 복수 개의 심층신경망을 포함하도록 수집(획득)되며, 이하에서 상세히 설명하는 바와 같이 최적화 장치(100)는 심층신경망마다의 서로 다른 특성 정보를 고려하여 각각의 심층신경망마다 최적의 연산 융합 수준을 탐색하도록 학습되는 최적화 모델을 구축(생성)할 수 있다.
즉, 최적화 장치(100)는 특성 정보에 기초하여 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시킬 수 있다. 참고로, 본원에서의 연산 융합(Operation Fusion) 수준은 OP fusion 값으로 달리 지칭될 수 있다.
한편, 본원에서의 학습 심층신경망 및 타겟 심층신경망은 입력된 영상으로부터 등장인물의 행동을 인식하기 위한 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델일 수 있다.
도 2는 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델의 계층 구조를 설명하기 위한 도면이다.
도 2를 참조하면, ST-GCN 모델은 각각이 상호 순차 연결되는 복수 개의 유닛(도 2의 ST-GCN 0 내지 ST-GCN n)을 포함하는 구조로 이루어질 수 있다. 또한, 도 2를 참조하면, ST-GCN 모델은 입력 측에 배치 정규화(Batch Normalization) 레이어를 포함하고, 출력 측(달리 말해, 복수 개의 유닛의 출력 단)에 풀링(Pooling) 레이어 및 소프트맥스(Softmax) 레이어를 포함할 수 있다.
도 3은 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델에 포함된 복수 개의 유닛 각각의 레이어 구조를 설명하기 위한 도면이다.
도 3을 참조하면, ST-GCN 모델의 복수 개의 유닛(ST-GCN 0 내지 ST-GCN n) 각각은 컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산을 각각 수행하는 Resnet 기반 엔진을 포함하는 복수의 레이어로 이루어질 수 있다.
이와 관련하여, 레이어 각각의 연산 함수들은 호출될 때마다 메모리에 로드(Load)되어 실행되므로 연속한 서로 다른 함수(예를 들면, 컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산 중 적어도 일부의 함수)를 하나의 함수로 병합하면, 호출에 의해 메모리에 로드(Load)되는 프로세스가 시행되는 횟수가 감소할 수 있다.
그러나, 임베디드 디바이스에 탑재되는 메모리의 크기는 디바이스마다 상이할 수 있으며, 현재 통상적으로 임베디드 디바이스에는 2G 내지 16G 정도 수준의 메모리가 탑재될 수 있다.
따라서, 연산 함수를 과도하게 병합하는 경우(달리 말해, 연산 융합 수준(OP fusion)이 너무 큰 경우)에는 전체 메모리가 작은 임베디드 디바이스에서는 메모리 오버플로우(Memory Overflow)가 발생할 수 있으며, 반대로 연산 함수를 너무 적게 병합하는 경우(달리 말해, 연산 융합 수준(OP fusion)이 너무 작은 경우)에는 메모리 호출 횟수가 증가하여 임베디드 디바이스에서 구동하는 전체 심층신경망 시스템의 성능이 저하될 수 있다.
따라서, 심층신경망의 특성과 함께 해당 심층신경망이 동작하는 하드웨어 디바이스의 메모리 크기, 프로세싱 유닛의 성능 등을 고려하여 최적의 연산 융합 수준을 결정하여야 한다.
이와 관련하여, 본원의 일 실시예에 따르면, 최적화 장치(100)는 연산 융합 수준의 변화에 따른 보상에 기초하여 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시킬 수 있다.
구체적으로, 본원의 일 실시예에 따르면, 최적화 장치(100)는 이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 최적의 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 최적화 모델을 학습시킬 수 있다.
도 4는 최적화 모델의 학습을 위한 Actor-Critic 구조의 DDPG(Deep Deterministic Policy Gradient) 에이전트를 나타낸 도면이다.
도 4를 참조하면, DDPG 에이전트 아키텍처는 행위자(Actor, 도 4의 a)에 상태(state)를 입력하면, 결정론적(Deterministic) 행위를 출력하고, 출력된 행위(Action)를 상태(state)와 함께 비판자(Critic, 도 4의 b)에 입력하여 도출되는 결과(Q-value)를 손실 함수에 인가하고, 그 결과로 역전파(Backpropagation)를 수행하여 업데이트를 하는 구조일 수 있다.
보다 구체적으로, 최적화 장치(100)는 DDPG 에이전트를 통해 소정의 학습 심층신경망과 연계된 연산 융합 수준을 변화시키고, 연산 융합 수준의 변화에 따른 메모리 소비에 대한 제1변화 정보 및 지연 수준에 대한 제2변화 정보로부터 연산되는 보상(Reward)이 커지는 방향으로 최적의 연산 융합 수준을 탐색할 수 있다.
이와 관련하여, DDPG 에이전트에 인가되는 보상(Reward)은 변형된 벨만 방정식 형태의 하기 식 2에 의해 연산될 수 있다.
[식 2]
여기서, R은 보상 함수이고, delayorigin은 이전 연산 융합 수준에 의할 때의 지연 수준이고, delayNew_OP는 현재 연산 융합 수준(새로운 연산 융합 수준)에 의할 때의 지연 수준이고, Memory_sizeorigin은 이전 연산 융합 수준에 의할 때의 메모리 소비이고, Memory_sizeNew_OP는 현재 연산 융합 수준에 의할 때의 메모리 소비일 수 있다. 또한, δ는 보상(Reward) 함수의 제1변화 정보에 대한 감가율(Discount Factor)이고, γ는 제2변화 정보에 대한 감가율(Discount Factor)일 수 있다.
이와 관련하여, 본원의 일 실시예에 따르면, 제1변화 정보 및 제2변화 정보에 대한 감가율은 제1변화 정보에 대한 감가율(δ)이 제2변화 정보에 대한 감가율(γ)보다 큰 값으로 설정될 수 있다. 예시적으로, δ는 0.1이고, γ는 0.05로 설정되어 제1변화 정보 및 제2변화 정보가 보상에 반영되는 정도가 상이하게 결정될 수 있다.
종합하면, 최적화 장치(100)는 DDPG 에이전트를 통한 강화학습을 통해 학습 심층신경망 각각의 특성 정보의 차이와 심층신경망에 포함된 서로 다른 계층(레이어) 사이의 차이를 기반으로 메모리 소비와 지연 수준과 관련한 최적의 성능으로 심층신경망이 동작(구동)할 수 있도록 하는 최적의 연산 융합 수준(OP fusion)을 도출하도록 최적화 모델을 학습시킬 수 있다.
최적화 모델의 학습이 완료되면, 최적화 장치(100)는 타겟 디바이스(200)의 하드웨어 정보 및 타겟 디바이스(200)에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신할 수 있다. 본원의 일 실시예에 따르면, 하드웨어 정보는 타겟 디바이스(200)에 탑재되는 메모리(Memory)의 크기, 프로세싱 유닛의 유형, 기종 및 성능 정보 등을 포함할 수 있다. 예를 들어, 프로세싱 유닛은 타겟 디바이스(200)에 탑재되는 GPU를 의미할 수 있다.
또한, 타겟 심층신경망에 대한 대상 특성 정보는 학습 심층신경망과 마찬가지로 전술한 식 1을 통해 이해될 수 있는 특성 벡터 형태로 정의될 수 있으나, 이에만 한정되는 것은 아니다.
또한, 최적화 장치(100)는 수신한 하드웨어 정보 및 대상 특성 정보에 대응하는 연산 융합 수준을 학습된 최적화 모델에 기초하여 도출할 수 있다.
본원의 일 실시예에 따르면, 최적화 장치(100)는 타겟 심층신경망에 포함된 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 최적화 모델에 기초하여 연산 융합 수준으로서 도출할 수 있다. 이해를 돕기 위해 예시하면, 타겟 심층신경망이 예시적으로 10개의 유닛(ST-GCN 0 내지 ST-GCN 9)을 포함하는 ST-GCN 모델인 경우, 최적화 장치(100)는 타겟 심층신경망의 특성 정보를 학습된 최적화 모델에 입력하여 2개의 유닛을 하나의 통합된 함수로서 연산하도록 하는 연산 융합 수준을 최적화 결과로서 출력할 수 있는 것이다.
이와 관련하여, 최적화 장치(100)는 최적화 모델에 기초하여 도출된 타겟 심층신경망의 특성 정보에 대응하는 최적의 연산 융합 수준을 타겟 디바이스(200)의 하드웨어 성능을 고려하여 조정할 수 있다. 예시적으로, 타겟 디바이스(200)의 메모리 크기는 충분하나 학습된 최적화 모델을 통해 도출된 연산 융합 수준에 의한 병합된 연산 함수가 동시에 호출되어 메모리에 로드된 후 GPU에서 실제로 연산이 이루어지게 될 때 병합된 연산 함수의 복잡도가 해당 타겟 디바이스(200)의 GPU의 연산 처리 성능을 상회하는 경우, 최적화 장치(100)는 최적화 모델을 통해 도출된 특정 연산 융합 수준을 타겟 디바이스(200)의 GPU의 연산 처리 성능을 고려하여 하향 조정할 수 있다.
다른 예로, 타겟 디바이스(200)의 GPU 성능은 충분하나, 메모리 크기가 작은 경우에는 타겟 심층신경망에 대한 최적 연산 융합 수준은 보다 작은 값으로 결정되는 것일 수 있다. 이렇듯, 최적화 장치(100)는 타겟 심층신경망의 네트워크 구조의 특성뿐만 아니라, 타겟 심층신경망이 구동(동작)하는 타겟 디바이스(200)의 하드웨어 제약을 고려하여 최적의 연산 융합 수준을 결정할 수 있다.
또한, 본원의 일 실시예에 따르면, 최적화 장치(100)는 타겟 심층신경망에 포함된 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 최적화 모델에 기초하여 연산 융합 수준으로서 도출할 수 있다. 이해를 돕기 위해 예시하면, 최적화 장치(100)는 하나의 유닛 내에서 컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산 중 적어도 둘 이상의 연속된 연산을 하나의 연산 함수로 처리하도록 하는 연산 융합 수준을 타겟 심층신경망에 포함된 복수 개의 유닛 각각에 대하여 도출할 수 있다.
즉, 최적화 장치(100)는 최적화 모델의 학습이 완료되면, 타겟 디바이스(200)에서 구동하려는 심층신경망인 타겟 심층신경망에 대하여 정의되는 특성 정보(특성 벡터)와 타겟 디바이스(200)의 하드웨어 정보를 고려하여 타겟 디바이스(200)에 대하여 최적화된 연산 융합 수준을 제공하여 타겟 심층신경망이 원활하게 타겟 디바이스(200)에서 구동되도록 최적화할 수 있다.
또한, 본원의 일 실시예에 따르면, 최적화 장치(100)는 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 타겟 디바이스(200)의 GPU의 병렬 수준을 결정할 수 있다.
구체적으로, 최적화 장치(100)는 하기 식 3 내지 식 6에 기초하여 GPU의 SIMD(Single Instruction Multiple Data) 수(성능)를 고려하여 타겟 디바이스(200)의 GPU 병렬 수준을 자동 결정할 수 있다. 특히, GPU의 SIMD 성능은 GPU의 코어의 수와 관련한 것일 수 있다.
[식 3]
[식 4]
[식 5]
[식 6]
여기서, Li는 i번째 레이어의 지연 시간 요구 사항(필요 지연 시간)이고, Ci는 i번째 레이어의 계산 복잡도(컴퓨팅) 요구사항이고, Ri는 해당 레이어(계층)가 소비하는 병렬 자원일 수 있다. 이와 관련하여, 식 3을 통해 요구 사항 정보로부터 각각의 계층이 소비하는 병렬 자원을 연산할 수 있다.
또한, 식 4를 참조하면, 각 네트워크 계층의 계산 복잡도(Ci)는 각 레이어(계층)의 뉴런 수인 NNi 및 해당 레이어(계층)에 대한 컨볼루션 연산의 bit width인 ConvWi로부터 도출될 수 있다.
또한, 식 5에 의해 모든 파이프라인(Pipeline) 단계의 워크로드가 완전히 균형을 이루어 최대 처리량이 달성되도록 하는 각 레이어(계층)의 병렬 리소스 Ri가 도출될 수 있으며, 식 6을 통해 타겟 디바이스(200)에서의 모든 병렬 리소스의 합(Rtotal)을 연산할 수 있다.
도 5은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 장치의 개략적인 구성도이다.
도 5를 참조하면, 최적화 장치(100)는 모델 구축부(110), 모델 적용부(120) 및 병렬 수준 결정부(130)를 포함할 수 있다.
모델 구축부(110)는 기 구축된 학습 심층신경망의 특성 정보를 획득할 수 있다.
또한, 모델 구축부(110)는 수신된 특성 정보에 기초하여 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시킬 수 있다.
모델 적용부(120)는 타겟 디바이스(200)의 하드웨어 정보 및 타겟 디바이스(200)에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신할 수 있다.
또한, 모델 적용부(120)는 타겟 디바이스(200)의 하드웨어 정보 및 대상 특성 정보에 대응하는 연산 융합 수준을 최적화 모델에 기초하여 도출할 수 있다.
병렬 수준 결정부(130)는 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 GPU의 병렬 수준을 결정할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 6은 본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법에 대한 동작 흐름도이다.
도 6에 도시된 임베디드 플랫폼을 위한 심층신경망 최적화 방법은 앞서 설명된 최적화 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 최적화 장치(100)에 대하여 설명된 내용은 임베디드 플랫폼을 위한 심층신경망 최적화 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 6을 참조하면, 단계 S11에서 모델 구축부(110)는 기 구축된 학습 심층신경망의 특성 정보를 획득할 수 있다.
다음으로, 단계 S12에서 모델 구축부(110)는 수신된 특성 정보에 기초하여 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부에 대한 최적의 연산 융합 수준을 출력하는 최적화 모델을 학습시킬 수 있다.
구체적으로, 단계 S12에서 모델 구축부(110)는 연산 융합 수준의 변화에 따른 보상에 기초하여 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시킬 수 있다.
이와 관련하여 본원의 일 실시예에 따르면, 단계 S12에서 모델 구축부(110)는 이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 최적의 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 최적화 모델을 학습시킬 수 있다.
다음으로, 단계 S13에서 모델 적용부(120)는 타겟 디바이스(200)의 하드웨어 정보 및 타겟 디바이스(200)에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신할 수 있다.
다음으로, 단계 S14에서 모델 적용부(120)는 타겟 디바이스(200)의 하드웨어 정보 및 대상 특성 정보에 대응하는 연산 융합 수준을 최적화 모델에 기초하여 도출할 수 있다.
본원의 일 실시예에 따르면, 단계 S14에서 모델 적용부(120)는 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델인 타겟 심층신경망에 대하여, 타겟 심층신경망에 포함된 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 연산 융합 수준으로 도출할 수 있다.
또한, 본원의 일 실시예에 따르면, 단계 S14에서 모델 적용부(120)는 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델인 타겟 심층신경망에 대하여, 타겟 심층신경망에 포함된 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 연산 융합 수준으로 도출할 수 있다.
다음으로, 단계 S15에서 병렬 수준 결정부(130)는 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 GPU의 병렬 수준을 결정할 수 있다.
상술한 설명에서, 단계 S11 내지 S15는 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시예에 따른 임베디드 플랫폼을 위한 심층신경망 최적화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 임베디드 플랫폼을 위한 심층신경망 최적화 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
10: 플랫폼 최적화 시스템
100: 임베디드 플랫폼을 위한 심층신경망 최적화 장치
110: 모델 구축부
120: 모델 적용부
130: 병렬 수준 결정부
200: 타겟 디바이스
300: 학습 DB
20: 네트워크

Claims (16)

  1. 심층신경망 최적화 장치에 의해 수행되는 임베디드 플랫폼을 위한 심층신경망 최적화 방법에 있어서,
    모델 구축부가 기 구축된 학습 심층신경망의 특성 정보를 획득하는 단계;
    상기 모델 구축부가 상기 특성 정보에 기초하여 상기 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부를 하나의 함수로 병합하기 위한 연산 융합 수준을 메모리 소비 및 지연 수준과 관련한 상기 학습 심층신경망의 성능을 고려한 최적 연산 융합 수준으로 출력하는 최적화 모델을 학습시키는 단계;
    모델 적용부가 타겟 디바이스의 하드웨어 정보 및 상기 타겟 디바이스에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신하는 단계; 및
    상기 하드웨어 정보 및 상기 대상 특성 정보에 대응하는 상기 연산 융합 수준을 상기 최적화 모델에 기초하여 도출하는 단계,
    를 포함하되,
    상기 타겟 디바이스는 GPU(Graphics Processing Unit)를 포함하고,
    상기 심층신경망 최적화 방법은,
    병렬 수준 결정부가 상기 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 상기 GPU의 병렬 수준을 결정하는 단계,
    를 더 포함하는 것인, 최적화 방법.
  2. 제1항에 있어서,
    상기 최적화 모델을 학습시키는 단계는,
    상기 연산 융합 수준의 변화에 따른 보상에 기초하여 상기 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시키는 것인, 최적화 방법.
  3. 제2항에 있어서,
    상기 보상은,
    상기 연산 융합 수준의 변화에 따른 메모리 소비에 대한 제1변화 정보 및 지연 수준에 대한 제2변화 정보로부터 연산되는 것인, 최적화 방법.
  4. 제2항에 있어서,
    상기 최적화 모델을 학습시키는 단계는,
    이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 상기 최적 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 상기 최적화 모델을 학습시키는 것인, 최적화 방법.
  5. 제2항에 있어서,
    상기 특성 정보는,
    상기 학습 심층신경망의 입력 채널의 수, 출력 채널의 수, 입력 피처 맵의 크기, 커널 크기 및 레이어 인덱스를 포함하고,
    상기 대상 특성 정보는,
    상기 타겟 심층신경망의 입력 채널의 수, 출력 채널의 수, 입력 피처 맵의 크기, 커널 크기 및 레이어 인덱스를 포함하는 것인, 최적화 방법.
  6. 제1항에 있어서,
    상기 학습 심층신경망 및 상기 타겟 심층신경망은,
    입력된 영상으로부터 등장인물의 행동을 인식하기 위한 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델이고,
    상기 ST-GCN 모델은 각각이 상호 순차 연결되는 복수 개의 유닛을 포함하는 것인, 최적화 방법.
  7. 제6항에 있어서,
    상기 도출하는 단계는,
    상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 상기 연산 융합 수준으로 도출하는 것인, 최적화 방법.
  8. 제6항에 있어서,
    상기 복수 개의 유닛 각각은,
    컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산을 각각 수행하는 복수의 레이어를 포함하는 것인, 최적화 방법.
  9. 제8항에 있어서,
    상기 도출하는 단계는,
    상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 상기 연산 융합 수준으로 도출하는 것인, 최적화 방법.
  10. 삭제
  11. 임베디드 플랫폼을 위한 심층신경망 최적화 장치에 있어서,
    기 구축된 학습 심층신경망의 특성 정보를 획득하고, 상기 특성 정보에 기초하여 상기 학습 심층신경망과 연계된 복수의 연산 중 적어도 일부를 하나의 함수로 병합하기 위한 연산 융합 수준을 메모리 소비 및 지연 수준과 관련한 상기 학습 심층신경망의 성능을 고려한 최적 연산 융합 수준으로 출력하는 최적화 모델을 학습시키는 모델 구축부; 및
    타겟 디바이스의 하드웨어 정보 및 상기 타겟 디바이스에 구축하려는 타겟 심층신경망에 대한 대상 특성 정보를 수신하고, 상기 하드웨어 정보 및 상기 대상 특성 정보에 대응하는 상기 연산 융합 수준을 상기 최적화 모델에 기초하여 도출하는 모델 적용부,
    를 포함하되,
    상기 타겟 디바이스는 GPU(Graphics Processing Unit)를 포함하고,
    상기 심층신경망 최적화 장치는,
    상기 타겟 심층신경망과 연계된 지연 시간 및 계산 복잡도 중 적어도 하나에 대한 요구 사항 정보에 기초하여 상기 GPU의 병렬 수준을 결정하는 병렬 수준 결정부,
    를 더 포함하는 것인, 최적화 장치.
  12. 제11항에 있어서,
    상기 모델 구축부는,
    상기 연산 융합 수준의 변화에 따른 보상에 기초하여 상기 최적화 모델을 강화학습(Reinforcement learning)을 통해 학습시키고,
    상기 보상은,
    상기 연산 융합 수준의 변화에 따른 메모리 소비에 대한 제1변화 정보 및 지연 수준에 대한 제2변화 정보로부터 연산되는 것인, 최적화 장치.
  13. 제12항에 있어서,
    상기 모델 구축부는,
    이전 연산 융합 수준과 현재 연산 융합 수준에 대응하여 각각 도출되는 보상 중 큰 보상이 도출된 연산 융합 수준으로 상기 최적 연산 융합 수준을 갱신하는 프로세스를 반복 수행하는 DDPG(Deep Deterministic Policy Gradient) 에이전트에 기초하여 상기 최적화 모델을 학습시키는 것인, 최적화 장치.
  14. 제11항에 있어서,
    상기 학습 심층신경망 및 상기 타겟 심층신경망은,
    입력된 영상으로부터 등장인물의 행동을 인식하기 위한 ST-GCN(Spatial Temporal Graph Convolutional Network) 모델이고,
    상기 ST-GCN 모델은 각각이 상호 순차 연결되는 복수 개의 유닛을 포함하고,
    상기 모델 적용부는,
    상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 중 하나의 함수로 병합할 연속한 유닛의 수를 상기 연산 융합 수준으로 도출하는 것인, 최적화 장치.
  15. 제14항에 있어서,
    상기 복수 개의 유닛 각각은,
    컨볼루션(Convolution) 연산, 배치 정규화(Batch Normalization) 연산, 정류 선형 유닛(ReLU) 연산 및 드롭아웃(Dropout) 연산을 각각 수행하는 복수의 레이어를 포함하고,
    상기 모델 적용부는,
    상기 타겟 심층신경망에 포함된 상기 복수 개의 유닛 각각에 대하여 하나의 함수로 병합할 연속한 레이어의 수를 상기 연산 융합 수준으로 도출하는 것인, 최적화 장치.
  16. 삭제
KR1020210023302A 2021-02-22 2021-02-22 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법 KR102649283B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210023302A KR102649283B1 (ko) 2021-02-22 2021-02-22 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210023302A KR102649283B1 (ko) 2021-02-22 2021-02-22 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220119883A KR20220119883A (ko) 2022-08-30
KR102649283B1 true KR102649283B1 (ko) 2024-03-18

Family

ID=83114360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210023302A KR102649283B1 (ko) 2021-02-22 2021-02-22 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102649283B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632607A (zh) * 2023-11-28 2024-03-01 中国科学院半导体研究所 可编程数字信号并行处理器及其异常检测与故障识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL281321B (en) * 2016-10-04 2022-07-01 Magic Leap Inc Efficient data layouts for convolutional neural networks
KR102163209B1 (ko) * 2018-11-27 2020-10-08 한국과학기술원 컨볼루션 신경망 훈련의 다차원 병렬화 방법과 이를 수행하는 장치 사이의 재구성 가능한 연결 구조

Also Published As

Publication number Publication date
KR20220119883A (ko) 2022-08-30

Similar Documents

Publication Publication Date Title
Wang et al. Deep reinforcement learning for transportation network combinatorial optimization: A survey
Scardapane et al. Why should we add early exits to neural networks?
US20220043951A1 (en) Generating integrated circuit floorplans using neural networks
Lu et al. Brain intelligence: go beyond artificial intelligence
KR102257028B1 (ko) 컴퓨팅 플랫폼 기반의 적응형 딥러닝 작업 할당 장치 및 방법
Zhang et al. Task offloading method of edge computing in internet of vehicles based on deep reinforcement learning
CN115659281B (zh) 一种自适应加速算子融合的方法及装置
CN112116090B (zh) 神经网络结构搜索方法、装置、计算机设备及存储介质
US20220138582A1 (en) Intelligent layout design method of curvilinearly stiffened structures based on image feature learning
CN111406264A (zh) 神经架构搜索
US20210056357A1 (en) Systems and methods for implementing flexible, input-adaptive deep learning neural networks
Aghapour et al. Task offloading and resource allocation algorithm based on deep reinforcement learning for distributed AI execution tasks in IoT edge computing environments
US20220156508A1 (en) Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation
KR102649283B1 (ko) 임베디드 플랫폼을 위한 심층신경망 최적화 장치 및 방법
Song et al. Ensemble reinforcement learning: A survey
Zhou et al. Lightweight unmanned aerial vehicle video object detection based on spatial‐temporal correlation
Li et al. Hyperscale hardware optimized neural architecture search
Mishra et al. Leveraging augmented intelligence of things to enhance lifetime of UAV-enabled aerial networks
CN115587922A (zh) 张量分块方法、装置和存储介质
KR102561799B1 (ko) 디바이스에서 딥러닝 모델의 레이턴시를 예측하는 방법 및 시스템
WO2022127603A1 (zh) 一种模型处理方法及相关装置
Tang et al. Energy-efficient and high-throughput CNN inference on embedded CPUs-GPUs MPSoCs
Huang et al. Learning-aided fine grained offloading for real-time applications in edge-cloud computing
CN116400963A (zh) 一种基于负载均衡的模型自动并行方法、设备及存储介质
CN117011118A (zh) 模型参数更新方法、装置、计算机设备以及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant