KR20220107575A - 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법 - Google Patents
멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000012545 processing Methods 0.000 title description 4
- 230000015654 memory Effects 0.000 claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 55
- 238000004364 calculation method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 18
- 238000013135 deep learning Methods 0.000 description 11
- 238000003062 neural network model Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
다양한 실시예들은 멀티 모달 데이터를 처리하는 전자 장치에 관한 것으로서, 보다 상세하게는 서로 다른 모드의 입력 데이터들을 이용하여, 특정 태스크를 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
딥러닝(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)를 구체적으로 나타내는 흐름도이다.
도 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)로 전달될 수 있다.
모드 별 가중치 생성부(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)에 대한 기설정된 가중치 값(, i=1~L)에 모드 별 가중치 생성부(350)로부터 전달 받은 i번째 레이어에 대한 모드 별 가중치(393)를 곱함으로써 이를 적용할 수 있다.
이를 통해, 전자 장치(200)에서 수행되는 특정 태스크에 대하여 각 모드 별 중요도를 고려함으로써, 보다 정확한 출력 값이 획득될 수 있다.
도 4는 일 실시예에 따른 모드 별 가중치 생성부의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 일 실시예에 따른 모드 별 가중치 생성부(350)는 쿼리 정보 계산부(410), 키 정보 계산부(440), 컨텍스트 정보 계산부(460) 및 모드 별 가중치 계산부(480)를 포함할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 모드 별 서브 특징 정보의 새로운 특징 정보를 나타내는 모드 별 쿼리 정보를 계산할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 제1 서브 특징 정보() 및 제2 서브 특징 정보()를 입력 받을 수 있다. 이때, 제1 서브 특징 정보()는 이미지 입력 데이터(V)에 대한 서브 특징 정보이고, 제2 서브 특징 정보() 는 사운드 입력 데이터(S)에 대한 서브 특징 정보인 것을 예를 들어 설명한다. 다만, 상기 입력 데이터는 이에 한정되지 않으며 이미지 입력 데이터, 텍스트 입력 데이터, 사운드 입력 데이터 또는 영상 입력 데이터 등을 포함할 수 있다.
일 실시예에 따른 쿼리 정보 계산부(410)는 제1 서브 특징 정보()를 입력 받아 제1 쿼리 정보()를 계산할 수 있고, 제2 서브 특징 정보()를 입력 받아 제2 쿼리 정보()를 계산할 수 있다. 쿼리 정보 계산부(410)는 제1 서브 특징 정보()와 DNN 네트워크의 i번째 레이어에 대응하는 기 학습된 쿼리 행렬()을 이용하여, 제1 쿼리 정보()를 계산하고, 제2 서브 특징 정보()와 i번째 레이어에 대응하는 기 학습된 쿼리 행렬()을 이용하여, 제2 쿼리 정보()를 계산할 수 있다. 제1 쿼리 정보() 및 제2 쿼리 정보()는 DNN 네트워크의 i번째 레이어에 대응하는 쿼리 정보를 나타낸다.
여기서, 제1 쿼리 정보()는 제1 서브 특징 정보() 및 제2 서브 특징 정보()에 대한 제1 서브 특징 정보()의 특징을 나타낼 수 있으며, 제2 쿼리 정보()는 제1 서브 특징 정보() 및 제2 서브 특징 정보()에 대한 제2 서브 특징 정보()의 특징을 나타낼 수 있다.
예를 들어, 입력 데이터가 이미지 입력 데이터(V) 및 사운드 입력 데이터(S)인 경우, 제1 쿼리 정보()는 이미지 모드의 서브 특징 정보() 및 사운드 모드의 서브 특징 정보()에 대한 이미지 모드의 서브 특징 정보()의 특징을 나타낼 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에서 추출된 특징 정보에 기초하여 키 정보를 계산할 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에서 추출된 특징 정보()를 입력 받을 수 있다. 이때, 복수의 레이어들 각각에서 추출된 특징 정보()에는 이미지 모드 및 사운드 모드의 특징이 혼재되어 있을 수 있다.
일 실시예에 따른 키 정보 계산부(440)는 복수의 레이어들 각각에서 추출된 특징 정보()를 입력 받아 키 정보()를 계산할 수 있다. 키 정보 계산부(420)는 DNN 네트워크의 i번째 레이어에서 추출된 특징 정보()와 DNN 네트워크의 i번째 레이어에 대응하는 기 학습된 키 행렬()을 이용하여, DNN 네트워크의 i번째 레이어에 대응하는 키 정보()를 계산할 수 있다.
일 실시예에 따른 컨텍스트 정보 계산부(460)는 쿼리 정보와 키 정보의 상관 관계를 나타내는 값인 컨텍스트 정보를 계산할 수 있다.
일 실시예에 따른 컨텍스트 계산부(460)는 쿼리 정보 계산부(410)에서 계산한 제1 쿼리 정보(), 제2 쿼리 정보() 및 키 정보 계산부(440)에서 계산한 키 정보()를 입력 받을 수 있다. 이때, 상기 제1 쿼리 정보(), 제2 쿼리 정보() 및 키 정보()는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
일 실시예에 따른 컨텍스트 계산부(460)는 제1 쿼리 정보() 및 키 정보()를 이용하여 제1 컨텍스트 정보()를 계산할 수 있고, 제2 쿼리 정보() 및 키 정보()를 이용하여 제2 컨텍스트 정보()를 계산할 수 있다. 상기 제1 컨텍스트 정보() 및 제2 컨텍스트 정보()는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
여기서, 제1 컨텍스트 정보()는 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)의 상대적인 중요도를 나타내는 제1 쿼리 정보()와 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보()의 상관성을 나타내는 값일 수 있다.
또한, 제2 컨텍스트 정보()는 DNN 네트워크의 i번째 레이어에서 사운드 모드(S)의 상대적인 중요도를 나타내는 제2 쿼리 정보()와 DNN 네트워크의 i번째 레이어에서 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보()의 상관성을 나타내는 값일 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 복수의 모드의 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 모드 별 가중치를 계산할 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 제1 컨텍스트 정보() 및 제2 컨텍스트 정보()를 이용하여 모드 별 가중치()를 계산할 수 있다. 상기 모드 별 가중치()는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
일 실시예에 따른 모드 별 가중치 계산부(480)는 DNN 네트워크의 복수의 레이어 당 하나의 모드 별 가중치()를 계산할 수 있다. 이 경우, 제1 컨텍스트 정보() 및 제2 컨텍스트 정보() 중에서 최대값을 이용하여 하나의 모드 별 가중치()를 계산할 수 있다.
다른 실시예에 따른 모드 별 가중치 계산부(480)는 DNN 네트워크의 복수의 레이어 당 복수의 모드 별 가중치(, )를 계산할 수 있다. 이 경우, 제1 컨텍스트 정보()를 이용하여 제1 모드인 이미지 모드에 대한 모드 별 가중치()를 계산하고, 제2 컨텍스트 정보()를 이용하여 제2 모드인 사운드 모드에 대한 모드 별 가중치()를 계산할 수 있다.
도 5는 일 실시예에 따른 쿼리 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 쿼리 정보 계산부(410)는 제1 서브 특징 정보()와 기학습된 쿼리 행렬()을 이용하여 제1 쿼리 정보()를 계산할 수 있고, 제2 서브 특징 정보()와 기학습된 쿼리 행렬()을 이용하여 제2 쿼리 정보()를 계산할 수 있다.
[수학식 1]
수학식 1에서, 는 제1 서브 특징 정보를 의미하고, 는 제2 서브 특징 정보를 의미하고, 는 제1 쿼리 정보를 의미하고, 는 제2 쿼리 정보를 의미하고, 는 기학습된 쿼리 행렬을 의미한다.
일 실시예에 따른 기학습된 쿼리 행렬()은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(510)에서 제1 서브 특징 정보()가 제2 서브 특징 정보()에 비해 가지는 상대적인 중요도를 나타낼 수 있도록, 제1 서브 특징 정보()와 내적을 수행하는 값일 수 있다.
또한, 마찬가지로 일 실시예에 따른 기학습된 쿼리 행렬()은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어(510)에서 제2 서브 특징 정보()가 제1 서브 특징 정보()에 비해 가지는 상대적인 중요도를 나타낼 수 있도록, 제2 서브 특징 정보()와 내적을 수행하는 값일 수 있다.
일 실시예에 따른 기학습된 쿼리 행렬()은 상기 제1 서브 특징 정보() 및 상기 제2 서브 특징 정보()와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응되도록 미리 학습된 값일 수 있다.
일 실시예에 따른 전자 장치(200)는 정확한 출력 값을 출력하기 위해 여러가지 서로 다른 모드(예를 들어 V, S)의 입력에 대한 중요도가 반영된, 모드 별 가중치를 계산할 수 있다. 여기서, 모드 별 가중치의 계산에 이용되는 쿼리 행렬은 최적의 값을 갖도록 학습될 수 있으며, 최적의 값을 갖도록 학습이 완료된 쿼리 행렬을 기학습된 쿼리 행렬()로 정의할 수 있다.
도 5에 도시된 것과 마찬가지로, 쿼리 정보 계산부(410)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 기학습된 쿼리 행렬을 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 쿼리 정보 및 제2 쿼리 정보를 계산할 수 있다.
예를 들어, 쿼리 정보 계산부(410)는 제1 서브 특징 정보()와 DNN 네트워크의 제1 레이어(520)에서 정의된 기학습된 쿼리 행렬()의 내적을 수행하여, DNN 네트워크의 제1 레이어(520)에 대한 제1 쿼리 정보()를 계산할 수 있다. 또한, 쿼리 정보 계산부(410)는 제2 서브 특징 정보()와 DNN 네트워크의 제1 레이어(520)에서 정의된 기학습된 쿼리 행렬()의 내적을 수행하여, DNN 네트워크의 제1 레이어(520)에 대한 제2 쿼리 정보()를 계산할 수 있다.
도 6은 일 실시예에 따른 키 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
[수학식 2]
일 실시예에 따른 기학습된 키 행렬()은 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에서 추출된 특징 정보()에서, 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 나타날 수 있도록, 특징 정보()와 내적을 수행하는 값일 수 있다.
일 실시예에 따른 기학습된 키 행렬()은 상기 이미지 모드(V) 및 상기 사운드 모드(S)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응되도록 미리 학습된 값일 수 있다.
일 실시예에 따른 전자 장치(200)는 정확한 출력 값을 출력하기 위해 여러가지 서로 다른 모드(예를 들어 V, S)의 입력에 대한 중요도가 보다 잘 반영된, 모드 별 가중치를 계산할 수 있다. 여기서, 모드 별 가중치의 계산에 이용되는 키 행렬은 최적의 값을 갖도록 학습될 수 있으며, 최적의 값을 갖도록 학습이 완료된 키 행렬을 기학습된 키 행렬()로 정의할 수 있다.
도 6에 도시된 것과 마찬가지로, 키 정보 계산부(420)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 기학습된 키 행렬을 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 키 정보를 계산할 수 있다.
예를 들어, 키 정보 계산부(420)는 DNN 네트워크의 제1 레이어(620)에서 추출된 특징 정보()와 DNN 네트워크의 제1 레이어(620)에서 정의된 기학습된 키 행렬()의 내적을 수행하여, DNN 네트워크의 제1 레이어(620)에 대한 키 정보()를 계산할 수 있다.
도 7은 일 실시예에 따른 컨텍스트 정보 계산부의 구체적인 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 컨텍스트 정보 계산부(430)는 제1 쿼리 정보()와 키 정보()를 이용하여 제1 컨텍스트 정보()를 계산할 수 있고, 제2 쿼리 정보()와 키 정보()를 이용하여 제2 컨텍스트 정보()를 계산할 수 있다.
이때, 제1 쿼리 정보(), 제2 쿼리 정보(), 제1 컨텍스트 정보(), 제2 컨텍스트 정보() 및 키 정보()는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대응하는 값일 수 있다.
[수학식 3]
일 실시예에서, 이미지 모드(V)의 상대적인 중요도를 나타내는 제1 쿼리 정보()와 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보()의 내적을 수행하면, 제1 쿼리 정보()와 키 정보()의 상관성을 나타내는 값인 제1 컨텍스트 정보()를 계산할 수 있다.
또한, 일 실시예에서, 사운드 모드(S)의 상대적인 중요도를 나타내는 제2 쿼리 정보()와 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 반영된 키 정보()의 내적을 수행하면, 제2 쿼리 정보()와 키 정보()의 상관성을 나타내는 값인 제2 컨텍스트 정보()를 계산할 수 있다.
이때, 예를 들어, 제1 컨텍스트 정보()가 제2 컨텍스트 정보()보다 큰 경우, 제1 쿼리 정보()와 키 정보()의 상관성이 보다 큰 것으로 판단될 수 있으며, 제1 모드(V)의 상대적인 중요도가 제2 모드(S)보다 큰 것으로 판단될 수 있다.
도 7에 도시된 것과 마찬가지로, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 쿼리 정보, 제2 쿼리 정보, 키 정보를 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 컨텍스트 정보 및 제2 컨텍스트 정보를 계산할 수 있다.
예를 들어, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 제1 레이어에 대한 제1 쿼리 정보()와 DNN 네트워크의 제1 레이어에 대한 키 정보()의 내적을 수행하여, DNN 네트워크의 제1 레이어에 대한 제1 컨텍스트 정보()를 계산할 수 있다. 또한, 컨텍스트 정보 계산부(430)는 DNN 네트워크의 제1 레이어에 대한 제2 쿼리 정보()와 DNN 네트워크의 제1 레이어에 대한 키 정보()의 내적을 수행하여, DNN 네트워크의 제1 레이어에 대한 제2 컨텍스트 정보()를 계산할 수 있다.
도 8는 일 실시예에 따른 모드 별 가중치 계산부의 구체적인 동작을 설명하기 위한 도면이다.
일 실시예에 따른 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대해 하나의 모드 별 가중치()를 계산할 수 있고, 상기 모드 별 가중치()는 하기의 수학식 4를 통해 계산될 수 있다.
[수학식 4]
일 실시예에 따르면, 복수의 레이어들 중 i번째 레이어에 대한 컨텍스트 정보의 정규화된 최대 값을 모드 별 가중치()로 사용할 수 있다. 모드 별 가중치 계산부(440)는 컨텍스트 정보의 정규화를 위해, 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 최대 값을 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 모드 별 가중치()를 계산할 수 있다.
일 실시예에 따르면, 계산된 모드 별 가중치()는 복수의 모드를 가지는 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 값일 수 있다. 일 실시예에 따른 전자 장치(200)는 계산된 모드 별 가중치(를 DNN 네트워크의 기설정된 가중치 값()에 곱함으로써 이를 적용할 수 있다.
다른 실시예에 따른 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 중 i번째 레이어에 대해 복수의 모드 별 가중치(, )를 계산할 수 있고, 상기 복수의 모드 별 가중치는 하기의 수학식 5를 통해 계산될 수 있다.
[수학식 5]
다른 실시예에 따르면, 모드 별 가중치 계산부(440)는 복수의 레이어들 중 i번째 레이어에 대한 컨텍스트 정보의 정규화된 값을 모드 별 가중치로 사용할 수 있다. 모드 별 가중치 계산부(440)는 컨텍스트 정보의 정규화를 위해, 제1 컨텍스트 정보()를 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 제1 모드 별 가중치()를 계산할 수 있고, 제2 컨텍스트 정보()를 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 제2 모드 별 가중치()를 계산할 수 있다.
다른 실시예에 따르면, 계산된 제1 모드 별 가중치() 및 제2 모드 별 가중치()는 복수의 모드를 가지는 입력 데이터에서 중요한 모드의 입력 데이터에 가중치를 부여할 수 있는 값일 수 있다. 일 실시예에 따른 전자 장치(200)는 계산된 복수의 모드 별 가중치( 및 )를 DNN 네트워크의 기설정된 가중치 값()에 곱함으로써 이를 적용할 수 있다.
도 8에 도시된 것과 마찬가지로, 모드 별 가중치 계산부(440)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 제1 컨텍스트 정보, 제2 컨텍스트 정보를 이용하여, DNN 네트워크의 복수의 레이어들 각각에 대응되는 모드 별 가중치를 계산할 수 있다.
예를 들어, DNN 네트워크의 제1 레이어(820)에 대한 제1 컨텍스트 정보()와 DNN 네트워크의 제1 레이어(820)에 대한 제2 컨텍스트 정보()를 이용하여, 모드 별 가중치 계산부(440)는 DNN 네트워크의 제1 레이어(820)에 대한 모드 별 가중치( 또는 및 )를 계산할 수 있다.
도 9는 일 실시예에 따른 전자 장치가 제1 서브 특징 정보, 제2 서브 특징 정보 및 레이어 별 특징 정보를 획득하여, 최종 출력 값을 획득하는 방법을 나타내는 흐름도이다.
단계 S910에서, 전자 장치(200)는 제1 서브 특징 정보 및 제2 서브 특징 정보를 획득할 수 있다.
일 실시예에 따르면 제1 서브 특징 정보()는 서브 네트워크가 제1 모드의 입력 데이터(V)를 입력 받아 추출한 정보일 수 있다. 일 실시예에 따르면 제2 서브 특징 정보()는 서브 네트워크가 제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 네트워크의 복수의 레이어들 각각으로 들어오는 입력에 레이어의 기설정된 가중치 값()을 곱한 값일 수 있다.
예를 들어, DNN 네트워크가 복수의 레이어를 포함하는 네트워크인 경우, 제1 레이어는 부호화된 제1 서브 특징 정보() 및 제2 서브 특징 정보()를 입력 받을 수 있다. 제1 레이어에 대한 특징 정보()는 제1 레이어로 입력된 부호화된 제1 서브 특징 정보 및 제2 서브 특징 정보에 제1 레이어의 기설정된 가중치 값(w1)을 곱한 값일 수 있다.
제2 레이어는 제1 레이어에 대한 특징 정보()를 입력 받을 수 있다. 제2 레이어에 대한 특징 정보(K2(V,S))는 제2 레이어로 입력된 제1 레이어에 대한 특징 정보()에 제2 레이어의 기설정된 가중치 값(w2)을 곱한 값일 수 있다.
마찬가지로, DNN 네트워크의 복수의 레이어들 중 제i 레이어에 대한 특징 정보(Ki(V,S))는 제i 레이어로 입력된 제i-1 레이어에 대한 특징 정보(Ki-1(V,S))에 제i 레이어의 기설정된 가중치 값(wi)을 곱한 값일 수 있다.
단계 S940에서, 전자 장치(200)는 획득된 제1 서브 특징 정보, 제2 서브 특징 정보 및 특징 정보에 기초하여, 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산할 수 있다.
일 실시예에서, 복수의 레이어들 각각에 대응하는 모드 별 가중치()는 모드 별 가중치 생성부(350)에서 계산될 수 있다. 모드 별 가중치 생성부(350)는 서브 네트워크로부터 획득된 제1 서브 특징 정보() 및 제2 서브 특징 정보()와 복수의 레이어들 각각에서 추출된 특징 정보()를 기초로 하여 복수의 레이어들 각각에 대한 모드 별 가중치()를 계산할 수 있다.
이때, 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치()는 제1 모드(V)와 제2 모드(S)에 대한 상대적인 중요도가 반영된 값일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
단계 S950에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에서 계산된 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
일 실시예에서, DNN 네트워크는 모드 별 가중치 생성부(350)에서 계산된 모드 별 가중치()를 복수의 레이어들 각각에 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
예를 들어, DNN 네트워크는 네트워크의 복수의 레이어들 중 제i 레이어에 대한 기설정된 가중치 값()에 제i 레이어에 대한 모드 별 가중치()를 곱함으로써 이를 적용할 수 있다.
도 10은 도 9의 940 단계(S940)를 구체적으로 나타내는 흐름도이다.
도 10을 참조하면, 단계 S1010은 도 9의 단계 S930 이후에 수행될 수 있다.
단계 S1010에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 제1 쿼리 정보 및 제2 쿼리 정보를 획득할 수 있다.
일 실시예에서 쿼리 정보 계산부(410)는 제1 서브 특징 정보()와 기학습된 쿼리 행렬()을 이용하여 제1 쿼리 정보()를 계산할 수 있다. 마찬가지로, 일 실시예에서 쿼리 정보 계산부(410)는 제2 서브 특징 정보()와 기학습된 쿼리 행렬()을 이용하여 제2 쿼리 정보()를 계산할 수 있다.
이때, 기학습된 쿼리 행렬, 제1 쿼리 정보 및 제2 쿼리 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 쿼리 정보 계산부(410)는 제1 서브 특징 정보()와 기학습된 쿼리 행렬()의 내적을 수행하여 제1 쿼리 정보()를 계산할 수 있다. 마찬가지로, 쿼리 정보 계산부(410)는 제2 서브 특징 정보()와 기학습된 쿼리 행렬()의 내적을 수행하여 제2 쿼리 정보()를 계산할 수 있다.
일 실시예에서 기학습된 쿼리 행렬()은 제1 서브 특징 정보()가 제2 서브 특징 정보()에 비해 가지는 상대적인 중요도를 나타낼 수 있도록 미리 학습된 값일 수 있다. 마찬가지로, 일 실시예에서 기학습된 쿼리 행렬()은 제2 서브 특징 정보()가 제1 서브 특징 정보()에 비해 가지는 상대적인 중요도를 나타낼 수 있도록 미리 학습된 값일 수 있다.
일 실시예에서 기학습된 쿼리 행렬()은 상기 제1 서브 특징 정보() 및 상기 제2 서브 특징 정보()와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응되도록 미리 학습된 값일 수 있다.
단계 S1020에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 키 정보를 획득할 수 있다.
일 실시예에서 키 정보 계산부(420)는 복수의 레이어들 각각에서 추출된 특징 정보()와 기학습된 키 행렬() 이용하여 키 정보()를 계산할 수 있다. 이때, 특징 정보, 기학습된 키 행렬 및 키 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 기학습된 키 행렬()은 DNN 네트워크의 i번째 레이어에서 추출된 특징 정보()에서, 이미지 모드(V)와 사운드 모드(S)의 상대적인 중요도가 나타날 수 있도록, 미리 학습된 값일 수 있다.
일 실시예에서 기학습된 키 행렬()은 상기 이미지 모드(V) 및 상기 사운드 모드(S)와 관련된 파라미터들을 포함하는 행렬일 수 있으며, DNN 네트워크의 복수의 레이어들 각각에 대응되도록 미리 학습된 값일 수 있다.
단계 S1030에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 제1 컨텍스트 정보 및 제2 컨텍스트 정보를 획득할 수 있다.
일 실시예에서 컨텍스트 정보 계산부(430)는 제1 쿼리 정보()와 키 정보()를 이용하여 제1 컨텍스트 정보()를 계산할 수 있다. 마찬가지로, 일 실시예에서 컨텍스트 정보 계산부(430)는 제2 쿼리 정보()와 키 정보()를 이용하여 제2 컨텍스트 정보()를 계산할 수 있다.
이때, 제1 쿼리 정보, 제2 쿼리 정보, 제1 컨텍스트 정보, 제2 컨텍스트 정보 및 키 정보는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 컨텍스트 정보 계산부(430)는 제1 쿼리 정보()와 키 정보()의 내적을 수행하여 제1 컨텍스트 정보()를 계산할 수 있다. 마찬가지로, 일 실시예에서 컨텍스트 정보 계산부(430)는 제2 쿼리 정보()와 키 정보()의 내적을 수행하여 제2 컨텍스트 정보()를 계산할 수 있다.
일 실시예에서 제1 컨텍스트 정보()는 제1 쿼리 정보()와 키 정보()의 상관성을 나타내는 값일 수 있으며, 제2 컨텍스트 정보()는 제2 쿼리 정보()와 키 정보()의 상관성을 나타내는 값일 수 있다.
이때, 예를 들어, 제1 컨텍스트 값()이 제2 컨텍스트 값()보다 큰 경우, 제1 쿼리 정보와 키 정보의 상관성이 제2 쿼리 정보와 키 정보의 상관성 보다 큰 것으로 판단될 수 있으며, 제1 모드(V)의 상대적인 중요도가 제2 모드(S)보다 큰 것으로 판단될 수 있다.
단계 S1040에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에 대응되는 모드 별 가중치를 계산할 수 있다.
일 실시예에서 모드 별 가중치 계산부(440)는 제1 컨텍스트 정보()와 제2 컨텍스트 정보()를 이용하여 DNN 네트워크의 복수의 레이어 당 하나의 모드 별 가중치()를 계산할 수 있다. 다른 실시예에서 모드 별 가중치 계산부(440)는 제1 컨텍스트 정보()와 제2 컨텍스트 정보()를 이용하여 DNN 네트워크의 복수의 레이어 당 복수의 모드 별 가중치(예를 들어, 제1 모드 별 가중치인 , 제2 모드 별 가중치인 를 계산할 수 있다.
이때, 제1 컨텍스트 정보, 제2 컨텍스트 정보 및 모드 별 가중치는 DNN 네트워크의 복수의 레이어들 각각에 대응하는 값일 수 있다.
일 실시예에서 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 최대 값을 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 복수의 레이어 당 하나의 모드 별 가중치()를 계산할 수 있다.
다른 실시예에서 제1 컨텍스트 정보()를 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 제1 모드 별 가중치()를 계산할 수 있고, 제2 컨텍스트 정보()를 제1 컨텍스트 정보()와 제2 컨텍스트 정보()의 합으로 나눔으로써 제2 모드 별 가중치()를 계산할 수 있다.
단계 S1050에서, 전자 장치(200)는 DNN 네트워크의 복수의 레이어들 각각에서 계산된 모드 별 가중치를 적용함으로써, 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
일 실시예에서 DNN 네트워크는 모드 별 가중치 계산부(440)에서 계산된 모드 별 가중치()를 복수의 레이어들 각각에 적용하여 기 설정된 태스크에 대응하는 최종 출력 값을 획득할 수 있다.
Claims (19)
- Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치에 있어서,
제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 입력부;
하나 이상의 인스트럭션들을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
상기 프로세서는,
상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하고,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하고,
상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하고,
상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
기학습된 제1 서브 네트워크에 상기 제1 모드의 입력 데이터를 입력함으로써 상기 제1 서브 특징 정보를 획득하고,
기학습된 제2 서브 네트워크에 상기 제2 모드의 입력 데이터를 입력함으로써 상기 제2 서브 특징 정보를 획득하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
입력 데이터의 모드를 구분할 수 있는 모드 식별 정보에 기초하여,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하고,
상기 부호화된 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 상기 복수의 레이어들을 포함하는 상기 DNN으로 입력하는, 전자 장치. - 제3항에 있어서,
상기 프로세서는,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화하는, 전자 장치. - 제1항에 있어서,
상기 프로세서는,
상기 제1 서브 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제1 쿼리 정보를 획득하고, 상기 제1 쿼리 정보는 상기 제1 서브 특징 정보의 가중치를 나타내며,
상기 제2 서브 특징 정보 및 상기 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제2 쿼리 정보를 획득하고, 상기 제2 쿼리 정보는 상기 제2 서브 특징 정보의 가중치를 나타내며,
상기 기학습된 쿼리 행렬은, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보와 관련된 파라미터들을 포함하는, 전자 장치. - 제5항에 있어서,
상기 프로세서는,
상기 복수의 레이어들 각각에서 추출되는 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 키 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 키 정보를 획득하는, 전자 장치. - 제6항에 있어서,
상기 프로세서는,
상기 제1 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제1 콘텍스트 정보를 획득하고,
상기 제2 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제2 콘텍스트 정보를 획득하는, 전자 장치. - 제7항에 있어서,
상기 프로세서는,
상기 복수의 레이어들 각각에 대응되는 상기 제1 콘텍스트 정보 및 상기 제2 콘텍스트 정보를 이용하여, 상기 복수의 레이어들 각각에 대응되는 상기 모드 별 가중치를 계산하는, 전자 장치. - 제1항에 있어서,
상기 제1 모드의 입력 데이터 및 상기 제2 모드의 입력 데이터는, 이미지 데이터, 텍스트 데이터, 사운드 데이터 및 영상 데이터 중 적어도 하나를 포함하는, 전자 장치. - Deep Neural Network(DNN)을 이용하여, 기 설정된 태스크(task)를 수행하는 전자 장치의 동작방법에 있어서,
제1 모드의 입력 데이터 및 제2 모드의 입력 데이터를 입력 받는 단계;
상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하는 단계;
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하여, 상기 복수의 레이어들 각각에서 추출되는 특징 정보를 획득하는 단계;
상기 특징 정보와 상기 제1 서브 특징 정보 및 제2 서브 특징 정보에 기초하여, 상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계; 및
상기 복수의 레이어들 각각에서, 상기 모드 별 가중치를 적용함으로써, 상기 기 설정된 태스크에 대응하는 최종 출력 값을 획득하는 단계를 포함하는, 전자 장치의 동작방법. - 제10항에 있어서,
상기 제1 모드의 입력 데이터에 대응하는 제1 서브 특징 정보 및 상기 제2 모드의 입력 데이터에 대응하는 제2 서브 특징 정보를 획득하는 단계는,
기학습된 제1 서브 네트워크에 상기 제1 모드의 입력 데이터를 입력함으로써 상기 제1 서브 특징 정보를 획득하는 단계; 및
기학습된 제2 서브 네트워크에 상기 제2 모드의 입력 데이터를 입력함으로써 상기 제2 서브 특징 정보를 획득하는 단계를 포함하는, 전자 장치의 동작 방법. - 제10항에 있어서,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 복수의 레이어들을 포함하는 상기 DNN으로 입력하는 단계는,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하는 단계; 및
상기 부호화된 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 상기 DNN으로 입력하는 단계를 포함하는, 전자 장치의 동작 방법. - 제12항에 있어서,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 부호화하는 단계는,
상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보를 연쇄(concatenation)함으로써 부호화하는 단계를 포함하는, 전자 장치의 동작 방법. - 제10항에 있어서,
상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
상기 제1 서브 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제1 쿼리 정보를 획득하는 단계; 및
상기 제2 서브 특징 정보 및 상기 기학습된 쿼리 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 제2 쿼리 정보를 획득하는 단계를 포함하고,
상기 제1 쿼리 정보는 상기 제1 서브 특징 정보의 가중치를 나타내고, 상기 제2 쿼리 정보는 상기 제2 서브 특징 정보의 가중치를 나타내며,
상기 기학습된 쿼리 행렬은, 상기 제1 서브 특징 정보 및 상기 제2 서브 특징 정보와 관련된 파라미터들을 포함하는, 전자 장치의 동작방법. - 제14항에 있어서,
상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
상기 복수의 레이어들 각각에서 추출되는 특징 정보 및 상기 복수의 레이어들 각각에 대응하는 기학습된 키 행렬을 이용하여, 상기 복수의 레이어들 각각에 대응하는 키 정보를 획득하는 단계를 더 포함하는, 전자 장치의 동작방법. - 제15항에 있어서,
상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
상기 제1 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제1 콘텍스트 정보를 획득하는 단계; 및
상기 제2 쿼리 정보와 상기 키 정보의 상관 관계를 나타내고, 상기 복수의 레이어들 각각에 대응되는 제2 콘텍스트 정보를 획득하는 단계를 더 포함하는, 전자 장치의 동작방법. - 제16항에 있어서,
상기 복수의 레이어들 각각에 대응하는 모드 별 가중치를 계산하는 단계는,
상기 복수의 레이어들 각각에 대응되는 상기 제1 콘텍스트 정보 및 상기 제2 콘텍스트 정보를 이용하여, 상기 복수의 레이어들 각각에 대응되는 상기 모드 별 가중치를 계산하는 단계를 더 포함하는, 전자 장치의 동작방법. - 제10항에 있어서,
상기 제1 모드의 입력 데이터 및 상기 제2 모드의 입력 데이터는, 이미지 데이터, 텍스트 데이터, 사운드 데이터 및 영상 데이터 중 적어도 하나를 포함하는, 전자 장치의 동작 방법. - 상기 제10항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493043B (zh) * | 2023-11-09 | 2024-06-18 | 上海交通大学 | 基于原数据的smg实现系统及方法 |
Family Cites Families (4)
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 | 인하대학교 산학협력단 | 반 지도 학습과 여러 개의 멀티 모달 네트워크를 이용한 비디오 기반 인물 감정 인식 기법 |
-
2021
- 2021-01-25 KR KR1020210010353A patent/KR20220107575A/ko active Search and Examination
-
2022
- 2022-01-19 WO PCT/KR2022/000977 patent/WO2022158847A1/ko active Application Filing
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 |