KR20220107575A - 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법 - Google Patents

멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20220107575A
KR20220107575A KR1020210010353A KR20210010353A KR20220107575A KR 20220107575 A KR20220107575 A KR 20220107575A KR 1020210010353 A KR1020210010353 A KR 1020210010353A KR 20210010353 A KR20210010353 A KR 20210010353A KR 20220107575 A KR20220107575 A KR 20220107575A
Authority
KR
South Korea
Prior art keywords
sub
information
mode
layers
feature information
Prior art date
Application number
KR1020210010353A
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210010353A priority Critical patent/KR20220107575A/ko
Priority to PCT/KR2022/000977 priority patent/WO2022158847A1/ko
Priority to US17/711,316 priority patent/US20220237434A1/en
Publication of KR20220107575A publication Critical patent/KR20220107575A/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • 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
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치에 관한 것으로, 제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 입력부, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하고, 제1 서브 특징 정보 및 제2 서브 특징 정보를 복수의 레이어들을 포함하는 DNN으로 입력하여, 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하고, 특징 정보와 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하고, 복수의 레이어들 각각에서, 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는, 전자 장치가 개시된다.

Description

멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE FOR PROCESSING MULTI-MODAL DATA AND OPERATION METHOD THEREOF}
다양한 실시예들은 멀티 모달 데이터를 처리하는 전자 장치에 관한 것으로서, 보다 상세하게는 서로 다른 모드의 입력 데이터들을 이용하여, 특정 태스크를 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
딥러닝(deep learning)은 컴퓨팅 시스템이 인간과 유사한 동작을 수행할 수 있도록 하는 기계학습(machine learning) 기술이다. 딥러닝 네트워크 기술이 발전함에 따라, 다양한 모드의 입력(예를 들어, 이미지 모드의 입력, 텍스트 모드의 입력 등)을 받아서 특정 태스크(task)를 수행하는 기술에 대한 연구가 활발히 진행되고 있다. 최근에는 다양한 모드의 입력에 대해 각 모드 별 중요도를 고려해서 네트워크의 성능을 개선할 수 있는 기술들이 논의되고 있다. 다양한 모드의 입력에 대해, 정확하고 빠른 태스크의 수행을 위해서는, 각 모드 별 중요도가 반영된 가중치를 생성할 수 있는 장치가 요구된다.
다양한 실시예들은 서로 다른 모드의 입력에 대한 중요도를 산출하고, 산출된 중요도가 반영된 모드 별 가중치를 생성하여 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법을 제공하는 것을 목적으로 한다.
본 개시의 일 실시예에 따른 Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치는, 제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 입력부, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하고, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하고, 상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하고, 상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 기학습된 제1 서브 네트워크에 상기 제1 모드의 입력 데이터를 입력함으로써 상기 제1 서브 특징 정보를 획득하고, 기학습된 제2 서브 네트워크에 상기 제2 모드의 입력 데이터를 입력함으로써 상기 제2 서브 특징 정보를 획득할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 입력 데이터의 모드를 구분할 수 있는 모드 식별 정보에 기초하여, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하고, 상기 부호화된 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 상기 복수의 레이어들을 포함하는 상기 DNN으로 입력할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 상기 제1 서브 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제1 쿼리 정보를 획득하고, 상기 제1 쿼리 정보는 상기 제1 서브 특징 정보의 가중치를 나타내며, 상기 제2 서브 특징 정보 및 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제2 쿼리 정보를 획득할 수 있으며, 상기 제2 쿼리 정보는 상기 제2 서브 특징 정보의 가중치를 나타내며, 상기 기학습된 쿼리 행렬은, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보와 관련된 파라미터들을 포함할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 상기 복수의 레이어들 각각에서 추출되는 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 키 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 키 정보를 획득할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 상기 제1 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제1 콘텍스트 정보를 획득하고, 상기 제2 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제2 콘텍스트 정보를 획득할 수 있다.
또한, 본 개시의 일 실시예에 따른 프로세서는, 상기 복수의 레이어들 각각에 대응되는 상기 제1 콘텍스트 정보 및 상기 제2 콘텍스트 정보를 이용하여, 상기 복수의 레이어들 각각에 대응되는 상기 모드 별 가중치를 계산할 수 있다.
또한, 본 개시의 일 실시예에서 상기 제1 모드의 입력 데이터 및 상기 제2 모드의 입력 데이터는, 이미지 데이터, 텍스트 데이터, 사운드 데이터 및 영상 데이터 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시예에 따른 Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치의 동작방법은, 제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 단계, 상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하는 단계, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하는 단계, 상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계, 및 상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는 단계를 포함할 수 있다.
본 개시의 또 다른 실시예는 상기 전자 장치에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공할 수 있다.
개시된 실시예에 따른 멀티 모달 데이터를 처리하는 전자 장치에 따르면, 전자 장치는 여러가지 모드의 입력에 대한 특징 정보를 추출함으로써, 모드 별 중요도를 산출하고, 산출된 중요도를 반영하여 모드 별 가중치를 생성할 수 있다. 전자 장치는 생성된 가중치를 반영하여 기설정된 태스크에 대해 정확한 출력값을 출력할 수 있다.
도 1은 일 실시예에 따른 전자 장치가 복수의 입력에 대한 출력 값을 생성하는 일 예를 나타낸 도면이다.
도 2는 일 실시예에 따른 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3a는 일 실시예에 따른 프로세서에서 수행되는 동작을 설명하기 위한 도면이다.
도 3b는 도 3a에 포함된 구성들의 동작을 더 상세하게 나타내는 도면이다.
도 4는 일 실시예에 따른 가중치 생성부의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 쿼리 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 키 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 컨텍스트 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 모드 별 가중치 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 전자 장치가 제1 서브 특징 정보, 제2 서브 특징 정보 및 레이어 별 특징 정보를 획득하여, 최종 출력 값을 획득하는 방법을 나타내는 흐름도이다.
도 10은 도 9의 940 단계(S940)를 구체적으로 나타내는 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명의 일 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 전자 장치가 복수의 입력에 대한 출력 값을 생성하는 일 예를 나타낸 도면이다.
일반적인 딥러닝 네트워크는 한가지 모드의 입력을 받아 특정 태스크(task)를 수행할 수 있다. 예를 들어 상기 일반적인 딥러닝 네트워크는 이미지를 입력으로 받아 처리하는 CNN(Convolution Neural Network) 네트워크 또는 텍스트를 입력으로 받아 처리하는 LSTM(Long Short-Term Memory models) 네트워크일 수 있다. 일례로 CNN 네트워크는 이미지를 입력으로 받아 이미지 분류와 같은 태스크를 수행할 수 있다.
일 실시예에 따른 딥러닝 네트워크는 여러가지 다른 모드의 입력을 받아 특정 태스크를 수행할 수 있다. 이와 같이 복수의 모드의 입력을 받아 처리하는 딥러닝 네트워크를 멀티 모달(multi-modal) 딥러닝 네트워크로 칭할 수 있다. 예를 들어, 일 실시예에 따른 멀티 모달 딥러닝 네트워크는 이미지 데이터 및 텍스트 데이터가 입력되면, 입력된 데이터들에 기초하여, 특정 태스크를 수행할 수 있다. 예를 들어, 텍스트 모드의 입력 데이터는 이미지 모드의 입력 데이터와 관련된 질문을 구성하는 텍스트들을 포함할 수 있으며, 멀티 모달 딥러닝 네트워크는 상기 질문에 대한 답변을 구성하는 텍스트들을 출력하는 태스크(예를 들어, Visual Question Answering(VQA))를 수행할 수 있다.
도 1을 참조하면, 일 실시예에 따른 전자 장치는 서브 네트워크(130) 및 DNN(Deep Neural Network) 네트워크(160)를 포함할 수 있다. 서브 네트워크(130)는 복수의 다른 모드의 입력 데이터를 받아 특징 값을 추출할 수 있고, 각 입력의 모드에 따라 다른 종류의 서브 네트워크가 포함되어 구성될 수 있다. 이때 복수의 다른 모드의 입력 데이터는 예를 들어 이미지 모드의 데이터, 텍스트 모드의 데이터, 사운드 모드의 데이터, 또는 영상 모드의 데이터를 포함할 수 있다. 다만, 전술한 예에 한정되지 않는다.
일 실시예에 따르면, 이미지 모드의 데이터(110)는 CNN 서브 네트워크(131)에 입력되고, CNN 서브 네트워크(131)로부터 제 1 서브 특징 정보(140)가 추출(획득)될 수 있다. 또한, 텍스트 모드의 데이터(120)는 BLSTM(132)에 입력되고, BLSTM(132)으로부터 제 2 서브 특징 정보(150)가 추출될 수 있다. 추출된 제 1 서브 특징 정보(140) 및 제 2 서브 특징 정보(150)는 DNN 네트워크(예를 들어 LSTM 네트워크, 160)로 입력되고, DNN 네트워크(160)로부터 특정 태스크에 대한 출력 값(170)이 획득될 수 있다.
도시된 예에 따르면, 이미지 모드의 데이터(110) 및 텍스트 모드의 데이터(120)가 서브 네트워크(130)에 입력될 수 있으며, 상기 텍스트 모드의 데이터(120)는 상기 이미지 모드의 데이터(110)에 관련된 질문일 수 있다. 예를 들어, 텍스트 모드의 데이터(120)는 상기 이미지 모드의 데이터(110)에 관련된 질문을 구성하는 복수의 단어(121, 122, 123, 124)를 포함할 수 있다.
서브 네트워크(130)는 상기 입력된 정보에 기반하여 제 1 서브 특징 정보(140) 및 제 2 서브 특징 정보(150)를 추출할 수 있다.
예를 들어, 제 1 서브 특징 정보 (140)는 이미지와 관련된 특징 정보일 수 있으며, 일례로 이미지에서 특정 객체와 배경을 구분하는 정보를 포함할 수 있다. 또한, 제 2 서브 특징 정보 (150)는 질문을 구성하는 복수의 단어와 관련된 특징 정보일 수 있으며, 일례로 질문을 구성하는 복수의 단어에서 의문사(121)와 목적어(124)를 구분하는 정보를 포함할 수 있다.
상기 추출된 제 1 서브 특징 정보 (140) 및 제 2 서브 특징 정보 (150)는 DNN 네트워크 (예를 들어 LSTM 네트워크, 160)로 입력되며, DNN 네트워크(160)로부터 특정 태스크에 대한 출력 값(170), 예를 들어 질문에 대한 답이 획득될 수 있다.
일 실시예에 따른 전자 장치는 여러가지 다른 모드의 입력을 받아, 특정 태스크 수행에 필요한 각 모드 별 특징 값(feature)을 추출할 수 있으며, 추출된 각 모드 별 특징 값들을 조합(fusion)하여 태스크를 위한 학습 (또는 훈련)을 수행할 수 있다. 이때 서로 다른 모드의 입력 데이터는 태스크를 수행함에 있어, 서로 다른 중요도를 가질 수 있다. 예를 들어, 특정 태스크를 수행함에 있어서, 이미지 입력 데이터가 텍스트 입력 데이터보다 더 중요할 수 있다. 이에 따라, 멀티 모달 딥러닝 네트워크에서, 다수의 가변적인 멀티 모달 입력에 대한 중요도를 나타내는 모드 별 가중치가 반영되어 특정 태스크가 수행되는 경우, 멀티 모달 딥러닝 네트워크의 성능이 개선될 수 있다.
일 실시예에 따른 전자 장치는 서로 다른 모드의 입력 데이터들에 대한 모드 별 가중치에 기초하여, 특정 태스크를 수행할 수 있다. 이하, 도면들을 참조하여, 자세히 설명하기로 한다.
도 2는 일 실시예에 따른 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(200)는 입력부(210), 프로세서(220), 메모리(230), 출력부(240)를 포함할 수 있다.
일 실시예에 따른 입력부(210)는, 사용자가 전자 장치(200)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(210)에는 카메라, 마이크, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시예에 따르면, 입력부(210)는, 전자 장치(200)가 특정 태스크를 수행하기 위해 필요한 사용자의 입력을 수신할 수 있다. 일 실시예에 따른 사용자 입력이 이미지 데이터 및 사운드 데이터를 포함하는 경우, 입력부(210)는 카메라 및 마이크를 통해 사용자의 이미지 데이터 입력 및 사운드 데이터 입력을 각각 수신할 수 있다. 상술한 예에 한하지 않고, 입력부(210)는 다양한 수단을 통하여 다양한 형태의 사용자 입력을 수신할 수 있다.
출력부(240)는 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(240)는 디스플레이부, 음향 출력부, 또는 진동 모터 중 적어도 하나를 포함할 수 있다. 일 실시예에 따른 출력부(240)는 입력된 데이터에 따라 특정 태스크를 수행한 출력 값을 출력할 수 있다. 예를 들어, 입력된 데이터가 이미지 데이터 및 이미지 데이터와 관련된 질문을 포함하는 데이터(예를 들어, 텍스트 데이터 또는 사운드 데이터)인 경우, 상기 질문에 대한 답변은 디스플레이부를 통해 텍스트로 표시되거나 음향 출력부를 통해 사운드로 출력될 수 있다.
일 실시예에 따른 프로세서(220)는 전자 장치(200)의 동작을 전반적으로 제어할 수 있다. 또한, 프로세서(220)는 소정 동작이 수행되도록 전자 장치(200)에 포함되는 다른 구성들을 제어할 수 있다.
일 실시예에 따른 프로세서(220)는 메모리(230)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(220)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 또한, 프로세서(220)는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 뉴럴 네트워크 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서를 포함할 수 있다. 프로세서(220)는 뉴럴 네트워크 모델을 생성하거나, 뉴럴 네트워크 모델을 학습하거나, 뉴럴 네트워크 모델을 이용하여 수신되는 입력 데이터를 기초로 연산을 수행하고 출력 데이터를 생성할 수 있다. 뉴럴 네트워크 모델은 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), LSTM(Long Short-Term Memory models), BLSTM(Bidirectional LSTM), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등 다양한 종류의 뉴럴 네트워크 모델들을 포함할 수 있으나 이에 한정되는 것은 아니다.
일 실시예에 따른 프로세서(220)는 서로 다른 모드의 입력에 대한 중요도를 산출하고, 산출된 중요도가 반영된 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 출력할 수 있다. 일 실시예에 따른 프로세서(220)는 서로 다른 모드의 입력 데이터들을 입력 받아 입력 데이터들 각각에 대한 서브 특징 정보를 추출할 수 있다. 일 실시예에 따른 프로세서(220)는 추출된 서브 특징 정보를 부호화하여 DNN 네트워크로 전달할 수 있다.
일 실시예에 따른 프로세서(220)는 DNN 네트워크의 복수의 레이어들 각각에서 추출되는 특징 정보를 획득할 수 있다. 일 실시예에 따른 프로세서(220)는 상기 추출된 서브 특징 정보 및 상기 DNN 네트워크에서 추출된 특징 정보를 이용하여 모드 별 가중치를 계산할 수 있다. 일 실시예에 따른 프로세서(220)는 계산된 모드 별 가중치를 DNN 네트워크에 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 출력할 수 있다.
도 3a 내지 도 8을 참고하여, 일 실시예에 따른 프로세서(220)의 동작을 상세하게 후술하기로 한다.
일 실시예에 따른 메모리(230)는 전자 장치(200)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다.
또한, 메모리(230)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(230)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(220)에 의해 실행될 수 있다.
메모리(1260)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 3a는 일 실시예에 따른 프로세서에서 수행되는 동작을 설명하기 위한 도면이다.
도 3a를 참조하면, 일 실시예에 따른 전자 장치(200)는 입력된 서로 다른 모드의 데이터에 대한 모드 별 중요도가 반영된 모드 별 가중치를 생성할 수 있다. 일 실시예에 따른 전자 장치(200)는 서브 네트워크(320), 인코더(340), 모드 별 가중치 생성부(350) 및 DNN 네트워크 (360)를 포함할 수 있다.
서브 네트워크(320)는 복수의 입력 데이터들(310)을 받아 복수의 입력 데이터들 각각에 대한 서브 특징 정보(330)를 추출할 수 있다. 이때, 복수의 입력 데이터들(310)은 서로 다른 모드의 입력 데이터일 수 있으며, 서브 네트워크(320)는 각 입력 데이터(310)의 모드에 따라 다른 종류의 서브 네트워크를 포함할 수 있다. 예를 들어, 입력 데이터(310)가 이미지 데이터 및 텍스트 데이터인 경우, 서브 네트워크(320)는 CNN 네트워크 및 BLSTM 네트워크를 포함할 수 있다.
이하에서는 설명의 편의를 위하여, 일 실시예에 따른 복수의 입력 데이터들(310)이 이미지 데이터(V) 및 사운드 데이터(S)를 포함하는 것으로 설명하기로 한다. 다만, 이에 한정되지 않으며, 복수의 입력 데이터들(310)은 이미지 데이터, 텍스트 데이터, 사운드 데이터 등을 포함할 수 있다.
서브 네트워크(320)에서 추출된 상기 복수의 입력 데이터들(310)에 대한 특징 정보인 서브 특징 정보(330)는 인코더(340) 및 모드 별 가중치 생성부(350)로 전달(또는 입력)될 수 있다. 상술한 예에 따르면 이미지 데이터(V)에 대한 서브 특징 정보 및 사운드 데이터(S)에 대한 서브 특징 정보는 인코더(340) 및 모드 별 가중치 생성부(350)로 전달(또는 입력)될 수 있다. 또한, 일 실시예에 따르면 입력 데이터(310)의 모드를 구분할 수 있는 모드 식별 정보가 서브 특징 정보(330)와 함께 인코더(340) 및 모드 별 가중치 생성부(350)로 전달(또는 입력)될 수 있다.
인코더(340)는 서브 네트워크(320)에서 전달된 입력 데이터의 모드를 구분할 수 있는 모드 식별 정보를 기초로 하여 상기 서브 특징 정보(330)를 부호화할 수 있다. 예를 들어, 인코더(340)는 모드 식별 정보를 기초로 하여 상기 서브 특징 정보(330)를 연쇄(concatenation)함으로써 서브 특징 정보(330)를 부호화할 수 있다. 인코더(340)는 부호화된 서브 특징 정보(370)를 DNN 네트워크(360)로 전달할 수 있다.
DNN 네트워크(360)는 복수의 레이어를 포함하는 네트워크일 수 있다. DNN 네트워크(360)는 부호화된 서브 특징 정보(370)를 입력 받아 복수의 레이어들 각각에서 특징 정보(380)를 추출할 수 있으며, 상기 추출된 특징 정보(380)는 모드 별 가중치 생성부(350)로 전달될 수 있다.
모드 별 가중치 생성부(350)는 서브 네트워크(320)로부터 전달 받은 서브 특징 정보(330)와 복수의 레이어들 각각에서 추출된 특징 정보(380)를 기초로 하여 복수의 레이어들 각각에 대한 모드 별 가중치(390)를 계산할 수 있다. 이때, 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(390)는, 서로 다른 모드의 데이터에 대한 모드 별 중요도가 반영되어, 각 레이어에 대한 기설정된 가중치 값에 곱해지는 값일 수 있다. 이를 통해 전자 장치에서 수행되는 특정 태스크에 대하여 각 모드 별 중요도를 반영함으로써 보다 정확한 출력 값이 획득될 수 있다.
예를 들어, 이미지 데이터와 사운드 데이터를 입력으로 받은 경우, 이미지 모드에 대한 서브 특징 정보, 사운드 모드에 대한 서브 특징 정보 및 DNN 네트워크(360)의 복수의 레이어들 각각에서 추출된 특징 정보가 모드 별 가중치 생성부(350)로 입력될 수 있다. 모드 별 가중치 생성부(350)는 입력된 이미지 모드에 대한 서브 특징 정보, 사운드 모드에 대한 서브 특징 정보, 복수의 레이어들 각각에서 추출된 특징 정보를 기초로 하여 모드 별 가중치(390)를 계산할 수 있다. 상기 모드 별 가중치(390)는, 일 실시예에 따른 입력 데이터가 서로 다른 모드의 입력 데이터들을 포함하는 경우, 입력 데이터들 각각의 중요도를 나타내는 값일 수 있다. 모드 별 가중치 생성부(350)는 복수의 레이어들 각각에 대응하는 모드 별 가중치들을 계산할 수 있다.
DNN 네트워크(360)는 복수의 레이어들 각각에서 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(390)를 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다. 예를 들어, DNN 네트워크(360)는 네트워크의 복수의 레이어에 대한 기설정된 가중치 값에 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(390)를 곱함으로써 이를 적용할 수 있다.
도 3b는 도 3a에 포함된 구성들의 동작을 더 상세하게 나타내는 도면이다.
도 3b를 참조하면, 일 실시예에 따른 전자 장치(200)는 입력된 제1 모드의 입력 데이터(311) 및 제2 모드의 입력 데이터(312)에 대한 각 모드 별 중요도가 반영된 모드 별 가중치를 생성할 수 있다. 그러나, 입력 데이터의 모드는 전술한 바에 한정되지 않고, 3 이상의 모드를 포함할 수 있다.
일 실시예에 따른 전자 장치(200)는 서브 네트워크(320), 인코더(340), 모드 별 가중치 생성부(350) 및 DNN 네트워크(360)를 포함할 수 있다.
서브 네트워크(320)는 제1 모드의 입력 데이터(311)를 입력 받아 제1 서브 특징 정보(331)를 추출할 수 있고, 제2 모드의 입력 데이터(312)를 입력 받아 제2 서브 특징 정보(332)를 추출할 수 있다. 서브 네트워크(320)에서 추출된 제1 서브 특징 정보(331) 및 제2 서브 특징 정보(332)는 인코더(340) 및 모드 별 가중치 생성부(350)로 전달(또는 입력)될 수 있다. 또한, 일 실시예에 따르면 제1 모드의 입력 데이터(311) 및 제2 모드의 입력 데이터(312)의 모드를 구분할 수 있는 모드 식별 정보가 제1 서브 특징 정보(331) 및 제2 서브 특징 정보(332)와 함께 인코더(340) 및 모드 별 가중치 생성부(350)로 전달(또는 입력)될 수 있다.
인코더(340)는 서브 네트워크(320)에서 전달된 제1 모드의 입력 데이터(311) 및 제2의 모드의 입력 데이터(312)의 모드를 구분할 수 있는 모드 식별 정보를 기초로 하여 제1 서브 특징 정보(331) 및 제2 서브 특징 정보(332)를 부호화하여 DNN 네트워크(360)로 전달할 수 있다.
DNN 네트워크(360)는 복수의 레이어를 포함하는 네트워크일 수 있다. 예를 들어, DNN 네트워크(360)는 i개의 레이어(i=1~L)를 포함하는 네트워크일 수 있다. DNN 네트워크(360)는 부호화된 서브 특징 정보(370)를 입력 받아 복수의 레이어들 각각에서 특징 정보(380)를 추출할 수 있다. 예를 들어, 제1 레이어에서 제1 레이어에 대한 특징 정보(381)를 추출할 수 있으며, 제2 레이어에서 제2 레이어에 대한 특징 정보(382)를 추출할 수 있으며, 마찬가지로 제 i 레이어에서 제i 레이어에 대한 특징 정보(383)를 추출할 수 있다. 상기 추출된 특징 정보(380)는 모드 별 가중치 생성부(350)로 전달될 수 있다.
상기 특징 정보(380)는 DNN 네트워크의 i개의 레이어(i=1~L) 각각으로 들어오는 입력에 레이어의 기설정된 가중치 값(
Figure pat00001
)을 곱한 값일 수 있다.
모드 별 가중치 생성부(350)는 서브 네트워크(320)로부터 전달 받은 제1 서브 특징 정보(331) 및 제2 서브 특징 정보(332)와 복수의 레이어들 각각에서 추출된 특징 정보(380)를 기초로 하여 복수의 레이어들 각각에 대한 모드 별 가중치(390)를 계산할 수 있다. 예를 들어, 제1 레이어에 대응하는 모드 별 가중치(391)를 계산할 수 있으며, 제2 레이어에 대응하는 모드 별 가중치(392)를 계산할 수 있으며, 마찬가지로 제i 레이어에 대응하는 모드 별 가중치(393)를 계산할 수 있다.
이때, 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(390)는, 제1 모드의 입력 데이터(311) 및 제2 모드의 입력 데이터(312)에 대한 각 모드 별 중요도가 반영된 값일 수 있다.
DNN 네트워크(360)는 복수의 레이어들 각각에서 모드 별 가중치(390)를 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다. 예를 들어, DNN 네트워크(360)는 네트워크의 i번째 레이어(i=1~L)에 대한 기설정된 가중치 값(
Figure pat00002
, i=1~L)에 모드 별 가중치 생성부(350)로부터 전달 받은 i번째 레이어에 대한 모드 별 가중치(393)를 곱함으로써 이를 적용할 수 있다.
이를 통해, 전자 장치(200)에서 수행되는 특정 태스크에 대하여 각 모드 별 중요도를 고려함으로써, 보다 정확한 출력 값이 획득될 수 있다.
도 4는 일 실시예에 따른 모드 별 가중치 생성부의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 일 실시예에 따른 모드 별 가중치 생성부(350)는 쿼리 정보 계산부(410), 키 정보 계산부(440), 컨텍스트 정보 계산부(460) 및 모드 별 가중치 계산부(480)를 포함할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 모드 별 서브 특징 정보의 새로운 특징 정보를 나타내는 모드 별 쿼리 정보를 계산할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00003
) 및 제2 서브 특징 정보(
Figure pat00004
)를 입력 받을 수 있다. 이때, 제1 서브 특징 정보(
Figure pat00005
)는 이미지 입력 데이터(V)에 대한 서브 특징 정보이고, 제2 서브 특징 정보(
Figure pat00006
) 는 사운드 입력 데이터(S)에 대한 서브 특징 정보인 것을 예를 들어 설명한다. 다만, 상기 입력 데이터는 이에 한정되지 않으며 이미지 입력 데이터, 텍스트 입력 데이터, 사운드 입력 데이터 또는 영상 입력 데이터 등을 포함할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00007
)를 입력 받아 제1 쿼리 정보(
Figure pat00008
)를 계산할 수 있고, 제2 서브 특징 정보(
Figure pat00009
)를 입력 받아 제2 쿼리 정보(
Figure pat00010
)를 계산할 수 있다. 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00011
)와 DNN 네트워크의 i번째 레이어에 대응하는 기 학습된 쿼리 행렬(
Figure pat00012
)을 이용하여, 제1 쿼리 정보(
Figure pat00013
)를 계산하고, 제2 서브 특징 정보(
Figure pat00014
)와 i번째 레이어에 대응하는 기 학습된 쿼리 행렬(
Figure pat00015
)을 이용하여, 제2 쿼리 정보(
Figure pat00016
)를 계산할 수 있다. 제1 쿼리 정보(
Figure pat00017
) 및 제2 쿼리 정보(
Figure pat00018
)는 DNN 네트워크의 i번째 레이어에 대응하는 쿼리 정보를 나타낸다.
여기서, 제1 쿼리 정보(
Figure pat00019
)는 제1 서브 특징 정보(
Figure pat00020
) 및 제2 서브 특징 정보(
Figure pat00021
)에 대한 제1 서브 특징 정보(
Figure pat00022
)의 특징을 나타낼 수 있으며, 제2 쿼리 정보(
Figure pat00023
)는 제1 서브 특징 정보(
Figure pat00024
) 및 제2 서브 특징 정보(
Figure pat00025
)에 대한 제2 서브 특징 정보(
Figure pat00026
)의 특징을 나타낼 수 있다.
예를 들어, 입력 데이터가 이미지 입력 데이터(V) 및 사운드 입력 데이터(S)인 경우, 제1 쿼리 정보(
Figure pat00027
)는 이미지 모드의 서브 특징 정보(
Figure pat00028
) 및 사운드 모드의 서브 특징 정보(
Figure pat00029
)에 대한 이미지 모드의 서브 특징 정보(
Figure pat00030
)의 특징을 나타낼 수 있다.
또한, 제2 쿼리 정보(
Figure pat00031
) 는 이미지 모드의 서브 특징 정보(
Figure pat00032
) 및 사운드 모드의 서브 특징 정보(
Figure pat00033
)에 대한 사운드 모드의 서브 특징 정보(
Figure pat00034
)의 특징을 나타낼 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에서 추출된 특징 정보에 기초하여 키 정보를 계산할 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00035
)를 입력 받을 수 있다. 이때, 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00036
)에는 이미지 모드 및 사운드 모드의 특징이 혼재되어 있을 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00037
)를 입력 받아 키 정보(
Figure pat00038
)를 계산할 수 있다. 키 정보 계산부(420)는 DNN 네트워크의 i번째 레이어에서 추출된 특징 정보(
Figure pat00039
)와 DNN 네트워크의 i번째 레이어에 대응하는 기 학습된 키 행렬(
Figure pat00040
)을 이용하여, DNN 네트워크의 i번째 레이어에 대응하는 키 정보(
Figure pat00041
)를 계산할 수 있다.
여기서, 키 정보(
Figure pat00042
)는 DNN 네트워크의 i번째 레이어에서 추출된 특징 정보(
Figure pat00043
)에서, 이미지 모드와 사운드 모드의 상대적인 중요도가 반영된 값일 수 있다.
일 실시예에 따른 컨텍스트 정보 계산부(460)는 쿼리 정보와 키 정보의 상관 관계를 나타내는 값인 컨텍스트 정보를 계산할 수 있다.
일 실시예에 따른 컨텍스트 계산부(460)는 쿼리 정보 계산부(410)에서 계산한 제1 쿼리 정보(
Figure pat00044
), 제2 쿼리 정보(
Figure pat00045
) 및 키 정보 계산부(440)에서 계산한 키 정보(
Figure pat00046
)를 입력 받을 수 있다. 이때, 상기 제1 쿼리 정보(
Figure pat00047
), 제2 쿼리 정보(
Figure pat00048
) 및 키 정보(
Figure pat00049
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
일 실시예에 따른 컨텍스트 계산부(460)는 제1 쿼리 정보(
Figure pat00050
) 및 키 정보(
Figure pat00051
)를 이용하여 제1 컨텍스트 정보(
Figure pat00052
)를 계산할 수 있고, 제2 쿼리 정보(
Figure pat00053
) 및 키 정보(
Figure pat00054
)를 이용하여 제2 컨텍스트 정보(
Figure pat00055
)를 계산할 수 있다. 상기 제1 컨텍스트 정보(
Figure pat00056
) 및 제2 컨텍스트 정보(
Figure pat00057
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
여기서, 제1 컨텍스트 정보(
Figure pat00058
)는 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)의 상대적인 중요도를 나타내는 제1 쿼리 정보(
Figure pat00059
)와 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보(
Figure pat00060
)의 상관성을 나타내는 값일 수 있다.
또한, 제2 컨텍스트 정보(
Figure pat00061
)는 DNN 네트워크의 i번째 레이어에서 사운드 모드(S)의 상대적인 중요도를 나타내는 제2 쿼리 정보(
Figure pat00062
)와 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보(
Figure pat00063
)의 상관성을 나타내는 값일 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 복수의 모드의 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 모드 별 가중치를 계산할 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 제1 컨텍스트 정보(
Figure pat00064
) 및 제2 컨텍스트 정보(
Figure pat00065
)를 이용하여 모드 별 가중치(
Figure pat00066
)를 계산할 수 있다. 상기 모드 별 가중치(
Figure pat00067
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 DNN 네트워크의 복수의 레이어 당 하나의 모드 별 가중치(
Figure pat00068
)를 계산할 수 있다. 이 경우, 제1 컨텍스트 정보(
Figure pat00069
) 및 제2 컨텍스트 정보(
Figure pat00070
) 중에서 최대값을 이용하여 하나의 모드 별 가중치(
Figure pat00071
)를 계산할 수 있다.
다른 실시예에 따른 모드 별 가중치 계산부(480)는 DNN 네트워크의 복수의 레이어 당 복수의 모드 별 가중치(
Figure pat00072
,
Figure pat00073
)를 계산할 수 있다. 이 경우, 제1 컨텍스트 정보(
Figure pat00074
)를 이용하여 제1 모드인 이미지 모드에 대한 모드 별 가중치(
Figure pat00075
)를 계산하고, 제2 컨텍스트 정보(
Figure pat00076
)를 이용하여 제2 모드인 사운드 모드에 대한 모드 별 가중치(
Figure pat00077
)를 계산할 수 있다.
도 5는 일 실시예에 따른 쿼리 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00078
)와 기학습된 쿼리 행렬(
Figure pat00079
)을 이용하여 제1 쿼리 정보(
Figure pat00080
)를 계산할 수 있고, 제2 서브 특징 정보(
Figure pat00081
)와 기학습된 쿼리 행렬(
Figure pat00082
)을 이용하여 제2 쿼리 정보(
Figure pat00083
)를 계산할 수 있다.
이때, 기학습된 쿼리 행렬(
Figure pat00084
), 제1 쿼리 정보(
Figure pat00085
) 및 제2 쿼리 정보(
Figure pat00086
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(510)에 대응하는 값일 수 있다.
제1 쿼리 정보(
Figure pat00087
) 및 제2 쿼리 정보(
Figure pat00088
)는 하기의 수학식 1을 통해 계산될 수 있다.
[수학식 1]
Figure pat00089
Figure pat00090
수학식 1에서,
Figure pat00091
는 제1 서브 특징 정보를 의미하고,
Figure pat00092
는 제2 서브 특징 정보를 의미하고,
Figure pat00093
는 제1 쿼리 정보를 의미하고,
Figure pat00094
는 제2 쿼리 정보를 의미하고,
Figure pat00095
는 기학습된 쿼리 행렬을 의미한다.
일 실시예에 따른 기학습된 쿼리 행렬(
Figure pat00096
)은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(510)에서 제1 서브 특징 정보(
Figure pat00097
)가 제2 서브 특징 정보(
Figure pat00098
)에 비해 가지는 상대적인 중요도를 나타낼 수 있도록, 제1 서브 특징 정보(
Figure pat00099
)와 내적을 수행하는 값일 수 있다.
또한, 마찬가지로 일 실시예에 따른 기학습된 쿼리 행렬(
Figure pat00100
)은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(510)에서 제2 서브 특징 정보(
Figure pat00101
)가 제1 서브 특징 정보(
Figure pat00102
)에 비해 가지는 상대적인 중요도를 나타낼 수 있도록, 제2 서브 특징 정보(
Figure pat00103
)와 내적을 수행하는 값일 수 있다.
일 실시예에 따른 기학습된 쿼리 행렬(
Figure pat00104
)은 상기 제1 서브 특징 정보(
Figure pat00105
) 및 상기 제2 서브 특징 정보(
Figure pat00106
)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응되도록 미리 학습된 값일 수 있다.
일 실시예에 따른 전자 장치(200)는 정확한 출력 값을 출력하기 위해 여러가지 서로 다른 모드(예를 들어 V, S)의 입력에 대한 중요도가 반영된, 모드 별 가중치를 계산할 수 있다. 여기서, 모드 별 가중치의 계산에 이용되는 쿼리 행렬은 최적의 값을 갖도록 학습될 수 있으며, 최적의 값을 갖도록 학습이 완료된 쿼리 행렬을 기학습된 쿼리 행렬(
Figure pat00107
)로 정의할 수 있다.
도 5에 도시된 것과 마찬가지로, 쿼리 정보 계산부(410)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 기학습된 쿼리 행렬을 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 쿼리 정보 및 제2 쿼리 정보를 계산할 수 있다.
예를 들어, 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00108
)와 DNN 네트워크의 제1 레이어(520)에서 정의된 기학습된 쿼리 행렬(
Figure pat00109
)의 내적을 수행하여, DNN 네트워크의 제1 레이어(520)에 대한 제1 쿼리 정보(
Figure pat00110
)를 계산할 수 있다. 또한, 쿼리 정보 계산부(410)는 제2 서브 특징 정보(
Figure pat00111
)와 DNN 네트워크의 제1 레이어(520)에서 정의된 기학습된 쿼리 행렬(
Figure pat00112
)의 내적을 수행하여, DNN 네트워크의 제1 레이어(520)에 대한 제2 쿼리 정보(
Figure pat00113
)를 계산할 수 있다.
도 6은 일 실시예에 따른 키 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 키 정보 계산부(420)는 특징 정보(
Figure pat00114
)와 기학습된 키 행렬(
Figure pat00115
)을 이용하여 키 정보(
Figure pat00116
)를 계산할 수 있다.
이때, 특징 정보(
Figure pat00117
), 기학습된 키 행렬(
Figure pat00118
) 및 키 정보(
Figure pat00119
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(610)에 대응하는 값일 수 있다.
키 정보(
Figure pat00120
)는 하기의 수학식 2를 통해 계산될 수 있다.
[수학식 2]
Figure pat00121
수학식 1에서,
Figure pat00122
는 특징 정보를 의미하고,
Figure pat00123
는 키 정보를 의미하고,
Figure pat00124
는 기학습된 키 행렬을 의미한다.
일 실시예에 따른 기학습된 키 행렬(
Figure pat00125
)은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에서 추출된 특징 정보(
Figure pat00126
)에서, 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 나타날 수 있도록, 특징 정보(
Figure pat00127
)와 내적을 수행하는 값일 수 있다.
일 실시예에 따른 기학습된 키 행렬(
Figure pat00128
)은 상기 이미지 모드(V) 및 상기 사운드 모드(S)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응되도록 미리 학습된 값일 수 있다.
일 실시예에 따른 전자 장치(200)는 정확한 출력 값을 출력하기 위해 여러가지 서로 다른 모드(예를 들어 V, S)의 입력에 대한 중요도가 보다 잘 반영된, 모드 별 가중치를 계산할 수 있다. 여기서, 모드 별 가중치의 계산에 이용되는 키 행렬은 최적의 값을 갖도록 학습될 수 있으며, 최적의 값을 갖도록 학습이 완료된 키 행렬을 기학습된 키 행렬(
Figure pat00129
)로 정의할 수 있다.
도 6에 도시된 것과 마찬가지로, 키 정보 계산부(420)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 기학습된 키 행렬을 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 키 정보를 계산할 수 있다.
예를 들어, 키 정보 계산부(420)는 DNN 네트워크의 제1 레이어(620)에서 추출된 특징 정보(
Figure pat00130
)와 DNN 네트워크의 제1 레이어(620)에서 정의된 기학습된 키 행렬(
Figure pat00131
)의 내적을 수행하여, DNN 네트워크의 제1 레이어(620)에 대한 키 정보(
Figure pat00132
)를 계산할 수 있다.
도 7은 일 실시예에 따른 컨텍스트 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 컨텍스트 정보 계산부(430)는 제1 쿼리 정보(
Figure pat00133
)와 키 정보(
Figure pat00134
)를 이용하여 제1 컨텍스트 정보(
Figure pat00135
)를 계산할 수 있고, 제2 쿼리 정보(
Figure pat00136
)와 키 정보(
Figure pat00137
)를 이용하여 제2 컨텍스트 정보(
Figure pat00138
)를 계산할 수 있다.
이때, 제1 쿼리 정보(
Figure pat00139
), 제2 쿼리 정보(
Figure pat00140
), 제1 컨텍스트 정보(
Figure pat00141
), 제2 컨텍스트 정보(
Figure pat00142
) 및 키 정보(
Figure pat00143
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
제1 컨텍스트 정보(
Figure pat00144
) 및 제2 컨텍스트 정보(
Figure pat00145
)는 하기의 수학식 3을 통해 계산될 수 있다.
[수학식 3]
Figure pat00146
Figure pat00147
수학식 3에서,
Figure pat00148
는 제1 쿼리 정보를 의미하고,
Figure pat00149
는 제2 쿼리 정보를 의미하고,
Figure pat00150
는 키 정보를 의미하고,
Figure pat00151
는 제1 컨텍스트 정보를 의미하고,
Figure pat00152
는 제2 컨텍스트 정보를 의미한다.
일 실시예에서, 이미지 모드(V)의 상대적인 중요도를 나타내는 제1 쿼리 정보(
Figure pat00153
)와 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보(
Figure pat00154
)의 내적을 수행하면, 제1 쿼리 정보(
Figure pat00155
)와 키 정보(
Figure pat00156
)의 상관성을 나타내는 값인 제1 컨텍스트 정보(
Figure pat00157
)를 계산할 수 있다.
또한, 일 실시예에서, 사운드 모드(S)의 상대적인 중요도를 나타내는 제2 쿼리 정보(
Figure pat00158
)와 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보(
Figure pat00159
)의 내적을 수행하면, 제2 쿼리 정보(
Figure pat00160
)와 키 정보(
Figure pat00161
)의 상관성을 나타내는 값인 제2 컨텍스트 정보(
Figure pat00162
)를 계산할 수 있다.
이때, 예를 들어, 제1 컨텍스트 정보(
Figure pat00163
)가 제2 컨텍스트 정보(
Figure pat00164
)보다 큰 경우, 제1 쿼리 정보(
Figure pat00165
)와 키 정보(
Figure pat00166
)의 상관성이 보다 큰 것으로 판단될 수 있으며, 제1 모드(V)의 상대적인 중요도가 제2 모드(S)보다 큰 것으로 판단될 수 있다.
도 7에 도시된 것과 마찬가지로, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 쿼리 정보, 제2 쿼리 정보, 키 정보를 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 컨텍스트 정보 및 제2 컨텍스트 정보를 계산할 수 있다.
예를 들어, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 제1 레이어에 대한 제1 쿼리 정보(
Figure pat00167
)와 DNN 네트워크의 제1 레이어에 대한 키 정보(
Figure pat00168
)의 내적을 수행하여, DNN 네트워크의 제1 레이어에 대한 제1 컨텍스트 정보(
Figure pat00169
)를 계산할 수 있다. 또한, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 제1 레이어에 대한 제2 쿼리 정보(
Figure pat00170
)와 DNN 네트워크의 제1 레이어에 대한 키 정보(
Figure pat00171
)의 내적을 수행하여, DNN 네트워크의 제1 레이어에 대한 제2 컨텍스트 정보(
Figure pat00172
)를 계산할 수 있다.
도 8는 일 실시예에 따른 모드 별 가중치 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 모드 별 가중치 계산부(440)는 제1 컨텍스트 정보(
Figure pat00173
)와 제2 컨텍스트 정보(
Figure pat00174
)를 이용하여 모드 별 가중치(
Figure pat00175
)를 계산할 수 있다.
이때, 제1 컨텍스트 정보(
Figure pat00176
), 제2 컨텍스트 정보(
Figure pat00177
) 및 모드 별 가중치(
Figure pat00178
)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(810)에 대응하는 값일 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대해 하나의 모드 별 가중치(
Figure pat00179
)를 계산할 수 있고, 상기 모드 별 가중치(
Figure pat00180
)는 하기의 수학식 4를 통해 계산될 수 있다.
[수학식 4]
Figure pat00181
수학식 4에서,
Figure pat00182
는 제1 컨텍스트 정보를 의미하고,
Figure pat00183
는 제2 컨텍스트 정보를 의미하고,
Figure pat00184
는 모드 별 가중치를 의미한다
일 실시예에 따르면, 복수의 레이어들 중 i번째 레이어에 대한 컨텍스트 정보의 정규화된 최대 값을 모드 별 가중치(
Figure pat00185
)로 사용할 수 있다. 모드 별 가중치 계산부(440)는 컨텍스트 정보의 정규화를 위해, 제1 컨텍스트 정보(
Figure pat00186
)와 제2 컨텍스트 정보(
Figure pat00187
)의 최대 값을 제1 컨텍스트 정보(
Figure pat00188
)와 제2 컨텍스트 정보(
Figure pat00189
)의 합으로 나눔으로써 모드 별 가중치(
Figure pat00190
)를 계산할 수 있다.
일 실시예에 따르면, 계산된 모드 별 가중치(
Figure pat00191
)는 복수의 모드를 가지는 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 값일 수 있다. 일 실시예에 따른 전자 장치(200)는 계산된 모드 별 가중치(
Figure pat00192
를 DNN 네트워크의 기설정된 가중치 값(
Figure pat00193
)에 곱함으로써 이를 적용할 수 있다.
다른 실시예에 따른 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대해 복수의 모드 별 가중치(
Figure pat00194
,
Figure pat00195
)를 계산할 수 있고, 상기 복수의 모드 별 가중치는 하기의 수학식 5를 통해 계산될 수 있다.
[수학식 5]
Figure pat00196
Figure pat00197
수학식 5에서,
Figure pat00198
제1 컨텍스트 정보를 의미하고,
Figure pat00199
는 제2 컨텍스트 정보를 의미하고,
Figure pat00200
는 제1 모드 별 가중치를 의미하고,
Figure pat00201
는 제2 모드 별 가중치를 의미한다.
다른 실시예에 따르면, 모드 별 가중치 계산부(440)는 복수의 레이어들 중 i번째 레이어에 대한 컨텍스트 정보의 정규화된 값을 모드 별 가중치로 사용할 수 있다. 모드 별 가중치 계산부(440)는 컨텍스트 정보의 정규화를 위해, 제1 컨텍스트 정보(
Figure pat00202
)를 제1 컨텍스트 정보(
Figure pat00203
)와 제2 컨텍스트 정보(
Figure pat00204
)의 합으로 나눔으로써 제1 모드 별 가중치(
Figure pat00205
)를 계산할 수 있고, 제2 컨텍스트 정보(
Figure pat00206
)를 제1 컨텍스트 정보(
Figure pat00207
)와 제2 컨텍스트 정보(
Figure pat00208
)의 합으로 나눔으로써 제2 모드 별 가중치(
Figure pat00209
)를 계산할 수 있다.
다른 실시예에 따르면, 계산된 제1 모드 별 가중치(
Figure pat00210
) 및 제2 모드 별 가중치(
Figure pat00211
)는 복수의 모드를 가지는 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 값일 수 있다. 일 실시예에 따른 전자 장치(200)는 계산된 복수의 모드 별 가중치(
Figure pat00212
Figure pat00213
)를 DNN 네트워크의 기설정된 가중치 값(
Figure pat00214
)에 곱함으로써 이를 적용할 수 있다.
도 8에 도시된 것과 마찬가지로, 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 컨텍스트 정보, 제2 컨텍스트 정보를 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 모드 별 가중치를 계산할 수 있다.
예를 들어, DNN 네트워크의 제1 레이어(820)에 대한 제1 컨텍스트 정보(
Figure pat00215
)와 DNN 네트워크의 제1 레이어(820)에 대한 제2 컨텍스트 정보(
Figure pat00216
)를 이용하여, 모드 별 가중치 계산부(440)는 DNN 네트워크의 제1 레이어(820)에 대한 모드 별 가중치(
Figure pat00217
또는
Figure pat00218
Figure pat00219
)를 계산할 수 있다.
도 9는 일 실시예에 따른 전자 장치가 제1 서브 특징 정보, 제2 서브 특징 정보 및 레이어 별 특징 정보를 획득하여, 최종 출력 값을 획득하는 방법을 나타내는 흐름도이다.
단계 S910에서, 전자 장치(200)는 제1 서브 특징 정보 및 제2 서브 특징 정보를 획득할 수 있다.
일 실시예에 따르면 제1 서브 특징 정보(
Figure pat00220
)는 서브 네트워크가 제1 모드의 입력 데이터(V)를 입력 받아 추출한 정보일 수 있다. 일 실시예에 따르면 제2 서브 특징 정보(
Figure pat00221
)는 서브 네트워크가 제2 모드의 입력 데이터(S)를 입력 받아 추출한 정보일 수 있다.
여기에서, 제1 모드는 이미지 모드(V), 제2 모드는 사운드 모드(S)인 것을 예를 들어 설명하지만, 이에 한정되지 않는다. 또한, 상기 입력 데이터는 두가지 모드로 입력되는 것을 예를 들어 설명하지만, 이에 한정되지 않으며, 2 이상의 복수의 모드로 존재할 수 있다.
단계 S920에서, 전자 장치는 획득된 제1 서브 특징 정보 및 제2 서브 특징 정보를 DNN 네트워크로 입력할 수 있다.
일 실시예에 따르면 획득된 제1 서브 특징 정보 및 제2 서브 특징 정보는 인코더로 전달(또는 입력)될 수 있다. 또한, 일 실시예에 따르면 입력 데이터의 모드를 구분할 수 있는 모드 식별 정보가 서브 특징 정보와 함께 인코더로 전달(또는 입력)될 수 있다.
일 실시예에 따른 인코더는 전달된 모드 식별 정보를 기초로 하여 제1 서브 특징 정보 및 제2 서브 특징 정보를 부호화하여 DNN 네트워크로 전달할 수 있다. 예를 들어, 인코더는 모드 식별 정보를 기초로 하여 제1 서브 특징 정보 및 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화하여 DNN 네트워크로 전달할 수 있다.
단계 S930에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에서 추출되는 특징 정보를 획득할 수 있다.
일 실시예에 따르면 DNN 네트워크(360)는 부호화된 제1 서브 특징 정보 및 제2 서브 특징 정보를 입력 받아 복수의 레이어들 각각에서 특징 정보(370)를 추출할 수 있다. 상기 특징 정보(370)는 DNN 네트워크의 복수의 레이어들 각각으로 들어오는 입력에 레이어의 기설정된 가중치 값(
Figure pat00222
)을 곱한 값일 수 있다.
예를 들어, DNN 네트워크가 복수의 레이어를 포함하는 네트워크인 경우, 제1 레이어는 부호화된 제1 서브 특징 정보(
Figure pat00223
) 및 제2 서브 특징 정보(
Figure pat00224
)를 입력 받을 수 있다. 제1 레이어에 대한 특징 정보(
Figure pat00225
)는 제1 레이어로 입력된 부호화된 제1 서브 특징 정보 및 제2 서브 특징 정보에 제1 레이어의 기설정된 가중치 값(w1)을 곱한 값일 수 있다.
제2 레이어는 제1 레이어에 대한 특징 정보(
Figure pat00226
)를 입력 받을 수 있다. 제2 레이어에 대한 특징 정보(K2(V,S))는 제2 레이어로 입력된 제1 레이어에 대한 특징 정보(
Figure pat00227
)에 제2 레이어의 기설정된 가중치 값(w2)을 곱한 값일 수 있다.
마찬가지로, DNN 네트워크의 복수의 레이어들 중 제i 레이어에 대한 특징 정보(Ki(V,S))는 제i 레이어로 입력된 제i-1 레이어에 대한 특징 정보(Ki-1(V,S))에 제i 레이어의 기설정된 가중치 값(wi)을 곱한 값일 수 있다.
단계 S940에서, 전자 장치(200)는 획득된 제1 서브 특징 정보, 제2 서브 특징 정보 및 특징 정보에 기초하여, 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산할 수 있다.
일 실시예에서, 복수의 레이어들 각각에 대응하는 모드 별 가중치(
Figure pat00228
)는 모드 별 가중치 생성부(350)에서 계산될 수 있다. 모드 별 가중치 생성부(350)는 서브 네트워크로부터 획득된 제1 서브 특징 정보(
Figure pat00229
) 및 제2 서브 특징 정보(
Figure pat00230
)와 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00231
)를 기초로 하여 복수의 레이어들 각각에 대한 모드 별 가중치(
Figure pat00232
)를 계산할 수 있다.
이때, 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(
Figure pat00233
)는 제1 모드(V)와 제2 모드(S)에 대한 상대적인 중요도가 반영된 값일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
단계 S950에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에서 계산된 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
일 실시예에서, DNN 네트워크는 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치(
Figure pat00234
)를 복수의 레이어들 각각에 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
예를 들어, DNN 네트워크는 네트워크의 복수의 레이어들 중 제i 레이어에 대한 기설정된 가중치 값(
Figure pat00235
)에 제i 레이어에 대한 모드 별 가중치(
Figure pat00236
)를 곱함으로써 이를 적용할 수 있다.
도 10은 도 9의 940 단계(S940)를 구체적으로 나타내는 흐름도이다.
도 10을 참조하면, 단계 S1010은 도 9의 단계 S930 이후에 수행될 수 있다.
단계 S1010에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 제1 쿼리 정보 및 제2 쿼리 정보를 획득할 수 있다.
일 실시예에서 제1 쿼리 정보(
Figure pat00237
) 및 제2 쿼리 정보(
Figure pat00238
)는 쿼리 정보 계산부(410)에서 계산될 수 있다.
일 실시예에서 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00239
)와 기학습된 쿼리 행렬(
Figure pat00240
)을 이용하여 제1 쿼리 정보(
Figure pat00241
)를 계산할 수 있다. 마찬가지로, 일 실시예에서 쿼리 정보 계산부(410)는 제2 서브 특징 정보(
Figure pat00242
)와 기학습된 쿼리 행렬(
Figure pat00243
)을 이용하여 제2 쿼리 정보(
Figure pat00244
)를 계산할 수 있다.
이때, 기학습된 쿼리 행렬, 제1 쿼리 정보 및 제2 쿼리 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 쿼리 정보 계산부(410)는 제1 서브 특징 정보(
Figure pat00245
)와 기학습된 쿼리 행렬(
Figure pat00246
)의 내적을 수행하여 제1 쿼리 정보(
Figure pat00247
)를 계산할 수 있다. 마찬가지로, 쿼리 정보 계산부(410)는 제2 서브 특징 정보(
Figure pat00248
)와 기학습된 쿼리 행렬(
Figure pat00249
)의 내적을 수행하여 제2 쿼리 정보(
Figure pat00250
)를 계산할 수 있다.
일 실시예에서 기학습된 쿼리 행렬(
Figure pat00251
)은 제1 서브 특징 정보(
Figure pat00252
)가 제2 서브 특징 정보(
Figure pat00253
)에 비해 가지는 상대적인 중요도를 나타낼 수 있도록 미리 학습된 값일 수 있다. 마찬가지로, 일 실시예에서 기학습된 쿼리 행렬(
Figure pat00254
)은 제2 서브 특징 정보(
Figure pat00255
)가 제1 서브 특징 정보(
Figure pat00256
)에 비해 가지는 상대적인 중요도를 나타낼 수 있도록 미리 학습된 값일 수 있다.
일 실시예에서 기학습된 쿼리 행렬(
Figure pat00257
)은 상기 제1 서브 특징 정보(
Figure pat00258
) 및 상기 제2 서브 특징 정보(
Figure pat00259
)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응되도록 미리 학습된 값일 수 있다.
단계 S1020에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 키 정보를 획득할 수 있다.
일 실시예에서 복수의 레이어들 각각에 대응하는 키 정보(
Figure pat00260
)는 키 정보 계산부(420)에서 계산될 수 있다.
일 실시예에서 키 정보 계산부(420)는 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00261
)와 기학습된 키 행렬(
Figure pat00262
) 이용하여 키 정보(
Figure pat00263
)를 계산할 수 있다. 이때, 특징 정보, 기학습된 키 행렬 및 키 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 키 정보 계산부(420)는 복수의 레이어들 각각에서 추출된 특징 정보(
Figure pat00264
)와 기학습된 키 행렬(
Figure pat00265
)의 내적을 수행하여, 키 정보(
Figure pat00266
)를 계산할 수 있다.
일 실시예에서 기학습된 키 행렬(
Figure pat00267
)은 DNN 네트워크의 i번째 레이어에서 추출된 특징 정보(
Figure pat00268
)에서, 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 나타날 수 있도록, 미리 학습된 값일 수 있다.
일 실시예에서 기학습된 키 행렬(
Figure pat00269
)은 상기 이미지 모드(V) 및 상기 사운드 모드(S)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응되도록 미리 학습된 값일 수 있다.
단계 S1030에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 제1 컨텍스트 정보 및 제2 컨텍스트 정보를 획득할 수 있다.
일 실시예에서 제1 컨텍스트 정보(
Figure pat00270
) 및 제2 컨텍스트 정보(
Figure pat00271
)는 컨텍스트 정보 계산부(430)에서 계산될 수 있다.
일 실시예에서 컨텍스트 정보 계산부(430)는 제1 쿼리 정보(
Figure pat00272
)와 키 정보(
Figure pat00273
)를 이용하여 제1 컨텍스트 정보(
Figure pat00274
)를 계산할 수 있다. 마찬가지로, 일 실시예에서 컨텍스트 정보 계산부(430)는 제2 쿼리 정보(
Figure pat00275
)와 키 정보(
Figure pat00276
)를 이용하여 제2 컨텍스트 정보(
Figure pat00277
)를 계산할 수 있다.
이때, 제1 쿼리 정보, 제2 쿼리 정보, 제1 컨텍스트 정보, 제2 컨텍스트 정보 및 키 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 컨텍스트 정보 계산부(430)는 제1 쿼리 정보(
Figure pat00278
)와 키 정보(
Figure pat00279
)의 내적을 수행하여 제1 컨텍스트 정보(
Figure pat00280
)를 계산할 수 있다. 마찬가지로, 일 실시예에서 컨텍스트 정보 계산부(430)는 제2 쿼리 정보(
Figure pat00281
)와 키 정보(
Figure pat00282
)의 내적을 수행하여 제2 컨텍스트 정보(
Figure pat00283
)를 계산할 수 있다.
일 실시예에서 제1 컨텍스트 정보(
Figure pat00284
)는 제1 쿼리 정보(
Figure pat00285
)와 키 정보(
Figure pat00286
)의 상관성을 나타내는 값일 수 있으며, 제2 컨텍스트 정보(
Figure pat00287
)는 제2 쿼리 정보(
Figure pat00288
)와 키 정보(
Figure pat00289
)의 상관성을 나타내는 값일 수 있다.
이때, 예를 들어, 제1 컨텍스트 값(
Figure pat00290
)이 제2 컨텍스트 값(
Figure pat00291
)보다 큰 경우, 제1 쿼리 정보와 키 정보의 상관성이 제2 쿼리 정보와 키 정보의 상관성 보다 큰 것으로 판단될 수 있으며, 제1 모드(V)의 상대적인 중요도가 제2 모드(S)보다 큰 것으로 판단될 수 있다.
단계 S1040에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 모드 별 가중치를 계산할 수 있다.
일 실시예에서 복수의 레이어들 각각에 대응하는 모드 별 가중치(
Figure pat00292
)는 모드 별 가중치 계산부(440)에서 계산될 수 있다.
일 실시예에서 모드 별 가중치 계산부(440)는 제1 컨텍스트 정보(
Figure pat00293
)와 제2 컨텍스트 정보(
Figure pat00294
)를 이용하여 DNN 네트워크의 복수의 레이어 당 하나의 모드 별 가중치(
Figure pat00295
)를 계산할 수 있다. 다른 실시예에서 모드 별 가중치 계산부(440)는 제1 컨텍스트 정보(
Figure pat00296
)와 제2 컨텍스트 정보(
Figure pat00297
)를 이용하여 DNN 네트워크의 복수의 레이어 당 복수의 모드 별 가중치(예를 들어, 제1 모드 별 가중치인
Figure pat00298
, 제2 모드 별 가중치인
Figure pat00299
를 계산할 수 있다.
이때, 제1 컨텍스트 정보, 제2 컨텍스트 정보 및 모드 별 가중치는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 제1 컨텍스트 정보(
Figure pat00300
)와 제2 컨텍스트 정보(
Figure pat00301
)의 최대 값을 제1 컨텍스트 정보(
Figure pat00302
)와 제2 컨텍스트 정보(
Figure pat00303
)의 합으로 나눔으로써 복수의 레이어 당 하나의 모드 별 가중치(
Figure pat00304
)를 계산할 수 있다.
다른 실시예에서 제1 컨텍스트 정보(
Figure pat00305
)를 제1 컨텍스트 정보(
Figure pat00306
)와 제2 컨텍스트 정보(
Figure pat00307
)의 합으로 나눔으로써 제1 모드 별 가중치(
Figure pat00308
)를 계산할 수 있고, 제2 컨텍스트 정보(
Figure pat00309
)를 제1 컨텍스트 정보(
Figure pat00310
)와 제2 컨텍스트 정보(
Figure pat00311
)의 합으로 나눔으로써 제2 모드 별 가중치(
Figure pat00312
)를 계산할 수 있다.
단계 S1050에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에서 계산된 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
일 실시예에서 DNN 네트워크는 모드 별 가중치 계산부(440)에서 계산된 모드 별 가중치(
Figure pat00313
)를 복수의 레이어들 각각에 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
예를 들어, DNN 네트워크는 네트워크의 복수의 레이어들 중 제i 레이어에 대한 기설정된 가중치 값(
Figure pat00314
)에 제i 레이어에 대한 모드 별 가중치(
Figure pat00315
)를 곱함으로써 이를 적용할 수 있다.

Claims (19)

  1. Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치에 있어서,
    제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 입력부;
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하고,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하고,
    상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하고,
    상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    기학습된 제1 서브 네트워크에 상기 제1 모드의 입력 데이터를 입력함으로써 상기 제1 서브 특징 정보를 획득하고,
    기학습된 제2 서브 네트워크에 상기 제2 모드의 입력 데이터를 입력함으로써 상기 제2 서브 특징 정보를 획득하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    입력 데이터의 모드를 구분할 수 있는 모드 식별 정보에 기초하여,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하고,
    상기 부호화된 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 상기 복수의 레이어들을 포함하는 상기 DNN으로 입력하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 서브 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제1 쿼리 정보를 획득하고, 상기 제1 쿼리 정보는 상기 제1 서브 특징 정보의 가중치를 나타내며,
    상기 제2 서브 특징 정보 및 상기 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제2 쿼리 정보를 획득하고, 상기 제2 쿼리 정보는 상기 제2 서브 특징 정보의 가중치를 나타내며,
    상기 기학습된 쿼리 행렬은, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보와 관련된 파라미터들을 포함하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 복수의 레이어들 각각에서 추출되는 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 키 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 키 정보를 획득하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제1 콘텍스트 정보를 획득하고,
    상기 제2 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제2 콘텍스트 정보를 획득하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 복수의 레이어들 각각에 대응되는 상기 제1 콘텍스트 정보 및 상기 제2 콘텍스트 정보를 이용하여, 상기 복수의 레이어들 각각에 대응되는 상기 모드 별 가중치를 계산하는, 전자 장치.
  9. 제1항에 있어서,
    상기 제1 모드의 입력 데이터 및 상기 제2 모드의 입력 데이터는, 이미지 데이터, 텍스트 데이터, 사운드 데이터 및 영상 데이터 중 적어도 하나를 포함하는, 전자 장치.
  10. Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치의 동작방법에 있어서,
    제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 단계;
    상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하는 단계;
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하는 단계;
    상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계; 및
    상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는 단계를 포함하는, 전자 장치의 동작방법.
  11. 제10항에 있어서,
    상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하는 단계는,
    기학습된 제1 서브 네트워크에 상기 제1 모드의 입력 데이터를 입력함으로써 상기 제1 서브 특징 정보를 획득하는 단계; 및
    기학습된 제2 서브 네트워크에 상기 제2 모드의 입력 데이터를 입력함으로써 상기 제2 서브 특징 정보를 획득하는 단계를 포함하는, 전자 장치의 동작 방법.
  12. 제10항에 있어서,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하는 단계는,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하는 단계; 및
    상기 부호화된 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 상기 DNN으로 입력하는 단계를 포함하는, 전자 장치의 동작 방법.
  13. 제12항에 있어서,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하는 단계는,
    상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화하는 단계를 포함하는, 전자 장치의 동작 방법.
  14. 제10항에 있어서,
    상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
    상기 제1 서브 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제1 쿼리 정보를 획득하는 단계; 및
    상기 제2 서브 특징 정보 및 상기 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제2 쿼리 정보를 획득하는 단계를 포함하고,
    상기 제1 쿼리 정보는 상기 제1 서브 특징 정보의 가중치를 나타내고, 상기 제2 쿼리 정보는 상기 제2 서브 특징 정보의 가중치를 나타내며,
    상기 기학습된 쿼리 행렬은, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보와 관련된 파라미터들을 포함하는, 전자 장치의 동작방법.
  15. 제14항에 있어서,
    상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
    상기 복수의 레이어들 각각에서 추출되는 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 키 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 키 정보를 획득하는 단계를 더 포함하는, 전자 장치의 동작방법.
  16. 제15항에 있어서,
    상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
    상기 제1 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제1 콘텍스트 정보를 획득하는 단계; 및
    상기 제2 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제2 콘텍스트 정보를 획득하는 단계를 더 포함하는, 전자 장치의 동작방법.
  17. 제16항에 있어서,
    상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
    상기 복수의 레이어들 각각에 대응되는 상기 제1 콘텍스트 정보 및 상기 제2 콘텍스트 정보를 이용하여, 상기 복수의 레이어들 각각에 대응되는 상기 모드 별 가중치를 계산하는 단계를 더 포함하는, 전자 장치의 동작방법.
  18. 제10항에 있어서,
    상기 제1 모드의 입력 데이터 및 상기 제2 모드의 입력 데이터는, 이미지 데이터, 텍스트 데이터, 사운드 데이터 및 영상 데이터 중 적어도 하나를 포함하는, 전자 장치의 동작 방법.
  19. 상기 제10항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210010353A 2021-01-25 2021-01-25 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법 KR20220107575A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210010353A KR20220107575A (ko) 2021-01-25 2021-01-25 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법
PCT/KR2022/000977 WO2022158847A1 (ko) 2021-01-25 2022-01-19 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법
US17/711,316 US20220237434A1 (en) 2021-01-25 2022-04-01 Electronic apparatus for processing multi-modal data, and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210010353A KR20220107575A (ko) 2021-01-25 2021-01-25 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20220107575A true KR20220107575A (ko) 2022-08-02

Family

ID=82548838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210010353A KR20220107575A (ko) 2021-01-25 2021-01-25 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR20220107575A (ko)
WO (1) WO2022158847A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493043B (zh) * 2023-11-09 2024-06-18 上海交通大学 基于原数据的smg实现系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633282B2 (en) * 2015-07-30 2017-04-25 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US9971958B2 (en) * 2016-06-01 2018-05-15 Mitsubishi Electric Research Laboratories, Inc. Method and system for generating multimodal digital images
KR101910089B1 (ko) * 2017-03-06 2018-10-19 서강대학교산학협력단 멀티 모달의 상관관계를 이용한 동영상 특징 벡터 추출 방법 및 시스템
KR102090171B1 (ko) * 2018-04-13 2020-03-17 인하대학교 산학협력단 반 지도 학습과 여러 개의 멀티 모달 네트워크를 이용한 비디오 기반 인물 감정 인식 기법

Also Published As

Publication number Publication date
WO2022158847A1 (ko) 2022-07-28

Similar Documents

Publication Publication Date Title
US11170769B2 (en) Detection of mission change in conversation
KR102502220B1 (ko) 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체
US11556786B2 (en) Attention-based decoder-only sequence transduction neural networks
US11769492B2 (en) Voice conversation analysis method and apparatus using artificial intelligence
US20190197121A1 (en) Method and apparatus with natural language generation
CN111418198B (zh) 提供文本相关图像的电子装置及其操作方法
KR102264233B1 (ko) 문장, 문서 특징값 및 문장 가중치 간의 상관관계를 학습한 인공 신경망에 의해 생성된 설명이 부가된 문서 분류 방법
CN111897940A (zh) 视觉对话方法、视觉对话模型的训练方法、装置及设备
JP2022500808A (ja) 文生成方法と装置、電子機器及びプログラム
CN113886643A (zh) 数字人视频生成方法、装置、电子设备和存储介质
US20230017302A1 (en) Electronic device and operating method thereof
CN113987269A (zh) 数字人视频生成方法、装置、电子设备和存储介质
CN113886644A (zh) 数字人视频生成方法、装置、电子设备和存储介质
JP2020027609A (ja) 応答推論方法及び装置
CN115221896A (zh) 具有相关响应的基于检索的对话系统
KR20220107575A (ko) 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법
CN109408175B (zh) 通用高性能深度学习计算引擎中的实时交互方法及系统
JP2020057357A (ja) 神経網の動作方法と学習方法及びその神経網
KR20200080389A (ko) 전자 장치 및 그 제어 방법
WO2021084810A1 (ja) 情報処理装置及び情報処理方法、並びに人工知能モデル製造方法
JP6629172B2 (ja) 対話制御装置、その方法及びプログラム
KR20190031786A (ko) 전자 장치 및 이의 피드백 정보 획득 방법
KR20210019920A (ko) 사용자의 음성을 인식하는 시스템 및 방법
US20210174910A1 (en) Method and apparatus for generating new chemical structure using neural network
US20220237434A1 (en) Electronic apparatus for processing multi-modal data, and operation method thereof

Legal Events

Date Code Title Description
A201 Request for examination