본문 바로가기
4차 산업과 특허

Articial Intelligence 중요특허 1(1) - Renesas

by everythingok 2021. 9. 9.

공개 특허 일본 JP2021-76900 "데이터 처리 장치 및 그 동작 방법, 프로그램" (Renensas) 분석

 

1. 기술 분야

 

 본 발명은 데이터 처리 장치 및 그 동작 방법과 프로그램에 관한 것으로 예를 들면 신경망에 의한 처리로 부동 소수점의 가중치 계수를 이용하여 적화연산을 하는 데이터 처리 장치 및 그 동작 방법과 프로그램에 관한 것이다.

 

2. 배경기술 및 그것의 문제점(해결해야하는 과제)

 

 최근 인공지능의 추론 처리하는 신경망에는 CNN, DNN, RNN 등이 이용되고 있다. 이러한, 신경망에 의한 추론 처리에서는 대량의 곱셈기 및 가산기(Multiply and Accumulate) 연산을 실행하기 위해, 대용량의 메모리(memory)나 연산 리소스(resource)가 필요하다.

 연산 리소스와 관련하여 곱셈기는 가산기와 비교하여 회로 규모가 크고 연산시의 소비 전력도 크다. 그래서 신경망의 연산 등으로 이용하는 적화연산 행렬의 입력 데이터를 몇 개의 binary 데이터의 조합으로 함으로써 계산량이 큰 부동 소수점적화연산을 부동 소수점 가산으로 하는 방법이 제안(BNN)되어 있다.

 그러나, 메모리 용량에 관해서는 가중치 파라미터(weight parameter)가 부동 소수점 데이터이기 때문에 가중치 파라미터를 저장하기 위해 큰 메모리 용량이 필요하게 된다라는 문제가 있다. 특히 메모리 용량에 제약이 있는 Embedded Microprocessor나 SoC(System On Chip)에서는 큰 문제가 된다.

 

3. 과제해결을 위한 수단

 

【0036】
도 5내지 도 8은 실시 형태 1과 관련된 데이터 처리 장치 1에 있어서 신경망에 있어서 필요한 적화연산의 개념을 나타내는 도이다. 도 5내지 도 8에는 이원화된 입력 데이터의 예로서 (1 0 1 1)의 4개의 이원화된 입력 데이터가 나타나 있다. 또한 도 5내지 도 8에 있어서 계수 어드레스는 A0 내지 A7이다. 환언하면, 계수 어드레스 정보가 복수의 계수 어드레스를 포함하는 경우, 계수 어드레스 정보에 포함되는 복수의 계수 어드레스는 미리 정해진 순서에 따라 읽어내지도록 배열되어 있다.

 

【0042】
도 5내지 도 8에 도시되는 FPU 141에 의한 누적 가산에 의해 부동 소수점의 입력 데이터와 부동 소수점의 가중치 파라미터의 곱화연산이 대체된다.

【0043】
도 5내지 도 8에는 4개의 이원화된 입력 데이터(1 0 1 1)에 관한 적화연산의 상황이 나타나 있다. 신경망의 추론 처리에 있어서 데이터 처리 장치 1은 필요하게 되는 수가 이원화된 입력 데이터를 순차, 입력 데이터 저장부 130에서 읽어내, 상술한 적화연산을 반복한다.

 

【0045】
도 10은 실시 형태 1과 관련된 데이터 처리 장치 1에 의한 곱화연산 처리의 일례를 나타내는 흐름도이다. 적화 연산이 시작되면, 제어부 142는 입력 데이터 저장부 130에서 이원화된 입력 데이터를 읽어내고, 입력 데이터 판정부 140에 이원화된 입력 데이터를 송신한다(단계 S101).

 

【0050】
(효과) 실시 형태 1과 관련된 데이터 처리 장치 1은 계수 어드레스 정보 저장부 131과 계수 저장부 132와 입력 데이터 판정부 140과 FPU141를 가진다. 데이터 처리 장치 1은 입력 데이터 판정부 140의 판정 결과에 기반하여 계수 어드레스 정보 저장부 131에서 계수 어드레스를 취득한다. 또한 데이터 처리 장치 1은 취득된 계수 어드레스에 기반하여 계수 저장부 132에서 계수를 취득한다. 그리고 데이터 처리 장치 1은 FPU 141에 의해 취득된 계수를 누적 가산함으로써, 부동 소수점 데이터끼리의 곱화연산을 대체할 수 있다. 데이터 처리 장치 1은 K비트(K는 자연수)의 계수 어드레스에 기반하여 2K개의 계수를 참조할 수 있기 때문에, 적은 메모리 용량을 실현하면서, 신경망의 추론 처리에 있어서 높은 인식 정밀도를 실현할 수 있다.

 

【0051】
또한 실시 형태 1과 관련된 데이터 처리 장치 1에서는 표현 가능한 계수의 분포가 종래 기술보다 다양하게 된다. 이 점을 도 28, 도 11 및 도 12를 사용해 설명한다.

 

4. 효과

 

【0054】
한편, 도 12의 하측에 있도록 가중치 파라미터에 바이어스 값을 더하고+측과- 측에서 대칭이 아닌 가중치 파라미터를 표현할 경우, 출력값의 분포 변형을 작게 할 수 있다. 실시 형태 1과 관련된 데이터 처리 장치 1에서는 계수에 바이어스 값을 더하는 등의 설정이 가능이니까 출력값의 분산이나 평균치를 보정하는 Batch Normalization 처리도 곱화연산과 동시에 실행할 수 있다.
【0055】
또한 입력 데이터 판정부 140이 이원화된 입력 데이터를 미리 정해진 값(예를 들면 1)이 아니고 0으로 판정한 경우, 데이터 처리 장치 1은 계수 어드레스 정보 저장부 131으로부터의 계수 어드레스의 취득 및 계수 저장부 132로부터의 계수의 취득을 수행하지 않는다. 따라서, 불필요한 메모리 액세스 및 부동 소수점 연산을 절감할수 있다. 환언하면, 데이터 처리 장치 1은 신경망으로 필요하게 되는 적화연산의 고속화나 저소비 전력화를 실현할 수 있다.

 

【0117】 상기의 설명에서는 부동 소수점의 입력 데이터를 정수로 변환한 다음 적화연산을 하는 기법을 실시 형태 1에 대해 적용할 경우에 대해 설명했으나, 적용할 수 있는 실시 형태는 실시 형태 1에 한정되지 않는다. 즉 부동 소수점의 입력 데이터를 정수로 변환한 다음 적화연산을 하는 기법은 실시 형태 2내지 5 중 어느 것에 대해서 도 적용할 수 있다.

 

 

 

댓글