KR20220004525A - Electronic device and controlling method of electronic device - Google Patents

Electronic device and controlling method of electronic device Download PDF

Info

Publication number
KR20220004525A
KR20220004525A KR1020200136320A KR20200136320A KR20220004525A KR 20220004525 A KR20220004525 A KR 20220004525A KR 1020200136320 A KR1020200136320 A KR 1020200136320A KR 20200136320 A KR20200136320 A KR 20200136320A KR 20220004525 A KR20220004525 A KR 20220004525A
Authority
KR
South Korea
Prior art keywords
domain
vector
image
user
tda
Prior art date
Application number
KR1020200136320A
Other languages
Korean (ko)
Inventor
매니쉬 샤르마
라자트 모디
스리카르 바툴라
비슈누 테자 네루루
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2021/008165 priority Critical patent/WO2022005158A1/en
Priority to US17/366,487 priority patent/US20220004819A1/en
Publication of KR20220004525A publication Critical patent/KR20220004525A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Abstract

The present disclosure refers to a method of creating content in a computing-environment based on an artificial neural network (ANN) such as a generative adversarial network (GAN). The method according to the present disclosure includes a step of receiving external inputs for creating content by a GAN, wherein the GAN is configured to operate on a plurality of target domain attributes (TDA) for a target domain. The content corresponds to media or multimedia. Thereafter, the TDAs are shortlisted from the TDAs based on at least one of the external inputs and one or more clusters associated with the TDAs. The data is interpolated within a latent space defined by the representation of the shortlisted TDA, wherein a direction of interpolation is determined based on (i) a sampling vector computed based on one of (a) the external-inputs and (b) the at least one clusters; and/or (ii) automatically learned relationships within the latent codes in the latent space to predict latent codes.

Description

전자 장치 및 전자 장치의 제어 방법{ELECTRONIC DEVICE AND CONTROLLING METHOD OF ELECTRONIC DEVICE}ELECTRONIC DEVICE AND CONTROLLING METHOD OF ELECTRONIC DEVICE

본 개시는 전자 장치 및 전자 장치의 제어 방법에 관한 것으로, 특히 사용자와의 상호 작용에 기초하여 생성된 콘텐츠에서의 변화를 렌더링하도록 구성된 전자 장치 및 전자 장치의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a control method of the electronic device, and more particularly, to an electronic device configured to render a change in content generated based on an interaction with a user, and a control method of the electronic device.

e-포털을 통해 상품을 조사하고 판매하는 집계기(aggregator)는 매우 흔한 것이 되었으며, 오프라인 상점(brick and mortar store)의 필요성을 없앴다. 따라서, 고객은 집에서 편안하게 자신이 선택한 항목을 검색하고 선택할 수 있다. 그러나, 모든 대역폭과 리소스에도 불구하고, 오프라인 상점과 같은 전자 상거래 웹 사이트는 재고품(inventory)의 일부로서 제한된 개수의 항목을 나타내는 것으로 끝난다. 따라서, 고객이 이용 가능한 전자 재고품에 실망하거나 불만족하는 것은 흔한 현상이다.Aggregators that research and sell products through e-portals have become very common, eliminating the need for brick and mortar stores. Accordingly, the customer can search and select the item of their choice from the comfort of their home. However, despite all the bandwidth and resources, e-commerce websites, such as brick-and-mortar stores, end up presenting a limited number of items as part of their inventory. Accordingly, it is common for customers to be disappointed or dissatisfied with the electronic inventory available.

스크린에 표시되는 제품이나 콘텐츠 항목이 매우 다양하더라도, 그 수량은 질적 기대에 부응하기 어렵다. 적어도 그 원인이 될 수 있는 이유는 표시된 제품과 고객의 요구 사이의 불일치로 이어지는 사용자 기반 개인화의 결여이다.Even if the products or content items displayed on the screen are very diverse, the quantity is difficult to meet the qualitative expectations. At least the reason it can be attributed is the lack of user-based personalization that leads to a discrepancy between the displayed product and the customer's needs.

또한, 스크린에 표시되는 제품은 고정된 수의 제품 별 옵션에 의해서만 분류되거나 선택된다. 예를 들어, 컬러, 질감 등의 옵션에 의해서만 옷의 선택을 허용한다. 그러나, 사용자가 제품을 구입하는 데 중요한 몇몇 파라미터가 스크린에 표시되지 않기 때문에, 옷을 구입하려는 사용자는 수혜자가 되지 못할 수 있다. 예를 들어, 온도, 옷을 입을 수 있는 위치 등은 통상적으로 스크린에 표시되는 옵션으로 제공되지 않는다. 다른 예에서, 이용 가능한 제품과 관련하여 스크린에 표시된 정보는 불완전하며, 예를 들어, 옷이 세탁시 변색될 수 있는지 여부에 대한 추가 정보를 포함하지 않는다. 따라서, 소비자는 항목을 구매하면서 불필요한 가정을 한다. 만족스럽지 않다면, 소비자는 제품을 반환한다. 결국 이는 요청된 제품의 배송 중에 발생된 금전적 손실로 이어진다.Also, the products displayed on the screen are classified or selected only by a fixed number of product-specific options. For example, the selection of clothes is allowed only by options such as color and texture. However, a user who wants to purchase clothes may not be a beneficiary because some parameters that are important for a user to purchase a product are not displayed on the screen. For example, temperature, clothing location, etc. are not usually provided as options displayed on the screen. In another example, the information displayed on the screen regarding available products is incomplete and does not include additional information, for example, as to whether clothes may discolor when washed. Accordingly, the consumer makes unnecessary assumptions while purchasing the item. If not satisfied, the consumer returns the product. Ultimately, this leads to monetary losses incurred during the delivery of the requested product.

온라인 제품 생성에 있어서 발생될 수 있는 예시적인 기본 현상 중 적어도 하나는 이미지 생성 모델의 과도한 복잡성이다. 예시적인 콘텐츠 생성 인공 지능 모델(artificial intelligence model, AI model) 및 인공 신경망(artificial neural network, ANN)에 기반한 현상은 무한하게 다양한 제품 이미지의 생성을 가능하게 하는 생성적 적대망(GAN: generative adversarial network)이다. 그러나, 앞서 나타낸 바와 같이, 끝이 없는 재고품을 검색하는 데 지루해지는 것은 고객에 있어서 만연한 현상이다. 원인이 될 수 있는 최소한의 이유는 생성 프로세스가 단순히 무작위라는 것이다. 고객이 특정 제품을 좋아할지를 알 수 있는 메커니즘이 없다. 결과적으로, 프로세스는 무한히 계속되어야 한다.At least one of the exemplary underlying phenomena that may arise in online product creation is the excessive complexity of the image creation model. A phenomenon based on exemplary content-generating artificial intelligence models (AI models) and artificial neural networks (ANNs) is a generative adversarial network (GAN) that enables the creation of an infinite variety of product images. )to be. However, as indicated above, boredom of searching endless inventories is prevalent among customers. The least possible reason is that the creation process is simply random. There is no mechanism to know if a customer will like a particular product. As a result, the process must go on indefinitely.

마찬가지로, 임의의 멀티미디어 콘텐츠 생성 시스템에 있어서, 그 생성 과정에서 생성된 콘텐츠 항목(오디오, 비디오 등)은 기반이 되는(underlying) 기술의 역학에 더 많이 의존하고, 대체로 인간의 선호도를 고려할 수 없다. 결과적으로, 최종 제품 또는 미디어 항목은 일반적으로 기계적으로 생성되며, 최종 결과에 사용자 선호도를 드러내기 위해서는 이를 위해 많은 반복이 필요하다.Likewise, in any multimedia content creation system, the content items (audio, video, etc.) created during the creation process depend more heavily on the dynamics of the underlying technology, and generally cannot take human preferences into account. As a result, the final product or media item is usually created mechanically, requiring many iterations to reveal user preferences in the final result.

전반적으로, 현재 콘텐츠 생성 시스템은 콘텐츠 생성을 위한 AI 활용에도 불구하고 사용자 개인화 매력이 부족하다. 기계와 인간 사이에는 오랜 기간 간극이 있었다. 신경망은 복잡한 패턴을 학습하지만, 어떤 패턴이 인간과 관련되는지를 모른다. 한편, 인간은 패턴을 "보고" 원하는 패턴을 선택할 수 있다. 그러나, 확실히 이는 전자 기기 또는 기계의 속도로 마음 속에 새로운 것을 빠르게 생성할 수 없다. 즉, 인간은 자신의 요구를 전자적으로 설명할 수 없다.Overall, current content creation systems lack the appeal of user personalization, despite the use of AI for content creation. There has been a long gap between machines and humans. Neural networks learn complex patterns, but do not know which patterns relate to humans. On the other hand, a human can “see” the pattern and select the desired pattern. However, it certainly cannot quickly create new things in mind at the speed of an electronic device or machine. That is, humans cannot electronically explain their needs.

예를 들어, AI의 일부를 형성하는 신경망은 사람이 이와 다르게 해석할 수 있는 형상, 포즈, 질감 등과 같은 복잡한 패턴을 학습한다. 그러나, 이러한 개념은 사람에 의해 숫자 포맷으로 실측 자료(ground truth)로서 라벨링될 수 없다. 결과적으로, 기계 학습 기술(예를 들어, 감독되는 기술)은 인간이 실측 자료를 고안하면서 더 단순한 개념에 광범위하게 주석을 다는 것에 의존한다. 이는 형상, 포즈가 인간이 이해하는 개념이기 때문에 그러하다. 그러나, 한편, 인간은 제공된 라벨에 기초하여 수치 벡터를 생성할 수 없으며, 예를 들어, 핫 인코딩(hot-encoding)과 같은 방법으로 해당 효과에 대해 기계(즉, 신경망)에 의해 강제로 지원을 받아야 한다.For example, the neural networks that form part of AI learn complex patterns such as shapes, poses, textures, etc. that humans can interpret differently. However, these concepts cannot be labeled as ground truth by humans in numeric format. Consequently, machine learning techniques (eg, supervised techniques) rely on humans to extensively annotate simpler concepts while devising ground truth. This is because shapes and poses are concepts that humans understand. However, on the other hand, humans cannot generate numerical vectors based on provided labels, for example, by hot-encoding, forcing support by machines (i.e. neural networks) for that effect. should get

기계가 인간과 관련된 패턴을 생성하기 위해 인간 특정 성향(human-specific biases)을 사용하여 학습할 수 있도록 콘텐츠 생성 모델을 즉석에서 만들 필요성이 있다.There is a need to create content creation models on the fly so that machines can learn using human-specific biases to generate human-related patterns.

전반적으로, 인간과 기계를 통합하려는 시도로서 인간 컴퓨터 인터페이스(human-computer interface, HCI)에 기여할 필요성이 있다.Overall, there is a need to contribute to the human-computer interface (HCI) as an attempt to unify humans and machines.

본 개시는 상술한 바와 같은 필요성에 따른 것으로서, 본 개시의 목적은 사용자와의 상호 작용에 기초하여 생성된 콘텐츠에서의 변화를 렌더링하도록 구성된 전자 장치 및 전자 장치의 제어 방법을 제공함에 있다.The present disclosure is in accordance with the above-described needs, and an object of the present disclosure is to provide an electronic device configured to render a change in content generated based on an interaction with a user, and a control method of the electronic device.

본 개요는 상세한 설명에서 추가로 설명되는 단순화된 포맷으로의 개념의 선택을 소개하기 위해 제공된다. 본 개요는 본 발명의 핵심 또는 본질적인 발명 개념을 식별하기 위한 것도 아니며, 본 개시의 범위를 결정하기 위한 것도 아니다.This Summary is provided to introduce a selection of concepts in a simplified format that are further described in the Detailed Description. This Summary is not intended to identify key or essential inventive concepts, nor is it intended to determine the scope of the present disclosure.

본 개시는 생성적 적대 신경망(generative adversarial network, GAN)에 기초한 컴퓨팅 환경에서의 콘텐츠 생성 방법에 관한 것이다. 본 방법은 생성적 적대망(GAN)에 의한 콘텐츠의 생성을 위해 외부 입력을 수신하는 단계를 포함하고, 여기서 이러한 GAN은 타겟 도메인에 대한 복수의 타겟 도메인 속성(target domain attributes, TDA)에 관해 동작하도록 구성된다. 콘텐츠는 미디어 또는 멀티미디어에 대응된다. 그 후, 복수의 TDA는 상기 외부 입력 중 적어도 하나 및 상기 복수의 TDA와 연관된 하나 이상의 클러스터(cluster)에 기초하여 복수의 TDA로부터 쇼트리스팅(shortlisting)된다. 데이터가 쇼트리스팅된 TDA의 표현에 의해 규정된 잠재 공간(latent space) 내에서 보간(interpolation)되며, 여기서 보간의 방향은 (i) (a) 외부-입력 및 (b) 상기 하나 이상의 클러스터들 중 적어도 하나에 기초하여 연산된 샘플링 벡터; 및/또는 (ii) 잠재 코드들을 예측하기 위해 상기 잠재 공간에서 잠재 코드들(latent codes) 내에서의 자동 학습된 관계에 기초하여 결정된다. 적어도 하나의 잠재 코드는 잠재 공간에서 결정된 방향을 따라 상기 보간에 기초하여 생성된다. 따라서, 적어도 하나의 콘텐츠 항목은 적어도 상기 잠재 코드에 기초하여 상기 GAN에 의해 생성된다.The present disclosure relates to a method for generating content in a computing environment based on a generative adversarial network (GAN). The method includes receiving an external input for creation of content by a generative adversarial network (GAN), wherein the GAN operates on a plurality of target domain attributes (TDA) for a target domain. is configured to Content corresponds to media or multimedia. Thereafter, the plurality of TDAs are shortlisted from the plurality of TDAs based on at least one of the external inputs and one or more clusters associated with the plurality of TDAs. Data are interpolated within a latent space defined by the representation of the short-listed TDA, wherein the direction of interpolation is (i) (a) an out-input and (b) one of the one or more clusters. a sampling vector calculated based on at least one; and/or (ii) based on automatically learned relationships within latent codes in the latent space to predict latent codes. At least one latent code is generated based on the interpolation along a determined direction in latent space. Accordingly, at least one content item is generated by the GAN based at least on the latent code.

다른 실시 예에서, 본 개시는 인공 지능(AI: artificial intelligence) 기반 기술에 기초한 컴퓨팅 환경에서의 이미지 생성 방법을 제공한다. 본 방법은 인공 신경망(ANN: artificial neural network)에 의한 이미지 생성을 위한 외부 입력을 수신하는 단계를 포함한다. ANN은 타겟 도메인에 대한 복수의 타겟 도메인 속성(TDA)에 대해 동작하도록 구성된다. 복수의 타겟 도메인 속성(TDA)은 상기 외부 입력 중 적어도 하나 및 상기 복수의 TDA와 연관된 하나 이상의 클러스터들에 기초하여 복수의 TDA로부터 쇼트리스팅된다. 데이터 보간은 쇼트리스팅된 TDA의 표현에 의해 규정된 잠재 공간 내에서 수행되며, 여기서 보간의 방향은 (i) (a) 외부 입력 및 (b) 상기 하나 이상의 클러스터들 중 적어도 하나에 기초하여 연산된 샘플링 벡터; 및/또는 (i) 잠재 코드들을 예측하기 위해 상기 잠재 공간에서 잠재 코드들 내에서의 자동 학습된 관계에 기초하여 결정된다. 적어도 하나의 잠재 코드는 잠재 공간에서 결정된 방향을 따라 상기 보간에 기초하여 생성되고, 적어도 하나의 이미지는 적어도 상기 잠재 코드에 기초하여 상기 ANN에 의해 생성된다.In another embodiment, the present disclosure provides a method of generating an image in a computing environment based on artificial intelligence (AI)-based technology. The method includes receiving an external input for image generation by an artificial neural network (ANN). The ANN is configured to operate on a plurality of target domain attributes (TDAs) for the target domain. A plurality of target domain attributes (TDAs) are short-listed from a plurality of TDAs based on at least one of the external inputs and one or more clusters associated with the plurality of TDAs. Data interpolation is performed within a latent space defined by the representation of the shortlisted TDA, wherein the direction of the interpolation is calculated based on (i) (a) an external input and (b) at least one of the one or more clusters. sampling vector; and/or (i) based on automatically learned relationships within latent codes in the latent space to predict latent codes. At least one latent code is generated based on the interpolation along a direction determined in latent space, and at least one image is generated by the ANN based on at least the latent code.

본 개시의 이점 및 특징을 더욱 명확하게 하기 위해, 본 개시의 보다 구체적인 설명은 첨부된 도면에 나타내어지는 특정 실시 예를 참조하여 주어질 것이다. 이러한 도면은 본 개시의 통상적인 실시 예만을 도시하므로 그 범위를 제한하는 것으로 고려되지 않는다는 것이 이해된다. 본 개시는 첨부 도면과 함께 추가로 구체적이고 상세하게 기술 및 설명될 것이다.In order to make the advantages and features of the present disclosure more clear, a more specific description of the present disclosure will be given with reference to specific embodiments shown in the accompanying drawings. It is to be understood that these drawings illustrate only typical embodiments of the present disclosure and are not to be considered limiting of their scope. The present disclosure will be described and explained in further detail and detail in conjunction with the accompanying drawings.

본 개시의 다양한 특징, 양태 및 이점은 유사한 문자가 도면 전체에 걸쳐 유사한 부분을 나타내는 첨부 도면을 참조하여 다음의 상세한 설명을 읽을 때 더 잘 이해될 것이다.
도 1a는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 간략하게 설명하기 위한 도면,
도 1b는 본 개시의 일 실시 예에 따른 제어 방법의 각 단계를 나타내는 도면,
도 2는 본 개시의 일 실시 예에 따른 도 1b의 각 단계의 구현에 대해 설명하기 위한 도면,
도 3은 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 예시적인 제어흐름도.
도 4는 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 5는 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 6은 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 7은 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 8은 본 개시의 일 실시 예에 따른 도 7의 서브 프로세스의 예시적인 구현을 나타내는 도면,
도 9는 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 10은 본 개시의 일 실시 예에 따른 서브 프로세스를 도시하는 다른 예시적인 제어 흐름도,
도 11은 본 개시의 일 실시 예에 따른 예시적인 구현을 나타내는 도면,
도 12는 본 개시의 일 실시 예에 따른 다른 예시적인 구현을 나타내는 도면,
도 13은 개시에 따라 다양한 모듈 및 서브 모듈을 구현하는 다른 시스템 아키텍처를 나타내는 도면,
도 14는 본 개시의 일 실시 예에 따른 컴퓨팅 디바이스 기반의 구현을 나타내는 도면,
도 15는 본 개시의 일 실시 예에 따른 결과를 명시하기 위한 예시적인 구현을 나타내는 도면,
도 16은 본 개시의 일 실시 예에 따른 결과를 명시하기 위한 예시적인 구현을 나타내는 도면,
도 17은 본 개시의 일 실시 예에 따른 결과를 명시하기 위한 예시적인 구현을 나타내는 도면, 그리고,
도 18은 본 개시의 실시 예에 따른 결과를 명시하기 위한 예시적인 구현을 나타내는 도면이다.
또한, 본 기술 분야의 통상의 기술자는 도면의 요소가 단순함을 위해 나타내어져 있으며 반드시 스케일대로 도시되지 않았을 수 있음을 이해할 것이다. 예를 들어, 흐름도는 본 개시의 양태에 대한 이해를 향상시키는 데 도움이 되는 가장 현저한 단계의 관점에서 방법을 나타낸다. 또한, 디바이스의 구성의 관점에서, 디바이스의 하나 이상의 구성 요소는 도면에서 통상의 부호에 의해 표현되었을 수 있으며, 도면은 본원의 설명의 이점을 갖는 본 기술 분야의 통상의 기술자에게 용이하게 명백할 상세 사항으로 도면을 모호하게 하지 않기 위해 본 개시에 따른 실시 예를 이해하는 데 적절한 특정의 상세 사항만을 나타낼 수 있다.
The various features, aspects and advantages of the present disclosure will be better understood upon reading the following detailed description with reference to the accompanying drawings in which like characters indicate like parts throughout the drawings.
1A is a view for briefly explaining a method of controlling an electronic device according to an embodiment of the present disclosure;
1B is a view showing each step of a control method according to an embodiment of the present disclosure;
Figure 2 is a view for explaining the implementation of each step of Figure 1b according to an embodiment of the present disclosure;
3 is an exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
4 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
5 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
6 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
7 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
8 is a diagram illustrating an exemplary implementation of the sub-process of FIG. 7 in accordance with an embodiment of the present disclosure;
9 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
10 is another exemplary control flow diagram illustrating a sub-process according to an embodiment of the present disclosure;
11 is a diagram illustrating an example implementation according to an embodiment of the present disclosure;
12 is a diagram illustrating another example implementation according to an embodiment of the present disclosure;
13 is a diagram illustrating another system architecture implementing various modules and sub-modules in accordance with the disclosure;
14 is a diagram illustrating a computing device-based implementation according to an embodiment of the present disclosure;
15 is a diagram illustrating an example implementation for specifying a result according to an embodiment of the present disclosure;
16 is a diagram illustrating an example implementation for specifying a result according to an embodiment of the present disclosure;
17 is a diagram illustrating an exemplary implementation for specifying a result according to an embodiment of the present disclosure;
18 is a diagram illustrating an exemplary implementation for specifying a result according to an embodiment of the present disclosure.
Additionally, those skilled in the art will appreciate that elements in the figures are shown for simplicity and may not necessarily be drawn to scale. For example, a flowchart represents a method in terms of the most salient steps to help improve understanding of aspects of the present disclosure. Further, from the point of view of the configuration of the device, one or more components of the device may have been represented by conventional reference numerals in the drawings, which are details that will be readily apparent to those skilled in the art having the benefit of the description herein. In order not to obscure the drawings with details, only specific details suitable for understanding an embodiment according to the present disclosure may be shown.

본 개시의 실시 예의 예시적인 구현이 아래에 나타내어져 있지만, 본 개시는 현재 알려져 있거나 존재하는지에 관계없이 임의의 다양한 기술을 사용하여 구현될 수 있다는 것을 처음부터 이해해야 한다. 본 개시는 본원에 나타내고 설명된 예시적인 설계 및 구현을 포함하여 아래에 나타낸 예시적인 구현, 도면 및 기술로 어떠한 방식으로든 제한되어서는 안되며, 등가물의 전체 범위와 함께 첨부된 청구항의 범위 내에서 수정될 수 있다.Although exemplary implementations of embodiments of the present disclosure are shown below, it should be understood from the outset that the present disclosure may be implemented using any of a variety of techniques, whether presently known or existing. This disclosure is not to be limited in any way to the exemplary implementations, drawings and descriptions shown below, including the exemplary designs and implementations shown and described herein, but to be modified within the scope of the appended claims together with the full scope of equivalents. can

본원에서 사용되는 "일부(some)"라는 용어는 "없음, 또는 하나, 또는 하나 초과, 또는 전부"로 정의된다. 따라서 "없음", "하나", "하나 초과", "하나 초과이지만 전부는 아님" 또는 "전부"라는 용어는 모두 "일부"의 정의에 속할 것이다. "일부 실시 예"라는 용어는 실시 예가 없거나 하나의 실시 예 또는 몇몇 실시 예 또는 모든 실시 예를 지칭할 수 있다. 따라서, "일부 실시 예"라는 용어는 "실시 예가 없거나, 하나의 실시 예, 또는 하나 초과의 실시 예, 또는 모든 실시 예"를 의미하는 것으로 정의된다.As used herein, the term “some” is defined as “none, or one, or more than one, or all.” Accordingly, the terms "none", "one", "more than one", "more than one but not all" or "all" shall all fall within the definition of "some". The term “some embodiments” may refer to no embodiments, one embodiment, some embodiments, or all embodiments. Accordingly, the term “some embodiments” is defined to mean “no embodiments, one embodiment, or more than one embodiment, or all embodiments”.

본원에 채용되는 용어 및 구조는 일부 실시 예 및 그 특정의 특징 및 요소를 설명, 교시 및 분명히 하기 위한 것이며, 청구항 또는 그 등가물의 사상 및 범위를 한정, 제한 또는 축소시키지 않는다.The terminology and structure employed herein is for the purpose of describing, teaching, and clarifying some embodiments and specific features and elements thereof, and does not limit, limit, or diminish the spirit and scope of the claims or their equivalents.

더욱 구체적으로, "포함한다(include)", "포괄한다(comprise)", "갖는다(has)", "이루어진다(consist)" 및 그 문법적 변형에 한정되지 않지만 이와 같이 본원에 사용되는 임의의 용어는 달리 명시되지 않는 한 정확한 한정이나 제한을 특정하지 않으며 하나 이상의 특징 또는 요소의 가능한 추가를 확실히 배제하지 않으며, 또한 "포괄해야 한다(MUST comprise)" 또는 "포함할 필요가 있다(NEEDS TO include)"와 같은 한정적인 언어로 달리 명시되지 않는 한 열거된 특징 및 요소 중 하나 이상의 가능한 제거를 배제하는 것으로 이해되어서는 안된다.More specifically, any term used herein as such, but not limited to "include", "comprise", "has", "consist" and grammatical variations thereof does not specify exact limitations or limitations, unless otherwise specified, does not explicitly exclude the possible addition of one or more features or elements, and also "MUST comprise" or "NEEDS TO include." It should not be construed as excluding the possible removal of one or more of the listed features and elements, unless otherwise specified in limiting language such as ".

특정의 특징 또는 요소가 한 번만 사용되도록 제한되었는지 여부에 관계없이, "하나 이상의 특징" 또는 "하나 이상의 요소" 또는 "적어도 하나의 특징" 또는 "적어도 하나의 요소"로 어느 방식으로든 여전히 지칭될 수 있다. 또한, "하나 이상의" 또는 "적어도 하나의" 특징 또는 요소의 용어의 사용은 "하나 이상의 ...가 있을 필요가 있음" 또는 "하나 이상의 요소가 필요함"과 같은 한정적인 언어로 달리 특정되지 않는 한, 해당 특징 또는 요소가 없음을 배제하지 않는다.Regardless of whether a particular feature or element is limited to use only once, it may still be referred to in any way as "one or more feature" or "one or more element" or "at least one feature" or "at least one element". have. Also, use of the term "one or more" or "at least one" feature or element is not otherwise specified in the limiting language, such as "needs to have one or more..." or "requires one or more elements." However, the absence of such features or elements is not excluded.

달리 정의되지 않는 한, 본원에서 사용되는 모든 용어, 그리고 특히 임의의 기술적 및/또는 과학적 용어는 본 기술 분야의 통상의 기술자에 의해 통상적으로 이해하는 것과 동일한 의미를 갖는 것으로 이해될 수 있다.Unless defined otherwise, all terms used herein, and particularly any technical and/or scientific terms, are to be understood to have the same meaning as commonly understood by one of ordinary skill in the art.

이하, 본 개시의 실시 예를 첨부 도면을 참조하여 상세히 설명할 것이다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1a는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 간략하게 설명하기 위한 도면이다. 1A is a diagram for briefly explaining a method of controlling an electronic device according to an embodiment of the present disclosure.

도 1a에 도시된 바와 같이, 본 개시에 따른 전자 장치는 이미지를 획득하기 위한 제1 사용자 입력을 수신할 수 있다(S101).As shown in FIG. 1A , the electronic device according to the present disclosure may receive a first user input for acquiring an image ( S101 ).

본 개시에 따른 '전자 장치'는 신경망 모델을 이용하여 이미지를 획득할 수 있는 장치로서, 후술하는 바와 같은 제어 방법의 각 단계를 수행할 수 있도록 구성된 장치라면 그 유형에 관계없이 본 개시에 따른 전자 장치에 해당될 수 있다. 예를 들어, 전자 장치는 스마트 폰, 태블릿 PC, 노트북 및 디지털 TV 등과 같이 다양한 유형으로 구현될 수 있다. 일 실시 예에 따르면, 전자 장치는 상품의 판매를 위한 웹 사이트를 제공하기 위한 서버로서, 신경망 모델을 이용하여 상품에 대한 다양한 이미지를 생성할 수 있도록 구성될 수 있다. An 'electronic device' according to the present disclosure is a device capable of acquiring an image using a neural network model, and any device configured to perform each step of a control method as described below is an electronic device according to the present disclosure regardless of the type It may correspond to the device. For example, the electronic device may be implemented in various types, such as a smart phone, a tablet PC, a notebook computer, and a digital TV. According to an embodiment, the electronic device is a server for providing a web site for selling a product, and may be configured to generate various images of a product using a neural network model.

본 개시에 따른 '신경망 모델'은 인공 신경망(neural network)을 포함하는 인공 지능 모델(artificial intelligence model)을 말하며, 딥러닝(deep learning)에 의해 학습될 수 있다. 특히, 본 개시에 따른 신경망 모델은 이미지를 생성하기 위한 생성적 적대 신경망(Generative Adversarial Networks, GAN)일 수 있다. A 'neural network model' according to the present disclosure refers to an artificial intelligence model including an artificial neural network, and may be learned by deep learning. In particular, the neural network model according to the present disclosure may be a generative adversarial network (GAN) for generating an image.

'제1 사용자 입력'은 사용자의 요청에 따른 이미지를 획득하기 위한 사용자 입력을 말하며, 예를 들어, 전자 장치의 디스플레이를 통해 입력되는 사용자 터치, 전자 장치의 마이크를 통해 수신되는 사용자 음성 또는 전자 장치에 구비된 물리 버튼의 입력, 전자 장치를 제어하기 위한 원격 제어 장치에 의해 전송된 제어 신호 등을 바탕으로 수신될 수 있다.The 'first user input' refers to a user input for obtaining an image according to a user's request, for example, a user touch input through a display of the electronic device, a user voice received through a microphone of the electronic device, or an electronic device It may be received based on an input of a physical button provided in the , a control signal transmitted by a remote control device for controlling an electronic device, and the like.

제1 사용자 입력이 수신되면, 전자 장치는 이미지들을 분류하기 위해 기 정의된 복수의 도메인 중 제1 사용자 입력에 대응되는 도메인을 식별할 수 있다(S103).When the first user input is received, the electronic device may identify a domain corresponding to the first user input from among a plurality of predefined domains to classify images ( S103 ).

'복수의 도메인'이란 신경망 모델이 생성할 수 있는 이미지들을 분류하기 위해 기 정의된 분류 기준으로서, 카테고리 또는 클래스 등과 같은 용어로 대체될 수 있다. 예를 들어, 본 개시에 따른 전자 장치가 상품의 판매를 위한 웹 사이트를 제공하기 위한 서버로 구현되고, 신경망 모델은 다양한 종류의 상품에 대한 이미지를 생성하여 출력할 수 있도록 구현되는 경우, 복수의 도메인은 상품의 종류에 따라 "자켓", "접시" 및 "소파" 등과 같은 도메인들을 포함할 수 있다. The term 'plural domains' is a pre-defined classification criterion for classifying images that can be generated by a neural network model, and may be replaced with terms such as category or class. For example, when the electronic device according to the present disclosure is implemented as a server for providing a website for selling products, and the neural network model is implemented to generate and output images of various types of products, a plurality of The domain may include domains such as “jacket”, “plate” and “sofa” according to the type of product.

제1 사용자 입력에 대응되는 도메인을 식별한다는 것은, 제1 사용자 입력에 복수의 도메인 중 특정 도메인을 선택하기 위한 정보가 포함된 경우, 그 선택된 도메인을 식별한다는 것을 말한다. 예를 들어, 제1 사용자 입력이 "자켓"이라는 상품을 선택하기 위한 정보가 포함된 경우, 전자 장치는 제1 사용자 입력에 대응되는 도메인으로서 "자켓"이라는 도메인을 식별할 수 있다. 한편, 본 개시를 설명함에 있어서 제1 사용자 입력에 대응되는 것으로 식별된 도메인은 '타겟 도메인'이라는 용어로 대체될 수 있다. Identifying the domain corresponding to the first user input means identifying the selected domain when the first user input includes information for selecting a specific domain from among a plurality of domains. For example, when the first user input includes information for selecting a product called “jacket”, the electronic device may identify a domain called “jacket” as a domain corresponding to the first user input. Meanwhile, in describing the present disclosure, the domain identified as corresponding to the first user input may be replaced with the term 'target domain'.

전자 장치는 식별된 도메인에 대응되는 이미지들의 속성을 구분하기 위해 기 정의된 복수의 도메인 속성 중 적어도 하나의 도메인 속성에 관련된 정보가 제1 사용자 입력에 포함되는지 여부를 식별하고, 식별 결과에 따라 적어도 하나의 이미지를 획득하기 위한 적어도 하나의 도메인 속성을 식별할 수 있다. The electronic device identifies whether information related to at least one domain property among a plurality of predefined domain properties is included in the first user input in order to distinguish properties of images corresponding to the identified domains, and at least according to the identification result At least one domain attribute for acquiring one image may be identified.

'도메인 속성'이란 각각의 도메인 별 이미지들의 속성을 구분하기 위해 기 정의된 세부 분류 기준으로서, 도메인이라는 상위 개념을 구분하는 하위 개념이라고 할 수 있다. 예를 들어, "자켓"이라는 도메인에 대한 도메인 속성은 다양한 종류의 자켓에 대한 이미지를 구분하기 위한 세부 분류 기준들인 "색상", "재질" 및 "브랜드" 등을 포함할 수 있다. 본 개시를 설명함에 있어서 '도메인 속성'이라는 용어는 '타겟 도메인 속성(target domain attribute, TDA)'라는 용어로 대체될 수도 있다. The 'domain attribute' is a pre-defined detailed classification criterion to classify the attributes of images for each domain, and it can be said that it is a sub-concept for classifying the upper concept of a domain. For example, the domain attribute for the domain "jacket" may include "color", "material", "brand", etc. which are detailed classification criteria for classifying images of various types of jackets. In describing the present disclosure, the term 'domain attribute' may be replaced with the term 'target domain attribute (TDA)'.

'도메인 속성에 관련된 정보'란 제1 사용자 입력에 포함된 정보 중 기 정의된 도메인 속성에 대응되는 정보를 총칭하기 위한 용어로 사용된다. 구체적으로, 도메인 속성에 관련된 정보는 직접 정보 및 제1 간접 정보 중 적어도 하나를 포함할 수 있다. The 'domain attribute-related information' is used as a general term for information corresponding to a predefined domain attribute among information included in the first user input. Specifically, the information related to the domain attribute may include at least one of direct information and first indirect information.

여기서, '직접 정보'는 기 정의된 복수의 도메인 속성 중 적어도 하나의 도메인 속성을 직접적으로 선택하기 위한 정보를 말한다. 예를 들어, 제1 사용자 입력에 "빨간색 자켓"이라는 정보가 포함된 경우, "빨간색"이라는 정보는 복수의 도메인 속성 중 "빨간색"이라는 색상을 선택하기 위한 직접 정보일 수 있다.Here, 'direct information' refers to information for directly selecting at least one domain attribute from among a plurality of predefined domain attributes. For example, when information “red jacket” is included in the first user input, the information “red” may be direct information for selecting a color “red” from among a plurality of domain attributes.

'제1 간접 정보'는 기 정의된 복수의 도메인 속성 중 적어도 하나의 도메인 속성을 직접적으로 선택하기 위한 정보는 아니지만, 적어도 하나의 도메인 속성에 관련된 정보로서, 적어도 하나의 도메인 속성에 매핑할 수 있는 정보를 말한다. 예를 들어, 제1 사용자 입력에 "러시아에서 입을 자켓"이라는 정보가 포함된 경우, "러시아"라는 정보는 복수의 도메인 속성 중 "두꺼운 재질"이라는 재질을 선택하기 위한 제1 간접 정보일 수 있다. 본 개시를 설명함에 있어서, '제1 간접 정보'라는 용어는 후술하는 바와 같은 '제2 간접 정보'와 구별되며, '소스 도메인 속성(source domain attribute, SDA)'이라는 용어로 대체될 수도 있다.The 'first indirect information' is not information for directly selecting at least one domain property from among a plurality of predefined domain properties, but information related to at least one domain property, which can be mapped to at least one domain property say information For example, when information “a jacket to wear in Russia” is included in the first user input, the information “Russia” may be first indirect information for selecting a material called “thick material” among a plurality of domain properties. . In describing the present disclosure, the term 'first indirect information' is distinguished from 'second indirect information' as described below, and may be replaced with the term 'source domain attribute (SDA)'.

상술한 바와 같이 적어도 하나의 도메인 속성에 관련된 정보가 제1 사용자 입력에 포함되는지 여부가 식별되면, 전자 장치는 그 식별 결과에 따라 적어도 하나의 이미지를 획득하기 위한 도메인 속성을 식별할 수 있다. As described above, when it is identified whether information related to at least one domain attribute is included in the first user input, the electronic device may identify a domain attribute for acquiring at least one image according to the identification result.

구체적으로, 적어도 하나의 도메인 속성에 관련된 정보가 제1 사용자 입력에 포함되지 않으면(S105-N), 전자 장치는 신경망 모델을 통해 복수의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득할 수 있다(S107-1). 즉, 제1 사용자 입력에 적어도 하나의 도메인 속성에 관련된 정보가 포함되지 않으면, 전자 장치는 식별된 도메인에 대응되는 이미지들을 구분하기 위해 기 정의된 복수의 도메인 속성 전체를 무작위로 조합하여 적어도 하나의 이미지를 생성할 수 있다. Specifically, if information related to at least one domain attribute is not included in the first user input (S105-N), the electronic device may acquire at least one image corresponding to a plurality of domain attributes through the neural network model ( S107-1). That is, if the first user input does not include information related to at least one domain property, the electronic device randomly combines all of the plurality of domain properties defined in order to classify images corresponding to the identified domain to obtain at least one domain property. You can create an image.

반면, 적어도 하나의 도메인 속성에 관련된 정보가 제1 사용자 입력에 포함되면(S105-Y), 전자 장치는 신경망 모델을 통해 식별된 도메인에 포함되며 적어도 하나의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득할 수 있다(S107-2). 즉, 제1 사용자 입력에 적어도 하나의 도메인 속성에 관련된 정보가 포함되면, 전자 장치는 복수의 도메인 속성 전체를 무작위로 조합하는 것이 아니라, 적어도 하나의 도메인 속성에 관련된 정보를 바탕으로 적어도 하나의 이미지를 획득하기 위한 적어도 하나의 도메인 속성을 식별하고, 식별된 적어도 하나의 도메인 속성만을 조합하여 적어도 하나의 이미지를 생성할 수 있다. On the other hand, when information related to at least one domain attribute is included in the first user input (S105-Y), the electronic device receives at least one image included in the domain identified through the neural network model and corresponding to the at least one domain attribute. can be obtained (S107-2). That is, when the first user input includes information related to at least one domain property, the electronic device does not randomly combine all of the plurality of domain properties, but at least one image based on the information related to at least one domain property. At least one domain attribute for obtaining , may be identified, and at least one image may be generated by combining only the identified at least one domain attribute.

구체적으로, 제1 사용자 입력에 제1 간접 정보가 포함되면, 전자 장치는 제1 간접 정보를 제1 간접 정보에 대응되는 것으로 기 설정된 도메인 속성에 매핑할 수 있다. 그리고, 전자 장치는 직접 정보에 대응되는 도메인 속성 및 제1 간접 정보에 대응되는 것으로 매핑된 도메인 속성을 포함하는 적어도 하나의 도메인 속성을 식별하고, 신경망 모델을 이용하여 식별된 적어도 하나의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득할 수 있다. Specifically, when the first indirect information is included in the first user input, the electronic device may map the first indirect information to a domain property preset as corresponding to the first indirect information. In addition, the electronic device identifies at least one domain property including a domain property corresponding to the direct information and a domain property mapped to correspond to the first indirect information, and adds to the at least one domain property identified using the neural network model. At least one corresponding image may be acquired.

예를 들어, 제1 사용자 입력에 "러시아에서 입을 빨간색 자켓"이라는 정보가 포함된 경우, 전자 장치는 "러시아"라는 제1 간접 정보를 바탕으로 "러시아의 기온", "러시아의 고도", "러시아의 풍속" 및 "러시아의 일기 예보" 등과 같은 정보들을 획득하고, 획득된 정보들에 기초하여 "러시아"라는 제1 간접 정보를 "두꺼운 재질"이라는 도메인 속성에 매핑할 수 있다. 그리고, 전자 장치는 "빨간색"이라는 직접 정보에 대응되는 "빨간색"이라는 도메인 속성 및 "러시아"라는 제1 간접 정보에 대응되는 "두꺼운 재질"이라는 도메인 속성을 포함하는 적어도 하나의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득할 수 있다. For example, if the first user input includes information “a red jacket to wear in Russia”, the electronic device may display “temperature in Russia”, “altitude in Russia”, “ It is possible to obtain information such as "wind speed in Russia" and "weather forecast in Russia", and map the first indirect information "Russia" to the domain attribute "thick material" based on the obtained information. And, the electronic device corresponds to at least one domain attribute including a domain attribute of “red” corresponding to the direct information of “red” and a domain attribute of “thick material” corresponding to the first indirect information of “Russia”. At least one image may be acquired.

상술한 바와 같이 적어도 하나의 이미지가 획득되면, 전자 장치는 획득된 적어도 하나의 이미지를 제공할 수 있다(S109). 구체적으로, 전자 장치는 획득된 이미지를 전자 장치의 디스플레이 상에 표시할 수도 있으며, 전자 장치에 연결된 외부 장치로 전송함으로써, 외부 장치의 디스플레이 상에 표시되도록 할 수도 있다. When at least one image is obtained as described above, the electronic device may provide the at least one obtained image (S109). Specifically, the electronic device may display the acquired image on the display of the electronic device, or transmit it to an external device connected to the electronic device to be displayed on the display of the external device.

이상에서 상술한 바와 같은 실시 예에 따르면, 전자 장치는 신경망 모델을 통해, 사용자 입력을 바탕으로 사용자가 획득하고자 하는 이미지의 도메인에 속할 뿐만 아니라, 사용자가 원하는 도메인 속성을 갖는 이미지들을 생성하여 사용자에게 제공할 수 있다. 특히, 사용자 입력에 도메인 속성에 간접적으로 관련된 정보(제1 간접 정보)가 포함된 경우에도, 전자 장치는 그 간접적인 정보를 도메인 속성에 매핑함으로써, 사용자가 원하는 세부적인 속성을 가지는 이미지를 사용자에게 제공할 수 있게 된다.According to the above-described embodiment, the electronic device not only belongs to the domain of the image that the user wants to obtain based on the user input, but also generates images having the domain attribute desired by the user and provides the image to the user through the neural network model. can provide In particular, even when the user input includes information indirectly related to the domain property (first indirect information), the electronic device maps the indirect information to the domain property to provide the user with an image having a detailed property desired by the user. be able to provide

특히, 본 개시에 따른 전자 장치가 상품의 판매를 위한 웹 사이트를 제공하기 위한 서버로 구현되고, 신경망 모델은 다양한 종류의 상품에 대한 이미지를 생성하여 출력할 수 있도록 구현되는 경우, 전자 장치는 사용자가 구매하기를 원하는 속성을 가지는 상품에 대한 이미지를 새롭게 생성하여 사용자에게 제공할 수 있으며, 그에 따라 사용자 편의성이 현저하게 향상될 수 있다. In particular, when the electronic device according to the present disclosure is implemented as a server for providing a website for selling products, and the neural network model is implemented to generate and output images of various types of products, the electronic device is a user An image of a product having an attribute that the user wants to purchase may be newly created and provided to the user, and thus user convenience may be remarkably improved.

한편, 본 개시의 일 실시 예에 따르면, 전자 장치는 상술한 바와 같은 과정을 통해 획득된 적어도 하나의 이미지가 사용자의 의도에 부합하는지를 확인할 수도 있다.Meanwhile, according to an embodiment of the present disclosure, the electronic device may check whether at least one image obtained through the above-described process conforms to the user's intention.

구체적으로, 적어도 하나의 이미지가 획득되면, 전자 장치는 적어도 하나의 이미지로부터 상기 적어도 하나의 도메인 속성에 관련된 제2 간접 정보를 획득할 수 있다. 여기서, '제2 간접 정보'는 제1 간접 정보와 마찬가지로 기 정의된 복수의 도메인 속성 중 적어도 하나의 도메인 속성을 직접적으로 선택하기 위한 정보는 아니지만, 적어도 하나의 도메인 속성에 관련된 정보로서, 적어도 하나의 도메인 속성에 매핑할 수 있는 정보를 말한다. 다만, 제1 간접 정보는 제1 사용자 입력에 포함된 정보를 지칭하기 위한 것인 반면, 제2 간접 정보는 신경망 모델을 통해 획득된 적어도 하나의 이미지로부터 획득된 정보를 지칭하기 위한 것이라는 점에서 양 자는 구별된다. Specifically, when at least one image is obtained, the electronic device may obtain second indirect information related to the at least one domain attribute from the at least one image. Here, the 'second indirect information' is not information for directly selecting at least one domain property from among a plurality of predefined domain properties like the first indirect information, but information related to at least one domain property and includes at least one Refers to information that can be mapped to domain properties of However, the first indirect information is to refer to information included in the first user input, whereas the second indirect information is to refer to information obtained from at least one image obtained through a neural network model. Sleep is distinct.

제2 간접 정보가 제1 간접 정보에 매칭되면, 전자 장치는 적어도 하나의 이미지를 제공할 수 있다. 즉, 제1 사용자 입력에 포함된 제1 간접 정보를 바탕으로 적어도 하나의 이미지를 획득한 결과, 그 적어도 하나의 이미지로부터 획득된 제2 간접 정보가 제1 사용자 입력에 포함된 제1 간접 정보와 매칭되면, 사용자의 의도에 부합하는 이미지가 획득된 것으로 볼 수 있으므로, 전자 장치는 획득된 적어도 하나의 이미지를 사용자에게 제공할 수 있다. When the second indirect information matches the first indirect information, the electronic device may provide at least one image. That is, as a result of obtaining at least one image based on the first indirect information included in the first user input, the second indirect information obtained from the at least one image is combined with the first indirect information included in the first user input If matching, it may be considered that an image matching the user's intention has been obtained, and thus the electronic device may provide the obtained at least one image to the user.

반면, 제2 간접 정보가 제1 간접 정보에 매칭되지 않으면, 전자 장치는 신경망 모델을 재학습시킬 수 있다. 여기서, 신경망 모델을 재학습시킨다는 것은 제2 간접 정보가 제1 간접 정보에 매칭될 수 있도록 제1 간접 정보에 대응되는 도메인 속성을 조정하는 과정을 포함할 수 있다. 즉, 제1 사용자 입력에 포함된 제1 간접 정보를 바탕으로 적어도 하나의 이미지를 획득한 결과, 그 적어도 하나의 이미지로부터 획득된 제2 간접 정보가 제1 사용자 입력에 포함된 제1 간접 정보와 매칭되지 않으면, 사용자의 의도에 부합하는 이미지가 획득된 것으로 볼 수 없으므로, 전자 장치는 제1 간접 정보에 대응되는 도메인 속성을 다른 도메인 속성으로 조정함으로써 사용자의 의도에 부합하는 이미지를 획득하도록 할 수 있다. On the other hand, if the second indirect information does not match the first indirect information, the electronic device may retrain the neural network model. Here, retraining the neural network model may include adjusting a domain property corresponding to the first indirect information so that the second indirect information can match the first indirect information. That is, as a result of obtaining at least one image based on the first indirect information included in the first user input, the second indirect information obtained from the at least one image is combined with the first indirect information included in the first user input If not, it cannot be considered that an image matching the user's intention has been obtained, so the electronic device may obtain an image matching the user's intention by adjusting the domain property corresponding to the first indirect information to another domain property. have.

한편, 본 개시의 일 실시 예에 따르면, 전자 장치는 상술한 바와 같은 과정을 통해 획득된 적어도 하나의 이미지에 대한 사용자의 피드백을 반영할 수도 있다. Meanwhile, according to an embodiment of the present disclosure, the electronic device may reflect the user's feedback on at least one image obtained through the above-described process.

구체적으로, 상술한 바와 같은 과정을 통해 사용자에게 제공된 적어도 하나의 이미지에 대한 사용자의 피드백 정보를 포함하는 제2 사용자 입력이 수신되면, 전자 장치는 피드백 정보를 바탕으로 적어도 하나의 도메인 속성을 조정하고, 조정된 적어도 하나의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득할 수 있다. Specifically, when the second user input including the user's feedback information on the at least one image provided to the user through the process as described above is received, the electronic device adjusts at least one domain property based on the feedback information, , at least one image corresponding to the adjusted at least one domain attribute may be acquired.

여기서, '피드백 정보'는 적어도 하나의 이미지 중 제1 이미지에 대한 긍정적인 피드백 정보 및 적어도 하나의 이미지 중 제2 이미지에 대한 부정적인 피드백 정보를 포함할 수 있다. 이 경우, 조정된 적어도 하나의 도메인 속성은 제1 이미지에 대응되는 복수의 도메인 속성 중 제2 이미지에 대응되는 복수의 도메인 속성을 제외한 하나 이상의 도메인 속성을 포함할 수 있다. Here, the 'feedback information' may include positive feedback information on the first image among the at least one image and negative feedback information on the second image among the at least one image. In this case, the adjusted at least one domain property may include one or more domain properties excluding a plurality of domain properties corresponding to the second image among a plurality of domain properties corresponding to the first image.

이상에서는 도 1a를 참조하여 본 개시의 일 실시 예에 대해 간략하게 설명하였다. 이하에서는 상술한 실시 예를 비롯한 본 개시의 다양한 실시 예를 기술적으로 구현하기 위한 구체적인 방법에 대해 설명한다. In the above, an embodiment of the present disclosure has been briefly described with reference to FIG. 1A. Hereinafter, specific methods for technically implementing various embodiments of the present disclosure including the above-described embodiments will be described.

도 1b은 본 개시의 일 실시 예에 따른 제어 방법의 각 단계를 나타내는 도면이다. 본 개시에 따른 제어 방법은 인공 지능(AI) 기반 기술에 기초한 컴퓨팅 환경에서의 이미지 생성 방법을 포함한다. 일 예로서, 인공 신경망 (artificial neural network, ANN)은 이미지 생성을 위한 생성적 적대 신경망(Generative Adversarial Network, GAN)을 지칭한다.1B is a diagram illustrating each step of a control method according to an embodiment of the present disclosure. A control method according to the present disclosure includes an image generation method in a computing environment based on artificial intelligence (AI)-based technology. As an example, an artificial neural network (ANN) refers to a generative adversarial network (GAN) for image generation.

본 방법은 인공 신경망에 의한 이미지 생성을 위한 외부 입력을 수신하는 단계(S102)를 포함한다. ANN은 타겟 도메인에 대한 복수의 타겟 도메인 속성(TDA: target domain attribute)과 관련하여 동작하도록 구성될 수 있다. 타겟 도메인에서 이미지를 생성하도록 구성된 ANN은 콘텐츠 또는 이미지 생성을 위해 잠재 공간(latent space)에서 개시점을 렌더링하기 위한 구분된 TDA 표현과 같은 복수의 특성에 의해 정의된다. 초기화된 복수의 벡터는 클러스터 샘플링 벡터(cluster sampling vector, CSV) 및 클러스터 선호도 벡터(cluster preference vector, CPV) 중 하나 이상에 의해 정의된다.The method includes receiving an external input for image generation by the artificial neural network (S102). The ANN may be configured to operate in relation to a plurality of target domain attributes (TDAs) for the target domain. An ANN configured to generate an image in the target domain is defined by a plurality of characteristics, such as a distinct TDA representation for rendering a starting point in latent space for content or image generation. The plurality of initialized vectors are defined by at least one of a cluster sampling vector (CSV) and a cluster preference vector (CPV).

일 실시 예에서, 외부 입력을 수신하는 것은 이미지를 생성하기 위해 하나 이상의 사용자 라벨을 전자적으로 또는 음향적으로 수신하는 것을 포함하며, 여기서, 이러한 사용자 라벨은 선택적으로 하나 이상의 소스 도메인 속성을 수반한다. 사용자 라벨은 TDA의 상기 쇼트리스팅(shortlisting)을 용이하게 하기 위해 하나 이상의 타겟 도메인 속성과 매핑되는 반면, 하나 이상의 수반되는 소스 도메인 속성은 쇼트리스팅된 TDA와 매핑된다. 다른 실시 예에서, 외부 입력의 수신은 기존의 잠재 코드들(latent codes)에 기초하여 기계에 의한 잠재 공간 내의 중간 라벨의 예측에 기초한 자동 생성된 트리거로서 외부 입력을 수신하는 것을 포함한다. 이에 기초하여, 복수의 TDA는 이전에 제공된 사용자 피드백에 의해 규정된 임계 값의 달성까지 상기 예측된 중간-라벨에 기초하여 구분된다.In one embodiment, receiving the external input includes electronically or acoustically receiving one or more user labels to generate an image, wherein the user labels optionally carry one or more source domain attributes. User labels are mapped to one or more target domain attributes to facilitate the shortlisting of TDAs, while one or more accompanying source domain attributes are mapped to shortlisted TDAs. In another embodiment, receiving the external input comprises receiving the external input as an automatically generated trigger based on prediction of an intermediate label in the latent space by the machine based on existing latent codes. Based on this, a plurality of TDAs are distinguished based on the predicted mid-labels until attainment of a threshold defined by the previously provided user feedback.

일 실시 예에서, 외부 입력에 기초하여, 하나 이상의 소스 도메인 속성이 인과성 기준(causality criteria) 및 상관성 기준(correlation criteria)의 조합에 의해 규정된 기준에 기초하여 필터링된다. 필터링된 소스 도메인 속성은 복수의 TDA로 모델링된다.In one embodiment, based on the external input, one or more source domain attributes are filtered based on criteria defined by a combination of causality criteria and correlation criteria. The filtered source domain attributes are modeled as multiple TDAs.

또한, 본 방법은 상기 외부 입력 중 적어도 하나 및 상기 복수의 TDA와 연관된 하나 이상의 클러스터에 기초하여 복수의 TDA로부터 복수의 TDA를 쇼트리스팅하는 단계(S 104)를 포함한다. TDA의 쇼트리스팅은 쇼트리스팅된 TDA와 연관된 잠재 공간 내에서 하나 이상의 클러스터를 식별하고 이에 기초하여 하나 이상의 클러스터 선호도 벡터(CPV)를 식별하는 것을 추가로 포함한다.The method also includes short listing ( S104 ) a plurality of TDAs from a plurality of TDAs based on at least one of the external inputs and one or more clusters associated with the plurality of TDAs. Shortlisting the TDA further includes identifying one or more clusters within the latent space associated with the shortlisted TDA and identifying one or more cluster preference vectors (CPV) based thereon.

사용자 선호도 벡터(user-preference vector, UPV)는 사용자 라벨 및 선택적으로 소스 도메인 정보를 포함하는 수신된 외부 입력에 기초하여 연산된다. 외부 입력과 관련된 복수의 쇼트리스팅된 TDA는 클러스터 선호도 벡터(cluster preference vector, CPV)와 UPV를 조합함으로써 순위화된다. 순위화되고 쇼트리스팅된 TDA 및 그 하나 이상의 조합은 잠재 공간 내에서 보간을 개시하기 위해 정의된다.A user-preference vector (UPV) is computed based on received external input including a user label and optionally source domain information. A plurality of short-listed TDAs associated with an external input are ranked by combining a cluster preference vector (CPV) and a UPV. A ranked and shortlisted TDA and one or more combinations thereof are defined to initiate interpolation within the latent space.

또한, 본 방법은 쇼트리스팅된 TDA의 표현에 의해 규정된 잠재 공간 내에서 데이터를 보간하는 단계(S 106)를 포함한다. 보간의 방향은 (a) 외부 입력 및 (b) 상기 하나 이상의 클러스터 중 적어도 하나에 기초하여 연산된 샘플링 벡터에 기초하여 결정된다. 현재 샘플링 벡터의 연산은 외부 입력으로부터 사용자 샘플링 벡터(user sampling vector, USV)로서의 제1 벡터의 도출에 기초한다. 쇼트리스팅된 TDA와 관련된 상기 클러스터로부터 클러스터 샘플링 벡터(cluster preference vector, CSV)가 수행됨으로써 제2 벡터가 도출된다. 제1 벡터 및 제2 벡터가 조합되어 현재-샘플링 벡터로 귀결된다. 다른 예에서, 연산은 외부 입력으로부터 USV를 연산하는 것과 소스 도메인 속성과 타겟 도메인 속성 사이에 그려진 매핑을 포함한다. USV 및 식별된 클러스터의 샘플링 벡터가 조합되어 결과적인 샘플링 벡터를 제공한다. 결과적인 샘플링 벡터에 기초하여, 하나 이상의 클러스터가 상기 결과적인 샘플링 벡터에 기초하여 업데이트된다. 하나 이상의 클러스터는 상기 쇼트리스팅된 TDA 및 쇼트리스팅된 TDA 중 적어도 하나의 TDA에 링크된 하나 이상의 클러스터를 포함하는 클러스터에 의해 정의된다.The method also includes interpolating the data within the latent space defined by the representation of the short-listed TDA (S 106). The direction of interpolation is determined based on a sampling vector computed based on (a) an external input and (b) at least one of the one or more clusters. The operation of the current sampling vector is based on the derivation of a first vector as a user sampling vector (USV) from an external input. A second vector is derived by performing a cluster preference vector (CSV) from the cluster associated with the short-listed TDA. The first vector and the second vector are combined to result in a current-sampling vector. In another example, the operation includes computing a USV from an external input and a mapping drawn between a source domain attribute and a target domain attribute. The USV and the sampling vector of the identified cluster are combined to provide the resulting sampling vector. Based on the resulting sampling vector, one or more clusters are updated based on the resulting sampling vector. One or more clusters are defined by a cluster comprising one or more clusters linked to at least one of the short-listed TDA and the short-listed TDA.

일 실시 예에서, 보간의 방향은 사용자 입력 및 상기 하나 이상의 클러스터에 기초하여 이력적으로(historically) 연산된 샘플링 벡터의 통계적 실행 평균에 기초하여 규정된다. 구체적으로, 로깅된 샘플링 벡터는 현재 연산된 샘플링 벡터와 함께 집계되어 가중 평균화를 통해 집계된 벡터가 된다. 기존의 잠재 코드 사이의 변화 패턴은 신경망을 통해 상기 잠재 공간 내에서 상기 자동 학습된 관계에 기초한다. 집계된 방향은 집계된 벡터 및 연산된 패턴과 연관된 방향에 기초하여 도출되며, 이에 의해 보간 방향에 대한 연합적인 업데이트(federated update)가 된다.In one embodiment, the direction of interpolation is defined based on a statistical running average of a sampling vector that is historically computed based on user input and the one or more clusters. Specifically, the logged sampling vector is aggregated together with the currently computed sampling vector to become an aggregated vector through weighted averaging. The change pattern between existing latent codes is based on the automatically learned relationship in the latent space through a neural network. The aggregated direction is derived based on the aggregated vector and the direction associated with the calculated pattern, thereby becoming a federated update to the interpolation direction.

또한, 본 방법은 잠재 공간에서의 결정된 방향을 따른 보간에 기초하여 적어도 하나의 잠재 코드를 생성하는 단계(S 108)를 포함한다. 결과적인 샘플링 벡터와 연관된 크기 및 방향이 결정되며, 결정된 크기에 기초하여 결과적인 샘플링 벡터의 방향을 따라 보간함으로써 복수의 잠재 코드가 잠재 공간에 생성된다. 외부 입력에 기초한 잠재-공간의 보간은 상기 결과적인 샘플링 벡터를 단위 방향 벡터 및 대응하는 크기로 분해하고, 하나 이상의 크기에 기초하여 단위 방향 벡터를 따라 복수의 잠재 코드를 생성하는 것을 포함한다.Further, the method includes generating at least one latent code based on the interpolation along the determined direction in the latent space ( S108 ). A magnitude and direction associated with the resulting sampling vector are determined, and a plurality of latent codes are generated in the latent space by interpolating along the direction of the resulting sampling vector based on the determined magnitude. Latent-space interpolation based on an external input includes decomposing the resulting sampling vector into a unit directional vector and a corresponding magnitude, and generating a plurality of latent codes along the unit directional vector based on one or more magnitudes.

일 실시 예에서, 잠재 공간의 방향은 잠재 코드를 예측하기 위해 상기 잠재 공간의 잠재 코드 내에서 자동-학습된 관계에 기초하여 결정된다. 상기 잠재 공간 내에서의 자동-학습된 관계에 기초한 잠재 공간의 보간은 쇼트리스팅된 TDA에 의해 규정된 부분 공간을 통해, 타겟 도메인에서 이미지를 생성하도록 구성된 하나 이상의 잠재 코드를 검색하는 것을 포함한다. 또한, 신경망은 부분 공간 내에서 상기 잠재 코드 간의 관계를 연산하도록 훈련되고, 이에 의해 연산된 관계에 기초하여 추가 잠재 코드를 예측할 수 있다.In one embodiment, the orientation of the latent space is determined based on auto-learned relationships within the latent code of the latent space to predict the latent code. Interpolation of the latent space based on auto-learned relationships within the latent space includes retrieving, through a subspace defined by the shortlisted TDA, one or more latent codes configured to generate an image in the target domain. In addition, the neural network is trained to compute the relationships between the latent codes in the subspace, and thereby can predict additional latent codes based on the computed relationships.

생성된 잠재 코드에 기초하여, 적어도 하나의 이미지가 상기 ANN에 의해 생성된다(S 110). 이미지 생성에 추가하여, 추가로 수신된 외부 입력은 잠재 공간 보간의 일부로서 생성된 이미지에 관한 복수의 사용자 피드백을 수신하는 것을 포함한다. 보간된 잠재 공간 내에서, 타겟 도메인 속성의 특정 조합에 대해 사용자에 대한 최적 벡터값이 긍정적 피드백에 대해 연관된 평균 거리에 기초한 최적의 사용자 샘플링 벡터(USV) 및 긍정적 피드백과 부정적 피드백 사이의 관계에 기초하여 획득된 최적의 사용자 선호도 벡터(UPV) 중 하나 이상으로서 계산된다.Based on the generated latent code, at least one image is generated by the ANN (S 110). In addition to generating the image, the further received external input includes receiving a plurality of user feedback regarding the generated image as part of the latent spatial interpolation. Within the interpolated latent space, the optimal vector value for a user for a particular combination of target domain attributes is based on an optimal user sampling vector (USV) based on the associated mean distance for positive feedback and the relationship between positive and negative feedback is calculated as one or more of the obtained optimal user preference vectors (UPV).

도 2는 본 개시의 일 실시 예에서 AI 모델 기반 ANN의 훈련 단계를 나타내는 도면으로서, 도 1b의 단계 S104에 대응된다.FIG. 2 is a diagram illustrating a training step of an AI model-based ANN according to an embodiment of the present disclosure, and corresponds to step S104 of FIG. 1B .

단계 S202는 타겟 도메인의 각각의 이미지에 대한 복수의 사용자 라벨의 수집을 나타낸다.Step S202 represents the collection of a plurality of user labels for each image of the target domain.

단계 S204는 예를 들어, 하나의 핫 인코딩(hot-encoding)을 통해 실행되는 라벨의 수치 포맷으로의 변환을 나타낸다. 후속하여, 사용자-라벨을 수치 특징 벡터로 집계한다.Step S204 represents, for example, conversion of the label into a numeric format performed through one hot-encoding. Subsequently, user-labels are aggregated into numerical feature vectors.

단계 S206은 단계 S204의 수치 특징 벡터에 기초하여 특징 벡터를 획득하는 것을 나타낸다. 타겟 도메인의 조건부 라벨(속성)의 수는 사전에 정의된다. 각각의 타겟 도메인 속성에 대응하여, 특징 벡터가 신경망으로부터 획득된다.Step S206 represents obtaining a feature vector based on the numerical feature vector of step S204. The number of conditional labels (attributes) of the target domain is predefined. Corresponding to each target domain attribute, a feature vector is obtained from the neural network.

단계 S208은 이미지 형성과 관련된 특정 수의 타겟 속성을 격리하기 위해 단계 S206에서 출력된 특징 벡터를 선택적으로 마스킹하는 것을 나타낸다. 예를 들어, N개의 타겟 속성으로부터, 2N개의 조합이 가능하다.Step S208 represents selectively masking the feature vector output in step S206 to isolate a specific number of target attributes related to image formation. For example, from N target attributes, 2 N combinations are possible.

단계 S210은 2N 조합을 공통 부분 공간에 투사하기 위해 신경망의 일부를 형성하는 임베딩 층을 훈련하는 단계(S210a)를 나타낸다. 본 예시를 고려하면, N개의 TDA의 경우, 2N 조합에서 선택된 N개의 행이 있다. 임베딩 층은 행과 열의 임베딩 행렬에 대응되므로, 각각의 행의 길이는 적어도 공통 부분 공간의 차원을 나타낸다. 출력 특징 맵이 생성적 적대망(GAN)의 일부를 형성하는 이미지 생성기(201)에 입력으로서 공급된다(단계 S210b).Step S210 represents a step (S210a) of training an embedding layer forming a part of the neural network to project 2N combinations into a common subspace. Considering this example, in the case of N TDAs, there are N rows selected from 2 N combinations. Since an embedding layer corresponds to an embedding matrix of rows and columns, the length of each row represents at least a dimension of a common subspace. The output feature map is supplied as input to an image generator 201 forming part of a generative adversarial network (GAN) (step S210b).

단계 S212는 판별기 측에서의 동작을 나타내며, 재구성 손실(reconstruction- loss)은 타겟 도메인 속성을 재생하는 데 도움이 된다.Step S212 represents the operation on the discriminator side, and reconstruction-loss helps to reproduce the target domain attribute.

단계 S214는 동일한 정확도로 타겟 도메인 속성의 복수의 세트의 재생을 나타낸다. 이러한 세트 중 하나를 격리하거나 쇼트리스팅하기 위하여, 사용자 라벨은 재구성 손실을 사용자 라벨로 확장하여 재구성된다.Step S214 represents reproduction of a plurality of sets of target domain attributes with equal accuracy. To isolate or shortlist one of these sets, the user label is reconstructed by extending the reconstruction loss to the user label.

전반적으로, 상술한 단계가 계속되고, 관련 타겟 도메인 속성의 최상의 표현이 드러날 때까지 훈련이 수행된다. 이는 그에 따라 사용자 경험을 생성하기 위해 잠재 공간이 변화되는 속성을 형성한다. 또한, 획득되는 훈련된 GAN은 잠재 공간의 일부를 형성하는 잠재 코드에 기초하여 이미지 또는 임의의 다른 멀티미디어 콘텐츠를 생성할 수 있다.Overall, the steps described above continue, and training is performed until the best representation of the relevant target domain attribute is revealed. This forms the property that the latent space is changed accordingly to create a user experience. In addition, the trained GAN obtained may generate an image or any other multimedia content based on the latent code forming part of the latent space.

이해될 수 있는 바와 같이, 훈련을 통해 획득된 인공 지능 AI 모델은 원하는 특징(또는 목적)을 수행하도록 구성된 사전에 정의된 운영 규칙 또는 인공 지능 모델이 훈련 기술에 의해 복수의 단편의 훈련 데이터로 기본 인공 지능 모델을 훈련함으로써 획득된다는 것을 의미한다. 인공 지능 모델은 복수의 신경망 층을 포함할 수 있다. 복수의 신경망 층 각각은 복수의 가중치를 포함하고, 이전 층에 의한 연산 결과와 복수의 가중치 간의 연산에 의해 신경망 연산을 수행한다.As can be understood, the artificial intelligence AI model obtained through training is based on a plurality of pieces of training data by means of a training technique or a predefined operating rule configured to perform a desired characteristic (or purpose) or an artificial intelligence model. It means that it is obtained by training an artificial intelligence model. An artificial intelligence model may include multiple neural network layers. Each of the plurality of neural network layers includes a plurality of weights, and a neural network operation is performed by an operation between the operation result by the previous layer and the plurality of weights.

도 3은 본 개시의 일 실시 예에 따른 AI 모델 기반 ANN의 또 다른 훈련 단계를 나타내는 도면으로서, 도 1b의 단계 S104에 대응된다.3 is a diagram illustrating another training step of an AI model-based ANN according to an embodiment of the present disclosure, and corresponds to step S104 of FIG. 1B .

일 실시 예에서, 이미지를 생성하기 위해 확률 분포 함수(PDF: probability distribution function)를 통해 획득된 랜덤 노이즈(Z)는 구분 공간(302)으로서 프로세싱된다. 생성 아키텍처(201)는 통상적으로 랜덤 노이즈 벡터를 입력으로 취하여 타겟 도메인에서 변화를 생성한다. 그러나, 알려지지 않은 확률 분포로부터의 랜덤한 샘플링은 보간을 직접 담당하는 표현을 학습할 수 없다. 따라서, 본 개시에 따르면, 입력 노이즈는 복잡한 레벨 특징과 연관된 구분된 공간으로 변환되는 신경망(304)에 공급된다. 이에 기초하여, 입력이 생성 모델로 렌더링되고, 이에 의해 결국 추론 단계뿐만 아니라 훈련 단계 동안 보간 및 이미지 생성을 직접 담당하는 표현을 제공한다.In one embodiment, random noise Z obtained via a probability distribution function (PDF) is processed as a segmentation space 302 to generate an image. The generative architecture 201 typically takes a random noise vector as input and produces a change in the target domain. However, random sampling from an unknown probability distribution cannot learn the representation directly responsible for interpolation. Thus, in accordance with the present disclosure, input noise is fed to a neural network 304 that is transformed into a discrete space associated with complex level features. Based on this, the input is rendered into a generative model, which in turn provides a representation directly responsible for interpolation and image generation during the training phase as well as the inference phase.

도 4는 본 개시의 일 실시 예에 따라 사용자 입력을 타겟 도메인 속성에 매핑하는 것을 나타내는 도면으로서, 도 1b의 단계 102에 대응된다.4 is a diagram illustrating mapping of a user input to a target domain attribute according to an embodiment of the present disclosure, and corresponds to step 102 of FIG. 1B .

단계 S402는 소스 도메인(SD: source domain) 속성을 갖거나 갖지 않는 외부 사용자 입력의 수신을 나타낸다. 단계 S402a에서 사용자로부터 SD 속성을 수신하는 경우, 제어 흐름은 단계 S404로 진행한다. 그렇지 않고 단계 S402b에서 SD 속성을 수신하지 않은 경우, 외부 입력은 타겟 도메인에서의 직접 개인화를 위한 사용자 요청으로서 고려된다. 이러한 시나리오에서, 흐름은 단계 S406으로 진행한다.Step S402 represents reception of an external user input with or without a source domain (SD) attribute. When receiving the SD attribute from the user in step S402a, the control flow proceeds to step S404. Otherwise, if the SD attribute is not received in step S402b, the external input is considered as a user request for direct personalization in the target domain. In this scenario, the flow proceeds to step S406.

단계 S404에서 소스 도메인은 도 5의 설명에 기초하여 타겟 도메인 속성(TDA)과 매핑된다. 대응하는 TDA의 식별시에, 각각의 TDA에 대해 벡터가 계산된다. 벡터는 각각의 벡터가 단위 벡터이고 이러한 단위 벡터의 세트가 S단계 410에서 표현된 사용자 샘플링 벡터(USV)로 간주되도록 정규화된다. In step S404, the source domain is mapped with the target domain attribute (TDA) based on the description of FIG. 5 . Upon identification of the corresponding TDA, a vector is computed for each TDA. The vectors are normalized such that each vector is a unit vector and this set of unit vectors is considered a user sampling vector (USV) expressed in S step 410 .

단계 S406a에서, 클러스터링 로직은 외부 입력과 연관된 최초 사용자를 잠재 공간 내의 특정 클러스터에 할당한다. 그러나, 사용자가 이미 클러스터와 연관되어 있는 경우, 제어 흐름은 단계 S406b로 이동한다.In step S406a, the clustering logic assigns the first user associated with the external input to a specific cluster in the latent space. However, if the user is already associated with the cluster, the control flow moves to step S406b.

단계 S406b에서, (외부 입력을 제공하는) 사용자와 연관된 클러스터와 연관된 사전 규정된 샘플링 벡터가 페칭(fetching)된다.In step S406b, a predefined sampling vector associated with the cluster associated with the user (providing an external input) is fetched.

단계 S408에서, 제공된 사용자 입력은 예를 들어, 핫 인코딩을 통해 벡터로 변환된다. 이에 기초하여 단계 S406에서 페칭된 벡터에 기초하여, 등가 벡터가 연산되고 단계 S410에서 표현된 바와 같이 사용자 샘플링 벡터(USV)로 간주된다.In step S408, the provided user input is converted into a vector through, for example, hot encoding. Based thereon, based on the vector fetched in step S406, an equivalent vector is calculated and regarded as a user sampling vector (USV) as expressed in step S410.

도 5는 본 개시의 일 실시 예에 따라 소스-도메인을 타겟-도메인 속성에 매핑하는 것을 나타내는 도면으로서, 도 1b의 단계 S102에 대응된다.5 is a diagram illustrating mapping of a source-domain to a target-domain attribute according to an embodiment of the present disclosure, and corresponds to step S102 of FIG. 1B .

단계 S502는 그/그녀의 지식에 대해 링크된 소스 도메인 속성에 타겟 도메인 속성을 제공함으로써 인간 엔티티에 의해 수행되는 인과성 필터링(causality filtering)에 의해 규정된 필터링 프로세스에 대응된다. 상관 메커니즘(correlation-mechanism)의 일부로서, 도메인의 (X, Y) 데이터 포인트에 대해 가설을 맞춤으로써 소스 도메인과 타겟 도메인 간의 상관 관계가 확립된다. 특정 임계값(즉, 1 내지 n)보다 큰 정확도를 산출하는 소스 도메인은 입력된 소스 도메인(1 내지 k)으로부터 필터링되거나 쇼트리스팅된다. 인과성 및 상관성 모듈의 교차를 실행함으로써, 소스 도메인은 전단사(bijective) 특성을 나타낸다. 즉, 상관되지 않은 도메인 재구성을 위해 기본적인 사전-규정된 조건을 전용함으로써 소스 및 타겟 도메인의 표현 간에 전단사 관계가 달성된다.Step S502 corresponds to a filtering process defined by causality filtering performed by a human entity by providing a target domain attribute to a source domain attribute linked to his/her knowledge. As part of the correlation-mechanism, a correlation between a source domain and a target domain is established by fitting hypotheses to (X, Y) data points in the domain. Source domains that yield an accuracy greater than a certain threshold (ie, 1 to n) are filtered or shortlisted from the inputted source domains 1 to k. By implementing the intersection of causality and correlation modules, the source domain exhibits a bijective nature. That is, a predicate relationship is achieved between representations of the source and target domains by diverting the basic pre-defined conditions for uncorrelated domain reconstruction.

단계 S503은 소스 도메인과 타겟 도메인 속성 간의 관계를 확립하는 것에 대응된다. 소스 도메인이 선택되면, 이를 모델링하는 것이 필요하게 된다. 일반적인 의미에서, 각각의 소스 도메인은 모든 타겟 도메인 속성과의 일 대 다(one-to-many) 매핑을 유지한다. 그러나, 소스 도메인의 수가 증가함에 따라, 이러한 일 대 다 관계를 모델링하는 것은 필요한 모델 파라미터의 수를 선형적으로 증가시킨다. 이러한 문제를 해결하기 위해, 인코더와 디코더를 조합하여 공통 신경망이 획득된다. 공통 네트워크는 소스 도메인의 수에 관계없이 이러한 관계를 학습하도록 훈련된다.Step S503 corresponds to establishing a relationship between the source domain and the target domain attribute. Once the source domain is selected, it becomes necessary to model it. In a general sense, each source domain maintains a one-to-many mapping with all target domain attributes. However, as the number of source domains increases, modeling this one-to-many relationship linearly increases the number of model parameters required. To solve this problem, a common neural network is obtained by combining an encoder and a decoder. A common network is trained to learn these relationships regardless of the number of source domains.

단계 S503에서 도시된 매핑 모듈은 다중 모드 인코더 및 다중 모드 디코더라고 칭하는 2개의 구성 요소를 포함한다. 매핑 모듈의 동작의 일부로서, 소스 도메인과 타겟 도메인의 대응 값을 포함하는 데이터 세트 또는 룩업 테이블이 프리커서(precursor)로서 페칭된다. 매핑 모듈의 동작의 제1 단계는 훈련 단계이다.The mapping module shown in step S503 includes two components called a multi-mode encoder and a multi-mode decoder. As part of the operation of the mapping module, a data set or lookup table containing corresponding values of the source domain and the target domain is fetched as a precursor. The first phase of the operation of the mapping module is the training phase.

네트워크의 인코더/디코더 부분은 각각의 소스 도메인에 대한 별도의 ANN 네트워크를 포함한다. 소스 도메인 값은 디코더 측에서 추후 재구성을 가능하게 하는 "부트스트랩 집계(Bootstrap aggregating)" 또는 배깅(Bagging)을 통해 인코더에 의해 공통의 타겟 도메인 표현으로 변환된다. "배깅"은 복수의 양식으로부터의 데이터를 혼합하고 그 출력 특징 맵을 동일한 공통 타겟 도메인 표현 단계로 투사하는 것을 학습하는 집계기 네트워크(aggregator-network)를 칭한다. 공통 네트워크의 각각의 레벨에서 혼합될 각각의 소스 도메인으로부터의 정보의 "양"은 훈련 프로세스의 최적화 단계 동안 훈련되는 학습 가능한 파라미터로서 유지된다.The encoder/decoder portion of the network includes a separate ANN network for each source domain. The source domain values are converted into a common target domain representation by the encoder via "Bootstrap aggregating" or Bagging, which enables later reconstruction at the decoder side. "Bagging" refers to an aggregator-network that learns to mix data from multiple modalities and project its output feature maps to the same common target domain representation step. The “amount” of information from each source domain to be blended at each level of the common network is maintained as a learnable parameter that is trained during the optimization phase of the training process.

훈련 후, 인코더의 각각의 양식에 대한 "개별 네트워크"는 제거될 수 있는 반면, 각각의 소스 도메인에 대한 개별 디코더는 유지된다. 이는 네트워크가 필요할 때 멀티 다중 모드 소스 도메인을 재구성할 수 있게 한다.After training, the “individual network” for each modality of the encoder can be removed, while the individual decoder for each source domain remains. This allows the network to reconfigure multiple multi-mode source domains when needed.

도 6은 본 개의 실시 예에 따라 외부 입력에 기초한 타겟 도메인 샘플의 생성을 나타내는 도면으로서, 도 1b의 단계 S106 및 S108에 대응된다.6 is a diagram illustrating generation of a target domain sample based on an external input according to an embodiment of the present invention, and corresponds to steps S106 and S108 of FIG. 1B .

단계 S602는 도 4에 대응하는 단계를 겪었을 때 달성된 상태를 나타낸다. 다른 예에서, 단계 S602에서의 현재 상태는 훈련 없이 배치될 수 있는 ANN의 디폴트 상태를 나타낸다. 이 단계에서, 훈련된 ANN 네트워크 또는 GAN은 이하의 2개의 기능을 보유한다:Step S602 shows a state achieved when it has undergone a step corresponding to FIG. 4 . In another example, the current state in step S602 represents a default state of an ANN that may be deployed without training. At this stage, the trained ANN network or GAN has the following two functions:

(i) 타겟 도메인에서 다양하고 사실적인 이미지의 생성, 및(i) the creation of a variety of realistic images in the target domain; and

(ii) 그 조합이 생성자에게 제공된 외부 라벨을 산출하는 타겟 도메인 속성의 구분된 표현.(ii) a distinct representation of the target domain attributes whose combination yields an external label provided to the constructor.

즉, 단계 S602에서는 생성 모델이 타겟 도메인에서 훈련되었고 타겟 도메인 속성의 구분이 수행된 조건을 나타낸다. 타겟 도메인 속성의 조합은 생성기가 더 작은 클러스터 또는 부분 공간에서 변형을 생성하도록 조건화한다. 상술한 기능은 훈련되거나 구성된 ANN이 타겟 도메인 속성의 특정 조합을 가장 잘 설명하는 타겟 도메인에서 서브샘플을 생성할 수 있게 한다.That is, in step S602, a condition in which the generative model is trained in the target domain and classification of the target domain attribute is performed indicates a condition. Combinations of target domain attributes condition the generator to produce transformations in smaller clusters or subspaces. The functions described above allow a trained or constructed ANN to generate subsamples in the target domain that best describe a particular combination of target domain attributes.

단계 S604에서 (단계 S602에서 언급된 바와 같은) TDA의 특정 클러스터가 선택된다. 클러스터는 도 4의 단계 S402에서 사용자에 의해 제공된 외부-입력과 연관된다. 외부 입력은 사용자에 의한 평범한 요청, 예를 들어, "셔츠 디자인을 보여주세요"일 수 있으며, 이에 의해 타겟 도메인에서 개인화를 위한 직접 요청에 대응된다. 다른 예에서, 요청은 SD 속성을 수반할 수 있으며, 타겟-도메인의 간접 개인화 요청에 대응된다. SD 속성을 갖는 간접 개인화의 예는 "아프리카에서 고온에서 입기 위한 셔츠를 보여주세요"와 같은 요청일 수 있다.In step S604 a specific cluster of TDAs (as mentioned in step S602) is selected. The cluster is associated with the external-input provided by the user in step S402 of FIG. 4 . The external input may be a plain request by the user, for example "show me shirt design", thereby corresponding to a direct request for personalization in the target domain. In another example, the request may be accompanied by an SD attribute, and corresponds to an indirect personalization request of the target-domain. An example of indirect personalization with an SD attribute could be a request such as "Show me a shirt to wear in high temperatures in Africa."

단계 S606에서, 단계 S604에서 선택된 클러스터와 연관된 샘플링 벡터가 선택된다.In step S606, a sampling vector associated with the cluster selected in step S604 is selected.

단계 S608에서, 도 4의 단계 S412에서 획득된 사용자 샘플링 벡터는 단계 S606의 클러스터 샘플링 벡터와 조합되어 최종 샘플링 벡터를 제공한다. 하나 이상의 클러스터는 상기 결과적인 샘플링 벡터에 기초하여 업데이트될 수 있으며, 여기서 이러한 클러스터는 쇼트리스팅된 TDA와 관련된다. 샘플링 벡터는 단위-방향 벡터와 대응 크기로 분해된다. 일 실시 예에서, 이전에 로깅된 샘플링 벡터는 현재 연산된 샘플링 벡터와 함께 집계되어 가중 평균화(weighted-averaging)를 통해 집계된 벡터를 생성할 수 있다. 신경망을 통해 상기 잠재 공간 내에서 자동 학습된 관계에 기초하여 기존 잠재 코드 간의 변화 패턴이 결정된다. 따라서, 집계된 벡터 및 연산된 패턴과 연관된 방향에 기초하여 집계된 보간 방향이 도출될 수 있으며, 이에 의해 보간 방향에 대한 연합적인 업데이트가 된다.In step S608, the user sampling vector obtained in step S412 of FIG. 4 is combined with the cluster sampling vector of step S606 to provide a final sampling vector. One or more clusters may be updated based on the resulting sampling vector, where such clusters are associated with the shortlisted TDA. The sampling vector is decomposed into a unit-direction vector and a corresponding magnitude. In an embodiment, the previously logged sampling vector may be aggregated together with the currently calculated sampling vector to generate the aggregated vector through weighted-averaging. A change pattern between existing latent codes is determined based on a relationship automatically learned in the latent space through a neural network. Accordingly, an aggregated interpolation direction may be derived based on the aggregated vector and the direction associated with the calculated pattern, thereby resulting in an associative update to the interpolation direction.

단계 S610에서, 단계 S604에서 선택된 하나 이상의 클러스터의 선호도 벡터 및 외부 입력으로부터 연산된 사용자 선호도 벡터가 조합되어 사용자와 관련된 TDA의 순위를 생성한다. N개의 타겟 도메인 속성 중 적절한 수 K가 선택된다. K개의 속성 중 랜덤한 수 M개의 타겟 속성이 선택된다. M개 속성의 구분된 표현이 유지되고 나머지 N-K는 생성기에 대한 라벨을 산출하기 위해 마스킹된다. 잠재 순회 준비 단계라고 칭하는 검증 드라이브의 일부로서, 생성 모델은 조건화가 적용된 평가 모드에 놓인다.In step S610, the preference vector of one or more clusters selected in step S604 and the user preference vector calculated from the external input are combined to generate a rank of the TDA associated with the user. An appropriate number K of the N target domain attributes is selected. A random number of M target attributes are selected from among the K attributes. A distinct representation of the M attributes is maintained and the remaining N-K are masked to yield a label for the generator. As part of the validation drive, called the potential traversal preparation phase, the generative model is placed in an evaluation mode with conditioning applied.

단계 S612에서, 단계 S608의 결과적인 샘플링 벡터로부터 결정된 샘플링 방향을 따라 잠재 공간 내의 보간이 수행되어 복수의 잠재 코드 및 그에 따른 이미지를 생성한다. 이미지는 도 8에 배열된 바와 같이 나타내었다.In step S612, interpolation in the latent space is performed along the sampling direction determined from the resultant sampling vector in step S608 to generate a plurality of latent codes and corresponding images. The images are presented as arranged in FIG. 8 .

도 7은 본 개시의 실시 예에 따른 단계 S612에 따라 이미지를 생성하기 위한 잠재 공간 내의 데이터의 보간을 나타낸다. 이해될 수 있는 바와 같이, 잠재 코드는 GAN에 의해 생성된 특정 이미지를 격리하는 잠재 공간의 지점에 대응된다. 잠재 코드 형성은 잠재 공간의 개시점에 샘플링 벡터를 추가함으로써 이루어진다. 구분된 TDA 표현으로 인해, 각각의 TDA에 대해 별도의 샘플링 벡터가 모델링된다.7 illustrates interpolation of data in a latent space for generating an image according to step S612 according to an embodiment of the present disclosure. As can be appreciated, a latent code corresponds to a point in the latent space that isolates a specific image generated by the GAN. Latent code formation is achieved by adding a sampling vector at the beginning of the latent space. Due to the distinct TDA representation, a separate sampling vector is modeled for each TDA.

도 6을 참조하면, 사용자/클러스터 샘플링 벡터가 조합되어 최종 샘플링 벡터를 제공한다. 샘플링 벡터는 단위 방향 벡터와 대응하는 크기로 분해된다. 크기를 일정하게 유지함으로써, 샘플링 벡터의 방향을 따른 다중 잠재 코드가 도 4의 사용자 참조 단계 S402에 의해 제공되는 외부 입력으로부터 잠재 코드 생성기(702)에서 획득된다. 구분된 공간에서 학습된 특징과 함께 이러한 잠재 코드 각각은 이미지를 생성하기 위해 생성기로 전송된다.Referring to FIG. 6 , a user/cluster sampling vector is combined to provide a final sampling vector. The sampling vector is decomposed into a magnitude corresponding to the unit direction vector. By keeping the magnitude constant, multiple latent codes along the direction of the sampling vector are obtained in the latent code generator 702 from the external input provided by the user reference step S402 of FIG. Each of these latent codes, along with features learned in a separate space, is sent to a generator to generate an image.

다른 예에서, 잠재 코드는 기존의 잠재 코드에 기초하여 잠재 공간 내의 중간 라벨의 예측에 기초하여 임의의 외부 입력 없이 자동으로 생성될 수 있다. 이러한 예측을 위해, 쇼트리스팅된 TDA에 의해 규정된 부분 공간은 타겟 도메인에서 이미지를 생성하도록 구성된 하나 이상의 잠재 코드를 규정하기 위해 자동으로 검색된다. 신경망은 신경망을 사용하여 훈련되어 부분 공간 내의 상기 잠재 코드 간의 관계를 연산하고, 이에 의해 연산된 관계에 기초하여 추가 잠재 코드의 예측을 가능하게 하도록 훈련될 수 있다. 그 후, 복수의 TDA는 사용자 피드백에 의해 규정된 임계값의 달성까지 상기 예측된 중간-라벨에 기초하여 구분된다. 쇼트리스팅된 TDA는 보간을 가능하게 하기 위해 구분된 TDA에 기초하여 획득된다.In another example, latent codes may be automatically generated without any external input based on predictions of intermediate labels in the latent space based on existing latent codes. For this prediction, the subspace defined by the shortlisted TDA is automatically searched to define one or more latent codes configured to generate an image in the target domain. Neural networks can be trained using neural networks to compute relationships between the latent codes in subspaces, thereby enabling prediction of additional latent codes based on the relationships computed. A plurality of TDAs are then discriminated based on the predicted mid-label until attainment of a threshold defined by user feedback. A short-listed TDA is obtained based on the segmented TDA to enable interpolation.

도 8은 본 개시에 따른 예시적인 사용자 입력에 대한 잠재 공간 보간을 설명하는 다이어그램을 나타내는 도면으로서, 도 1b의 단계 S110에 대응된다.8 is a diagram illustrating a latent spatial interpolation for an exemplary user input according to the present disclosure, and corresponds to step S110 of FIG. 1B .

일 실시 예에서, GAN은 타겟 도메인으로서 "셔츠"의 관점에서 도 3에 의해 훈련될 수 있다. 도 3의 훈련을 통해, 셔츠 형성에 직접적인 영향을 미치는 형상, 컬러, 질감과 같은 최상의 요인이 식별된다. 이 단계가 끝날 때까지, GAN은 외부 입력으로서 숫자(즉, 셔츠, 갈색 셔츠, 흰색 셔츠)만 주어진 임의의 사용자(즉, 김씨)에 대한 셔츠를 생성할 수 있는 기능을 달성한다.In one embodiment, the GAN may be trained by FIG. 3 in terms of “shirt” as the target domain. Through the training of Figure 3, the best factors such as shape, color and texture that directly affect shirt formation are identified. By the end of this step, the GAN achieves the ability to create a shirt for any user (ie Mr. Kim) given only numbers (ie, shirt, brown shirt, white shirt) as external input.

도 4에 기초하여, 사용자에 의해 제공된 외부 입력(즉, 셔츠 이미지 생성을 위한 요청)이 실시간으로 수신되며, 이는 타겟 도메인과 매핑된다. 또한, 간접 개인화 제공의 일부로서, 사용자는 또한 러시아에 있는 친구를 위해 셔츠를 구매하고 싶다고 말함으로써 소스 도메인 속성을 제공할 수 있다. 러시아 날씨와 같은 간접적인 SD 요인은 도 4 및 도 5의 매핑 네트워크에 의해 도 2 및 도 3에 도시된 훈련 단계 동안 식별된 형상, 컬러 등과 같은 직접적인 TD 요인에 매핑된다.Based on FIG. 4 , an external input provided by a user (ie a request to generate a shirt image) is received in real time, which is mapped to a target domain. Also, as part of the indirect personalization offering, the user may also provide the source domain attribute by saying that he would like to purchase a shirt for a friend in Russia. Indirect SD factors such as Russian weather are mapped to direct TD factors such as shape, color, etc. identified during the training phase shown in FIGS. 2 and 3 by the mapping network of FIGS. 4 and 5 .

따라서, 출력으로서 잠재 공간 내의 데이터 보간에 기초하여 복수의 이미지가 생성된다. 잠재 공간 보간의 경우, 타겟 도메인 속성을 선택하기 위한 결정이 중요도의 낮아지는 순서로 타겟 도메인 속성을 순위화하는 도 6 및 도 7에 언급된 선호도 벡터에 의해 이루어진다. 이제 특정 타겟 도메인 속성과 관련하여, 잠재 공간을 따른 중요한 이미지가 샘플링 벡터에 기초하여 결정된다. 이해될 수 있는 바와 같이, 샘플링 벡터는 그에 따라 잠재 공간 보간이 수행되는 방향을 결정한다. 또한, 개별 엔티티를 갖는 것 외에, 각각의 사용자는 그룹 아이덴티티도 가지며, 즉, 더 큰 그룹에 속할 수 있다. 따라서, 선호도 및 샘플링 벡터는 사용자 및 클러스터 레벨 모두에서 고려된다.Accordingly, a plurality of images are generated based on data interpolation in the latent space as outputs. In the case of latent spatial interpolation, the decision to select a target domain attribute is made by the preference vectors mentioned in Figs. 6 and 7 which rank the target domain attributes in decreasing order of importance. Now, with respect to a specific target domain attribute, an important image along the latent space is determined based on the sampling vector. As can be appreciated, the sampling vector determines the direction in which the latent spatial interpolation is performed accordingly. Also, in addition to having a separate entity, each user also has a group identity, ie, can belong to a larger group. Thus, preference and sampling vectors are considered at both the user and cluster level.

이제 도 8에 나타낸 표현을 살펴보면, 동일한 내용이 외부 입력 또는 사용자 라벨 "셔츠"에 대한 잠재 공간 보간의 개념을 나타낸다. 나타낸 바와 같이, 보간은 질감 및 형상과 같은 복수의 특성을 고려할 수 있다.Turning now to the representation shown in Figure 8, the same represents the concept of latent spatial interpolation for external input or user label "shirt". As shown, the interpolation may take into account multiple properties, such as texture and shape.

선호도 벡터는 어떠한 특성의 특정 조합이 사용자에 대해 취해지는지에 대한 결정을 규제한다. 일 실시 예에서, 행의 계층 또는 순위는 선호도 벡터에 따라 실행된다. 각각의 순위화된 행은 어떠한 것이 보간에 따라 변하는 잠재 공간의 특성인지를 나타내며, 그에 따라 타겟 도메인 속성(예를 들어, 질감, 형상)을 나타낸다.A preference vector regulates the decision as to which particular combination of characteristics is taken for a user. In one embodiment, the hierarchy or ranking of rows is performed according to a preference vector. Each ranked row represents which properties of the latent space change with interpolation, and thus target domain properties (eg, texture, shape).

"형상"과 같은 특정 행과 관련하여, 샘플링 벡터에 의해 결정된 시퀀스에 기초하여 열에 걸쳐 무한 이미지가 생성될 수 있다. 샘플링 벡터는 사용자에게 나타내어지는 임의의 2개의 연속된 이미지 사이의 거리가 무엇이 되어야 하는지에 대한 결정을 내린다. 다른 예에서, 행은 또한 인간에게 쉽게 해석될 수 없지만 기계에 의해 쉽게 해독될 수 있는 TDA를 도시할 수 있다. 예에서, 이러한 특정 TDA는 "형상 + 질감 + 컬러 + 온도"와 같은 다양한 TDA의 조합일 수 있다.With respect to a particular row, such as "shape," an infinite image can be created across the columns based on the sequence determined by the sampling vector. The sampling vector determines what the distance between any two consecutive images presented to the user should be. In another example, the row may also depict a TDA that is not readily interpretable by a human but can be easily deciphered by a machine. In an example, this particular TDA may be a combination of various TDAs, such as “shape + texture + color + temperature”.

또한, 일 실시 예에 따르면, 현재 이미지가 순위화될 수도 있다. 특히 보간이 중지될 때, 그 때 사용자는 생성된 최종 이미지에 만족하게 되므로 이미지가 순위화될 수 있다. 따라서, "좋아한" 이미지와 연관된 열은 최종 열이고 원하는 시퀀스로 행이 배열될 수 있도록 순위화될 수 있다. 순위화된 열의 맨 위 행은 "좋아한" 이미지를 도시한다. 계층 구조 아래의 이미지 또는 행은 좋아한 이미지와의 유사도의 감소하는 순서를 도시한다. 즉, 최종 순위 열은 단순히 반복적으로 수행된 보간의 결과, 즉, "반복 보간 출력"으로 지칭될 수 있다.Also, according to an embodiment, the current image may be ranked. In particular, when the interpolation stops, then the user is satisfied with the final image generated so that the image can be ranked. Thus, the column associated with the “liked” image is the final column and can be ranked such that the rows can be arranged in the desired sequence. The top row of the ranked column shows "liked" images. Images or rows below the hierarchy show decreasing order of similarity with favorite images. That is, the final rank column may simply be referred to as a result of iteratively performed interpolation, that is, “iterative interpolation output”.

전체적으로, 도 2 내지 도 7의 설명에서 묘사된 바와 같이 사용자 라벨을 통한 이미지 생성 프로세스는 다음과 같이 요약될 수 있다:Overall, as depicted in the description of Figures 2-7, the image creation process via user labels can be summarized as follows:

(i) 신경망을 통한 복잡한 개념의 학습.(i) Learning complex concepts through neural networks.

(ii) 해당 개념에 대한 광범위한 사용자 피드백 획득.(ii) obtaining extensive user feedback on the concept;

(iii) (i)에서의 복잡한 개념의 내부 특징 벡터와 사용자 피드백을 매핑하여 훈련 예를 구성.(iii) A training example was constructed by mapping the user feedback and the internal feature vector of the complex concept in (i).

(iv) 특정 정확도 임계값에 도달될 때까지 감독되지 않은/부분적으로 감독되는 방식으로 네트워크의 추가 훈련을 안내.(iv) guiding further training of the network in an unsupervised/partially supervised manner until a certain accuracy threshold is reached.

이 현상은 신경망과 인간 표현 사이의 갭을 또한 브릿징하여 복잡한 개념을 라벨링하는 것을 가능하게 한다. 도 2 내지 도 7의 설명은 복잡한 학습된 개념을 광범위한 사용자 피드백과 매핑하는 것을 나타낸다. 다음 도면들은 반복적인 피드백에 기초한 콘텐츠 또는 이미지 생성을 나타낸다.This phenomenon also bridges the gap between neural networks and human representations, making it possible to label complex concepts. The description of Figures 2-7 represents a mapping of complex learned concepts to a wide range of user feedback. The following figures illustrate content or image creation based on iterative feedback.

도 9는 사용자 피드백에 기초한 타겟 도메인 샘플의 생성을 나타내는 도면이다. 전반적으로, 도 9는 사용자 피드백에 의해 구동되는 이미지 생성의 메커니즘을 나타내며, 이에 의해 다양하게 생성된 이미지 중에서 관련 샘플을 식별한다.9 is a diagram illustrating generation of target domain samples based on user feedback. Overall, FIG. 9 shows a mechanism of image generation driven by user feedback, thereby identifying relevant samples among variously generated images.

단계 S902는 도 7 및 도 8의 잠재 공간 보간에 따른 이미지 생성을 나타낸다.Step S902 represents image generation according to the latent spatial interpolation of FIGS. 7 and 8 .

단계 S904는 수행된 객체의 현재 생성된 이미지에 대한 사용자의 "좋아요" 또는 "싫어요"를 획득하는 것에 대응된다. "싫어요"의 경우, 제어 흐름은 단계 S906으로 진행하고, "좋아요"의 경우 제어 흐름은 단계 S908로 진행한다.Step S904 corresponds to obtaining a user's "like" or "dislike" for the currently generated image of the performed object. In the case of "dislike", the control flow proceeds to step S906, and in the case of "like", the control flow proceeds to step S908.

단계 S906은 잠재-코드의 조정을 나타내고, 이에 의해 추가로 수행된 보간을 통해 새로운 이미지를 생성하기 위해 보간 변수를 변화시킨다. 타겟 도메인 속성 중 하나의 샘플링 벡터를 변경하여, 타겟 도메인의 변화가 사용자에게 제공된다.Step S906 represents the adjustment of the latent-code, thereby changing the interpolation variable to generate a new image through the further performed interpolation. By changing the sampling vector of one of the target domain attributes, a change in the target domain is provided to the user.

제어 흐름은 사용자 의견을 확인하기 위해 단계 S904로 다시 이동한다. 단계 S904와 S906 사이의 후진 및 전진 동작은 사용자가 타겟 도메인에서 생성되는 이미지에 만족하여 제어 흐름이 단계 S908로 이동할 때까지 계속된다.The control flow moves back to step S904 to confirm the user opinion. The backward and forward operation between steps S904 and S906 continues until the user is satisfied with the image generated in the target domain and the control flow moves to step S908.

단계 S908에서, 사용자에 의한 "좋아요" 또는 긍정적 피드백의 경우, 좋아한 이미지를 달성하기 위해 채용되는 샘플링-거리가 주목되어 타겟 도메인 속성의 특정 조합에 대해 사용자에 대한 최적의 샘플링 벡터를 연산한다. 보다 구체적으로, 최적의 사용자 샘플링 벡터(USV)는 포지티브 피드백에 관해 연관된 평균 거리에 기초하여 결정된다. 예를 들어, 임의의 2개의 포지티브 피드백 사이의 평균 거리는 타겟 도메인 속성의 특정 조합에 대해 사용자에 대한 최적의 샘플링 벡터를 연산하는 데 사용된다. 또한, 긍정적 피드백과 부정적 피드백 간의 관계에 기초하여 최적의 사용자 선호도 벡터(UPV)가 획득된다. 예에서, 부정적 피드백에 대한 긍정적 피드백의 비율은 속성에 대한 사용자의 선호도 벡터를 획득하는 데 사용된다. 다른 예에서, 선호도 벡터는 또한 사용자 피드백과 연관된 임의의 다른 정도의 변화, 즉, 1차 미분, 2차 미분으로부터 획득될 수 있다. 전반적으로, 사용자 만족은 사용자 피드백으로부터 수집된 긍정적인 응답의 비율에 따라 계산된다. 또한, 긍정적 피드백은 타겟-도메인에서 생성 프로세스를 일시 중지하기 위한 표시를 상술한 시스템에 제공하는 임의의 피드백 기반 로직을 나타내는 것으로 해석될 수 있다.In step S908, in case of "like" or positive feedback by the user, the sampling-distance employed to achieve the liked image is noted to compute an optimal sampling vector for the user for a particular combination of target domain attributes. More specifically, an optimal user sampling vector (USV) is determined based on the associated average distance with respect to positive feedback. For example, the average distance between any two positive feedbacks is used to compute an optimal sampling vector for the user for a particular combination of target domain attributes. In addition, an optimal user preference vector (UPV) is obtained based on the relationship between the positive feedback and the negative feedback. In an example, the ratio of positive feedback to negative feedback is used to obtain the user's preference vector for the attribute. In another example, the preference vector may also be obtained from any other degree of change associated with user feedback, ie, a first derivative, a second derivative. Overall, user satisfaction is calculated according to the percentage of positive responses gathered from user feedback. Further, positive feedback may be interpreted to indicate any feedback-based logic that provides an indication to the system described above to pause the creation process in the target-domain.

다른 예에서, 이력적으로 연산된 샘플링/선호도 벡터의 통계적 실행 평균이 또한 상기 최적 벡터의 계산을 위해 고려된다. 보다 구체적으로, 로깅된 샘플링 벡터는 현재 연산된 샘플링 벡터와 함께 집계되어 가중-평균화를 통해 집계된 벡터를 생성한다. 최적의 선호도 벡터 계산에 대해서도 동일하게 적용 가능하다.In another example, a statistical running average of historically computed sampling/preference vectors is also considered for calculation of the optimal vector. More specifically, the logged sampling vector is aggregated together with the currently computed sampling vector to generate an aggregated vector through weighted-averaging. The same can be applied to the calculation of the optimal preference vector.

단계 S910에서, 단계 S908에서 계산된 최적 벡터가 저장된다.In step S910, the optimal vector calculated in step S908 is stored.

단계 S912에서, 최적의 샘플링 벡터에 기초하여, TDA가 업데이트되고, 결국 대응하는 클러스터의 업데이트로 이어진다.In step S912, based on the optimal sampling vector, the TDA is updated, eventually leading to the update of the corresponding cluster.

전반적으로, 도 9에 따른 타겟 샘플 생성은 셔츠를 형성하기 위한 직접적인 TDA 요인의 혼합을 허용한다. 사용자는 형성된 셔츠를 좋아하거나 좋아하지 않는다. 이러한 반복적 피드백에 의해, 시스템은 혼합될 필요가 있는 각각의 직접 요인의 이상적인 양을 획득한다. 또한, 반복적으로 수신된 피드백에 기초하여 생성이 이루어지며, 개인 데이터가 필요하지 않을 수 있다.Overall, target sample generation according to FIG. 9 allows direct mixing of TDA factors to form a shirt. The user may or may not like the formed shirt. With this iterative feedback, the system obtains the ideal amount of each direct factor that needs to be mixed. In addition, generation is made based on feedback received repeatedly, and personal data may not be required.

도 10은 소스 도메인의 정보를 재구성하기 위해 타겟 도메인 샘플이 사용되는 소스 도메인 속성의 재구성(reconstruction)을 나타내는 도면이다. 상기 재구성을 위한 요건은 구분된 TDA 및 도 9의 사용자 피드백을 통해 생성된 타겟 도메인의 최적의 샘플일 수 있다. 따라서, 재구성 단계의 일부로서, 타겟 도메인 샘플은 소스 도메인의 정보를 재구성하는 데 사용된다.10 is a diagram illustrating reconstruction of a source domain attribute in which a target domain sample is used to reconstruct information of the source domain. The requirement for the reconstruction may be an optimal sample of the target domain generated through the differentiated TDA and user feedback of FIG. 9 . Thus, as part of the reconstruction step, the target domain samples are used to reconstruct the information of the source domain.

단계 S1002에서, "좋아한" 타겟 도메인 샘플과 관련하여 도 9에서 계산된 사용자에 대한 최적의 샘플링 벡터가 획득된다. 다른 예에서, 사용자에 대해 특정된 계산된 최적의 벡터 값 및 쇼트리스팅된 TDA는 집계된 특징 벡터를 제공한다.In step S1002, the optimal sampling vector for the user calculated in FIG. 9 in relation to the "liked" target domain sample is obtained. In another example, the computed optimal vector value specified for the user and the shortlisted TDA provide the aggregated feature vector.

단계 S1004에서, 소스 도메인 정보가 최적의 벡터 내에 존재하는지 확인한다. 그렇지 않은 경우, 제어는 단계 S1006으로 이동하여 소스 도메인 정보가 최적 벡터 및 타겟 도메인 샘플에 대응하는 이름 엔티티로부터 페칭되도록 시도될 수 있다. 일단 소스 도메인 정보가 성공적으로 페칭되면, 제어는 단계 S1008로 이동한다. 그러나, 페칭 실패의 경우, 제어는 도 9의 단계 S902로 다시 이동하며, 여기서 타겟 도메인 샘플이 변형되어 재생성된다. 변화된 타겟 도메인 샘플이 단계 S908에서 "좋아요"로 되면, 제어 흐름은 단계 S1002로 전달된다.In step S1004, it is checked whether the source domain information exists in the optimal vector. Otherwise, control may move to step S1006 where the source domain information may be attempted to be fetched from the name entity corresponding to the optimal vector and target domain sample. Once the source domain information is successfully fetched, control moves to step S1008. However, in case of fetching failure, control moves back to step S902 in Fig. 9, where the target domain sample is deformed and regenerated. If the changed target domain sample is “liked” in step S908, the control flow passes to step S1002.

단계 S1008에서, 복수의 소스 도메인 각각에 대한 정보는 도 5에 도시된 바와 같이 공통 네트워크의 일부를 형성하는 디코더를 통해 집계된 특징 벡터에 기초하여 재구성된다.In step S1008, information on each of the plurality of source domains is reconstructed based on the feature vector aggregated through the decoder forming a part of the common network as shown in FIG. 5 .

단계 S1010에서, 재구성된 정보는 쇼트리스팅된 TDA의 효율을 연산하기 위해 사용자 입력 내에서 수신된 소스 도메인 정보와 비교된다.In step S1010, the reconstructed information is compared with the source domain information received in the user input to compute the efficiency of the short-listed TDA.

단계 S1012에서, 효율이 최적으로 발견될 수 있다. 이러한 시나리오에서, 선호도 벡터(PV) 및 샘플링 벡터(SV)와 연관된 클러스터링 정보가 업데이트된다.In step S1012, the efficiency can be found optimally. In this scenario, the clustering information associated with the preference vector (PV) and the sampling vector (SV) is updated.

단계 S1010에서, 효율은 또한 최적이 아닌 것으로 발견될 수 있다. 이러한 시나리오에서, 쇼트리스팅된 TDA는 효율을 높이기 위해 업데이트되고, 이에 기초하여 USV, UPV, CSV, CPV 중 하나 이상 그리고 TDA와 연관된 적어도 하나의 클러스터가 업데이트된다. 더욱 구체적으로, 단계 S1010은 도 9로의 제어의 전달로 이어지고, 그 후 이하의 하위-단계로 분해된다.In step S1010, the efficiency may also be found to be suboptimal. In this scenario, the short-listed TDA is updated to increase efficiency, and based on this, one or more of USV, UPV, CSV, CPV and at least one cluster associated with the TDA are updated. More specifically, step S1010 leads to transfer of control to FIG. 9 , and then decomposed into the following sub-steps.

a) 상기 효율을 높이기 위해 단계 S904를 참조하여 다른 사용자 피드백을 수신하는 단계;a) receiving other user feedback with reference to step S904 to increase the efficiency;

b) 쇼트리스팅된 TDA를 업데이트하는 단계;b) updating the shortlisted TDA;

c) 쇼트리스팅된 TDA 참조 단계 S908에 대해 사용자에 대한 샘플링 벡터 최적화 후 업데이트된 클러스터 샘플링 벡터 및 클러스터 선호도 벡터. 선택적으로, 쇼트리스팅된 TDA 중 하나 이상과 관련된 적어도 하나의 클러스터의 업데이트가 수행될 수 있고;c) Updated cluster sampling vector and cluster preference vector after optimization of sampling vector for user for shortlisted TDA reference step S908. Optionally, updating of at least one cluster associated with one or more of the short-listed TDAs may be performed;

d) 도 10의 절차를 재개하기 위해 최적화된 벡터를 단계 S1002로 전달.d) Passing the optimized vector to step S1002 to resume the procedure of FIG. 10 .

이 도면은 적어도 사용자가 좋아하는 새로 구성된 "셔츠"에 대해 셔츠를 입을 수 있는 날씨 조건을 예측할 수 있도록 한다. 이는 원하는 위치의 실제 날씨와 비교되고, 결과가 사용자에게 유용한지를 확인한다.This diagram allows the user to predict the weather conditions in which the shirt may be worn, at least for a new configured "shirt" that the user likes. This is compared to the actual weather at the desired location and confirms that the result is useful to the user.

전체적으로, 이전 도면의 설명에서 나오는 실제 이익의 예는 다음과 같다:Overall, examples of real benefits emerging from the description of the preceding figures are:

[1] 인벤토리의 기존 셔츠의 조합에 기초하여 무한 셔츠가 생성될 수 있다.[1] An infinite shirt can be created based on a combination of existing shirts in the inventory.

[2] 셔츠가 형성되면, 사용자의 피드백이 수집된다. 이는 사용자의 선호도에 따라 생성된 셔츠의 미세 조정(fine-tuning)을 가능하게 하며, 이는 전자 상거래 웹사이트 상에서 통상의 유사도 및 검색 접근법을 넘어선 단계이다.[2] Once the shirt is formed, user feedback is collected. This allows fine-tuning of the created shirt according to the user's preferences, a step beyond the usual similarity and search approaches on e-commerce websites.

[3] 고온과 같은 간접적인 요인이 사용자가 셔츠를 구매하는 방식을 규제한다. 본 개시는 또한 셔츠 형성에 대한 유효한 입력으로서 이러한 많은 "간접 요인"을 취한다.[3] Indirect factors, such as high temperatures, regulate the way users buy shirts. The present disclosure also takes many of these “indirect factors” as valid inputs to shirt formation.

도 11은 클라이언트-서버 구현에 따른 방법 단계의 예시적인 구현을 나타내는 도면이다. 현재 구현은 데이터에서 복잡한 패턴을 추출하기 위해 더 깊은 모델이 우선 학습되는 "지식 증류(knowledge distillation)"를 지칭한다. 그 후, 이러한 복잡한 패턴이 더 작은 자녀 모델에 교시된다. 이는 훨씬 더 적은 메모리 풋프린트(footprint)로 귀결되지만, 유사한 정확도를 갖는다.11 is a diagram illustrating an exemplary implementation of method steps according to a client-server implementation. Current implementations refer to "knowledge distillation," in which a deeper model is first trained to extract complex patterns from data. These complex patterns are then taught to the smaller child models. This results in a much smaller memory footprint, but with similar accuracy.

일 실시 예에 따르면, 서버(1102)에서의 매핑 네트워크(mapping network) 및 생성기 네트워크(generator network)는 지식 증류를 활용하여 클라이언트(1104)의 디바이스 상에서 더 작은 모델을 훈련시킨다. 서버(1102)는 이미지를 생성하기 위해 ANN의 제1 버전을 구현하며, ANN의 제1 버전은 훈련을 받고 그 후 더 작은 모델을 훈련시키도록 구성된 대형 모델이 된다.According to one embodiment, a mapping network and a generator network at the server 1102 utilize knowledge distillation to train a smaller model on the device of the client 1104 . The server 1102 implements a first version of the ANN to generate the image, the first version of the ANN being trained and then a large model configured to train a smaller model.

클라이언트(1104)는 지식 증류의 일부로서 ANN의 제1 버전에 의해 훈련을 받도록 구성된 ANN의 제2 버전을 구현하며, 여기서 클라이언트(1104)는 최적의 벡터 값을 연산하고 이에 의해 계산된 값을 캐싱하도록 구성된다. 보다 구체적으로, 클라이언트(1104)는 최적의 샘플링 벡터를 연산하기 위해 생성 네트워크의 '로컬' 사본(local copy)을 사용한다. 획득된 로컬 사본은 지식 증류로부터의 추출이며 실시간으로 작동합니다. 동일한 디바이스 상에서 복수의 사용자 경험이 획득된다. 최적의 샘플링 벡터가 사용자 메타데이터로서 로컬 캐시에 저장된다.The client 1104 implements a second version of the ANN configured to be trained by the first version of the ANN as part of the knowledge distillation, wherein the client 1104 computes an optimal vector value and caches the values calculated thereby. is configured to More specifically, the client 1104 uses a 'local' copy of the generative network to compute an optimal sampling vector. The local copy obtained is an extract from knowledge distillation and works in real time. Multiple user experiences are obtained on the same device. The optimal sampling vector is stored in the local cache as user metadata.

사용자 메타데이터는 단일의 느린 연합 업데이트로서 서버(1102)로 이동하며, 이는 대역폭 비용을 절감시킨다. 사용자 메타데이터는 사용자 프라이버시를 보장하는 텍스트/이미지 정보 대신 "숫자"를 포함한다. 이는 이전에 구매된 사용자 항목을 크롤링(crawling)하는 통상의 추천 시스템에 비해 고유한 이점이다.User metadata moves to server 1102 as a single, slow federated update, which saves bandwidth costs. User metadata includes "numbers" instead of text/image information to ensure user privacy. This is a unique advantage over conventional recommendation systems that crawl previously purchased user items.

도 12는 클라이언트-서버 구현에 따른 방법 단계의 예시적인 구현을 나타내는 도면이다. 구현은 지식 확장을 사용하여 라벨링되지 않은 사용자 데이터에 대한 학습을 지칭한다. 지식 확장 및 증류의 개념을 통해, 본 구현은 라벨링된 데이터가 제공되지 않더라도 사용자에 대한 경험을 개인화할 수 있다. 전반적으로, 지식 확장은 클라이언트-디바이스에 대한 동일한 모델 크기를 얻기 위해 지식 증류 전에 수행된다.12 is a diagram illustrating an exemplary implementation of method steps according to a client-server implementation. Implementation refers to learning on unlabeled user data using knowledge extension. Through the concept of knowledge expansion and distillation, the present implementation can personalize the experience for the user even if labeled data is not provided. Overall, knowledge expansion is performed prior to knowledge distillation to obtain the same model size for the client-device.

서버 종단(1202)에서, 타겟 도메인의 라벨링되지 않은 이미지가 학생 및 교사 ANN을 구현하는 서버(1202)에 의해 사용자로부터 수신된다. 제1 ANN 또는 교사 ANN은 지각적 이미지 유사도 기준(perceptual image-similarity criteria)에 의해 라벨링되지 않은 이미지에 대한 중간 라벨을 도출하며, 여기서 중간 라벨은 복수의 TDA 및 상기 라벨링되지 않은 이미지와 연관된 하나 이상의 샘플링 벡터에 의해 규정된다. 보다 구체적으로, 라벨링되지 않은 이미지를 생성하는 타겟 도메인 속성 및 샘플링 벡터의 조합이 지각적 이미지 유사도 제약(perceptual image-similarity constraints)에 의해 계산된다. 표현은 생성된 샘플에 대해 "소프트 유사 라벨(soft pseudo-labels)" 또는 중간 라벨로서 저장된다.At the server end 1202, an unlabeled image of the target domain is received from the user by the server 1202 implementing the student and teacher ANN. The first ANN or teacher ANN derives intermediate labels for unlabeled images by perceptual image-similarity criteria, wherein the intermediate labels include a plurality of TDAs and one or more associated with the unlabeled images. It is defined by a sampling vector. More specifically, the combination of target domain attributes and sampling vectors that produce an unlabeled image is calculated by perceptual image-similarity constraints. Expressions are stored as “soft pseudo-labels” or intermediate labels for the generated samples.

동일하거나 더 큰 크기의 제2 ANN이 이미지 생성을 위해 라벨링된 데이터 및 중간 라벨링된(intermediate-labelled) 데이터에 기초하여 훈련된다. 더 큰 학생 네트워크가 라벨링된 데이터 및 유사 라벨링된(pseudo-labelled) 데이터에 대해 훈련되어 보다 복잡한 표현을 학습한다. 그 후, 제1 ANN은 제2 ANN으로 대체되어 라벨링되지 않은 이미지와 관련하여 중간 라벨을 예측하고, 이에 기초하여 제2 ANN을 재훈련시킨다. 이 프로세스는 사용자가 생성된 출력에 만족할 때까지 반복된다. 만족 임계값은 수집된 전체 응답 중 긍정적인 사용자 응답의 상대적 확률에 의해 계산된다.A second ANN of the same or larger size is trained based on the labeled data and intermediate-labelled data for image generation. Larger student networks are trained on labeled and pseudo-labelled data to learn more complex representations. Then, the first ANN is replaced by the second ANN to predict the intermediate label with respect to the unlabeled image, and based on this, the second ANN is retrained. This process repeats until the user is satisfied with the output generated. The satisfaction threshold is calculated by the relative probability of a positive user response among the total responses collected.

제2 ANN의 이미지 생성 용량에 대한 포지티브 사용자 피드백 검출시, 훈련된 제2 ANN의 압축된 버전이 상기 검출에 기초하여 클라이언트(1204) 디바이스 상에서 인스턴스화(instantiated)된다. 즉, 이렇게 획득된 이상적인 더 큰 네트워크가 증류에 의해 다시 클라이언트-디바이스(1204)로 압축된다.Upon detection of positive user feedback on the imaging capacity of the second ANN, a compressed version of the trained second ANN is instantiated on the client 1204 device based on the detection. That is, the ideal larger network thus obtained is compressed back to the client-device 1204 by distillation.

도 13은 AI 모델 기반 컴퓨팅 디바이스를 통해 도 1b 및 도 12의 구현의 기술적 실현을 위해 본원에 설명된 도구 및 개발 환경을 제공하는 대표적인 아키텍처(1300)를 나타내는 도면이다. 도 13은 단지 비제한적인 예이며, 본원에 설명되는 기능을 용이하게 하기 위해 많은 다른 아키텍처가 구현될 수 있음을 이해할 것이다. 아키텍처는 무엇보다도 프로세서, 메모리 및 다양한 어플리케이션 특정 하드웨어 구성 요소를 포함하는 도 14의 컴퓨팅 머신(1400)과 같은 하드웨어 상에서 실행될 수 있다.13 is a diagram illustrating an exemplary architecture 1300 that provides the tools and development environment described herein for technical realization of the implementations of FIGS. 1B and 12 via an AI model-based computing device. 13 is merely a non-limiting example, and it will be understood that many other architectures may be implemented to facilitate the functionality described herein. The architecture may be executed on hardware such as computing machine 1400 of FIG. 14 including, among others, a processor, memory, and various application specific hardware components.

아키텍처(1300)는 운영 체제, 라이브러리, 프레임워크 또는 미들웨어를 포함할 수 있다. 운영 체제는 하드웨어 리소스를 관리하고 공통 서비스를 제공할 수 있다. 운영 체제는 예를 들어, 하드웨어 인터페이스 층을 규정하는 커널, 서비스 및 드라이버를 포함할 수 있다. 드라이버는 기본 하드웨어를 제어하거나 이와 인터페이싱하는 것을 담당할 수 있다. 예를 들어, 드라이버는 디스플레이 드라이버, 카메라 드라이버, Bluetooth® 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예를 들어, 범용 직렬 버스(USB) 드라이버), Wi-Fi® 드라이버, 오디오 드라이버, 전원 관리 드라이버 및 하드웨어 구성에 따른 기타 드라이버를 포함할 수 있다.Architecture 1300 may include an operating system, library, framework, or middleware. An operating system can manage hardware resources and provide common services. An operating system may include, for example, a kernel, services and drivers that define a hardware interface layer. A driver may be responsible for controlling or interfacing with the underlying hardware. Drivers include, for example, display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (such as Universal Serial Bus (USB) drivers), Wi-Fi® drivers, audio drivers, power management drivers, and Other drivers may be included depending on the hardware configuration.

하드웨어 인터페이스 층은 메모리 할당 함수, 스트링 조작 함수, 수학 함수 등과 같은 함수를 제공할 수 있는 파일-시스템과 같은 시스템 라이브러리(예를 들어, C 표준 라이브러리)를 포함할 수 있는 라이브러리를 포함한다. 또한, 라이브러리는 시청각 미디어 라이브러리(예를 들어, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 프리젠테이션 및 조작을 지원하는 멀티미디어 데이터 라이브러리), 데이터베이스 라이브러리(예를 들어, 다양한 관계형 데이터베이스 기능을 제공할 수 있는 SQLite), 웹 라이브러리(예를 들어, 웹 브라우징 기능을 제공할 수 있는 WebKit) 등과 같은 API 라이브러리를 포함할 수 있다.The hardware interface layer includes libraries that may include system libraries (eg, C standard library) such as file-system that may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the library includes an audiovisual media library (e.g., a multimedia data library that supports the presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), a database library (e.g. For example, it may include an API library such as SQLite that can provide various relational database functions, a web library (eg, WebKit that can provide a web browsing function), and the like.

미들웨어는 다양한 그래픽 사용자 인터페이스(GUI) 기능, 하이 레벨 리소스 관리, 하이 레벨 위치 서비스 등과 같은 보다 높은 레벨의 공통 인프라스트럭처를 제공할 수 있다. 미들웨어는 어플리케이션 또는 다른 소프트웨어 구성 요소/모듈에 의해 이용될 수 있는 광범위한 스펙트럼의 다른 API를 제공할 수 있으며, 그 중 일부는 특정 운영 체제 또는 플랫폼에 특정할 수 있다.Middleware may provide a higher level common infrastructure such as various graphical user interface (GUI) functions, high level resource management, high level location services, and the like. Middleware may provide a broad spectrum of other APIs that may be used by applications or other software components/modules, some of which may be specific to a particular operating system or platform.

본 개시에서 사용되는 "모듈"이라는 용어는 하드웨어, 소프트웨어 및 펌웨어 또는 이들의 임의의 조합 중 하나를 포함하는 특정 유닛을 지칭할 수 있다. 모듈은 예를 들어, 유닛, 로직, 로직 블록, 구성 요소 또는 회로와 상호 교환하여 사용될 수 있다. 모듈은 하나 이상의 특정 기능을 수행하는 최소 단위 또는 그 일부일 수 있다. 모듈은 기계적으로 또는 전자적으로 형성될 수 있다. 예를 들어, 본 개시에 따른 모듈은 알려져 있거나 개발 예정인 ASIC(어플리케이션-특정 집적 회로) 칩, FPGA(필드-프로그래머블 게이트 어레이) 및 프로그래머블-로직 디바이스 중 적어도 하나를 포함할 수 있다.As used herein, the term “module” may refer to a specific unit comprising one of hardware, software, and firmware, or any combination thereof. A module may be used interchangeably with, for example, a unit, logic, logic block, component, or circuit. A module may be a minimum unit or a part of performing one or more specific functions. A module may be formed mechanically or electronically. For example, a module according to the present disclosure may include at least one of a known or planned application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA) and a programmable-logic device.

또한, 아키텍처(1300)는 본 개시의 실시 예에 따른 컴퓨팅 디바이스 기반 메커니즘 및 ML/NLP 기반 메커니즘의 집계를 도시한다. 입력 및 상호 작용(1301)으로 규정된 사용자 인터페이스는 전체 입력을 지칭한다. 이는 터치 스크린, 마이크로폰, 카메라 등에서 하나 이상을 포함할 수 있다. 제1 하드웨어 모듈(1302)은 ML/NLP 기반 메커니즘을 위한 특수화된 하드웨어를 묘사한다. 예에서, 제1 하드웨어 모듈(1302)은 신경 프로세서, FPGA, DSP, GPU 등에서 하나 이상을 포함한다.Architecture 1300 also illustrates an aggregation of computing device-based mechanisms and ML/NLP-based mechanisms according to embodiments of the present disclosure. The user interface defined as input and interaction 1301 refers to the entire input. This may include one or more of a touch screen, a microphone, a camera, and the like. A first hardware module 1302 depicts specialized hardware for an ML/NLP based mechanism. In an example, the first hardware module 1302 includes one or more of a neural processor, FPGA, DSP, GPU, or the like.

제2 하드웨어 모듈(1312)은 디바이스 관련 오디오 및 비디오 시뮬레이션을 실행하기 위한 특수화된 하드웨어를 묘사한다. ML/NLP 기반 프레임워크 및 API(1304)는 기본 하드웨어에 기초하여 ML/NLP 로직(1306)을 실행하기 위한 하드웨어 인터페이스 층에 대응된다. 예에서, 프레임워크는 Tensorflow, Cafe, NLTK, GenSim, ARM Compute 등에서 하나 이상일 수 있다. 시뮬레이션 프레임워크 및 API(1314)는 Device Core, Device Kit, Unity, Unreal 등에서 하나 이상을 포함할 수 있다.The second hardware module 1312 depicts specialized hardware for executing device-related audio and video simulations. The ML/NLP based framework and API 1304 corresponds to a hardware interface layer for executing the ML/NLP logic 1306 based on the underlying hardware. In an example, the framework may be one or more of Tensorflow, Cafe, NLTK, GenSim, ARM Compute, and the like. The simulation framework and API 1314 may include one or more of Device Core, Device Kit, Unity, Unreal, and the like.

데이터베이스(1308)는 잠재 공간에서 사전 형성된 멀티미디어 콘텐츠의 클러스터를 포함하는 사전 훈련된 멀티미디어 콘텐츠 데이터베이스를 묘사한다. 데이터베이스(1308)는 ML/NLP 로직(1306)에 의해 클라우드를 통해 원격으로 액세스될 수 있다. 다른 예에서, 데이터베이스(1308)는 사용 통계에 기초하여 부분적으로 클라우드 상에, 그리고 부분적으로 디바이스 상에 상주할 수 있다.Database 1308 depicts a pre-trained multimedia content database comprising clusters of pre-formed multimedia content in the latent space. The database 1308 may be accessed remotely via the cloud by the ML/NLP logic 1306 . In another example, the database 1308 may reside partly on the cloud and partly on a device based on usage statistics.

다른 데이터베이스(1318)는 멀티미디어 콘텐츠를 저장하는 데 사용될 컴퓨팅 디바이스 DB를 지칭한다. 데이터베이스(1318)는 클라우드를 통해 원격으로 액세스될 수 있다. 다른 예에서, 데이터베이스(1318)는 사용 통계에 기초하여 부분적으로 클라우드 상에, 그리고 부분적으로 디바이스 상에 상주할 수 있다.Another database 1318 refers to a computing device DB that will be used to store multimedia content. Database 1318 may be accessed remotely via the cloud. In another example, database 1318 may reside partly on the cloud and partly on a device based on usage statistics.

멀티미디어 출력을 렌더링하고 사용자 인증의 결과로 추가 유틸리티 동작을 트리거링하기 위해 렌더링 모듈(1305)이 제공된다. 렌더링 모듈(1305)은 디스플레이 겸 터치 스크린, 모니터, 스피커, 프로젝션 스크린 등으로 나타날 수 있다.A rendering module 1305 is provided for rendering the multimedia output and triggering further utility actions as a result of user authentication. The rendering module 1305 may appear as a display/touch screen, monitor, speaker, projection screen, or the like.

범용 하드웨어 및 드라이버 모듈(1303)은 도 14에 언급된 컴퓨팅 디바이스(1400)에 대응되며, 범용 하드웨어 유닛뿐만 아니라 어플리케이션-특정 유닛(1302, 1312)에 대한 드라이버를 인스턴스화한다.The general-purpose hardware and driver module 1303 corresponds to the computing device 1400 mentioned in FIG. 14 , and instantiates drivers for general-purpose hardware units as well as application-specific units 1302 , 1312 .

일 실시 예에서, 본 아키텍처(1300)의 기초가 되는 NLP/ML 메커니즘 및 VPA 시뮬레이션은 원격으로 액세스 가능하고 클라우드 기반일 수 있으며, 이에 의해 네트워크 접속을 통해 원격 액세스 가능하다. VPA 디바이스와 같은 컴퓨팅 디바이스는 NLP/ML 모듈에 원격으로 액세스하도록 구성될 수 있으며, 시뮬레이션 모듈은 마이크로폰, 카메라, 스크린/모니터, 스피커 등과 같은 골격 요소를 포함할 수 있다.In one embodiment, the NLP/ML mechanism and VPA simulation underlying the present architecture 1300 may be remotely accessible and cloud-based, thereby remotely accessible via a network connection. A computing device, such as a VPA device, may be configured to remotely access an NLP/ML module, and the simulation module may include skeletal elements such as a microphone, camera, screen/monitor, speaker, and the like.

또한, 도 2 및 도 3의 복수의 모듈 중 적어도 하나는 ML/NLP 로직(1306)에 기초하여 AI를 통해 구현될 수 있다. AI와 연관된 기능은 비휘발성 메모리, 휘발성 메모리 및 제1 하드웨어 모듈(1302)을 구성하는 프로세서, 즉, ML/NLP 기반 메커니즘을 위한 특수화된 하드웨어를 통해 수행될 수 있다. 프로세서는 하나 또는 복수의 프로세서를 포함할 수 있다. 이 때, 하나 또는 복수의 프로세서는 중앙 처리 장치(CPU), 어플리케이션 프로세서(AP) 등과 같은 범용 프로세서, 그래픽 처리 장치(GPU), 비주얼 처리 장치(VPU)와 같은 그래픽-전용 처리 장치, 및/또는 신경 처리 장치(NPU)와 같은 AI-전용 프로세서일 수 있다. 상술한 프로세서는 총괄적으로 도 14의 프로세서(1402)에 대응된다.In addition, at least one of the plurality of modules of FIGS. 2 and 3 may be implemented through AI based on the ML/NLP logic 1306 . Functions related to AI may be performed through a non-volatile memory, a volatile memory, and a processor constituting the first hardware module 1302, that is, specialized hardware for an ML/NLP-based mechanism. A processor may include one or a plurality of processors. In this case, the one or more processors include a general-purpose processor such as a central processing unit (CPU), an application processor (AP), etc., a graphics-only processing unit such as a graphic processing unit (GPU), a visual processing unit (VPU), and/or It may be an AI-only processor, such as a neural processing unit (NPU). The above-described processor generally corresponds to the processor 1402 of FIG. 14 .

하나 또는 복수의 프로세서는 비휘발성 메모리 및 휘발성 메모리에 저장된 사전-규정된 운영 규칙 또는 인공 지능(AI) 모델에 따라 입력 데이터의 프로세싱을 제어한다. 사전 규정된 운영 규칙 또는 인공 지능 모델은 훈련 또는 학습을 통해 제공된다.One or more processors control processing of input data according to pre-defined operating rules or artificial intelligence (AI) models stored in non-volatile memory and volatile memory. Pre-defined operating rules or artificial intelligence models are provided through training or learning.

여기서, 학습을 통해 제공된다는 것은 학습 로직/기술을 복수의 학습 데이터에 적용함으로써 사전 규정된 운영 규칙 또는 원하는 특성의 AI 모델이 만들어진다는 것을 의미한다. 학습은 실시 예에 따른 AI가 수행되는 디바이스(즉, 아키텍처(1300) 또는 디바이스(1600)) 자체에서 수행될 수 있고 및/또는 별도의 서버/시스템을 통해 구현될 수 있다.Here, being provided through learning means that an AI model with predefined operating rules or desired characteristics is created by applying learning logic/technology to a plurality of learning data. Learning according to an embodiment may be performed in the device (ie, architecture 1300 or device 1600) in which AI is performed, and/or may be implemented through a separate server/system.

AI 모델은 복수의 신경망 층으로 구성될 수 있다. 각 층은 복수의 가중치를 가지며, 이전-층의 계산과 복수의 가중치의 연산을 통해 층 연산을 수행한다. 신경망의 예는 컨벌루션 신경망(CNN: convolutional neural network), 심층 신경망(DNN: deep neural network), 재귀 신경망(RNN: recurrent neural network), 제한된 볼츠만 머신(RBM: restricted Boltzmann Machine), 심층 신뢰망(DBN: deep belief network), 양방향 재귀 심층 신경망(BRDNN: bidirectional recurrent deep neural network), 생성적 적대망(GAN: generative adversarial network) 및 심층 Q-네트워크를 포함하지만, 이에 한정되지는 않는다.An AI model may consist of multiple neural network layers. Each layer has a plurality of weights, and the layer operation is performed through the calculation of the previous-layer and the calculation of the plurality of weights. Examples of neural networks include a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted Boltzmann Machine (RBM), and a deep trust network (DBN). : deep belief networks), bidirectional recurrent deep neural networks (BRDNNs), generative adversarial networks (GANs), and deep Q-networks.

ML/NLP 로직(1306)은 복수의 학습 데이터를 사용하여 사전 규정 타겟 디바이스(예를 들어, 로봇)를 훈련시켜 타겟 디바이스가 결정 또는 예측을 하도록 유도, 허용 또는 제어하게 하는 방법이다. 학습 기술의 예는 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 또는 반-지도 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함하지만 이에 한정되지 않는다.The ML/NLP logic 1306 is a method to train a pre-defined target device (eg, a robot) using a plurality of training data to induce, allow, or control the target device to make a decision or prediction. Examples of learning techniques include, but are not limited to, supervised learning, unsupervised learning, or semi-supervised learning or reinforcement learning.

도 14는 실시 예에 따른 또 다른 예시적인 구현을 나타내는 도면으로서, 컴퓨터 시스템(1400) 형태의 시스템(1300)의 또 다른 통상적인 하드웨어 구성을 나타낸다. 컴퓨터 시스템(1400)은 컴퓨터 시스템(1400)이 개시된 방법 중 임의의 하나 이상을 수행하도록 실행될 수 있는 명령의 세트를 포함할 수 있다. 컴퓨터 시스템(1400)은 독립형 디바이스로서 동작할 수 있거나, 예를 들어, 네트워크를 사용하여 다른 컴퓨터 시스템 또는 주변 디바이스에 접속될 수 있다.14 is a diagram illustrating another exemplary implementation according to an embodiment, and shows another typical hardware configuration of a system 1300 in the form of a computer system 1400 . Computer system 1400 may include a set of instructions that may be executed to cause computer system 1400 to perform any one or more of the disclosed methods. Computer system 1400 may operate as a standalone device or may be connected to other computer systems or peripheral devices using, for example, a network.

네트워크화된 배치에서, 컴퓨터 시스템(1400)은 서버의 용량에서 또는 서버-클라이언트 사용자 네트워크 환경에서 클라이언트 사용자 컴퓨터로서, 또는 피어 투 피어(peer-to-peer)(또는 분산형) 네트워크 환경에서 피어 컴퓨터 시스템으로서 동작할 수 있다. 컴퓨터 시스템(1400)은 또한 VR 디바이스, 개인용 컴퓨터(PC), 태블릿 PC, 퍼스널 디지털 어시스턴트(PDA: personal digital assistant), 모바일 디바이스, 팜탑 컴퓨터, 통신 디바이스, 웹 어플라이언스 또는 해당 머신에 의해 취해질 액션을 특정하는 명령의 세트(순차적 또는 기타)를 실행할 수 있는 임의의 다른 머신과 같은 다양한 디바이스로서 구현될 수 있거나 이에 걸쳐 통합될 수 있다. 또한, 단일 컴퓨터 시스템(1400)이 나타내어져 있지만, "시스템"이라는 용어는 또한 하나 이상의 컴퓨터 기능을 수행하기 위해 명령의 세트 또는 복수의 세트를 개별적으로 또는 공동으로 실행하는 시스템 또는 서브-시스템의 임의의 집합을 포함하는 것으로 이해될 것이다.In a networked deployment, computer system 1400 may be configured as a client user computer in the capacity of a server or in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. can operate as Computer system 1400 may also specify an action to be taken by a VR device, personal computer (PC), tablet PC, personal digital assistant (PDA), mobile device, palmtop computer, communication device, web appliance, or such machine. may be implemented as, or integrated across, various devices, such as any other machine capable of executing a set of instructions (sequential or otherwise) capable of executing a set of instructions. Also, although a single computer system 1400 is depicted, the term “system” also refers to any of a system or sub-system that individually or jointly executes a set or plurality of sets of instructions to perform one or more computer functions. It will be understood to include a set of

컴퓨터 시스템(1400)은 프로세서(1402), 예를 들어, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 또는 둘 모두를 포함할 수 있다. 프로세서(1402)는 다양한 시스템의 구성 요소일 수 있다. 예를 들어, 프로세서(1402)는 표준 개인용 컴퓨터 또는 워크스테이션의 일부일 수 있다. 프로세서(1402)는 하나 이상의 일반 프로세서, 디지털 신호 프로세서, 어플리케이션 특정 집적 회로, 필드 프로그래머블 게이트 어레이, 서버, 네트워크, 디지털 회로, 아날로그 회로, 이들의 조합, 또는 데이터를 분석 및 프로세싱하기 위해 현재 알려지거나 장래에 개발될 다른 디바이스일 수 있다. 프로세서(1402)는 수동으로 생성된 (즉, 프로그래밍된) 코드와 같은 소프트웨어 프로그램을 구현할 수 있다.The computer system 1400 may include a processor 1402 , for example, a central processing unit (CPU), a graphics processing unit (GPU), or both. The processor 1402 may be a component of various systems. For example, the processor 1402 may be part of a standard personal computer or workstation. Processor 1402 may include one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or currently known or future data for analyzing and processing data. It may be another device to be developed in The processor 1402 may implement a software program, such as manually generated (ie, programmed) code.

컴퓨터 시스템(1400)은 버스(1408)를 통해 통신할 수 있는 메모리(1404)와 같은 메모리(1404)를 포함할 수 있다. 메모리(1404)는 랜덤 액세스 메모리, 판독-전용 메모리, 프로그래머블 판독-전용 메모리, 전기적 프로그래머블 판독-전용 메모리, 전기적 소거 가능 판독-전용 메모리, 플래시 메모리, 자기 테이프 또는 디스크, 광학 매체 등을 포함하지만 이에 한정되지 않는 다양한 유형의 휘발성 및 비휘발성 저장 매체와 같은 컴퓨터 판독 가능 저장 매체를 포함할 수 있지만 이에 한정되지 않는다. 일 예에서, 메모리(1404)는 프로세서(1402)를 위한 캐시 또는 랜덤 액세스 메모리를 포함한다. 대안적인 예에서, 메모리(1404)는 프로세서의 캐시 메모리, 시스템 메모리 또는 다른 메모리와 같이 프로세서(1402)로부터 분리된다. 메모리(1404)는 데이터를 저장하기 위한 외부 저장 디바이스 또는 데이터베이스일 수 있다. 메모리(1404)는 프로세서(1402)에 의해 실행 가능한 명령을 저장하도록 동작할 수 있다. 도면에 나타내거나 설명된 기능, 작용 또는 작업은 메모리(1404)에 저장된 명령을 실행하는 프로그래밍된 프로세서(1402)에 의해 수행될 수 있다. 기능, 작용 또는 작업은 특정 유형의 명령 세트, 저장 매체, 프로세서 또는 프로세싱 전략과 독립적이며, 단독으로 또는 조합하여 동작하는 소프트웨어, 하드웨어, 집적 회로, 펌-웨어, 마이크로-코드 등에 의해 수행될 수 있다. 마찬가지로, 프로세싱 전략은 멀티프로세싱, 멀티태스킹, 병렬 프로세싱 등을 포함할 수 있다.Computer system 1400 can include memory 1404 , such as memory 1404 , that can communicate via bus 1408 . Memory 1404 includes, but is not limited to, random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media, and the like. It may include, but is not limited to, computer-readable storage media such as, but not limited to, various types of volatile and non-volatile storage media. In one example, memory 1404 includes cache or random access memory for processor 1402 . In an alternative example, memory 1404 is separate from processor 1402 , such as the processor's cache memory, system memory, or other memory. Memory 1404 may be an external storage device or database for storing data. Memory 1404 is operable to store instructions executable by processor 1402 . Functions, acts, or tasks shown or described in the figures may be performed by programmed processor 1402 executing instructions stored in memory 1404 . A function, action, or task may be performed by software, hardware, integrated circuit, firmware, micro-code, etc., operating alone or in combination, independent of any particular type of instruction set, storage medium, processor, or processing strategy. . Likewise, processing strategies may include multiprocessing, multitasking, parallel processing, and the like.

나타낸 바와 같이, 컴퓨터 시스템(1400)은 액정 디스플레이(LCD), 유기 발광 다이오드(OLED), 평판 디스플레이, 솔리드 스테이트 디스플레이, 음극선관(CRT), 프로젝터 또는 결정된 정보를 출력하기 위해 현재 알려져 있거나 장래에 개발될 다른 디스플레이 디바이스와 같은 디스플레이 유닛(1410)을 추가로 포함하거나 포함하지 않을 수 있다. 디스플레이(1410)는 사용자가 프로세서(1402)의 기능을 볼 수 있는 인터페이스로서, 또는 구체적으로 메모리(1404) 또는 구동 유닛(1416)에 저장된 소프트웨어와의 인터페이스로서 작용할 수 있다.As shown, computer system 1400 is a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, or a presently known or future developed for outputting determined information. It may or may not further include a display unit 1410 such as another display device to be used. Display 1410 may serve as an interface through which a user may view the functions of processor 1402 , or specifically as an interface with software stored in memory 1404 or drive unit 1416 .

또한, 컴퓨터 시스템(1400)은 사용자가 시스템(1400)의 임의의 구성 요소와 상호 작용할 수 있도록 구성된 입력 디바이스(1412)를 포함할 수 있다. 컴퓨터 시스템(1400)은 또한 디스크 또는 광학 구동 유닛(1416)을 포함할 수 있다. 디스크 구동 유닛(1416)은 명령(1424)의 하나 이상의 세트, 예를 들어, 소프트웨어가 내장될 수 있는 컴퓨터-판독 가능 매체(1422)를 포함할 수 있다. 또한, 명령(1424)은 설명된 바와 같은 방법 또는 로직 중 하나 이상을 구현할 수 있다. 특정 예에서, 명령(1424)은 컴퓨터 시스템(1400)에 의해 실행되는 동안 메모리(1404) 또는 프로세서(1402) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다.Computer system 1400 may also include an input device 1412 configured to allow a user to interact with any component of system 1400 . Computer system 1400 may also include a disk or optical drive unit 1416 . The disk drive unit 1416 may include a computer-readable medium 1422 in which one or more sets of instructions 1424, eg, software, may be embodied. Further, instructions 1424 may implement one or more of the methods or logic as described. In a particular example, the instructions 1424 may reside fully or at least partially within the memory 1404 or the processor 1402 while being executed by the computer system 1400 .

