KR102337383B1 - 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents
하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 Download PDFInfo
- Publication number
- KR102337383B1 KR102337383B1 KR1020190147089A KR20190147089A KR102337383B1 KR 102337383 B1 KR102337383 B1 KR 102337383B1 KR 1020190147089 A KR1020190147089 A KR 1020190147089A KR 20190147089 A KR20190147089 A KR 20190147089A KR 102337383 B1 KR102337383 B1 KR 102337383B1
- Authority
- KR
- South Korea
- Prior art keywords
- feature map
- channel
- width
- height
- layer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000012360 testing method Methods 0.000 title claims description 204
- 238000005457 optimization Methods 0.000 title abstract description 4
- 238000012549 training Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims description 44
- 238000010998 test method Methods 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 description 32
- 230000004913 activation Effects 0.000 description 10
- 238000010606 normalization Methods 0.000 description 10
- 238000011176 pooling Methods 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 10
- 238000012805 post-processing Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/378—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G06K9/46—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 KPI(Key Performance Index, 핵심성과지표)를 충족하는 하드웨어 최적화에 사용되기 위해 제공되는 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN의 파라미터를 학습하는 방법에 있어서, 학습 장치가, (a) 리셰이핑 레이어(Reshaping Layer)로 하여금 트레이닝 이미지 또는 이를 가공한 특징 맵의 K개의 채널로 구성된 각각의 그룹 내의 특징을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및 (b) 출력 레이어로 하여금 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하도록 하며, 로스 레이어로 하여금 출력 레이어로부터의 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 로스를 산출하도록 하는 단계;를 포함하는 것을 특징으로 한다.
Description
본 발명은 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN의 파라미터를 학습하는 방법에 관한 것으로, 보다 상세하게는, 상기 1xK 컨벌루션 연산 또는 상기 Kx1 컨벌루션 연산을 이용하여 상기 CNN의 상기 파라미터를 학습하는 방법에 있어서, (a) 적어도 하나의 트레이닝 이미지가 획득되면, 학습 장치는, 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및 (b) 상기 학습 장치는, 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치에 관한 것이다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolutional Neural Network; Deep CNN)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNN은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 기계 학습(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
CNN은 이미지에서 특징을 추출하는 특징 추출기(Feature Extractor) 및 이미지 내의 객체를 검출하거나 특징 추출기가 추출한 특징을 참조하여 이미지를 인식하는 특징 분류기(Feature Classifier)를 포함한다.
그리고 CNN의 특징 추출기는 컨벌루션 레이어를 포함하며, 특징 분류기는 특징 추출기가 추출한 특징에 대하여 FC 연산(Fully Connected Operation)을 적용할 수 있는 적어도 하나의 FC 레이어를 포함할 수 있다.
컨벌루션 레이어는 CNN이 하는 거의 대부분의 연산에서 가장 중요한 부분을 차지한다.
컨벌루션 레이어는 근처 픽셀에 대한 정보를 더 이용하여 로컬 리셉티브 필드(Local Receptive Field)로부터 특징을 추출한다. 하지만 컨벌루션 레이어의 필터의 특성(Characteristic)은 선형적이므로 필터는 비선형의 특징을 잘 추출할 수 없다. 이 같은 문제를 해결하려면 특징 맵의 개수를 늘려야 하나, 그러면 연산량이 늘어나는 문제점이 있다.
따라서, 연산량을 최소화하기 위하여 특징 맵의 차원을 줄일 수 있는 1x1 컨벌루션 레이어가 사용되고 있다.
1x1 컨벌루션 레이어는 여러 개의 특징 맵으로부터 비슷한 성질을 갖는 것을 묶어낼 수 있고, 결과적으로 특징 맵의 숫자를 줄일 수 있으며, 연산량을 줄일 수 있게 된다.
또한 연산량이 줄어들게 되면, 뉴럴 네트워크가 더 깊어질 수 있는 여지가 생기게 된다.
또한, 1x1 컨벌루션 레이어는 이미지 세그멘테이션에 사용되거나 FC 레이어를 대체하여 특징 추출기 등에 사용되고 있다.
이때, 본 발명자는 1x1 컨벌루션 레이어의 컨벌루션 연산에 비해 좀 더 효율적으로 컨벌루션 연산량을 줄일 수 있도록 하는 CNN을 제안하고자 한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 컨벌루션 연산량을 효율적으로 줄일 수 있도록 하는 CNN을 제공하는 것을 다른 목적으로 한다.
본 발명은 컨벌루션 연산을 통해 이미지 상의 특징을 보다 효과적으로 추출할 수 있도록 하는 CNN을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN의 파라미터를 학습하는 방법에 있어서, (a) 적어도 하나의 트레이닝 이미지가 획득되면, 학습 장치는, 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및 (b) 상기 학습 장치는, 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 학습 장치는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 리셰이핑 레이어로 하여금 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 리셰이핑 레이어로 하여금 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 학습 장치가, 상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하되, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 방법에 있어서, (a) 학습 장치가, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 학습용 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하고, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하며, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지가 획득되면, 테스트 장치는, 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 테스트용 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 테스트용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및 (b) 상기 테스트 장치가, 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 테스트 장치는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 테스트 장치는, 상기 리셰이핑 레이어로 하여금 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우, 상기 (a) 단계에서, 상기 테스트 장치는, 상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 테스트 장치는, 상기 리셰이핑 레이어로 하여금 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우, 상기 (a) 단계에서, 상기 테스트 장치는, 상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 상기 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (a) 단계에서, 상기 테스트 장치가, 상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN의 파라미터를 학습하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 인 상기 리셰이핑된 특징 맵을 생성하도록 하되, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 테스트 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치는, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 학습용 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하고, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, (I) 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 테스트용 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 너비 WxK, 높이 H, 채널 인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 1xK 또는 Kx1 컨벌루션 연산을 이용해 CNN의 컨벌루션 연산량을 효율적으로 줄일 수 있는 효과가 있다.
또한, 본 발명은 1xK 또는 Kx1 컨벌루션 연산을 이용한 만큼 입력된 특징 맵 또는 이미지의 채널 개수를 증가시킬 수 있으므로 컨벌루션 연산을 통해 이미지 상의 특징을 효과적으로 추출할 수 있는 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하기 위한 트레이닝 이미지 또는 이를 가공한 특징 맵을 개략적으로 도시한 것이고,
도 4a와 도 4b는 각각 본 발명의 일 실시예에 따른 (i) 트레이닝 이미지 또는 이를 가공한 특징 맵을 리셰이핑하여 생성된 리셰이핑된 특징 맵과 (ii) 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하여 생성된 조정 특징 맵을 개략적으로 도시한 것이고,
도 5a와 도 5b는 각각 본 발명의 일 실시예에 따른 (i) 트레이닝 이미지 또는 이를 가공한 특징 맵을 리셰이핑하여 생성된 리셰이핑된 특징 맵과 (ii) 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하여 생성된 조정 특징 맵을 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 테스트 장치를 개략적으로 도시한 것이고,
도 7은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 방법을 개략적으로 도시한 것이다.
도 1은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하기 위한 트레이닝 이미지 또는 이를 가공한 특징 맵을 개략적으로 도시한 것이고,
도 4a와 도 4b는 각각 본 발명의 일 실시예에 따른 (i) 트레이닝 이미지 또는 이를 가공한 특징 맵을 리셰이핑하여 생성된 리셰이핑된 특징 맵과 (ii) 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하여 생성된 조정 특징 맵을 개략적으로 도시한 것이고,
도 5a와 도 5b는 각각 본 발명의 일 실시예에 따른 (i) 트레이닝 이미지 또는 이를 가공한 특징 맵을 리셰이핑하여 생성된 리셰이핑된 특징 맵과 (ii) 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하여 생성된 조정 특징 맵을 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 테스트 장치를 개략적으로 도시한 것이고,
도 7은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 학습 장치를 개략적으로 도시한 것으로, 도 1을 참조하면, 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다.
먼저, 통신부(110)는 적어도 하나의 트레이닝 이미지를 수신할 수 있다.
이때, 트레이닝 이미지는 데이터베이스(130)에 저장되어 있을 수 있으며, 데이터베이스(130)에는 트레이닝 이미지에 대응하여 적어도 하나의 객체 각각에 대한 클래스 정보의 적어도 하나의 GT(Ground Truth) 및 각각의 객체에 대한 위치 정보의 적어도 하나의 GT가 저장되어 있을 수 있다.
또한, 학습 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(115)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
다음으로, 프로세서(120)는 리셰이핑 레이어(Reshaping Layer)로 하여금 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스를 수행할 수 있다. 여기서, 상기 가공한 특징 맵은 (i) 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 그리고, 프로세서(120)는 출력 레이어로 하여금 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 백프로파게이션하여 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 프로세스를 수행할 수 있다.
이때, 본 발명의 일 실시예에 따른 학습 장치(100)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다. 또한, 도 1에서는 하나의 학습 장치(100)만을 나타내었으나, 이에 한정되지 않으며, 학습 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(100)를 이용하여 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 학습하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 트레이닝 이미지가 입력되면, 학습 장치(100)가, 전처리(Pre-Processing) 레이어(121)로 하여금 트레이닝 이미지를 전처리하여 가공한 특징 맵을 생성하도록 할 수 있다.
이때, 전처리 레이어(121)는 컨벌루션 레이어, 배치 노말라이제이션 레이어, 액티베이션 레이어, 풀링 레이어 중 적어도 하나를 포함할 수 있으며, 가공한 특징 맵을 생성할 수 있다. 여기서, 상기 가공한 특징 맵은 (i) 트레이닝 이미지에 대하여 컨벌루션 연산을 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 하지만, 전처리 레이어(121)는 이에 한정되지 않으며, 전처리 레이어(121)는 이미지 처리를 위한 CNN을 구성하는 각각의 레이어를 포함할 수 있다.
다음으로, 학습 장치(100)는 리셰이핑 레이어로 하여금 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 2차원적으로 컨캐터네이팅하도록 하여 리셰이핑된 특징 맵을 생성하도록 할 수 있다. 이때, 학습 장치(100)는 전처리 레이어(121)로 하여금 트레이닝 이미지를 전처리하도록 하지 않고, 트레이닝 이미지를 직접적으로 리셰이핑 레이어(122)에 입력할 수도 있다.
이때, 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 학습 장치(100)는, 리셰이핑 레이어(122)로 하여금 각각의 픽셀에 대응하는 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 더미 채널을 포함하는 채널의 개수가 K의 배수가 되도록 한 다음, 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 더미 채널을 포함하는 모든 채널 중에서 각각의 대응되는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 컨캐터네이팅하도록 할 수 있다.
즉, 트레이닝 이미지 또는 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 학습 장치(100)는 리셰이핑 레이어(122)로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 리셰이핑된 특징 맵을 생성하도록 할 수 있다. 번째 채널 상의 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우에는 학습 장치(100)는 리셰이핑 레이어(122)로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 CEIL()번째 채널 상의 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, CEIL()번째 채널 상의 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우에는 리셰이핑 레이어(122)로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 CEIL()번째 채널 상의 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 할 수 있다.
일 예로, 도 3을 참조하면, 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 첫 번째 채널(C1) 상의 각각의 픽셀에 대응하는 각각의 특징은 각각 C1F11, …, C1F22, …, C1FWH와 같이 나타낼 수 있다. 그리고, 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 다른 채널(C2, C3, …, CL) 상의 각각의 픽셀에 대응하는 각각의 특징도 같은 방법으로 나타낼 수 있다.
그리고, 도 3와 도 4a를 참조하면, 도 3의 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀인 C1F11에 대응되는 K개의 채널의 특징인 C1F11, C2F11, …, CKF11을 컨캐터네이팅하고, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀 C1F21에 대응되는 K개의 채널의 특징인 C1F21, C2F21, …, CKF21을 컨캐터네이팅하며, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀 C1FWH에 대응되는 K개의 채널의 특징인 C1FWH, C2FWH, …, CKFWH를 컨캐터네이팅하는 것과 같다. 즉, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 모든 픽셀에 대응하여 각각 K개의 채널의 특징을 컨캐터네이팅하여 리셰이핑된 특징 맵(400A)을 생성하게 된다.
이때, 리셰이핑된 특징 맵(400A)은 너비 W, 높이 HxK, 채널 CEIL()을 가지게 된다. 그리고, 리셰이핑된 특징 맵(400A)의 각각의 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 K개의 채널로 구성된 각각의 그룹에 대응될 수 있다. 즉, 리셰이핑된 특징 맵(400A)의 첫 번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 첫 번째 내지 K 번째 채널에 대응되고, 리셰이핑된 특징 맵(400A)의 두 번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 K+1 번째 채널 내지 2xK 번째 채널에 대응될 수 있다. 그리고, 리셰이핑된 특징 맵(400A)의 CEIL()번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 (CEIL()-1)xK+1번째 채널 내지 L 번째 채널에 대응될 수 있다.
다음으로, 학습 장치(100)는 후속 컨벌루션 레이어(123)로 하여금 리셰이핑된 특징 맵(400A)에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 볼륨이 조정된 조정 특징 맵(400B)을 생성하도록 할 수 있다.
일 예로, 도 4a와 도 4b를 참조하면, 도 4a의 리셰이핑된 특징 맵(400A) 상의 1xK 사이즈에 대응되는 C1F11, C2F11, …, CKF11에 대하여 1xK 컨벌루션 연산을 적용하여 C1F11' 픽셀의 특징을 생성하고, C1F22, C2F22, …, CKF22에 대하여 1xK 컨벌루션 연산을 적용하여 C1F22' 픽셀의 특징을 생성하며, C1FWH, C2FWH, …, CKFWH에 대하여 1xK 컨벌루션 연산을 적용하여 C1FWH' 픽셀의 특징을 생성하는 것과 같다. 이 때, 1xK 사이즈는 컨볼루션 레이어의 커널 사이즈일 수 있다. 그 결과, 도 4a의 리셰이핑된 특징 맵(400A)에 대하여 1xK 컨벌루션 연산을 적용하여 도 4b에서와 같이 너비 W, 높이 H인 조정 특징 맵(400B)을 생성하게 된다. 따라서, 도 3의 트레이닝 이미지 또는 이를 가공한 특징 맵(300)에 대하여 1x1 컨벌루션 연산을 적용하는 것에 비하여, 리셰이핑된 특징 맵(400A)을 생성하고 1xK 컨벌루션 연산을 수행함으로써 연산량을 1/K로 줄일 수 있게 되며, 그에 따라 컨벌루션 연산 속도를 K배 만큼 증가시킬 수 있게 된다. 이때, 조정 특징 맵(400B)의 채널의 개수는 1xK 컨벌루션 연산을 수행하는 후속 컨벌루션 레이어(123)의 커널 개수, 즉, 필터의 개수에 대응될 수 있다. 일 예로, 후속 컨벌루션 레이어(123)의 커널 개수를 M이라 할 경우, 조정 특징 맵(400B)의 채널은 M개가 될 수 있다.
한편, 상기에서는 1xK 컨벌루션 연산을 사용하는 방법을 설명하였으나, 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 K개의 채널의 특징을 너비 방향으로 컨캐터네이팅한 후, Kx1 컨벌루션 연산을 수행할 수도 있다.
그리고, 도 3와 도 5a를 참조하면, 도 3의 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀인 C1F11에 대응되는 K개의 채널의 특징인 C1F11, C2F11, …, CKF11을 너비 방향으로 컨캐터네이팅하고, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀 C1F12에 대응되는 K개의 채널의 특징인 C1F12, C2F12, …, CKF12를 너비 방향으로 컨캐터네이팅하며, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 픽셀 C1FWH에 대응되는 K개의 채널의 특징인 C1FWH, C2FWH, …, CKFWH를 너비 방향으로 컨캐터네이팅하는 것과 같다. 즉, 트레이닝 이미지 또는 이를 가공한 특징 맵(300) 상의 모든 픽셀에 대응하여 각각 K개의 채널의 특징을 너비 방향으로 컨캐터네이팅하여 리셰이핑된 특징 맵(500A)을 생성하게 된다.
이때, 리셰이핑된 특징 맵(500A)은 너비 WxK, 높이 H, 채널 CEIL()이 된다. 그리고, 리셰이핑된 특징 맵(500A)의 각각의 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 K개의 채널로 구성된 각각의 그룹에 대응될 수 있다. 즉, 리셰이핑된 특징 맵(500A)의 첫 번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 첫 번째 채널 내지 K 번째 채널에 대응되고, 리셰이핑된 특징 맵(500A)의 두 번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 K+1 번째 채널 내지 2xK 번째 채널에 대응될 수 있다. 그리고, 리셰이핑된 특징 맵(500A)의 CEIL()번째 채널은 트레이닝 이미지 또는 이를 가공한 특징 맵(300)의 (CEIL()-1)xK+1 번째 채널 내지 L 번째 채널에 대응될 수 있다.
다음으로, 학습 장치(100)는 후속 컨벌루션 레이어(123)로 하여금 리셰이핑된 특징 맵(500A)에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨이 조정된 조정 특징 맵(500B)을 생성하도록 할 수 있다.
일 예로, 도 5a와 도 5b를 참조하면, 도 5a의 리셰이핑된 특징 맵의 Kx1 사이즈에 대응되는 C1F11, C2F11, …, CKF11에 대하여 Kx1 컨벌루션 연산을 적용하여 C1F11" 픽셀의 특징을 생성하고, C1F12, C2F12, …, CKF12에 대하여 Kx1 컨벌루션 연산을 적용하여 C1F12" 픽셀의 특징을 생성하며, C1FWH, C2FWH, …, CKFWH에 대하여 Kx1 컨벌루션 연산을 적용하여 C1FWH" 픽셀의 특징을 생성하는 것과 같다. 이때, Kx1 사이즈는 컨벌루션 레이어의 커널 사이즈일 수 있다. 그 결과, 도 5a의 리셰이핑된 특징 맵(500A)에 대하여 Kx1 컨벌루션 연산을 적용하여 도 5b에서와 같이 너비 W, 높이 H인 조정 특징 맵(500B)을 생성하게 된다.
다음으로, 학습 장치(100)는 후처리(Post-Processing) 레이어(124)로 하여금 후속 컨벌루션 레이어(123)로부터 출력되는 조정 특징 맵(500B)을 후처리하도록 할 수 있다. 이때, 후처리 레이어(124)는 컨벌루션 레이어, 배치 노말라이제이션 레이어, 액티베이션 레이어, 풀링 레이어, FC 레이어 중 적어도 하나를 포함할 수 있으며, 후속 컨벌루션 레이어(123)로부터 출력되는 조정 특징 맵(500B) 또는 이를 가공한 특징 맵의 분류된 특징을 나타내는 확률 정보를 생성할 수 있다. 하지만, 후처리 레이어(124)는 이에 한정되지 않으며, 후처리 레이어(124)는 이미지 처리를 위한 CNN을 구성하는 각각의 레이어를 포함할 수 있다.
다음으로, 학습 장치(100)는 출력 레이어(125)로 하여금 조정 특징 맵(500B) 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하고, 로스 레이어(126)로 하여금 상기 출력과 이에 대응되는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 백프로파게이션하여 후속 컨벌루션 레이어의 파라미터를 적어도 일부 학습할 수 있다. 이때, 학습 장치(100)는 후처리 레이어(124)로 하여금 조정 특징 맵(500B)을 후처리하도록 하지 않고, 조정 특징 맵(500B)을 직접적으로 출력 레이어(122)에 입력할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 테스트 장치를 개략적으로 도시한 것으로, 도 6을 참조하면, 테스트 장치(200)는 통신부(210)와 프로세서(220)를 포함할 수 있다.
또한, 테스트 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(215)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
먼저, 통신부(210)는 적어도 하나의 테스트 이미지를 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다.
이때, 본 발명의 일 실시예에 따른 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN은 도 2 내지 도 5b를 참조하여 설명한 학습 방법에 의해 학습이 된 상태일 수 있다.
참고로 이하의 설명에서 혼동을 피하기 위해 "학습용"이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, "테스트용"이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다.
즉, 적어도 하나의 트레이닝 이미지가 획득되면, 학습 장치가, (a) 리셰이핑 레이어(Reshaping Layer)로 하여금 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 학습용 특징 각각을 2차원적으로 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하고, 후속(Subsequent) 컨벌루션 레이어로 하여금 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 출력하도록 하는 프로세스를 수행한 상태일 수 있다. 여기서, 상기 학습용 가공한 특징 맵은 (i) 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 학습 장치가, (b) 출력 레이어로 하여금 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 학습용 출력과 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 백프로파게이션하여 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 프로세스를 수행한 상태일 수 있다.
다음으로, 프로세서(220)는 리셰이핑 레이어로 하여금 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 테스트용 특징 각각을 2차원적으로 컨캐터네이팅하도록 하여 테스트용 리셰이핑된 특징 맵을 생성하도록 하며, 후속 컨벌루션 레이어로 하여금 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨이 조정된 테스트용 조정 특징 맵을 생성하도록 하는 프로세스를 수행할 수 있다. 여기서, 상기 테스트용 가공한 특징 맵은 (i) 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 그리고, 프로세서(220)는 출력 레이어로 하여금 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 할 수 있다.
이때, 본 발명의 일 실시예에 따른 테스트 장치(200)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 테스트 장치(200)로서 채택될 수 있다. 또한, 도 6에서는 하나의 테스트 장치(200)만을 나타내었으나, 이에 한정되지 않으며, 테스트 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 테스트 장치(200)를 이용하여 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 테스트하는 방법을 도 7을 참조하여 설명하면 다음과 같다. 이하의 설명에서, 도 1 내지 도 5b를 참조하여 설명한 학습 방법으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
먼저, 도 1 내지 도 7을 참조하여 설명한 학습 방법에 의해 후속 컨벌루션 레이어(223)가 학습된 상태에서, 테스트 이미지가 입력되면, 테스트 장치(200)가, 전처리 레이어(221)로 하여금 테스트 이미지를 전처리하도록 하여 테스트용 가공한 특징 맵을 생성하도록 할 수 있다.
이때, 전처리 레이어(221)는 컨벌루션 레이어, 배치 노말라이제이션 레이어, 액티베이션 레이어, 풀링 레이어 중 적어도 하나를 포함할 수 있으며, 테스트 이미지에 대하여 컨벌루션 연산을 적용하여 테스트용 가공한 특징 맵을 생성할 수 있다. 여기서, 상기 테스트용 가공한 특징 맵은 (i) 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 하지만, 전처리 레이어(221)는 이에 한정되지 않으며, 전처리 레이어(221)는 이미지 처리를 위한 CNN을 구성하는 각각의 레이어를 포함할 수 있다.
다음으로, 테스트 장치(200)는 리셰이핑 레이어(222)로 하여금 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널 중에서 각각의 대응하는 K개의 채널로 구성된 각각의 그룹 내의 테스트용 특징 각각을 2차원적으로 컨캐터네이팅하도록 하여 테스트용 리셰이핑된 특징 맵을 생성하도록 할 수 있다. 여기서, 상기 테스트용 가공한 특징 맵은 (i) 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하는 방법, (ii) 상기 (i)의 방법의 결과에 대하여 후속 연산(예를 들면, 배치 노말라이제이션 연산, 액티베이션 연산, 풀링 연산 등)을 적용하는 방법 및 (iii) 상기 (ii)의 방법의 결과에 대하여 컨벌루션 연산을 추가로 적용하는 방법 중 적어도 하나에 의해 생성된 특징 맵이다. 이때, 테스트 장치(200)는 전처리 레이어(221)로 하여금 테스트 이미지를 전처리하도록 하지 않고, 테스트 이미지를 직접적으로 리셰이핑 레이어(222)에 입력할 수도 있다.
이때, 테스트 이미지 또는 이를 가공한 특징 맵의 채널의 개수가 K의 배수가 아닐 경우, 테스트 장치(200)는 리셰이핑 레이어(222)로 하여금 각각의 픽셀에 대응하는 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 더미 채널을 포함하는 채널의 개수가 K의 배수가 되도록 한 다음, 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 더미 채널을 포함하는 모든 채널 중에서 각각의 대응되는 K개의 채널로 구성된 각각의 그룹 내의 특징 각각을 컨캐터네이팅하도록 할 수 있다.
즉, 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우, 테스트 장치(200)는 리셰이핑 레이어(222)로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 테스트용 리셰이핑된 특징 맵을 생성하도록 할 수 있다. 그리고, CEIL()번째 채널 상의 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우에는 테스트 장치(200)는 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 CEIL()번째 채널 상의 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, CEIL()번째 채널 상의 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우에는 테스트 장치(200)는 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 CEIL()번째 채널 상의 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 할 수 있다.
이때, 테스트용 리셰이핑된 특징 맵은 너비 W, 높이 HxK, 채널 CEIL()이 된다. 그리고, 테스트용 리셰이핑된 특징 맵의 각각의 채널은 테스트 이미지 또는 이를 가공한 특징 맵의 K개의 채널로 구성된 각각의 그룹에 대응될 수 있다. 즉, 테스트용 리셰이핑된 특징 맵의 첫 번째 채널은 테스트 이미지 또는 이를 가공한 특징 맵의 첫 번째 채널 내지 K 번째 채널에 대응되고, 테스트용 리셰이핑된 특징 맵의 두 번째 채널은 테스트 이미지 또는 이를 가공한 특징 맵의 K+1 번째 채널 내지 2xK 번째 채널에 대응될 수 있다. 그리고, 테스트용 리셰이핑된 특징 맵의 CEIL() 번째 채널은 테스트 이미지 또는 이를 가공한 특징 맵의 (CEIL()-1)xK+1 번째 채널 내지 L 번째 채널에 대응될 수 있다.
이후, 테스트 장치(200)는 후속 컨벌루션 레이어(223)로 하여금 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하여 볼륨이 조정된 테스트용 조정 특징 맵을 생성하도록 할 수 있다. 이때, 테스트용 조정 특징 맵의 채널의 개수는 1xK 컨벌루션 연산을 수행하는 후속 컨벌루션 레이어(223)의 커널 개수, 즉, 필터의 개수에 대응될 수 있다. 일 예로, 후속 컨벌루션 레이어(223)의 커널 개수를 M이라 할 경우, 테스트용 조정 특징 맵의 채널은 M개가 될 수 있다.
한편, 상기에서는 1xK 컨벌루션 연산을 위한 방법을 설명하였으나, 테스트 이미지 또는 이를 가공한 특징 맵의 K개의 채널의 특징을 너비 방향으로 컨캐터네이팅한 후, Kx1 컨벌루션 연산을 수행할 수도 있다.
즉, 도 5a를 참조하여 설명한 바와 같이, 테스트용 리셰이핑된 특징 맵은 너비 WxK, 높이 H, 채널 CEIL()이 될 수 있다. 이때, 테스트용 리셰이핑된 특징 맵의 각각의 채널은 테스트 이미지 또는 이를 가공한 특징 맵의 K개의 채널로 구성된 각각의 그룹에 대응될 수 있다.
그리고, 테스트 장치(200)는 후속 컨벌루션 레이어(223)로 하여금 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하여 볼륨이 조정된 테스트용 조정 특징 맵을 생성하도록 할 수 있다.
다음으로, 테스트 장치(100)는 후처리 레이어(224)로 하여금 후속 컨벌루션 레이어(223)로부터 출력되는 테스트용 조정 특징 맵을 후처리하도록 할 수 있다. 이때, 후처리 레이어(224)는 컨벌루션 레이어, 배치 노말라이제이션 레이어, 액티베이션 레이어, 풀링 레이어, FC 레이어 중 적어도 하나를 포함할 수 있으며, 후속 컨벌루션 레이어(223)로부터 출력되는 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵의 분류된 특징을 나타내는 확률 정보를 생성할 수 있다. 하지만, 후처리 레이어(224)는 이에 한정되지 않으며, 이미지 처리를 위한 CNN을 구성하는 각각의 레이어를 포함할 수 있다.
다음으로, 테스트 장치(200)는 출력 레이어(225)로 하여금 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 할 수 있다.
본 발명에 따른 방법은 KPI(Key Performance Index, 핵심성과지표)를 충족하는 하드웨어 최적화에 사용되기 위해 제공될 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 학습 장치,
200: 테스트 장치,
110, 210: 통신부,
120, 220: 프로세서,
130: 데이터베이스
200: 테스트 장치,
110, 210: 통신부,
120, 220: 프로세서,
130: 데이터베이스
Claims (28)
1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN의 파라미터를 학습하는 방법에 있어서,
(a) 적어도 하나의 트레이닝 이미지가 획득되면, 학습 장치는, 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및
(b) 상기 학습 장치는, 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 단계;
를 포함하는 것을 특징으로 하는 학습 방법.
(a) 적어도 하나의 트레이닝 이미지가 획득되면, 학습 장치는, 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및
(b) 상기 학습 장치는, 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 단계;
를 포함하는 것을 특징으로 하는 학습 방법.
제 1 항에 있어서,
상기 (a) 단계에서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 학습 장치는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 학습 방법.
상기 (a) 단계에서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 학습 장치는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 학습 방법.
제 3 항에 있어서,
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 방법.
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 방법.
제 5 항에 있어서,
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 방법.
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 방법.
제 1 항에 있어서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널 개수를 L이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치가,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 학습 방법.
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널 개수를 L이라 할 경우,
상기 (a) 단계에서,
상기 학습 장치가,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 학습 방법.
1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 방법에 있어서,
(a) 학습 장치가, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 학습용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하고, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하며, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지가 획득되면, 테스트 장치는, 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 테스트용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 테스트용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및
(b) 상기 테스트 장치가, 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하는 단계;
를 포함하는 것을 특징으로 하는 테스트 방법.
(a) 학습 장치가, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 학습용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하고, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하며, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지가 획득되면, 테스트 장치는, 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 테스트용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 테스트용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 단계; 및
(b) 상기 테스트 장치가, 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하는 단계;
를 포함하는 것을 특징으로 하는 테스트 방법.
제 8 항에 있어서,
상기 (a) 단계에서,
상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 테스트 장치는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 테스트 방법.
상기 (a) 단계에서,
상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 테스트 장치는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 테스트 방법.
제 10 항에 있어서,
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 방법.
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 방법.
제 12 항에 있어서,
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 방법.
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 방법.
제 8 항에 있어서,
상기 테스트 이미지 또는 상기 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치가,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 테스트 방법.
상기 테스트 이미지 또는 상기 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (a) 단계에서,
상기 테스트 장치가,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 테스트 방법.
1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN의 파라미터를 학습하는 학습 장치에 있어서,
인스트럭션을 저장하는 적어도 하나의 메모리; 및
(I) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 학습 장치.
인스트럭션을 저장하는 적어도 하나의 메모리; 및
(I) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 출력 레이어로 하여금 상기 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 학습 장치.
제 15 항에 있어서,
상기 (I) 프로세스에서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 학습 장치.
상기 (I) 프로세스에서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우, 상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 학습 장치.
제 17 항에 있어서,
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 장치.
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 장치.
제 19 항에 있어서,
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 장치.
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 학습 장치.
제 15 항에 있어서,
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 학습 장치.
상기 트레이닝 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 학습 장치.
1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 이용하여 CNN을 테스트하는 테스트 장치에 있어서,
인스트럭션을 저장하는 적어도 하나의 메모리; 및
학습 장치는, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 학습용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하고, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, (I) 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 테스트용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 테스트용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 테스트 장치.
인스트럭션을 저장하는 적어도 하나의 메모리; 및
학습 장치는, (i) 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 트레이닝 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 학습용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 학습용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 학습용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 학습용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하고, (ii) 출력 레이어로 하여금 상기 학습용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 학습용 출력을 생성하도록 하며, 로스 레이어로 하여금 상기 학습용 출력과 이에 대응되는 적어도 하나의 GT(Ground Truth)를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 백프로파게이션하여 상기 후속 컨벌루션 레이어의 적어도 일부 파라미터를 학습한 상태에서, (I) 상기 리셰이핑 레이어(Reshaping Layer)로 하여금 적어도 하나의 테스트 이미지 또는 이를 가공한 특징 맵의 모든 채널을 K개의 채널별로 그룹하도록 하며, 각각의 그룹에서의 K개의 채널에서의 픽셀별 테스트용 특징들을 각각의 하나의 채널에 컨캐터네이팅(Concatenating)하도록 하여 테스트용 리셰이핑된 특징 맵(Reshaped Feature Map)을 생성하도록 하며, 상기 후속(Subsequent) 컨벌루션 레이어로 하여금 상기 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산 또는 Kx1 컨벌루션 연산을 적용하도록 하여 볼륨(Volume)이 조정된 테스트용 조정 특징 맵(Adjusted Feature Map)을 생성하도록 하는 프로세스, 및 (II) 상기 출력 레이어로 하여금 상기 테스트용 조정 특징 맵 또는 이를 가공한 특징 맵 상의 특징을 참조하여 적어도 하나의 테스트용 출력을 생성하도록 하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 테스트 장치.
제 22 항에 있어서,
상기 (I) 프로세스에서,
상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우,
상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 테스트 장치.
상기 (I) 프로세스에서,
상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널 개수가 K의 배수가 아닐 경우,
상기 프로세서는, 상기 리셰이핑 레이어로 하여금 상기 테스트 이미지 또는 이를 가공한 특징 맵의 채널에 적어도 하나의 더미 채널(Dummy Channel)을 추가하도록 하여 적어도 하나의 상기 더미 채널을 포함하는 상기 채널의 개수가 K의 배수가 되도록 한 다음, 상기 테스트 이미지 또는 이를 가공한 특징 맵의 적어도 하나의 상기 더미 채널을 포함하는 상기 모든 채널 중에서 각각의 대응되는 K개의 상기 채널로 구성된 각각의 상기 그룹 내의 상기 특징 각각을 컨캐터네이팅하도록 하는 것을 특징으로 하는 테스트 장치.
제 24 항에 있어서,
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 장치.
상기 후속 컨벌루션 레이어의 커널(Kernel) 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 1xK 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 장치.
제 26 항에 있어서,
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 장치.
상기 후속 컨벌루션 레이어의 커널 개수를 M이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 후속 컨벌루션 레이어로 하여금 상기 테스트용 리셰이핑된 특징 맵에 대하여 Kx1 컨벌루션 연산을 적용하도록 하여 너비 W, 높이 H, 채널 M인 WxHxM의 볼륨을 가지는 상기 테스트용 조정 특징 맵을 생성하도록 하는 것을 특징으로 하는 테스트 장치.
제 22 항에 있어서,
상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 테스트 장치.
상기 테스트 이미지 또는 이를 가공한 특징 맵의 너비를 W, 높이를 H라 하고, 채널의 개수를 L이라 할 경우,
상기 (I) 프로세스에서,
상기 프로세서는,
상기 리셰이핑 레이어로 하여금, (i) 너비 W, 높이 HxK, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하거나, (ii) 너비 WxK, 높이 H, 채널 CEIL()인 상기 테스트용 리셰이핑된 특징 맵을 생성하도록 하되,
상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분(Final Part)의 사이즈가 너비 W, 높이 HxK인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩(Zero Padding)을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 W, 높이 HxK인 사이즈가 되도록 하거나, 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되지 않을 경우, 상기 리셰이핑 레이어로 하여금 적어도 하나의 제로 패딩을 추가하도록 하여 상기 CEIL()번째 채널 상의 상기 테스트용 리셰이핑된 특징 맵의 상기 최종 부분의 사이즈가 너비 WxK, 높이 H인 사이즈가 되도록 하는 것을 특징으로 하는 테스트 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/255,109 US11461653B2 (en) | 2019-01-23 | 2019-01-23 | Learning method and learning device for CNN using 1xK or Kx1 convolution to be used for hardware optimization, and testing method and testing device using the same |
US16/255,109 | 2019-01-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200091795A KR20200091795A (ko) | 2020-07-31 |
KR102337383B1 true KR102337383B1 (ko) | 2021-12-10 |
Family
ID=69159558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190147089A KR102337383B1 (ko) | 2019-01-23 | 2019-11-15 | 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11461653B2 (ko) |
EP (1) | EP3686794B1 (ko) |
JP (1) | JP6857369B2 (ko) |
KR (1) | KR102337383B1 (ko) |
CN (1) | CN111476247B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230137594A (ko) | 2022-03-22 | 2023-10-05 | 동원산업 주식회사 | 인공 신경망을 이용한 어류 등급 판정 방법 및 장치 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303980B1 (en) * | 2018-09-05 | 2019-05-28 | StradVision, Inc. | Learning method, learning device for detecting obstacles and testing method, testing device using the same |
CN111988609B (zh) * | 2019-05-22 | 2024-07-16 | 富士通株式会社 | 图像编码装置、概率模型生成装置和图像解码装置 |
US11023783B2 (en) * | 2019-09-11 | 2021-06-01 | International Business Machines Corporation | Network architecture search with global optimization |
US10943353B1 (en) | 2019-09-11 | 2021-03-09 | International Business Machines Corporation | Handling untrainable conditions in a network architecture search |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180259970A1 (en) | 2017-03-10 | 2018-09-13 | TuSimple | System and method for occluding contour detection |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
CN106558025B (zh) * | 2015-09-29 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 一种图片的处理方法和装置 |
CN108475331B (zh) * | 2016-02-17 | 2022-04-05 | 英特尔公司 | 用于对象检测的方法、装置、系统和计算机可读介质 |
JP6869676B2 (ja) * | 2016-09-27 | 2021-05-12 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6929047B2 (ja) * | 2016-11-24 | 2021-09-01 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
KR102474168B1 (ko) * | 2017-03-17 | 2022-12-06 | 포틀랜드 스테이트 유니버시티 | 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션 |
CN110383292A (zh) * | 2017-04-07 | 2019-10-25 | 英特尔公司 | 用于深度神经网络的经预算和经简化的训练的方法和系统 |
JP6744838B2 (ja) * | 2017-04-18 | 2020-08-19 | Kddi株式会社 | エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善するプログラム |
CN109145927A (zh) * | 2017-06-16 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种对形变图像的目标识别方法及装置 |
US10474988B2 (en) * | 2017-08-07 | 2019-11-12 | Standard Cognition, Corp. | Predicting inventory events using foreground/background processing |
US10049323B1 (en) * | 2017-10-13 | 2018-08-14 | StradVision, Inc. | Method and device for performing activation and convolution operation at the same time and learning method and learning device for the same |
MY195477A (en) | 2017-10-16 | 2023-01-26 | Illumina Inc | Deep Learning-Based Splice Site Classification |
SG10202108020VA (en) * | 2017-10-16 | 2021-09-29 | Illumina Inc | Deep learning-based techniques for training deep convolutional neural networks |
CN109166100A (zh) * | 2018-07-24 | 2019-01-08 | 中南大学 | 基于卷积神经网络的多任务学习细胞计数方法 |
CN109086886A (zh) * | 2018-08-02 | 2018-12-25 | 工极(北京)智能科技有限公司 | 一种基于极限学习机的卷积神经网络学习算法 |
-
2019
- 2019-01-23 US US16/255,109 patent/US11461653B2/en active Active
- 2019-11-15 KR KR1020190147089A patent/KR102337383B1/ko active IP Right Grant
- 2019-12-19 CN CN201911314750.5A patent/CN111476247B/zh active Active
-
2020
- 2020-01-09 JP JP2020001966A patent/JP6857369B2/ja active Active
- 2020-01-10 EP EP20151251.4A patent/EP3686794B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180259970A1 (en) | 2017-03-10 | 2018-09-13 | TuSimple | System and method for occluding contour detection |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230137594A (ko) | 2022-03-22 | 2023-10-05 | 동원산업 주식회사 | 인공 신경망을 이용한 어류 등급 판정 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP2020119535A (ja) | 2020-08-06 |
CN111476247B (zh) | 2023-09-26 |
US20200234135A1 (en) | 2020-07-23 |
EP3686794A1 (en) | 2020-07-29 |
JP6857369B2 (ja) | 2021-04-14 |
KR20200091795A (ko) | 2020-07-31 |
CN111476247A (zh) | 2020-07-31 |
US11461653B2 (en) | 2022-10-04 |
EP3686794B1 (en) | 2024-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102337383B1 (ko) | 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102326256B1 (ko) | 고정밀도 이미지를 분석하는 딥러닝 네트워크의 학습에 이용하기 위한 트레이닝 이미지를 오토 라벨링하기 위한 방법 및 이를 이용한 오토 라벨링 장치 | |
KR102309702B1 (ko) | 이미지를 인코딩하기 위한 방법 및 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102362744B1 (ko) | 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법 | |
EP3686795B1 (en) | Learning method and learning device for improving segmentation performance to be used for detecting events including pedestrian event, vehicle event, falling event and fallen event using edge loss and test method and test device using the same | |
US10402977B1 (en) | Learning method and learning device for improving segmentation performance in road obstacle detection required to satisfy level 4 and level 5 of autonomous vehicles using laplacian pyramid network and testing method and testing device using the same | |
US10430691B1 (en) | Learning method and learning device for object detector based on CNN, adaptable to customers' requirements such as key performance index, using target object merging network and target region estimating network, and testing method and testing device using the same to be used for multi-camera or surround view monitoring | |
KR102337367B1 (ko) | 원거리 검출 또는 군사 목적을 위해, 이미지 컨캐터네이션을 이용한, cnn 기반의 하드웨어 최적화가 가능한 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스팅 방법 및 테스팅 장치 | |
US10387753B1 (en) | Learning method and learning device for convolutional neural network using 1×1 convolution for image recognition to be used for hardware optimization, and testing method and testing device using the same | |
KR102277505B1 (ko) | 하드웨어 최적화에 사용되는 이미지 인식을 위한 1xH 컨벌루션을 이용한 CNN 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102338750B1 (ko) | 하드웨어 최적화에 사용되는 1xH 컨벌루션을 이용한 CNN 기반의 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 | |
US10402692B1 (en) | Learning method and learning device for fluctuation-robust object detector based on CNN using target object estimating network adaptable to customers' requirements such as key performance index, and testing device using the same | |
KR102326238B1 (ko) | 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102313604B1 (ko) | 멀티 피딩을 적용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
JP2020038666A (ja) | 自律走行状況で障害物検出のための学習用データセットの生成方法及びこれを利用したコンピューティング装置、学習方法及び学習装置 | |
US10395140B1 (en) | Learning method and learning device for object detector based on CNN using 1×1 convolution to be used for hardware optimization, and testing method and testing device using the same | |
US10373004B1 (en) | Method and device for detecting lane elements to plan the drive path of autonomous vehicle by using a horizontal filter mask, wherein the lane elements are unit regions including pixels of lanes in an input image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |