KR102508098B1 - 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치 - Google Patents

다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치 Download PDF

Info

Publication number
KR102508098B1
KR102508098B1 KR1020197009141A KR20197009141A KR102508098B1 KR 102508098 B1 KR102508098 B1 KR 102508098B1 KR 1020197009141 A KR1020197009141 A KR 1020197009141A KR 20197009141 A KR20197009141 A KR 20197009141A KR 102508098 B1 KR102508098 B1 KR 102508098B1
Authority
KR
South Korea
Prior art keywords
model
neuron
calculation
data storage
layer
Prior art date
Application number
KR1020197009141A
Other languages
English (en)
Other versions
KR20190044657A (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 KR20190044657A publication Critical patent/KR20190044657A/ko
Application granted granted Critical
Publication of KR102508098B1 publication Critical patent/KR102508098B1/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명은 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛(22)에 관한 것으로, 상기 모델 계산 유닛(22)은 하드웨어 내에 형성되어 고정 배선되며, 이 모델 계산 유닛은, 일 입력 변수 벡터(ut)의 하나 또는 복수의 입력 변수에 따라 복수의 뉴런(20)을 갖는 다층 퍼셉트론 모델의 일 뉴런 층의 하나 또는 복수의 출력 변수를 계산하도록 형성된 계산 코어(18)와; 각각의 뉴런 층을 위해, 개별 구성 메모리 섹션(A) 내에 구성 파라미터를 저장하기 위한 구성 메모리 영역(121), 및 입력 변수 벡터의 입력 변수 및 하나 또는 복수의 출력 변수(y[j])를 개별 데이터 저장 섹션(D) 내에 저장하기 위한 데이터 저장 영역(122)을 구비한 메모리(12)와; 계산 코어(18)를 연속으로 지시하기 위하여, 개별 구성 메모리 섹션(A)의 구성 파라미터 및 이에 의해 정의된 입력 변수 벡터(ut)의 입력 변수에 기반해서 뉴런 층을 각각 계산하고, 그 결과로 도출된 출력 변수(y[j])를 각각 상응하는 구성 파라미터에 의해 정의된 데이터 저장 영역(122)의 데이터 저장 섹션(D) 내에 저장하도록 형성된 DMA 유닛(17);을 포함하며, 이때 연속적으로 고려된 구성 메모리 섹션(A)의 구성 파라미터는, 후속하는 뉴런 층을 계산하기 위한 입력 변수용 데이터 저장 섹션(D)에 상응하는, 결과로 도출된 출력 변수를 위한 데이터 저장 섹션(D)을 지시한다.

Description

다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치
본 발명은, 특히 다층 퍼셉트론 모델의 계산을 위한, 별도의 하드 와이어드 모델 계산 유닛에서의 함수 모델 계산에 관한 것이다.
예컨대 연소 엔진, 전기 구동 장치, 배터리 축전지 등과 같은 기술 시스템의 제어 기능들은 주로, 실제 시스템의 수학적 모형을 재현하는 모델을 이용하여 구현된다. 하지만, 물리적 모델에서는, 특히 복잡한 관계에서는 요구되는 계산 정확도가 불충분하고, 현재 계산 용량에서 제어 장치에 대해 요구되는 실시간 요구 사항 안에서 이와 같은 모델을 계산하기는 일반적으로 어렵다. 이러한 경우를 위해, 출력 변수와 입력 변수 간의 관계를 오직 검사대(test stand) 등을 이용해서 획득된 훈련 데이터에 기초해서만 기술하는 데이터 기반 모델의 사용이 고려되었다.
특히 데이터 기반 모델은, 서로 상관관계게 있는 복수의 입력 변수가 모델 내에서 적합한 방식으로 고려되는 복잡한 관계들을 모델링하기에 적합하다. 또한, 데이터 기반 모델을 이용한 모델링은, 개별 입력 변수를 부가함으로써 모델을 보완할 수 있는 가능성을 제공해준다.
데이터 기반 함수 모델은, 개별 용례에 충분한 모델링 정확도에 도달하기 위해, 일반적으로 많은 수의 노드(node)를 토대로 한다. 다수의 노드로 인해, 예를 들어 가우스 프로세스 모델 또는 다층 퍼셉트론 모델과 같은 데이터 기반 함수 모델을 사용해서 모델 값을 계산하기 위해서는 높은 계산 능력이 필요하다. 그렇기 때문에, 이와 같은 데이터 기반 함수 모델을 제어 장치 용례에서 실시간으로 계산할 수 있도록, 하드웨어 설계를 기반으로 하는 모델 계산 유닛이 제공될 수 있다.
본 발명에 따라, 청구항 1에 따른 다층 퍼셉트론 모델의 뉴런 층을 계산하기 위한 모델 계산 유닛과, 독립 청구항들 중 하나에 따른 제어 장치의 용도가 제안된다.
또 다른 실시예들은 종속 청구항들에 명시되어 있다.
제1 양상에 따르면, 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛이 제공되며, 상기 모델 계산 유닛은 하드웨어 내에 형성되고, 고정 배선(hardwired)되며,
- 일 입력 변수 벡터의 하나 또는 복수의 입력 변수에 따라 복수의 뉴런을 갖는 다층 퍼셉트론 모델의 일 뉴런 층의 하나 또는 복수의 출력 변수를 계산하도록 형성된 계산 코어와;
- 각각의 뉴런 층을 위해, 개별 구성 메모리 섹션 내에 구성 파라미터를 저장하기 위한 구성 메모리 영역, 및 입력 변수 벡터의 입력 변수 및 하나 또는 복수의 출력 변수를 개별 메모리 섹션 내에 저장하기 위한 데이터 저장 영역을 구비한 메모리와;
- 계산 코어를 연속으로 지시하기 위하여, 개별 구성 메모리 섹션의 구성 파라미터 및 이에 의해 정의된 입력 변수 벡터의 입력 변수에 기반해서 뉴런 층을 각각 계산하고, 그 결과로 도출된 출력 변수를 각각 상응하는 구성 파라미터에 의해 정의된 데이터 저장 영역의 데이터 저장 섹션 내에 저장하도록 형성된 DMA 유닛;을 포함하며,
이때 연속적으로 고려된 구성 메모리 섹션의 구성 파라미터는, 후속하는 뉴런 층을 계산하기 위한 입력 변수용 데이터 저장 섹션에 상응하는, 결과로 도출된 출력 변수용 데이터 저장 영역을 지시한다.
상기 모델 계산 유닛은, 데이터 기반 모델의 일부로서의 다층 퍼셉트론 모델(MLP 모델)의 복수의 뉴런 층을 각각 가변적인 개수의 뉴런을 이용해서 계산할 수 있게 하는 일 실시예를 제안한다. 다층 퍼셉트론 모델의 사용은, 예를 들어 가우스 프로세스 모델과 같은 대등한 데이터 기반 모델보다 적은 개수의 노드점을 이용한 데이터 기반 모델링을 제공한다.
상기 모델 계산 유닛의 한 구상은, 하드웨어 구조의 다층 퍼셉트론 모델의 하나의 층을 계산하기 위해, 모델 계산 유닛을 별도로 제어 장치 내 계산 코어 내에 형성하는 것이다. 이와 같은 방식에 의해서는, 여러 가지 기능을 구현하기 위해 실질적으로 고정 배선 된 하드웨어 회로가 제공될 수 있으며, 이와 같은 하드웨어 회로는 일 다층 퍼셉트론 모델의 하나 또는 복수의 층을 계산하는 것 그리고 이와 동시에 제어 장치의 소프트웨어 제어된 마이크로프로세서 내에서 매우 적은 계산 부하만을 야기하는 것을 가능하게 한다. 모델 계산 유닛에 의해 제공되는 하드웨어 가속에 의해, 다층 퍼셉트론 모델이 실시간으로 계산될 수 있음으로써, 제어 장치를 자동차 내 연소 엔진용으로 적용하기 위해 상기와 같은 모델을 사용하는 점에 관심이 증가된다.
하드웨어 내에 형성된 상기 모델 계산 유닛은, 제어 장치 내의 계산 코어 내에서 하나의 다층 퍼셉트론 모델의 복수의 뉴런 층의 자동으로 연속 실행되는 계산을 가능하게 한다. 하나의 다층 퍼셉트론 모델의 하나의 계산을 하드 와이어링 방식으로 형성된 모델 계산 유닛 내로 재배치시킴으로써, 마이크로프로세서와 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 간의 통신을 줄이고 모델 값의 계산을 위한 시간 경비를 최소화할 수 있게 된다.
다층 퍼셉트론 모델을 위한 일 모델 값의 계산에서는, 일반적으로 층 방식으로 계산이 실시되며, 이 경우 입력 벡터의 입력 변수가 제1 뉴런 층에 공급되고, 제1 뉴런 층의 계산에 의해 중간 출력 변수 벡터의 중간 출력 변수들이 얻어지며, 이들 중간 출력 변수는 재차 퍼셉트론 모델의 하위 뉴런 층을 위한 중간 입력 변수로서 이용된다.
마지막 뉴런 층의 결과로서 모델 값을 얻기 위해, 상기 계산들은 퍼셉트론 모델의 뉴런 층의 개수에 상응하게 연속으로 실행된다. 이를 위해, DMA 유닛과 함께 계산 시퀀스의 제어를 실행할 수 있는 메모리 구조가 제공된다.
입력 변수 벡터의 입력 변수 및 또 다른 후속 뉴런 층을 위한 일 중간 입력 변수 벡터의 중간 입력 변수를 저장하기 위한 개별 섹션을 갖는 데이터 저장 영역의 제공에 의해서는, 추가적인 복사 과정 없이 모델 계산 유닛 내에서 모델 값의 자동 계산이 제공될 수 있다. 이와 같은 과정은, 각각의 뉴런 층의 출력 변수 벡터의 출력 변수가 - 마지막 뉴런 층과 별개로 - 각각 계산될 다음 뉴런 층의 중간 입력 변수를 저장하기 위한 데이터 저장 영역의 섹션 내에 각각 저장되도록 이루어진다. DMA 유닛에 의해 계산 코어 내에서 상응하는 뉴런 층의 계산을 다시 활성화함으로써, 다층 퍼셉트론 모델의 사전 설정된 개수의 뉴런 층이 자동으로 계산될 수 있다.
특히, 계산의 시퀀스를 구성하고, 소수의 뉴런 층 및 각각의 뉴런 층을 위한 사전 설정 가능한 개수의 뉴런을 파라미터화하고 이들의 계산 순서를 확정하는 것을 가능하게 하는 구성 메모리 영역이 제공될 수 있다. 또한, 입력 변수 벡터의 입력 변수가 판독 출력되고, 뉴런 층의 출력 변수 벡터의 출력 변수가 기록되는 데이터 저장 영역을 어드레싱함으로써, 뉴런 층의 계산의 출력 변수들이 후속 뉴런 층을 위한 중간 입력 변수로서 재정립되는 계산 코어가 제공된다. 이로 인해, 뉴런 층의 새로운 계산이 자동으로 시작됨으로써, 퍼셉트론 모델의 다층 계산의 시퀀스가 계산 코어의 메모리의 구성 메모리 영역 내에서의 적합한 파라미터화에 의해 제공될 수 있다. 이와 같은 방식에 의해, 다층 퍼셉트론 모델의 계산 기능을 마이크로프로세서에 의해 계산 코어에 사전 부여하고, 계산이 완료된 후에는 마이크로프로세서에 의한 추가 개입 없이 모델 값을 다층 퍼셉트론 모델의 출력 값으로서 마이크로프로세서로부터 호출하거나 수신하는 것이 가능하다.
또한, 뉴런 층의 계산이 완료된 후에, 다음 뉴런 층을 위한 구성 파라미터를 계산 코어에 제공하도록 DMA 유닛을 형성하는 것도 제안될 수 있으며, 이 경우 계산은 하나 또는 복수의 구성 파라미터에 따라 종료된다.
일 실시예에 따르면, 뉴런 층의 현재 계산의 종료를 DMA 유닛으로 시그널링하도록 계산 코어가 형성될 수 있으며, 이 경우 DMA 유닛은, 또 다른 구성 메모리 섹션 내에 저장된 구성 파라미터에 기초하여 다음 뉴런 층의 계산을 시작한다.
또한, 계산 코어는, 일 다층 퍼셉트론 모델의 일 뉴런 층을 위해서 다수의 뉴런을 이용하여 일 입력 변수 벡터의 하나 또는 복수의 입력 변수에 따라, 가중 계수를 갖는 가중 매트릭스에 따라, 그리고 각각의 뉴런을 위해 사전 설정된 오프셋 값에 따라, 각각의 뉴런을 위한 출력 변수를 계산하도록 형성될 수 있으며, 이 경우에는 각각의 뉴런을 위해 이 뉴런에 사전 설정된 오프셋 값을 갖는 입력 변수의 각각 가중 계수로 가중된 값들의 총합이 제공되고, 상기 뉴런을 위한 출력 변수를 얻기 위하여 그 결과가 활성화 함수(activation function)에 의해 변환되며, 이 경우 가중 계수는 뉴런 및 입력 변수에 의해 정의되거나 결정된다.
일 실시예에 따라, 계산 코어는 집적 모듈의 표면 영역에 형성될 수 있다.
또 다른 일 양태에 따르면, 마이크로프로세서와, 상기 모델 계산 유닛들 중 하나 또는 복수의 모델 계산 유닛을 갖는 제어 장치가 제공되며, 이 경우 제어 장치는 특히 집적 회로로서 형성된다.
또 다른 일 양태에 따르면, 상기 제어 장치를, 연소 엔진 및/또는 전기 구동 장치를 구비한 엔진 시스템; 및/또는 자동차 내의 전기 에너지 저장 장치;를 제어하기 위한 제어 장치로서 사용하기 위한 용도가 제안된다.
이하에서 첨부된 도면들을 참조하여 실시예들이 더욱 상세하게 설명된다.
도 1은 자동차 내의 엔진 시스템을 위해 사용하기 위한 제어 장치의 개략도이다.
도 2는 제어 장치의 일부로서의 계산 유닛의 개략도이다.
도 3은 MLP 모델의 일 뉴런 층의 개략도이다.
도 4a 내지 도 4d는 가능한 활성화 함수의 그래프들이다.
도 5는 계산 코어의 구성 메모리 영역의 일 구성 메모리 섹션을 나타낸 도면이다.
도 6a 및 도 6b는 구성 메모리 영역과 데이터 저장 영역의 분할을 나타낸 도면이다.
도 7은 모델 계산 유닛의 DMA 유닛의 기능을 재현하기 위한 흐름도이다.
도 1은, 제어될 기술 시스템의 예로서, 연소 엔진(3)을 구비한 엔진 시스템(1)용 제어 장치(2)의 개략도를 보여준다. 제어 장치(2)는, 별도의 부품들로서 또는 집적 방식으로 칩 상의 별도의 표면 영역에 형성될 수 있는 마이크로프로세서(21) 및 모델 계산 유닛(22)을 포함한다. 특히, 모델 계산 유닛(22)은, 마이크로프로세서(21)의 계산 코어로부터 구조적으로 분리될 수 있는 하드웨어 회로를 형형성한다.
모델 계산 유닛(22)은, 실질적으로 하드 와이어링되어고, 그에 상응하게 마이크로프로세서(21)와 달리 소프트웨어 코드를 실행하여 소프트웨어에 의해 사전 설정된 가변 기능을 수행하도록 형성된다. 달리 표현하면, 모델 계산 유닛(22) 내에 프로세서가 전혀 제공되지 않음으로써, 이 모델 계산 유닛은 소프트웨어 코드에 의해 작동될 수 없다. 사전 설정된 모델 함수에 초점을 맞춤으로써, 상기와 같은 모델 계산 유닛(22)의 자원 최적화된 구현이 가능해진다. 집적 구성 방식에서는, 모델 계산 유닛(22)이 면적 최적화된 방식으로 구현될 수 있으며, 이는 또한 신속한 계산을 가능하게 한다.
제어 장치(2)는, 실질적으로 연소 엔진(3) 내의 센서 시스템에 의해 검출되는 센서 신호(S) 또는 센서 변수 및/또는 외부 규정(V)을 처리하기 위해서, 그리고 예컨대 1 내지 100ms에 해당하는 사전 설정된 시간 간격 안에 주기적으로, 또는 작동된 연소 엔진의 크랭크 샤프트 각도에 따라 각도 동기화되어, 하나 또는 복수의 상응하는 제어 변수(A)의 값을 연소 엔진(3)에 인가하기 위해 이용되며, 그 결과 연소 엔진은 공지된 방식으로 작동할 수 있게 된다.
도 2에는, 모델 계산 유닛(22)이 더욱 상세하게 도시되어 있다. 모델 계산 유닛(22)은, 상태 기계(11), 메모리(12) 및 하나 또는 복수의 연산 블록, 예를 들어 하나 또는 복수의 MAC 블록(13)(MAC: 고정 소수점 연산을 위한 Multiply-ACcumulate 또는 FMA: 부동 소수점 연산을 위한 Fused-Multiply-Add)과; 활성화 함수를 계산하기 위한 활성화 함수 계산 블록(14)과; 선택적으로 가산기 블록(15) 및/또는 곱셈 블록(16);을 포함한다. 상태 기계(11)에 의해, 메모리(12)의 상응하는 출력 변수 메모리 영역 내에 기록되는 중간 변수 또는 출력 변수를 얻기 위해, 데이터 저장 영역(122)(입력 변수 저장 영역) 내에서 메모리(12) 내에 저장된 입력 변수의 값들이 반복된 루프 연산(loop calculation)에 의해 오프셋될 수 있다.
계산의 제어는 DMA 유닛(17)(DMA: Direct Memory Access)에 의해 수행될 수 있다.
상태 기계(11)는, 일 다층 퍼셉트론 모델의 단 하나의 뉴런 층을 계산하도록 설계된다. 상태 기계(11)는, 하기의 의사 코드에 따라 기술될 수 있다:
/* 입력 변환 정보 */
Figure 112019032362909-pct00001
}
/* 루프 연산 */
Figure 112019032362909-pct00002
/* 출력 변환 정보 */
Figure 112019032362909-pct00003
상기 의사 코드에서,
p7: 입력 변수 벡터의 입력 변수에 대한 최대 지수 값
p8: 현재 뉴런 층의 뉴런을 계산하기 위한 최소 지수 값 또는 초기 값
p6: 현재 뉴런 층의 뉴런에 대한 최대 지수 값
p3: 오프셋 값
p1, p2: 입력 변환을 위한 변수
p4, p5: 출력 변환을 위한 변수
상기 의사 코드에 의해, 계산될 뉴런 층의 각각의 뉴런에 대해 다음의 계산이 실행될 수 있다:
Figure 112019032362909-pct00004
for j=0...p6-1
상기 의사 코드는, 도 3에 도시된 바와 같이 일 다층 퍼셉트론 모델의 일 뉴런 층에 대한 계산을 재현한 것이다.
도 3은, 일 입력 변수 벡터(ut0 ... utp6 - 1)의 입력 변수의 값들이 제공되는 복수의 뉴런(20)의 일 뉴런 층을 보여준다. 입력 변수들의 값들은, 가중 계수(v0...p7-1,0...p6-1)로 이루어진 상응하는 사전 설정된 가중 매트릭스에 의해 가중된다. 가중은 일반적으로, 할당된 가중 계수((v0...p7 -1, 0...p6 - 1)를 곱하는 방식으로 적용된다. 가중 계수는 일반적으로, 입력 변수 벡터의 값을 다른 방식으로도 적용할 수 있다.
입력 변수 벡터(ut0 ... utp6 - 1)의 가중된 값들의 총합의 결과에 오프셋 값(O0 ... Op6 - 1)이 적용되며, 특히 가산되는 방식으로 적용된다. 그 결과는 사전 설정된 활성화 함수 "act"에 의해 변환된다. 그 결과로서, 일 출력 변수 벡터(y0 ... yp6 - 1)의 상응하는 값을 얻게 된다. 각각의 뉴런에 대한 오프셋 값을 제공함으로써, 모델 형성을 위한 또 다른 자유도가 존재하게 된다.
실행 변수(p6)를 확정함으로써, 계산될 뉴런 층의 뉴런(20)의 개수가 설정될 수 있다. 일 뉴런 층의 출력 변수 벡터(y0 ... yp6 - 1)의 값들의 사용에 의해, 다층 퍼셉트론 모델이 모델 계산 유닛(22) 내에서 후속하는 뉴런 층을 계산하기 위한 입력 변수 벡터로서 사용될 수 있음으로써, 다층 퍼셉트론 모델의 뉴런 층의 개수는 상기 의사 코드에 따른 함수의 반복 호출에 의해 또는 상응하게 변경된 파라미터를 이용한 모델 계산 유닛(22)의 반복 호출에 의해 실현될 수 있다.
입력 변수 벡터의 입력 변수들 또는 출력 변수 벡터의 출력 변수들의 입력 변환 및/또는 출력 변환은, 각각의 뉴런에 대해 사전 설정된 정규화 변수(p1 및 p2 또는 p4 및 p5)를 이용해서 수행될 수 있다. 상기 입력 변수들의 입력 변환 및/또는 출력 변환은 건너뛸 수도 있다.
MLP 모델의 층별 계산이 모델 계산 유닛(22)의 슬림한 설계를 가능하게 함으로써, 집적 구성 방식에서 모델 계산 유닛의 면적 수요가 적어진다. 그럼에도 불구하고, 모델 계산 유닛(22)은, 출력 변수 벡터의 출력 변수의 값들을 또 다른 일 뉴런 층을 계산하기 위한 일 입력 변수 벡터의 입력 변수로서 재순환하거나 재정립함으로써 간단한 방식으로 다층 퍼셉트론 모델의 계산을 가능하게 한다.
활성화 함수 "act"로서, 모델 계산 유닛(22)의 활성화 함수 계산 블록(14)에 의해 계산될 수 있는 복수의 활성화 함수들 중 하나가 제공될 수 있다. 활성화 함수로서는, 예를 들어 도 4a 내지 도 4d에 상응하게 도시되어 있는 바와 같은 전환 함수, 탄젠트 쌍곡선 함수, 시그모이드 함수 또는 선형 함수가 사용될 수 있다.
상기 의사 코드에 의해 실현된 뉴런 모델의 단층 형성을 통해서는, 또한, 간단한 변형에 의해 MLP 모델의 뉴런 층 외에 가우스 프로세스 모델 또는 RBF 모델(RBF: Radial Basis Function)을 계산하는 것도 가능하다. 이를 위해, 가중치는 입력 변수의 값에 곱해지는 방식으로 적용되지 않고, 오히려 가산되거나 감산되는 방식으로 적용된다. 또한, 사전 설정된 길이 스케일(L[k])로 가중된 제곱 거리가 계산된다. 더 나아가서는, 지수 함수가 RBF 모델을 위해 활성화 함수로서 선택된다. 따라서, 가우스 프로세스 모델은
Figure 112019032362909-pct00005
에 상응하게, 의사 코드의 변형에 의해 선택적으로 다음과 같이 계산된다.
/* 입력 변환 정보 */
Figure 112019032362909-pct00006
}
/* 루프 연산 */
Figure 112019032362909-pct00007
퍼셉트론 모델 계산용 오프셋 값
Figure 112019032362909-pct00008
Figure 112019032362909-pct00009
전환 함수
Figure 112019032362909-pct00010
시그모이드 함수
Figure 112019032362909-pct00011
Figure 112019032362909-pct00012
탄젠트 함수
Figure 112019032362909-pct00013
Figure 112019032362909-pct00014
선형 함수
Figure 112019032362909-pct00015
Figure 112019032362909-pct00016
for 가우스 프로세스 모델/RBF 모델
Figure 112019032362909-pct00017
/* 출력 변환 정보 */
Figure 112019032362909-pct00018
루프 함수의 실행 시 변수(cfg_mlp)에 의해 케이스(case) 구분이 가능함을 알 수 있다. cfg_mlp = 1의 경우에는, 뉴런 층의 계산이 선택되고, cfg_activation_function = 0...3에 의해서는, 전술된 활성화 함수의 유형이 선택될 수 있다.
cfg_mlp = 0의 경우에는, 가우스 프로세스 모델 또는 RBF 모델이 계산된다. 여기에서는, 활성화 함수의 선택이 반드시 필요하지는 않은데, 그 이유는 활성화 함수가 항상 지수 함수에 의해 계산되기 때문이다. 이와 같은 방식에 의해, 모델 계산 유닛(22)을 가우스 프로세스 모델, RBF 모델의 계산을 위해서뿐만 아니라 MLP 모델의 뉴런 층의 계산을 위해서도 사용할 수 있는 동시에 상태 기계의 집적 구성 방식에서 적은 면적 수요만이 필요할 수 있게 된다.
모델 계산 유닛(22)의 메모리(12)는 구성 메모리 영역(121)을 구비하며, 이 구성 메모리 영역은 사전 설정된 개수의 뉴런 층을 위한 구성 파라미터를 개별 구성 메모리 섹션(A) 내에 저장할 수 있다. 구성 메모리 영역(121)은, 마이크로프로세서(21)에 의해서뿐만 아니라 모델 계산 유닛(22)에 의해서도 액세스되거나 이용될 수 있는 제어 장치의 메인 메모리의 부분일 수 있다. 대안적으로, 구성 메모리 섹션(A)은 또한 별개의 플래시 메모리 내에 또는 계산 코어(18) 전용 메모리 내에 제공될 수도 있다.
구성 메모리 섹션(A)은, 도 5에 예시적으로 도시되어 있는 바와 같이, 모델 계산 유닛(22)의 구성 파라미터가 사전 설정된 순서에 상응하게 그 내부에 저장되는 소수의 메모리 어드레스를 갖는다. 개별 구성 메모리 섹션(A)을 사용하기 위하여, 일 뉴런 층의 계산을 위해 그곳에 저장된 값들이 DMA 유닛(17)에 의해 이를 위해 제공된 계산 코어(18)의 레지스터 내에 복사된다. 복사 과정은, 마이크로컨트롤러 또는 계산 코어(18)의 개입 없이 수행될 수 있지만, 오히려 DMA 유닛(17)에 의해 자동으로 실행된다.
개별 구성 메모리 섹션(A)의 어드레스 위치(Reg1 내지 RegP)는, 구성 메모리 영역(121)의 구성 메모리 섹션(A)에 할당된 관련 뉴런 층에서 계산을 수행하기 위한 파라미터를 포함한다. 예를 들어, 구성 메모리 위치(Reg1 내지 RegP)는 상기 의사 코드에 상응하게 파라미터(p1 내지 p8)를 저장할 수 있는데, 특히 상응하는 어드레스 포인터를 통해 저장할 수 있으며, 데이터 저장 영역(122)의 데이터 저장 섹션(상응하는 스타트 어드레스의 지정에 의해 정의된 어드레스 영역) 내에는 관련(현재 계산될) 뉴런 층과 관련된 입력 변수 벡터의 입력 변수 또는 중간 입력 변수 벡터의 중간 입력 변수, 가중 매트릭스의 가중 계수, 오프셋 벡터의 오프셋 값이 저장되어 있다.
데이터 저장 영역(122)은, 제어 장치의 메인 메모리 내에 또는 모델 계산 유닛(22) 전용으로 할당된 메모리 내에 제공될 수 있다. 또한, 구성 파라미터(Reg1 내지 RegP) 중 하나는, 상기 뉴런 층 내에서 계산의 결과로서 얻어지는 출력 변수 벡터의 개별 출력 변수를 저장하기 위한 데이터 저장 섹션에 대한 스타트 어드레스를 지시할 수 있다. 모델 파라미터, 입력 변수 벡터 및 출력 변수 벡터의 치수가 가변적이기 때문에, 어드레스 포인터의 사용은 장점을 갖는다.
또한, 구성 메모리 영역(121)은, 특정 날짜를 기록 입력할 때 현재의 (즉, 개별 구성 메모리 섹션에 할당된) 뉴런 층의 계산을 시작하는 계산 스타트 정보(RegCtrl)를 저장하기 위한 어드레스 위치를 제공할 수 있다.
또한, 별개의 상태 레지스터 저장 영역(R)은, 상태 정보를 판독하기 위한 하나 또는 복수의 어드레스 위치(RegR01 내지 RegROQ)를 가질 수 있다. 상태 정보는, 퍼셉트론 모델의 개별 뉴런 층의 계산으로부터의 피드백을 지시할 수 있다. 상태 정보는, 예를 들어 모델 계산 유닛(22)의 계산 상태(idle/busy)에 대한 정보, 계산 진척(상태 기계 내에서의 의사 코드의 계산의 위치, 예컨대 입력 변환, 메인 루프 등의 계산의 위치)에 대한 정보, 파라미터[잘못된 어드레스 포인터, 허위의/지원되지 않은 값(예컨대 INFinity 또는 Not-a-Number in float)]의 유효성 등에 대한 정보를 가질 수 있다.
또한, DMA 유닛(17)에 의한 구성 메모리 섹션(A)의 블록 방식의 처리를 고려하기 위하여, 각각의 구성 메모리 섹션(A) 내에는 사용되지 않은 메모리 어드레스가 제공될 수 있다.
도 6a에는, 도 6a에 도시된 바와 같이, 구성 파라미터가 연속하는 구성 메모리 섹션(A) 내에 저장되어 있는 구성 메모리 영역(121) 내의 복수의 구성 메모리 섹션(A)의 배열 상태가 도시되어 있다. 그곳에는, N개의 뉴런 층(MLP1 ... MLPN)을 위한 구성 파라미터를 갖는 N개의 구성 메모리 섹션의 배열이 사전 설정되어 있다. 각각의 뉴런 층에 대한 구성 파라미터의 개수가 변하지 않기 때문에, 구성 메모리 섹션(A)에는 바람직하게 각각 동일한 변수가 제공된다.
구성 파라미터들 중 몇몇은 어드레스 포인트로서 제공되어 있고, "*"로 표시되어 있다. 도 6b에 도시되어 있는 바와 같이, 어드레스 포인터는, 예컨대 관련 뉴런 층을 계산하기 위해 입력 변수 벡터의 입력 변수 또는 중간 입력 변수 벡터의 중간 입력 변수(예컨대 MLP1_Reg1*, MLP2_Reg1* 등), 가중 매트릭스, 오프셋 벡터의 오프셋 값으로 이루어진 가중 계수가 호출되는 제어 장치의 메인 메모리 내에 있는 데이터 저장 영역(122)의 데이터 저장 섹션의 스타트 어드레스를 지시한다. 또한, 어드레스 포인터들 중 하나는, 출력 변수 벡터의 결과로 도출된 출력 변수 또는 (후속적으로 계산될 뉴런 층이 존재하는 경우에는) 중간 출력 변수 벡터의 결과로 도출된 중간 출력 변수(예컨대 MLP1_Reg2*, MLP2_Reg2* 등)을 저장하기 위한 데이터 저장 섹션을 지시한다. 연속하는 구성 메모리 섹션(A) 내에서 구성 파라미터를 적합하게 파라미터화함으로써, 바람직하게는, 일 뉴런 층의 출력 변수 벡터를 저장하기 위한 데이터 저장 섹션(D)의 스타트 어드레스가 후속하는 뉴런 층의 입력 변수 벡터 또는 중간 입력 변수 벡터를 저장하기 위한 데이터 저장 섹션의 스타트 어드레스에 상응하는 구성이 제공될 수 있다.
입력 변수 및 출력 변수를 위한 데이터 저장 영역(122)의 데이터 저장 섹션은, 퍼셉트론 모델의 상응하는 뉴런 층에 상응하는 개수의 뉴런을 사전에 설정하는 사전 설정된 개수의 어드레스 위치를 갖는 각각의 뉴런 층을 위해 데이터 저장 섹션(D) 내에 제공된다. 개별 뉴런 층의 입력 변수 벡터 및 출력 변수 벡터의 스타트 어드레스는 메모리 액세스의 세분도(granularity)에 따라 분할된다. 이로 인해, 도 6b에 예시적으로 도시되어 있는 바와 같이, 하나 또는 복수의 이용되지 않은 데이터 저장 어드레스 영역이 생성될 수 있다. 이용되지 않은 데이터 저장 어드레스 영역은, 예를 들어 어드레스 포인터가 예컨대 8 또는 16 바이트에 대한 블록 내에서 다만 "Page"-방식으로만 어드레싱할 수 있는 경우에 발생할 수 있다.
따라서, 마이크로프로세서에 의해 상응하는 프로그램 진행 제어를 얻지 못하는 상태에서, 퍼셉트론 모델의 복수의 뉴런 층을 연속으로 계산하기 위해서는, 마이크로프로세서가 DMA 유닛(17)만 초기화하면 된다. 일 뉴런 층의 계산의 연속적인 호출에 의한 시퀀스 제어는 DMA 유닛(17)에 의해 이루어진다.
도 7에는, DMA 유닛(17)에 의한 모델 계산 유닛의 제어를 나타내는 흐름도가 도시되어 있다. 처음에는, 마이크로프로세서에 의한 구성이 실행되는데, 이 경우에는 상응하는 모델 파라미터, 즉 제1 뉴런 층의 입력 변수의 값이 데이터 저장 영역(122)의 관련 데이터 저장 섹션(D) 내에 기록된다. 도 6a에 도시되어 있는 바와 같이, 예컨대 가중 매트릭스 및 오프셋 값과 같은 개별 데이터 저장 섹션 내에 저장된 모델 파라미터들을 각각의 개별 뉴런 층을 위해 별개로 포함하고 있는, 예컨대 복수의 구성 메모리 섹션(A)과 같은 모델 파라미터의 다른 부분들은 전형적으로 사전에 제공된다(오프라인, MLP 모델 생성 단계 동안). 필요에 따라, 다양한 뉴런 층(MLP1 내지 MLPN)을 위한 구성 메모리 섹션(A)은 런타임 동안에도 생성되거나 변경될 수 있다. 각각의 개별 뉴런 층에 대한 가중 매트릭스 값 및 오프셋 값은 재차 항상 오프라인으로 준비된다(예컨대 플래시 방식으로). 계산 속도를 높이기 위하여, 상기 플래시의 파라미터가 각각 할당된 데이터 저장 섹션(D)에 복사되는 것도 가능하다.
단계 S1에서, DMA 유닛(17)은, 예컨대 복사 목적지로서 계산 코어(18)의 레지스터를 갖는 구성 메모리 영역의 증분된 소스 어드레스를 갖는 다중 복사 전송을 위한 마이크로 컨트롤러에 의해 구성된다. 이로 인해, DMA 유닛(17)은, 개별 구성 메모리 섹션(A)을 위해 실행될 복사 과정의 개수 및 또한 전체 MLP 모델의 복사 과정의 개수(= MLP 뉴런 층의 개수)도 경험하게 된다. 그 다음에 이어서, DMA 유닛(17)은, 예컨대 계산 스타트 정보(RegCtrl)가 구성 메모리 영역(121)으로부터 계산 코어(18)를 위한 상응하는 어드레스 위치/레지스터로 기록됨으로써, 계산 코어(18)에 계산을 시작하라는 시그널링을 하게 된다.
DMA 유닛(17)은, 계산 유닛의 레지스터로의 제1 구성 파라미터 섹션(A)의 제1 복사 과정을 시작하고, 그 다음에 이어서 제1 뉴런 층의 계산과 더불어 단계 S2에서 제1 뉴런 층에 할당된 구성 파라미터(MLP1_Reg1 - MLP1_RegP, RegCtrl)를 토대로 하여 계산을 시작한다. 구성 파라미터의 어드레스 포인터는, 제1 뉴런 층의 출력 변수 벡터의 출력 변수를 계산하기 위하여, 입력 변수 벡터의 입력 변수, 가중 매트릭스로 이루어진 가중 계수 및 오프셋 벡터의 오프셋 값이 인출되어야만 하는 데이터 저장 섹션(D)을 지시한다.
제1 뉴런 층의 출력 변수를 계산한 후에는, 상기 제1 뉴런 층이 상응하는 출력 변수 저장 블록 내에 있게 되는데, 이 출력 변수 저장 블록은 DMA 유닛(17)에 의해 제1 뉴런 층에 대한 구성 파라미터를 토대로 하여 데이터 저장 영역(122)의 상응하는 데이터 저장 섹션(D) 내에 저장된다.
단계 S3에서, DMA 유닛(17)의 계산 코어(18)는, 제1 뉴런 층의 계산이 완료되었다는 것을 시그널링 한다. 이와 같은 과정은, 계산 코어(18)가 상응하는 구성 파라미터에 의해 DMA 유닛(17)에 대해 인터럽트를 야기함으로써 달성될 수 있다. 또 다른 일 신경 층의 계산을 위해, DMA 유닛(17)이 구성 파라미터를 또 다른 뉴런 층에 할당된 구성 메모리 영역(21)의 구성 메모리 섹션(A)으로부터 계산 유닛의 레지스터 내부로 전달하고, 경우에 따라서는 가중 매트릭스의 가중 계수 그리고 오프셋 벡터의 오프셋 값을 - 이들 값이 이전에 이미 저장되어 있지 않는 한 - 어드레스 포인터에 의해 구성 파라미터 하에서 지시된 데이터 저장 섹션(D) 내부에 저장함으로써, 출력 변수가 제1 뉴런 층의 계산으로부터 다음 뉴런 층의 계산을 위한 중간 입력 변수로서 가정된다. 그 다음에 이어서, 단계 S4에서 계산이 시작된다.
단계 S3 및 S4의 공정은, 각각의 또 다른 뉴런 층을 위해, 예컨대 복사될 구성 메모리 섹션의 처음에 사전 결정된 개수에 도달할 때까지 반복된다. 마지막 뉴런 층의 계산을 위한 상응하는 구성 파라미터는, 계산 코어(18)가 직접 마이크로 프로세스에 인터럽트를 야기함으로써, 계산 코어(18)의 인터럽트 호출을 규정한다. 그 다음에, 계산 코어(18)는 상응하는 인터럽트 신호를 마이크로프로세서로 시그널링하고, 그 후에 마이크로프로세서는 모델 값을 호출하거나 다른 방식으로 수신한다. 대안적으로는, 모델 계산 유닛(22)이 인터럽트 신호를 DMA 유닛으로 전송할 수 있고, DMA 유닛(17)이 인터럽트 신호를 마이크로 컨트롤러로 계속 전송할 수 있다(체인형 인터럽트).
구성 메모리 영역(121)은 또한, 계산을 위해서 필요한 데이터의 데이터 저장 섹션(D)에 대한 상응하는 지시를 갖는 구성 파라미터도 구비할 수 있다. 이를 위해, 일 퍼셉트론 모델의 계산이 종료된 후에는, 제2 퍼셉트론 모델의 새로운 제1 뉴런 층의 계산이 실행될 수 있다. 이를 위해, 모델 값이 제1 퍼셉트론 모델의 마지막 뉴런 층의 출력 변수로서 저장되는 어드레스 위치가, 제2 퍼셉트론 모델의 제1 뉴런 층의 입력 변수의 부분이 아니면 된다.

