KR102278284B1 - 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법 - Google Patents

중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법 Download PDF

Info

Publication number
KR102278284B1
KR102278284B1 KR1020210024247A KR20210024247A KR102278284B1 KR 102278284 B1 KR102278284 B1 KR 102278284B1 KR 1020210024247 A KR1020210024247 A KR 1020210024247A KR 20210024247 A KR20210024247 A KR 20210024247A KR 102278284 B1 KR102278284 B1 KR 102278284B1
Authority
KR
South Korea
Prior art keywords
block
model
data
input
deep learning
Prior art date
Application number
KR1020210024247A
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 KR1020210024247A priority Critical patent/KR102278284B1/ko
Application granted granted Critical
Publication of KR102278284B1 publication Critical patent/KR102278284B1/ko

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/045Combinations of networks
    • G06N3/0454
    • 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

Landscapes

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

Abstract

본 문서에 개시되는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치는 사용자 단말과 통신하도록 구성된 통신 회로, 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터의 입력을 위한 원본 데이터 블록, 원본 데이터의 전처리를 위한 데이터 전처리 블록, 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 모델 편집 블록 및 딥러닝 알고리즘의 트레이너를 선택하기 위한 모델 트레이너 블록을 생성하고, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 포함하는 제1 화면을 통신 회로를 이용하여 사용자 단말로 제공하고, 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 원본 데이터 블록을 통해 입력된 원본 데이터에 적용함으로써 생성되는 전처리된 데이터를 획득하고, 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 전처리된 데이터를 입력하고 모델 트레이너 블록을 통해 선택된 트레이너를 이용함으로써 학습된 딥러닝 모델을 획득하고, 학습된 딥러닝 모델을 메모리에 저장할 수 있다.

Description

