KR20160138892A - 계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치 - Google Patents

계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치 Download PDF

Info

Publication number
KR20160138892A
KR20160138892A KR1020160032246A KR20160032246A KR20160138892A KR 20160138892 A KR20160138892 A KR 20160138892A KR 1020160032246 A KR1020160032246 A KR 1020160032246A KR 20160032246 A KR20160032246 A KR 20160032246A KR 20160138892 A KR20160138892 A KR 20160138892A
Authority
KR
South Korea
Prior art keywords
neural network
layer
training
data
quot
Prior art date
Application number
KR1020160032246A
Other languages
English (en)
Inventor
치앙 장
쩡핑 지
릴롱 쉬
일리아 오브시안니코브
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20160138892A publication Critical patent/KR20160138892A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06F15/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

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

Abstract

신경망을 설정하는 방법이 제공된다. 신경망을 설정하는 방법은, 입력을 처리하고, 출력을 제공하기 위한 복수의 특성 검출기들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계, 그리고 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함시키는 단계를 포함한다. 컴퓨터 프로그램 상품에 의한 다른 방법이 여기에 게시될 것이다.

Description

계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치{METHOD AND APPARATUS OF LEARNING NEURAL NETWORK VIA HIERARCHICAL ENSEMBLE LEARNING}
본 발명은 심층 신경망에 관한 것으로, 좀 더 상세하게는 심층 신경망 시스템의 훈련 기술에 관한 것이다.
심층 신경망, 특히, 심층 컨볼루션 신경망은 연구 개발 영역뿐 아니라 이미지 분석, 사물 검출, 비디오 분석, 그리고 음성 인식과 같은 응용에서의 획기적인 성공에 힘입어 산업계에서도 점점 관심을 받고 있다. 이러한 응용 영역이나 다른 곳에서 전통적 계산 방법의 현저한 성능 향상이 관찰되고 있다. 어떤 영역에서는 심층 신경망의 성능은 인간을 능가할 수 있다. 심층 컨볼루션 신경망(이하, CNN)에 있어서, 코어는 정규화 계층들과 서브샘플링 계층들(또는 풀링 계층)에 의해서 엮이는 심층적으로 적층된 컨볼루션 계층들이며, 각각의 컨볼루션 계층은 필터 셋(필터 뱅크)을 포함할 수 있다. 필터들은 이미지 분석을 위한 2차원(2D) 필터 또는 비디오 분석을 위한 3차원(3D) 필터, 또는 음성 인식을 위한 선형(또는 일차원 1D) 필터일 수 있다.
공통적으로, 주어진 신경망의 학습을 위해서는 역전파 기법이 적용된다. 역전파 기법에서, 신경망의 파라미터들은 훈련 데이터를 통해서 학습될 수 있다. 이미지 인식을 수행하는 신경망의 예에서, 훈련 데이터는 복수의 이미지들을 포함할 수 있다. 훈련 기간 동안 종종 학습 프로세스는 국부 최소점에서 정체되거나 막대한 수의 파라미터들과 신경망의 비선형성에 기인하여 과적합(over-fitting) 상태가 되는 경향이 있다. 결과적으로, 죽은 필터 그리고/또는 복사 필터가 현실화된다. 이러한 현상은 신경망 구현시에 비효율적인 처리를 야기시킨다.
보다 효율적인 훈련을 제공하기 위해서 몇몇 기술들이 시도되어 왔다. 어떤 기술에서는 더 많은 훈련 데이터를 사용하는 방법이 포함되고, 훈련 데이터에 더 많은 변화(예를 들면, 랜덤 잡음을 추가)를 부가하기도 하고, 좀더 복잡한 네트워크(예를 들면, 더 많은 계층이나 필터들)를 사용하기도 한다. 이러한 노력들은 몇몇 한계들로 인해서 어려움을 겪고 있다. 예를 들면, 더 많은 훈련 데이터는 훈련 데이터를 수집하는데 더 많은 노력이 필요함을 의미한다. 더 많은 변화는 랜덤성에 의해서 신경망의 불안정을 야기시킨다. 더 복잡한 신경망을 사용하는 기술은 더 큰 계산 능력과 과적합을 위한 잠재 능력의 향상을 요구한다. 과적합의 한 현상은 비효율적인 특성 검출이다. 예를 들면, 죽은 또는 복사 특성 검출은 신경망의 성능 향상에는 기여하지 못하면서 막대한 수의 파라미터들을 소모하게 되고, 결과적으로 처리 속도를 감소시키며, 추가적인 자원을 위한 일반 요구를 부과한다.
따라서, 심층 신경망의 보다 효율적인 학습을 위해서는 향상된 기술이 요구되고 있다. 향상된 기술은 죽은 필터나 복사 필터 현상을 줄일 수 있어야 하고, 보다 효율적인 처리가 가능해야 한다.
본 발명의 목적은 효율적인 학습이 가능한 심층 신경망의 훈련 방법 및 그것을 포함하는 장치를 제공하는데 있다.
제 일 실시 예에 따른 신경망을 설정하는 방법이 제공된다. 신경망을 설정하는 방법은, 입력을 처리하고, 출력을 제공하기 위한 복수의 특성 검출기들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계, 그리고 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함시키는 단계를 포함한다.
상기 복수의 뉴런들은 적어도 하나의 특성 검출기와 경도 검출기를 포함하고, 상기 적어도 하나의 특성 검출기와 경도 검출기는 채널을 포함할 수 있다. 상기 신경망을 설정하는 방법은, 각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계를 더 포함하되, 상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 특성 검출기로부터 정보를 전달한다. 상기 신경망을 설정하는 방법은, 뉴런들의 일부를 선택하고 비활성화하는 단계를 더 포함하고, 상기 신경망에 훈련 데이터를 입력하고, 상기 신경망의 훈련된 모델을 생성하는 단계를 더 포함할 수 있다. 상기 비활성화된 뉴런의 일부를 활성화함으로써 상기 신경망을 리셋하고, 상품의 설정을 위한 상기 신경망이 구현된 실시물을 제공하기 위한 상기 신경망의 복수의 훈련 모델들을 조합하는 단계를 더 포함할 수 있다. 상기 신경망을 설정하는 방법은 상기 훈련 데이터에 포함되지 않는 테스트 데이터를 구비한 상품의 신경망을 테스트 하는 단계를 더 포함할 수 있다. 이 실시 예에서, 상기 계층들은 컨볼루션 계층, 풀링 계층, 최대-풀링 계층, 그리고 입력 특성 맵들 중 적어도 하나를 포함할 수 있다. 상기 신경망은 머신 읽기 가능 미디어에 저장된 머신 실행 명령들을 포함할 수 있다.
다른 실시 예에 있어서, 신경망을 구현하는 방법이 제공된다. 신경망을 구현하는 방법은, 입력을 처리하고 출력을 제공하기 위한 복수의 뉴런들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계를 포함하되, 상기 신경망은 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함하고, 각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계, 상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 뉴런의 일부로부터 정보를 전달하고, 상기 각각의 계층의 뉴런들의 일부를 선택하고 비활성화함으로써 상기 신경망을 훈련하고, 그 후에 상기 신경망의 훈련 모델을 생성하기 위한 훈련 데이터를 입력하는 단계, 복수의 훈련 모델들을 생성하기 위해 상기 훈련 절차를 반복하는 단계, 상기 신경망의 생산 모델을 제공하기 위한 상기 신경망의 훈련 모델들을 조합하는 단계, 상기 신경망의 생산 모델의 생산 데이터를 처리하는 단계를 포함할 수 있다.
어떤 실시 예에서, 상기 훈련, 조합, 처리 동작들 중 적어도 하나는 서버에서 수행된다. 어떤 실시 예에서, 모바일 장치에서 상기 생산 데이터를 수집하는 단계를 더 포함한다. 상기 모바일 장치는 상기 생산 데이터를 원거리 서버로 전송한다. 상기 모바일 장치는 스마트폰, 카메라, 테블릿 컴퓨터, 스캐너, 그리고 특화 장비들 중 어느 하나를 포함한다. 상기 생산 데이터는 이미지 데이터나 오디오 데이터 중 적어도 하나를 포함한다. 상기 처리는 사물 인식, 음성 인식, 언어 번역, 얼굴 인식, 의료 이미지 분석, 필적 감정 중 적어도 하나를 포함한다.
또 다른 실시 예에 따르면, 머신 읽기 가능 매체에 저장되며, 신경망을 구현하기 위한 방법을 실행하는 기계 실행 명령어들을 포함하는 컴퓨터 프로그램 제품이 제공된다. 상기 신경망을 구현하기 위한 방법은, 각각 입력을 처리하고 출력을 제공하기 위한 복수의 뉴런들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계를 포함하되, 상기 신경망은 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함하고, 각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계를 포함하되, 상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 뉴런의 일부로부터 정보를 전달하고, 상기 각각의 계층의 뉴런들의 일부를 선택하고 비활성화함으로써 상기 신경망을 훈련하고, 이후에는 그 후에 상기 신경망의 훈련 모델을 생성하기 위한 훈련 데이터를 입력하는 단계, 복수의 훈련 모델들을 생성하기 위해 상기 훈련 절차를 반복하는 단계, 상기 신경망의 생산 모델을 제공하기 위한 상기 신경망의 훈련 모델들을 조합하는 단계, 그리고 상기 신경망의 생산 모델의 생산 데이터를 처리하는 단계를 포함한다.
상기 컴퓨터 프로그램 제품이 제공하는 방법은, 사물 인식, 음성 인식, 언어 번역, 안면 인식, 의료 이미지 분석, 필적 감정 들 중 적어도 하나를 출력하는 단계를 더 포함한다.
본 발명의 실시 예에 따르면, 적은 자원을 사용하고도 높은 학습 효율을 갖는 신경망 구현이 가능하다.
도 1은 시스템 버스(113)를 통해서 연결되는 입출력 어뎁터(107)와 통신 어뎁터(106)를 도시하고 있다.
도 2는 사물 인식을 위한 특성 검출기 그리고/또는 결정을 전개하는 데 유용한 컨볼루션 신경망(200, CNN)의 기본적인 특징을 보여주는 도면이다.
도 3은 피드포워드 전파에 의해서 훈련되는 인스턴스를 개략적으로 보여주는 도면이다.
도 4는 역전파 방식에 의해서 훈련되는 인스턴스를 개략적으로 보여주는 도면이다.
도 5는 다른 실시 예에 따른 신경망의 스위치 관계를 보여주는 도면이다.
도 6은 제 1 컨볼루션 계층의 필터들을 보여주는 도면이다.
도 7a는 컨볼루션 기술을 사용하여 훈련된 신경망의 예를 보여준다.
도 7b는 본 발명의 실시 예에 따른 기술을 사용하여 훈련된 신경망의 예를 보여준다.
도 8은 본 발명의 신경망(800)을 훈련하는 방법을 예시적으로 보여주는 순서도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
여기에 게시되는 기술들은 신경망을 훈련하기 위한 기술들이다. 이 기술들은 신경망의 효율적인 학습을 위해, 그리고 신경망의 컨볼루션 계층에서의 죽은 필터나 복사 필터의 수를 줄이기 위해 제공된다. 게시되는 기술에서는 각각의 신경망 계층에서의 두 개의 스위치 매커니즘 중 하나 또는 모두에 근거하여 파라미터 서브 셋을 비활성화할 수 있다. 두 개의 스위치 매커니즘은 (1) 파라미터(즉, 각각의 가중치를 갖는 뉴런들)의 선택 및 비활성화를 랜덤하게 제공하는 랜덤 스위치); 및 (2) 파라미터(즉, 각각의 가중치를 갖는 뉴런들)의 선택 및 비활성화를 계층간 주어진 뉴런의 연결에 따라 수행되는 연결 기반 스위치이다. 신경망의 파라미터의 서브셋을 비활성화함으로써 남아있는 파라미터가 좀더 효율적이고 강력하게 될 수 있다. 이러한 기술의 응용에 따르면, 결과적으로 죽은 필터와 복사 필터의 수를 감소시키는 결과를 제공한다. 결과적으로, 선행 기술에 비하여 향상된 성능의 신경망을 제공할 수 있다.
여기의 게시에 따른 방식으로 훈련되는 신경망은 다양한 복잡한 계산 업무에 사용될 수 있다. 예를 들면, 신경망은 이미지 데이터가 주어졌을 때 사물 인식에 사용될 수 있다. 사물 인식은 안면 인식, 손글씨 분석, 의료 이미지 분석, 그리고 이미지에 포함된 물체나 특징의 분석에 요구되는 일이나 그와 유사한 일들을 포함한다. 신경망은 환경 감시, 제조 및 생산 제어, 의료 진단 보조, 그리고 그와 유사한 다양한 절차에 사용될 수 있다. 신경망은 음성 인식, 언어 번역, 음성 데이터가 주어졌을 때 언어 작업들을 수행할 수 있다.
여기의 게시들에 대한 정확한 의미를 제공하기 위하여 이제 몇몇 특징들이 소개될 것이다.
여기에 언급될 용어 “신경망”은 일반적으로 적응적 특징을 갖는 통계적 학습 알고리즘을 수행하는, 기계 학습에 유용한 소프트웨어를 의미한다. 신경망은 생체의 신경망을 모사한 서로 상호 연결되어 네트워크를 형성하는 “뉴런”, “처리 요소”, “유닛” 또는 다른 유사한 용어들로 알려진 복수의 인공적 노드들을 포함한다. 일반적으로, 신경망은 적응적 가중치(학습 알고리즘에 의해서 조정되는 숫자 파라미터)의 셋들을 포함하고, 그것들의 입력에 대해 근사적 비선형 함수 기능을 갖는다. 적응적 가중치는 훈련이나 예측 기간동안 활성화되는 뉴런들간의 연결 강도를 의미한다. 일반적으로, 신경망은 비선형, 분산, 병렬, 그리고 지역 처리 및 적응 원칙에 따라 동작한다. 일반적으로, 제 1 계층은 “입력 계층”으로 불리고, 여기에 포함되는 뉴런들은 입력 뉴런들이라 불린다. “출력 계층”은 출력 뉴런들을 포함한다. 중간의 계층들은 입력도 출력도 아닌 뉴런들이기 때문에 “히든 계층”이라 불린다. 뉴런들은 특성 검출기, 경도 및 이와 같은 컴포넌트를 포함할 수 있다.
일반적으로, “컨볼루션”은 두 개의 함수(f, g)에 대한 수학 연산으로, 원래 함수의 변형된 버전의 제 3 함수를 생성한다. 제 3 함수는 일반적으로 두 함수 중 어느 하나의 원래 함수가 변형되는 양의 함수로서 두 함수들의 영역 중첩을 포함한다.
일반적으로 용어 “컨볼루션 신경망(CNN)”은 각각의 뉴런들이 타일 형태로 배치되고, 가시 필드에서의 중첩 영역에 응답하는 형태의 신경망 타입을 의미한다. 일반적으로 컨볼루션 신경망(CNN)은 국부 수신 필드, 공유 가중치, 그리고 영상 처리 통합 등에 적용될 수 있다. 국부 수신 필드는 히든 뉴런 계층으로 입력되는 픽셀들의 연결로 간주될 수 있다. 예를 들면, 제 1 히든 계층의 뉴런들은 입력 이미지의 작고 국부적인 영역에 대응할 수 있다. 히든 뉴런에 대응하는 입력 이미지의 영역은 히든 뉴런의 “국부 수신 필드”로 불린다. 제 1 히든 계층에 포함되는 각각의 히든 뉴런들은 다른 히든 뉴런들과 동일한 가중치와 바이어스를 사용하고, 따라서, “공유 가중치”를 갖는다. 이것은 제 1 히든 계층의 모든 뉴런들은 다른 영역과 동일한 특징을 검출함을 의미한다. 입력 계층으로부터 제공되는 결과 맵을 “특성 맵”이라고 하고, 특성 맵을 정의하는 가중치를 “공유 가중치”라 한다. “풀링 계층”은 컨볼루션 계층 이후에 즉시 사용된다. 풀링 계층은 컨볼루션 계층의 출력을 단순화시킨다. 즉, 풀링 계층은 컨볼루션 계층으로부터 출력되는 특성 맵들 각각을 수신하고, 간결한 특성 맵을 준비한다. 풀링을 위한 하나의 공통 절차는 “최대-풀링”으로 알려져 있다. 최대-풀링에서, 풀링 유닛은 특성 맵으로 출력되는 입력 영역의 최대 활성치를 단순히 출력한다.
심층 컨볼루션 신경망(CNN)은 표준 계층, 풀링 계층(공간적으로 입력을 다운 샘플링한) 그리고/또는 상층의 완전 연결 계층과 비용 계층과 같은 다른 형태의 계층들 사이에 적층되는 컨볼루션 계층들로 표현될 수 있다. 각각의 컨볼루션 계층은 필터 셋(예를 들면, RGB 이미지를 입력받고 응답을 제공하는 제 1 계층의 필터)에 의해서 파라미터화될 수 있다. 심층 컨볼루션 신경망(CNN)의 파워는 RGB 이미지 데이터로부터 시작하는 단순 특성으로 시작하는 심층으로 적층된 계층들로부터 오며, 후속되는 계층이 고레벨 의미를 갖도록 사용되는 각 계층들을 통하여 점점 복잡한 특성들을 학습한다.
여기서 언급된 용어 “필터” 또는 “커널”은 일반적으로 연결 가중치의 계층을 의미한다. 필터의 입력으로 이미지가 사용될 때, 입력은 작은 2차원 이미지 패치를 포함하고, 출력은 단일 유닛이 된다. 필터가 반복적으로 적용되기 때문에, 응답 연결은 수신 필드의 중첩되는 시리즈와 같이 보인다.
여기서 언급된 용어 “특성 검출기”는 입력되는 데이터의 변화를 학습하고, 신경망에서 사용될 수 있는 표현을 제공하는 기술의 셋을 의미한다.
여기서 언급된 용어 “서브샘플링” 또는 “다운-샘플링”은 신호의 전체 사이즈를 줄이는 것을 의미한다. 이미지 처리에 사용되는 2-차원 필터 출력의 경우, 서브샘플링은 위치가 고정된 필터들의 증가로 고려될 수 있다. “최대 풀링”으로 언급된 기술은, 감소된 행렬의 각각의 요소들의 최대값을 취하는 과정을 의미한다. 의미상으로는, 이것은 컨볼루션 계층이 답할 질문을 “이 필터가 얼마나 여기에서 잘 적용되는가”에서 “이 필터가 얼마나 이 영역에 잘 적용되는가”로 전환하는 것에 대응한다. 컨볼루션 계층들 사이의 최대 풀링 계층의 적용에 따라 특성 추상성의 증가에 따라 공간 추상성도 증가할 수 있다.
여기에 언급된 용어 “이미지”는 수치화된 이미지 데이터의 2-차원 어레이를 나타내지만, 이것은 설명의 간결화를 위한 것일 뿐 이미지 데이터는 여기에 국한되지 않는다. 서버에 제공되는 이미지는 원격 입력 장치(모바일 장치에 포함되는 카메라와 같은)에 의해서 수집되고, 중간 도구(예를 들면, 소프트웨어 클라이언트)에 의해서 훈련을 위해 준비되고, 클라이언트에 의해서 제공된 이미지의 형태를 흉내 내도록 설정된 것일 수 있다. 클라이언트에 의해서 수집된 이미지는 디지털 형태로 제공될 수 있다. 예시적인 실시 예에서, 훈련 이미지의 차원과 픽셀 수는 일반적으로 생산 이미지의 차원과 픽셀 수와 동일하다. 게다가, 클라이언트 동작에 의해서 수집되는 다른 이미지와 훈련 이미지를 식별하기 위한 목적으로 신경망에 의해서 훈련되는 이미지를 “훈련 이미지”로 칭하기로 한다. 주어진 신경망에서 클라이언트에 의한 후속되는 분석을 위해 수집되는 이미지는 “생산 이미지”로 칭하기로 한다.
여기에 언급된 용어 “생산”은 입력 데이터를 분석하기 위한 신경망의 사용을 의미한다. 반면, “훈련”은 생산을 위한 신경망의 변화에 동반하는 시퀀스를 의미한다.
여기에 언급된 용어 “사물” 또는 “형태”는 이미지 내에 포함된 외관을 의미한다. 예를 들면, 경관(사물의 조합)을 보여주는 픽쳐(이미지) 내에 차량(사물)이 나타날 수 있다. 예시적으로 “형태”는 이미지 내에서 나타나는 라인, 곡선, 강도, 칼라, 그리고 다른 특정 특징들을 포함할 수 있다. 어떤 실시 예에서, 사물이라는 용어와 형태라는 용어는 상호 호환되어 사용될 수 있다.
여기서 언급된 용어 “서버”는 강력한 컴퓨터 자원을 갖는 컴퓨터 리소스를 의미한다. 예시적인 자원은, 여기서 게시되는 업무를 수행하기 위한 중요한 자원들을 포함하고, 실질적인 메모리, 처리 능력, 데이터 스토리지 등을 포함할 수 있다. 예시적인 실시 예에서, 서버는 블레이드 서버와 같은 통상의 서버를 포함할 수 있고, 메인 프레임, 개인용 컴퓨터의 네트워크, 또는 단순한 개인용 컴퓨터일 수 있다. 서버는 입력을 위해 사용되는 모바일 장치와 같은 다른 장치로부터 원거리에 위치할 수 있다. 입력 장치의 일 예는 스마트폰일 수 있다.
여기서 언급된 용어 “모바일 장치”는 모바일 환경에서 사용가능한 컴퓨팅 자원을 의미한다. 종종, 모바일 장치로 설정된 장치는 컴퓨팅 자원의 감소된 셋을 가질 수 있다. 따라서, 다양한 실시 예의 모바일 장치들이 컴퓨팅 능력을 제공하기 위해 통신을 유지할 수 있다. 모바일 장치의 예로서 스마트폰, 테블릿 컴퓨터, 그리고/또는 특성화된 장치들이 포함될 수 있다.
여기서 언급된 용어 “클라이언트”는 축소된 계산 리소스를 갖는 컴퓨팅 자원을 의미한다. 예시적인 자원은 여기서 게시되는 업무 수행을 위한 중요한 것들을 포함하고, 최소량의 메모리와, 처리 능력, 데이터 스토리지 등을 포함할 수 있다. 어떤 실시 예에서, 클라이언트는 신경망에 입력되는 입력 이미지를 조합하기 위한 이미지 처리 능력을 포함할 수 있다. 어떤 실시 예에서, 클라이언트는 모바일 장치에서 사용되기 위해 설정되고, 원거리 서버에서 동작하는 강력하며, 무료인 자원들과 통신할 수 있다.
여기서 언급된 용어들 “프로그램”, “소프트웨어”, “애플리케이션”, “애드-인”, 그리고 다른 유사한 용어들은 넌-트랜지터리 머신 읽기 가능 매체에 저장되는 기계 실행 명령어들을 의미한다. 기계 실행 명령어들은 컴퓨팅 리소스 및 관련된 컴포넌트의 제어를 통해서 구현되는 본 발명의 방법을 실행하기 위한 것이다.
여기서 언급된 용어들 “비디오”, “무비”, 그리고 다른 유사한 용어들은 이미지의 시리즈를 의미한다.
예시적인 실시 예에서, 여기에 게시되는 방법과 장치는 신경망을 훈련하는데 유용하다. 신경망은 이미지 데이터로부터 사물 인식을 수행하도록 설정된다. 하지만, 예시적인 실시 예들은 설명을 위한 것일 뿐 본 발명은 여기에 국한되지 않는다. 따라서, 여기에 게시되는 방법과 장치는 신경망을 사용하는 다른 응용에서도 동일하게 사용될 수 있다.
도 1을 참조하여, 본 발명의 컴퓨팅 시스템(100)이 예시적으로 설명될 것이다. 이 실시 예에서, 컴퓨팅 시스템(100)은 서버(130)를 포함한다. 서버(130)는 하나 이상의 중앙처리장치들(101a, 101b, 101c, …)을 포함한다. 이하에서 프로세서(101)로 칭하기로 한다. 프로세서(101)는 RAM(140, 시스템 메모리 또는 메모리)에 연결되고, 시스템 버스(113)를 통해서 다양한 컴포넌트들과 연결될 수 있다. 컴퓨팅 시스템(100)은 시스템 버스(113)를 통해서 ROM(141)과 연결될 수도 있다. ROM(141)은 컴퓨팅 시스템(100)의 기본 기능들을 제어하는 BIOS(built-in operating system)를 포함할 수 있다.
도 1은 시스템 버스(113)를 통해서 연결되는 입출력 어뎁터(107)와 통신 어뎁터(106)를 도시하고 있다. 입출력 어뎁터(107)는 PATA(parallel ATA 또는 IDE나 EIDE), SATA(Serial ATA), SCSI, SAS(Serial Attached SCSI), 광섬유 채널, 또는 다른 종류의 인터페이스를 포함할 수 있다. 입출력 어뎁터(107)는 하드 디스크(103) 그리고/또는 롱텀 스토리지 유닛(105, 일예로 테이프 드라이브) 또는 광드라이브와 같은 다른 유사한 컴포넌트들과 통신을 제공한다. 입출력 어뎁터(107), 하드 디스크(103), 롱텀 스토리지 유닛(105)는 이하에서는 매스 스토리지(104)로 통합적으로 칭하기로 한다.
통신 어뎁터(106)는 서버(130)가 다른 시스템과 통신할 수 있도록 시스템 버스(113)와 외부 네트워크(150)를 연결한다. 통신 어뎁터(106)는 유선 통신과 무선 통신 프로토콜 중 적어도 하나에 의해서 지지될 수 있다. 예를 들면, 통신 어뎁터(106)는 예를 들면 유선 이더넷, WiFi(802.11 프로토콜), UMTS, 다이얼-업, 액티브-싱크, 셀룰러(GSM, GPRS, EDGE, CDMA, TDMA, 3G, 4G 등의 프로토콜을 사용하는)와 같은 프로토콜에 의해서 지원될 수 있다. 일반적으로, 통신 어뎁터(106)는 네트워크(150)와 통신하고, 인터넷(121)과 통신할 수 있다.
서버(130)는 파워 서플라이(120)로부터 전원을 공급받는다. 어떤 실시 예에서, 파워 서플라이(120)는 교류를 수신하여 직류로 변환하는 적어도 하나의 변환기를 포함할 수 있다. 어떤 실시 예에서, 파워 서플라이(120)는 배터리를 포함할 수 있다. 파워 서플라이(120)는 다양한 형태의 입력 파워를 수신하고 제어하기 위한 회로들을 포함할 수 있다.
도시된 바와 같이 입출력 장치들이 사용자 인터페이스 어뎁터(108)에 의해서 시스템 버스(113)에 연결된다. 키보드(109), 마우스(110), 스피커(111) 등이 사용자 인터페이스 어뎁터(108)에 의해서 시스템 버스(113)에 연결된다. 적절한 동작을 위해서 다른 사용자 인터페이스 컴포넌트들이 더 포함될 수 있다.
디스플레이 모니터(136)를 연결하기 위한 디스플레이 어뎁터(112)는 시스템 버스(113)에 연결된다. 디스플레이 어뎁터(112) 그리고/또는 디스플레이 모니터(136)는 그래픽 애플리케이션의 성능을 향상시키기 위한 그래픽 어뎁터, 비디오 컨트롤러, 정전식 디스플레이(터치 스크린)과 같은 다양한 컴포넌트들로 설정될 수 있다. 디스플레이 모니터(136)는 사용자 인터페이스(501)를 디스플레이하기 위해 사용될 수도 있다.
어떤 실시 예에서, 어뎁터들(106, 107, 108, 112)은 중간 버스 브릿지(미도시)를 통해서 시스템 버스(113)와 연결되는 적어도 하나의 입출력 버스에 연결될 수 있다. 하드 디스크 컨트롤러, 네트워크 어뎁터, 그래픽 어뎁터 등과 같은 주변 장치들과의 연결을 위한 적절한 입출력 버스는 PCI 버스와 같은 공통 프로토콜을 포함할 것이다.
일반적으로, 컴퓨팅 시스템(100)은 넌-트랜지터리 기계 읽기 가능 매체(ROM, RAM, 또는 매스 스토리지 유닛 104과 같은)에 기계 읽기 가능 명령어를 저장한다. 기계 읽기 가능 명령어(여기서, 소프트웨어, 애플리케이션, 클라이언트, 프로세스, 플러그-인, 그리고 다른 유사한 용어들에 대응)는 후술하게 될 기능들을 제공한다.
컴퓨팅 시스템(100)은 추가적인 컴포넌트를 포함할 수 있다. 추가적인 컴포넌트는 다른 기능들을 제공할 수 있다. 예를 들면, 컴퓨팅 시스템(100)은 제 3자 통신 시스템(151)을 사용하거나 의존할 수 있다. 간단히 제 3자 통신 시스템(151)은 시스템 조작부(151)로 언급될 것이다. 추가적으로, 컴퓨팅 시스템(100)은 적어도 하나의 모바일 장치(180)를 포함할 수 있다. 적어도 하나의 모바일 장치(180)는 스마트폰과 같은 장치를 포함할 수 있다. 스마트폰 장치는 예시적으로 애플사의 아이폰, 구글사의 안드로이드 플랫폼에서 동작하는 장치뿐 아니라 마이크로소프트사의 윈도 환경에서 동작하는 장치를 포함할 수 있다.
이 실시 예에서, 적어도 하나의 모바일 장치(180)는 서버(130)에서 발견되는 종류의 컴포넌트를 포함할 수 있다. 예를 들면, 적어도 하나의 모바일 장치(180)는 적어도 하나의 CPU를 포함할 수 있다. CPU는 내부 시스템 버스를 통하여 다른 컴포넌트와 연결되거나 통신할 수 있다. 모바일 장치(180) 내의 다른 컴포넌트의 예로, 파워 서플라이, 메모리, 소프트웨어, 사용자 컨트롤, 디스플레이, 카메라(전면 또는 후면 카메라), 램프, 통신 인터페이스를 포함할 수 있다.
CPU(101)는 ARM 코어 또는 다른 프로세서일 수 있다. 파워 서플라이(120)는 배터리나 AC를 DC로 변환하기 위한 변환기와 같은 DC 소스로부터 제공될 수 있다. 사용자 컨트롤은 온/오프 스위치나 홈버튼을 포함할 수 있다. 디스플레이(136)는 LCD, LED, OLED, AMOLED, IPS 중 적어도 하나의 기술을 사용하는 것일 수 있다. 램프는 LED일 수 있다.
통신 인터페이스는 유선 인터페이스 그리고/또는 무선 인터페이스를 포함할 수 있다. 무선 인터페이스는 무선 서비스 프로세서를 포함할 수 있다. 무선 인터페이스는 셀룰러, 블루투스, Wi-Fi, NFC, ZigBee 등의 프로토콜을 사용할 수 있다. 통신 서비스는 블루투스, Wi-Fi, 이더넷, DSL, LTE, PCS, 2G, 3G, 4G, LAN, CDMA, TDMA, GSM, WDM, WLAN 등을 포함하는 무선 통신 인터페이스를 통해서 제공될 수 있다. 통신 인터페이스는 음성 채널을 포함할 수 있다. 이것은 통신 인터페이스는 보이스 명령어를 수신하기 위한 마이크로폰, 그리고 스피커를 포함할 수 있다. 어떤 실시 예에서, 스피커(111)는 바코드가 읽혀지는 경우 음성 신호를 제공할 수 있다. 통신 인터페이스는 시각적 인지를 위해서 상태 광을 제공할 수도 있다.
통신 인터페이스는 데이터 통신뿐 아니라 음성 통신 기능을 제공한다. 데이터 통신은 소프트웨어나 데이터(이미지, 분석 결과, 등의 데이터 중 적어도 하나)의 통신 기능을 제공하기 위해 사용된다. 통신 인터페이스를 통한 통신은 단방향 통신 또는 양방향 통신일 수 있다.
모바일 장치(180)는 센서와 같은 부가적인 컴포넌트를 포함할 수 있다. 센서의 예로, 방향 정보를 제공하기 위한 가속도 센서, 위치 정보를 제공하기 위한 GPS 센서를 포함할 수 있다. 모바일 장치(180)는 주변장치 인터페이스와 통신 포트들을 포함할 수 있다.
서버(130)의 어떤 실시 예에서, 기계 읽기 가능 명령어는 다른 컴포넌트들과 통신하기 위한 드라이브에 저장될 수 있다. 예를 들면, 드라이버들은 모바일 장치(180)의 카메라 그리고/또는 센서들과 통신하기 위해 서버(130)를 활성화시킬 수 있다.
넌-트랜지터리 머신 읽기 가능 매체에 저장된 머신 읽기 가능 명령어들은 운영 환경을 포함할 수 있다. 예를 들면, 운영 환경은 마이크로소프트사의 윈도우(WINDOWS)일 수 있다. 여기에 게시된 소프트웨어는 예를 들면, 관계 데이터베이스를 관리하기 위한 SQL 언어를 사용하여 개발될 수 있다. 소프트웨어는 다른 소프트웨어로 구현될 수도 있다. 예를 들면, 사용자 인터페이스는 XML, HTML 등을 통해서 제공될 수 있다.
컴퓨팅 시스템(100)은 앞에서 설명한 컴포넌트 또는 다른 컴포넌트를 포함하거나 배제시킬 수 있다. 예를 들면, 다른 컴포넌트는 라우터, 브릿지, 방화벽, 스위치, 다른 서버들, 미들웨어일 수 있다. 어떤 컴포넌트는 소프트웨어 그리고/또는 하드웨어로 구현될 수 있다. 어떤 실시 예에서, 용어 “서버”는 다른 기능을 수행하는 하드웨어 상에서 구동되는 소프트웨어 엔진을 의미할 수도 있다.
컴퓨팅 시스템(100)은 복수의 컴퓨터들을 포함할 수 있다. 예를 들면, 컴퓨팅 시스템(100)에서 적어도 하나의 컴퓨터는 실질적인 스토리지, 메모리, 프로세서들, 대용량 스토리지 등을 포함할 수 있다. 모바일 장치(180)와 같은 다른 장치들은 감소된 컴포넌트 셋을 포함할 수 있다. 복수의 컴퓨터들 중 적어도 하나의 컴퓨터는 주된 목적으로 이동성을 위해 설계될 수 있다. 예를 들면, 물리적으로 소형인 메모리 특성에 따라 메모리는 하드 디스크를 대체하고 있다. 모바일 장치(180)의 다른 실시 예는 테블릿 컴퓨터, 스케너, 특성화된 장치들을 포함할 수 있다. 특성화된 장치의 한정되지 않는 예는 머신 비전을 위해 설계된 응용 특화 장치를 포함할 수 있다.
컴퓨팅 시스템(100) 내의 특정 컴퓨터는 목적 중심 장치일 수 있다. 예를 들면, 컴퓨팅 인프라 구조는 파일 서버(즉, 컴퓨팅 인프라 구조 내에서 효과적인 저장을 위한 데이터 저장 장치), 입력 장치로 복수의 컴퓨터들(컴퓨팅 인프라 구조와 인터페이싱을 위해 원거리에서 동작하는 모바일 스테이션), 콘솔(컴퓨팅 인프라 구조에 전적으로 사용되는) 등을 위해 하나의 컴퓨터를 원칙적으로 사용할 수 있다.
여기에 게시되는 몇몇 기능들은 후술될 컴포넌트들과 같은 하드웨어나 소프트웨어로 구현될 수 있음을 잘 이해될 것이다. 따라서, 하나의 방식으로 또는 또 다른 방식으로 소개되는 실시 예들은 단순히 예시적일 뿐이며 본 발명은 표현에 국한되지 않는다. 결국, 후술하게 될 컴퓨팅 시스템(100)은 본 발명을 암시하는 하나의 환경을 제공할 뿐이며, 제한적으로 이해되어서는 안된다.
일반적으로, 컴퓨팅 시스템(100)은 사용자로 하여금 신경망 시스템을 훈련하거나 동작 가능하게 하는 소프트웨어 솔루션을 구현한다. 컴퓨팅 시스템(100)은 예를 들면 통신, 메시지 전달, 그래픽 편집, 통계 분석, 등과 같은 다양한 목적의 제 3 자 소프트웨어 시스템을 구현할 수 있다.
도 2는 사물 인식을 위한 특성 검출기 그리고/또는 결정을 전개하는 데 유용한 컨볼루션 신경망(200, CNN)의 기본적인 특징을 보여주는 도면이다. 컨볼루션 신경망(200)은 서버(130)의 대용량 스토리지 유닛(104) 그리고/또는 적어도 하나의 모바일 장치(180)의 데이터 스토리지 내에 저장된 소프트웨어로 제공될 수 있다. 부호화에 적합하게 적용된 하나의 응용 예로, 컨볼루션 신경망(200)은 파이썬 소프트웨어 재단의 오픈 소스 소프트웨어인 파이썬(Pythone)일 수 있다. 컴퓨터 프로그램과 부호화에서 알려진 바와 같이, 컨볼루션 신경망(200)을 조합하기 위한 수학적 기법은 여기에서 설명하지 않기로 한다. 대신, 컨볼루션 신경망(200)의 특징이 이 분야의 기술을 습득한 자들에게 이해될 정도로 기능적 용어들을 사용하여 설명될 것이다.
이 실시 예에서, 컨볼루션 신경망(200)은 입력 특성 맵(209), 컨볼루션 출력 계층(214), 그리고 풀링 계층(216)을 포함하는 것으로 설명될 것이다. 이 실시 예에서, 입력 특성 맵(209)은 3-차원 입력 볼륨을 포함한다. 입력 특성 맵(209)는 디멘션(N x N x D, N은 입력의 가로 및 세로, D는 입력의 깊이, 예를 들면, 입력 특성 맵(209)과 관련된 히든 계층의 수)으로 표현될 수 있다. 복수의 필터들(211)이 입력 특성 맵(209)을 필터링하기 위해 사용될 수 있다. 복수의 필터들(211) 각각은 디멘션(k x k x D)로 특징 지어진다. 여기서, 변수 k는 각각의 필터들의 가로 및 세로 사이즈를 나타낸다. 이 실시 예에서, 입력 특성 맵(209)의 가로 및 세로 뿐 아니라 각각의 필터들(211)의 가로 및 세로도 동일한 사이즈인 정사각형이다. 하지만, 이것은 설명의 단순화를 위한 것일 뿐, 입력 특성 맵(209) 그리고/또는 필터(211)는 직사각형일 수 있다(따라서, 가로 및 세로의 사이즈가 다를 수 있다).
컨볼루션 신경망(200)의 동작에 있어서, 각각의 필터들(211)은 입력 특성 맵(209)을 슬라이딩 윈도로 하여 횡단하는 방식으로 시프트될 수 있다. 시프트의 크기는 “보폭 길이” 또는 간단히 “보폭”이라 칭하기로 한다. 각각의 시프트 구간에서, 주어진 필터(211)에 소속된 각각의 가중치는 컨볼루션 연산(212)을 제공하기 위하여 입력 볼륨의 중첩 영역의 입력 요소들과 쌍으로 곱해지고 더해진다. 컨볼루션 연산(212) 이후에, 컨볼루션 출력을 3차원 컨볼루션 출력을 2차원 윈도를 슬라이딩하면서 서브샘플링을 수행하고, 윈도우에서 최대값(215, 또는 평균)을 선택하는데 선택적 풀링 계층(216)이 사용될 것이다. 이 실시 예에서, 선택적 풀링 계층(216)은 파라미터들(p, s)에 의해서 정의된다. 여기서, p x p는 풀링 동작을 위한 영역을 정의하고, s는 필터(211)의 보폭을 정의한다.
주어진 신경망은 특성 검출기의 각 디멘션들의 가중치들에 의해서 파라미터가 결정된다. 각 신경망들의 학습 프로세스는 이미지 데이터와 같은 훈련 데이터 셋으로부터 이러한 파라미터들을 학습하는 과정을 동반한다. 통상적으로, 훈련은 역전파 알고리즘과 같은 기술을 사용한다. 불행히도, 신경망의 비선형성과 잠재적인 거대한 수의 가중치 파라미터들(견고한 신경망은 100만개 이상의 파라미터들을 포함)에 의해, 훈련된 신경망은 일반적으로 국부 최적 상태를 갖는다. 게다가, 훈련 데이터가 충분하지 못한 경우, 신경망은 과적합 상태에 빠지기 쉽다. 이것은, 신경망이 훈련 데이터에는 적절하게 동작하지만, 훈련 데이터 셋에서 관찰되지 않은 데이터에 대해서는 제대로 동작하지 못할 수도 있음을 의미한다.
따라서, 본 발명에서는 향상된 신경망의 훈련 기술이 제공될 것이다. 이 기술은 효율적인 특성 검출기들의 수를 증가시켜 효율적인 심층 신경망을 형성하게 할 것이다. 이 기술은 훈련 프로세스 동안 특성 검출기의 하위 셋을 비활성화하기 위한 기술을 제공하고, 각각의 네트워크(랜덤 스위치)에서 비활성화 신호가 랜덤하게 생성될 수 있어, 후속 계층(연결 기반 스위치)에 조직적으로 전파될 수 있다. 테스트 구간 동안, 모든 신경망이 사용될 것이다. 도 3, 도 4, 그리고 도 5를 통하여 이러한 기술이 좀더 구체적으로 설명될 것이다.
도 3은 피드포워드 전파에 의해서 훈련되는 인스턴스를 개략적으로 보여주는 도면이다. 피드포워드 전파 모델에서, 훈련 데이터의 묶음은 신경망(300)에 입력된다. 훈련 데이터는 단일 데이터, 데이터의 서브셋 또는 모든 훈련 데이터일 수 있다. 도 3, 도 4, 그리고 도 5는 신경망의 일부에 지나지 않음은 잘 이해될 것이다.
여기의 실시 예에 따른 신경망(300)에서, 제 1 계층(301), 제 2 계층(302), 그리고 제 3 계층(303)이 도시되어 있다. 제 1 계층(301)은 4개의 특성 검출기들(311)을 포함한다. 제 1 계층(301)의 특성 검출기(311)는 제 1 특성 검출기(311-1), 제 2 특성 검출기(311-2), 제 3 특성 검출기(311-3), 그리고 제 4 특성 검출기(311-4)로 표시되어 있다. 이 예에서, 각각의 특성 검출기(311)는 2개의 채널들을 포함한다. 제 2 계층(302)은 3개의 특성 검출기들(312)를 포함한다. 제 2 계층(302)의 특성 검출기(312)는 제 1 특성 검출기(312-1), 제 2 특성 검출기(312-2), 그리고 제 3 특성 검출기(312-3)로 표시되어 있다. 이 예에서, 각각의 특성 검출기(312)는 4개의 채널들을 포함한다. 가중치와 바이어스는 컨볼루션 계층들 각각(즉, 제 1 컨볼루션 계층(310), 제 2 컨볼루션 계층(320) 등)에 적용될 것이다.
각각의 계층은 특성 검출기의 서브셋을 비활성화하기 위한 랜덤 스위치를 포함한다. 도 3에서는, 제 1 계층(301)은 제 1 랜덤 스위치(351)를 포함한다. 제 2 계층(302)은 제 2 랜덤 스위치(352)를 포함한다. 제 1 계층(301)의 출력은 연결 기반 스위치(318)를 통해서 후속 계층으로 전파된다.
훈련 구간 동안, 현재 진행중인 계층의 특성 검출기들의 서브셋이 비활성화된다. 결과적으로, 비활성화된 특성 검출기의 응답은 '0'이 되고, 현재 훈련 데이터에 의한 학습은 발생하지 않을 것이다. 각 계층의 스위치를 사용함으로써, 비활성화 프로세스는 신경망의 구조에 따라 조직적으로 수행될 수 있고, 결과적으로 현재 계층에서의 특성 검출기의 비활성화는 이전 계층에서의 특성 검출기의 비활성화의 결과 및 선택적 랜덤 스위치에 기인한다. 현재 계층에서의 비활성화 정보는 후속 계층에 전달된다. 따라서, 비활성화 프로세스는 모든 신경망을 걸쳐 계급적 방식에 따라 계층 단위로 적용될 수 있다(입력이 제공되는 계층에 가까운 계층으로부터 출력에 가까운 계층으로).
도 4는 역전파 방식에 의해서 훈련되는 인스턴스를 개략적으로 보여주는 도면이다. 역전파 모델에서, 훈련 데이터의 묶음은 신경망(400)에 입력된다.
여기의 실시 예에 따른 신경망(400)에서, 제 1 계층(401), 제 2 계층(402), 그리고 제 3 계층(403)이 도시되어 있다. 제 1 계층(401)은 4개의 특성 검출기들(411)를 포함한다. 제 1 계층(401)의 특성 검출기(411)는 제 1 특성 검출기(411-1), 제 2 특성 검출기(411-2), 제 3 특성 검출기(411-3), 그리고 제 4 특성 검출기(411-4)로 표시되어 있다. 이 예에서, 각각의 특성 검출기(411)는 2개의 채널들을 포함한다. 제 2 계층(402)은 3개의 특성 검출기들(412)를 포함한다. 제 2 계층(402)의 특성 검출기(412)는 제 1 특성 검출기(412-1), 제 2 특성 검출기(412-2), 그리고 제 3 특성 검출기(412-3)로 표시되어 있다. 이 예에서, 각각의 특성 검출기(412)는 4개의 채널들을 포함한다.
역전파 모델에서, 신경망(400)의 훈련은 경도 하강(Gradient descent)과 같은 최적화 방법이 포함된다. 경도 하강은 신경망(400)의 모든 가중치들 각각의 손실 함수의 경도를 계산한다. 경도는 특성 검출기의 업데이트에 사용된다. 따라서, 특성 함수 각각의 경도는 동일한 디멘션 수를 갖는다. 손실 함수를 최소화하기 위한 시도로, 경도는 가중치를 업데이트하기 위해 차례차례 사용되는 최적화 방법에 제공된다. 경도는 도 4에 도시된 각각의 계층들(401, 402, 403)에 연관된다. 즉, 제 1 계층(401)의 제 1 특성 함수(411-1)에 관련된 경도는 경도(421-1)로 표시되어 있다. 제 1 계층(401)의 제 2 특성 함수(411-2)에 관련된 경도는 경도(421-2)로 표시되어 있다. 제 2 계층(402)의 제 1 특성 함수(412-1)에 관련된 경도는 경도(422-1)로 표시되어 있다.
도 5는 다른 실시 예에 따른 신경망의 스위치 관계를 보여주는 도면이다. 이 실시 예의 신경망(500)에서, 제 1 계층의 제 1 랜덤 스위치(551)는 관련 특성 검출기(511) 및 특성 검출기(511)에 관련된 다양한 채널들(516)에 스위칭을 제공한다. 도 5에 도시된 바와 같이, 제 1 계층에서 제 2 특성 검출기(511-2), 제 4 특성 검출기(511-4)는 비활성화된다. 제 1 계층의 특성 검출기들(511)은 제 2 계층의 특성 검출기(512)의 채널(526)에 관련된다. 본래, 예를 들면, 제 1 계층의 제 2 특성 검출기(511-2)의 널-출력(Null output)은 제 2 계층(연결 기반 스위치 562)의 제 2 채널(526-2)로 전파된다. 제 2 계층의 제 2 랜덤 스위치(552)는 제 2 계층의 제 3 특성 검출기(512-3)와 같은 특성 검출기들을 랜덤하게 선택하고 비활성화시킨다.
역전파 훈련 프로세스에서, 대응하는 특성 검출기 각각의 경도가 계산된다. 특성 검출기의 선택 및 비활성화는 각각의 경도들에 적용되고, 이러한 방식으로 특성 검출기가 업데이트된다. 주어진 계층에서 경도들은 이전 계층에서의 경도를 계산하는데 사용될 수도 있다.
도 4에 도시된 바와 같이, 스위치 신호에 의해서 대응하는 특성 검출기가 비활성화되지 않을 때(411-1, 411-3), 경도(421-1, 421-3)가 계산된다. 이것은 연결 기반 스위치(430, 431) 그리고/또는 랜덤 스위치(451, 452, 453)에 의해서 생성된다. 반면, 대응하는 특성 검출기가 스위치 신호에 의해서 비활성화(411-1, 411-3)되면 경도(421-2, 421-4)가 '0'으로 셋팅된다. 이후, 계산된 경도(421-1, 421-3)는 특성 검출기를 갱신하는데 사용된다. 만일, 특성 검출기들이 스위치 신호에 의해서 선택되고 비활성화되지 않으면(411-1, 411-3), 이것은 연결 기반 스위치(430, 431) 그리고/또는 랜덤 스위치(451, 452, 453)가 될 수 있다. 반면, 특성 검출기들이 스위치 신호에 의해서 비활성화되면(411-1, 411-3) 특성 검출기는 갱신되지 않는다.
도 5에서 도시된 바와 같이, 특성 검출기를 활성 상태로 유지하기 위한 제어를 위해 랜덤 스위치가 사용될 수 있다. 연결 기반 스위치(도 3, 도 4의 318, 430, 431)는 주어진 특성 검출기를 활성 상태로 유지하기 위한 채널의 제어를 위해 제공될 수 있다. 따라서, 신경망 내의 특정 특성 검출기의 비활성화는 후속되는 계층들 전파될 것이다.
어떤 실시 예에서, 초기 훈련 데이터의 묶음이 처리된 후에, 특성 검출기의 다른 서브셋이 선택되거나 비활성화될 수 있다. 테스트 구간에서, 모든 특성 검출기 셋이 사용되고, 어떤 필터들도 비활성화되지 않을 것이다.
각각의 훈련 데이터의 묶음들을 훈련하기 위한 네트워크 파라미터들의 서브셋을 선택하기 위한 기술이 제공된다. 네트워크 파라미터는 계층적 프로세스에 의해서 선택되고, 나머지는 비활성화된다. 레이저 이론(Razor Theorem)에 의하면, 더 적은 파라미터는 더 낮은 과적합을 의미한다. 따라서, 더 적은 특성 검출기에서 동작하는 신경망이 더 낮은 죽은 특성 검출기 또는 복사 특성 검출기를 갖는다. 주어진 신경망에서 적은 수의 파라미터들(그리고 낮은 과적합)을 갖는 실시 예는 더 효율적인 신경망을 구현하게 한다. 이러한 기술은 보다 강력한 모델을 형성하기 위한 복수의 모델이 조합(가중치 평균에 의해)의 앙상블 학습의 인스턴스에서 관찰되며, 복수의 모델들 각각은 입력 데이터의 주어진 서브셋 특성으로부터 훈련될 수 있다. 테스트 스테이지에서, 주어진 신경망의 모든 파라미터를 사용하면, 이 값은 훈련된 신경망의 서브셋들의 모든 조합들의 평균으로 간주될 수 있다.
더불어, 보다 효율적인 훈련 프로세스로 판명된 본 발명의 기술에 의하면, 더 적은 수의 특성 검출기가 활성화되고 따라서 훈련 프로세스의 각 라운드에서 갱신될 필요가 있다.
도 6을 참조하면, 제 1 컨볼루션 계층의 필터들이 도시되어 있다. 이 도면에서, 각각의 셀은 RGB 공간에서의 필터들을 보여준다. 제 1 컨볼루션 계층의 2개의 필터들은 죽은 필터이다. 죽은 필터는 제 2 행의 제 2 열에, 그리고 제 4 행의 제 5 열에 대응한다. 죽은 필터들에는 구조나 패턴의 형상이 존재하지 않는다. 죽은 필터들은 점선으로 싸여 있도록 도시되어 있다. 다른 필터들의 예는 도 7에서 도시될 것이다.
도 7에서, 제 1 컨볼루션 계층에서 본 발명의 기술이 사용된 죽은 필터와 본 발명의 기술이 사용되지 않은 죽은 필터가 비교되어 있다. 도 7a는 컨볼루션 기술을 사용하여 훈련된 신경망의 예를 보여준다. 도 7b는 본 발명의 실시 예에 따른 기술을 사용하여 훈련된 신경망의 예를 보여준다. 도 6과 유사하게, 죽은 필터들은 점선으로 표시되어 있다. 도 7에서 확인할 수 있는 바와 같이, 신경망의 실질적인 성능 향상이 실현된다.
여기에 게시된 기술의 효율성을 검증하기 위해, 신경망이 훈련되었다. 훈련에는 이미지 인식 경연 대회(ImageNet 2014)에서 제공된 이미지가 이미지 분석을 위해서 사용되었다. 이미지 인식 경연 대회(ImageNet 2014)에서는 학습 모델을 1000개의 가시 카테고리로 분석해야 한다. 훈련을 위해, 약 120만개, 카테고리 별로 약 1200개의 이미지가 사용될 수 있고, 테스트를 위해 5000개의 실측 자료(Ground truth level) 이미지들이 사용된다. 전체 연결 계층에서 각각의 컨볼루션 계층에 후속하여 누락 계층들이 추가되었다. 상위 5개의 정확한 성능 매트릭이 사용되고, 여기서 이미지 테스트에서 가시 카테고리의 상위 5개의 예측 모델이 보도되었다. 만일, 예측 모델들 중에서 어느 하나가 실측 카테고리와 일치하는 경우, 그것은 정확한 정정 인스턴스로 마킹된다. 반면, 예측이 실패로 판단되면, 정정 인스턴스의 확률이 계산되고 정확도가 보고된다.
실험에서, 기존의 작업들의 표준 프로토콜을 따랐고, 각각의 RGB 이미지는 가로 및 세로의 최소값이 256 픽셀이 되도록 가로 세로비가 조정되었다. 224 x 224 영역은 훈련 구간에서 랜덤하게 크롭핑(crop)되었다. 훈련 구간에서 복수의 뷰(10개의 뷰)들이 적용되었고, 학습률은 시작시에는 0.01로 설정되고, 종료시점에는 0.0001로 감소하도록 설정되었다. 학습 프로세스는 90 epoch에 종료되었다.
비교를 위해, 동일한 아키텍쳐를 사용하는 서로 다른 두 개의 신경망이 사용되었다. 제 1 신경망은 종래 기술을 사용하여 훈련되었다. 제 2 신경망은 본 발명의 실시 예에 따라 훈련되었다. 이 실험에서, 상위 5개의 정확도에서는 제 2 신경망이 제 1 신경망에 비해서 6.64% 향상된 성능을 보였다. 이것은 여기에 게시된 듀얼 스위칭 매커니즘 기술이 신경망 성능을 향상시킬 수 있음을 나타낸다.
도 8은 본 발명의 신경망(800)을 훈련하는 방법을 예시적으로 보여주는 순서도이다. 801 단계에서, 신경망이 초기화되다. 802 단계에서, 신경망 내의 복수의 계층들의 컴포넌트들과 스위치가 조합된다. 여기서, 컴포넌트들은 특성 검출기, 경도, 그리고/또는 처리에 사용되는 다른 컴포넌트들을 포함한다. 803 단계에서, 듀얼 스위칭(랜덤 스위치와 연결 기반 스위치) 매커니즘에 따라 컴포넌트의 선택이 수행되고, 컴포넌트의 일부들의 스위치는 차단된다. 804 단계에서, 훈련 데이터의 묶음이 신경망에 입력된다. 훈련 데이터의 묶음은 싱글 이미지, 이미지의 일부, 복수의 이미지들을 포함할 수 있다. 805 단계에서, 훈련 프로세스의 결과를 사용한 신경망 모델이 생성된다.
806 단계에서, 추가적인 훈련 데이터가 존재하는지 판단된다. 만일, 추가적인 훈련 데이터가 존재하는 경우, 신경망은 계속해서 훈련된다. 하지만, 듀얼 스위치 신호가 리셋되고, 다른 컴포넌트들의 부분들이 비활성화되면, 앞서 수행된 5개의 단계들이 재수행될 것이다. 만일, 더 이상 적용할 훈련 데이터가 존재하지 않으면, 절차는 807 단계로 이동한다. 807 단계에서, 모든 컴포넌트들이 사용된다. 즉, 주어진 신경망의 컴포넌트들의 다른 서브셋의 모델들이 조합된다. 808 단계에서, 신경망의 다양한 모델들이 조합되면, 신경망에 테스트 데이터가 입력된다. 테스트 데이터는 새로운 데이터, 훈련 데이터의 일부, 그리고/또는 모든 오리지널 훈련 데이터를 포함할 수 있다.
여기에 게시되는 기술들은 종래의 기술에 비해 더 적은 죽은 특성 검출기와 복사 특성 검출기를 구비하는 것이 가능한 신경망 학습 기술을 제공한다. 게다가, 생성된 신경망은 보다 효율적이다. 예를 들면, 이러한 훈련 프로세스에 따르면, 신경망의 생성시에 더 적은 특성 검출기를 요구한다. 이 기술은 신경망의 모든 서브셋들을 조합하는 앙상블 학습에 유용하다.
게다가, 여기에 게시된 기술은 신경망의 최소한의 변형만으로도 구현될 수 있다.
여기에 게시된 특징을 제공하기 위해 다양한 다른 컴포넌트들이 포함되거나 요구될 수 있을 것이다. 예를 들면, 추가적인 물질, 물질들의 조합, 물질들의 누락이 여기에 게시된 기술의 스코프 내의 부가된 실시 예를 위해 사용될 수 있을 것이다.
여기에 사용된 용어 '하나'는 하나 또는 그 이상의 요소들이 존재함을 의미한다. 유사하게, 하나의 요소를 소개하기 위한 형용사 '또 다른'은 하나 이상의 요소들이 존재함을 의미한다. 용어 “포함하는”, “가지는”은 리스팅된 요소 이외에도 다른 추가적인 요소들이 존재할 수 있음을 나타낸다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 신경망을 설정하는 방법에 있어서:
    입력을 처리하고, 출력을 제공하기 위한 복수의 특성 검출기들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계; 그리고
    각 계층의 뉴런들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함시키는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 복수의 특성 검출기들은 적어도 하나의 경도 검출기를 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 특성 검출기와 경도 검출기는 채널을 포함하는 방법.
  4. 제 1 항에 있어서,
    각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계를 더 포함하되,
    상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 특성 검출기로부터 정보를 전달하는 방법.
  5. 제 1 항에 있어서,
    상기 특성 검출기의 일부를 선택하고 비활성화하는 단계를 더 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 신경망에 훈련 데이터를 입력하고, 상기 신경망의 훈련된 모델을 생성하는 단계를 더 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 특성 검출기의 일부를 비활성화하기 위해 상기 스위치를 재설정하여 상기 신경망을 리셋하는 단계를 더 포함하는 방법.
  8. 제 5 항에 있어서,
    상품의 설정을 위한 상기 신경망이 구현된 실시물을 제공하기 위한 상기 신경망의 복수의 훈련 모델들을 조합하는 단계를 더 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 훈련 데이터에 포함되지 않는 테스트 데이터를 구비한 상품의 신경망을 테스트 하는 단계를 더 포함하는 방법.
  10. 제 6 항에 있어서,
    상기 계층들은 컨볼루션 계층, 풀링 계층, 최대-풀링 계층, 그리고 입력 특성 맵들 중 적어도 하나를 포함하는 방법.
  11. 제 1 항에 있어서,
    상기 신경망은 머신 읽기 가능 매체에 저장된 머신 실행 명령들을 포함하는 방법.
  12. 신경망을 구현하는 방법에 있어서:
    입력을 처리하고 출력을 제공하기 위한 복수의 뉴런들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계, 상기 신경망은 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함하고;
    각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계, 상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 뉴런의 일부로부터 정보를 전달하고,
    상기 각각의 계층의 뉴런들의 일부를 선택하고 비활성화함으로써 상기 신경망을 훈련하고, 그 후에 상기 신경망의 훈련 모델을 생성하기 위한 훈련 데이터를 입력하는 단계;
    복수의 훈련 모델들을 생성하기 위해 상기 훈련 절차를 반복하는 단계;
    상기 신경망의 생산 모델을 제공하기 위한 상기 신경망의 훈련 모델들을 조합하는 단계; 그리고
    상기 신경망의 생산 모델의 생산 데이터를 처리하는 단계를 포함하는 방법.
  13. 제 12 항에 있어서,
    상기 훈련, 조합, 처리 동작들 중 적어도 하나는 서버에서 수행되는 방법.
  14. 제 12 항에 있어서,
    모바일 장치에서 상기 생산 데이터를 수집하는 단계를 더 포함하는 방법.
  15. 제 14 항에 있어서,
    상기 모바일 장치는 상기 생산 데이터를 원거리 서버로 전송하는 방법.
  16. 제 12 항에 있어서,
    상기 모바일 장치는 스마트폰, 카메라, 테블릿 컴퓨터, 스캐너, 그리고 특화 장비들 중 어느 하나를 포함하는 방법.
  17. 제 12 항에 있어서,
    상기 생산 데이터는 이미지 데이터나 오디오 데이터 중 적어도 하나를 포함하는 방법.
  18. 제 12 항에 있어서,
    상기 처리는 사물 인식, 음성 인식, 언어 번역, 얼굴 인식, 의료 이미지 분석, 필적 감정 중 적어도 하나를 포함하는 방법.
  19. 머신 읽기 가능 매체에 저장되며, 신경망을 구현하기 위한 방법을 실행하는 기계 실행 명령어들을 포함하는 컴퓨터 프로그램 제품에 있어서:
    상기 신경망을 구현하기 위한 방법은,
    각각 입력을 처리하고 출력을 제공하기 위한 복수의 뉴런들을 각각 포함하는 복수의 계층을 포함하는 신경망을 선택하는 단계를 포함하되, 상기 신경망은 각 계층의 신경들 중에서 적어도 하나의 포션을 랜덤하게 선택하고 비활성화하는 적어도 하나의 스위치를 포함하고;
    각각의 계층들 사이에 위치하는 적어도 하나의 연결 기반 스위치를 결합하는 단계를 포함하되, 상기 연결 기반 스위치는 어느 하나의 계층에서 다른 계층 사이의 비활성화된 뉴런의 일부로부터 정보를 전달하고;
    상기 각각의 계층의 뉴런들의 일부를 선택하고 비활성화함으로써 상기 신경망을 훈련하고, 이후에는 그 후에 상기 신경망의 훈련 모델을 생성하기 위한 훈련 데이터를 입력하는 단계;
    복수의 훈련 모델들을 생성하기 위해 상기 훈련 절차를 반복하는 단계;
    상기 신경망의 생산 모델을 제공하기 위한 상기 신경망의 훈련 모델들을 조합하는 단계; 그리고
    상기 신경망의 생산 모델의 생산 데이터를 처리하는 단계를 포함하는 컴퓨터 프로그램 제품.
  20. 제 19 항에 있어서,
    사물 인식, 음성 인식, 언어 번역, 안면 인식, 의료 이미지 분석, 필적 감정 들 중 적어도 하나를 출력하는 단계를 더 포함하는 컴퓨터 프로그램 제품.
