KR20210114912A - Neural Network Apparatus for Resource Efficient Inference - Google Patents

Neural Network Apparatus for Resource Efficient Inference Download PDF

Info

Publication number
KR20210114912A
KR20210114912A KR1020210121698A KR20210121698A KR20210114912A KR 20210114912 A KR20210114912 A KR 20210114912A KR 1020210121698 A KR1020210121698 A KR 1020210121698A KR 20210121698 A KR20210121698 A KR 20210121698A KR 20210114912 A KR20210114912 A KR 20210114912A
Authority
KR
South Korea
Prior art keywords
channel
neural network
artificial neural
nodes
group
Prior art date
Application number
KR1020210121698A
Other languages
Korean (ko)
Other versions
KR102432809B1 (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 KR1020210121698A priority Critical patent/KR102432809B1/en
Publication of KR20210114912A publication Critical patent/KR20210114912A/en
Application granted granted Critical
Publication of KR102432809B1 publication Critical patent/KR102432809B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

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

Abstract

The embodiment of the present invention relates to an artificial neural network device for resource efficient reasoning, wherein a network structure can be adaptively changed according to hardware performance such as memory performance or computational performance, and a separate additional learning procedure is not required. The artificial neural network device includes a plurality of nodes consisting of an NХM matrix of N (N is a natural number greater than or equal to 2) layer group rows and M (M is a natural number) channel group columns, and the plurality of nodes have a network structure, in which an output of the node corresponding to the same level or low level channel in each layer group is connected to a node corresponding to the high level channel in the next layer group, and an output of a node corresponding to a high level channel in each layer group is not connected to a node corresponding to a low-level channel in the next layer group.

Description

자원 효율적 추론을 위한 인공 신경망 장치{Neural Network Apparatus for Resource Efficient Inference}Artificial Neural Network Apparatus for Resource Efficient Inference

본 실시예는 인공 신경망 장치에 관한 것이다. 더욱 상세하게는, 사용 가능한 자원에 따라 네트워크 구조의 슬라이싱이 보다 효율적으로 이루어질 수 있도록 하기 위한 인공 신경망 장치에 관한 것이다.This embodiment relates to an artificial neural network device. More particularly, it relates to an artificial neural network apparatus for more efficiently slicing a network structure according to available resources.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.

딥러닝(Deep Learning) 기술의 핵심 계산 모형인 뉴럴 네트워크(Neural Network)는 각각의 뉴런이 인간의 시각 신경계에서 중복 영역의 응답 특성과 유사한 특성을 갖도록 다중 계층으로 배치된 인공신경망의 한 종류이다.A neural network, a core computational model of deep learning technology, is a type of artificial neural network arranged in multiple layers so that each neuron has characteristics similar to the response characteristics of overlapping regions in the human visual nervous system.

이러한, 뉴럴 네트워크는 다양한 분야에서 놀라운 성능을 보여주고 있다. 특히, ResNet이나 DenseNet과 같은 일부 심층 신경 네트워크(DNN: Deep Neural Network)의 경우는 매우 높은 학습 성능을 보이고 있다. 한편, 심층 신경 네트워크의 경우 일반적으로 실제 환경에 적용하기에는 너무 많은 용량을 필요로 하는 정교한 아키텍처 설계를 가지고 있다. 즉, 정교하지만 자원 집약적인 모델을 실제 환경 특히, 모바일 장치 또는 임베디드 시스템에 직접 적용하는 것은 시간 또는 메모리 예산 제약이 따른다는 문제점이 존재한다.Such a neural network has shown remarkable performance in various fields. In particular, some deep neural networks (DNNs) such as ResNet and DenseNet show very high learning performance. On the other hand, deep neural networks generally have sophisticated architectural designs that require too much capacity to be applied in real-world environments. That is, there is a problem in that time or memory budget constraints follow when a sophisticated but resource-intensive model is directly applied to a real environment, particularly, a mobile device or an embedded system.

이 문제를 해결하기 위해 기존 네트워크 모델의 중복성을 제거하여 메모리 또는 시간 효율성을 향상시킬 수있는 기술이 제안되었다. 다만, 이러한, 종래의 기술들은 사양이나 제약 조건이 변경될 때마다 해당 모델을 재교육해야한다는 한계가 존재한다.To solve this problem, a technique that can improve memory or time efficiency by removing the redundancy of the existing network model has been proposed. However, these conventional techniques have a limitation in that the model needs to be re-educated whenever a specification or constraint is changed.

본 실시예는 메모리 성능 또는 연산 성능과 같은 하드웨어의 성능에 따라 네트워크의 구조를 적응적으로 변경 가능하면서도 별도의 추가적인 학습 절차를 필요로 하지 않는 자원 효율적인 추론을 위한 인공 신경망 장치를 제공하고자 하는 데 그 목적이 있다.The present embodiment is to provide an artificial neural network device for resource-efficient inference that does not require a separate additional learning procedure while being able to adaptively change the network structure according to hardware performance such as memory performance or computational performance. There is a purpose.

본 실시예는, N(N은 2 이상의 자연수)개의 레이어 그룹 행과 M(M은 자연수)개의 채널 그룹 열의 NХM 행렬로 구성되는 복수의 노드를 포함하고, 상기 복수의 노드는, 각 레이어 그룹 내 동일 레벨 또는 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 하이 레벨(High Level) 채널에 상응하는 노드에 연결되며, 상기 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드의 출력이 상기 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드에 미연결되는 네트워크 구조를 갖고, 상기 채널 그룹별로 또는 상기 레이어 그룹별로 슬라이싱 가능하도록 구현되는 것을 특징으로 하는 인공 신경망 장치를 제공한다.The present embodiment includes a plurality of nodes composed of an NХM matrix of N (N is a natural number greater than or equal to 2) layer group rows and M (M is a natural number) channel group columns, and the plurality of nodes are in each layer group. The output of the node corresponding to the same level or low level channel is connected to the node corresponding to the high level channel in the next layer group, and the output of the node corresponding to the high level channel in each layer group Provided is an artificial neural network apparatus having a network structure that is not connected to a node corresponding to a low-level channel in the next layer group, and is implemented to be slicable for each channel group or for each layer group.

또한, 본 실시예의 다른 측면에 의하면, N(N은 2 이상의 자연수)개의 레이어 그룹 행과 M(M은 자연수)개의 채널 그룹 열의 NХM 행렬로 구성되는 복수의 노드를 포함하는 인공 신경망 장치의 동작 방법으로, 상기 복수의 노드 중 각 레이어 그룹 내 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 동일 레벨 및 하이 레벨(High Level) 채널에 상응하는 노드로 데이터를 전달하나, 상기 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드는 상기 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드로 데이터를 전달하지 않되, 상기 채널 그룹별로 또는 상기 레이어 그룹별로 슬라이싱 가능하도록 구현되는 것을 특징으로 하는 인공 신경망 장치의 동작 방법을 제공한다.In addition, according to another aspect of the present embodiment, an operation method of an artificial neural network device including a plurality of nodes including N (N is a natural number greater than or equal to 2) layer group rows and an NХM matrix of M (M is a natural number) channel group columns , the output of a node corresponding to a low level channel in each layer group among the plurality of nodes transmits data to a node corresponding to the same level and high level channel in the next layer group, A node corresponding to a high-level channel in each layer group does not transmit data to a node corresponding to a low-level channel in the next layer group, but is implemented so that slicing is possible for each channel group or for each layer group. A method of operating a neural network device is provided.

또한, 본 실시예의 다른 측면에 의하면, 전술한 인공 신경망 장치의 동작 방법이 포함하는 각 과정을 실행하기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터 프로그램을 제공한다.In addition, according to another aspect of the present embodiment, there is provided a computer program stored in a computer-readable recording medium to execute each process included in the operating method of the artificial neural network device described above.

이상에서 설명한 바와 같이 본 실시예에 의하면, 메모리 성능 또는 연산 성능과 같은 하드웨어의 성능에 따라 네트워크의 구조를 적응적으로 변경 가능하면서도 별도의 추가적인 학습 절차를 필요로 하지 않는 자원 효율적인 추론을 위한 인공 신경망 장치를 제공할 수 있는 효과가 있다.As described above, according to the present embodiment, an artificial neural network for resource-efficient inference that does not require a separate additional learning procedure while being able to adaptively change the network structure according to hardware performance such as memory performance or computational performance. There is an effect that can provide the device.

도 1은 본 실시예에 따른 네트워크 슬라이싱 방법의 효과를 설명하기 위한 예시도이다.
도 2a 내지 도 2b는 본 실시예에 따른 인공 신경망 장치의 네트워크 구조를 설명하기 위한 도면이다.
도 3a 내지 도 3c는 본 실시예에 따른 인공 신경망 장치의 네트워크 슬라이싱 형태를 예시한 예시도이다.
도 4는 본 실시예에 따른 네트워크 구조에 기반한 ResNet 장치를 설명하기 위한 개념도이다.
도 5는 본 실시예에 따른 인공 신경망 장치에 따른 분류 정확도를 설명하기 위한 예시도이다.
도 6 내지 도 7은 본 실시예에 따른 인공 신경망 장치의 손실 가중치 적용방법을 설명하기 위한 예시도이다.
1 is an exemplary diagram for explaining the effect of the network slicing method according to the present embodiment.
2A to 2B are diagrams for explaining the network structure of the artificial neural network apparatus according to the present embodiment.
3A to 3C are exemplary diagrams illustrating a network slicing form of the artificial neural network apparatus according to the present embodiment.
4 is a conceptual diagram for explaining a ResNet device based on the network structure according to the present embodiment.
5 is an exemplary diagram for explaining classification accuracy according to the artificial neural network apparatus according to the present embodiment.
6 to 7 are exemplary views for explaining a method of applying a loss weight of the artificial neural network apparatus according to the present embodiment.

이하, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

딥러닝(Deep Learning) 기술의 핵심 계산 모형인 뉴럴 네트워크(Neural Network)는 각각의 뉴런이 인간의 시각 신경계에서 중복 영역의 응답 특성과 유사한 특성을 갖도록 다중 계층으로 배치된 인공신경망의 한 종류이다.A neural network, a core computational model of deep learning technology, is a type of artificial neural network arranged in multiple layers so that each neuron has characteristics similar to the response characteristics of overlapping regions in the human visual nervous system.

본 발명은 이러한, 뉴럴 네트워크 기반의 장치의 네트워크 구조에 대해서 개시한다. 보다 자세하게는 메모리 성능 또는 연산 성능과 같은 하드웨어의 성능에 따라 네트워크의 구조를 적응적으로 변경 가능하면서도 별도의 추가적인 학습 절차를 필요로 하지 않는 자원 효율적인 추론을 위한 이중 중첩 네트워크 장치를 제안한다.The present invention discloses a network structure of such a neural network-based device. In more detail, we propose a double-overlapping network device for resource-efficient inference that does not require a separate additional learning procedure while adaptively changing the network structure according to hardware performance such as memory performance or computational performance.

한편, 이하의 설명에 있어서, "뉴럴 네트워크"이라는 용어는 적응적인(Adaptive) 환경에 도움이 되고 딥러닝에 유용한 통계 학습 알고리즘들을 구현하는 소프트웨어를 나타낼 수 있다. 뉴럴 네트워크는 "뉴런(Neuron)들", "처리 요소들", "유닛들", 또는 그 외 다른 유사 용어들로 알려진 복수의 인공 노드(Artificial Node)를 포함할 수 있다. 복수의 인공 노드는 생물학적인 신경망을 모사(Mimic)하는 네트워크를 형성하기 위해 함께 연결될 수 있다.Meanwhile, in the following description, the term "neural network" may refer to software that is helpful in an adaptive environment and implements statistical learning algorithms useful for deep learning. A neural network may include a plurality of Artificial Nodes, known as “Neurons”, “processing elements”, “units”, or other similar terms. A plurality of artificial nodes may be connected together to form a network that mimics a biological neural network.

도 1은 본 실시예에 따른 네트워크 슬라이싱 방법의 효과를 설명하기 위한 예시도이다. 한편, 도 1은 종래의 네트워크 슬라이싱 방법과 본 실시예에 따른 네트워크 슬라이싱 방법의 효과의 차이를 도시하였다.1 is an exemplary diagram for explaining the effect of the network slicing method according to the present embodiment. Meanwhile, FIG. 1 illustrates the difference between the effect of the conventional network slicing method and the network slicing method according to the present embodiment.

일반적으로 심층 신경 네트워크(DNN)의 경우 실제 환경에 적용하기에는 너무 많은 용량을 필요로 하는 정교한 아키텍처 설계를 가지고 있다. 이로 인해 기존 네트워크 모델의 중복성을 제거하여 메모리 또는 시간 효율성을 향상시킬 수 있는 기술이 제안되었다. 그 중 네트워크 슬라이싱 방법은 원본 네트워크의 재구성을 통해 대규모 네트워크로부터 소형 네트워크를 구축하는 기법이다.In general, deep neural networks (DNNs) have sophisticated architectural designs that require too much capacity to be applied in real-world environments. Due to this, a technique that can improve memory or time efficiency by removing the redundancy of the existing network model has been proposed. Among them, the network slicing method is a technique of building a small network from a large network through reconfiguration of the original network.

하지만, 기존의 네트워크 슬라이싱 방법에 의하는 경우 단일 제어 매개 변수(ex: 너비 또는 깊이)만을 고려한 네트워크 슬라이싱에 따라 복수의 제약 조건을 만족시키는 데 있어서 한계가 존재한다. 예컨대, 도 1의 (a)를 참조하면, 단일 제어 매개 변수에 기반하여 생성되는 네트워크 슬라이싱 모델의 경우 서로 다른 연산 속도 및 메모리 크기를 가지는 다양한 환경(ex: 환경 1, 환경 2)에서 자원을 충분히 활용하지 못한다는 한계가 존재한다.However, in the case of the existing network slicing method, there is a limit in satisfying a plurality of constraints according to the network slicing considering only a single control parameter (ex: width or depth). For example, referring to (a) of FIG. 1 , in the case of a network slicing model generated based on a single control parameter, sufficient resources are provided in various environments (ex: environment 1, environment 2) having different operation speeds and memory sizes. There is a limit to not being able to use it.

반면, 본 실시예에 따른 네트워크 슬라이싱 방법에 의하는 경우 기존의 네트워크 슬라이싱 방법 대비 보다 높은 자유도(ex: 너비 및 깊이를 모두 고려)를 갖는 네트워크 슬라이싱이 가능함에 따라 복수의 제약조건을 동시에 만족하는 다양한 네트워크 슬라이싱 모델을 생성할 수 있다. 예컨대, 도 1의 (b)를 참조하면, 본 실시예에 따른 네트워크 슬라이싱 모델에 의하는 경우 서로 다른 연산 속도 및 메모리 크기를 가지는 다양한 환경 내에서도 원래의 성능을 가능한 한 높게 유지하면서 사용 가능한 자원만 활용할 수 있는 효과가 있다.On the other hand, in the case of the network slicing method according to the present embodiment, as network slicing with a higher degree of freedom (ex: considering both width and depth) than the existing network slicing method is possible, a plurality of constraints are simultaneously satisfied. Various network slicing models can be created. For example, referring to FIG. 1 (b), in the case of the network slicing model according to the present embodiment, only available resources are utilized while maintaining original performance as high as possible even in various environments having different operation speeds and memory sizes. can have an effect.

한편, 일반적으로, 연산 속도를 결정하는 주요 요인 중 하나는 레이어 수이고, 최대 필요 메모리는 채널 수에 지배적인 영향을 미치는 것으로 널리 알려져 있다. 연산 속도와 메모리 사용을 동적으로 줄이기 위한 여러가지 방향이 있을 수 있지만, 다양한 리소스 요구 사항을 가진 여러 모델을 준비하는 것이 기본이다. 다만, 이를 위해서는 여러 번의 트레이닝 과정을 필요로 하며, 많은 공간을 소비하게 된다.On the other hand, in general, it is widely known that one of the main factors determining the operation speed is the number of layers, and the maximum required memory has a dominant influence on the number of channels. There may be several directions for dynamically reducing computational speed and memory usage, but the basic is to prepare multiple models with different resource requirements. However, this requires several training steps and consumes a lot of space.

레이어나 채널 수에 약간의 차이가 있는 모델은 주로 유사점을 공유한다고 예상할 수 있다. 이 점에 기인하여 본 실시예에서는 DNNet(Doubly Nested Network)이라는 신경망 구조를 제안한다. DNNet은 모든 모델이 하나로 중첩됨으로써 매개 변수를 최대한 공유하는 구조를 갖으며, 이로 인해, 원래의 성능을 높게 유지하면서 채널 또는 계층별 슬라이스를 허용할 수 있다.Models with slight differences in the number of layers or channels can be expected to share mainly similarities. Due to this point, the present embodiment proposes a neural network structure called DNNet (Doubly Nested Network). DNNet has a structure in which parameters are shared as much as possible by overlapping all models into one, thereby allowing slices for each channel or layer while maintaining high original performance.

도 2a 내지 도 2b는 본 실시예에 따른 인공 신경망 장치의 네트워크 구조를 설명하기 위한 도면이다.2A to 2B are diagrams for explaining the network structure of the artificial neural network apparatus according to the present embodiment.

종래의 컨벌루션 뉴럴 네트워크(CNN: Convolutional Neural Networks)에 의하는 경우 각 피쳐 맵의 채널이 인접 레이어의 피쳐 맵의 채널에 완전히 연결되는(Fully-Connected) 네트워크 구조를 갖는다. 이러한, 네트워크 구조에 의하는 경우 특정 레이어의 출력 활성화 값은 이전 레이어의 모든 출력 활성화를 집계하여 계산할 수 있다. 즉, 특정 레이어의 입력 기능에서 일부 채널을 간단히 생략하면 예기치 않은 출력 활성화가 발생할 수 있으며, 이는 곧, 해당 출력이 다음 계층으로 계속 전파되어 심각한 성능 저하를 야기한다.In the case of a conventional convolutional neural network (CNN), a channel of each feature map has a network structure in which it is fully connected to a channel of a feature map of an adjacent layer. According to such a network structure, the output activation value of a specific layer may be calculated by aggregating all output activations of the previous layer. In other words, simply omitting some channels from the input function of a particular layer can lead to unexpected output activation, which in turn propagates to the next layer, causing serious performance degradation.

이 문제를 해결하기 위해 본 실시예에서는 슬라이싱 모델에 포함되지 않은 다른 부분의 출력에 슬라이싱 부분 모델이 종속되지 않도록 두 개의 연속 레이어 사이의 시냅스 연결을 제한한다.In order to solve this problem, in the present embodiment, the synaptic connection between two consecutive layers is restricted so that the slicing part model does not depend on the output of other parts not included in the slicing model.

도 2a는 본 실시예에 따른 인공 신경망 장치의 네트워크에 대한 기본 구조를 설명하기 위한 도면이다.2A is a diagram for explaining a basic structure of a network of an artificial neural network apparatus according to the present embodiment.

도 2a 도시하듯이, 본 실시예에 따른 인공 신경망 장치(200)는 N(N=자연수)개의 레이어 그룹(202) 행과 M(M=자연수)개의 채널 그룹(204) 열의 N×M 행렬로 구성되는 복수의 노드를 포함한다. 여기서, 각각의 노드는 레이어 그룹 내 적어도 하나의 피쳐 맵을 의미하며, 채널은 이러한, 피쳐 맵들의 개수를 의미한다.As shown in FIG. 2A , the artificial neural network apparatus 200 according to the present embodiment is an N×M matrix of N (N = natural number) layer group 202 rows and M (M = natural number) channel group 204 columns. It includes a plurality of nodes configured. Here, each node means at least one feature map in a layer group, and a channel means the number of these feature maps.

한편, 이하에서는 본 실시예에 따른 인공 신경망 장치(200)가 3개의 레이어 그룹 행과 3개의 채널 그룹 열의 3×3 행렬로 구성되는 복수의 노드를 포함하는 것으로 예시하여 설명하나 반드시 이에 한정되는 것은 아니다.Meanwhile, in the following description, the artificial neural network apparatus 200 according to the present embodiment is exemplified as including a plurality of nodes composed of a 3×3 matrix of three layer group rows and three channel group columns, but is not necessarily limited thereto. no.

도 2a를 참조하면, 본 실시예에 따른 인공 신경망 장치(200) 내 복수의 노드는 각 레이어 그룹 내 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 하이 레벨(High Level) 채널에 상응하는 노드에 연결되며, 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드의 출력이 상기 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드에 미연결되는 네트워크 구조를 갖는다.Referring to FIG. 2A , in the plurality of nodes in the artificial neural network apparatus 200 according to the present embodiment, the output of a node corresponding to a low level channel in each layer group is a high level in the next layer group. It is connected to a node corresponding to a channel, and has a network structure in which an output of a node corresponding to a high-level channel in each layer group is not connected to a node corresponding to a low-level channel in the next layer group.

또한, 인공 신경망 장치(200) 내 복수의 노드는 동일 채널 그룹에 상응하는 노드의 출력이 서로 간 연결되는 네트워크 구조를 갖는다. 한편, 여기서, 연결은 일 예로 각 노드에서 활성함수(ex: ReLu) 등에 의해 연산된 값을 다음 노드에 가중치(Weight)를 반영하여 전달하는 것을 의미한다.In addition, a plurality of nodes in the artificial neural network apparatus 200 have a network structure in which outputs of nodes corresponding to the same channel group are connected to each other. On the other hand, here, as an example, the connection means that a value calculated by an activation function (ex: ReLu) in each node is reflected and transmitted to the next node by weight.

즉, 본 실시예에 따른 인공 신경망 장치(200)의 경우 채널을 위상적으로 정렬하여 깊이 방향으로 슬라이싱 가능하도록 구현되며, 이는 일부 채널이 다른 채널보다 상대적으로 중요하도록 구성될 수 있어, 필요 시 하이 레벨 채널의 노드들을 제외하고 네트워크를 신규하게 구성할 수 있는 효과가 있다.That is, in the case of the artificial neural network apparatus 200 according to the present embodiment, the channels are topologically aligned and slicable in the depth direction, which may be configured such that some channels are relatively important than other channels, There is an effect that the network can be newly configured except for the nodes of the level channel.

보다 구체적으로, 본 실시예에 따른 인공 신경망 장치(200)는 전체 네트워크를 채널을 따라 사전 정의 된 수의 그룹으로 나누고, 채널-인과 관계 회선(Channel-Causal Convolution) 필터를 설계하여, 하나의 계층의 i번째 채널 그룹은 이전 레이어 내 첫 번째부터 i번째까지의 채널 그룹의 활성화 값으로만 계산될 수 있도록 네트워크 구조가 구현될 수 있다. 이러한, 본 실시예에 따른 인공 신경망 장치(200)의 네트워크 구조에 의하는 경우 i번째 또는 하위 하위 채널 그룹만을 갖는 부분 모델이 학습 및 추론 프로세스 모두에서 (i+1)번째 또는 그 이상의 채널 그룹과 독립적으로 작동 할 수 있게 한다.More specifically, the artificial neural network apparatus 200 according to the present embodiment divides the entire network into a predefined number of groups along a channel, designs a channel-causal convolution filter, and forms one layer. A network structure may be implemented so that the i-th channel group of n can be calculated only as activation values of the first to i-th channel groups in the previous layer. According to the network structure of the artificial neural network apparatus 200 according to this embodiment, the partial model having only the i-th or lower sub-channel group is (i+1)-th or higher channel group in both the learning and inference process and allow them to work independently.

한편, 이를 위해, 인공 신경망 장치(200)는 복수의 채널 그룹 중 제1 채널 그룹에 상응하는 노드들이 각각 독립적으로 학습 동작이 가능하도록 사전에 트레이닝될 수 있다.Meanwhile, for this purpose, the artificial neural network apparatus 200 may be trained in advance so that nodes corresponding to the first channel group among the plurality of channel groups can each independently perform a learning operation.

본 실시예에 따른 인공 신경망 장치(200)는 채널뿐만 아니라 레이어별로도 슬라이싱이 가능토록 구현될 수 있다. 이를 위해, 인공 신경망 장치(200)은 분류 모듈(206)을 네트워크의 연속된 레이어에 추가하여 이전 레이어의 학습된 기능 맵을 후속 레이어에서 재사용할 수 있도록 구현될 수 있다.The artificial neural network apparatus 200 according to the present embodiment may be implemented to enable slicing not only for channels but also for each layer. To this end, the artificial neural network apparatus 200 may be implemented so that the learned function map of the previous layer can be reused in a subsequent layer by adding the classification module 206 to a continuous layer of the network.

즉, 도 2b를 참조하면, 본 실시예에 따른 인공 신경망 장치(200)은 복수의 노드별로 대응되는 분류 모듈(206)이 구비될 수 있다. 보다 자세하게는, 분류 모듈(206)은 해당 분류 모듈(206)에 대응하는 대응 노드 및 해당 대응 노드의 레이어 그룹 내 로우 레벨 채널에 상응하는 노드에 연결되어 각 노드에서 수신한 결과 값을 분류하는 형태로 구현될 수 있다.That is, referring to FIG. 2B , the artificial neural network apparatus 200 according to the present embodiment may include a classification module 206 corresponding to each node. In more detail, the classification module 206 is connected to a corresponding node corresponding to the corresponding classification module 206 and a node corresponding to a low-level channel in a layer group of the corresponding node to classify the result value received from each node. can be implemented as

이러한, 분류 모듈(206)은 네트워크의 구조에 따라 적응적으로 활성 또는 비활성화됨으로써 필요 시 이전 레이어의 학습된 기능 맵을 후속 레이어에서 재사용할 수 있도록 구현된다.The classification module 206 is adaptively activated or deactivated according to the structure of the network, so that the learned function map of the previous layer can be reused in a subsequent layer when necessary.

다른 실시예에서, 분류 모듈(206)은 네트워크 구조의 재구성 시 적어도 가장 마지막 레이어 그룹에 대하여 대응되는 분류 모듈이 구비되도록 구현될 수 있다.In another embodiment, the classification module 206 may be implemented such that a corresponding classification module is provided for at least the last layer group when the network structure is reconfigured.

한편, 상기와 같은, 네트워크 구조에 따라 본 실시예에 따른 인공 신경망 장치(200)는 해당 모델이 적용되는 적어도 하나 이상의 환경 요인에 따라 네트워크 구조가 적응적으로 재구성될 수 있다.Meanwhile, according to the network structure as described above, in the artificial neural network apparatus 200 according to the present embodiment, the network structure may be adaptively reconfigured according to at least one or more environmental factors to which the corresponding model is applied.

본 실시예에 있어서, 인공 신경망 장치(200)는 상기의 환경 요인에 따라 네트워크 구조를 구성하는 레이어 그룹 및 채널 그룹의 갯수가 각각 적응적으로 조정될 수 있다. 여기서, 인공 신경망 장치(200)가 적용되는 적어도 하나 이상의 환경 요인은 학습 과정에서 요구되는 메모리의 크기 및 연산 속도 중 적어도 하나의 하드웨어적 성능 요인일 수 있다.In the present embodiment, in the artificial neural network apparatus 200, the number of layer groups and channel groups constituting the network structure may be adaptively adjusted, respectively, according to the above environmental factors. Here, at least one or more environmental factors to which the artificial neural network apparatus 200 is applied may be hardware performance factors of at least one of a memory size and an operation speed required in a learning process.

예컨대, 인공 신경망 장치(200)는 환경 요인이 메모리의 크기인 경우에는 채널 그룹의 갯수가 적어지도록, 환경 요인이 연산 속도인 경우에는 레이어 그룹의 갯수가 적어지도록 조정될 수 있다. 이때, 메모리의 크기 및 연산 속도에 따른 레이어 그룹 및 채널 그룹의 갯수 조정 값은 서로 상호 보완적일 수 있다.For example, the artificial neural network apparatus 200 may be adjusted so that the number of channel groups decreases when the environmental factor is the size of the memory, and the number of layer groups decreases when the environmental factor is the operation speed. In this case, the adjustment values for the number of layer groups and channel groups according to the size of the memory and the operation speed may be complementary to each other.

보다 자세하게는, 본 실시예의 경우 적어도 하나 이상의 환경 요인의 조합에 따른 네트워크 구조에 대한 슬라이싱 모델이 기 정의되며, 인공 신경망 장치(200) 는 현재 환경 요인에 대응하는 슬라이싱 모델에 기초하여 네트워크 구조가 적응적으로 재구성될 수 있다.More specifically, in the present embodiment, a slicing model for a network structure according to a combination of at least one or more environmental factors is predefined, and the artificial neural network apparatus 200 adapts the network structure based on the slicing model corresponding to the current environmental factor. can be reconstructed.

이를 위해, 본 실시예에서는 인공 신경망 장치(200)의 내부 혹은 외부에는 상기의 슬라이싱 모델을 활용하여 네트워크 구조를 재구성하는 제어모듈(미도시)이 추가 구비될 수 있다. 즉, 제어모듈은 현재 인공 신경망 장치(200)가 적용되는 환경 요인에 대한 정보를 수집하여, 이에 대응하는 조합(메모리-연산)을 선별하고, 선별된 조합에 매칭된 슬라이싱 모델에 기초하여 인공 신경망 장치(200)의 네트워크 구조를 재구성할 수 있다.To this end, in the present embodiment, a control module (not shown) for reconfiguring the network structure by using the slicing model may be additionally provided inside or outside the artificial neural network apparatus 200 . That is, the control module collects information on environmental factors to which the artificial neural network apparatus 200 is currently applied, selects a combination (memory-operation) corresponding thereto, and based on the slicing model matched to the selected combination, the artificial neural network The network structure of the device 200 may be reconfigured.

도 3a 내지 도 3c는 본 실시예에 따른 인공 신경망 장치(200)의 네트워크 슬라이싱 형태를 예시한 예시도이다. 한편, 도 3a 내지 도 3c는 각각, (2,2), (3,2), (2,3)의 재구성 네트워크 구조를 갖는 슬라이싱 모델을 예시하였다.3A to 3C are exemplary diagrams illustrating a network slicing form of the artificial neural network apparatus 200 according to the present embodiment. Meanwhile, FIGS. 3A to 3C illustrate a slicing model having a reconstructed network structure of (2,2), (3,2), and (2,3), respectively.

도 3a 내지 도 3c를 참조하면, 메모리의 크기 및 연산 속도의 요구에 따라 네트워크 구조를 구성하는 레이어 그룹 및 채널 그룹의 갯수가 각각 적응적으로 조정되는 것을 확인할 수 있다. 또한, 재구성된 네트워크 구조에 맞춰 각각의 노드에 대응되는 분류 모듈(206)이 적응적으로 활성 또는 비활성화되는 것을 확인할 수 있다. 한편, 본 실시예의 경우 네트워크 구조의 재구성 후 가장 마지막 레이어 그룹에 상응하는 분류 모듈 중 적어도 하나의 분류 모듈이 활성화된다. 이때, 가장 마지막 레이어 그룹 내 최상위 레벨 채널에 상응하는 노드에 상응하는 분류 모듈이 활성화되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.Referring to FIGS. 3A to 3C , it can be seen that the number of layer groups and channel groups constituting the network structure is adaptively adjusted according to the requirements of the size of the memory and the operation speed. In addition, it can be confirmed that the classification module 206 corresponding to each node is adaptively activated or deactivated according to the reconfigured network structure. Meanwhile, in the present embodiment, after reconfiguration of the network structure, at least one classification module among the classification modules corresponding to the last layer group is activated. In this case, it is preferable that the classification module corresponding to the node corresponding to the highest level channel in the last layer group is activated, but the present invention is not limited thereto.

도 4는 본 실시예에 따른 네트워크 구조에 기반한 ResNet 장치를 설명하기 위한 개념도이다.4 is a conceptual diagram for explaining a ResNet device based on the network structure according to the present embodiment.

도 4를 참조하면, 본 실시예에 따른 네트워크 구조에 기반한 ResNet 장치에 의하는 경우 해당 모델이 적용되는 환경 요인에 따라 각 피쳐 맵 간의 연결 관계가 임의적으로 조정되는 것을 확인할 수 있다.Referring to FIG. 4 , in the case of the ResNet device based on the network structure according to the present embodiment, it can be seen that the connection relationship between each feature map is arbitrarily adjusted according to environmental factors to which the corresponding model is applied.

한편, 본 실시예에 따른 네트워크 구조에 의하는 경우 복수의 노드별 즉 피쳐 맵 별로 대응되는 분류 모듈(206)이 구비된다. 이에, 본 실시예의 경우, 분류 모듈(206)에 대한 파라미터의 갯수나 연산량을 적절히 감소시킬 필요성이 존재한다.Meanwhile, in the case of the network structure according to the present embodiment, a classification module 206 corresponding to each of a plurality of nodes, that is, each feature map is provided. Accordingly, in the present embodiment, there is a need to appropriately reduce the number of parameters or the amount of computation for the classification module 206 .

이를 위해, 본 실시예의 경우 분류 모듈(206)로 입력되는 피쳐 맵에 대해 GAP(Global Average Pooling)이라고 불리는 전처리 과정을 수행할 수 있다. 예컨대, 이러한, GAP에 의하는 경우 3차원(x-y-z)의 피처 맵에서 각 채널별로 2차원 공간(x-y)상의 값을 하나의 값으로 바꿔줌으로서, 채널 개수만큼의 값을 가지는 벡터를 생성하며, 이를 통해, 분류 모듈(206)로 입력되는 피쳐 맵의 크기를 줄일 수 있다.To this end, in the present embodiment, a preprocessing process called Global Average Pooling (GAP) may be performed on the feature map input to the classification module 206 . For example, in the case of GAP, a vector having as many values as the number of channels is generated by changing a value in a two-dimensional space (xy) to one value for each channel in a three-dimensional (xyz) feature map, Through this, the size of the feature map input to the classification module 206 may be reduced.

도 5는 본 실시예에 따른 인공 신경망 장치에 따른 분류 정확도를 설명하기 위한 예시도이다. 한편, 도 5는 본 실시예에 따른 네트워크 구조에 기반하여 생성된 슬라이싱 모델과 종래의 다른 슬라이싱 모델 사이에 연산 횟수에 따른 정확도 측정 결과를 나타낸 비교 그래프이다.5 is an exemplary diagram for explaining classification accuracy according to the artificial neural network apparatus according to the present embodiment. Meanwhile, FIG. 5 is a comparison graph illustrating accuracy measurement results according to the number of operations between a slicing model generated based on the network structure according to the present embodiment and another conventional slicing model.

도 5를 참조하면, 본 실시예에 따른 네트워크 구조에 기반하여 생성된 슬라이싱 모델의 경우 풀 트레이닝된 인공 신경망 모델과는 거의 차이가 나지 않으면서도, 종래의 다른 슬라이싱 모델 대비 같은 연산횟수에서 더 높은 정확도를 갖는 것을 확인할 수 있다.Referring to FIG. 5 , in the case of a slicing model generated based on the network structure according to the present embodiment, there is little difference from a fully trained artificial neural network model, but higher accuracy at the same number of operations compared to other conventional slicing models It can be confirmed that it has

도 6 내지 도 7은 본 실시예에 따른 인공 신경망 장치의 손실 가중치 적용방법을 설명하기 위한 예시도이다. 한편, 도 6은 손실 가중치를 모두 균일하게 부여한 경우에 모든 가능한 신경망 모델의 성능을 도시하였다. 도 7은 사용자 요구에 따라 손실 가중치를 모델별로 조정한 경우 모든 가능한 신경망 모델의 도 6의 균일 손실 가중치 성능 대비 상대적인 성능을 도시하였다.6 to 7 are exemplary views for explaining a method of applying a loss weight of the artificial neural network apparatus according to the present embodiment. Meanwhile, FIG. 6 shows the performance of all possible neural network models when all loss weights are uniformly assigned. 7 shows the relative performance of all possible neural network models compared to the uniform loss weighting performance of FIG. 6 when the loss weights are adjusted for each model according to user requirements.

도 6은 최대 16개의 레이어 그룹과 22개의 채널 그룹으로 이루어진 네트워크 구조의 인공 신경망 장치에 대응하는 모든 부분 모델(=슬라이싱 모델)들에 대한 분류 정확도를 나타낸 도면이다.6 is a diagram illustrating classification accuracy for all partial models (= slicing models) corresponding to an artificial neural network device having a network structure including a maximum of 16 layer groups and 22 channel groups.

도 6을 참조하면, 본 실시예에 따른 네트워크 구조에 기반하여 생성된 슬라이싱 모델의 경우 가장 큰 모델의 성능을 심각하게 저하시키지 않으면서 높은 수준의 정확도를 갖도록 구현된 것을 확인할 수 있다.Referring to FIG. 6 , it can be seen that the slicing model generated based on the network structure according to the present embodiment is implemented to have a high level of accuracy without seriously degrading the performance of the largest model.

한편, 본 실시예에 따른 인공 신경망 장치의 경우 트레이닝 시 각 분류 모듈(206)에 대하여 정확도와 관련한 손실 함수(Loss Function)가 사전 정의된다. 이때, 본 실시예에 따른 인공 신경망 장치의 경우 네트워크 구조의 슬라이싱 형태에 따라 각각의 노드에 대응되는 분류 모듈(206)이 적응적으로 활성 또는 비활성화됨에 따라 모든 분류 모듈에 대하여 기 설정된 임계치 이상의 정확도를 만족하도록 손실 함수가 정의되어야 한다.Meanwhile, in the case of the artificial neural network apparatus according to the present embodiment, a loss function related to accuracy is predefined for each classification module 206 during training. At this time, in the case of the artificial neural network apparatus according to the present embodiment, as the classification module 206 corresponding to each node is adaptively activated or deactivated according to the slicing type of the network structure, the accuracy of all classification modules is higher than the preset threshold. A loss function must be defined to satisfy it.

다만, 실시예에 따라 본 실시예에 따른 인공 신경망 장치의 경우 특정 분류 모듈에 대하여 다른 분류 모듈 대비 보다 높은 정확도를 갖도록 구현될 수 있다. 즉, 본 실시예에서는 인공 신경망 장치가 적용되는 환경 요인에 대응하여 해당 분류 모듈이 다른 분류 모듈 대비 상대적으로 손실 함수에 대하여 높은 가중치를 갖도록 사전에 트레이닝될 수 있다.However, according to an embodiment, the artificial neural network apparatus according to the present embodiment may be implemented to have higher accuracy with respect to a specific classification module than other classification modules. That is, in the present embodiment, the corresponding classification module may be trained in advance to have a relatively high weight for the loss function compared to other classification modules in response to environmental factors to which the artificial neural network apparatus is applied.

예컨대, 본 실시예에 따른 인공 신경망 장치와 관련하여 네트워크 구조가 작은 슬라이싱 모델이 선호되는 경우(Low Cost Preferred), 도 7의 (a)에 도시된 바와 같이 왼쪽 상단에 위치에 상응하는 분류 모듈에 대하여 손실 함수에 대한 가중치가 높게 설정될 수 있다.For example, when a slicing model with a small network structure is preferred in relation to the artificial neural network apparatus according to the present embodiment (Low Cost Preferred), as shown in FIG. A weight for the loss function may be set to be high.

반대로 네트워크 구조가 큰 슬라이싱 모델이 선호되는 경우(High Performance-Preferred), 도 7의 (b)에 도시된 바와 같이 오른쪽 하단에 위치에 상응하는 분류 모듈에 대하여 손실 함수에 대한 가중치가 높게 설정될 수 있다.Conversely, when a slicing model with a large network structure is preferred (High Performance-Preferred), as shown in FIG. have.

다른 실시예에서, 네트워크 구조의 크기와 상관 없이 도 7의 (c)에 도시된 바와 같이 특정 위치에 존재하는 특정 분류 모듈에 대하여 손실 함수에 대한 가중치가 높게 설정될 수 있다.In another embodiment, regardless of the size of the network structure, as shown in (c) of FIG. 7 , a weight for the loss function may be set high for a specific classification module existing at a specific location.

전술한 바와 같이 본 실시예에 따른 네트워크 구조를 갖는 인공 신경망 장치는 복수의 노드 중 각 레이어 그룹 내 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 동일 하이 레벨(High Level) 채널에 상응하는 노드로 데이터를 전달하나, 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드는 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드로 데이터를 전달하지 않도록 동작한다.As described above, in the artificial neural network apparatus having the network structure according to the present embodiment, the output of a node corresponding to a low level channel in each layer group among a plurality of nodes is the same in the next layer group as a high level Data is transmitted to the node corresponding to the channel, but the node corresponding to the high-level channel in each layer group operates so that data is not transmitted to the node corresponding to the low-level channel in the next layer group.

본 실시예에 따른 인공 신경망 장치의 동작 방법은 프로그램으로 구현되고 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 기록될 수 있다.The operation method of the artificial neural network apparatus according to the present embodiment is implemented as a program and is a readable recording medium (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, storage device, etc.) can be recorded in

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of this embodiment, and various modifications and variations will be possible by those skilled in the art to which this embodiment belongs without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain rather than limit the technical spirit of the present embodiment, and the scope of the technical spirit of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the following claims, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the present embodiment.

200: 인공 신경망 장치 202: 레이어 그룹
204: 채널 그룹 206: 분류 모듈
200: artificial neural network device 202: layer group
204: channel group 206: classification module

Claims (10)

N(N은 2 이상의 자연수)개의 레이어 그룹 행과 M(M은 자연수)개의 채널 그룹 열의 NХM 행렬로 구성되는 복수의 노드를 포함하고,
상기 복수의 노드는, 각 레이어 그룹 내 동일 레벨 또는 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 하이 레벨(High Level) 채널에 상응하는 노드에 연결되며,
상기 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드의 출력이 상기 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드에 미연결되는 네트워크 구조를 갖고,
상기 채널 그룹별로 또는 상기 레이어 그룹별로 슬라이싱 가능하도록 구현되는 것을 특징으로 하는 인공 신경망 장치.
It includes a plurality of nodes composed of N (N is a natural number greater than or equal to 2) layer group rows and an NХM matrix of M (M is a natural number) channel group columns,
In the plurality of nodes, an output of a node corresponding to the same level or low level channel in each layer group is connected to a node corresponding to a high level channel in the next layer group,
has a network structure in which an output of a node corresponding to a high-level channel in each layer group is not connected to a node corresponding to a low-level channel in the next layer group;
The artificial neural network device, characterized in that it is implemented to be slicable for each channel group or for each layer group.
제 1항에 있어서,
상기 복수의 노드는,
동일 채널 그룹에 상응하는 노드의 출력이 서로 간 연결되는 것을 특징으로 하는 인공 신경망 장치.
The method of claim 1,
The plurality of nodes,
An artificial neural network device, characterized in that outputs of nodes corresponding to the same channel group are connected to each other.
제 1항에 있어서,
상기 복수의 노드는,
상기 인공 신경망 장치가 적용되는 적어도 하나 이상의 환경 요인에 따라 상기 네트워크 구조가 적응적으로 재구성되는 것을 특징으로 하는 인공 신경망 장치.
The method of claim 1,
The plurality of nodes,
The artificial neural network apparatus, characterized in that the network structure is adaptively reconfigured according to at least one or more environmental factors to which the artificial neural network apparatus is applied.
제 3항에 있어서,
상기 환경 요인은, 학습 과정에서 요구되는 메모리의 크기 및 연산 속도 중 적어도 하나의 하드웨어적 성능 요인이며,
상기 복수의 노드는, 상기 환경 요인에 따라 상기 네트워크 구조를 구성하는 상기 레이어 그룹 및 상기 채널 그룹의 갯수가 각각 적응적으로 조정되는 것을 특징으로 하는 인공 신경망 장치.
4. The method of claim 3,
The environmental factor is at least one of a hardware performance factor among the size and operation speed of memory required in the learning process,
In the plurality of nodes, the number of the layer groups and the channel groups constituting the network structure is adaptively adjusted according to the environmental factors.
제 4항에 있어서,
상기 복수의 노드는,
상기 환경 요인이 상기 메모리의 크기인 경우에는 상기 채널 그룹의 갯수가 적어지도록,
상기 환경 요인이 상기 연산 속도인 경우에는 상기 레이어 그룹의 갯수가 적어지도록 조정되는 것을 특징으로 하는 인공 신경망 장치.
5. The method of claim 4,
The plurality of nodes,
When the environmental factor is the size of the memory, the number of the channel groups is reduced,
The artificial neural network device, characterized in that when the environmental factor is the operation speed, the number of the layer groups is adjusted to decrease.
제 3항에 있어서,
상기 환경 요인의 조합에 따른 상기 네트워크 구조에 대한 슬라이싱 모델이 기 정의되며,
상기 복수의 노드는, 상기 환경 요인에 대응하는 슬라이싱 모델에 기초하여 상기 네트워크 구조가 재구성되는 것을 특징으로 하는 인공 신경망 장치.
4. The method of claim 3,
A slicing model for the network structure according to the combination of the environmental factors is predefined,
In the plurality of nodes, the artificial neural network apparatus, characterized in that the network structure is reconfigured based on a slicing model corresponding to the environmental factor.
제 1항에 있어서,
상기 복수의 노드는,
상기 채널 그룹 중 제1 채널 그룹에 상응하는 노드들이 각각 독립적으로 학습 동작이 가능하도록 사전에 트레이닝된 것을 특징으로 하는 인공 신경망 장치.
The method of claim 1,
The plurality of nodes,
The artificial neural network apparatus, characterized in that the nodes corresponding to the first channel group among the channel groups are trained in advance to enable independent learning operations.
제 1항에 있어서,
상기 네트워크 구조는,
하나의 계층의 i 번째 채널 그룹(i는 M 이하의 자연수)은 이전 레이어 내 첫 번째부터 i 번째까지의 채널 그룹의 활성화 값으로만 계산되는 것을 특징으로 하는 인공 신경망 장치.
The method of claim 1,
The network structure is
An artificial neural network device, characterized in that the i-th channel group of one layer (i is a natural number less than or equal to M) is calculated only from the activation values of the first to i-th channel groups in the previous layer.
N(N은 2 이상의 자연수)개의 레이어 그룹 행과 M(M은 자연수)개의 채널 그룹 열의 NХM 행렬로 구성되는 복수의 노드를 포함하는 인공 신경망 장치의 동작 방법으로,
상기 복수의 노드 중 각 레이어 그룹 내 로우 레벨(Low Level) 채널에 상응하는 노드의 출력이 다음 레이어 그룹 내 동일 레벨 및 하이 레벨(High Level) 채널에 상응하는 노드로 데이터를 전달하나, 상기 각 레이어 그룹 내 하이 레벨 채널에 상응하는 노드는 상기 다음 레이어 그룹 내 로우 레벨 채널에 상응하는 노드로 데이터를 전달하지 않되,
상기 채널 그룹별로 또는 상기 레이어 그룹별로 슬라이싱 가능하도록 구현되는 것을 특징으로 하는 인공 신경망 장치의 동작 방법.
An operating method of an artificial neural network device including a plurality of nodes consisting of N (N is a natural number greater than or equal to 2) layer group rows and M (M is a natural number) NХM matrix of channel group columns,
An output of a node corresponding to a low level channel in each layer group among the plurality of nodes transmits data to a node corresponding to the same level and high level channel in the next layer group, but each layer The node corresponding to the high-level channel in the group does not transmit data to the node corresponding to the low-level channel in the next layer group,
The method of operating an artificial neural network device, characterized in that it is implemented to enable slicing for each channel group or for each layer group.
청구항 제9항에 따른 인공 신경망 장치의 동작 방법이 포함하는 각 과정을 실행하기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium to execute each process included in the method of operating an artificial neural network device according to claim 9 .
KR1020210121698A 2019-06-19 2021-09-13 Neural Network Apparatus for Resource Efficient Inference KR102432809B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210121698A KR102432809B1 (en) 2019-06-19 2021-09-13 Neural Network Apparatus for Resource Efficient Inference

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190073080A KR102303789B1 (en) 2019-06-19 2019-06-19 Neural Network Apparatus for Resource Efficient Inference
KR1020210121698A KR102432809B1 (en) 2019-06-19 2021-09-13 Neural Network Apparatus for Resource Efficient Inference

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190073080A Division KR102303789B1 (en) 2019-06-19 2019-06-19 Neural Network Apparatus for Resource Efficient Inference

Publications (2)

Publication Number Publication Date
KR20210114912A true KR20210114912A (en) 2021-09-24
KR102432809B1 KR102432809B1 (en) 2022-08-12

Family

ID=74087953

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190073080A KR102303789B1 (en) 2019-06-19 2019-06-19 Neural Network Apparatus for Resource Efficient Inference
KR1020210121698A KR102432809B1 (en) 2019-06-19 2021-09-13 Neural Network Apparatus for Resource Efficient Inference

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190073080A KR102303789B1 (en) 2019-06-19 2019-06-19 Neural Network Apparatus for Resource Efficient Inference

Country Status (1)

Country Link
KR (2) KR102303789B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102588998B1 (en) * 2021-08-24 2023-10-13 퍼스트마일 주식회사 Method and device for performing a task with a deep learning model for an abnormal behavior detection
KR102606833B1 (en) 2022-11-18 2023-11-24 한국전기연구원 A bended shape high-temperature superconducting bulk magnet capable of generating a uniform magnetic field and manufacturing method of the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293002B2 (en) * 2001-06-19 2007-11-06 Ohio University Self-organizing data driven learning hardware with local interconnections

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Gao Huang et al. "Multi-scale dense networks for resource efficient image classification,"arXiv:1703.09844v5 [cs.LG] (2018.06.07.)* *
Mona Alshahrani et al., "DANNP: an efficient artificial neural network pruning tool," PeerJ Computer Science (2017.11.06.)* *

Also Published As

Publication number Publication date
KR102432809B1 (en) 2022-08-12
KR20200144887A (en) 2020-12-30
KR102303789B1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
CN109711532B (en) Acceleration method for realizing sparse convolutional neural network inference aiming at hardware
Zhang et al. Efficient federated learning for cloud-based AIoT applications
KR102432809B1 (en) Neural Network Apparatus for Resource Efficient Inference
Qiang et al. An overview of some classical growing neural networks and new developments
Si et al. Dynamic topology representing networks
KR102579116B1 (en) Apparatus and method for automatically learning and distributing artificial intelligence based on the cloud
Long et al. A multi-subpopulation bacterial foraging optimisation algorithm with deletion and immigration strategies for unmanned surface vehicle path planning
CN111461284A (en) Data discretization method, device, equipment and medium
US20220108156A1 (en) Hardware architecture for processing data in sparse neural network
CN117707795A (en) Graph-based model partitioning side collaborative reasoning method and system
KR102191346B1 (en) Method for generating spiking neural network based on burst spikes and inference apparatus based on spiking neural network
CN110610231A (en) Information processing method, electronic equipment and storage medium
CN113222134B (en) Brain-like computing system, method and computer readable storage medium
KR102508635B1 (en) Training method and training apparatus of deep learning model
Chaudhary et al. Growing neural networks using soft competitive learning
KR102083635B1 (en) Deep neural network system
Sarkar et al. An incremental pruning strategy for fast training of CNN models
Ressi et al. A relevance-based cnn trimming method for low-resources embedded vision
Wang et al. Multistrategy integrated marine predator algorithm applied to 3D surface WSN coverage optimization
Jeong et al. Optimal Partitioning of Distributed Neural Networks for Various Communication Environments
Li et al. Some classical constructive neural networks and their new developments
EP4198829A1 (en) Method and device for data classification based on artificial intelligence implemented on fpga
CN117688425B (en) Multi-task graph classification model construction method and system for Non-IID graph data
EP4285282A2 (en) Multi-node neural network constructed from pre-trained small networks
US20220138587A1 (en) Method for selecting task network, system and method for determining actions based on sensing data

Legal Events

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