KR20230072400A - 변분 오토인코딩 장치, 방법 및 프로그램 - Google Patents
변분 오토인코딩 장치, 방법 및 프로그램 Download PDFInfo
- Publication number
- KR20230072400A KR20230072400A KR1020220103679A KR20220103679A KR20230072400A KR 20230072400 A KR20230072400 A KR 20230072400A KR 1020220103679 A KR1020220103679 A KR 1020220103679A KR 20220103679 A KR20220103679 A KR 20220103679A KR 20230072400 A KR20230072400 A KR 20230072400A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- image
- codebook
- size
- encoded data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000015654 memory Effects 0.000 claims abstract description 25
- 239000013598 vector Substances 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 22
- 230000036961 partial effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 abstract description 3
- 238000003062 neural network model Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 22
- 238000013528 artificial neural network Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 241000283070 Equus zebra Species 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 4
- 230000003416 augmentation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 206010003805 Autism Diseases 0.000 description 1
- 208000020706 Autistic disease Diseases 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20052—Discrete cosine transform [DCT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Image Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
Abstract
정보 손실을 최소화하여 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 수행할 수 있는 변분 오토인코딩 장치, 방법 및 프로그램에 관한 것으로, 적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장하는 메모리; 및 상기 적어도 하나의 인스트럭션을 실행함으로써 상기 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더; 상기 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더; 상기 이산데이터가 매핑되는 집합으로서, 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하도록 구성된 코드북; 상기 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더; 및 상기 제1 디코딩 데이터를 상기 제1 크기만큼 업사이징함으로써 상기 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함하는 것을 특징으로 한다.
Description
본 개시는 변분 오토인코딩 장치에 관한 것으로, 보다 구체적으로 정보 손실을 최소화하여 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 수행할 수 있는 변분 오토인코딩 장치, 방법 및 프로그램에 관한 것이다.
일반적으로, 문장 시각화 기술은, 주어진 문장에 대해 해당 문장을 설명하거나 묘사하는 그림 또는 사진을 생성하는 기술로서, 이러한 기술은 주어진 텍스트의 이해를 위한 보조 도구로 활용되거나, 또는 음성 인식과의 결합을 통해 의사소통의 보조 도구로 활용될 수 있다.
또한, 문장 시각화 기술의 역에 해당하는 기술로서, 그림 또는 사진으로부터 문장을 생성하기 위한 이미지 텍스트화 기술 또한 다양한 분야에서 활용될 수 있다.
문장 시각화 기술 또는 이미지 텍스트화 기술은, 뉴럴 네트워크(neural network)를 활용하여 구현될 수 있다.
뉴럴 네트워크는, 인간 두뇌의 신경망을 모방하여 정보를 처리하는 네트워크 구조를 의미할 수 있다.
뉴럴 네트워크는, 특정 알고리즘 또는 기능을 구현하기 위해 학습될 수 있고, 학습이 완료된 뉴럴 네트워크는 특정 알고리즘 또는 기능에 관하여 주어진 입력에 대한 출력을 추론할 수 있다.
문장 시각화 기술 또는 이미지 텍스트화 기술이 뉴럴 네트워크로 구현되는 경우, 학습된 뉴럴 네트워크가 이미지 또는 텍스트를 추론하는 성능은, 뉴럴 네트워크가 학습되는 방식 및 뉴럴 네트워크에 대한 모델링 방식에 따라 달라질 수 있다.
따라서, 이미지 또는 텍스트의 추론 성능을 향상시키기 위해서는, 뉴럴 네트워크에 대한 학습 방식 및 모델링 방식이 개선될 것이 요구될 수 있다.
상술한 바와 같은 문제점을 해결하기 위한 본 개시의 일 목적은, 새로운 방식의 뉴럴 네트워크 모델을 이용하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있는 변분 오토인코딩 장치, 방법 및 프로그램을 제공하는 것이다.
본 개시이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 개시의 일 실시예에 따른 변분 오토인코딩 장치는, 연속데이터에 대해 이산데이터 특성으로 학습하는, 변분 오토인코딩(Variational Autoencoding) 장치로서, 적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장하는 메모리; 및 상기 적어도 하나의 인스트럭션을 실행함으로써 상기 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더; 상기 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더; 상기 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하고, 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하도록 구성된 코드북; 상기 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더; 및 상기 제1 디코딩 데이터 및 상기 코드북에 저장된 상기 제1 인코딩 데이터를 상기 제1 크기만큼 업사이징함으로써 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 변분 오토인코딩 장치는, 연속데이터에 대해 이산데이터 특성으로 학습된, 변분 오토인코딩(Variational Autoencoding) 장치로서, 적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장하는 메모리; 및 상기 적어도 하나의 인스트럭션을 실행함으로써 상기 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더; 상기 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더; 상기 이산데이터가 매핑되는 집합으로서, 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하도록 구성된 코드북; 상기 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더; 및 상기 제1 디코딩 데이터를 상기 제1 크기만큼 업사이징함으로써 상기 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 변분 오토인코딩 방법은, 연속데이터에 대해 이산데이터 특성으로 학습하는, 변분 오토인코딩(Variational Autoencoding) 방법으로서, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징하고, 제1 인코딩 데이터를 생성하는 단계; 상기 제1 인코딩 데이터를 제2 크기로 다운사이징하고, 제2 인코딩 데이터를 생성하는 단계; 상기 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하는 코드북에 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하는 단계; 상기 제2 인코딩 데이터를 제2 크기로 업사이징하고, 제1 디코딩 데이터 생성하는 단계; 및 제1 인코딩 데이터 및 제1 디코딩 데이터를 제1 크기로 업사이징하고, 제2 디코딩 데이터를 생성하는 단계를 포함하는 것을 특징으로 한다.
상술한 과제를 해결하기 위한 본 개시의 다른 실시 예에 따른 변분 오토인코팅 방법을 제공하는 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상술한 방법 중 어느 하나의 방법을 수행하기 위해 매체에 저장된다.
이 외에도, 본 개시를 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같이 본 개시에 따르면, 멀티 모달(multi modal) 모델을 구현하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있다.
또한, 본 개시는, 크로스-레벨 피쳐 오그먼테이션(Cross-Level Feature Augmentation)을 통한 VQ-VAE의 재건 충실도(Reconstruction Fidelity)가 향상될 수 있다.
여기서, 본 개시는, 연속적인 데이터 특성으로 이산으로(discrete) 학습하기 때문에 이미지를 압축하고 복원시키는 과정에서 발생하는 정보손실을 최소화할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치를 설명하기 위한 기본 모델을 보여주는 도면이다.
도 2는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 3 내지 도 5는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 6은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 순서도이다.
도 7은, 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 8 및 도 9는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 10은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 순서도이다.
도 11은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지와 텍스트간의 영방향 변환 과정을 설명하기 위한 도면이다.
도 12 및 도 13은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 14는, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 도면이다.
도 15는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치를 설명하기 위한 도면이다.
도 2는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 3 내지 도 5는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 6은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 순서도이다.
도 7은, 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 8 및 도 9는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 10은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 순서도이다.
도 11은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지와 텍스트간의 영방향 변환 과정을 설명하기 위한 도면이다.
도 12 및 도 13은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 14는, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 도면이다.
도 15는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치를 설명하기 위한 도면이다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술 분야의 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 개시에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있다. 개시에서 사용되는 "포함할 수 있다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 개시 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함할 수 있다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
"예시적인"이라는 단어는 본 개시에서 "예시 또는 예증으로서 사용된"의 의미로 사용된다. 본 개시에서 "예시적인"것으로 설명된 임의의 실시예는 반드시 바람직한 것으로서 해석되거나 다른 실시예들보다 이점을 갖는 것으로 해석되어서는 안된다.
본 개시의 실시예들은 기능 또는 기능을 수행하는 블록의 관점에서 설명될 수 있다. 본 개시의 '부' 또는 '모듈' 등으로 지칭될 수 있는 블록은 논리 게이트, 집적 회로, 마이크로 프로세서, 마이크로 컨트롤러, 메모리, 수동 전자 부품, 능동 전자 부품, 광학 컴포넌트, 하드와이어드 회로(hardwired circuits) 등과 같은 아날로그 또는 디지털 회로에 의해 물리적으로 구현되고, 선택적으로 펌웨어 및 소프트웨어에 의해 구동될 수 있다. 또한, 개시에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 엘리먼트를 의미하며, "부"는 어떤 역할들을 수행할 수 있다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 엘리먼트들, 객체지향 소프트웨어 엘리먼트들, 클래스 엘리먼트들 및 태스크 엘리먼트들과 같은 엘리먼트들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다. 엘리먼트들과 "부"들 안에서 제공되는 기능은 더 작은 수의 엘리먼트들 및 "부"들로 결합되거나 추가적인 엘리먼트들과 "부"들로 더 분리될 수 있다.
본 개시의 실시예는 적어도 하나의 하드웨어 디바이스 상에서 실행되는 적어도 하나의 소프트웨어 프로그램을 사용하여 구현될 수 있고 엘리먼트를 제어하기 위해 네트워크 관리 기능을 수행할 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 할 수 있다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여 질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명할 수 있다.
설명에 앞서 본 개시에서 사용하는 용어의 의미를 간략히 설명한다. 그러나, 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 개시을 한정하는 사항으로 기재하지 않은 경우에 본 개시의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서 신경망, 인공 신경망, 네트워크 함수는 종종 상호 교환 가능하게 사용될 수 있다.
또한, 본 명세서에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 “노드(node)”라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은, “뉴런(neuron)”들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 “링크”에 의해 상호 연결될 수 있다.
도 1은, 본 개시의 일 실시예에 따른 변분(Variational) 오토인코딩(Auto-Encoding) 장치를 설명하기 위한 기본 모델을 보여주는 도면이다.
본 개시의 변분 오토인코딩 장치(10)는, VQ-VAE(Vector Quantized Variational AutoEncoder)의 이미지 압축 및 복원 능력을 향상시키기 위해 VQ-VAE 모델보다 더 강화된 VQ-VAE 기반의 AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지 데이터 학습을 수행할 수 있다.
오토 인코더는, 주어진 데이터의 분포를 잠재 공간(400)에 압축하는 방법을 학습하는 신경망 모델이다.
여기서, 오토 인코더는, 데이터를 압축하는 인코더(100)와 데이터의 압축을 푸는 디코더(200)를 포함할 수 있다.
데이터가 이미지인 경우, 입력 이미지(input IMG)가 인코더(100)에 입력되면 인코더(100)는 이미지를 잠재 공간(400) 상의 잠재 벡터(z)로 변환하고, 디코더(200)는 잠재 벡터(z)를 다시 이미지로 복원하여 출력 이미지(output IMG)를 생성할 수 있다.
이때, 인코더의 압축을 거친 잠재 공간(400) 상의 벡터는, 입력 데이터보다 크기가 줄어들게 되는데, 크기가 줄어든 입력 데이터를 다시 얼마나 동일하게 복원하는지에 따라 모델의 성능을 알 수 있다.
하지만, 이러한 오토 인코더는, 학습 데이터가 잠재 공간(400) 상에 흩어져서 배치될 수 있다.
이에 반해, 도 1에 도시된 바와 같이, 본 개시에 따른 변분 오토인코딩 장치(10)는, 잠재 공간(400) 상의 데이터를 사전 정의된 분포에 따라 정돈하여 배치하는 오토 인코더일 수 있다.
예시적인 실시예에 따른 변분 오코딩 장치(10)는, 정규화된 가우시안 분포(Gaussian Distribution)에 따라 정돈되어 배치될 수 있다.
즉, 변분 오토인코딩 장치(10)는, 학습 데이터가 잠재 공간(400) 상에 흩어지져서 배치되지 않도록 유사한 특징을 갖는 학습 데이터들을 잠재 공간(400) 상에 정돈하여 배치할 수 있는 오토 인코더일 수 있다.
본 개시의 예시적인 실시예에 따르면, 인코더(100)는 입력 이미지(input IMG)를 잠재 공간(400) 상의 잠재 벡터(z)로 변환할 수 있다.
입력 이미지(input IMG)는, 평균(mean)(μ) 및 표준편차(standard deviation)(σ)를 가지는 정규분포에 따르도록 분류될 수 있다.
인코딩 후의 잠재 벡터(z)에는, 표준정규분포(즉, 평균 0, 표준편차 1을 따르는 정규분포)를 따르는 특성을 가지는 노이즈(ε)가 추가될 수 있다.
이 경우, 잠재 벡터(z)는 다음과 같은 수학식을 따를 수 있다.
[수학식 1]
z = μ + σ2 · ε
수학식 1을 참조하면, 노이즈(ε)는, 분산의 가중치로 기능할 수 있다.
변분 오토인코딩 장치(10)는, VAE 모델 구조에서, 인코더(100)의 뒤쪽과 디코더(200)의 앞쪽에 코드북을 추가 배치하는 모델일 수 있다.
여기서, 코드북은, 잠재 공간(400) 상의 잠재 벡터(z)들이 실제 이미지와 대치(replace)되는 데이터셋(dataset)의 저장소일 수 있다.
따라서, 변분 오토인코딩 장치(10)는, 코드북을 이용하여 실제 이미지의 일부분에 해당하는 벡터들을 특징별로 잠재 공간(400) 상에 정돈하여 배치할 수 있다.
본 개시의 변분 오토인코딩 장치(10)는, VQ-VAE 기반의 AugVAE 모델을 이용하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 양 방향 변환을 자유롭게 수행할 수 있다.
본 개시의 AugVAE 모델은, 코드북의 배치를 이미지를 압축하는 과정의 중간에 다수 배치함으로써, 이미지를 압축하는 과정의 중간에 동일한 특징을 갖는 이미지의 일부분이 동일한 항목에 들어가도록 코드북에 여러 번 기록할 수 있다.
본 개시의 변분 오토인코딩 장치(10)는, 입력 이미지에 대한 이산데이터 학습을 수행할 수 있다.
여기서, 이산 데이터는, 언어, 음성 및 이미지 등과 같이 데이터가 연속적이지 않는 데이터를 포함할 수 있다.
언어 및 음성은, 본질적으로 이산적인 성질을 가지고, 이미지는, 언어로 표현될 수 있다.
따라서, 본 개시의 변분 오토인코딩 장치(10)는, VAE와 이산표현을 결합한 새로운 생성모델로서, Vector Quantisation(VQ)를 사용하여 너무 큰 분산으로 생기는 어려움을 피하면서 학습하기 편하고 잠재 변수가 데이터 특징을 정확하게 파파악하지 못하는 사후 붕괴(posterior collapse) 현상 문제를 해결할 수 있으며, 연속표현을 사용하는 모델과 비등하면서도 이산표현의 유연함을 제공할 수 있다.
도 2는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 2에 도시된 바와 같이, 본 개시의 프로세서(20)는, 적어도 하나의 인스트럭션을 실행하여 입력 이미지에 대한 이산데이터 학습을 수행할 수 있다.
여기서, 프로세서(20)는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더(110), 제1 인코딩 데이터를 제2 크기로 다운사이징하여 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더(130), 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하고 제1 인코딩 데이터 및 제2 인코딩 데이터를 저장하도록 구성된 코드북(210), 코드북(210)에 저장된 제2 인코딩 데이터를 제2 크기만큼 업사이징하여 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더(310), 그리고 제1 디코딩 데이터 및 코드북(210)에 저장된 제1 인코딩 데이터를 제1 크기만큼 업사이징하여 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더(330)를 포함할 수 있다.
본 개시에서, 이산 표현은, 임베딩 e ∈ RK × D로 나타낼 수 있는데, 이를 코드북(codebook)이라 하고, K는, 이산 표현 공간의 크기(K-way categorical과 같음), D는, 각 embedding vector ei의 차원이다.
즉, ei ∈ RD로, i ∈ 1, 2, ...., K이며, 임베딩 벡터(embedding vector)가 K개가 있는 것으로, 코드북이 K개이다.
그리고, 텐서(tensor)의 각 위치마다 e1부터 ek까지 중에서 가까운 한 개로 변환함으로써, K개의 코드북(임베딩 스페이스에서 미리정해진)을 WxHxD의 어느 하나와 대체(replacement)할 수 있다.
이때, 적어도 하나의 입력 이미지의 각 부분인 부분 이미지는, 코드북(210)의 인덱스와 대응되어 전체로서 대상 이미지를 표현할 수 있다.
그리고, 제1 인코더(110) 및 제2 인코더(130)는, 부분 이미지를, 코드북(210) 내의 코드북 벡터 중 최소 거리를 가지는 코드북 벡터의 인덱스로 대치(replacing)할 수 있다.
이어, 제1 디코더(310) 및 제2 디코더(330)는, 코드북 벡터의 인덱스를 코드북 벡터로 각각 매핑(mapping)할 수 있다.
즉, 코드북 벡터의 인덱스로 대치(replacing)할 때, 모델의 인코더는, 입력 x를 받아 Ze(x)를 출력한다.
여기서, 이산표현벡터 z는, 임베딩 스페이스(embedding space) e에서 가장 가까운 임베딩 벡터(embedding vector)를 찾을 수 있다.
다음, 제1 인코더(110) 및 제2 인코더(130)는, 잠재 공간(latent space)에서 추출된 잠재 벡터(latent vector)를, 이산데이터로 매핑되는 집합인 임베딩 공간으로 임베딩할 수 있고, 제1 디코더(310) 및 제2 디코더(330)는, 지정된 수의 코드북 벡터를 이용해 데이터를 재구축할 수 있다.
예를 들어, 코드북은, 약 8192개로 구현될 수 있으나, 이에 제한되지는 않는다.
여기서, 잠재 벡터는, 평균 및 표준편차를 가지도록 표준화되고, 이산 잠재 변수에 대한 조건부확률의 사전(prior) 확률에 대응될 수 있다.
다음, 코드북(210)은, 제1 인코더(110) 및 제2 인코더(130)의 출력에, 입력의 영향을 축소시키도록 기능하는 정지 경사(stop gradient)가 적용되어 업데이트될 수 있다.
또한, 임베딩 공간은, 제1 인코더(110) 또는 제2 인코더(130)의 출력과 실질적으로 동일하도록 학습될 수 있다.
또한, 제1 디코딩 데이터는, 제2 디코딩 데이터와 연속(Concatenation)될 수 있다.
또한, 코드북(210)은, 국부적 패턴과 거시적 정보가 분리된 계층화된 특성 레벨에 따라 학습될 수 있다.
여기서, 제1 인코더(110)는, 적어도 하나의 입력 이미지를 인코딩하여 국부적 패턴을 모델링하고, 제2 인코더(130)는, 모델링된 이미지를 재인코딩하여 거시적 정보를 모델링할 수 있다.
이때, 제1 인코더(110)와 제2 인코더(130)는, 교차 수준 패치 유사도(Cross level patch similarity)에 기초해, 패치 사이즈에 무관한 패치들을 압축할 수 있다.
여기서, 교차 수준 패치 유사도는, 기준 이미지의 특징점에 대해 목표 이미지의 대응점을 찾고, 다시 목표 이미지의 대응점에서 기준 이미지의 대응점을 찾는 교차 검색을 통해 유사도를 산출하는 방식일 수 있다.
도 3 내지 도 5는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 3 내지 도 5에 도시된 바와 같이, 본 개시는, AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지 데이터 학습을 수행할 수 있다.
본 개시의 AugVAE는, 도 5에 도시된 바와 같이, 다양한 크기의 얼룩말 이미지가 있는 경우, 얼룩말 이미지는, 크기와 무관하게 동일한 얼룩 패턴을 가진다는 것을 알 수 있다.
좌측 이미지는, 전체적인 얼룩말을 보여주는 이미지이고, 중간 이미지는, 좌측 이미지보다 더 확대한 얼룩말을 보여주는 이미지이며, 우측 이미지는, 중간 이미지보다 더 확대한 얼룩말을 보여주는 이미지이다.
본 개시는, 좌측 이미지의 얼룩말로부터 거시적 정보(global information)(2)에 상응하는 특징을 추출할 수 있고, 우측 이미지의 얼룩말로부터 국부적 패턴(local pattern)(4)에 상응하는 특징을 추출할 수 있다
이처럼, 본 개시의 뉴럴 네트워크 모델은, 이미지의 크기에 상관 없이 얼룩말의 얼룩 패턴 등과 같이 다양한 크기의 이미지 패턴을 정확하게 학습할 수 있다.
즉, 본 개시의 뉴럴 네트워크 모델은, 교차 수준 패치 유사도(Cross level patch similarity)를 활용하여 패치 사이즈에 상관 없이 유사한 패치들을 최대한 압축하고, 압축한 다수의 패치들을 코드북에 저장할 수 있다.
예를 들면, 도 3에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 이미지가 입력되면 제1 인코더(111)가 입력 이미지의 크기를 1/4로 1차 다운사이징하여 코드북(211)에 저장하고, 제2 인코더(131)가 1차 다운사이징된 입력 이미지의 크기를 1/2로 2차 다운사이징하여 코드북(211)에 저장하며, 제3 인코더(133)가 2차 다운사이징된 입력 이미지의 크기를 1/2로 3차 다운사이징하여 코드북(211)에 저장하고, 제4 인코더(135)가 3차 다운사이징된 입력 이미지의 크기를 1/2로 4차 다운사이징하여 코드북(211)에 저장할 수 있다.
일 예로, 256*256 크기의 이미지는, 64*64 크기의 이미지로 줄어들고, 64*64 크기의 이미지는, 32*32 크기의 이미지로 줄어들 수 있다.
이어, 제1 디코더(311)는, 코드북(211)으로부터 1/2로 4차 다운사이징된 이미지를 2배로 1차 업사이징하여 출력하고, 제2 디코더(313)는, 제1 디코더(311)로부터 출력된 1차 업사이징된 이미지와 코드북(211)으로부터 1/2로 3차 다운사이징된 이미지를 2배로 2차 업사이징하여 출력하며, 제3 디코더(315)는, 제2 디코더(313)로부터 출력된 2차 업사이징된 이미지와 코드북(211)으로부터 1/2로 2차 다운사이징된 이미지를 2배로 3차 업사이징하여 출력하고, 제4 디코더(331)는, 제3 디코더(315)로부터 출력된 3차 업사이징된 이미지와 코드북(211)으로부터 1/4로 1차 다운사이징된 이미지를 4배로 4차 업사이징하여 재건된 이미지를 출력할 수 있다.
도 4에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 이미지(1001)를 인코딩하여 국부적 패턴을 1차 모델링하고, 1차 모델링된 이미지(1002)를 재인코딩하여 거시적 정보를 2차 모델링할 수 있다.
2차 모델링된 이미지(1003)는, 특정 크기로 다운사이징되어 다수의 제1 패치(1004)들로 코드북에 저장되고, 1차 모델링된 이미지(1002)는, 특정 크기로 다운사이징되어 다수의 제2 패치(1006)들로 코드북에 저장될 수 있다.
그리고, 본 개시의 뉴럴 네트워크 모델은, 코드북에 저장된 다수의 제1 패치(1004)와 제2 패치(1006)들을 디코딩하여 재건된 이미지(1007)를 출력할 수 있다.
따라서, 본 개시의 뉴럴 네트워크 모델은, 방대한 이미지로부터 각 사물 이미지의 부분 특징을 효과적으로 학습할 수 있는 모델이므로, 더욱 정교한 이미지를 생성할 수 있다.
도 6은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 학습 과정을 설명하기 위한 순서도이다.
도 6에 도시된 바와 같이, 본 개시는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징하고, 제1 인코딩 데이터를 생성할 수 있다(S110).
여기서, 본 개시는, 제1 인코딩 데이터를 생성할 때, 적어도 하나의 입력 이미지를 인코딩함으로써 국부적 패턴을 모델링할 수 있다.
이어, 본 개시는, 제1 인코딩 데이터를 제2 크기로 다운사이징하고, 제2 인코딩 데이터를 생성할 수 있다(S130).
여기서, 본 개시는, 제2 인코딩 데이터를 생성할 때, 모델링된 이미지를 재인코딩함으로써 거시적 정보를 모델링할 수 있다.
다음, 본 개시는, 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하는 코드북에 제1 인코딩 데이터 및 제2 인코딩 데이터를 저장할 수 있다(S150).
여기서, 코드북은, 국부적 패턴과 거시적 정보가 분리된, 계층화된 특성 레벨에 따라 학습될 수 있다.
또한, 코드북은, 입력의 영향을 축소시키도록 기능하는 정지 경사(stop gradient)가 적용됨으로써 업데이트될 수 있다.
그리고, 코드북의 임베딩 공간은, 제1 인코딩 데이터 또는 제2 인코딩 데이터의 출력과 실질적으로 동일하도록 학습될 수 있다.
또한, 입력 이미지의 각 부분인 부분 이미지는, 코드북의 인덱스와 대응됨으로써 전체로서 대상 이미지를 표현할 수 있다.
즉, 부분 이미지는, 코드북 내의 코드북 벡터 중 최소 거리를 가지는 코드북 벡터의 인덱스로 대치(replacing)할 수 있다.
그리고, 본 개시는, 제2 인코딩 데이터를 제2 크기로 업사이징하고, 제1 디코딩 데이터 생성할 수 있다(S170).
이어, 본 개시는, 제1 인코딩 데이터 및 제1 디코딩 데이터를 제1 크기로 업사이징하고, 제2 디코딩 데이터를 생성할 수 있다(S190).
여기서, 본 개시는, 제1, 제2 디코딩 데이터를 생성할 때, 코드북 벡터의 인덱스를 코드북 벡터로 각각 매핑(mapping)할 수 있다.
그리고, 제1 디코딩 데이터는, 제2 디코딩 데이터와 연속(Concatenation)될 수 있다.
본 개시는, 잠재 공간(latent space)에서 추출된 잠재 벡터(latent vector)를, 이산데이터로 매핑되는 집합인 임베딩 공간으로 임베딩하고, 지정된 수의 코드북 벡터를 이용해 데이터를 재구축할 수 있다.
여기서, 잠재 벡터는, 평균 및 표준편차를 가지도록 표준화되고, 이산 잠재 변수에 대한 조건부확률의 사전(prior) 확률에 대응될 수 있다.
도 7은, 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 7에 도시된 바와 같이, 본 개시의 프로세서(30)는, 적어도 하나의 인스트럭션을 실행하여 입력 이미지에 대한 이산데이터 학습을 수행할 수 있다.
여기서, 프로세서(30)는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더(150), 제1 인코딩 데이터를 제2 크기로 다운사이징하여 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더(170), 이산데이터가 매핑되는 집합으로서 제1 인코딩 데이터 및 제2 인코딩 데이터를 저장하도록 구성된 코드북(230), 코드북(230)에 저장된 제2 인코딩 데이터를 제2 크기만큼 업사이징하여 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더(350), 그리고 제1 디코딩 데이터를 제1 크기만큼 업사이징하여 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더(370)를 포함할 수 있다.
여기서, 제1 디코딩 데이터는, 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행될 수 있다.
이때, 단일 컨볼루션 연산은, 입력 채널에 대한 출력 채널의 크기를 변경할 수 있다.
그리고, 코드북(230)은, 양방향 자기 회귀적 트랜스포머(Bi-directional Auto-Regressive Transformer)의 이미지 토큰에 이용될 수 있다.
양방향 자기 회귀적 트랜스포머에 관해서는, 도 9에서 보다 상세히 설명될 것이다.
여기서, 제1 디코더(350)는, 양방향 자기 회귀적 트랜스포머의 출력을 수신할 수 있다.
도 8 및 도 9는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 본 개시는, 사전 학습된 AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지를 생성할 수 있다.
예를 들면, 본 개시의 뉴럴 네트워크 모델은, 이미지가 입력되면 제1 인코더(113)가 입력 이미지의 크기를 1/4로 1차 다운사이징하고, 제2 인코더(137)가 1차 다운사이징된 입력 이미지의 크기를 1/2로 2차 다운사이징하여 코드북(213)에 저장할 수 있다.
일 예로, 256*256 크기의 이미지는, 64*64 크기의 이미지로 줄어들고, 64*64 크기의 이미지는, 32*32 크기의 이미지로 줄어들 수 있다.
이어, 제1 디코더(317)는, 코드북(213)으로부터 2차 다운사이징된 이미지를 1차 업사이징하여 출력하고, 제2 디코더(313)는, 제1 디코더(311)로부터 출력된 1차 업사이징된 이미지를 2차 업사이징하여 이미지를 출력할 수 있다.
여기서, 이미지를 1차 업사이징하여 출력하는 제1 디코딩 데이터는, 이미지를 2차 업사이징하여 출력하는 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행될 수 있다.
이때, 단일 컨볼루션 연산은, 입력 채널에 대한 출력 채널의 크기를 변경할 수 있다.
그리고, 코드북(230)은, 양방향 자기 회귀적 트랜스포머(Bi-directional Auto-Regressive Transformer)의 이미지 토큰에 이용될 수 있다.
여기서, 제1 디코더(317)는, 양방향 자기 회귀적 트랜스포머의 출력을 수신할 수 있다.
도 9에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 이미지를 인코딩하여 국부적 패턴을 1차 모델링하고, 1차 모델링된 이미지를 재인코딩하여 거시적 정보를 2차 모델링할 수 있다.
2차 모델링된 이미지는, 특정 크기로 다운사이징되어 다수의 제1 패치(2003)들로 코드북에 저장되고, 1차 모델링된 이미지는, 특정 크기로 다운사이징되어 다수의 제2 패치(2007)들로 코드북에 저장될 수 있다.
그리고, 본 개시의 뉴럴 네트워크 모델은, 코드북에 저장된 다수의 제1 패치(2003)와 제2 패치(2007)들을 디코딩하여 이미지를 출력할 수 있다.
따라서, 본 개시의 뉴럴 네트워크 모델은, 방대한 이미지로부터 각 사물 이미지의 부분 특징을 효과적으로 학습할 수 있는 모델이므로, 더욱 정교한 이미지를 생성할 수 있다.
도 10은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지 생성 과정을 설명하기 위한 순서도이다.
도 10에 도시된 바와 같이, 본 개시는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징하고, 제1 인코딩 데이터를 생성할 수 있다(S210).
여기서, 본 개시는, 제1 인코딩 데이터를 생성할 때, 적어도 하나의 입력 이미지를 인코딩함으로써 국부적 패턴을 모델링할 수 있다.
이어, 본 개시는, 제1 인코딩 데이터를 제2 크기로 다운사이징하고, 제2 인코딩 데이터를 생성할 수 있다(S230).
여기서, 본 개시는, 제2 인코딩 데이터를 생성할 때, 모델링된 이미지를 재인코딩함으로써 거시적 정보를 모델링할 수 있다.
다음, 본 개시는, 지정된 크기의 임베딩 공간을 구성하는 코드북에 인코딩 데이터를 저장할 수 있다(S250).
여기서, 코드북은, 양방향 자기 회귀적 트랜스포머(Bi-directional Auto-Regressive Transformer)의 이미지 토큰에 이용될 수 있다.
그리고, 본 개시는, 제2 인코딩 데이터를 제2 크기로 업사이징하고, 제1 디코딩 데이터 생성할 수 있다(S270).
이어, 본 개시는, 제1 디코딩 데이터를 제1 크기로 업사이징하고, 제2 디코딩 데이터를 생성할 수 있다(S290).
여기서, 제1 디코딩 데이터는, 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행될 수 있다.
이때, 단일 컨볼루션 연산은, 입력 채널에 대한 출력 채널의 크기를 변경할 수 있다.
도 11은, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치의 이미지와 텍스트간의 양방향 변환 과정을 설명하기 위한 도면이다.
도 11에 도시된 바와 같이, 본 개시는, 세그먼트 인베딩을 활용하여 이미지에서 텍스트로의 변환을 수행하거나 또는 텍스트에서 이미지로의 변환을 수행할 수 있다.
여기서, 세그먼트 인베딩은, 레퍼런스 컨디션(reference condition)과 생성 타겟(generation target)을 구분하여 사용될 수 있다.
따라서, 본 개시의 변환부(transformer)(450)는, 레퍼런스 컨디션에 상응하는 세그먼트 인베딩과 생성 타겟에 상응하는 세그먼트 인베딩을 추가하여 학습될 경우, 학습이 완료된 후에 입력 이미지와 입력 텍스트를 모두 참고하여 이에 해당하는 모든 토큰을 생성할 수 있다.
본 개시는, 이미지를 텍스트로 변환하는 경우, 이미지가 입력되면 제1 인코터(115) 및 제2 인코더(139)를 포함하는 다수의 인코더를 기반으로 입력 이미지의 크기를 연속적으로 다운사이징하여 다양한 크기의 이미지 패턴을 코드북(230)에 저장할 수 있다.
그리고, 본 개시는, 토큰부(410)에서 코드북(230)으로부터 추출한 이미지를 토큰화하고, 텍스트를 의미 단위별로 리스트화한 코드북으로부터 추출한 텍스트를 토큰화할 수 있다.
이어, 본 개시는, 세그먼크 인베딩부(430)에서 토큰부(410)에서 토큰화된 텍스트 토큰들과 이미지 토큰들을 각각 인베딩을 수행할 수 있다.
즉, 본 개시는, 텍스트 토큰들에 대해 레퍼런스 컨디션에 상응하는 세그먼트 인베딩을 수행하고, 이미지 토큰들에 대해 생성 타겟에 상응하는 세그먼트 인베딩을 수행할 수 있다.
다음, 본 개시는, 변환부(transformer)(450)에서 입력 이미지를 텍스트로 변환할 수 있다.
즉, 본 개시는, 입력 이미지에 대한 캡션을 생성할 수 있다.
예시적인 실시예에서, 도 11과 같이, 입력 이미지(input IMG)(2001)가 입력될 경우, 캡션 "A bench sitting at the end of wide countryside road"이 생성될 수 있다.
한편, 본 개시는, 텍스트를 이미지로 변환하는 경우, 텍스트가 입력되면 토큰부(410)에서 입력 텍스트를 토큰화하고, 코드북(230)으로부터 추출한 이미지를 토큰화할 수 있다.
여기서, 코드북(230)은, 제1 인코터(115) 및 제2 인코더(139)를 포함하는 다수의 인코더를 기반으로 입력 이미지의 크기를 연속적으로 다운사이징하여 다양한 크기의 이미지 패턴을 저장할 수 있다.
이어, 본 개시는, 세그먼크 인베딩부(430)에서 토큰부(410)에서 토큰화된 텍스트 토큰들과 이미지 토큰들을 각각 인베딩을 수행할 수 있다.
즉, 본 개시는, 텍스트 토큰들에 대해 레퍼런스 컨디션에 상응하는 세그먼트 인베딩을 수행하고, 이미지 토큰들에 대해 생성 타겟에 상응하는 세그먼트 인베딩을 수행할 수 있다.
다음, 본 개시는, 변환부(transformer)(450)에서 입력 이미지를 텍스트로 변환할 수 있다.
즉, 본 개시는, 입력 텍스트에 대한 이미지를 생성할 수 있다.
그리고, 본 개시는, 텍스트에 상응하는 이미지를 제1 디코터(319) 및 제2 디코더(335)를 포함하는 다수의 디코더를 기반으로 이미지의 크기를 연속적으로 업사이징하여 이미지를 생성할 수 있다.
여기서, 본 개시는, 입력 이미지의 부분인 패치 크기에 상관 없이 이미지 특징을 학습하므로, 추상적인 텍스트에 대해서도 효과적인 이미지를 생성할 수 있다.
즉, 본 개시는, 입력 텍스트의 내용을 효과적으로 반영된 이미지를 생성할 수 있으며, 반대로 입력 이미지의 내용을 효과적으로 반영된 텍스트를 생성할 수 있다.
예시적인 실시예에서, 도 11과 같이, 입력 텍스트(input Text) "Overcast skies and mountains"가 입력될 경우, 이미지(gen IMG)(2005)가 생성될 수 있다.
도 12 및 도 13은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 12에 도시된 바와 같이, 상단부의 이미지는, 입력 이미지이고, 중간부의 이미지는, 멀티 레벨로 입력 이미지에 대한 이산데이터 학습을 수행한 AugVAE 모델을 통해 생성된 이미지이며, 하단부의 이미지는, 싱글 레벨로 입력 이미지에 대한 이산데이터 학습을 수행한 AugVAE 모델을 통해 생성된 이미지이다.
도 12와 같이, 본 개시의 뉴럴 네트워크 모델은, 최종적으로 생성된 이미지가 입력 이미지인 원본을 효과적으로 반영됨을 알 수 있다.
또한, 도 13에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 텍스트의 내용을 효과적으로 반영된 이미지를 생성할 수 있으며, 반대로 입력 이미지의 내용을 효과적으로 반영된 텍스트를 생성할 수 있다.
예시적인 실시예에서, 도 13과 같이, 입력 텍스트(input Text) "a subset view with the river"가 입력될 경우, 상단 좌측 이미지가 생성될 수 있고, "a full moon behind buildings"가 입력될 경우, 상단 중간 이미지가 생성될 수 있으며, "lone astronomer in empty planet"가 입력될 경우, 상단 우측 이미지가 생성될 수 있다.
또한, 도 13과 같이, 하단 좌측 입력 이미지(input IMG)가 입력될 경우, 텍스트 "A young boy in the park throwing a frisbee"가 생성될 수 있고, 하단 중간 입력 이미지(input IMG)가 입력될 경우, 텍스트 "A laptop and a cell phone on a table"가 생성될 수 있으며, 하단 우측 입력 이미지(input IMG)가 입력될 경우, 텍스트 "A small bathroom is shown from a door"가 생성될 수 있다.
도 14는, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 도면이다.
도 14에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 프레쳇 인셉션 거리(Frechet Inception Distance, FID)에 대한 성능 평가에서 다른 모델들에 비해 우수함을 알 수 있다.
즉, 본 개시의 뉴럴 네트워크 모델은, 크로스-레벨 피쳐 오그먼테이션(Cross-Level Feature Augmentation)을 통한 VQ-VAE의 재건 충실도(Reconstruction Fidelity)가 향상되는 것을 알 수 있다.
이처럼, 본 개시는, 연속적인 데이터 특성으로 이산으로(discrete) 학습하기 때문에 이미지를 압축하고 복원시키는 과정에서 발생하는 정보손실을 최소화할 수 있다.
도 15는, 본 개시의 일 실시예에 따른 변분 오토인코딩 장치를 설명하기 위한 도면이다.
도 15에 도시된 바와 같이, 본 개시에 따른 변분 오토인코딩 장치(40)는, 뉴럴 프로세서(41), 중앙 프로세서(43), 센서(45), 메모리(47), 그리고, 스토리지(49)를 포함할 수 있다.
여기서, 메모리(47)는, 적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장할 수 있다.
그리고, 뉴럴 프로세서(41)는, 적어도 하나의 인스트럭션을 실행함으로써 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성될 수 있다.
일 예로, 뉴럴 프로세서(41)는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더, 제1 인코딩 데이터를 제2 크기로 다운사이징하여 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더, 이산데이터가 매핑되는 집합으로서 제1 인코딩 데이터 및 제2 인코딩 데이터를 저장하도록 구성된 코드북, 코드북에 저장된 제2 인코딩 데이터를 제2 크기만큼 업사이징하여 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더, 그리고 제1 디코딩 데이터를 제1 크기만큼 업사이징하여 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함할 수 있다.
여기서, 제1 디코딩 데이터는, 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행될 수 있다.
이때, 단일 컨볼루션 연산은, 입력 채널에 대한 출력 채널의 크기를 변경할 수 있다.
그리고, 코드북은, 양방향 자기 회귀적 트랜스포머(Bi-directional Auto-Regressive Transformer)의 이미지 토큰에 이용될 수 있다.
여기서, 제1 디코더는, 양방향 자기 회귀적 트랜스포머의 출력을 수신할 수 있다.
또한, 본 개시의 프로세서는, 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 NPU(neural processing unit), 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서는, 메모리(47)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 본 개시의 일실시예에 따라 프로세서는, 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서는, 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서의 NPU, CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은, CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
본 개시의 일 실시예에 따르면, 메모리(47)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크, ReRAM(resistive RAM)과 같은 저항형 메모리 셀들, PRAM(phase change RAM), MRAM(magnetic RAM), MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM) 중 적어도 하나를 포함하는 다양한 타입의 저장매체를 포함할 수 있다.
본 개시의 일 실시예에 따른 네트워크부는, 복수의 컴퓨팅 장치 사이의 통신을 가능하게 하여 복수의 컴퓨팅 장치 각각에서 사용자 제어 동작 범위 결정 또는 모델의 학습을 위한 동작들이 분산 수행되도록 할 수 있다. 네트워크부는, 복수의 컴퓨팅 장치 사이의 통신을 가능하게 하여 자폐 진단 또는 네트워크 함수를 사용한 모델 학습을 위한 연산을 분산 처리하도록 할 수 있다.
본 개시의 일 실시예에 따른 네트워크부는, 근거리(단거리), 원거리, 유선 및 무선 등과 같은 현재 사용 및 구현되는 임의의 형태의 유무선 통신 기술에 기반하여 동작할 수 있으며, 다른 네트워크들에서도 사용될 수 있다.
본 개시의 일 실시예에 따른 출력부는, 사용자 제어 동작 범위 결정 및 판단 결과를 제공하기 위한 사용자 인터페이스(UI, user interface)를 표시할 수 있다. 출력부는, 프로세서가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부가 수신한 임의의 형태의 정보를 출력할 수 있다.
본 개시의 일 실시예에서, 출력부는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 이들 중 일부 디스플레이 모듈은, 그를 통해 외부를 볼 수 있도록 투명형 또는 광 투과형으로 구성될 수 있다. 이는 투명 디스플레이 모듈이라 지칭될 수 있는데, 상기 투명 디스플레이 모듈의 대표적인 예로는 TOLED(Transparent OLED) 등이 있으며, 이에 제한되지 않는다.
본 개시의 일 실시예에 따른 입력부는, 사용자 입력을 수신할 수 있다. 입력부는, 사용자 입력을 수신받기 위한 사용자 인터페이스 상의 키 및/또는 버튼들, 또는 물리적인 키 및/또는 버튼들을 구비할 수 있다. 입력부를 통한 사용자 입력에 따라 본 개시의 실시예들에 따른 디스플레이를 제어하기 위한 컴퓨터 프로그램이 실행될 수 있다.
본 개시의 실시예들에 따른 입력부는, 사용자의 버튼 조작 또는 터치 입력을 감지하여 신호를 수신하거나, 카메라 또는 마이크로폰을 통하여 사용자 등의 음성 또는 동작을 수신하여 이를 입력 신호로 변환할 수도 있다. 이를 위해 음성 인식(Speech Recognition) 기술 또는 동작 인식(Motion Recognition) 기술들이 사용될 수 있다.
본 개시의 실시예들에 따른 입력부는, 외부 시스템과 연결된 외부 입력 장비로서 구현될 수도 있다. 예를 들어, 입력 장비는 사용자 입력을 수신하기 위한 터치 패드, 터치 펜, 키보드 또는 마우스 중 적어도 하나일 수 있으나, 이는 예시일 뿐이며 이에 제한되는 것은 아니다.
본 개시의 일 실시예에 따른 입력부는, 사용자 터치 입력을 인식할 수 있다. 본 개시의 일 실시예에 따른 입력부는, 출력부와 동일한 구성일 수도 있다. 입력부는, 사용자의 선택 입력을 수신하도록 구현되는 터치 스크린으로 구성될 수 있다. 터치 스크린은, 접촉식 정전용량 방식, 적외선 광 감지 방식, 표면 초음파(SAW) 방식, 압전 방식, 저항막 방식 중 어느 하나의 방식이 사용될 수 있다. 전술한 터치 스크린에 대한 자세한 기재는, 본 개시의 일 실시예에 따른 예시일 뿐이며, 다양한 터치 스크린 패널이 컴퓨팅 장치에 채용될 수 있다. 터치 스크린으로 구성된 입력부는, 터치 센서를 포함할 수 있다. 터치 센서는, 입력부의 특정 부위에 가해진 압력 또는 입력부의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는, 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다. 터치 센서에 대한 터치입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는, 그 신호(들)를 처리한 다음 대응하는 데이터를 프로세서로 전송할 수 있다. 이로써, 프로세서는 입력부의 어느 영역이 터치 되었는지 여부 등을 인식할 수 있게 된다.
본 개시의 일 실시예에서, 서버는, 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다. 서버는, 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
이와 같이, 본 개시는, 멀티 모달(multi modal) 모델을 구현하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있다.
또한, 본 개시는, 크로스-레벨 피쳐 오그먼테이션(Cross-Level Feature Augmentation)을 통한 VQ-VAE의 재건 충실도(Reconstruction Fidelity)가 향상될 수 있다.
여기서, 본 개시는, 연속적인 데이터 특성으로 이산으로(discrete) 학습하기 때문에 이미지를 압축하고 복원시키는 과정에서 발생하는 정보손실을 최소화할 수 있다.
이상에서 전술한 본 개시의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 개시의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 개시이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 개시의 실시예를 설명하였지만, 본 개시이 속하는 기술분야의 통상의 기술자는 본 개시이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
Claims (20)
- 연속데이터에 대해 이산데이터 특성으로 학습하는, 변분 오토인코딩(Variational Autoencoding) 장치로서,
적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행함으로써 상기 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성된 프로세서를 포함하고,
상기 프로세서는,
상기 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더;
상기 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더;
상기 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하고, 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하도록 구성된 코드북;
상기 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더; 및
상기 제1 디코딩 데이터 및 상기 코드북에 저장된 상기 제1 인코딩 데이터를 상기 제1 크기만큼 업사이징함으로써 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함하는, 변분 오토인코딩 장치. - 제1항에 있어서,
상기 적어도 하나의 입력 이미지의 각 부분인 부분 이미지는,
상기 코드북의 인덱스와 대응됨으로써 전체로서 대상 이미지를 표현하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제2항에 있어서,
상기 제1 인코더 및 상기 제2 인코더는,
상기 부분 이미지를, 상기 코드북 내의 코드북 벡터 중 최소 거리를 가지는 코드북 벡터의 인덱스로 대치(replacing)하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제3항에 있어서,
상기 제1 디코더 및 상기 제2 디코더는,
상기 코드북 벡터의 인덱스를 코드북 벡터로 각각 매핑(mapping)하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제1항에 있어서,
상기 제1 인코더 및 상기 제2 인코더는,
잠재 공간(latent space)에서 추출된 잠재 벡터(latent vector)를, 상기 이산데이터로 매핑되는 집합인 상기 임베딩 공간으로 임베딩하고
상기 제1 디코더 및 상기 제2 디코더는,
지정된 수의 코드북 벡터를 이용해 데이터를 재구축하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제5항에 있어서,
상기 잠재 벡터는,
평균 및 표준편차를 가지도록 표준화되고, 이산 잠재 변수에 대한 조건부확률의 사전(prior) 확률에 대응되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제5항에 있어서,
상기 코드북은,
상기 제1 인코더 및 상기 제2 인코더의 출력에, 입력의 영향을 축소시키도록 기능하는 정지 경사(stop gradient)가 적용됨으로써 업데이트되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제5항에 있어서,
상기 임베딩 공간은,
상기 제1 인코더 또는 상기 제2 인코더의 출력과 실질적으로 동일하도록 학습되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제1항에 있어서,
상기 제1 디코딩 데이터는,
상기 제2 디코딩 데이터와 연속(Concatenation)되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제1항에 있어서,
상기 코드북은,
국부적 패턴과 거시적 정보가 분리된, 계층화된 특성 레벨에 따라 학습되는 것을 특징으로 하는, - 제10항에 있어서,
상기 제1 인코더는,
상기 적어도 하나의 입력 이미지를 인코딩함으로써 상기 국부적 패턴을 모델링하고,
상기 제2 인코더는,
상기 모델링된 이미지를 재인코딩함으로써 상기 거시적 정보를 모델링하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제11항에 있어서,
교차 수준 패치 유사도(Cross level patch similarity)에 기초해, 패치 사이즈에 무관한 패치들을 압축하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 연속데이터에 대해 이산데이터 특성으로 학습된, 변분 오토인코딩(Variational Autoencoding) 장치로서,
적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장하는 메모리; 및
상기 적어도 하나의 인스트럭션을 실행함으로써 상기 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성된 프로세서를 포함하고,
상기 프로세서는,
상기 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더;
상기 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더;
상기 이산데이터가 매핑되는 집합으로서, 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하도록 구성된 코드북;
상기 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더; 및
상기 제1 디코딩 데이터를 상기 제1 크기만큼 업사이징함으로써 상기 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함하는, 변분 오토인코딩 장치. - 제13항에 있어서,
상기 제1 디코딩 데이터는,
상기 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제14항에 있어서,
상기 단일 컨볼루션 연산은,
입력 채널에 대한 출력 채널의 크기를 변경하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제13항에 있어서,
상기 코드북은,
양방향 자기 회귀적 트랜스포머(Bi-directional Auto-Regressive Transformer)의 이미지 토큰에 이용되는 것을 특징으로 하는, 변분 오토인코딩 장치. - 제16항에 있어서,
상기 제1 디코더는,
상기 양방향 자기 회귀적 트랜스포머의 출력을 수신하는 것을 특징으로 하는, 변분 오토인코딩 장치. - 연속데이터에 대해 이산데이터 특성으로 학습하는, 변분 오토인코딩(Variational Autoencoding) 방법으로서,
적어도 하나의 입력 이미지를 제1 크기로 다운사이징하고, 제1 인코딩 데이터를 생성하는 단계;
상기 제1 인코딩 데이터를 제2 크기로 다운사이징하고, 제2 인코딩 데이터를 생성하는 단계;
상기 이산데이터가 매핑되는 집합으로서 지정된 크기의 임베딩 공간을 구성하는 코드북에 상기 제1 인코딩 데이터 및 상기 제2 인코딩 데이터를 저장하는 단계;
상기 제2 인코딩 데이터를 제2 크기로 업사이징하고, 제1 디코딩 데이터 생성하는 단계; 및
제1 인코딩 데이터 및 제1 디코딩 데이터를 제1 크기로 업사이징하고, 제2 디코딩 데이터를 생성하는 단계를 포함하는, 변분 오토인코딩(Variational Autoencoding) 방법 - 제18항에 있어서,
상기 제1 인코딩 데이터를 생성하는 단계는,
상기 적어도 하나의 입력 이미지를 인코딩함으로써 국부적 패턴을 모델링하는 단계를 포함하고,
상기 제2 인코딩 데이터를 생성하는 단계는,
상기 모델링된 이미지를 재인코딩함으로써 거시적 정보를 모델링하는 단계를 포함하는 것을 특징으로 하는, 변분 오토인코딩 방법. - 컴퓨터와 결합되어, 제1항 내지 제19항 중 어느 한 항에 따른 변분 오토인코딩 장치, 및 방법을 실행시키 위해 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210158939 | 2021-11-17 | ||
KR1020210158939 | 2021-11-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230072400A true KR20230072400A (ko) | 2023-05-24 |
Family
ID=86540685
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220103679A KR20230072400A (ko) | 2021-11-17 | 2022-08-19 | 변분 오토인코딩 장치, 방법 및 프로그램 |
KR1020220154771A KR20230072454A (ko) | 2021-11-17 | 2022-11-17 | 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220154771A KR20230072454A (ko) | 2021-11-17 | 2022-11-17 | 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR20230072400A (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822896B2 (en) * | 2020-07-08 | 2023-11-21 | International Business Machines Corporation | Contextual diagram-text alignment through machine learning |
KR102674977B1 (ko) * | 2023-06-09 | 2024-06-13 | 주식회사 비브스튜디오스 | 신경망 모델을 활용하여 3d 공간을 생성하는 방법 |
KR102655359B1 (ko) * | 2023-12-29 | 2024-04-05 | 주식회사 더매트릭스 | 생성형 ai 모델을 이용해 인페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
KR102662411B1 (ko) * | 2024-01-19 | 2024-04-30 | 주식회사 더매트릭스 | 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102192015B1 (ko) | 2019-01-11 | 2020-12-16 | 연세대학교 산학협력단 | 자연어 문장을 기반으로 하는 변환 이미지 생성 장치, 방법 및 이를 이용하는 변환 이미지 생성 시스템 |
-
2022
- 2022-08-19 KR KR1020220103679A patent/KR20230072400A/ko not_active Application Discontinuation
- 2022-11-17 KR KR1020220154771A patent/KR20230072454A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102192015B1 (ko) | 2019-01-11 | 2020-12-16 | 연세대학교 산학협력단 | 자연어 문장을 기반으로 하는 변환 이미지 생성 장치, 방법 및 이를 이용하는 변환 이미지 생성 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20230072454A (ko) | 2023-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230072400A (ko) | 변분 오토인코딩 장치, 방법 및 프로그램 | |
CN110738026B (zh) | 用于生成描述文本的方法和设备 | |
CN112257858B (zh) | 一种模型压缩方法及装置 | |
WO2022007823A1 (zh) | 一种文本数据处理方法及装置 | |
AU2019200270A1 (en) | Concept mask: large-scale segmentation from semantic concepts | |
US11663479B2 (en) | Apparatus and method of constructing neural network translation model | |
CN108959246A (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
KR20190087898A (ko) | 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법 | |
CN110688854B (zh) | 命名实体识别方法、装置及计算机可读存储介质 | |
CN107979764A (zh) | 基于语义分割和多层注意力框架的视频字幕生成方法 | |
CN111368993A (zh) | 一种数据处理方法及相关设备 | |
CN111191002B (zh) | 一种基于分层嵌入的神经代码搜索方法及装置 | |
WO2022253061A1 (zh) | 一种语音处理方法及相关设备 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN109376222A (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN111612010A (zh) | 图像处理方法、装置、设备以及计算机可读存储介质 | |
CN113505193A (zh) | 一种数据处理方法及相关设备 | |
KR20180103671A (ko) | 언어 모델을 압축하기 위한 전자 장치, 추천 워드를 제공하기 위한 전자 장치 및 그 동작 방법들 | |
CN115221369A (zh) | 视觉问答的实现方法和基于视觉问答检验模型的方法 | |
CN116126341A (zh) | 模型编译方法、装置、计算机设备及计算机可读存储介质 | |
CN114492661B (zh) | 文本数据分类方法和装置、计算机设备、存储介质 | |
CN109754306A (zh) | 信息处理方法及装置、电子设备和计算机可读介质 | |
CN114757247A (zh) | 分类预测模型的训练方法、分类预测方法、装置和设备 | |
KR20210141252A (ko) | 전자 장치 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |