Movatterモバイル変換


[0]ホーム

URL:


KR20240102359A - 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법
Download PDF

Info

Publication number
KR20240102359A
KR20240102359AKR1020220184327AKR20220184327AKR20240102359AKR 20240102359 AKR20240102359 AKR 20240102359AKR 1020220184327 AKR1020220184327 AKR 1020220184327AKR 20220184327 AKR20220184327 AKR 20220184327AKR 20240102359 AKR20240102359 AKR 20240102359A
Authority
KR
South Korea
Prior art keywords
tokens
pruning
frequency domain
token
electronic device
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020220184327A
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 서울과학기술대학교 산학협력단filedCritical서울과학기술대학교 산학협력단
Priority to KR1020220184327ApriorityCriticalpatent/KR20240102359A/ko
Priority to US18/166,828prioritypatent/US12395338B2/en
Publication of KR20240102359ApublicationCriticalpatent/KR20240102359A/ko
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

다양한 실시예들에 따라서, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치는, 프로세서를 포함하고, 상기 프로세서는, 이미지 프레임을 복수의 패치들로 분할하고, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키고, 및 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키도록 설정될 수 있다. 그 밖의 다양한 실시예들도 가능하다.

Description

주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법 {ELECTRONIC DEVICE FOR PERFORMING TOKEN PRUNING IN FREQUENCY DOMAIN AND METHOD FOR OPERATION THEREOF}
본 발명의 다양한 실시예는, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
최근 Vision Transformer(ViT) 계열 딥러닝 모델들은 image classification, object detection, image segmentation, depth estimation 등의 컴퓨터 비전 태스크에서 괄목할 만한 성과를 거두었다. 이러한 발전을 기반으로 하여 ViT들은 다양한 어플리케이션에서 활발히 사용되기 위해 연구되고 있다. 예를 들어, 초거대 딥러닝 모델뿐만 아니라 모바일 디바이스, 자율주행 자동차, 그리고 드론 등에서 영상 처리를 담당하는 목적으로 널리 연구되고 있으며, 대기업과 중견/중소 기업, 그리고 스타트업을 포함한 다수의 국내외 기업들이 많은 관심을 가지고 있다. 특히, 배터리 기반으로 동작하는 임베디드 환경의 기기들에서 ViT 기반의 어플리케이션을 효율적으로 활용하기 위해서는 네트워크 정확도와 연산량의 trade-off를 고려한 효율적인 경량화 기술을 통해 연산량과 전력 소모를 감소시키는 것이 필수적이다.
ViT 성능은 파라미터와 연산량의 증가에 비례하여 증가하는 것으로 알려져 있다. 하지만, 이러한 파라미터와 연산량 증가는 필연적으로 심각한 전력 소모를 야기하기 때문에 하드웨어 리소스가 제약적인 모바일 디바이스나 자율주행 자동차 등에서 ViT를 효율적으로 활용하는 것은 매우 어렵다. 이러한 문제점을 해결하고 다양한 어플리케이션에서 ViT를 효과적으로 사용하기 위해서 네트워크를 압축하는 연구들이 많이 진행되어 왔다. 그 중 가장 널리 알려진 방법 중 하나인 프루닝(pruning) 기법은 뉴럴 네트워크에서 상대적으로 덜 중요한 토큰(token), 레이어(layer), 채널(channel) 등을 제거한다.
본 발명은 주파수 변환을 통해 불필요한 고주파 성분을 갖는 토큰을 효과적으로 제거하여 연산량을 줄이고 추론 속도를 향상시킬 수 있는, 트랜스포머 기반 뉴럴 네트워크의 토큰을 프루닝하는 방법을 제공한다.
다양한 실시예들에 따라서, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치는, 프로세서를 포함하고, 상기 프로세서는, 이미지 프레임을 복수의 패치들로 분할하고, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키고, 및 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키도록 설정될 수 있다.
다양한 실시예들에 따라서, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치의 동작 방법은, 상기 전자 장치의 프로세서를 이용하여, 이미지 프레임을 복수의 패치들로 분할하는 동작, 상기 프로세서를 이용하여, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키는 동작, 및 상기 프로세서를 이용하여, 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키는 동작을 포함할 수 있다.
본 발명은 이미지에서 상대적으로 덜 중요하다고 알려져 있는 고주파 성분을 제거하고 저주파 성분만을 이용하여 학습하도록 하여 경량화에 따른 정확도의 저하가 기존 방법 대비 적을 뿐만 아니라 연산량의 감소로 인한 학습 시간 단축 효과와 GPU에서 발생되는 대량의 CO2 감소 효과도 성취할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치 및 네트워크의 블록도를 도시한다.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 토큰 프루닝을 수행하는 방법을 설명하기 위한 흐름도이다.
도 3은 다양한 실시예들에 따른, 전자 장치(101)가 토큰 프루닝을 수행하는 실시예를 나타내는 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버 중 적어도 하나를 포함할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 토큰 프루닝을 수행하는 방법을 설명하기 위한 흐름도이다.
도 3은 다양한 실시예들에 따른, 전자 장치(101)가 토큰 프루닝을 수행하는 실시예를 나타내는 도면이다.
201 동작에서, 다양한 실시예들에 따르면, 전자 장치(예: 도 1의 프로세서(120))는 이미지 프레임을 복수의 패치들로 분할할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 내부 장치(예: 카메라 모듈) 또는 외부 장치(예: 외부 서버)로부터 이미지 프레임을 획득할 수 있고, 상기 획득한 이미지 프레임을 복수의 패치들로 분할할 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(101)는 하나의 이미지 프레임(301)을 복수의 패치들(302)로 분할할 수 있다.
203 동작에서, 다양한 실시예들에 따르면, 전자 장치(예: 도 1의 프로세서(120))는 복수의 패치들에 대하여 패치 임베딩(patch embedding)을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시킬 수 있다.
일 실시예에 따르면, 전자 장치(101)는 복수의 패치들(302)에 대하여 패치 임베딩을 수행할 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(101)는 분할된 복수의 패치들(302)에 대하여 패치 임베딩(301)을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 패치 임베딩을 수행하면서, CLS 토큰(class token)을 생성하지 않고, 패치 임베딩을 수행할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 복수의 트랜스포머 블록들(a plurality of transformer blocks) 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 토큰들을 확인할 수 있다. 이 때, 상기 토큰들은 복수의 패치들에 기반하여 생성될 수 있다. 일 실시예에서 이미지 토큰은 복수의 패치들(302)의 각각의 패치를 의미할 수 있다. 트랜스포머는 파운데이션 모델(foundation model)로 일컬어지는 신경망 모델로서, 순차 데이터 내의 관계를 추적해 맥락과 의미를 학습할 수 있다. 일 실시예에 따르면, 미리 정해진 트랜스포머 블록은 복수 개일 수 있고, 사용자에 의하여 선택될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 미리 정해진 트랜스포머 블록으로부터 출력된 토큰들을 FFT 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인으로부터 주파수 도메인으로 변환할 수 있다. 일 실시예에 따르면, FFT 기반의 주파수 도메인 변환 알고리즘은 DCT(Discrete Cosine Transform)를 포함할 수 있다. 이 때 DCT는 이산 코사인 변환 기법을 의미하고, 주파수 분해를 위해 cosine 함수를 사용하여 energy compaction을 더 잘하는 장점, 즉 정보를 한 곳으로 더 잘 모으는 특성이 있어서 영상 압축 기술에서 널리 사용되고 있다. 일 실시예에 따르면, 미리 정해진 트랜스포머 블록은 사용자에 의하여 설정될 수 있다. 예를 들어, 도 3을 참조하면, 12개의 트랜스포머 블록들을 포함하는 모델이 존재함을 가정할 때, 사용자는 1, 4, 7, 10번째 트랜스포머 블록에 대하여 해당 블록들에서 출력된 토큰들에 FFT 기반의 주파수 도메인 변환 알고리즘을 수행하도록 미리 설정할 수 있다.
205 동작에서, 다양한 실시예들에 따르면, 전자 장치(예: 도 1의 프로세서(120))는 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 주파수 도메인으로부터 공간적 도메인으로 변환시킬 수 있다.
일 실시예에 따르면, 전자 장치(101)는 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여 상기 토큰들로부터 특정 토큰들을 프루닝할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 주파수가 가장 높은 토큰부터 낮은 주파수 순서로, 사용자에 의하여 선택된 개수만큼 상기 토큰들로부터 특정 토큰들을 프루닝할 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(101)는 미리 정해진 제1 트랜스포머 블록(311)에서 출력된, 주파수 도메인으로 변환된 토큰들(320) 중에서 사용자에 의하여 선택된 개수(예: 2개)만큼 가장 주파수가 높은 토큰(321)과 그 다음 주파수가 높은 토큰(322)을 프루닝할 수 있다. 또 다른 예를 들어, 도 3을 참조하면, 전자 장치(101)는 미리 정해진 제2 트랜스포머 블록(312)에서 출력되어 주파수 도메인으로 변환된 토큰들(330) 중에서 사용자에 의하여 선택된 개수(예: 2개)만큼 가장 주파수가 높은 토큰(331)과 그 다음 주파수가 높은 토큰(332)을 프루닝할 수 있다. 일 실시예에 따르면, 사용자는 미리 정해진 트랜스포머 블록마다 프루닝하고자 하는 토큰의 개수를 동일하게 설정하거나 상이하게 설정할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 미리 정해진 트랜스포머 블록에 대응하는 프루닝 목표 토큰 개수를 확인할 수 있고, 주파수가 가장 높은 토큰부터 낮은 주파수 순서로, 상기 토큰들(320)로부터 상기 프루닝 목표 토큰 개수만큼 특정 토큰들을 프루닝할 수 있다. 각각의 미리 정해진 트랜스포머 블록마다 프루닝 목표 토큰 개수가 미리 설정될 수 있다. 예를 들어, 도 3을 참조하면, 미리 정해진 제1 트랜스포머 블록(311)에 대응하는 프루닝 목표 토큰 개수는 2개일 수 있고, 미리 정해진 제2 트랜스포머 블록(312)에는 프루닝 목표 토큰 개수는 2개 일 수 있다. 구체적으로, 도 3을 참조하면, 전자 장치(101)는 미리 정해진 제1 트랜스포머 블록(311)에서 출력된, 주파수 도메인으로 변환된 토큰들(320) 중에서 상기 제1 트랜스포머 블록(311)에 대응하는 프루닝 목표 토큰 개수(예: 2개)만큼 가장 주파수가 높은 토큰(321)과 그 다음 주파수가 높은 토큰(322)을 프루닝할 수 있다. 또한, 전자 장치(101)는 미리 정해진 제2 트랜스포머 블록(312)에서 출력된, 주파수 도메인으로 변환된 토큰들 중에서 상기 제2 트랜스포머 블록(312)에 대응하는 프루닝 목표 토큰 개수(예: 2개)만큼 가장 주파수가 높은 토큰(331)과 그 다음 주파수가 높은 토큰(332)을 프루닝할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 상기 특정 토큰들 이외의 나머지 토큰들을 주파수 도메인으로부터 공간적 도메인으로 변환시킬 수 있다. 예를 들어, 도 3을 참조하면, 전자 장치(101)는 제1 트랜스포머 블록(311)에서 가장 주파수가 높은 토큰(321) 및 그 다음 주파수가 높은 토큰(322)를 프루닝한 후, 7개의 나머지 토큰들(323)의 도메인을 주파수 도메인으로부터 공간적 도메인으로 변환시킬 수 있다.
일 실시예에 따르면, 전자 장치(101)는 공간적 도메인으로 변환된 나머지 토큰들을 다음 트랜스포머 블록에 전달할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 트랜스포머 블록을 이용하여 토큰을 처리하는 동작을 수행한 후에 GAP(Global Average Pooling) 레이어 및 MLP head 레이어를 수행할 수 있다.
다양한 실시예들에 따라서, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치는, 프로세서를 포함하고, 상기 프로세서는, 이미지 프레임을 복수의 패치들로 분할하고, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키고, 및 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 주파수가 가장 높은 토큰부터 낮은 주파수 순서로 사용자에 의하여 선택된 개수만큼 상기 토큰들로부터 상기 특정 토큰들을 프루닝하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 미리 정해진 트랜스포머 블록에 대응하는 프루닝 목표 토큰 개수를 확인하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 주파수가 가장 높은 토큰부터 낮은 주파수 순서로, 상기 토큰들로부터 상기 프루닝 목표 토큰 개수만큼 상기 특정 토큰들을 프루닝하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 미리 정해진 트랜스포머 블록은 복수 개이고, 상기 미리 정해진 트랜스포머 블록은 사용자에 의하여 선택되고, 상기 미리 정해진 트랜스포머 블록 중 하나로서, 제1 트랜스포머 블록에는 상기 프루닝 목표 토큰 개수가 x개 설정되고, 상기 미리 정해진 트랜스포머 블록 중 하나로서, 제2 트랜스포머 블록에는 상기 프루닝 목표 토큰 개수가 y개 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 나머지 토큰들을 다음 트랜스포머 블록에 전달하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 패치 임베딩을 수행하는 과정에서, CLS 토큰을 생성하지 않고 상기 패치 임베딩을 수행하도록 설정될 수 있다.
다양한 실시예들에 따라서, 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치의 동작 방법은, 상기 전자 장치의 프로세서를 이용하여, 이미지 프레임을 복수의 패치들로 분할하는 동작, 상기 프로세서를 이용하여, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키는 동작, 및 상기 프로세서를 이용하여, 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 특정 토큰들을 프루닝하는 동작은, 주파수가 가장 높은 토큰부터 낮은 주파수 순서로 사용자에 의하여 선택된 개수만큼 상기 토큰들로부터 상기 특정 토큰들을 프루닝하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 특정 토큰들을 프루닝하는 동작은, 상기 미리 정해진 트랜스포머 블록에 대응하는 프루닝 목표 토큰 개수를 확인하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 특정 토큰들을 프루닝하는 동작은, 주파수가 가장 높은 토큰부터 낮은 주파수 순서로, 상기 토큰들로부터 상기 프루닝 목표 토큰 개수만큼 상기 특정 토큰들을 프루닝하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 전자 장치의 동작 방법은, 상기 나머지 토큰들을 다음 트랜스포머 블록에 전달하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따라서, 상기 패치 임베딩을 수행하는 동작은, 상기 패치 임베딩을 수행하는 과정에서, CLS 토큰을 생성하지 않고 상기 패치 임베딩을 수행하는 동작을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈" 또는 "~부"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈" 또는 "~부"는, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈" 또는 "~부"는 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있고, 프로세서(120)에 의하여 실행될 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.

Claims (14)

  1. 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    이미지 프레임을 복수의 패치들로 분할하고,
    상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 통해 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키고, 및
    상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키도록 설정된,
    주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치.
  2. 주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 프로세서를 이용하여, 이미지 프레임을 복수의 패치들로 분할하는 동작,
    상기 프로세서를 이용하여, 상기 복수의 패치들에 대하여 패치 임베딩을 수행한 후에, 복수의 트랜스포머 블록들 중에서 미리 정해진 트랜스포머 블록으로부터 출력된, 상기 복수의 패치들에 기반하는 토큰들을 FFT(Fast Fourier Transform) 기반의 주파수 도메인 변환 알고리즘을 공간적 도메인(spatial domain)으로부터 주파수 도메인(frequency domain)으로 변환시키는 동작, 및
    상기 프로세서를 이용하여, 상기 주파수 도메인으로 변환된 토큰들의 주파수 정보에 기반하여, 상기 토큰들로부터 특정 토큰들을 프루닝(pruning)한 후에, 상기 특정 토큰들 이외의 나머지 토큰들을 상기 주파수 도메인으로부터 상기 공간적 도메인으로 변환시키는 동작을 포함하는,
    전자 장치의 동작 방법.
KR1020220184327A2022-12-262022-12-26주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법PendingKR20240102359A (ko)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
KR1020220184327AKR20240102359A (ko)2022-12-262022-12-26주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법
US18/166,828US12395338B2 (en)2022-12-262023-02-09Electronic device for performing token pruning in frequency domain and method for operating the same

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020220184327AKR20240102359A (ko)2022-12-262022-12-26주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법

Publications (1)

Publication NumberPublication Date
KR20240102359Atrue KR20240102359A (ko)2024-07-03

Family

ID=91582950

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020220184327APendingKR20240102359A (ko)2022-12-262022-12-26주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법

Country Status (2)

CountryLink
US (1)US12395338B2 (ko)
KR (1)KR20240102359A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN120256381B (zh)*2025-06-062025-09-05北京汤谷软件技术有限公司Fpga芯片的配置方法、装置、程序产品、介质及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7171016B1 (en)*1993-11-182007-01-30Digimarc CorporationMethod for monitoring internet dissemination of image, video and/or audio files
AUPP248298A0 (en)*1998-03-201998-04-23Canon Kabushiki KaishaA method and apparatus for hierarchical encoding and decoding an image
JP4420415B2 (ja)*1998-07-032010-02-24キヤノン株式会社符号化方法及び符号化装置
US8379738B2 (en)*2007-03-162013-02-19Samsung Electronics Co., Ltd.Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks
US11216923B2 (en)*2018-05-232022-01-04Samsung Electronics Co., Ltd.Apparatus and method for successive multi-frame image denoising
US20220094713A1 (en)*2020-09-212022-03-24Sophos LimitedMalicious message detection
US11687835B2 (en)*2021-02-262023-06-27Inception Institute of Artificial Intelligence LtdDomain specific pre-training of cross modality transformer model
US12380714B2 (en)*2021-09-252025-08-05Intel CorporationMethods and apparatus to perform dense prediction using transformer blocks
CN115240003A (zh)*2022-07-252022-10-25中国人民解放军军事科学院军事科学信息研究中心一种基于多块特征滤波网络的图像分类方法

Also Published As

Publication numberPublication date
US20240214205A1 (en)2024-06-27
US12395338B2 (en)2025-08-19

Similar Documents

PublicationPublication DateTitle
US10795836B2 (en)Data processing performance enhancement for neural networks using a virtualized data iterator
KR20210036226A (ko)복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
US20180033025A1 (en)Method and system for two-dimensional charting using live queries
US9467532B2 (en)Server, arithmatic processing method, and arithmatic processing system
US20190171485A1 (en)Data Processing Offload Using In-Storage Code Execution
US10075562B2 (en)System and method for providing a climate data analytic services application programming interface
KR20240102359A (ko)주파수 도메인에서의 토큰 프루닝을 수행하는 전자 장치 및 그 동작 방법
US11055223B2 (en)Efficient cache warm up based on user requests
KR102672829B1 (ko)Gan 기반의 모델을 이용하여 흑백 이미지를 컬러링하기 위한 전자 장치 및 그 동작 방법
KR102774603B1 (ko)트랜스포머 블록을 포함하는 gan 기반의 모델을 이용하여 흑백 이미지를 컬러링하기 위한 전자 장치 및 그 동작 방법
US9646570B2 (en)Mechanism for facilitating improved copying of graphics data on computing devices
US11553308B2 (en)System and method for selecting alternate global positioning system coordinates
CN114443796A (zh)一种基于神经网络的数据处理方法及系统
US10339107B2 (en)Multi-level colocation and processing of spatial data on MapReduce
KR20240102610A (ko)신경망 모델에 대한 커널 프루닝을 수행하는 전자 장치 및 그 동작 방법
DE102022100344A1 (de)Multi-mandatsschutz für beschleuniger
EP4379525A1 (en)Systems, methods, and apparatus for memory protection for computational storage devices
KR20240098257A (ko)향상된 로그 양자화 기법을 이용하여 신경망 모델을 훈련시키기 위한 전자 장치 및 그 동작 방법
US20250244968A1 (en)Ai-enhanced host-specific python scripting system
KR20250114732A (ko)지식증류(knowledge distillation) 기반 미세 조정을 통한 CNN(convolution neural network) 모델을 경량화하는 전자 장치 및 그 동작 방법
KR20240102360A (ko)불확실성 값을 이용하여 신경망 모델 내의 학습 데이터를 처리하기 위한 전자 장치 및 그 동작 방법
US20250110752A1 (en)Systems and methods for generating data lineage
KR20250080690A (ko)개선된 stem 계층을 통한 도메인 적응성 강화 방법 및 이를 수행하는 장치
KR20240092517A (ko)특정 구간에서의 신호 개수를 추정하는 전자 장치 및 그 동작 방법
KR20250115683A (ko)입력 특징맵에 대하여 타일 단위로 합성곱 연산을 병렬로 수행하는 전자 장치 및 그 동작 방법

Legal Events

DateCodeTitleDescription
PA0109Patent application

Patent event code:PA01091R01D

Comment text:Patent Application

Patent event date:20221226

PA0201Request for examination

Patent event code:PA02011R01I

Patent event date:20221226

Comment text:Patent Application

PG1501Laying open of application

[8]ページ先頭

©2009-2025 Movatter.jp