중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법{APPARATUS AND METHOD FOR PRODUCING DEEP LEARNING MODEL USING NESTED EDITABLE BLOCK}
본 문서에서 개시되는 실시 예들은 GUI(graphical user interface) 기반의 중첩 편집 블록을 이용하여 딥러닝 모델을 제작하는 장치 및 방법과 관련된다.
ICT(information and communication technology) 분야에서 현재 가장 많은 관심을 받고 있는 영역은 사고 또는 학습 등과 같이 인간이 가진 지적 능력을 컴퓨터를 통해 구현하는 인공지능 기술로, 특히 인간의 뉴런과 비슷한 인공 신경망 방식으로 정보를 처리하는 딥러닝 기술에 대한 관심이 크다고 할 수 있다. 딥러닝 모델은 그 활용 범위에 제한이 없으므로, 다양한 산업 분야에서 실제로 활용되고 있으며, 다수의 ICT 기반 기업에서 자신의 비즈니스에 활용될 수 있는 딥러닝 모델의 개발에 많은 자원을 투자하고 있다.
한편, 제4차 산업 혁명에 따른 시대적 요구로 인해 컴퓨터 프로그래밍 교육에 대한 관심이 지속적으로 증가하고 있다. 대부분의 컴퓨터 프로그래밍 교육은 교육 대상자의 코딩 능력을 향상시키는 데에 중점을 두고 있다. 상술한 것과 같이 딥러닝 기술에 대한 관심이 높아짐에 따라 컴퓨터 프로그래밍 교육에 있어서도 딥러닝을 위한 프로그래밍 교육의 수요 또한 크게 증가할 수 있다.
딥러닝 모델의 구현을 위해서는 데이터 처리, 인공지능 모델 생성, 하이퍼 파라미터 설정, 모델 훈련 및 추론을 위한 프로그램을 제작할 필요성이 있다. 그러나, 상술한 프로그램의 제작은 기술적 장벽이 과도하게 높아 통상적인 사용자가 딥러닝 모델을 직접 개발하거나 개발 방법을 학습하는 데에는 큰 어려움이 따를 수 있다. 따라서, 컴퓨터 프로그래밍에 대한 지식이 상대적으로 부족한 사용자가 딥러닝 모델을 용이하게 개발할 수 있고, 딥러닝 모델의 개발을 위한 교육을 효율적으로 수행할 수 있는 플랫폼에 대한 관심이 증가하고 있다.
본 발명의 실시 예들은, GUI(graphical user interface)에 기반하여 복잡한 코딩 과정 없이 딥러닝 모델의 개발을 손쉽게 수행할 수 있는 플랫폼을 제공하는 장치 및 방법을 제공하기 위한 것이다.
본 문서에 개시되는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치는 사용자 단말과 통신하도록 구성된 통신 회로, 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터의 입력을 위한 원본 데이터 블록, 원본 데이터의 전처리를 위한 데이터 전처리 블록, 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 모델 편집 블록 및 딥러닝 알고리즘의 트레이너를 선택하기 위한 모델 트레이너 블록을 생성하고, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 포함하는 제1 화면을 통신 회로를 이용하여 사용자 단말로 제공하고, 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 원본 데이터 블록을 통해 입력된 원본 데이터에 적용함으로써 생성되는 전처리된 데이터를 획득하고, 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 전처리된 데이터를 입력하고 모델 트레이너 블록을 통해 선택된 트레이너를 이용함으로써 학습된 딥러닝 모델을 획득하고, 학습된 딥러닝 모델을 메모리에 저장할 수 있다.
일 실시 예에 따르면, 프로세서는 데이터 전처리 블록에 대한 입력에 반응하여, 전처리를 위한 함수의 종류를 선택하기 위한 메뉴를 포함하는 제2 화면을 사용자 단말로 제공하고, 함수의 종류를 선택하기 위한 메뉴에 대한 입력에 반응하여, 복수의 함수 각각에 대응하는 복수의 데이터 전처리 서브 블록을 생성하고, 복수의 데이터 전처리 서브 블록이 생성되면, 복수의 데이터 전처리 서브 블록을 더 포함하는 제2 화면을 통신 회로를 이용하여 사용자 단말로 제공할 수 있다.
일 실시 예에 따르면, 프로세서는 모델 편집 블록에 대한 입력에 반응하여, 딥러닝 알고리즘을 구성하는 레이어의 종류를 선택하기 위한 메뉴를 포함하는 제3 화면을 통신 회로를 이용하여 사용자 단말로 제공하고, 레이어의 종류를 선택하기 위한 메뉴에 대한 입력에 반응하여, 복수의 레이어 각각에 대응하는 복수의 모델 편집 서브 블록을 생성하고, 복수의 모델 편집 서브 블록이 생성되면, 복수의 모델 편집 서브 블록을 더 포함하는 제3 화면을 통신 회로를 이용하여 사용자 단말로 제공할 수 있다.
일 실시 예에 따르면, 프로세서는 사용자 단말에서의 노드 연결을 위한 입력에 반응하여, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록 사이의 연결 관계, 복수의 데이터 전처리 서브 블록 사이의 연결 관계, 및 복수의 모델 편집 서브 블록 사이의 연결 관계를 설정하기 위한 복수의 링크를 생성할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 방법은 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터의 입력을 위한 원본 데이터 블록, 원본 데이터의 전처리를 위한 데이터 전처리 블록, 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 모델 편집 블록 및 딥러닝 알고리즘의 트레이너를 선택하기 위한 모델 트레이너 블록을 생성하는 단계, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 포함하는 제1 화면을 사용자 단말로 제공하는 단계, 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 원본 데이터 블록을 통해 입력된 원본 데이터에 적용함으로써 생성되는 전처리된 데이터를 획득하는 단계, 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 전처리된 데이터를 입력함으로써 모델 트레이너 블록을 통해 선택된 트레이너를 이용하여 학습된 딥러닝 모델을 획득하는 단계, 및 학습된 딥러닝 모델을 저장하는 단계를 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 노드 생성을 위한 사용자 입력에 따라 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록 등을 생성함으로써, 마우스 입력 및 터치 입력 등과 같은 단순한 사용자 입력을 통해 코딩 없이 딥러닝 모델을 간편하게 제작할 수 있다.
또한, 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록을 제공함으로써, 다양한 함수를 이용하여 원본 데이터를 전처리하는 방식을 커스터마이징할 수 있다.
또한, 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록을 제공함으로써, 다양한 레이어를 활용하여 딥러닝 모델의 구성을 커스터마이징할 수 있다.
또한, 노드 연결을 위한 사용자 입력에 따라 블록 및 서브 블록 사이의 링크를 생성함으로써, 드래그 입력 등과 같은 단순한 사용자 입력을 통해 코딩 없이 블록 및 서브 블록 사이의 연결 관계를 간편하게 설정할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 동작 환경을 도시한다.
도 2는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 구성을 도시하는 블록도이다.
도 3은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 방법을 설명하기 위한 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해서 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경, 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 동작 환경을 도시한다.
도 1을 참조하면, 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치는 컴퓨팅 디바이스로서 서버(100)로 구현될 수 있다. 서버(100)는 딥러닝 모델의 제작을 위한 툴을 사용자 단말(11)로 제공할 수 있고, 사용자 단말(11)에서의 입력에 따라 딥러닝 모델을 제작할 수 있다.
구체적으로, 서버(100)는 웹 문서, 웹 어플리케이션 및/또는 네이티브 어플리케이션 등을 통해 딥러닝 모델의 제작을 위한 툴을 사용자 단말(11)로 제공할 수 있다. 서버(100)는 사용자 단말(11)에서의 노드 생성 입력에 따라 딥러닝 알고리즘의 스트럭쳐를 구성하는 메인 블록들(예: 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록 등)을 생성할 수 있다. 서버(100)는 생성된 메인 블록들을 편집하기 위한 툴을 사용자 단말(11)로 제공할 수 있고, 사용자 단말(11)에서의 입력에 따라 메인 블록들 내부의 서브 블록들(예: 데이터 전처리 서브 블록 및 모델 편집 서브 블록 등)을 생성할 수 있다. 메인 블록 및 서브 블록은 해당 블록에 대한 세부 설정을 위한 편집 버튼, 입력 창, 드롭 다운 메뉴 및/또는 체크 박스 등을 포함할 수 있다. 서버(100)는 사용자 단말(11)에서의 노드 연결을 위한 입력에 따라 메인 블록 사이의 연결 관계 및 서브 블록 사이의 연결 관계를 설정하기 위한 링크를 생성할 수 있다.
블록 및 링크 생성이 완료된 후, 서버(100)는 생성된 블록 및 링크에 대응하는 딥러닝 알고리즘에 대한 학습을 수행할 수 있다. 학습은 사용자 단말(11)에서 수행될 수도 있다. 서버(100)는 학습된 딥러닝 모델을 획득할 수 있고, 딥러닝 모델(예: 스트럭쳐 및 파라미터)을 저장할 수 있다. 저장된 딥러닝 모델은 사용자 단말(11)로 제공될 수 있다.
상술한 것과 같이, 서버(100)에 의해 제공되는 툴을 이용함으로써, 블록과 링크의 생성을 위한 입력 및 세부 설정을 위한 블록에 대한 간단한 입력을 통해, 컴퓨터 프로그래밍에 대한 지식이 상대적으로 부족한 사용자가 코딩 없이 딥러닝 모델을 간편하게 제작할 수 있다.
도 2는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 구성을 도시하는 블록도이다.
도 2를 참조하면, 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치(200)는 통신 회로(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다. 딥러닝 모델 제작 장치(200)는, 예를 들어, 서버 등과 같은 컴퓨팅 디바이스일 수 있고, 물리적으로는 온 프레미스(on premise) 또는 클라우드에 위치할 수 있다.
통신 회로(210)는 사용자 단말(21)과 무선 또는 유선으로 통신할 수 있다. 통신 회로(210)는 사용자 단말(21)과 데이터를 송수신할 수 있다.
메모리(220)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 딥러닝 모델 제작 장치(200)에서 취급되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 딥러닝 모델 제작 장치(200) 내부에서 처리된 데이터를 저장할 수 있고, 사용자 단말(21)로부터 수신된 데이터를 저장할 수도 있다.
프로세서(230)는 통신 회로(210) 및 메모리(220)와 전기적으로 연결될 수 있다. 프로세서(230)는 통신 회로(210) 및 메모리(220)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 도 2에서는 프로세서(230)가 단일의 구성인 것으로 도시되었으나, 복수의 구성으로 분리되어 구현될 수도 있다. 프로세서(230)는 웹 문서, 웹 어플리케이션 및/또는 네이티브 어플리케이션 등을 통해 딥러닝 모델의 제작을 위한 툴을 사용자 단말(21)로 제공할 수 있다. 프로세서(230)는 메모리(220)에 저장된 소프트웨어 내지 인스트럭션을 실행함으로써, 이하와 같은 동작을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 사용자 단말(21)로부터 노드 생성을 위한 입력을 수신할 수 있다. 예를 들어, 프로세서(230)는 다양한 종류의 노드 생성 버튼들을 포함하는 제1 화면을 통신 회로(210)를 이용하여 사용자 단말(21)로 제공할 수 있고, 노드 생성 버튼에 대한 사용자의 입력을 수신할 수 있다. 프로세서(230)는 사용자 단말(21)에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및/또는 모델 트레이너 블록을 생성할 수 있다.
원본 데이터 블록은 원본 데이터의 입력을 위한 블록으로, 원본 데이터의 오픈을 위한 버튼을 포함할 수 있다. 데이터 전처리 블록은 원본 데이터의 전처리를 위한 블록으로, 미리 설정된 서브 블록을 오픈하기 위한 버튼 및 서브 블록을 편집하기 위한 버튼을 포함할 수 있다. 모델 편집 블록은 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 블록으로, 미리 설정된 서브 블록을 오픈하기 위한 버튼 및 서브 블록을 편집하기 위한 버튼을 포함할 수 있다. 본 문서에서 용어 “딥러닝 알고리즘”은 학습을 수행하기 이전의 모델을 의미하고, 용어 “딥러닝 모델”은 학습된 모델을 의미한다. 모델 트레이너 블록은 딥러닝 알고리즘의 트레이너를 선택하기 위한 블록으로, 옵티마이저, 로스 값 및 메트릭스(metrics) 등을 설정하기 위한 메뉴(예: 드롭다운 메뉴)를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 포함하는 제1 화면을 통신 회로(210)를 이용하여 사용자 단말(21)로 제공할 수 있다. 제1 화면에 대해서는 도 3을 참조하여 상세히 설명한다.
일 실시 예에 따르면, 프로세서(230)는 사용자 단말(21)에서의 노드 연결을 위한 입력에 반응하여, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록 사이의 연결 관계를 설정하기 위한 복수의 링크를 생성할 수 있다. 프로세서(230)는 사용자 단말(21)로부터 통신 회로(210)를 통해 상술한 블록들 중 한 블록의 출력 노드와 다른 블록의 입력 노드에 대한 드래그 입력을 수신할 수 있고, 드래그 입력에 대응하는 링크를 생성할 수 있다. 프로세서(230)는 사용자 단말(21)에서의 노드 연결을 위한 입력에 반응하여, 복수의 데이터 전처리 서브 블록 사이의 연결 관계, 및 복수의 모델 편집 서브 블록 사이의 연결 관계를 설정하기 위한 복수의 링크를 생성할 수도 있다.
일 실시 예에 따르면, 프로세서(230)는 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 원본 데이터 블록을 통해 입력된 원본 데이터에 적용함으로써 생성되는 전처리된 데이터를 획득할 수 있다. 예를 들어, 프로세서(230)는 사용자 단말(21)에서의 제1 화면에 포함된 데이터 전처리 블록에 대한 입력에 반응하여, 전처리를 위한 함수의 종류를 선택하기 위한 메뉴(이하, 함수 메뉴)를 포함하는 제2 화면을 사용자 단말(21)로 제공할 수 있다. 프로세서(230)는 사용자 단말(21)에서의 함수 메뉴에 대한 입력에 반응하여, 원본 데이터의 전처리에 사용될 복수의 함수 각각에 대응하는 복수의 데이터 전처리 서브 블록을 생성할 수 있다. 프로세서(230)는 복수의 데이터 전처리 서브 블록이 생성되면, 복수의 데이터 전처리 서브 블록을 더 포함하는 제2 화면을 통신 회로(210)를 이용하여 사용자 단말(21)로 제공할 수 있다. 데이터 전처리 서브 블록에 대해서는 도 5를 참조하여 상세히 설명한다.
일 실시 예에 따르면, 프로세서(230)는 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 전처리된 데이터를 입력하고 모델 트레이너 블록을 통해 선택된 트레이너를 이용함으로써 학습된 딥러닝 모델을 획득할 수 있다. 예를 들어, 프로세서(230)는 사용자 단말(21)에서의 제1 화면에 포함된 모델 편집 블록에 대한 입력에 반응하여, 딥러닝 알고리즘을 구성하는 레이어의 종류를 선택하기 위한 메뉴(이하, 레이어 메뉴)를 포함하는 제3 화면을 통신 회로(210)를 이용하여 사용자 단말(21)로 제공할 수 있다. 프로세서(230)는 레이어 메뉴에 대한 입력에 반응하여, 딥러닝 알고리즘에 사용될 복수의 레이어 각각에 대응하는 복수의 모델 편집 서브 블록을 생성할 수 있다. 프로세서(230)는 복수의 모델 편집 서브 블록이 생성되면, 복수의 모델 편집 서브 블록을 더 포함하는 제3 화면을 통신 회로(210)를 이용하여 사용자 단말(21)로 제공할 수 있다. 모델 편집 서브 블록에 대해서는 도 6을 참조하여 상세히 설명한다.
일 실시 예에 따르면, 프로세서(230)는 학습된 딥러닝 모델을 메모리(220)에 저장할 수 있다. 예를 들어, 프로세서(230)는 학습이 완료되면, 딥러닝 모델의 스트럭쳐 및 파라미터를 메모리(220)에 저장할 수 있다. 프로세서(230)는 딥러닝 모델의 스트럭쳐 및 파라미터를 통신 회로(210)를 이용하여 사용자 단말(21)로 전송할 수도 있다.
도 3은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 노드 생성 버튼(310), 생성된 메인 블록(320), 노드 연결 링크(330) 및 학습 개시 버튼(340)을 포함하는 메인 블록 편집 화면(300)(제1 화면)을 사용자 단말로 제공할 수 있다. 메인 블록 편집 화면(300)은 웹 문서, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공될 수 있다.
노드 생성 버튼(310)은 메인 블록 편집 화면(300)의 상단에 배치될 수 있다. 노드 생성 버튼(310)은, 예를 들어, 원본 데이터 블록(321)을 생성하기 위한 제1 버튼(311), 데이터 전처리 블록(322)을 생성하기 위한 제2 버튼(312), 모델 편집 블록(323)을 생성하기 위한 제3 버튼(313) 및 모델 트레이너 블록(324)을 생성하기 위한 제4 버튼(314)을 포함할 수 있다. 제1 버튼(311), 제2 버튼(312), 제3 버튼(313) 및 제4 버튼(314) 각각에 대한 입력이 수신되면, 원본 데이터 블록(321), 데이터 전처리 블록(322), 모델 편집 블록(323) 및 모델 트레이너 블록(324)이 각각 생성될 수 있다.
메인 블록(320)은 메인 블록 편집 화면(300)의 중앙에 배치될 수 있다. 예를 들어, 원본 데이터 블록(321)은 데이터 이름, 데이터 개수, 데이터 타입 및 데이터 로드 여부에 대한 정보를 표시할 수 있고, 데이터의 오픈 버튼 및 출력 노드를 포함할 수 있다. 원본 데이터 블록(321)의 오픈 버튼에 대한 입력에 반응하여, 원본 데이터 입력 화면이 사용자 단말로 제공될 수 있다. 원본 데이터 입력 화면에 대해서는 도 4를 참조하여 상세히 설명한다. 데이터 전처리 블록(322)은 전처리기 이름에 대한 정보를 표시할 수 있고, 전처리기의 오픈 버튼, 전처리기의 편집 버튼, 입력 노드 및 출력 노드를 포함할 수 있다. 데이터 전처리 블록(322)의 편집 버튼에 대한 입력에 반응하여, 데이터 전처리 서브 블록의 편집 화면이 사용자 단말로 제공될 수 있다. 데이터 전처리 서브 블록의 편집 화면에 대해서는 도 5를 참조하여 상세히 설명한다. 모델 편집 블록(323)은 모델 이름에 대한 정보를 표시할 수 있고, 딥러닝 알고리즘의 오픈 버튼, 딥러닝 알고리즘의 편집 버튼, 입력 노드 및 출력 노드를 포함할 수 있다. 모델 편집 블록(323)의 편집 버튼에 대한 입력에 반응하여, 모델 편집 서브 블록의 편집 화면이 사용자 단말로 제공될 수 있다. 모델 편집 서브 블록의 편집 화면에 대해서는 도 6을 참조하여 상세히 설명한다. 모델 트레이너 블록(324)은 옵티마이저, 로스 값 및 메트릭스를 설정하기 위한 메뉴 및 입력 노드를 포함할 수 있다. 모델 트레이너 블록(324)에서의 설정에 대해서는 도 7을 참조하여 상세히 설명한다.
노드 연결 링크(330)는 메인 블록(320) 중 하나와 다른 하나를 연결할 수 있다. 메인 블록(320) 중 한 블록의 출력 노드와 다른 블록의 입력 노드에 대한 드래그 입력에 반응하여, 상기 한 블록과 상기 다른 블록을 연결하는 노드 연결 링크(330)가 생성될 수 있다. 예를 들어, 제1 링크(331)는 원본 데이터 블록(321)의 출력 노드와 데이터 전처리 블록(322)의 입력 노드를 연결할 수 있다. 제2 링크(332)는 데이터 전처리 블록(322)의 출력 노드와 모델 편집 블록(323)의 입력 노드를 연결할 수 있다. 제3 링크(333)는 모델 편집 블록(323)의 출력 노드와 모델 트레이너 블록(324)의 입력 노드를 연결할 수 있다.
학습 개시 버튼(340)은 노드 생성 버튼(310)의 위에 배치될 수 있다. 학습 개시 버튼(340)에 입력에 반응하여, 메인 블록(320)에 의해 설계된 딥러닝 알고리즘에 대한 학습이 개시될 수 있다.
메인 블록 편집 화면(300)을 이용함으로써 마우스 입력, 터치 입력 및/또는 간단한 정보 입력에 의해 코딩 없이 딥러닝 모델의 전체 구조가 제작될 수 있다.
도 4는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 원본 데이터 블록(예: 원본 데이터 블록(321))의 오픈 버튼에 대한 입력에 반응하여, 데이터 소스 생성 버튼(410) 및 데이터 소스 선택 버튼(420, 430, 440)을 포함하는 원본 데이터 입력 화면(400)을 사용자 단말로 제공할 수 있다. 원본 데이터 입력 화면(400)은 웹 문서, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공될 수 있고, 도 3에 도시된 메인 블록 편집 화면(300) 상에서 별도의 레이어로 제공될 수 있다.
데이터 소스 생성 버튼(410) 및 데이터 소스 선택 버튼(420, 430, 440)은 원본 데이터 입력 화면(400)에 일렬로 배치될 수 있다. 데이터 소스 생성 버튼(410)에 대한 입력에 반응하여, 데이터 소스를 포함하는 파일을 오픈하거나 데이터 소스를 입력할 수 있는 윈도우가 제공될 수 있다. 데이터 소스 선택 버튼(420, 430, 440)은 미리 저장된 데이터 소스에 대응할 수 있다. 제1 선택 버튼(420), 제2 선택 버튼(430) 또는 제3 선택 버튼에(440) 대한 입력에 반응하여, 입력이 수신된 버튼에 대응하는 데이터 소스(예: 차량 식별을 위한 데이터 셋, 투구 예측을 위한 데이터 셋 또는 숫자 판별을 위한 데이터 셋 등)가 원본 데이터 블록(예: 원본 데이터 블록(321))에 입력될 수 있다.
원본 데이터 입력 화면(400)을 이용함으로써 마우스 입력, 터치 입력 및/또는 간단한 정보 입력에 의해 코딩 없이 딥러닝 모델의 학습에 사용될 원본 데이터가 입력될 수 있다.
도 5는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 데이터 전처리 블록(예: 데이터 전처리 블록(322))의 편집 버튼에 대한 입력에 반응하여, 서브 블록 생성 메뉴(510), 데이터 전처리 서브 블록(520) 및 노드 연결 링크(530)를 포함하는 데이터 전처리 서브 블록의 편집 화면(500)(제2 화면)을 사용자 단말로 제공할 수 있다. 데이터 전처리 서브 블록(520)의 편집 화면(500)은 웹 문서, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공될 수 있고, 도 3에 도시된 메인 블록 편집 화면(300) 상에서 별도의 레이어로 제공될 수 있다.
서브 블록 생성 메뉴(510)는 편집 화면(500)의 좌측단에 배치될 수 있다. 서브 블록 생성 메뉴(510)는, 예를 들어, 입력, 출력, 텐서(tensor) 생성, 데이터 편집, 데이터 추출, 최댓값 또는 최솟값 함수, 사칙 연산 함수, 정규화 또는 표준화 함수, 데이터 변환 함수, 랜덤 함수, 이미지 편집, 슬라이스(slice), 스플리트(split) 또는 모니터링 등에 대응하는 서브 블록을 생성하기 위한 버튼을 포함할 수 있다.
데이터 전처리 서브 블록(520)은 편집 화면(500)의 중앙에 배치될 수 있다. 예를 들어, 제1 서브 블록(521)은 입력 블록일 수 있고, 데이터에 대한 정보(예: 데이터 이름, 데이터 개수 및 데이터 타입을 나타내는 정보), 이름 입력 창 및 출력 노드 등을 포함할 수 있다. 제2 서브 블록(522)은 컬럼 선택 블록일 수 있고, 데이터에 대한 정보, 불완전 데이터 제거 버튼, 컬럼 선택 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제3 서브 블록(523)은 컬럼 선택 블록일 수 있고, 데이터에 대한 정보, 불완전 데이터 제거 버튼, 컬럼 선택 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제4 서브 블록(524)은 텐서 생성 블록일 수 있고, 데이터에 대한 정보, 데이터 생성 버튼, 값 입력 창, 파라미터 추가 버튼 및 출력 노드 등을 포함할 수 있다. 제5 서브 블록(525)은 나누기 연산 함수 블록일 수 있고, 데이터에 대한 정보, 2개의 입력 노드 및 출력 노드 등을 포함할 수 있다. 제6 서브 블록(526)은 출력 블록일 수 있고, 데이터에 대한 정보 및 2개의 입력 노드를 포함할 수 있다.
노드 연결 링크(530)는 데이터 전처리 서브 블록(520) 중 하나와 다른 하나를 연결할 수 있다. 데이터 전처리 서브 블록(520) 중 한 블록의 출력 노드와 다른 블록의 입력 노드에 대한 드래그 입력에 반응하여, 상기 한 블록과 상기 다른 블록을 연결하는 노드 연결 링크(530)가 생성될 수 있다. 예를 들어, 제1 링크(531)는 제1 서브 블록(521)의 출력 노드와 제2 서브 블록(522)의 입력 노드를 연결할 수 있다. 제2 링크(532)는 제1 서브 블록(521)의 출력 노드와 제3 서브 블록(523)의 입력 노드를 연결할 수 있다. 제3 링크(533)는 제2 서브 블록(522)의 출력 노드와 제5 서브 블록(525)의 입력 노드를 연결할 수 있다. 제4 링크(534)는 제3 서브 블록(523)의 출력 노드와 제6 서브 블록(526)의 입력 노드를 연결할 수 있다. 제5 링크(535)는 제4 서브 블록(524)의 출력 노드와 제5 서브 블록(525)의 입력 노드를 연결할 수 있다. 제6 링크(536)는 제5 서브 블록(525)의 출력 노드와 제6 서브 블록(526)의 입력 노드를 연결할 수 있다.
데이터 전처리 서브 블록의 편집 화면(500)을 이용함으로써 마우스 입력, 터치 입력 및/또는 간단한 정보 입력에 의해 코딩 없이 데이터 전처리에 사용되는 처리 방법이 설정될 수 있다.
도 6은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 모델 편집 블록(예: 모델 편집 블록(323))의 편집 버튼에 대한 입력에 반응하여, 서브 블록 생성 메뉴(610), 모델 편집 서브 블록(620) 및 노드 연결 링크(630)를 포함하는 모델 편집 서브 블록의 편집 화면(600)(제2 화면)을 사용자 단말로 제공할 수 있다. 모델 편집 서브 블록의 편집 화면(600)은 웹 문서, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공될 수 있고, 도 3에 도시된 메인 블록 편집 화면(300) 상에서 별도의 레이어로 제공될 수 있다.
서브 블록 생성 메뉴(610)는 편집 화면(600)의 좌측단에 배치될 수 있다. 서브 블록 생성 메뉴(610)는, 예를 들어, 입력 레이어, 출력 레이어, 컨벌루션 레이어, 풀링(pooling) 레이어, 병합(merge) 레이어, 표준화 레이어 및 패딩(padding) 레이어 등에 대응하는 서브 블록을 생성하기 위한 버튼을 포함할 수 있다.
모델 편집 서브 블록(620)은 편집 화면(600)의 중앙에 배치될 수 있다. 예를 들어, 제1 서브 블록(621)은 입력 레이어에 대응할 수 있고, 이름 입력 창, shape 입력 창, 파라미터 추가 버튼 및 출력 노드 등을 포함할 수 있다. 제2 서브 블록(622)은 컨벌루션 레이어에 대응할 수 있고, 이름 입력 창, 필터 수 입력 창, 커널 사이즈(kernel size) 입력 창, 스트라이드(stride) 입력 창, 액티베이션(activation) 선택 메뉴, 커널 이니셜라이저(kernel Initializer) 선택 메뉴, 파라미터 추가 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제3 서브 블록(623)은 맥스 풀링 레이어에 대응할 수 있고, 이름 입력 창, 풀 사이즈(pool size) 입력 창, 스트라이드 입력 창, 파라미터 추가 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제4 서브 블록(624)은 컨벌루션 레이어에 대응할 수 있고, 이름 입력 창, 필터 수 입력 창, 커널 사이즈 입력 창, 스트라이드 입력 창, 액티베이션 선택 메뉴, 커널 이니셜라이저 선택 메뉴, 파라미터 추가 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제5 서브 블록(625)은 맥스 풀링 레이어에 대응할 수 있고, 이름 입력 창, 풀 사이즈 입력 창, 스트라이드 입력 창, 파라미터 추가 버튼, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제6 서브 블록(626)은 플래튼(flatten) 레이어에 대응할 수 있고, 이름 입력 창, 입력 노드 및 출력 노드를 포함할 수 있다. 제7 서브 블록(627)은 덴스(dense) 레이어에 대응할 수 있고, 이름 입력 창, 유닛 수 입력 창, 액티베이션 선택 메뉴, 입력 노드 및 출력 노드 등을 포함할 수 있다. 제8 서브 블록(628)은 출력 레이어에 대응할 수 있고, 입력 노드를 포함할 수 있다.
노드 연결 링크(630)는 모델 편집 서브 블록(620) 중 하나와 다른 하나를 연결할 수 있다. 모델 편집 서브 블록(620) 중 한 블록의 출력 노드와 다른 블록의 입력 노드에 대한 드래그 입력에 반응하여, 상기 한 블록과 상기 다른 블록을 연결하는 노드 연결 링크(630)가 생성될 수 있다. 예를 들어, 제1 링크(631)는 제1 서브 블록(621)의 출력 노드와 제2 서브 블록(622)의 입력 노드를 연결할 수 있다. 제2 링크(632)는 제2 서브 블록(622)의 출력 노드와 제3 서브 블록(623)의 입력 노드를 연결할 수 있다. 제3 링크(633)는 제3 서브 블록(623)의 출력 노드와 제4 서브 블록(624)의 입력 노드를 연결할 수 있다. 제4 링크(634)는 제4 서브 블록(624)의 출력 노드와 제5 서브 블록(625)의 입력 노드를 연결할 수 있다. 제5 링크(635)는 제5 서브 블록(625)의 출력 노드와 제6 서브 블록(626)의 입력 노드를 연결할 수 있다. 제6 링크(636)는 제6 서브 블록(626)의 출력 노드와 제7 서브 블록(627)의 입력 노드를 연결할 수 있다. 제7 링크(637)는 제7 서브 블록(627)의 출력 노드와 제8 서브 블록(628)의 입력 노드를 연결할 수 있다.
모델 편집 서브 블록의 편집 화면(600)을 이용함으로써 마우스 입력, 터치 입력 및/또는 간단한 정보 입력에 의해 코딩 없이 딥러닝 모델에 사용되는 레이어가 설정될 수 있다.
도 7은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 모델 트레이너 블록(324)을 포함하는 메인 블록 편집 화면(예: 메인 블록 편집 화면(300))을 제공할 수 있다.
모델 트레이너 블록(324)은 옵티마이저 설정 메뉴(710), 로스 값 설정 메뉴(720), 메트릭스 설정 메뉴(730) 및 입력 노드(740) 등을 포함할 수 있다. 옵티마이저 설정 메뉴(710), 로스 값 설정 메뉴(720) 및 메트릭스 설정 메뉴(730)는 드롭 다운 형식으로 이루어질 수 있다. 옵티마이저 설정 메뉴(710)는, 예를 들어, Adam, SGD, Adagrad, Adadelta, Adamax 또는 RMSProp 등과 같은 옵티마이저 중 하나를 선택하기 위한 메뉴일 수 있다. 로스 값 설정 메뉴(720)는, 예를 들어, Categorical Crossentropy, Mean Squared Error, Mean Absolute Error, Mean Absolute Percentage Error 또는 Mean Squared Logarithmic Error 등과 같은 로스 값 중 하나를 선택하기 위한 메뉴일 수 있다. 메트릭스 설정 메뉴(730)는, 예를 들어, accuracy, mse, crossentropy, presision 또는 mae 등과 같은 메트릭스 중 하나를 선택하기 위한 메뉴일 수 있다. 입력 노드(740)는 모델 편집 블록의 출력 노드와 연결될 수 있다.
모델 트레이너 블록(324)을 이용함으로써 마우스 입력 또는 터치 입력에 의해 코딩 없이 딥러닝 모델의 학습에 사용되는 모델 트레이너가 설정될 수 있다.
도 8은 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 일 실시 예에 따른 딥러닝 모델 제작 장치는 메인 블록, 서브 블록 및 연결 링크의 생성에 의해 딥러닝 알고리즘의 스트럭쳐가 구성된 후 학습 개시 버튼(예: 학습 개시 버튼(340))에 대한 입력에 반응하여, 학습을 진행할 수 있고, 학습의 진행 상태를 나타내는 진행 상태 표시 화면(800)을 사용자 단말로 제공할 수 있다. 진행 상태 표시 화면(800)은 웹 문서, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공될 수 있고, 도 3에 도시된 메인 블록 편집 화면(300) 상에서 별도의 레이어로 제공될 수 있다.
진행 상태 표시 화면(800)은 학습의 진행에 따른 로스(loss) 및 정확도를 나타내는 그래프를 포함할 수 있다. 예를 들어, batch 사이즈에 따른 로스를 나타내는 그래프, batch 사이즈에 따른 정확도를 나타내는 그래프, epoch 값에 따른 로스를 나타내는 그래프 및 epoch 값에 따른 정확도를 나타내는 그래프 등이 제공될 수 있다.
상술한 그래프를 통해 사용자는 학습의 진행에 따라 로스가 감소하고 정확도가 증가하는 것을 확인할 수 있고, 학습의 진행 상태를 확인할 수 있다.
도 9는 일 실시 예에 따른 중첩 편집 블록을 이용한 딥러닝 모델 제작 방법을 설명하기 위한 흐름도이다.
이하에서는 도 2의 딥러닝 모델 제작 장치(200)가 도 9의 프로세스를 수행하는 것을 가정한다. 또한, 도 9의 설명에서, 딥러닝 모델 제작 장치에 의해 수행되는 것으로 기술된 동작은 프로세서(230)에 의해 제어되는 것으로 이해될 수 있다.
도 9를 참조하면, 단계 910에서, 딥러닝 모델 제작 장치는 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 생성할 수 있다.
단계 920에서, 딥러닝 모델 제작 장치는 원본 데이터 블록, 데이터 전처리 블록, 모델 편집 블록 및 모델 트레이너 블록을 포함하는 제1 화면을 사용자 단말로 제공할 수 있다.
단계 930에서, 딥러닝 모델 제작 장치는 데이터 전처리 블록과 연관된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 원본 데이터 블록을 통해 입력된 원본 데이터에 적용함으로써 생성되는 전처리된 데이터를 획득할 수 있다.
단계 940에서, 딥러닝 모델 제작 장치는 모델 편집 블록과 연관된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 전처리된 데이터를 입력함으로써 모델 트레이너 블록을 통해 선택된 트레이너를 이용하여 학습된 딥러닝 모델을 획득할 수 있다.
단계 950에서, 딥러닝 모델 제작 장치는 학습된 딥러닝 모델을 저장할 수 있다.
본 문서의 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소가 다른 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소를 통하여 연결될 수 있다.
본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU)를 의미할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
일 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.
일 실시 예에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 일 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (5)

  1. 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치에 있어서,
    사용자 단말과 통신하도록 구성된 통신 회로;
    메모리; 및
    상기 통신 회로 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터의 입력을 위한 원본 데이터 블록, 상기 원본 데이터의 전처리를 위한 데이터 전처리 블록, 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 모델 편집 블록 및 상기 딥러닝 알고리즘의 트레이너를 선택하기 위한 모델 트레이너 블록을 생성하고,
    상기 원본 데이터 블록, 상기 데이터 전처리 블록, 상기 모델 편집 블록 및 상기 모델 트레이너 블록을 포함하는 제1 화면을 상기 통신 회로를 이용하여 상기 사용자 단말로 제공하고,
    상기 데이터 전처리 블록에 대한 입력에 반응하여 제공되는 제2 화면을 통해 생성된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 상기 원본 데이터 블록을 통해 입력된 상기 원본 데이터에 적용함으로써 생성되는 상기 전처리된 데이터를 획득하고,
    상기 모델 편집 블록에 대한 입력에 반응하여 제공되는 제3 화면을 통해 생성된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 상기 전처리된 데이터를 입력하고 상기 모델 트레이너 블록을 통해 선택된 트레이너를 이용함으로써 학습된 딥러닝 모델을 획득하고,
    상기 학습된 딥러닝 모델을 상기 메모리에 저장하고,
    상기 모델 트레이너 블록은 상기 딥러닝 알고리즘의 트레이너를 선택하기 위해 옵티마이저, 로스 값 또는 메트릭스(metrics)를 설정하기 위한 메뉴를 포함하는 것을 특징으로 하는, 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 데이터 전처리 블록에 대한 입력에 반응하여, 상기 전처리를 위한 함수의 종류를 선택하기 위한 메뉴를 포함하는 상기 제2 화면을 상기 사용자 단말로 제공하고,
    상기 함수의 종류를 선택하기 위한 메뉴에 대한 입력에 반응하여, 상기 복수의 함수 각각에 대응하는 상기 복수의 데이터 전처리 서브 블록을 생성하고,
    상기 복수의 데이터 전처리 서브 블록이 생성되면, 상기 복수의 데이터 전처리 서브 블록을 더 포함하는 상기 제2 화면을 상기 통신 회로를 이용하여 상기 사용자 단말로 제공하는 것을 특징으로 하는, 장치.
  3. 제 2 항에 있어서,
    상기 프로세서는,
    상기 모델 편집 블록에 대한 입력에 반응하여, 상기 딥러닝 알고리즘을 구성하는 레이어의 종류를 선택하기 위한 메뉴를 포함하는 상기 제3 화면을 상기 통신 회로를 이용하여 상기 사용자 단말로 제공하고,
    상기 레이어의 종류를 선택하기 위한 메뉴에 대한 입력에 반응하여, 상기 복수의 레이어 각각에 대응하는 상기 복수의 모델 편집 서브 블록을 생성하고,
    상기 복수의 모델 편집 서브 블록이 생성되면, 상기 복수의 모델 편집 서브 블록을 더 포함하는 상기 제3 화면을 상기 통신 회로를 이용하여 상기 사용자 단말로 제공하는 것을 특징으로 하는, 장치.
  4. 제 3 항에 있어서,
    상기 프로세서는,
    상기 사용자 단말에서의 노드 연결을 위한 입력에 반응하여, 상기 원본 데이터 블록, 상기 데이터 전처리 블록, 상기 모델 편집 블록 및 상기 모델 트레이너 블록 사이의 연결 관계, 상기 복수의 데이터 전처리 서브 블록 사이의 연결 관계, 및 상기 복수의 모델 편집 서브 블록 사이의 연결 관계를 설정하기 위한 복수의 링크를 생성하는 것을 특징으로 하는, 장치.
  5. 중첩 편집 블록을 이용한 딥러닝 모델 제작 방법에 있어서,
    컴퓨팅 디바이스에 포함된 프로세서에 의해, 사용자 단말에서의 노드 생성을 위한 입력에 반응하여, 원본 데이터의 입력을 위한 원본 데이터 블록, 상기 원본 데이터의 전처리를 위한 데이터 전처리 블록, 전처리된 데이터를 이용하여 학습을 수행할 딥러닝 알고리즘을 편집하기 위한 모델 편집 블록 및 상기 딥러닝 알고리즘의 트레이너를 선택하기 위한 모델 트레이너 블록을 생성하는 단계;
    상기 프로세서에 의해, 상기 원본 데이터 블록, 상기 데이터 전처리 블록, 상기 모델 편집 블록 및 상기 모델 트레이너 블록을 포함하는 제1 화면을 상기 사용자 단말로 제공하는 단계;
    상기 프로세서에 의해, 상기 데이터 전처리 블록에 대한 입력에 반응하여 제공되는 제2 화면을 통해 생성된 복수의 데이터 전처리 서브 블록 각각에 대응하는 복수의 함수를 상기 원본 데이터 블록을 통해 입력된 상기 원본 데이터에 적용함으로써 생성되는 상기 전처리된 데이터를 획득하는 단계;
    상기 프로세서에 의해, 상기 모델 편집 블록에 대한 입력에 반응하여 제공되는 제3 화면을 통해 생성된 복수의 모델 편집 서브 블록 각각에 대응하는 복수의 레이어에 상기 전처리된 데이터를 입력함으로써 상기 모델 트레이너 블록을 통해 선택된 트레이너를 이용하여 학습된 딥러닝 모델을 획득하는 단계; 및
    상기 프로세서에 의해, 상기 학습된 딥러닝 모델을 저장하는 단계를 포함하고,
    상기 모델 트레이너 블록은 상기 딥러닝 알고리즘의 트레이너를 선택하기 위해 옵티마이저, 로스 값 또는 메트릭스(metrics)를 설정하기 위한 메뉴를 포함하는 것을 특징으로 하는, 방법.
KR1020210024247A 2021-02-23 2021-02-23 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법 KR102278284B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210024247A KR102278284B1 (ko) 2021-02-23 2021-02-23 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210024247A KR102278284B1 (ko) 2021-02-23 2021-02-23 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102278284B1 true KR102278284B1 (ko) 2021-07-16

Family

ID=77150760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210024247A KR102278284B1 (ko) 2021-02-23 2021-02-23 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102278284B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101657495B1 (ko) * 2015-09-04 2016-09-30 (주)한국플랫폼서비스기술 딥러닝 분석을 위한 모듈화시스템 및 이를 이용한 영상 인식 방법
KR20200058530A (ko) * 2017-09-29 2020-05-27 오라클 인터내셔날 코포레이션 캔버스 상의 연결된 위치가능 엘리먼트에 기초하여 통신 의사결정 트리들을 구성하기 위한 방법들 및 시스템들
KR20200092447A (ko) * 2019-01-04 2020-08-04 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
KR102245480B1 (ko) * 2020-05-26 2021-04-28 주식회사 일루니 레이어 블록을 이용한 딥러닝 모델 생성 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101657495B1 (ko) * 2015-09-04 2016-09-30 (주)한국플랫폼서비스기술 딥러닝 분석을 위한 모듈화시스템 및 이를 이용한 영상 인식 방법
KR20200058530A (ko) * 2017-09-29 2020-05-27 오라클 인터내셔날 코포레이션 캔버스 상의 연결된 위치가능 엘리먼트에 기초하여 통신 의사결정 트리들을 구성하기 위한 방법들 및 시스템들
KR20200092447A (ko) * 2019-01-04 2020-08-04 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
KR102245480B1 (ko) * 2020-05-26 2021-04-28 주식회사 일루니 레이어 블록을 이용한 딥러닝 모델 생성 방법

Similar Documents

Publication Publication Date Title
CN107451663B (zh) 算法组件化、基于算法组件建模方法、装置以及电子设备
US20180349757A1 (en) Learning service providing apparatus
EP3686848A1 (en) Semantic image synthesis for generating substantially photorealistic images using neural networks
JP7264376B2 (ja) 汎用学習済モデルの生成方法
CN111414987B (zh) 神经网络的训练方法、训练装置和电子设备
EP3514734A1 (en) Method and apparatus for generating a chemical structure using a neural network
US10810018B2 (en) Device with extensibility
US20180357201A1 (en) Ability-providing-data generation apparatus
WO2019116354A1 (en) Training of artificial neural networks using safe mutations based on output gradients
KR20190042055A (ko) 컨볼루션 신경망을 이용한 시퀀스 프로세싱
EP3846034A1 (en) Systems and methods for automated testing using artificial intelligence techniques
CN113168564A (zh) 用于生成人工智能模型的方法和系统
CN111178512A (zh) 器件运行神经网络的测试方法及装置
JP2019040335A (ja) 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム
CN116127203A (zh) 结合页面信息的rpa业务组件推荐方法及系统
Zhang et al. Unirltest: universal platform-independent testing with reinforcement learning via image understanding
KR102278284B1 (ko) 중첩 편집 블록을 이용한 딥러닝 모델 제작 장치 및 방법
US20230268035A1 (en) Method and apparatus for generating chemical structure using neural network
CN110796594B (zh) 一种图像生成方法、装置及设备
CN113158292A (zh) 构件匹配方法、工程量计算方法、装置及电子设备
CN113785310A (zh) 用于通过用户界面操作应用的方法和系统
CN116842155A (zh) 文本生成方法、文本生成模型的训练方法及装置
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN110427241B (zh) 一种目标消除方法及装置
US20200311516A1 (en) Learning-based data processing system and model update method

Legal Events

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