본 개시는 네트워크(1426)에 접속된 디바이스가 네트워크(1426)를 통해 음성, 비디오, 오디오, 이미지 또는 임의의 다른 데이터를 통신할 수 있도록 명령(1424)을 포함하거나 전파된 신호에 응답하여 명령(1424)을 수신하고 실행하는 컴퓨터-판독 가능 매체를 고려한다. 또한, 명령(1424)은 통신 포트 또는 인터페이스(1420)를 통해 또는 버스(1408)를 사용하여 네트워크(1426)를 통해 송신 또는 수신될 수 있다. 통신 포트 또는 인터페이스(1420)는 프로세서(1402)의 일부이거나 별도의 구성 요소일 수 있다. 통신 포트(1420)는 소프트웨어로 생성되거나 하드웨어의 물리적 접속일 수 있다. 통신 포트(1420)는 네트워크(1426), 외부 매체, 디스플레이(1410), 또는 시스템(1400)의 임의의 다른 구성 요소, 또는 이들의 조합과 접속하도록 구성될 수 있다. 네트워크(1426)와의 접속은 유선 이더넷 접속과 같은 물리적 접속일 수 있거나 추후 논의되는 바와 같이 무선으로 확립될 수 있다. 마찬가지로, 시스템(1400)의 다른 구성 요소와의 추가 접속은 물리적일 수 있거나 무선으로 확립될 수 있다. 네트워크(1426)는 대안적으로 버스(1408)에 직접 접속될 수 있다.This disclosure includes instructions 1424 or in response to a propagated signal to enable devices connected to the network 1426 to communicate voice, video, audio, images, or any other data via the network 1426. 1424) are contemplated for receiving and executing a computer-readable medium. In addition, the commands 1424 may be sent or received via the communication port or interface 1420 or via the network 1426 using the bus 1408 . The communication port or interface 1420 may be part of the processor 1402 or may be a separate component. Communication port 1420 may be created in software or may be a physical connection of hardware. Communication port 1420 may be configured to connect with network 1426 , external media, display 1410 , or any other component of system 1400 , or a combination thereof. The connection to the network 1426 may be a physical connection, such as a wired Ethernet connection, or may be established wirelessly, as discussed below. Likewise, additional connections with other components of system 1400 may be physical or may be established wirelessly. Network 1426 may alternatively be directly connected to bus 1408 .

네트워크(1426)는 유선 네트워크, 무선 네트워크, 이더넷 AVB 네트워크, 또는 이들의 조합을 포함할 수 있다. 무선 네트워크는 셀룰러 전화 네트워크, 802.11, 802.16, 802.20, 802.1Q 또는 WiMax 네트워크일 수 있다. 또한, 네트워크(1426)는 인터넷과 같은 공용 네트워크, 인트라넷과 같은 사설 네트워크, 또는 이들의 조합일 수 있으며, TCP/IP 기반 네트워킹 프로토콜을 포함하지만 이에 한정되지 않는 현재 이용 가능하거나 장래에 개발될 다양한 네트워킹 프로토콜을 이용할 수 있다. 시스템은 임의의 특정 표준 및 프로토콜로 동작하는 데 한정되지 않는다. 예를 들어, 인터넷 및 다른 패킷 교환 네트워크 전송에 대한 표준(예를 들어, TCP/IP, UDP/IP, HTML, HTTP)이 사용될 수 있다.Network 1426 may include a wired network, a wireless network, an Ethernet AVB network, or a combination thereof. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, 802.1Q or WiMax network. Additionally, network 1426 may be a public network, such as the Internet, a private network, such as an intranet, or a combination thereof, and may include, but are not limited to, a variety of networking currently available or to be developed in the future, including, but not limited to, TCP/IP-based networking protocols. protocol is available. The system is not limited to operating with any particular standards and protocols. For example, standards for transport over the Internet and other packet switched networks (eg, TCP/IP, UDP/IP, HTML, HTTP) may be used.

본 개시의 일 실시 예에 따르면, 인공 지능(AI) 기반 기술에 기초한 컴퓨팅-환경에서의 이미지 생성 시스템에 있어서, 상기 시스템은 이미지-생성을 위해 외부-입력을 수신하기 위한 적어도 하나의 센서를 포함하는 수신 유닛(1301), 타겟 도메인에 대한 복수의 타겟 도메인 속성들(TDA)에 대해 동작하도록 인공 신경망(ANN) 모델을 실행하도록 구성된 프로세서(1303)로서, 상기 ANN은 상기 외부 입력 중 적어도 하나 및 상기 복수의 TDA와 연관된 하나 이상의 클러스터들에 기초하여 상기 복수의 TDA로부터 복수의 타겟 도메인 속성(TDA)을 쇼트리스팅하고, 상기 쇼트리스팅된 TDA의 표현에 의해 규정된 잠재 공간 내에서 데이터를 보간하고, 보간의 방향은 (i) (a) 상기 외부-입력 및 (b) 상기 하나 이상의 클러스터들 중 적어도 하나에 기초하여 연산된 샘플링-벡터, 및/또는 (i) 잠재 코드들을 예측하기 위해 상기 잠재 공간에서 상기 잠재 코드들 내에서의 자동-학습된 관계에 기초하여 결정되고, 상기 잠재 공간에서 상기 결정된 방향을 따라 상기 보간에 기초하여 적어도 하나의 잠재 코드를 생성하고, 적어도 상기 잠재-코드에 기초하여 상기 ANN에 의해 적어도 하나의 이미지를 생성하도록 구성되는, 프로세서(1303) 및 상기 적어도 하나의 생성된 이미지를 표시하기 위한 디스플레이 모듈(1305)을 포함한다. According to an embodiment of the present disclosure, in a system for generating an image in a computing-environment based on artificial intelligence (AI)-based technology, the system includes at least one sensor for receiving an external-input for generating an image. A receiving unit (1301) to shortlist a plurality of target domain attributes (TDAs) from the plurality of TDAs based on one or more clusters associated with the plurality of TDAs, and interpolate data within a latent space defined by a representation of the shortlisted TDAs; , the direction of interpolation is (i) a sampling-vector computed based on at least one of (a) the outer-input and (b) the one or more clusters, and/or (i) the latent codes for predicting the latent codes. determine based on an auto-learned relationship within the latent codes in space and generate at least one latent code based on the interpolation along the determined direction in the latent space, at least based on the latent-code and a processor 1303, configured to generate at least one image by the ANN, and a display module 1305 for displaying the at least one generated image.

도 15는 본 개시의 예시적인 구현을 나타내는 도면으로서, 외부 피드백과 연관된 실시간 잠재 공간 보간을 나타낸다. 보간은 거실의 텔레비전에 표시되는 바와 같이 동적으로 변하는 월페이퍼(walpaper)로 귀결될 수 있다.15 is a diagram illustrating an example implementation of the present disclosure, illustrating real-time latent spatial interpolation associated with external feedback. Interpolation can result in wallpapers that change dynamically as displayed on a television in the living room.

최첨단 프레임 TV는 장착된 표면에 따라 월페이퍼를 위장할 수 있는 기능을 갖는다. 본 개시에 따른 외부 피드백과 연관된 실시간 잠재 공간 보간은 추가적인 레벨의 개인화를 제공한다. 모바일 디바이스 및 스마트워치와 같은 웨어러블로부터 수집된 건강 데이터는 스크린 상에 동적인 월페이퍼를 생성하는 데 사용될 수 있다. 일 실시 예에서, 그룹 운동 중에, 스크린의 각각의 섹션은 외부 피드백으로서 작용하는 사람의 심장 박동에 따라 컬러를 변경할 수 있다. 외부 피드백 및 개인화에 기초하여 잠재 공간의 파라미터를 변경함으로써, 무한한 월페이퍼가 생성될 수 있다.State-of-the-art frame TVs have the ability to disguise wallpapers depending on the surface on which they are mounted. Real-time latent spatial interpolation associated with external feedback in accordance with the present disclosure provides an additional level of personalization. Health data collected from mobile devices and wearables such as smartwatches can be used to create dynamic wallpapers on the screen. In one embodiment, during a group exercise, each section of the screen may change color according to the person's heartbeat, acting as external feedback. By changing the parameters of the latent space based on external feedback and personalization, infinite wallpapers can be created.

현재 도 15에 도시된 예에서, 하루 동안 관찰된 기후 변화와 커플링된 하루 중 시간의 변화는 GAN을 통해 새로운 월페이퍼를 동적으로 생성하기 위해 외부 피드백을 제공한다. 다른 예에서, 거실 구성원의 기분 변화는 낙관, 슬픔, 행복 및 보통으로 캡쳐될 수 있다. 인간의 감정에 기초하여, 월페이퍼가 동적으로 변한다.In the example currently shown in FIG. 15 , the change in time of day coupled with the observed climate change during the day provides external feedback to dynamically generate new wallpapers via the GAN. In another example, the mood swings of a living room member may be captured as optimistic, sad, happy, and normal. Based on human emotions, the wallpapers change dynamically.

도 16은 본 개시의 예시적인 구현을 나타내는 도면으로서, 외부 피드백에 기초하여 보간하고, 이에 의해 온라인 시장의 인벤토리를 완성하는 잠재 공간의 능력을 나타낸다.16 is a diagram illustrating an example implementation of the present disclosure, illustrating the ability of a latent space to interpolate based on external feedback, thereby completing an inventory of an online marketplace.

통상적으로 관찰되는 바와 같이, 특정 항목은 온라인 쇼핑 중에 재고가 없을 수 있다. 소비자는 누락된 항목을 볼 수 있는 옵션을 갖지 못한다. 본 개시의 잠재 공간에 따라, 사용자는 인벤토리에서 2개의 항목만을 선택하면 된다. 본 개시는 사용자가 선택할 수 있는 것들 사이에 무한한 옵션을 생성한다. 이는 적어도 판매자가 가능한 모든 항목을 광고하기 위해 더 이상 많은 금액을 지출할 필요가 없게 할 수 있다. 예를 들어, 파란색 셔츠의 경우, 모든 쉐이드(shade)가 더 이상 광고될 필요가 없다. 또한, 사용자가 특정 항목을 선택하면, 잠재 공간 보간에 의해 생성된 새로운 디자인이 맞춤 주문으로 배치될 수 있다. 판매자는 새롭게 생성된 디자인을 사용하여 더욱 더 창의적인 제품을 고안할 수 있다.As is commonly observed, certain items may be out of stock during online shopping. The consumer does not have the option to see the missing items. According to the latent space of the present disclosure, the user only needs to select two items from the inventory. This disclosure creates infinite options amongst what a user can choose from. This may at least allow the seller to no longer have to spend a lot of money to advertise all possible items. For a blue shirt, for example, every shade no longer has to be advertised. Also, when the user selects a particular item, a new design created by latent spatial interpolation can be placed on a custom order. Sellers can use the newly created design to come up with more creative products.

도 17은 본 개시의 예시적인 구현을 나타내는 도면으로서, 다양한 사용자 경험을 보간하고 제공하는 잠재 공간의 능력을 나타낸다.17 is a diagram illustrating an example implementation of the present disclosure, illustrating the ability of latent spaces to interpolate and provide various user experiences.

이해될 수 있는 바와 같이, 잠재 공간에서의 고정점은 일정한 시간에 도달될 필요가 있다. 그러나, 이러한 지점은 느슨하게 규정된다. 예를 들어 영화를 보는 동안 모두가 동일한 경험을 필요로 하는 몇몇 중요한 순간이 있다. 이러한 "순간"은 잠재 공간의 명확한 지점이다. 사용자의 그룹이 동일한 시간-간격 동안 경험하게 되는 특정 인스턴스가 있다. 예를 들어, 다른 사람들이 그 길이의 전체 기간 동안 동일한 영화를 시청한다.As can be appreciated, a fixed point in latent space needs to be reached at a certain time. However, these points are loosely defined. For example, while watching a movie, there are some important moments where everyone needs the same experience. These "moments" are definite points in latent space. There are certain instances that a group of users will experience during the same time-interval. For example, different people watch the same movie for the entire duration of that length.

이제 본 개시에 따라 각각의 사용자에 대한 샘플링의 레이트를 조정하여, 타이밍 제약을 여전히 준수하면서 다양한 경험이 제공될 수 있다. 일 실시 예에서, 본 개시는 동일한 영화가 시청될 때마다 다른 경험을 제공한다. 예를 들어, 5D 영화에서, 영화 시간 동안 사용자에게 제공되는 냄새의 유형이 실시간으로 조정될 수 있다.By now adjusting the rate of sampling for each user in accordance with the present disclosure, a variety of experiences can be provided while still complying with timing constraints. In one embodiment, the present disclosure provides a different experience each time the same movie is viewed. For example, in a 5D movie, the type of smell provided to the user during movie time may be adjusted in real time.

도 18은 본 개시의 예시적인 구현을 나타내고, 사용자의 신체 조건에 따라 운동 추천을 렌더링하기 위한 개인화된 운동 생성기를 참조한다. 소스 도메인은 타겟 도메인의 잠재 공간에서 동적인 최종 지점을 선택하는 데 사용된다. 이에 기초하여, 보간 궤적이 그에 따라 조정된다.18 illustrates an example implementation of the present disclosure, with reference to a personalized workout generator for rendering workout recommendations according to a user's physical condition. The source domain is used to select a dynamic final point in the latent space of the target domain. Based on this, the interpolation trajectory is adjusted accordingly.

최첨단 피트니스 체계 시스템은 운동을 추천하고 사람의 자세를 실시간으로 자동 보정할 수 있다. 그러나, 도출된 예측은 통상적으로 매우 광범위하다. 사용자는 달성하고자 하는 목표의 종류를 특정할 것을 요청받는다. 일 실시 예에서, 목표는 하루에 100 회의 푸시 업일 수 있다. 목표가 일정한 것으로 가정함으로써, 사용자의 성과가 평가되고 추천이 제공된다.A state-of-the-art fitness system system can recommend exercises and automatically correct a person's posture in real time. However, the predictions derived are usually very broad. The user is asked to specify the kind of goal to be achieved. In one embodiment, the goal may be 100 push-ups per day. By assuming that the goal is constant, the user's performance is evaluated and recommendations are provided.

우리의 시스템에서는, 건강과 같은 사용자 파라미터를 사용하여 실시간으로 목표를 변경한다. 예를 들어, 사람이 아프다고 느끼는 경우, 그의 심장 박동이 너무 높을 수 있다. 그가 선택한 100회의 푸시 업을 완료하도록 그에게 기대하는 대신, 본 개시는 그가 70회를 할 것으로 예측한다. 따라서, 피트니스 시스템은 실시간으로 자동 보정된다.In our system, we use user parameters such as health to change goals in real time. For example, if a person feels sick, his heart rate may be too high. Instead of expecting him to complete 100 push-ups of his choice, this disclosure predicts that he will do 70. Thus, the fitness system is automatically calibrated in real time.

전반적으로, 본 개시는 최신 기술에 비해 상당한 이점을 제공한다. 사용자 개인화가 모든 서비스 산업의 성공을 위해 중요하기 때문에, 본 개시는 생성적 적대 신경망(GAN)과 같은 AI 모델을 활용하여 고정 메모리를 사용하여 사용자에게 무한한 경험을 전달하고 연산하며, 이에 의해 기계와 인간 사이의 오랜 간극을 해소한다.Overall, the present disclosure provides significant advantages over the state of the art. Because user personalization is critical for the success of any service industry, this disclosure utilizes AI models such as generative adversarial neural networks (GANs) to deliver and compute infinite experiences to users using fixed memory, thereby enabling machines and Bridging the long-standing gap between humans.

이해할 수 있는 바와 같이, 신경망은 복잡한 패턴을 학습하지만, 어떠한 패턴이 인간과 관련되는지를 알지 못한다. 반면에, 인간은 패턴을 "보고" 자신이 좋아하는 패턴을 선택할 수 있지만, 마음 속에 새로운 것을 신속하게 생성할 수는 없다. 본 개시는 다양성을 생성하기 위해 머신을 사용하고 인간에게 이를 좋아하는지 여부를 물음으로써 인간 컴퓨터 인터페이스(human-computer interface, HCI)를 렌더링하고 이러한 갭(gap)을 브릿징한다. 본 개시는 적어도 인간과 관련된 패턴을 생성하기 위해 인간 특정 성향(human-specific biases)에 기초하여 머신이 학습할 수 있게 한다.As can be appreciated, neural networks learn complex patterns, but do not know which patterns relate to humans. On the other hand, humans can "see" patterns and choose patterns they like, but cannot quickly create new ones in their minds. This disclosure uses machines to create diversity and bridges this gap by rendering human-computer interfaces (HCIs) by asking humans whether they like them. The present disclosure enables a machine to learn based at least on human-specific biases to generate patterns that are related to humans.

본 개시를 설명하기 위해 특정 언어가 사용되었지만, 이와 관련하여 발생하는 임의의 제한은 의도되지 않은 것이다. 본 기술 분야의 통상의 기술자에게 명백한 바와 같이, 본원에서 교시된 바와 같은 본 개시의 개념을 구현하기 위해 방법에 대해 다양한 작업 수정이 이루어질 수 있다.Although specific language has been used to describe the present disclosure, any limitation that arises in this regard is not intended. As will be apparent to those skilled in the art, various working modifications may be made to a method for implementing the concepts of the present disclosure as taught herein.

도면 및 상술한 설명은 실시 예의 예를 제공한다. 본 기술 분야의 통상의 기술자는 설명된 요소 중 하나 이상이 단일 기능 요소로 잘 조합될 수 있음을 이해할 것이다. 대안적으로, 특정 요소가 복수의 기능적 요소로 분할될 수 있다. 일 실시 예로부터의 요소가 다른 실시 예에 추가될 수 있다. 예를 들어, 본원에 설명된 프로세스의 순서는 변경될 수 있으며 본원 설명된 방식으로 한정되지 않는다.The drawings and the foregoing description provide examples of embodiments. A person skilled in the art will understand that one or more of the described elements may be well combined into a single functional element. Alternatively, a particular element may be divided into a plurality of functional elements. Elements from one embodiment may be added to another embodiment. For example, the order of the processes described herein may vary and is not limited in the manner described herein.

또한, 흐름도의 액션은 나타낸 순서대로 구현될 필요가 없으며; 모든 작용이 반드시 수행될 필요도 없다. 또한 다른 작용에 의존하지 않는 이러한 작용은 다른 작용과 병렬로 수행될 수 있다. 실시 예의 범위는 이러한 특정 예에 의해 결코 한정되지 않는다. 본 명세서에 명시되어 있는지 또는 없는지에 관계없이, 구조, 치수 및 재료 사용에서의 차이와 같은 수많은 변형이 가능하다. 실시 예의 범위는 적어도 이하의 청구항에 의해 주어진만큼 넓다.Also, the actions in the flowchart need not be implemented in the order shown; Not all actions have to be performed. Also, these actions that do not depend on other actions may be performed in parallel with other actions. The scope of the embodiments is by no means limited by these specific examples. Numerous variations are possible, such as differences in structure, dimensions, and material use, whether or not specified herein. The scope of the embodiments is at least as broad as given by the following claims.

이점, 다른 이점 및 문제에 대한 해결책은 특정 실시 예와 관련하여 상술되었다. 그러나, 유리한 점, 이점, 문제에 대한 해결책 및 이점, 유리한 점, 이점 또는 해결책을 발생시키거나 이것이 더욱 현저해질 수 있게 하는 모든 구성 요소(들)는 임의의 청구항 또는 모든 청구항의 중요하거나, 필요하거나 필수적인 특징 또는 구성 요소로서 해석되지 않아야 한다.Advantages, other advantages, and solutions to problems have been described above with respect to specific embodiments. However, an advantage, advantage, solution to a problem and all component(s) which give rise to or make it more pronounced an advantage, advantage, or solution shall be significant, necessary, or necessary in any or all claims. It should not be construed as an essential feature or component.

Claims (23)

전자 장치에 있어서,
이미지 생성을 위한 신경망 모델을 저장하는 메모리; 및
이미지를 획득하기 위한 제1 사용자 입력을 수신하고,
이미지들을 분류하기 위해 기 정의된 복수의 도메인 중 상기 제1 사용자 입력에 대응되는 도메인을 식별하며,
상기 식별된 도메인에 대응되는 이미지들의 속성을 구분하기 위해 기 정의된 복수의 도메인 속성 중 적어도 하나의 도메인 속성에 관련된 정보가 상기 제1 사용자 입력에 포함되면, 상기 신경망 모델을 통해 상기 식별된 도메인에 포함되며 상기 적어도 하나의 도메인 속성에 대응되는 적어도 하나의 이미지를 획득하고,
상기 획득된 적어도 하나의 이미지를 제공하는 프로세서; 를 포함하는 전자 장치.
In an electronic device,
a memory for storing neural network models for image generation; and
receiving a first user input for obtaining an image;
Identifies a domain corresponding to the first user input from among a plurality of domains defined in order to classify images,
When information related to at least one domain property among a plurality of domain properties defined in order to classify properties of images corresponding to the identified domain is included in the first user input, it is transmitted to the identified domain through the neural network model. is included and acquires at least one image corresponding to the at least one domain attribute,
a processor that provides the obtained at least one image; An electronic device comprising a.
제1 항에 있어서,
상기 도메인 속성에 관련된 정보는,
상기 적어도 하나의 도메인 속성을 선택하기 위한 직접 정보 및 상기 적어도 하나의 도메인 속성에 관련된 제1 간접 정보 중 적어도 하나를 포함하고,
상기 프로세서는,
상기 제1 사용자 입력에 상기 제1 간접 정보가 포함되면, 상기 제1 간접 정보를 상기 제1 간접 정보에 대응되는 것으로 기 설정된 도메인 속성에 매핑하고,
상기 직접 정보에 대응되는 도메인 속성 및 상기 제1 간접 정보에 대응되는 것으로 매핑된 도메인 속성을 포함하는 상기 적어도 하나의 도메인 속성을 식별하며,
상기 식별된 적어도 하나의 도메인 속성에 대응되는 상기 적어도 하나의 이미지를 획득하는 전자 장치.
According to claim 1,
Information related to the domain attribute,
at least one of direct information for selecting the at least one domain attribute and first indirect information related to the at least one domain attribute,
The processor is
When the first indirect information is included in the first user input, the first indirect information is mapped to a domain property preset to correspond to the first indirect information,
Identifies the at least one domain attribute including a domain attribute corresponding to the direct information and a domain attribute mapped to correspond to the first indirect information,
The electronic device acquires the at least one image corresponding to the identified at least one domain attribute.
제2 항에 있어서,
상기 프로세서는,
상기 적어도 하나의 이미지가 획득되면, 상기 적어도 하나의 이미지로부터 상기 적어도 하나의 도메인 속성에 관련된 제2 간접 정보를 획득하고,
상기 제2 간접 정보가 상기 제1 간접 정보에 매칭되면, 상기 적어도 하나의 이미지를 제공하고,
상기 제2 간접 정보가 상기 제1 간접 정보에 매칭되지 않으면, 상기 신경망 모델을 재학습시키는 전자 장치.
3. The method of claim 2,
The processor is
when the at least one image is obtained, obtain second indirect information related to the at least one domain attribute from the at least one image;
When the second indirect information matches the first indirect information, providing the at least one image,
When the second indirect information does not match the first indirect information, the electronic device retrains the neural network model.
제1 항에 있어서,
상기 프로세서는,
상기 제공된 적어도 하나의 이미지에 대한 사용자의 피드백 정보를 포함하는 제2 사용자 입력이 수신되면, 상기 피드백 정보를 바탕으로 상기 적어도 하나의 도메인 속성을 조정하고,
상기 조정된 적어도 하나의 도메인 속성에 대응되는 상기 적어도 하나의 이미지를 획득하는 전자 장치.
According to claim 1,
The processor is
When a second user input including user feedback information on the provided at least one image is received, the at least one domain attribute is adjusted based on the feedback information,
The electronic device acquires the at least one image corresponding to the adjusted at least one domain attribute.
제4 항에 있어서,
상기 피드백 정보는 상기 적어도 하나의 이미지 중 제1 이미지에 대한 긍정적인 피드백 정보 및 상기 적어도 하나의 이미지 중 제2 이미지에 대한 부정적인 피드백 정보를 포함하고,
상기 조정된 적어도 하나의 도메인 속성은 상기 제1 이미지에 대응되는 복수의 도메인 속성 중 상기 제2 이미지에 대응되는 복수의 도메인 속성을 제외한 하나 이상의 도메인 속성을 포함하는 전자 장치.
5. The method of claim 4,
The feedback information includes positive feedback information on a first image of the at least one image and negative feedback information on a second image of the at least one image,
The at least one adjusted domain attribute includes one or more domain attributes excluding a plurality of domain attributes corresponding to the second image from among a plurality of domain attributes corresponding to the first image.
인공 지능(AI: artificial intelligence) 기반 기술에 기초한 컴퓨팅-환경에서의 이미지 생성 방법에 있어서, 상기 방법은:
인공 신경망(ANN: artificial neural network)에 의한 이미지-생성을 위한 외부-입력을 수신하는 단계(S102)로서, 상기 ANN은 타겟 도메인에 대한 복수의 타겟 도메인 속성(TDA: target domain attribute)에 대해 동작하도록 구성되는, 수신하는 단계(S102);
상기 외부 입력 중 적어도 하나 및 상기 복수의 TDA와 연관된 하나 이상의 클러스터들에 기초하여 상기 복수의 TDA로부터 복수의 타겟 도메인 속성(TDA)을 쇼트리스팅(shortlisting)하는 단계(S104);
상기 쇼트리스팅된 TDA의 표현에 의해 규정된 잠재 공간 내에서 데이터를 보간하는 단계(106)로서, 보간의 방향은:
(i) (a) 상기 외부-입력 및 (b) 상기 하나 이상의 클러스터들 중 적어도 하나에 기초하여 연산된 샘플링-벡터; 및/또는
(i) 잠재 코드들을 예측하기 위해 상기 잠재 공간에서 잠재 코드들 내에서의 자동-학습된 관계에 기초하여 결정되는, 보간하는 단계(S106);
상기 잠재 공간에서 상기 결정된 방향을 따라 상기 보간에 기초하여 적어도 하나의 잠재 코드를 생성하는 단계(S108); 및
적어도 상기 잠재-코드에 기초하여 상기 ANN에 의해 적어도 하나의 이미지를 생성하는 단계(S110)를 포함하는, 방법.
A method for generating an image in a computing-environment based on artificial intelligence (AI)-based technology, the method comprising:
Receiving an external-input for image-generation by an artificial neural network (ANN) (S102), wherein the ANN operates on a plurality of target domain attributes (TDA) for a target domain configured to: receiving (S102);
shortlisting a plurality of target domain attributes (TDAs) from the plurality of TDAs based on at least one of the external inputs and one or more clusters associated with the plurality of TDAs (S104);
interpolating (106) data within a latent space defined by the representation of the shortlisted TDA, wherein the direction of interpolation is:
(i) a sampling-vector computed based on at least one of (a) the outer-input and (b) the one or more clusters; and/or
(i) interpolating (S106) to predict latent codes, determined based on auto-learned relationships within latent codes in the latent space;
generating at least one latent code based on the interpolation along the determined direction in the latent space (S108); and
generating ( S110 ) at least one image by the ANN based at least on the latent-code.
제6 항에 있어서,
상기 보간의 방향은:
로깅된 샘플링 벡터들과 현재 연산된 샘플링 벡터를 집계하여 가중-평균화를 통해 집계된-벡터를 야기하는 단계;
신경망을 통해 상기 잠재 공간 내에서 상기 자동-학습된 관계에 기초하여 기존의 잠재 코드들 중에서 변동 패턴을 연산하는 단계; 및
상기 집계된 벡터 및 상기 연산된 패턴과 연관된 상기 방향에 기초하여 집계된-방향을 도출하고, 이에 의해 상기 보간의 방향에 대한 연합된-업데이트를 야기하는 단계에 기초하여 결정되는, 방법.
7. The method of claim 6,
The direction of the interpolation is:
aggregating the logged sampling vectors and the currently computed sampling vector to result in an aggregated-vector through weighted-averaging;
calculating a variation pattern among existing latent codes based on the auto-learned relationship in the latent space through a neural network; and
deriving an aggregated-direction based on the aggregated vector and the direction associated with the computed pattern, thereby causing an associated-updation to the direction of the interpolation.
제7 항에 있어서,
상기 현재 샘플링-벡터의 상기 연산은:
상기 외부 입력으로부터 사용자 샘플링 벡터(USV: user sampling vector)로서 제1 벡터의 도출;
상기 쇼트리스팅된 TDA와 관련된 상기 클러스터들로부터 클러스터 샘플링 벡터(CSV: cluster sampling vector)로서 제2 벡터의 도출; 및
상기 제1 벡터와 상기 제2 벡터를 결합하여 상기 현재-샘플링 벡터를 야기하는 것에 기초하는, 방법.
8. The method of claim 7,
The operation of the current sampling-vector is:
derivation of a first vector as a user sampling vector (USV) from the external input;
derivation of a second vector as a cluster sampling vector (CSV) from the clusters associated with the short-listed TDA; and
and combining the first vector and the second vector to result in the current-sampling vector.
제6 항에 있어서,
상기 외부 입력을 수신하는 단계는:
이미지들을 생성하기 위해 하나 이상의 사용자-라벨을 전자적으로 또는 음향적으로 수신하는 단계로서, 상기 사용자-라벨은 선택적으로 하나 이상의 소스 도메인 속성을 수반하는, 수신하는 단계;
상기 TDA의 쇼트리스팅을 용이하게 하기 위해 상기 사용자-라벨과 하나 이상의 타겟 도메인 속성을 매핑하는 단계; 및
상기 하나 이상의 수반되는 소스 도메인 속성들과 상기 쇼트리스팅된 TDA를 매핑하는 단계를 포함하는, 방법.
7. The method of claim 6,
Receiving the external input includes:
receiving one or more user-labels electronically or acoustically to generate images, the user-labels optionally carrying one or more source domain attributes;
mapping the user-label and one or more target domain attributes to facilitate shortlisting of the TDA; and
mapping the short-listed TDA with the one or more accompanying source domain attributes.
제6 항에 있어서,
상기 외부 입력을 수신하는 단계는:
기존 잠재-코드에 기초하여 기계에 의해 상기 잠재 공간 내의 중간-라벨들을 예측하는 단계; 및
사용자-피드백에 의해 규정된 임계값의 달성까지 상기 예측된 중간-라벨들에 기초하여 상기 복수의 TDA를 구분하는 단계; 및
보간을 가능하게 하기 위해 상기 구분된 TDA에 기초하여 상기 쇼트리스팅된 TDA를 획득하는 단계에 기초하여 자동-생성된 트리거로서 상기 외부 입력을 수신하는 단계를 포함하는, 방법.
7. The method of claim 6,
Receiving the external input includes:
predicting intermediate-labels in the latent space by a machine based on an existing latent-code; and
classifying the plurality of TDAs based on the predicted mid-labels until attainment of a threshold defined by user-feedback; and
and receiving the external input as an auto-generated trigger based on obtaining the shortlisted TDA based on the segmented TDA to enable interpolation.
제6 항에 있어서,
상기 타겟-도메인에서 이미지들을 생성하도록 구성된 상기 ANN은:
a) 이미지 생성을 위해 상기 잠재 공간에서 개시점을 렌더링하기 위한 구분된 TDA 표현; 및
b) 상기 클러스터 샘플링 벡터(CSV), 클러스터 선호도 벡터(CPV: cluster preference vector) 중 하나 이상에 의해 규정된 복수의 초기화된 벡터들 중 하나 이상으로서 복수의 특성들에 의해 규정되는, 방법.
7. The method of claim 6,
The ANN configured to generate images in the target-domain is:
a) a differentiated TDA representation for rendering a starting point in the latent space for image generation; and
b) a method defined by a plurality of characteristics as one or more of a plurality of initialized vectors defined by one or more of the cluster sampling vector (CSV), a cluster preference vector (CPV).
제6 항에 있어서,
상기 TDA의 상기 쇼트리스팅은:
쇼트리스팅된 TDA와 연관된 상기 잠재 공간 내에서 하나 이상의 클러스터들을 식별하고, 이에 기초하여 하나 이상의 클러스터 선호도 벡터(CPV)를 식별하는 단계;
사용자-라벨 및 선택적으로 소스 도메인 정보를 포함하는 상기 수신된 외부 입력에 기초하여 사용자-선호도 벡터(UPV: user-preference vector)를 연산하는 단계;
상기 클러스터 선호도 벡터(CPV) 및 UPV를 결합하여 상기 외부 입력과 관련된 상기 복수의 쇼트리스팅된 TDA를 순위화하는 단계; 및
상기 잠재 공간 내에서 상기 보간을 개시하기 위해 상기 순위화되고 쇼트리스팅된 TDA 및 이들의 하나 이상의 조합들을 규정하는 단계를 더 포함하는, 방법.
7. The method of claim 6,
The short listing of the TDA is:
identifying one or more clusters within the latent space associated with a short-listed TDA, and based thereon identifying one or more cluster preference vectors (CPV);
calculating a user-preference vector (UPV) based on the received external input comprising a user-label and optionally source domain information;
ranking the plurality of short-listed TDAs associated with the external input by combining the cluster preference vector (CPV) and the UPV; and
defining the ranked and shortlisted TDA and one or more combinations thereof to initiate the interpolation within the latent space.
제9 항에 있어서,
상기 샘플링 벡터에 기초한 상기 잠재 공간 내의 상기 보간은:
상기 외부 입력으로부터 사용자 샘플링 벡터(USV) 및 상기 소스 도메인 속성과 상기 타겟 도메인 속성 사이에 그려진 매핑을 연산하는 단계;
결과적인 샘플링 벡터를 제공하기 위해, 상기 USV 및 상기 식별된 클러스터의 샘플링 벡터를 결합하는 단계;
상기 결과적인 샘플링 벡터와 연관된 크기 및 방향을 결정하는 단계; 및
상기 결정된 크기에 기초하여 상기 결과적인 샘플링 벡터의 상기 방향을 따라 보간함으로써 상기 잠재 공간에서 복수의 잠재 코드들을 생성하는 단계를 포함하는, 방법.
10. The method of claim 9,
The interpolation in the latent space based on the sampling vector is:
computing a user sampling vector (USV) from the external input and a mapping drawn between the source domain attribute and the target domain attribute;
combining the USV and the sampling vector of the identified cluster to provide a resulting sampling vector;
determining a magnitude and direction associated with the resulting sampling vector; and
generating a plurality of latent codes in the latent space by interpolating along the direction of the resulting sampling vector based on the determined magnitude.
제12 항에 있어서,
상기 결과적인 샘플링 벡터에 기초하여 하나 이상의 클러스터를 업데이트하는 단계를 더 포함하고, 상기 하나 이상의 클러스터들은:
a) 상기 쇼트리스팅된 TDA를 포함하는 클러스터; 및
b) 상기 쇼트리스팅된 TDA 중 적어도 하나의 TDA에 링크된 하나 이상의 클러스터들에 의해 규정되는, 방법.
13. The method of claim 12,
updating one or more clusters based on the resulting sampling vector, wherein the one or more clusters include:
a) a cluster comprising the short-listed TDA; and
b) defined by one or more clusters linked to at least one of the short-listed TDAs.
제6 항에 있어서,
상기 외부 입력에 기초한 상기 잠재 공간의 상기 보간은:
상기 결과적인 샘플링 벡터를 단위 방향 벡터 및 대응하는 크기로 분해하는 단계; 및
일정한 크기를 유지함으로써 상기 단위 방향 벡터를 따라 복수의 잠재 코드들을 생성하는 단계를 포함하는, 방법.
7. The method of claim 6,
The interpolation of the latent space based on the external input is:
decomposing the resulting sampling vector into a unit direction vector and a corresponding magnitude; and
generating a plurality of latent codes along the unit direction vector by maintaining a constant magnitude.
제6 항에 있어서,
상기 잠재 공간 내에서 상기 자동-학습된 관계에 기초한 상기 잠재 공간의 상기 보간은:
상기 쇼트리스팅된 TDA에 의해 규정된 부분 공간을 통해, 상기 타겟 도메인에서 이미지들을 생성하도록 구성된 하나 이상의 잠재 코드들을 검색하는 단계; 및
상기 부분 공간 내의 상기 잠재 코드들 사이의 관계를 연산하고, 이에 의해 상기 연산된 관계에 기초하여 추가 잠재 코드들의 예측을 가능하게 하도록 신경망을 훈련시키는 단계를 포함하는, 방법.
7. The method of claim 6,
The interpolation of the latent space based on the auto-learned relationship within the latent space is:
retrieving, through the subspace defined by the shortlisted TDA, one or more latent codes configured to generate images in the target domain; and
computing a relationship between the latent codes in the subspace, thereby training a neural network to enable prediction of additional latent codes based on the computed relationship.
제6 항에 있어서,
상기 외부 입력의 상기 수신은:
상기 잠재 공간 보간의 일부로서 생성된 이미지들과 관련된 복수의 사용자-피드백을 수신하는 단계;
상기 보간된 잠재 공간 내에서,
포지티브 피드백에 대해 연관된 평균 거리에 기초한 최적 사용자 샘플링 벡터(USV); 및
포지티브 피드백과 네거티브 피드백 사이의 관계에 기초하여 획득된 최적 사용자 선호도 벡터(UPV)
중 하나 이상으로서 상기 타겟 도메인 속성들의 특정 조합에 대한 상기 사용자에 대한 최적 벡터값들을 계산하는 단계를 더 포함하는, 방법.
7. The method of claim 6,
The reception of the external input is:
receiving a plurality of user-feedback related to images generated as part of the latent spatial interpolation;
In the interpolated latent space,
an optimal user sampling vector (USV) based on the associated mean distance for positive feedback; and
Optimal user preference vector (UPV) obtained based on the relationship between positive and negative feedback
computing optimal vector values for the user for the particular combination of target domain attributes as one or more of
제17 항에 있어서,
집계된 특징 벡터를 제공하기 위해 제7항에 따른 상기 사용자에 특정된 계산된 최적 벡터값들과 상기 쇼트리스팅된 TDA를 집계하는 단계;
공통 네트워크의 일부를 형성하는 디코더를 통해 상기 집계된 특징 벡터에 기초하여 상기 복수의 소스 도메인들 각각에 대한 정보를 재구성하는 단계; 및
상기 쇼트리스팅된 TDA의 효율을 연산하기 위해 상기 재구성된 정보를 상기 사용자 입력 내에서 수신된 상기 소스 도메인 정보와 비교하는 단계;
상기 효율을 높이기 위해 상기 쇼트리스팅된 TDA를 업데이트하고, 이에 기초하여 상기 USV, UPV, CSV, CPV 중 하나 이상 그리고 상기 TDA와 연관된 적어도 하나의 클러스터를 업데이트하는 단계
중 하나 이상을 통해 상기 타겟 도메인 속성들에 기초하여 복수의 소스-도메인 속성들을 재구성하는 단계를 더 포함하는, 방법.
18. The method of claim 17,
aggregating the short-listed TDA with the calculated optimal vector values specific to the user according to claim 7 to provide an aggregated feature vector;
reconstructing information on each of the plurality of source domains based on the aggregated feature vector through a decoder forming part of a common network; and
comparing the reconstructed information with the source domain information received in the user input to compute the efficiency of the short-listed TDA;
updating the short-listed TDA to increase the efficiency, and updating at least one of the USV, UPV, CSV, and CPV and at least one cluster associated with the TDA based on this
reconstructing a plurality of source-domain attributes based on the target domain attributes via one or more of:
제18 항에 있어서,
상기 효율을 높이기 위해 다른 사용자 피드백을 수신하는 단계;
상기 수신된 다른 피드백에 기초하여, 상기 소스 도메인 속성들을 추가로 재구성하기 위해 상기 쇼트리스팅된 TDA를 업데이트하는 단계;
상기 추가로 재구성된 소스 도메인 속성들에 기초하여,
상기 쇼트리스팅된 TDA에 대해 상기 사용자에 대한 추가로 최적화된 샘플링 벡터;
업데이트된 클러스터 샘플링 벡터 및 상기 클러스터 선호도 벡터; 및
상기 쇼트리스팅된 TDA 중 하나 이상과 관련된 적어도 하나의 클러스터의 업데이트
중 하나 이상을 달성하는 단계를 더 포함하는, 방법.
19. The method of claim 18,
receiving other user feedback to increase the efficiency;
updating the shortlisted TDA to further reconstruct the source domain attributes based on the received other feedback;
Based on the further reconstructed source domain properties,
a further optimized sampling vector for the user for the short-listed TDA;
an updated cluster sampling vector and the cluster preference vector; and
Update of at least one cluster associated with one or more of the short-listed TDAs.
The method further comprising the step of achieving one or more of
제6 항에 있어서,
상기 하나 이상의 이미지들의 생성은,
랜덤 노이즈 밑에 있는 하나 이상의 특징들을 추출하기 위해 확률 분포와 연관된 상기 랜덤 노이즈를 딥 러닝(deep learning) 네트워크로 공급하는 단계; 및
이미지 생성을 용이하게 하기 위해, 상기 추출된 특징들을 입력으로서 상기 ANN으로 전송하는 단계를 포함하는, 방법.
7. The method of claim 6,
The creation of the one or more images comprises:
feeding the random noise associated with a probability distribution to a deep learning network to extract one or more features underlying the random noise; and
sending the extracted features as input to the ANN to facilitate image generation.
제6 항에 있어서,
상기 ANN은:
이미지를 생성하기 위해 상기 ANN의 제1 버전을 구현하는 서버로서, 상기 ANN의 상기 제1 버전은 훈련을 받고 그 후에 더 작은 모델들을 훈련시키도록 구성된 대형 모델인, 서버;
지식 증류(knowledge distillation)의 일부로서 상기 ANN의 상기 제1 버전에 의해 훈련을 받도록 구성된 상기 ANN의 제2 버전을 구현하는 클라이언트로서, 상기 클라이언트는 최적 벡터 값들을 연산하고, 이에 의해 상기 계산된 값들을 캐싱하도록 구성되는, 클라이언트에 의해 규정된 클라이언트-서버 아키텍처를 통해 동작하는, 방법.
7. The method of claim 6,
The ANN is:
a server implementing a first version of the ANN to generate an image, wherein the first version of the ANN is a large model that is trained and then configured to train smaller models;
A client implementing a second version of the ANN configured to be trained by the first version of the ANN as part of knowledge distillation, wherein the client computes optimal vector values, whereby the calculated value A method, operating through a client-server architecture defined by a client, configured to cache
제6 항에 있어서,
상기 ANN은:
상기 ANN을 구현하는 서버에 의해 타겟 도메인에서 라벨링되지 않은 이미지를 수신하는 단계;
제1 ANN에 의해, 지각적 이미지-유사도 기준에 의해 상기 라벨링되지 않은 이미지에 대한 중간-라벨을 도출하는 단계로서, 상기 중간 라벨들은 복수의 TDA 및 상기 라벨링되지 않은 이미지와 연관된 하나 이상의 샘플링 벡터에 의해 규정되는, 도출하는 단계;
상기 생성된 이미지에 대한 쇼트리스팅된 TDA의 하나 이상의 조합들에 대해 중간-라벨들을 저장하는 단계;
이미지 생성을 위해 라벨링된 데이터 및 중간-라벨링된 데이터에 기초하여 동일하거나 더 큰 크기의 제2 ANN을 훈련시키는 단계;
라벨링되지 않은 이미지에 대해 중간-라벨들을 예측하기 위해 상기 제1 ANN을 상기 제2 ANN으로 대체하고, 이에 기초하여 상기 제2 ANN을 재훈련시키는 단계;
상기 제2 ANN의 이미지 생성 용량에 대해 포지티브 사용자-피드백을 검출하는 단계; 및
상기 검출에 기초하여 클라이언트 디바이스 상에서 상기 훈련된 제2 ANN의 압축된 버전을 인스턴스화하는 단계
에 의해 규정된 클라이언트-서버 아키텍처를 통해 실행되는, 방법.
7. The method of claim 6,
The ANN is:
receiving an unlabeled image in a target domain by a server implementing the ANN;
deriving, by a first ANN, intermediate-labels for the unlabeled image by perceptual image-similarity criteria, wherein the intermediate labels are in a plurality of TDAs and one or more sampling vectors associated with the unlabeled image. deriving, defined by;
storing intermediate-labels for one or more combinations of shortlisted TDA for the generated image;
training a second ANN of the same or larger size based on the labeled data and the intermediate-labeled data for image generation;
replacing the first ANN with the second ANN to predict intermediate-labels for an unlabeled image, and retraining the second ANN based thereon;
detecting positive user-feedback on the image generating capacity of the second ANN; and
instantiating the compressed version of the trained second ANN on a client device based on the detection;
A method, executed through a client-server architecture as defined by
제6 항에 있어서,
인과성 기준 및 상관성 기준의 조합에 의해 규정된 기준에 기초하여 상기 외부-입력으로부터 하나 이상의 소스 도메인 속성들을 필터링하는 단계; 및
상기 필터링된 소스 도메인 속성들을 상기 복수의 타겟 도메인 속성들(TDA)로 모델링하는 단계를 더 포함하는, 방법.

7. The method of claim 6,
filtering one or more source domain attributes from the external-input based on a criterion defined by a combination of a causality criterion and a relevance criterion; and
modeling the filtered source domain properties into the plurality of target domain properties (TDA).

KR1020200136320A 2020-07-03 2020-10-20 Electronic device and controlling method of electronic device KR20220004525A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/008165 WO2022005158A1 (en) 2020-07-03 2021-06-29 Electronic device and controlling method of electronic device
US17/366,487 US20220004819A1 (en) 2020-07-03 2021-07-02 Electronic device and controlling method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202011028409 2020-07-03
IN202011028409 2020-07-03

Publications (1)

Publication Number Publication Date
KR20220004525A true KR20220004525A (en) 2022-01-11

Family

ID=79355958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200136320A KR20220004525A (en) 2020-07-03 2020-10-20 Electronic device and controlling method of electronic device

Country Status (1)

Country Link
KR (1) KR20220004525A (en)

Similar Documents

Publication Publication Date Title
US20210334625A1 (en) Webinterface generation and testing using artificial neural networks
US10789610B2 (en) Utilizing a machine learning model to predict performance and generate improved digital design assets
US10354184B1 (en) Joint modeling of user behavior
CN112313697A (en) System and method for generating interpretable description-based recommendations describing angle augmentation
CN108431833A (en) End-to-end depth collaborative filtering
CN113112030B (en) Method and system for training model and method and system for predicting sequence data
US11921777B2 (en) Machine learning for digital image selection across object variations
JP7464741B2 (en) Automatically improving data quality
US20210326494A1 (en) Automatically and intelligently exploring design spaces
JP2024503774A (en) Fusion parameter identification method and device, information recommendation method and device, parameter measurement model training method and device, electronic device, storage medium, and computer program
US20210201146A1 (en) Computing device and operation method thereof
CN117836765A (en) Click prediction based on multimodal hypergraph
CN115510313A (en) Information recommendation method and device, storage medium and computer equipment
KR102301663B1 (en) Identifying physical objects using visual search query
KR102552856B1 (en) Method, device and system for automating creation of content template and extracting keyword for platform service that provide content related to commerce
KR20220071805A (en) Method, apparatus, and system for production optimization of ad contents
CN114817692A (en) Method, device and equipment for determining recommended object and computer storage medium
CN117251586A (en) Multimedia resource recommendation method, device and storage medium
KR20220004525A (en) Electronic device and controlling method of electronic device
US20230085466A1 (en) Determining user affinities for content generation applications
US20220004819A1 (en) Electronic device and controlling method of electronic device
JP7208286B2 (en) Information processing device, information processing method and information processing program
KR102243456B1 (en) Method, apparatus and system for providing user-specific event content
WO2016206099A1 (en) Latent topic determination
CN116975322A (en) Media data display method and device, computer equipment and storage medium