KR20230062978A - 인공 신경망 분석 장치 및 방법 - Google Patents

인공 신경망 분석 장치 및 방법 Download PDF

Info

Publication number
KR20230062978A
KR20230062978A KR1020210147712A KR20210147712A KR20230062978A KR 20230062978 A KR20230062978 A KR 20230062978A KR 1020210147712 A KR1020210147712 A KR 1020210147712A KR 20210147712 A KR20210147712 A KR 20210147712A KR 20230062978 A KR20230062978 A KR 20230062978A
Authority
KR
South Korea
Prior art keywords
neural network
artificial neural
power consumption
information
target
Prior art date
Application number
KR1020210147712A
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 KR1020210147712A priority Critical patent/KR20230062978A/ko
Publication of KR20230062978A publication Critical patent/KR20230062978A/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/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

인공 신경망 분석 장치 및 방법에 관한 것으로, 인공 신경망 분석 장치는 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 정보 획득부 및 상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하고, 상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 프로세서를 포함할 수 있다.

Description

인공 신경망 분석 장치 및 방법{APPARATUS AND METHOD FOR ANALIZYING ARTIFICIAL NEURAL NETWORK}
인공 신경망 분석 장치 및 방법에 관한 것이다.
최근 정보 처리에 관한 하드웨어의 발달에 따라서 인공 신경망(ANN: Artificial Neural Network) 기술도 비약적으로 성장하고 있다. 인공 신경망은 종래 기술에 비해 판단, 분류 또는 추론 등에 있어서 훨씬 우수한 성능을 보여주고 있기 때문에 소비자 취향 분석, 언어 번역, 영상 분석, 물체 식별 또는 자율 주행 등 다양한 분야에서 널리 채용되어 쓰이고 있다. 인공 신경망의 이용이 증가하다 보니, 근자에는 어떤 소프트웨어 내에서 이용된 인공 신경망을 분석하고 이에 대한 정보를 획득하는 기술도 함께 발달하고 있다. 이러한 인공 신경망의 분석 작업은 하드웨어 기반의 분석 작업과, 소프트웨어 기반의 분석 작업으로 구분될 수 있다. 하드웨어 기반의 분석 작업은, 메모리 접근이나 전자기적 발산 등과 같은 하드웨어의 다양한 물리적 상태로부터 획득된 사이드 정보(side-information)을 이용하여 신경망을 분석하는 작업이다. 그러나, 하드웨어 기반의 분석 작업은 중앙 처리 장치(CPU: Central Processing Unit), 캐시 또는 주기억장치 등에 대한 물리적 접근을 필요로 하거나 또는 프로브(probe)나 오실로스코프와 같이 사이드 정보를 측정하기 위한 별도의 장비를 필요로 하는 문제점이 있다. 한편 소프트웨어 기반의 신경망 분석 작업은 물리적 접근이나 별도의 장비 없이 인공 신경망을 소프트웨어적으로 분석하는 것이다. 그러나, 소프트웨어 기반의 분석 작업은, 분석 대상이 되는 신경망(즉, 학습 모델)의 종류를 모르거나 또는 분석할 신경망에 대한 구체적인 사전 정보가 없다면, 수행 자체가 불가능한 단점이 있었다. 설사, 타이밍 사이드 채널 기반 분석과 같이 인공 신경망이 알려지지 않은 상황에서 소프트웨어적 분석 수행이 가능하다고 하더라도, 대규모 연산을 위한 막대한 양의 오버헤드(overhead)가 요구되기 때문에, 신경망의 분석이 시간적, 경제적으로 사실 상 불가능한 문제점이 있었다.
분석 목표가 되는 인공 신경망을 식별하고, 식별한 인공 신경망으로부터 인공 신경망 동작 관련 정보를 추출하여 획득할 수 있는 인공 신경망 분석 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 인공 신경망 분석 장치 및 방법이 제공된다.
인공 신경망 분석 장치는, 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 정보 획득부 및 상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하고, 상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 프로세서를 포함할 수 있다.
인공 신경망 분석 장치는, 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 정보 획득부 및 후보 인공 신경망의 구조로부터 레이어를 획득하고, 상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하고, 상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하고, 상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하고, 상기 차이를 기준 값과 비교하고, 상기 차이가 상기 기준 값보다 작은 경우, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 프로세서를 포함할 수도 있다.
인공 신경망 분석 방법은, 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 단계, 상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하는 단계 및 상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 단계를 포함할 수 있다.
인공 신경망 분석 방법은, 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 단계, 후보 인공 신경망의 구조로부터 레이어를 획득하는 단계, 상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하는 단계, 상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산 하는 단계, 상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산 하는 단계, 상기 차이를 기준 값과 비교 하는 단계 및 상기 차이가 상기 기준 값보다 작은 경우, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 단계를 포함할 수도 있다.
상술한 인공 신경망 분석 장치 및 방법에 의하면, 분석 목표가 되는 인공 신경망의 종류를 보다 정확하게 식별할 수 있게 되고, 또한 식별한 인공 신경망으로부터 인공 신경망 동작 관련 정보를 추출하여 획득할 수 있게 됨으로써, 분석 목표가 되는 인공 신경망을 더욱 구체적이고 자세하면서도 정확하게 분석할 수 있는 효과를 얻을 수 있다.
상술한 인공 신경망 분석 장치 및 방법에 의하면, 중앙 처리 장치, 캐시 메모리 또는 주기억장치 등에 대한 물리적 접근 없이도, 실행되는 인공 신경망을 식별하고 이에 대한 정보를 높은 정확도로 획득할 수 있게 되는 장점이 존재한다.
상술한 인공 신경망 분석 장치 및 방법에 의하면, 소프트웨어 기반으로 인공 신경망의 식별 및 정보 획득을 수행할 수 있으므로, 인공 신경망의 식별 등을 위해 별도의 하드웨어 장비를 이용할 필요가 없어, 분석의 편의성이 개선되고 비용이 절감되는 경제적 효과도 얻을 수 있다.
상술한 인공 신경망 분석 장치 및 방법에 의하면, 인공 신경망의 종류 및 해당 인공 신경망의 필터 크기, 은닉 레이어(은닉 층)의 깊이(은닉 레이어의 개수), 은닉 레이어의 종류 또는 이용된 활성화함수(activation function) 등을 높은 정확도로 추출할 수 있는 장점도 얻을 수 있다.
상술한 인공 신경망 분석 장치 및 방법에 의하면, 다른 분석 장치나 방법에 비해 보다 효율적이고 경제적으로 다른 인공 신경망의 분석을 수행할 수 있게 되는 장점도 얻을 수 있다.
도 1은 인공 신경망 분석 시스템의 일 실시예에 대한 블록도이다.
도 2는 후보식별부의 일 실시예에 대한 블록도이다.
도 3 내지 도 6은 서로 상이한 복수의 인공 신경망의 구동 시 각각에 대한 중앙처리장치의 전력 소모의 일례를 도시한 그래프 도면이다.
도 7은 필터 개수에 따른 전력 소모량의 일례를 도시한 그래프 도면이다.
도 8은 필터 크기에 따른 전력 소모량의 일례를 도시한 그래프 도면이다.
도 9는 시그모이드 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다.
도 10은 하이퍼볼릭 탄젠트 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다.
도 11은 소프트맥스 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다.
도 12는 렐루 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다.
도 13은 상이한 활성화 함수에 대한 평균제곱오차(MSE: Mean Square Error)의 일례를 도시한 그래프 도면이다.
도 14는 상이한 가중치에 따른 전력 소모량의 일례를 도시한 그래프 도면이다.
도 15는 상이한 가중치에 대한 평균제곱오차의 일례를 도시한 그래프 도면이다.
도 16은 인공 신경망의 레이어의 개수에 따른 전력 소모량의 일례를 도시한 그래프 도면이다.
도 17은 구조분석부의 일 실시예에 대한 블록도이다.
도 18은 구조분석부 동작을 구현한 프로그램 코드의 일례를 도시한 도면이다.
도 19는 인공 신경망 분석 방법의 일 실시예에 대한 제1 흐름도이다.
도 20은 인공 신경망 분석 방법의 일 실시예에 대한 제1 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 및/또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다. 명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분이 상호 간에 물리적으로 연결되었음을 의미할 수도 있고, 및/또는 전기적으로 연결되었음을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다. 제1 내지 제N(N은 1 이상의 자연수) 등의 표현은, 적어도 하나의 부분(들)을 다른 부분(들)으로부터 구분하기 위한 것으로, 특별한 기재가 없는 이상 이들이 순차적임을 반드시 의미하지는 않는다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 18을 참조하여 인공 신경망 분석 장치 및 이를 포함하는 인공 신경망 분석 시스템의 실시예(들)에 대해서 설명하도록 한다.
도 1은 인공 신경망 분석 시스템의 일 실시예에 대한 블록도이다.
도 1에 도시된 바를 참조하면, 인공 신경망 분석 시스템(1)은 인공 신경망 분석 장치(10) 및 분석 대상 장치(20)를 포함할 수 있다. 인공 신경망 분석 장치(10) 및 분석 대상 장치(20)는 실시예에 따라 상호 물리적으로 또는 논리적으로 구분되는 것일 수도 있다. 인공 신경망 분석 장치(10) 및 분석 대상 장치(20)는, 물리적으로 구분되는 경우에는, 각각 물리적으로 분리된 별도의 장치를 이용하여 구현될 수 있고, 논리적으로 구분되는 경우에는 오직 하나의 장치만을 이용하거나 또는 둘 이상의 장치를 조합하여 구현될 수 있다. 인공 신경망 분석 장치(10) 및 분석 대상 장치(20)가 물리적으로 분리된 경우, 인공 신경망 분석 장치(10) 및 분석 대상 장치(20)는 유선으로 또는 무선 통신 네트워크를 이용하거나 유선 및 무선 통신 네트워크를 조합 이용하여 상호 통신을 수행할 수도 있다. 여기서, 무선 통신 네트워크는, 와이파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct) 또는 블루투스(Bluetooth) 등의 근거리 통신 네트워크나, 3GPP, 3GPP2, 와이브로 또는 와이맥스 계열 등의 통신 표준을 기반으로 구현된 원거리 통신 네트워크 등을 포함할 수 있다.
분석 대상 장치(20)는, 일 실시예에 있어서, 인공 신경망을 실행시켜 모델의 학습 또는 추론 동작 등을 수행할 수 있는 분석대상 프로세서(21) 및 분석대상 프로세서(21)와 전기적으로 연결되어 데이터를 일시적 또는 비일시적으로 저장할 수 있는 저장매체(29, 일례로 디램(DRAM) 등)을 포함할 수 있다.
분석대상 프로세서(21)는, 전력을 소모하여 연산 또는 제어 처리 등을 수행하는 적어도 하나의 코어(일례로 네 개의 코어(21a 내지 21d))를 포함할 수 있다. 적어도 하나의 코어(21a 내지 21d)는 전력을 소비하며 동작하여 인공 신경망에 대한 훈련 과정이나 입력된 데이터에 대한 인공 신경망 기반의 결과 획득(추론 등) 과정 등을 수행할 수 있다. 분석대상 프로세서(21)는, 코어(21a 내지 21d) 및 저장매체(29)의 전력 소비량을 감시하고 조절 및 제어할 수 있다. 예를 들어, 분석대상 프로세서(21)는 알에피엘(RAPL: Running Average Power Limit) 기능을 통하여 이들의 전력 사용량을 감시하고, 이에 따라 코어(21a 내지 21d)의 동작 주파수를 조절 및 제어하여 프로세서(21)가 원하는 수준의 온도 및 전력량에 따라 동작하도록 할 수 있다. 이를 위해, 적어도 하나의 코어(21a 내지 21d)에는 전압 조정기 등과 같은 회로를 이용하여 측정된 전력 사용량이 피드백될 수도 있고, 또는 적어도 하나의 코어(21a 내지 21d)에서의 전력 사용량이 측정 및 연산될 수도 있다. 적어도 하나의 코어(21a 내지 21d)에서의 전력 사용량의 측정 및 연산은, 해당 코어(21a 내지 21d) 또는 다른 코어(21a 내지 21d)에 의해 수행될 수도 있다. 실시예에 따라서, 분석대상 프로세서(21)는, 캐시메모리의 제어를 수행하는 캐시메모리 제어부(22)와, 영상 처리 등의 동작을 수행하는 내장 그래픽(23)을 포함할 수도 있다. 캐시메모리 제어부(22)나 내장 그래픽(23)도 상황에 따라 전력을 소비할 수도 있다.
인공 신경망 분석 장치(10)는, 분석 대상 장치(20)에 의해 실행되었거나 또는 실행되고 있는 적어도 하나의 인공 신경망(이하 대상 인공신경망)과 관련된 정보를 수집하고, 이를 기반으로 대상 인공신경망을 분석하고, 대상 인공신경망과 동일하거나 유사한 적어도 하나의 인공신경망(이하 목표 인공신경망)을 획득할 수 있다. 구체적으로 인공 신경망 분석 장치(10)는 분석 대상 장치(20)의 분석대상 프로세서(21)가 인공 신경망을 실행하는 동안 소비한 전력에 대한 정보(이하 대상 인공신경망 전력 정보, 전력 소비량에 대한 시계열적 정보를 포함할 수도 있음)를 획득하고, 획득한 대상 인공신경망 전력 정보를 이용하여 인공 신경망에 대한 각종 정보를 획득하여 인공신경망을 분석하고, 할 수 있다. 예를 들어, 인공 신경망 분석 장치(10)는, 분석 대상 장치(20)에 의해 처리되는 인공 신경망의 종류, 인공 신경망의 레이어(층)의 개수, 레이어의 깊이, 가중치(들)의 값 및/또는 활성화 함수(activation function) 등에 대한 정보를 획득할 수 있다. 또한, 필요에 따라 인공 신경망 분석 장치(10)는 전체 대상 인공신경망 중에서 적어도 하나의 일부분에 대한 정보를 획득하고, 적어도 하나의 일부분과 동일 또는 유사한 일부분의 목표 인공신경망을 획득할 수도 있다.
일 실시예에 의하면, 인공 신경망 분석 장치(10)는 정보 획득부(99)와, 프로세서(100)를 포함할 수 있다.
정보 획득부(99)는 분석 대상 장치(20)로부터 전력 사용에 대한 정보를 획득할 수 있으며, 보다 구체적으로 분석대상 프로세서(21)에 의해 실행되었거나 또는 실행되고 있는 대상 인공신경망에 대한 전력 정보를 획득하고, 이를 프로세서(100)로 전달할 수 있다. 예를 들어, 정보 획득부(99)는 분석대상 프로세서(21)로부터 분석대상 프로세서(21)가 측정한 전력 사용량을 실시간으로, 일정 시간 마다 또는 임의의 시점에 수신함으로써, 분석대상 프로세서(21)(일례로 코어(21a 내지 21b)나 내장 그래픽(23) 등)의 전력 사용량 또는 저장매체(29)의 전력 사용량 등을 획득할 수 있다. 이 경우, 정보 획득부(99)는 쿼리(query)를 분석대상 프로세서(21)에 전송하고, 이에 대한 응답을 수신함으로써 전력 정보를 획득할 수도 있다. 전력 정보는 프로세서(100)로 실시간으로, 일정 주기마다 또는 임의의 시점에 전달될 수 있다.
프로세서(100)는 정보 획득부(99)가 획득한 전력 정보를 기반으로 대상 인공신경망에 관한 세부적인 정보(일례로 대상 인공신경망의 종류나 그 세부 구조 등)를 파악하고, 목표 인공신경망을 추정 및 결정할 수 있다. 프로세서(100)는 적어도 하나의 후보 인공 신경망(들)이 주어지면, 이들 적어도 하나의 후보 인공 신경망(들)로부터 대상 인공신경망과 동일하거나 근사한 후보 인공 신경망을 검출하여 대상 인공신경망을 결정할 수도 있다. 상세하게는 프로세서(100)는 후보 인공 신경망(들)의 범위를 점차로 축소시켜 최종적으로 남은 후보 인공 신경망을 획득하고, 이를 기반으로 대상 인공신경망을 결정할 수도 있다.
도 1에 도시된 바와 같이 프로세서(100)는, 일 실시예에 있어서, 후보식별부(110)와 구조분석부(120)를 포함할 수 있다.
후보식별부(110)는, 구조분석부(120)에 의해 분석될 적어도 일 족의 후보 인공 신경망의 구조(이하 후보 구조)를 식별할 수 있다. 여기서, 일 족의 후보 인공 신경망은 상호 관련 있는 인공 신경망들의 집합으로, 대상 인공신경망은 적어도 일 족의 후보 인공 신경망 중에서 적어도 하나에 속할 수 있다. 후보식별부(110)의 동작에 따라 구조가 분석될 인공 신경망의 범위가 축소되어, 대상 인공신경망이 무엇인지 확인하기 위해 프로세서(100)가 매우 많은 종류의 인공 신경망 모두를 검토할 필요가 없게 되고, 이에 따라 분석의 효율성이 개선될 수 있게 된다. 또한, 후보 구조의 식별을 통해 기존에 대상 인공신경망의 종류가 알려져 있지 않은 경우에도, 대상 인공신경망이 무엇인지 여부를 파악할 수 있게 된다.
도 2는 후보식별부의 일 실시예에 대한 블록도이고, 도 3 내지 도 6은 서로 상이한 복수의 인공 신경망의 구동 시 각각에 대한 중앙처리장치의 전력 소모의 일례를 도시한 그래프 도면이다.
도 2에 도시된 바에 의하면, 후보식별부(110)는 전력 특성 획득부(111) 및 분류부(112)를 포함할 수 있다.
전력 특성 획득부(111)는 대상 인공신경망의 처리 과정에서 분석대상 프로세서(21) 등이 대상 인공신경망을 실행에 따라 소모한 전력에 대한 정보를 이용하여, 전력 소비에 대한 통계적 특성(일례로, 소비된 전력의 평균값, 전력 소비량의 변화량(경사도) 또는 소비된 전력의 중간값 등을 포함 가능함)을 연산할 수 있다. 여기서, 전력 소비에 대한 통계적 특성은, 일정한 시간 범위 내의 전력 소비에 대한 통계적 특성을 포함할 수 있다.
분류부(112)는 전력 특성 획득부(111)가 획득한 통계적 특성을 이용하여 통계적 특성에 대응하는 하나 또는 둘 이상의 후보 인공 신경망을 분류하여 획득할 수 있다. 구체적으로 도 3 내지 도 6에 도시된 바와 같이 상이한 종류의 인공 신경망(이하 제1 내지 제4 종의 인공 신경망)은 서로 상이한 전력 소비 패턴을 보이고 있다. 즉, 제1 종의 인공 신경망은 도 3에 도시된 바와 같이 시간의 흐름에 따라서 전력 소모가 대체적으로 일정하면서도 보다 급격하고 신속하게 증감하며 변화하는 특성을 보이고 있고, 제2 종의 인공 신경망은 도 4에 도시된 바와 같이 상대적으로 완만하게 변화하면서도 시간의 흐름에 따라 점차 그 전력 소모의 변화 폭이 증가하고 있음을 알 수 있다. 제3 종의 인공 신경망은 도 5에 도시된 바처럼 전력 소비량이 급격히 증가한 후 어느 정도 계속해서 높은 수준의 소비량을 보이다가 다시 급격하게 하락하는 것을 반복하는 전력 소비 패턴을 보이고 있다. 또한, 제4 종의 인공 신경망은 전력 소비량이 급격하게 증가한 후 높은 수준의 전력을 상대적으로 그 변화가 상대적으로 완만하게 소비한 후 다시 급격하게 전력 소비량이 감소하는 것을 반복하는 패턴을 나타내고 있다. 이와 같이 인공 신경망은 그 종류에 따라서 특유의 전력 소비 패턴을 가지고 있으며, 이에 따른 통계적 특성 역시 대체적으로 상이하다. 분류부(112)는 이와 같이 인공 신경망이 각각의 종류에 따라 특유의 전력 소비 패턴을 가짐을 이용하여, 전력 소비에 대한 통계적 특성에 대응하는 후보 인공 신경망을 결정할 수 있다. 즉, 전력 특성 획득부(111)가 획득한 통계적 특성이 어느 종류의 후보 인공 신경망의 전력 소비 패턴의 통계적 특성과 동일 또는 유사한지 판단하고, 동일 또는 가장 유사한 소비 패턴의 일 종류의 후보 인공 신경망(즉, 후보 구조)을 검출함으로써 후보 인공 신경망의 범위를 감소시킬 수 있다. 일 실시예에 의하면, 분류부(112)는 적어도 하나의 학습 모델을 단독으로 또는 조합 이용하여 후보 인공 신경망의 분류를 수행할 수도 있다. 여기서, 적어도 하나의 학습 모델은, 상술한 통계적 특성과 이에 대응하는 적어도 일 종의 인공 신경망을 입력 값으로 하여 훈련된 것일 수 있다. 소정의 학습 모델은, 예를 들어, 심층 신경망(DNN: Deep Neural Network), 콘볼루션 신경망(CNN: Convolutional Neural Network), 순환 신경망(RNN: Recurrent Neural Network), 콘볼루션 순환 신경망(CRNN: Convolutional Recurrent Neural Network), 심층 신뢰 신경망(DBN: Deep Belief Network), 심층 Q-네트워크(Deep Q-Networks), 장단기 메모리(LSTM: Long short term memory), 다층 퍼셉트론(Multi-layer Perceptron), 서포트 벡터 머신(SVM: support vector machine), 생성적 적대 신경망(GAN: Generative Adversarial Network) 및/또는 조건적 생성적 적대 신경망(cGAN: Conditional GAN) 등의 적어도 하나의 학습 모델을 포함할 수 있으나, 이에 한정되는 것은 아니다.
구조분석부(120)는, 식별된 후보 인공 신경망의 범위를, 인공 신경망의 필터의 크기, 필터의 개수, 활성화함수 또는 레이어의 개수 등과 같은 세세한 구조 파라미터를 이용하여 더욱 더 축소시켜, 최종적으로는 대상 인공신경망에 대응하는 적어도 하나의 목표 인공 신경망을 획득할 수 있다. 구조분석부(120)는, 일 실시예에 있어서, 후보 식별부(110) 및 정보획득부(99) 각자로부터 선택된 후보 인공 신경망(후보 구조) 및 전력 정보를 수신하고, 후보 인공 신경망 및 전력 정보를 기반으로 대상 인공신경망과 동일하거나 근사한 목표 인공신경망을 획득할 수 있다.
인공 신경망이 실행될 때 소비되는 전력은, 인공 신경망의 필터의 개수, 필터의 크기, 활성화 함수의 종류, 가중치 또는 레이어의 개수 등에 따라 상이하다. 따라서, 구조분석부(120)는 이와 같은 전력의 소비량을 기반으로 목표 인공 신경망을 결정할 수도 있다.
이하 도 7 내지 도 16을 참조하여 각각의 파라미터에 따른 전력 소비량의 상이함에 대해 설명하도록 한다.
도 7은 필터 개수에 따른 전력 소모량의 일례를 도시한 그래프 도면으로, x축은 인공신경망의 실행 이후 경과된 시간을 의미하고, y축은 전력 소모량을 의미한다. 각각의 선은 필터의 크기는 3으로 동일하고 그 개수가 상이한 경우에서의 소비되는 전력을 나타내되, 적색 선은 필터 개수가 64개인 경우에서의 시간에 따른 전력 소모량을 나타내고, 황색 선은 필터 개수가 128개인 경우의 시간에 따른 전력 소모량을 나타내며, 녹색 선은 필터 개수가 256개인 경우의 시간에 따른 전력 소모량을 나타낸다. 청색 선은 필터 개수가 512개일 때 시간에 따른 전력 소모량을 나타낸다.
구체적으로 도 7에 도시된 바에 의하면, 인공신경망이 각각 64개, 128개, 256개 및 512개의 필터를 가지고 있는 경우, 전력 소모 패턴은 시간의 흐름에 따라 상당히 차이가 있음을 알 수 있다. 즉, 필터가 64개인 경우에는 상대적으로 짧은 시간 동안에만 전력이 소모되고, 필터의 개수가 증가할수록 전력을 소비하는 시간이 점차로 증가하고 있다. 그러므로, 전력이 대략 최대로 소모되는 시간의 길이를 측정하면, 대상 인공신경망의 필터의 개수를 어느 정도는 가늠할 수 있게 된다.
도 8은 필터 크기에 따른 전력 소모량의 일례를 도시한 그래프 도면으로, x축은 인공신경망의 실행 이후 경과된 시간을 의미하고, y축은 전력 소모량을 의미한다. 적색 선은 필터의 크기가 3x3인 경우의 시간에 따른 전력 소모량을, 황색 선은 필터의 크기가 5x5인 경우의 시간에 따른 전력 소모량을, 녹색 선은 필터의 크기가 7x7인 경우의 시간에 따른 전력 소모량을, 청색 선은 필터의 크기가 9x9인 경우의 시간에 따른 전력 소모량을 나타낸다.
도 8에 도시된 바에 의하면, 초기에는 필터의 크기와 무관하게 일정 시점까지는 전력 소비량이 대체적으로 비슷한 패턴으로 변화하나, 필터 크기가 작으면 작을수록 전력 소비량이 먼저 감소하는 것을 알 수 있다. 즉, 필터 크기가 3x3이면 대략 0.4초에 전력 소비가 급감하고, 필터 크기가 5x5이면 대략 0.7초에 전력 소비가 급감하며, 필터 크기가 7x7이면 대략 1초에 전력 소비가 급감하고, 필터 크기가 9x9이면 대략 1.2초에 전력 소비가 급감한다. 따라서, 전력 소비량이 급감하는 시점을 파악하거나 또는 전력 소비량이 대략 최대인 기간의 길이를 측정하면, 대상 인공신경망에서 이용되는 필터의 크기도 추정할 수 있게 된다.
도 9는 시그모이드 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이고, 도 10은 하이퍼볼릭 탄젠트 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다. 또한, 도 11은 소프트맥스 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이고, 도 12는 렐루 함수를 사용한 경우에서의 전력 소모량의 일례를 도시한 그래프 도면이다. 도 9 내지 도 12에서 x축은 인공신경망의 실행 이후 경과된 시간을 의미하고, y축은 전력 소모량을 의미한다. 각 도면 내의 청색 선은 해당 활성화함수를 이용하는 경우, 시간에 따른 전력 소비의 변화를 나타낸다. 도 13은 상이한 활성화 함수에 대한 평균제곱오차의 일례를 도시한 그래프 도면으로, x축은 추적 횟수를, y축은 인공 신경망 간의 평균제곱오차로, 렐루 함수를 활성화 함수로 이용한 인공신경망과 다른 활성화함수(적색 선은 시그모이드 함수, 녹색 선은 소프트맥스 함수, 청색 선은 하이퍼볼릭 탄젠트 함수)를 이용한 인공신경망 간의 평균제곱오차를 나타낸다. y 값이 크면 클수록 특정한 활성화 함수를 이용한 인공 신경망과 렐루 함수를 이용한 인공 신경망의 차이가 더욱 더 크다는 것을 의미한다.
통상적으로 함수가 복잡하면 복잡할수록 연산 처리 시간은 증가한다. 따라서, 도 9 내지 도 12에 도시된 바와 같이 더욱 복잡한 연산을 필요로 하는 소프트맥스 함수를 채용한 인공 신경망의 경우, 시그모이드 함수, 하이퍼볼릭 탄젠트 함수 및 렐루 함수를 채용한 인공 신경망과는 전력 소비량의 시간에 따른 변화 패턴이 상당히 상이하게 나타난다. 즉, 도 9, 도 10 및 도 12에 나타난 것처럼 시그모이드 함수, 하이퍼볼릭 탄젠트 함수 및 렐루 함수를 이용하는 경우에는 전력 소비량의 시계열적 패턴은 세부적으로 차이는 있으나 대체적으로 유사한 형태를 갖는 반면에, 도 11에 도시된 바와 같이 소프트맥스 함수를 이용한 경우에는 다른 활성화 함수와 그 변화 패턴에 상당한 차이가 존재한다. 특히 도 13에 도시된 바와 같이 소프트맥스 함수를 이용한 경우와 렐루 함수를 이용한 경우 간의 평균제곱오차는 다른 활성화 함수의 경우에 비해 상당히 차이가 난다. 왜냐하면, 소프트맥스 함수가 다른 활성화 함수에 비해 더 긴 산술 연산 처리 시간을 필요로 하기 때문이다. 이는 전력 소비량의 변화 패턴에 따라서 인공신경망에 이용된 활성화 함수가 무엇인지도 식별할 수 있다는 것을 의미한다. 특히 소프트맥스 함수의 이용 여부를 식별할 수 있게 된다.
도 14는 상이한 가중치에 따른 전력 소모량의 일례를 도시한 그래프 도면으로, x축은 인공신경망의 실행 이후 경과된 시간을 의미하고, y축은 전력 소모량을 의미한다. 적색 선은 훈련된 인공 신경망의 시간에 따른 전력 소모량을 나타내고, 황색 선은 가중치가 0과 1 사이의 임의적인 값으로 설정된 미훈련된 인공신경망의 시간에 따른 전력 소모량을 나타낸다. 녹색 선은 가중치가 1로 설정된 미훈련된 인공신경망의 시간에 따른 전력 소모량을 나타낸다. 청색 선은 가중치가 0으로 설정된 미훈련된 인공신경망의 시간에 따른 전력 소모량을 나타낸다. 도 15는 상이한 가중치에 대한 평균제곱오차의 일례를 도시한 그래프 도면으로, x축은 추적 횟수를 의미하고, y축은 평균제곱오차를 의미한다. 적색 선은 필터 가중치가 1로 설정된 경우에서의 훈련된 인공신경망과의 평균제곱오차를 나타내고, 녹색 선은 가중치가 0으로 설정된 경우에서의 훈련된 인공신경망과의 평균제곱오차를 나타내며, 청색 선은 가중치가 0과 1 사이의 임의적인 값으로 설정된 경우에서의 훈련된 인공신경망과의 평균제곱오차를 나타낸다.
도 14에 도시된 바에 의하면, 인공 신경망의 시간에 따른 전력 소비량의 변화 패턴은 가중치의 값과 무관하게 대체적으로 동일 또는 유사한 형태를 가지고 있으나, 가중치 값에 따라서 그 진폭이 상당히 상이함을 알 수 있다. 즉, 가중치가 0으로 설정된 경우에는 전력 소비량은 상대적으로 작은 진폭으로 변화하나, 가중치가 1로 설정된 경우에는 가중치가 0인 경우보다 상대적으로 큰 진폭으로 변화한다. 또한, 전력 소비량은 가중치가 임의적으로 설정된 경우에는 가중치가 0이나 1인 경우보다 더욱 큰 진폭을 갖으며, 훈련된 인공 신경망과 대체적으로 유사한 진폭을 갖는다. 특히 도 15에 도시된 바를 참조하면, 가중치가 0으로 주어진 경우의 평균제곱오차는 가중치가 1로 주어진 경우의 평균제곱오차보다 크고, 가중치가 0 또는 1로 주어진 경우의 평균제곱오차는 가중치가 임의적인 값으로 주어진 경우의 평균제곱오차보다 크다. 평균제곱오차는 가중치가 임의적으로 주어졌을 때 훈련된 인공신경망에 근사하게 나타난다. 이는 가중치의 값에 따라서 전력 소비량의 평균이 상이할 수 있음을 의미한다. 즉, 가중치가 0일 때의 전력 소비량의 평균은 가장 작고, 가중치가 임의적인 값을 가질 때의 전력 소비량의 평균은 가장 크다. 가중치가 1일 때의 전력 소비량의 평균은 가중치가 0일 때의 전력 소비량의 평균과 가중치가 임의적인 값을 가질 때의 전력 소비량의 평균의 중간 정도의 값을 가지되, 대략 가중치가 0일 때의 전력 소비량의 평균에 가깝게 주어진다. 따라서, 전력 소비량의 평균을 획득하면, 가중치가 어떻게 주어졌는지 여부도 확인할 수 있게 된다.
도 16은 인공 신경망의 레이어의 개수에 따른 전력 소모량의 일례를 도시한 그래프 도면으로, x축은 인공신경망의 실행 이후 경과된 시간을 의미하고, y축은 전력 소모량을 의미한다. 청색 선은 레이어가 1개인 인공신경망을 처리할 때 시간에 따라 소모되는 전력이고, 황색 선은 레이어가 2개인 인공신경망을 처리할 때 시간에 따라 소모되는 전력이다. 녹색 선은 레이어가 3개인 인공신경망을 처리할 때 시간에 따라 소모되는 전력을 나타내고, 적색 선은 레이어가 4개인 인공신경망을 처리할 때 시간에 따라 소모되는 전력을 나타내며, 자색 선은 레이어가 5개인 인공신경망을 처리할 때 시간에 따라 소모되는 전력을 나타낸다.
도 16에 도시된 바와 같이, 레이어가 1개인 경우에는 처리 개시 후 극히 초반(대략 0.03초)까지만 전력이 소비되고, 레이어가 2개인 경우에는 처리 개시 후 조금 더 지난 시간(대략 0.05초)까지만 전력이 소비되며, 레이어가 3개인 경우에는 시간(대략 0.07초)이 더욱 경과된 때까지 전력이 소비됨을 알 수 있다. 또한, 레이어가 4개이면 처리 개시 후 상당한 시간(대략 0.115초)이 경과할 때까지 전력 소비가 발생하고, 레이어가 4개이면 처리 개시 후 더욱 상당한 시간(대략 0.14초)까지도 전력 소비가 발생함을 알 수 있다. 이는 전력 소비 시간을 계측하면, 인공 신경망의 구조를 레이어 단위로 탐색할 수 있다는 것을 의미한다.
도 7 내지 도 16을 참조하여 설명한 바와 같이, 인공신경망은 그 구조적 특성에 따라 처리 시의 전력 소비량의 패턴 등이 상이하므로, 인공 신공망의 실행에 따른 전력 소비량의 패턴 또는 이를 반영한 통계적 특성(일례로, 소비된 전력의 평균값, 전력 소비량의 경사도 또는 소비된 전력의 중간값 등)을 이용하면, 인공신경망에 대한 분석이 가능하게 된다. 구조분석부(120)는 이와 같이 인공신경망의 특성에 따른 전력 소비량의 상이함을 이용하여, 대상 인공신경망과 동일하거나 근사한 목표 인공신경망을 추정 및 결정할 수 있게 된다.
도 17은 구조분석부의 일 실시예에 대한 블록도이고, 도 18은 구조분석부 동작을 구현한 프로그램 코드의 일례를 도시한 도면이다.
도 17에 도시된 바에 의하면, 구조 분석부(120)는 레이어 선택부(121), 차이분석부(122), 갱신처리부(123), 레이어 처리 완료 판단부(124) 및 출력부(125)를 포함할 수 있다.
도 18에 도시된 바를 참조하면, 레이어 선택부(121)는, 후보 식별부(110)로부터 선택된 후보 인공신경망(즉, 후보 구조)를 수신하고, 선택된 후보 인공신경망으로부터 적어도 하나의 레이어(c)를 추출하여 선택할 수 있다(P4). 실시예에 따라서, 레이어 선택부(122)는 후보 구조 내에서 임의적으로 레이어(c)를 추출하여 선택할 수도 있고, 또는 추출되지 않은 레이어 중에서 입력 레이어 또는 출력 레이어에 보다 근접한 레이어(c)를 추출하여 선택할 수도 있다. 추출된 레이어(c)는 차이 연산부(123)로 전달될 수 있다.
차이 연산부(122)는 레이어 선택부(121)로부터 추출된 레이어를 수신하고, 정보획득부(90)로부터 대상 인공신경망의 동작에 따라 소비된 전력에 대한 정보(즉, 대상 인공신경망 전력 정보)를 수신한 후, 수신한 레이어 및 대상 인공신경망 전력 정보를 이용하여 후보 구조의 전력 소비 패턴과 대상 인공신경망의 전력 소비 패턴 간의 차이를 연산할 수 있다. 여기서, 정보획득부(90)로부터 수신되는 대상 인공신경망 전력 정보는 전력 소비에 대한 시계열적 추적 결과(일례로 전력 소비 패턴 등)을 포함할 수 있다.
보다 구체적인 실시예에 따르면, 차이 연산부(122)는, 목표 인공 신경망을 획득하기 위해 별도로 마련된 구조(A, 이하 목표 인공 신경망 구조)에 추출된 레이어를 삽입하고(P5), 레이어가 삽입된 인공 신경망 구조에 대응하는 전력 소비에 대한 정보(P_candidate, 이하 후보 전력 정보)를 획득할 수 있다(P6). 실시예에 따라서, 목표 인공 신경망 구조(A)는 레이어 선택부(121)에 의해 최초로 선택된 레이어(c)가 삽입되기 전에 초기화되어 있을 수 있으며, 예를 들어, 어떠한 레이어도 포함하지 않도록 초기화되어 있을 수도 있다. 후보 전력 정보(P_candidate)의 획득은 설계자 등에 의해 마련된 소정의 함수나 알고리즘(일례로 Power_measure())을 이용하여 수행될 수 있으며, 소정의 함수나 알고리즘은 레이어(c)가 삽입된 목표 인공 신경망 구조(A)를 입력 값으로 하고, 후보 전력 정보(P_candidate)를 출력 값으로 하여 마련된 것일 수 있다. 소정의 함수나 알고리즘은, 예를 들어, 적어도 하나의 학습 모델을 기반으로 구현된 것일 수 있다.
이어서, 차이 연산부(122)는 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값(e)을 계산할 수 있다(P7). 차이 값(e)의 계산은 소정의 함수나 알고리즘(일례로 Evaluation())을 이용하여 수행될 수 있으며, 여기서 소정의 함수나 알고리즘은 대상 인공신경망의 전력 정보(P_target) 및 후보 전력 정보(P_candiate)를 입력받고, 이에 대응하여 차이 값(e)을 출력하도록 마련된 것일 수도 있다. 또한, 여기서 알고리즘은 실시예에 따라 학습 모델을 포함할 수도 있다. 차이 연산부(122)가 연산한 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값은 갱신처리부(123)로 전달될 수 있다.
갱신처리부(123)는 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값을 획득하고, 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값을 미리 설정된 기준 값(Diff)과 비교할 수 있다(P8). 필요에 따라, 기준 값(Diff)은 사전에 무한 값으로 초기화되어 있을 수도 있다(P3). 이 경우, 최초의 비교 처리 시에는 기준 값(Diff)이 무한 값으로 설정되어 있으므로, 만약 차이의 비교가 처음으로 수행되는 경우라면, 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값은 반드시 기준 값보다 작게 된다.
순차적으로 갱신처리부(123)는 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값과 기준 값(Diff)과의 비교 결과를 기반으로 기준 값(Diff)을 갱신할 수 있다(P8 내지 P11). 만약 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값이 기준 값(Diff)보다 작다면(필요에 따라 양 값이 동일한 경우도 포함 가능함)(P8), 갱신처리부(123)는, 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값으로 기존의 기준 값(Diff)을 갱신할 수 있다(P9). 따라서, 구조 분석의 반복 처리 과정에서 어느 하나의 처리에서의 기준 값(Diff)은, 이전 처리에서 연산된 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값이 된다. 또한, 갱신처리부(123)는, 기준 값(Diff)이 갱신되는 경우, 선택된 레이어(c)를 별도로 저장할 수도 있다(P10). 이 경우, 선택된 레이어(c)를 저장하기 위해 미리 마련된 저장 변수(일례로 Candidate)가 이용될 수도 있다. 이러한 변수도 사전에 미리 초기화되어 있을 수 있으며, 예를 들어, 아무런 값을 갖지 않도록 초기화 되어 있을 수도 있다(P2). 반대로 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값이 기준 값보다 크다면, 갱신처리부(123)는 기존의 기준 값(Diff)을 유지할 수 있으며, 선택된 레이어(c)의 저장을 수행하지 않을 수 있다.
레이어 처리 완료 판단부(124)는 후보 구조 내의 모든 레이어에 대해 차이 연산 및 갱신 처리가 수행되었는지 여부를 판단할 수 있다. 필요에 따라, 레이어 처리 완료부(124)는 목표 인공 신경망 구조(A)로부터 처리된 레이어(c)를 제거할 수도 있다(P13). 만약 레이어 처리 완료 판단부(124)가 차이연산부(122) 및 갱신처리부(123)가 후보 구조 내의 모든 레이어에 대해 상술한 처리를 하지 않았다고 판단하면, 레이어 선택부(121)는 아직 처리되지 않은 적어도 하나의 레이어(c) 중 적어도 하나를 새롭게 선택한다(P4). 차이연산부(122)는 목표 인공 신경망 구조(A)에 새로 선택된 레이어(c)를 추가로 더 삽입하고(P5), 레이어가 추가 삽입된 인공 신경망 구조에 대한 새로운 후보 전력 정보(P_candidate)를 획득할 수 있다(P6). 이어서, 차이연산부(122)는 새로운 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값(e)을 계산할 수 있다. 갱신처리부(123)는, 상술한 바와 같이, 새로운 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값(e)을 선행 과정에서 갱신된 기준 값(Diff)과 비교한 후, 비교 결과에 따라서 기준 값(Diff)을 갱신하거나 또는 갱신하지 않을 수 있다. 즉, 갱신처리부(123)는 새로운 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값(e)이 기준 값(Diff)보다 작다면, 새로운 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이 값을 이용하여 상술한 과정에서 갱신된 기준 값(Diff)을 다시 갱신할 수 있다. 이 경우, 갱신처리부(123)는 추가로 선택된 새로운 레이어(c)를 저장 변수(Candidate)에 저장할 수 있다. 반대로 후보 전력 정보와 대상 인공 신경망 전력 정보 간의 차이 값이 기준 값보다 크다면, 상술한 과정에서 갱신된 기준 값(Diff)은 유지되고, 새로 선택된 레이어(c)는 저장되지 않는다.
이러한 과정은 모든 레이어에 대해 차이 연산, 기준 값과의 비교, 기준 값의 갱신 및 해당 레이어의 저장이 모두 수행될 때까지 반복될 수 있으며, 이에 따라 대상 인공 신경망 전력 정보(P_target)와 동일하거나 근사한 후보 전력 정보(P_candidate)에 대응하는 레이어(c)가 최종적으로 선택된다.
만약 차이연산부(122) 및 갱신처리부(123)가 후보 구조 내의 모든 레이어에 대해 상술한 처리를 수행하였다고 판단되면, 레이어 처리 완료 판단부(124)는 최종적으로 선택된 레이어(c)를 목표 인공 신경망 구조(A)의 어느 하나의 레이어로 결정할 수 있다. 다시 말해서, 후보 전력 정보(P_candidate)와 대상 인공 신경망 전력 정보(P_target) 간의 차이가 가장 작은 레이어(c)가 목표 인공 신경망의 어느 하나의 레이어(일례로 최전단의 레이어)로 결정될 수 있다. 최종적으로 선택된 레이어(c)는 목표 인공 신경망 구조(A)에 추가될 수 있다(P14).
상술한 레이어 선택부(121) 내지 레이어처리완료판단부(124)의 동작은 목표 인공 신경망의 어느 하나의 레이어에 대해 수행된 후, 다음 레이어에 대해 반복 수행될 수 있다(P1, P15). 여기서 어느 하나의 레이어는 목표 인공 신경망의 입력 레이어에 연결된 최전단의 레이어를 포함할 수도 있고, 다음 레이어는 최전단의 레이어에 연결된 다음 레이어를 포함할 수도 있으나, 이에 한정되는 것은 아니다. 목표 인공 신경망의 레이어는, 예를 들어, 임의적 위치의 레이어를 포함하는 것도 가능하고, 및/또는 다음 레이어도 다른 임의적 위치의 레이어를 포함하는 것도 가능하다. 이러한 레이어 선택부(121) 내지 레이어처리완료판단부(124)의 동작의 반복 수행은 출력층에 연결된 최후단의 레이어까지 계속해서 수행될 수 있다.
예를 들어, 최전단의 레이어에 대해 상술한 과정을 통해 전력 소비량과 가장 근사한 어느 하나의 레이어(c)가 선택되어 저장되고(P4 내지 P13), 목표 인공 신경망 구조(A)는 최전단의 레이어에 대한 레이어(c)가 부가되어 갱신된 후(P14), 상술한 바와 동일한 과정을 거쳐 최전단의 레이어에 연결된 다음 레이어에 대한 어느 하나의 새로운 레이어(c, 대상 인공신경망의 전력 정보와 후보 전력 정보의 차이가 가장 작은 레이어. 즉, 대상 인공신경망의 전력 소비량과 동일하거나 가장 근사한 전력 소비를 나타내는 레이어)가 선택 및 저장되고(P4 내지 P13), 목표 인공 신경망 구조(A)에는 새로운 레이어(c)가 추가적으로 부가되어 갱신될 수 있다. 이에 따라 두 개의 레이어를 갖는 목표 인공 신경망 구조(A)가 획득된다. 이 경우, 어느 하나의 레이어까지 처리하는 과정에서 생성된 목표 인공 신경망 구조(A)는, 그 다음의 레이어를 처리하는 과정에서 이용될 수 있다. 즉, 그 다음 레이어를 처리하는 과정에서 레이어 선택부(121)가 선택한 레이어가 생성된 목표 인공 신경망 구조(A)에 입력되고(P6), 입력된 목표 신경망 구조(A)에 대응하는 후보 전력 정보(P_candidate)가 연산될 수도 있다(P6). 최후단의 레이어에 대한 어느 하나의 또 다른 새로운 레이어(c)가 결정되고, 목표 인공 신경망 구조(A)가 또 다른 새로운 레이어(c)가 부가되어 갱신되면(P2 내지 P15), 반복 수행은 종료된다. 상술한 바와 같이 하나 이상의 레이어가 목표 인공 신경 구조(A)에 순차적 및 연속적으로 부가됨으로써, 최종적으로 하나 이상의 레이어를 포함하는 목표 인공 신경 구조(A)가 획득된다.
출력부(125)는 목표 인공 신경망 구조(A)를 목표 인공 신경망으로 하여 외부로 출력할 수 있다(P16). 이에 따라 대상 인공 신경망과 동일하거나 대상 인공 신경망에 근사한 목표 인공 신경망이 획득될 수 있게 된다.
상술한 프로세서(100)는, 예를 들어, 중앙 처리 장치(CPU: Central Processing Unit), 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 애플리케이션 프로세서(AP: Application Processor), 그래픽 처리 유닛(GPU: Graphic Processing Unit), 전자 제어 유닛(ECU: Electronic Controlling Unit), 기본보드 관리 컨트롤러(BMC: Baseboard Management Controller), 마이컴(Micom: Micro Processor) 및/또는 이외 각종 연산 및 제어 처리를 수행할 수 있는 적어도 하나의 전자 장치 등을 포함할 수 있다. 이들 처리 또는 제어 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩, 회로 또는 관련 부품 등을 단독으로 이용하거나 조합하여 구현된 것일 수도 있다.
실시예에 따라서, 상술한 프로세서(100)와 분석대상 프로세서(21)는 서로 동일한 프로세서일 수도 있다. 즉, 대상 인공신경망의 실행 및 대상 인공신경망에 대응하는 목표 인공신경망의 결정은 하나의 프로세서(21 또는 100)에 의해 수행되는 것도 가능하다.
상술한 인공 신경망 분석 시스템(1) 또는 인공 신경망 분석 장치(10)는, 상술한 인공 신경망의 식별 및 식별된 인공 신경망으로부터의 정보의 추출 중 적어도 하나를 수행할 수 설계자에 의해 특별히 고안된 처리장치를 이용하여 구현될 수도 있고, 및/또는 종래 알려진 하나 또는 둘 이상의 정보처리장치를 단독으로 이용하거나 조합 이용함으로써 구현될 수도 있다. 여기서, 하나 또는 둘 이상의 정보처리장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 하드웨어 장치, 스캐너 장치, 프린터 장치, 삼차원 프린터 장치, 스마트 폰, 태블릿 피씨, 스마트 시계, 스마트 태그, 스마트 밴드, 두부 장착형 디스플레이(HMD: Head Mounted Display) 장치, 휴대용 게임기, 내비게이션 장치, 디지털 텔레비전, 셋 톱 박스, 디지털 미디어 플레이어 장치, 미디어 스트리밍 장치, 디브이디 재생 장치, 컴팩트 디스크 재생 장치, 음향 재생 장치(인공 지능 스피커 등), 가전 기기(일례로 냉장고, 선풍기, 공조기, 오븐 또는 세탁기 등), 유인 또는 무인 이동체(일례로 승용차, 버스나 이륜차와 같은 차량, 이동성 로봇, 무선 모형 차량, 로봇 청소기 등), 유인 또는 무인 비행체(일례로 항공기나, 헬리콥터나, 드론, 모형 비행기, 모형 헬리콥터 등), 의료 기기, 가정용/산업용/군사용 로봇 또는 산업용/군사용 기계 설비 등을 포함할 수 있으나 이에 한정되는 것은 아니다. 설계자나 사용자 등은 상황이나 조건에 따라서 상술한 정보처리장치 이외에도 정보의 연산 처리 및 제어가 다양한 장치 중 적어도 하나를 상술한 인공 신경망 분석 장치(10)로 고려할 수 있다.
이하 도 19 및 도 20을 참조하여 인공 신경망 분석 방법에 대한 실시예(들)를 설명하도록 한다.
도 19 및 도 20은 인공 신경망 분석 방법의 일 실시예에 대한 제1 및 제2 흐름도이다.
도 19에 도시된 바를 참조하면, 인공 신경망의 분석을 위해 먼저 분석대상 장치 또는 분석대상 프로세서가 분석 대상이 되는 대상 인공신경망을 실행시킨다(200).
대상 인공신경망이 실행되면, 대상 인공신경망의 동작에 대응하는 전력이 소비되고, 이와 같은 전력 소비에 대한 정보, 즉 대상 인공신경망 전력 정보가 획득될 수 있다(202). 대상 인공신경망 전력 정보는, 대상 인공신경망의 실행에 따른 전력 소비의 시간적 변화를 포함할 수도 있다.
대상 인공신경망 전력 정보가 획득되면, 즉시, 일정 시점마다 또는 임의의 시점마다 대상 인공신경망 전력 정보로부터 전력 소비에 대한 통계적 특성이 획득될 수 있다(204). 전력 소비에 대한 통계적 특성은 소비된 전력의 평균값, 전력 소비량의 변화량 또는 소비된 전력의 중간값 등을 포함할 수 있다.
전력 소비에 대한 통계적 특성이 획득되면, 획득된 통계적 특성을 기반으로 통계적 특성에 대응하는 적어도 하나의 후보 인공 신경망(즉, 후보 구조)이 획득될 수 있다(206). 도 3 내지 도 6을 참조하여 상술한 바처럼 서로 상이한 종류의 인공 신경망은 서로 상이한 전력 소비 패턴을 가지고 있으므로, 전력 소비에 대한 통계적 특성을 이용하여 적어도 일 족의 인공 신경망의 획득이 가능해진다. 통계적 특성에 대응하는 적어도 하나의 후보 인공 신경망의 획득은 소정의 학습 모델을 이용하여 수행될 수도 있다.
이어서 적어도 하나의 후보 인공 신경망의 하나 이상의 레이어 중에서 적어도 하나의 레이어가 추출될 수 있다(208). 적어도 하나의 레이어는 미리 정의된 바에 따라 추출될 수 있으며, 예를 들어, 임의적 방법으로 추출될 수도 있다. 추출되는 적어도 하나의 레이어는 목표 인공 신경망의 어느 하나의 레이어(일례로 목표 인공신경망의 최전단의 레이어 등)에 적합한지 위해 후술하는 바와 같이 평가된다.
레이어가 선택되면, 목표 인공 신경망 구조에 레이어가 삽입되고, 소정의 함수나 알고리즘을 통하여 레이어가 삽입된 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보(즉, 후보 전력 정보)가 획득될 수 있다(210). 여기서, 목표 인공 신경망 구조는 초기화되어 있을 수 있다. 예를 들어, 레이어가 삽입되기 전에는 목표 인공 신경망 구조는 어떠한 레이어도 포함하지 않을 수도 있다.
후보 전력 정보가 획득되면, 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이가 획득될 수 있다(212). 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이는 소정의 함수나 알고리즘 등을 이용하여 수행될 수도 있다.
도 20에 도시된 바를 참조하면, 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이가 획득되면, 이들 간의 차이는 기준 값과 비교될 수 있다(214). 만약 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이가 기준 값보다 작다면(214의 예), 기준 값은 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이를 이용하여 갱신될 수 있다(216). 기준 값은, 상술한 비교 전에 초기화되어 있을 수도 있으며, 예를 들어, 무한 값을 초기 값으로 하여 설정되어 있을 수도 있다. 또한, 상술한 과정(208)에서 선택된 레이어는 저장될 수 있다. 레이어의 저장을 위해서 별도의 저장 변수가 이용될 수도 있다. 만약 대상 인공신경망의 전력 정보와 후보 전력 정보 간의 차이가 기준 값보다 크다면(214의 아니오), 기준 값의 갱신 및 선택 레이어의 저장은 수행되지 않는다.
순차적으로 후보 인공신경망(즉, 후보 구조)의 모든 레이어에 대해 차이의 연산 및 기준 값의 갱신이 수행되었는지 여부가 판단된다(218).
만약 모든 레이어에 대해 차이의 연산 및 기준 값의 갱신이 수행되지 않았다면(218의 아니오), 새로운 레이어가 선택되고(208), 새로운 레이어가 목표 인공신경망 구조에 입력되고, 새로운 레이어가 입력된 목표 인공 신경망 구조에 대응하는 새로운 후보 전력 정보가 획득될 수 있다(210). 이어서 상술한 바와 동일하게 대상 인공신경망의 전력 정보와 새로운 후보 전력 정보 간의 차이가 연산되고(212), 차이가 상술한 바와 같이 갱신된 기준 값과 비교된다(214). 이들 간의 차이가 갱신된 기준 값보다 작다면, 갱신된 기준 값은 다시 대상 인공신경망의 전력 정보와 새로운 후보 전력 정보의 차이를 이용하여 갱신되고 새로 선택된 레이어는 저장된다(216).
반대로 만약 후보 구조 내의 모든 레이어에 대해 상술한 처리가 완료되었다면(218의 예), 목표 인공신경망 구조에는 대상 인공신경망의 전력 정보와 후보 전력 정보의 차이가 가장 작은 레이어만 남는다. 이때, 남은 레이어는 목표 인공신경망 구조에서 가장 최전단의 레이어로 이용될 수도 있다.
이어서 목표 인공 신경망 내의 모든 레이어가 결정되어 목표 인공 신경망이 완성되었는지 판단된다(220).
만약 목표 인공 신경망 내의 모든 레이어가 결정되지 않았다면(220의 아니오), 목표 인공 신경망의 다음 레이어에 대한 처리가 개시된다(224). 이에 따라 목표 인공 신경망의 다음 레이어를 위해서 후보 인공신경망으로부터 레이어가 새롭게 선택되고(208), 새롭게 선택된 레이어를 기반으로 후보 전력 정보의 획득(210)과, 대상 인공 신경망 전력 정보와 후보 전력 정보의 차이의 연산(212)과, 기준 값과의 비교(214)와, 비교 결과에 따른 기준 값 갱신 및 선택 레이어의 저장(216)과, 모든 후보 인공신경망 내의 모든 레이어의 처리 여부에 대한 판단(218) 등이 순차적으로 수행될 수 있다.
만약 목표 인공 신경망 내의 모든 레이어가 결정되었다면(220의 예), 최종적인 목표 인공 신경망이 대상 인공 신경망과 동일하거나 근사한 인공신경망으로 출력된다(222).
상술한 실시예에 따른 인공 신경망 분석 방법은, 적어도 하나의 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 프로그램은, 명령어, 라이브러리, 데이터 파일 및/또는 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다. 또한, 상술한 인공 신경망 분석 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 솔리드 스테이트 드라이브(SSD), 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 매체나, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체나, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체나, 또는 플롭티컬 디스크 등과 같은 자기-광 기록 매체 등 컴퓨터 등의 호출에 따라 실행되는 하나 이상의 프로그램을 일시적 또는 비일시적으로 저장 가능한 적어도 한 종류의 물리적 저장 매체를 포함할 수 있다.
이상 인공 신경망 분석 장치 및 인공 신경망 분석 방법의 여러 실시예에 대해 설명하였으나, 인공 신경망 분석 장치 또는 인공 신경망 분석 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현할 수 있는 다른 다양한 장치나 방법 역시 상술한 인공 신경망 분석 장치 또는 인공 신경망 분석 방법의 일 실시예가 될 수 있다. 예를 들어, 설명된 방법(들)이 설명된 바와 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소(들)가 설명된 바와 다른 형태로 결합, 연결 또는 조합되거나 다른 구성 요소 또는 균등물 등에 의하여 대치 또는 치환되더라도, 상술한 인공 신경망 분석 장치 및/또는 인공 신경망 분석 방법의 일 실시예가 될 수 있다.
20: 분석대상장치
21: 분석대상프로세서
10: 인공 신경망 분석 장치
99: 정보획득부
100: 프로세서
110: 후보 식별부
120: 구조 분석부

Claims (14)

  1. 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 정보 획득부; 및
    상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하고, 상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 프로세서;를 포함하는 인공 신경망 분석 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 전력 소비에 대한 정보를 기반으로 전력 소비에 대한 통계적 특성을 연산하고, 상기 통계적 특성을 이용하여 상기 적어도 하나의 후보 인공 신경망의 구조를 결정하는 인공 신경망 분석 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 후보 인공 신경망의 구조로부터 레이어를 획득하고, 상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하고, 상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하고, 상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하고, 상기 차이를 기준 값과 비교하고, 비교 결과에 따라 상기 기준 값을 갱신하는 인공 신경망 분석 장치.
  4. 제3항에 있어서,
    상기 프로세서는, 상기 차이가 상기 기준 값보다 작은 경우, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 인공 신경망 분석 장치.
  5. 제4항에 있어서,
    상기 프로세서는, 상기 후보 인공 신경망의 구조로부터 새로운 레이어를 획득하고, 상기 새로운 레이어를 포함하는 새로운 목표 인공 신경망 구조를 결정하고, 상기 새로운 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하고, 상기 새로운 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하고, 상기 차이를 기준 값과 비교하고, 비교 결과에 따라 상기 기준 값을 갱신하고, 상기 새로운 레이어를 저장하는 인공 신경망 분석 장치.
  6. 제4항에 있어서,
    상기 프로세서는, 대상 인공신경망의 전력 정보와 후보 전력 정보의 차이가 가장 작은 레이어를 상기 목표 인공신경망의 어느 하나의 레이어로 결정하는 인공 신경망 분석 장치.
  7. 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 정보 획득부; 및
    후보 인공 신경망의 구조로부터 레이어를 획득하고, 상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하고, 상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하고, 상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하고, 상기 차이를 기준 값과 비교하고, 상기 차이가 상기 기준 값보다 작은 경우, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 프로세서;를 포함하는 인공 신경망 분석 장치.
  8. 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 단계;
    상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하는 단계; 및
    상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 단계;를 포함하는 인공 신경망 분석 방법.
  9. 제8항에 있어서,
    상기 전력 소비에 대한 정보를 이용하여 분석될 적어도 하나의 후보 인공 신경망의 구조를 결정하는 단계는,
    상기 전력 소비에 대한 정보를 기반으로 전력 소비에 대한 통계적 특성을 연산하는 단계; 및
    상기 통계적 특성을 이용하여 상기 적어도 하나의 후보 인공 신경망의 구조를 결정하는 단계;를 포함하는 인공 신경망 분석 방법.
  10. 제8항에 있어서,
    상기 전력 소비에 대한 정보 및 상기 후보 인공 신경망의 구조를 이용하여 상기 대상인공신경망에 대응하는 목표 인공 신경망을 획득하는 단계는,
    상기 후보 인공 신경망의 구조로부터 레이어를 획득하는 단계;
    상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하는 단계;
    상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하는 단계;
    상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하는 단계;
    상기 차이를 기준 값과 비교하는 단계; 및
    비교 결과에 따라 상기 기준 값을 갱신하는 단계;를 포함하는 인공 신경망 분석 방법.
  11. 제10항에 있어서,
    상기 비교 결과에 따라 상기 기준 값을 갱신하는 단계는,
    상기 차이가 상기 기준 값보다 작으면, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 단계;를 포함하는 인공 신경망 분석 방법.
  12. 제11항에 있어서,
    상기 후보 인공 신경망의 구조로부터 새로운 레이어를 획득하는 단계;
    상기 새로운 레이어를 포함하는 새로운 목표 인공 신경망 구조를 결정하는 단계;
    상기 새로운 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산하는 단계;
    상기 새로운 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산하는 단계;
    상기 차이를 기준 값과 비교하는 단계; 및
    비교 결과에 따라 상기 기준 값을 갱신하고, 상기 새로운 레이어를 저장하는 단계;를 더 포함하는 인공 신경망 분석 방법.
  13. 제11항에 있어서,
    대상 인공신경망의 전력 정보와 후보 전력 정보의 차이가 가장 작은 레이어를 상기 목표 인공신경망의 어느 하나의 레이어로 결정하는 단계;를 더 포함하는 인공 신경망 분석 방법.
  14. 대상 인공신경망의 동작에 따른 전력 소비에 대한 정보를 수집하는 단계;
    후보 인공 신경망의 구조로부터 레이어를 획득하는 단계;
    상기 레이어를 포함하는 목표 인공 신경망 구조를 결정하는 단계;
    상기 목표 인공 신경망 구조에 대응하는 전력 소비에 대한 정보를 연산 하는 단계;
    상기 전력 소비에 대한 정보와 상기 대상 인공신경망의 전력 소비에 대한 정보 간의 차이를 연산 하는 단계;
    상기 차이를 기준 값과 비교 하는 단계; 및
    상기 차이가 상기 기준 값보다 작은 경우, 상기 기준 값을 상기 차이를 이용하여 갱신하고, 상기 후보 인공 신경망의 구조로부터 레이어를 저장하는 단계;를 포함하는 인공 신경망 분석 방법.
KR1020210147712A 2021-11-01 2021-11-01 인공 신경망 분석 장치 및 방법 KR20230062978A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210147712A KR20230062978A (ko) 2021-11-01 2021-11-01 인공 신경망 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210147712A KR20230062978A (ko) 2021-11-01 2021-11-01 인공 신경망 분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230062978A true KR20230062978A (ko) 2023-05-09

Family

ID=86409328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210147712A KR20230062978A (ko) 2021-11-01 2021-11-01 인공 신경망 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230062978A (ko)

Similar Documents

Publication Publication Date Title
CN111652380B (zh) 针对机器学习算法进行算法参数调优的方法及系统
KR102170105B1 (ko) 신경 네트워크 구조의 생성 방법 및 장치, 전자 기기, 저장 매체
KR20160143548A (ko) 인공 신경 네트워크를 자동으로 조정하는 방법 및 장치
CN113168559A (zh) 机器学习模型的自动化生成
US11513851B2 (en) Job scheduler, job schedule control method, and storage medium
KR101828215B1 (ko) Long Short Term Memory 기반 순환형 상태 전이 모델의 학습 방법 및 장치
US20200042419A1 (en) System and method for benchmarking ai hardware using synthetic ai model
US20200293870A1 (en) Partially-frozen neural networks for efficient computer vision systems
WO2018175164A1 (en) Resource-efficient machine learning
US20180052441A1 (en) Simulation system, simulation method, and simulation program
CN117355843A (zh) 生成和全局调谐应用特定的机器学习加速器
CN114072809A (zh) 经由神经架构搜索的小且快速的视频处理网络
CN116245142A (zh) 用于深度神经网络的混合精度量化的系统和方法
US11741394B2 (en) Information processing method, information processing apparatus, and abnormality determination system
KR102271736B1 (ko) 자동화된 기계 학습 방법 및 그 장치
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
US20230133989A1 (en) Information processing apparatus, information processing method, and recording medium
KR20230062978A (ko) 인공 신경망 분석 장치 및 방법
KR102561799B1 (ko) 디바이스에서 딥러닝 모델의 레이턴시를 예측하는 방법 및 시스템
KR102644593B1 (ko) 지능형 디바이스 개발을 위한 ai 분화 기반의 하드웨어 정보에 최적의 지능형 소프트웨어 개발도구
EP4080789A1 (en) Enhanced uncertainty management for optical communication systems
US20220261685A1 (en) Machine Learning Training Device
KR20220046467A (ko) 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
KR102289396B1 (ko) 군장비 수리부속 품목 수요예측의 고도화를 위한 강화학습 적용
CN112488319B (zh) 一种具有自适应配置生成器的调参方法和系统