KR102205518B1 - 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법 - Google Patents

기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법 Download PDF

Info

Publication number
KR102205518B1
KR102205518B1 KR1020180038171A KR20180038171A KR102205518B1 KR 102205518 B1 KR102205518 B1 KR 102205518B1 KR 1020180038171 A KR1020180038171 A KR 1020180038171A KR 20180038171 A KR20180038171 A KR 20180038171A KR 102205518 B1 KR102205518 B1 KR 102205518B1
Authority
KR
South Korea
Prior art keywords
input data
machine learning
data
storage device
storage
Prior art date
Application number
KR1020180038171A
Other languages
English (en)
Other versions
KR20190115303A (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 한양대학교 산학협력단
Priority to KR1020180038171A priority Critical patent/KR102205518B1/ko
Publication of KR20190115303A publication Critical patent/KR20190115303A/ko
Application granted granted Critical
Publication of KR102205518B1 publication Critical patent/KR102205518B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Abstract

저장 장치의 기계학습 수행 방법을 개시한다. 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법은 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 및 상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 단계를 포함한다.

Description

기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법{STORAGE DEVICE THAT PERFORMS MACHINE LEARNING AND METHOD THEREOF}
본 발명은 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법에 관한 것으로, 더욱 상세하게는 저장 장치의 내부에 데이터를 저장함과 동시에 기계학습을 수행하는 방법 및 그 방법이 적용된 저장 장치에 관한 것이다.
인공지능은 기계학습을 이용하여 생성(훈련)되거나 활용(추론 혹은 예측)될 수 있다. 특히, 기계학습을 이용하는 인공지능의 경우, 훈련 과정은 연산장치를 이용하여 데이터 인식, 분류와 같은 동작의 판단 기준으로 사용되는 인공의 지능을 형성하는 과정이다. 그 훈련의 결과로, 입력 데이터의 인식, 분류의 판단 기준이 생성된다. 이때, 그 생성된 판단 기준은 기계학습모델(machine learning model)이라고 한다. 또한, 추론 단계는 훈련의 결과로 생성된 판단 기준을 이용하여 입력 데이터를 분류/분별/인식하는 과정이다. 즉, 추론의 결과로는 입력 데이터에 대한 인식 및 분별 결과를 얻을 수 있다.
인공지능 생성 혹은 활용을 위한 기계학습 시스템은 훈련을 목적으로 구성된 시스템과 추론을 목적으로 구성된 시스템, 훈련과 추론을 모두 수행하기 위한 시스템이 있다. 훈련 단계는 높은 분별 및 인식 정확도를 보이는 기계학습 모델을 만드는 것이 목적이므로, 훈련 단계를 위한 시스템은 입력에 사용할 방대한 크기의 데이터를 저장할 수 있는 데이터 저장소와 많은 양의 연산을 처리하기 위한 연산기로 이루어져있는 것이 보통이다. 한편 추론 단계는 분별 및 인식 결과의 빠른 도출이 목적이므로, 추론 단계를 위한 시스템은 병렬적으로 다중 연산을 처리할 수 있는 연산기를 이용하여 짧은 응답시간을 보장하도록 하는 것이 보통이다. 이와 같은 시스템 구축 시, 훈련 단계를 위한 시스템은 방대한 크기의 데이터를 저장하고 처리하는 것이 목표이므로 시스템의 규모도 커지는 것이 일반적이다. 따라서 기계학습 시스템은 그 용도와 규모를 고려하여 훈련 과정에 특화된 시스템 혹은 추론 과정에 특화된 시스템으로 구분하여 구축하는 것이 보통이지만, 필요에 따라 큰 크기의 데이터 저장소와 고성능 병렬 컴퓨팅이 가능한 연산기를 포함하는 시스템과 같이 훈련 과정과 추론 과정을 모두 빠르게 처리하기 위한 통합 시스템을 구축하는 것도 가능하다. 이와 같은 시스템은 처리 성능을 높이기 위해 한 개 이상의 연산기 혹은 기계학습 시스템을 병렬로 연결하여 구성하는 것이 가능하다.
일반적으로, 기계학습을 목적으로 하는 시스템의 입력 데이터는 기계학습 연산 전에 저장 장치 내의 스토리지에 저장되어있는 상태이어야 하며, 기계학습 계산을 수행하기 위한 장치는 스토리지에 저장되어있는 데이터를 읽음으로써 입력 데이터를 얻는다. 새로 얻어지는 데이터에 대하여 훈련 혹은 추론을 수행해야 하는 경우 훈련 혹은 추론 수행 전에 입력 데이터를 저장 장치에 저장하고 이를 불러오는 과정을 필수적으로 거친다. 예로 영상 데이터를 이용하여 기계학습을 수행할 경우에는 압축되어 저장된 영상 데이터를 기계학습을 수행하고자 하는 시점에 연산기의 저장 장치로 불러오고, 불러온 영상 데이터에 대하여 영상을 디코딩하여 영상을 재생 가능한 형태로 복원함으로써 기계학습이 가능하도록 한다.
그러나, 종래의 저장장치를 데이터 저장소로 사용하는 기계학습 시스템의 경우, 기계학습은 1) 입력으로 사용할 파일을 저장 장치에 저장, 2) 저장 장치에서 연산기의 메모리로 파일 데이터 이동, 3) 메모리의 데이터를 사용하여 연산기에서 기계학습 연산의 순으로 수행된다. 저장 장치에서 연산기로의 데이터 이동 과정에서 데이터는 연산기와 저장장치 사이의 시스템 버스(데이터 버스)를 통하여 저장 장치의 스토리지에서 연산기의 메모리로 적재된다. 일반적으로 기계학습의 입력에 사용되는 파일의 크기는 연산기 메모리의 크기보다 크므로, 기계학습 수행 과정에서 연산기와 저장 장치 사이의 시스템 버스를 통한 파일 데이터의 전송과 연산기 메모리의 데이터를 이용한 기계학습 연산은 여러 차례 일어날 수 있다. 전체 기계학습 수행 시간 중 스토리지 접근 시간(읽기/쓰기)이 적지 않은 비율을 차지함을 고려하였을 때, 저장 장치와 연산기 사이의 잦은 데이터 이동은 총 기계학습 수행 시간의 증가를 야기할 수 있다. 또한, 기계학습을 위한 연산기는 다수의 병렬 연산을 수행하기 위한 연산유닛, 데이터 전송폭이 넓은 시스템 버스, 데이터 저장 공간이 큰 메모리 등을 사용하는 것이 일반적이다. 이렇게 구성된 연산기는 동작에 많은 양의 전력이 필요하며, 저장 장치로의 잦은 접근은 기계학습을 위한 시스템 동작에 필요한 전력의 양을 늘릴 수 있다.
따라서, 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 기계학습을 동시에 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법에 관한 필요성이 대두되고 있다.
관련 선행기술로는 대한민국 공개특허공보 제10-2010-0062801호(발명의 명칭: 기계 학습을 이용한 학습 데이터 검증 장치 및 방법, 공개일자: 2010년 6월 10일)가 있다.
본 발명은 저장 장치가 데이터 저장을 처리하면서, 그 저장되는 데이터에 대한 기계학습을 함께 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 방법 및 그 방법의 저장 장치를 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법은 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 및 상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 단계를 포함한다.
바람직하게는, 상기 기계학습모델을 학습시키는 단계는 상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.
바람직하게는, 상기 기계학습모델을 학습시키는 단계는 상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하는 단계; 및 상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시키는 단계를 포함할 수 있다.
바람직하게는, 상기 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법은 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 단계; 및 상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 단계를 포함한다.
바람직하게는, 상기 입력데이터는 데이터 저장을 위한 제1 데이터 저장 공간에 저장되고, 상기 데이터 저장 공간에 저장하는 단계는 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장할 수 있다.
바람직하게는, 상기 입력데이터에 대응되는 추론 결과는 상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 수신부; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 분류부; 및 상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 학습부를 포함한다.
바람직하게는, 상기 학습부는 상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.
바람직하게는, 상기 학습부는 상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고, 상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시킬 수 있다.
바람직하게는, 상기 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.
바람직하게는, 상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 추론부; 및 상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 저장부를 더 포함할 수 있다.
바람직하게는, 상기 저장부는 상기 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제1 데이터 저장 공간에 저장할 수 있다.
바람직하게는, 상기 입력데이터에 대응되는 추론 결과는 상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.
본 발명은 저장 장치에서 데이터 저장을 처리하면서 그 저장되는 데이터에 대한 기계학습을 함께 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.
또한, 본 발명은 저장 장치에서 데이터 저장을 처리하면서 그 저장되는 데이터에 대한 추론을 함께 수행함으로써, 데이터의 추론에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법을 설명하기 위한 흐름도이다.
단계 S110에서는, 저장 장치가 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.
이때, 호스트 장치는 저장 장치와 유선 또는 무선으로 연결된 호스트 컴퓨터(PC)일 수 있고, 저장 장치는 기계학습 또는 추론을 수행하기 위하여 독립적인 프로세서(CPU), 메모리 및 데이터 저장 소자 등을 탑재한 장치일 수 있다.
또한, 호스트 장치는 파일 단위로 저장 장치에 데이터를 저장할 수 있으며, 저장 장치는 호스트 장치로부터 저장파일에 대응되는 입력데이터를 데이터 스트림(data stream)의 형태로 수신하여 데이터 저장 소자에 저장할 수 있다. 여기서, 데이터 스트림은 일련의 연속되는 데이터 흐름으로, 문자 또는 바이트 형식으로 송수신될 수 있다.
한편, 저장 장치는 입력데이터를 수신하여, 저장 장치에 탑재된 메인 메모리에 저장해 놓을 수 있다.
단계 S120에서는, 저장 장치가 그 입력데이터 중 저장파일의 헤더(header)에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.
여기서, 헤더정보는 전송된 데이터 또는 저장된 파일의 시작 부분에 저장된 보충적인 데이터를 의미할 수 있다. 즉, 헤더정보는 그 파일 또는 데이터의 포맷(예, JPG 파일, MP4 파일 등)에 관한 정보를 포함할 수 있으며, 나아가 추가적인 정보를 더 포함할 수 있다.
예컨대, 사진 파일에서는 헤더정보에 사진의 크기, 압축여부, 해상도, 색의 수 등의 정보를 포함할 수 있다. 또한, 동영상 파일에서는 헤더정보에 동영상의 해상도, 재생 시간, 초당 프레임수(FPS), 비디오 압축 코덱, 오디오 압축 코덱 등의 정보를 포함할 수 있다.
즉, 저장 장치는 프로세서를 이용하여 그 메인 메모리에 저장된 입력데이터의 헤더정보를 분석함으로써, 그 입력데이터의 유형을 분류할 수 있다.
마지막으로 단계 S130에서는, 저장 장치가 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.
예컨대, 저장 장치는 사진 파일(jpg)의 유형인 입력데이터에 대하여는 인공신경망 기반의 기계학습모델을 학습시킬 수 있다. 또한, 저장 장치는 동영상 파일(mp4)의 유형인 입력데이터에 대하여는 서포트 벡터 머신(SVM) 기반의 기계학습모델을 학습시킬 수 있다.
이때, 입력데이터에 의하여 학습된 기계학습모델은 저장 장치 내부의 저장 공간에 업데이트된 후 저장될 수 있다.
한편, 저장 장치는 그 입력데이터가 동영상 파일에 대응되는 경우, 학습 수행의 입/출력에 따른 오버헤드를 감소시키기 위하여 영상 프레임에 대한 샘플링을 수행할 수 있다. 즉, 저장 장치가 그 입력데이터에 포함된 복수의 영상 프레임 중에서 소정의 기준에 따라 선별한 영상 프레임만을 이용하여 기계학습모델의 학습을 수행할 수 있다.
예컨대, 저장 장치는 그 입력데이터의 초당 프레임수가 30(FPS)인 경우에, 30개의 영상 프레임 중 하나만을 샘플링하여 기계학습모델의 학습에 이용할 수 있다.
이처럼, 본 발명의 저장 장치는 기계학습의 입력으로 사용되는 데이터를 저장 장치 내의 메인 메모리에서 획득하며, 기계학습 연산을 저장 장치 내부에 포함된 프로세서를 이용하여 수행할 수 있다. 반면에, 종래의 저장 장치를 이용하는 기계학습 시스템은 기계학습의 입력 데이터를 저장 장치 내의 스토리지에서 얻으며, 기계학습 연산을 저장장치 외부의 프로세서를 이용하여 수행할 수 있다.
즉, 본 발명의 저장 장치는 종래의 저장 장치를 이용하는 것과 비교하였을 때 저장 장치와 프로세서 간의 데이터 전송 경로가 짧아, 보다 빠른 기계학습의 수행이 가능하게 된다.
다른 실시예에서는, 저장 장치가 그 입력데이터의 유형에 따라, 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.
즉, 저장 장치는 입력데이터의 유형에 따라, 기계학습모델의 학습 수행 여부를 결정할 수 있다.
예컨대, 저장 장치는 사진 파일과 동영상 파일에 대응되는 입력데이터에 대하여만 그 유형에 대응되는 기계학습모델을 학습시키고, 그 이외의 파일에 대응되는 입력데이터에 대하여는 기계학습모델을 학습시키지 않을 수 있다.
또한, 기계학습모델의 학습을 수행할 때에도, 여러 종류의 기계학습모델 중에서 효과를 고려하여 어떤 기계학습모델을 학습시킬지 결정할 수 있다.
또 다른 실시예에서는, 저장 장치가 그 입력데이터를 디코딩한 복원데이터를 이용하여 기계학습모델을 학습시킬 수 있다.
일반적으로, 사진 파일 또는 동영상 파일은 특정한 코덱(codec)에 의하여 인코딩(encoding)되어 압축된 형태로 저장된 경우가 많다. 그 결과, 사진 파일 또는 동영상 파일에 대응되는 입력데이터의 경우에 압축된 형태의 데이터를 포함하는 경우가 많은데, 압축된 형태의 입력데이터를 이용하여서는 기계학습모델을 직접 학습시키는 것이 곤란할 수 있다.
따라서, 저장 장치는 그 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 헤더정보를 이용하여 그 입력데이터를 디코딩(decoding)한 데이터인 복원데이터를 생성하고, 그 복원데이터를 이용하여 그 입력데이터의 유형에 대응되는 기계학습모델을 학습시킬 수 있다. 이때, 헤더정보에는 그 입력데이터의 코덱에 관한 정보가 포함되어 있어, 저장 장치는 그 코덱에 관한 정보를 이용하여 그 입력데이터를 적절하게 디코딩할 수 있다.
또한, 미리 결정된 복수의 유형은 저장 장치가 그 입력데이터를 디코딩하여 복원데이터를 생성해야 하는 파일의 유형으로서 사진 파일 및 동영상 파일 등과 같이 미리 결정된 것일 수 있다.
또 다른 실시예에서는, 그 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.
이때, DMA는 주변 장치가 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능으로, 컴퓨터 내부의 버스(bus)가 지원하는 기능이다. 대개의 경우에 메모리의 일정 부분이 DMA에 사용될 영역으로 지정되며, DMA가 지원되면 중앙처리장치(프로세서)가 데이터 전송에 관여하지 않아도 되므로 컴퓨터 성능의 향상을 기대할 수 있다.
즉, 저장 장치는 기계학습모델의 학습을 수행하는 동안, 그 수신된 입력데이터가 저장된 메인 메모리의 데이터를 DMA방식을 이용하여 데이터 저장 공간(예, 비휘발성 플래시 메모리)에 저장할 수 있다.
보다 구체적으로, 저장 장치는 그 수신된 입력데이터를 이용하여 기계학습모델의 학습을 수행하면서, 이와 동시에 DMA 방식을 이용하여 그 수신된 입력데이터를 데이터 저장 공간에 저장할 수 있다. 그로 인해, 저장 장치는 기계학습모델의 학습에 따른 성능 저하를 최소화할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법은 저장 장치가 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 기계학습을 동시에 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.
도 2는 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법을 설명하기 위한 흐름도이다.
단계 S210에서는, 저장 장치가 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.
단계 S220에서는, 저장 장치가 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.
단계 S230에서는, 저장 장치가 그 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 그 입력데이터를 추론한다.
즉, 저장 장치는 그 입력데이터의 유형별로 대응되는 기계학습모델을 결정하고, 그 결정된 기계학습모델을 이용하여 그 입력데이터를 추론할 수 있다. 예컨대, 저장 장치는 사진 파일의 유형인 입력데이터에 대하여 인공신경망 기반의 기계학습모델이 대응될 때, 그 인공신경망 기반의 기계학습모델을 이용하여 그 사진 파일의 유형인 입력데이터를 추론할 수 있다.
보다 구체적으로, 저장 장치는 그 인공신경망 기반의 기계학습모델을 이용하여 사진 파일이 인물을 포함하고 있는지, 바다를 포함하고 있는지, 나무를 포함하고 있는지 등을 추론할 수 있다.
마지막으로 단계 S240에서는, 저장 장치가 그 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장한다.
즉, 저장 장치는 그 입력데이터에 대하여 기계학습모델을 이용하여 수행한 추론의 결과를 저장 장치의 내부에 할당된 데이터 저장 공간에 저장할 수 있다.
한편, 자동차용 블랙박스가 본 발명의 일 실시예에 따른 저장 장치에 해당한다고 가정하면, 그 블랙박스는 카메라를 통해 입력되는 영상 데이터를 데이터 저장 공간에 저장함과 동시에 입력되는 영상 데이터에 대한 추론을 수행할 수 있다. 이때, 추론은 영상 데이터에 포함된 차량의 번호판, 신호등, 표지판 등에 관해 수행될 수 있다. 즉, 블랙박스 내부에는 영상 데이터와 그 영상 데이터에 대한 추론 결과가 함께 저장될 수 있다.
다른 실시예에서는, 그 입력데이터는 데이터 저장을 위한 제1 데이터 저장 공간에 저장되고, 그 입력데이터에 대응되는 추론 결과는 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장될 수 있다.
즉, 저장 장치는 호스트 장치로부터 입력된 입력데이터가 저장될 공간으로 제1 데이터 저장 공간을 할당하고, 그 입력데이터의 추론 결과가 저장될 공간으로 제2 데이터 저장 공간을 할당할 수 있다. 이때, 제1 데이터 저장 공간과 제2 데이터 저장 공간은 서로 물리적으로 또는 논리적으로 분리된 저장 공간일 수 있다.
또 다른 실시예에서는, 그 입력데이터에 대응되는 추론 결과는 그 입력데이터에 포함된 내용에 관한 판단 결과 및 그 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.
이때, 저장 장치는 그 입력데이터에 대응되는 추론 결과에 그 입력데이터에 관한 판단 결과(즉, 추론 결과)와 함께 그 입력데이터를 고유하게 특정할 수 있는 고유값의 정보를 포함시킬 수 있다.
예컨대, 고유값은 저장 장치 내부에서 그 입력데이터가 저장된 데이터 저장 공간의 물리적 주소(physical address)일 수 있다. 이는, 그 저장 장치에 대하여는 데이터 저장 공간의 물리적 주소가 고유한 값이 될 수 있기 때문이다.
이와 같이, 본 발명의 일 실시예에 따른 저장 장치의 추론 방법은 저장 장치가 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 추론을 동시에 수행함으로써, 데이터의 추론에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.
도 3은 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치(300)는 수신부(310), 분류부(320) 및 학습부(330)를 포함한다.
수신부(310)는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.
분류부(320)는 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.
학습부(330)는 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.
다른 실시예에서는, 학습부(330)는 그 입력데이터의 유형에 따라, 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.
또 다른 실시예에서는, 학습부(330)는 그 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 헤더정보를 이용하여 그 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고, 그 생성된 복원데이터를 이용하여 그 입력데이터의 유형에 대응되는 기계학습모델을 학습시킬 수 있다.
또 다른 실시예에서는, 그 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
도 4을 참조하면, 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치(300)는 수신부(310), 분류부(320), 학습부(330), 추론부(340) 및 저장부(350)를 포함한다. (단, 학습부(330)는 생략)
수신부(310)는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.
분류부(320)는 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.
학습부(330)는 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.
추론부(340)는 그 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 그 입력데이터를 추론한다.
마지막으로 저장부(350)는 그 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장한다.
다른 실시예에서는, 저장부(350)는 그 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 그 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장할 수 있다.
또 다른 실시예에서는, 그 입력데이터에 대응되는 추론 결과는 그 입력데이터에 포함된 내용에 관한 판단 결과 및 그 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (14)

  1. 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계;
    상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계;
    상기 입력데이터의 유형에 따라 기계학습모델의 종류 및 학습 수행 여부를 결정하는 단계;
    상기 결정된 기계학습모델의 종류 및 학습 수행 여부에 기반하여 기계학습모델을 학습시키는 단계
    를 포함하는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
  2. 삭제
  3. 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계;
    상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계;
    상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하는 단계; 및
    상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 기계학습모델을 학습시키는 단계
    를 포함하는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
  4. 제1항에 있어서,
    상기 수신된 입력데이터는
    DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장되는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 수신부;
    상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 분류부; 및
    상기 입력데이터의 유형에 따라 기계학습모델의 종류 및 학습 수행 여부를 결정하고, 상기 결정된 기계학습모델의 종류 및 학습 수행 여부에 기반하여 기계학습모델을 학습시키는 학습부
    를 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 학습부는
    상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고,
    상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시키는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
  11. 제8항에 있어서,
    상기 수신된 입력데이터는
    DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장되는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
  12. 제8항에 있어서,
    상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 추론부; 및
    상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 저장부
    를 더 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
  13. 제12항에 있어서,
    상기 저장부는
    상기 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
  14. 제12항에 있어서,
    상기 입력데이터에 대응되는 추론 결과는
    상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
KR1020180038171A 2018-04-02 2018-04-02 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법 KR102205518B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180038171A KR102205518B1 (ko) 2018-04-02 2018-04-02 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038171A KR102205518B1 (ko) 2018-04-02 2018-04-02 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법

Publications (2)

Publication Number Publication Date
KR20190115303A KR20190115303A (ko) 2019-10-11
KR102205518B1 true KR102205518B1 (ko) 2021-01-21

Family

ID=68210389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038171A KR102205518B1 (ko) 2018-04-02 2018-04-02 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법

Country Status (1)

Country Link
KR (1) KR102205518B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125463A1 (en) 2007-11-13 2009-05-14 Shohei Hido Technique for classifying data
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568346B1 (ko) * 2014-03-28 2015-11-12 주식회사 솔트룩스 비정형 데이터 기반 무한 진화형 자가 학습 지식 획득 시스템
KR20180075913A (ko) * 2016-12-27 2018-07-05 삼성전자주식회사 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125463A1 (en) 2007-11-13 2009-05-14 Shohei Hido Technique for classifying data
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
위키백과 : 직접 메모리 접근. 2018.03.11.

Also Published As

Publication number Publication date
KR20190115303A (ko) 2019-10-11

Similar Documents

Publication Publication Date Title
Perarnau et al. Invertible conditional gans for image editing
CN108882020B (zh) 一种视频信息处理方法、装置及系统
US11736769B2 (en) Content filtering in media playing devices
CN111209440B (zh) 一种视频播放方法、装置和存储介质
US20180365794A1 (en) Image processing apparatus and method using multi-channel feature map
US11062210B2 (en) Method and apparatus for training a neural network used for denoising
CN112231275A (zh) 多媒体文件分类、信息处理与模型训练方法、系统及设备
KR102042168B1 (ko) 시계열 적대적인 신경망 기반의 텍스트-비디오 생성 방법 및 장치
CN111061867B (zh) 基于质量感知的文本生成方法、设备、存储介质及装置
CN106688015B (zh) 处理用于当解码图像时对于块的操作的参数
CN112804558B (zh) 视频拆分方法、装置及设备
US10679070B1 (en) Systems and methods for a video understanding platform
JP2022014776A (ja) アクティビティ検出装置、アクティビティ検出システム及びアクティビティ検出方法
US20230291978A1 (en) Subtitle processing method and apparatus of multimedia file, electronic device, and computer-readable storage medium
US10608664B2 (en) Electronic apparatus for compression and decompression of data and compression method thereof
KR102205518B1 (ko) 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법
US11354904B2 (en) Spatial-temporal graph-to-sequence learning based grounded video descriptions
CN111507726B (zh) 一种报文生成方法、装置及设备
KR20210064587A (ko) 동영상 구간 고속 분할 장치 및 고속 분할 방법
CN114780757A (zh) 短媒体标签抽取方法、装置、计算机设备和存储介质
CN107613298A (zh) 基于OpenCL的VP8视频的帧间预测方法及系统
KR102334388B1 (ko) 순차적 특징 데이터 이용한 행동 인식 방법 및 그를 위한 장치
CN115004245A (zh) 目标检测方法、装置、电子设备和计算机存储介质
CN113906447A (zh) 电子设备及其控制方法
US20230412825A1 (en) Video size reduction by reconstruction

Legal Events

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