KR102086640B1 - User-definded machine learning apparatus for smart phone user and method thereof - Google Patents

User-definded machine learning apparatus for smart phone user and method thereof Download PDF

Info

Publication number
KR102086640B1
KR102086640B1 KR1020170110060A KR20170110060A KR102086640B1 KR 102086640 B1 KR102086640 B1 KR 102086640B1 KR 1020170110060 A KR1020170110060 A KR 1020170110060A KR 20170110060 A KR20170110060 A KR 20170110060A KR 102086640 B1 KR102086640 B1 KR 102086640B1
Authority
KR
South Korea
Prior art keywords
machine learning
user
data
defined machine
model
Prior art date
Application number
KR1020170110060A
Other languages
Korean (ko)
Other versions
KR20190023787A (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 KR1020170110060A priority Critical patent/KR102086640B1/en
Publication of KR20190023787A publication Critical patent/KR20190023787A/en
Application granted granted Critical
Publication of KR102086640B1 publication Critical patent/KR102086640B1/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • H04M1/72519

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 형태학적 특징을 이용하여 도난을 감시하는 도난 감시 장치 및 방법에 관한 것으로서, 사용자 정의 기계학습 장치는, 사용자로부터 데이터 또는 명령을 입력받는 입력부, 상기 입력받은 데이터를 이용하여 사용자 정의 기계학습 모델을 학습시켜 생성하거나 상기 입력받은 명령에 따라 사용자 정의 기계학습 모델에 따른 결과를 도출하는 사용자 정의 기계학습 프로그램을 저장하는 메모리, 및 상기 사용자 정의 기계학습 프로그램을 구동하는 적어도 하나의 프로세서를 포함하되, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하고, 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하고, 동일 종류의 데이터를 이용하여 증분(increment)적으로 상기 생성된 사용자 정의 기계학습 모델을 학습시키는 것을 특징으로 함으로써, 스마트폰 사용자들이 다양한 목적을 위해 다양한 데이터를 손쉽게 기계학습 모델에 적용하여 학습시키고, 다른 데이터 분석을 위해 적용할 수 있도록 할 수 있다.The present invention relates to a theft monitoring device and method for monitoring theft using a morphological feature, the user-defined machine learning apparatus, input unit for receiving data or commands from a user, user-defined machine learning using the received data A memory for storing a user-defined machine learning program that generates a model by learning a model or generates a result according to a user-defined machine learning model according to the received command, and at least one processor for driving the user-defined machine learning program. The user-defined machine learning program stored in the memory selects a predetermined machine learning algorithm for performing machine learning on the received data, and uses the selected machine learning algorithm to generate a user-defined machine learning model. Produce and the same species It is characterized by learning the generated user-defined machine learning model incrementally using the data of the smart phone users, by applying a variety of data to the machine learning model for various purposes, smart phone users can easily learn, and other data It can be applied for analysis.

Description

스마트폰 사용자를 위한 사용자 정의 기계학습 장치 및 그 방법{User-definded machine learning apparatus for smart phone user and method thereof}User-defined machine learning apparatus for smart phone user and method thereof

본 발명은 스마트폰 사용자들이 자유롭게 데이터를 입력하여 기계학습 모델을 학습시키고 모델을 사용할 수 있도록 해주는 사용자 정의 기계학습 장치 및 방법, 그 방법을 기록한 기록매체에 관한 것이다.The present invention relates to a user-defined machine learning apparatus and method for allowing a smartphone user to freely input data to learn a machine learning model and to use the model, and a recording medium recording the method.

데이터의 종류와 양이 급증함에 따라 데이터로부터 패턴을 찾고 이로부터 유용한 정보를 추출해내기 위한 기계학습 기반의 연구들이 많이 수행되어왔다. 특히, 스마트폰 사용자가 급증하고 스마트폰에서 얻을 수 있는 데이터의 종류와 양이 급증하면서, 스마트폰 사용자를 겨냥한 각종 서비스들을 제공하는 어플리케이션들이 기하급수적으로 늘어나고 있다. 이러한 어플리케이션들은 목표로 하는 특정 서비스 제공에 초점을 맞추어, 내부적으로 특정 규칙을 정의해서 사용하거나 기계학습 기법들을 사용하고 있다. 하지만, 기계학습 기법들은 본질적으로 다양한 데이터와 어플리케이션에 적용이 가능하므로, 어플리케이션에서 제공하는 서비스만 달라질 뿐, 내부에서 사용되는 기법들에는 큰 차이가 없는 경우가 상당히 많다. As the type and amount of data have soared, there have been many researches based on machine learning to find patterns from data and extract useful information from them. In particular, with the rapid increase in the number of smartphone users and the type and amount of data that can be obtained from the smartphone, applications that provide various services aimed at smartphone users are increasing exponentially. These applications focus on providing specific services that are targeted, and either use specific rules internally or use machine learning techniques. However, machine learning techniques are inherently applicable to various data and applications, so only the services provided by the application are different, and there are many cases in which the techniques used internally are not significantly different.

한국특허공개공보 10-2007-0119105, 2007.12.20 공개, 주식회사 사람과사람들Korean Patent Laid-Open Publication No. 10-2007-0119105, December 20, 2007 Disclosure, People and People

본 발명이 해결하고자 하는 기술적 과제는, 스마트폰 상에서 얻을 수 있는 데이터를 입력받아 기계학습 모델을 학습시키고, 다양한 데이터 분석에 활용하는 기능을 제공하고자 하는 것이다.The technical problem to be solved by the present invention is to provide a function to learn the machine learning model by receiving the data obtained on the smartphone, and to utilize in various data analysis.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 사용자 정의 기계학습 장치는, 사용자로부터 데이터 또는 명령을 입력받는 입력부; 상기 입력받은 데이터를 이용하여 사용자 정의 기계학습 모델을 학습시켜 생성하거나 상기 입력받은 명령에 따라 사용자 정의 기계학습 모델에 따른 결과를 도출하는 사용자 정의 기계학습 프로그램을 저장하는 메모리; 및 상기 사용자 정의 기계학습 프로그램을 구동하는 적어도 하나의 프로세서를 포함하되, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하고, 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하고, 동일 종류의 데이터를 이용하여 증분(increment)적으로 상기 생성된 사용자 정의 기계학습 모델을 학습시키는 것을 특징으로 한다.In order to solve the above technical problem, a user-defined machine learning apparatus according to an embodiment of the present invention, the input unit for receiving data or commands from the user; A memory configured to learn and generate a user-defined machine learning model using the received data, or to store a user-defined machine learning program for deriving a result according to the user-defined machine learning model according to the received command; And at least one processor for driving the user-defined machine learning program, wherein the user-defined machine learning program stored in the memory selects a predetermined machine learning algorithm to perform machine learning on the input data, and The user-defined machine learning model is generated using the data through a selected machine learning algorithm, and the generated user-defined machine learning model is incrementally trained using the same kind of data.

본 발명의 실시예에 의하면, 상기 입력부가 입력받는 데이터는, 스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터인 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the data input by the input unit may be a user-defined machine learning device, characterized in that the data stored in the smart terminal or the data sensed by the sensor of the smart terminal.

본 발명의 실시예에 의하면, 상기 입력부가 입력받는 데이터는, 스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터인 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the data input by the input unit may be a user-defined machine learning device, characterized in that the data stored in the smart terminal or the data sensed by the sensor of the smart terminal.

본 발명의 실시예에 의하면, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하고, 상기 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시키는 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the user-defined machine learning program stored in the memory reads the user-defined machine learning model previously stored according to the received command, and uses the received data to read the user-defined machine. It may be a user-defined machine learning device characterized by incrementally learning the learning model.

본 발명의 실시예에 의하면, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램이 선택하는 기계학습 알고리즘은, 인공신경망 알고리즘이 디폴트(default)이고, 사용자의 선택에 따라 달라질 수 있는 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the machine learning algorithm selected by the user-defined machine learning program stored in the memory, the artificial neural network algorithm is the default (default), characterized in that can vary according to the user's selection It may be a learning device.

본 발명의 실시예에 의하면, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터의 종류에 따라 선택되는 기계학습 알고리즘이 달라지는 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the user-defined machine learning program stored in the memory may be a user-defined machine learning apparatus, characterized in that the machine learning algorithm selected according to the type of the received data is different.

본 발명의 실시예에 의하면, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은,According to an embodiment of the present invention, the user-defined machine learning program stored in the memory,

상기 사용자로부터 입력받은 데이터가 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하기 위한 데이터인 경우, 상기 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 도출하고, 상기 도출된 결과를 출력하는 출력부를 더 포함하는 사용자 정의 기계학습 장치일 수 있다.If the data received from the user is data for checking a result according to a previously stored user-defined machine learning model, the output for deriving a result according to a user-defined machine learning model for the data, and outputs the derived result It may be a user-defined machine learning device further comprising a wealth.

본 발명의 실시예에 의하면, 사용자 정의 기계학습 모델을 다른 사용자 단말로 전송하거나 수신하는 통신부를 더 포함하고, 상기 전송된 사용자 정의 기계학습 모델은 상기 다른 사용자 단말에서 학습이 가능한 것을 특징으로 하는 사용자 정의 기계학습 장치일 수 있다.According to an embodiment of the present invention, the user machine further comprises a communication unit for transmitting or receiving a user-defined machine learning model, the user-defined machine learning model transmitted is characterized in that the user can learn in the other user terminal Definition May be a machine learning device.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 사용자 정의 기계학습 방법은, 사용자 정의 기계학습 시스템이 사용자로부터 데이터 또는 명령을 입력받는 단계; 상기 사용자 정의 기계학습 시스템이 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하는 단계; 및 상기 사용자 정의 기계학습 시스템이 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 기계학습을 수행함으로써 사용자 정의 기계학습 모델을 생성하는 단계를 포함하되, 상기 사용자 정의 기계학습 모델은, 동일 종류의 데이터를 이용하여 증분(increment)적으로 학습되는 것을 특징으로 한다.In order to solve the above technical problem, the user-defined machine learning method according to an embodiment of the present invention, the user-defined machine learning system step of receiving data or command from the user; Selecting, by the user-defined machine learning system, a predetermined machine learning algorithm to perform machine learning on the received data; And generating, by the user-defined machine learning system, a user-defined machine learning model by performing machine learning using the data through the selected machine learning algorithm, wherein the user-defined machine learning model comprises the same kind of data. It is characterized by learning incrementally (increment) using.

본 발명의 실시예에 의하면, 상기 사용자로부터 입력받는 데이터는, 스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터인 것을 특징으로 하는 사용자 정의 기계학습 방법일 수 있다.According to an embodiment of the present invention, the data received from the user may be a user-defined machine learning method, characterized in that the data stored in the smart terminal or the data sensed by the sensor of the smart terminal.

본 발명의 실시예에 의하면, 상기 사용자 정의 기계학습 시스템이 사용자로부터 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하는 단계를 더 포함하고, 상기 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시키는 것을 특징으로 하는 사용자 정의 기계학습 방법일 수 있다.According to an embodiment of the present invention, the user-defined machine learning system further comprises the step of reading a user-defined machine learning model stored in accordance with a command received from the user, the read using the received data It may be a user-defined machine learning method characterized by incrementally learning a user-defined machine learning model.

본 발명의 실시예에 의하면, 상기 기계학습 알고리즘을 선택하는 단계는, 상기 입력받은 데이터의 종류에 따라 선택되는 기계학습 알고리즘이 달라지는 것을 특징으로 하는 사용자 정의 기계학습 방법일 수 있다.According to an embodiment of the present invention, the step of selecting the machine learning algorithm may be a user-defined machine learning method, characterized in that the machine learning algorithm selected according to the type of the received data is different.

본 발명의 실시예에 의하면, 상기 사용자로부터 입력받은 데이터가 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하기 위한 데이터인 경우, 상기 사용자 정의 기계학습 시스템이 상기 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 사용자에게 제공하는 단계를 더 포함하는 사용자 정의 기계학습 방법일 수 있다.According to an embodiment of the present invention, when the data input from the user is data for confirming a result according to a previously stored user-defined machine learning model, the user-defined machine learning model of the user-defined machine learning system for the data It may be a user-defined machine learning method further comprising providing a result according to the user.

본 발명의 실시예에 의하면, 상기 사용자 정의 기계학습 시스템이 상기 사용자 정의 기계학습 모델을 다른 사용자 단말로 전송하는 단계를 더 포함하고, 상기 전송된 사용자 정의 기계학습 모델은 상기 다른 사용자 단말에서 학습이 가능한 것을 특징으로 하는 사용자 정의 기계학습 방법일 수 있다.According to an embodiment of the present invention, the user-defined machine learning system further comprises the step of transmitting the user-defined machine learning model to another user terminal, the transmitted user-defined machine learning model is learning in the other user terminal It may be a user-defined machine learning method characterized in that possible.

한편, 상기 사용자 정의 기계학습 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, there is provided a computer-readable recording medium recording a program for executing the user-defined machine learning method on a computer.

본 발명의 실시예들에 따르면, 스마트폰 사용자들이 다양한 목적을 위해 다양한 데이터를 손쉽게 기계학습 모델에 적용하여 학습시키고, 다른 데이터 분석을 위해 적용할 수 있도록 함으로써, 흥미 위주의 데이터 분석부터 간단한 연구 혹은 조사를 위한 데이터 분석에 이르기까지 다양한 곳에 활용될 수 있다. 또한, 사용자들 간에 기계학습 모델을 공유하도록 함으로써 유용한 기계학습 모델의 전파 및 개선 효과도 기대할 수 있다.According to embodiments of the present invention, by allowing smartphone users to easily apply a variety of data to a machine learning model for a variety of purposes for learning, and to apply for other data analysis, analysis of interest-oriented data from simple research or It can be used for various purposes, from analyzing data for investigation. In addition, by sharing the machine learning model between users can be expected to propagate and improve the useful machine learning model.

도 1은 본 발명의 일 실시예에 따른 사용자 정의 기계학습 장치를 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 사용자 정의 기계학습 과정을 상세히 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 사용자 정의 기계학습 방법을 도시한 흐름도이다.
도 4 내지 도 6은 본 발명의 실시예에 따른 사용자 정의 기계학습 방법을 도시한 흐름도이다.
1 is a block diagram illustrating a user-defined machine learning apparatus according to an embodiment of the present invention.
2 is a diagram illustrating in detail a user-defined machine learning process according to an embodiment of the present invention.
3 is a flowchart illustrating a user-defined machine learning method according to an embodiment of the present invention.
4 to 6 are flowcharts illustrating a user-defined machine learning method according to an embodiment of the present invention.

본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자 하는 과제의 해결 방안의 개요 혹은 기술적 사상의 핵심을 우선 제시한다.Prior to the description of the specific contents of the present invention, for the convenience of understanding, the outline of the solution of the problem to be solved by the present invention or the core of the technical idea will be presented first.

스마트폰 사용자가 자유롭게 기계학습 모델을 생성하고 활용하기 위해서는 데이터, 기계학습 알고리즘, 기계학습 방법의 적용의 어려움 내지 제한을 극복하여야 한다. 복잡한 기계학습에 대한 설정이나, 기계학습에 대한 사전지식 없이 사용자가 직접 데이터를 입력하고 기계학습을 할 수 있는 사용자 정의 기계학습 방법을 제공함으로써 사용자만의 기계학습 모델을 생성하고 활용할 수 있도록 할 수 있다. 사용자들은 다양한 목적으로 기계학습 모델을 생성할 수 있고, 이를 통해, 단순한 흥미부터 간단한 실험에 이르기까지 스마트폰 데이터를 사용한 기계학습 모델의 학습 및 결과를 경험할 수 있게 된다. 나아가서, 각 사용자들이 생성한 자신만의 기계학습 모델을 서로 공유하고 개선할 수 있도록 함으로써, 유용한 기계학습 모델들이 집단지성에 의해 전파 및 개선될 수 있다.In order for a smartphone user to freely generate and utilize a machine learning model, it is necessary to overcome the difficulties or limitations of applying data, machine learning algorithms, and machine learning methods. You can create and utilize your own machine learning models by providing a custom machine learning method that allows users to enter data and machine learning directly without setting up complex machine learning or prior knowledge of machine learning. have. Users can create machine learning models for a variety of purposes, allowing them to experience the learning and results of machine learning models using smartphone data, from simple interests to simple experiments. Further, by allowing each user to share and improve their own machine learning models, useful machine learning models can be propagated and improved by collective intelligence.

이러한 사용자 정의 기계학습 장치를 제공하기 위하여, 본 발명의 일 실시예에 따른 사용자 정의 기계학습 장치는, 사용자로부터 데이터 또는 명령을 입력받는 입력부, 상기 입력받은 데이터를 이용하여 사용자 정의 기계학습 모델을 학습시켜 생성하거나 상기 입력받은 명령에 따라 사용자 정의 기계학습 모델에 따른 결과를 도출하는 사용자 정의 기계학습 프로그램을 저장하는 메모리, 및 상기 사용자 정의 기계학습 프로그램을 구동하는 적어도 하나의 프로세서를 포함하되, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하고, 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하고, 동일 종류의 데이터를 이용하여 증분(increment)적으로 상기 생성된 사용자 정의 기계학습 모델을 학습시키는 것을 특징으로 한다.In order to provide such a user-defined machine learning apparatus, a user-defined machine learning apparatus according to an embodiment of the present invention, an input unit for receiving data or a command from a user, learning a user-defined machine learning model using the received data And a memory for storing a user-defined machine learning program for generating a result according to the user-defined machine learning model according to the command generated by the user, and at least one processor for driving the user-defined machine learning program. The user-defined machine learning program stored in the program selects a predetermined machine learning algorithm to perform machine learning on the received data, and generates a user-defined machine learning model using the data through the selected machine learning algorithm. The same kind of data And learning the generated user-defined machine learning model incrementally.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 실시 예를 상세히 설명한다. 그러나 이들 실시예는 본 발명을 보다 구체적으로 설명하기 위한 것으로, 본 발명의 범위가 이에 의하여 제한되지 않는다는 것은 당업계의 통상의 지식을 가진 자에게 자명할 것이다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, these examples are intended to illustrate the present invention in more detail, it will be apparent to those skilled in the art that the scope of the present invention is not limited thereby.

본 발명이 해결하고자 하는 과제의 해결 방안을 명확하게 하기 위한 발명의 구성을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.The configuration of the invention for clarifying the solution to the problem to be solved by the present invention will be described in detail with reference to the accompanying drawings, based on the preferred embodiment of the present invention, the same in the reference numerals to the components of the drawings The same reference numerals have been given to the components even though they are on different drawings, and it will be apparent that components of other drawings may be cited when necessary in describing the drawings. In addition, in describing the operation principle of the preferred embodiment of the present invention in detail, when it is determined that the detailed description of the known function or configuration and other matters related to the present invention may unnecessarily obscure the subject matter of the present invention, The detailed description is omitted.

도 1은 본 발명의 일 실시예에 따른 사용자 정의 기계학습 장치를 도시한 블록도이다.1 is a block diagram illustrating a user-defined machine learning apparatus according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 사용자 정의 기계학습 장치(100)는 입력부(10), 프로세서(20), 및 메모리(30)를 포함하며, 출력부(40) 또는 통신부(50)를 더 포함할 수 있다.The user-defined machine learning apparatus 100 according to the embodiment of the present invention includes an input unit 10, a processor 20, and a memory 30, and may further include an output unit 40 or a communication unit 50. Can be.

입력부(10)는 사용자로부터 데이터 또는 명령을 입력받는다.The input unit 10 receives data or a command from a user.

입력부(10)가 입력받는 데이터는 스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터일 수 있다. 시간, GPS, WiFi, 가속도 센서, 조도 센서, 카메라 이미지 등 스마트 단말에서 생성될 수 있는 모든 데이터가 포함될 수 있다. 하나의 사용자 정의 기계학습 모델을 생성하거나 학습시키기 위한 데이터로 동일한 데이터만 입력받을 수 있다. 동일한 종류의 데이터만을 입력받아 사용자 정의 기계학습 모델에 입력함으로써 증분적으로 사용자 정의 기계학습 모델을 학습시킬 수 있다. 입력되는 데이터는 하나의 종류이거나 둘 이상의 종류일 수 있다. The data received by the input unit 10 may be data stored in a smart terminal or data sensed by a sensor of the smart terminal. All data that can be generated in the smart terminal, such as time, GPS, WiFi, acceleration sensor, illuminance sensor, camera image may be included. Only the same data can be input as data for creating or training a user-defined machine learning model. By inputting only the same kind of data into the user-defined machine learning model, the user-defined machine learning model can be trained incrementally. The input data may be one kind or two or more kinds.

입력부(10)가 사용자로부터 입력받는 데이터는 상기 데이터에 대한 레이블(Label)을 더 포함할 수 있다. 기계학습은 지도 학습, 비지도 학습, 준지도 학습, 강화 학습(supervised, unsupervised, semi-supervised, reinforcement)으로 나뉘는바, 사용자의 목적에 따른 기계학습이 지도 학습에 해당하는 경우, 데이터와 함께 레이블이 입력될 수 있다. 레이블이 같이 입력되는 경우, 지도 학습에 대한 데이터로 판단할 수 있고, 레이블이 같이 입력되지 않는 경우, 비지도 학습이라고 판단할 수 있다.The data input from the user by the input unit 10 may further include a label for the data. Machine learning is divided into supervised, unsupervised, semi-supervised, and reinforcement (supervised, unsupervised, semi-supervised, reinforcement) .If machine learning, according to the user's purpose, is supervised learning, it is labeled with data. Can be entered. When the labels are input together, it may be determined as data for supervised learning, and when the labels are not input together, it may be determined as unsupervised learning.

메모리(30)는 상기 입력받은 데이터를 이용하여 사용자 정의 기계학습 모델을 학습시켜 생성하거나 상기 입력받은 명령에 따라 사용자 정의 기계학습 모델에 따른 결과를 도출하는 사용자 정의 기계학습 프로그램을 저장한다. 또한, 메모리(30)는 생성된 기계학습 모델을 저장한다.The memory 30 stores a user-defined machine learning program that learns and generates a user-defined machine learning model using the input data or derives a result according to the user-defined machine learning model according to the input command. In addition, the memory 30 stores the generated machine learning model.

프로세서(20)는 상기 사용자 정의 기계학습 프로그램을 구동한다.The processor 20 drives the user-defined machine learning program.

상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하고, 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하고, 동일 종류의 데이터를 이용하여 증분(increment)적으로 상기 생성된 사용자 정의 기계학습 모델을 학습시킨다.The user-defined machine learning program stored in the memory selects a predetermined machine learning algorithm to perform machine learning on the input data, and generates a user-defined machine learning model using the data through the selected machine learning algorithm. And learning the generated user-defined machine learning model incrementally using the same kind of data.

기존에 사용자 정의 기계학습 모델이 없는 초기 상태이거나, 새로운 사용자 정의 기계학습 모델을 생성하는 경우, 입력받은 데이터에 대한 기계학습을 수행할 기계학습 알고리즘을 선택한다. 기계학습 알고리즘은 증분(increment)적으로 학습이 가능한 알고리즘을 선택하는 것이 바람직하다. 사용자가 기계학습 모델의 학습을 위해 데이터를 입력할 때마다 새롭게 전체 데이터를 통째로 학습하게 되면 효율성이 낮아지므로, 기계학습 알고리즘은 데이터가 새롭게 입력될 때마다 증분적으로 학습이 가능한 알고리즘을 이용한다. When there is no initial user-defined machine learning model or when a new user-defined machine learning model is created, a machine learning algorithm is selected to perform machine learning on the input data. The machine learning algorithm preferably selects an algorithm that can be incrementally learned. When the user inputs data for learning the machine learning model, the whole learning of the whole data becomes less efficient. Therefore, the machine learning algorithm uses an algorithm that can be incrementally learned whenever the data is newly input.

상기 메모리에 저장된 사용자 정의 기계학습 프로그램이 선택하는 기계학습 알고리즘은, 인공신경망 알고리즘이 디폴트(default)이고, 사용자의 선택에 따라 달라질 수 있다. 인공신경망 알고리즘 이외에도 분류, 회귀분석, 군집화 등 다른 모든 종류의 기계학습 알고리즘을 이용할 수 있다. In the machine learning algorithm selected by the user-defined machine learning program stored in the memory, the artificial neural network algorithm is the default and may vary according to a user's selection. In addition to artificial neural network algorithms, all other machine learning algorithms such as classification, regression, and clustering can be used.

상기 메모리에 저장된 사용자 정의 기계학습 프로그램이 선택하는 기계학습 알고리즘은, 상기 입력받은 데이터의 종류에 따라 선택될 수 있다. 데이터의 종류에 따라 적합한 기계학습 알고리즘을 선택할 수 있다. 예를 들어, 입력되는 데이터의 종류가 이미지인 경우, Convolutional Neural Network (CNN)이 선택될 수 있다. 데이터의 종류에 따라 선택되는 기계학습 알고리즘은 미리 설정되어 있을 수 있다. 이는 사용자 정의 기계학습 프로그램 제공자에 의해 설정되거나, 과거 동일한 종류의 데이터에 선택되었던 정보를 이용하여 설정될 수 있다. 미리 설정되어 있더라고 하더라도 사용자에 의해 변경될 수 있음은 당연하다.The machine learning algorithm selected by the user-defined machine learning program stored in the memory may be selected according to the type of the received data. Depending on the type of data, the appropriate machine learning algorithm can be selected. For example, when the type of data to be input is an image, a convolutional neural network (CNN) may be selected. The machine learning algorithm selected according to the type of data may be preset. This may be set by a user-defined machine learning program provider or by using information that has been selected for the same kind of data in the past. Of course, even if it is set in advance, it can be changed by the user.

메모리(30)상에 기존에 저장된 사용자 정의 기계학습 모델이 있고, 사용자가 데이터를 입력하여 기존에 저장된 사용자 정의 기계학습 모델을 학습시키고자 하는 명령을 입력한 경우, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하고, 상기 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시킨다. 이때, 입력받은 데이터는 상기 독출된 사용자 정의 기계학습 모델의 입력 데이터로 입력되었던 데이터와 동일한 종류의 데이터이어야 한다. 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시킴으로써 보다 정밀하고 정확한 기계학습 모델로 학습시킬 수 있다. If there is a user-defined machine learning model previously stored in the memory 30, and the user inputs a command for learning the user-defined machine learning model stored by inputting data, the user-defined machine learning stored in the memory. The program reads a user-defined machine learning model previously stored according to the received command, and incrementally learns the read user-defined machine learning model using the received data. At this time, the received data should be the same kind of data as the data input as the input data of the read user-defined machine learning model. By incrementally learning the read user-defined machine learning model using the input data, it is possible to learn more precise and accurate machine learning model.

메모리(30)상에 기존에 저장된 사용자 정의 기계학습 모델이 있고, 사용자가 데이터를 입력하여 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하고자 하는 명령을 입력한 경우, 상기 메모리에 저장된 사용자 정의 기계학습 프로그램은, 상기 입력받은 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 도출한다. If there is a user-defined machine learning model previously stored in the memory 30, and the user inputs a command for confirming a result according to the user-defined machine learning model stored in the user by inputting data, the user-defined user learning stored in the memory The machine learning program derives a result according to a user-defined machine learning model for the received data.

이때, 상기 도출된 결과는 출력부(40)에 출력됨으로써 사용자에게 제공될 수 있다. 출력부(40)는 디스플레이 화면일 수 있다.In this case, the derived result may be provided to the user by being output to the output unit 40. The output unit 40 may be a display screen.

사용자가 자신의 스마트 단말의 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하여 활용함에서 끝나지 않고, 다른 사용자와 사용자 정의 기계학습 모델을 공유함으로써 유용한 기계학습 모델의 전파와 더불어, 집단지성에 의한 기계학습 모델의 개선 효과도 기대할 수 있다. 이를 위하여, 통신부(50)는 사용자 정의 기계학습 모델을 다른 사용자 단말로 전송할 수 있다. 상기 전송된 사용자 정의 기계학습 모델은 상기 다른 사용자 단말에서 학습이 가능하도록 하여, 다른 사용자 단말에서 입력된 데이터를 이용하여 사용자 정의 기계학습 모델을 개선할 수 있다. 사용자 정의 기계학습 모델의 전파만을 원하는 경우, 암호화하여, 다른 사용자 단말에서는 추가적인 학습이나 변경이 불가하도록 할 수도 있다.Not only does the user create and utilize a user-defined machine learning model using data of his smart terminal, but also by spreading useful machine learning models by sharing user-defined machine learning models with other users, Improvements in learning models can also be expected. To this end, the communication unit 50 may transmit the user-defined machine learning model to another user terminal. The transmitted user-defined machine learning model may be learned in the other user terminal, so that the user-defined machine learning model may be improved by using data input from the other user terminal. If only the propagation of the user-defined machine learning model is desired, it may be encrypted to prevent further learning or modification at other user terminals.

도 2는 본 발명의 실시예에 따른 사용자 정의 기계학습 과정을 상세히 도시한 도면으로, 사용자가 활용할 수 있는 어플리케이션으로 구체적인 구현되는 실시예를 들어 설명하도록 한다.FIG. 2 is a diagram illustrating a user-defined machine learning process in detail according to an embodiment of the present invention, and will be described with reference to an embodiment embodied as an application that can be utilized by a user.

사용자들이 스마트폰에서 얻는 데이터를 손쉽게 스스로 분석할 수 있는 어플리케이션이 제공된다면, 다양한 목적으로 이 어플리케이션을 사용할 수 있을 것이다. 스마트폰에서 얻을 수 있는 데이터들을 이용하여 임의의 기계학습 모델을 스마트폰 상에서 학습하고, 학습된 모델을 사용하여 새로운 데이터에 대한 분석을 할 수 있도록 해줄 수 있으며, 이를 통해 사용자들은 흥미 위주의 데이터 분석부터 간단한 조사 용도의 데이터 분석에 이르기까지 다양한 목적을 위한 데이터 분석을 스마트폰 상에서 수행할 수 있다. 예를 든다면, 흥미 위주의 데이터 분석으로서, 친구들의 얼굴 사진을 ‘못 생김’으로 입력하고 배우들의 얼굴 사진을 ‘잘 생김’으로 입력하여 학습시킨 다음, 다른 친구의 얼굴 사진을 넣어서 결과를 흥미 위주로 관찰할 수도 있다. 나아가서, 사용자들이 생성한 여러 종류의 기계학습 모델들을 사용자들 간에 전송 혹은 공유할 수 있도록 하고, 이 모델에 데이터를 추가 입력함으로써 더욱 개선시킬 수 있다.If an application is provided that allows users to easily analyze the data they get from their smartphones, they can use it for a variety of purposes. Using the data available from the smartphone, you can learn any machine learning model on your smartphone and use the learned model to analyze new data. Data analysis for a variety of purposes, from simple data analysis to research. For example, as an interesting data analysis, enter your friends 'face photos as' ugly ', learn the actors' face photos as 'handsome', and then put other people's face photos to see the results. You can also observe mainly. Furthermore, users can transfer or share the different types of machine learning models created by users, and further improve data by adding data to the models.

메인 화면에서는 현재 기계학습 모델의 이름이 표시되며, 5개의 선택 항목이 존재하고 사용자는 그 중의 하나를 선택할 수 있다. 여기서 기계학습 모델의 이름은 기계학습 알고리즘 자체의 명칭이 아니라, 사용자가 지정한 임의의 이름이다. 2번 항목으로 기존 모델을 로딩하지 않았고, 별다른 이름을 지정하지 않은 상태이면, 임의의default 이름 (예: noname_01) 으로 기계학습 모델의 이름이 설정된다.The main screen displays the name of the current machine learning model. There are five choices and you can choose one of them. The name of the machine learning model here is not the name of the machine learning algorithm itself, but an arbitrary name given by the user. If you do not load an existing model with item 2 and do not specify a different name, the machine learning model is set to an arbitrary default name (eg noname_01).

사용자가 1번 항목을 선택하면, 현재의 기계학습 모델에 데이터를 입력할 수 있고, 모델은 입력된 데이터를 사용하여 incremental 하게 학습을 수행한다. 데이터는 사진, 동영상, 텍스트, 시간, 등과 여러가지 센서들 (조도 센서, 가속도 센서, GPS, WiFi 센서, 등)로부터 얻을 수 있는 데이터들이 모두 선택될 수 있다. 단, 각 모델은 처음에 입력받는 데이터의 종류와 같은 종류의 데이터만 이후에 입력받을 수 있다. 가령, 새로운 모델의 첫 학습 데이터로 이미지를 입력했다면, 이 모델에는 이미지 데이터만 입력이 가능하다. 물론, 데이터를 입력할 때 복수 개의 데이터 종류를 입력받을 수도 있다. 예를 들어, 새로운 모델의 첫 학습 데이터로 이미지, 조도 센서 데이터를 입력할 수 있으며, 이후부터는 동일하게 이미지, 조도 센서 데이터를 함께 입력해야 한다.When the user selects item 1, data can be inputted into the current machine learning model, and the model performs incremental learning using the inputted data. The data can be selected from the photos, videos, text, time, etc., and the data available from various sensors (illuminance sensor, acceleration sensor, GPS, WiFi sensor, etc.). However, each model may receive only the same type of data afterwards as the type of data initially input. For example, if you entered an image as the first training data for a new model, you can only enter image data in this model. Of course, a plurality of data types may be received when data is input. For example, you can input image and light sensor data as the first training data of a new model, and then you need to input image and light sensor data in the same way.

기계학습 모델은 인공신경망 모델, SVM, 등의 여러가지가 사용될 수 있지만, incremental 하게 학습이 가능한 모델이어야 하며, 기본적으로는 인공신경망 모델로 설정되어 있고, 사용자가 별도로 다른 모델을 사용하도록 선택하는 것도 가능하다.The machine learning model can be used in various ways such as artificial neural network model, SVM, etc., but it should be a model that can be incremental learning, basically it is set as artificial neural network model, and user can choose to use another model separately Do.

사용자가 2번 항목을 선택하면, 기존에 이름을 부여하여 3번 항목을 통해 저장했던 모델을 로딩하거나 삭제할 수 있다. 또는, 현재의 모델을 지우고 새로운 모델을 생성할 수 있다.If the user selects item 2, the model that was previously saved by name 3 can be loaded or deleted. Alternatively, you can delete the current model and create a new one.

사용자가 3번 항목을 선택하면, 사용자가 임의의 이름을 모델에 부여하여 저장할 수 있다.If the user selects item 3, the user can give the model an arbitrary name and save it.

사용자가 4번 항목을 선택하면, 현재의 기계학습 모델에 새로운 데이터를 입력하되, 학습을 위해 입력하는 것이 아니라, 분석을 위해 입력한다. 즉, 4번 항목을 통해 입력되는 데이터는 모델의 학습에 사용되지 않고, 모델에서 분석 결과를 제공받을 수 있도록 해준다. 물론, 모델의 학습에 사용되었던 데이터 종류와 같은 종류의 데이터가 입력되어야 한다.If the user selects item 4, input new data into the current machine learning model, but not for training, but for analysis. In other words, the data input through item 4 is not used to train the model, so that the model can be provided with the analysis results. Of course, the same type of data that was used to train the model must be entered.

사용자가 5번 항목을 선택하면, 어플리케이션의 다양한 설정을 할 수 있다. 기계학습 모델이 여러 가지가 제공되는 경우, 모델의 종류를 선택할 수 있고, 기계학습 모델의 다양한 파라메터를 수정할 수 있다. 흥미 위주의 데이터 분석을 위해서는 5번 항목을 사용하지 않겠지만, 간단한 조사 혹은 연구 목적으로 사용할 경우 이 5번 항목을 자주 이용하게 될 것이다.If the user selects item 5, various settings of the application can be made. If several machine learning models are provided, the type of model can be selected and various parameters of the machine learning model can be modified. We will not use item 5 for interesting data analysis, but if you use it for simple research or research purposes, you will often use it.

추가적으로, 사용자들 간에 기계학습 모델을 쉽게 송수신할 수 있는 기능을 제공한다. 가령, 사용자 A가 사용자 B에게 기계학습 모델 K를 전송하게 되면, 사용자 B는 이 모델을 수신한 후, 사용자 메뉴 상에서 2번 항목을 통해 이 모델을 로딩할 수 있다. 로딩한 모델에 추가로 데이터를 삽입함으로써 개선된 모델 K’를 만들 수 있게 되며, 이를 다른 사용자들에게 다시 전파할 수 있게 된다.In addition, it provides the ability to easily send and receive machine learning models between users. For example, if user A sends machine learning model K to user B, user B may receive this model and then load this model through item 2 on the user menu. By inserting additional data into the loaded model, you can create an improved model K 'and propagate it back to other users.

상기 사용자 정의 기계학습 모델 생성 과정을 통해 사용자가 이미지에 대한 기계학습 모델을 생성하는 과정을 가정하면 다음과 같은 과정으로 설명할 수 있다.Assuming that a user generates a machine learning model for an image through the process of generating a user-defined machine learning model, the following process may be described.

(1) 사용자가 남자얼굴사진 5장, 여자얼굴사진 5장을 찍었고, 이를 각각 Dm, Dw 이라고 하자.(1) The user took five male face pictures and five female face pictures, and let them be Dm and Dw, respectively.

(2) 본 발명의 어플리케이션을 실행하고, '모델 학습'을 선택하여 새로운 모델을 만들고 이름은 K라고 한다.(2) Run the application of the present invention, select 'Model Training' to create a new model and name it K.

(3) 모델에 데이터를 입력할 때, Dm 5장은 각각 'Man'이라는 label과 함께 입력하고, Dw 5장은 'Woman'이라는 label과 함께 입력한다.(3) When entering data into the model, enter Dm 5 with the label 'Man' and Dw 5 with the label 'Woman'.

(4) 모델 학습을 진행하는데, 각 이미지 i 에서 feature vector Fi 를 추출하고, 이 feature vector 와 label을 바탕으로 임의의 모델 학습이 진행된다.(4) Model training is performed, and feature vector Fi is extracted from each image i, and arbitrary model training is performed based on this feature vector and label.

(5) 위 학습 진행시 특정 feature와 모델에 제한되지 않는다. 다만, 각종 image, text 등에 효과적으로 알려진 Convolutional Neural Network (CNN)을 사용한다고 가정할 경우, feature 는 이미지의 픽셀 RGB 값 자체가 될 것이다. (사용자는 각 이미지에 Man, Woman이라는 label만 지정할 뿐, 다른 지정은 아무것도 하지 않는다.)(5) It is not limited to specific feature and model at the time of learning. However, assuming that the Convolutional Neural Network (CNN) is known to be effective in various images and texts, the feature will be the pixel RGB value of the image itself. (The user only labels each image Man and Woman, but nothing else.)

(6) 학습이 된 모델을 '모델 저장' 기능을 통해 저장한다.(6) Save the trained model through the 'model storage' function.

(7) '모델 사용' 기능을 통해 새로운 사진을 입력해본다. '남자 얼굴 사진'을 입력했더니, 'Man'이라는 label이 결과로 나옴을 확인할 수 있다.(7) Enter a new picture through the 'use model' function. After entering 'man's face', you can see that 'Man' is the result.

(8) 다른 친구에게 SNS 또는 이메일 등으로 해당 모델을 전송하거나, 어플리케이션에서의 '모델 전송' 기능을 사용하여 친구에게 모델을 (모델 파라메터를) 전송한다. CNN을 사용하는 경우에는 CNN의 weight matrix 파라메터들의 값이 전송될 것이다.(8) Send the model to other friends by SNS or e-mail, or send the model (model parameter) to a friend using the 'Send Model' function in the application. When using a CNN, the values of the weight matrix parameters of the CNN will be transmitted.

(9) 모델을 전송받은 친구는 '모델 로딩'기능으로 모델을 읽어들인 후, 새로운 남자 얼굴 사진, 여자 얼굴 사진을 추가로 입력하여 모델을 개선한다.(9) The friend who received the model reads the model with the 'model loading' function, and then adds a new male face picture and a female face picture to improve the model.

(10) 개선된 버전을 다른 친구에게 다시 공유할 수 있다.(10) The improved version can be shared again with other friends.

도 3은 본 발명의 일 실시예에 따른 사용자 정의 기계학습 방법을 도시한 흐름도이고, 도 4 내지 도 6은 본 발명의 실시예에 따른 사용자 정의 기계학습 방법을 도시한 흐름도이다. 도 3 내지 도 6에 대한 상세한 설명은 도 1 내지 도 2의 사용자 정의 기계학습 장치 및 그 과정에 대한 설명에 대응하는바, 중복되는 설명은 생략하도록 한다.3 is a flowchart illustrating a user-defined machine learning method according to an embodiment of the present invention, and FIGS. 4 to 6 are flowcharts illustrating a user-defined machine learning method according to an embodiment of the present invention. 3 to 6 correspond to the description of the user-defined machine learning apparatus and its process of FIGS. 1 to 2, and thus redundant descriptions thereof will be omitted.

S110 단계에서 사용자 정의 기계학습 시스템이 사용자로부터 데이터 또는 명령을 입력받는다. 상기 사용자로부터 입력받는 데이터는, 스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터일 수 있다.In step S110 the user-defined machine learning system receives data or commands from the user. The data received from the user may be data stored in a smart terminal or data sensed by a sensor of the smart terminal.

S120 단계에서 상기 사용자 정의 기계학습 시스템이 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택한다. S110 단계에서 입력받은 데이터의 종류에 따라 선택되는 기계학습 알고리즘이 달라질 수 있다. In step S120 the user-defined machine learning system selects a predetermined machine learning algorithm to perform machine learning on the received data. The machine learning algorithm selected according to the type of data input in step S110 may vary.

S130 단계에서 상기 사용자 정의 기계학습 시스템이 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 기계학습을 수행함으로써 사용자 정의 기계학습 모델을 생성한다. 여기서, 상기 사용자 정의 기계학습 모델은 동일 종류의 데이터를 이용하여 증분(increment)적으로 학습된다. In operation S130, the user-defined machine learning system generates a user-defined machine learning model by performing machine learning using the data through the selected machine learning algorithm. In this case, the user-defined machine learning model is learned incrementally using the same kind of data.

기존에 저장된 사용자 정의 기계학습 모델을 학습시키는 경우, S210 단계에서, 상기 사용자 정의 기계학습 시스템이 사용자로부터 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하고, S110 단계에서 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시킬 수 있다.In the case of learning the previously stored user-defined machine learning model, in step S210, the user-defined machine learning system reads the user-defined machine learning model stored in accordance with the command input from the user, and in step S110 Can be used to incrementally train the read-out user-defined machine learning model.

상기 사용자로부터 입력받은 데이터가 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하기 위한 데이터인 경우, S310 단계에서, 상기 사용자 정의 기계학습 시스템이 상기 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 도출하여 사용자에게 제공한다.If the data received from the user is data for confirming the result according to the previously stored user-defined machine learning model, in step S310, the user-defined machine learning system to the result according to the user-defined machine learning model for the data Derived and provided to the user.

사용자간 기계학습 모델의 공유 및 개선을 위해 S410 단계에서 상기 사용자 정의 기계학습 시스템이 상기 사용자 정의 기계학습 모델을 다른 사용자 단말로 전송하고, 이때 전송된 사용자 정의 기계학습 모델은 상기 다른 사용자 단말에서 학습이 가능하도록 하여, 모델의 개선이 가능하도록 할 수 있다.In order to share and improve the machine learning model between users, the user-defined machine learning system transmits the user-defined machine learning model to another user terminal in step S410, and the user-defined machine learning model transmitted is learned in the other user terminal. By making this possible, it is possible to improve the model.

본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to an embodiment of the present invention can be implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents and equivalents of the claims, as well as the appended claims, will fall within the scope of the present invention. .

100 : 사용자 정의 기계학습 장치
10 : 입력부
20 : 프로세서
30 : 메모리
40: 출력부
50: 통신부
100: custom machine learning device
10: input unit
20: processor
30: memory
40: output unit
50: communication unit

Claims (15)

사용자로부터 동일 종류의 데이터 또는 명령을 입력받는 입력부;
상기 입력받은 데이터를 이용하여 사용자 정의 기계학습 모델을 학습시켜 생성하거나 상기 입력받은 명령에 따라 사용자 정의 기계학습 모델에 따른 결과를 도출하는 사용자 정의 기계학습 프로그램을 저장하는 메모리;
상기 사용자 정의 기계학습 프로그램을 구동하는 적어도 하나의 프로세서; 및
사용자 정의 기계학습 모델을 다른 사용자 단말로 전송하는 통신부를 포함하되,
상기 메모리에 저장된 사용자 정의 기계학습 프로그램은,
상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하고, 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 사용자 정의 기계학습 모델을 생성하고, 동일 종류의 데이터를 이용하여 데이터가 새롭게 입력될 때마다 증분(increment)적으로 상기 생성된 사용자 정의 기계학습 모델을 학습시키며, 상기 사용자 정의 기계학습 모델을 전송하여 다른 사용자와 공유함으로써 상기 다른 사용자 단말에서 새롭게 입력된 동일 종류의 데이터를 이용하여 상기 사용자 정의 기계학습 모델을 개선하는 것을 특징으로 하는 사용자 정의 기계학습 장치.
An input unit configured to receive data or a command of the same type from a user;
A memory configured to learn and generate a user-defined machine learning model using the input data or to store a user-defined machine learning program for deriving a result according to the user-defined machine learning model according to the received command;
At least one processor for driving the user-defined machine learning program; And
Including a communication unit for transmitting a user-defined machine learning model to another user terminal,
The user-defined machine learning program stored in the memory,
Select a predetermined machine learning algorithm to perform the machine learning on the input data, create a user-defined machine learning model using the data through the selected machine learning algorithm, the data using the same type of data Each time a new input is received, the generated user-defined machine learning model is learned incrementally, and the user-defined machine learning model is transmitted and shared with other users to share the same type of data newly input by the other user terminal. A user-defined machine learning apparatus, characterized in that to improve the user-defined machine learning model.
제 1 항에 있어서,
상기 입력부가 입력받는 데이터는,
스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터인 것을 특징으로 하는 사용자 정의 기계학습 장치.
The method of claim 1,
The data input by the input unit,
User-defined machine learning device, characterized in that the data stored in the smart terminal or data sensed by the sensor of the smart terminal.
제 1 항에 있어서,
상기 입력부가 입력받는 데이터는,
상기 데이터에 대한 레이블(Label)을 더 포함하는 것을 특징으로 하는 사용자 정의 기계학습 장치.
The method of claim 1,
The data received by the input unit is,
And a label for the data.
제 1 항에 있어서,
상기 메모리에 저장된 사용자 정의 기계학습 프로그램은,
상기 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하고, 상기 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시키는 것을 특징으로 하는 사용자 정의 기계학습 장치.
The method of claim 1,
The user-defined machine learning program stored in the memory,
The user-defined machine learning apparatus according to the received command, characterized in that for reading the previously stored user-defined machine learning model, and incrementally learning the read user-defined machine learning model using the received data.
제 1 항에 있어서,
상기 메모리에 저장된 사용자 정의 기계학습 프로그램이 선택하는 기계학습 알고리즘은,
인공신경망 알고리즘이 디폴트(default)이고, 사용자의 선택에 따라 달라질 수 있는 것을 특징으로 하는 사용자 정의 기계학습 장치.
The method of claim 1,
Machine learning algorithm selected by the user-defined machine learning program stored in the memory,
The artificial neural network algorithm is the default and can be changed according to a user's selection.
제 1 항에 있어서,
상기 메모리에 저장된 사용자 정의 기계학습 프로그램은,
상기 입력받은 데이터의 종류에 따라 선택되는 기계학습 알고리즘이 달라지는 것을 특징으로 하는 사용자 정의 기계학습 장치.
The method of claim 1,
The user-defined machine learning program stored in the memory,
And a machine learning algorithm selected according to the type of the received data.
제 1 항에 있어서,
상기 메모리에 저장된 사용자 정의 기계학습 프로그램은,
상기 사용자로부터 입력받은 데이터가 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하기 위한 데이터인 경우, 상기 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 도출하고,
상기 도출된 결과를 출력하는 출력부를 더 포함하는 사용자 정의 기계학습 장치.
The method of claim 1,
The user-defined machine learning program stored in the memory,
If the data received from the user is data for confirming the result according to the previously stored user-defined machine learning model, to derive the result according to the user-defined machine learning model for the data,
User-defined machine learning apparatus further comprises an output unit for outputting the derived result.
삭제delete 사용자 정의 기계학습 시스템이 사용자로부터 동일 종류의 데이터 또는 명령을 입력받는 단계;
상기 사용자 정의 기계학습 시스템이 상기 입력받은 데이터에 대한 기계학습을 수행할 소정의 기계학습 알고리즘을 선택하는 단계;
상기 사용자 정의 기계학습 시스템이 상기 선택된 기계학습 알고리즘을 통해 상기 데이터를 이용하여 기계학습을 수행함으로써 사용자 정의 기계학습 모델을 생성하는 단계; 및
상기 사용자 정의 기계학습 시스템이 상기 사용자 정의 기계학습 모델을 다른 사용자 단말로 전송하는 단계를 포함하되,
상기 사용자 정의 기계학습 모델은,
동일 종류의 데이터를 이용하여 데이터가 새롭게 입력될 때마다 증분(increment)적으로 학습되며, 다른 사용자와 공유됨으로써 상기 다른 사용자 단말에서 새롭게 입력된 동일 종류의 데이터를 이용하여 개선되는 것을 특징으로 하는 사용자 정의 기계학습 방법.
Receiving, by the user-defined machine learning system, the same kind of data or command from the user;
Selecting, by the user-defined machine learning system, a predetermined machine learning algorithm to perform machine learning on the received data;
Generating, by the user-defined machine learning system, a user-defined machine learning model by performing machine learning using the data through the selected machine learning algorithm; And
And transmitting, by the user-defined machine learning system, the user-defined machine learning model to another user terminal.
The user-defined machine learning model,
A user characterized by learning incrementally each time data is newly input using the same type of data, and being shared with other users, thereby improving by using the same type of data newly input from the other user terminal. Definition of machine learning methods.
제 9 항에 있어서,
상기 사용자로부터 입력받는 데이터는,
스마트 단말에 저장되는 데이터 또는 스마트 단말의 센서에 의해 센싱되는 데이터인 것을 특징으로 하는 사용자 정의 기계학습 방법.
The method of claim 9,
Data received from the user,
User-defined machine learning method characterized in that the data stored in the smart terminal or data sensed by the sensor of the smart terminal.
제 9 항에 있어서,
상기 사용자 정의 기계학습 시스템이 사용자로부터 입력받은 명령에 따라 기존에 저장된 사용자 정의 기계학습 모델을 독출하는 단계를 더 포함하고,
상기 입력받은 데이터를 이용하여 상기 독출된 사용자 정의 기계학습 모델을 증분적으로 학습시키는 것을 특징으로 하는 사용자 정의 기계학습 방법.
The method of claim 9,
The user-defined machine learning system further comprises the step of reading a user-defined machine learning model stored in accordance with the command received from the user,
And a method for incrementally learning the read user-defined machine learning model using the input data.
제 9 항에 있어서,
상기 기계학습 알고리즘을 선택하는 단계는,
상기 입력받은 데이터의 종류에 따라 선택되는 기계학습 알고리즘이 달라지는 것을 특징으로 하는 사용자 정의 기계학습 방법.
The method of claim 9,
Selecting the machine learning algorithm,
User-defined machine learning method, characterized in that the machine learning algorithm is selected according to the type of the received data.
제 9 항에 있어서,
상기 사용자로부터 입력받은 데이터가 기존에 저장된 사용자 정의 기계학습 모델에 따른 결과를 확인하기 위한 데이터인 경우, 상기 사용자 정의 기계학습 시스템이 상기 데이터에 대한 사용자 정의 기계학습 모델에 따른 결과를 사용자에게 제공하는 단계를 더 포함하는 사용자 정의 기계학습 방법.
The method of claim 9,
When the data input from the user is data for confirming a result according to a previously stored user-defined machine learning model, the user-defined machine learning system may provide a user with a result according to a user-defined machine learning model for the data. Custom machine learning method further comprising a step.
삭제delete 제 9 항 내지 제 13 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 9 to 13.
KR1020170110060A 2017-08-30 2017-08-30 User-definded machine learning apparatus for smart phone user and method thereof KR102086640B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170110060A KR102086640B1 (en) 2017-08-30 2017-08-30 User-definded machine learning apparatus for smart phone user and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170110060A KR102086640B1 (en) 2017-08-30 2017-08-30 User-definded machine learning apparatus for smart phone user and method thereof

Publications (2)

Publication Number Publication Date
KR20190023787A KR20190023787A (en) 2019-03-08
KR102086640B1 true KR102086640B1 (en) 2020-03-09

Family

ID=65801267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170110060A KR102086640B1 (en) 2017-08-30 2017-08-30 User-definded machine learning apparatus for smart phone user and method thereof

Country Status (1)

Country Link
KR (1) KR102086640B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113116B (en) * 2019-05-14 2021-06-04 山东科技大学 Human behavior identification method based on WIFI channel information
EP3997625A4 (en) * 2019-10-29 2022-11-09 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling thereof
KR102621014B1 (en) * 2023-04-18 2024-01-05 주식회사 이앤아이월드 Method and Method for Providing book production services based on artificial intelligence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170185921A1 (en) 2015-12-28 2017-06-29 Cloudbrain Inc. System and method for deploying customized machine learning services
JP2017519282A (en) 2014-05-12 2017-07-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated Distributed model learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100861803B1 (en) 2006-06-14 2008-10-09 주식회사 사람과사람들 Apparatus and method for face recognition using machine learning
US8429103B1 (en) * 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017519282A (en) 2014-05-12 2017-07-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated Distributed model learning
US20170185921A1 (en) 2015-12-28 2017-06-29 Cloudbrain Inc. System and method for deploying customized machine learning services

Also Published As

Publication number Publication date
KR20190023787A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
US10992619B2 (en) Messaging system with avatar generation
KR102615597B1 (en) Electronic device and Method for controlling the electronic device
US20190005399A1 (en) Learning device, generation device, learning method, generation method, and non-transitory computer readable storage medium
KR102444932B1 (en) Electronic device and Method for controlling the electronic device
CN109740018B (en) Method and device for generating video label model
KR102658834B1 (en) Active image depth prediction
KR102086640B1 (en) User-definded machine learning apparatus for smart phone user and method thereof
CN110555469A (en) Method and device for processing interactive sequence data
US20220245524A1 (en) Distributed machine learning for improved privacy
US20230096243A1 (en) Electronic device comprising user interface for providing user-participating-type ai training service, and server and method for providing user-participating-type ai training service using the electronic device
JP2017084340A (en) Tag processing method and tag processing device
US11605002B2 (en) Program, information processing method, and information processing apparatus
KR20200074958A (en) Neural network learning method and device
KR20210012730A (en) Learning method of artificial intelligence model and electronic apparatus
CN114611720A (en) Federal learning model training method, electronic device and storage medium
KR102301231B1 (en) Method and device for providing image
CN110807147B (en) Travel information generation method, generation device, storage medium and processor
US20220414396A1 (en) Image dispositioning using machine learning
US11797824B2 (en) Electronic apparatus and method for controlling thereof
KR102549937B1 (en) Apparatus and method for providing model for analysis of user's interior style based on text data of social network service
Newnham Machine Learning with Core ML: An iOS developer's guide to implementing machine learning in mobile apps
KR102363083B1 (en) Electronic Device for Providing User-Participating-Type AI Training Service, and Server and System therefor
CN110942306A (en) Data processing method and device and electronic equipment
KR102169648B1 (en) System and method for setting write authority of card contents
KR102456646B1 (en) Method and computer program for classifying the intent of strings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant