KR102401112B1 - UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법 - Google Patents

UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법 Download PDF

Info

Publication number
KR102401112B1
KR102401112B1 KR1020220002310A KR20220002310A KR102401112B1 KR 102401112 B1 KR102401112 B1 KR 102401112B1 KR 1020220002310 A KR1020220002310 A KR 1020220002310A KR 20220002310 A KR20220002310 A KR 20220002310A KR 102401112 B1 KR102401112 B1 KR 102401112B1
Authority
KR
South Korea
Prior art keywords
bit
design
theme
data
attribute
Prior art date
Application number
KR1020220002310A
Other languages
English (en)
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 KR1020220002310A priority Critical patent/KR102401112B1/ko
Application granted granted Critical
Publication of KR102401112B1 publication Critical patent/KR102401112B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06N3/0472
    • 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
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Strategic Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 UX-bit를 이용하여 고객 및 서비스 제공자가 이용하는 어플리케이션 등의 프로그램 개발 프로젝트 협업 방법에 관한 것이다. 자세하게는, 프로젝트를 구성하는 구성 요소를 용이하게 검색 및 적용하도록 UX-bit를 이용하여 개발 기간 및 비용을 절감할 수 있는 개발 프로젝트 협업 방법에 관한 것으로, 프로젝트의 목표를 입력받는 단계; 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받는 단계; 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리하는 단계; 기능정의서에 기반해 UX-bit를 조합하여 IA(Information Architecture) 요소를 배치하는 단계; 상기 IA 요소에 기반해 와이어프레임(Wireframe)을 구성하는 단계; 상기 와이어프레임에 기반해 구성 페이지를 디자인하는 단계; 상기 UX-bit의 결합으로 구성된 상기 구성 페이지를 검증하는 검증 페이지를 제공하는 단계; 및 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정하는 단계;를 포함하는 구성을 개시한다.

Description

UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법{Artificial neural network Automatic design generation apparatus and method including policy network using UX-bit}
본 발명은 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법에 관한 것이다. 자세하게는, 웹(web), 앱(app) 등 그래픽 디자인 프로젝트를 구성하는 구성 요소를 입력하면 자동으로 디자인을 출력하여 개발 기간 및 비용을 절감할 수 있는 개발 프로젝트 협업 방법에 관한 것이다.
IT 기술의 발전으로 정보통신기술을 응용한 플랫폼 개발, 전자상거래 도입이 활발해지면서 비즈니스 형태가 오프라인에서 온라인으로 전환되거나 기존 오프라인 비즈니스에 더해 온라인 채널을 추가하는 기업이 늘어나고 있다.
온라인 비즈니스 시장의 지속적인 확대에 더불어, 최근에는 코로나의 창궐로 인해 비대면 관련 서비스의 수요가 급증하고 있다.
재택근무, 원격서비스에 필요한 소프트웨어 및 UI/UX 개발 수요가 늘어나고 있으며, 시대의 빠른 흐름에 의해 UI/UX 디자인의 생명주기 또한 빠르게 변화한다.
이러한 급속한 변화에 대응할 수 있는 UI/UX 개발도구가 필요하다.
도 1은 기존의 프로젝트 협업 방법의 진행을 개시한 도면이다. 도 1을 참조하면, 이러한 UI/UX 개발 시스템은 기술의 발전 및 고객의 니즈를 반영하여 프로그램을 새롭게 개발하거나 업그레이드하여 적용하게 되는데, 이러한 개발 프로젝트가 진행되는 과정은 회의를 통해 의견을 개진하고, 토론을 통하여 프로젝트의 구성에 대한 합의를 마치면, 합의된 내용을 바탕으로 기능정의서를 작성하고 IA, 와이어 프레임(Wire Frame), 스토리 보드(Story Board) 및 디자인 작업을 거쳐 퍼블리싱을 하고, 프로그래밍 개발의 단계를 통해 해당 내용을 코딩하여 서비스 오픈하는 과정을 거친다.
문제는 이러한 개발 프로젝트 진행과정에서 합의부터 프로그래밍 개발까지 각 단계가 끝나야 다음 단계로 진행이 가능한 구조이고, 각 단계의 데이터들이 독립적으로 관찰되기 때문에 필연적으로 업무 리소스 및 시간 소요가 발생하게 된다.
따라서, 이러한 업무 리소스 및 시간 소요를 줄이기 위해 프로세스의 개선이 필요한 실정이다.
대한민국 등록특허 10-2246537, 온라인 쇼핑몰 배너 디자인 자동 생성 방법 및 장치, 카페24 주식회사 대한민국 등록특허 10-2198545, 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치, 카페24 주식회사 대한민국 등록특허 10-2095118, 자동화된 디자인 생성 방법 및 시스템, 한양대학교 산학협력단
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위한 것으로서, 기능정의서, IA, 와이어 프레임, 스토리 보드 및 디자인 등을 손쉽게 선택하고 적용 및 조합할 수 있는 UX-bit로 만들어 복수의 단계를 동시에 합의하여 일괄 진행할 수 있는 방법을 제공하고자 하는 것이다.
또한, 개발 기간 및 개발 비용 절감을 위하여 구성 요소를 입력하면 자동으로 디자인을 출력하는 자동 디자인 생성 인공신경망 장치 및 방법을 제공하고자 하는 것이다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 상기한 문제를 해결하기 위한 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은, 프로젝트의 목표를 입력받는 단계; 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받는 단계; 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리하는 단계; 기능정의서에 기반해 UX-bit를 조합하여 IA(Information Architecture) 요소를 배치하는 단계; 상기 IA 요소에 기반해 와이어프레임(Wireframe)을 구성하는 단계; 상기 와이어프레임에 기반해 구성 페이지를 디자인하는 단계; 상기 UX-bit의 결합으로 구성된 상기 구성 페이지를 검증하는 검증 페이지를 제공하는 단계; 및 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 UX-bit는 복수의 레벨로 분류되는 기능 UX-bit 및 디자인 UX-bit를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 기능 UX-bit는 단어 단위를 포함하는 1레벨, 단어 조합을 포함하는 2레벨, 개념의 그룹을 포함하는 3레벨, 위계 정보를 포함하는 4레벨, 영역 정보를 포함하는 5레벨, 화면 정보를 포함하는 6레벨, 코드를 포함하는 7레벨 및 완성된 서비스를 포함하는 8레벨로 분류될 수 있다.
본 발명의 일 실시 예에 따르면, 상기 디자인 UX-bit는 조형 속성을 포함하는 1레벨, 조형 속성의 값을 포함하는 2레벨, 조형 속성과 값의 조합을 포함하는 3레벨, 속성 조합의 그룹을 포함하는 4레벨, 디자인 랭귀지를 포함하는 5레벨, 화면 정보를 포함하는 6레벨, 퍼블리싱 정보를 포함하는 7레벨로 분류될 수 있다.
본 발명의 일 실시 예에 따르면, 상기 IA 요소 배치 단계는 상기 기능정의서에 기반해 적어도 하나 이상의 IA 옵션을 제시하는 단계; 및 상기 IA 요소의 위치 및 연결 관계를 편집하는 편집 페이지를 제공하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 IA요소 편집 페이지 제공 단계는 드래그 앤 드랍된 IA요소를 배치하는 단계; 배치된 상기 IA요소를 레벨 또는 위계에 따라 선으로 연결하는 단계; 및 배치 및 연결된 상기 IA 요소를 실무자의 선택을 반영해 수정하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 와이어 프레임 구성 단계는, 상기 배치 및 연결된 IA요소에 기반해 복수의 와이어 프레임 레이아웃을 제시하는 단계; 및 실무자의 선택에 따라 상기 와이어 프레임 레이아웃을 선택 및 커스텀하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 와이어 프레임 구성 단계는 상기 와이어 프레임 레이아웃의 선택 및 커스텀에 의해 발생하는 IA요소의 배치 변화를 상기 배치 및 연결된 IA요소에 반영하는 단계;를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 구성 페이지 디자인 단계는, 디자인 옵션을 디자인 UX-bit레벨 순서대로 제시하는 단계; 및 실무자의 선택을 반영해 상기 디자인 옵션을 수정하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 UX-bit의 결합으로 구성된 검증페이지를 제공하는 단계는, 화면에 선택 및 커스텀된 상기 와이어 프레임 레이아웃에 디자인을 적용하여 출력하는 단계; 및 실제 사용자 환경과 동일한 환경에서 시뮬레이션 하는 단계를 포함하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 실제 사용자 환경과 동일한 환경에서 시뮬레이션 하는 단계는, 화면의 일부에 컨트롤러를 출력하는 단계; 및 상기 컨트롤러에서 실무자의 입력에 따라 프로젝트의 구동을 구현하는 단계;를 포함할 수 있다.
상기한 문제를 해결하기 위한 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 프로그램은 소정의 주기마다 운영체제에 의해 정의된 화면을 제어하는 UX-bit를 이용한 개발 프로젝트 협업 방법을 수행하는 명령어로 구성되되, 상기 UX-bit를 이용한 개발 프로젝트 협업 방법은, 프로젝트의 목표를 입력받는 단계; 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받는 단계; 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리하는 단계; 기능정의서에 기반해 UX-bit를 조합하여 IA(Information Architecture) 요소를 배치하는 단계; 확정된 상기 IA 요소에 기반해 와이어프레임(Wireframe)을 구성하는 단계; 확정된 상기 와이어프레임에 기반해 구성 페이지를 디자인하는 단계; 상기 UX-bit의 결합으로 구성된 상기 구성 페이지를 검증하는 검증 페이지를 제공하는 단계; 및 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정하는 단계;를 포함할 수 있다.
본 발명의 목적은, 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터를 입력 데이터로 하고 이미지 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈인 이미지 테마 인코딩 모듈; 상기 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 텍스트인 텍스트 테마 데이터를 입력 데이터로 하고 텍스트 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈인 텍스트 테마 인코딩 모듈; 상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터를 입력 데이터로 하고, 복수의 UX구성요소에 대한 UX-bit 속성을 출력 데이터로 하는 모듈인 UX-bit 생성 모듈; 및 상기 이미지 테마 인코딩 벡터, 상기 텍스트 테마 인코딩 벡터 및 상기 UX-bit 속성을 입력 데이터로 하여 특정 웹/앱 그래픽 디자인을 의미하는 디자인 데이터를 출력 데이터로 출력하는 Upsampling 인공신경망 모듈인 디자인 생성 모듈;을 포함하고, 상기 디자인 생성 모듈의 학습 세션에서는, 상기 디자인 데이터와 이에 대응되는 기저장된 웹/앱 디자인 중 상기 이미지 테마 인코딩 벡터와의 유사도 및 상기 텍스트 테마 인코딩 벡터와의 유사도가 특정 수준 이상인 웹/앱 디자인 레퍼런스 데이터(Ground Truth)의 차이로 구성되는 대표 디자인 손실, 상기 이미지 테마 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 이미지 테마 판별 손실, 상기 텍스트 테마 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 텍스트 테마 판별 손실, 상기 UX-bit 속성에 대한 판별 벡터인 UX-bit 속성 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 UX-bit 속성 판별 손실을 저감시키는 방향으로 상기 디자인 생성 모듈의 파라미터를 업데이트하는 것을 특징으로 하는, UX-bit를 이용한 자동 디자인 생성 인공신경망 장치를 제공하여 달성될 수 있다.
또한, 상기 디자인 생성 모듈과 연결되고, 복수개의 FC(Fully Connected Layer)가 연속적으로 연결된 비선형 구조의 네트워크이며, 상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터가 concatenate 된 결합 벡터를 입력 데이터로 하고, 테마 벡터(theme vector)를 출력 데이터로 출력하며, 출력된 상기 테마 벡터를 상기 디자인 생성 모듈의 네트워크 내 복수의 레이어에 스케일별로 입력하는 모듈인 비선형 네트워크;를 더 포함하고, 상기 디자인 생성 모듈은, 입력 데이터로 상기 UX-bit 속성이 입력되며, 상기 테마 벡터가 입력되는 스케일의 레이어에 noise vector가 각각 입력되는 것을 특징으로 할 수 있다.
또한, 상기 이미지 테마 인코딩 모듈과 연결되고, 상기 이미지 테마 데이터를 입력 데이터로 하고 공통 테마 세그먼트 데이터를 출력 데이터로 하는 모듈인 공통 테마 세그먼트 모듈;을 더 포함하고, 상기 공통 테마 세그먼트 모듈의 학습 세션에서는, 상기 텍스트 테마 인코딩 벡터와 상기 이미지 테마 인코딩 벡터의 유사도를 증가시키는 방향으로 상기 공통 테마 세그먼트 모듈의 파라미터가 업데이트 되는 것을 특징으로 할 수 있다.
또한, 상기 UX-bit 속성은 UX-bit 기능 속성 및 UX-bit 디자인 속성을 포함하고, 상기 UX-bit 생성 모듈은, 특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈인 UX 구성요소 생성 모듈; 및 상기 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 출력하는 인공신경망 모듈인 RNN 모듈;을 포함하는 것을 특징으로 할 수 있다.
또한, 상기 UX-bit 속성은 UX-bit 기능 속성 및 UX-bit 디자인 속성을 포함하고, 상기 UX-bit 생성 모듈은, 특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈인 UX 구성요소 생성 모듈; 및 상기 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 출력하는 인공신경망 모듈인 RNN 모듈;을 포함하고, 상기 RNN 모듈은, 제1 RNN 셀 및 제2 RNN 셀로 구성되는 RNN 블록을 기본 단위로 하며, 상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터를 최초 입력 데이터로 하고, 상기 제1 RNN 셀은 상기 최초 입력 데이터 또는 이전 셀의 출력 데이터 및 RNN 은닉층 정보를 입력받아 n번째 UX구성요소의 상기 UX-bit 기능 속성을 출력하며, 상기 제2 RNN 셀은 이전 셀의 출력 데이터인 상기 UX-bit 기능 속성 및 상기 RNN 은닉층 정보를 입력받아 상기 제1 RNN 셀에서 출력된 n번째 UX구성요소의 상기 UX-bit 기능 속성에 대한 상기 UX-bit 디자인 속성을 출력하는 것을 특징으로 할 수 있다.
또한, 상기 UX-bit 속성은 UX-bit 기능 속성 및 UX-bit 디자인 속성을 포함하고, 상기 UX-bit 생성 모듈은, 특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈인 UX 구성요소 생성 모듈; 상기 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 출력하는 인공신경망 모듈인 RNN 모듈; 및 기생성된 전체 UX구성요소의 상기 UX-bit 속성, 상기 이미지 테마 인코딩 벡터, 상기 텍스트 테마 인코딩 벡터를 Environment로 하고, 상기 RNN 모듈의 상기 RNN 블록을 Agent로 하고, 1번째 UX구성요소에서부터 n-1번째 UX구성요소까지의 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성에 가상으로 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 갖는 n번째 UX구성요소를 포함하였을 때의 상황을 State로 하며, 이러한 상기 State에서 상기 Agent인 상기 RNN 블록이 n번째 UX구성요소에 대해 출력하는 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 Action으로 하고, 출력 데이터인 n번째 UX구성요소의 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성과 비교 정보와의 유사도가 높을수록 높은 Reward가 생성되어 상기 Agent인 상기 RNN 블록의 은닉층을 업데이트 하도록 구성되는 강화학습 모듈;을 포함하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 이미지 테마 인코딩 모듈이, 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터를 입력 데이터로 입력받고 이미지 테마 인코딩 벡터를 출력 데이터로 출력하는 이미지 테마 인코딩 단계; 텍스트 테마 인코딩 모듈이, 상기 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 텍스트인 텍스트 테마 데이터를 입력 데이터로 입력받고 텍스트 테마 인코딩 벡터를 출력 데이터로 출력하는 텍스트 테마 인코딩 단계; UX-bit 생성 모듈이, 상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터를 입력 데이터로 입력받고, 복수의 UX구성요소에 대한 UX-bit 속성을 출력 데이터로 출력하는 UX-bit 생성 단계; 및 디자인 생성 모듈이, 상기 이미지 테마 인코딩 벡터, 상기 텍스트 테마 인코딩 벡터 및 상기 UX-bit 속성을 입력 데이터로 하여 특정 웹/앱 그래픽 디자인을 의미하는 디자인 데이터를 출력 데이터로 출력하는 디자인 생성 단계;를 포함하고, 상기 디자인 생성 모듈의 학습 세션에서는, 상기 디자인 데이터와 이에 대응되는 기저장된 웹/앱 디자인 중 상기 이미지 테마 인코딩 벡터와의 유사도 및 상기 텍스트 테마 인코딩 벡터와의 유사도가 특정 수준 이상인 웹/앱 디자인 레퍼런스 데이터(Ground Truth)의 차이로 구성되는 대표 디자인 손실, 상기 이미지 테마 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 이미지 테마 판별 손실, 상기 텍스트 테마 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 텍스트 테마 판별 손실, 상기 UX-bit 속성에 대한 판별 벡터인 UX-bit 속성 판별 벡터와 상기 디자인 데이터의 판별 차이를 포함하는 UX-bit 속성 판별 손실을 저감시키는 방향으로 상기 디자인 생성 모듈의 파라미터를 업데이트하는 것을 특징으로 하는, UX-bit를 이용한 자동 디자인 생성 인공신경망 방법을 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터 및 상기 실무자가 생성하고자 하는 상기 테마를 대표하는 텍스트인 텍스트 테마 데이터를 상기 실무자로부터 입력받는 실무자 클라이언트; 및 상기 실무자 클라이언트로부터 상기 이미지 테마 데이터 및 상기 텍스트 테마 데이터를 입력받고, 상기 이미지 테마 데이터 및 상기 텍스트 테마 데이터에 대응되는 디자인 데이터를 출력하는 제1항에 따른 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치;를 포함하는, 자동 디자인 생성 인공신경망 시스템을 제공하여 달성될 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, UX-bit라는 새로운 단위로 개발 프로젝트에서 단계별로 진행되어야 하는 복수의 단계를 일괄적으로 합의하고 결과물을 도출하여 업무 리소스 및 시간 소요를 획기적으로 단축할 수 있다.
둘째, 본 발명의 일실시예에 따르면, 본 발명은 프로젝트를 유지 및 보수하는 과정에서 상기 UX-bit를 이용하여 순차적 유지 및 보수가 아닌 일괄적으로 유지 및 보수되어 업무 리소스 및 시간 소요를 단축할 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 기존의 프로젝트 협업 방법의 진행을 개시한 도면이다.
도 2는 본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 흐름도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 UX-bit의 개념을 설명하기 위한 도면이다.
도 5은 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 UX-bit의 성질 및 레벨 분류를 표시한 도면이다.
도 6 내지 도 13은 본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 시스템이 데이터 처리를 수행하는 방식을 설명하는 도면이다.
도 14는 IA(Information Architecture)의 개념을 설명하는 도면이다.
도 15는 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 IA 배치 및 연결 페이지를 설명하는 도면이다.
도 16은 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 와이어 프레임 구성 페이지를 설명하는 도면이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 검증 페이지를 설명하는 도면이다.
도 19는 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치의 작동관계를 도시한 모식도,
도 20은 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치의 구체적인 구성을 도시한 모식도,
도 21, 22는 본 발명의 일실시예에 따른 이미지 테마 인코딩 모듈(10) 및 텍스트 테마 인코딩 모듈(11)에 포함되는 ConvNet(CNN 인코더)의 예시도,
도 23은 본 발명의 일실시예에 따른 UX-bit 생성 모듈(12)의 구체적인 구성을 도시한 모식도,
도 24는 본 발명의 일실시예에 따른 UX 구성요소 생성 모듈(120)을 도시한 모식도,
도 25는 본 발명의 일실시예에 따른 RNN 모듈(121)을 도시한 모식도,
도 26은 본 발명의 일실시예에 따른 강화학습 모듈(122)을 도시한 모식도,
도 27는 본 발명의 변형예에 따른 강화학습 모듈(122)을 도시한 모식도,
도 28은 본 발명의 일실시예에 따른 강화학습 모듈(122)의 동작예를 도시한 흐름도,
도 29는 본 발명의 일실시예에 따른 UX-bit 생성 모듈(12)의 UX-bit 속성 자동 생성을 도시한 모식도,
도 30은 본 발명의 일실시예에 따른 디자인 생성 모듈(15)의 구조를 도시한 모식도,
도 31은 본 발명의 다른 실시예에 따른 디자인 생성 모듈(15)의 작동관계를 도시한 모식도,
도 32는 본 발명의 일실시예에 따른 디자인 생성 모듈(15)의 Skip connection을 도시한 모식도,
도 33은 본 발명의 다른 실시예에 따른 공통 테마 세그먼트 모듈(101)을 도시한 모식도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 설명되는 컴퓨팅 장치에는 사용자와의 인터렉션을 통해 화상으로 표현되는 모든 매체 (단순 정보전달이 아닌)가 포함될 수 있으며, 그 예시로 디지털 TV, 데스크탑 컴퓨터, 휴대폰, 스마트 폰(smart phone), 태블릿 PC, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, HMD(Head Mounted Display), AR card, HUD(Heads Up Display) 등이 포함될 수 있다.
운영체제(Operating System, OS)는, 컴퓨팅 장치의 하드웨어와 소프트웨어를 제어하여, 실무자가 컴퓨팅 장치를 이용할 수 있게 만들어주는 프로그램을 의미한다. 운영체제는 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하면서 프로세서, 저장 장치, 입출력 인터페이스 장치 등의 컴퓨터 자원을 관리할 수 있다. 예를 들어, 운영체제의 종류에는 안드로이드(Android), iOS, 윈도우(Windows), 맥(Mac), 타이젠(TIZEN), 유닉스(Unix) 및 리눅스(Linux) 등이 포함될 수 있다.
응용 프로그램(이하, '프로그램')은 실무자가 디바이스를 사용하여 특정한 작업을 수행할 수 있도록 개발된 소프트웨어를 의미한다. 예를 들어, 이메일 프로그램, 메신저 프로그램, 스케쥴 관리 프로그램 및 문서 편집 프로그램 등이 있을 수 있다. 또한, 프로그램은 특정한 작업을 수행하는데 필요한 명령어들로 구성될 수 있다. 여기에서, 프로그램을 구성하는 명령어들은 운영체제의 종류에 따라 서로 상이할 수 있다.
화면은 운영체제에 의해 정의될 수 있다. 화면은 소정의 범위의 좌표를 가진 가상의 2차원 영역일 수 있다. 화면은 표시 장치에 의해 표시되고, 실무자는 표시 장치를 통해 화면을 시각적으로 인식할 수 있다. 화면의 좌표 범위는 표시 장치의 가용 해상도에 따라 운영체제에 의해 조절될 수 있다. 화면의 좌표 단위는 표시 장치의 화소의 위치에 대응될 수 있다.
몇몇 프로그램은 동작 형태가 화면에서 객체로서 표시되도록 구성될 수 있다. 일 예로, 몇몇 프로그램의 동작 형태는 화면에서 객체로서 '실행 창'의 형태로 표시될 수 있다. 예를 들어, 실행 창으로는 문서 편집 프로그램이 실행됨에 따라 출력되는 문서 편집 창 및 웹 브라우저 애플리케이션이 실행됨에 따라 출력되는 웹 브라우저 창 등이 포함될 수 있다. 다른 예로, 몇몇 프로그램의 동작 형태는 화면에서 객체로서 '마우스 커서(마우스나 터치패드 등의 움직임에 따라 시각적으로 함께 움직이는 포인터로서, 일반적으로 화살표의 형상)'의 형태로 표시될 수 있다. 예를 들어, 마우스 커서 및 터치 포인트 등은 실무자의 입력 수단의 감지에 대응하여, 화면 내에서 움직이도록 표시될 수 있다. 다른 몇몇 프로그램은 화면에 별도 표시되지 않고, 백그라운드 형태로 동작하도록 구성될 수도 있다.
복수의 객체가 화면에 표시되는 경우, 상기 프로그램들의 동작 형태를 나타내는 객체들이 미리 정해진 레벨에 따라 표시될 수 있다. 예를 들어, 운영체제에는 화면에서 제1 프로그램에 대응되는 제1 객체가 표시되는 영역이 제2 프로그램에 대응되는 제2 객체가 표시되는 영역과 중첩할 경우, 중첩 영역에서 제1 객체가 제2 객체보다 우선하여 표시되도록 설정될 수 있다.
UX-bit를 이용한 개발 프로젝트 협업 방법
본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 컴퓨팅 장치가 수행하거나 컴퓨팅 장치가 프로그램을 실행하여 수행될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면상의 동일한 구성 요소에 대해서는 동일하거나 유사한 참조 부호를 사용한다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 UX-bit의 개념을 설명하기 위한 도면이다.
도 3 및 도 4를 참조하면, 상기 UX-bit는 프로젝트를 개발하는 과정에서 UX를 구성하는 가장 작은 단위를 정의하는 것일 수 있다.
상기 UX-bit는 관련된 주제나 카테고리에 따라 분류 및 태그될 수 있다. 상기 UX-bit는 태그된 주제나 카테고리에 따라 분류되어 데이터 베이스에 저장될 수 있다. 상기 UX-bit는 다른 UX-bit와 결합하여 하나의 산출물을 구성할 수 있다. 상기 컴퓨팅 장치는 상기 UX-bit이 결합한 산출물을 시각화 하여 화면에 출력할 수 있다.
상기 UX-bit는 기능정의서, IA(Information Architecture), 와이어 프레임, 디자인 및 프로그래밍의 단계로 구분된 정보를 포함할 수 있다. 상기 UX-bit는 UX를 구성하는 요소의 가장 작은 단위로, 컬러, 위치, 레이아웃 등을 포함할 수 있다.
본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 상기 UX-bit를 단계별 연산이 병렬적으로 이루어져 산출물을 한번에 확인할 수 있게 한다.
상기 기능정의서는 서비스를 신규로 만들거나 리뉴얼 할 때 프로젝트에서 다뤄야할 기능이 무엇인지, 목적은 무엇인지, 어떤 데이터를 활용하는 지, 요구되는 기술 이슈는 무엇인지 리스트업한 정보이다. 상기 기능정의서는 프로젝트에 포함되는 기능, 기능의 구현 방법, 기능의 작동 방법의 정보를 포함할 수 있다. 상기 기능정의서는 기능별 업무시나리오, 서비스 구축 시 예상 기능, 요구사항, 세부기능 및 적용영역을 포함할 수 있다.
상기 IA(Information Architecture)는 서비스가 어떠한 구조로 구성되는지, 어떤 기능이 있는지, 어떤 역할을 수행하는 지, 어떤 화면으로 보여지는지를 전체적으로 보여주는 구조 정보이다. 상기 IA는 실무자와 서비스의 상호작용을 원활하게 하여 실무자가 원하는 정보를 쉽고 빠르게 찾을 수 있도록 하고, 기획자와 디자이너, 실무자가 생각하는 서비스의 전체적인 그림을 일치시키기 위해 필요한 구조 정보를 포함할 수 있다.
상기 IA는 Depth, labeling 및 flow를 포함할 수 있다.
상기 와이어 프레임은 비주얼 디자인 단계 이전에 대표적인 화면들에 표시되는 콘텐츠, 기능, UI요소, 레이아웃을 대략적으로 요약해 보여주는 것으로 화면 설계도를 의미할 수 있다.
상기 와이어 프레임은 UI/UX 디자인의 방향성을 잡기위해 기능구조를 인터페이스의 기능으로 어떻게 변환해야 하는지를 보여주는 정보를 포함할 수 있다.
상기 와이어 프레임은 로고, 메뉴, 이미지, 텍스트, 버튼 등의 각 영역별 크기 및 배치가 포함될 수 있다.
상기 디자인은 와이어프레임을 바탕으로 디자인 요소(색상, 타이포그래피, 이미지)들을 더해 실제 구현할 화면을 시각적으로 보여주는 PSD, XD문서 또는 스키마, 제플린과 같은 UX 디자인결과물로 산출될 수 있는 포멧을 포함할 수 있다.
상기 디자인은 개발하기 전 기획한 서비스를 실제 비주얼 디자인으로 확인함으로써 시각적인 문제점을 보완할 수 있는 정보를 포함할 수 있다.
상기 디자인은 액션을 포함한 각 기능별 실제 화면의 데이터를 포함할 수 있다.
상기 프로그래밍은 시각적으로 기획된 디자인을 실제 서비스로 실현시키는 코드 작업 정보를 포함할 수 있다. 상기 프로그래밍에서 기획한 서비스를 실현하고 기술을 검토할 수 있다. 상기 프로그래밍은 서비스 개발 언어 및 상기 서비스 개발 언어로 구현된 코드를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 UX-bit의 성질 및 레벨 분류를 표시한 도면이다.
도 5를 참조하면, 상기 UX-bit는 성질에 따라 기능 UX-bit 및 디자인 UX-bit로 분류될 수 있다. 상기 UX-bit는 각 성질에 따라 복수의 레벨로 분류될 수 있다.
상기 기능 UX-bit는 단어 단위를 포함하는 1레벨, 단어 조합을 포함하는 2레벨, 개념의 그룹을 포함하는 3레벨, 위계 정보를 포함하는 4레벨, 영역 정보를 포함하는 5레벨, 화면 정보를 포함하는 6레벨, 코드를 포함하는 7레벨 및 완성된 서비스를 포함하는 8레벨로 구분될 수 있다.
상기 기능 UX-bit의 상기 1레벨의 단어 단위는 기능의 개념에 관한 단어 정보를 포함할 수 있다. 상기 2레벨의 단어 조합은 복합 개념(합성어, 단어 + 단어)로 나타내는 기능을 포함할 수 있다. 상기 3레벨은 개념의 그룹은 일정 기준에 따라 개념을 그룹지어 분류한 정보를 포함할 수 있다. 상기 4레벨은 상기 개념 또는 그룹간의 위계에 대한 정보를 포함할 수 있다. 상기 5레벨은 개념, 그룹 및 위계에 따른 영역 정보를 포함할 수 있다. 상기 6레벨은 화면에 표시되는 영역, 타겟 및 목적으로 구성되는 와이어 프레임 정보를 포함할 수 있다. 상기 7레벨은 상기 기능을 구현하기 위한 코드를 포함할 수 있다. 상기 8레벨은 구현된 기능들의 조합으로 완성된 서비스를 포함할 수 있다.
상기 디자인 UX-bit는 조형 속성을 포함하는 1레벨, 조형 속성의 값을 포함하는 2레벨, 조형 속성과 값의 조합을 포함하는 3레벨, 속성 조합의 그룹을 포함하는 4레벨, 디자인 랭귀지를 포함하는 5레벨, 화면 정보를 포함하는 6레벨, 퍼블리싱 정보를 포함하는 7레벨로 분류될 수 있다.
상기 디자인 UX-bit의 상기 1레벨의 조형 속성은 텍스트, 이미지, 컬러, 모양 및 크기 정보를 포함할 수 있다. 상기 2레벨의 조형속성의 값은 텍스트_폰트, 색상, 크기 및 굵기를 포함할 수 있다. 상기 3레벨의 조형 속성 값의 조합은 디자인의 목적 정보를 포함할 수 있다. 상기 4레벨의 속성 조합의 그룹은 시각적으로 보여지는 스타일을 보여줄 수 있다. 상기 5레벨의 디자인 랭귀지는 컨셉 및 분위기 정보를 포함할 수 있다. 상기 6레벨의 화면 정보는 PSD, XD문서 또는 스키마, 제플린과 같은 UX디자인결과물로 산출될 수 있는 포멧을 포함할 수 있다. 상기 7레벨의 퍼블리싱 정보는 HTML 및 CSS 정보를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 기능 UX-bit에서 검색 기능을 생성하는 경우, 1레벨에서 검색 관련 UX-bit를 검토하고, 2레벨에서 자동 검색 관련 UX-bit를 검토하고, 3레벨에서 검색 기능의 범위를 검토하고, 4레벨에서 검색과 결과의 위계를 결정하고, 5레벨에서 검색 및 검색 결과의 위치를 결정하고, 6레벨에서 검색 및 검색 결과의 와이어 프레임을 결정하고, 7레벨에서 검색 기능을 위한 프로그램 언어를 검토하고, 8레벨에서 완성된 검색 기능을 생성할 수 있다.
본 발명의 일 실시 예에 따르면, 상기 디자인 UX-bit에서 페이지의 제목 영역에 텍스트를 입력하는 경우, 1레벨에서 텍스트 내용을 검토하고, 2레벨에서 폰트, 색상, 크기, 굵기를 검토하고, 3레벨에서 제목을 검토하고, 4레벨에서 형태를 검토하고, 5레벨에서 세부 디자인 느낌을 검토하고, 6레벨에서 디자인 요소가 적용된 PSD 파일을 검토하고, 7레벨에서 PSD 형식을 변환하는 퍼블리싱 코드를 검토하고, 상기 기능 UX-bit의 7레벨 결과와 결합시켜 완성된 검색 기능을 생성할 수 있다.
도 2는 본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 흐름도이고, 도 6 내지 도 13은 본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 시스템이 데이터 처리를 수행하는 방식을 설명하는 도면이다.
도 2 내지 도 10을 참조하면, 본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 프로젝트의 목표를 입력받는 단계(S110), 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받는 단계(S120) 및 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리하는 단계(S130)를 포함할 수 있다.
S110 단계에서, 상기 컴퓨팅 장치는 실무자로부터 프로젝트의 목표를 입력받을 수 있다.
S110 단계에서, 프로젝트 목표는 프로젝트가 목표로 하는 가치와 프로젝트 기간, 투입 인력, 투입 인프라 장비 등의 리소스를 포함할 수 있다.
S120 단계에서, 상기 컴퓨팅 장치는 실무자로부터 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받을 수 있다. 상기 컴퓨팅 장치는 상기 프로젝트 목표가 복수인 경우 목표별로 세부과업을 입력받을 수 있다.
S120 단계에서, 수행 계획서 UX-bit DB에서 상기 실무자가 입력한 상기 프로젝트 목표 달성을 위한 세부과업들을 입력받을 수 있다.
S130 단계에서, 상기 컴퓨팅 장치는 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리할 수 있다.
S130 단계에서, 상기 컴퓨팅 장치는 수행 계획서 UX-bit DB 또는 기능정의서 UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 UX-bit로 정리할 수 있다.
도 14는 IA(Information Architecture)의 개념을 설명하는 도면이다.
도 14를 참조하면, IA의 구조의 뎁스(depth)가 시각적으로 구분될 수 있고, 상기 구조에 라벨링이 되어 어떤 정보가 어디에 위치하는지 확인할 수 있으며, 각 정보의 흐름을 화살표로 표시하여 IA를 확인할 수 있다.
본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 기능정의서에 기반해 UX-bit를 조합하여 IA(Information Architecture) 요소를 배치하는 단계(S140)를 포함할 수 있다.
S140 단계에서, 상기 컴퓨팅 장치는 실무자들이 확정한 기능정의서에서 개발할 프로그램의 기능, IA(Information Architecture), 와이어프레임 및 디자인 및 프로그래밍의 정보를 추출할 수 있다. 상기 컴퓨팅 장치는 상기 기능정의서에서 정의된 내용에 기반해 상기 IA 요소들을 배치할 수 있다.
S140 단계에서, 상기 컴퓨팅 장치는 상기 기능정의서 UX-bit DB 또는 IA UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 IA 요소를 상기 기능정의서에서 결정된 위치에 배치할 수 있다.
상기 컴퓨팅 장치는 상기 기능정의서에서 추출한 단어를 키워드로하여 상기 UX-bit를 검색하여 상기 IA 요소를 배치할 수 있다.
상기 컴퓨팅 장치는 실무자가 드래그 앤 드랍으로 입력한 결과를 반영해 상기 IA 요소의 배치를 수정할 수 있다.
본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 컴퓨팅 장치가 실무자로부터 또는 상기 기능정의서에서 단어를 입력받을 수 있다. 상기 컴퓨팅 장치는 실무자가 입력하거나 상기 기능정의서에서 추출한 단어와 관련된 키워드를 찾아낼 수 있다. 상기 컴퓨팅 장치는 상기 단어와 유사한 키워드 또는 관련성이 있는 키워드를 검색해 제공할 수 있다. 상기 컴퓨팅 장치는 상기 키워드를 라벨링하여 저장할 수 있다. 상기 키워드는 유사 단어 또는 관련성 있는 단어와 라벨링될 수 있다. 상기 키워드는 라벨링된 단어가 검색어로 입력되는 경우 상기 실무자가 선택할 수 있는 키워드로 노출될 수 있다. 상기 키워드는 라벨링된 단어가 검색어로 입력되어 노출되고 선택된 비율에 따라 연관성을 확률 정보로 포함할 수 있다. 상기 실무자는 상기 컴퓨팅 장치의 화면에 표시된 키워드를 선택할 수 있다.
S140 단계는 상기 기능정의서에 기반해 적어도 하나 이상의 IA 옵션을 제시하는 단계 및 상기 IA 요소의 위치 및 연결 관계를 편집하는 편집 페이지를 제공하는 단계를 포함할 수 있다.
상기 IA요소 편집 페이지 제공 단계는 드래그 앤 드랍된 IA요소를 배치하는 단계, 배치된 상기 IA요소를 레벨 또는 위계에 따라 선으로 연결하는 단계, 배치 및 연결된 상기 IA 요소를 실무자의 선택에 따라 수정하는 단계 및 상기 와이어 프레임 레이아웃의 선택 및 커스텀에 의해 발생하는 IA요소의 배치 변화를 상기 배치 및 연결된 IA요소에 반영하는 단계를 포함할 수 있다.
도 15는 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 IA 배치 및 연결 페이지를 설명하는 도면이다.
도 15를 참조하면, 실무자는 상기 IA 배치 및 연결 페이지에서 상기 UX-bit를 드래그 앤 드랍하여 IA를 작성할 수 있다. 상기 실무자가 드래그 앤 드랍으로 IA 요소를 이동시켜 IA를 작성하면 상기 IA 요소의 위계 등의 정보에 따라 상기 IA 요소를 연결하여 흐름을 형성하고 IA를 완성할 수 있다. 상기 실무자가 완성된 상기 IA에서 IA 요소를 길게 누르면 수정, 삭제 및 복사를 할 수 있다.
본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 확정된 상기 IA 요소에 기반해 와이어프레임(Wireframe)을 구성하는 단계(S150)를 포함할 수 있다.
S150 단계에서, 상기 컴퓨팅 장치는 상기 S140 단계에서 배치된 상기 IA 요소에 기반해 와이어프레임을 구성할 수 있다.
S150 단계에서, 상기 와이어 프레임 구성 단계는 상기 배치 및 연결된 IA요소에 기반해 복수의 와이어 프레임 레이아웃을 제시하는 단계 및 실무자의 선택을 반영해 상기 와이어 프레임 레이아웃을 선택 및 커스텀하는 단계를 포함할 수 있다.
S150 단계에서, 상기 컴퓨팅 장치는 상기 기능정의서 UX-bit DB, IA UX-bit DB 및 와이어프레임 UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 와이어프레임을 상기 IA 요소 배치에 따라 구성할 수 있다.
도 16은 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 와이어 프레임 구성 페이지를 설명하는 도면이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 이전 단계에서 확정된 IA에 기반해 와이어 프레임 레이아웃을 제시할 수 있다.
제시된 상기 와이어 프레임 레이아웃에서 실무자의 선택 및 커스텀 내용을 반영해 상기 와이어 프레임 레이아웃을 변경할 수 있다. 실무자는 레이아웃을 드래그, 클릭 등의 간단한 조작을 통해 상기 와이어 프레임 레이아웃을 변경할 수 있다. 상기 실무자의 선택에 따라 상기 와이어 프레임 레이아웃을 선택 및 커스텀하는 단계에서 복수의 화면(UNIT)의 와이어 프레임 레이아웃을 변경할 수 있다. 본 발명의 일 실시 예에 따르면, 상기 와이어 프레임의 레이아웃을 화면(UNIT) 별로 수정 및 변경하고 하나의 화면(UNIT) 수정 및 변경 완료 시 IA 상에 연결된 다음 화면(UNIT)의 수정 및 변경을 위한 페이지로 넘어갈 수 있다.
본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 상기 컴퓨팅 장치가 상기 프로젝트와 관련된 키워드를 검출할 수 있다. 상기 컴퓨팅 장치는 추출된 키워드에 기반해 UX-bit를 검색하여 제시할 수 있다. 검색된 UX-bit 중 실무자가 선택한 UX-bit를 IA 배치 및 연결 페이지로 내보낼 수 있다.
본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 확정된 상기 와이어프레임에 기반해 구성 페이지를 디자인하는 단계(S160)를 포함할 수 있다.
S160 단계에서, 실무자가 선택한 상기 디자인 UX-bit를 IA 배치 및 연결 페이지를 기반으로 조합해 구성 페이지를 디자인할 수 있다.
S160 단계에서, 상기 구성 페이지 디자인 단계는 디자인 옵션을 디자인 UX-bit레벨 순서대로 제시하는 단계, 실무자의 선택을 반영해 상기 디자인 옵션을 수정하는 단계 및 상기 작성된 디자인 UX-bit의 옵션을 퍼블리싱 UX-bit로 저장 및 관리하는 단계를 포함할 수 있다.
S160 단계는 상기 저장된 퍼블리싱 UX-bit와 개발언어의 연계성을 검토하는 단계를 더 포함할 수 있다.
S160 단계에서, 상기 컴퓨팅 장치는 상기 기능정의서 UX-bit DB, IA UX-bit DB, 와이어프레임 UX-bit DB 및 디자인 UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 구성된 와이어프레임의 디자인을 구성할 수 있다.
S160 단계는 디자인 옵션을 디자인 UX-bit레벨 순서대로 제시하는 단계, 실무자의 선택을 반영해 상기 디자인 옵션을 수정하는 단계 및 상기 작성된 디자인 UX-bit의 옵션을 퍼블리싱 UX-bit로 저장 및 관리하는 단계를 포함할 수 있다.
도 8 및 도 9를 참조하면, 상기 디자인 UX-bit의 옵션을 퍼블리싱 UX-bit로 저장 및 관리하는 단계는 상기 기능정의서 UX-bit DB, IA UX-bit DB, 와이어프레임 UX-bit DB 및 디자인 UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 구성된 와이어프레임의 디자인을 구성하여 퍼블리싱 UX-bit DB에 저장할 수 있다.
본 발명의 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 상기 UX-bit의 결합으로 구성된 상기 구성 페이지를 검증하는 검증 페이지를 제공하는 단계(S170)를 포함할 수 있다.
S170 단계에서, 상기 컴퓨팅 장치는 상기 구성 페이지에서 조합된 상기 UX-bit의 결합으로 구성된 화면을 검증하는 페이지를 제공할 수 있다.
S170 단계는 화면에 선택 및 커스텀된 상기 와이어 프레임 레이아웃에 디자인을 적용하여 출력하는 단계 및 실제 사용자 환경과 동일한 환경에서 시뮬레이션 하는 단계를 포함하는 단계를 포함할 수 있다.
상기 실제 사용자 환경과 동일한 환경에서 시뮬레이션 하는 단계는, 화면의 적어도 일부에 컨트롤러를 출력하는 단계; 및 상기 컨트롤러에 입력되는 상기 실무자의 입력에 따라 프로젝트의 구동을 구현하는 단계;를 포함할 수 있다.
상기 실무자가 화면을 터치하면 상기 컨트롤러가 화면의 적어도 일부에 출력될 수 있다.
상기 컨트롤러가 표시되는 것은 티커머스일 경우의 일 예일뿐 상황에 따라 마우스커서, 모바일 화면 구성 등이 출력되어 실제 사용자 환경과 동일한 환경에서 시뮬레이션을 수행할 수 있다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법의 검증 페이지를 설명하는 도면이다.
도 17 및 도 18을 참조하면, 상기 실무자 이전 단계에서 확정한 와이어 프레임을 토대로 디자인을 적용한 서비스 페이지가 화면에 출력될 수 있다. 상기 실무자는 상기 서비스 페이지에서 컨트롤러를 조작하여 실제 프로그램의 정상 작동 여부를 확인할 수 있다.
본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 방법은 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정하는 단계(S180)를 포함할 수 있다.
S180 단계에서, 상기 컴퓨팅 장치는 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 상기 실무자가 입력하여 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정할 수 있다.
S180 단계에서, 상기 컴퓨팅 장치는 상기 기능정의서 UX-bit DB, IA UX-bit DB, 와이어프레임 UX-bit DB, 디자인 UX-bit DB 및 퍼블리싱 UX-bit DB 중 적어도 하나 이상에 저장된 데이터를 이용해 프로젝트에 수정 내용이 발생하는 경우 기능정의서, IA, 와이어프레임, 디자인 및 퍼블리싱 파트를 일괄적으로 수정할 수 있다.
본 발명의 일 실시예에 따른 UX-bit를 이용한 개발 프로젝트 협업 프로그램은 소정의 주기마다 운영체제에 의해 정의된 화면을 제어하는 UX-bit를 이용한 개발 프로젝트 협업 방법을 수행하는 명령어로 구성되되, 상기 UX-bit를 이용한 개발 프로젝트 협업 방법은, 프로젝트의 목표를 입력받는 단계; 상기 프로젝트 목표를 달성하기 위한 세부과업들을 입력받는 단계; 상기 프로젝트 목표 및 상기 세부과업에서 합의된 내용을 통합된 기능정의서에 UX-bit로 정리하는 단계; 기능정의서에 기반해 UX-bit를 조합하여 IA(Information Architecture) 요소를 배치하는 단계; 상기 IA 요소에 기반해 와이어프레임(Wireframe)을 구성하는 단계; 상기 와이어프레임에 기반해 구성 페이지를 디자인하는 단계; 상기 UX-bit의 결합으로 구성된 상기 구성 페이지를 검증하는 검증 페이지를 제공하는 단계; 및 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 적어도 하나 이상에 수정 내용이 발생하면 프로젝트 전체에서 상기 프로젝트 목표, 세부과업, UX-bit, IA 요소, 와이어프레임 및 디자인 중 상기 수정 내용이 반영되는 것을 동시에 수정하는 단계를 포함할 수 있다.
UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
도 19는 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치의 작동관계를 도시한 모식도, 도 20은 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치의 구체적인 구성을 도시한 모식도이다. 도 19, 도 20에 도시된 바와 같이, 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치(1)는 이미지 테마 데이터(100)와 텍스트 테마 데이터(200)를 입력 데이터로 입력받아 디자인 데이터(300)를 출력 데이터로 실무자 클라이언트에 출력하도록 구성된다.
이미지 테마 데이터(100)는 실무자가 자동 디자인 생성 인공신경망 장치(1)를 통해 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지로서, 실무자의 선택에 의해 실무자 클라이언트로부터 자동 디자인 생성 인공신경망 장치(1)에 입력되도록 구성될 수 있다.
텍스트 테마 데이터(200)는 실무자가 자동 디자인 생성 인공신경망 장치(1)를 통해 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 텍스트로서, 실무자의 입력에 의해 실무자 클라이언트로부터 자동 디자인 생성 인공신경망 장치(1)에 입력되도록 구성될 수 있다.
디자인 데이터(300)는 자동 디자인 생성 인공신경망 장치(1)에 의해 생성된 특정 페이지에 대한 웹/앱 그래픽 디자인을 의미한다.
이미지 테마 인코딩 모듈(10)은 이미지 테마 데이터(100)를 입력 데이터로 하고 이미지 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈이다. 본 발명의 일실시예에 따른 이미지 테마 인코딩 모듈(10)은 ConvNet(CNN 인코더)로 구성될 수 있다.
텍스트 테마 인코딩 모듈(11)은 텍스트 테마 데이터(200)를 입력 데이터로 하고 텍스트 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈이다. 본 발명의 일실시예에 따른 텍스트 테마 인코딩 모듈(11)은 예를 들어, 텍스트 테마 데이터(200)를 음소 단위로 분절하여 입력 데이터로 하고, Single layer Convolution with ReLU - Max Pooling with Stride 5 = Segment Embeddings - Four layer Highway Network - Single layer Bidirectional GRU 의 구조를 가지는 인공신경망으로 구성된 인코딩 모듈을 의미할 수 있다.
도 21, 22는 본 발명의 일실시예에 따른 이미지 테마 인코딩 모듈(10) 및 텍스트 테마 인코딩 모듈(11)에 포함되는 ConvNet(CNN 인코더)의 예시도이다. 도 21, 22에 도시된 바와 같이, 간단한 ConvNet을 예시로 들자면, [INPUT-CONV-RELU-POOL-FC]으로 구축할 수 있다. 입력 벡터의 경우, INPUT 입력 매트릭스가 가로 32, 세로 32, 그리고 RGB 채널을 가지는 경우 입력의 크기는 [32x32x3]로 구성될 수 있다. CONV 레이어(Conv. Filter)는 입력 매트릭스의 일부 영역과 연결되어 있으며, 이 연결된 영역과 자신의 가중치의 내적 연산(dot product)을 계산하게 된다. 결과 볼륨은 [32x32x12]와 같은 크기를 갖게 된다. RELU 레이어는 max(0,x)와 같이 각 요소에 적용되는 액티베이션 함수(activation function)이다. RELU 레이어는 볼륨의 크기를 변화시키지 않는다([32x32x12]). 그 결과 Activation map 1을 생성한다. POOL 레이어(pooling)는 "가로, 세로" 차원에 대해 다운샘플링(downsampling)을 수행해 [16x16x12]와 같이 줄어든 볼륨(Activation map 2)을 출력한다. FC (fully-connected) 레이어는 클래스 점수들을 계산해 [1x1xn]의 크기를 갖는 압력분포 벡터 볼륨(output layer)을 출력한다. FC 레이어는 이전 볼륨의 모든 요소와 연결되어 있다.
이와 같이, 이미지 테마 인코딩 모듈(10) 및 텍스트 테마 인코딩 모듈(11)에 포함되는 ConvNet은 픽셀 값으로 이뤄진 원본 매트릭스를 각 레이어를 거치며 분포에 대한 클래스 점수로 변환(transform)시킨다. 어떤 레이어는 모수 (parameter)를 갖지만 어떤 레이어는 모수를 갖지 않는다. 특히 CONV/FC 레이어들은 단순히 입력 볼륨만이 아니라 가중치(weight)와 바이어스(bias)도 포함하는 액티베이션(activation) 함수이다. 반면 RELU/POOL 레이어들은 고정된 함수이다. CONV/FC 레이어의 모수 (parameter)들은 각 매트릭스에 대한 클래스 점수가 해당 매트릭스의 레이블과 같아지도록 그라디언트 디센트(gradient descent)로 학습된다.
이미지 테마 인코딩 모듈(10) 및 텍스트 테마 인코딩 모듈(11)에 포함되는 ConvNet의 CONV 레이어의 모수(parameter)들은 일련의 학습가능한 필터들로 이뤄져 있다. 각 필터는 가로/세로 차원으로는 작지만 깊이 (depth) 차원으로는 전체 깊이를 아우른다. 포워드 패스(forward pass) 때에는 각 필터를 입력 볼륨의 가로/세로 차원으로 슬라이딩시키며(정확히는 convolve시키며) 2차원의 액티베이션 맵 (activation map)을 생성한다. 필터를 입력 위로 슬라이딩 시킬 때, 필터와 입력 볼륨 사이에서 내적 연산(dot product)이 이뤄진다. 이러한 과정으로 ConvNet은 입력 데이터의 특정 위치의 특정 패턴에 대해 반응하는(activate) 필터를 학습하게 된다. 이런 액티베이션 맵(activation map)을 깊이(depth) 차원으로 쌓은 것이 곧 출력 볼륨이 된다. 그러므로 출력 볼륨의 각 요소들은 입력의 작은 영역만을 취급하고, 같은 액티베이션 맵 내의 뉴런들은 같은 필터를 적용한 결과이므로 같은 모수들을 공유한다.
이미지 테마 인코딩 모듈(10) 및 텍스트 테마 인코딩 모듈(11)에 포함되는 ConvNet에 이용될 수 있는 네트워크 구조들의 예시는 다음과 같다.
LeNet. 최초의 성공적인 ConvNet 애플리케이션들은 1990년대에 Yann LeCun이 만들었다. 그 중에서도 zip 코드나 숫자를 읽는 LeNet 아키텍쳐가 가장 유명하다.
AlexNet. 컴퓨터 비전 분야에서 ConvNet을 유명하게 만든 것은 Alex Krizhevsky, Ilya Sutskever, Geoff Hinton이 만든 AlexNet이다. AlexNet은 ImageNet ILSVRC challenge 2012에 출전해 2등을 큰 차이로 제치고 1등을 했다 (top 5 에러율 16%, 2등은 26%). 아키텍쳐는 LeNet과 기본적으로 유사지만, 더 깊고 크다. 또한, 과거에는 하나의 CONV 레이어 이후에 바로 POOL 레이어를 쌓은 것과 달리 여러 개의 CONV 레이어들을 쌓는 방식으로 구성하였다.
ZF Net. ILSVRC 2013년의 승자는 Matthew Zeiler와 Rob Fergus가 만들었다. 저자들의 이름을 따 ZFNet이라고 불린다. AlexNet에서 중간 CONV 레이어 크기를 조정하는 등 하이퍼파라미터들을 수정해 만들었다.
GoogLeNet. ILSVRC 2014의 승자는 Szegedy et al. 이 구글에서 만들었다. 이 모델의 가장 큰 기여는 파라미터의 개수를 엄청나게 줄여주는 Inception module을 제안한 것이다(4M, AlexNet의 경우 60M). 뿐만 아니라, ConvNet 마지막에 FC 레이어 대신 Average 풀링을 사용해 별로 중요하지 않아 보이는 파라미터들을 많이 줄이게 된다.
VGGNet. ILSVRC 2014에서 2등을 한 네트워크는 Karen Simonyan과 Andrew Zisserman이 만든 VGGNet이라고 불리우는 모델이다. 이 모델의 가장 큰 기여는 네트워크의 깊이가 좋은 성능에 있어 매우 중요한 요소라는 것을 보여준 것이다. 이들이 제안한 여러 개 모델 중 가장 좋은 것은 16개의 CONV/FC 레이어로 이뤄지며, 모든 컨볼루션은 3x3, 모든 풀링은 2x2만으로 이뤄져 있다. 비록 GoogLeNet보다 매트릭스 분류 성능은 약간 낮지만, 여러 Transfer Learning 과제에서 더 좋은 성능을 보인다는 것이 나중에 밝혀졌다. 그래서 VGGNet은 최근에 매트릭스 feature 추출을 위해 가장 많이 사용되고 있다. VGGNet의 단점은, 매우 많은 메모리를 사용하며(140M), 많은 연산량을 필요로 한다는 것이다.
ResNet. Kaiming He et al.이 만든 Residual Network가 ILSVRC 2015에서 우승을 차지했다. Skip connection이라는 특이한 구조를 사용하며 batch normalizatoin을 많이 사용했다는 특징이 있다. 이 아키텍쳐는 마지막 레이어에서 FC 레이어를 사용하지 않는다.
특히, 이미지 테마 인코딩 모듈(10)은 아래와 같은 구조의 인공신경망을 포함하도록 구성될 수 있다.
[55x55x96] CONV1 : 96@ 11x11, stride = 4, parameter = 0
[27x27x96] MAX POOL1 : 3x3, stride = 2
[27x27x256] CONV2 : 256@ 5x5, stride = 1, parameter = 2
[13x13x256] MAX POOL2 : 3x3, stride = 2
[13x13x384] CONV3 : 384@ 3x3, stride = 1, parameter = 1
[13x13x384] CONV4 : 384@ 3x3, stride = 1, parameter = 1
[13x13x256] CONV5 : 256@ 3x3, stride = 1, parameter = 1
[6x6x256] MAX POOL3 : 3x3, stride = 2
[4096] FC6 : 4096 neurons
[4096] FC7 : 4096 neurons
위 예시에서, CONV는 Convolution Layer, MAX POOL은 Pooling Layer, FC는 Fully Connected Layer를 의미한다.
UX-bit 생성 모듈(12)은 이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터를 입력 데이터로 하고, 자동 디자인 생성 인공신경망 장치(1)에서 생성할 디자인에 대한 UX-bit의 UX-bit 기능 속성 및 UX-bit 디자인 속성을 출력 데이터로 하는 모듈이다. 도 23은 본 발명의 일실시예에 따른 UX-bit 생성 모듈(12)의 구체적인 구성을 도시한 모식도이다. 도 23에 도시된 바와 같이, UX-bit 생성 모듈(12)은 UX 구성요소 생성 모듈(120), RNN 모듈(121), 강화학습 모듈(122)을 포함하도록 구성될 수 있다.
UX 구성요소 생성 모듈(120)은, 특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈이다. 보다 구체적으로는, 특정 UX구성요소에 대하여 UX-bit 기능 속성의 조합(이하, UX-bit 기능 속성) 및 UX-bit 디자인 속성의 조합(이하, UX-bit 디자인 속성)을 매칭할 수 있도록 복수의 UX구성요소를 생성하는 모듈이다. 도 24는 본 발명의 일실시예에 따른 UX 구성요소 생성 모듈(120)을 도시한 모식도이다. 도 24에 도시된 바와 같이, UX 구성요소 생성 모듈(120)은 특정 UX구성요소에 대하여 UX-bit 기능 속성/UX-bit 디자인 속성을 매칭할 수 있도록 복수의 UX구성요소를 생성하도록 구성될 수 있으며, RNN 모듈(121)에 의해 특정 UX구성요소에 대하여 복수의 UX-bit 속성 중 적어도 하나의 UX-bit 속성이 선택되어 UX-bit 속성이 매칭된 신규 UX구성요소를 연속적으로 생성하도록 구성될 수 있다.
RNN 모듈(121)은 기생성된 UX구성요소에 대하여 UX-bit 기능 속성 및 UX-bit 디자인 속성의 조합(이하, UX-bit 디자인 속성)을 매칭하는 복수의 RNN 블록(복수의 상기 RNN 블록은 제1 RNN 셀 및 제2 RNN 셀을 포함)을 포함하는 인공신경망 모듈로서, 이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터를 최초 입력 데이터로 하고, 제1 RNN 셀은 최초 입력 데이터 또는 이전 셀의 출력 데이터 및 RNN 은닉층 정보를 입력받아 n번째 UX구성요소의 UX-bit 기능 속성(UX-bit 기능 속성의 특정 조합)을 출력하며, 제2 RNN 셀은 이전 셀의 출력 데이터인 UX-bit 기능 속성 및 RNN 은닉층 정보를 입력받아 제1 RNN 셀에서 출력된 n번째 UX구성요소의 UX-bit 기능 속성에 대한 UX-bit 디자인 속성(UX-bit 디자인 속성의 특정 조합)을 출력하도록 구성될 수 있다.
도 25는 본 발명의 일실시예에 따른 RNN 모듈(121)을 도시한 모식도이다. 도 25에 도시된 바와 같이, 본 발명의 일실시예에 따른 RNN 모듈(121)은 복수개의 RNN 블록으로 구성되며, 하나의 RNN 블록은 제1 RNN 셀, 제2 RNN 셀을 포함할 수 있다. 도 7에 도시된 바와 같이, 제1 RNN 셀은 n번째 UX구성요소의 UX-bit 기능 속성을 출력하고, 제2 RNN 셀은 해당 n번째 UX구성요소의 UX-bit 기능 속성에 대한 UX-bit 디자인 속성을 출력하도록 구성될 수 있다. 본 발명의 일실시예에 따른 RNN 모듈(121)은 제1 RNN 셀에서 출력된 UX-bit 기능 속성이 'end'인 경우, UX구성요소의 개수가 기설정되어 있고 기설정된 UX구성요소 수에 도달한 경우, 강화학습 모듈(122)에 의해 계산되는 모든 Action에 대한 Reward가 음수인 경우에 추론을 종료할 수 있다. 본 발명의 일실시예에 따른 RNN 모듈(121)에 따르면, UX-bit 기능 속성 및 UX-bit 디자인 속성을 UX구성요소에 따라 순차적으로 출력하도록 구성되어 이전 step에서 생성된 UX구성요소의 속성이 다음 step에서 생성될 UX구성요소의 속성에 영향을 주게 되므로, 전체적으로 기능이 겹치지 않으면서 디자인은 통일성 있는 UX구성요소의 생성이 가능해지는 효과가 발생된다.
상기 RNN 모듈을 학습하는 강화학습 모듈(122)은, 기생성된 전체 UX구성요소의 UX-bit 속성, 이미지 테마 인코딩 벡터, 텍스트 테마 인코딩 벡터를 Environment로 하고, 상기 RNN 모듈(121)의 각 RNN 블록을 Agent로 하고, 1번째 UX구성요소에서부터 n-1번째 UX구성요소까지의 UX-bit 기능 속성 및 UX-bit 디자인 속성에 가상으로 특정 UX-bit 기능 속성 및 UX-bit 디자인 속성을 갖는 n번째 UX구성요소를 포함하였을 때의 상황을 State로 하며, 이러한 State에서 Agent인 RNN 블록이 n번째 UX구성요소에 대해 출력하는 UX-bit 기능 속성 및 UX-bit 디자인 속성을 Action으로 하고, 현재 step의 출력 데이터인 현재 step의 UX구성요소(n번째 UX구성요소)의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보와의 유사도(예를 들어, cosine similarity)가 높거나 차이(예를 들어, Kullback-Leibler divergence)가 적을수록 높은 Reward가 생성되어 Agent인 RNN 블록의 은닉층을 업데이트 하도록 구성될 수 있다. 도 26은 본 발명의 일실시예에 따른 강화학습 모듈(122)을 도시한 모식도이다. 도 26에 도시된 바와 같이, 기생성된 전체 UX구성요소의 UX-bit 속성, 이미지 테마 인코딩 벡터, 텍스트 테마 인코딩 벡터를 Environment로 하고, Agent인 RNN 블록이 1번째 UX구성요소에서부터 n-1번째 UX구성요소까지의 UX-bit 기능 속성 및 UX-bit 디자인 속성에 가상으로 특정 UX-bit 기능 속성 및 UX-bit 디자인 속성을 갖는 n번째 UX구성요소를 포함하였을 때의 상황인 State 에서 n번째 UX구성요소에 대해 출력하는 UX-bit 기능 속성 및 UX-bit 디자인 속성을 출력하는 Action을 수행하고, 현재 step의 출력 데이터인 현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도(예를 들어, cosine similarity)가 높거나 차이(예를 들어, Kullback-Leibler divergence)가 적을수록 높은 Reward가 생성되어 Agent인 RNN 블록의 은닉층을 업데이트 하도록 구성될 수 있다. 본 발명의 일실시예에 따른 강화학습 모듈(122)에 의해 최적화가 완료된 RNN 블록은 은닉층이 고정되도록 구성될 수 있다.
이에 따르면, UX구성요소 생성 모듈(120) 및 RNN 모듈(121)에 의해 이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터에 대응되는 최적의 UX-bit 속성이 각 UX구성요소에 맞게 생성되는 효과가 발생된다. 또한, 강화학습 모듈(122)이 UX구성요소 생성 모듈(120)에서 생성될 수 있는 모든 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성에 대한 모든 경우의 수를 고려할 필요 없이 각 UX구성요소에 대해 순차적으로 최적화되도록 구성되므로 강화학습 모듈(122)이 계산하여야 하는 경우의 수가 저감되어 컴퓨팅 리소스가 저감되는 효과가 발생된다.
본 발명의 변형예에 따른 강화학습 모듈(122)은 아래의 구성에 의해 보다 효과적인 강화학습에 의해 RNN 블록이 업데이트 되도록 구성될 수 있다. 도 27는 본 발명의 변형예에 따른 강화학습 모듈(122)을 도시한 모식도이다. 도 27에 도시된 바와 같이, 본 발명의 변형예에 따른 강화학습 모듈(122)은 특정 상태(state)에서의 가치를 출력하는 가치 함수를 학습하는 인공신경망인 가치망(211) 및 UX-bit 기능 속성 및 UX-bit 디자인 속성의 각 확률을 출력하는 정책 함수를 학습하는 정책망(210)을 포함할 수 있고, 본 발명의 변형예에 따른 정책망(210) 및 가치망(211)은 RNN 모듈(121)의 특정 RNN 블록에 연결되도록 구성될 수 있다. 정책망(210)과 가치망(211)은 RNN 블록과 연결되어 특정 UX구성요소에 대한 UX-bit 속성을 출력할 수 있다.
정책망(210)은 강화학습 모듈(122)의 각 상태(state)에서 선정된 UX-bit 기능 속성 및 UX-bit 디자인 속성의 확률을 결정하는 인공신경망이고, 정책 함수를 학습하여 선정된 UX-bit 기능 속성 및 UX-bit 디자인 속성의 확률을 출력하게 된다. 정책망의 Cost function은 정책함수와 가치망의 Cost Function을 곱하여 크로스 엔트로피(Cross Entropy)를 계산한 뒤 Policy gradient를 취한 함수일 수 있고, 예를 들면, 아래 수학식 1와 같이 구성될 수 있다. 정책망은 크로스 엔트로피와 가치망의 cost function인 시간차 에러의 곱을 기초로 back propagation 될 수 있다.
Figure 112022002026839-pat00001
수학식 1에서, π는 정책 함수, θ는 정책망 파라미터, πθ(ai│si)는 현재 에피소드에서 특정 액션(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 할 가능성, V는 가치 함수, w는 가치망 파라미터, si는 현재 에피소드인 i의 상태 정보, Si+1은 다음 에피소드인 i+1의 상태 정보, ri+1은 다음 에피소드에서 획득하는 것으로 예상되는 보상, Vw(si)는 현재 에피소드에서의 보상 가능성, Vw(si+1)는 다음 에피소드에서의 보상 가능성, γ는 감가율을 의미할 수 있다. 이때, ri+1은 현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도를 수신하도록 구성될 수 있다.
본 발명의 일실시예에 따른 정책망(210)은 강화학습이 진행되기 이전에 이전 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성와 이에 따른 성과 정보(현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도)를 기초로 지도학습(Supervised Learning)되어 정책망의 weight가 업데이트 됨으로써 정책의 기초를 학습할 수 있다. 즉, 정책망의 weight는 이전 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성, 성과 정보를 토대로 지도학습되어 설정될 수 있다. 이에 따르면, 이전 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성의 히스토리에 의해 정책망이 매우 빠르게 학습될 수 있는 효과가 발생된다.
또한, 본 발명의 일실시예에 따르면 정책망(210)의 지도학습 시에 랜덤 벡터를 포함하여 이전 레이어의 연산부 종류 정보 및 파라미터 정보와 이에 따른 성과 정보를 기초로 지도학습이 되도록 구성될 수 있다. 랜덤 벡터는 예를 들면 가우시안 확률 분포(Gaussian distribution)를 이용할 수 있다. 이에 따르면, 정책망이 랜덤한 확률로 도전적인 UX-bit 기능 속성 및 UX-bit 디자인 속성을 출력할 수 있게 되는 효과가 발생된다. 정책망(210)의 지도학습 시에 이전 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 이에 따른 성과 정보를 기초로 지도학습이 되도록 구성하면 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성의 선정이 이전 UX구성요소의 정책 내에서 최적화되는 결과가 나타나게 된다. 하지만, 본 발명의 일실시예에 따라 정책망의 지도학습 시에 랜덤 벡터를 포함하게 되면 강화학습이 진행될수록 정책망이 이전 UX구성요소의 정책보다 더 효과적인 UX-bit 기능 속성 및 UX-bit 디자인 속성을 학습할 수 있게 되는 효과가 발생된다.
가치망(211)은 강화학습 모듈(122)이 가질 수 있는 각 상태(State)에서 보상(Reward)을 달성할 가능성을 도출하는 인공신경망이고, 가치 함수를 학습하게 된다. 가치망(211)은 에이전트(agent)인 RNN 블록이 어떤 방향으로 업데이트 될 지에 대한 방향성을 제시해주게 된다. 이를 위해, 가치망(211)의 입력 변수는 강화학습 모듈(122)의 상태에 대한 정보인 상태 정보로 설정되고, 가치망(211)의 출력 변수는 RNN 블록이 보상을 달성할 가능성인 보상 가능성 정보(현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도)로 설정될 수 있다. 본 발명의 일실시예에 따른 보상 가능성 정보는 아래 수학식과 같은 Q-function으로 계산될 수 있다.
Figure 112022002026839-pat00002
위 수학식 2에서 Qπ는 특정 정책 π에서 상태 s, 액션 a인 경우 미래에 예상되는 전체 보상 가능성 정보를 의미하고, R은 특정 기간의 보상, gamma는 감가율을 의미할 수 있다. St는 시간 t의 상태, At는 시간 t의 액션, E는 기대값을 의미할 수 있다. 본 발명의 일실시예에 따른 보상 가능성 정보(Q value)는 정책망(210)의 업데이트 방향 및 크기를 규정하게 된다.
이때, 가치망의 Cost function은 가치 함수에 대한 MSE(Mean Square error) 함수일 수 있고, 예를 들면 아래 수학식 3과 같이 구성될 수 있다. 가치망(211)은 가치망의 cost function인 시간차 에러를 기초로 back propagation 될 수 있다.
Figure 112022002026839-pat00003
수학식 3에서, V는 가치 함수, w는 가치망 파라미터, si는 현재 에피소드인 i의 상태 정보, Si+1은 다음 에피소드인 i+1의 상태 정보, ri+1은 다음 에피소드에서 획득하는 것으로 예상되는 보상, Vw(si)는 현재 에피소드에서의 보상 가능성, Vw(si+1)는 다음 에피소드에서의 보상 가능성, γ는 감가율을 의미할 수 있다. 이때, ri+1은 현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도를 수신하도록 구성될 수 있다.
이에 따라, 가치망은 강화학습 모듈(122)의 상태가 변경될 때 수학식 3의 Cost Function을 Gradient descent 시키는 방향으로 업데이트 할 수 있다.
본 발명의 일실시예에 따르면 가치망을 정책망과 별도로 학습시키면서, 가치망의 Q value가 랜덤에서 시작하지 않고 Supervised되게 되므로 빠른 학습이 가능해지는 효과가 발생된다. 이에 따르면 매우 복잡도가 높은 UX-bit 기능 속성 및 UX-bit 디자인 속성의 조합을 선택하는 액션(action)에 있어서 탐구(exploration) 부담을 크게 줄일 수 있게 되는 효과가 발생된다.
본 발명의 일실시예에 따른 강화학습 모듈(122)에 따르면, 지도학습을 마친 정책망(210)이 현재 에피소드 i의 UX-bit 기능 속성 및 UX-bit 디자인 속성을 선정하게 되면 가치망(211)이 선정된 UX-bit 기능 속성 및 UX-bit 디자인 속성을 진행할 경우의 보상(현재 step의 UX구성요소의 UX-bit 기능 속성 및 UX-bit 디자인 속성과 비교 정보(이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터의 concatenate)와의 유사도)을 예측하도록 학습된다. 학습을 마친 강화학습 모듈(122)의 정책망(210)과 가치망(211)은 RNN 블록을 활용한 시뮬레이션과 조합되어 최종적으로 UX-bit 기능 속성 및 UX-bit 디자인 속성을 선정하는데 활용된다.
또한, 본 발명의 일실시예에 따른 가치망(211)에 따르면 선정된 UX-bit 기능 속성 및 UX-bit 디자인 속성의 확률을 출력하는 정책망의 업데이트가 매 에피소드마다 진행될 수 있는 효과가 발생된다. 기존의 강화학습에서는 강화학습 모델의 업데이트가 모든 에피소드가 종료된 이후에 진행되는 문제가 있어서, UX-bit 기능 속성 및 UX-bit 디자인 속성을 순차적으로 생성하는 RNN 모듈에 적용하는데는 어려움이 있었다.
RNN 블록은 정책망과 가치망에서 계산되는 복수의 에이전트(agent)를 기초로 다양한 상태 및 다양한 액션에 대한 복수회의 시뮬레이션을 진행하여 최적의 UX-bit 기능 속성 및 UX-bit 디자인 속성을 탐색하는 구성이다. 본 발명의 일실시예에 따른 RNN 블록은, 예를 들어, 몬테카를로 트리 탐색을 활용할 수 있고, 트리의 각 노드는 상태(state)를, 각 연결(edge)은 해당 상태에 대한 특정 액션에 따라 예상되는 가치(value)를 나타내며, 현재 상태를 뿌리 노드로 두고 새로운 액션을 취해 새로운 상태로 전이될 때 마다 잎(leaf) 노드가 확장되는 구조이다. 본 발명의 일실시예에 따른 RNN 블록에서 최적 UX-bit 기능 속성 및 UX-bit 디자인 속성 탐색은 몬테카를로 트리 탐색이 활용되는 경우, Selection, Expansion, Evaluation, Backup의 4 단계로 처리될 수 있다.
RNN 블록의 Selection 단계는, 현재 상태로부터 잎 노드가 나올 때까지 선택 가능한 액션 중 가장 가치가 높은 액션을 선택하며 진행하는 단계이다. 이 때 연결(edge)에 저장해 둔 가치함수의 값과 탐구-이용 균형을 맞추기 위한 방문빈도 값을 이용한다. Selection 단계에서 액션 선택을 위한 수학식은 아래와 같다.
Figure 112022002026839-pat00004
위 수학식 4에서 at는 시간t에서의 액션(UX-bit 기능 속성 및 UX-bit 디자인 속성 선정 수행)이고, Q(st,a)는 트리에 저장된 가치함수의 값이며, u(st,a)는 해당 상태-액션 쌍의 방문횟수에 반비례하는 값으로 탐구(exploration)와 이용의 균형을 맞추기 위해 사용된 것이다.
RNN 블록의 Expansion 단계는, 시뮬레이션이 잎 노드까지 진행되면 지도학습으로 학습된 정책망의 확률에 따라 액션하여 새로운 노드를 잎 노드로 추가하는 단계이다.
RNN 블록의 Evaluation 단계는, 새로 추가된 잎 노드로부터 가치망을 사용해 판단한 가치(보상 가능성)와 잎 노드로부터 정책망을 사용해 UX-bit 기능 속성 및 UX-bit 디자인 속성 선정의 에피소드가 끝날 때까지 진행해 얻은 보상을 통해 잎 노드의 가치를 평가하는 단계이다. 아래 수학식은 새로운 잎 노드의 가치를 평가하는 예시이다.
Figure 112022002026839-pat00005
위 수학식 5에서 V(sL)은 잎 노드의 가치, λ는 mixing 파라미터, vθ(sL)은 가치망을 통해 얻은 가치, zL은 시뮬레이션을 계속하여 얻은 보상을 의미할 수 있다.
RNN 블록의 Backup 단계는, 새로 추가된 잎 노드의 가치를 반영하여 시뮬레이션 중 방문한 노드들의 가치를 재평가하고 방문 빈도를 업데이트하는 단계이다. 아래 수학식은 노드 가치 재평가 및 방문 빈도 업데이트의 예시이다.
Figure 112022002026839-pat00006
Figure 112022002026839-pat00007
위 수학식 6에서 sL i는 i번째 시뮬레이션에서의 잎 노드를, 1(s,a,i)는 i번째 시뮬레이션에서 연결 (s,a)를 방문했는지를 나타내고, 트리 탐색이 완료되면 알고리즘은 뿌리 노드로부터 가장 많이 방문된 연결(s,a)을 선택하도록 구성될 수 있다. 본 발명의 일실시예에 따른 RNN 블록에 따르면 정책망에 의해 선별되는 복수의 UX-bit 기능 속성 및 UX-bit 디자인 속성에 대해 가치망을 기초로 복수회 시뮬레이션을 선행하여 최적의 UX-bit 기능 속성 및 UX-bit 디자인 속성을 선택할 수 있게되는 효과가 발생된다.
본 발명의 일실시예에 따르면, 복수의 에이전트(Agent)가 구성되도록 강화학습 모듈(122)이 구성될 수 있다. 복수의 에이전트가 구성되면 특정 상태, 특정 UX-bit 기능 속성 및 UX-bit 디자인 속성 각각에 대해 강화학습 모듈(122)가 선정하는 UX-bit 기능 속성 및 UX-bit 디자인 속성이 상호 경쟁하여, 가장 최적의 UX-bit 기능 속성 및 UX-bit 디자인 속성를 선정할 수 있게 되는 효과가 발생된다.
도 28은 본 발명의 일실시예에 따른 강화학습 모듈(122)의 동작예를 도시한 흐름도이다. 도 28에 도시된 바와 같이, UX구성요소 생성 모듈(120)에 의해 상태 s(t)가 입력되면 가치망(211)에 의해 정책망(210)의 복수개의 에이전트(agent)들에 의해 다양한 UX-bit 기능 속성 및 UX-bit 디자인 속성들이 RNN 블록에 입력되고, RNN 블록에 의해 출력되는 액션(action)인 선정된 UX-bit 기능 속성 및 UX-bit 디자인 속성의 확률 a(t)에 의해 UX-bit 기능 속성 및 UX-bit 디자인 속성가 선정되는 것으로 에피소드 t가 종료되고 에피소드 t+1이 시작된다. 에피소드 t+1에서는 다시 a(t)에 의한 상태 변화인 s(t+1)이 UX구성요소 생성 모듈(120)에 의해 입력되고, a(t)에 따른 보상인 r(t+1)이 곧바로 입력되어 가치망(211) 및 정책망(210)을 업데이트하게 된다.
UX-bit 생성 모듈(12)의 작동 예시와 관련하여, 도 29는 본 발명의 일실시예에 따른 UX-bit 생성 모듈(12)의 UX-bit 속성 자동 생성을 도시한 모식도이다. 도 29에 도시된 바와 같이, 예를 들어 1개의 UX구성요소에 대해 1개의 RNN 블록이 구성되고 첫 번째 RNN 블록의 제1 RNN 셀에 이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터가 입력되고 1번째 UX구성요소에 대하여 UX-bit 기능 속성 중 UX-bit 기능 1이 출력되며, 첫 번째 RNN 블록의 제2 RNN 셀에 기출력된 UX-bit 기능 1이 입력되고 1번째 UX구성요소에 대하여 UX-bit 디자인 속성 중 UX-bit 디자인 1이 출력되어 1번째 UX구성요소에 대한 UX-bit 속성이 생성되고, 두 번째 RNN 블록의 제1 RNN 셀에 1번째 UX구성요소에 대하여 기출력된 UX-bit 디자인 1이 입력되고 2번째 UX구성요소에 대한 UX-bit 기능 속성 중 UX-bit 기능 2가 출력되며, 두 번째 RNN 블록의 제2 RNN 셀에 기출력된 UX-bit 기능 2가 입력되고 UX-bit 디자인 속성 중 UX-bit 디자인 2가 출력되어 2번째 UX구성요소에 대한 UX-bit 속성이 생성되도록 구성될 수 있다.
IA 생성 모듈(13)은 UX-bit 생성 모듈(12)에서 생성된 복수의 UX구성요소의 UX-bit 속성(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 기초로 IA(Information Architecture)을 생성하는 모듈이다. IA 생성 모듈(13)에 의해 생성되는 IA는 도 14 및 도 15에 도시된 바와 같이 생성될 수 있다.
와이어프레임 생성 모듈(14)은 UX-bit 생성 모듈(12)에서 생성된 복수의 UX구성요소의 UX-bit 속성(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 기초로 와이어프레임(Wireframe)을 생성하는 모듈이다. 와이어프레임 생성 모듈(14)에 의해 생성되는 와이어프레임은 도 16에 도시된 바와 같이 생성될 수 있다.
디자인 생성 모듈(15)은 이미지 테마 인코딩 벡터, 텍스트 테마 인코딩 벡터 및 UX-bit 생성 모듈(12)에서 생성된 복수의 UX구성요소의 UX-bit 속성(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 입력 데이터로 하여 디자인 데이터를 출력 데이터로 출력하는 모듈이다. 디자인 생성 모듈(15)에 의해 생성되는 디자인 데이터는 와이어프레임에 디자인 요소가 구성된 웹/앱 페이지 등의 그래픽 디자인을 의미할 수 있다.
디자인 생성 모듈(15)의 구체적인 구성과 관련하여, 도 30은 본 발명의 일실시예에 따른 디자인 생성 모듈(15)의 구조를 도시한 모식도이다. 도 30에 도시된 바와 같이, 이미지 테마 인코딩 모듈(10), 텍스트 테마 인코딩 모듈(11) 및 UX-bit 생성 모듈(12)과 연결되어 이미지 테마 인코딩 벡터, 텍스트 테마 인코딩 벡터 및 UX-bit 속성 데이터를 concatenate 한 결합 벡터를 디자인 생성 모듈(15)의 입력 데이터로 하고, 디자인 데이터를 출력 데이터로 출력하며, 이미지 테마 판별기(150), 텍스트 테마 판별기(151), UX-bit 속성 판별기(152)에 의해 파라미터가 업데이트 되는 Upsampling 인공신경망으로 구성될 수 있다.
이미지 테마 인코딩 모듈(10), 텍스트 테마 인코딩 모듈(11) 및 디자인 생성 모듈(15)의 전반적인 실시예와 관련하여, 예를 들어, 본 발명의 일실시예에 따른 이미지 테마 인코딩 모듈(10)은 특정 차원으로 표준화 된 이미지 테마 데이터를 입력 데이터로 수신하여 1 x 1 x k의 잠재변수인 이미지 테마 인코딩 벡터를 출력 데이터로 인코딩하는 복수개의 연속된 Convolution Layer, Pooling Layer, Fully Connected Layer를 포함하는 ConvNet으로 구성될 수 있다. 또한, 이미지 테마 인코딩 모듈(10)은 디자인 생성 모듈(15)과 Skip connection 구조로 구성될 수 있다. 텍스트 테마 인코딩 모듈(11)은 텍스트 테마 데이터를 음소 기준으로 분리하여 입력하고 1 x 1 x k의 잠재변수인 텍스트 테마 인코딩 벡터를 출력 데이터로 인코딩하는 복수개의 연속된 Convolution Layer, Pooling Layer, Fully Connected Layer를 포함하는 ConvNet으로 구성될 수 있다. 또한, 텍스트 테마 인코딩 모듈(11)은 디자인 생성 모듈(15)과 Skip connection 구조로 구성될 수 있다.
이미지 테마 인코딩 모듈(10)의 학습 세션에서, 본 발명의 일실시예에 따른 이미지 테마 인코딩 모듈(10)에 입력되는 이미지 테마 데이터는 이미지 테마 인코딩 모듈(10) 및 디자인 생성 모듈(15)의 각 Convolution layer에 대해 Channel-wise concatenation의 구조로 입력되도록 구성될 수 있다. 이때, 이미지 테마 데이터를 이미지 테마 인코딩 모듈(10) 및 디자인 생성 모듈(15)의 각 Convolution layer에 대해 Channel-wise concatenation의 구조로 입력되는 구성에 의해 이미지 테마 인코딩 모듈(10) 및 디자인 생성 모듈(15)의 학습 세션에서 Vanishing Gradient가 개선되고, Feature Propagation이 강화되며, Parameter 수가 절약되어 컴퓨팅 리소스가 저감되는 효과가 발생된다.
디자인 생성 모듈(15)의 학습 세션에서는 디자인 데이터와 이에 대응되는 레퍼런스 데이터(Ground Truth)의 차이로 구성되는 대표 디자인 손실을 저감시키는 방향으로 디자인 생성 모듈(15)의 파라미터가 업데이트 되도록 구성될 수 있다. 디자인 생성 모듈(15)의 손실함수 중 하나인 대표 디자인 손실은 Mean square loss, Cross entropy loss 등으로 구성될 수 있으며, 예를 들어 아래와 같이 구성될 수 있다.
Figure 112022002026839-pat00008
위 수학식에서 Lc는 대표 디자인 손실, N은 디자인 데이터와 레퍼런스 데이터의 pair의 수(배치 크기), i는 N개의 디자인 데이터와 레퍼런스 데이터의 pair 중 특정 이미지 pair, Lg는 디자인 데이터, LG는 Ground truth로서의 레퍼런스 데이터, ∥·∥2은 L2-norm을 의미할 수 있다. 이때, 대표 디자인 손실에서의 레퍼런스 데이터는 기저장된 웹/앱 디자인 중 이미지 테마 인코딩 벡터와의 유사도 및 텍스트 테마 인코딩 벡터와의 유사도가 특정 수준 이상인 웹/앱 디자인 레퍼런스를 의미할 수 있다.
이미지 테마 판별기(150)는 디자인 생성 모듈(15)에서 출력되는 디자인 데이터를 입력받고, 이미지 테마 데이터와 디자인 데이터를 구분하는 이미지 테마 판별 벡터를 출력하도록 학습된 인공신경망 모듈이다. 본 발명의 일실시예에 따른 이미지 테마 판별기(150)는 CONCAT 함수와 복수개의 Convolution Layer를 포함하도록 구성될 수 있다.
이미지 테마 판별기(150)의 학습 세션에서는 이미지 테마 데이터(Real로 Labeling) 및 디자인 생성 모듈(15)에서 출력된 디자인 데이터(Fake로 Labeling)를 이미지 테마 판별기(150)에 입력하고, 이미지 테마 판별기(150)에서는 디자인 데이터의 Real과 Fake를 구분하는 이미지 테마 판별 벡터(Real Class와 Fake Class를 포함하거나, Real Class 만을 포함하도록 구성될 수 있음)를 출력하며, 이미지 테마 판별 벡터와 디자인 데이터의 실제 Label(Real or Fake) 사이의 차이를 포함하는 이미지 테마 판별 손실이 저감되는 방향으로 이미지 테마 판별기(150)의 ConvNet의 파라미터가 업데이트되도록 학습 세션이 구성될 수 있다.
즉, 이미지 테마 판별기(150)의 학습 세션에서는 디자인 데이터의 분포에서의 이미지 테마 판별 벡터 Ds(x)가 최소(0)가 되고 이에 대응되는 Ground Truth 분포인 이미지 테마 데이터 분포에서의 이미지 테마 판별 벡터 Ds(x)가 최대(1)가 되도록 이미지 테마 판별기(150)의 파라미터가 업데이트 되도록 구성될 수 있다. 이미지 테마 판별기(150)의 손실함수인 이미지 테마 판별 손실은 예를 들어 아래와 같이 구성될 수 있다.
Figure 112022002026839-pat00009
위 수학식에서 Ls는 이미지 테마 판별 손실, Lg는 디자인 데이터, LG는 Ground truth로서의 레퍼런스 데이터, x~LG는 레퍼런스 데이터의 분포, x~Lg는 디자인 데이터의 분포, Ds(x)는 이미지 테마 판별기(150)에서 출력된 이미지 테마 판별 벡터(0~1 사이의 확률값)를 의미한다. 이때, 이미지 테마 판별 손실에서의 레퍼런스 데이터는 이미지 테마 데이터를 의미한다.
이미지 테마 판별기(150)의 학습 세션 관련하여, 디자인 생성 모듈(15)에서 합성된 것으로 레이블링(Labeling) 된 학습 데이터와 합성되지 않은 것으로 레이블링 된 학습 데이터를 이미지 테마 판별기(150)의 학습 데이터로 구성하고, 학습 데이터를 이미지 테마 판별기(150)에 입력하여 이미지 테마 판별 벡터를 출력하고, 이미지 테마 판별 벡터를 기초로 학습 데이터의 이미지 테마 판별 손실을 계산하고, 계산된 이미지 테마 판별 손실을 최소화 하는 방향으로 이미지 테마 판별기(150)의 파라미터를 업데이트하도록 이미지 테마 판별기(150)의 학습 세션이 구성될 수 있다.
이미지 테마 판별기(150)의 작동관계와 관련하여, 디자인 생성 모듈(15)이 출력한 디자인 데이터가 이미지 테마 데이터와 유사하지 않은 디자인이라고 판별되는 경우 Ds(x)=0, Ls=0 (최대값)에 가깝게 이미지 테마 판별 손실이 출력되고, 디자인 데이터가 이미지 테마 데이터와 유사한 디자인이라고 판별되는 경우 Ds(x)=1, Ls=-∞ (최소값)에 가깝게 이미지 테마 판별 손실이 출력되도록 학습될 수 있다.
텍스트 테마 판별기(151)와 관련하여, 텍스트 테마 판별기(151)는 디자인 생성 모듈(15)에서 출력되는 디자인 데이터를 입력받고, 텍스트 테마 데이터와 디자인 데이터를 구분하는 텍스트 테마 판별 벡터를 출력하도록 학습된 인공신경망 모듈이다. 본 발명의 일실시예에 따른 텍스트 테마 판별기(151)는 CONCAT 함수와 복수개의 Convolution Layer를 포함하도록 구성될 수 있다.
텍스트 테마 판별기(151)의 학습 세션에서는 텍스트 테마 데이터의 인코딩 벡터인 텍스트 테마 인코딩 벡터(Real로 Labeling) 및 디자인 생성 모듈(15)에서 출력된 디자인 데이터의 인코딩 벡터인 디자인 인코딩 벡터(Fake로 Labeling)를 텍스트 테마 판별기(151)에 입력하고, 텍스트 테마 판별기(151)에서는 디자인 데이터의 Real과 Fake를 구분(텍스트 테마 데이터와 디자인 데이터를 구분)하는 텍스트 테마 판별 벡터(Real Class와 Fake Class를 포함하거나, Real Class 만을 포함하도록 구성될 수 있음)를 출력하며, 텍스트 테마 판별 벡터와 디자인 데이터의 실제 Label(Real or Fake) 사이의 차이를 포함하는 텍스트 테마 판별 손실이 저감되는 방향으로 텍스트 테마 판별기(151)의 ConvNet의 파라미터가 업데이트되도록 학습 세션이 구성될 수 있다.
즉, 텍스트 테마 판별기(151)의 학습 세션에서는 디자인 데이터의 인코딩 벡터의 분포에서의 텍스트 테마 판별 벡터 Ds(x)가 최소(0)가 되고 이에 대응되는 Ground Truth 분포인 텍스트 테마 데이터의 텍스트 테마 인코딩 벡터의 분포에서의 텍스트 테마 판별 벡터 Ds(x)가 최대(1)가 되도록 텍스트 테마 판별기(151)의 파라미터가 업데이트 되도록 구성될 수 있다.
텍스트 테마 판별기(151)의 손실함수인 텍스트 테마 판별 손실은 Mean square loss, Cross entropy loss 등으로 구성될 수 있으며, 예를 들어 이진 교차 엔트로피 손실(Binary cross entropy loss)이 적용되는 경우 아래와 같이 구성될 수 있다.
Figure 112022002026839-pat00010
위 수학식에서 Ls는 텍스트 테마 판별 손실, N은 텍스트 테마 인코딩 벡터와 디자인 인코딩 벡터의 pair의 수(배치 크기), i는 N개의 텍스트 테마 인코딩 벡터와 디자인 인코딩 벡터의 pair 중 특정 pair, v는 디자인 인코딩 벡터, s는 텍스트 테마 인코딩 벡터, ∥·∥2은 L2-norm을 의미할 수 있다.
UX-bit 속성 판별기(152)와 관련하여, UX-bit 속성 판별기(152)는 디자인 생성 모듈(15)에서 출력되는 디자인 데이터 및 UX-bit 생성 모듈(12)에서 출력되는 UX-bit 속성 데이터를 입력받고, 디자인 데이터와 UX-bit 속성 데이터를 구분하는 UX-bit 판별 벡터를 출력하도록 학습된 인공신경망 모듈이다. 본 발명의 일실시예에 따른 UX-bit 속성 판별기(152)는 CONCAT 함수와 복수개의 Convolution Layer를 포함하도록 구성될 수 있다.
UX-bit 속성 판별기(152)의 학습 세션에서는 UX-bit 속성 데이터의 인코딩 벡터(Real로 Labeling) 및 디자인 생성 모듈(15)에서 출력된 디자인 데이터의 인코딩 벡터인 디자인 인코딩 벡터(Fake로 Labeling)를 UX-bit 속성 판별기(152)에 입력하고, UX-bit 속성 판별기(152)에서는 디자인 데이터의 Real과 Fake를 구분(UX-bit 속성 데이터와 디자인 데이터를 구분)하는 UX-bit 속성 판별 벡터(Real Class와 Fake Class를 포함하거나, Real Class 만을 포함하도록 구성될 수 있음)를 출력하며, UX-bit 속성 판별 벡터와 디자인 데이터의 실제 Label(Real or Fake) 사이의 차이를 포함하는 UX-bit 속성 판별 손실이 저감되는 방향으로 UX-bit 속성 판별기(152)의 ConvNet의 파라미터가 업데이트되도록 학습 세션이 구성될 수 있다.
즉, UX-bit 속성 판별기(152)의 학습 세션에서는 디자인 데이터의 인코딩 벡터의 분포에서의 UX-bit 속성 판별 벡터 Ds(x)가 최소(0)가 되고 이에 대응되는 Ground Truth 분포인 UX-bit 속성 데이터의 인코딩 벡터의 분포에서의 UX-bit 속성 판별 벡터 Ds(x)가 최대(1)가 되도록 UX-bit 속성 판별기(152)의 파라미터가 업데이트 되도록 구성될 수 있다. UX-bit 속성 판별기(152)의 손실함수인 UX-bit 속성 판별 손실은 Mean square loss, Cross entropy loss 등으로 구성될 수 있다.
디자인 생성 모듈(15)의 다른 실시예와 관련하여, 도 31은 본 발명의 다른 실시예에 따른 디자인 생성 모듈(15)의 작동관계를 도시한 모식도이다. 도 31에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 디자인 생성 모듈(15)은 비선형 네트워크와 연결될 수 있으며, 비선형 네트워크는, 복수개의 FC(Fully Connected Layer)가 연속적으로 연결된 비선형 구조의 네트워크이고, 이미지 테마 인코딩 벡터 및 텍스트 테마 인코딩 벡터가 concatenate 된 결합 벡터를 입력 데이터로 하고, 테마 벡터(theme vector)를 출력 데이터로 출력하며, 출력된 테마 벡터를 디자인 생성 모듈(15)의 네트워크 내 복수의 레이어에 스케일별로 입력하는 모듈이다. 이때, 디자인 생성 모듈(15)의 입력 데이터로 이미지 테마 인코딩 벡터, 텍스트 테마 인코딩 벡터 및 UX-bit 속성 데이터가 concatenate 된 결합 벡터가 아닌 UX-bit 속성 데이터가 적용되며, 테마 벡터가 입력되는 스케일의 레이어에 noise vector가 각각 입력되게 된다. 이에 따르면, 이미지 테마 인코딩 벡터와 텍스트 테마 인코딩 벡터의 데이터 분포가 디자인 생성 모듈(15)의 데이터 분포를 제한하지 않게 되면서 동시에 UX-bit 속성 데이터의 데이터 분포가 디자인 생성 모듈(15)의 데이터 분포를 제한하게 되므로, UX-bit 속성 데이터에 엄격하면서도 실무자에 의해 주어진 이미지 테마 및 텍스트 테마로부터 자유도가 상승되게 되어 고정적인 와이어프레임에서 다양한 디자인을 생성할 수 있게 되는 효과가 발생된다.
디자인 생성 모듈(15)의 Skip connection과 관련하여, 도 32는 본 발명의 일실시예에 따른 디자인 생성 모듈(15)의 Skip connection을 도시한 모식도이다. 도 32에 도시된 바와 같이, 디자인 생성 모듈(15)의 Skip connection은 이미지 테마 인코딩 모듈(10)과 디자인 생성 모듈(15)은 이미지 테마 인코딩 벡터를 통하여만 연결되는 것이 아니라, 이미지 테마 인코딩 모듈(10)의 특정 레이어와 디자인 생성 모듈(15)의 특정 레이어를 덧셈 로직으로 추가 연결하는 구조를 의미한다. 이에 따르면, gradient vanishing 및 exploding 문제가 저감되는 효과가 발생되고, 이전 레이어로부터 얼마나 변하는지 나머지(residual)만 계산하면 되므로 컴퓨팅 리소스가 저감되는 효과가 발생된다.
이미지 테마 인코딩 모듈(10)의 다른 실시예와 관련하여, 도 33은 본 발명의 다른 실시예에 따른 공통 테마 세그먼트 모듈(101)을 도시한 모식도이다. 도 33에 도시된 바와 같이, 이미지 테마 인코딩 모듈(10)은 공통 테마 세그먼트 모듈(101)과 연결되도록 구성될 수 있다. 공통 테마 세그먼트 모듈(101)은 이미지 테마 데이터(100)를 입력 데이터로 하고 공통 테마 세그먼트 데이터를 출력 데이터로 하는 모듈이고, 텍스트 테마 인코딩 벡터와 이미지 테마 인코딩 벡터의 유사도를 증가시키는 방향으로 공통 테마 세그먼트 모듈(101)의 파라미터가 업데이트 되도록 구성될 수 있다. 본 발명의 일실시예에 따른 공통 테마 세그먼트 모듈(101)의 네트워크 구조는 J.Long et al.(2015)의 Fully Convolutional Network(FCN), W.Liu et al.(2015)의 ParseNet, H.Noh et al.(2015)의 Convolutional and Deconvolutional Networks, O.Ronneberger et al.(2015)의 U-Net 등의 구조가 적용될 수 있다. 이에 따르면, 실무자가 입력한 이미지 테마 데이터의 전체가 디자인 데이터를 생성하는데 사용되는 것이 아니라, 이미지 테마 데이터 중 텍스트 테마 데이터와 관련이 있는 부분만 세그먼트되어 디자인 데이터를 생성하는데 사용되게 되므로, 디자인 생성 모듈(15)에서 작업자의 의도와 보다 관련성 높은 디자인이 생성되게 되는 효과가 발생된다.
위와 같은 본 발명의 일실시예에 따른 자동 디자인 생성 인공신경망 장치(1)의 구성 및 UX-bit의 구성의 유기적 결합에 의해, 실무자는 생성하고자 하는 디자인의 컨셉이자 테마에 대응되는 이미지인 이미지 테마 데이터 및 생성하고자 하는 디자인의 컨셉이자 테마에 대응되는 텍스트인 텍스트 테마 데이터를 입력하는 것 만으로 UX-bit 속성이 규정되고 IA, Wireframe, 웹/앱 디자인을 생성할 수 있게 되는 효과가 발생된다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다. 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 자동 디자인 생성 인공신경망 장치
10: 이미지 테마 인코딩 모듈
11: 텍스트 테마 인코딩 모듈
12: UX-bit 생성 모듈
13: IA 생성 모듈
14: 와이어프레임 생성 모듈
15: 디자인 생성 모듈
100: 이미지 테마 데이터
101: 공통 테마 세그먼트 모듈
120: UX 구성요소 생성 모듈
121: RNN 모듈
122: 강화학습 모듈
150: 이미지 테마 판별기
151: 텍스트 테마 판별기
152: UX-bit 속성 판별기
200: 텍스트 테마 데이터
210: 정책망
211: 가치망
300: 디자인 데이터

Claims (3)

  1. 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터를 입력 데이터로 하고 이미지 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈인 이미지 테마 인코딩 모듈;
    상기 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 텍스트인 텍스트 테마 데이터를 입력 데이터로 하고 텍스트 테마 인코딩 벡터를 출력 데이터로 하는 인코딩 모듈인 텍스트 테마 인코딩 모듈;
    상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터를 입력 데이터로 하고, 복수의 UX구성요소에 대한 UX-bit 속성을 출력 데이터로 하는 모듈인 UX-bit 생성 모듈;
    상기 이미지 테마 인코딩 벡터, 상기 텍스트 테마 인코딩 벡터 및 상기 UX-bit 속성을 입력 데이터로 하여 특정 웹/앱 그래픽 디자인을 의미하는 디자인 데이터를 출력 데이터로 출력하는 Upsampling 인공신경망 모듈인 디자인 생성 모듈;
    Real로 레이블링 된 상기 이미지 테마 데이터 및 Fake로 레이블링 된 상기 디자인 데이터를 학습 데이터로 하여 출력되는 이미지 테마 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습되고, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 이미지 테마 판별 벡터를 출력 데이터로 하는 인공신경망 모듈인 이미지 테마 판별기;
    Real로 레이블링 된 상기 텍스트 테마 인코딩 벡터 및 Fake로 레이블링 된 상기 디자인 데이터의 인코딩 벡터인 디자인 인코딩 벡터를 학습 데이터로 하여 출력되는 텍스트 테마 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습되고, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 텍스트 테마 판별 벡터를 출력 데이터로 하는 인공신경망 모듈인 텍스트 테마 판별기; 및
    Real로 레이블링 된 상기 UX-bit 속성의 인코딩 벡터 및 Fake로 레이블링 된 상기 디자인 인코딩 벡터를 학습 데이터로 하여 출력되는 UX-bit 속성 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습되고, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 UX-bit 속성 판별 벡터를 출력 데이터로 하는 인공신경망 모듈인 UX-bit 속성 판별기;
    를 포함하고,
    상기 디자인 생성 모듈의 학습 세션에서는, 상기 이미지 테마 판별기, 상기 텍스트 테마 판별기 및 상기 UX-bit 속성 판별기에 의해 상기 디자인 생성 모듈의 파라미터가 업데이트되고,
    상기 UX-bit 속성은 UX-bit 기능 속성 및 UX-bit 디자인 속성을 포함하고,
    상기 UX-bit 생성 모듈은,
    특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈인 UX 구성요소 생성 모듈;
    상기 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 출력하는 인공신경망 모듈인 RNN 모듈; 및
    특정 상태(state)에서의 보상(Reward)을 달성할 가능성인 보상 가능성 정보를 출력하는 가치 함수를 학습하는 인공신경망인 가치망 및 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성의 각 확률을 출력하는 정책 함수를 학습하는 인공신경망인 정책망을 포함하며, 상기 RNN 모듈을 에이전트(Agent)로 하여 업데이트 하도록 구성되는 강화학습 모듈;
    을 포함하며,
    상기 보상 가능성 정보는, 현재 에피소드의 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성과 비교 정보와의 유사도로 구성되고,
    상기 비교 정보는 상기 이미지 테마 인코딩 벡터와 상기 텍스트 테마 인코딩 벡터의 조합(concatenate)을 의미하며,
    상기 정책망의 손실함수(Cost Function)는 아래 수학식과 같이 구성되는 것을 특징으로 하는,
    UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치.
    [수학식]
    Figure 112022031715757-pat00011

    상기 수학식에서, π는 정책 함수, θ는 정책망 파라미터, πθ(ai│si)는 현재 에피소드에서 특정 액션(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 할 가능성, V는 가치 함수, w는 가치망 파라미터, si는 현재 에피소드인 i의 상태 정보, Si+1은 다음 에피소드인 i+1의 상태 정보, ri+1은 다음 에피소드에서 획득하는 것으로 예상되는 보상, Vw(si)는 현재 에피소드에서의 보상 가능성, Vw(si+1)는 다음 에피소드에서의 보상 가능성, γ는 감가율을 의미.
  2. 이미지 테마 인코딩 모듈이, 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터를 입력 데이터로 입력받고 이미지 테마 인코딩 벡터를 출력 데이터로 출력하는 이미지 테마 인코딩 단계;
    텍스트 테마 인코딩 모듈이, 상기 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 텍스트인 텍스트 테마 데이터를 입력 데이터로 입력받고 텍스트 테마 인코딩 벡터를 출력 데이터로 출력하는 텍스트 테마 인코딩 단계;
    UX-bit 생성 모듈이, 상기 이미지 테마 인코딩 벡터 및 상기 텍스트 테마 인코딩 벡터를 입력 데이터로 입력받고, 복수의 UX구성요소에 대한 UX-bit 속성을 출력 데이터로 출력하는 UX-bit 생성 단계;
    디자인 생성 모듈이, 상기 이미지 테마 인코딩 벡터, 상기 텍스트 테마 인코딩 벡터 및 상기 UX-bit 속성을 입력 데이터로 하여 특정 웹/앱 그래픽 디자인을 의미하는 디자인 데이터를 출력 데이터로 출력하는 디자인 생성 단계;
    Real로 레이블링 된 상기 이미지 테마 데이터 및 Fake로 레이블링 된 상기 디자인 데이터를 학습 데이터로 하여 출력되는 이미지 테마 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습된 인공신경망 모듈인 이미지 테마 판별기가, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 이미지 테마 판별 벡터를 출력 데이터로 출력하는 이미지 테마 판별 단계;
    Real로 레이블링 된 상기 텍스트 테마 인코딩 벡터 및 Fake로 레이블링 된 상기 디자인 데이터의 인코딩 벡터인 디자인 인코딩 벡터를 학습 데이터로 하여 출력되는 텍스트 테마 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습된 인공신경망 모듈인 텍스트 테마 판별기가, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 텍스트 테마 판별 벡터를 출력 데이터로 출력하는 텍스트 테마 판별 단계; 및
    Real로 레이블링 된 상기 UX-bit 속성의 인코딩 벡터 및 Fake로 레이블링 된 상기 디자인 인코딩 벡터를 학습 데이터로 하여 출력되는 UX-bit 속성 판별 벡터와 ground truth의 차이를 저감시키는 방향으로 학습된 인공신경망 모듈인 UX-bit 속성 판별기가, 상기 디자인 데이터가 입력 데이터로 입력되면 상기 디자인 데이터의 Real 또는 Fake에 대한 확률을 의미하는 상기 UX-bit 속성 판별 벡터를 출력 데이터로 출력하는 UX-bit 속성 판별 단계;
    를 포함하고,
    상기 디자인 생성 모듈의 학습 세션에서는, 상기 이미지 테마 판별기, 상기 텍스트 테마 판별기 및 상기 UX-bit 속성 판별기에 의해 상기 디자인 생성 모듈의 파라미터가 업데이트되고,
    상기 UX-bit 속성은 UX-bit 기능 속성 및 UX-bit 디자인 속성을 포함하고,
    상기 UX-bit 생성 모듈은,
    특정 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 매칭할 수 있도록 복수의 상기 UX구성요소를 생성하는 모듈인 UX 구성요소 생성 모듈;
    상기 UX구성요소에 대하여 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성을 출력하는 인공신경망 모듈인 RNN 모듈; 및
    특정 상태(state)에서의 보상(Reward)을 달성할 가능성인 보상 가능성 정보를 출력하는 가치 함수를 학습하는 인공신경망인 가치망 및 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성의 각 확률을 출력하는 정책 함수를 학습하는 인공신경망인 정책망을 포함하며, 상기 RNN 모듈을 에이전트(Agent)로 하여 업데이트 하도록 구성되는 강화학습 모듈;
    을 포함하며,
    상기 보상 가능성 정보는, 현재 에피소드의 상기 UX-bit 기능 속성 및 상기 UX-bit 디자인 속성과 비교 정보와의 유사도로 구성되고,
    상기 비교 정보는 상기 이미지 테마 인코딩 벡터와 상기 텍스트 테마 인코딩 벡터의 조합(concatenate)을 의미하며,
    상기 정책망의 손실함수(Cost Function)는 아래 수학식과 같이 구성되는 것을 특징으로 하는,
    UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 방법.
    [수학식]
    Figure 112022031715757-pat00012

    상기 수학식에서, π는 정책 함수, θ는 정책망 파라미터, πθ(ai│si)는 현재 에피소드에서 특정 액션(UX-bit 기능 속성 및 UX-bit 디자인 속성)을 할 가능성, V는 가치 함수, w는 가치망 파라미터, si는 현재 에피소드인 i의 상태 정보, Si+1은 다음 에피소드인 i+1의 상태 정보, ri+1은 다음 에피소드에서 획득하는 것으로 예상되는 보상, Vw(si)는 현재 에피소드에서의 보상 가능성, Vw(si+1)는 다음 에피소드에서의 보상 가능성, γ는 감가율을 의미.
  3. 실무자가 생성하고자 하는 웹/앱 그래픽 디자인의 테마를 대표하는 이미지인 이미지 테마 데이터 및 상기 실무자가 생성하고자 하는 상기 테마를 대표하는 텍스트인 텍스트 테마 데이터를 상기 실무자로부터 입력받는 실무자 클라이언트; 및
    상기 실무자 클라이언트로부터 상기 이미지 테마 데이터 및 상기 텍스트 테마 데이터를 입력받고, 상기 이미지 테마 데이터 및 상기 텍스트 테마 데이터에 대응되는 디자인 데이터를 출력하는 제1항에 따른 UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치;
    를 포함하는,
    UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 시스템.
KR1020220002310A 2021-05-31 2022-01-06 UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법 KR102401112B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220002310A KR102401112B1 (ko) 2021-05-31 2022-01-06 UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210070403A KR102350745B1 (ko) 2021-05-31 2021-05-31 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002310A KR102401112B1 (ko) 2021-05-31 2022-01-06 UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210070403A Division KR102350745B1 (ko) 2021-05-31 2021-05-31 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102401112B1 true KR102401112B1 (ko) 2022-05-24

Family

ID=79342913

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020210070403A KR102350745B1 (ko) 2021-05-31 2021-05-31 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002310A KR102401112B1 (ko) 2021-05-31 2022-01-06 UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002314A KR102401115B1 (ko) 2021-05-31 2022-01-06 UX-bit, Skip connection 구조 및 Channel-wise concatenation 구조를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002311A KR102401113B1 (ko) 2021-05-31 2022-01-06 보상 가능성 정보 및 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002312A KR102401114B1 (ko) 2021-05-31 2022-01-06 UX-bit를 이용한 가치망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002313A KR102363370B1 (ko) 2021-05-31 2022-01-06 UX-bit 및 몬테카를로 트리 탐색을 이용한 자동 디자인 생성 인공신경망 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020210070403A KR102350745B1 (ko) 2021-05-31 2021-05-31 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020220002314A KR102401115B1 (ko) 2021-05-31 2022-01-06 UX-bit, Skip connection 구조 및 Channel-wise concatenation 구조를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002311A KR102401113B1 (ko) 2021-05-31 2022-01-06 보상 가능성 정보 및 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002312A KR102401114B1 (ko) 2021-05-31 2022-01-06 UX-bit를 이용한 가치망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법
KR1020220002313A KR102363370B1 (ko) 2021-05-31 2022-01-06 UX-bit 및 몬테카를로 트리 탐색을 이용한 자동 디자인 생성 인공신경망 장치 및 방법

Country Status (4)

Country Link
US (1) US20230351655A1 (ko)
JP (1) JP7569589B2 (ko)
KR (6) KR102350745B1 (ko)
WO (1) WO2022255632A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350745B1 (ko) * 2021-05-31 2022-01-14 주식회사 틴토랩 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법
KR20240068049A (ko) * 2022-11-01 2024-05-17 팜피 주식회사 사용자에게 어셋 및 콘텐츠를 추천하는 방법 및 이를 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102095118B1 (ko) 2018-08-20 2020-04-23 한양대학교 산학협력단 자동화된 디자인 생성 방법 및 시스템
KR102198545B1 (ko) 2018-11-30 2021-01-06 카페24 주식회사 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치
KR102246537B1 (ko) 2019-03-22 2021-04-30 카페24 주식회사 온라인 쇼핑몰 배너 디자인 자동 생성 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477580B1 (en) * 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
WO2005078597A1 (en) * 2004-02-06 2005-08-25 Sequoia Media Group, Lc Automated multimedia object models
BR112018074312A2 (pt) * 2016-05-29 2019-03-12 Wix.Com Ltd. método para um sistema de construção de website, e sistema de construção de website
WO2018098340A1 (en) * 2016-11-23 2018-05-31 FlyrTV, Inc. Intelligent graphical feature generation for user content
US20190213705A1 (en) * 2017-12-08 2019-07-11 Digimarc Corporation Artwork generated to convey digital messages, and methods/apparatuses for generating such artwork
US10489126B2 (en) 2018-02-12 2019-11-26 Oracle International Corporation Automated code generation
US10685050B2 (en) * 2018-04-23 2020-06-16 Adobe Inc. Generating a topic-based summary of textual content
US11163777B2 (en) * 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors
KR102072820B1 (ko) * 2018-11-30 2020-02-03 남정우 정책망 및 가치망을 이용한 온라인 쇼핑몰에서의 프로모션 이미지 수정 장치
KR102188431B1 (ko) * 2019-03-11 2020-12-08 성균관대학교산학협력단 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치
US10929110B2 (en) * 2019-06-15 2021-02-23 International Business Machines Corporation AI-assisted UX design evaluation
US20210117484A1 (en) 2019-10-21 2021-04-22 Salesforce.Com, Inc. Webpage template generation
US20210406673A1 (en) * 2020-06-26 2021-12-30 Nvidia Corporation Interface translation using one or more neural networks
KR102213291B1 (ko) * 2020-07-30 2021-02-04 배도연 웹사이트 제작 시스템
US11586826B2 (en) * 2020-10-01 2023-02-21 Crowdsmart, Inc. Managing and measuring semantic coverage in knowledge discovery processes
KR102350745B1 (ko) * 2021-05-31 2022-01-14 주식회사 틴토랩 UX-bit를 이용한 자동 디자인 생성 인공신경망 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102095118B1 (ko) 2018-08-20 2020-04-23 한양대학교 산학협력단 자동화된 디자인 생성 방법 및 시스템
KR102198545B1 (ko) 2018-11-30 2021-01-06 카페24 주식회사 온라인 전자상거래의 쇼핑몰의 디자인 자동 생성 방법 및 장치
KR102246537B1 (ko) 2019-03-22 2021-04-30 카페24 주식회사 온라인 쇼핑몰 배너 디자인 자동 생성 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ni shit Gajjar et al., Akin: Generating UI Wireframes From UI Design Patterns Using Deep Learning, IUI '21 Companion: 26th International Conference on Intelligent User Interfaces, 40-42pages (2021. 4. *

Also Published As

Publication number Publication date
US20230351655A1 (en) 2023-11-02
JP2024515373A (ja) 2024-04-09
KR102401115B1 (ko) 2022-05-24
KR102401113B1 (ko) 2022-05-24
KR102363370B1 (ko) 2022-02-16
KR102401114B1 (ko) 2022-05-24
WO2022255632A1 (ko) 2022-12-08
KR102350745B1 (ko) 2022-01-14
JP7569589B2 (ja) 2024-10-18

Similar Documents

Publication Publication Date Title
EP3814890B1 (en) Refinement of machine learning engines for automatically generating component-based user interfaces
US12033038B2 (en) Learning data augmentation policies
EP3686848A1 (en) Semantic image synthesis for generating substantially photorealistic images using neural networks
US10943497B2 (en) Personalized e-learning using a deep-learning-based knowledge tracing and hint-taking propensity model
US10928982B2 (en) Automatic grouping of user interface elements into components
US11138022B2 (en) Dynamic user interface for predicted procedures
US11275596B2 (en) System and method for optimizing a user interface and a system and method for manipulating a user's interaction with an interface
US11740879B2 (en) Creating user interface using machine learning
US10949174B2 (en) Automatic classification of user interface elements
KR102401112B1 (ko) UX-bit를 이용한 정책망을 포함하는 자동 디자인 생성 인공신경망 장치 및 방법
US10963694B2 (en) Duplicate user interface design identification
US11030726B1 (en) Image cropping with lossless resolution for generating enhanced image databases
Barnes Microsoft Azure essentials Azure machine learning
US20230127525A1 (en) Generating digital assets utilizing a content aware machine-learning model
Den Bakker Python Deep Learning Cookbook: Over 75 practical recipes on neural network modeling, reinforcement learning, and transfer learning using Python
Hu et al. A study on the automatic generation of banner layouts
US20220414936A1 (en) Multimodal color variations using learned color distributions
US11620550B2 (en) Automated data table discovery for automated machine learning
US20230384910A1 (en) Using Attributes for Font Recommendations
Kozlova et al. Development of the toolkit to process the internet memes meant for the modeling, analysis, monitoring and management of social processes
Lamons et al. Python Deep Learning Projects: 9 projects demystifying neural network and deep learning models for building intelligent systems
US20240312087A1 (en) Custom content generation
US20240070495A1 (en) Explainability for artificial intelligence-based decisions
CN117151247B (zh) 机器学习任务建模的方法、装置、计算机设备和存储介质
US20230125621A1 (en) Generating visualizations for semi-structured data

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant