KR20230072454A - 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램 - Google Patents
이미지 텍스트 양방향 생성 장치, 방법 및 프로그램 Download PDFInfo
- Publication number
- KR20230072454A KR20230072454A KR1020220154771A KR20220154771A KR20230072454A KR 20230072454 A KR20230072454 A KR 20230072454A KR 1020220154771 A KR1020220154771 A KR 1020220154771A KR 20220154771 A KR20220154771 A KR 20220154771A KR 20230072454 A KR20230072454 A KR 20230072454A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- text
- input
- codebook
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims abstract description 30
- 230000002452 interceptive effect Effects 0.000 claims description 37
- 239000013585 weight reducing agent Substances 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 44
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 238000003062 neural network model Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 238000012549 training Methods 0.000 description 22
- 238000013528 artificial neural network Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 241000501754 Astronotus ocellatus Species 0.000 description 6
- 230000003416 augmentation Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000002860 competitive effect Effects 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
- 230000002441 reversible effect Effects 0.000 description 2
- 102200155468 rs267606990 Human genes 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000002356 single layer Substances 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
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design 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
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000001228 spectrum Methods 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
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010200 validation analysis 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/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- 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
-
- 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
- G06T9/00—Image coding
-
- 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
-
- 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/20084—Artificial neural networks [ANN]
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)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
Abstract
정보 손실을 최소화하여 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 수행할 수 있는 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램에 관한 것으로,
적어도 하나의 입력 이미지와 적어도 하나의 입력 텍스트를 저장하는 메모리 및 상기 입력 이미지를 텍스트로 변환하거나 또는 상기 입력 텍스트를 이미지로 변환하도록 구성된 프로세서를 포함하고, 상기 메모리는,상기 입력 이미지의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북을 포함하는 변분 오토인코더(Variational Autoencoder), 상기 입력 텍스트에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북을 포함하는 텍스트 인코더 및 세그먼트 임베딩(segment embedding)이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고, 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer)를 포함한다.
적어도 하나의 입력 이미지와 적어도 하나의 입력 텍스트를 저장하는 메모리 및 상기 입력 이미지를 텍스트로 변환하거나 또는 상기 입력 텍스트를 이미지로 변환하도록 구성된 프로세서를 포함하고, 상기 메모리는,상기 입력 이미지의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북을 포함하는 변분 오토인코더(Variational Autoencoder), 상기 입력 텍스트에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북을 포함하는 텍스트 인코더 및 세그먼트 임베딩(segment embedding)이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고, 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer)를 포함한다.
Description
본 개시는 이미지 텍스트 양방향 생성 장치에 관한 것으로, 보다 구체적으로 정보 손실을 최소화하여 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 수행할 수 있는 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램에 관한 것이다.
일반적으로, 문장 시각화 기술은, 주어진 문장에 대해 해당 문장을 설명하거나 묘사하는 그림 또는 사진을 생성하는 기술로서, 이러한 기술은 주어진 텍스트의 이해를 위한 보조 도구로 활용되거나, 또는 음성 인식과의 결합을 통해 의사소통의 보조 도구로 활용될 수 있다.
또한, 문장 시각화 기술의 역에 해당하는 기술로서, 그림 또는 사진으로부터 문장을 생성하기 위한 이미지 텍스트화 기술 또한 다양한 분야에서 활용될 수 있다.
문장 시각화 기술 또는 이미지 텍스트화 기술은, 뉴럴 네트워크(neural network)를 활용하여 구현될 수 있다. 뉴럴 네트워크는, 인간 두뇌의 신경망을 모방하여 정보를 처리하는 네트워크 구조를 의미할 수 있다. 뉴럴 네트워크는, 특정 알고리즘 또는 기능을 구현하기 위해 학습될 수 있고, 학습이 완료된 뉴럴 네트워크는 특정 알고리즘 또는 기능에 관하여 주어진 입력에 대한 출력을 추론할 수 있다.
문장 시각화 기술 또는 이미지 텍스트화 기술이 뉴럴 네트워크로 구현되는 경우, 학습된 뉴럴 네트워크가 이미지 또는 텍스트를 추론하는 성능은, 뉴럴 네트워크가 학습되는 방식 및 뉴럴 네트워크에 대한 모델링 방식에 따라 달라질 수 있다. 따라서, 이미지 또는 텍스트의 추론 성능을 향상시키기 위해서는, 뉴럴 네트워크에 대한 학습 방식 및 모델링 방식이 개선될 것이 요구될 수 있다.
상술한 바와 같은 문제점을 해결하기 위한 본 개시의 일 목적은, 새로운 방식의 뉴럴 네트워크 모델을 이용하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있는 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램을 제공하는 것이다.
본 개시이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치는, 적어도 하나의 입력 이미지와 적어도 하나의 입력 텍스트를 저장하는 메모리 및 상기 입력 이미지를 텍스트로 변환하거나 또는 상기 입력 텍스트를 이미지로 변환하도록 구성된 프로세서를 포함하고, 상기 메모리는,상기 입력 이미지의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북을 포함하는 변분 오토인코더(Variational Autoencoder), 상기 입력 텍스트에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북을 포함하는 텍스트 인코더 및 세그먼트 임베딩(segment embedding)이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고, 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer)를 포함한다.
본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 방법은, 이미지 데이터를 저장하는 제1 코드북과 텍스트 데이터를 저장하는 제2 코드북을 포함하는 장치의 이미지 텍스트 양방향 생성 방법으로서, 이미지가 입력되면 입력 이미지의 크기를 연속적으로 다운사이징하도록 인코딩하여 이미지 데이터를 출력하는 단계, 상기 이미지 데이터를 상기 제1 코드북에 저장하는 단계, 상기 제1 코드북으로부터 추출한 이미지 데이터와 상기 제2 코드북으로 추출한 텍스트 데이터를 토큰화하는 단계, 상기 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 단계, 및 상기 세그먼트 임베딩이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하는 단계를 포함하는 하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 방법은, 이미지 데이터를 저장하는 제1 코드북과 텍스트 데이터를 저장하는 제2 코드북을 포함하는 장치의 이미지 텍스트 양방향 생성 방법으로서, 텍스트가 입력되면 입력 텍스트를 인코딩하여 텍스트 데이터를 출력하는 단계, 상기 텍스트 데이터를 상기 제2 코드북에 저장하는 단계, 상기 제1 코드북으로부터 추출한 이미지 데이터와 상기 제2 코드북으로 추출한 텍스트 데이터를 토큰화하는 단계, 상기 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 단계, 및 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터의 크기를 연속적으로 업사이징하도록 디코딩하여 상기 입력 텍스트를 이미지로 변환하는 단계를 포함하는 하는 것을 특징으로 한다.
상술한 과제를 해결하기 위한 본 개시의 다른 실시 예에 따른 이미지 텍스트 양방향 생성 방법을 제공하는 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상술한 방법 중 어느 하나의 방법을 수행하기 위해 매체에 저장된다.
이 외에도, 본 개시을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같이 본 개시에 따르면, 이미지 및 텍스트를 아우르는 멀티 모달(multi modal) 뉴럴 네트워크 모델을 구현하는 장치를 통해 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있다.
또한, 본 개시에 따른 이미지 텍스트 양방향 생성 장치 및 방법을 통해 이미지와 텍스트 간에 가역적으로 조밀하게 연결된 매핑을 내부적으로 학습하고, 미세 조정(finetuning) 또는 추가 개체 감지 프레임워크(extra object detection framework) 없이도 주어진 조건에 따라 텍스트 또는 이미지를 생성할 수 있다.
본 개시에 따른 이미지 텍스트 양방향 생성 장치 및 방법은, 양방향 학습을 통해 훈련 및 적용을 위한 시간과 비용을 절약할 수 일을 뿐만 아니라, 데이터의 이질성을 완화하고 안정적인 혼합 정밀도 훈련을 가능하게 한다.
또한, 본 개시에 따른 이미지 텍스트 양방향 생성 장치 및 방법은, 양방향 학습을 통해, 작은 데이터 세트와 모델 크기로 비전-언어 교차 모드 표현(vision-language cross-modal representation)을 효율적으로 학습할 수 있다.
여기서, 본 개시의 이미지 텍스트 양방향 생성 장치 및 방법에 따르면, 이미지를 텍스트로 변환하는데 필요한 데이터가 기존 OSCAR 모델에 비해 약 97.6% 정도가 더 적고, 텍스트에서 이미지로 생성하는데 필요한 데이터가 기존 DALL-E 모델에 비해 약 98.8% 정도가 더 적으며, 기존 DALL-E 모델에 비해 파라미터(parameter)가 약 95% 정도가 더 적으므로 제한된 컴퓨팅 리소스를 사용하는 환경에 더욱 적합할 수 있다.
또한, 본 개시의 이미지 텍스트 양방향 생성 장치 및 방법에 따르면, 제한된 양의 학습 데이터와 계산 리소스로 인해 OSCAR, DALL-E 또는 CogView와 같은 기존 모델보다 더 큰 규모의 훈련을 수행할 수 없음에도 불구하고, 양방향 학습을 통해 기존 모델에 비해 경쟁력 있는 결과를 보여주고 있다.
또한, 본 개시에 따른 이미지 텍스트 양방향 생성 장치 및 방법은, 크로스-레벨 피쳐 오그먼테이션(Cross-Level Feature Augmentation)을 통해 재건 충실도(Reconstruction Fidelity)를 극대화할 수 있다.
본 개시이미지 텍스트 양방향 생성 장치 및 방법은, 연속적인 데이터 특성으로 이산으로(discrete) 학습하기 때문에 이미지를 압축하고 복원시키는 과정에서 발생하는 정보손실을 최소화할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치를 설명하기 위한 도면이다.
도 3은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 과정을 설명하기 위한 도면이다.
도 4는, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 도면이다.
도 5는, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 도면이다.
도 6은, 본 개시의 일 실시예에 따른 입력 이미지에 대한 이미지 재건 과정을 설명하기 위한 도면이다.
도 7은, 본 개시의 일 실시예에 따른 변분 오토 인코더를 설명하기 위한 기본 모델을 보여주는 도면이다.
도 8 및 도 9 는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 10는, 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토 인코더의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 11 및 도 12는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 13는, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 순서도이다.
도 14은, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 순서도이다.
도 15 및 도 16은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 17는, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 도면이다.
도 18은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치의 기본 구조를 설명하기 위한 도면이다.
도 3은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 과정을 설명하기 위한 도면이다.
도 4는, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 도면이다.
도 5는, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 도면이다.
도 6은, 본 개시의 일 실시예에 따른 입력 이미지에 대한 이미지 재건 과정을 설명하기 위한 도면이다.
도 7은, 본 개시의 일 실시예에 따른 변분 오토 인코더를 설명하기 위한 기본 모델을 보여주는 도면이다.
도 8 및 도 9 는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 10는, 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토 인코더의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
도 11 및 도 12는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 13는, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 순서도이다.
도 14은, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 순서도이다.
도 15 및 도 16은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 17는, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 도면이다.
도 18은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치의 기본 구조를 설명하기 위한 도면이다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술 분야의 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 개시에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있다. 개시에서 사용되는 "포함할 수 있다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 개시 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함할 수 있다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
"예시적인"이라는 단어는 본 개시에서 "예시 또는 예증으로서 사용된"의 의미로 사용된다. 본 개시에서 "예시적인"것으로 설명된 임의의 실시예는 반드시 바람직한 것으로서 해석되거나 다른 실시예들보다 이점을 갖는 것으로 해석되어서는 안된다.
본 개시의 실시예들은 기능 또는 기능을 수행하는 블록의 관점에서 설명될 수 있다. 본 개시의 '부' 또는 '모듈' 등으로 지칭될 수 있는 블록은 논리 게이트, 집적 회로, 마이크로 프로세서, 마이크로 컨트롤러, 메모리, 수동 전자 부품, 능동 전자 부품, 광학 컴포넌트, 하드와이어드 회로(hardwired circuits) 등과 같은 아날로그 또는 디지털 회로에 의해 물리적으로 구현되고, 선택적으로 펌웨어 및 소프트웨어에 의해 구동될 수 있다. 또한, 개시에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 엘리먼트를 의미하며, "부"는 어떤 역할들을 수행할 수 있다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 엘리먼트들, 객체지향 소프트웨어 엘리먼트들, 클래스 엘리먼트들 및 태스크 엘리먼트들과 같은 엘리먼트들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다. 엘리먼트들과 "부"들 안에서 제공되는 기능은 더 작은 수의 엘리먼트들 및 "부"들로 결합되거나 추가적인 엘리먼트들과 "부"들로 더 분리될 수 있다.
본 개시의 실시예는 적어도 하나의 하드웨어 디바이스 상에서 실행되는 적어도 하나의 소프트웨어 프로그램을 사용하여 구현될 수 있고 엘리먼트를 제어하기 위해 네트워크 관리 기능을 수행할 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 할 수 있다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여 질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명할 수 있다.
설명에 앞서 본 개시에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 개시을 한정하는 사항으로 기재하지 않은 경우에 본 개시의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서 신경망, 인공 신경망, 네트워크 함수는 종종 상호 교환 가능하게 사용될 수 있다.
또한, 본 개시 전체에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 “노드(node)”라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은, “뉴런(neuron)”들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 “링크”에 의해 상호 연결될 수 있다.
본 개시의 예시적 실시예에 따르면, 연속데이터는 자연계에 존재하는 물리량을 센싱해 물리량을 연속적으로 나타내는 데이터이다. 예를 들어, 연속데이터는 이미지의 영상 스펙트럼, 사람의 음성이 전자적으로 처리된 주파수 신호 등을 포함한다. 연속데이터의 값은 연속한 범위 내에서 아무 실수 값이나 가질 수 있다(Uncountable). 연속데이터는 아날로그 신호를 포함하며, 이산데이터와 대비적인 개념으로 사용된다.
본 개시의 예시적 실시예에 따르면, 이산데이터는 특정한 최소 단위를 가지는 이산(discrete) 형식으로서 표현된 데이터를 의미한다. 예를 들어, 이산데이터는 RGB 형식을 따르는 이미지의 픽셀값, 및 언어(language)의 각 음절 및 각 음절에 대응되는 토큰값들을 포함한다. 이산데이터의 값은 유한한 개수이다. (Countable).
이미지-텍스트 및 텍스트-이미지 생성은 이미지와 텍스트의 교차 모드 표현을 학습하는 작업으로 정의될 수 있다. 비전(Vision) 및 언어(Language) 작업에 대한 최근 연구들은 특히 다양한 트랜스포머(Transformer) 아키텍처에서 각 대상 작업의 성능을 크게 향상시켰다. 자연어를 이해하도록 설계된 내적(dot-product) 멀티헤드 어텐션(multi-head attention) 메커니즘은 순차적 데이터의 장거리 상호 작용을 효과적으로 학습한다. 비전 영역에서도 트랜스포머 아키텍처를 활용하기 위해 입력 이미지는 일련의 잠재 특징 벡터(latent feature vector)로 분해된다.
이미지를 잠재 특징 벡터의 시퀀스로 인코딩하기 위해 VQ-VAE(Vector Quantized Variational Autoencoder)를 사용하여 시각적 코드북에서 양자화된 임베딩 벡터(Quantized embedding vector)로 이산 잠재 표현(Discrete latent representation)을 학습할 수 있다. 본 개시에서, VQ-VAE는 이미지를 순차적으로 만드는 표현 학습 방법이다. VQ-VAE는 RNN 또는 Transformer와 같은 자동 회귀 쌍이 있는 조건부 이미지 생성 작업에 널리 사용됩니다. VQ-VAE의 재구성 품질을 개선하는 방법도 널리 요구된다.
다양한 비전 언어 작업에 활용하기 위해 자동 회귀 변환기(auto-regressive Transformer)를 VQ-VAE 또는 기타 심층 컨볼루션 신경망(CNN)과 같은 특징 추출기(feature extractor)와 결합할 수 있다. 그러나 단방향 이미지-텍스트 또는 텍스트-이미지 생성 작업을 위한 모델 교육에는 여전히 많은 양의 데이터가 필요하다.
본 개시의 이미지-텍스트 양방향 생성기를 구축하는 트랜스포머의 설계에 따르면, 이미지와 텍스트의 양방향 교차 모드 표현을 학습함으로써 데이터 효율성을 도모해 많은 양의 데이터가 필요한 제를 완화할 수 있다. 본 개시는 양방향 이미지(비전)-텍스트(언어) 교차 모드 표현을 학습하기 위한 접근 방식인 잠재 구절(Latent Verse; L-Verse)를 제안한다.
본 개시의 예시적 실시예에 따른 이미지-텍스트 양방향 생성기를 구축하는 트랜스포머는 새로운 교차 수준 기능 증강 기술은 고유한 기능 임베딩 벡터를 사용하여 시각적 코드북의 다양성을 효과적으로 증가시킴으로써 시각적 코드북을 보강할 수 있다.
또한, 본 개시의 예시적 실시예에 따른 이미지-텍스트 양방향 생성기를 구축하는 트랜스포머는 자동 회귀 변환기가 양방향 이미지 텍스트 생성을 학습할 수 있도록 한다. 이를 위해, 이미지-텍스트 양방향 생성 장치에는 주어진 조건 또는 생성 대상으로 이미지(또는 텍스트) 간의 차이를 학습하기 위해 자동 회귀 변환기에 세그먼트 임베딩이 추가된다.
본 개시의 예시적 실시예에 따르면, 비전-언어 교차 모드 표현 학습을 위해, 이미지-텍스트 양방향 생성 장치를 구축하는 트랜스포머는 교차 수준 기능 증강으로 훈련된 VQ-VAE인 기능 증강 변형 자동 인코더(AugVAE)를 포함한다. AugVAE는 전술된 기능이 강화된 시각적 코드북을 통해 도메인 내 Im-ageNet1K 검증 세트와 도메인 외 이미지 데이터 세트 모두에서 높은 재구성 성능을 달성할 수 있다.
본 개시의 예시적 실시예에 따르면, 양방향 이미지 텍스트 생성을 위해 이미지-텍스트 양방향 생성 장치를 구축하는 트랜스포머는 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer; Bi-ART)를 포함한다. 예시적인 실시예에서, 조건부 참조([REF]) 또는 생성 대상([GEN])으로서의 역할에 따라 두 개의 서로 다른 임베딩 벡터로 각 토큰을 인덱싱한다. 세그먼트 임베딩을 통해 BiART는 미세 조정 없이 주어진 텍스트에 해당 이미지를 생성하거나 주어진 이미지에 의미 있는 캡션을 생성할 수 있다.
본 개시에 따르면, L-Verse는 Faster-RCNN과 같은 객체 감지 프레임워크를 필요로 하지 않고, MS-COCO 캡션의 다른 생성 모델과 유사한 텍스트-이미지 생성 결과를 도출할 수 있다.
도 1 및 도 2는, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치를 설명하기 위한 도면이다.
본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 먼저 ImageNet1K에서 1억 개의 매개변수에 대한 제1 AugVAE(Single Layer)를 훈련한다. ImageNet1K를 이용해 훈련된 제1 AugVAE를 L-Verse의 인코더 및 디코더로 사용하고 인코딩된 토큰을 해당 텍스트 토큰과 쌍으로 사용한다. L-Verse의 BiART는 5억 개의 매개변수에 대한 GPT-transformer이다. 예시적인 실예에 따르면, DALL-E와 CogView는 빠른 훈련과 샘플링을 위해 맞춤형 어텐션 마스크가 있는 희소 트랜스포머(Sparce Transformer)를 사용하는 반면, 본 개시에 따른 이미지 텍스트 양방향 생성 장치는 GPT 스타일 풀 트랜스포머를 사용하여 이미지와 텍스트 사이의 양방향 교차 모드 표현을 모델링한다.
본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 49408개의 경우의 수를 가진 64개의 BPE로 인코딩된 텍스트 토큰과 8192개의 가능성을 가진 1024개의 인코딩된 이미지 토큰을 사용한다.
도 1 및 도 2에 도시된 바와 같이, 본 개시는, 적어도 하나의 입력 이미지(1310)와 적어도 하나의 입력 텍스트(1320)를 저장하는 프로세서(1100)와, 입력 이미지(1310)를 텍스트로 변환하거나 또는 입력 텍스트(1320)를 이미지로 변환하도록 구성된 메모리(1200)를 포함할 수 있다.
여기서, 메모리(1200)는, 변분 오토 인코더(Variational Autoencoder)(1210), 텍스트 인코더(1220), 그리고 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer)(1230)을 포함할 수 있다. 프로세서(1100)는 메모리(1200)로부터 변분 오토 인코더(1210), 텍스트 인코더(1220), 및 양방향 자동 회귀 변환기(1230)와 관련된 프로그램 코드 또는 기능 루틴을 페치(fetch)함으로써 인코딩 동작 및 트랜스포머 모듈의 동작을 수행할 수 있다.
변분 오토 인코더(1210)는, 입력 이미지(1310)의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북(1350)을 포함할 수 있다.
벡터 양자화된 변형 자동 인코더(Vector Quantized Variational AutoEncoder; VQ-VAE)는 인코더(E), 디코더(G) 및 이미지의 이산 표현을 학습하기 위한 시각적 코드북(Z)의 집합이다.
예시적인 실시예에서, CNN(Convolutional Neural Network) 인코더(E)는 이미지(z)의 연속 표현을 일련의 이산 벡터(zq)로 분해할 수 있다. 이산 벡터(zq) 각각은 시각적 코드북(Z)에서 선택될 수 있다. CNN 디코더(G)는 시각적 코드북(Z)에서 샘플링된 이산 벡터(zq)를 재구성하는 데 사용될 수 있다. 예시적인 실시예에서, 이미지에 대한 계층적 특징 표현에 대한 EMA(지수 이동 평균) 가중치 업데이트는 코드북(Z)에 적용될 수 있다. 예시적인 실시예에서, VQ-VAE의 학습을 최적화하기 위해 gumbel-softmax Relaxation이 사용될 수 있다. 예시적인 실시예에서, GAN(Generative Adversarial Network)에서 유래한 추가 CNN 판별기(Discriminator)를 이용해 이미지 재구성 품질이 향상될 수 있다.
변분 오토 인코더(1210)는, VQ-VAE(Vector Quantized Variational AutoEncoder)의 이미지 압축 및 복원 능력을 향상시키기 위해 VQ-VAE 모델보다 더 강화된 VQ-VAE 기반의 AugVAE(feature-Augmented Variational AutoEncoder) 모델(1330)을 이용하여 이미지 데이터 학습을 수행할 수 있다.
AugVAE의 인코더 및 디코더는 병목(bottleneck) 스타일의 Resblock이 있는 ResNet이다. 본 개시에 따른 AugVAE는 특히 공식 VQ-GAN 구현의 인코더-디코더를 기반으로 한다. 본 개시의 예시적인 실시예에 따르면, 일반적인 VQ-GAN 구현예와 달리 어텐션 블록이 제거될 수 있다.
본 개시의 AugVAE는 ImageNet1K에서 학습된다. 예시적인 실시예에서, 각 이미지의 크기가 256 × 256 × 3(텐서 크기, 또는 채널 크기; 가로×세로×깊이)으로 조정되고, 학습을 위해 0.75 자르기 비율로 무작위 자르기(random crop)가 학습에 적용된다.
본 개시의 예시적인 실시예에 따르면, 이미지 텍스트 양방향 생성 장치는 β1 = 0.9, β= 0.999, ε = 10e - 8, 가중치 감소 승수 1e - 5, 학습률 4.5e - 6을 배치 크기로 곱한 AdamW 옵티마이저를 사용하여 제1 AugVAE는 물론, 제2 AugVAE(Multi Layer)를 모두 학습할 수 있다.
본 개시의 예시적인 실시예에 따르면, 훈련 손실이 정체 상태로 확인될 때마다 학습률은 절반으로 감소된다. 손실함수(Loss term)에는 입력과 재구성된 이미지 사이의 평균 제곱 오차(MSE) 및 LPIPS 손실의 조합이 사용된다. 안정적인 훈련을 위해 LPIPS 손실에 0.1을 곱한 가중치가 적용될 수 있다.
예를 들면, 변분 오토 인코더(1210)는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더, 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더, 이산데이터가 매핑되는 집합으로서, 제1 인코딩 데이터 및 제2 인코딩 데이터를 특징별로 저장하도록 구성된 제1 코드북, 제1 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더, 및 제1 디코딩 데이터를 제1 크기만큼 업사이징함으로써 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
여기서, 제1 인코더 및 제2 인코더는, 입력이미지의 부분 이미지를, 제1 코드북 내의 코드북 벡터 중 최소 거리를 가지는 코드북 벡터의 인덱스로 대체(replacing)하도록 학습될 수 있다.
그리고, 제1 디코더 및 제2 디코더는, 제1 코드북 벡터의 인덱스를 코드북 벡터로 각각 매핑(mapping)하도록 학습될 수 있다.
이어, 제1 인코더 및 제2 인코더는, 잠재 공간(latent space)에서 추출된 잠재 벡터(latent vector)를 이산데이터로 매핑되는 집합인 임베딩 공간으로 임베딩하도록 학습되고, 제1 디코더 및 제2 디코더는, 지정된 수의 코드북 벡터를 이용해 데이터를 재구축하도록 학습될 수 있다.
본 개시의 예시적인 실시예에 따르면, 제1 코드북(1350)은, 제1 인코더 및 제2 인코더의 출력에, 입력의 영향을 축소시키도록 기능하는 정지 경사(stop gradient)가 적용되어 업데이트하도록 학습될 수 있다.
본 개시의 예시적인 실시예에 따르면, 제1 코드북(1350)은, 국부적 패턴과 거시적 정보가 분리된 계층화된 특성 레벨에 따라 학습될 수 있다. 예시적인 실시예에서, 제1 인코더는, 적어도 하나의 입력 이미지를 인코딩함으로써 국부적 패턴을 모델링하고, 제2 인코더는, 모델링된 이미지를 재인코딩함으로써 거시적 정보를 모델링할 수 있다.
본 개시의 예시적인 실시예에 따르면, 제1 디코딩 데이터는, 제2 디코딩 데이터와 연속(Concatenation)되도록 학습될 수 있다. 예시적인 실시예에서, 제1 디코딩 데이터는, 제2 디코딩 데이터와 단일 컨볼루션 연산이 수행되어 입력 텍스트에 상응하는 이미지를 생성할 수 있다.
한편, 텍스트 인코더(1220)는, 입력 텍스트(1320)에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북(1360)을 포함할 수 있다.
텍스트 인코더(1220)는, 적어도 하나의 입력 텍스트의 연속 문자를 다른 문자로 대체하도록 압축하여 인코딩 데이터를 출력하도록 구성된 바이트 쌍 인코더(Byte Pair Encoder; BP Encoder)(1340)를 포함할 수 있다. 본 개시의 예시적인 실시예에 따르면, 바이트 쌍 인코더(1340)에는 0.1의 비율로 BPE 드롭아웃이 적용될 수 있다.
일 예로, 텍스트 인코더(1220)는, 적어도 하나의 입력 텍스트를 인코딩하여 인코딩 데이터를 출력하도록 구성된 인코더(1340)와 인코딩 데이터를 의미 단위별로 저장하도록 구성된 제2 코드북(1360)을 포함할 수 있다.
본 개시의 예시적인 실시예에 따른 양방향 자동회귀 변환기(1230)는 GPT 아키텍처와 유사하되, GPT 아키텍처의 minGPT 구현을 활용한다.
본 개시의 예시적인 실시예에 따르면, 양방향 자동회귀 변환기(1230)는 조건부 참조([REF]) 및 생성 대상([GEN])에 대해 차원 크기가 256인 세그먼트 임베딩을 추가할 수 있다. 각 세그먼트 임베딩은 입력 토큰의 위치 인코딩에 추가된다. 예시적인 실시예에 따르면, 양방향 자동회귀 변환기(1230)는 1024개의 차원 상태와 16개의 마스크된 셀프 어텐션 헤드가 있는 32계층 디코더 전용 트랜스포머를 사용할 수 있다.
본 개시의 예시적인 실시예에 따르면, 양방향 자동회귀 변환기(1230)는 이미지 토큰 및 텍스트 토큰에 대해 통합 임베딩 매트릭스를 사용하되, 각 토큰은 0에서 8191 및 8192에서 57599까지 별도로 인덱싱될 수 있다. 양방향 자동회귀 변환기(1230)는 이 외에도 특수 토큰으로서 패딩([PAD]), 텍스트 시작([SOC]) 및 이미지 시작([SOI])이 존재하고, 특수 토큰들은 57600에서 57602까지 인덱싱된다.
본 개시의 예시적인 실시예에 따르면, 양방향 자동회귀 변환기(1230)는 MS-COCO 캡션 및 개념적 캡션에 대해 훈련될 수 있다. 각 이미지의 크기는 256 × 256 × 3(텐서 크기, 또는 채널 크기; 가로×세로×깊이))으로 조정되고, 학습을 위해 0.75 자르기 비율로 무작위 자르기(random crop)이 적용될 수 있다.
양방향 자동회귀 변환기(1230)에는 0.1의 비율로 레지듀얼(residual), 임베딩(embedding) 및 어텐션(attention) 드롭아웃이 적용될 수 있다. 예시적인 실시예에서, 양방향 자동회귀 변환기(1230)는 파라미터로서 β1 = 0.9, β2 = 0.95, ε = 1e - 8, 가중치 감소 승수 1e - 2, 학습률 4.5e - 7을 배치 크기로 곱한 AdamW 옵티마이저를 사용하여 학습한다. 여기에서, 임베딩 매개변수에는 가중치 감소가 적용되지 않으며, 훈련 손실이 정체 상태로 나타날 때마다 학습률을 절반으로 감축할 수 있다.
변환기양방향 자동회귀 변환기(1230)는, 세그먼트 임베딩(segment embedding)이 입력 이미지(1310)에 대한 텍스트 변환이면 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지(1310)를 텍스트로 변환하고, 세그먼트 임베딩이 입력 텍스트(1320)의 이미지 변환이면 제1 코드북(1350)으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트(1320)를 이미지로 변환할 수 있다.
양방향 자동회귀 변환기(1230)는, 이미지와 텍스트의 결합을 학습하는 트랜스포머 모델(1370)을 포함할 수 있다.
일 예로, 양방향 자동회귀 변환기(1230)는, 제1 코드북(1350)으로부터 추출한 이미지 데이터와 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 토큰화하는 토크나이저, 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 세그먼트 임베더, 및 세그먼트 임베딩이 입력 이미지에 대한 텍스트 변환이면 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 입력 텍스트의 이미지 변환이면 제1 코드북(1350)으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트를 이미지로 변환하는 변환기를 포함할 수 있다.
여기서, 세그먼트 임베더는, 각 이미지 토큰에 대해 조건부 참조(conditional reference) 또는 생성 대상(generation target)을 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 조건부 참조 또는 생성 대상을 부여하는 세그먼트 인베딩을 수행할 수 있다.
그리고, 세그먼트 임베더는, 입력 이미지에 대한 텍스트 변환이면 각 이미지 토큰에 대해 조건부 참조를 부여하고 각 텍스트 토큰에 대해 생성 대상을 부여하는 세그먼트 인베딩을 수행하고, 입력 텍스트에 대한 이미지 변환이면 각 텍스트 토큰에 대해 조건부 참조를 부여하고 각 이미지 토큰에 대해 생성 대상을 부여하는 세그먼트 인베딩을 수행할 수 있다.
이어, 변환기는, 세그먼트 임베딩이 각 이미지 토큰에 대해 조건부 참조가 부여되고 각 텍스트 토큰에 대해 생성 대상이 부여되는 세그먼트 인베딩이면 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 각 텍스트 토큰에 대해 조건부 참조가 부여되고 각 이미지 토큰에 대해 생성 대상이 부여되는 세그먼트 인베딩이면 제1 코드북(1350)으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트를 이미지로 변환할 수 있다.
여기서, 변환기는, 입력 이미지를 텍스트로 변환할 때, 입력 이미지의 이미지 토큰을 텍스트로 변환하여 입력 이미지에 대한 캡션(caption)을 생성하고, 입력 텍스트를 이미지로 변환할 때, 텍스트 토큰에 상응하는 이미지의 크기를 연속적으로 업사이징하여 입력 텍스트에 대한 이미지를 생성하도록 변분 오토 인코더의 디코더로 출력할 수 있다.
본 개시에서, 변분 오토 인코더(1210), 텍스트 인코더(1220) 및 양방향 자동회귀 변환기(1230)는 로직 회로를 포함하는 하드웨어와 같은 처리 회로로서 구현될 수 있거나, 인코딩 및 변환 동작을 수행하는 소프트웨어를 실행하는 프로세서와 같이 하드웨어와 소프트웨어의 조합으로 구현 될 수 있다. 특히, 메모리(1200)는 중앙 처리 장치(Central Procesing Unit; CPU), 산술 및 논리 연산, 비트 쉬프트 등을 수행하는 ALU(Arithmetic Logic Unit), DSP(Digital Signal Processor), 마이크로프로세서(microprocessor), ASIC(Application Specific Integrated Circuit) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
본 개시의 예시적인 실시예에 따른 잠재 구절(L-Verse)에 기반한 이미지 텍스트 양방향 생성 장치는 이미지와 텍스트 간의 가역적이고 조밀하게 연결된 매핑을 내부적으로 학습할 수 있다. 이를 통해 이미지 텍스트 양방향 생성 장치는 미세 조정(fine tuning) 또는 추가 개체 감지 프레임워크 없이 주어진 조건에 따라 텍스트 또는 이미지를 생성할 수 있다. 양방향 학습은 교육 및 적용을 위한 시간과 계산 비용을 절약할 뿐만 아니라 데이터의 이질성을 완화하고 안정적인 혼합 정밀도 훈련을 가능하게 한다.
또한, 본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 양방향 학습을 통해 더 작은 데이터 세트와 모델 크기로 비전 언어 교차 모드 표현을 효율적으로 학습할 수 있다. 본 개시의 예시적인 실시예에 따른 이미지를 텍스트로 변환하는 데 필요한 데이터가 OSCAR 모델에 비해 97.6% 적고 텍스트에서 이미지로 생성하는 데 필요한 데이터가 DALL-E에 비해 98.8% 적다. 이미지 텍스트 양방향 생성 장치는 또한 DALL-E에 비해 매개변수가 95% 적기 때문에 제한된 컴퓨팅 리소스를 사용하는 환경에 더 적합하다.
본 개시의 예시적 실시예에 따른 이미지 텍스트 양방향 생성 장치는 비전-언어 전학습(OSCAR의 사전 교육 방법)에 양방향 학습을 결합함으로써 추론 성능을 극대화 시킬 수 있다. 또한, 이미지 텍스트 양방향 생성 장치는 개념적 캡션(Conceptual Caption; CC)에 대해 학습할 때 제로샷(zero-shot) 이미지 캡션을 수행할 수 있다. 사람이 주의 깊게 주석을 추가하는 MS-COCO 캡션과 달리 본 발명의 이미지 텍스트 양방향 생성 장치는 개념적 캡션(CC)의 이미지와 원시 설명을 웹에서 수집할 수 있다.
본 개시의 예시적 실시예에 따른 이미지 텍스트 양방향 생성 장치는, 멀티 모달(multi modal) 모델을 구현하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 변환을 자유롭게 수행할 수 있다.
본 개시는, 다양한 특징들을 포함하는 시각적 코드북을 이용하여 이미지 텍스트 양방향 생성을 학습한다는 점과, 양방향 자동 회귀 변환기를 이용하여 이미지 텍스트 양방향 생성을 학습한다는 점에 특징을 가지고 있다.
또한, 본 개시는, 고유한 특징 임베딩 벡터를 갖는 시각적 코드북의 다양성을 효과적으로 증가시키고, 주어진 조건 또는 생성 대상으로 이미지에서 텍스트로 또는 텍스트에서 이미지로 변환을 양방향 자동 회귀 변환기에 지시하기 위한 세그먼트 임베딩을 추가할 수 있다.
즉, 본 개시는, 조건부 참조(REF) 또는 생성 대상(GEN)으로서의 역할에 따라 두 개의 서로 다른 임베딩 벡터로 각 토큰을 인덱싱하고, 세그먼트 임베딩을 통해 미세 조정 없이도 주어진 텍스트에 해당 이미지를 생성하거나 주어진 이미지에 의미있는 캡션을 생성할 수 있다.
일 예로, 본 개시는, 세그먼트 임베딩을 사용하여 각 토큰이 조건부 참조(REF) 또는 생성 대상(GEN)으로 제공되는지 여부를 나타낼 수 있는데, 예를 들어, 텍스트에서 이미지 변환일 경우, 조건부 참조(REF)는 각 텍스트 토큰에 추가되고, 생성 대상(GEN)은 각 이미지 토큰에 추가될 수 있다.
본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 GPT 아키텍처와 유사하되, GPT 아키텍처의 minGPT 구현을 활용한다.
본 개시의 예시적인 실시예에 따르면, 이미지 텍스트 양방향 생성 장치는 조건부 참조([REF]) 및 생성 대상([GEN])에 대해 차원 크기가 256인 세그먼트 임베딩을 추가할 수 있다. 각 세그먼트 임베딩은 입력 토큰의 위치 인코딩에 추가된다. 예시적인 실시예에 따르면, 양방향 자동회귀 변환기(1230)는 1024개의 차원 상태와 16개의 마스크된 셀프 어텐션 헤드가 있는 32계층 디코더 전용 트랜스포머를 사용할 수 있다.
본 개시의 예시적인 실시예에 따르면, 이미지 텍스트 양방향 생성 장치는 이미지 토큰 및 텍스트 토큰에 대해 통합 임베딩 매트릭스를 사용하되, 각 토큰은 0에서 8191 및 8192에서 57599까지 별도로 인덱싱될 수 있다. 양방향 자동회귀 변환기(1230)는 이 외에도 특수 토큰으로서 패딩([PAD]), 텍스트 시작([SOC]) 및 이미지 시작([SOI])이 존재하고, 특수 토큰들은 57600에서 57602까지 인덱싱된다.
또한, 본 개시는, 이미지와 텍스트 간에 가역적으로 조밀하게 연결된 매핑을 내부적으로 학습하고, 미세 조정(finetuning) 또는 추가 개체 감지 프레임워크(extra object detection framework) 없이도 주어진 조건에 따라 텍스트 또는 이미지를 생성할 수 있다.
여기서, 본 개시는, 양방향 학습을 통해, 훈련 및 적용을 위한 시간과 비용을 절약할 수 일을 뿐만 아니라, 데이터의 이질성을 완화하고 안정적인 혼합 정밀도 훈련을 가능하게 한다.
또한, 본 개시는, 양방향 학습을 통해, 작은 데이터 세트와 모델 크기로 비전 언어 교차 모드 표현(vision-language cross-modal representation)을 효율적으로 학습할 수 있다.
여기서, 본 개시는, 이미지를 텍스트로 변환하는데 필요한 데이터가 기존 OSCAR 모델에 비해 약 97.6% 정도가 더 적고, 텍스트에서 이미지로 생성하는데 필요한 데이터가 기존 DALL-E 모델에 비해 약 98.8% 정도가 더 적으며, 기존 DALL-E 모델에 비해 파라미터(parameter)가 약 95% 정도가 더 적으므로 제한된 컴퓨팅 리소스를 사용하는 환경에 더욱 적합할 수 있다.
또한, 본 개시는, 제한된 양의 학습 데이터와 계산 리소스로 인해 OSCAR, DALL-E 또는 CogView와 같은 기존 모델보다 더 큰 규모의 훈련을 수행할 수 없음에도 불구하고, 양방향 학습을 통해 기존 모델에 비해 경쟁력 있는 결과를 보여주고 있다.
도 3은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 과정을 설명하기 위한 도면이다.
본 개시는 세그먼트 임베딩을 사용하여 각 토큰이 조건부 참조([REF]) 또는 생성 대상([GEN])으로 제공되는지 여부를 나타낼 수 있다. 예를 들어, 조건부 참조([REF])는 각 텍스트 토큰에 추가되고, [GEN]은 텍스트-이미지 생성을 위해 각 이미지 토큰에 추가될 수 있다.
기존의 자동 회귀 변환기(Auto-Regressive Transformer)는 마스킹된 내적 멀티헤드 어텐션(Masked dot-product multi-head Attention)을 이용해 왼쪽에서 오른쪽으로 주어진 시퀀스만 이해할 수 있다. 그러나, 텍스트와 이미지 간의 양방향 생성은 변환기가 완전히 양방향일 필요가 없고, 이미지에서 텍스트로의 I2T(Image to Text) 시퀀스와 텍스트에서 이미지로의 T2I 시퀀스(Text to Image)를 구별하는 방법을 학습하는 것으로 충분하다.
본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 주어진 텍스트(또는 이미지)가 조건부 참조([REF])인지 또는 생성 대상([GEN])인지 여부를 양방향 자동 회귀 변환기(BiART)에 지시할 수 있다.
본 개시의 예시적인 실시예에 따른 이미지 텍스트 양방향 생성 장치는 BiART에 각 토큰에 대한 추가 세그먼트 인덱스 시퀀스를 제공한다. 학습 가능한 임베딩 벡터는 각 세그먼트 인덱스([REF]) 및 ([GEN])에 할당되고 입력 시퀀스에 추가될 수 있다. 이로써, BiART로 양방향 이미지 텍스트 생성의 훈련 및 샘플링이 가능하다.
훈련을 위해 각 반복마다 I2T 시퀀스 또는 T2I 시퀀스 등 입력 시퀀스가 교대로 공급된다. 각 반복에서 BiART는 (i) [REF]로 인덱싱된 조건부 참조 y 및 (ii) [GEN]으로 인덱싱된 생성 대상 x의 두 가지 음의 로그 가능성(Negative Log-Like; NLL) 손실을 최적화한다. NLL이 수렴할 때 BiART는 미세 조정(fine tuning) 없이 이미지-텍스트 및 텍스트-이미지 생성을 수행할 수 있다.
도 3에 도시된 바와 같이, 본 개시의 변분 오토 인코더에서, 제1 인코더(1332)는, 적어도 하나의 입력 이미지(1310)를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력할 수 있다.
그리고, 제2 인코더(1334)는, 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력할 수 있다.
이어, 제1 코드북(1350)은, 제1 인코딩 데이터 및 제2 인코딩 데이터를 특징별로 저장할 수 있다.
또한, 본 개시의 텍스트 인코더에서, 인코더(미도시)는, 적어도 하나의 입력 텍스트(1320)를 인코딩하여 인코딩 데이터를 출력하고, 제2 코드북(미도시)은, 인코딩 데이터를 의미 단위별로 저장할 수 있다.
다음, 본 개시의 양방향 자동 회귀 변환기에서, 토크나이저(1372)는, 제1 코드북(1350)으로부터 추출한 이미지 데이터와 제2 코드북으로부터 추출한 텍스트 데이터를 토큰화할 수 있다.
그리고, 세그먼트 임베더(1374)는, 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행할 수 있다.
여기서, 세그먼트 임베더(1374)는, 각 이미지 토큰에 대해 조건부 참조(conditional reference) REF 또는 생성 대상(generation target) GEN을 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 조건부 참조(REF) 또는 생성 대상(GEN)을 부여하는 세그먼트 인베딩을 수행할 수 있다.
일 예로, 세그먼트 임베더(1374)는, 입력 이미지에 대한 텍스트 변환이면 각 이미지 토큰에 대해 조건부 참조(REF)를 부여하고 각 텍스트 토큰에 대해 생성 대상(GEN)을 부여하는 세그먼트 인베딩을 수행하고, 입력 텍스트에 대한 이미지 변환이면 각 텍스트 토큰에 대해 조건부 참조(REF)를 부여하고 각 이미지 토큰에 대해 생성 대상(GEN)을 부여하는 세그먼트 인베딩을 수행할 수 있다.
이어, 변환기(1376)는, 세그먼트 임베딩이 입력 이미지에 대한 텍스트 변환이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 입력 텍스트의 이미지 변환이면 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트를 이미지로 변환할 수 있다.
여기서, 변환기(1376)는, 세그먼트 임베딩이 각 이미지 토큰에 대해 조건부 참조(REF)가 부여되고 각 텍스트 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 각 텍스트 토큰에 대해 조건부 참조(REF)가 부여되고 각 이미지 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트를 이미지로 변환할 수 있다.
즉, 변환기(1376)는, 입력 이미지(1310)를 텍스트로 변환할 때, 입력 이미지의 이미지 토큰을 텍스트로 변환하여 입력 이미지(1310)에 대한 캡션(caption)(1410)을 생성하고, 입력 텍스트(1320)를 이미지로 변환할 때, 텍스트 토큰에 상응하는 이미지의 크기를 연속적으로 업사이징하여 입력 텍스트에 대한 이미지를 생성하도록 변분 오토 인코더의 디코더로 출력할 수 있다.
여기서, 변분 오토 인코더의 제1 디코더(1336)는, 제1 코드북(1350)에 저장된 제2 인코딩 데이터를 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하고, 제2 디코더(1338)는, 제1 디코딩 데이터를 제1 크기만큼 업사이징함으로써 제2 디코딩 데이터를 출력할 수 있다.
또한, 본 개시의 변분 오토 인코더에서, 제1 인코더(1332)는, 이미지가 입력되면 제1 인코더(1332)가 입력 이미지(1310)의 크기를 1/4로 1차 다운사이징하여 제1 코드북(1350)에 저장하고, 제2 인코더(1334가 1차 다운사이징된 입력 이미지의 크기를 1/2로 2차 다운사이징하여 제1 코드북(1350)에 저장할 수 있다.
그리고, 제1 디코더(1336)는, 제1 코드북(1350)으로부터 1/2로 2차 다운사이징된 이미지를 2배로 1차 업사이징하여 출력하고, 제2 디코더(1338)는, 제1 디코더(1336)로부터 출력된 1차 업사이징된 이미지와 제1 코드북(1350)으로부터 1/4로 1차 다운사이징된 이미지를 4배로 2차 업사이징하여 재건 이미지(1430)를 생성할 수 있다.
도 4는, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 본 개시는, 이미지가 입력되면 제1 인코더(1332)를 통해 입력 이미지(1310)를 제1 크기로 다운사이징하여 제1 인코딩 데이터를 출력할 수 있다.
그리고, 본 개시는, 제2 인코더(1334)를 통해 제1 인코딩 데이터를 제2 크기로 다운사이징하여 제2 인코딩 데이터를 출력할 수 있다.
이어, 본 개시는, 제1 코드북(1350)을 통해 제1 인코딩 데이터 및 제2 인코딩 데이터를 특징별로 저장할 수 있다.
다음, 본 개시는, 양방향 자동 회귀 변환기(1370)의 토크나이저(1372)를 통해 제1 코드북(1350)으로부터 추출한 이미지 데이터와 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 토큰화할 수 있다.
그리고, 본 개시는, 세그먼트 임베더(1374)를 통해 토큰화에 의해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행할 수 있다.
여기서, 본 개시는, 세그먼트 임베더(1374)를 통해 각 이미지 토큰에 대해 조건부 참조(conditional reference) REF를 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 생성 대상(GEN)을 부여하는 세그먼트 인베딩을 수행할 수 있다.
이어, 본 개시는, 변환기(1376)를 통해 세그먼트 임베딩이 입력 이미지에 대한 텍스트 변환이면 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지(1310)를 텍스트로 변환할 수 있다.
여기서, 본 개시는, 세그먼트 임베딩이 각 이미지 토큰에 대해 조건부 참조(REF)가 부여되고 각 텍스트 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지(1310)의 이미지 토큰을 텍스트로 변환하여 입력 이미지(1310)에 대한 캡션(caption)(1410)을 생성할 수 있다.
예시적인 실시예에서, 도 4와 같이, 입력 이미지(1310)가 입력될 경우, 캡션 "A bench sitting at the end of wide countryside road"이 생성될 수 있다.
도 5는, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 도면이다.
도 5에 도시된 바와 같이, 본 개시는, 텍스트가 입력되면 입력 텍스트(1320)를 인코딩하여 인코딩 데이터를 출력하고, 제2 코드북(1360)에 인코딩 데이터를 의미 단위별로 저장할 수 있다.
다음, 본 개시는, 양방향 자동 회귀 변환기(1370)의 토크나이저(1372)를 통해 제1 코드북(1350)으로부터 추출한 이미지 데이터와 제2 코드북(1360)으로부터 추출한 텍스트 데이터를 토큰화할 수 있다.
그리고, 본 개시는, 세그먼트 임베더(1374)를 통해 토큰화에 의해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행할 수 있다.
여기서, 본 개시는, 세그먼트 임베더(1374)를 통해 각 이미지 토큰에 대해 생성 대상(generation target) GEN을 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 조건부 참조(REF)를 부여하는 세그먼트 인베딩을 수행할 수 있다.
이어, 본 개시는, 변환기(1376)를 통해 세그먼트 임베딩이 입력 텍스트에 대한 이미지 변환이면 제1 코드북(1350)으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트(1320)를 이미지로 변환할 수 있다.
여기서, 본 개시는, 세그먼트 임베딩이 각 텍스트 토큰에 대해 조건부 참조(REF)가 부여되고 각 이미지 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제1 코드북(1350)으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트(1320)의 텍스트 토큰을 이미지로 변환할 수 있다.
본 개시는, 입력 텍스트(1320)를 이미지로 변환할 때, 텍스트 토큰에 상응하는 이미지의 크기를 연속적으로 업사이징하여 입력 텍스트에 대한 이미지를 생성하도록 변분 오토 인코더의 디코더로 출력할 수 있다.
여기서, 본 개시는, 변분 오토 인코더의 제1 디코더(1336)를 통해 텍스트 토큰에 상응하는 이미지의 크기를 1차 업사이징하고, 제2 디코더(1338)를 통해 1차 업사이징된 이미지를 2차 업사이징하여 이미지(1420)를 생성할 수 있다.
즉, 본 개시는, 텍스트에 상응하는 이미지를 제1 디코터(1336) 및 제2 디코더(1338)를 포함하는 다수의 디코더를 기반으로 이미지의 크기를 연속적으로 업사이징하여 이미지를 생성할 수 있다.
여기서, 본 개시는, 입력 이미지의 부분인 패치 크기에 상관 없이 이미지 특징을 학습하므로, 추상적인 텍스트에 대해서도 효과적인 이미지를 생성할 수 있다.
즉, 본 개시는, 입력 텍스트의 내용을 효과적으로 반영된 이미지를 생성할 수 있으며, 반대로 입력 이미지의 내용을 효과적으로 반영된 텍스트를 생성할 수 있다.
예시적인 실시예에서, 도 5와 같이, 입력 텍스트(input Text) "Overcast skies and mountains"가 입력될 경우, 이미지(1420)가 생성될 수 있다.
도 6은, 본 개시의 일 실시예에 따른 입력 이미지에 대한 이미지 재건 과정을 설명하기 위한 도면이다.
도 6에 도시된 바와 같이, 본 개시는, 이미지가 입력되면 제1 인코더(1332)를 통해 입력 이미지(1310)의 크기를 1/4로 1차 다운사이징하여 제1 인코딩 데이터를 출력할 수 있다.
그리고, 본 개시는, 제2 인코더(1334)를 통해 1차 다운사이징된 입력 이미지의 크기를 1/2로 2차 다운사이징하여 제2 인코딩 데이터를 출력할 수 있다.
다음, 본 개시는, 제1 코드북(1350)을 통해 제1 인코딩 데이터와 제2 인코딩 데이터를 저장할 수 있다.
이어, 본 개시는, 제1 디코더(1336)를 통해 제1 코드북(1350)으로부터 1/2로 2차 다운사이징된 제2 인코딩 데이터를 2배로 1차 업사이징하여 제1 디코딩 데이터를 출력할 수 있다.
그리고, 본 개시는, 제2 디코더(1338)를 통해 제1 디코더(1336)로부터 출력된 1차 업사이징된 제1 디코딩 데이터와 제1 코드북(1350)으로부터 1/4로 1차 다운사이징된 제1 인코딩 데이터를 4배로 2차 업사이징하여 제2 디코딩 데이터를 출력함으로써, 재건 이미지(1430)를 생성할 수 있다.
도 7은, 본 개시의 일 실시예에 따른 변분 오토 인코더를 설명하기 위한 기본 모델을 보여주는 도면이다.
도 7에 도시된 바와 같이, 본 개시의 변분 오토 인코더(10)는, VQ-VAE(Vector Quantized Variational AutoEncoder)의 이미지 압축 및 복원 능력을 향상시키기 위해 VQ-VAE 모델보다 더 강화된 VQ-VAE 기반의 AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지 데이터 학습을 수행할 수 있다.
오토 인코더는, 주어진 데이터의 분포를 잠재 공간(400)에 압축하는 방법을 학습하는 신경망 모델이다. 오토 인코더는, 데이터를 압축하는 인코더(100)와 데이터의 압축을 푸는 디코더(200)를 포함할 수 있다.
잠재 공간(latent space)이란 데이터의 특징(feature)을 추출하기 위해, 실제 관측 공간(observation space)을 차원 축소(dimensionality reduction)한 샘플링 영역이다. 예시적인 실시예에서, 잠재 공간은 관측 대상을 잘 설명할 수 있는 영역이고, 인공신경망은 잠재 공간을 통해 관측 대상에서 추출된 관측 데이터의 특징을 선택하거나 추출할 수 있다. 예시적인 실시예에서, 잠재 공간은 관측 공간보다 작을 수 있다. 잠재 공간은 적어도 하나의 잠재 벡터로 표현될 수 있다.
데이터가 이미지인 경우, 입력 이미지(input IMG)가 인코더(100)에 입력되면 인코더(100)는 이미지를 잠재 공간(400) 상의 잠재 벡터(z)로 변환하고, 디코더(200)는 잠재 벡터(z)를 다시 이미지로 복원하여 출력 이미지(output IMG)를 생성할 수 있다. 이때, 인코더의 압축을 거친 잠재 공간(400) 상의 벡터는, 입력 데이터보다 크기가 줄어들게 되는데, 크기가 줄어든 입력 데이터를 다시 얼마나 동일하게 복원하는지에 따라 모델의 성능을 알 수 있다. 하지만, 이러한 오토 인코더는, 학습 데이터가 잠재 공간(400) 상에 흩어져서 배치될 수 있다.
본 개시의 변분 오토 인코더(10)는, 잠재 공간(400) 상의 데이터를 사전 정의된 분포에 따라 정돈하여 배치하는 오토 인코더일 수 있다. 예시적인 실시예에 따른 변분 오토 인코더(10)는, 정규화된 가우시안 분포(Gaussian Distribution)에 따라 정돈되어 배치될 수 있다. 즉, 변분 오토 인코더(10)는, 학습 데이터가 잠재 공간(400) 상에 흩어지져서 배치되지 않도록 유사한 특징을 갖는 학습 데이터들을 잠재 공간(400) 상에 정돈하여 배치할 수 있는 오토 인코더일 수 있다.
본 개시의 예시적인 실시예에 따르면, 인코더(100)는 입력 이미지(input IMG)를 잠재 공간(400) 상의 잠재 벡터(z)로 변환할 수 있다.
입력 이미지(input IMG)는, 평균(mean)(μ) 및 표준편차(standard deviation)(σ)를 가지는 정규분포에 따르도록 분류될 수 있다. 인코딩 후의 잠재 벡터(z)에는, 표준정규분포(즉, 평균 0, 표준편차 1을 따르는 정규분포)를 따르는 특성을 가지는 노이즈(ε)가 추가될 수 있다. 이 경우, 잠재 벡터(z)는 다음과 같은 수학식 1을 따를 수 있다.
[수학식 1]
수학식 1을 참조하면, 노이즈(ε)는, 분산의 가중치로 기능할 수 있다.
변분 오토 인코더(10)는, VAE 모델 구조에서, 인코더(100)의 후단과 디코더(200)의 전단에 코드북을 추가 배치하는 모델일 수 있다. 여기서, 코드북은, 잠재 공간(400) 상의 잠재 벡터(z)들이 실제 이미지와 대치(replace)되는 데이터셋(dataset)의 저장소일 수 있다. 코드북은 도 2를 참조하여 보다 상세히 설명될 것이다. 따라서, 변분 오토 인코더(10)는, 코드북을 이용하여 실제 이미지의 일부분에 해당하는 벡터들을 특징별로 잠재 공간(400) 상에 정돈하여 배치할 수 있다.
본 개시의 변분 오토 인코더(10)는, VQ-VAE 기반의 AugVAE 모델을 이용하여 정보 손실을 최소화하면서 이미지에서 텍스트로의 변환 또는 텍스트에서 이미지로의 양 방향 변환을 자유롭게 수행할 수 있다.
본 개시의 AugVAE 모델은, 코드북의 배치를 이미지를 압축하는 과정의 중간에 다수 배치함으로써, 이미지를 압축하는 과정의 중간에 동일한 특징을 갖는 이미지의 일부분이 동일한 항목에 들어가도록 코드북에 여러 번 기록할 수 있다.
본 개시의 변분 오토 인코더(10)는, 입력 이미지에 대한 이산데이터 학습을 수행할 수 있다. 여기서, 이산 데이터는, 언어, 음성 및 이미지 등과 같이 데이터가 연속적이지 않는 데이터를 포함할 수 있다. 언어 및 음성은, 본질적으로 이산적인 성질을 가지고, 이미지는, 언어로 표현될 수 있다. 따라서, 본 개시의 변분 오토 인코더(10)는, VAE와 이산표현을 결합한 새로운 생성모델로서, Vector Quantisation(VQ)를 사용하여 너무 큰 분산으로 생기는 어려움을 피하면서 학습하기 편하고 잠재 변수가 데이터 특징을 정확하게 파파악하지 못하는 사후 붕괴(posterior collapse) 현상 문제를 해결할 수 있으며, 연속표현을 사용하는 모델과 비등하면서도 이산표현의 유연함을 제공할 수 있다.
도 8 내지 도 9는, 본 개시의 학습 과정을 수행하는 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
예시적인 실시예에서, 제1 인코더(110) 및 제2 인코더(130)는, 부분 이미지를, 코드북(210) 내의 코드북 벡터 중 최소 거리를 가지는 코드북 벡터의 인덱스로 대치(replacing)할 수 있다.
예를 들면, 도 8에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 이미지가 입력되면 제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차 업사이징하여 재건된 이미지를 출력할 수 있다.
도 9에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 이미지(1001)를 인코딩하여 국부적 패턴을 1차 모델링하고, 1차 모델링된 이미지(1002)를 재인코딩하여 거시적 정보를 2차 모델링할 수 있다.
2차 모델링된 이미지(1003)는, 특정 크기로 다운사이징되어 다수의 제1 패치(1004)들로 코드북에 저장되고, 1차 모델링된 이미지(1002)는, 특정 크기로 다운사이징되어 다수의 제2 패치(1006)들로 코드북에 저장될 수 있다.
그리고, 본 개시의 뉴럴 네트워크 모델은, 코드북에 저장된 다수의 제1 패치(1004)와 제2 패치(1006)들을 디코딩하여 재건된 이미지(1007)를 출력할 수 있다.
따라서, 본 개시의 뉴럴 네트워크 모델은, 방대한 이미지로부터 각 사물 이미지의 부분 특징을 효과적으로 학습할 수 있는 모델이므로, 더욱 정교한 이미지를 생성할 수 있다.
도 10은 본 개시의 일 실시예에 따른 학습된 AugVAE 모델을 이용한 변분 오토 인코더의 이미지 생성 과정을 설명하기 위한 프로세서를 보여주는 도면이다.
본 개시에서, 이산 표현은, 임베딩 e ∈ RK × D로 나타낼 수 있는데, 이를 코드북(codebook)이라 하고, K는, 이산 표현 공간의 크기(K-way categorical과 같음), D는, 각 embedding vector ei의 차원이다.
즉, ei ∈ RD로, i ∈ 1, 2, ...., K이며, 임베딩 벡터(embedding vector)가 K개가 있는 경우 코드북이 K개이다. 예를 들어, 코드북은, 약 8192개로 구현될 수 있으나, 이에 제한되지는 않는다.
프로세서(30)는 텐서(tensor)의 각 위치마다 e1부터 ek까지 중에서 가까운 한 개로 변환함으로써, K개의 코드북(임베딩 스페이스에서 미리 정해진)을 WxHxD의 어느 하나와 대체(replacement)할 수 있다. 예시적인 실시예에서,, 적어도 하나의 입력 이미지의 각 부분인 부분 이미지는, 코드북(210)의 인덱스와 대응되어 전체로서 대상 이미지를 표현할 수 있다.
예시적인 실시예에서, 제1 디코더(350) 및 제2 디코더(370)는, 코드북 벡터의 인덱스를 코드북 벡터로 각각 매핑(mapping)할 수 있다. 즉, 코드북 벡터의 인덱스로 대치(replacing)할 때, 모델의 인코더는, 입력 x를 받아 Ze(x)를 출력한다.
여기서, 이산표현벡터 z는, 임베딩 스페이스(embedding space) e에서 가장 가까운 임베딩 벡터(embedding vector)를 찾을 수 있다.
예시적인 실시예에서, 제1 인코더(150) 및 제2 인코더(170)는, 잠재 공간(latent space)에서 추출된 잠재 벡터(latent vector)를, 이산데이터로 매핑되는 집합인 임베딩 공간으로 임베딩할 수 있고, 제1 디코더(350) 및 제2 디코더(370)는, 지정된 수의 코드북 벡터를 이용해 데이터를 재구축할 수 있다.
여기서, 잠재 벡터는, 평균 및 표준편차를 가지도록 표준화되고, 이산 잠재 변수에 대한 조건부확률의 사전(prior) 확률에 대응될 수 있다.
예시적인 실시예에서, 코드북(230)은, 제1 인코더(150) 및 제2 인코더(170)의 출력에, 입력의 영향을 축소시키도록 기능하는 정지 경사(stop gradient)가 적용되어 업데이트될 수 있다.
예시적인 실시예에서, 임베딩 공간은, 제1 인코더(150) 또는 제2 인코더(170)의 출력과 실질적으로 동일하도록 학습될 수 있다.
예시적인 실시예에서, 제1 디코딩 데이터는, 제2 디코딩 데이터와 연속(Concatenation)될 수 있다.
예시적인 실시예에서, 코드북(250)은, 국부적 패턴과 거시적 정보가 분리된 계층화된 특성 레벨에 따라 학습될 수 있다.
예시적인 실시예에서, 제1 인코더(150)는, 적어도 하나의 입력 이미지를 인코딩하여 국부적 패턴을 모델링하고, 제2 인코더(170)는, 모델링된 이미지를 재인코딩하여 거시적 정보를 모델링할 수 있다. 예컨대, 제1 인코더(150)와 제2 인코더(170)는, 교차 수준 패치 유사도(Cross level patch similarity)에 기초해, 패치 사이즈에 무관한 패치들을 압축할 수 있다. 교차 수준 패치 유사도는, 기준 이미지의 특징점에 대해 목표 이미지의 대응점을 찾고, 다시 목표 이미지의 대응점에서 기준 이미지의 대응점을 찾는 교차 검색을 통해 유사도를 산출하는 방식일 수 있다.
도 10에 도시된 바와 같이, 본 개시의 프로세서(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)은, 도 3의 양방향 자기 회귀 변환(Bi-directional Auto-Regressive Transforming)부의 이미지 토큰에 이용될 수 있다.
여기서, 제1 디코더(350)는, 양방향 자기 회귀 변환기의 출력을 수신할 수 있다.
도 11 및 도 12는, 본 개시의 이미지 생성 과정을 수행하는 사전 학습된 뉴럴 네트워크 모델을 설명하기 위한 도면이다.
도 11에 도시된 바와 같이, 본 개시는, 사전 학습된 AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지를 생성할 수 있다.
제1 AugVAE(Single Layer) 미세 조정을 시작하기 전에 제2 AugVAE(Multi-Layer)에서 16 × 16 및 8 × 8 잠재 맵을 제거하고 채널 업샘플링을 위해 연결을 1 × 1 컨볼루션으로 교체하여 모델 아키텍처를 변경한다. 예시적인 실시예에서, 교차 수준 기능 증강으로 훈련된 제2 AugVAE는 제1 AugVAE로 미세 조정되어 인코딩된 이미지 시퀀스의 길이를 줄일 수 있다. 즉, 제2 AugVAE에서 불필요한 인코더와 디코더가 제거되고, 연결(concatenation) 연산이 입력 텐서의 마지막 차원을 2만큼 확장하는 1 × 1 컨볼루션으로 대체될 수 있다.
본 개시의 AugVAE는 ImageNet1K에서 훈련되었고, 각 이미지의 크기를 256 × 256 × 3으로 조정하고, 학습을 위해 0.75 자르기 비율로 무작위 자르기(random Crop)이 적용된다. 본 개시는 β1 = 0.9, β2 = 0.999, ε = 10e - 8, 가중치 감소 승수 1e - 5, 학습률 4.5e - 6을 배치 크기로 곱한 AdamW 옵티마이저를 사용하여 제1 AugVAE는 물론 제2 AugVAE를 모두 훈련할 수 있다.
예를 들면, 본 개시의 뉴럴 네트워크 모델은, 이미지가 입력되면 제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)은, 도 3의 양방향 자기 회귀 변환기의 이미지 토큰에 이용될 수 있다.
여기서, 제1 디코더(317)는, 양방향 자기 회귀 변환기의 출력을 수신할 수 있다.
도 12에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 이미지를 인코딩하여 국부적 패턴을 1차 모델링하고, 1차 모델링된 이미지를 재인코딩하여 거시적 정보를 2차 모델링할 수 있다.
예시적인 실시예에서, 본 개시의 예시적인 실시예에 따른 뉴럴 네트워크 모델은 교차 수준 패치 유사도(Cross level patch similarity)에 기초해, 패치 사이즈에 무관한 패치들을 압축할 수 있다. 교차 수준 패치 유사도는, 기준 이미지의 특징점에 대해 목표 이미지의 대응점을 찾고, 다시 목표 이미지의 대응점에서 기준 이미지의 대응점을 찾는 교차 검색을 통해 유사도를 산출하는 방식일 수 있다.
2차 모델링된 이미지는, 특정 크기로 다운사이징되어 다수의 제1 패치(2003)들로 코드북에 저장되고, 1차 모델링된 이미지는, 특정 크기로 다운사이징되어 다수의 제2 패치(2007)들로 코드북에 저장될 수 있다.
그리고, 본 개시의 뉴럴 네트워크 모델은, 코드북에 저장된 다수의 제1 패치(2003)와 제2 패치(2007)들을 디코딩하여 이미지를 출력할 수 있다.
따라서, 본 개시의 뉴럴 네트워크 모델은, 방대한 이미지로부터 각 사물 이미지의 부분 특징을 효과적으로 학습할 수 있는 모델이므로, 더욱 정교한 이미지를 생성할 수 있다.
도 13은, 본 개시의 일 실시예에 따른 입력 이미지에 대한 텍스트 생성 과정을 설명하기 위한 순서도이다.
도 13에 도시된 바와 같이, 본 개시는, 이미지가 입력되면(S10), 입력 이미지의 크기를 연속적으로 다운사이징하도록 인코딩하여 이미지 데이터를 출력할 수 있다(S20).
일 예로, 본 개시는, 이미지가 입력되면 입력 이미지를 제1 크기로 1차 다운사이징하고, 1차 다운사이징된 이미지를 제2 크기로 2차 다운사이징할 수 있다.
그리고, 본 개시는, 이미지 데이터를 제1 코드북에 저장할 수 있다(S30).
일 예로, 본 개시는, 이미지 데이터를 특징별로 제1 코드북에 저장할 수 있다.
이어, 본 개시는, 제1 코드북으로부터 추출한 이미지 데이터와 제2 코드북으로 추출한 텍스트 데이터를 토큰화할 수 있다(S40).
다음, 본 개시는, 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행할 수 있다(S50).
여기서, 본 개시는, 각 이미지 토큰에 대해 조건부 참조(conditional reference)(REF)를 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 생성 대상(GEN)을 부여하는 세그먼트 인베딩을 수행할 수 있다.
그리고, 본 개시는, 세그먼트 임베딩이 상기 입력 이미지에 대한 텍스트 변환이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환할 수 있다(S60).
여기서, 본 개시는, 세그먼트 임베딩이 각 이미지 토큰에 대해 조건부 참조(REF)가 부여되고 각 텍스트 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지의 이미지 토큰을 텍스트로 변환하여 입력 이미지에 대한 캡션(caption)을 생성할 수 있다.
도 14는, 본 개시의 일 실시예에 따른 입력 텍스트에 대한 이미지 생성 과정을 설명하기 위한 순서도이다.
도 14에 도시된 바와 같이, 본 개시는, 텍스트가 입력되면(S110), 입력 텍스트를 인코딩하여 텍스트 데이터를 출력할 수 있다(S120).
그리고, 본 개시는, 텍스트 데이터를 제2 코드북에 저장할 수 있다(S130).
일 예로, 본 개시는, 텍스트 데이터를 의미 단위별로 제2 코드북에 저장할 수 있다.
이어, 본 개시는, 제1 코드북으로부터 추출한 이미지 데이터와 제2 코드북으로 추출한 텍스트 데이터를 토큰화할 수 있다(S140).
다음, 본 개시는, 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행할 수 있다(S150).
일 예로, 본 개시는, 각 이미지 토큰에 대해 생성 대상(generation target) GEN을 부여하는 세그먼트 인베딩을 수행하고, 각 텍스트 토큰에 대해 조건부 참조(REF)를 부여하는 세그먼트 인베딩을 수행할 수 있다.
그리고, 본 개시는, 세그먼트 임베딩이 입력 텍스트의 이미지 변환이면 제1 코드북으로부터 추출한 이미지 데이터의 크기를 연속적으로 업사이징하도록 디코딩하여 입력 텍스트를 이미지로 변환할 수 있다(S160).
일 예로, 본 개시는, 세그먼트 임베딩이 각 텍스트 토큰에 대해 조건부 참조(REF)가 부여되고 각 이미지 토큰에 대해 생성 대상(GEN)이 부여되는 세그먼트 인베딩이면 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트의 텍스트 토큰을 이미지로 변환할 수 있다.
여기서, 본 개시는, 텍스트 토큰에 상응하는 이미지의 크기를 연속적으로 업사이징하여 입력 텍스트에 대한 이미지를 생성할 수 있다.
예를 들면, 본 개시는, 제1 디코더를 통해 텍스트 토큰에 상응하는 이미지의 크기를 1차 업사이징하고, 제2 디코더를 통해 1차 업사이징된 이미지를 2차 업사이징하여 이미지를 생성할 수 있다.
도 15 및 도 16은, 본 개시의 뉴럴 네트워크 모델을 통해 생성된 이미지와 텍스트를 보여주는 도면이다.
도 15에 도시된 바와 같이, 상단부의 이미지는, 입력 이미지이고, 중간부의 이미지는, 멀티 레벨로 입력 이미지에 대한 이산데이터 학습을 수행한 AugVAE 모델을 통해 생성된 이미지이며, 하단부의 이미지는, 싱글 레벨로 입력 이미지에 대한 이산데이터 학습을 수행한 AugVAE 모델을 통해 생성된 이미지이다.
도 16과 같이, 본 개시의 뉴럴 네트워크 모델은, 최종적으로 생성된 이미지가 입력 이미지인 원본을 효과적으로 반영됨을 알 수 있다.
또한, 도 16에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 입력 텍스트의 내용을 효과적으로 반영된 이미지를 생성할 수 있으며, 반대로 입력 이미지의 내용을 효과적으로 반영된 텍스트를 생성할 수 있다.
예시적인 실시예에서, 도 16과 같이, 입력 텍스트(input Text) "a subset view with the river"가 입력될 경우, 상단 좌측 이미지가 생성될 수 있고, "a full moon behind buildings"가 입력될 경우, 상단 중간 이미지가 생성될 수 있으며, "lone astronomer in empty planet"가 입력될 경우, 상단 우측 이미지가 생성될 수 있다.
또한, 도 16과 같이, 하단 좌측 입력 이미지(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"가 생성될 수 있다.
도 17은, 본 개시의 뉴럴 네트워크 모델에 대한 성능을 보여주는 표이다.
도 17에 도시된 바와 같이, 본 개시의 뉴럴 네트워크 모델은, 프레쳇 인셉션 거리(Frechet Inception Distance, FID)에 대한 성능 평가에서 다른 모델들에 비해 우수함을 알 수 있다.
즉, 본 개시의 뉴럴 네트워크 모델은, 크로스-레벨 피쳐 오그먼테이션(Cross-Level Feature Augmentation)을 통한 VQ-VAE의 재건 충실도(Reconstruction Fidelity)가 향상되는 것을 알 수 있다.
이처럼, 본 개시는, 연속적인 데이터 특성으로 이산으로(discrete) 학습하기 때문에 이미지를 압축하고 복원시키는 과정에서 발생하는 정보손실을 최소화할 수 있다.
도 18은, 본 개시의 일 실시예에 따른 이미지 텍스트 양방향 생성 장치의 기본 구조를 설명하기 위한 도면이다.
도 18에 도시된 바와 같이, 본 개시에 따른 이미지 텍스트 양방향 생성 장치(40)는, 뉴럴 프로세서(41), 중앙 프로세서(43), 센서(45), 메모리(47), 그리고, 스토리지(49)를 포함할 수 있다.
여기서, 메모리(47)는, 적어도 하나의 인스트럭션 및 적어도 하나의 입력 이미지를 저장할 수 있다.
그리고, 뉴럴 프로세서(41)는, 적어도 하나의 인스트럭션을 실행함으로써 입력 이미지에 대한 이산데이터 학습을 수행하도록 구성될 수 있다.
일 예로, 뉴럴 프로세서(41)는, 변분 오토 인코더(Variational Autoencoder), 텍스트 인코더Text Encoder), 그리고 양방향 자동 회귀 변환기(Bidirectional Auto-Regressive Transformer)을 포함할 수 있다.
여기서, 변분 오토 인코더는, 입력 이미지의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북을 포함할 수 있다.
변분 오토 인코더는, VQ-VAE(Vector Quantized Variational AutoEncoder)의 이미지 압축 및 복원 능력을 향상시키기 위해 VQ-VAE 모델보다 더 강화된 VQ-VAE 기반의 AugVAE(feature-Augmented Variational AutoEncoder) 모델을 이용하여 이미지 데이터 학습을 수행할 수 있다.
예를 들면, 변분 오토 인코더는, 적어도 하나의 입력 이미지를 제1 크기로 다운사이징함으로써 제1 인코딩 데이터를 출력하도록 구성된 제1 인코더, 제1 인코딩 데이터를 제2 크기로 다운사이징함으로써 제2 인코딩 데이터를 출력하도록 구성된 제2 인코더, 이산데이터가 매핑되는 집합으로서, 제1 인코딩 데이터 및 제2 인코딩 데이터를 특징별로 저장하도록 구성된 제1 코드북, 제1 코드북에 저장된 상기 제2 인코딩 데이터를 상기 제2 크기만큼 업사이징함으로써, 제1 디코딩 데이터를 출력하도록 구성된 제1 디코더, 및 제1 디코딩 데이터를 제1 크기만큼 업사이징함으로써 제2 디코딩 데이터를 출력하도록 구성된 제2 디코더를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
한편, 텍스트 인코더는, 입력 텍스트에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북을 포함할 수 있다.
여기서, 텍스트 인코더는, 적어도 하나의 입력 텍스트의 연속 문자를 다른 문자로 대체하도록 압축하여 인코딩 데이터를 출력하도록 구성된 바이트 쌍 인코더(Byte Pair Encoder)를 포함할 수 있다.
일 예로, 텍스트 인코더는, 적어도 하나의 입력 텍스트를 인코딩하여 인코딩 데이터를 출력하도록 구성된 인코더와 인코딩 데이터를 의미 단위별로 저장하도록 구성된 제2 코드북을 포함할 수 있다.
다음, 양방향 자동 회귀 변환기는, 세그먼트 임베딩(segment embedding)이 입력 이미지에 대한 텍스트 변환이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 입력 텍스트의 이미지 변환이면 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 입력 텍스트를 이미지로 변환할 수 있다.
여기서, 양방향 자동 회귀 변환기는, 이미지와 텍스트의 결합을 학습하는 트랜스포머 모델을 포함할 수 있다.
일 예로, 양방향 자동 회귀 변환기는, 제1 코드북으로부터 추출한 이미지 데이터와 제2 코드북으로부터 추출한 텍스트 데이터를 토큰화하는 토크나이저, 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 세그먼트 임베더, 및 세그먼트 임베딩이 입력 이미지에 대한 텍스트 변환이면 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 입력 이미지를 텍스트로 변환하고, 세그먼트 임베딩이 입력 텍스트의 이미지 변환이면 제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 (18)
- 적어도 하나의 입력 이미지와 적어도 하나의 입력 텍스트를 저장하는 메모리; 및
상기 입력 이미지를 텍스트로 변환하거나 또는 상기 입력 텍스트를 이미지로 변환하도록 구성된 프로세서를 포함하고,
상기 메모리는,
상기 입력 이미지의 크기를 연속적으로 다운사이징하여 크기가 다른 이미지 데이터를 저장하도록 사전 학습된 제1 코드북을 포함하는 변분 오토인코더(Variational Autoencoder);
상기 입력 텍스트에 상응하는 텍스트 데이터를 저장하도록 사전 학습된 제2 코드북을 포함하는 텍스트 인코더; 및
세그먼트 임베딩(segment embedding)이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고, 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는 양방향 자동회귀 변환기(Bidirectional Auto-Regressive Transformer)를 포함하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 텍스트 인코더는,
상기 적어도 하나의 입력 텍스트를 인코딩하여 인코딩 데이터를 출력하도록 구성된 인코더; 및
상기 인코딩 데이터를 의미 단위별로 저장하도록 구성된 제2 코드북을 포함하는, 이미지 텍스트 양방향 생성 장치. - 제2항에 있어서,
상기 인코더는,
상기 적어도 하나의 입력 텍스트의 연속 문자를 다른 문자로 대체하도록 압축하여 인코딩 데이터를 출력하도록 구성된 바이트 쌍 인코더(Byte Pair Encoder)를 포함하는, 이미지 텍스트 양방향 생성 장치. - 제3항에 있어서,
상기 바이트 쌍 인코더에는,
0.1의 비율로 드롭아웃(dropout)이 적용되는 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 양방향 자동 회귀 변환기는,
상기 제1 코드북으로부터 추출한 이미지 데이터와 상기 제2 코드북으로부터 추출한 텍스트 데이터를 토큰화하는 토크나이저;
상기 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 세그먼트 임베더; 및
상기 세그먼트 임베딩이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고, 상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는 서브변환기를 포함하는, 이미지 텍스트 양방향 생성 장치. - 제5항에 있어서,
상기 세그먼트 임베더는,
각 이미지 토큰에 대해 조건부 참조(conditional reference) 또는 생성 대상(generation target)을 부여하는 제1 세그먼트 인베딩을 수행하고,
각 텍스트 토큰에 대해 조건부 참조 또는 생성 대상을 부여하는 제2 세그먼트 인베딩을 수행하는, 이미지 텍스트 양방향 생성 장치. - 제6항에 있어서,
상기 세그먼트 임베더는,
상기 입력 이미지에 대한 텍스트 변환이면 상기 각 이미지 토큰에 대해 조건부 참조를 부여하고 상기 각 텍스트 토큰에 대해 생성 대상을 부여하는 제3 세그먼트 인베딩을 수행하고,
상기 입력 텍스트에 대한 이미지 변환이면 상기 각 텍스트 토큰에 대해 조건부 참조를 부여하고 상기 각 이미지 토큰에 대해 생성 대상을 부여하는 제4 세그먼트 인베딩을 수행하는, 이미지 텍스트 양방향 생성 장치. - 제6항에 있어서,
상기 서브변환기는,
상기 제1 또는 제2 세그먼트 임베딩이, 상기 각 이미지 토큰에 대해 조건부 참조가 부여되고 상기 각 텍스트 토큰에 대해 생성 대상이 부여되는 세그먼트 인베딩이면, 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하고,
상기 제1 또는 제2 세그먼트 임베딩이, 상기 각 텍스트 토큰에 대해 조건부 참조가 부여되고 상기 각 이미지 토큰에 대해 생성 대상이 부여되는 세그먼트 인베딩이면, 상기 제1 코드북으로부터 추출한 이미지 데이터를 기반으로 상기 입력 텍스트를 이미지로 변환하는, 이미지 텍스트 양방향 생성 장치. - 제8항에 있어서,
상기 서브변환기는,
상기 입력 이미지를 텍스트로 변환할 때, 상기 입력 이미지의 이미지 토큰을 텍스트로 변환하여 상기 입력 이미지에 대한 캡션(caption)을 생성하고,
상기 입력 텍스트를 이미지로 변환할 때, 상기 텍스트 토큰에 상응하는 이미지의 크기를 연속적으로 업사이징하여 상기 입력 텍스트에 대한 이미지를 생성하도록 상기 변분 오토인코더의 디코더로 출력하는, 이미지 텍스트 양방향 생성 장치. - 제5항에 있어서,
상기 토크나이저는,
상기 이미지 데이터를 토큰화한 이미지 토큰 및 상기 텍스트 데이터를 토큰화한 텍스트 토큰을 포함하는 통합 임베딩 매트릭스를 사용하것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제10항에 있어서,
상기 토크나이저는,
상기 통합 임베딩 매트릭스의 인덱싱은 연속적이되,
상기 이미지 토큰 및 상기 텍스트 토큰 각각의 인덱싱 범위는 서로 배타적인 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 제1 코드북 및 제2 코드북은,
단일 컨볼루션 연산이 수행된 결과로서 저장된 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 단일 컨볼루션 연산은,
입력된 데이터의 마지막 차원(dimension)을 2만큼 확장하는 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 양방향 자동회귀 변환기는,
상기 세그먼트 임베딩에 적어도 하나의 파라미터를 이용하고,
상기 적어도 하나의 파라미터 각각에는 가중치 감소가 적용되지 않는 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제1항에 있어서,
상기 양방향 자동회귀 변환기는,
상기 세그먼트 임베딩에 차원크기가 256인 입력 토큰을 사용하는 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 제15항에 있어서,
상기 양방향 자동회귀 변환기는,
1024개의 차원 상태(dimensional state) 및 16개의 마스킹된 셀프어텐션 헤드를 가지는 것을 특징으로 하는, 이미지 텍스트 양방향 생성 장치. - 이미지 데이터를 저장하는 제1 코드북과 텍스트 데이터를 저장하는 제2 코드북을 포함하는 장치의 이미지 텍스트 양방향 생성 방법에 있어서,
이미지가 입력되면 입력 이미지의 크기를 연속적으로 다운사이징하도록 인코딩하여 이미지 데이터를 출력하는 단계;
상기 이미지 데이터를 상기 제1 코드북에 저장하는 단계;
상기 제1 코드북으로부터 추출한 이미지 데이터와 상기 제2 코드북으로 추출한 텍스트 데이터를 토큰화하는 단계;
상기 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 단계; 및
상기 세그먼트 임베딩이 상기 입력 이미지에 대한 텍스트 변환이면 상기 제2 코드북으로부터 추출한 텍스트 데이터를 기반으로 상기 입력 이미지를 텍스트로 변환하는 단계를 포함하는, 이미지 텍스트 양방향 생성 방법. - 이미지 데이터를 저장하는 제1 코드북과 텍스트 데이터를 저장하는 제2 코드북을 포함하는 장치의 이미지 텍스트 양방향 생성 방법에 있어서,
텍스트가 입력되면 입력 텍스트를 인코딩하여 텍스트 데이터를 출력하는 단계;
상기 텍스트 데이터를 상기 제2 코드북에 저장하는 단계;
상기 제1 코드북으로부터 추출한 이미지 데이터와 상기 제2 코드북으로 추출한 텍스트 데이터를 토큰화하는 단계;
상기 토큰화를 통해 생성된 이미지 토큰들과 텍스트 토큰들에 대해 각각 세그먼트 임베딩을 수행하는 단계; 및
상기 세그먼트 임베딩이 상기 입력 텍스트의 이미지 변환이면 상기 제1 코드북으로부터 추출한 이미지 데이터의 크기를 연속적으로 업사이징하도록 디코딩하여 상기 입력 텍스트를 이미지로 변환하는 단계를 포함하는, 이미지 텍스트 양방향 생성 방법.
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 |
---|---|
KR20230072454A true KR20230072454A (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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220103679A KR20230072400A (ko) | 2021-11-17 | 2022-08-19 | 변분 오토인코딩 장치, 방법 및 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR20230072400A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220012434A1 (en) * | 2020-07-08 | 2022-01-13 | International Business Machines Corporation | Contextual diagram-text alignment through machine learning |
KR102655359B1 (ko) * | 2023-12-29 | 2024-04-05 | 주식회사 더매트릭스 | 생성형 ai 모델을 이용해 인페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
KR102662411B1 (ko) * | 2024-01-19 | 2024-04-30 | 주식회사 더매트릭스 | 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
KR102674977B1 (ko) * | 2023-06-09 | 2024-06-13 | 주식회사 비브스튜디오스 | 신경망 모델을 활용하여 3d 공간을 생성하는 방법 |
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 | 연세대학교 산학협력단 | 자연어 문장을 기반으로 하는 변환 이미지 생성 장치, 방법 및 이를 이용하는 변환 이미지 생성 시스템 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220012434A1 (en) * | 2020-07-08 | 2022-01-13 | International Business Machines Corporation | Contextual diagram-text alignment through machine learning |
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 모델을 이용해 인페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
KR102660062B1 (ko) * | 2023-12-29 | 2024-04-23 | 주식회사 더매트릭스 | 프레임에 최적화된 네거티브 프롬프트를 활용한 인페인팅 서비스를 제공하는 서버, 시스템, 방법 및 프로그램 |
KR102662411B1 (ko) * | 2024-01-19 | 2024-04-30 | 주식회사 더매트릭스 | 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20230072400A (ko) | 2023-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979764B (zh) | 基于语义分割和多层注意力框架的视频字幕生成方法 | |
KR20230072454A (ko) | 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램 | |
US11657230B2 (en) | Referring image segmentation | |
CN110738026B (zh) | 用于生成描述文本的方法和设备 | |
CN112257858B (zh) | 一种模型压缩方法及装置 | |
US12033077B2 (en) | Learning compressible features | |
EP3834137A1 (en) | Committed information rate variational autoencoders | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
US20230042221A1 (en) | Modifying digital images utilizing a language guided image editing model | |
WO2022253061A1 (zh) | 一种语音处理方法及相关设备 | |
WO2023050708A1 (zh) | 一种情感识别方法、装置、设备及可读存储介质 | |
CN113505193A (zh) | 一种数据处理方法及相关设备 | |
CN116681810B (zh) | 虚拟对象动作生成方法、装置、计算机设备和存储介质 | |
US20210227223A1 (en) | System and methods for artificial intelligence explainability via symbolic generative modeling | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN111027681B (zh) | 时序数据处理模型训练方法、数据处理方法、装置及存储介质 | |
CN114882862A (zh) | 一种语音处理方法及相关设备 | |
CN115831105A (zh) | 基于改进Transformer模型的语音识别方法及装置 | |
CN117541668A (zh) | 虚拟角色的生成方法、装置、设备及存储介质 | |
CN117499711A (zh) | 视频生成模型的训练方法、装置、设备及存储介质 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及*** | |
CN109979461A (zh) | 一种语音翻译方法及装置 | |
US11922550B1 (en) | Systems and methods for hierarchical text-conditional image generation | |
CN116821113A (zh) | 时序数据缺失值处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |