KR20230103616A - System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms - Google Patents

System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms Download PDF

Info

Publication number
KR20230103616A
KR20230103616A KR1020210194616A KR20210194616A KR20230103616A KR 20230103616 A KR20230103616 A KR 20230103616A KR 1020210194616 A KR1020210194616 A KR 1020210194616A KR 20210194616 A KR20210194616 A KR 20210194616A KR 20230103616 A KR20230103616 A KR 20230103616A
Authority
KR
South Korea
Prior art keywords
framework
deep learning
user
algorithm
feature
Prior art date
Application number
KR1020210194616A
Other languages
Korean (ko)
Inventor
한영선
김동민
링혹 후을
이상현
Original Assignee
부경대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부경대학교 산학협력단 filed Critical 부경대학교 산학협력단
Priority to KR1020210194616A priority Critical patent/KR20230103616A/en
Publication of KR20230103616A publication Critical patent/KR20230103616A/en

Links

Images

Classifications

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

Abstract

본 발명은 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크를 적용할 수 있도록 한 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법에 관한 것으로, 프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력부;변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력부;모델 데이터 분석부와 프레임워크 선택부로 구성되어 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천부;딥러닝 프레임워크 추천부에서 추천된 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력부;를 포함하는 것이다.The present invention receives user specifications as an input and recommends the optimal deep learning framework for implementing the user's algorithm, so that the optimal deep learning framework suitable for the learning target can be applied. A feature selection and scoring algorithm It relates to a system and method for recommending a deep learning framework using a framework property/feature input unit for inputting model template and framework property information for framework selection; a user inputting an input deep learning model to be converted and data property information to be used. A specification input unit; a model data analysis unit and a framework selection unit; a deep learning framework recommendation unit that receives framework properties/characteristics and user specifications and recommends a deep learning framework using a feature selection and scoring algorithm; a deep learning framework It includes; a recommendation framework information output unit that outputs recommended framework information and framework optimization model design recommended by the recommendation unit.

Description

특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법{System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms}System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms}

본 발명은 딥러닝 프레임워크 선택에 관한 것으로, 구체적으로 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크를 적용할 수 있도록 한 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법에 관한 것이다.The present invention relates to selection of a deep learning framework, and specifically, it is possible to recommend an optimal deep learning framework for implementing a user's algorithm by receiving a user specification as an input, thereby providing an optimal deep learning framework suitable for a learning target. It relates to a deep learning framework recommendation system and method using a feature selection and scoring algorithm that can be applied.

딥러닝(Deep Learning)이란 여러 층을 가진 인공신경망(ANN, Artificial Neural Network)을 사용하여 머신러닝 학습을 수행하는 것으로 심층학습이라고도 부른다. 따라서 딥러닝은 머신러닝과 전혀 다른 개념이 아니라 머신러닝의 한 종류라고 할 수 있다.Deep learning is also called deep learning, which performs machine learning learning using artificial neural networks (ANNs) with multiple layers. Therefore, deep learning is not a completely different concept from machine learning, but a type of machine learning.

머신러닝에서는 학습하려는 데이터의 여러 특징 중에서 어떤 특징을 추출할지를 사람이 직접 분석하고 판단해야만 했지만 딥러닝에서는 기계가 자동으로 학습하려는 데이터에서 특징을 추출하여 학습하게 된다. 이처럼 딥러닝과 머신러닝의 가장 큰 차이점은 바로 기계의 자가 학습 여부로 볼 수 있다.In machine learning, a person had to analyze and determine which feature to extract from among the various features of the data to be learned, but in deep learning, the machine automatically learns by extracting features from the data to be learned. As such, the biggest difference between deep learning and machine learning can be seen in whether or not the machine learns on its own.

따라서 딥러닝이란 기계가 자동으로 대규모 데이터에서 중요한 패턴 및 규칙을 학습하고, 이를 토대로 의사결정이나 예측 등을 수행하는 기술로 정의할 수 있다.Therefore, deep learning can be defined as a technology in which machines automatically learn important patterns and rules from large-scale data and make decisions or predictions based on them.

딥러닝에 사용되는 인공신경망 알고리즘에는 DNN, CNN, RNN, RBM, DBN 등 다양한 형태의 수많은 알고리즘이 개발되어 활용되고 있으며, 하나의 문제를 해결하기 위해 두 개 이상의 알고리즘을 혼합하여 사용하는 경우도 많아졌다.Numerous algorithms of various types, such as DNN, CNN, RNN, RBM, and DBN, have been developed and used for artificial neural network algorithms used in deep learning. In many cases, two or more algorithms are mixed and used to solve a single problem. lost.

이렇게 이미 검증된 알고리즘을 사용할 때마다 계속해서 새롭게 구현해야 한다는 것은 매우 비효율적 방식이다.It is very inefficient to have to implement a new implementation every time an already proven algorithm is used.

딥러닝 프레임워크(framework)는 이렇게 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공함으로써, 개발자가 이를 빠르고 손쉽게 사용할 수 있도록 해준다.The deep learning framework provides a number of libraries that have already been verified and various deep learning algorithms that have been pre-trained, allowing developers to use them quickly and easily.

이를 통해 중복적인 기능을 구현해야 하는 소모적인 작업으로부터 개발자를 해방시켜, 문제 해결을 위한 핵심 알고리즘 개발에만 집중할 수 있도록 도와준다.This frees developers from the exhausting work of implementing redundant functions and helps them focus on developing core algorithms to solve problems.

신경망을 사용하여 구축된 딥러닝은 뇌의 구조 및 기능으로부터 영감을 받는다. 딥러닝은 AI의 혁신적인 발전을 이루는 도구이다.Built using neural networks, deep learning is inspired by the structure and function of the brain. Deep learning is a tool that drives revolutionary advances in AI.

PyTorch, Tensorflow, ONNX 등과 같은 대부분의 딥러닝 프레임워크는 방향성 비순환 그래프를 사용하여 신경망을 나타낸다.Most deep learning frameworks, such as PyTorch, Tensorflow, ONNX, etc. use directed acyclic graphs to represent neural networks.

딥러닝을 효과적으로 사용하기 위해 오브젝트를 예측 및 식별하는 것과 같은 모델 기능에 대한 알고리즘을 정의하여야 하고, 더 좋은 정확도를 위해 모델을 훈련시키기 위한 많은 양의 데이터가 필요하다.To use deep learning effectively, we need to define algorithms for model functions such as predicting and identifying objects, and we need a large amount of data to train the model for better accuracy.

이와 같은 딥러닝을 위한 많은 프레임워크가 존재하고, 각 프레임워크는 서로 다른 목적을 갖는다.There are many frameworks for such deep learning, and each framework has a different purpose.

Tensorflow는 Google에서 개발한 오픈소스 플랫폼으로. 자바 스크립트 기반이며 브라우저에서 모델을 구축 및 배포를 위한 다양한 툴을 제공한다.Tensorflow is an open source platform developed by Google. It is JavaScript-based and provides various tools for building and deploying models in the browser.

구축한 모델을 모바일 및 임베디드 장치에 배포 가능하고, 대규모 프로덕션 환경을 지원한다.The built model can be deployed to mobile and embedded devices, and supports large-scale production environments.

PyTorch는 Facebook에서 개발한 Torch 라이브러리 기반 오픈소스 플랫폼으로, 연구 프로토타입핑부터 생산 배포에 이르는 전체 과정을 가속화 하는 것을 목표로 하고, 자연어 처리 및 컴퓨터 비전과 같은 응용 프로그램에 적합하다.PyTorch is an open-source platform based on the Torch library developed by Facebook that aims to accelerate the entire process from research prototyping to production deployment, and is suitable for applications such as natural language processing and computer vision.

ONNX는 Microsoft 및 Facebook에서 공동 개발한 프로젝트. 머신 러닝 및 딥러닝 모델 개발을 위해 설계된 시스템으로, 하드웨어 최적화 엑세스 제공하고, 하드웨어 시스템 전반적인 성능 최적화 라이브러리를 제공한다.ONNX is a project jointly developed by Microsoft and Facebook. It is a system designed for machine learning and deep learning model development, provides access to hardware optimization, and provides a hardware system-wide performance optimization library.

Keras는 Tensorflow, Theano, Microsoft Cognitive Toolkit, PlaidML 상에서 동작하는 오픈 소스 프레임워크로, 데이터 병렬성을 제공하여 빠른 속도를 제공하고, 모델 데이터 훈련 시간을 가속화하기 용이하다.Keras is an open source framework that runs on Tensorflow, Theano, Microsoft Cognitive Toolkit, and PlaidML. It provides high speed by providing data parallelism, and it is easy to accelerate model data training time.

Sonnet은 DeepMind 에서 개발한 것으로 Tensorflow 기반으로 구축되고, 복잡한 신경망 구조를 구축하기 위한 고급 라이브러리를 제공하고 신경망의 특정 부분에 해당하는 기본 Python 객체를 개발 및 생성한다.Sonnet, developed by DeepMind, is built on top of Tensorflow, provides advanced libraries for building complex neural network structures, and develops and creates basic Python objects corresponding to specific parts of a neural network.

MXNET는 빠른 모델 훈련이 가능하고 확장성이 뛰어난 오픈 소스 프레임워크로, C++, Python, Julia, Matlab, JavaScript 등 다수의 프로그래밍 언어를 지원하고, 빠른 컨텍스트 스위칭과 함께 다수의 GPU 지원한다.MXNET is an open source framework that enables fast model training and is highly scalable. It supports multiple programming languages such as C++, Python, Julia, Matlab, and JavaScript, and supports multiple GPUs with fast context switching.

Gluon은 최적화된 신경망 구성 요소를 활용하는 것으로 머신러닝 및 딥러닝 모델을 정의하기 위한 간결한 API를 제공하는 오픈 소스 프레임워크이다.Gluon is an open source framework that provides a concise API for defining machine learning and deep learning models by leveraging optimized neural network components.

신경망 모델의 개발 및 테스트에 적합하고, 머신러닝을 처음 접하는 개발자에게 적합하다. 이외에도 다양한 딥러닝 프레임워크가 존재하고 각 딥러닝 프레임워크는 각기 다른 장점이 있는데, 이 중 사용자의 목적에 따라 최적의 딥러닝 프레임워크를 선택하여 사용자에게 제시해 줄 필요성이 있다.It is suitable for developing and testing neural network models, and is suitable for developers new to machine learning. In addition, there are various deep learning frameworks, and each deep learning framework has different advantages. Among them, there is a need to select and present the optimal deep learning framework according to the user's purpose.

딥 러닝 프레임워크들은 분석하려거나 예측하려는 대상에 따라 그 대상에 맞는 프레임워크를 선택하면 좋은 결과를 얻을 수 있다.Deep learning frameworks can produce good results by selecting a framework that is suitable for the target to be analyzed or predicted.

따라서, 원하는 학습 대상에 맞는 최적인 딥 러닝 프레임워크를 선택하여 적용하는데 유용한 기술의 개발이 요구되고 있다.Therefore, there is a demand for the development of useful technologies for selecting and applying the optimal deep learning framework for a desired learning target.

대한민국 공개특허 제10-2021-0123110호Republic of Korea Patent Publication No. 10-2021-0123110 대한민국 등록특허 제10-2257028호Republic of Korea Patent No. 10-2257028

본 발명은 종래 기술의 딥러닝 프레임워크 선택 기술의 문제점을 해결하기 위한 것으로, 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크의 적용이 효율적으로 이루어지도록 한 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법을 제공하는데 그 목적이 있다.The present invention is to solve the problem of the prior art deep learning framework selection technology, and to recommend the optimal deep learning framework for implementing the user's algorithm by receiving user specifications as input, The purpose of this study is to provide a deep learning framework recommendation system and method using a feature selection and scoring algorithm that enables efficient application of the deep learning framework.

본 발명은 사용자의 알고리즘에 가장 적합한 추천 딥러닝 프레임워크와 프레임워크 최적화 모델 디자인을 출력하여 사용자의 목적에 따라 최적의 딥러닝 프레임워크를 선택할 수 있도록 한 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법을 제공하는데 그 목적이 있다.The present invention is a deep learning framework using a feature selection and scoring algorithm that outputs a recommended deep learning framework and framework optimization model design most suitable for the user's algorithm so that the user can select the optimal deep learning framework according to his or her purpose. Its purpose is to provide a recommendation system and method.

본 발명은 사용자는 알고리즘을 쉽게 빌드하기 위해 프레임워크의 내장 함수를 사용할 수 있어 알고리즘을 구현하는데 시간을 절약할 수 있고 타겟 환경에서 추천된 프레임워크를 사용할 수 있는지 확인할 수 있도록 한 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법을 제공하는데 그 목적이 있다.The present invention is a feature selection and scoring algorithm that allows users to easily build algorithms by using built-in functions of frameworks, thereby saving time in implementing algorithms and verifying whether recommended frameworks can be used in the target environment. The purpose is to provide a deep learning framework recommendation system and method using

본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Other objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned above will be clearly understood by those skilled in the art from the description below.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템은 프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력부;변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력부;모델 데이터 분석부와 프레임워크 선택부로 구성되어 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천부;딥러닝 프레임워크 추천부에서 추천된 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력부;를 포함하는 것을 특징으로 한다.To achieve the above object, a deep learning framework recommendation system using a feature selection and scoring algorithm according to the present invention includes a model template for framework selection and a framework property/feature input unit for inputting framework property information; A user specification input unit that inputs the input deep learning model and data property information to be used; a model data analysis unit and a framework selection unit, which receive framework properties/characteristics and user specifications, and recommend deep learning frameworks using feature selection and scoring algorithms. A deep learning framework recommendation unit that performs; a recommendation framework information output unit that outputs recommended framework information and framework optimization model design recommended by the deep learning framework recommendation unit;

여기서, 모델 데이터 분석부는, 사용자 명세의 문법 오류 여부를 검사하는 문법 분석부와, 훈련 데이터를 포함시키기 위해 사용되는 형태인 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하는 데이터 입력 분석부를 포함하는 것을 특징으로 한다.Here, the model data analysis unit includes a grammar analysis unit that checks for grammatical errors in user specifications and a data input analysis unit that performs data validation by taking as input a path of a specification file used to include training data It is characterized by doing.

그리고 프레임워크 선택부는, 프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출하는 알고리즘 추출부와, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는 특징 선택부와, 선택된 특징을 기반으로 딥러닝 프레임워크에 점수를 부여하는 프레임워크 스코어링부를 포함하는 것을 특징으로 한다.In addition, the framework selection unit includes an algorithm extraction unit that extracts a user algorithm using a procedure analyzer and a function analyzer, a feature selection unit that analyzes the relationship between the extracted user algorithm and input data, and obtains characteristics of the input data; It is characterized in that it includes a framework scoring unit that assigns a score to the deep learning framework based on the feature.

그리고 특징 선택부는, 알고리즘 추출부에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석부와, 사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석부와, 사용자 알고리즘 분석을 하는 사용자 알고리즘 분석부와, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출부를 포함하는 것을 특징으로 한다.In addition, the feature selection unit includes a user specification analysis unit that analyzes the user specification when the user algorithm is extracted in the algorithm extraction unit, a framework information analysis unit that analyzes framework information necessary for the user specification, and a user that analyzes the user algorithm. It is characterized in that it includes an algorithm analyzer and an input data feature extractor that extracts features of the input data by analyzing the relationship between the extracted user algorithm and the input data.

그리고 프레임워크 스코어링부는, 사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치부와, 특징 선택부의 특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치부와, 사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 스코어를 생성하는 스코어 생성부와, 사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가부와, 최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환부를 포함하는 것을 특징으로 한다.And the framework scoring unit includes a framework information patching unit for patching predefined deep learning framework information, a user specification feature patching unit for patching the characteristics of the user specification obtained by the feature selection process of the feature selection unit, and a user specification feature patching unit. A score generation unit that generates scores for each feature defined in the deep learning framework if the feature value of the feature of is present in the feature values of the feature of the currently selected deep learning framework, and a deep learning frame in which all features of the user specification are selected. If supported as a framework, a support framework list addition unit that adds the framework to the list of supported frameworks, and a support framework list that returns a list of supported frameworks so that the deep learning framework with the highest score can be recommended. It is characterized in that it includes a return part.

그리고 프레임워크 추천 시스템의 딥러닝 입력으로 사용되는 사용자 명세 코드는, 딥러닝 프레임워크를 선택하기 위해 필요한 특징들을 추출할 수 있는 정보들을 포함하고, 특징들을 추출할 수 있는 정보들은 프로젝트의 목적, 후단부(Backend) 환경, 훈련 데이터 및 의사코드로 작성된 사용자의 알고리즘 항목을 포함하는 것을 특징으로 한다.In addition, the user specification code used as the deep learning input of the framework recommendation system includes information that can extract the features necessary for selecting a deep learning framework, and the information that can extract the features is the purpose of the project, It is characterized by including a backend environment, training data, and user algorithm items written in pseudocode.

다른 목적을 달성하기 위한 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법은 프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력 단계;변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력 단계;모델 데이터 분석 과정과 프레임워크 선택 과정을 통하여 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천 단계;딥러닝 프레임워크 추천 단계에서 추천된 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력 단계;를 포함하는 것을 특징으로 한다.To achieve another object, a deep learning framework recommendation method using a feature selection and scoring algorithm according to the present invention includes a framework property/feature input step of inputting model template and framework property information for framework selection; User specification input step of entering data attribute information to be used with the deep learning model; receiving framework attributes/characteristics and user specifications through the model data analysis process and framework selection process, and recommending a deep learning framework using feature selection and scoring algorithms It is characterized by including; a deep learning framework recommendation step of doing; a recommendation framework information output step of outputting recommended framework information and framework optimization model design recommended in the deep learning framework recommendation step.

여기서, 모델 데이터 분석 과정은, 사용자 명세의 문법 오류 여부를 검사하는 문법 분석 과정과, 훈련 데이터를 포함한 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하는 데이터 입력 분석 과정을 포함하는 것을 특징으로 한다.Here, the model data analysis process includes a grammar analysis process for checking user specifications for grammatical errors and a data input analysis process for performing data validation by taking as input a path of a specification file including training data. do.

그리고 프레임워크 선택 과정은, 프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출하는 알고리즘 추출 과정과, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는 특징 선택 과정과, 선택된 특징을 기반으로 딥러닝 프레임워크에 점수 부여하는 프레임워크 스코어링 과정을 포함하는 것을 특징으로 한다.And the framework selection process includes an algorithm extraction process of extracting a user algorithm using a procedure analyzer and a function analyzer, a feature selection process of obtaining characteristics of input data by analyzing the relationship between the extracted user algorithm and input data, It is characterized in that it includes a framework scoring process for assigning scores to the deep learning framework based on the selected feature.

그리고 특징 선택 과정은, 알고리즘 추출 과정에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석 과정과, 사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석 과정과, 사용자 알고리즘 분석을 하는 사용자 알고리즘 분석 과정과, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출 과정을 포함하는 것을 특징으로 한다.And, in the feature selection process, when the user algorithm is extracted in the algorithm extraction process, the user specification analysis process for analyzing the user specification, the framework information analysis process for analyzing the framework information necessary for the user specification, and the user algorithm analysis It is characterized in that it includes a user algorithm analysis process and an input data feature extraction process of extracting features of the input data by analyzing the relationship between the extracted user algorithm and the input data.

그리고 프레임워크 스코어링 과정은, 사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치 과정과, 특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치 과정과, 사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 스코어를 생성하는 스코어 생성 과정과, 사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가 과정과, 최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환 과정을 포함하는 것을 특징으로 한다.In addition, the framework scoring process includes a framework information patching process for patching predefined deep learning framework information, a user specification feature patching process for patching user specification characteristics obtained by the feature selection process, and a user specification feature patching process. If the feature value of exists in the feature value of the feature of the currently selected deep learning framework, a score generation process of generating a score for each feature defined in the deep learning framework, and all features of the user specification are transferred to the selected deep learning framework. If supported, a process of adding a supported framework to the list of supported frameworks and a process of returning a list of supported frameworks to return a list of supported frameworks so that the deep learning framework with the highest score can be recommended It is characterized in that it includes.

이상에서 설명한 바와 같은 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법은 다음과 같은 효과를 구현한다.The deep learning framework recommendation system and method using the feature selection and scoring algorithm according to the present invention as described above implements the following effects.

첫째, 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크의 적용이 효율적으로 이루어지도록 한다.First, it receives user specifications as input and recommends the optimal deep learning framework for implementing the user's algorithm so that the optimal deep learning framework suitable for the learning target is applied efficiently.

둘째, 사용자의 알고리즘에 가장 적합한 추천 딥러닝 프레임워크와 프레임워크 최적화 모델 디자인을 출력하여 사용자의 목적에 따라 최적의 딥러닝 프레임워크를 선택할 수 있도록 한다.Second, it outputs the recommended deep learning framework and framework optimization model design most suitable for the user's algorithm so that the user can select the optimal deep learning framework according to his or her purpose.

셋째, 사용자는 알고리즘을 쉽게 빌드하기 위해 프레임워크의 내장 함수를 사용할 수 있어 알고리즘을 구현하는데 시간을 절약할 수 있고 타겟 환경에서 추천된 프레임워크를 사용할 수 있는지 확인할 수 있도록 한다.Third, users can use the built-in functions of the framework to easily build the algorithm, saving time in implementing the algorithm and checking whether the recommended framework can be used in the target environment.

도 1은 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템의 구성도
도 2는 모델 데이터 분석부의 상세 구성도
도 3은 프레임워크 선택부의 상세 구성도
도 4는 특징 선택부의 상세 구성도
도 5는 프레임워크 스코어링부의 상세 구성도
도 6은 사용자 정의 형식의 텍스트 파일 형식 사용자 명세 코드의 일 예를 나타낸 구성도
도 7은 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법을 나타낸 플로우 차트
도 8은 프레임워크 선택을 위한 상세 과정을 나타낸 동작 흐름도
도 9는 프레임워크 스코어링의 상세 과정을 나타낸 플로우 차트
1 is a block diagram of a deep learning framework recommendation system using a feature selection and scoring algorithm according to the present invention.
2 is a detailed configuration diagram of the model data analysis unit
3 is a detailed configuration diagram of a framework selection unit
4 is a detailed configuration diagram of a feature selection unit
5 is a detailed configuration diagram of the framework scoring unit
6 is a configuration diagram showing an example of a text file format user specification code in a user-defined format
7 is a flow chart showing a method for recommending a deep learning framework using a feature selection and scoring algorithm according to the present invention.
8 is an operational flow chart showing a detailed process for selecting a framework
9 is a flow chart showing a detailed process of framework scoring

이하, 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.Hereinafter, a preferred embodiment of a deep learning framework recommendation system and method using a feature selection and scoring algorithm according to the present invention will be described in detail.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.Features and advantages of the deep learning framework recommendation system and method using the feature selection and scoring algorithm according to the present invention will become clear through the detailed description of each embodiment below.

도 1은 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템의 구성도이다.1 is a block diagram of a deep learning framework recommendation system using a feature selection and scoring algorithm according to the present invention.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법은 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크의 적용이 효율적으로 이루어지도록 한 것이다.The system and method for recommending a deep learning framework using a feature selection and scoring algorithm according to the present invention receives user specifications as an input and recommends the optimal deep learning framework for implementing the user's algorithm, thereby providing the optimal This is to ensure that the application of the deep learning framework is made efficient.

이를 위하여, 본 발명은 사용자의 알고리즘에 가장 적합한 추천 딥러닝 프레임워크와 프레임워크 최적화 모델 디자인을 출력하여 사용자의 목적에 따라 최적의 딥러닝 프레임워크를 선택할 수 있도록 하는 구성을 포함할 수 있다.To this end, the present invention may include a configuration for outputting a recommended deep learning framework most suitable for the user's algorithm and a framework optimization model design so that the user can select the optimal deep learning framework according to his or her purpose.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템은 도 1에서와 같이, 프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력부(10)와, 변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력부(20)와, 모델 데이터 분석부(30a)와 프레임워크 선택부(30b)로 구성되어 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천부(30)와, 사용자의 알고리즘에 가장 적합한 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력부(40)를 포함한다.A deep learning framework recommendation system using a feature selection and scoring algorithm according to the present invention, as shown in FIG. 1, includes a framework property/feature input unit 10 for inputting model template and framework property information for framework selection; It consists of a user specification input unit 20 for inputting the input deep learning model to be converted and data property information to be used, a model data analysis unit 30a, and a framework selection unit 30b to receive framework properties/characteristics and user specifications. A deep learning framework recommendation unit 30 that recommends a deep learning framework using a feature selection and scoring algorithm, and outputs recommendation framework information that outputs recommendation framework information most suitable for the user's algorithm and framework optimization model design. It includes part 40.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템에서는 다양한 딥러닝 프레임워크에 대한 정보들이 사전에 정의되어 있다. 입력으로 들어오는 사용자 명세의 정보와 매칭을 수행한 뒤 지원되는 프레임워크 목록을 반환하고 이후 가장 높은 스코어를 가지는 프레임워크를 추천한다.In the deep learning framework recommendation system using the feature selection and scoring algorithm according to the present invention, information on various deep learning frameworks is defined in advance. After performing matching with input user specification information, a list of supported frameworks is returned, and then the framework with the highest score is recommended.

사용자 명세의 정보에 포함될 수 있는 정보로는 '프로그램의 목적', '딥러닝을 수행하고자 하는 디바이스', '모델 사이즈', '데이터 타입' 등이 있다.Information that can be included in user specification information includes 'purpose of program', 'device to perform deep learning', 'model size', 'data type', and the like.

모델 데이터 분석부(30a)의 상세 구성은 다음과 같다.The detailed configuration of the model data analysis unit 30a is as follows.

도 2는 모델 데이터 분석부의 상세 구성도이다.2 is a detailed configuration diagram of a model data analysis unit.

모델 데이터 분석부(30a)는 도 2에서와 같이, 사용자 명세의 문법 오류 여부를 검사하는 문법 분석부(21)와, 훈련 데이터를 포함시키기 위해 사용되는 형태인 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하는 데이터 입력 분석부(22)를 포함한다.As shown in FIG. 2, the model data analysis unit 30a receives the syntax analysis unit 21 that checks whether or not there is a grammatical error in the user specification and the path of the specification file, which is a form used to include training data, as input. It includes a data input analysis unit 22 that performs validation.

프레임워크 선택부(30b)의 상세 구성은 다음과 같다.The detailed configuration of the framework selection unit 30b is as follows.

도 3은 프레임워크 선택부의 상세 구성도이다.3 is a detailed configuration diagram of a framework selection unit.

프레임워크 선택부(30b)는 도 3에서와 같이, 프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출하는 알고리즘 추출부(31)와, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는 특징 선택부(32)와, 선택된 특징을 기반으로 가장 적합한 딥러닝 프레임워크에 점수 부여하는 프레임워크 스코어링부(33)를 포함한다.As shown in FIG. 3, the framework selection unit 30b analyzes the relationship between the algorithm extraction unit 31 that extracts the user algorithm using a procedure analyzer and a function analyzer, and the extracted user algorithm and input data to input data. It includes a feature selection unit 32 that obtains characteristics of data and a framework scoring unit 33 that assigns scores to the most suitable deep learning framework based on the selected characteristics.

특징 선택부(32)의 상세 구성은 다음과 같다.The detailed configuration of the feature selection unit 32 is as follows.

도 4는 특징 선택부의 상세 구성도이다.4 is a detailed configuration diagram of a feature selection unit.

특징 선택부(32)는 도 4에서와 같이, 알고리즘 추출부(31)에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석부(41)와, 사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석부(42)와, 사용자 알고리즘 분석을 하는 사용자 알고리즘 분석부(43)와, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출부(44)를 포함한다.As shown in FIG. 4, the feature selection unit 32 includes a user specification analysis unit 41 that analyzes the user specification when the algorithm extraction unit 31 extracts the user algorithm, and analyzes framework information necessary for the user specification. A framework information analysis unit 42 that analyzes user algorithms, a user algorithm analysis unit 43 that analyzes user algorithms, and an input data feature extraction unit that extracts characteristics of input data by analyzing the relationship between the extracted user algorithm and input data. (44).

프레임워크 스코어링부(33)의 상세 구성은 다음과 같다.The detailed configuration of the framework scoring unit 33 is as follows.

도 5는 프레임워크 스코어링부의 상세 구성도이다.5 is a detailed configuration diagram of a framework scoring unit.

프레임워크 스코어링부(33)는 도 5에서와 같이, 사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치부(51)와, 특징 선택부(32)의 특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치부(52)와, 사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 [스코어(특징값) * 가중치(특징)]를 수행하여 해당하는 특징의 스코어를 생성하는 스코어 생성부(53)와, 사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가부(54)와, 최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환부(55)를 포함한다.As shown in FIG. 5, the framework scoring unit 33 is a framework information patching unit 51 for patching predefined deep learning framework information and a user obtained by the feature selection process of the feature selection unit 32. [ score (feature value) * weight (feature)] to generate a score of the corresponding feature, and if all features of the user specification are supported by the selected deep learning framework, the framework is supported. Includes a support framework list addition unit 54 for adding to the list of frameworks, and a support framework list return unit 55 for returning a list of supported frameworks so that the deep learning framework with the highest score can be recommended. do.

도 6은 사용자 정의 형식의 텍스트 파일 형식 사용자 명세 코드의 일 예를 나타낸 것으로, 사용자 명세 코드는 프레임워크 추천 시스템의 딥러닝 입력으로 프로젝트의 목적, 후단부(Backend) 환경, 훈련 데이터 및 의사코드로 작성된 사용자의 알고리즘과 같은 딥러닝 프레임워크를 선택하기 위한 필요한 특징들을 추출하기 위한 정보를 포함한다.6 shows an example of a user-specified code in a text file format in a user-defined format. The user-specified code is a deep learning input for a framework recommendation system, and includes project goals, backend environments, training data, and pseudocode. It includes information for extracting necessary features for selecting a deep learning framework, such as the user's algorithm.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법을 구체적으로 설명하면 다음과 같다.The deep learning framework recommendation method using the feature selection and scoring algorithm according to the present invention is described in detail as follows.

도 7은 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법을 나타낸 플로우 차트이다.7 is a flowchart illustrating a deep learning framework recommendation method using a feature selection and scoring algorithm according to the present invention.

본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법은 크게 사용자 명세를 입력으로 받는 사용자 명세 입력 단계(S701)와, 모델 데이터 분석기를 사용하여 문법 분석 및 데이터 입력 분석을 하는 모델 데이터 분석 단계(S702)와, 프레임워크 선택 알고리즘을 이용하여 알고리즘 추출, 특징 선택, 프레임워크 스코어링으로 특징 선택 기반의 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천 단계(S703)와, 사용자의 알고리즘에 가장 적합한 추천 딥러닝 프레임워크와 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력 단계(S704)를 포함한다.The deep learning framework recommendation method using the feature selection and scoring algorithm according to the present invention includes a user specification input step (S701) receiving user specifications as input, and model data for grammar analysis and data input analysis using a model data analyzer. An analysis step (S702) and a deep learning framework recommendation step (S703) of recommending a deep learning framework based on feature selection through algorithm extraction, feature selection, and framework scoring using a framework selection algorithm, and and a recommended framework information output step (S704) of outputting the most suitable recommended deep learning framework and framework optimization model design.

모델 데이터 분석 단계를 구체적으로 설명하면 다음과 같다.The detailed description of the model data analysis steps is as follows.

모델 데이터 분석 단계는 문법 분석기 및 데이터 입력 분석기를 통하여 사용자 명세의 문법과 데이터 입력을 분석하는 것이다.The model data analysis step is to analyze the grammar and data input of user specifications through the grammar analyzer and data input analyzer.

이 단계에서 문법 분석기는 사용자 명세의 문법 오류 여부를 검사한다.At this stage, the grammar analyzer checks the user specification for grammatical errors.

예를 들어, 전반부 타겟 디바이스(frontend_target_device)의 입력으로 시스템에서 사전에 정의한 정보 이외의 정보를 입력할 시 시스템 오류를 발생시킨다.For example, a system error occurs when information other than the information previously defined in the system is input as the input of the frontend target device (frontend_target_device).

문법적 오류가 없을경우 시스템 오류 발생 없이 모델 데이터 분석의 입력으로 들어온 사용자 명세를 출력한다.If there are no grammatical errors, the user specifications entered as input for model data analysis are output without system errors.

데이터 입력 분석기는 훈련 데이터를 포함하는 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하여, 만약 유효하지 않는 데이터가 발견될 시 시스템 오류를 발생시키고, 만약 오류가 없다면 시스템은 오류를 발생시키지 않고 입력 데이터를 해당하는 알맞은 변수에 할당한다.The data input analyzer performs data validation by taking the path of the specification file containing the training data as input, and if invalid data is found, a system error occurs. If there is no error, the system does not generate an error. Assign the input data to the appropriate variables.

딥러닝 프레임워크 추천 단계를 구체적으로 설명하면 다음과 같다.The specific steps for recommending a deep learning framework are as follows.

도 8은 프레임워크 선택을 위한 상세 과정을 나타낸 동작 흐름도이다.8 is an operational flowchart illustrating a detailed process for selecting a framework.

프레임워크 선택 과정은 알고리즘 추출 단계(S801), 특징 선택 단계(S802), 프레임워크 스코어링 단계(S803)로 구성된다.The framework selection process consists of an algorithm extraction step (S801), a feature selection step (S802), and a framework scoring step (S803).

알고리즘 추출 단계에서는 프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출한다.In the algorithm extraction step, a user algorithm is extracted using a procedure analyzer and function analyzer.

특징 선택 단계에서는 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는다.In the feature selection step, the relationship between the extracted user algorithm and the input data is analyzed to obtain the features of the input data.

프레임워크 스코어링 단계에서는 선택된 특징을 기반으로 가장 적합한 딥러닝 프레임워크에 점수 부여한다.In the framework scoring step, the most suitable deep learning framework is scored based on the selected features.

이후, 추천 프레임워크 정보 출력 단계에서 부여된 점수를 기반으로 추천된 딥러닝 프레임워크에 대한 정보 및 프레임워크 최적화 모델 디자인을 출력한다.Then, based on the scores given in the recommended framework information output step, information on the recommended deep learning framework and framework optimization model design are output.

여기서, 특징 선택 단계(S802)는 알고리즘 추출 단계에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석 단계와, 사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석 단계와, 사용자 알고리즘 분석을 하는 사용자 알고리즘 분석 단계와, 추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출 단계를 포함한다.Here, in the feature selection step (S802), if the user algorithm is extracted in the algorithm extraction step, the user specification analysis step of analyzing the user specification, the framework information analysis step of analyzing the framework information necessary for the user specification, and the user algorithm It includes a user algorithm analysis step of performing analysis, and an input data feature extraction step of extracting features of the input data by analyzing the relationship between the extracted user algorithm and the input data.

도 8에서, 입력 데이터의 특징은 크게 4개로 표현되고 있는데, 이는 구체적인 구현에 따라 더 추가될 수 있다.In FIG. 8 , four characteristics of input data are largely represented, which may be further added according to specific implementation.

특징으로 데이터 크기, 동적 그래프, CNN 그리고 CUDA로 분류되며 각각의 특징은 다양한 딥러닝 프레임워크에 점수를 부여한다.The features are classified into data size, dynamic graph, CNN, and CUDA, and each feature gives a score to various deep learning frameworks.

예를 들어, 동적 그래프의 경우 Tensorflow, PyTorch 그리고 MXNet에 4, 10, 4점을 각각 부여할 수 있다.For example, for dynamic graphs, you can give Tensorflow, PyTorch, and MXNet 4, 10, and 4 points respectively.

그리고 프레임워크 스코어링 단계(S803)의 상세 구성은 다음과 같다.And the detailed configuration of the framework scoring step (S803) is as follows.

도 9는 프레임워크 스코어링의 상세 과정을 나타낸 플로우 차트이다.9 is a flowchart showing a detailed process of framework scoring.

프레임워크 스코어링 단계(S803)는 사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치 단계(S901)와, 특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치 단계(S902)와, 선택된 프레임워크 특징의 특징값 패치 및 사용자 명세 특징값과의 매칭을 통하여 사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 스코어를 생성하는 스코어 생성 단계(S905)와, 사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가 단계(S906)와, 최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환 단계(S97)를 포함한다.The framework scoring step (S803) includes a framework information patching step (S901) of patching predefined deep learning framework information and a user specification feature patching step (S902) of patching user specification characteristics obtained by the feature selection process. ), and matching feature values of selected framework features and user-specified feature values, if the feature values of user-specified features exist in the feature values of features of the currently selected deep learning framework, the feature values defined in the deep learning framework are A score generation step of generating a score for each feature (S905), and a step of adding a list of supported frameworks to add the framework to the list of supported frameworks if all features of the user specification are supported by the selected deep learning framework ( S906) and a supported framework list returning step (S97) of returning a list of supported frameworks so that the deep learning framework with the highest score can be recommended.

사용자 명세의 선택된 특징에 맞게 최적의 딥러닝 프레임워크를 추천하기 위해 프레임워크 스코어링 알고리즘이 필수적이다.Framework scoring algorithms are essential to recommend optimal deep learning frameworks for selected characteristics of user specifications.

시스템은 사전에 정의된 다양한 딥러닝 프레임워크 정보들을 패치하여 시작하고, 이후 '특징 선택' 과정에 의해 얻은 사용자 명세의 특징을 패치한다.The system starts by patching various predefined deep learning framework information, and then patches the features of user specifications obtained through the 'feature selection' process.

사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 '스코어(특징값) * 가중치(특징)'를 수행하여 해당하는 특징의 스코어를 생성한다.If the feature value of the feature of the user specification exists in the feature value of the feature of the currently selected deep learning framework, 'score (feature value) * weight (feature)' for each feature defined in the deep learning framework is performed to obtain the corresponding Generate a score for a feature.

이는 사용자 명세의 모든 특징에 대하여 각각 수행되고, 결과로 모든 특징의 스코어를 합하여 해당 프레임워크의 스코어를 얻는다.This is done for every feature in the user's specification, and as a result the score for that framework is obtained by summing the scores of all features.

이를 통해 사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크는 지원 프레임워크의 목록에 추가되고, 만약 선택된 딥러닝 프레임워크가 사용자 명세에 포함된 특징의 특징값을 지원하지 않는 경우 시스템에 존재하는 다른 딥러닝 프레임워크를 선택하여 동일한 과정을 수행한다.Through this, if all features of the user specification are supported by the selected deep learning framework, the framework is added to the list of supported frameworks, and if the selected deep learning framework does not support the feature value of the feature included in the user specification In this case, the same process is performed by selecting another deep learning framework that exists in the system.

시스템에 존재하는 모든 딥러닝 프레임워크에 대하여 위와 같은 과정이 수행되었을 때, 지원하는 프레임워크 목록을 반환하고 시스템은 그 중 최고의 점수를 갖는 딥러닝 프레임워크를 추천한다.When the above process is performed for all deep learning frameworks existing in the system, a list of supported frameworks is returned and the system recommends the deep learning framework with the highest score among them.

프레임워크 스코어링 예는 가령 사용자 명세의 여러 가지 특징 중 '디바이스'의 경우, 사용자 명세의 특징은 '디바이스' 이며 특징값은 '안드로이드’'로 가정한다.In the example of framework scoring, for example, in the case of 'device' among various characteristics of user specification, it is assumed that the characteristic of user specification is 'device' and the characteristic value is 'android'.

시스템 프레임워크는 Tensorflow라고 가정하면, Tensorflow의 특징 중 '디바이스' 특징이 있는지 먼저 확인하여 만약 없으면 다른 딥러닝 프레임워크를 선택하고, '디바이스' 특징이 프레임워크에 존재하면 특징의 특징값이 여러 값들(CUDA, TPU, CPU, Android 등)이 존재한다.Assuming that the system framework is Tensorflow, first check whether there is a 'device' feature among Tensorflow features, and if not, select another deep learning framework. (CUDA, TPU, CPU, Android, etc.) exist.

각 특징값에 대해 사용자 명세의 특징과 동일한지 확인 후 동일하다면 특징값이 가지는 스코어를 얻을 수 있고, 얻은 스코어는 특징의 가중치와 곱셈하여 해당 특징에 대한 스코어링을 수행한다.After checking whether each feature value is the same as the feature specified by the user, if it is the same, a score of the feature value can be obtained, and the obtained score is multiplied by the weight of the feature to perform scoring for the feature.

이는 다른 특징들에 모두 동일하게 적용되며 모든 특징들에 대한 스코어를 합하여 프레임워크 스코어링이 수행된다.This is equally applied to all other features, and framework scoring is performed by summing scores for all features.

이상에서 설명한 본 발명에 따른 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템 및 방법은 사용자 명세를 입력으로 받아 사용자의 알고리즘을 구현하기 위한 최적의 딥러닝 프레임워크를 추천할 수 있도록 하여 학습 대상에 맞는 최적인 딥 러닝 프레임워크의 적용이 효율적으로 이루어지도록 한 것이다.The deep learning framework recommendation system and method using the feature selection and scoring algorithm according to the present invention described above receives user specifications as input and recommends the optimal deep learning framework for implementing the user's algorithm, thereby learning target This is to ensure that the application of the optimal deep learning framework for the application is made efficiently.

본 발명은 사용자는 알고리즘을 쉽게 빌드하기 위해 프레임워크의 내장 함수를 사용할 수 있어 알고리즘을 구현하는데 시간을 절약할 수 있고 타겟 환경에서 추천된 프레임워크를 사용할 수 있는지 확인할 수 있도록 한다.According to the present invention, a user can use a built-in function of a framework to easily build an algorithm, thereby saving time in implementing the algorithm and checking whether a recommended framework can be used in a target environment.

이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.As described above, it will be understood that the present invention is implemented in a modified form without departing from the essential characteristics of the present invention.

그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Therefore, the specified embodiments should be considered from an explanatory point of view rather than a limiting point of view, and the scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent range are considered to be included in the present invention. will have to be interpreted

10. 프레임워크 속성/특징 입력부
20. 사용자 명세 입력부
30. 딥러닝 프레임워크 추천부
40. 추천 프레임워크 정보 출력부
10. Framework property/characteristic input part
20. User specification input unit
30. Deep Learning Framework Recommendation Unit
40. Recommendation framework information output unit

Claims (11)

프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력부;
변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력부;
모델 데이터 분석부와 프레임워크 선택부로 구성되어 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천부;
딥러닝 프레임워크 추천부에서 추천된 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력부;를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
a framework property/characteristic input unit for inputting model template and framework property information for selecting a framework;
a user specification input unit for inputting input deep learning model to be converted and data attribute information to be used;
A deep learning framework recommendation unit composed of a model data analysis unit and a framework selection unit that receives framework properties/characteristics and user specifications and recommends a deep learning framework using a feature selection and scoring algorithm;
A deep learning framework recommendation system using a feature selection and scoring algorithm, comprising: a recommendation framework information output unit configured to output recommendation framework information and framework optimization model design recommended by the deep learning framework recommendation unit.
제 1 항에 있어서, 모델 데이터 분석부는,
사용자 명세의 문법 오류 여부를 검사하는 문법 분석부와,
훈련 데이터를 포함시키기 위해 사용되는 형태인 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하는 데이터 입력 분석부를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
The method of claim 1, wherein the model data analysis unit,
a grammar analysis unit that checks for grammatical errors in user specifications;
A deep learning framework recommendation system using a feature selection and scoring algorithm, comprising a data input analysis unit that performs data validation by taking as input a path of a specification file, which is a form used to include training data.
제 1 항에 있어서, 프레임워크 선택부는,
프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출하는 알고리즘 추출부와,
추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는 특징 선택부와,
선택된 특징을 기반으로 딥러닝 프레임워크에 점수를 부여하는 프레임워크 스코어링부를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
The method of claim 1, wherein the framework selection unit,
An algorithm extraction unit that extracts a user algorithm using a procedure analyzer and a function analyzer;
a feature selector that obtains features of the input data by analyzing the relationship between the extracted user algorithm and the input data;
A deep learning framework recommendation system using a feature selection and scoring algorithm, comprising a framework scoring unit for assigning scores to the deep learning framework based on selected features.
제 3 항에 있어서, 특징 선택부는,
알고리즘 추출부에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석부와,
사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석부와,
사용자 알고리즘 분석을 하는 사용자 알고리즘 분석부와,
추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출부를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
The method of claim 3, wherein the feature selection unit,
A user specification analysis unit that analyzes the user specification when the user algorithm is extracted by the algorithm extraction unit;
A framework information analysis unit for analyzing framework information required for user specifications;
A user algorithm analysis unit that analyzes a user algorithm;
A deep learning framework recommendation system using a feature selection and scoring algorithm, comprising an input data feature extractor for extracting features of the input data by analyzing the relationship between the extracted user algorithm and the input data.
제 3 항에 있어서, 프레임워크 스코어링부는,
사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치부와,
특징 선택부의 특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치부와,
사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 스코어를 생성하는 스코어 생성부와,
사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가부와,
최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환부를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
The method of claim 3, wherein the framework scoring unit,
A framework information patch unit for patching predefined deep learning framework information;
a user-specification feature patching unit for patching the characteristics of the user-specification obtained by the feature selection process of the feature selection unit;
A score generator for generating a score for each feature defined in the deep learning framework if the feature value of the feature specified by the user exists in the feature value of the feature of the currently selected deep learning framework;
If all characteristics of the user specification are supported by the selected deep learning framework, a support framework list addition unit for adding the framework to the list of supported frameworks;
A deep learning framework recommendation system using a feature selection and scoring algorithm, comprising a support framework list return unit that returns a list of frameworks that support the deep learning framework with the highest score to be recommended.
제 1 항에 있어서, 프레임워크 추천 시스템의 딥러닝 입력으로 사용되는 사용자 명세 코드는,
딥러닝 프레임워크를 선택하기 위해 필요한 특징들을 추출할 수 있는 정보들을 포함하고, 특징들을 추출할 수 있는 정보들은 프로젝트의 목적, 후단부(Backend) 환경, 훈련 데이터 및 의사코드로 작성된 사용자의 알고리즘 항목을 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 시스템.
The method of claim 1, wherein the user specification code used as the deep learning input of the framework recommendation system is:
It includes the information that can extract the features needed to select a deep learning framework, and the information that can extract the features includes the purpose of the project, the backend environment, training data, and user algorithm items written in pseudocode. A deep learning framework recommendation system using a feature selection and scoring algorithm comprising a.
프레임워크 선택을 위한 모델 템플릿 및 프레임워크 속성 정보를 입력하는 프레임워크 속성/특징 입력 단계;
변환할 입력 딥러닝 모델과 사용할 데이터 속성 정보를 입력하는 사용자 명세 입력 단계;
모델 데이터 분석 과정과 프레임워크 선택 과정을 통하여 프레임워크 속성/특징과 사용자 명세를 받아 특징 선택 및 스코어링 알고리즘을 이용하여 딥러닝 프레임워크 추천을 하는 딥러닝 프레임워크 추천 단계;
딥러닝 프레임워크 추천 단계에서 추천된 추천프레임워크 정보 및 프레임워크 최적화 모델 디자인을 출력하는 추천 프레임워크 정보 출력 단계;를 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법.
a framework property/characteristic input step of inputting model template and framework property information for selecting a framework;
A user specification input step of inputting input deep learning model to be converted and data attribute information to be used;
A deep learning framework recommendation step of receiving framework properties/characteristics and user specifications through a model data analysis process and a framework selection process, and recommending a deep learning framework using a feature selection and scoring algorithm;
A method for recommending a deep learning framework using a feature selection and scoring algorithm, comprising: a recommendation framework information output step of outputting recommended framework information and framework optimization model design recommended in the deep learning framework recommendation step.
제 7 항에 있어서, 모델 데이터 분석 과정은,
사용자 명세의 문법 오류 여부를 검사하는 문법 분석 과정과,
훈련 데이터를 포함한 명세 파일의 패스를 입력으로 하여 데이터 유효성 검사를 수행하는 데이터 입력 분석 과정을 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법.
The method of claim 7, wherein the model data analysis process,
A grammatical analysis process of checking user specifications for grammatical errors;
A method for recommending a deep learning framework using a feature selection and scoring algorithm, comprising a data input analysis process for performing data validation by taking a pass of a specification file including training data as an input.
제 7 항에 있어서, 프레임워크 선택 과정은,
프로시저 분석기 및 함수 분석기를 활용하여 사용자 알고리즘을 추출하는 알고리즘 추출 과정과,
추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 얻는 특징 선택 과정과,
선택된 특징을 기반으로 딥러닝 프레임워크에 점수 부여하는 프레임워크 스코어링 과정을 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법.
The method of claim 7, wherein the framework selection process,
An algorithm extraction process of extracting a user algorithm using a procedure analyzer and a function analyzer;
A feature selection process of obtaining features of the input data by analyzing the relationship between the extracted user algorithm and the input data;
A method for recommending a deep learning framework using a feature selection and scoring algorithm, comprising a framework scoring process for assigning scores to the deep learning framework based on selected features.
제 9 항에 있어서, 특징 선택 과정은,
알고리즘 추출 과정에서 사용자 알고리즘의 추출이 이루어지면 사용자 명세서를 분석하는 사용자 명세 분석 과정과,
사용자 명세에 필요한 프레임워크 정보를 분석하는 프레임워크 정보 분석 과정과,
사용자 알고리즘 분석을 하는 사용자 알고리즘 분석 과정과,
추출된 사용자 알고리즘과 입력 데이터 사이의 관계를 분석하여 입력 데이터의 특징을 추출하는 입력데이터 특징 추출 과정을 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법.
The method of claim 9, wherein the feature selection process,
In the algorithm extraction process, when the user algorithm is extracted, a user specification analysis process of analyzing the user specification;
A framework information analysis process of analyzing framework information necessary for user specifications;
A user algorithm analysis process for analyzing a user algorithm;
A method for recommending a deep learning framework using a feature selection and scoring algorithm, comprising an input data feature extraction process of extracting features of the input data by analyzing the relationship between the extracted user algorithm and the input data.
제 9 항에 있어서, 프레임워크 스코어링 과정은,
사전에 정의된 딥러닝 프레임워크 정보들을 패치하는 프레임워크정보 패치 과정과,
특징 선택 과정에 의해 얻은 사용자 명세의 특징을 패치하는 사용자명세 특징 패치 과정과,
사용자 명세의 특징의 특징값이 현재 선택된 딥러닝 프레임워크의 특징의 특징값에 존재하면 딥러닝 프레임워크에 정의된 각 특징에 대한 스코어를 생성하는 스코어 생성 과정과,
사용자 명세의 모든 특징이 선택된 딥러닝 프레임워크로 지원이 되면 해당 프레임워크를 지원 프레임워크의 목록에 추가하는 지원 프레임워크 목록 추가 과정과,
최고의 점수를 갖는 딥러닝 프레임워크가 추천될 수 있도록 지원하는 프레임워크 목록을 반환하는 지원 프레임워크 목록 반환 과정을 포함하는 것을 특징으로 하는 특징 선택 및 스코어링 알고리즘을 이용한 딥러닝 프레임워크 추천 방법.
The method of claim 9, wherein the framework scoring process,
A framework information patching process for patching predefined deep learning framework information;
a user-specification feature patching process for patching the user-specified feature obtained by the feature selection process;
A score generation process of generating a score for each feature defined in the deep learning framework if the feature value of the feature specified by the user exists in the feature value of the feature of the currently selected deep learning framework;
If all features of the user specification are supported by the selected deep learning framework, a process of adding the framework to the list of supported frameworks;
A method for recommending a deep learning framework using a feature selection and scoring algorithm, comprising a process of returning a list of supported frameworks so that a deep learning framework with the highest score can be recommended.
KR1020210194616A 2021-12-31 2021-12-31 System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms KR20230103616A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210194616A KR20230103616A (en) 2021-12-31 2021-12-31 System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210194616A KR20230103616A (en) 2021-12-31 2021-12-31 System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms

Publications (1)

Publication Number Publication Date
KR20230103616A true KR20230103616A (en) 2023-07-07

Family

ID=87155031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210194616A KR20230103616A (en) 2021-12-31 2021-12-31 System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms

Country Status (1)

Country Link
KR (1) KR20230103616A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102257028B1 (en) 2020-10-06 2021-05-27 주식회사 딥이티 Apparatus and method for allocating deep learning task adaptively based on computing platform
KR20210123110A (en) 2020-04-02 2021-10-13 한국과학기술원 Method for scheduling deep learning framework and computing node considering characteristic of the deep learning task and converting interface between deep learning frameworks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210123110A (en) 2020-04-02 2021-10-13 한국과학기술원 Method for scheduling deep learning framework and computing node considering characteristic of the deep learning task and converting interface between deep learning frameworks
KR102257028B1 (en) 2020-10-06 2021-05-27 주식회사 딥이티 Apparatus and method for allocating deep learning task adaptively based on computing platform

Similar Documents

Publication Publication Date Title
CN108388425A (en) A method of based on LSTM auto-complete codes
CN108563433B (en) Device based on LSTM automatic completion code
JP5540335B2 (en) Natural language sentence generation device and computer program
JP2021197133A (en) Meaning matching method, device, electronic apparatus, storage medium, and computer program
CN108345457A (en) A method of to program source code automatic generation function descriptive notes
CN110941427B (en) Code generation method and code generator
JP6663873B2 (en) Automatic program generation system and automatic program generation method
CN107391682B (en) Knowledge verification method, knowledge verification apparatus, and storage medium
CN111694937A (en) Interviewing method and device based on artificial intelligence, computer equipment and storage medium
CN112764738A (en) Code automatic generation method and system based on multi-view program characteristics
CN112579469A (en) Source code defect detection method and device
US9390117B2 (en) Method of transforming sets of input strings into at least one pattern expression that is string expressing sets of input strings, method of extracting transformation pattern as approximate pattern expression, and computer and computer program for the methods
Haraldsson et al. Exploring fitness and edit distance of mutated python programs
JP5342407B2 (en) Program analysis method, program analysis program, and program analysis apparatus
CN108932225A (en) For natural language demand to be converted into the method and system of semantic modeling language statement
Pater et al. Harmonic grammar with linear programming
CN117237479A (en) Product style automatic generation method, device and equipment based on diffusion model
KR20230103616A (en) System and Method for Recommending Deep Learning Framework based on Feature Selection and Scoring Algorithms
JP2008046695A (en) Similarity evaluation program, similarity evaluation apparatus and similarity evaluation method
CN114330285B (en) Corpus processing method and device, electronic equipment and computer readable storage medium
KR20230091562A (en) System and Method for Recommending Deep Learning Framework based on Feature Selection
CN115906818A (en) Grammar knowledge prediction method, grammar knowledge prediction device, electronic equipment and storage medium
Komendantskaya et al. Proof mining with dependent types
Khan et al. End-to-end natural language understanding pipeline for Bangla conversational agents
KR20220075807A (en) System and Method for correcting Context sensitive spelling error using Generative Adversarial Network