1 |
1
뉴럴 네트워크 프로세서에 있어서,입력 피처 맵(input feature map)의 복수의 입력 피처들 각각이 비제로(non-zero)값을 갖는지 여부를 나타내는 입력 피처 정보 및 웨이트 맵(weight map)의 복수의 웨이트들 각각이 비제로값을 갖는지 여부를 나타내는 웨이트 정보를 획득하고, 상기 획득된 입력 피처 정보 및 웨이트 정보에 기초하여, 상기 복수의 입력 피처들 및 복수의 웨이트들 중에서 컨벌루션 연산이 수행될 입력 피처 및 웨이트를 결정하는, 페치 컨트롤러(fetch controller); 및상기 결정된 웨이트 및 입력 피처에 대해 컨벌루션 연산을 수행하여 출력 피처 맵을 생성하는 데이터 연산 회로;를 포함하는, 뉴럴 네트워크 프로세서
|
2 |
2
제 1 항에 있어서,상기 데이터 연산 회로는,상기 복수의 입력 피처들 및 상기 복수의 웨이트들 중에서 상기 결정된 웨이트 및 입력 피처에 대해서만 컨벌루션 연산을 선택적으로 수행하는, 뉴럴 네트워크 프로세서
|
3 |
3
제 1 항에 있어서,상기 페치 컨트롤러는,상기 입력 피처 정보 및 상기 웨이트 정보에 대한 연산을 수행하여, 비제로값을 갖는 입력 피처 및 웨이트를 검출하고,상기 데이터 연산 회로는,상기 검출된 입력 피처 및 웨이트에 대해 컨벌루션 연산을 수행하는, 뉴럴 네트워크 프로세서
|
4 |
4
제 1 항에 있어서,상기 입력 피처 정보는, 제로값을 갖는 피처는 0으로 표시되고, 비제로값을 갖는 피처는 1로 표시되는 입력 피처 벡터를 포함하고,상기 웨이트 정보는, 제로값을 갖는 웨이트는 0으로 표시되고, 비제로값을 갖는 웨이트는 1로 표시되는 웨이트 벡터를 포함하는, 뉴럴 네트워크 프로세서
|
5 |
5
제 1 항에 있어서,상기 결정된 입력 피처 및 웨이트가, 제 1 입력 피처 및 제 1 웨이트, 및 제 2 입력 피처 및 제 2 웨이트인 경우,상기 데이터 연산 회로는,현재 사이클에서, 제 1 입력 피처 및 제 1 웨이트를 상기 입력 피처 맵 및 상기 웨이트 맵으로부터 읽어 내어 컨벌루션 연산을 수행하고,다음 사이클에서, 제 2 입력 피처 및 제 2 웨이트를 상기 입력 피처 맵 및 상기 웨이트 맵으로부터 읽어 내어 컨벌루션 연산을 수행하는, 뉴럴 네트워크 프로세서
|
6 |
6
뉴럴 네트워크 프로세서의 동작 방법에 있어서,입력 피처 맵(input feature map)의 복수의 입력 피처들 각각이 비제로(non-zero)값을 갖는지 여부를 나타내는 입력 피처 정보 및 웨이트 맵의 복수의 웨이트들 각각이 비제로값을 갖는지 여부를 나타내는 웨이트 정보를 획득하는 단계;상기 획득된 입력 피처 정보 및 웨이트 정보에 기초하여, 상기 복수의 입력 피처들 및 복수의 웨이트들 중에서 컨벌루션 연산이 수행될 입력 피처 및 웨이트를 결정하는 단계; 및상기 결정된 웨이트 및 입력 피처에 대해 컨벌루션 연산을 수행하여 출력 피처 맵을 생성하는 단계를 포함하는, 방법
|
7 |
7
제 6 항에 있어서,상기 생성하는 단계는,상기 복수의 입력 피처들 및 상기 복수의 웨이트들 중에서 상기 결정된 웨이트 및 입력 피처에 대해서만 컨벌루션 연산을 선택적으로 수행하는 단계를 포함하는, 방법
|
8 |
8
제 6 항에 있어서,상기 결정하는 단계는,상기 입력 피처 정보 및 상기 웨이트 정보에 대한 연산을 수행하여, 비제로값을 갖는 입력 피처 및 웨이트를 검출하는 단계를 포함하고,상기 생성하는 단계는,상기 검출된 입력 피처 및 웨이트에 대해 컨벌루션 연산을 수행하는 단계를 포함하는, 방법
|
9 |
9
제 6 항에 있어서,상기 입력 피처 정보는, 제로값을 갖는 피처는 0으로 표시되고, 비제로값을 갖는 피처는 1로 표시되는 입력 피처 벡터를 포함하고,상기 웨이트 정보는, 제로값을 갖는 웨이트는 0으로 표시되고, 비제로값을 갖는 웨이트는 1로 표시되는 웨이트 벡터를 포함하는, 방법
|
10 |
10
제 1 항에 있어서,상기 결정된 입력 피처 및 웨이트가, 제 1 입력 피처 및 제 1 웨이트, 및 제 2 입력 피처 및 제 2 웨이트인 경우,상기 생성하는 단계는,현재 사이클에서, 제 1 입력 피처 및 제 1 웨이트를 상기 입력 피처 맵 및 상기 웨이트 맵으로부터 읽어 내어 컨벌루션 연산을 수행하는 단계; 및,다음 사이클에서, 제 2 입력 피처 및 제 2 웨이트를 상기 입력 피처 맵 및 상기 웨이트 맵으로부터 읽어 내어 컨벌루션 연산을 수행하는 단계를 포함하는, 방법
|
11 |
11
뉴럴 네트워크 장치에 있어서,복수의 뉴럴 네트워크 프로세서들을 포함하는 프로세서 어레이;입력 피처 맵 및 복수의 웨이트 맵들을 저장하는 메모리; 및상기 입력 피처 맵 및 복수의 웨이트 맵들을 상기 프로세서 어레이에 할당하는 컨트롤러를 포함하고,상기 컨트롤러는,웨이트 맵 내에서 비제로값을 갖는 웨이트의 비율을 기준으로, 상기 복수의 웨이트 맵들을 복수의 웨이트 그룹들로 그룹화하고, 상기 복수의 웨이트 그룹들 각각을 상기 프로세서 어레이에 할당하는, 뉴럴 네트워크 장치
|
12 |
12
제 11 항에 있어서,상기 컨트롤러는,웨이트 그룹에 포함된 웨이트 맵들 각각의 상기 비율이 균등해지도록, 상기 복수의 웨이트 맵들을 복수의 웨이트 그룹들로 그룹화하는, 뉴럴 네트워크 장치
|
13 |
13
제 11 항에 있어서,상기 컨트롤러는,상기 복수의 뉴럴 네트워크 프로세서들을 복수의 프로세서 그룹들로 그룹화하고, 상기 복수의 웨이트 그룹들 각각을 순차적으로 상기 복수의 프로세서 그룹들 각각에 할당하는, 뉴럴 네트워크 장치
|
14 |
14
제 11 항에 있어서,상기 컨트롤러는,상기 입력 피처 맵의 입력 피처들 각각이 비제로값을 갖는지 여부를 나타내는 입력 피처 정보 및, 상기 복수의 웨이트 맵들의 웨이트들 각각이 비제로값을 갖는지 여부를 나타내는 웨이트 정보를 상기 프로세서 어레이에 제공하고,상기 프로세서 어레이는,상기 입력 피처 정보 및 상기 웨이트 정보에 기초하여, 상기 입력 피처 맵 및 상기 복수의 웨이트 맵들에 대한 컨벌루션 연산을 수행하여 출력 피처 맵을 생성하는, 뉴럴 네트워크 장치
|
15 |
15
제 6 항 내지 10 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
|