(19) 대한민국특허청 (KR) (12) 등록특허공보 (B1) (45) 공고일자 2016년08월09일 (11) 등록번호 10-1646926 (24) 등록일자 2016년08월03일 (51) 국제특허분류 (Int. Cl.) G06F 17/00 (2006.01) G06F 15/18 (2006.01) G06N 3/08 (2006.01) G06N 7/00 (2006.01) G06N 99/00 (2010.01) (52) CPC 특허분류 G06F 17/00 (2013.01) G06F 15/18 (2013.01) (21) 출원번호 10-2015-0053829 (22) 출원일자 2015 년 04 월 16 일 심사청구일자 (56) 선행기술조사문헌 WO2009111387 A1 2015 년 04 월 16 일 (73) 특허권자 서울대학교산학협력단 서울특별시관악구관악로 1 ( 신림동 ) (72) 발명자 장병탁 서울특별시서초구서초중앙로 24 길 33, 103 동 50 1 호 김경민 서울특별시강남구광평로 47 길 17, 708 동 801 호 하정우 경상남도창원시진해구용재로 59 번길 5-6, 30/3 반 (74) 대리인 특허법인이상전체청구항수 : 총 13 항심사관 : 이복현 (54) 발명의명칭멀티모달리티데이터복원을위한심층개념망구축방법및그시스템 (57) 요약 멀티모달리티데이터복원을위한심층개념망구축방법및그시스템이개시된다. 입력데이터를처리하여출력데이터를생성하는컴퓨팅장치에서심층개념망을구축하는방법으로서, 실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조와개념층을학습하는단계, 및입력데이터의확률분포에맞게모델의구조를변화시키기위하여심층구조와개념층에서의학습결과들에대한가중치를학습하는단계를포함한다. 대표도 - 도 3-1 -
(52) CPC 특허분류 G06N 3/08 (2013.01) G06N 7/005 (2013.01) G06N 99/005 (2013.01) 이발명을지원한국가연구개발사업 과제고유번호 14-824-09-014 부처명 연구관리전문기관 연구사업명 연구과제명 기여율 1/1 산업통상자원부 산업원천기술개발사업 정보통신기술진흥센터 인간수준의평생기계학습 SW 기초연구 주관기관 포항공과대학교산학협력단 연구기간 2014.04.01 ~ 2015.02.28 공지예외적용 : 있음 - 2 -
명세서청구범위청구항 1 입력데이터를처리하여출력데이터를생성하는컴퓨팅장치에서심층개념망을구축하는방법으로서, 실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조와개념층을학습하는단계 ; 및상기입력데이터의확률분포에맞게모델의구조를변화시키기위하여상기심층구조와개념층에서의학습결과들에대한가중치를학습하는단계를포함하며, 상기심층구조와개념층을학습하는단계는, 상기입력데이터에대하여마이크로코드층을학습하고, 상기마이크로코드층에대한 1차개념층을학습하고, 상기 1차개념층에대한 2차개념층을학습하며, 상기가중치를학습하는단계는, 상기마이크로코드층, 상기 1차개념층, 및상기 2차개념층에대한가중치를학습하며, 상기마이크로코드층은상기입력데이터를작은단위로모은마이크로코드들의집합이고, 상기 1차개념층은상기마이크로코드층과다른상기마이크로코드층의심층구조의일부이고, 상기 2차개념층은상기마이크로코드층의심층구조의다른일부인, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 2 삭제청구항 3 삭제청구항 4 삭제청구항 5 삭제청구항 6 청구항 1에있어서, 상기가중치를학습하는단계후에, 상기가중치의학습결과에기초하여심층개념망모델을생성하는단계를더포함하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 7 청구항 6에있어서, 상기심층개념망모델을토대로모달입력데이터에서모달재현데이터를예측하는단계를더포함하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 8 청구항 1에있어서, 상기심층구조와개념층을학습하는단계는, 상기입력데이터에대하여마이크로코드층을베이지안 (Bayesian) 확률기반으로추론하여학습하는, 멀티모달리티데이터복원을위한심층개념망구축방법. - 3 -
청구항 9 청구항 1에있어서, 상기심층구조와개념층을학습하는단계는, 엣지형태로된파라미터공간의구조를학습하는기계학습알고리즘에서상기파라미터공간의구조를학습하거나또는상기마이크로코드 (microcode) 층과상기마이크로코드층의심층구조를학습하는데에그래프몬테카를로 (graph Monte Carlo) 알고리즘을이용하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 10 청구항 9에있어서, 상기그래프몬테카를로알고리즘은, 균등그래프몬테카를로 (uniform graph Monte Carlo, UGMC) 방법, 빈익빈부익부그래프몬테카를로 (poorer-richer graph Monte Carlo, PRGMC) 방법, 공정한그래프몬테카를로 (fair graph Monte Carlo, FGMC) 중어느하나이상을포함하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 11 청구항 9에있어서, 상기 1차개념층에대한학습은, 유사도를사용하여실시간군집화를수행하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 12 청구항 11에있어서, 상기 2차개념층에대한학습은, 상기 1차개념층의노드들을각모달과태스크에맞는영역지식을사용하여관측값의함수로미리지정하여사용하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 13 청구항 12에있어서, 상기가중치를학습하는단계는, 상기 2차개념층에대한학습을위하여추계학적인기울기상승 (stochastic gradient ascent) 을사용하는, 멀티모달리티데이터복원을위한심층개념망구축방법. 청구항 14 심층모델 (deep architecture) 또는깊은학습 (deep learning) 을이용하는심층개념망구축시스템으로서, 프로그램을저장하는메모리 ; 및상기메모리에연결되어상기프로그램을수행하는프로세서를포함하되, 상기프로세서는상기프로그램에의해실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조와개념층을학습하고, 상기입력데이터의확률분포에맞게모델의구조를변화시키기위하여상기심층구조와개념층에서의학습결과들에대한가중치를학습하며, 상기심층구조와개념층에대한학습은, 상기입력데이터에대하여마이크로코드층을학습하고, 상기마이크로코드층에대한 1차개념층을학습하고, 상기 1차개념층에대한 2차개념층을학습하며, 상기가중치에대한학습은, 상기마이크로코드층, 상기 1차개념층, 및상기 2차개념층에대한가중치를학습하며, 상기마이크로코드층은상기입력데이터를작은단위로모은마이크로코드들의집합이고, 상기 1차개념층은상기마이크로코드층과다른상기마이크로코드층의심층구조의일부이고, 상기 2차개념층은상기마이크로코드층의심층구조의다른일부인, 멀티모달리티데이터복원을위한심층개념망구축시스템. 청구항 15-4 -
삭제청구항 16 청구항 14에있어서, 상기프로세서는, 상기가중치의학습결과에기초하여심층개념망모델을생성하고, 상기심층개념망모델을토대로임의의모달입력데이터에서모달재현데이터를예측하는, 멀티모달리티데이터복원을위한심층개념망구축시스템. 청구항 17 심층모델을이용하여입력데이터를처리하여출력데이터를생성하는심층개념망구축시스템으로서, 실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조및개념층을학습하는제1 학습부 ; 및상기입력데이터의확률분포에맞게모델의구조를변화시키기위하여상기제1 학습부에서학습된심층구조와개념층에서의학습결과들에대한가중치를학습하는제2 학습부를포함하며, 상기제1 학습부는, 상기입력데이터에대하여마이크로코드층을학습하는마이크로코드층구조학습부, 상기마이크로코드층에대한 1차개념층을학습하는 1차개념층학습부, 및상기 1차개념층에대한 2차개념층을학습하는 2차개념층학습부를포함하며, 상기제2 학습부는, 상기마이크로코드층구조학습부, 상기 1차개념층학습부및상기 2차개념층학습부에서학습된상기마이크로코드층, 상기 1차개념층, 및상기 2차개념층에대한가중치를학습하며, 상기마이크로코드층은상기입력데이터를작은단위로모은마이크로코드들의집합이고, 상기 1차개념층은상기마이크로코드층과다른상기마이크로코드의심층구조의일부이고, 상기 2차개념층은상기마이크로코드층의심층구조의다른일부인, 멀티모달리티데이터복원을위한심층개념망구축시스템. 청구항 18 삭제청구항 19 삭제청구항 20 청구항 17에있어서, 상기가중치의학습결과에의해생성되는심층개념망모델을저장하는데이터베이스에연결되어상기심층개념망모델을토대로임의의모달입력데이터에서모달재현데이터를예측하는예측부를더포함하는, 멀티모달리티데이터복원을위한심층개념망구축시스템. 발명의설명 [0001] 기술분야 본발명의실시예들은멀티모달리티데이터복원을위한심층개념망구축방법및그시스템에관한것이다. [0002] 배경기술심층모델 (Deep Architecture) 은얕은모델 (Shallow Architecture) 과대비되는기계학습모델구조의일종이다. 기계학습모델혹은인공신경망모델에서두개이상의많은은닉변수층을가지는모델을심층모델이라고한다. 심층모델은얕은모델보다더적은파라미터혹은적은모델복잡도를가지고데이터를잘표현할수있다. 대표적인예로 Deep Neural Networks, Deep Belief Networks, Sum-Product Networks 와같은모델이있다. - 5 -
[0003] [0004] [0005] [0006] [0007] 멀티모달리티데이터복원은두개이상의모달리티데이터를학습하여, 일부모달리티의데이터가주어졌을때, 다른모달리티의데이터를복원하는것을지칭하는것으로서, 일부종래기술에서는다른모달리티의데이터를복원하는문제를풀기위한학습및추론방법을제시하고있다. 또한, 점진적학습은, 모델을학습한뒤에새로운데이터가들어왔을때, 모델을처음부터다시학습하는대신에, 새로운데이터의정보에대해서만기존모델에추가하여학습하는방법을지칭한다. 이러한점진적학습방법은아주많은데이터가지속적으로유입되는빅데이터상황에서유용하게쓰인다. 군집화 (clustering) 는비슷한양상을보이는데이터들을하나의군집으로묶는것을지칭한다. 군집화를위해서는지속적으로들어오는데이터에대하여실시간으로두개이상의모달정보에대한연합지식을구축해야한다. 이러한문제는, 예컨대이미지정보에서관련텍스트를생성하거나특정키워드를추출하거나, 이미지로단어를검색하는문제와텍스트정보에서관련이미지를추출혹은검색하는문제로크게대변될수있다. 두개이상의모달정보에대한연합지식을구축하는기술은지능시스템에서다양하게사용될수있다. 예컨대, 언어모달과시각모달에대한연합지식을구축하여이미지검색이나이미지자동태그생성, 물체인식성능강화와같은다양한일들을할수있다. 실제환경에서심층모델연합지식을사용하기위해지속적으로들어오는데이터에맞게구조와가중치를변화시키는것은중요하다. 하지만기존의방법들은한번모델을학습하면그구조와가중치를변화시키기가어려웠다. 그것이가능한방법들은제한적인단층표현력으로인해실제데이터의분포를잘표현하는데어려움이있다. 이러한문제는네이버 (www.naver.com), 다음 (www.daum.net) 과같은검색포탈을운영하는회사들에게있어근본적인문제이다. 발명의내용 [0008] [0009] 해결하려는과제상기와같은종래기술의문제점을해결하기위한본발명의목적은, 기존의실시간학습이어려운다른알고리즘을대체하여, 지속적으로들어오는데이터에대하여실시간으로학습하는것이가능한, 멀티모달리티데이터복원을위한심층개념망 (Deep Concept Hierarchy) 구축방법및그시스템을제공하는데있다. 상기와같은종래기술의문제점을해결하기위한본발명의다른목적은, 기존에실시간학습이가능하지만표현력이얕은, 얕은모델 (shallow architecture) 을대신하여, 지속적으로들어오는데이터에대하여표현력이더큰, 멀티모달리티데이터복원을위한심층개념망구축방법및그시스템을제공하는데있다. [0010] [0011] [0012] [0013] [0014] [0015] [0016] 과제의해결수단상기의목적을달성하기위하여본발명의일측면에서는, 입력데이터를처리하여출력데이터를생성하는컴퓨팅장치에서심층개념망을구축하는방법으로서, 실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조와개념층을학습하는단계, 및입력데이터의확률분포에맞게모델의구조를변화시키기위하여심층구조와개념층에서의학습결과들에대한가중치를학습하는단계를포함하는, 멀티모달리티데이터복원을위한심층개념망구축방법을제공한다. 여기에서, 심층구조와개념층을학습하는단계는, 입력데이터에대하여마이크로코드층에대한구조를학습하는제1서브단계를포함할수있다. 여기에서, 심층구조와개념층을학습하는단계는, 제1서브단계후에제1서브단계에서학습된마이크로코드층에대한 1차개념층을학습하는제2서브단계를더포함할수있다. 여기에서, 심층구조와개념층을학습하는단계는, 제2서브단계후에마이크로코드층에대한 2차개념층을학습하는제3서브단계를더포함할수있다. 여기에서, 가중치를학습하는단계에서는, 제1서브단계, 제2서브단계및제3서브단계에서각각학습된마이크로코드층들에대한가중치를학습할수있다. 여기에서, 심층개념망구축방법은, 가중치의학습결과에기초하여심층개념망모델을생성또는저장하는단계를더포함할수있다. 여기에서, 심층개념망구축방법은, 심층개념망모델을토대로모달입력데이터에서모달재현데이터를예 - 6 -
측하는단계를더포함할수있다. [0017] [0018] [0019] [0020] [0021] [0022] [0023] [0024] [0025] [0026] [0027] [0028] 여기에서, 심층구조와개념층을학습하는단계는, 마이크로코드층을베이지안 (Bayesian) 확률기반으로추론할수있다. 여기에서, 심층구조와개념층을학습하는단계는, 엣지형태로된파라미터공간의구조를학습하는기계학습알고리즘에서파라미터공간의구조즉, 마이크로코드 (microcode) 층과그심층구조를학습하는데에그래프몬테카를로 (graph Monte Carlo) 알고리즘을이용할수있다. 여기에서, 심층개념망구축방법은, 마이크로코드층의심층구조의일부인 1차개념층에대한학습과가중치에대한학습후에유사도를사용하여실시간군집화하는단계를더포함할수있다. 여기에서, 심층구조와개념층을학습하는단계는, 마이크로코드층의심층구조의다른일부인 2차개념층을학습하기위하여상기입력데이터의일부상위개념들을관측값의함수로미리지정하여사용할수있다. 여기에서, 가중치를학습하는단계는, 가중치를학습하기위하여추계학적인기울기상승 (stochastic gradient ascent) 을사용할수있다. 상기의목적을달성하기위하여본발명의다른측면에서는, 심층모델 (deep architecture) 또는깊은학습 (deep learning) 을이용하는심층개념망구축시스템으로서, 프로그램을저장하는메모리, 및메모리에연결되어프로그램을수행하는프로세서를포함하되, 프로세서가프로그램에의해실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조와개념층을학습하고, 입력데이터의확률분포에맞게모델의구조를변화시키기위하여심층구조와개념층에서의학습결과들에대한가중치를학습하는, 멀티모달리티데이터복원을위한심층개념망구축시스템을제공한다. 여기에서, 프로세서는, 서로다른두개이상의모달정보에대한지식을학습하기위해, 입력데이터에대하여마이크로코드층을학습하고, 마이크로코드층으로부터상기마이크로코드층과다른층으로서상기마이크로코드층의심층구조의일부인 1차개념층을학습하고, 1차개념층으로부터상기마이크로코드층의심층구조의다른일부인 2차개념층을학습하고, 입력데이터의확률분포에맞게모델의구조를변화시키기위하여마이크로코드층, 1차개념층및 2차개념층에대하여가중치를학습할수있다. 여기에서, 프로세서는, 가중치의학습결과에기초하여심층개념망모델을생성및 / 또는저장하고, 심층개념망모델을토대로모달입력데이터에서모달재현데이터를예측할수있다. 상기의목적을달성하기위하여본발명의또다른측면에서는, 심층모델을이용하여입력데이터를처리하여출력데이터를생성하는심층개념망구축시스템으로서, 실시간들어오는입력데이터에대하여서로다른두개이상의모달정보에대한심층구조및개념층을학습하는제1 학습부, 및입력데이터의확률분포에맞게모델의구조를변화시키기위하여제1 학습부의심층구조와개념층에서의학습결과들에대한가중치를학습하는제2 학습부를포함하는, 멀티모달리티데이터복원을위한심층개념망구축시스템을제공한다. 여기에서, 제1 학습부는, 입력데이터에대하여마이크로코드층을학습하는마이크로코드층구조학습부, 마이크로코드층구조학습부에서학습된마이크로코드층에대하여 1차개념층을학습하는 1차개념층학습부, 및 1차개념층학습부에서학습된 1차개념층에대하여 2차개념층을학습하는 2차개념층학습부를포함할수있다. 여기에서, 제2 학습부는, 마이크로코드층구조학습부, 1차개념층학습부및 2차개념층학습부에서각각학습된마이크로코드층, 1차개념층, 및 2차개념층에대한가중치를학습할수있다. 여기에서, 심층개념망구축시스템은, 가중치의학습결과에의해생성되는심층개념망모델을저장하는데이터베이스에연결되어심층개념망모델을토대로모달입력데이터에서모달재현데이터를예측하는예측부를더포함할수있다. [0029] 발명의효과상기와같은본발명에따른멀티모달리티데이터복원구축을위한심층개념망구축방법및그시스템을이용할경우에는, 실시간으로들어오는멀티모달데이터에대해서모달간관계를학습하고학습된데이터들상호간에복원을수행할수있다. 예컨대, 검색서비스제공에있어, 실시간으로들어오는네이버나구글의이미지- 문서정보를학습하여, 이미지를설명하는문장을자동으로생성하면서문장기반으로이미지를검색할수있다. 이는제한된연산용량을가지고훨씬더많은데이터를한꺼번에학습할수있는기반을제공하며, 시스 - 7 -
템의성능향상을가지고올수있다. 게다가, 그기대효과는단지검색에그치지않고, 여러이종 (a different kind) 데이터의응용에활용될수있다. [0030] 또한, 상기와같은본발명에따른멀티모달리티데이터복원구축을위한심층개념망구축방법및그시스템을이용할경우에는, 두개이상의모달정보의연합지식을표현력이큰심층모델 (Deep Architecture) 의새로운구조로실시간획득할수있다. 그리고, 좀더넓은의미에서보면, 서로다른언어형태를가지는외국어번역에도이러한기술이사용될수있으며, 영화를요약하는기술에도본실시예의기술이사용될수있다. 즉, 본실시예의심층개념망시스템및이를이용하는학습방법은이미지검색을포함한포탈사이트검색기술전반, 번역기술, 기사및문서작성자동화를포함한다양한영역에사용될수있다. [0031] 도면의간단한설명 도 1 은본발명의일실시예에따른심층개념망구축시스템의블록도이다. 도 2는본발명의실시예에따른심층개념망 (deep concept hierarchy, DCH) 의구조측면에서의예시도이다. 도 3은본발명의다른실시예에따른멀티모달리티데이터복원을위한심층개념망구축방법의흐름도이다. 도 4는본발명의실시예에따른심층개념망모델데이터베이스를이용한비디오데이터자막으로부터의비디오데이터영상정보생성에대한예시도이다. 도 5는본발명의실시예에따른심층개념망모델데이터베이스를이용한비디오영상정보로부터자막으로의번역에대한예시도이다. 도 6은본발명의실시예에따른심층개념망모델데이터베이스를이용한번역성능에대한예시도이다. 도 7은본발명의실시예에따른멀티모달리티데이터복원을위한심층개념망구축방법을수행하는시스템의블록도이다. [0032] [0033] [0034] [0035] [0036] 발명을실시하기위한구체적인내용본발명은다양한변경을가할수있고여러가지실시예를가질수있는바, 특정실시예들을도면에예시하고상세한설명에상세하게설명하고자한다. 그러나이는본발명을특정한실시형태에대해한정하려는것이아니며, 본발명의사상및기술범위에포함되는모든변경, 균등물내지대체물을포함하는것으로이해되어야한다. 제1, 제2, A, B 등의용어는다양한구성요소들을설명하는데사용될수있지만, 상기구성요소들은상기용어들에의해한정되어서는안된다. 상기용어들은하나의구성요소를다른구성요소로부터구별하는목적으로만사용된다. 예를들어, 본발명의권리범위를벗어나지않으면서제1 구성요소는제2 구성요소로명명될수있고, 유사하게제2 구성요소도제1 구성요소로명명될수있다. 및 / 또는등의용어는복수의관련된기재된항목들의조합또는복수의관련된기재된항목들중의어느항목을포함한다. 어떤구성요소가다른구성요소에 " 연결되어 " 있다거나 " 접속되어 " 있다고언급되는경우, 어떤구성요소는다른구성요소에직접적으로연결되어있거나또는접속되어있을수도있지만, 이들사이에다른구성요소가존재할수도있다고이해되어야할것이다. 반면에, 어떤구성요소가다른구성요소에 " 직접연결되어 " 있다거나 " 직접접속되어 " 있다고언급된때에는, 이들의중간에다른구성요소가존재하지아니하는것으로이해되어야할것이다. 본명세서에서사용한용어는단지특정한실시예를설명하기위해사용된것으로, 본발명을한정하려는의도가아니다. 단수의표현은문맥상명백하게다르게뜻하지않는한, 복수의표현을포함한다. 본출원에서, " 포함하다 " 또는 " 가지다 " 등의용어는명세서상에기재된특징, 숫자, 단계, 동작, 구성요소, 부품또는이들을조합한것이존재함을지정하려는것이지, 하나또는그이상의다른특징들이나숫자, 단계, 동작, 구성요소, 부품또는이들을조합한것들의존재또는부가가능성을미리배제하지않는것으로이해되어야한다. 다르게정의되지않는한, 기술적이거나과학적인용어를포함해서여기서사용되는모든용어들은본발명이속하는기술분야에서통상의지식을가진자에의해일반적으로이해되는것과동일한의미를가질수있다. 일반적으로사용되는사전에정의되어있는것과같은용어들은관련기술의문맥상가지는의미와일치하는것으로해석되어야하며, 본출원에서명백하게정의하지않는한, 이상적이거나과도하게형식적인의미로해석 - 8 -
되지않는다. [0037] [0038] [0039] [0040] [0041] [0042] [0043] [0044] [0045] [0046] [0047] [0048] 이하, 첨부한도면들을참조하여, 본발명의바람직한실시예를보다상세하게설명하고자한다. 본발명은다양한변경을가할수있고여러가지실시예를가질수있는바, 특정실시예들을도면에예시하고이를상세하게설명하고자한다. 본발명을설명함에있어전체적인이해를용이하게하기위하여도면상의동일한구성요소에대해서는동일한참조부호를사용하고동일한구성요소에대해서중복된설명은생략한다. 또한, 본발명을설명함에있어서, 관련된공지기능혹은구성에대한구체적인설명이본발명의요지를불필요하게흐릴수있다고판단된경우그상세한설명은생략한다. 도 1은본발명의일실시예에따른심층개념망구축시스템의블록도이다. 도 2는본발명의실시예에따른심층개념망의구조측면에서의예시도이다. 도 1을참조하면, 본실시예에따른심층개념망구축시스템은, 학습부 (11), 예측부 (13) 및심층개념망모델데이터베이스 (DB)(12) 를포함한다. 학습부 (11) 는두개이상의모달데이터 ( 모달1 입력데이터, 모달2 입력데이터등 ) 를입력으로받아데이터내의패턴을파악하고이를심층개념망모델 (deep concept hierarchy, DCH) 로데이터베이스에저장한다. 이때, 학습이점진적으로이루어질수있다는점이본실시예의심층개념망구축시스템에서중요하다. 학습부 (11) 에서는지속적으로들어오는데이터를작은단위로모아그정보를심층개념망모델에반영한다. 본실시예에따른심층개념망 (deep concept hierarchy, DCH) 의구조는두개이상의모달정보를학습할수있으며, 도 2에도시한바와같이, 세개의모달정보를학습하기위한심층개념망구조를구비할수있다. 심층개념망은심층신경망으로지칭될수도있다. 본실시예에서는, 설명을용이하게하기위하여, 세개의층 (microcode Layer, Concept Layer 1, Concept Layer 2) 을학습하는방법을소개한다. 하지만이를일반화하여 4개이상의층으로확장하여학습하는것역시개념적으로무리가없다. 마찬가지로본실시예에서는, 설명을용이하게하기위하여, 두개의모달 ( 모달 1, 모달 2) 을학습하는방법을소개한다. 하지만이를일반화하여 3개이상의모달로확장하여학습하는것역시개념적으로무리가없다. 심층개념망구축시스템에대하여좀더구체적으로설명하면, 도 1에도시한바와같이, 본실시예에따른학습부 (11) 는심층개념망구축시스템에지속적으로들어오는데이터에대하여실시간으로두개이상의모달정보 ( 예컨대, 모달1 입력데이터및모달2 입력데이터포함 ) 에대한연합지식을구축하기위해마이크로코드층구조학습부 (111), 1차개념층학습부 (112), 2차개념층학습부 (113) 및마이크로코드층가중치학습부 (114) 를포함한다. 마이크로코드층구조학습부 (111) 는두개이상의모달정보에대한전체구조의일부인마이크로코드 (microcode) 층구조를학습한다. 마이크로코드층구조학습부 (111) 는기계학습알고리즘에서파라미터공간의구조를학습하는데사용되는그래프몬테카를로 (graph Monte Carlo) 알고리즘을이용할수있다. 기계학습알고리즘은엣지형태로된파리미터공간의구조를학습하는데이용된다. 그래프몬테카를로알고리즘은균등그래프몬테카를로 (uniform graph Monte Carlo, UGMC) 방법, 빈익빈부익부그래프몬테카를로 (poorer-richer graph Monte Carlo, PRGMC) 방법, 공정한그래프몬테카를로 (fair graph Monte Carlo, FGMC) 중어느하나이상을포함할수있다. 1차개념층학습부 (112) 는마이크로코드층구조학습부 (111) 에서학습된마이크로코드층의심층구조의일부인 1차개념층구조를학습한다. 2차개념층학습부 (113) 는 1차개념층학습부 (112) 에서학습된 1차개념층에대하여마이크로코드층의심층구조의다른일부인 2차개념층구조를학습한다. 2차개념층학습부 (113) 는 2차개념층구조의학습을위해중요상위개념들을관측값의함수로미리저장하여사용할수있다. 전술한마이크로코드층, 1차개념층및 2차개념층은모달입력데이터또는그마이크로코드층과개념층들의관계를설명하는층구조를구비한다. 마이크로코드층가중치학습부 (114) 는마이크로코드층과그개념층들의확률관계를설명하는가중치를포함하는것으로서, 마이크로코드층구조학습부 (111), 1차개념층학습부 (112) 및 2차개념층학습부 (113) 각각에서학습된마이크로코드층, 1차개념등, 및 2차개념층의가중치를학습한다. 마이크로코드층가중치학습부 (114) 는마이크로코드층과그심층구조에대한가중치를학습하기위하여추계학적인기울기상승 - 9 -
(stochastic gradient ascent) 을사용할수있다. [0049] [0050] [0051] [0052] [0053] [0054] 본실시예의심층개념망구축시스템은 1차개념층학습부 (112) 의 1차개념층구조와마이크로코드층가중치학습부 (114) 의가중치를학습하기위하여유사도를사용하여실시간군집화를수행하는방법을이용할수있다. 또한, 심층개념망구축시스템은서로다른두개이상의모달정보에대한지식을학습할수있는심층개념망의구조를구축하는데베이지안 (Bayesian) 확률기반으로추론하는방법을이용할수있다. 전술한학습부 (11) 는실시간입력되는데이터에대하여서로다른두개이상의모달정보에대한지식을다단계로학습하고다단계학습결과에대한가중치를학습하여데이터의확률분포에맞게모델의구조를실시간변화시킨다. 학습부 (11) 의마이크로코드층가중치학습부 (114) 에서출력되는학습결과는심층개념망모델데이터베이스 (12) 에저장된다. 예측부 (13) 는임의의모달입력데이터를바탕으로다른임의의모달데이터를재현한다. 예를들어, 예측부 (13) 는모달3 입력데이터에대하여심층개념망모델을적용하여모달3 재현데이터를생성할수있다. 이하에서는본실시예에따른심층개념망모델에대한추론방법에대하여좀더구체적으로설명하기로한다. 본실시예의심층개념망모델에대한추론방법에서는아래의수학식 1 및수학식 2와같이표현되는데이터를모달정보로이용하기로한다. 수학식 1 [0055] 수학식 2 [0056] [0057] [0058] 학습부 (11) 즉마이크로코드학습부는그래프몬테카를로알고리즘을이용할수있는데, 수학식 1 및수학식 2 를토대로이를나타내면다음과같다. 마이크로코드층 G 는여러마이크로코드 (microcode) 의집합이다. G 를구성하는 i 번째 (ith) 마이크로코드 e i 는 데이터에대한함수 f i 및가중치 a i 로구성된다. [0059] [0060] 심층개념망에서는개념적으로상위개념층의발화에따라마이크로코드가켜지거나꺼지는것을가정한다. 그러나, 마이크로코드층내의마이크로코드가활성화되고이것들이동등하게발화된다고가정할때, 모델이가정한데이터의공산 (likelihood) 에대하여다음과같은수학식을이용할수있다. 즉, 다음의두데이터패턴 w (t) 와 r (t) 을포함하는멀티모달데이터 D N 에대하여다음의수학식 3으로서마이크로 코드층 G 를정의할수있다. 수학식 3 [0061] - 10 -
[0062] 여기에서, θ 는일반적으로주어진모델을의미하는기호이다. 함수 fi 는마이크로코드 ei 와멀티모달데이터 패턴 w (t) 와 r (t) 을매칭하여보고, 매칭되면 1 을출력하되매칭되지않으면 0 을출력하는함수이다. 일반적으로 하나의함수는 w (t) 와 r (t) 이가질수있는값중일부의값으로표현되는식을가지며, 이를나타내면수학식 4 의오른쪽식과같이표현될수있다. [0063] 그리고, 마이크로코드층 G 에새로운마이크로코드의집합 {e} 를추가하는경우, k- 차수마이크로코드즉하이 퍼에지 (hyperedege) 일때, k- 차수마이크로코드 (k-order microcode) 를뽑기위하여다음의수학식 4 및 5 를이 용할수있다. 초기마이크로코드층 G 는빈값 (empty) 를가질수있다. 수학식 4 [0064] 수학식 5 [0065] [0066] [0067] [0068] [0069] [0070] [0071] [0072] 즉, 새로운 G를뽑는방식은다음의 1. 내지 3. 으로요약될수있다. 1. 각 e에해당하는 k-차수의 v(x) 를뽑는다. 2. 일정한개수 {e} k 에대하여 1을반복한다. 3. 원하는차수 k들에대하여이를반복한다. 한편, P(v(x)) 를뽑는방법에따라그래프몬테카를로 (graph Monte Carle) 방법이세분화될수있다. 본실시예에서는그래프몬테카를로방법에대해다음의세종류를제안한다. 첫째, 균등그래프몬테카를로 (uniform graph Monte Carlo, UGMC) 알고리즘은다음의 P(v(x)) 확률에따라그래프구조를업데이트할수있다. 이를나타내면수학식 6과같다. 수학식 6 [0073] [0074] 여기서, x + (n) 은 n 번째데이터가가지고있는변수들의집합이다. 데이터인스턴스가주어졌을때수학식 6 에따 라 UGMC 에서만들어질수있는마이크로코드들은같은확률로생성된다. [0075] 둘째, 빈인빈부익부그래프몬테카를로 (poorer-richer graph Monte Carlo, PRGMC) 는다음의 P(v(x)) 확률에 따라그래프구조를업데이트할수있다. 이를나타내면수학식 7 과같다. - 11 -
수학식 7 [0076] [0077] [0078] 여기서, R + {} 는오름차순랭크함수이고, d(v) 는 v 차수를나타낸다. 그리고, h(v, e) 는 e가 v를포함할경우 1 을반환하는인디케이터 (indicator) 함수이다. 이에따라 PRGMC에서는데이터에자주등장하는패턴을더많이포함하고작고밀집된구조를갖게된다. 셋째, 공정한그래프몬테카를로 (fair graph Monte Carlo, FGMC) 는다음의 P(v(x)) 확률에따라그래프구조를업데이트할수있다. 이를나타내면수학식 8과같다. 수학식 8 [0079] [0080] [0081] [0082] [0083] 여기서, R - {} 는내림차순랭크함수이다. FGMC에서는데이터에자주등장하지않는패턴을더많이포함하고 UGMC 또는 PRGMC보다더크고성긴구조를갖게된다. 전술한마이크로코드의구조변화는데이터가새로들어올때마다실시간으로이루어질수있다. 전술한마이크로코드의구조변화를토대로심층개념망구축시스템의 1차개념층학습부 (112) 의작동원리를좀더상세히설명하면다음과같다. 1차개념층학습부 (112) 가유사도를바탕으로한실시간군집화 (clustering) 를수행할때, 기존골자또는기 본프레임으로서군집화를통해각 m 번째 c1 노드에해당하는마이크로코드들 h m 을지정할수있다. 즉, h m 은 m 번째클러스터 (cluster) 에해당하는마이크로코드의집합이다. [0084] [0085] [0086] [0087] [0088] 군집화알고리즘으로는다양한모델이사용될수있으며, 특히 k-평균클러스터링 (k-means clustering) 과계층적클러스터링 (hierarchical clustering) 을포함할수있다. 그리고, 군집화알고리즘은 1차개념층을점진적으로학습하기위하여새로운데이터와이를바탕으로새로만들어진마이크로코드를클러스터에추가하는일을수행할수있다. 군집화에서클러스터의개수는모델의성능에큰영향을미친다. 따라서, 새로운데이터의분포를반영하여클러스터의개수를조절하기위한방법을본실시예에따른학습방법또는구축방법에서사용할수있다. 본실시예에적용되는, 클러스터의개수를조절하기위한방법은다음과같다. 먼저, m번째노드 (node) 는다음 < 조건 1> 에두개의노드로분리된다. < 조건 1> [0089] [0090] [0091] 다음, 모든노드에서다음의 < 조건 2> 가성립하면군집화를전체적으로다시수행한다. < 조건 2> [0092] - 12 -
[0093] 여기서, sim 함수는다음의수학식 9 와같이정의된다. 수학식 9 [0094] [0095] [0096] [0097] [0098] [0099] 여기서, Dist(h m ) 은 h m 내의각마이크로코드간의거리의합으로정의된다. 각마이크로코드간의거리는다양하게정의될수있으며, 각마이크로코드가포함하는변수에대한유클리디안거리가사용될수있다. 다음으로전술한마이크로코드의구조변화를토대로심층개념망구축시스템의 2차개념층학습부 (113) 의작동원리를좀더상세히설명하면다음과같다. 2차개념층학습부 (113) 에들어가는노드를각모달과태스크 (task) 에맞는영역지식 (domain-knowledge) 를사용하여관측값의함수로미리정의할수있다. 예를들면, c2 노드와 c1 노드간의가중치 p(c2=k c1=m)=w km 을학습할수있다. 이는입력데이터에서 c2 노드 의발화와 c1 노드에속한하이퍼에지의발화비율의합에비례하는값에해당할수있다. 구체적으로는다음의 수학식 10 과같이정의될수있다. 수학식 10 [0100] [0101] [0102] [0103] 여기서, δ(k,t) 는 k번째 c2 노드에대한함수로서입력데이터의패턴이 k번째 c2 노드와일치하면 1, 일치하지아니하면 1을내는함수이다. 다음으로전술한마이크로코드의구조변화를토대로심층개념망구축시스템의마이크로코드층가중치학습부 (114) 의작동원리를좀더상세히설명하면다음과같다. 마이크로코드층가중치학습부 (114) 는다음의수학식 11 내지수학식 14와같이확률식들에의거하여실시간으로가중치를업데이트할수있다. 수학식 11 [0104] - 13 -
수학식 12 [0105] 수학식 13 [0106] 수학식 14 [0107] [0108] [0109] [0110] 위의수학식 14는마이크로코드층가중치학습부 (114) 가마이크로코드층의심층구조의일부인 2차개념층구조를학습하기위하여추계학적인기울기상승 (stochastic gradient ascent) 을사용하는경우에대응된다. 전술한마이크로코드의구조변화를토대로예측부 (13) 에서모달입력데이터를예측하여모달재현데이터를생성하는원리를좀더상세히설명하면다음과같다. 예측부 (13) 는다음의수학식 15를통해데이터에대한확률을정의할수있다. 수학식 15 [0111] [0112] 위의수학식 15 를바탕으로임의의모달정보 w 가주어졌을때, 예측부 (13) 는모달정보 w 에부합하는다른임 의의모달정보 r 을계산할수있다. 이러한예측부 (13) 의예측결과는다음의수학식 16 에의해생성될수있 다. - 14 -
수학식 16 [0113] [0114] 전술한심층개념망구축시스템을이용하여문장을생성하는알고리즘을나타내면다음의표 1 과같다. 표 1 [0115] [0116] [0117] [0118] 위의문장생성알고리즘에의하면, 질의단어는이미지패치를단어로바꿈으로써얻어질수있다. 전술한심층개념망구축시스템의작동과정을간략히정리하면다음과같다. 도 3은본발명의또다른실시예에따른멀티모달리티데이터복원을위한심층개념망구축방법의흐름도이다. 도 3을참조하면, 심층개념망구축시스템은, 지속적으로유입되는데이터중서로다른두개이상의모달정보 ( 모달 1 입력데이터와모달 2 입력데이터포함 ) 에대한지식 ( 영역지식등 ) 을학습하기위하여먼저서로다른두개이상의모달정보를포함하는입력데이터에대하여마이크로코드층을학습한다 (S31). 본단계 (S - 15 -
1) 에서심층개념망구축시스템은베이지안 (Bayesian) 확률기반으로마이크로코드층을추론할수있으나, 이 에한정되지는않는다. 베이지안확률은지식의상태를측정하기위해사용되는방법으로서본실시예에도적용 가능하다. [0119] [0120] [0121] [0122] [0123] [0124] [0125] [0126] [0127] [0128] [0129] [0130] [0131] [0132] 다음, 상기의단계 (S31) 후에마이크로코드층의심층구조의일부인 1차개념층을학습한다 (S32). 그리고, 상기의단계 (S32) 후에마이크로코드층의심층구조의다른일부인 2차개념층을학습한다 (S33). 여기서, 상기의단계들 (S31 내지 S33) 에서입력데이터의층들의관계를설명하는층들의구조를학습한다. 입력데이터의층들은입력데이터바로윗단의마이크로코드 (microcode) 층과마이크로코드층윗단의여러단들 (stages) 의개념층들로구분될수있다. 다음, 상기의단계들 (S31, S32 및 S33) 에서각각학습된마이크로코드층, 1차개념층, 및 2차개념층의가중치를학습한다 (S34). 본단계 (S34) 에서는각층의확률관계를설명하는가중치를학습한다. 전술한단계들 (S31 내지 S34) 에의하면, 두개이상의모달데이터를입력으로받아데이터내의패턴을파악하고이를심층개념망모델로저장할수있다 (S35). 이때, 전술한단계들 (S31 내지 S34) 에서는지속적으로들어오는데이터를작은단위로모아그정보를모델에반영함으로써학습이점진적으로이루어지도록구현된다. 다음, 심층개념망구축시스템의예측부는심층개념망모델데이터베이스를토대로시스템에입력된임의의모달데이터로부터다른임의의모달데이터를재현한다 (S36). 예를들어, 예측부는모달 3 입력데이터를바탕으로모달 3 재현데이터를예측할수있다. 다음은본발명의바람직한실시예를참조하여구체적인실시예를소개한다. 본실시예는아동용비디오에서자막과화면의정보에서시각 (Vision) 과언어 (Language) 의모달정보를동시에학습하는수행과제이다. 일예로 뽀로로 만화비디오데이터를사용하였으며, 14개의 DVD, 183개의에피소드, 1232분크기의데이터가사용되었다. 이비디오에있는자막과영상에서추출될수있는이미지패치 (patch) 와단어들이심층개념망의입력데이터로사용되었다. 본실시예에따른심층개념망학습설정 (setting) 에서의특이사항은다음과같다. 첫째, 이미지패치를만화비디오에서뽑기위하여 MSER(maximally stable extremal region) 을사용하였다. 둘째, 패치 (patch) 를표현하기위한특징 (feature) 으로 SIFT(scale-invariant feature transform) 와 3원색 (RGB) 을사용하였다. 셋째, 2차개념층의중요개념을애니메이션에서캐릭터가등장하는지여부로정의하였다. 위의실시예에서학습된결과의성능과유용성을보이기위하여두개의과제를수행하였다. 하나는텍스트를바탕으로이미지정보를재현혹은복원하는것으로, 이는대표적으로검색서비스중에서이미지검색과관계가있다. 다른하나는, 이미지정보를바탕으로텍스트를재현하는것이며, 이는이미지자동태깅이나자동설명기술과관계가있다. 각과제의결과를나타내면도 4 및도 5와같다. 도 4는본실시예의심층개념망모델을이용한비디오데이터자막으로부터의비디오데이터영상정보생성에대한예시도이다. 도 4는비디오데이터의자막에서획득한질의문장 (query sentences) 을입력데이터로하는심층개념망을통해제1 시즌 (1 season) 의 1 내지 52 에피소드들 (1~52 episodes) 중에서생성한비디오데이터영상정보, 제1-2 시즌 (2 seasons) 의 1 내지 104 에피소드들 (1~104 episodes) 중에서생성한비디오데이터영상정보, 및전체시즌 (all seasons) 의 1 내지 183 에피소드들 (1~183 episodes) 중에서생성한비디오데이터영상정보를각각예시한다. 그리고, 도 5는본실시예의심층개념망모델을이용한비디오영상정보로부터자막으로의번역에대한예시도이다. 도 5는심층개념망을이용하여에피소드 1 내지 13 및에피소드 1 내지 36에서각각주어진특정한두애니메이션영상들 (scenes) 에대하여새로운문장을생성한결과이다. 첫번째영상의실제자막은 "And petty taught loopy how to ski" 이고, 두번째영상의실제자막은 "Wow poby, you caugth so many already" 이며, 이에대한 UGMC, PRGMC 및 FGMC 방법에의한학습결과를각각보여주고있다. UGMC(uniform graph Monte Carlo), PRGMC(poorer-richer graph Monte Carlo) 및 FGMC(fair graph Monte Carlo) 는본실시예에따른학습방법으로서서로다른그래프몬테카를로 (graph Monte Carlo) 방법을이용한심층개념망학습방법을의미하며, SPC는비교방법으로서성긴집단부호 (sparse population coding) 모델을이용한학습방법을나타낸다. - 16 -
[0133] [0134] [0135] [0136] [0137] [0138] [0139] [0140] [0141] [0142] [0143] [0144] [0145] 도 6은본실시예에따른심층개념망모델을이용하는번역성능에대한예시도이다. 본실시예에서는학습데이터가증가함에따라서심층개념망모델의이미지기반자막생성및캐릭터기반이미지생성에대한예측성능이증가함을보여준다. 즉, 도 6의 (a) 에나타낸바와같이비디오영상을바탕으로자막재생성 (Translation performance) 을수행하고그성능을평가한그래프이다. 성능평가는생성된자막의단어개수중실제자막이포함하는올바른단어의개수 (Precision) 으로정하였다. UGMC, PRGMC 및 FGMC는본실시예에따른학습방법으로서서로다른그래프몬테카를로 (graph Monte Carlo) 방법을이용한심층개념망학습방법을의미하며, SPC는비교방법으로서성긴집단부호 (sparse population coding) 모델을이용한학습방법을나타낸다. 또한, 도 6의 (b) 에나타낸바와같이, 서로다른캐릭터 (Pororo & Crong, Eddy & Rody 등 ) 가영상에있다고가정할때특정질의 (query) 예컨대 "It is a good weather. Do you want some cookies?" 이에대하여심층개념망모델을통해 1 내지 13 에피스도들과 1 내지 183 에피소드들에서각각이미지들을생성할수있다. 이러한이미지들은학습데이터가증가함에따라생성되는이미지가복잡해지는것을알수있다. 도 7은본발명의일실시예에따른멀티모달리티데이터복원을위한심층개념망구축방법을수행하는시스템의블록도이다. 도 7을참조하면, 본실시예에따른심층개념망구축방법을수행하는시스템 ( 이하, 설명의편의상컴퓨팅장치라고한다 )(70) 은, 프로세서 (71) 와메모리 (72) 를포함한다. 또한, 컴퓨팅장치 (70) 는통신인터페이스 (73) 를더포함할수있다. 본실시예에따른컴퓨팅장치 (70) 는프로세서 (4) 와메모리 (5) 를포함하여이루어질수있으나, 이에한정되지는않으며, 통신인터페이스 (73) 외에입출력시스템, 카메라서브시스템, 센서또는이들의조합등의주변장치를더포함할수있다. 주변장치는오디오장치, 마이크또는이들의조합을포함할수있다. 프로세서 (71) 는하나이상의코어, 캐시메모리, 메모리인터페이스및주변장치인터페이스를포함할수있다. 멀티코어 (multi-core) 는두개이상의독립코어를단일집적회로로이루어진하나의패키지로통합한것을지칭한다. 단일코어는중앙처리장치를지칭할수있다. 중앙처리장치 (CPU) 는 MCU(micro control unit) 와주변장치 ( 외부확장장치를위한집적회로 ) 가함께배치되는 SOC(system on chip) 로구현될수있으나, 이에한정되지는않는다. 중앙처리장치는처리할명령어를저장하는레지스터 (register), 비교, 판단, 연산을담당하는산술논리연산장치 (arithmetic logical unit, ALU), 명령어의해석과실행을위해 CPU를내부적으로제어하는제어부 (control unit), 내부버스등을구비할수있다. 또한, 프로세서 (71) 는하나이상의데이터프로세서, 이미지프로세서, 또는코덱 (CODEC) 을포함할수있으나, 이에한정되지는않는다. 데이터프로세서, 이미지프로세서또는코덱은별도로구성될수도있다. 주변장치인터페이스는프로세서 (71) 와입출력시스템및여러다른주변장치를연결하고, 메모리인터페이스는프로세서 (71) 와메모리 (72) 를연결한다. 또한, 프로세서 (71) 는메모리컨트롤러를구비할수있다. 메모리컨트롤러는메모리 (72) 상의저장영역에대한주소와주소에어떻게접근할지를제어하고, 메모리 (72) 의특정주소에데이터를기록하거나읽어낼수있다. 또한, 메모리컨트롤러는메모리 (72) 의리프레쉬 (refresh) 를수행하거나동작전압을공급하거나, 프로세서 (71) 와메모리 (72) 사이에서이들간의의사소통또는신호송수신을담당할수있다. 한편, 메모리컨트롤러는프로세서 (71) 에탑재되지않고, 메모리 (72) 와함께별도의메모리시스템을구성하도록구현될수있다. 전술한구성의프로세서 (71) 는여러가지의소프트웨어프로그램을실행하여컴퓨팅장치 (70) 에서의멀티모달리티데이터복원등을위해데이터획득, 데이터처리및데이터출력을수행할수있다. 또한, 프로세서 (71) 는메모리 (72) 에저장되어있는특정한소프트웨어모듈 ( 명령어세트 ) 을실행하여해당모듈에대응하는특정한여러가지의기능을수행할수있다. 즉, 프로세서 (71) 는메모리 (72) 에저장된소프트웨어모듈들에의해구현되는심층개념망모델에의해컴퓨팅장치 (70) 에입력되는모달입력데이터에서임의의모달데이터를재현할수있다. 메모리 (72) 는프로세서 (71) 내의메모리인터페이스에결합될수있다. 메모리 (72) 는하나이상의자기디스크저장장치와같은고속랜덤액세스메모리및 / 또는비휘발성메모리, 하나이상의광저장장치및 / 또는플래시메모리를포함할수있다. 또한, 메모리 (72) 는소프트웨어, 프로그램, 명령어집합또는이들의조합을저장할수있다. 소프트웨어의구 - 17 -
성요소는운영체제 (operating system) 모듈, 통신모듈, 그래픽모듈, 사용자인터페이스모듈, MPEG(moving picture experts group) 모듈, 카메라모듈, 하나이상의애플리케이션모듈등을포함할수있다. 모듈은명령 어들의집합으로서명령어세트 (instruction set) 또는프로그램으로표현될수있다. [0146] [0147] [0148] [0149] [0150] [0151] [0152] [0153] [0154] [0155] 예를들어, 메모리 (72) 는마이크로코드층의학습을위한제1 모듈, 1차개념층학습을위한제2 모듈, 2차개념층학습을위한제3 모듈, 마이크로코드층가중치학습을위한제4 모듈및모달입력데이터로부터모달재현데이터의예측을위한제5 모듈등을포함할수있다. 운영체제는예컨대 MS(microsoft) WINDOWS, LINUX, 다윈 (Darwin), RTXC, UNIX, OS X, ios, 맥 OS, VxWorks, 구글 OS, 안드로이드 (android), 바다 ( 삼성 OS), 플랜 9 등과같은내장운영체제를포함하고, 컴퓨팅장치의시스템작동 (system operation) 을제어하기위한여러가지의구성요소를구비할수있다. 심층개념망모델구축이나이와관련된기능의제어를제외한일반적인시스템작동또는그기능의제어를위해, 컴퓨팅장치 (70) 는예를들어메모리관리및제어, 저장하드웨어제어및관리, 전력제어및관리등을위한수단이나이러한수단에상응하는기능을수행하는구성부를포함할수있다. 전술한운영체제는여러가지의하드웨어 ( 장치 ) 와소프트웨어구성요소 ( 모듈 ) 사이의통신을수행하는기능도구비할수있으나, 이에한정되지는않는다. 통신인터페이스 (73) 는하나이상의유선및 / 또는무선통신서브시스템을포함할수있다. 무선통신서브시스템은무선주파수 (radio frequency) 수신기및송수신기및 / 또는광 ( 예컨대, 적외선 ) 수신기또는송수신기를포함할수있다. 통신인터페이스는네트워크예를들어, GSM(Global System for Mobile Communication) 네트워크, EDGE(Enhanced Data GSM Environment) 네트워크, CDMA(Code Division Multiple Access) 네트워크, W- CDMA(W-Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, OFDMA(Orthogonal Frequency Division Multiple Access) 네트워크, WiMax 네트워크, Wi-Fi(Wireless Fidelity) 네트워크, Bluetooth 네트워크등에연결되어적어도하나이상의통신프로토콜을지원할수있다. 컴퓨팅장치 (70) 에구비될수있는주변장치로서, 입출력시스템은터치스크린제어기및 / 또는기타입출력제어기를포함할수있다. 터치스크린제어기는터치스크린에연결될수있다. 터치스크린및터치스크린제어기는, 이하에한정되지는않지만, 터치스크린과의하나이상의접촉점을결정하기위한용량성, 저항성, 적외선및표면음향파기술들뿐아니라기타근접센서배열또는기타요소들을포함하는임의의멀티터치감지기술을이용하여접촉및움직임또는이들의중단을검출할수있다. 터치스크린은디스플레이모듈의일종으로서컴퓨팅장치 (70) 상의사용자인터페이스로서기능할수있다. 즉, 터치스크린은사용자의터치입력을프로세서 (71) 에전달할수있다. 또한터치스크린은컴퓨팅장치 (70) 에서멀티모달리티데이터의입력, 처리및출력등에대한정보를시각적으로보여주는수단및 / 또는구성부로서동작할수있다. 시각적출력 (visual output) 은텍스트 (text), 그래픽 (graphic), 비디오 (video), 또는이들의조합형태를가질수있다. 전술한터치스크린은여러가지디스플레이타입들중어느한형태로제조될수있다. 예를들어터치스크린은, 이에한정되지는않지만, LCD(liquid crystal display), LED(light emitting diode), LPD(light emitting polymer display), OLED(organic light emitting diode), AMOLED(active matrix organic light emitting diode) 또는 FLED(flexible LED) 형태로구현될수있다. 또한, 컴퓨팅장치 (70) 에구비될수있는주변장치로서, 기타입출력제어기는컴퓨팅장치 (70) 에탑재되거나결합하는기타입출력장치에연결될수있다. 기타입출력장치는하나이상의버튼, 로커 (rocker) 스위치, 섬휠 (thumb-wheel), 다이얼 (dial), 스틱 (stick), 스타일러스와같은포인터장치, 오디오장치, 또는이들의조합등을포함할수있다. 한편, 본실시예에따른컴퓨팅장치 (70) 는전술한구성으로한정되지않고, 하나이상의스트림프로세싱 (processing) 및 / 또는애플리케이션특정집적회로 (ASIC, Application Specific Integrated circuit) 를포함하는하드웨어, 소프트웨어또는이들의조합에의해구현되고메모리 (72) 등에저장되는심층개념망모델데이터베이스를통해멀티모달리티입력데이터로부터임의의멀티모달리티데이터를재현또는복원할수있다. 한편, 전술한실시예들에있어서, 심층개념망구축시스템의구성요소들 ( 도 1의 111 내지 114, 12 및 13 참조 ) 은컴퓨터장치에탑재되는기능블록이나모듈일수있으나, 이에한정되지않는다. 전술한구성요소들은이들이수행하는일련의기능을구현하기위한소프트웨어형태로컴퓨터판독가능매체 ( 기록매체 ) 에저장되거 - 18 -
나혹은캐리어형태로원격지에전송되어다양한컴퓨터장치에서동작하도록구현될수있다. 이경우, 컴퓨터판독가능매체는네트워크를통해연결되는복수의컴퓨터장치나클라우드시스템에결합할수있고, 복수의컴퓨터장치나클라우드시스템중적어도하나이상은메모리시스템에본실시예의심층개념망구축시스템및 / 또는심층개념망모델데이터베이스를구현한프로그램이나소스코드등을저장할수있다. [0156] [0157] [0158] 즉, 컴퓨터판독가능매체는프로그램명령, 데이터파일, 데이터구조등을단독으로또는조합하는형태로구현될수있다. 컴퓨터판독가능매체에기록되는프로그램은본발명을위해특별히설계되고구성된것들이거나컴퓨터소프트웨어당업자에게공지되어사용가능한것일수있다. 또한, 컴퓨터판독가능매체는롬 (rom), 램 (ram), 플래시메모리 (flash memory) 등과같이프로그램명령을저장하고수행하도록특별히구성된하드웨어장치가포함할수있다. 프로그램명령은컴파일러 (compiler) 에의해만들어지는것과같은기계어코드뿐만아니라인터프리터 (interpreter) 등을사용해서컴퓨터에의해실행될수있는고급언어코드를포함할수있다. 하드웨어장치는본실시예의소음제거방법을수행하기위해적어도하나의소프트웨어모듈로작동하도록구성될수있으며, 그역도마찬가지이다. 상기에서는본발명의바람직한실시예를참조하여설명하였지만, 해당기술분야의숙련된당업자는하기의특허청구의범위에기재된본발명의사상및영역으로부터벗어나지않는범위내에서본발명을다양하게수정및변경시킬수있음을이해할수있을것이다. [0159] 부호의설명 11: 학습부 12: 심층개념망모델데이터베이스 13: 예측부 111: 마이크로코드층구조학습부 112: 1차개념층학습부 113: 2차개념층학습부 114: 마이크로코드층가중치학습부 도면 도면 1-19 -
도면 2 도면 3-20 -
도면 4 도면 5-21 -
도면 6 도면 7-22 -