Claims (9)

  1. 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛(22)으로서, 상기 모델 계산 유닛(22)은 하드웨어 내에 형성되어 고정 배선되며,
    - 일 입력 변수 벡터(ut)의 하나 또는 복수의 입력 변수에 따라 복수의 뉴런(20)을 갖는 다층 퍼셉트론 모델의 일 뉴런 층의 하나 또는 복수의 출력 변수를 계산하도록 형성된 계산 코어(18)와;
    - 각각의 뉴런 층을 위해, 개별 구성 메모리 섹션(A) 내에 구성 파라미터를 저장하기 위한 구성 메모리 영역(121), 및 입력 변수 벡터의 입력 변수 및 하나 또는 복수의 출력 변수(y[j])를 개별 데이터 저장 섹션(D) 내에 저장하기 위한 데이터 저장 영역(122)을 갖는 메모리(12)와;
    - 계산 코어(18)를 연속으로 지시하기 위하여, 개별 구성 메모리 섹션(A)의 구성 파라미터 및 이로 인해 정의된 입력 변수 벡터(ut)의 입력 변수에 기반해서 뉴런 층을 각각 계산하고, 그 결과로 도출된 출력 변수(y[j])를 각각 상응하는 구성 파라미터에 의해 정의된 데이터 저장 영역(122)의 데이터 저장 섹션(D) 내에 저장하도록 형성된 DMA 유닛(17);을 포함하는, 다층 퍼셉트론 모델의 계산을 위한 모델 계산 유닛(22).
  2. 제1항에 있어서, 연속적으로 고려된 구성 메모리 섹션(A)의 구성 파라미터는, 후속하는 뉴런 층을 계산하기 위한 입력 변수용 데이터 저장 섹션(D)에 상응하는, 결과로 도출된 출력 변수를 위한 데이터 저장 섹션(D)을 지시하는, 모델 계산 유닛(22).
  3. 제1항 또는 제2항에 있어서, DMA 유닛(17)은, 뉴런 층의 계산이 완료된 후 다음 뉴런 층을 위한 구성 파라미터를 계산 코어(18)에 제공하도록 형성되며, 상기 계산은 하나 또는 복수의 구성 파라미터에 따라 종료되는, 모델 계산 유닛(22).
  4. 제1항 또는 제2항에 있어서, 계산 코어(18)는, 뉴런 층의 현재 계산의 종료를 DMA 유닛(17)으로 또는 외부로 시그널링하도록 형성되며, 상기 DMA 유닛(17)은, 또 다른 구성 메모리 섹션(A) 내에 저장된 구성 파라미터에 기초하여 다음 뉴런 층의 계산을 시작하는, 모델 계산 유닛(22).
  5. 제1항 또는 제2항에 있어서, 계산 코어(18)는, 일 다층 퍼셉트론 모델의 일 뉴런 층을 위해서 다수의 뉴런(20)을 이용하여 일 입력 변수 벡터(ut)의 하나 또는 복수의 입력 변수에 따라, 가중 계수(vj,k )를 갖는 가중 매트릭스에 따라, 그리고 각각의 뉴런(20)을 위해 사전 설정된 오프셋 값에 따라, 각각의 뉴런(20)을 위한 일 출력 변수(y[j])를 계산하도록 형성되며; 각각의 뉴런(20)을 위해, 상기 뉴런(20) 및 입력 변수에 의해 결정된 가중 계수(vj,k )로 가중된 입력 변수의 값들의 총합에 상기 뉴런(20)에서 사전 설정된 오프셋 값이 인가되고, 그 결과가 활성화 함수(act)에 의해 변환됨에 따라 뉴런(20)을 위한 출력 변수(y[j])가 얻어지는, 모델 계산 유닛(22).
  6. 제1항 또는 제2항에 있어서, 계산 코어(18)가 집적 모듈의 표면 영역에 형성되는, 모델 계산 유닛(22).
  7. 마이크로프로세서(21) 및 제1항 또는 제2항에 따른 하나 또는 복수의 모델 계산 유닛(22)을 구비한 제어 장치(2).
  8. 제7항에 있어서, 제어 장치(2)가 집적 회로로서 형성되는, 제어 장치(2).
  9. 자동차 내 엔진 시스템(1)으로서, 상기 자동차 내 엔진 시스템(1)을 제어하기 위한 제7항에 따른 제어 장치(2)를 포함하는, 자동차 내 엔진 시스템(1).
KR1020197009141A 2016-09-07 2017-09-04 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치 KR102508098B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102016216947.5 2016-09-07
DE102016216947.5A DE102016216947A1 (de) 2016-09-07 2016-09-07 Modellberechnungseinheit und Steuergerät zur Berechnung eines mehrschichtigen Perzeptronenmodells
PCT/EP2017/072046 WO2018046418A1 (de) 2016-09-07 2017-09-04 Modellberechnungseinheit und steuergerät zur berechnung eines mehrschichtigen perzeptronenmodells

Publications (2)

Publication Number Publication Date
KR20190044657A KR20190044657A (ko) 2019-04-30
KR102508098B1 true KR102508098B1 (ko) 2023-03-10

Family

ID=59923387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197009141A KR102508098B1 (ko) 2016-09-07 2017-09-04 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치

Country Status (6)

Country Link
US (1) US11599787B2 (ko)
JP (1) JP6737960B2 (ko)
KR (1) KR102508098B1 (ko)
CN (1) CN109690579B (ko)
DE (1) DE102016216947A1 (ko)
WO (1) WO2018046418A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016014A1 (en) * 2006-07-13 2008-01-17 Lev Sigal Neural network resource sizing apparatus for database applications
US20150199963A1 (en) 2012-10-23 2015-07-16 Google Inc. Mobile speech recognition hardware accelerator
WO2016099779A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Method and apparatus for distributed and cooperative computation in artificial neural networks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2792633B2 (ja) * 1990-02-09 1998-09-03 株式会社日立製作所 制御装置
JP3025592B2 (ja) * 1992-12-08 2000-03-27 三菱電機株式会社 ニューロコンピュータ
US5583964A (en) * 1994-05-02 1996-12-10 Motorola, Inc. Computer utilizing neural network and method of using same
US5590356A (en) * 1994-08-23 1996-12-31 Massachusetts Institute Of Technology Mesh parallel computer architecture apparatus and associated methods
JP2001034735A (ja) 2000-01-01 2001-02-09 Hitachi Ltd 情報処理装置
JP5184824B2 (ja) * 2007-06-15 2013-04-17 キヤノン株式会社 演算処理装置及び方法
DE102010028266A1 (de) * 2010-04-27 2011-10-27 Robert Bosch Gmbh Steuergerät und Verfahren zur Berechnung einer Ausgangsgröße für eine Steuerung
KR20130090147A (ko) * 2012-02-03 2013-08-13 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
DE102013213420A1 (de) * 2013-04-10 2014-10-16 Robert Bosch Gmbh Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE102013212842A1 (de) * 2013-07-02 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts sowie Steuergerät mit einer Modellberechnungseinheit
CN104401036A (zh) * 2014-10-22 2015-03-11 宁波步络科工业自动化科技有限公司 基于bp神经网络的数控冲床的刹车曲线自学习方法
EP3035204B1 (en) * 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
CN104915322B (zh) * 2015-06-09 2018-05-01 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法
CN105070156B (zh) * 2015-06-10 2018-04-17 浙江求是科教设备有限公司 电力系统自动化实验装置
CN105892989B (zh) * 2016-03-28 2017-04-12 中国科学院计算技术研究所 一种神经网络加速器及其运算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016014A1 (en) * 2006-07-13 2008-01-17 Lev Sigal Neural network resource sizing apparatus for database applications
US20150199963A1 (en) 2012-10-23 2015-07-16 Google Inc. Mobile speech recognition hardware accelerator
WO2016099779A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Method and apparatus for distributed and cooperative computation in artificial neural networks

Also Published As

Publication number Publication date
JP6737960B2 (ja) 2020-08-12
US11599787B2 (en) 2023-03-07
JP2019526876A (ja) 2019-09-19
DE102016216947A1 (de) 2018-03-08
WO2018046418A1 (de) 2018-03-15
US20190197405A1 (en) 2019-06-27
CN109690579A (zh) 2019-04-26
CN109690579B (zh) 2023-11-03
KR20190044657A (ko) 2019-04-30

Similar Documents

Publication Publication Date Title
US20190205734A1 (en) Method for calculating a neuron layer of a multi-layer perceptron model with simplified activation function
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN109919311B (zh) 生成指令序列的方法、执行神经网络运算的方法和装置
JP5523624B2 (ja) 制御装置及び制御のための出力変数を計算する方法
WO2020042739A1 (zh) 数据预处理方法、装置、计算机设备和存储介质
JP7430744B2 (ja) 機械学習モデルを改良して局所性を改善させること
CN112199190B (zh) 内存分配方法、装置、存储介质及电子设备
JP2019145111A (ja) データに基づく関数モデルを計算するためのモデル計算ユニット、制御装置、及び方法
CN113743599A (zh) 一种卷积神经网络的运算装置及服务器
KR102509434B1 (ko) 피드포워드 및 피드백을 포함한 다층 퍼셉트론 모델의 계산을 위한 모델 계산 유닛 및 그 제어 장치
KR102508098B1 (ko) 다층 퍼셉트론 모델을 계산하기 위한 모델 계산 유닛 및 제어 장치
US20190310590A1 (en) Model calculating unit and control unit for selectively calculating an rbf model, a gaussian process model and an mlp model
TW202131235A (zh) 適用於神經網路運算的處理器
JP6808047B2 (ja) Rbfモデルを計算するためのモデル計算ユニット及び制御装置
US20210295133A1 (en) Model calculating unit and control unit for calculating a neural layer of a multilayer perceptron model
CN114021733A (zh) 模型训练优化方法、装置、计算机设备及存储介质
CN111274023B (zh) 数据处理方法、装置、计算机系统和存储介质
JP5045652B2 (ja) 相関処理装置及びその相関処理装置で読みとり可能な媒体
JP6742525B2 (ja) Rbfモデルを計算するためのモデル計算ユニット及び制御装置
JP4749824B2 (ja) グラフィックスシステム
US20220327180A1 (en) Generic image resizer using matrix multiplier accelerator
US11436391B2 (en) Learning method and automatic layout design method
US20230273972A1 (en) Processor instruction set architecture for machine learning with low bit precision weights
Hosseiny et al. High-level synthesis-based approach for CNN acceleration on FPGA
CN111506384A (zh) 模拟运算方法和模拟器

Legal Events

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