KR20230159293A - 비선형 정규화를 위한 신경망 계층 - Google Patents

비선형 정규화를 위한 신경망 계층 Download PDF

Info

Publication number
KR20230159293A
KR20230159293A KR1020230060373A KR20230060373A KR20230159293A KR 20230159293 A KR20230159293 A KR 20230159293A KR 1020230060373 A KR1020230060373 A KR 1020230060373A KR 20230060373 A KR20230060373 A KR 20230060373A KR 20230159293 A KR20230159293 A KR 20230159293A
Authority
KR
South Korea
Prior art keywords
machine learning
values
layer
learning system
input
Prior art date
Application number
KR1020230060373A
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 KR20230159293A publication Critical patent/KR20230159293A/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
    • 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
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • 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/0499Feedforward 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • 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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

컴퓨터 구현 기계 학습 시스템(60)으로서, 기계 학습 시스템(60)은 입력 신호(x)를 기계 학습 시스템(60)의 복수의 계층들(L, 61)을 통해 포워딩함으로써 입력 신호(x)에 기초하여 출력 신호(y)를 제공하도록 구성되고, 복수의 계층들(L, 61)의 계층들(61) 중 적어도 하나는 입력 신호(x)에 기초하는 계층 입력(l)을 수신하고, 출력 신호(y)가 결정되는 것에 기초하여 계층 출력(o)을 제공하도록 구성되고, 계층(61)은 계층(61)이 계층 입력(l)의 비선형 정규화에 의해 계층 출력(l)을 결정하도록 구성되는 것을 특징으로 한다.

Description

비선형 정규화를 위한 신경망 계층{NEURAL NETWORK LAYER FOR NON-LINEAR NORMALIZATION}
본 발명은 컴퓨터 구현 기계 학습 시스템, 기계 학습 시스템을 트레이닝하기 위한 컴퓨터 구현 방법, 기계 학습 시스템에 대해 추론을 수행하기 위한 컴퓨터 구현 방법, 컴퓨터 프로그램, 및 기계 판독가능 저장 매체에 관한 것이다.
Ioffe 및 Szegedy의 "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", 2015, https://arxiv.org/abs/1502.03167은 신경망의 트레이닝 동안 미니 배치들(mini-batches)을 정규화하기 위한 방법인 배치 정규화(Batch Norm, BN)를 개시한다.
Wu 및 He의 "Group Normalization", 2018, https://arxiv.org/abs/1803.08494는 그룹 정규화(Group Normalization, GN)를 BN에 대한 간단한 대안으로서 개시한다. GN은 채널들을 그룹들로 분할하고 각각의 그룹 내에서 정규화를 위한 평균 및 분산을 계산한다.
Ba 등의 "Layer Normalization", 2016, https://arxiv.org/abs/1607.06450은 BN의 전치된 애플리케이션(transposed application)인 계층 정규화(layer normalization, LN)로서 알려진 방법을 개시한다.
Ulyanov 등의 "Instance Normalization: The Missing Ingredient for Fast Stylization", 2016, https://arxiv.org/abs/1607.08022는 인스턴스 정규화(instance normalization, IN)로서 알려진 정규화 방법을 개시한다.
심층 신경망들은 다양한 기술 분야들에서 많은 기술 애플리케이션들에 대한 백본으로서 역할을 한다. 특히, 자동화된 제조 기계들 또는 로봇들과 같은 기계들의 환경들 또는 내부 상태들을 자동으로 분석할 때 심층 신경망들에 대한 상이한 정규화 계층들이 제안되었다. 그러한 정규화 기법들의 주요 이점들 중 하나는, 신호의 순방향 흐름 및 기울기(gradient)의 역방향 흐름이 정규화되고 소실/폭주하는(vanishing/exploding) 기울기 문제들이 완화되기 때문에 트레이닝이 안정화된다는 것이다.
이것은 그러한 정규화 계층의 입력으로부터의 값들의 서브세트를 선형적으로 맵핑함으로써 달성되어 맵핑 후에 서브세트의 값들은 미리 정의된 평균(전형적으로 0) 및 미리 정의된 분산(전형적으로 1)을 갖게 된다.
그러나, 본 발명자들은 알려진 정규화 방법들의 선형 성질이 정규화의 유효성을 제한한다는 것을 발견하였다. 본 발명자들은 알려진 정규화 기법들이, 이상치들(outliers)에 의해 크게 영향을 받을 수 있는, 중심 경향(평균) 및 산포도(분산/표준 편차)의 강건하지 않은 추정기들을 사용하기 때문에 이것이 사실임을 발견했다.
따라서, 본 발명은 단일 이상치들에 의해 강하게 영향을 받지 않는 더 강건한 백분위수 추정기들을 내부적으로 사용하는 비선형 정규화 방법을 제안한다. 유리하게도, 제안된 접근법은 정규화 계층의 입력의 값들의 왜곡된(skewed), 두꺼운 꼬리(heavy-tail) 분포들 또는 정규화 계층의 입력의 값들의 멀티 모달(multi-modal) 분포들을 도입하는 도메인 시프트(shift)들을 더 잘 다룰 수 있다. 결과적으로, 제안된 접근법은 제안된 정규화 기법을 이용하는 기계 학습 시스템의 증가된 성능을 허용한다.
제1 양태에서, 본 발명은 컴퓨터 구현 기계 학습 시스템에 관한 것으로, 기계 학습 시스템은 기계 학습 시스템의 복수의 계층들을 통해 입력 신호를 포워딩함으로써 입력 신호에 기초하여 출력 신호를 제공하도록 구성되고, 복수의 계층들의 계층들 중 적어도 하나는 입력 신호에 기초하는 계층 입력을 수신하고, 출력 신호가 결정되는 것에 기초하여 계층 출력을 제공하도록 구성되며, 계층은 계층이 계층 입력의 비선형 정규화에 의해 계층 출력을 결정하도록 구성되는 것을 특징으로 한다.
바람직하게는, 기계 학습 시스템은 신경망일 수 있으며, 계층은 신경망의 정규화 계층이다. 그러나, 계층은 계층들, 즉, 입력들을 수용하고 출력들을 제공하는 캡슐화된 모듈들을 포함하는 임의의 기계 학습 시스템에서 사용될 수 있다. 예를 들어, 기계 학습 시스템은 지원 벡터 기계(support vector machine, SVM)들의 스택을 포함할 수 있으며, 각각의 SVM은 계층으로 간주되고 위에서 언급된 계층은 적층된 SVM들 사이에 삽입될 수 있다.
기계 학습 시스템에 대한 입력 신호는 출력 신호를 결정하기 위해 기계 학습 시스템의 계층들을 통해 포워딩된다. 이는, 입력 신호가 기계 학습 시스템의 제1 계층에 제공되는 것으로 이해될 수 있으며, 제1 계층은 입력 신호들에 따라 계층 출력을 결정한다. 그 다음, 계층 출력은 다른 계층 또는 복수의 계층들로 포워딩될 수 있으며, 제1 계층으로부터 결정된 계층 출력은 다른 계층 또는 복수의 계층들에 대한 입력으로서 역할을 한다. 이러한 방식으로, 기계 학습 시스템에서의 각각의 계층은 입력 신호에 기초하여 결정되는 계층 입력을 수신하고 계층 출력을 제공하는 것으로 이해될 수 있다. 기계 학습 시스템의 최종 계층의 계층 출력은 그 후에 출력 신호로서 제공될 수 있다.
계층은 그것이 비선형 정규화 동작을 수행한다는 사실을 특징으로 한다. 이는 특히 계층이 임의의 형상(예를 들어, 벡터, 행렬, 또는 텐서(tensor))의 계층 입력을 수용하고 입력의 각각의 요소를 정규화함으로써, 계층 입력과 동일한 형상의 계층 출력을 결정하는 것으로서 이해될 수 있다. 그러나, 계층 출력에서의 요소들의 값들은 계층 입력에서의 요소들의 값들과 비교하여 정규화된다.
입력 신호는 특히 센서 신호들 및/또는 기술 시스템의 내부 상태를 특성화할 수 있다. 예를 들어, 기계 학습 시스템은 센서들에 의해 그 환경의 요소들을 인지하도록 구성되는 자율적 또는 적어도 부분적으로 자동화된 시스템의 일부로서 사용될 수 있다. 대안적으로 또는 추가적으로, 입력 신호는 기술적 시스템에 관한 내부 정보, 예를 들어, 온도, 전류 또는 전압, 선형 또는 각속도, 및/또는 파이프 또는 노즐을 통과하는 유체 또는 가스의 양을 특성화할 수 있다. 따라서, 입력 신호는 센서 데이터를 특성화할 수 있다. 즉, 입력 신호는 센서로부터의 센서 신호일 수 있거나, 동일한 타입의 센서들 및/또는 상이한 타입들의 센서들로부터의 복수의 센서 신호들을 포함할 수 있다. 센서 또는 센서들은, 예를 들어, 카메라, 라이다(lidar) 센서, 레이더(radar) 센서, 초음파 센서, 열 카메라, 마이크로폰, 압전 센서일 수 있다.
기계 학습 시스템은 입력 신호에 인코딩된 정보를 추론하도록 구성된다. 기계 학습 시스템은, 예를 들어, 입력 신호를 분석할 수 있고, 예를 들어, 입력 신호의 분류를 수행하고/하거나 입력 신호에 기초하여 회귀 분석을 수행할 수 있다. 대안적으로 또는 추가적으로, 기계 학습 시스템은, 트레이닝 입력 신호들의 데이터세트에 대해, 공급된 입력 신호의 우도(likelihood) 결정하도록 구성될 수 있다(예를 들어, 기계 학습 시스템은 정규화 흐름일 수 있음). 기계 학습 시스템은 또한, 데이터를 생성하도록 구성될 수 있다. 예를 들어, 출력 신호는 입력 신호로서 사용되는 다른 이미지에 기초하여 생성된 이미지를 특성화할 수 있다. 출력 신호는 또한 오디오 신호, 예를 들어, 입력 신호로서 제공되는 이미지의 장면의 청각적 설명을 특성화하는 오디오 신호를 특성화할 수 있다.
유리하게는, 계층은 비선형 정규화를 수행할 수 있다. 즉, 계층 출력의 요소들의 값들은 계층 입력의 요소들에 기초한 비선형 함수에 의해 획득된다. 이것은 계층 입력의 요소들의 값들이 전형적으로 멀티 모달 및/또는 왜곡 및/또는 두꺼운 꼬리 분포를 따르기 때문에 유리하다. 본 발명자들은 특히 손상된 입력 신호들에 대해 제안된 방법이, 특히 CIFAR-10C와 같은 표준 벤치마크들에서 흔한 손상들(common corruptions)로 알려진 손상들에 대해, 더 나은 성능을 달성할 수 있다는 것을 발견했다.
바람직하게는, 계층 출력을 결정하기 위해, 계층은 계층 입력의 값들의 적어도 하나의 그룹을 정규화하도록 구성되고, 그룹은 계층 입력의 모든 값들 또는 계층 입력의 값들의 서브세트를 포함한다.
계층 입력은 특히 그룹 정규화에서 행해지는 바와 같이 그룹들로 분할될 수 있다. 특히, 계층 입력은 적어도 배치(batch) 축, 채널 축, 및 공간 축을 포함하는 텐서일 수 있다. 텐서는 그 후 그룹들로 분할될 수 있고, 각각의 그룹은 배치 축을 따른 하나의 요소의 요소들, 채널 축을 따른 다수의 요소, 및 공간 축의 모든 요소들을 포함한다. 바람직하게는, 각각의 그룹은 동일한 양의 요소들을 포함한다.
그러나, 비선형 정규화는 그룹들의 실제 크기 및 양에 무관하다. 즉, 계층 입력은 전체로서 정규화될 수 있다. 이는 단지 단일 그룹을 사용하는 것으로 간주될 수 있다. 그러나, 바람직하게는, 계층 입력은 복수의 그룹으로 분할되고, 각각의 그룹은 각자의 그룹의 요소들의 값들에 기초하여 개별적으로 정규화된다. 계층 입력이 분할되어야 하는 그룹들의 실제량은 기계 학습 시스템의 하이퍼파라미터(hyperparameter)로 간주될 수 있다. 단순화를 위해, 정규화를 위해 계층 입력의 모든 요소들을 사용하는 것은 또한 프로세싱될 단일 그룹만이 존재하더라도 요소들의 그룹에 대해 정규화를 수행하는 것으로 간주될 것이다.
저자들은 계층 입력을 복수의 그룹으로 분할하는 것이 단지 단일 그룹을 사용하는 것과 비교하여 기계 학습 시스템의 더 나은 성능으로 이어진다는 것을 발견했다.
바람직한 실시예들에서, 비선형 정규화는 그룹으로부터의 값들의 경험적 백분위수들을 미리 정의된 확률 분포의 백분위수들에 맵핑하는 것을 특징으로 한다.
이것은 그룹의 값들이 일부 확률 분포로부터 도출된 랜덤 값들로 간주되는 것으로 이해될 수 있다. 목표는 정규화된 값들(즉, 계층 출력에서 제공된 값들)의 밀도가 미리 정의된 확률 분포의 밀도에 가능한 한 가깝도록 값들을 정규화된 값들에 맵핑하는 것이다. 이러한 방식으로, 그룹의 값들이 일부 멀티 모달, 왜곡, 및/또는 두꺼운 꼬리 분포를 따르더라도, 맵핑은 값들을 미리 정의된 확률 분포의 밀도로 여전히 정규화할 수 있다.
미리 정의된 확률 분포(예를 들어, 정규 분포, 표준 t-분포, 라플라시안 분포)의 타입은 또한 방법의 하이퍼파라미터로 간주될 수 있다.
바람직한 실시예들에서, 미리 정의된 확률 분포는 표준 정규 분포이다. 유리하게도, 본 발명자들은 이러한 분포가 손상들에 대한 성능을 훨씬 더 증가시키는 것을 발견했다.
기계 학습 시스템은 바람직하게는 맵핑을 수행하기 위해 이하의 단계들을 수행하도록 구성될 수 있다:
● 계층 입력의 값들의 그룹을 수신함;
● 수신된 값들을 정렬함;
● 정렬된 값들의 각각의 포지션에 대한 백분위수 값들을 계산함;
● 미리 정의된 확률 분포의 분위수 함수에 의해 보간(interpolation) 타깃들을 계산함;
● 정렬된 값들 및 보간 타깃들의 선형 보간을 특성화하는 함수를 결정함;
● 함수로 수신된 값들을 프로세싱함으로써 계층 출력을 결정함.
값들의 그룹을 수신하는 것은 단순히 정규화될 값들의 그룹을 수신하는 것으로 이해될 수 있다. 수신된 값들(즉, 그룹 내의 값들)은 그 후 오름차순으로 정렬될 수 있고, 정렬된 값들 내의 각각의 포지션에 대해 백분위수 값이 결정될 수 있다. 복수의 정렬된 값들의 인덱스 i에서의 백분위수 값 Pi는 바람직하게는 함수
에 따라 결정될 수 있다.
여기서 N은 수신된 값들의 양(즉, 그룹 내의 값들의 양)이다.
다음 단계에서, 결정된 백분위수 값들은 보간 타깃들을 결정하기 위해 미리 정의된 확률 분포의 백분율 포인트 함수(percent-point-function) 또는 분위수 함수(quantile function)에 입력될 수 있다. 예를 들어, 미리 정의된 확률 분포가 표준 정규 분포인 경우, 프로빗 함수(probit function)는 분위수 함수로서 사용된다.
정렬된 값들 및 결정된 보간 타깃들은 그 후 함수를 결정하기 위해 사용될 수 있다. 정렬된 값들에서의 그것의 포지션에서의 값 및 그 포지션에서의 백분위수 값에 기초하여 결정된 보간 타깃은 맵핑 튜플(mapping tuple)로서 이해될 수 있고, 즉, 함수에 의해 수행되는 맵핑은 값을 입력할 때 보간 타깃을 결과로서 제공해야 한다. 그러한 튜플들의 이산(discrete) 세트만이 존재하므로, 1차원 구분적 선형 보간함수(piecewise linear interpolant)는 바람직하게는 튜플들에 기초하여 결정되고 함수로서 제공될 수 있다. 수신된 값들은 그 후 계층 출력에 제공될 수 있는 정규화된 값들을 결정하기 위해 보간함수에 의해 프로세싱될 수 있다.
단계들은 바람직하게는 계층 입력이 분할되는 각각의 그룹에 대해 수행될 수 있다.
추가적인 바람직한 실시예들에서, 계층 출력을 결정하는 것은 평활화 동작에 의해 정렬된 값들을 평활화(smoothing)하는 추가적인 단계를 포함한다. 평활화된 값들은 이어서 선형 보간을 결정하기 위해 튜플들에서 사용될 수 있다.
평활화 동작은, 예를 들어, 정렬된 값들에 걸쳐 슬라이드되는 평활화 필터를 특징으로 할 수 있다. 예를 들어, 평활화 동작은 가우시안 필터일 수 있다.
본 발명자들은 정렬된 값들을 평활화하는 것이, 값들의 경험적 분포의 백분위수들을 결정할 때 잡음의 감소로 이어진다는 것을 발견했다. 이것은 기계 학습 시스템의 훨씬 더 나은 성능으로 이어진다.
바람직한 실시예들에서, 계층 출력을 결정하는 단계는 수신된 값들을 함수로 프로세싱한 후에 획득된 값들을 스케일링 및/또는 시프팅 하는 단계를 추가로 포함한다.
값들을 스케일링 및/또는 시프팅함으로써, 기계 학습 시스템은 계층 출력의 예상 값 및 값들의 분산이 계층 출력을 계층 입력으로서 사용하는 계층들에 대해 적합한 범위에 있도록 계층 출력을 적응시킬 수 있다. 시프팅에서 사용되는 스케일링 인자 및/또는 바이어스(bias)는 특히, 기계 학습 시스템의 트레이닝가능한 파라미터들일 수 있다.
다른 양태에서, 본 발명은 위에서 제시된 실시예들 중 어느 하나에 따른 기계 학습 시스템을 트레이닝하기 위한 컴퓨터 구현 방법에 관한 것이다.
계층 입력에 기초하여 계층 출력을 결정하기 위한 동작들이 구별가능하기 때문에, 역전파(backpropagation)에 의해 결정된 기울기들에 기초한 기울기 하강과 같은 표준 방법들이 기계 학습 시스템을 트레이닝시키는 데 사용될 수 있다. 어쨌든, 진화 알고리즘(evolutionary algorithm)들과 같은 기울기 없는 최적화 방법(gradient free-optimization method)들이 또한 사용될 수 있다.
다른 양태에서, 본 발명은 입력 신호에 기초하여 출력 신호를 결정하기 위한 컴퓨터 구현 방법에 관한 것이며, 출력 신호는 위에서 제시된 실시예들 중 어느 하나에 따른 기계 학습 시스템에 입력 신호를 제공함으로써 결정된다.
이러한 방법에서의 입력 신호 및 출력 신호는 또한 기계 학습 시스템에 대해 이전에 논의된 바와 같은 형태일 수 있다.
본 발명의 실시예들은 이하의 도면들을 참조하여 더 상세하게 논의될 것이다. 도면들은 다음을 도시한다:
도 1 기계 학습 시스템;
도 2 그의 환경에서 액추에이터를 제어하는 기계 학습 시스템을 포함하는 제어 시스템;
도 3 적어도 부분적으로 자율적인 로봇을 제어하는 제어 시스템;
도 4 제조 기계를 제어하는 제어 시스템;
도 5 자동화된 개인 휴대 단말(personal assistant)을 제어하는 제어 시스템;
도 6 액세스 제어 시스템을 제어하는 제어 시스템;
도 7 감시 시스템을 제어하는 제어 시스템;
도 8 이미징 시스템을 제어하는 제어 시스템;
도 9 의료 분석 시스템을 제어하는 제어 시스템;
도 10 분류기를 트레이닝하기 위한 트레이닝 시스템,
도 1은 기계 학습 시스템(60)의 실시예를 도시한다. 일 실시예에서, 기계 학습 시스템(60)은 피드포워드 신경망(feedforward neural network), 예를 들어, 멀티레이어 퍼셉트론(multi-layer perceptron), 컨볼루션 신경망(convolutional neural network), 변환기(transformer), 시각적 변환기(visual transformer) 또는 비전 변환기(vision transformer)일 수 있다. 기계 학습 시스템(60)에는, 기계 학습 시스템(60)의 복수의 계층들(L, 61)에 의해 프로세싱되는 입력 신호(x)가 제공된다.
기계 학습 시스템(60)의 계층들(L, 61) 중 적어도 하나의 계층(61)은 계층(61)의 계층 입력(l)에 기초하여 계층(61)의 계층 출력(o)으로서 비선형 정규화를 결정하도록 구성된다. 계층(61)은 바람직하게는, 계층 입력(l)을 수신하고 계층 입력(l)을 미리 정의된 그룹들의 양으로 분할하는 분할 유닛(61a)을 포함할 수 있으며, 그룹들의 양은 기계 학습 시스템(60)의 하이퍼파라미터이다. 대안적으로, 계층 입력(l)은 또한 단일 그룹의 관점에서 전체로서 사용될 수 있다.
후속 백분위수 유닛(61b)은 그 후 그룹의 각각의 값에 대한 경험적 백분위수 값을 결정한다. 백분위수 유닛(61b)은 먼저 그룹의 값들을 오름차순으로 정렬함으로써 이를 달성한다. 바람직하게는, 백분위수 유닛(61b)은 그 후 평활화 동작, 바람직하게는 가우시안 필터에 의해 정렬된 값들을 평활화한다. 평활화되든 그렇지 않든, 백분위수 유닛(61b)은 그 다음에 정렬된 값들의 리스트의 각각의 포지션, 즉 인덱스에 대한 백분위수 값들을 결정한다. 정렬된 값들의 리스트의 인덱스 i에서의 백분위수 값 Pi는 바람직하게는 함수
에 따라 결정될 수 있다.
여기서, N은 그룹 내의 값들의 양이다. 또한, 백분위수 유닛(61b)은 각각의 Pi를 미리 정의된 확률 분포의 분위수 함수에 제공함으로써 보간 타깃들 Yi를 결정한다. 바람직하게는, 미리 정의된 확률 분포는 표준 정규 분포이고, 분위수 함수는 프로빗 함수이다. 따라서, N개의 백분위수 값 Pi 및 N개의 보간 타깃 Yi가 존재하며, 백분위수 값당 하나의 보간 타깃이 존재한다.
그룹의 값들, 결정된 백분위수 값들 및 보간 타깃들이 그 후 보간 유닛(61c)에 포워딩된다. 보간 유닛(61c)은 그 후 공식:
에 따라 N개의 인덱스 si를 결정한다.
첫 번째 인덱스 s1=1 및 마지막 인덱스 sN=N을 설정한다. 추가로, 보간 유닛(61c)은 N개의 추가적인 인덱스 ti의 리스트를 결정하고, 여기서 ti=i이다. 따라서, 2개의 인덱스 리스트가 존재하며, 여기서 요소들 si 및 ti는 대응하는 것으로 간주된다. 그 후, 보간 유닛은 s로부터 모든 복제 인덱스들을 제거하고, 또한 s로부터 제거된 인덱스들에 대응하는 값들을 t로부터 제거한다. 제거 후에, 리스트 s 및 t는 새로운 크기 K이다.
리스트 s 및 k에 기초하여, 튜플들의 세트
가 그 후 형성되고, 여기서 Xi는 포지션 i에서의 정렬된 값의 값이다. 튜플들에 기초하여, 1차원 선형 보간함수가 그 후 결정된다. 그룹의 값들은 그 후 보간함수에 의해 프로세싱되어 하나의 그룹만이 계층 입력(l)에 사용된 경우 계층 출력(o)을 결정하거나, 계층 입력(l)이 복수의 그룹으로 분할된 경우 계층 출력(o)의 일부를 결정한다. 계층 입력(l)이 복수의 그룹으로 분할된 경우, 설명된 절차는 바람직하게는 각각의 그룹을 정규화하기 위해 각각의 그룹에 대해 수행된다. 결정된 결과들은 그 후 조합되고 계층 출력(o)으로서 제공된다. 조합은 바람직하게는 계층 출력(o)이 계층 입력(l)과 동일한 형상이 되도록 수행된다.
바람직하게는, 기계 학습 시스템(60)은 복수의 정규화 계층(61)을 포함한다. 정규화 계층(61) 또는 정규화 계층들은 기계 학습 시스템(60) 내의 임의의 포지션에 위치될 수 있고, 예를 들어, 정규화 계층(61)은 기계 학습 시스템(60)의 입력 계층, 기계 학습 시스템(60)의 출력 계층, 또는 기계 학습 시스템(60)의 은닉 계층일 수 있다.
도 2는 그의 환경(20)에서의 액추에이터(10)의 실시예를 도시한다. 액추에이터(10)는 기계 학습 시스템(60)을 포함하는 제어 시스템(40)과 상호작용한다. 액추에이터(10) 및 그의 환경(20)은 공동으로 액추에이터 시스템이라고 지칭될 것이다. 바람직하게는 시간상 균일하게 이격된 포인트들에서, 센서(30)는 액추에이터 시스템의 상태를 감지한다. 센서(30)는 여러 개의 센서를 포함할 수 있다. 바람직하게는, 센서(30)는 환경(20)의 이미지들을 취하는 광학 센서이다. 감지된 조건을 인코딩하는 센서(30)의 출력 신호(S)(또는 센서(30)가 복수의 센서를 포함하는 경우, 센서들 각각에 대한 출력 신호(S))가 제어 시스템(40)에 송신된다.
그에 의해, 제어 시스템(40)은 센서 신호들(S)의 스트림을 수신한다. 그것은 그 후 센서 신호들(S)의 스트림에 따라 일련의 제어 신호들(A)을 계산하여, 그 후 액추에이터(10)로 송신한다.
제어 시스템(40)은 선택적 수신 유닛(50)에서 센서(30)의 센서 신호들(S)의 스트림을 수신한다. 수신 유닛(50)은 센서 신호들(S)을 입력 신호들(x)로 변환한다. 대안적으로, 수신 유닛(50)이 없는 경우, 각각의 센서 신호(S)는 입력 신호(x)로서 직접 취해질 수 있다. 입력 신호(x)는, 예를 들어, 센서 신호(S)로부터의 발췌로서 주어질 수 있다. 대안적으로, 센서 신호(S)는 입력 신호(x)를 산출하도록 프로세싱될 수 있다. 달리 말하면, 입력 신호(x)는 센서 신호(S)에 따라 제공된다.
입력 신호(x)는 그 후 기계 학습 시스템(60)으로 전달된다.
기계 학습 시스템(60)은, 파라미터 저장소(St1)에 저장되고 그에 의해 제공되는 파라미터들(Φ)에 의해 파라미터화된다.
기계 학습 시스템(60)은 입력 신호들(x)로부터 출력 신호(y)를 결정한다. 출력 신호(y)는 입력 신호(x)에 하나 이상의 라벨을 할당하는 정보를 포함한다. 출력 신호(y)는, 출력 신호(y)를 제어 신호들(A)로 변환하는 선택적 변환 유닛(80)에 송신된다. 제어 신호들(A)은 그 후 액추에이터(10)를 그에 따라 제어하기 위해 액추에이터(10)에 송신된다. 대안적으로, 출력 신호(y)는 제어 신호(A)로서 직접 취해질 수 있다.
액추에이터(10)는 제어 신호들(A)을 수신하고, 그에 따라 제어되고, 제어 신호(A)에 대응하는 액션을 수행한다. 액추에이터(10)는 제어 신호(A)를, 액추에이터(10)를 제어하는 데 사용되는, 추가적인 제어 신호로 변환하는 제어 로직을 포함할 수 있다.
추가적인 실시예들에서, 제어 시스템(40)은 센서(30)를 포함할 수 있다. 또 다른 실시예들에서, 제어 시스템(40)은 대안적으로 또는 추가적으로 액추에이터(10)를 포함할 수 있다.
또 다른 실시예들에서, 제어 시스템(40)이 액추에이터(10) 대신에 또는 그에 추가하여 디스플레이(10a)를 제어하는 것이 구상될 수 있다.
또한, 제어 시스템(40)은 적어도 하나의 프로세서(45) 및 수행되는 경우, 제어 시스템(40)으로 하여금 본 발명의 양태에 따른 방법을 수행하게 명령어들이 저장되는 적어도 하나의 기계 판독가능 저장 매체(46)를 포함할 수 있다.
도 3은 제어 시스템(40)이 적어도 부분적으로 자율적인 로봇, 예를 들어, 적어도 부분적으로 자율적인 차량(100)을 제어하는 데 사용되는 실시예를 도시한다.
센서(30)는 하나 이상의 비디오 센서 및/또는 하나 이상의 레이더 센서 및/또는 하나 이상의 초음파 센서 및/또는 하나 이상의 LiDAR 센서를 포함할 수 있다. 이러한 센서들 중 일부 또는 전부는 차량(100) 내에 통합되는 것이 바람직하지만 반드시 그럴 필요는 없다. 따라서, 입력 신호(x)는 입력 이미지로서 이해될 수 있고, 기계 학습 시스템(60)은 이미지 분류기로서 이해될 수 있다.
이미지 분류기(60)는 입력 이미지(x)에 기초하여 적어도 부분적으로 자율적인 로봇의 부근에 있는 객체들을 검출하도록 구성될 수 있다. 출력 신호(y)는 적어도 부분적으로 자율적인 로봇의 부근에서 객체들이 어디에 위치하는지를 특성화하는 정보를 포함할 수 있다. 제어 신호(A)는 그 후, 예를 들어, 검출된 객체들과의 충돌들을 회피하기 위해, 이 정보에 따라 결정될 수 있다.
바람직하게는 차량(100)에 통합되는 액추에이터(10)는 차량(100)의 브레이크, 추진 시스템, 엔진, 구동트레인, 또는 조향에 의해 주어질 수 있다. 제어 신호(A)는, 차량(100)이 검출된 객체들과의 충돌을 회피하도록 액추에이터(10)가 제어되도록 결정될 수 있다. 검출된 객체들은 또한 이미지 분류기(60)가 그들이 예를 들어, 보행자들 또는 나무들일 가능성이 가장 높다고 간주하는 것에 따라 분류될 수 있고, 제어 신호(A)는 분류에 따라 결정될 수 있다.
대안적으로 또는 추가적으로, 제어 신호(A)는 또한, 예를 들어, 이미지 분류기(60)에 의해 검출된 객체들을 디스플레이하기 위해 디스플레이(10a)를 제어하는 데 사용될 수 있다. 제어 신호(A)는 또한 차량(100)이 검출된 객체들 중 적어도 하나와 충돌에 가까워지는 경우 경고 신호를 생성하도록 디스플레이(10a)를 제어할 수 있다는 것이 상상될 수 있다. 경고 신호는 경고 사운드 및/또는 햅틱 신호, 예를 들어, 차량의 조향 휠의 진동일 수 있다.
추가적인 실시예들에서, 적어도 부분적으로 자율적인 로봇은, 예를 들어, 비행, 수영, 다이빙, 또는 스텝핑에 의해 이동할 수 있는 다른 이동 로봇(도시되지 않음)에 의해 주어질 수 있다. 이동 로봇은, 특히, 적어도 부분적으로 자율적인 잔디 깎은 기계, 또는 적어도 부분적으로 자율적인 청소 로봇일 수 있다. 위의 실시예들 모두에서, 제어 신호(A)는 이동 로봇의 추진 유닛 및/또는 조향 및/또는 브레이크가 제어되어 이동 로봇이 상기 식별된 객체들과의 충돌들을 회피할 수 있도록 결정될 수 있다.
추가 실시예에서, 적어도 부분적으로 자율적인 로봇은 센서(30), 바람직하게는 광학 센서를 사용하여 환경(20) 내의 식물들의 상태를 결정하는, 원예 로봇(도시되지 않음)에 의해 주어질 수 있다. 액추에이터(10)는 액체들을 분무하기 위한 노즐 및/또는 절단 디바이스, 예를 들어, 블레이드를 제어할 수 있다. 식별된 종들 및/또는 식물들의 식별된 상태에 따라, 제어 신호(A)는 액추에이터(10)로 하여금 식물들에 적합한 양의 적합한 액체들로 분무하게 하고/하거나 식물들을 절단하게 하도록 결정될 수 있다.
또 다른 실시예들에서, 적어도 부분적으로 자율적인 로봇은, 예를 들어, 세탁기, 스토브, 오븐, 전자레인지, 또는 식기세척기와 같은 가정용 기기(domestic appliance)(도시되지 않음)에 의해 주어질 수 있다. 센서(30), 예를 들어, 광학 센서는, 가전 기기에 의해 프로세싱될 객체의 상태를 검출할 수 있다. 예를 들어, 가정용 기기가 세탁기인 경우, 센서(30)는 세탁기 내부의 세탁물의 상태를 검출할 수 있다. 제어 신호(A)는 그 후 검출된 세탁물의 재질에 따라 결정될 수 있다.
도 4는 제어 시스템(40)이, 예를 들어, 생산 라인의 일부로서, 제조 시스템(200)의 제조 기계(11), 예를 들어, 펀치 절단기, 절단기, 건 드릴 또는 그리퍼를 제어하는 데 사용되는 실시예를 도시한다. 제조 기계는, 제조된 제품(12)을 이동시키는 수송 디바이스, 예를 들어, 컨베이어 벨트 또는 조립 라인을 포함할 수 있다. 제어 시스템(40)은 액추에이터(10)를 제어하고, 이는 결국, 제조 기계(11)를 제어한다.
센서(30)는, 예를 들어, 제조된 제품(12)의 속성들을 캡처하는 광학 센서에 의해 주어질 수 있다. 따라서, 기계 학습 시스템(60)은 이미지 분류기로서 이해될 수 있다.
이미지 분류기(60)는 수송 디바이스에 대한 제조된 제품(12)의 포지션을 결정할 수 있다. 액추에이터(10)는 그 후 제조된 제품(12)의 후속 제조 단계를 위해 제조된 제품(12)의 결정된 포지션에 따라 제어될 수 있다. 예를 들어, 액추에이터(10)는 제조된 제품 자체의 특정 위치에서 제조된 제품을 절단하도록 제어될 수 있다. 대안적으로, 이미지 분류기(60)는, 제조 제품이 파손되었는지 또는 결함을 보이는지를 분류하는 것이 구상될 수 있다. 액추에이터(10)는 그 후 제조된 제품을 수송 디바이스로부터 제거하도록 제어될 수 있다.
도 5는 제어 시스템(40)이 자동화된 개인 휴대 단말(250)를 제어하기 위해 사용되는 실시예를 보여준다. 센서(30)는, 예를 들어, 사용자(249)의 제스처들의 비디오 이미지들을 수신하기 위한 광학 센서일 수 있다. 대안적으로, 센서(30)는 또한, 예를 들어, 사용자(249)의 음성 명령을 수신하기 위한 오디오 센서일 수 있다.
제어 시스템(40)은 그 후 자동화된 개인 휴대 단말(250)를 제어하기 위한 제어 신호들(A)을 결정한다. 제어 신호들(A)은 센서(30)의 센서 신호(S)에 따라 결정된다. 센서 신호(S)는 제어 시스템(40)에 송신된다. 예를 들어, 기계 학습 시스템(60)은, 예를 들어, 제스처 인식 알고리즘을 수행하여 사용자(249)에 의해 이루어진 제스처를 식별하도록 구성될 수 있다. 제어 시스템(40)은 그 후 자동화된 개인 휴대 단말(250)로의 송신을 위한 제어 신호(A)를 결정할 수 있다. 그것은 그 후 제어 신호(A)를 자동화된 개인 휴대 단말(250)에 송신한다.
예를 들어, 제어 신호(A)는 기계 학습 시스템(60)에 의해 인식되는 식별된 사용자 제스처에 따라 결정될 수 있다. 그것은 자동화된 개인 휴대 단말(250)로 하여금 데이터베이스로부터 정보를 검색하고 이 검색된 정보를 사용자(249)에 의한 수신에 적합한 형태로 출력하게 하는 정보를 포함할 수 있다.
추가적인 실시예들에서, 자동화된 개인 휴대 단말(250) 대신에, 제어 시스템(40)이 식별된 사용자 제스처에 따라 제어되는 가정용 기기(도시되지 않음)를 제어하는 것이 구상될 수 있다. 가정용 기기는 세탁기, 스토브, 오븐, 전자레인지, 또는 식기세척기일 수 있다.
도 6은 제어 시스템(40)이 액세스 제어 시스템(300)을 제어하는 실시예를 도시한다. 액세스 제어 시스템(300)은 액세스를 물리적으로 제어하도록 설계될 수 있다. 그것은, 예를 들어, 도어(401)를 포함할 수 있다. 센서(30)는 액세스가 승인될지 여부를 결정하는 것과 관련된 장면을 검출하도록 구성될 수 있다. 그것은, 예를 들어, 이미지 또는 비디오 데이터를 제공하기 위한, 예를 들어, 사람의 얼굴을 검출하기 위한 광학 센서일 수 있다. 따라서, 기계 학습 시스템(60)은 이미지 분류기로서 이해될 수 있다.
이미지 분류기(60)는, 예를 들어, 사람의 검출된 얼굴을 데이터베이스에 저장된 알려진 사람들의 다른 얼굴들과 매칭시킴으로써, 사람의 아이덴티티를 분류하고, 그에 의해 사람의 아이덴티티를 결정하도록 구성될 수 있다. 제어 신호(A)는 그 후 이미지 분류기(60)의 분류에 따라, 예를 들어, 결정된 아이덴티티에 따라 결정될 수 있다. 액추에이터(10)는 제어 신호(A)에 따라 도어를 개방 또는 폐쇄하는 로크(lock)일 수 있다. 대안적으로, 액세스 제어 시스템(300)은 비물리적, 논리적 액세스 제어 시스템일 수 있다. 이 경우, 제어 신호는 사람의 아이덴티티 및/또는 사람에게 액세스가 주어질지 여부에 관한 정보를 보여주도록 디스플레이(10a)를 제어하는 데 사용될 수 있다.
도 7은 제어 시스템(40)이 감시 시스템(400)을 제어하는 실시예를 도시한다. 본 실시예는 도 6에 도시된 실시예와 대체로 동일하다. 따라서, 상이한 양태들만이 상세히 설명될 것이다. 센서(30)는 감시 하에 있는 장면을 검출하도록 구성된다. 제어 시스템(40)은 반드시 액추에이터(10)를 제어할 필요는 없지만, 대안적으로 디스플레이(10a)를 제어할 수 있다. 예를 들어, 이미지 분류기(60)는 장면의 분류, 예를 들어, 광학 센서(30)에 의해 검출된 장면이 정상인지 또는 장면이 이상을 보이는지를 결정할 수 있다. 그 후, 디스플레이(10a)에 송신되는 제어 신호(A)는, 예를 들어, 디스플레이(10a)로 하여금 결정된 분류에 따라 디스플레이된 콘텐츠를 조정하게 하도록, 예를 들어, 이미지 분류기(60)에 의해 이상인 것으로 간주되는 객체를 강조하게 하도록 구성될 수 있다.
도 8은 제어 시스템(40)에 의해 제어되는 의료 이미징 시스템(500)의 실시예를 도시한다. 이미징 시스템은, 예를 들어, MRI 장치, x선 이미징 장치 또는 초음파 이미징 장치일 수 있다. 센서(30)는, 예를 들어, 환자의 적어도 하나의 이미지를 취하여, 예를 들어, 환자의 상이한 타입들의 신체 조직을 디스플레이하는 이미징 센서일 수 있다.
기계 학습 시스템(60)은 그 후 감지된 이미지의 적어도 일부의 분류를 결정할 수 있다. 따라서, 이미지의 적어도 일부는 기계 학습 시스템(60)에 대한 입력 이미지(x)로서 사용된다. 따라서, 기계 학습 시스템(60)은 이미지 분류기로서 이해될 수 있다.
제어 신호(A)는 그 후 분류에 따라 선택될 수 있고, 그에 의해 디스플레이(10a)를 제어한다. 예를 들어, 이미지 분류기(60)는, 예를 들어, 이미지에 디스플레이된 조직을 악성 또는 양성 조직으로 분류함으로써, 감지된 이미지에서 상이한 타입들의 조직을 검출하도록 구성될 수 있다. 이것은 이미지 분류기(60)에 의한 입력 이미지(x)의 시맨틱 세그먼트화(semantic segmentation)에 의해 행해질수 있다. 제어 신호(A)는 그 후, 예를 들어, 입력 이미지(x)를 디스플레이하고 동일한 조직 타입들의 상이한 구역들을 동일한 색상으로 채색함으로써, 디스플레이(10a)로 하여금 상이한 조직들을 디스플레이하게 하도록 결정될 수 있다.
추가적인 실시예들(도시되지 않음)에서, 이미징 시스템(500)은 비의료 목적들을 위해, 예를 들어, 작업물의 물질 속성들을 결정하는 데 사용될 수 있다. 이러한 실시예들에서, 이미지 분류기(60)는 작업물의 적어도 일부의 입력 이미지(x)를 수신하고 입력 이미지(x)의 시맨틱 세그먼트화를 수행함으로써, 작업물의 물질 속성들을 분류하도록 구성될 수 있다. 제어 신호(A)는 그 후 디스플레이(10a)로 하여금 입력 이미지(x)뿐만 아니라 검출된 물질 속성들에 관한 정보를 디스플레이하게 하도록 결정될 수 있다.
도 9는 제어 시스템(40)에 의해 제어되는 의료 분석 시스템(600)의 실시예를 도시한다. 의료 분석 시스템(600)에는 마이크로어레이(microarray)(601)가 공급되고, 마이크로어레이는 의료 표본(medical specimen)에 노출된 복수의 스폿(602, 피처라고도 알려짐)을 포함한다. 의료 표본은, 예를 들어, 면봉으로부터 획득된, 예를 들어, 인간 표본 또는 동물 표본일 수 있다.
마이크로어레이(601)는 DNA 마이크로어레이 또는 단백질 마이크로어레이일 수 있다.
센서(30)는 마이크로어레이(601)를 감지하도록 구성된다. 센서(30)는 바람직하게는 비디오 센서와 같은 광학 센서이다. 따라서, 기계 학습 시스템(60)은 이미지 분류기로서 이해될 수 있다.
이미지 분류기(60)는 센서(30)에 의해 공급되는 마이크로어레이의 입력 이미지(x)에 기초하여 표본의 결과를 분류하도록 구성된다. 특히, 이미지 분류기(60)는 마이크로어레이(601)가 표본 내의 바이러스의 존재를 나타내는지 여부를 결정하도록 구성될 수 있다.
제어 신호(A)는 그 후 디스플레이(10a)가 분류의 결과를 도시하도록 선택될 수 있다.
도 10은 트레이닝 데이터 세트(T)에 의해 제어 시스템(40)의 기계 학습 시스템(60)을 트레이닝시키기 위한 트레이닝 시스템(140)의 실시예를 도시한다. 트레이닝 데이터 세트(T)는 기계 학습 시스템(60)을 트레이닝시키는 데 사용되는 복수의 입력 신호(xi)를 포함하고, 트레이닝 데이터 세트(T)는, 각각의 입력 신호(xi)에 대해, 입력 신호(xi)에 대응하고 입력 신호(xi)의 분류를 특성화하는 원하는 출력 신호(ti)를 추가로 포함한다.
트레이닝을 위해, 트레이닝 데이터 유닛(150)은 컴퓨터 구현 데이터베이스(St2)에 액세스하고, 데이터베이스(St2)는 트레이닝 데이터 세트(T)를 제공한다. 트레이닝 데이터 유닛(150)은 트레이닝 데이터 세트(T)로부터 바람직하게는 적어도 하나의 입력 신호(xi) 및 입력 신호(xi)에 대응하는 원하는 출력 신호(ti)를 무작위로 결정하고, 입력 신호(xi)를 기계 학습 시스템(60)에 송신한다. 기계 학습 시스템(60)은 입력 신호(xi)에 기초하여 출력 신호(yi)를 결정한다.
원하는 출력 신호(ti) 및 결정된 출력 신호(yi)는 수정 유닛(180)에 송신된다.
원하는 출력 신호(ti) 및 결정된 출력 신호(yi)에 기초하여, 수정 유닛(180)은 그 후 기계 학습 시스템(60)에 대한 새로운 파라미터들(Φ')을 결정한다. 이를 위해, 수정 유닛(180)은 손실 함수를 사용하여 원하는 출력 신호(ti)와 결정된 출력 신호(yi)를 비교한다. 손실 함수는 결정된 출력 신호(yi)가 원하는 출력 신호(ti)로부터 얼마나 멀리 벗어나는지를 특성화하는 제1 손실 값을 결정한다. 주어진 실시예에서, 음의 로그 우도 함수(negative log-likelihood function)가 손실 함수로서 사용된다. 다른 손실 함수들도 대안적인 실시예들에서 고려가능하다.
게다가, 결정된 출력 신호(yi) 및 원하는 출력 신호(ti)가 각각, 예를 들어, 텐서들의 형태의 복수의 서브신호들을 포함하는 것이 고려가능하고, 원하는 출력 신호(ti)의 서브신호는 결정된 출력 신호(yi)의 서브신호에 대응한다. 예를 들어, 기계 학습 시스템(60)이 객체 검출을 위해 구성되고 제1 서브 신호가 입력 신호(xi)의 일부에 대해 객체의 발생 확률을 특성화하고 제2 서브 신호가 객체의 정확한 포지션을 특성화하는 것이 고려가능하다. 결정된 출력 신호(yi) 및 원하는 출력 신호(ti)가 복수의 대응하는 서브신호를 포함하는 경우, 제2 손실 값은 바람직하게는 적합한 손실 함수에 의해 각각의 대응하는 서브신호에 대해 결정되고 결정된 제2 손실 값들은, 예를 들어, 가중 합에 의해 제1 손실 값을 형성하도록 적합하게 조합된다.
수정 유닛(180)은 제1 손실 값에 기초하여 새로운 파라미터들(Φ')을 결정한다. 주어진 실시예에서, 이는 기울기 하강 방법, 바람직하게는 확률적 기울기 하강, Adam, 또는 AdamW를 사용하여 행해진다. 추가적인 실시예들에서, 트레이닝은 또한 신경망들을 트레이닝하기 위한 진화 알고리즘 또는 2차 방법에 기초할 수 있다.
다른 바람직한 실시예들에서, 설명된 트레이닝은 미리 정의된 횟수의 반복 단계들 동안 반복적으로 반복되거나, 제1 손실 값이 미리 정의된 임계 값 아래로 떨어질 때까지 반복적으로 반복된다. 대안적으로 또는 추가적으로, 테스트 또는 검증 데이터 세트에 대한 평균 제1 손실 값이 미리 정의된 임계 값 아래로 떨어질 때 트레이닝이 종료되는 것이 또한 고려가능하다. 반복들 중 적어도 하나에서, 이전 반복에서 결정된 새로운 파라미터들(Φ')은 기계 학습 시스템(60)의 파라미터들(Φ)로서 사용된다.
또한, 트레이닝 시스템(140)은 적어도 하나의 프로세서(145), 및 프로세서(145)에 의해 실행될 때, 트레이닝 시스템(140)으로 하여금 본 발명의 양태들 중 하나에 따른 트레이닝 방법을 실행하게 하는 명령어들을 포함하는 적어도 하나의 기계 판독가능 저장 매체(146)를 포함할 수 있다.
"컴퓨터"라는 용어는 미리 정의된 계산 규칙들의 프로세싱을 위한 임의의 디바이스들을 포함하는 것으로 이해될 수 있다. 이러한 계산 규칙들은 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 혼합의 형태일 수 있다.
일반적으로, 복수가 인덱스화되는 것으로 이해될 수 있는데, 즉, 바람직하게는 복수에 포함된 요소들에 연속적인 정수들을 할당함으로써 복수의 각각의 요소에 고유 인덱스가 할당된다. 바람직하게는, 복수가 N개의 요소를 포함하는 경우, 여기서 N은 복수 내의 요소들의 수이고, 요소들에는 1 내지 N의 정수들이 할당된다. 또한 복수의 요소들은 그들의 인덱스에 의해 액세스될 수 있음이 이해될 수 있다.

Claims (13)

  1. 컴퓨터 구현 기계 학습 시스템(computer-implemented machine learning system)(60)으로서,
    상기 기계 학습 시스템(60)은 입력 신호(x)를 상기 기계 학습 시스템(60)의 복수의 계층(L, 61)을 통해 포워딩함으로써 상기 입력 신호(x)에 기초하여 출력 신호(y)를 제공하도록 구성되고, 상기 복수의 계층(L, 61)의 계층들(61) 중 적어도 하나는 상기 입력 신호(x)에 기초하는 계층 입력(l)을 수신하고, 상기 출력 신호(y)가 결정되는 것에 기초하여 계층 출력(o)을 제공하도록 구성되고, 상기 계층(61)은 상기 계층(61)이 상기 계층 입력(l)의 비선형 정규화에 의해 상기 계층 출력(l)을 결정하도록 구성되는 것을 특징으로 하는, 기계 학습 시스템(60).
  2. 제1항에 있어서, 상기 계층 출력을 결정하기 위해, 상기 계층은 상기 계층 입력(l)의 값들의 적어도 하나의 그룹을 정규화하도록 구성되고, 상기 그룹은 상기 계층 입력(l)의 모든 값들 또는 상기 계층 입력(l)의 값들의 서브세트를 포함하는, 기계 학습 시스템(60).
  3. 제2항에 있어서, 상기 비선형 정규화는 상기 그룹으로부터의 값들의 경험적 백분위수들을 미리 정의된 확률 분포의 백분위수들에 맵핑하는 것을 특징으로 하는, 기계 학습 시스템(60).
  4. 제3항에 있어서, 상기 미리 정의된 확률 분포는 표준 정규 분포인, 기계 학습 시스템(60).
  5. 제3항 또는 제4항에 있어서, 상기 계층 출력(o)을 결정하는 것은,
    ● 상기 계층 입력(l)의 값들의 그룹을 수신하는 단계;
    ● 수신된 값들을 정렬하는 단계;
    ● 정렬된 값들의 각각의 포지션에 대한 백분위수 값들을 계산하는 단계;
    ● 상기 미리 정의된 확률 분포의 분위수 함수(quantile function)에 의해 보간 타깃들을 계산하는 단계;
    ● 상기 정렬된 값들 및 상기 보간 타깃들의 선형 보간을 특성화하는 함수를 결정하는 단계;
    ● 상기 함수로 수신된 값들을 프로세싱함으로써 상기 계층 출력(o)을 결정하는 단계들을 포함하는, 기계 학습 시스템(60).
  6. 제5항에 있어서, 상기 함수를 결정하기 전에, 상기 계층 출력(o)을 결정하는 것은 평활화 동작에 의해 상기 정렬된 값들을 평활화하는 추가적인 단계를 포함하는, 기계 학습 시스템(60).
  7. 제5항 또는 제6항에 있어서, 상기 계층 출력(o)을 결정하는 단계는 상기 함수로 상기 수신된 값들을 프로세싱한 후에 획득된 값들을 스케일링 및/또는 시프팅하는 단계를 추가로 포함하는, 기계 학습 시스템(60).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 입력 신호(x)는 센서(30)로부터 획득된 신호를 특성화하는, 기계 학습 시스템(60).
  9. 컴퓨터 구현 방법(computer-implemented method)으로서,
    제1항 내지 제8항 중 어느 한 항에 따른 기계 학습 시스템(60)을 트레이닝하기 위한, 컴퓨터 구현 방법.
  10. 입력 신호(x)에 기초하여 출력 신호(y)를 결정하기 위한 컴퓨터 구현 방법으로서, 상기 출력 신호(y)는 상기 입력 신호(y)를 제1항 내지 제8항 중 어느 한 항에 따른 기계 학습 시스템(60)에 제공함으로써 결정되는, 컴퓨터 구현 방법.
  11. 트레이닝 시스템으로서(140),
    제9항에 따른 트레이닝 방법을 수행하도록 구성되는, 트레이닝 시스템(140).
  12. 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램이 프로세서(45, 145)에 의해 수행되는 경우, 컴퓨터로 하여금 그 단계들 전부와 함께 제9항 또는 제10항에 따른 방법을 수행하게 하도록 구성되는, 컴퓨터 프로그램.
  13. 기계 판독가능 저장 매체(46, 146)로서,
    제12항에 따른 상기 컴퓨터 프로그램이 저장되는, 기계 판독가능 저장 매체(46,146).
KR1020230060373A 2022-05-13 2023-05-10 비선형 정규화를 위한 신경망 계층 KR20230159293A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22173331.4 2022-05-13
EP22173331.4A EP4276692A1 (en) 2022-05-13 2022-05-13 Neural network layer for non-linear normalization

Publications (1)

Publication Number Publication Date
KR20230159293A true KR20230159293A (ko) 2023-11-21

Family

ID=81653725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230060373A KR20230159293A (ko) 2022-05-13 2023-05-10 비선형 정규화를 위한 신경망 계층

Country Status (5)

Country Link
US (1) US20230368007A1 (ko)
EP (1) EP4276692A1 (ko)
JP (1) JP2023168314A (ko)
KR (1) KR20230159293A (ko)
CN (1) CN117057444A (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784420B (zh) * 2019-01-29 2021-12-28 深圳市商汤科技有限公司 一种图像处理方法及装置、计算机设备和存储介质
US11593617B2 (en) * 2019-12-31 2023-02-28 X Development Llc Reservoir computing neural networks based on synaptic connectivity graphs
CN113627356B (zh) * 2021-08-13 2024-02-23 上海无线电设备研究所 一种海面舰船智能识别方法

Also Published As

Publication number Publication date
EP4276692A1 (en) 2023-11-15
US20230368007A1 (en) 2023-11-16
CN117057444A (zh) 2023-11-14
JP2023168314A (ja) 2023-11-24

Similar Documents

Publication Publication Date Title
KR20210068993A (ko) 분류기를 훈련하는 디바이스 및 방법
CN116596045A (zh) 用于确定机器学习系统的对抗补片的设备和方法
US20220198781A1 (en) Device and method for training a classifier
US20230004826A1 (en) Device and method for classifying a signal and/or for performing regression analysis on a signal
KR20230159293A (ko) 비선형 정규화를 위한 신경망 계층
US20220019890A1 (en) Method and device for creating a machine learning system
EP4145402A1 (en) Device and method for training a neural network for image analysis
EP4343619A1 (en) Method for regularizing a neural network
EP4258177A1 (en) Method for initializing a neural network
EP4141808A1 (en) Denoising layer for neural networks for image analysis
US20220284289A1 (en) Method for determining an output signal by means of a neural network
EP4258176A1 (en) Method for initializing a neural network
US20220101128A1 (en) Device and method for training a classifier using an invertible factorization model
EP4296910A1 (en) Device and method for determining adversarial perturbations of a machine learning system
US20220101129A1 (en) Device and method for classifying an input signal using an invertible factorization model
US20240135699A1 (en) Device and method for determining an encoder configured image analysis
US20230022777A1 (en) Method and device for creating a machine learning system including a plurality of outputs
US11961275B2 (en) Device and method for training a normalizing flow
US20220012636A1 (en) Method and device for creating a system for the automated creation of machine learning systems
EP3690760A1 (en) Device and method to improve the robustness against "adversarial examples"
CN118076957A (zh) 用于进行不变分类和/或回归的神经网络
KR20230042664A (ko) 이미지의 인스턴스 세그먼트화 및/또는 시맨틱 세그먼트화를 결정하기 위한 디바이스 및 방법
CN117836781A (zh) 用于创建机器学习系统的方法和设备
CN117744707A (zh) 用于训练变分自编码器的设备和方法