KR1020160032246A 2015-05-26 2016-03-17 계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치 KR20160138892A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562166627P 2015-05-26 2015-05-26
US62/166,627 2015-05-26
US14/836,901 2015-08-26
US14/836,901 US10438112B2 (en) 2015-05-26 2015-08-26 Method and apparatus of learning neural network via hierarchical ensemble learning

Publications (1)

Publication Number Publication Date
KR20160138892A true KR20160138892A (ko) 2016-12-06

Family

ID=57398834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160032246A KR20160138892A (ko) 2015-05-26 2016-03-17 계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US10438112B2 (ko)
KR (1) KR20160138892A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180086021A (ko) * 2017-01-20 2018-07-30 이화여자대학교 산학협력단 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법
CN109740735A (zh) * 2018-12-29 2019-05-10 百度在线网络技术(北京)有限公司 多神经网络输出方法及装置、服务器、计算机可读介质
KR20190051619A (ko) * 2017-11-07 2019-05-15 재단법인대구경북과학기술원 앙상블 및 미세 조정을 이용한 영상 데이터 처리 장치 및 제어 방법
KR20190073303A (ko) * 2017-12-18 2019-06-26 난징 호라이즌 로보틱스 테크놀로지 컴퍼니 리미티드 신경망의 컨볼루션 계산을 위한 방법 및 전자 디바이스
KR20200094815A (ko) * 2019-01-17 2020-08-10 조선대학교산학협력단 앙상블 네트워크 기반 데이터 학습 방법 및 개인 식별 방법
US11663479B2 (en) 2017-10-13 2023-05-30 Electronics And Telecommunications Research Institute Apparatus and method of constructing neural network translation model

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11244225B2 (en) * 2015-07-10 2022-02-08 Samsung Electronics Co., Ltd. Neural network processor configurable using macro instructions
US10417529B2 (en) * 2015-09-15 2019-09-17 Samsung Electronics Co., Ltd. Learning combinations of homogenous feature arrangements
US10460747B2 (en) * 2016-05-10 2019-10-29 Google Llc Frequency based audio analysis using neural networks
CN108154237B (zh) * 2016-12-06 2022-04-05 华为技术有限公司 一种数据处理系统及方法
US10548567B2 (en) * 2016-12-13 2020-02-04 General Electric Company System and method for displaying medical images of an object within a patient
CN108268885B (zh) * 2017-01-03 2020-06-30 京东方科技集团股份有限公司 特征点检测方法、设备和计算机可读存储介质
JP6657137B2 (ja) * 2017-03-31 2020-03-04 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
US10592725B2 (en) * 2017-04-21 2020-03-17 General Electric Company Neural network systems
EP3616387A1 (en) 2017-04-24 2020-03-04 Carnegie Mellon University Virtual sensor system
KR20180124381A (ko) * 2017-05-11 2018-11-21 현대자동차주식회사 운전자의 상태 판단 시스템 및 그 방법
CN109150564B (zh) * 2017-06-19 2021-09-21 中国移动通信集团广东有限公司 一种用于小区故障告警的预测方法及装置
US10474925B2 (en) 2017-07-31 2019-11-12 Industrial Technology Research Institute Deep neural network with side branches for recognizing and classifying media data and method for using the same
TW201915966A (zh) * 2017-09-18 2019-04-16 范三偉 警示駕駛人側後方來車的方法、裝置及系統
US10535001B2 (en) * 2017-11-06 2020-01-14 International Business Machines Corporation Reducing problem complexity when analyzing 3-D images
JP6791182B2 (ja) * 2018-03-14 2020-11-25 オムロン株式会社 ニューラルネットワーク型画像処理装置
CN111868754A (zh) * 2018-03-23 2020-10-30 索尼公司 信息处理装置和信息处理方法
US10902302B2 (en) 2018-04-23 2021-01-26 International Business Machines Corporation Stacked neural network framework in the internet of things
US11386900B2 (en) * 2018-05-18 2022-07-12 Deepmind Technologies Limited Visual speech recognition by phoneme prediction
WO2020018279A1 (en) * 2018-07-16 2020-01-23 D5Ai Llc Building ensembles for deep learning by parallel data splitting
CN110795976B (zh) * 2018-08-03 2023-05-05 华为云计算技术有限公司 一种训练物体检测模型的方法、装置以及设备
US11270525B2 (en) * 2018-11-06 2022-03-08 Alliance For Sustainable Energy, Llc Automated vehicle occupancy detection
CN112306925B (zh) * 2019-08-02 2023-02-10 华为技术有限公司 访问请求的处理方法、装置、设备及存储介质
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN113469206B (zh) * 2020-03-31 2024-06-18 华为技术有限公司 获取人工智能模型的方法、装置、设备及存储介质
WO2024041407A1 (en) * 2022-08-23 2024-02-29 Mediatek Inc. Neural network feature map translation for video coding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080053B2 (en) 2000-08-16 2006-07-18 Research Foundation Of State University Of New York Neural network device for evolving appropriate connections
EP1652133A4 (en) 2003-07-09 2009-06-10 Raptor International Inc METHOD AND SYSTEM FOR DATA ANALYSIS USING NEURONAL NETWORKS
US9406017B2 (en) 2012-12-24 2016-08-02 Google Inc. System and method for addressing overfitting in a neural network
JP6042274B2 (ja) 2013-06-28 2016-12-14 株式会社デンソーアイティーラボラトリ ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180086021A (ko) * 2017-01-20 2018-07-30 이화여자대학교 산학협력단 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법
US11663479B2 (en) 2017-10-13 2023-05-30 Electronics And Telecommunications Research Institute Apparatus and method of constructing neural network translation model
KR20190051619A (ko) * 2017-11-07 2019-05-15 재단법인대구경북과학기술원 앙상블 및 미세 조정을 이용한 영상 데이터 처리 장치 및 제어 방법
KR20190073303A (ko) * 2017-12-18 2019-06-26 난징 호라이즌 로보틱스 테크놀로지 컴퍼니 리미티드 신경망의 컨볼루션 계산을 위한 방법 및 전자 디바이스
CN109740735A (zh) * 2018-12-29 2019-05-10 百度在线网络技术(北京)有限公司 多神经网络输出方法及装置、服务器、计算机可读介质
US11514296B2 (en) 2018-12-29 2022-11-29 Baidu Online Network Technology (Beijing) Co., Ltd. Output method and apparatus for multiple neural network, server and computer readable storage medium
KR20200094815A (ko) * 2019-01-17 2020-08-10 조선대학교산학협력단 앙상블 네트워크 기반 데이터 학습 방법 및 개인 식별 방법

