KR20200023695A - Learning system to reduce computation volume - Google Patents

Learning system to reduce computation volume Download PDF

Info

Publication number
KR20200023695A
KR20200023695A KR1020180097139A KR20180097139A KR20200023695A KR 20200023695 A KR20200023695 A KR 20200023695A KR 1020180097139 A KR1020180097139 A KR 1020180097139A KR 20180097139 A KR20180097139 A KR 20180097139A KR 20200023695 A KR20200023695 A KR 20200023695A
Authority
KR
South Korea
Prior art keywords
layer
cell
output
loss function
amount
Prior art date
Application number
KR1020180097139A
Other languages
Korean (ko)
Other versions
KR102149355B1 (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 KR1020180097139A priority Critical patent/KR102149355B1/en
Publication of KR20200023695A publication Critical patent/KR20200023695A/en
Application granted granted Critical
Publication of KR102149355B1 publication Critical patent/KR102149355B1/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

Landscapes

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

Abstract

The present invention relates to a learning system for reducing an operation amount, and more particularly, to an operation amount reducing system that creates a learning model which realizes optimal performance while reducing an excessive operation amount when performing 3D-based deep learning. The operation amount reducing system includes a plurality of cells including a plurality of blocks, and fixes connection relationships of input and output between cells to maintain a specific overall system structure. The block includes a plurality of layers that perform data input, processing or output, and the plurality of blocks or layers can change structures thereof during a data learning process.

Description

연산량을 줄이는 학습 시스템{LEARNING SYSTEM TO REDUCE COMPUTATION VOLUME}Learning system to reduce the amount of computation {LEARNING SYSTEM TO REDUCE COMPUTATION VOLUME}

본 발명은 연산량을 줄이는 학습시스템에 관한 것으로, 보다 상세하게는 3차원 기반 딥러닝 학습 시 과도하게 많은 연산량을 감소시키면서도 최적의 성능을 내는 학습 모델을 만드는 연산량 감소 시스템에 관한 것이다. The present invention relates to a learning system for reducing the amount of computation, and more particularly, to a computational amount reduction system for creating a learning model that achieves optimal performance while reducing excessively large amounts of computation in three-dimensional deep learning.

신경망은 생체 뇌를 모델링한 데이터 구조를 나타낸다. 신경망에 있어서, 노드들은 입력 데이터를 처리하기 위하여 상호 연결되며, 집합적으로 동작하는 뉴런을 나타낼 수 있다. 서로 다른 종류의 신경망의 예시로서, 콘벌루션 신경망(Convolution Neural Networks), 순환형 신경항(Recurrent Neural Networks), 확신 네트워크(Deep Belief Network) 및 제한적 볼츠만 머신(Restricted Boltzamann Machines) 등이 포함될 수 있으나, 이에 제한되지 않는다. Neural networks represent data structures that model the living brain. In neural networks, nodes may represent neurons that are interconnected and operate collectively to process input data. Examples of different types of neural networks include, but are not limited to, convolutional neural networks, recurrent neural networks, deep belief networks, and restricted boltzamann machines. This is not restrictive.

신경망은 복잡한 입력 데이터로부터 "특징"을 추출하기 위해 이용될 수 있다. 신경망은 복수의 레이어(layer)를 포함할 수 있다. 각각의 레이어는 입력 데이터를 수신하고, 수신된 입력 데이터를 처리하여 출력 데이터를 생성할 수 있다. 출력 데이터는 입력 데이터의 특징 지도(feature map)일 수 있다. 신경망은 입력 이미지 또는 특징 지도를 컨벌루션 커널(Convolution Kernel)과 컨벌루션함으로써 입력 데이터의 특징 지도를 생성하는 데 이용될 수 있다. 신경망의 최초 레이어는 이미지와 같은 입력으로부터 엣지 및/또는 그래디언트와 같은 저 레벨 특징을 추출하기 위하여 동작할 수 있다. 신경망의 후속 레이어들은 눈 또는 코와 같이 점진적으로 더 복잡한 특징들을 추출할 수 있다.Neural networks can be used to extract "features" from complex input data. The neural network may include a plurality of layers. Each layer may receive input data and process the received input data to generate output data. The output data may be a feature map of the input data. The neural network may be used to generate a feature map of the input data by convolving the input image or feature map with the convolution kernel. The initial layer of the neural network may operate to extract low level features such as edges and / or gradients from inputs such as images. Subsequent layers of the neural network may extract progressively more complex features, such as the eyes or the nose.

한국공개특허공보 제10-2017-0083419호, 2017.07.18Korean Laid-Open Patent Publication No. 10-2017-0083419, 2017.07.18

본 발명이 해결하고자 하는 과제는 3차원 기반의 학습 모델의 연산에 있어서, 연산량을 줄이고 정확도를 높이는 시스템을 제공하는 것이다.The problem to be solved by the present invention is to provide a system for reducing the amount of calculation and increase the accuracy in the calculation of the three-dimensional learning model.

또한, 본 발명이 해결하고자 하는 과제는 3차원의 영상 분할에 있어서, 분할하려는 영역 분할의 정확도를 높이는 시스템을 제공하는 것이다.In addition, the problem to be solved by the present invention is to provide a system for enhancing the accuracy of the region segmentation to be divided in the three-dimensional image segmentation.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템은 복수의 블록을 포함하는 복수의 셀을 포함하고, 각 셀 간의 입력 및 출력의 연결 관계를 특정한 전체 시스템 구조를 유지하도록 고정한 것을 특징으로 하고, 상기 블록은 데이터의 입력, 처리 또는 출력을 수행하는 복수의 레이어를 포함하고, 상기 복수의 블록 또는 레이어는, 데이터 학습 과정에서 구조 변경이 가능한 것을 특징으로 한다.Learning system for reducing the amount of calculation according to an embodiment of the present invention for solving the above problems includes a plurality of cells including a plurality of blocks, maintaining the overall system structure specifying the connection relationship between the input and output between each cell The block may include a plurality of layers for inputting, processing, or outputting data, and the plurality of blocks or layers may be structurally changed in a data learning process.

상기 복수의 셀 중 제1셀에 의해 n번째 출력을 내는 경우에, 상기 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은, n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력인 것을 특징으로 한다.In the case where the nth output is generated by the first cell among the plurality of cells, an input capable of entering the convolutional layer inside the block may include an n-1th cell output, an n-2th cell output, or the like. It is characterized in that the output from the block belonging to the first cell.

본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템은 상기 복수의 셀 중 하나의 셀만이 진화된 후, 나머지 모든 셀의 블록의 개수는 상기 하나의 셀의 블록의 개수와 동일하게 적용되는 것을 특징으로 한다.In the learning system for reducing the amount of computation according to an embodiment of the present invention, after only one cell of the plurality of cells has evolved, the number of blocks of all other cells is equally applied to the number of blocks of one cell. It is done.

본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템은 상기 복수의 레이어 중에서 복수의 콘벌루션 레이어에 대한 네트워크 가지치기를 통하여 연산량이 감소되는 것을 특징으로 한다.The learning system for reducing the amount of computation according to an embodiment of the present invention is characterized in that the amount of computation is reduced through network pruning for a plurality of convolutional layers among the plurality of layers.

상기 복수의 콘벌루션 레이어에 대한 네트워크 가지치기는, 상기 복수의 콘벌루션 레이어 각각에 대하여 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고, 상기 복수의 콘벌루션 레이어 각각에 대하여 입력 가중치가 0개 또는 출력 가중치가 0개인 하나 이상의 노드가 전부 삭제되고, 상기 복수의 콘벌루션 레이어 중에서 n번째 레이어에서 삭제된 노드가 위치한 같은 자리의 n-1번째 레이어의 노드와 n+1번째 레이어의 노드가 연결되도록 하는, n-1번째 레이어의 출력을 n+1번째 레이어로 보내는 연결이 추가되는 것을 특징으로 한다.The network pruning of the plurality of convolutional layers includes deleting all connections having a weight less than or equal to a predetermined value for each of the plurality of convolutional layers, and zero input weights for each of the plurality of convolutional layers. Or all of the one or more nodes having zero output weights are deleted, and the nodes of the n-1 th layer and the n + 1 th layer of the same position where the node deleted in the n th layer among the plurality of convolutional layers are located are connected. It is characterized in that the connection to send the output of the n-1 th layer to the n + 1 th layer to be added.

상기 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 것은, 상기 복수의 레이어 각각에 대하여 전부 실시되되, 각각의 레이어 연결의 삭제가 순차적으로 실시되는 것으로, 제1 레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고, 상기 연결이 삭제된 제1레이어가 이용되여 재학습되고, 상기 재학습에 의해 네트워크의 퍼포먼스가 변경되면 제2레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 것을 특징으로 한다.The deletion of all the connections having a weight less than or equal to the predetermined value is performed for each of the plurality of layers, and the deletion of each layer connection is sequentially performed. The weight less than or equal to the predetermined value in the first layer is performed. If all connections with a value are deleted, the first layer from which the connection is deleted is re-learned, and if the performance of the network is changed by the re-learning, all the connections with a weight less than or equal to a predetermined value in the second layer are deleted. It is characterized by.

본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템은 상기 복수의 레이어에 대하여, 손실 함수가 결합된 손실 함수로서 수정되어 계산됨으로써 영상 분할의 정확도가 높아지는 것을 특징으로 한다.The learning system for reducing the amount of computation according to an embodiment of the present invention is characterized in that the accuracy of image segmentation is increased by modifying and calculating the loss function combined with the loss function for the plurality of layers.

상기 손실 함수를 결합된 손실 함수로서 수정되어 계산되는 것은, 제1 영역과 제2 영역의 유사도가 혼합 매트릭스로 계산되어 다이스 값이 측정되고, 측정된 상기 다이스 값이 혼합되어 상기 손실 함수가 결합된 손실 함수로서 수정되고, 가중된 크로스 엔트로피를 통해 클래스 밸런싱되는 것을 특징으로 하고, 상기 제1 영역은 원본 이미지에서 추출한 영역이고, 상기 제2 영역은 라벨 이미지에서 추출한 영역이고, 상기 제1 영역 및 상기 제2 영역은 원본 이미지 및 라벨 이미지 각각에서 크기가 같은 영역이다.The loss function is modified to be calculated as a combined loss function, and the similarity between the first region and the second region is calculated as a mixed matrix, and a dice value is measured, and the measured dice values are mixed to combine the loss function. And modified as a loss function and class balanced through weighted cross entropy, wherein the first region is an area extracted from the original image, the second region is an area extracted from the label image, and the first area and the The second area is an area of the same size in each of the original image and the label image.

상기 결합된 손실 함수는 하기의 수학식 1을 만족하는 것을 특징으로 한다.The combined loss function satisfies Equation 1 below.

<수학식 1><Equation 1>

Figure pat00001
Figure pat00001

상기 수학식 1에서 LCE+dice는 크로스 엔트로피와 다이스 값이 반영된 손실 값, dice는 제1 영역과 제2 영역의 유사도를 혼합 매트릭스로 계산하여 측정한 값, λCE는 크로스 엔트로피 손실 함수에 대한 가중 파라미터, λdice는 다이스 손실 함수에 대한 가중 파라미터, Ldice는 다이스 값이 반영된 손실 값이다.In Equation 1, L CE + dice is a loss value reflecting cross entropy and a dice value, dice is a value obtained by calculating a similarity between the first area and the second area by a mixed matrix, and λ CE is a value for the cross entropy loss function. The weighting parameter, λ dice, is a weighting parameter for the die loss function, and L dice is a loss value that reflects the dice value.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

상기 본 발명에 의하면, 3차원 기반의 학습 모델의 연산에 있어서, 구조적인 변화가 발생하지 않도록 셀 간의 연결관계를 고정시키면서, 결합된 손실 함수를 이용함으로써 연산량을 적게 활용하면서도 최적의 성능을 빠르게 도출할 수 있다.According to the present invention, in the calculation of the three-dimensional learning model, by using the combined loss function while fixing the connection relationship between the cells so that structural changes do not occur, the optimal performance is quickly derived while using less computational amount. can do.

또한, 상기 본 발명에 의하면, 셀 간의 입력 및 출력의 연결관계를 고정시킴으로써, 시드 모델의 구조 또한 유지되면서도 모델이 진화될 수 있다.In addition, according to the present invention, by fixing the connection between the input and output between the cells, the model can be evolved while maintaining the structure of the seed model.

또한, 상기 본 발명에 의하면, 3차원 기반의 학습 모델의 연산에 있어서, 네트워크의 가지치기를 통하여 연산량을 감소 시킬 수 있다.In addition, according to the present invention, in the calculation of the three-dimensional learning model, it is possible to reduce the amount of calculation through the pruning of the network.

또한, 상기 본 발명에 의하면, 손실함수를 결합 손실 함수로서 수정되어 계산됨으로써, 영상에서의 영역 분할의 정확도가 높아질 수 있다.In addition, according to the present invention, the loss function is corrected and calculated as a combined loss function, so that the accuracy of region segmentation in an image can be increased.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 각각의 셀 간의 입력 및 출력의 연결 관계를 설명하기 위한 도면이다.
도 2 내지 도 4는 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템에서 각 셀이 진화되는 입력 및 출력 관계의 예시를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 네트워크 가지치기에서 복수의 콘벌루션 레이어 중에서 n번째 레이어에서 삭제된 노드가 위치한 같은 자리의 n-1번째 레이어의 노드와 n+1번째 레이어의 노드가 연결되도록 하는, n-1번째 레이어의 출력을 n+1번째 레이어로 보내는 연결을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 손실 함수를 보정하여 의료 영상에 반영한 결과를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 결과값을 나타낸 그래프이다.
1 is a diagram illustrating a connection relationship between an input and an output between each cell of a learning system that reduces an amount of computation according to an exemplary embodiment of the present invention.
2 to 4 are diagrams for explaining an example of an input and output relationship in which each cell evolves in a learning system for reducing the amount of computation according to an embodiment of the present invention.
FIG. 5 illustrates a node of an n-1 th layer and n + 1 in the same position where a node deleted from an n th layer is located among a plurality of convolutional layers in a network pruning of a learning system that reduces an amount of computation according to an exemplary embodiment of the present invention. A diagram for describing a connection for sending an output of an n-1 th layer to an n + 1 th layer so that nodes of a first layer are connected.
FIG. 6 is a diagram illustrating a result of correcting a loss function of a learning system that reduces a computation amount according to an embodiment of the present invention and reflecting it on a medical image.
7 is a graph showing the result of the learning system to reduce the amount of calculation according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below but may be embodied in various different forms, only the present embodiments are intended to complete the disclosure of the present invention, and those skilled in the art to which the present invention belongs. It is provided to fully inform the skilled person of the scope of the invention, which is defined only by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and / or “comprising” does not exclude the presence or addition of one or more other components in addition to the mentioned components. Like reference numerals refer to like elements throughout, and "and / or" includes each and all combinations of one or more of the mentioned components. Although "first", "second", etc. are used to describe various components, these components are of course not limited by these terms. These terms are only used to distinguish one component from another. Therefore, of course, the first component mentioned below may be the second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms used in the present specification (including technical and scientific terms) may be used in a sense that can be commonly understood by those skilled in the art. In addition, terms that are defined in a commonly used dictionary are not ideally or excessively interpreted unless they are specifically defined clearly.

본 발명의 실시예들에 따른 심층신경망(Deep Neural Network; DNN)은, 하나 이상의 컴퓨터 내에 하나 이상의 레이어(Layer)를 구축하여 복수의 데이터를 바탕으로 판단을 수행하는 시스템 또는 네트워크를 의미한다. 예를 들어, 심층신경망은 콘벌루션 풀링 층(Convolutional Pooling Layer), 로컬 접속 층(a locally-connected layer) 및 완전 연결 층(fully-connected layer)을 포함하는 층들의 세트로 구현될 수 있다. 콘벌루션 풀링 층 또는 로컬 접속 층은 영상 내 특징들을 추출하도록 구성 될 수 있다. 완전 연결 층은 영상의 특징 간의 상관 관계를 결정할 수 있다. 일부 실시 예에서, 심층신경망의 전체적인 구조는 콘벌루션 풀링 층에 로컬 접속 층이 이어지고, 로컬 접속 층에 완전 연결 층이 이러지는 형태로 이루어질 수 있다. 심층신경망은 다양한 판단기준(즉, 파라미터(Parameter))를 포함할 수 있고, 입력되는 영상 분석을 통해 새로운 판단기준(즉, 파라미터)를 추가할 수 있다.A deep neural network (DNN) according to embodiments of the present invention refers to a system or a network that performs a determination based on a plurality of data by constructing one or more layers in one or more computers. For example, the deep neural network may be implemented as a set of layers including a convolutional pooling layer, a locally-connected layer, and a fully-connected layer. The convolution pooling layer or the local access layer can be configured to extract features in the image. The fully connected layer may determine the correlation between the features of the image. In some embodiments, the overall structure of the deep neural network may be in the form of a local connection layer followed by a convolution pooling layer and a fully connected layer in the local connection layer. The deep neural network may include various criteria (ie, parameters), and may add new criteria (ie, parameters) through an input image analysis.

본 발명의 실시예들에 따른 심층신경망은, 영상분석에 적합한 콘볼루셔널 신경망이라고 부르는 구조로서, 주어진 영상 데이터들로부터 가장 분별력(Discriminative Power)가 큰 특징을 스스로 학습하는 특징 추출층(Feature Extraction Layer)와 추출된 특징을 기반으로 가장 높은 예측 성능을 내도록 예측 모델을 학습하는 예측층(Prediction Layer)이 통합된 구조로 구성될 수 있다. The deep neural network according to the embodiments of the present invention is a structure called a convolutional neural network suitable for image analysis, and is a feature extraction layer for self-learning a feature having the highest discriminative power from given image data. ) And a prediction layer that learns a prediction model to have the highest prediction performance based on the extracted feature.

특징 추출층은 영상의 각 영역에 대해 복수의 필터를 적용하여 특징 지도(Feature Map)를 만들어 내는 콘벌루션 층(Convolution Layer)과 특징 지도를 공간적으로 통합함으로써 위치나 회전의 변화에 불변하는 특징을 추출할 수 있도록 하는 통합층(Pooling Layer)을 번갈아 수 차례 반복하는 구조로 형성될 수 있다. 이를 통해, 점, 선, 면 등의 낮은 수준의 특징에서부터 복잡하고 의미 있는 높은 수준의 특징까지 다양한 수준의 특징을 추출해낼 수 있다. The feature extraction layer spatially integrates a convolution layer and a feature map to create a feature map by applying a plurality of filters to each region of an image, thereby allowing the feature to be changed to change in position or rotation. It can be formed in a structure that repeats the alternating layer (Pooling Layer) to be extracted several times. Through this, it is possible to extract various levels of features, from low level features such as points, lines and planes to complex high level features.

콘벌루션 층은 입력 영상의 각 패치에 대하여 필 터와 국지 수용장(Local Receptive Field)의 내적에 비선형 활성 함수(Activation Function)을 취함으로 서 특징지도(Feature Map)을 구하게 되는데, 다른 네트워크 구조와 비교하여, CNN은 희소한 연결성 (Sparse Connectivity)과 공유된 가중치(Shared Weights)를 가진 필터를 사용하는 특징이 있다. 이러한 연결구조는 학습할 모수의 개수를 줄여주고, 역전파 알고리즘을 통한 학습을 효율적으로 만들어 결과적으로 예측 성능을 향상 시킨다. The convolutional layer obtains a feature map by taking a nonlinear activation function on the inner product of the filter and the local receptive field for each patch of the input image. In comparison, CNN is characterized by the use of filters with sparse connectivity and shared weights. This connection structure reduces the number of parameters to be learned and makes the learning through the backpropagation algorithm more efficient, resulting in better prediction performance.

통합 층(Pooling Layer 또는 Sub-sampling Layer)은 이전 콘벌루션 층에서 구해진 특징 지도의 지역 정보를 활용하여 새로운 특징 지도를 생성한다. 일반적으로 통합 층에 의해 새로 생성된 특징지도는 원래의 특징 지도보다 작은 크기로 줄어드는데, 대표적인 통합 방법으로는 특징 지도 내 해당 영역의 최대값을 선택하는 최대 통합(Max Pooling)과 특징 지도 내 해당 영역의 평균값을 구하는 평균 통합(Average Pooling) 등이 있다. 통합 층의 특징지도는 일반적으로 이전 층의 특징 지도보다 입력 영상에 존재하는 임의의 구조나 패턴의 위치에 영향을 적게 받을 수 있다. 즉, 통합층은 입력 영상 혹은 이전 특징 지도에서의 노이즈나 왜곡과 같은 지역적 변화에 보다 강인한 특징을 추출할 수 있게 되고, 이러한 특징은 분류 성능에 중요한 역할을 할 수 있다. 또 다른 통합 층의 역할은, 깊은 구조상에서 상위의 학습 층으로 올라갈수록 더 넓은 영역의 특징을 반영할 수 있게 하는 것으로서, 특징 추출 층이 쌓이면서, 하위 층에서는 지역적인 특징을 반영하고 상위 층으로 올라 갈수록 보다 추상적인 전체 영상의 특징을 반영하는 특징 생성할 수 있다.The pooling layer or sub-sampling layer creates a new feature map using the local information of the feature map obtained from the previous convolutional layer. In general, the feature map newly created by the integration layer is reduced to a smaller size than the original feature map. The typical integration method includes the maximum pooling to select the maximum value of the corresponding area in the feature map and the corresponding feature map in the feature map. Average pooling, which finds the mean of a domain. The feature map of the unified layer is generally less affected by the location of any structure or pattern present in the input image than the feature map of the previous layer. That is, the integrated layer can extract features that are more robust to regional changes such as noise or distortion in the input image or previous feature maps, and these features can play an important role in classification performance. Another role of the unified layer is to allow the deeper structure to reflect the characteristics of a wider area as it goes up to the upper learning layer. As feature extraction layers accumulate, the lower layer reflects local features and rises to the upper layer. Increasingly, it is possible to generate a feature that reflects a feature of the entire abstract image.

이와 같이, 콘벌루션 층과 통합 층의 반복을 통해 최종적으로 추출된 특징은 다중 신경망(MLP: Multi-layer Perception)이나 서포트 벡터 머신(SVM: Support Vector Machine)과 같은 분류 모델이 완전 연결 층(Fully-connected Layer)의 형태로 결합되어 분류 모델 학습 및 예측에 사용될 수 있다.As such, the features finally extracted through the repetition of the convolutional layer and the integrated layer are classified into a classification model such as Multi-layer Perception (MLP) or Support Vector Machine (SVM). Combined in the form of -connected layer, it can be used for classification model training and prediction.

다만, 본 발명의 실시예들에 따른 심층신경망의 구조는 이에 한정되지 아니하고, 다양한 구조의 신경망으로 형성될 수 있다.However, the structure of the deep neural network according to the embodiments of the present invention is not limited thereto, and may be formed of a neural network having various structures.

본 명세서에서 쓰인 각 도면의 부호는 설명하는 해당 도면에서만 적용되며, 서로 다른 도면과 도면 부호를 혼용하여 사용하지 않는다.Reference numerals in the drawings used in the present specification apply only to the corresponding drawings described, and do not use different drawings and reference numerals.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들에 따른 연산량을 줄이는 학습시스템에 대해 상세하게 설명한다.Hereinafter, a learning system for reducing the amount of calculation according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템은 복수의 블록을 포함하는 복수의 셀을 포함하고, 복수의 블록은 복수의 레이어(layer)를 포함한다.The learning system for reducing the amount of computation according to an embodiment of the present invention includes a plurality of cells including a plurality of blocks, and the plurality of blocks includes a plurality of layers.

본 발명의 연산량을 줄이는 학습시스템은, 각 셀 간의 입력 및 출력의 연결 관계를 특정한 전체 시스템의 구조를 유지하도록 고정된다. The learning system that reduces the amount of computation of the present invention is fixed so as to maintain the structure of the entire system in which the connection relationship between the input and the output between each cell is specified.

복수의 레이어(layer)는 데이터의 입력, 처리 또는 출력을 수행한다.The plurality of layers perform input, processing or output of data.

본 발명의 명세서에서 예시로 든 레이어는, 1X1X1 콘벌루션 레이어(Convolution layer), 3X3X3 콘벌루션 레이어, 5X5X5 콘벌루션 레이어, 7X7X7 콘벌루션 레이어, 3X3X3 최대 통합 레이어(max pooling layer), 3X3X3 평균 통합 레이어, 3X3X3 아트루스 콘벌루션 레이어(atrous convolution layer) 및 1X1X7 1X7X1 7X1X1 콘벌루션 레이어이지만, 상기 예의 한정되지 않으며 구성될 수 있는 모든 레이어 및 다양한 종류의 레이어가 포함된다.The layers exemplified in the specification of the present invention may include 1X1X1 convolution layer, 3X3X3 convolution layer, 5X5X5 convolution layer, 7X7X7 convolution layer, 3X3X3 max pooling layer, 3X3X3 average consolidation layer, Although the 3X3X3 atrous convolution layer and the 1X1X7 1X7X1 7X1X1 convolution layer are not limited to the above examples, all layers that can be configured and various kinds of layers are included.

도 1은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 각각의 셀 간의 입력 및 출력의 연결 관계를 설명하기 위한 도면이다.1 is a view for explaining the connection between the input and output between each cell of the learning system to reduce the amount of calculation according to an embodiment of the present invention.

도 1을 참고하면, 셀은 제1셀(100)부터 제6셀(600)까지 구성되며, 각 셀에는 두 개의 레이어가 포함된다.Referring to FIG. 1, a cell is configured from the first cell 100 to the sixth cell 600, and each cell includes two layers.

본 발명의 연산량을 줄이는 학습시스템은 구조를 유지하기 위하여 셀 간의 입력 및 출력 연결관계를 고정한다. 셀 간의 연결관계를 고정시키고 학습시키는 경우, 구조적인 변화가 발생하지 않는다. 각 블록의 구조(도시되지 않음)는 변경이 가능하고, 각 레이어 또한 변경이 가능하다.The learning system that reduces the amount of computation of the present invention fixes the input and output connections between cells in order to maintain the structure. When the connection between cells is fixed and learned, no structural change occurs. The structure of each block (not shown) can be changed, and each layer can also be changed.

본 발명과 같이 셀 간의 연결관계를 고정시켜 구조적인 변화가 발생하지 않는 경우, 시드 모델의 구조 또한 유지되면서도 모델이 진화될 수 있는 효과가 있다.In the case where the structural change does not occur by fixing the connection relationship between cells as in the present invention, the structure of the seed model may be maintained while the model may evolve.

본 발명의 일 실시예로서, 도 1에서는 제1셀에 입력 값이 입력되고, 제1셀(100)에서 제2셀(200), 제2셀(200)에서 제3셀(300), 제3셀(300)에서 블록, 블록에서 제4셀(400), 제4셀(400)에서 제5셀(500), 제5셀(500)에서 제6셀(600)로 연결되어 제6셀(600)에서 출력 값이 출력된다.In an embodiment of the present invention, in FIG. 1, an input value is input to a first cell, a second cell 200 in a first cell 100, a third cell 300 in a second cell 200, and a third cell. The third cell 300 is connected to the block, the fourth cell 400 in the block, the fourth cell 400 in the fifth cell 500, the fifth cell 500 in the sixth cell 600 is connected to the sixth cell At 600 an output value is output.

레이어 간의 연결을 순차적으로 설명하면, 입력값이 제1셀(100)의 제1레이어(111)로 입력되고, 제1레이어(111)에서 제2레이어(112), 제2레이어(112)에서 제2셀(200)의 제3레이어(211), 제3레이어(211)에서 제4레이어(212), 제4레이어(212)에서 제3셀(300)의 제5레이어(311), 제5레이어(311)에서 제6레이어(312), 제6레이어(312)에서 블록의 제7레이어(711), 제7레이어(711)에서 제8레이어(712), 제8레이어(712)에서 제4셀(400)의 제9레이어(411), 제9레이어(411)에서 제10레이어(412), 제10레이어(412)에서 제5셀(500)의 제11레이어(511), 제11레이어(511)에서 제12레이어(512), 제12레이어(512)에서 제6셀(600)의 제13레이어(611), 제13레이어(611)에서 제14레이어(612)로 연결되어 제14레이어(612)에서 출력 값이 출력된다.When the connection between the layers is sequentially described, an input value is input to the first layer 111 of the first cell 100, the second layer 112, the second layer 112, the first layer 111, and the second layer 112, respectively. Third layer 211 of second cell 200, fourth layer 212 at third layer 211, fifth layer 311, third layer of third cell 300 at fourth layer 212 5th layer 311 to 6th layer 312, 6th layer 312 to 7th layer 711 of the block, 7th layer 711 to 8th layer 712, 8th layer 712 to The ninth layer 411 of the fourth cell 400, the tenth layer 412 of the ninth layer 411, the eleventh layer 511 of the fifth cell 500 of the tenth layer 412, The eleventh layer 511 is connected to the twelfth layer 512, the twelfth layer 512 to the thirteenth layer 611 of the sixth cell 600, and the thirteenth layer 611 to the fourteenth layer 612. An output value is output from the fourteenth layer 612.

도 1에 도시된 것과 같이, 연결 구조가 정해지면 이와 같은 연결 구조는 고정되어 학습하여 구조의 변화가 없도록 한다. 즉, 각 셀의 연결관계는 고정되며, 블록안의 구조는 변경될 수 있다.As shown in Figure 1, once the connection structure is determined, such a connection structure is fixed so that there is no change in the structure. That is, the connection relationship between each cell is fixed, and the structure in the block may be changed.

셀의 연결관계가 고정되어 전체 모델의 구조가 변형되지 않음에 따라, 해당 모델 구조를 유지됨으로써, 해당 모델 구조가 가지고 있는 성능을 유지할 수 있다. 따라서 유지하고자 하는 성능을 포함한 모델 구조를 시드 구조로서 유지시킬 수 있다. 예를 들어, 모델 구조는 U-net, V-net 구조이나, 상기 예에 한정되지 않는다.As the connection relationship between the cells is fixed and the structure of the entire model is not deformed, the model structure can be maintained, thereby maintaining the performance of the model structure. Therefore, the model structure including the performance to be maintained can be maintained as the seed structure. For example, the model structure is a U-net, V-net structure, but is not limited to the above example.

도 1에서 각 셀의 종류로는, 예를 들어, 제1레이어(111)는 3X3X3 콘벌루션 레이어, 제2레이어(112)는 5X5X5 최대 통합 레이어, 제3레이어(211)는 5X5X5 콘벌루션 레이어, 제4레이어(212)는 7X7X7 최대 통합 레이어, 제5레이어(311)는 3X3 콘벌루션 레이어, 제6레이어(312)는 3X3X3 최대 통합 레이어, 제7레이어(711)는 3X3 콘벌루션 레이어, 제8레이어는 3X3X3 최대 통합 레이어, 제9레이어(411)는 5X5X5 콘벌루션 레이어, 제10레이어(412)는 3X3X3 최대 통합 레이어, 제11레이어(511)는 3X3X3 콘벌루션 레이어, 제12레이어(512)는 3X3X3 최대 통합 레이어, 제13레이어(611)는 3X3X3 콘벌루션 레이어 및 제14레이어(612)는 3X3X3 최대 통합 레이어로 구성될 수 있으나, 상기 예에 한정되지 않으며 다양한 레이어로 구성될 수 있다.In FIG. 1, for example, the first layer 111 is a 3X3X3 convolutional layer, the second layer 112 is a 5X5X5 maximum integrated layer, and the third layer 211 is a 5X5X5 convolutional layer. The fourth layer 212 is the 7X7X7 maximum integration layer, the fifth layer 311 is the 3X3 convolution layer, the sixth layer 312 is the 3X3X3 maximum integration layer, the seventh layer 711 is the 3X3 convolution layer, and the eighth layer Layer is the 3X3X3 maximum integration layer, the ninth layer 411 is a 5X5X5 convolution layer, the tenth layer 412 is a 3X3X3 maximum integration layer, the eleventh layer 511 is a 3X3X3 convolution layer, the twelfth layer 512 The 3X3X3 maximum integration layer, the thirteenth layer 611, the 3X3X3 convolutional layer, and the fourteenth layer 612 may be configured as the 3X3X3 maximum integration layer, but are not limited to the above example and may be configured in various layers.

도 2 내지 도 4는 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템에서 각 셀이 진화되는 입력 및 출력 관계의 예시를 설명하기 위한 도면이다.2 to 4 are diagrams for explaining an example of an input and output relationship in which each cell is evolved in a learning system for reducing the amount of calculation according to an embodiment of the present invention.

먼저, 각 셀안의 블록이 진화되어 최적의 성능을 내는 모델이 구성되는 과정에 대하여 설명한다.First, a description will be given of a process in which blocks in each cell are evolved to form a model that provides optimal performance.

각각의 셀에는 N개의 블록이 들어갈 수 있으며, 각 블록은 최대 M개의 콘벌루션 레이어를 포함할 수 있다. 학습 모델은 여러 개의 셀로 구성되며, 모든 셀은 동일한 내부구조를 가진다. Each cell may contain N blocks, and each block may include up to M convolutional layers. The learning model consists of several cells, and all cells have the same internal structure.

셀 안의 블록이 진화되어 최적의 성능을 내도록하는 블록이 구성되는 과정에 대하여 일 실시예로서 설명한다.An example of a process of constructing a block in which a block in a cell evolves to give an optimal performance will be described.

복수의 셀 중 제1셀에 의해 n번째 출력을 내는 경우에, 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은, n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력이다.In the case where the nth output is generated by the first cell of the plurality of cells, the input that can enter the convolutional layer inside the block is the output of the n-1st cell, the output of the n-2nd cell, or the first. This is an output from inside the block belonging to the cell.

일 실시예로, 각 콘벌루션 레이어의 종류는, 1X1X1 콘벌루션 레이어, 3X3X3 콘벌루션 레이어, 5X5X5 콘벌루션 레이어, 7X7X7 콘벌루션 레이어, 3X3X3 최대 통합 레이어, 3X3X3 평균 통합 레이어, 3X3X3 아트루스 콘벌루션 레이어(atrous convolution layer) 및 1X1X7 1X7X1 7X1X1 콘벌루션 레이어이다. 활성 함수는 정류한 선형 유닛(Rectified Linear Unit; ReLU)로 고정한다.In one embodiment, the type of each convolution layer is a 1X1X1 convolution layer, a 3X3X3 convolution layer, a 5X5X5 convolution layer, a 7X7X7 convolution layer, a 3X3X3 maximum integration layer, a 3X3X3 average integration layer, a 3X3X3 atrus convolution layer ( atrous convolution layer) and 1X1X7 1X7X1 7X1X1 convolutional layer. The activation function is fixed with a rectified linear unit (ReLU).

상기 콘벌루션 레이어의 종류에 의해, 새로 추가될 수 있는 블록의 가짓수는 8*8*(2+(M-1))*(2+(M-1))개이며, 시작 모델의 개수는 256개이다. 시작 모델인 256개의 모델들 각각에 데이터셋이 들어가서 결과 값이 측정된다. 결과 값은 다이스 값(dice score) 또는 정확성(accuracy)을 포함한다. 이때, 학습에 사용된 각각의 모델들은, 변환 알고리즘에 의해 RNN(Recurrent Neural Network)가 학습할 수 있는 고유한 표현식으로 바뀐다. 그리고 이 각각의 표현식을 RRN에 입력으로 주어 앞에서 상기한 결과값과 회귀분석을 진행한다. According to the type of convolution layer, the number of newly added blocks is 8 * 8 * (2+ (M-1)) * (2+ (M-1)), and the number of starting models is 256 Dog. Each of the 256 models, the starting model, contains a dataset and the resulting value is measured. The result value includes a dice score or an accuracy. At this time, each model used for training is transformed into a unique expression that can be learned by the Recurrent Neural Network (RNN) by a conversion algorithm. Each of these expressions is input to RRN to perform regression analysis with the above result.

이후, M=1 즉, 각 블록이 최대 1개의 콘벌루션 레이어를 포함한 모델들에 가능한 모든 블록 조합이 사용되어 M=2인 모델 후보들이 생성된다. 이 때, 만들어지는 모델 조합의 개수는, 256*{8^2*(2+(2-1)^2)}=147,456개이다. 그 다음, 상기 순환 신경망에서 학습되어 예측된 퍼포먼스 중 가장 높은 값을 뽑아 실제로 학습이 되며, 실제 퍼포먼스와 모델 구조가 다시 순환 신경망에 학습된다. Then, M = 1, that is, all possible block combinations are used for models in which each block contains at most one convolutional layer, so that model candidates with M = 2 are generated. The number of model combinations created at this time is 256 * {8 ^ 2 * (2+ (2-1) ^ 2)} = 147,456. Then, the highest value of the predicted performances learned in the cyclic neural network is extracted and actually learned, and the actual performance and the model structure are again learned in the cyclic neural network.

상기의 과정이 M=4 즉, 각 블록의 최대 4개의 콘벌루션 레이어가 포함될 때까지 반복되어, 블록을 구성된다.The above process is repeated until M = 4, i.e., up to four convolutional layers of each block are included, thereby forming a block.

상기의 과정에 의해 구성된 블록에 의하면, 최적의 성능을 내는 모델이 구성된다.According to the block constructed by the above process, a model having an optimum performance is constructed.

도 2 내지 도 4는 각 셀이 진화되는 과정에 대하여 예시적으로 나타내는 도면으로, 도 2부터 순차적으로 설명한다.2 to 4 are diagrams exemplarily illustrating a process of evolving each cell, which will be described sequentially from FIG. 2.

도 2는 블록이 1개인 경우의 셀이 진화되는 과정에 대하여 설명하기 위한 도면이다.FIG. 2 is a diagram for describing a process of evolving a cell in the case of one block.

도 2를 참고하면, 제1셀(100)은 제1블록(110)을 포함하고, 제1블록(110)은 제1레이어(111), 제2레이어(112), 제1레이어(111)와 제2레이어(112)의 합(113)을 포함한다.Referring to FIG. 2, the first cell 100 includes a first block 110, and the first block 110 includes a first layer 111, a second layer 112, and a first layer 111. And the sum 113 of the second layer 112.

블록이 도 2과 같이 1개인 경우, 제1블록(110)이 포함하는 제1레이어(111) 및 제2레이어(112)에 입력되는 입력 값은, N-1번째 출력 값(800)이 된다. 제1셀(100)의 합(113)에서 출력된 값은 결합부(Concat)(900)을 거쳐 N번째 출력(1000)으로 입력된다. 결합(Concat) 함수는 문자열을 연결하는 함수이다.When there is one block as shown in FIG. 2, the input values input to the first layer 111 and the second layer 112 included in the first block 110 become the N−1th output value 800. . The value output from the sum 113 of the first cell 100 is input to the N-th output 1000 via the concatenator 900. The Concat function is a function that concatenates strings.

도 3은 블록이 2개인 경우의 셀이 진화되는 과정에 대하여 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a process of evolving a cell in the case of two blocks.

도 3을 참고하면, 제1셀(100)은 제1블록(110) 및 제2블록(120)을 포함하고, 제1블록(110)은 제1레이어(111), 제2레이어(112), 제1레이어(111)와 제2레이어(112)의 합(113)을 포함하고, 제2블록(120)은 제3레이어(121), 제4레이어(122), 제3레이어(121)과 제4레이어(122)의 합(123)을 포함한다.Referring to FIG. 3, the first cell 100 includes a first block 110 and a second block 120, and the first block 110 includes the first layer 111 and the second layer 112. , The sum 113 of the first layer 111 and the second layer 112, and the second block 120 includes the third layer 121, the fourth layer 122, and the third layer 121. And the sum 123 of the fourth layer 122.

블록이 2개인 경우, 전술한 바와 같이, 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은, n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력이다. In the case of two blocks, as described above, the input that can enter the convolutional layer inside the block is the output of the n-1 th cell, the output of the n-2 th cell, or inside the block belonging to the first cell. Here is the output.

일 실시예로, 도 3의 경우에는, 제1레이어(111), 제2레이어(112) 및 제3레이어(121)는 N-1번째 출력 값(800)을 입력 값으로 입력되고, 제4레이어(122)의 입력 값은, N-2번째 출력 값(700)이 된다. 제1셀(100)에서 출력된 제1레이어(111)와 제2레이어(112)의 합(113)과 제2셀(200)에서 출력된 제3레이어(121)와 제4레이어(122)의 합(123)의 출력은 Concat(900)을 거쳐, N번째 출력(1000)으로 입력된다.3, in the case of FIG. 3, the first layer 111, the second layer 112, and the third layer 121 are input with the N−1 th output value 800 as an input value. The input value of the layer 122 becomes the N-2nd output value 700. The sum 113 of the first layer 111 and the second layer 112 output from the first cell 100 and the third layer 121 and the fourth layer 122 output from the second cell 200. The output of the sum 123 is input to the N th output 1000 via the Concat 900.

도 4는 블록이 3개인 경우의 셀이 진화되는 과정에 대하여 설명하기 위한 도면이다.FIG. 4 is a diagram for describing a process of evolving a cell in the case of three blocks.

도 4를 참고하면, 제1셀(100)은 제1블록(110), 제2블록(120) 및 제3블록(130)을 포함하고, 제1블록(110)은 제1레이어(111), 제2레이어(112), 제1레이어(111) 및 제2레이어(112)의 합(113)을 포함하고, 제2블록(120)은 제3레이어(121), 제4레이어(122), 제3레이어(121)과 제4레이어(122)의 합(123)을 포함하고, 제3블록(130)은 제5레이어(131), 제6레이어(132), 제5레이어(131)과 제6레이어(132)의 합(133)을 포함한다.Referring to FIG. 4, the first cell 100 includes a first block 110, a second block 120, and a third block 130, and the first block 110 includes the first layer 111. And a sum 113 of the second layer 112, the first layer 111, and the second layer 112, and the second block 120 includes the third layer 121 and the fourth layer 122. And a sum 123 of the third layer 121 and the fourth layer 122, and the third block 130 includes the fifth layer 131, the sixth layer 132, and the fifth layer 131. And the sum 133 of the sixth layer 132.

블록이 3개인 경우에도, 전술한 바와 같이, 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은, n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력이다.Even when there are three blocks, as described above, the input that can enter the convolutional layer inside the block is the output of the n-th cell, the output of the n-second cell, or the block belonging to the first cell. Is the output from

일 실시예로, 도 4의 경우에는, 제1블록(110)의 제1레이어(111)에는 N-2출력(700)이 입력되고, 제2레이어(112)에는 제2블록(120)의 제3레이어(121) 및 제4레이어(122)가 N-1번째 출력(800)으로부터 입력 받은 값이 합쳐진 합(123)의 값이 입력된다. 또한, 제3블록(13)의 제5레이어(131)에는 N-1번째 출력(800)이 입력되고, 제6레이어(132)에는 N-2번째 출력(700)이 입력된다. 제1셀(100)에서 출력된 제1레이어(111)와 제2레이어(112)의 합(113), 제2셀(200)에서 출력된 제3레이어(121)와 제4레이어(122)의 합(123) 및 제3셀(300)에서 출력된 제5레이어(131)와 제6레이어(132)의 합(133)의 출력은 결합부(Concat)(900)를 거쳐, N번째 출력(1000)으로 입력된다.4, the N-2 output 700 is input to the first layer 111 of the first block 110, and the second block 120 is input to the second layer 112. The sum 123 of the sum of the values received by the third layer 121 and the fourth layer 122 from the N-th output 800 is input. In addition, the N−1 th output 800 is input to the fifth layer 131 of the third block 13 and the N−2 th output 700 is input to the sixth layer 132. The sum 113 of the first layer 111 and the second layer 112 output from the first cell 100, the third layer 121 and the fourth layer 122 output from the second cell 200. The sum 123 of the sum and the output of the sum 133 of the fifth layer 131 and the sixth layer 132 output from the third cell 300 are passed through a concating unit 900 and the Nth output. Inputted at 1000.

전술한 도 2 내지 도 4의 실시예들은 셀이 진화되는 과정에 대하여 예시적으로 설명한 것으로서, 도 2 내지 도 4의 실시예들에 한정되지 않고, 복수의 셀 중 제1셀에 의해 n번째 출력을 내는 경우에, 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은, n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력이 되는 구성은 모두 포함된다.The above-described embodiments of FIGS. 2 to 4 exemplarily describe a process of evolving cells, and are not limited to the embodiments of FIGS. 2 to 4, and output the n-th output by the first cell of the plurality of cells. In this case, the input that can enter the convolutional layer inside the block is the output of the n-1th cell, the output of the n-2th cell, or the output from inside the block belonging to the first cell. All are included.

복수의 셀 중 하나의 셀만이 진화된 후에는, 나머지 모든 셀의 블록의 개수는 상기 하나의 셀의 블록의 개수와 동일하게 적용된다.After only one cell of the plurality of cells has evolved, the number of blocks of all other cells is equally applied to the number of blocks of the one cell.

본 발명의 연산량을 줄이는 학습시스템은 3차원 기반으로 학습 모델을 연산할 경우, 연산량이 매우 많아 연산에 소요되는 시간이 오래 걸리는 문제점을 해결하기 위하여 복수의 레이어 중에서 복수의 콘벌루션 레이어에 대한 네트워크 가지치기가 수행될 수 있다.The learning system for reducing the amount of computation of the present invention is a network branch for a plurality of convolutional layers among a plurality of layers in order to solve the problem that a large amount of computation takes a long time when calculating a learning model based on a three-dimensional basis. The stroke can be performed.

복수의 콘벌루션 레이어에 대한 네트워크 가지치기 수행 과정은, 복수의 콘벌루션 레이어 각각에 대하여 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고, 복수의 콘벌루션 레이어 각각에 대하여 입력 가중치가 0개 또는 출력 가중치가 0개인 하나 이상의 노드가 전부 삭제된다. 이후, 복수의 콘벌루션 레이어 중에서 n번째 레이어에서 삭제된 노드가 위치한 같은 자리의 n-1번째 레이어의 노드와 n+1번째 레이어의 노드가 연결되도록 하는, n-1번째 레이어의 출력을 n+1번째 레이어로 보내는 연결이 추가됨으로써 수행된다.In a network pruning process for a plurality of convolutional layers, all connections having a weight less than or equal to a predetermined value are deleted for each of the plurality of convolutional layers, and zero input weights are assigned to each of the plurality of convolutional layers. All one or more nodes with zero output weights are deleted. Subsequently, n + outputs the n-1th layer such that a node of the n-1th layer and the n + 1th layer of the same position where the node deleted from the nth layer among the plurality of convolutional layers is located are connected. This is done by adding a connection to the first layer.

미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 과정은, 복수의 레이어 각각에 대하여 전부 실시되되, 각각의 레이어 연결의 삭제가 순차적으로 실시된다. 제1 레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고, 연결이 삭제된 제1 레이어가 이용되어 재학습된 후, 재학습에 의해 네트워크의 퍼포먼스가 변경되면 제2 레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제된다. The process of deleting all the connections having a weight less than or equal to a predetermined value is performed for each of the plurality of layers, but the deletion of each layer connection is sequentially performed. After all connections having a weight less than or equal to a predetermined value in the first layer are deleted, the first layer in which the connection is deleted is re-learned, and when the performance of the network is changed by re-learning, a predetermined value in the second layer is determined. All connections with the following weights are deleted.

즉, 상기 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 과정은, 복수의 콘벌루션 레이어 각각에 대하여 전부 실시될 때까지, 반복적으로 하나의 레이어의 연결에 대하여 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고, 연결이 삭제된 레이어가 이용되어 재학습된 후, 다음 레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 과정이 거쳐진다.That is, the process of deleting all the connections having a weight less than or equal to the predetermined value is repeated until all of the convolutional layers are fully implemented, and repeatedly having a weight less than or equal to a predetermined value for the connection of one layer. After the connection is completely deleted, the layer from which the connection is deleted is re-learned, and then all connections having a weight less than or equal to a predetermined value in the next layer are deleted.

전술한 복수의 콘벌루션 레이어에 대한 네트워크 가지치기 수행 과정에 있어서, 시작 콘벌루션 노드마다 1X1 콘벌루션이 적용되어, 콘벌루션의 연산량을 절약되어 약 10%의 성능이 향상된다. 또한, 전체 콘벌루션 네트워크(fully convolution network; FCN)가 전역 평균 통합(global average pooling)으로 치환된어, 치환하기 전 전체 콘벌루션 네트워크와 비교하면 연산량, 메모리 양이 절약되어 약 7%의 성능이 향상된다.In the above-described process of performing network pruning on the plurality of convolutional layers, 1 × 1 convolution is applied to each start convolutional node, thereby reducing the amount of computation of the convolution and improving performance by about 10%. In addition, the fully convolution network (FCN) is replaced by global average pooling, which saves about 7% of performance by saving computation and memory compared to the entire convolutional network before replacement. Is improved.

도 5는 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 네트워크 가지치기에서 복수의 콘벌루션 레이어 중에서 n번째 레이어에서 삭제된 노드가 위치한 같은 자리의 n-1번째 레이어의 노드와 n+1번째 레이어의 노드가 연결되도록 하는, n-1번째 레이어의 출력을 n+1번째 레이어로 보내는 연결을 설명하기 위한 도면이다.FIG. 5 illustrates a node of an n-1 th layer and n + 1 in the same position where a node deleted in an n th layer among a plurality of convolutional layers is located in a network pruning of a learning system that reduces an amount of computation according to an exemplary embodiment of the present invention. A diagram for describing a connection for sending an output of an n-1 th layer to an n + 1 th layer so that nodes of a first layer are connected.

도 5를 참고하면, 복수의 콘벌루션 레이어 중에서 네트워크 가지치기에 의해 삭제된 n번째 레이어(1011)에서 점선으로 표현된 노드에 대하여, 동일한 위치에 배치되어 있는, n-1번째 레이어의 노드(811)가 n+1번째 레이어의 노드(1211)로서 연결되도록 한다.Referring to FIG. 5, a node 811 of an n−1th layer, which is disposed at the same position, for a node represented by a dotted line in an nth layer 1011 deleted by network pruning among a plurality of convolutional layers. ) Is connected as the node 1211 of the n + 1th layer.

본 발명의 연산량을 줄이는 학습시스템은, 학습 모델을 이용하여 영상의 분할 시, 영상 분할의 정확도가 높아지도록 하기 위하여, 복수의 레이어에 대하여, 손실 함수(Loss Function)가 결합된 손실 함수(Combined Loss Function)로서 수정되어 계산된다.In the learning system for reducing the amount of computation of the present invention, a loss function combined with a loss function for a plurality of layers in order to increase the accuracy of image segmentation when the image is segmented using the learning model is combined. Calculated as a function).

손실 함수가 결합된 손실 함수로서 수정되어 계산되는 것은, 제1 영역과 제2 영역의 유사도가 혼합 매트릭스로 계산되어 다이스 값이 측정되고, 측정된 상기 다이스 값이 혼합되어 상기 손실 함수가 결합된 손실 함수로서 수정되고, 가중된 크로스 엔트로피(weighted cross entropy)를 통해 클래스 밸런싱되는 과정에 의한다.The loss function is modified and calculated as a combined loss function, in which the similarity between the first region and the second region is calculated as a mixed matrix, and a dice value is measured, and the measured loss values are mixed to combine the loss function. It is modified as a function and by class balancing through weighted cross entropy.

제1 영역은 원본 이미지에서 추출한 영역이며 제2 영역은 라벨 이미지에서 추출한 영역으로, 제1 영역 및 제2 영역은 원본 이미지 및 라벨 이미지 각각에서 크기가 같은 영역이다.The first area is an area extracted from the original image, and the second area is an area extracted from the label image, and the first area and the second area are areas of the same size in each of the original image and the label image.

일반적으로 크로스 엔트로피는 하기와 같이 계산된다.In general, cross entropy is calculated as follows.

Figure pat00002
Figure pat00002

크로스 엔트로피(cross entropy)의 계산 시, 관심 영역(Region of Interest)의 비율이 불균형하게 된다면, 특정 클래스의 확률 값이 낮아져서 학습 모델에 손실을 제대로 반영할 수 없는 경우가 발생한다. 따라서, 가중된 크로스 엔트로피를 통하여 클래스 밸런싱이 되어야 영상 분할의 정확도를 높일 수 있다.When calculating the cross entropy, if the ratio of the region of interest is unbalanced, the probability value of a particular class is lowered, so that the loss cannot be properly reflected in the learning model. Therefore, the accuracy of image segmentation can be increased only by class balancing through weighted cross entropy.

크로스 엔트로피 손실 함수와 다이스 손실 함수에 대하여, 모델의 훈련시 최종 계층에서 픽셀 단위로 소프트맥스(softmax) 활성화를 적용하여 각 픽셀 x에서 각 클래스 i에 대한 예측 확률을 p(x,i)라 하고, 위치 x에 있는 목표는 t(x)라고 할 때, 크로스 엔트로피 손실 함수 및 다이스 손실 함수의 정의는 다음과 같다.For the cross-entropy loss function and the die loss function, the prediction probability for each class i at each pixel x is called p (x, i) by applying softmax activation pixel by pixel in the final layer when training the model. When the target at position x is t (x), the cross-entropy loss function and the die loss function are defined as follows.

크로스 엔트로피 손실 함수의 경우, 세그멘테이션 작업에서 표준 엔트로피 손실 함수를 적용하여 예측된 출력과 목표 사이의 픽셀 단위 확률 오류를 측정하여 모든 픽셀에서의 오류를 합산한다. 또한, 각 클래스에 대한 픽셀 빈도의 불균형을 설정하기 위하여 각 클래스에 가중치를 적용하는 것으로, 클래스 i에 대한 가중치는 wi이다.In the case of the cross-entropy loss function, the segmentation operation applies a standard entropy loss function to measure the pixel-by-pixel probability error between the predicted output and the target and sum the errors at all pixels. In addition, by applying a weight to each class in order to set an imbalance of pixel frequencies for each class, the weight for class i is w i .

가중된 크로스 엔트로피 손실 Lce는 하기의 수학식 1과 같다.The weighted cross-entropy loss L ce is expressed by Equation 1 below.

<수학식 1><Equation 1>

Figure pat00003
Figure pat00003

다이스 손실 함수의 경우, 다이스의 계수(Dice's Coefficient)는 두 샘플(sample) 사이의 유사성을 측정하는 척도이다. 다이스 계수가 손실 함수로 확장되면 배경 픽셀은 레이블보다 높은 경우의 상황을 처리할 때 성능이 향상된다. 가중된 크로스 엔트로피와 마차가지로, 가중치를 사용하여 클래스 불균형을 설정한다. In the case of a die loss function, the dice's coefficient is a measure of the similarity between two samples. Extending the dice coefficient to the loss function improves performance when dealing with situations where the background pixel is higher than the label. Like weighted cross entropy, we use weights to set the class imbalance.

다이스 손실 Ldice는 각 클래스 i에 대한 다이스 손실 Li의 가중치 합계로 하기의 수학식 2와 같다.The dice loss L dice is a sum of weights of the dice losses L i for each class i, as shown in Equation 2 below.

<수학식 2><Equation 2>

Figure pat00004
Figure pat00004

수학식 2에서 클래스 i에 대하여 바이너리 맵을 ti로 나타내면, 하기의 수학식 3과 같다.In Equation 2, a binary map with respect to class i is represented by t i, as shown in Equation 3 below.

<수학식 3><Equation 3>

Figure pat00005
Figure pat00005

따라서, 클래스 i에 대한 다이스 손실은 하기의 수학식 4와 같다.Therefore, the die loss for class i is expressed by Equation 4 below.

<수학식 4><Equation 4>

Figure pat00006
Figure pat00006

결과적으로, 결합된 손실 함수는 하기의 수학식 5를 만족하는 함수이다.As a result, the combined loss function is a function that satisfies Equation 5 below.

<수학식 5><Equation 5>

Figure pat00007
Figure pat00007

수학식 5에서 LCE+dice는 크로스 엔트로피와 다이스 값이 반영된 손실 값, dice는 제1 영역과 제2 영역의 유사도를 혼합 매트릭스로 계산하여 측정한 값, λCE는 크로스 엔트로피 손실 함수에 대한 가중 파라미터, λdice는 다이스 손실 함수에 대한 가중 파라미터, Ldice는 다이스 값이 반영된 손실 값이다.In Equation 5, L CE + dice is a loss value reflecting cross entropy and dice value, dice is a value obtained by calculating the similarity between the first area and the second area as a mixed matrix, and λ CE is a weight for the cross entropy loss function. The parameter, λ dice, is a weighting parameter for the die loss function, and L dice is a loss value that reflects the dice value.

도 6은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 손실 함수를 보정하여 의료 영상에 반영한 결과를 나타낸 도면이다.FIG. 6 is a diagram illustrating a result of correcting a loss function of a learning system that reduces a computation amount according to an embodiment of the present invention and reflecting it on a medical image.

도 6의 (a)는 손실 함수의 수정 전 의료 영상에서 간을 분할한 도면이고, 도 7의 (b)는 손실 함수의 수정 후 의료 영상에서 간을 분할한 도면이다.FIG. 6A is a diagram illustrating a segmentation of the liver in the medical image before the correction of the loss function, and FIG. 7B is a diagram illustrating the segmentation of the liver in the medical image after the correction of the loss function.

도 6의 (a)는 간의 뾰족한 부분 또는 주변의 장기와 구분이 잘 안되는 부분에 대하여, 정확히 분할하지 못하였으나, 도 7의 (b)는 간의 뾰족한 부분 또는 주변의 장기와 구분이 잘 안되는 부분에 대하여도 정확하게 분할한 결과를 확인할 수 있다.6 (a) is not divided correctly with respect to the pointed part of the liver or the parts that are not easily distinguished from the surrounding organs, but (b) of FIG. 7 is a part that is difficult to distinguish from the pointed part of the liver or the surrounding organs The results of the correct division can also be confirmed.

도 7은 본 발명의 일 실시예에 따른 연산량을 줄이는 학습시스템의 결과값을 나타낸 그래프이다.7 is a graph showing the result of the learning system to reduce the amount of calculation according to an embodiment of the present invention.

도 7의 그래프는 전술한 구조적인 변화가 발생하지 않도록 셀 간의 연결관계를 고정시키면서, 결합된 손실 함수를 이용하여 세대를 진화시키면서 퍼포먼스를 측정한 결과이다.The graph of FIG. 7 is a result of measuring performance while evolving generation using a combined loss function while fixing the connection relationship between cells so that the aforementioned structural change does not occur.

휴리스틱(Heuristic)은 기존 모델을 이용하여 퍼포먼스를 측정한 결과이며, 기존 모델의 경우에는 각각의 모델에 대하여 모두 한번씩 트레이닝을 시킨 후, 최적의 값을 내는 것이다.Heuristic is the result of measuring the performance using the existing model. In the case of the existing model, each model is trained once and then the optimum value is produced.

제네틱(Genetic)은 전술한 구조적인 변화가 발생하지 않도록 셀 간의 연결관계를 고정시키면서, 결합된 손실 함수를 이용하여 세대를 진화시키면서 퍼포먼스를 측정한 결과이며, 본 발명의 경우에는 각각의 모델 모두가 아닌, 일부 모델만이 트레이닝 후 학습되어 최적의 값을 내는 것이다.Genetic is a result of measuring the performance by evolving generation using a combined loss function while fixing the connection between cells so that the above-mentioned structural change does not occur. Rather, only some models are trained after training to produce optimal values.

도 7의 그래프를 참고하면, 제네틱의 경우, 휴리스틱과 비교하여 훨씬 적은 모델이 학습된 결과값을 나타내고 있음에도 불구하고, 최적의 값이 휴리스틱에 비해 더 적은 세대를 이용한 경우 나오는 것을 확인할 수 있다.Referring to the graph of FIG. 7, it can be seen that in the case of genetics, the optimal value comes out when using less generations than the heuristic, although a much smaller model shows a learned result.

따라서, 구조적인 변화가 발생하지 않도록 셀 간의 연결관계를 고정시키면서, 결합된 손실 함수를 이용하는 경우에는, 적은 연산량으로도 최적의 성능 및 최적의 값을 빠르게 도출할 수 있는 효과가 있다.Therefore, in the case of using the combined loss function while fixing the connection relationship between the cells so that structural changes do not occur, there is an effect that the optimal performance and the optimal value can be quickly derived even with a small amount of computation.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, in a software module executed by hardware, or by a combination thereof. Software modules may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those skilled in the art to which the present invention pertains may realize the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

100, 200, 300 : 셀
110, 120, 130, 210, 220, 230, 310, 320, 330 : 블록
111, 112, 121, 122, 131, 132, 211, 212, 221, 222, 231, 232, 311, 312, 321, 322, 331, 332 : 레이어
100, 200, 300: cell
Block: 110, 120, 130, 210, 220, 230, 310, 320, 330
Layers: 111, 112, 121, 122, 131, 132, 211, 212, 221, 222, 231, 232, 311, 312, 321, 322, 331, 332

Claims (9)

연상량을 줄이는 학습시스템에 있어서,
복수의 블록을 포함하는 복수의 셀을 포함하고,
각 셀 간의 입력 및 출력의 연결 관계를 특정한 전체 시스템 구조를 유지하도록 고정한 것을 특징으로 하고,
상기 블록은 데이터의 입력, 처리 또는 출력을 수행하는 복수의 레이어를 포함하고,
상기 복수의 블록 또는 레이어는,
데이터 학습 과정에서 구조 변경이 가능한 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
In a learning system that reduces association,
Includes a plurality of cells including a plurality of blocks,
It is characterized in that the connection between the input and output between each cell is fixed to maintain a specific overall system structure,
The block includes a plurality of layers for performing input, processing or output of data,
The plurality of blocks or layers,
Characterized in that the structure can be changed in the data learning process,
Learning system that reduces the amount of computation.
제1항에 있어서,
상기 복수의 셀 중 제1셀에 의해 n번째 출력을 내는 경우에,
상기 블록의 내부에 있는 콘벌루션 레이어에 들어갈 수 있는 입력은,
n-1번째 셀의 출력, n-2번째 셀의 출력 또는 제1 셀에 속한 블록 내부에서 나온 출력인 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 1,
In the case of outputting the nth output by the first cell of the plurality of cells,
An input that can enter the convolutional layer inside the block is
Characterized in that the output of the n-1 th cell, the output of the n-2 th cell or the output from the block belonging to the first cell,
Learning system that reduces the amount of computation.
제1항에 있어서,
상기 복수의 셀 중 하나의 셀만이 진화된 후, 나머지 모든 셀의 블록의 개수는 상기 하나의 셀의 블록의 개수와 동일하게 적용되는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 1,
After only one cell of the plurality of cells has evolved, the number of blocks of all other cells is applied equally to the number of blocks of the one cell.
Learning system that reduces the amount of computation.
제1항에 있어서,
상기 복수의 레이어 중에서 복수의 콘벌루션 레이어에 대한 네트워크 가지치기를 통하여 연산량이 감소되는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 1,
Characterized in that the amount of calculation is reduced through network pruning for a plurality of convolutional layers of the plurality of layers,
Learning system that reduces the amount of computation.
제4항에 있어서,
상기 복수의 콘벌루션 레이어에 대한 네트워크 가지치기는,
상기 복수의 콘벌루션 레이어 각각에 대하여 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고,
상기 복수의 콘벌루션 레이어 각각에 대하여 입력 가중치가 0개 또는 출력 가중치가 0개인 하나 이상의 노드가 전부 삭제되고,
상기 복수의 콘벌루션 레이어 중에서 n번째 레이어에서 삭제된 노드가 위치한 같은 자리의 n-1번째 레이어의 노드와 n+1번째 레이어의 노드가 연결되도록 하는, n-1번째 레이어의 출력을 n+1번째 레이어로 보내는 연결이 추가되는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 4, wherein
Network pruning for the plurality of convolutional layers,
For each of the plurality of convolutional layers, a connection having a weight less than or equal to a predetermined value is all deleted.
One or more nodes having zero input weights or zero output weights are all deleted for each of the plurality of convolutional layers.
N + 1 output of the n-1th layer such that the node of the n-1th layer and the n + 1th layer of the same position where the node deleted in the nth layer among the plurality of convolutional layers is located are connected; Characterized in that the connection to the second layer is added,
Learning system that reduces the amount of computation.
제5항에 있어서,
상기 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 것은,
상기 복수의 레이어 각각에 대하여 전부 실시되되, 각각의 레이어 연결의 삭제가 순차적으로 실시되는 것으로,
제1 레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되고,
상기 연결이 삭제된 제1레이어가 이용되여 재학습되고,
상기 재학습에 의해 네트워크의 퍼포먼스가 변경되면 제2레이어에서 미리 정해진 값 이하의 가중치를 가진 연결이 전부 삭제되는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 5,
Deleting all connections having a weight less than or equal to the predetermined value
All are performed on each of the plurality of layers, and the deletion of each layer connection is sequentially performed.
In the first layer, all connections with weights less than or equal to a predetermined value are deleted.
Re-learning using the first layer where the connection is deleted,
When the performance of the network is changed by the re-learning, the connection having a weight less than or equal to a predetermined value in the second layer is all deleted.
Learning system that reduces the amount of computation.
제1항에 있어서,
상기 복수의 레이어에 대하여, 손실 함수가 결합된 손실 함수로서 수정되어 계산됨으로써 영상 분할의 정확도가 높아지는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
The method of claim 1,
For the plurality of layers, the accuracy of image segmentation is increased by modifying and calculating the loss function as a combined loss function.
Learning system that reduces the amount of computation.
제7항에 있어서,
상기 손실 함수를 결합된 손실 함수로서 수정되어 계산되는 것은,
제1 영역과 제2 영역의 유사도가 혼합 매트릭스로 계산되어 다이스 값이 측정되고,
측정된 상기 다이스 값이 혼합되어 상기 손실 함수가 결합된 손실 함수로서 수정되고,
가중된 크로스 엔트로피를 통해 클래스 밸런싱되는 것을 특징으로 하고,
상기 제1 영역은 원본 이미지에서 추출한 영역이고, 상기 제2 영역은 라벨 이미지에서 추출한 영역이고,
상기 제1 영역 및 상기 제2 영역은 원본 이미지 및 라벨 이미지 각각에서 크기가 같은 영역인,
연산량을 줄이는 학습시스템.
The method of claim 7, wherein
The loss function is modified to be calculated as a combined loss function,
The similarity between the first region and the second region is calculated with the mixed matrix, and the dice value is measured,
The dice values measured are mixed to modify the loss function as a combined loss function,
Characterized by class balancing through weighted cross entropy,
The first area is an area extracted from the original image, the second area is an area extracted from the label image,
Wherein the first area and the second area are areas of the same size in the original image and the label image, respectively.
Learning system that reduces the amount of computation.
제8항에 있어서,
상기 결합된 손실 함수는 하기의 수학식 1을 만족하는 것을 특징으로 하는,
연산량을 줄이는 학습시스템.
<수학식 1>
Figure pat00008

상기 수학식 1에서 LCE+dice는 크로스 엔트로피와 다이스 값이 반영된 손실 값, dice는 제1 영역과 제2 영역의 유사도를 혼합 매트릭스로 계산하여 측정한 값, λCE는 크로스 엔트로피 손실 함수에 대한 가중 파라미터, λdice는 다이스 손실 함수에 대한 가중 파라미터, Ldice는 다이스 값이 반영된 손실 값.
The method of claim 8,
The combined loss function is characterized by satisfying the following Equation 1,
Learning system that reduces the amount of computation.
<Equation 1>
Figure pat00008

In Equation 1, L CE + dice is a loss value reflecting cross entropy and a dice value, dice is a value measured by calculating a similarity between the first area and the second area with a mixed matrix, and λ CE is a value for the cross entropy loss function. The weighting parameter, λ dice, is a weighting parameter for the die loss function, and L dice is a loss value that reflects the dice value.
KR1020180097139A 2018-08-21 2018-08-21 Learning system to reduce computation volume KR102149355B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180097139A KR102149355B1 (en) 2018-08-21 2018-08-21 Learning system to reduce computation volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180097139A KR102149355B1 (en) 2018-08-21 2018-08-21 Learning system to reduce computation volume

Publications (2)

Publication Number Publication Date
KR20200023695A true KR20200023695A (en) 2020-03-06
KR102149355B1 KR102149355B1 (en) 2020-08-31

Family

ID=69802565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180097139A KR102149355B1 (en) 2018-08-21 2018-08-21 Learning system to reduce computation volume

Country Status (1)

Country Link
KR (1) KR102149355B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128616A (en) * 2020-04-17 2021-10-27 인천대학교 산학협력단 Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof
CN113807231A (en) * 2021-09-14 2021-12-17 西安电子科技大学 X-ray contraband detection method based on UNET (UNET) downsampling convolutional neural network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240045688A (en) 2022-09-30 2024-04-08 서울여자대학교 산학협력단 Method and device for predicting tumor malignancy using a plurality of functions-based artificial intelligence model

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160143548A (en) * 2015-06-04 2016-12-14 삼성전자주식회사 Method and apparatus for automatic tuning of artificial neural networks
KR20170083419A (en) 2016-01-08 2017-07-18 마우키스튜디오 주식회사 Deep learning model training method using many unlabeled training data and deep learning system performing the same
KR20180013674A (en) * 2016-07-28 2018-02-07 삼성전자주식회사 Method for lightening neural network and recognition method and apparatus using the same
KR20180045635A (en) * 2016-10-26 2018-05-04 삼성전자주식회사 Device and method to reduce neural network
KR101847874B1 (en) * 2017-06-28 2018-05-25 서경대학교 산학협력단 Image recognition method using convolution neural network and recording medium thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160143548A (en) * 2015-06-04 2016-12-14 삼성전자주식회사 Method and apparatus for automatic tuning of artificial neural networks
KR20170083419A (en) 2016-01-08 2017-07-18 마우키스튜디오 주식회사 Deep learning model training method using many unlabeled training data and deep learning system performing the same
KR20180013674A (en) * 2016-07-28 2018-02-07 삼성전자주식회사 Method for lightening neural network and recognition method and apparatus using the same
KR20180045635A (en) * 2016-10-26 2018-05-04 삼성전자주식회사 Device and method to reduce neural network
KR101847874B1 (en) * 2017-06-28 2018-05-25 서경대학교 산학협력단 Image recognition method using convolution neural network and recording medium thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128616A (en) * 2020-04-17 2021-10-27 인천대학교 산학협력단 Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof
CN113807231A (en) * 2021-09-14 2021-12-17 西安电子科技大学 X-ray contraband detection method based on UNET (UNET) downsampling convolutional neural network
CN113807231B (en) * 2021-09-14 2024-02-13 西安电子科技大学 X-ray contraband detection method based on UNET downsampling convolutional neural network

Also Published As

Publication number Publication date
KR102149355B1 (en) 2020-08-31

Similar Documents

Publication Publication Date Title
Wang et al. Deep mixture of experts via shallow embedding
WO2021218517A1 (en) Method for acquiring neural network model, and image processing method and apparatus
CN111882040B (en) Convolutional neural network compression method based on channel number search
CN112861722B (en) Remote sensing land utilization semantic segmentation method based on semi-supervised depth map convolution
US20190228268A1 (en) Method and system for cell image segmentation using multi-stage convolutional neural networks
US12045723B2 (en) Neural network method and apparatus
Xia et al. Fully dynamic inference with deep neural networks
WO2022252455A1 (en) Methods and systems for training graph neural network using supervised contrastive learning
KR102149355B1 (en) Learning system to reduce computation volume
US20220156508A1 (en) Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation
CN113592060A (en) Neural network optimization method and device
CN108171328A (en) A kind of convolution algorithm method and the neural network processor based on this method
EP4232957A1 (en) Personalized neural network pruning
WO2023124342A1 (en) Low-cost automatic neural architecture search method for image classification
WO2021158830A1 (en) Rounding mechanisms for post-training quantization
CN115018039A (en) Neural network distillation method, target detection method and device
CN113962262B (en) Continuous learning-based intelligent radar signal sorting method
CN118114734A (en) Convolutional neural network optimization method and system based on sparse regularization theory
CN117172376A (en) Graph structure link prediction method and system of generated graph neural network based on network reconstruction
CN116977723A (en) Hyperspectral image classification method based on space-spectrum hybrid self-attention mechanism
US20220159278A1 (en) Skip convolutions for efficient video processing
CN116152082A (en) Method and apparatus for image deblurring
JP7438544B2 (en) Neural network processing device, computer program, neural network manufacturing method, neural network data manufacturing method, neural network utilization device, and neural network downsizing method
EP4032028A1 (en) Efficient inferencing with fast pointwise convolution
Avval et al. Systematic Review on Neural Architecture Search

Legal Events

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