KR102545128B1 - 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 - Google Patents

뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 Download PDF

Info

Publication number
KR102545128B1
KR102545128B1 KR1020150131798A KR20150131798A KR102545128B1 KR 102545128 B1 KR102545128 B1 KR 102545128B1 KR 1020150131798 A KR1020150131798 A KR 1020150131798A KR 20150131798 A KR20150131798 A KR 20150131798A KR 102545128 B1 KR102545128 B1 KR 102545128B1
Authority
KR
South Korea
Prior art keywords
neural network
client device
quantization
feature map
layer
Prior art date
Application number
KR1020150131798A
Other languages
English (en)
Other versions
KR20160034814A (ko
Inventor
쩡핑 지
일리아 오브시안니코브
이빙 미쉘 왕
릴롱 쉬
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20160034814A publication Critical patent/KR20160034814A/ko
Application granted granted Critical
Publication of KR102545128B1 publication Critical patent/KR102545128B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19127Extracting features by transforming the feature space, e.g. multidimensional scaling; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명에 따른 뉴럴 네트워크(neural network)를 수반하는 클라이언트 장치는 프로세서, 서버 시스템으로부터 수신되는 상기 뉴럴 네트워크를 저장하는 메모리, 그리고 상기 뉴럴 네트워크를 수신하는 입력 장치를 포함하되, 상기 뉴럴 네트워크는 상기 서버 시스템에서 상기 클라이언트 장치를 위해 트레인(train)된다.

Description

뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템{CLIENT DEVICE WITH NEURAL NETWORK AND SYSTEM INCLUDING THE SAME}
본 발명은 컴퓨팅 장치, 좀 더 구체적으로는 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템에 관한 것이다.
최근에 컴퓨터는 머신 비전(machine vision) 또는 객체 인식(object recognition)을 제공한다. 객체 인식은 사용자에게 다양한 유익한 도구들을 제공한다. 예를 들면, 객체 인식은 뉴럴 네트워크(neural network)를 포함하는 알고리즘에 의존한다. 즉, 사용자 장치는 뉴럴 네트워크를 사용하여 입력 이미지에 포함된 객체를 인식할 수 있다. 일반적으로, 뉴럴 네트워크는 트레이닝 이미지(training image)들을 사용하여 객체들을 인식하는 훈련을 하게 된다. 이러한 객체 인식 프로세스는, 더 많은 트레이닝 이미지를 사용할수록, 좀 더 높은 식별력을 가질 수 있다.
일반적으로, 뉴럴 네트워크들은 상호 연결된 “뉴런(neuron)”들의 시스템들을 포함한다. 뉴럴 네트워크들은 입력들로부터 값들을 계산하고, 그것들의 적응적 네이처(adaptive nature)의 결과로서 패턴 인식을 할 수 있을 뿐만 아니라 기계를 학습할 수 있다.
이미지 인식을 위한 뉴럴 네트워크는, 메모리 및 프로세싱의 집중을 요하는 학습과 인식을 위해, 데이터 프로세스들을 요구한다. 따라서, 많은 계산이 필요하다. 사실, 웨이트(weight) 값들은, 계산적인 프로세스들을 수행하는 동안, 저장 및 처리를 위해 메모리를 요구한다.
예상할 수 있듯이, 트레이닝 데이터 세트의 크기가 증가할수록 뉴럴 네트워크의 성능은 향상된다. 불행하게도, 스마트폰과 같은 모바일 장치에서는 메모리 및 처리 용량에 한계가 있다. 따라서, 점점 널리 사용되는 모바일 장치들은 일반적으로 이미지 인식 기술을 사용할 수 없다. 따라서, 제한된 자원을 가지는 컴퓨팅 장치에서 뉴럴 네트워크의 성능을 향상시킬 방법이 요구된다.
본 발명의 목적은 제한된 자원을 통해 객체 인식을 수행할 수 있는 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 뉴럴 네트워크(neural network)를 수반하는 클라이언트 장치는 프로세서, 서버 시스템으로부터 수신되는 상기 뉴럴 네트워크를 저장하는 메모리, 그리고 상기 뉴럴 네트워크를 수신하는 입력 장치를 포함하되, 상기 뉴럴 네트워크는 상기 서버 시스템에서 상기 클라이언트 장치를 위해 트레인(train)된다.
실시 예로서, 상기 입력 장치는 이미지를 캡처(capture)하고, 상기 메모리에 이미지 입력 데이터를 저장한다.
실시 예로서, 이미지 입력 데이터를 맵핑하는 다층 퍼셉트론 분류기(multilayer perceptron classifier)를 더 포함한다.
실시 예로서, 상기 뉴럴 네트워크는 컨볼루셔널(convolutional) 뉴럴 네트워크를 포함한다.
실시 예로서, 상기 뉴럴 네트워크는 특징 맵(feature map)을 생성한다.
실시 예로서, 상기 특징 맵은 입력 이미지로부터 유래된 복수의 웨이트(weight) 값들을 포함한다.
실시 예로서, 상기 뉴럴 네트워크는 상기 특징 맵에 양자화 동작을 수행한다.
실시 예로서, 상기 양자화 동작은 유니터리 양자화(unitary quantization), 적응적 양자화, 균일 양자화, 또는 관리된 반복 양자화(supervised iterative quantization) 중 하나를 포함한다.
실시 예로서, 상기 양자화 동작은 이미지 입력 데이터의 역전달(back propagation)을 수행한다.
실시 예로서, 상기 뉴럴 네트워크는 객체 인식을 수행한다.
실시 예로서, 상기 클라이언트 장치는 스마트폰, 테블릿 컴퓨터 및 이동식 전자 장치 중 하나를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 시스템은 객체 인식을 수행하기 위한 클라이언트 장치, 그리고 객체 인식을 수행하기 위해 뉴럴 네트워크를 트레인(train)하고, 상기 뉴럴 네트워크를 클라이언트 장치로 엑스포트(export)하는 서버 시스템을 포함한다.
실시 예로서, 상기 클라이언트 장치는 프로세서, 메모리, 사용자 인터페이스, 통신 인터페이스, 전원 공급기 및 입력 장치를 포함하고, 상기 메모리는, 상기 서버 시스템으로부터 수신되는, 상기 트레인(train)된 뉴럴 네트워크를 저장한다.
실시 예로서, 상기 서버 시스템은 트레이닝 이미지(training image)의 데이터베이스를 포함한다.
실시 예로서, 상기 뉴럴 네트워크는 컨볼루셔널 뉴럴 네트워크를 포함한다.
실시 예로서, 상기 컨볼루셔널 뉴럴 네트워크는 적어도 두 레이어(layer)를 포함한다.
실시 예로서, 상기 컨볼루셔널 뉴럴 네트워크는 컨볼루셔널 레이어(convolutional layer) 및 서브샘플링 레이어(subsampling layer)를 포함한다.
실시 예로서, 상기 서버 시스템은 다층 퍼셉트론 분류기를 포함한다.
실시 예로서, 상기 뉴럴 네트워크의 학습 방법은 역전달(back propagation), Restricted Boltzmann Machine, 및 Auto Encoder Decode technique 중 하나를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 서버 시스템은 트레이닝 이미지(training image)를 수신하는 입력 장치, 적어도 두 레이어 페어(layer pair)를 포함하고, 각 레이어 페어는 컨볼루셔널 레이어 및 서브샘플링 레이어를 포함하는 뉴럴 네트워크, 그리고 다층 퍼셉트론 분류기를 포함하되, 상기 뉴럴 네트워크는 상기 컨볼루셔널 레이어에서 임시 웨이트(weight)의 양자화를 수행하고, 상기 컨볼루셔널 레이어에 적용된 입력에 응답하여 상기 서브샘플링 레이어에서 임시 특징 맵을 생성하고, 상기 다층 퍼셉트론 분류기에서 웨이트의 양자화를 수행하고, 그리고 상기 다층 퍼셉트론 분류기에서 양자화된 웨이트 다층 퍼셉트론(weight multilayer perceptron)에 적용된 상기 임시 특징 맵(feature map)에 응답하여 분류 출력을 생성한다.
본 발명의 실시 예에 따르면, 제한된 자원을 통해 객체 인식을 수행할 수 있는 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템을 제공할 수 있다.
도 1은 서버 시스템(110) 및 클라이언트 장치(310)를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 뉴럴 네트워크를 보여주는 블록도이다.
도 3은 컨벌루셔널 레이어의 샘플 레이어 페어 및 서브 샘플링 레이어를 보여주는 도면이다.
도 4는 뉴럴 네트워크 트레이닝 동작(143)의 트레이닝(training)을 예시적으로 자세히 보여주는 도면이다.
도 5는 서버 시스템(110)의 뉴럴 네트워크(723)의 양자화 동작(620)을 예시적으로 보여주는 도면이다.
도 6은 1차원 적응적 양자화 동작에서 사용될 수 있는 샘플 방정식 표현을 보여주는 도면이다.
도 7은 1차원 양자화를 예시적으로 보여주는 도면이다.
도 8은 2차원 양자화를 예시적으로 보여주는 도면이다.
도 9는 최소화된 방정식 표현들(9A, 9B, 9C)을 예시적으로 보여주는 도면이다.
도 10은 양자화된 값(Q)를 결정하는 방정식을 보여주는 도면이다.
도 11은 도 10의 방정식의 적용을 예시적으로 보여주는 도면이다.
도 12는 클라이언트 장치(client device) 및 클라이언트 장치(client device)의 MLP 분류기를 위한 뉴럴 네트워크를 예시적으로 보여주는 블록도이다.
도 13은 필기 인식을 위한 40개의 샘플 트레이닝 이미지(sample training image)들이 그룹을 보여주는 도면이다.
도 14는 도 13의 시뮬레이션을 수행하기 위해 사용되는 샘플 컨볼루셔널 뉴럴 네트워크의 데이터 구조를 예시적으로 보여주는 도면이다.
도 15는 기존 대비 본 발명의 성능에 대한 시뮬레이션 결과를 보여주는 테이블이다.
도 16은 기존 대비 본 발명의 성능 시뮬레이션을 보여주는 막대 그래프이다.
도 17은 기존 대비 본 발명의 실시 예의 성능을 시뮬레이션 한 막대 그래프이다.
도 18은 기존 대비 본 발명의 실시 예의 성능을 시뮬레이션 한 막대 그래프들의 그룹을 보여주는 도면이다.
전술한 특성 및 이하 상세한 설명은 모두 본 발명의 설명 및 이해를 돕기 위한 예시적인 사항이다. 즉, 본 발명은 이와 같은 실시 예에 한정되지 않고 다른 형태로 구체화될 수 있다. 다음 실시 형태들은 단지 본 발명을 완전히 개시하기 위한 예시이며, 본 발명이 속하는 기술 분야의 통상의 기술자들에게 본 발명을 전달하기 위한 설명이다. 따라서, 본 발명의 구성 요소들을 구현하기 위한 방법이 여럿 있는 경우에는, 이들 방법 중 특정한 것 또는 이와 동일성 있는 것 가운데 어떠한 것으로든 본 발명의 구현이 가능함을 분명히 할 필요가 있다.
본 명세서에서 어떤 구성이 특정 요소들을 포함한다는 언급이 있는 경우, 또는 어떤 과정이 특정 단계들을 포함한다는 언급이 있는 경우는, 그 외 다른 요소 또는 다른 단계들이 더 포함될 수 있음을 의미한다. 즉, 본 명세서에서 사용되는 용어들은 특정 실시 형태를 설명하기 위한 것일 뿐이고, 본 발명의 개념을 한정하기 위한 것이 아니다. 나아가, 발명의 이해를 돕기 위해 설명한 예시들은 그것의 상보적인 실시 예도 포함한다.
본 명세서에서 사용되는 용어들은 본 발명이 속하는 기술 분야의 통상의 기술자들이 일반적으로 이해하는 의미를 가진다. 보편적으로 사용되는 용어들은 본 명세서의 맥락에 따라 일관적인 의미로 해석되어야 한다. 또한, 본 명세서에서 사용되는 용어들은, 그 의미가 명확히 정의된 경우가 아니라면, 지나치게 이상적이거나 형식적인 의미로 해석되지 않아야 한다. 이하 첨부된 도면을 통하여 본 발명의 실시 예가 설명된다.
본 발명의 방법 및 장치는 제한된 자원을 가지는 클라이언트(client)에서 뉴럴 네트워크(neural network)의 효과적인 동작을 위해 제공될 수 있다. 일반적으로, 본 발명의 방법 및 장치는, 컨벌루셔널 뉴럴 네트워크(convolutional neural network, CNN)를 내장하기 위해, 계산 집약적인 학습 프로세스를 사용하는 상당한 컴퓨팅 자원을 가지는 장치(서버와 같은)에 제공된다. 일단 내장되면, 뉴럴 네트워크(neural network)는 상대적으로 제한된 컴퓨팅 자원들을 가지는 클라이언트 장치(스마트폰과 같은)에 이식될 수 있다.
뉴럴 네트워크(neural network)들은 계산이 복잡한 작업들에 다양하게 사용될 수 있다. 예를 들면, 뉴럴 네트워크(neural network)는 객체 인식(object recognition)에 사용될 수 있다. 객체 인식(object recognition)은 안면 인식, 환경 감시, 생산 및 제조의 제어, 의학적 진단의 보조, 및 다양한 다른 유사 프로세스들을 제공할 수 있다.
뉴럴 네트워크(neural network)들의 종류는 단일 방향 로직의 하나 또는 두 계층을 가지는 것, 복잡한 다중 입력을 가지는 것, 많은 방향으로 피드백 루프를 가지는 것, 및 많은 계층을 가지는 것을 포함한다. 일반적으로, 이러한 시스템은 그들의 기능들의 제어 및 조직을 결정하기 위해 프로그램 된 알고리즘을 사용한다. 대부분의 시스템들은 처리량의 파라미터들 및 뉴런들로의 다양한 연결들을 변경하기 위하여 “웨이트(weight)들”(값들로 표현될 수 있는)을 사용한다. 뉴럴 네트워크(neural network)들은 트레이닝(training) 데이터의 세트들의 사용을 통하여 완료된 이전의 트레이닝(training)으로부터 자발적으로 학습할 수 있다.
본 발명의 내용을 제공하기 위해, 이하에서 몇몇 용어들이 설명될 것이다.
이하에서, “서버(server)”라는 용어는 일반적으로 강력한 전산 리소스들을 가지는 컴퓨팅 리소스(computing resource)를 말한다. 대표적인 리소스들은 여기서 설명될 작업들을 수행하기 위한 중요한 것들을 포함한다. 즉, 리소스들은 상당한 크기의 메모리, 프로세싱 능력들, 데이터 스토리지, 및 이와 유사한 것을 포함할 수 있다. 본 발명의 실시 예에 따르면, 서버(server)는 블레이드 서버(blade server)와 같은 컨벤셔널 서버(conventional server), 메인프레임(mainframe), 퍼스널 컴퓨터들의 네트워크, 또는 단순히 퍼스널 컴퓨터를 포함한다.
이하에서, “클라이언트(client)”라는 용어는 일반적으로 전산 리소스들의 감소된 세트를 가지는 컴퓨팅 리소스(computing resource)를 말한다. 대표적인 리소스들은 여기서 설명될 작업들을 수행하기 위한 중요한 것들을 포함한다. 즉, 리소스들은 최소한의 용량을 가지는 메모리, 프로세싱 능력들, 데이터 스토리지, 및 이와 유사한 것을 포함할 수 있다. 본 발명의 실시 예에 따르면, 클라이언트(client)는 뉴럴 네트워크(neural network)로 입력되는 입력 이미지들의 수집을 제공하기 위해 이미징 능력(imaging capability)들을 포함한다.
이하에서, “뉴럴 네트워크(neural network)”라는 용어는 일반적으로 적응적 네이처(adaptive nature)를 가지는 통계적 학습 알고리즘(statistical learning algorithm)들을 말하고, 따라서 장치 학습(machine learning)에 유용하다. 뉴럴 네트워크(neural network)는, “뉴런(neuron)”, “프로세싱 요소(processing element)”, “유닛(unit)” 또는 이와 유사한 용어들로 알려진, 복수의 인공 노드(artificial node)들을 포함할 수 있다. 이러한 복수의 인공 노드(artificial node)들은 생물학적인 신경망을 모방한 네트워크를 형성하기 위해 서로 연결된다. 일반적으로, 뉴럴 네트워크(neural network)는 적응적 웨이트(adaptive weight)들의 세트들을 포함한다(즉, 학습 알고리즘에 의해 조정되는 수치 파라미터들). 그리고 뉴럴 네트워크(neural network)는 그들의 입력들의 비선형 함수들을 근사화할 수 있다. 적응적 웨이트(adaptive weight)들은 개념적으로 뉴런(neuron)들 사이의 연결 강도(connection strength)이다. 적응적 웨이트(adaptive weight)들은 트레이닝(training) 및 프리딕션(prediction)하는 동안에 활성화될 수 있다. 일반적으로, 뉴럴 네트워크(neural network)는 비선형(non-linear), 분산(distributed), 평행(parallel), 로컬 프로세싱(local processing) 및 적응(adaptation)의 원리에 따라서 동작한다.
이하에서, “다층 퍼셉트론(multilayer perceptron, 이하 MLP)”이라는 용어는 일반적으로 입력 데이터의 세트들을 적절한 출력들에 맵핑시키는 피드-포워드 인공 뉴럴 네트워크(feed-forward artificial neural network)를 말한다. 따라서, MLP 분류기(classifier)는 뉴럴 네트워크(neural network)의 출력으로부터 인지 동작을 수행할 수 있다. MLP는 방향성 그래프(directed graph)에서 노드(node)들의 계층(layer)들의 순서(sequence)를 포함할 수 있다. 각 계층은 다음 계층과 연결된다. 입력 노드를 제외하고, 각 노드는 비선형 활성화 함수(nonlinear activation function)를 가질 수 있는 뉴런(neuron) 또는 프로세싱 요소(processing element)이다.
일반적으로, “컨볼루션(convolution)”은 제 3의 함수를 생산하는 두 함수(f 및 g)들의 수학적 동작이다. 제 3의 함수는, 원래의 두 함수들 중 하나의 변화된 총량에 대응하는 함수로서 두 함수들 사이의 영역을 중첩하여, 원래의 함수들 중 하나의 변형된 버전(version)을 보여준다.
일반적으로, “컨볼루셔널 뉴럴 네트워크(convolutional neural network)”라는 용어는 개별 뉴런(neuron)들이 시야에서 중첩하는 영역들에 응답하는 방식으로 타일처럼 연결되는 피드-포워드 인공 뉴럴 네트워크(feed-forward artificial neural network)의 한 종류이다. 컨볼루셔널 네트워크(convolutional network)들은 MLP의 변화들이고, 전처리의 양을 최소화하도록 디자인된다. 화상 인식(image recognition)에 사용될 때, 컨볼루셔널 뉴럴 네트워크(convolutional neural network)는, “수용 필드(receptive field)”라고 불리는, 입력 이미지의 작은 부분들을 보는 스몰 뉴런 콜렉션(small neuron collection)들의 다중 계층들을 사용한다. 이러한 콜렉션(collection)들의 결과들은 타일처럼 배치되어 원본 이미지의 더 좋은 표시를 획득하기 위해 중첩될 수 있다. 이것은 모든 계층에서 반복된다. 유리하게, 컨볼루셔널 뉴럴 네트워크(convolutional neural network)는 컨볼루셔널 계층(convolutional layer)들에서 공유된 웨이트(weight)를 사용할 수 있다. 따라서, 각각의 계층에서 동일한 필터(즉, weights bank)는 각 픽셀에 사용될 수 있다. 이것은 요구되는 메모리 크기의 감소 및 성능 향상 모두를 이룰 수 있다.
이하에서, “이미지(image)”라는 용어는 디지털화된 이미지 데이터의 2차원 어레이를 말한다. 하지만, 이것은 단지 예시일 뿐, 이것에 한정되지 않는다. 이하에서, 서버에 제공된 이미지들은 카메라(미도시)와 같은 다른 장치에 의해 수집될 수 있다. 또한, 서버에 제공된 이미지들은 중간 도구들(소프트웨어와 같은)에 의해 트레이닝(training)을 위해 준비될 수 있다. 또한, 서버에 제공된 이미지들은 클라이언트에 의해 제공된 이미지들의 형태를 모방하도록 구성될 수 있다. 클라이언트에 의해 수집된 이미지들은 디지털화된 형태로 제공될 수 있다(스마트폰의 카메라로부터 제공된 것과 같이). 예시적인 실시 예에서, 트레이닝(training) 이미지들의 차원들 및 픽셀 수는 일반적으로 프로덕션(production) 이미지들의 차원들 및 픽셀 수와 동일하다. 단지, 클라이언트의 동작 동안 선택된 다른 이미지들과 트레이닝(training) 이미지들을 구별하기 위해, 서버를 트레이닝(training)하기 위해 사용되는 이미지들을 “트레이닝(training) 이미지”로 지칭한다. 다른 유사한 별개 용어로서, 클라이언트에 의해 선택된 이미지들은 “프로덕션(production) 이미지”로 지칭한다.
이하에서, “객체(object)”라는 용어는 이미지 내에 표시되거나 포함될 수 있다. 예를 들면, 자동차(객체)는 풍경(객체들의 콜렉션(collection)) 사진(이미지) 내에 표시될 수 있다.
이하에서, “프로그램(program)”, “소프트웨어(software)”, “어플리케이션(application)”, “애드-인(add-in)” 및 다른 유사한 용어들은 비 일시적 컴퓨터 판독 가능 매체에 저장된 장치 실행 가능 명령(machine executable instruction)으로 지칭한다. 장치 실행 가능 명령(machine executable instruction)은 컴퓨팅 자원들 및 적절하다고 간주되는 관련된 구성들의 제어 방법의 실행을 제공한다.
예시적인 실시 예에서, 방법 및 장치는 이미지 데이터로부터 객체 인식을 수행하기 위해 사용될 수 있다. 예시적인 실시 예들은 단지 예시로서 고려되어야 하고, 본 발명을 제한하지 않는다. 따라서, 본 발명에 개시된 방법 및 장치는 다른 출원들에 동일하게 사용될 수 있다.
도 1은 서버 시스템(110) 및 클라이언트 장치(310)를 예시적으로 보여주는 도면이다. 서버 시스템(110) 및 클라이언트 장치(310)는, 예를 들어, 서버(110) 및 클라이언트(310)라 각각 칭해질 수 있다. 축약된 순서도는 서버 시스템(110) 및 클라이언트 장치(310) 각각과 관련이 있다. 제 1 순서도(140)는 서버 시스템(110)에 의해 수행되는 뉴럴 네트워크(123)의 트레이닝(training) 방법을 예시적으로 보여준다. 제 2 순서도(340) 클라이언트 장치(310)에 의해 수행되는 이미지 인식을 예시적으로 보여준다.
도 1은 예시적인 서버 시스템(110)의 양상을 보여준다. 제 1 순서도(140)는 서버 시스템(110)의 동작들을 예시적으로 보여준다. 트레이닝 이미지(102)는 트레이닝 데이터베이스(104)에 선택적으로 저장될 수 있다. 예를 들면, 서버 시스템(110)은 학습된 웨이트(weight)들의 구성을 생성할 수 있고, 그로부터 서버 시스템(110)은 트레이닝 이미지(102)를 사용하여 훈련될 수 있다. 트레이닝(training)은 이하에서 자세하게 설명될 것이다.
서버 시스템(110)은 트레이닝 데이터베이스(104)로부터 트레이닝 이미지(102)를 수신하는 입력 장치(105)를 포함할 수 있다. 입력 장치(105)는, 스캐너(scanner) 또는 이와 유사한 장치와 같은, 디지타이저(digitizer)를 포함할 수 있다. 입력 장치(105)는 다양한 다른 방법들로 구현될 수 있다.
또한, 서버 시스템(110)은 다층 퍼셉트론(Multi-Layer Perceptron, 이하 MLP) 분류기(137)를 포함할 수 있다. 뉴럴 네트워크(123) 및 MLP 분류기(137)는 뉴럴 네트워크(123)를 트레이닝(training)하기 위해 “역전달(Back-Propagation)”과 같은 지도 학습 기술(supervised learning technique)을 사용할 수 있다. 실시 예로서, MLP 분류기(137)는 표준 선형 퍼셉트론(perceptron)의 변형이다. 또한, MLP 분류기(137)는 선형으로 분리할 수 없는 데이터를 구별할 수 있다. 뉴럴 네트워크(neural network)인 MLP 분류기(137)는 뉴럴 네트워크(123)의 일부분으로 고려될 수 있다. 따라서, 뉴럴 네트워크(123) 및 MLP 분류기(137)는, 도 1에서, 함께 그룹을 이루어 도시된다.
또한, 서버 시스템(110)은 프로그램(132)을 저장할 수 있는 메모리(130)를 포함할 수 있다. 서버 시스템(110)은 추가적으로 프로세서(120) 및 뉴럴 네트워크(123)를 포함할 수 있다. 데이터(135)는 메모리(130)에 저장될 수 있고, 그리고 뉴럴 네트워크(123)에 저장될 수 있다.
추가적으로 도 1은 예시적인 클라이언트 장치(310)의 양상을 보여준다. 제 2 순서도(340)는 클라이언트 장치(310)의 예시적인 동작들을 설명하는 것과 관련된다. 예를 들면, 클라이언트 장치(310)는 엑스포트 동작(export operation, 244)에 따라 수신할 수 있다. 엑스포팅 동작(244)은 서버 시스템(110)에 의해 생성된 학습 웨이트(weight)들의 구성을 제공할 수 있다. 따라서, 한 번 제대로 구성되면, 클라이언트 장치(310)는 입력 이미지(302)에서 트레이닝 이미지(102)를 인식할 수 있다.
클라이언트 장치(310)는 이미지 인식을 수행하기 위해 입력 이미지(302)를 수신하는 입력 장치(105)를 포함한다. 또한, 클라이언트 장치(310)는 프로그램(332), 프로세서(320) 및 뉴럴 네트워크(323)을 저장할 수 있는 메모리(330)를 포함한다. 데이터(335)는 메모리(330) 및 뉴럴 네트워크(323)에 저장될 수 있다.
또한, 클라이언트 장치(310)는 MLP 분류기(337)를 포함할 수 있다. MLP 분류기(337)는 뉴럴 네트워크(323)의 출력으로부터 인식하는 동작을 수행할 수 있다. 이상에서 설명된 바와 같이, MLP는, 각각의 계층이 다음 계층에 연결되어, 방향 그래프(directed graph)에서 노드(node)들의 계층들의 순서를 포함할 수 있다. 입력 노드들을 제외하고, 각 노드는 비선형적인 활성화 함수(activation function)를 가질 수 있는 뉴런(neuron) 또는 프로세싱 요소(processing element)이다. 뉴럴 네트워크(323) 및 MLP 분류기(337)는 뉴럴 네트워크(323)를 트레이닝(training)하기 위해 “역전달(Back-Propagation, BP)”과 같은 지도 학습 기술(supervised learning technique)을 사용할 수 있다. 뉴럴 네트워크(neural network)인 MLP 분류기(337)는 뉴럴 네트워크(323)의 일부분으로 또는 분리된 모듈로서 고려될 수 있다. 본 발명의 실시 예에 따르면, MLP 분류기(337)가 분리된 모듈로 표현됨으로써 뉴럴 네트워크(323) 및 뉴럴 네트워크(123) 사이의 공통점들이 더 잘 설명될 수 있다.
서버 시스템(110) 및 클라이언트 장치(310)의 블록도는 어떤 유사성들을 보여준다. 이러한 유사성에도 불구하고, 어떤 기능들 및 요구들은 매우 다를 수 있다. 예를 들면, 서버 시스템(110)은 포터블(portable)일 필요가 없다. 특히, 서버 시스템(110)은 대용량의 메모리(130) 및 구성들을 생성하는 데 사용되는 실질적인 프로세서(120)를 가질 수 있다. 클라이언트 장치(310)는, 포터블(portable)이거나 그렇지 않거나, 다양한 형태로 표현될 수 있다. 클라이언트 장치(310)는 포터블(portable) 개인 전자 장치일 수 있다. 그리고 그것은 터치스크린을 포함할 수 있다. 예를 들면, 클라이언트 장치(310)는 스마트폰(애플의 아이폰 또는 구글의 안드로이드 운영 시스템을 구동하는 장치와 같은), 테블릿 컴퓨터, 또는 이와 유사한 장치를 포함할 수 있다.
뉴럴 네트워크들(123, 323)은 인공 지능 기술을 포함한다. 뉴럴 네트워크들(123, 323) 각각은 학습과 인지를 위해 사용될 수 있다. 본 발명의 실시 예들은 컨벌루셔널 뉴럴 네트워크(convolutional neural network)인 뉴럴 네트워크들(123, 323)의 측면에서 대부분 설명될 것이다. 하지만, 다른 타입의 뉴럴 네트워크(neural network)도 사용될 수 있다.
뉴럴 네트워크들(123, 323)의 어떤 실시 예에서, 단일 계층이 사용된다. 단일 계층은 다수의 뉴런(neuron)들을 포함할 수 있다. 각 뉴런(neuron)은 프로세싱 단위로 고려될 수 있다. 각 뉴런(neuron)은, 비선형 트랜스포메이션(transformation)과 같은, 트랜스포메이션(transformation)을 수행할 수 있다. 계층 내의 뉴런(neuron)들 사이에는 웨이티드 연결(weighted connection)들이 있을 수 있다. 웨이티드 연결(weighted connection)들은 뉴럴 네트워크(neural network)의 메모리들에서 웨이트(weight) 값들로 저장될 수 있다. 학습 알고리즘은 웨이트(weight) 값들을 학습하기 위해 구성될 수 있다.
본 발명의 실시 예에 따르면, 딥 러닝(deep learning)이 사용될 수 있다. 딥 러닝(deep learning)은 앞에서 설명한 단일 계층과 유사한 다층으로 구성된 계층 구조를 포함한다. 추가적으로, 웨이티드 연결(weighted connection)들은 계층 내의 뉴런(neuron)들 사이뿐만 아니라 다수의 계층들 사이를 가로지를 수 있다. 따라서, 딥 러닝(deep learning)은 실질적인 메모리(130) 용량을 요구한다. 예를 들면, 딥 러닝(deep learning)은 역전달(Back-Propagation), Restricted Boltzmann Machine, Auto Encoder Decode 등을 포함할 수 있다. 뉴럴 네트워크(neural network)를 위한 딥 러닝(deep learning) 구조의 실시 예는 이하에서 설명될 것이다.
도 2는 본 발명의 실시 예에 따른 뉴럴 네트워크를 보여주는 블록도이다. 뉴럴 네트워크(423)는 이상에서 설명된 뉴럴 네트워크(123), 뉴럴 네트워크(323), 또는 이 모두를 예시적으로 나타낸다.
도 2에서, 뉴럴 네트워크(423)는 제 1 컨벌루셔널 레이어(convolutional layer, 454) 및 제 1 서브 샘플링 레이어(subsampling layer, 458)의 적어도 하나의 제 1 레이어 페어(layer pair, 421)를 포함한다. 또한, 뉴럴 네트워크(423)는 제 2 컨벌루셔널 레이어(464) 및 제 2 서브 샘플링 레이어(468)의 제 2 레이어 페어(422)를 포함한다. 제 1 레이어 페어(421)는 제 2 레이어 페어(422)와 유사할 수 있다. 그러나 그것이 요구되지는 않는다. 본 발명의 실시 예에 따르면, 제 1 레이어 페어(421) 및 제 2 레이어 페어(422)는 서로 다른 수의 특징 맵(feature map)들을 가질 수 있다.
이미지(402)는 뉴럴 네트워크(423)에 의해 수신될 수 있고, 특히 제 1 컨벌루셔널 레이어(454)에 의해 수신될 수 있다. 따라서, 뉴럴 네트워크(423)는 수신된 이미지(402)에 따른 결과물(474)을 생성할 수 있다. 결과물(474)은 소정의 반복들이 완료된 후에 제 2 서브 샘플링 레이어(468)에서 생성된 출력물이다. 트레이닝(training) 모드에서, 이미지(402)는 트레이닝(training) 이미지이고, 결과물(474)은 다른 입력 이미지들과 이미지(402)를 인지하기 위한 생성된 학습 웨이트(weight)들일 수 있다. 객체 인지(object recognition) 모드에서, 이미지(402)는 입력 이미지이고, 결과물(474)은 이미지(402)에서 인지된 특별한 객체를 표시하기 위해 MLP 분류기(337)에 의해 사용될 수 있다. 제 1 및 제 2 레이어 페어(421, 422)는 도 3에서 더 자세히 설명될 것이다.
도 3은 컨벌루셔널 레이어(554)의 샘플 레이어 페어(521) 및 서브 샘플링 레이어(558)를 보여주는 도면이다. 컨벌루셔널 레이어(554) 및 서브 샘플링 레이어(558)의 쌍(521)은 제 1 레이어 페어(421, 422, 또는 421 및 422 모두)의 레이어들의 실시 예들이다. 이러한 것들은 웨이트 커널들(weight kernel; 511, 512)을 포함하는 이미지(502)를 수신하는 것으로 설명된다.
컨벌루셔널 레이어(554)는 그들 각각의 웨이트(weight)를 저장하여 특징 맵들(531, 532)을 포함할 수 있다. 실제로는 둘 이상의 특징 맵들이 있을 수 있으나, 설명의 단순화를 위해 두 특징 맵들을 포함하는 것으로 가정한다. 트레이닝(training) 동작 동안에, 컨벌루셔널 레이어(554)의 특징 맵들 각각은 로컬 웨이트 커널(local weight kernel)들에 포함된 웨이트 커널들(511, 512)을 컨볼브(convolve)하여 생성된 컨볼브(convolve)된 동작 결과일 수 있다. 객체 인식 동작 동안에, 컨벌루셔널 레이어(554)의 특징 맵들 각각은 특징 맵으로부터 생성된 객체의 가능한 인식을 생성하기 위해 입력 이미지와 컨볼브(convolve)될 수 있다.
또한, 서브 샘플링 레이어(558)는 컨벌루셔널 레이어(554)와 동일한 수의 특징 맵들을 포함할 수 있다. 이 경우에 있어서, 서브 샘플링 레이어(558)는 제 1 특징 맵(551) 및 제 2 특징 맵(552)를 포함한다. 서브 샘플링 레이어(558)의 특징 맵들(551, 552) 각각은 컨벌루셔널 레이어(554)의 특징 맵들을 서브샘플링(subsampling)한 결과일 수 있다. 서브샘플링(subsampling)은 체계적으로 특징 맵의 차원을 줄인다. 서브샘플링(subsampling)은 특징 맵들을 포함하거나 서로 다른 특징 맵들을 교차하여 얻어진, 뉴런들의 최대 또는 평균 서브샘플링(subsampling)일 수 있다.
특징 맵들(531, 532, 551, 552)은 순수(genuine) 특징 맵들이다. 하지만 이하에서, 그것들은 “중간의” 특징 맵들로서 언급될 것이다. 왜냐하면 그것들은 특징 맵의 업데이트된 버전을 생성하기 위해 다른 계층에 의해 더 처리될 것이기 때문이다.
도 1로 돌아가서, 서버-디바이스 솔루션(server-to-device solution)의 측면에서 서버 시스템(110) 및 클라이언트 장치(310)는 설명되었다. 이러한 솔루션들은 서버 시스템(110)에서 트레이닝/학습(training/learning) 프로세스를 수반한다. 이러한 솔루션들은 클라이언트 장치(310)로 뉴럴 네트워크(123)의 학습된 설정(즉, 네트워크 웨이트(weight)들)을 엑스포팅(exporting)하는 것을 수반한다. 엑스포팅(exporting)은 도 1에서 설명된 엑스포팅 동작(244)과 같은 것이다. 엑스포팅 동작(244)은 클라이언트 장치(310)로 뉴럴 네트워크(123)의 설정 정보를 제공한다. 설정 정보가 엑스포트(export)될 때까지, 예를 들어 메모리(130) 안의 추가적인 데이터(135)처럼, 설정 정보는 메모리, 데이터 스토리지 또는 다른 적절한 저장소에 있을 수 있다. 설정 정보는 도 1에 도시된 클라이언트 장치(310)와 같은 다양한 클라이언트 장치들로 엑스포트(export)될 수 있다. 클라이언트 장치(310)는 뉴럴 네트워크 설정을 수신하거나 임포트(import)하는 모바일 장치일 수 있다.
클라이언트 장치(310)에 의해 사용되는 스토리지 및 전산 자원들의 적어도 일부분은, 온-보드(on-board) 서버 시스템(110)과 같이, 원격으로 구현될 수 있음은 일부 실시 예에서 이해될 것이다. 뉴럴 네트워크(neural network)를 훈련하는 서버 시스템(110)은 “클라우드(cloud)”에 위치할 수 있다(즉, 서버 시스템(110)의 적어도 일부분은 클라이언트 장치(310)로부터 원격으로 구현된다). 실시 예로서, 서버 시스템(110)은 공공 서비스 또는 비전용 서비스에 의해 제공될 수 있다. 실시 예로서, 클라이언트 장치(310)는 객체 인식 성능이 서버 시스템(110)에 의해 수행되는 객체 인식 성능과 실질적으로 동일하도록 구성될 수 있다. 즉, 클라이언트 장치(310)는 더 많은 트레이닝(training) 이미지들의 객체 인식이 상당한 성능 감소없이 수행될 수 있는 적절한 트레이닝(training) 정보로 구성될 수 있다.
일 실시 예에서, 클라이언트 장치(310)의 전산 요구 사항들은 감소할 수 있다. 예를 들면, 더 적은 비트 해상도는 네트워크 웨이트(weight)들을 저장하고 처리하는데 충분하다. 원래의 거듭된 프리세션(precession)은 필요하지 않는다. 이러한 경제성은 낮은 정밀도로 동작하는 뉴럴 네트워크(323)를 가능하게 할 수 있다. 실시 예에서, 아날로그 메모리가 사용될 수 있다.
예시적인 트레이닝(training) 프로세스들이 도 1의 제 1 순서도(140)에 의해 설명되었다. 이러한 트레이닝(training) 프로세스들은 서버 시스템(110) 또는 다른 시스템들에서 사용될 수 있다. 제 1 순서도(140)의 프로세스들은 예시적으로 서버 시스템(110)의 구성들로 설명될 수 있다.
뉴럴 네트워크 초기화 동작(141)에 따르면, 뉴럴 네트워크(123)의 모두 또는 부분들은 트레이닝 이미지(102)를 사용하기 전에 초기화될 수 있다. 도 3과 같이 레이어 페어(layer pair)를 사용하는 실시 예에서, 제 1 컨볼루셔널 레이어(first convolutional layer)는 적용된 트레이닝 이미지(training image)에 앞서서 초기화될 수 있다. 예를 들면, 이러한 초기화는 with 랜덤 웨이트(random weight)들 또는 다른 이미지가 아닌 특정 설정을 포함할 수 있다.
이미지 수신 동작(142)에 따르면, 트레이닝 이미지(training image)는 예를 들어 입력 장치(105)를 통해 수신될 수 있다. 도 1의 실시 예에서, 수신된 트레이닝 이미지(training image)는 이미지(102)이고, 트레이닝 이미지 데이터베이스(104)로부터 수신될 것이다. 제 1 순서도(140)에 따른 동작은 서로 다른 이미지들의 트레이닝(training)을 위해 여러 번 반복될 수 있다. 제 1 순서도(140)에 따른 동작은 트레이닝 이미지 데이터베이스(104) 내의 모든 이미지들을 트레이닝(training)하기 위해 여러 번 반복될 수 있다.
뉴럴 네트워크 트레이닝 동작(143)에 따르면, 뉴럴 네트워크(123)는 이하에서 설명되는 방법으로 트레이닝(training)될 수 있다. 뉴럴 네트워크 설정 데이터 엑스포트 동작(144)에 따르면, 뉴럴 네트워크 트레이닝 동작(143) 후에 생성된 뉴럴 네트워크(123)의 설정은 엑스포트(export)될 수 있다. 뉴럴 네트워크 설정 데이터 엑스포트 동작(144)은 앞에서 설명된 엑스포팅 동작(244)과 실질적으로 동일 또는 유사한 방식으로 수행될 수 있다.
도 4는 뉴럴 네트워크 트레이닝 동작(143)의 트레이닝(training)을 예시적으로 자세히 보여준다. 도 4의 실시 예들은 비트 해상도를 감소한 학습 웨이트(weight)들을 좀 더 자세히 보여준다. 이러한 실시 예들은 “관리된 반복 양자화(Supervised Iterative Quantization, S.I.Q.)”로 지칭한다.
도 4에서, 트레이닝 방법(643)이 예시적으로 설명된다. 구체적으로, 도 4는 비트 해상도가 감소된 웨이트(weight)들을 생성하기 위해 뉴럴 네트워크를 트레이닝(training)하는 예시적인 측면을 보여준다. 트레이닝 방법(643)의 결과는 인식을 위해 클라이언트 장치(310)로 엑스포트(export)되는 양자화된 웨이트(weight)들이다. 입력 및 특징 맵들의 비트 해상도의 감소는 트레이닝(training)에 있어서 필수적인 것은 아니다.
예를 들면, 트레이닝 방법(643)은 뉴럴 네트워크(123)의 레이어 페어들을 통해 수행되는 트레이닝 패스 동작(610)을 포함한다. 트레이닝 패스 동작(610)은 하나 이상의 접속들에 의해 수행되는 양자화 동작(620)을 포함한다. 따라서, 양자화 동작(620)은 이하에서 설명될 다양한 방식으로 트레이닝 패스 동작(610)을 변형할 수 있다.
반복 횟수 판단 동작(630)에 따르면, 반복 횟수가 최대 반복 횟수에 도달하였는지 판단된다. 만약 반복 횟수가 최대 반복 횟수에 도달하였으면, 트레이닝 방법(643)은 종료된다. 만약 반복 횟수가 최대 반복 횟수에 도달하지 못했으면, 초기화 동작(640)에 따라, 뉴럴 네트워크(123)의 모두 또는 일부분은 다시 초기화될 수 있다. 한번 다시 초기화되면, 뉴럴 네트워크(123)는 양자화 동작(620)으로부터 양자화된 웨이트(weight)들의 버전(version)을 적용할 수 있다.
초기화 동작(640) 이후에, 트레이닝 패스 동작(610)은 다시 수행된다. 트레이닝 방법(643)은 여러 번 반복되어 수행될 수 있다.
트레이닝 패스 동작(610) 및 양자화 동작(620)은 이하에서 좀 더 자세히 설명된다. 이하의 설명은 도 2에서 설명된 레이어 페어들을 포함하는 뉴럴 네트워크를 사용하는 서버 시스템(110)에 관련된다.
도 5는 서버 시스템(110)의 뉴럴 네트워크(723)의 양자화 동작(620)을 예시적으로 보여주는 도면이다. 도 5에서, 뉴럴 네트워크(723)는 이상에서 설명된 뉴럴 네트워크(123)와 유사하다.
도 5를 참조하면, 양자화 동작(720)에서, 뉴럴 네트워크(723)는 트레이닝 이미지(702)하고, 양자화 동작 결과(774)를 출력한다. 양자화 동작 결과(774)는, 트레이닝 이미지(702)가 트레이닝 프로세스에 정의된 라벨의 객체들 포함하는지를 인식하기 위해 나중에 사용될 수 있는, 생성된 학습 웨이트(weight)들을 의미한다. 뉴럴 네트워크(723)는 적어도 하나의 제 1 컨볼루셔널 레이어(754)의 제 1 레이어 페어(721) 및 제 1 서브샘플링 레이어(758)를 포함한다. 또한, 뉴럴 네트워크(723)는 제 2 컨볼루셔널 레이어(764)의 제 2 레이어 페어(722) 및 제 2 서브샘플링 레이어(768)를 포함한다. 레이어 페어들(721, 722)은 이상에서 설명된 것과 같이 만들어질 수 있다.
도 5에서, 화살표는 트레이닝 패스 동작(610) 및 양자화 동작(620)의 효과를 보여준다. 실시 예에서, 뉴럴 네트워크(723)는 먼저 랜덤 웨이트(random weight)들 또는 다른 이미지 이외의 특정 설정으로 초기화된다. 입력 장치에 의해 수신된 트레이닝 이미지(702)는 제 1 컨볼루셔널 레이어(754)에 적용될 수 있다. 이상에서 설명된 바와 같이, 제 1 컨볼루셔널 레이어(754)는 그것에 적용되는 트레이닝 이미지(702)에 앞서서 초기화될 수 있다.
뉴럴 네트워크(723)는, 제 1 컨볼루셔널 레이어(754)에 적용된 트레이닝 이미지(702)에 응답하여, 제 1 서브샘플링 레이어(758)에서 제 1 임시 특징 맵(first interim feature map)를 생성하도록 구성될 수 있다. 제 1 임시 특징 맵(first interim feature map)는 제 1 임시 오리지널 웨이트(first interim original weight)들에 기초하여 생성될 수 있다.
이러한 트레이닝 패스(training pass)의 일환으로, 제 1 임시 특징 맵(first interim feature map)은 제 2 컨볼루셔널 레이어(764)에 적용될 수 있다. 뉴럴 네트워크(723)는, 제 2 컨볼루셔널 레이어(764)에 적용된 제 1 임시 특징 맵(first interim feature map)에 응답하여, 제 2 서브샘플링 레이어(768)에서 제 2 임시 특징 맵(second interim feature map)을 생성하도록 구성될 수 있다. 이러한 제 2 임시 특징 맵(second interim feature map)은 제 2 임시 오리지널 웨이트(second interim original weight)들을 가질 수 있다.
결과적인 특징 맵들은, MLP 분류기(137)를 이용하여, 대부분 비슷하게 이미지에 표시되는 객체에 대한 예측에 사용될 수 있다. 예측 및 실측 자료의 오류에 기초하여, 역전달(back propagation)은 웨이트(weight)들을 조절(즉, 학습/트레이닝)하기 위해 사용될 수 있다.
트레이닝 프로세스는 트레이닝 데이터베이스(training database) 내의 트레이닝 이미지(training image)의 모두 또는 일부분에서 반복될 수 있다. 그 후에, 학습된 웨이트(weight)들은 k-수단(k-means, 이하에서 자세히 설명될 것이다)에 기초하여 적응적 양자화 방법을 이용하여 양자화될 수 있다. 양자화는, 여전히 원래의 데이터를 충분히 유지하면서, 웨이트(weight)들의 비트 수를 줄인다. 그러므로 이러한 특별한 경우에 있어서, 양자화는 원래의 웨이트(weight)들을 더 적은 해상도의 웨이트(weight)들로 전환한다.
실시 예로서, 트레이닝(training) 웨이트(weight)들의 프로세스 및 그 이후의 양자화는 하나의 트레이닝 세대(training epoch)로서 고려된다.
만약 트레이닝 세대(training epoch)들이 한계 값보다 작은 경우(즉, 반복 횟수 판단 동작(630)에서 “NO”인 경우), 트레이닝 패스 동작(610)은 반복될 수 있다. 이런 경우에, 뉴럴 네트워크(723)는 양자화된 웨이트(weight)들을 사용하여 초기화될 수 있다. 초기화에 기초하여, 뉴럴 네트워크(723)는 트레이닝 이미지(training image)들의 모두 또는 일부분을 다시 수신하고, 웨이트(weight)들을 학습하기 위해 역전달(back propagation)을 이용하고, 그리고 학습된 웨이트(weight)들을 양자화할 수 있다.
만약 트레이닝 세대(training epoch)들이 한계 값보다 크거나 같은 경우(즉, 반복 횟수 판단 동작(630)에서 “YES”인 경우), 양자화된 웨이트(weight)들은 엑스포트(export)될 수 있다.
S.I.Q.의 프로세스는, 도 5의 예시적인 프로세스에 관하여 설명된 바와 같이, 트레이닝 이미지(training image)들의 역전달(back-propagation), 적응적 양자화(adaptive quantization) 및 반복(iteration)을 포함한다.
실시 예로서, 단계(626)에서 입력은 선택적으로 양자화될 수 있다. 단계(621)에서 제 1 임시 특징 맵(first interim feature map)은 선택적으로 양자화될 수 있다. 단계(627)에서 제 2 임시 특징 맵(second interim feature map)은 선택적으로 양자화될 수 있다. 추가적으로, 제 1 컨볼루셔널 레이어(first convolutional layer)는 제 1 트레이닝 패스(first training pass)에서 생성된 제 2 임시 특징 맵(second interim feature map)의 버전(version)으로 초기화되도록 구성될 수 있다. 또한, 뉴럴 네트워크(neural network)는, 제 1 컨볼루셔널 레이어(first convolutional layer)에 다시 적용되어 수신된 트레이닝 이미지(training image)에 응답하여, 업데이트된 제 1 임시 특징 맵(first interim feature map)을 제 1 서브샘플링 레이어(first subsampling layer)에서 생성하도록 구성될 수 있다. 또한, 프로세서(processor)는, 업데이트되고 양자화된 제 1 임시 특징 맵(first interim feature map)을 생성하기 위해, 업데이트된 제 1 임시 특징 맵(first interim feature map)의 양자화를 수행하도록 구성될 수 있다. 업데이트되고 양자화된 제 1 임시 특징 맵(first interim feature map)은 제 2 컨볼루셔널 레이어(second convolutional layer)에 적용되도록 구성된다. 뉴럴 네트워크(neural network)는, 제 2 컨볼루셔널 레이어(second convolutional layer)에 적용되어 업데이트되고 양자화된 제 1 임시 특징 맵(first interim feature map)에 응답하여, 업데이트된 제 2 임시 특징 맵(second interim feature map)를 제 2 서브샘플링 레이어(second subsampling layer)에서 생성하도록 구성될 수 있다.
양자화(quantization)는 이하에서 자세히 설명될 것이다. 양자화는, 여전히 그것의 일부 특성을 보전하면서, 벡터 또는 매트릭스의 비트 수를 줄이기 위한 방법이다. 이러한 특별한 경우에, 벡터 또는 매트릭스는 웨이트(weight)들, 입력 이미지 또는 특징 맵에 연결될 수 있다. 비트 수의 감소는 계산 복잡도를 감소시킬 수 있다. 양자화 방법들에서, 원래의 웨이트(weight) 값들의 데이터 분포는 분석되고, 원래의 웨이트(weight) 값들을 대신하여 사용되는 양자화된 웨이트(weight) 값들은 생성된다. Economies arise in computations where groups of 이러한 양자화된 웨이트(weight) 값들의 그룹들이 서로 유사할 때 계산에 있어서 경제적이다.
실시 예로서, 적응적 양자화(adaptive quantization)는 원래의 웨이트(weight) 값들로부터 양자화된 웨이트(weight) 값들이 계산되는 양자화 방법이다.
1 차원에서, 양자화된 웨이트(weight) 값들은, 도 6의 방정식 표현과 같이, 방정식 표현들을 최소화하는 것이 추구될 수 있다. 도 6은 정확한 방정식을 보여주지 않는다. 하지만, 방정식 표현의 값은 최소화되어 있다.
도 7은 1차원 양자화를 예시적으로 보여주는 도면이다. 원래의 웨이트(weight) 값들(w)의 분포는 가로축의 0 과 1 사이에 보여진다. 이러한 원래의 웨이트(weight) 값들 (w)은 자신들 사이에서 클러스터 (cluster)들을 형성하고, 따라서 양자화된 웨이트(weight) 값들(Q)은 0.262, 0.428, 0.603 및 0.866으로 계산된다. 웨이트(weight) 값(w)의 분포는 서로 다른 25-30개의 원래의 웨이트(weight)들에서 시작하고, 그룹들 내에서 유사한 값들을 가지는 양자화된 웨이트(weight) 값들(Q)에 의해 대체되기 때문에 경제적이다.
도 8은 2차원 양자화를 예시적으로 보여주는 도면이다. 특징 맵(831A)은 2차원에서 점들로 표현된 값들을 가질 수 있다. 이 경우에 양자화를 위한 숫자 K 는, 특징 맵(831A)에서 점들의 3개의 주 클러스터(cluster)들에 대해, 3으로 설정될 수 있다. 양자화된 특징 맵(831B)은 적응적 양자화 동작(820)에 의해 생성될 수 있다. 양자화된 특징 맵(831B)의 값들은 각 클러스터의 중앙에 근접한 3개의 별들로 표현될 수 있다. 별들의 값들은 다양한 방법으로 찾을 수 있다. 예를 들면, 별들은 어떤 초기 위치들에서 시작하고 반복할 수 있다(각각의 원래의 값을 가장 가까운 양자화된 값에 지정하고, “양자화된 값”을 원래의 값의 클러스터의 중심으로 이동시킨다).
도 9는 최소화된 방정식 표현들(9A, 9B, 9C)을 예시적으로 보여주는 도면이다. 방정식 표현(9A)는, 방정식 표현(9A)이 l을 포함하는 것을 제외하면, 적응적 양자화에 대한 도 6의 방정식 표현과 유사하다. 두 레이어 페어들의 경우, l은 1과 2이다. 방정식 표현(9B)는 순서도(643)에 사용될 수 있다. 함수(Fl)는 연결된 컨볼루셔널 및 서브샘플링 레이어들(Cl, Sl)의 결합된 동작을 표시한다(l = 1, 2). 방정식 표현(9C)은 방정식 표현(9B)과 동등할 수 있다. 문제는 교류 검색(alternating searching)을 통해 해결될 수 있다. 예를 들면, w를 고정하고, Q를 해결할 수 있다. Q를 고정하고, w를 해결할 수 있다.
이상에서, 새로운 양자화된 웨이트(weight) 값들은 원래의 웨이트(weight) 값들로부터 계산되기 때문에, 적응적 양자화는 높은 비용이 들 수 있음을 볼 수 있다. 계산이 반복되는 검색을 요구하는 경우, 비용은 더욱 높아진다. 이와 같이, 적응적 양자화는 제한된 자원들을 가지는 클라이언트 장치에서 온-칩으로 구현되지 않는다. 하지만, 이것은 충분한 자원들을 가지는 서버 시스템에서는 크게 문제되지 않는다.
다른 종류의 양자화 방법으로 “균일 양자화(uniform quantization)”가 있다. 균일 양자화는 간단한 규칙에 의해 양자화된 값들을 선택하고, 얼마나 많은 원래의 값들이 각 양자화된 값들과 맞는지 결정한다. 따라서, 균일 양자화는 적응적 양자화보다 계산 집약적이지 않지만, 적응적 양자화보다 결과가 정확하지는 않다. 이하에서 1차원 균일 양자화를 예시적으로 설명된다.
도 10은 양자화된 값(Q)를 결정하는 방정식을 보여주는 도면이다. 변수(Δ)는 필요에 따라 설정될 수 있다.
도 11은 도 10의 방정식의 적용을 예시적으로 보여주는 도면이다. 예를 들면, 4개의 양자화된 값들을 산출하는 경우, 변수(Δ)는 4로 설정된다. 이때, 가로축에서 웨이트(weight) 값들의 분포와 관계없이, 양자화된 값들은 0.125, 0.375, 0.625 및 0.875로 결정된다.
도 11에서, 원래의 웨이트(weight) 값들(w)의 분포는 가로축의 0 과 1 사이에서 보여진다(사실, 이 분포는 도 7의 분포와 동일하다). 하지만, 양자화 방법이 다르기 때문에, 도 7과 결과는 다르다.
다시 도 1을 참조하면, 클라이언트 장치(310)는, 예를 들어 엑스포팅 동작(244)에 따른, 뉴럴 네트워크(123)의 학습되어 전송된 설정을 수신할 수 있다(즉, 네트워크 웨이트(network weight)들). 이러한 설정은 트레이닝 이미지(102) 및 데이터베이스(104) 내의 많은 다른 트레이닝 이미지(training image)들의 관점에서 준비될 것이다.
실시 예에 따른 이미지들을 인식하는 프로세스들은 제 2 순서도(340)를 사용하여 설명된다(도 1 참조). 이러한 프로세스들은 클라이언트 장치(310) 또는 클라이언트 장치들의 설정들을 위해 수행될 수 있다. 제 2 순서도(340)의 프로세스들은 단지 예시적인 의미로 클라이언트 장치(310)의 구성들로 설명될 것이다.
선택적인 임포트 동작(import operation, 344)에 따르면, 뉴럴 네트워크(123)의 설정은 임포트(import)된다. 임포트 동작(344)은 이전에 설명된 엑스포트 동작(244)으로 실질적으로 수행될 수 있다. 예를 들면, 네트워크를 통한 다운로드 및 메모리 장치로부터의 로딩 등과 같이, 임포팅(importing)은 다양한 방식으로 수행될 수 있다. 예를 들면, 뉴럴 네트워크(123)의 설정은 뉴럴 네트워크(323) 및 MLP 분류기(337)로 임포트(import)될 수 있다. 또한 예를 들면, 뉴럴 네트워크(123)의 설정은 제조 단계와 같은 적절한 시기에 추가적인 데이터(335)로서 메모리(330)에 저장될 수 있다.
입력 동작(345)에 따르면, 입력 이미지는 수신되어 입력될 수 있다. 예를 들면, 입력 이미지(302)를 수신하도록 구성된 입력 장치(305)을 통하는 것과 같이, 입력 동작(345)은 다양한 방식으로 수행될 수 있다.
제 1 생성 동작(346)에 따르면, 제 1 임시 특징 맵(first interim feature map)은 생성될 수 있다. 예를 들면, 제 1 컨볼루셔널 레이어(first convolutional layer)에 입력 이미지를 적용하는 것과 같이, 제 1 생성 동작(346)은 다양한 방식으로 수행될 수 있다. 자세한 내용은 추후에 설명될 것이다. 선택적으로, 수신된 입력 이미지의 양자화는 제 1 컨볼루셔널 레이어(first convolutional layer)에 적용된 수신된 입력 이미지에 앞서서 수행될 수 있다.
다른 양자화 동작(347)에 따르면, 제 1 임시 특징 맵(first interim feature map)의 양자화는 수행될 수 있다. 양자화는 다양한 방식으로 수행될 수 있다. 예를 들면, 다른 양자화 동작(347)은 도 10 및 도 11을 참조하여 설명된 균일 양자화의 한 종류이다. 다른 양자화 동작(347)은 서버 시스템(110)에 의해 수행된 적응적 양자화로서 클라이언트 장치(310)의 자원을 요구하지 않는다. 다른 양자화 동작(347)은 양자화된 제 1 임시 특징 맵(first interim feature map)을 생성할 수 있다.
제 2 생성 동작(348)에 따르면, 제 2 임시 특징 맵(second interim feature map)은 생성될 수 있다. 예를 들면, 제 2 컨볼루셔널 레이어(second convolutional layer)에 양자화된 제 1 임시 특징 맵(first interim feature map)을 적용하는 것과 같이, 제 2 생성 동작(348)는 다양한 방식으로 생성될 수 있다. 자세한 내용은 추후에 설명될 것이다.
인식 동작(349)에 따르면, 입력 이미지 내의 객체의 인식(recognition)은 수행될 수 있다. 이러한 인식(recognition)은 수학적 관점으로 먼저 수행되고, 제 2 임시 특징 맵(second interim feature map)으로부터 수행될 수 있다. 선택적으로, 제 2 임시 특징 맵(second interim feature map)의 양자화는 인식 동작(recognition operation)에 앞서서 수행될 수 있다.
제 2 순서도(340)에 제공되는 프로세스의 동작들은, 도 2에 도시된 레이어 페어들과 함께 뉴럴 네트워크(neural network)를 사용하는 클라이언트 장치를 위해, 이하에서 자세히 설명될 것이다.
도 12는 클라이언트 장치(client device) 및 클라이언트 장치(client device)의 MLP 분류기(1237)를 위한 뉴럴 네트워크(1223)를 예시적으로 보여주는 블록도이다. 예를 들면, 뉴럴 네트워크(1223)는 이상에서 설명된 뉴럴 네트워크(323)와 실질적으로 유사하다. 뉴럴 네트워크(1223) 및 MLP 분류기(1237)는, 이상에서 언급되었듯이, 트레이닝 이미지(training image)의 관점에서 준비된 뉴럴 네트워크의 설정으로 초기화될 수 있다.
도 12에서, 뉴럴 네트워크(1223)는 입력 이미지(1202)를 수신하고, 인식 결과(1249)를 생성한다. 인식 결과(1249)는 트레이닝 이미지(training image)가 입력 이미지(1202) 내에 있는지 여부를 표시한다. 뉴럴 네트워크(1223)는 제 1 컨볼루셔널 레이어(1254) 및 제 1 서브샘플링 레이어(1258)의 적어도 하나의 제 1 레이어 페어(1221)를 포함한다. 또한, 뉴럴 네트워크(1223)는 제 2 컨볼루셔널 레이어(1264) 및 제 2 서브샘플링 레이어(1268)의 제 2 레이어 페어(1222)를 포함한다. 레이어 페어들(1221, 1222)은 다른 레이어 페어들에 대하여 이상에서 설명된 것과 실질적으로 유사할 수 있다.
도 12에서, 화살표는 제 2 순서도(340)의 동작들의 효과를 보여준다. 예를 들면, 입력 장치에 의해 수신된 입력 이미지(1202)는 제 1 컨볼루셔널 레이어(1254)에 적용된다.
뉴럴 네트워크(1223)는, 제 1 컨볼루셔널 레이어(1254)에 적용된 입력 이미지(1202)에 응답하여, 제 1 임시 특징 맵(first interim feature map)을 제 1 서브샘플링 레이어(1258)에서 생성하도록 구성될 수 있다. 이러한 제 1 임시 특징 맵(first interim feature map)은 제 1 임시 오리지널 웨이트(first interim original weight)들을 가질 수 있다.
클라이언트 장치(미도시)의 프로세서는 제 1 임시 특징 맵(first interim feature map)의 양자화를 수행하도록 구성될 수 있다. 이러한 양자화는 동작(1246)으로 표현되고, 유니터리 양자화(unitary quantization) 또는 다른 종류의 양자화일 수 있다. 양자화는 양자화된 제 1 임시 특징 맵(first interim feature map)을 생성할 수 있다. 따라서 이러한 특별한 경우에, 양자화(quantizing)는 제 1 임시 오리지널 웨이트(first interim original weight)들을 양자화된 제 1 임시 특징 맵(first interim feature map)의 제 1 임시 저해상도 웨이트(first interim lower-resolution weight)들로 변환한다. 이것은 궁극적으로 입력 이미지(1202) 및 학습되어 저장된 설정 웨이트(weight)들 모두로부터 유래한 측면들을 포함할 수 있다.
양자화된 제 1 임시 특징 맵(first interim feature map)은 제 2 컨볼루셔널 레이어(1264)에 적용될 수 있다. 뉴럴 네트워크(1223)는, 제 2 컨볼루셔널 레이어(1264)에 적용된 양자화된 제 1 임시 특징 맵(first interim feature map)에 응답하여, 제 2 임시 특징 맵(second interim feature map)을 제 2 서브샘플링 레이어(1268)에서 생성하도록 구성될 수 있다. 이러한 제 2 임시 특징 맵(second interim feature map)은 제 2 임시 오리지널 웨이트(second interim original weight)들을 가질 수 있다.
MLP 분류기(1237)는 입력 이미지에 있는 트레이닝 이미지(training image)를 인식하도록 구성될 수 있다. 이러한 인식은 제 2 임시 특징 맵(second interim feature map)으로부터 수행될 수 있다. 이러한 인식의 수행은 인식 결과(1249)를 생성할 수 있다.
추가적으로, 양자화(quantizing)는 동작들(1256, 1257)에 의해 추가적인 위치들에 자리잡을 수 있다. 특히, 입력 이미지(1202) 자체는, 동작(1256)의 화살표에 의해 보여지는 것과 같이, 제 1 컨볼루셔널 레이어(1254)에 적용되기 이전에 양자화될 수 있다. 또한, 제 2 임시 특징 맵(second interim feature map)은, 동작(1257)의 화살표에 의해 보여지는 것과 같이, 제 2 서브샘플링 레이어(1268)에서 생성된 이후, 및 인식 동작 이전에 양자화될 수 있다. 다시, 양자화는 클라이언트 장치의 프로세서에 의해 수행될 수 있다.
이하에서 실제적인 시뮬레이션이 예시적으로 설명된다.
도 13은 필기 인식을 위한 40개의 샘플 트레이닝 이미지(sample training image)들이 그룹을 보여주는 도면이다(MNIST 필기 숫자). 이러한 트레이닝 이미지(training image)의 가장 좌측 열은 MLP 분류기의 목적으로 분류 “0”을 수신하고, 그 다음 열은 분류 “1”, 그리고 계속하여 총 10개의 분류를 수신할 수 있다.
도 14는 도 13의 시뮬레이션을 수행하기 위해 사용되는 샘플 컨볼루셔널 뉴럴 네트워크의 데이터 구조(1401)를 예시적으로 보여주는 도면이다. 도 14는 이상에서 설명된 양자화 동작들은 보여주지 않는다.
데이터 구조(1401)는 6개의 특징 맵들의 세트 C1(1454)을 포함한다. 각 특징 맵은 24x24 픽셀들을 가지고, 픽셀들은 5*5 커널(kernel)에서 이미지(1402)의 컨볼루션(convolution)에 의해 생성된다. 또한, 데이터 구조(1401)는 6개의 특징 맵들의 세트 S1(1458)을 포함한다. 각 특징 맵은 12x12 픽셀들을 가지고, 픽셀들은 1/2 스케일에서 세트 C1(1454)의 특징 맵들의 서브샘플링(subsampling)에 의해 생성된다. 또한, 데이터 구조(1401)는 12개의 특징 맵들의 세트 C2(1464)를 포함한다. 각 특징 맵은 8x8 픽셀들을 가지고, 픽셀들은 5*5 커널(kernel)에서 컨볼루션(convolution)에 의해 생성된다. 또한, 데이터 구조(1401)는 12개의 특징 맵들의 세트 S2(1468)를 포함한다. 각 특징 맵은 4x4 픽셀들을 가지고, 픽셀들은 1/2 스케일에서 세트 C2(1464)의 특징 맵들의 서브샘플링(subsampling)에 의해 생성된다. 또한, 데이터 구조(1401)는 인식 결과(1449)를 생성하는 MLP 분류기의 분류들(1437)을 포함한다.
트레이닝(training)은 웨이트(weight)들을 학습하기 위해 역전달(back propagation)을 이용하여 오프라인(offline)으로 수행된다. S.I.Q는, 이상에서 설명된 바와 같이, 더 낮은 비트 해상도를 위해 학습된 웨이트(weight)들을 양자화하기 위해 사용된다. 인식의 검사는 입력 또는 특징 맵들의 양자화를 통해 수행된다. 성능은 분류 에러(classification error)의 측면에서, 좀 더 작게, 좀 더 좋게, 평가된다.
출력 뉴런들에 연결된 분류기 웨이트(classifier weight)들의 차원은 컨볼루셔널 커널 웨이트(convolutional kernel weight)들보다 매우 더 크고, 더 높은 해상도를 위해 일반적으로 더 많은 비트들을 요구한다. 이러한 경우에 분류기의 해상도 비트는 6비트의 고정된 값으로 설정된다. 그러면 컨볼루셔널 커널들의 다른 비트 해상도들은 성능에 관하여 평가된다.
도 15는 기존 대비 본 발명의 성능에 대한 시뮬레이션 결과를 보여주는 테이블이다. 세로 열은 입력 해상도 비트 수이고, 가로 행은 웨이트 해상도 비트(weight resolution bit) 수이다. 각 행은 서로 다른 양자화를 수행한 3개의 하위 행들을 가진다. 첫 번째 하위 행은 균일 양자화를 수행한 경우이다. 두 번째 하위 행은 k-수단(k-means) 적응적 양자화를 수행한 경우이다. 세 번째 하위 행은 본 발명의 실시 예이다.
매우 낮은 비트 해상도인 경우, 물론 에러는 매우 높다. 하지만, 단지 4비트의 해상도의 경우, 첫번째 및 두 번째 하위 행들의 오리지널(original)에서 성취된 것과 같은, 오직 1.15% 의 에러만 관찰될 것이다. 사실, 화살표는 오리지널 로우 에러 테이블 값(original low error table value)이 어떻게 단지 4비트 해상도의 세 번째 하위 행에서 비 악화 테이블 값(no-worse table value)에 의해 충족되는지를 보여준다.
도 16은 기존 대비 본 발명의 성능 시뮬레이션을 보여주는 막대 그래프이다. 막대들(1610, 1620, 1643)은 낮은 비트 해상도(최대 4비트)에서 에러 검사의 평균을 보여준다. 각각은 a) 균일 양자화(uniform quantization, 1610), b) k-수단 적응적 양자화(k-means adaptive quantization, 1620), 및 c) 본 발명의 실시 예(1643)인 경우이다. 막대(1643)는 가장 낮은 에러를 가진다.
도 17은 기존 대비 본 발명의 실시 예의 성능을 시뮬레이션 한 막대 그래프이다. 막대들(1710, 1720, 1743)은 모든 비트 해상도에서 에러 검사의 평균을 보여준다. 각각은 a) 균일 양자화(uniform quantization, 1710), b) k-수단 적응적 양자화(k-means adaptive quantization, 1720), 및 c) 본 발명의 실시 예(1743)인 경우이다. 막대(1743)는 가장 낮은 에러를 가진다.
도 18은 기존 대비 본 발명의 실시 예의 성능을 시뮬레이션 한 막대 그래프들의 그룹을 보여주는 도면이다. 3개의 막대 그래프들의 각 그룹은 가로축을 따라 보여지는 동일한 에러에 대한 것이다. 각 그룹에 있어서, a) 가장 왼쪽 막대는 균일 양자화(uniform quantization)의 경우이고, b) 중간 막대는 k-수단 적응적 양자화(k-means adaptive quantization)의 경우이고, 그리고 c) 가장 오른쪽 막대는 본 발명의 실시 예의 경우이다. 세로축은 에러 레벨을 충족하기 위해 요구되는 총 비트 수를 보여준다(즉, 에러 레벨이 더 높지 않은 경우). 보여진 모든 에러 검사에서, 가장 오른쪽 막대에서 에러 레벨을 충족하기 위해 요구되는 총 비트 수가 가장 적게 요구된다.
이상에서 설명된 장치들 또는 시스템들은 기능들, 프로세스들 또는 방법들을 수행한다. 이러한 기능들, 프로세스들 또는 방법들은 로직 회로를 포함하는 하나 이상의 장치들로 구현될 수 있다. 이러한 장치는 컴퓨터 등등으로 불릴 수 있다. 이러한 장치는, 일반적인 목적의 컴퓨터 또는 하나 이상의 추가적인 기능들을 가지는 장치의 부분과 같이, 독립형 장치 또는 컴퓨터일 수 있다.
성능의 기준은 시스템 디자이너, 생산자, 사용자 또는 다른 유사한 이해 관계인에 의해 판단되어야 한다. 본 발명에서 사용되는 “실질적인(substantial)”이라는 용어는 일반적으로 시스템 성능을 결론짓는 적정성과 관련된다.
로직 회로(logic circuitry)는, 마이크로컨트롤러(microcontroller), 마이크로프로세서(microprocessor), 디지털 신호 프로세서(Digital Signal Processor, DSP) 등과 같이, 범용 또는 전용으로 프로그램 할 수 있는 프로세서를 포함한다. 예를 들면, 로직 회로는 프로세서들(120, 130)을 포함할 수 있다.
또한, 로직 회로(logic circuitry)는, 메모리와 같이, 비 일시적인 컴퓨터 판독 가능 저장 매체(non-transitory computer-readable storage media)를 포함할 수 있다. 이러한 매체는, 휘발성 메모리(volatile memory), 불 휘발성 메모리(non-volatile memory, NVM), 읽기 전용 메모리(read only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 자기 디스크 저장 매체(magnetic disk storage media), 광 저장 매체(optical storage media), 스마트 카드(smart card), 플래시 메모리 장치(flash memory device) 등을 제한없이 포함하는, 서로 다른 타입을 가질 수 있다. 예를 들면, 이러한 매체는 메모리들(130, 330)을 포함할 수 있다.
이러한 저장 매체(storage media)는, 독립적으로 또는 서로 결합하여, 데이터를 저장할 수 있다. 예를 들면, 저장 매체에 저장되는 데이터는 데이터(135, 335)를 포함한다.
추가적으로, 이러한 저장 매체는 프로세서가 읽고 실행할 수 있는 프로그램들을 저장할 수 있다. 특히, 프로그램들은 프로세서가 읽어서 실행할 수 있는 코드 형태의 명령들을 포함할 수 있다. 예를 들면, 이러한 프로그램들은 프로그램들(132, 332)를 포함한다.
프로그램의 실행은 물리적 수량의 물리적 조작에 의해 수행된다. 프로그램의 실행은 수행되는 기능들, 프로세스들, 행동들 또는 방법들로 결과를 도출할 수 있다. 또는 프로그램의 실행은 그러한 기능들, 프로세스들, 행동들 또는 방법들을 수행하기 위한 다른 장치들, 요소들 또는 블록들을 제어하는 프로세서로 결과를 도출할 수 있다. 때때로 단지 편의상의 이유로, 다양한 상호 연결된 별개의 소프트웨어 모듈들 또는 특성들과 같은 프로그램은 구현되거나 설명될 수 있다. 이러한 것들은 데이터와 함께 개별적으로, 또한 집합적으로 소프트웨어로 알려져 있다. 예를 들면, 소프트웨어는, “펌웨어(firmware)”라는 형태로, 하드웨어와 조합된다.
또한, 본 발명에서는 방법들 및 알고리즘들이 설명된다. 이러한 방법들 및 알고리즘들은 어떤 특정 로직 장치 또는 다른 기구에 필수적으로, 본질적으로 연관되지는 않는다. 오히려, 방법들 및 알고리즘들은, 범용 및 전용 컴퓨터, 마이크로프로세서 등과 같은, 컴퓨팅 기계에 의해 사용되는 프로그램에 의하여 유리하게 구현될 수 있다.
본 발명의 설명은, 적어도 하나의 컴퓨터 판독 가능 매체에 포함되는, 순서도, 디스플레이 이미지, 알고리즘 및 프로그램 동작들의 상징적 표현들을 포함한다. 순서도들의 하나의 세트는 프로그램들 및 방법들을 설명하는데 모두 사용될 수 있다. 그래서, 순서도가 상자로서 방법을 설명하는 반면에, 그것들은 또한 동시에 프로그램들을 설명할 수 있다.
이상에서 설명된 방법들에서, 각각의 동작은, 발생할 수 있는 기록된, 작업 또는 발생 원인의 긍정적인 단계로서 수행될 수 있다. 그러한 작업 또는 발생 원인은 전체 시스템 또는 장치, 그것의 단지 하나 이상의 요소들에 의해 발생될 수 있다. 추가적으로, 동작들의 순서는 보여진 것에 제한되지 않으며, 다른 실시 예에서는 다른 순서들도 가능하다. 또한, 어떤 실시 예들에서, 새로운 동작들이 추가되거나 개별적인 동작들이 변형되거나 삭제될 수 있다. 예를 들면, 추가된 동작들은 다른 시스템, 기구, 장치 또는 방법을 주로 설명한 것으로부터 유래할 수 있다.
통상의 기술자는, 전체로서 받아들여, 본 설명의 관점에서 본 발명을 실시할 수 있을 것이다. 상세한 설명들은 이해를 돕기 위해 포함되었다. 예를 들면, 본 발명이 불필요하게 불명료해지지 않도록, 잘 알려진 측면들은 설명되지 않았다. 또한, 본 설명에 있는 선행 기술에 대한 언급은 하지 않았고, 이러한 선행 기술은 모든 국가에서 공통의 일반적인 지식의 일부를 형성하는 승인 또는 제안의 형태로 간주되지 않아야 한다.
본 설명은 하나 이상의 예시들을 포함한다. 하지만, 이러한 예시들은 본 발명을 제한하지 않는다. 정말로, 예시들 또는 본 발명의 실시 예들은 설명된 것에 따라 또는 다르게 실행될 수 있다. 또한, 예시들 또는 본 발명의 실시 예들은 다른 현재 또는 미래의 기술과 함께 실시될 수 있다. 다른 실시 예들은 여기에 설명된 기능들의 조합 또는 하위 조합을 포함한다. 예를 들면, 설명된 실시 예와 다른 순서의 기능이 제공 또는 적용될 수 있다. 또한, 하나의 실시 예로부터 개별적인 기능을 추출하여 다른 실시 예에 그러한 기능을 삽입할 수 있다. 또한, 실시 예로부터 하나 이상의 기능들을 제거할 수 있다. 또한, 기능들의 조합 및 하위 조합에 포함된 기능들을 제공하는 동안에, 하나의 실시 예로부터 기능을 제거하고, 다른 실시 예로부터 추출된 기능을 추가하는 것을 함께 할 수 있다.
본 설명에서, “구성된”이라는 문구는, 용도를 잘 설명하기 위해, 이러한 문구 앞에 있는 요소 또는 기능들의 물리적 특성들로 근본적으로 묶인 구성의 하나 이상의 실제 상태들을 나타낸다. 통상의 기술자들은, 본 설명을 검토한 후에 본 설명에 보여진 모든 예시들을 넘어, 이러한 요소들 또는 기능들은 다양한 방식으로 구현될 수 있음이 명확히 이해될 것이다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
102: 트레이닝 이미지
104: 데이터베이스
105: 입력 장치
110: 서버 시스템
120: 프로세서
123: 뉴럴 네트워크
130: 메모리
132: 프로그램
135: 데이터
137: 다층 퍼셉트론 분류기
305: 입력 장치
310: 클라이언트 장치
320: 프로세서
323: 뉴럴 네트워크
330: 메모리
332: 프로그램
335: 데이터
337: 다층 퍼셉트론 분류기
402, 702, 1202: 이미지
421, 721, 1221: 제 1 레이어 페어
422, 722, 1222: 제 2 레이어 페어
423, 723, 1223: 뉴럴 네트워크
454, 754, 1254: 제 1 컨볼루셔널 레이어
458, 758, 1258: 제 1 서브샘플링 레이어
464, 764, 1264: 제 2 컨볼루셔널 레이어
468, 768, 1268: 제 2 서브샘플링 레이어
474, 774, 1249: 결과
502: 이미지
511, 512: 웨이트 커널
531, 532: 특징 맵
551: 제 1 특징 맵
552: 제 2 특징 맵
554: 컨볼루셔널 레이어
558: 서브샘플링 레이어
1237: 다층 퍼셉트론 분류기

Claims (20)

  1. 서버 시스템에서 트레인(train)되는 뉴럴 네트워크(neural network)를 수반하는 클라이언트 장치에 있어서:
    프로세서;
    상기 서버 시스템으로부터 수신되는 상기 트레인된 뉴럴 네트워크를 저장하는 메모리; 그리고
    상기 트레인된 뉴럴 네트워크를 수신하는 입력 장치를 포함하되,
    상기 트레인된 뉴럴 네트워크는 특징 맵(feature map)을 생성하고, 상기 특징 맵은 입력 이미지로부터 유래된 복수의 웨이트(weight) 값들을 포함하고,
    상기 트레인된 뉴럴 네트워크는 상기 특징 맵에 대해 양자화 동작을 수행하여 상기 복수의 웨이트 값들 각각의 비트 수를 감소시키는 클라이언트 장치.
  2. 제 1 항에 있어서,
    상기 입력 장치는 이미지를 캡처(capture)하고, 상기 메모리에 이미지 입력 데이터를 저장하는 클라이언트 장치.
  3. 제 1 항에 있어서,
    이미지 입력 데이터를 맵핑하는 다층 퍼셉트론 분류기(multilayer perceptron classifier)를 더 포함하는 클라이언트 장치.
  4. 제 1 항에 있어서,
    상기 뉴럴 네트워크는 컨볼루셔널(convolutional) 뉴럴 네트워크를 포함하는 클라이언트 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 양자화 동작은 유니터리 양자화(unitary quantization), 적응적 양자화, 균일 양자화, 또는 관리된 반복 양자화(supervised iterative quantization) 중 하나를 포함하는 클라이언트 장치.
  9. 제 1 항에 있어서,
    상기 양자화 동작은 이미지 입력 데이터의 역전달(back propagation)을 수행하는 클라이언트 장치.
  10. 제 1 항에 있어서,
    상기 뉴럴 네트워크는 객체 인식을 수행하는 클라이언트 장치.
  11. 제 1 항에 있어서,
    상기 클라이언트 장치는 스마트폰, 테블릿 컴퓨터 및 이동식 전자 장치 중 하나를 포함하는 클라이언트 장치.
  12. 객체 인식을 수행하기 위한 클라이언트 장치; 그리고
    상기 객체 인식을 수행하기 위해 뉴럴 네트워크를 트레인(train)하고, 상기 뉴럴 네트워크를 상기 클라이언트 장치로 엑스포트(export)하는 서버 시스템을 포함하되,
    상기 트레인된 뉴럴 네트워크는 특징 맵(feature map)을 생성하고, 상기 특징 맵은 입력 이미지로부터 유래된 복수의 웨이트(weight) 값들을 포함하고,
    상기 트레인된 뉴럴 네트워크는 상기 특징 맵에 대해 양자화 동작을 수행하여 상기 복수의 웨이트 값들 각각의 비트 수를 감소시키는 시스템.
  13. 제 12 항에 있어서,
    상기 클라이언트 장치는 프로세서, 메모리, 사용자 인터페이스, 통신 인터페이스, 전원 공급기 및 입력 장치를 포함하고,
    상기 메모리는, 상기 서버 시스템으로부터 수신되는, 상기 트레인(train)된 뉴럴 네트워크를 포함하는 시스템.
  14. 제 12 항에 있어서,
    상기 서버 시스템은 트레이닝 이미지(training image)의 데이터베이스를 포함하는 시스템.
  15. 제 12 항에 있어서,
    상기 뉴럴 네트워크는 컨볼루셔널 뉴럴 네트워크를 포함하는 시스템.
  16. 제 15 항에 있어서,
    상기 컨볼루셔널 뉴럴 네트워크는 적어도 두 레이어(layer)를 포함하는 시스템.
  17. 제 15 항에 있어서,
    상기 컨볼루셔널 뉴럴 네트워크는 컨볼루셔널 레이어(convolutional layer) 및 서브샘플링 레이어(subsampling layer)를 포함하는 시스템.
  18. 제 12 항에 있어서,
    상기 서버 시스템은 다층 퍼셉트론 분류기를 포함하는 시스템.
  19. 제 12 항에 있어서,
    상기 뉴럴 네트워크의 학습 방법은 역전달(back propagation), Restricted Boltzmann Machine, 및 Auto Encoder Decode technique 중 하나를 포함하는 시스템.
  20. 삭제
KR1020150131798A 2014-09-22 2015-09-17 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 KR102545128B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462053692P 2014-09-22 2014-09-22
US62/053,692 2014-09-22
US14/663,233 2015-03-19
US14/663,233 US10417525B2 (en) 2014-09-22 2015-03-19 Object recognition with reduced neural network weight precision

Publications (2)

Publication Number Publication Date
KR20160034814A KR20160034814A (ko) 2016-03-30
KR102545128B1 true KR102545128B1 (ko) 2023-06-20

Family

ID=55526047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150131798A KR102545128B1 (ko) 2014-09-22 2015-09-17 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템

Country Status (3)

Country Link
US (3) US10417525B2 (ko)
KR (1) KR102545128B1 (ko)
CN (1) CN105447498B (ko)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417525B2 (en) * 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US9418458B2 (en) * 2015-01-05 2016-08-16 Superfish Ltd. Graph image representation from convolutional neural networks
CN105205782B (zh) * 2015-09-06 2019-08-16 京东方科技集团股份有限公司 超解像方法和***、服务器、用户设备及其方法
US10380479B2 (en) 2015-10-08 2019-08-13 International Business Machines Corporation Acceleration of convolutional neural network training using stochastic perforation
US10867247B1 (en) * 2016-02-14 2020-12-15 Perceive Corporation Machine learning through multiple layers of novel machine trained processing nodes
WO2017152990A1 (en) * 2016-03-11 2017-09-14 Telecom Italia S.P.A. Convolutional neural networks, particularly for image analysis
US11106973B2 (en) 2016-03-16 2021-08-31 Hong Kong Applied Science and Technology Research Institute Company Limited Method and system for bit-depth reduction in artificial neural networks
CN107305636A (zh) * 2016-04-22 2017-10-31 株式会社日立制作所 目标识别方法、目标识别装置、终端设备和目标识别***
CN109375951B (zh) * 2016-04-27 2020-10-09 中科寒武纪科技股份有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
CN111860812B (zh) * 2016-04-29 2024-03-01 中科寒武纪科技股份有限公司 一种用于执行卷积神经网络训练的装置和方法
CN109661672B (zh) * 2016-05-04 2023-08-22 渊慧科技有限公司 使用强化学习利用外部存储器增强神经网络
US11062383B2 (en) 2016-05-10 2021-07-13 Lowe's Companies, Inc. Systems and methods for displaying a simulated room and portions thereof
US10395356B2 (en) * 2016-05-25 2019-08-27 Kla-Tencor Corp. Generating simulated images from input images for semiconductor applications
US9971958B2 (en) * 2016-06-01 2018-05-15 Mitsubishi Electric Research Laboratories, Inc. Method and system for generating multimodal digital images
CN109643396A (zh) * 2016-06-17 2019-04-16 诺基亚技术有限公司 构建卷积神经网络
US10643126B2 (en) * 2016-07-14 2020-05-05 Huawei Technologies Co., Ltd. Systems, methods and devices for data quantization
KR102608467B1 (ko) * 2016-07-28 2023-12-04 삼성전자주식회사 뉴럴 네트워크의 경량화 방법, 이를 이용한 인식 방법, 및 그 장치
CN109804383B (zh) * 2016-08-04 2024-03-26 谷歌有限责任公司 使用神经网络编码和重构输入
CN110268423A (zh) 2016-08-19 2019-09-20 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的***和方法
US11080846B2 (en) * 2016-09-06 2021-08-03 International Business Machines Corporation Hybrid cloud-based measurement automation in medical imagery
CN106997473A (zh) * 2016-09-08 2017-08-01 汪润春 一种基于神经网络的图像识别方法
US11138790B2 (en) 2016-10-14 2021-10-05 Axial Medical Printing Limited Method for generating a 3D physical model of a patient specific anatomic feature from 2D medical images
GB201617507D0 (en) 2016-10-14 2016-11-30 Axial3D Limited Axial3D UK
US11222413B2 (en) 2016-11-08 2022-01-11 Samsung Electronics Co., Ltd. Method for correcting image by device and device therefor
KR102399148B1 (ko) * 2016-11-25 2022-05-19 삼성전자주식회사 엑스선 장치 및 이의 의료 영상 획득
KR20180060149A (ko) 2016-11-28 2018-06-07 삼성전자주식회사 컨볼루션 처리 장치 및 방법
WO2018102700A1 (en) * 2016-12-01 2018-06-07 Pinscreen, Inc. Photorealistic facial texture inference using deep neural networks
KR101944536B1 (ko) 2016-12-11 2019-02-01 주식회사 딥바이오 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법
CN108242046B (zh) * 2016-12-27 2022-02-18 阿里巴巴集团控股有限公司 图片处理方法及相关设备
US10817774B2 (en) * 2016-12-30 2020-10-27 Facebook, Inc. Systems and methods for providing content
US10262218B2 (en) * 2017-01-03 2019-04-16 Qualcomm Incorporated Simultaneous object detection and rigid transform estimation using neural network
CN106709917B (zh) * 2017-01-03 2020-09-11 青岛海信医疗设备股份有限公司 神经网络模型训练方法、装置及***
US11392825B2 (en) 2017-01-09 2022-07-19 Samsung Electronics Co., Ltd. Method and algorithm of recursive deep learning quantization for weight bit reduction
US10832135B2 (en) * 2017-02-10 2020-11-10 Samsung Electronics Co., Ltd. Automatic thresholds for neural network pruning and retraining
EP3583545A4 (en) * 2017-02-17 2021-01-13 The Coca-Cola Company SYSTEM AND METHOD FOR CHARACTER RECOGNITION MODEL AND RECURRING TRAINING FROM END USER INPUT
KR102390379B1 (ko) * 2017-03-06 2022-04-26 삼성전자주식회사 뉴럴 네트워크 프로세서, 뉴럴 네트워크 프로세서의 동작 방법, 및 뉴럴 네트워크 장치
CN108229326A (zh) * 2017-03-16 2018-06-29 北京市商汤科技开发有限公司 人脸防伪检测方法和***、电子设备、程序和介质
US10592725B2 (en) * 2017-04-21 2020-03-17 General Electric Company Neural network systems
WO2018199721A1 (ko) * 2017-04-28 2018-11-01 서울대학교 산학협력단 뉴럴네트워크에서 데이터 처리를 가속화하는 방법 및 장치
US11276163B2 (en) * 2017-05-02 2022-03-15 Alvitae LLC System and method for facilitating autonomous control of an imaging system
KR102400017B1 (ko) * 2017-05-17 2022-05-19 삼성전자주식회사 객체를 식별하는 방법 및 디바이스
KR102526650B1 (ko) 2017-05-25 2023-04-27 삼성전자주식회사 뉴럴 네트워크에서 데이터를 양자화하는 방법 및 장치
CN107256422A (zh) * 2017-06-06 2017-10-17 上海兆芯集成电路有限公司 数据量化方法及装置
WO2018226014A1 (ko) * 2017-06-07 2018-12-13 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102548718B1 (ko) 2017-06-07 2023-06-28 삼성전자주식회사 전자 장치 및 그 제어 방법
US11272160B2 (en) * 2017-06-15 2022-03-08 Lenovo (Singapore) Pte. Ltd. Tracking a point of interest in a panoramic video
WO2019006088A1 (en) * 2017-06-28 2019-01-03 The Regents Of The University Of California LEARNING OF ARTIFICIAL NEURAL NETWORKS WITH REDUCED COMPLEXITY OF CALCULATION
TWI754764B (zh) * 2017-06-30 2022-02-11 美商克萊譚克公司 由低解析度影像產生高解析度影像以用於半導體應用
KR102031982B1 (ko) 2017-07-04 2019-10-14 주식회사 알고리고 언레이블드 데이터의 재학습 여부 결정을 이용한 압력분포 정보의 자세 분류 장치
SG11201911600VA (en) * 2017-07-07 2020-01-30 Mitsubishi Electric Corp Data processing device, data processing method, and compressed data
US10127494B1 (en) * 2017-08-02 2018-11-13 Google Llc Neural network crossbar stack
US10706350B1 (en) * 2017-08-11 2020-07-07 Facebook, Inc. Video analysis using convolutional networks
US20190050710A1 (en) * 2017-08-14 2019-02-14 Midea Group Co., Ltd. Adaptive bit-width reduction for neural networks
US11676004B2 (en) * 2017-08-15 2023-06-13 Xilinx, Inc. Architecture optimized training of neural networks
EP3673410A4 (en) 2017-08-21 2021-04-07 Nokia Technologies Oy METHOD, SYSTEM AND DEVICE FOR PATTERN RECOGNITION
US11055604B2 (en) * 2017-09-12 2021-07-06 Intel Corporation Per kernel Kmeans compression for neural networks
US11481638B2 (en) 2017-09-15 2022-10-25 Google Llc Augmenting neural networks
SG11202002415VA (en) * 2017-09-19 2020-04-29 Univ Ramot Method and system for image content recognition
KR102491546B1 (ko) 2017-09-22 2023-01-26 삼성전자주식회사 객체를 인식하는 방법 및 장치
CN107622253B (zh) * 2017-09-30 2024-02-02 上海引昱数字科技集团有限公司 一种基于神经网络识别设备类型的图像识别方法
US20190108442A1 (en) * 2017-10-02 2019-04-11 Htc Corporation Machine learning system, machine learning method and non-transitory computer readable medium for operating the same
DE102017218851A1 (de) * 2017-10-23 2019-04-25 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
US11195096B2 (en) * 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
US11270187B2 (en) 2017-11-07 2022-03-08 Samsung Electronics Co., Ltd Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
KR20190061381A (ko) 2017-11-27 2019-06-05 주식회사 알고리고 Cnn 분류 모델에서의 하드웨어 변수 자동화 방법 및 장치
KR20190061382A (ko) 2017-11-27 2019-06-05 주식회사 알고리고 Cnn 분류 모델에서의 전처리 방법 및 장치
US10192115B1 (en) 2017-12-13 2019-01-29 Lowe's Companies, Inc. Virtualizing objects using object models and object position data
US11360930B2 (en) * 2017-12-19 2022-06-14 Samsung Electronics Co., Ltd. Neural processing accelerator
US11803734B2 (en) * 2017-12-20 2023-10-31 Advanced Micro Devices, Inc. Adaptive quantization for neural networks
GB2570792B (en) * 2017-12-26 2020-09-30 Canon Kk Image capturing apparatus, method of controlling the same, and storage medium
CA3033014A1 (en) * 2018-02-07 2019-08-07 Royal Bank Of Canada Robust pruned neural networks via adversarial training
CN108875899A (zh) * 2018-02-07 2018-11-23 北京旷视科技有限公司 用于神经网络的数据处理方法、装置和***及存储介质
JP6892606B2 (ja) * 2018-03-02 2021-06-23 日本電信電話株式会社 位置特定装置、位置特定方法及びコンピュータプログラム
US11468302B2 (en) * 2018-03-13 2022-10-11 Recogni Inc. Efficient convolutional engine
US11468316B2 (en) * 2018-03-13 2022-10-11 Recogni Inc. Cluster compression for compressing weights in neural networks
WO2019182378A1 (en) 2018-03-21 2019-09-26 Lg Electronics Inc. Artificial intelligence server
CN108875904A (zh) * 2018-04-04 2018-11-23 北京迈格威科技有限公司 图像处理方法、图像处理装置和计算机可读存储介质
US10740434B1 (en) 2018-04-20 2020-08-11 Perceive Corporation Reduced dot product computation circuit
US11783167B1 (en) 2018-04-20 2023-10-10 Perceive Corporation Data transfer for non-dot product computations on neural network inference circuit
US11481612B1 (en) 2018-04-20 2022-10-25 Perceive Corporation Storage of input values across multiple cores of neural network inference circuit
WO2019207581A1 (en) * 2018-04-22 2019-10-31 Technion Research & Development Foundation Limited System and method for emulating quantization noise for a neural network
US10902302B2 (en) * 2018-04-23 2021-01-26 International Business Machines Corporation Stacked neural network framework in the internet of things
CN108628993B (zh) * 2018-04-28 2021-01-05 国家基础地理信息中心 电子地图自适应分类方法、装置、设备及存储介质
KR20190128885A (ko) * 2018-05-09 2019-11-19 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102172213B1 (ko) 2018-06-04 2020-10-30 주식회사 딥바이오 투 페이스 질병 진단 시스템 및 그 방법
KR102162895B1 (ko) 2018-06-04 2020-10-07 주식회사 딥바이오 듀얼 클래스를 지원하는 질병 진단 시스템 및 그 방법
JP7045947B2 (ja) * 2018-07-05 2022-04-01 株式会社日立製作所 ニューラルネットワークの学習装置および学習方法
CN110795976B (zh) 2018-08-03 2023-05-05 华为云计算技术有限公司 一种训练物体检测模型的方法、装置以及设备
KR102151723B1 (ko) 2018-08-07 2020-09-03 주식회사 딥바이오 다중 색 모델 및 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
KR102215269B1 (ko) 2018-08-07 2021-02-15 주식회사 딥바이오 진단 결과 생성 시스템 및 방법
KR102185893B1 (ko) 2018-08-07 2020-12-02 주식회사 딥바이오 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 방법
KR102174379B1 (ko) 2018-08-27 2020-11-04 주식회사 딥바이오 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
CN110876062A (zh) 2018-08-31 2020-03-10 三星电子株式会社 用于特征图的高速压缩处理的电子设备及其控制方法
KR102130687B1 (ko) * 2018-09-18 2020-07-07 주식회사 스트리스 다중 센서 플랫폼 간 정보 융합을 위한 시스템
WO2020065436A1 (de) * 2018-09-28 2020-04-02 Siemens Healthcare Diagnostics Inc. Verfahren zum konfigurieren einer bildauswerteeinrichtung sowie bildauswerteverfahren und bildauswerteeinrichtung
US11463750B2 (en) 2018-09-28 2022-10-04 Korea Advanced Institute Of Science And Technology Method and apparatus for transmitting adaptive video in real time using content-aware neural network
CN109558892A (zh) * 2018-10-30 2019-04-02 银河水滴科技(北京)有限公司 一种基于神经网络的目标识别方法及***
KR102462910B1 (ko) 2018-11-12 2022-11-04 한국전자통신연구원 배치 정규화 레이어의 웨이트들에 대한 양자화 방법 및 그 장치
US11847567B1 (en) 2018-12-05 2023-12-19 Perceive Corporation Loss-aware replication of neural network layers
US11610110B2 (en) 2018-12-05 2023-03-21 Bank Of America Corporation De-conflicting data labeling in real time deep learning systems
CN111291882A (zh) * 2018-12-06 2020-06-16 北京百度网讯科技有限公司 一种模型转换的方法、装置、设备和计算机存储介质
KR101971278B1 (ko) 2018-12-13 2019-04-26 주식회사 알고리고 인공신경망을 이용한 비정상 데이터 구분 장치
US20220067527A1 (en) * 2018-12-18 2022-03-03 Movidius Ltd. Neural network compression
US11823389B2 (en) * 2018-12-20 2023-11-21 Qatar Foundation For Education, Science And Community Development Road network mapping system and method
US10963746B1 (en) * 2019-01-14 2021-03-30 Xilinx, Inc. Average pooling in a neural network
US11347297B1 (en) 2019-01-23 2022-05-31 Perceive Corporation Neural network inference circuit employing dynamic memory sleep
KR102236948B1 (ko) 2019-01-25 2021-04-06 주식회사 딥바이오 준-지도학습을 이용하여 질병의 발병 영역에 대한 어노테이션을 수행하기 위한 방법 및 이를 수행하는 진단 시스템
KR102226897B1 (ko) 2019-01-25 2021-03-11 주식회사 딥바이오 다중 페이즈 생체 이미지를 이용하여 학습된 뉴럴 네트워크를 이용한 질병 진단 방법 및 이를 수행하는 질병 진단 시스템
WO2020209840A1 (en) * 2019-04-09 2020-10-15 Hewlett-Packard Development Company, L.P. Applying directionality to audio by encoding input data
KR102198224B1 (ko) 2019-04-11 2021-01-05 주식회사 알고리고 공간 데이터를 기초로 한 인공신경망을 이용한 비정상 데이터 구분 장치
KR102119891B1 (ko) 2019-04-11 2020-06-05 주식회사 알고리고 미세 변화 데이터 및 공간 데이터를 기초로 한 인공신경망을 이용한 비정상 데이터 구분 장치
CN111954206B (zh) * 2019-05-17 2024-04-09 株式会社Ntt都科摩 终端和基站
KR20200139909A (ko) * 2019-06-05 2020-12-15 삼성전자주식회사 전자 장치 및 그의 연산 수행 방법
KR20210002906A (ko) * 2019-07-01 2021-01-11 삼성전자주식회사 객체를 인식하기 위한 전자 장치 및 그의 동작 방법
CN110472502A (zh) * 2019-07-10 2019-11-19 视联动力信息技术股份有限公司 视联网下危险物品图像检测的方法、装置、设备、介质
KR102329546B1 (ko) 2019-07-13 2021-11-23 주식회사 딥바이오 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
US11847568B2 (en) 2019-07-30 2023-12-19 Perceive Corporation Quantizing neural networks using shifting and scaling
US11531883B2 (en) 2019-08-12 2022-12-20 Bank Of America Corporation System and methods for iterative synthetic data generation and refinement of machine learning models
US11537880B2 (en) * 2019-08-12 2022-12-27 Bank Of America Corporation System and methods for generation of synthetic data cluster vectors and refinement of machine learning models
WO2021028714A1 (en) * 2019-08-13 2021-02-18 Omron Corporation Method, apparatuses, computer program and medium including computer instructions for performing inspection of an item
US11900246B2 (en) * 2019-09-02 2024-02-13 Samsung Electronics Co., Ltd. Method and apparatus for recognizing user based on on-device training
US10872295B1 (en) 2019-09-19 2020-12-22 Hong Kong Applied Science and Technology Institute Company, Limited Residual quantization of bit-shift weights in an artificial neural network
KR20210036715A (ko) 2019-09-26 2021-04-05 삼성전자주식회사 뉴럴 프로세싱 장치 및 뉴럴 프로세싱 장치에서 뉴럴 네트워크의 풀링을 처리하는 방법
CN111049836A (zh) * 2019-12-16 2020-04-21 北京澎思科技有限公司 数据处理方法、电子设备及计算机可读存储介质
US11995555B1 (en) 2019-12-17 2024-05-28 Perceive Corporation Training a neural network with quantized weights
US11688051B2 (en) * 2020-01-24 2023-06-27 Johnson Controls Tyco IP Holdings LLP Automating inspection using neural network
CN111583196B (zh) * 2020-04-22 2021-09-07 北京智芯微电子科技有限公司 用于输电线路的监测***及监测方法
US11175844B1 (en) * 2020-05-13 2021-11-16 International Business Machines Corporation Optimal placement of data structures in a hybrid memory based inference computing platform
US20220029987A1 (en) * 2020-07-21 2022-01-27 Royal Bank Of Canada Facial recognition tokenization
WO2022019355A1 (ko) 2020-07-23 2022-01-27 주식회사 딥바이오 다중 페이즈 생체 이미지를 이용하여 학습된 뉴럴 네트워크를 이용한 질병 진단 방법 및 이를 수행하는 질병 진단 시스템
CN116134535A (zh) 2020-07-23 2023-05-16 第一百欧有限公司 利用半监督学习对疾病发病区域进行注解的方法及执行其的诊断***
CN111835364B (zh) * 2020-08-03 2023-11-14 辽宁工程技术大学 一种极化码的低复杂度神经bp译码方法
GB202101908D0 (en) 2021-02-11 2021-03-31 Axial Medical Printing Ltd Axial3D pathology
KR20240042459A (ko) * 2021-07-23 2024-04-02 인텔렉추얼디스커버리 주식회사 비디오 압축을 이용한 추론 방법 및 장치
EP4207125A1 (en) 2021-12-29 2023-07-05 Verisure Sàrl Remotely monitored premises security monitoring systems
CN114145730B (zh) * 2021-12-30 2024-05-24 中新国际联合研究院 基于深度学习与射频感知的生命体征监测动作去除方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120275690A1 (en) * 2011-04-26 2012-11-01 Nec Laboratories America, Inc. Distributed artificial intelligence services on a cell phone

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994927A (en) * 1989-06-19 1991-02-19 Gte Laboratories Inc Self-adaptive neural net based vector quantizer for image compression
US5101361A (en) 1989-09-29 1992-03-31 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analog hardware for delta-backpropagation neural networks
US5444796A (en) * 1993-10-18 1995-08-22 Bayer Corporation Method for unsupervised neural network classification with back propagation
US5835901A (en) * 1994-01-25 1998-11-10 Martin Marietta Corporation Perceptive system including a neural network
JPH07239938A (ja) * 1994-02-28 1995-09-12 Matsushita Electric Ind Co Ltd 検査方法
US5966701A (en) * 1995-06-21 1999-10-12 Matsushita Electric Industrial Co., Ltd. Recognition and judgement apparatus having various learning functions
US5812993A (en) 1996-03-07 1998-09-22 Technion Research And Development Foundation Ltd. Digital hardware architecture for realizing neural network
US6038337A (en) * 1996-03-29 2000-03-14 Nec Research Institute, Inc. Method and apparatus for object recognition
US5717833A (en) 1996-07-05 1998-02-10 National Semiconductor Corporation System and method for designing fixed weight analog neural networks
US8621032B2 (en) * 1996-07-18 2013-12-31 Ca, Inc. Method and apparatus for intuitively administering networked computer systems
US6324532B1 (en) * 1997-02-07 2001-11-27 Sarnoff Corporation Method and apparatus for training a neural network to detect objects in an image
US6128606A (en) * 1997-03-11 2000-10-03 At&T Corporation Module for constructing trainable modular network in which each module inputs and outputs data structured as a graph
GB9822573D0 (en) 1998-10-16 1998-12-09 Matra Marconi Space Uk Ltd Block adaptive quantisation
US6513023B1 (en) 1999-10-01 2003-01-28 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Artificial neural network with hardware training and hardware refresh
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
FR2803710B1 (fr) * 2000-01-11 2002-03-22 Canon Kk Procede et dispositif d'insertion d'un signal de marquage dans une image
US6976012B1 (en) * 2000-01-24 2005-12-13 Sony Corporation Method and apparatus of using a neural network to train a neural network
US6785647B2 (en) 2001-04-20 2004-08-31 William R. Hutchison Speech recognition system with network accessible speech processing resources
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US6836767B2 (en) 2001-10-03 2004-12-28 International Business Machines Corporation Pipelined hardware implementation of a neural network circuit
US6608924B2 (en) * 2001-12-05 2003-08-19 New Mexico Technical Research Foundation Neural network model for compressing/decompressing image/acoustic data files
US7016529B2 (en) 2002-03-15 2006-03-21 Microsoft Corporation System and method facilitating pattern recognition
US20040199482A1 (en) * 2002-04-15 2004-10-07 Wilson Scott B. Systems and methods for automatic and incremental learning of patient states from biomedical signals
KR100442835B1 (ko) * 2002-08-13 2004-08-02 삼성전자주식회사 인공 신경망을 이용한 얼굴 인식 방법 및 장치
US7346208B2 (en) * 2003-10-25 2008-03-18 Hewlett-Packard Development Company, L.P. Image artifact reduction using a neural network
US7236615B2 (en) * 2004-04-21 2007-06-26 Nec Laboratories America, Inc. Synergistic face detection and pose estimation with energy-based models
JP2006048277A (ja) * 2004-08-03 2006-02-16 Dynacomware Taiwan Inc ネットワークを利用した外字提供システム及び方法
WO2006036442A2 (en) 2004-08-31 2006-04-06 Gopalakrishnan Kumar Method and system for providing information services relevant to visual imagery
CN100367706C (zh) * 2004-10-28 2008-02-06 上海交通大学 基于网络服务资源框架的图像网格处理***
WO2006057475A1 (en) 2004-11-23 2006-06-01 Kicheon Hong Face detection and authentication apparatus and method
JP2006268825A (ja) * 2005-02-28 2006-10-05 Toshiba Corp オブジェクト検出装置、学習装置、オブジェクト検出システム、方法、およびプログラム
US20060193520A1 (en) * 2005-02-28 2006-08-31 Takeshi Mita Object detection apparatus, learning apparatus, object detection system, object detection method and object detection program
US7593574B2 (en) * 2005-07-01 2009-09-22 Microsoft Corporation Ink warping for normalization and beautification / ink beautification
CA2513018A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
US7747070B2 (en) 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
US7634137B2 (en) * 2005-10-14 2009-12-15 Microsoft Corporation Unfolded convolution for fast feature extraction
JP4529919B2 (ja) 2006-02-28 2010-08-25 日本ビクター株式会社 適応量子化装置及び適応量子化プログラム
CN101317458B (zh) 2006-03-16 2012-04-18 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
US7711157B2 (en) * 2006-08-01 2010-05-04 California Institute Of Technology Artificial intelligence systems for identifying objects
US8185909B2 (en) * 2007-03-06 2012-05-22 Sap Ag Predictive database resource utilization and load balancing using neural network model
TW200842733A (en) * 2007-04-17 2008-11-01 Univ Nat Chiao Tung Object image detection method
US8600674B1 (en) 2007-08-15 2013-12-03 University Of South Florida Using pattern recognition in real-time LBS applications
US8234228B2 (en) 2008-02-07 2012-07-31 Nec Laboratories America, Inc. Method for training a learning machine having a deep multi-layered network with labeled and unlabeled training data
CN101299233B (zh) * 2008-04-08 2010-11-10 西安交通大学 基于fpga实现的运动目标识别与跟踪方法
US8081816B1 (en) 2008-06-06 2011-12-20 Kevin Maurice Irick Apparatus and method for hardware implementation of object recognition from an image stream using artificial neural network
DE102008027605B4 (de) * 2008-06-10 2010-04-08 Optiming Gmbh System und Verfahren zur rechnerbasierten Analyse großer Datenmengen
WO2010003044A2 (en) * 2008-07-03 2010-01-07 Nec Laboratories America, Inc. Epithelial layer detector and related methods
US8385971B2 (en) 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US9195898B2 (en) 2009-04-14 2015-11-24 Qualcomm Incorporated Systems and methods for image recognition using mobile devices
US8442927B2 (en) * 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks
US8175617B2 (en) 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
WO2011064207A1 (en) * 2009-11-24 2011-06-03 Oce-Technologies B.V. Method for digital image adaption for printing an image on a printing apparatus
US8345984B2 (en) * 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
US8582807B2 (en) * 2010-03-15 2013-11-12 Nec Laboratories America, Inc. Systems and methods for determining personal characteristics
US8660355B2 (en) 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
EP2594090B1 (en) 2010-07-15 2014-08-13 Widex A/S Method of signal processing in a hearing aid system and a hearing aid system
US9398205B2 (en) * 2010-09-01 2016-07-19 Apple Inc. Auto-focus control using image statistics data with coarse and fine auto-focus scores
US8856055B2 (en) 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
CN102411708A (zh) * 2011-12-02 2012-04-11 湖南大学 一种融合双树复小波变换和离散小波变换的人脸识别方法
HUE030528T2 (en) * 2012-03-15 2017-05-29 Cortical Io Gmbh Process, equipment and product for semantic processing of texts
CN102663432A (zh) * 2012-04-18 2012-09-12 电子科技大学 结合支持向量机二次识别的模糊核聚类语音情感识别方法
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US8924322B2 (en) 2012-06-15 2014-12-30 International Business Machines Corporation Multi-processor cortical simulations with reciprocal connections with shared weights
US9025865B2 (en) 2012-09-14 2015-05-05 Xerox Corporation Methods and systems for reducing memory footprints associated with classifiers
WO2014144103A1 (en) * 2013-03-15 2014-09-18 Sony Corporation Characterizing pathology images with statistical analysis of local neural network responses
US9400955B2 (en) * 2013-12-13 2016-07-26 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
WO2015134665A1 (en) * 2014-03-04 2015-09-11 SignalSense, Inc. Classifying data with deep learning neural records incrementally refined through expert input
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
CN105960647B (zh) * 2014-05-29 2020-06-09 北京旷视科技有限公司 紧凑人脸表示
US9251431B2 (en) * 2014-05-30 2016-02-02 Apple Inc. Object-of-interest detection and recognition with split, full-resolution image processing pipeline
BR112017003893A8 (pt) * 2014-09-12 2017-12-26 Microsoft Corp Rede dnn aluno aprendiz via distribuição de saída
US10417525B2 (en) * 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
US9336483B1 (en) * 2015-04-03 2016-05-10 Pearson Education, Inc. Dynamically updated neural network structures for content distribution networks
US9786036B2 (en) * 2015-04-28 2017-10-10 Qualcomm Incorporated Reducing image resolution in deep convolutional networks
US10262259B2 (en) * 2015-05-08 2019-04-16 Qualcomm Incorporated Bit width selection for fixed point neural networks
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
US20160358069A1 (en) * 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
US20160358075A1 (en) * 2015-06-08 2016-12-08 The Regents Of The University Of Michigan System for implementing a sparse coding algorithm
US10182783B2 (en) * 2015-09-17 2019-01-22 Cmt Medical Technologies Ltd. Visualization of exposure index values in digital radiography
US20170132511A1 (en) * 2015-11-10 2017-05-11 Facebook, Inc. Systems and methods for utilizing compressed convolutional neural networks to perform media content processing
US10831444B2 (en) * 2016-04-04 2020-11-10 Technion Research & Development Foundation Limited Quantized neural network training and inference
US10643126B2 (en) * 2016-07-14 2020-05-05 Huawei Technologies Co., Ltd. Systems, methods and devices for data quantization
US10802992B2 (en) * 2016-08-12 2020-10-13 Xilinx Technology Beijing Limited Combining CPU and special accelerator for implementing an artificial neural network
US10115393B1 (en) * 2016-10-31 2018-10-30 Microsoft Technology Licensing, Llc Reduced size computerized speech model speaker adaptation
US10650303B2 (en) * 2017-02-14 2020-05-12 Google Llc Implementing neural networks in fixed point arithmetic computing systems
US11556772B2 (en) * 2017-04-28 2023-01-17 Intel Corporation Incremental precision networks using residual inference and fine-grain quantization
US11640533B2 (en) * 2018-08-03 2023-05-02 Arm Limited System, method and apparatus for training neural networks using multiple datasets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120275690A1 (en) * 2011-04-26 2012-11-01 Nec Laboratories America, Inc. Distributed artificial intelligence services on a cell phone

Also Published As

Publication number Publication date
US11593586B2 (en) 2023-02-28
CN105447498A (zh) 2016-03-30
US10417525B2 (en) 2019-09-17
CN105447498B (zh) 2021-01-26
KR20160034814A (ko) 2016-03-30
US20160086078A1 (en) 2016-03-24
US20190392253A1 (en) 2019-12-26
US11875268B2 (en) 2024-01-16
US20230140474A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
KR102545128B1 (ko) 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
JP6946572B2 (ja) 加速された量子化積和演算
US10891537B2 (en) Convolutional neural network-based image processing method and image processing apparatus
JP6574503B2 (ja) 機械学習方法および装置
EP3065085B1 (en) Digital image processing using convolutional neural networks
Qian et al. Deep learning for steganalysis via convolutional neural networks
US11403529B2 (en) Noise injection training for memory-based learning
CN112308200B (zh) 神经网络的搜索方法及装置
DE112020003127T5 (de) Erweiterung von dynamischem Verarbeitungselement-Array
CN109840531A (zh) 训练多标签分类模型的方法和装置
Ko et al. Controlled dropout: A different approach to using dropout on deep neural network
CN112529146B (zh) 神经网络模型训练的方法和装置
CN110222718B (zh) 图像处理的方法及装置
WO2020098257A1 (zh) 一种图像分类方法、装置及计算机可读存储介质
WO2022012668A1 (zh) 一种训练集处理方法和装置
Bezak Building recognition system based on deep learning
CN114821096A (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
Zhao et al. Towards compact 1-bit cnns via bayesian learning
CN116863194A (zh) 一种足溃疡图像分类方法、***、设备及介质
Chauhan et al. Empirical Study on convergence of Capsule Networks with various hyperparameters
Guo et al. Efficient convolutional networks learning through irregular convolutional kernels
Sun et al. Randomized nonlinear two-dimensional principal component analysis network for object recognition
Bricman et al. CocoNet: A deep neural network for mapping pixel coordinates to color values
WO2022095984A1 (en) Method and system for convolution with workload-balanced activation sparsity
WO2022133814A1 (en) Omni-scale convolution for convolutional neural networks

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