Also Published As

Publication number Publication date
US20160350649A1 (en) 2016-12-01
US10438112B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
KR20160138892A (ko) 계층적 앙상블 학습 방식을 사용하는 신경망 학습 방법 및 장치
US9734567B2 (en) Label-free non-reference image quality assessment via deep neural network
US10460231B2 (en) Method and apparatus of neural network based image signal processor
US10902162B2 (en) Comparison and selection of experiment designs
JP7316453B2 (ja) オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体
US10191979B2 (en) Converting graphical data-visualizations into sonified output
WO2022012668A1 (zh) 一种训练集处理方法和装置
CN114021696A (zh) 用于高保真图像变换的条件轴向变换层
US11257396B2 (en) User interfaces for converting geospatial data into audio outputs
Yu et al. Deep learning in genomic and medical image data analysis: challenges and approaches
US11966850B1 (en) Systems and methods for training predictive models that ignore missing features
US11460973B1 (en) User interfaces for converting node-link data into audio outputs
Han Residual learning based CNN for gesture recognition in robot interaction
Goyal et al. Internet of things information analysis using fusion based learning with deep Neural Network
US20220004904A1 (en) Deepfake detection models utilizing subject-specific libraries
KR20230092371A (ko) 공진화 신경 상미분 방정식 기반의 인공지능 신경망 장치 및 방법
Aarthi et al. Double compression of test data using Huffman code
CN113762046A (zh) 图像识别方法、装置、设备以及存储介质
Arriagada What Is an AI-Generated Artwork?
KR20200027085A (ko) 전자 장치 및 그 제어 방법
Boots et al. Evolution of visually guided behavior in artificial agents
US20240029413A1 (en) Dynamic training of Models
Hou et al. STMMI: A Self‐Tuning Multi‐Modal Fusion Algorithm Applied in Assist Robot Interaction
Nan et al. A lightweight fast human activity recognition method using hybrid unsupervised-supervised feature
Xie et al. Semi-supervised multi-sensor classification via consensus-based multi-view maximum entropy discrimination

Legal Events

Date Code Title Description
E902 Notification of reason for refusal