KR20200099966A - Method and apparatus for learning based on data including nominal data - Google Patents

Method and apparatus for learning based on data including nominal data Download PDF

Info

Publication number
KR20200099966A
KR20200099966A KR1020200002674A KR20200002674A KR20200099966A KR 20200099966 A KR20200099966 A KR 20200099966A KR 1020200002674 A KR1020200002674 A KR 1020200002674A KR 20200002674 A KR20200002674 A KR 20200002674A KR 20200099966 A KR20200099966 A KR 20200099966A
Authority
KR
South Korea
Prior art keywords
data
learning
unit
input data
input
Prior art date
Application number
KR1020200002674A
Other languages
Korean (ko)
Other versions
KR102371487B1 (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 고려대학교 산학협력단
Publication of KR20200099966A publication Critical patent/KR20200099966A/en
Application granted granted Critical
Publication of KR102371487B1 publication Critical patent/KR102371487B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

The present invention relates to a method and a device for learning based on data including nominal data. The device for learning can comprise: a data processing part that acquires first input data and second input data from raw data, wherein the first input data and the second input data are different types of data from each other; a first learning part that acquires first output data by performing learning by using both the first input data and the second input data; a second learning part that acquires second output data by performing learning by using the raw data; and a combination part that performs learning by using the first output data and the second output data. Therefore, excellent and appropriate learning results can be acquired even when learning is performed based on different types of data such as nominal data or numerical data.

Description

명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치{METHOD AND APPARATUS FOR LEARNING BASED ON DATA INCLUDING NOMINAL DATA}Learning method and device based on data including nominal data {METHOD AND APPARATUS FOR LEARNING BASED ON DATA INCLUDING NOMINAL DATA}

명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치에 관한 것이다.It relates to a learning method and apparatus based on data including nominal data.

근자에 하드웨어 및 소프트웨어의 발달에 따라 컴퓨터 장치와 같은 하드웨어 자체가 스스로 학습하여 규칙을 생성하는 기계 학습에 대한 연구가 다방면에서 이루어 지고 있다. 예를 들어, 기계 학습은 발생 가능한 다양한 상황이나 상태 등을 예측하기 위해 이용되기도 한다. 예를 들어, 도로 상에서의 교통 사고 발생 가능성의 예측이나, 시가지 또는 시외의 교통 흐름의 예측이나, 기계나 통신 장비의 장애 발생 여부의 예측이나, 또는 질병 발생 가능성 여부 예측 등을 위해 기계 학습이 이용되고 있다. 그러나, 이와 같이 상황 판단을 위해 기계 학습을 이용할 때 서로 상이한 형태의 데이터를 입력 데이터로 이용하는 경우가 많아 종래의 단순한 학습 모델만으로는 적절한 학습 모델이나 예측 결과를 획득하기 어렵다. 예를 들어, 입력된 데이터 중 일부가 무의미해지는 경향이 있으며, 또한 입력 데이터의 반영이 제대로 수행되지 않아 예측 결과와 실제 결과 간에 상당한 차이가 존재하기도 한다.In recent years, according to the development of hardware and software, research on machine learning in which hardware, such as a computer device, itself learns and generates rules has been conducted in various fields. For example, machine learning is also used to predict various situations or conditions that can occur. For example, machine learning is used to predict the likelihood of a traffic accident on the road, traffic flow in a city area or suburbs, predict whether a machine or communication equipment has failed, or predict whether a disease will occur. Has become. However, when machine learning is used to determine the situation, different types of data are often used as input data, so it is difficult to obtain an appropriate learning model or prediction result with only a conventional simple learning model. For example, some of the input data tends to become meaningless, and there is also a significant difference between the predicted result and the actual result because the input data is not properly reflected.

대한민국 공개특허 제2017-0065898호Republic of Korea Patent Publication No. 2017-0065898 대한민국 공개특허 제2015-0072471호Republic of Korea Patent Publication No. 2015-0072471

명목형 데이터나 수치형 데이터 등과 같이 서로 상이한 형태의 데이터를 기반으로 학습을 수행하는 경우에도 보다 우수하고 적절한 학습 결과를 획득할 수 있는 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치를 제공하는 것을 해결하고자 하는 과제로 한다.A learning method and apparatus based on data including nominal data capable of obtaining better and appropriate learning results even when learning is performed based on different types of data such as nominal data or numeric data. What is provided is a task to be solved.

상술한 과제를 해결하기 위하여 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치가 제공된다.In order to solve the above-described problem, a learning method and apparatus based on data including nominal data are provided.

학습 장치는 제1 입력 데이터 및 상기 제2 입력 데이터는 서로 상이한 형태의 데이터인 데이터 처리부, 상기 제1 입력 데이터 및 상기 제2 입력 데이터 양자를 이용하여 학습을 수행하여 제1 출력 데이터를 획득하는 제1 학습부, 상기 원시 데이터를 이용하여 학습을 수행하여 제2 출력 데이터를 획득하는 제2 학습부 및 상기 제1 출력 데이터 및 상기 제2 출력 데이터를 이용하여 학습을 수행하는 조합부를 더 포함할 수 있다.The learning apparatus includes a data processing unit in which the first input data and the second input data are of different types of data, and the first input data to obtain first output data by performing learning using both the first input data and the second input data. 1 learning unit, a second learning unit that acquires second output data by performing learning using the raw data, and a combination unit that performs learning using the first output data and the second output data. have.

학습 방법은 원시 데이터로부터 제1 입력 데이터 및 제2 입력 데이터 획득하되, 상기 제1 입력 데이터 및 상기 제2 입력 데이터는 서로 상이한 형태의 데이터인 단계, 상기 제1 입력 데이터 및 상기 제2 입력 데이터 양자를 이용하여 학습을 수행하여 제1 출력 데이터를 획득하는 단계, 상기 원시 데이터를 이용하여 학습을 수행하여 제2 출력 데이터를 획득하는 단계 및 상기 제1 출력 데이터 및 상기 제2 출력 데이터를 이용하여 학습을 수행하는 단계를 더 포함할 수 있다.The learning method includes obtaining first input data and second input data from raw data, wherein the first input data and the second input data are data of different types, both of the first input data and the second input data. Acquiring first output data by performing learning using, acquiring second output data by performing learning using the raw data, and learning using the first output data and the second output data It may further include the step of performing.

상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치에 의하면, 서로 명목형 또는 수치형 등과 같이 서로 상이한 형태의 데이터를 기반으로 학습을 수행하는 경우에도 보다 적절하고 우수한 학습 결과를 획득할 수 있게 되고 이에 따라 학습 모델의 성능 향상을 도모할 수 있는 효과를 얻을 수 있다.According to the above-described learning method and apparatus based on data including nominal data, more appropriate and superior learning results are obtained even when learning is performed based on data of different types such as nominal or numeric types. This can be done, and accordingly, the effect of improving the performance of the learning model can be obtained.

상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치에 의하면, 비대칭 클래스 구조를 보완하기 위해 이용되는 일반적인 데이터 오버 샘플링(over-sampling) 기법보다 과적합(over-fitting) 발생 위험을 상당히 절감할 수 있는 장점도 얻을 수 있다.According to the above-described learning method and apparatus based on data including nominal data, the risk of over-fitting occurs more than a general data over-sampling technique used to supplement the asymmetric class structure. There is also an advantage that can be significantly reduced.

상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치에 의하면, 다른 학습 모델보다 성능의 향상을 도모하면서도 모델의 안정성을 개선할 수 있는 효과도 얻을 수 있다.According to the above-described learning method and apparatus based on data including nominal data, it is possible to obtain an effect of improving the stability of the model while improving performance compared to other learning models.

상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치에 의하면, 콘텐츠 추천 시스템이나 위험 예측 시스템 등 명목형 데이터도 함께 이용하는 여러 시스템이나 서비스의 성능을 향상 및 개선하는 효과도 얻을 수 있다.According to the above-described learning method and apparatus based on data including nominal data, it is possible to improve and improve the performance of various systems or services that also use nominal data such as a content recommendation system or a risk prediction system. .

도 1은 학습 장치의 일 실시예에 대한 블록도이다.
도 2는 학습 장치의 동작의 일례를 설명하기 위한 도면이다.
도 3은 학습 처리부의 일 실시예를 설명하기 위한 블록도이다.
도 4는 임베디드 레이어의 일례를 설명하기 위한 도면이다.
도 5는 명목형 데이터 및 수치형 데이터 구분을 위한 프로그램 코드의 일례를 도시한 도면이다.
도 6은 전이 학습의 수행 동작의 일례를 설명하기 위한 도면이다.
도 7은 학습 방법의 일 실시예에 대한 흐름도이다.
1 is a block diagram of a learning device according to an embodiment.
2 is a diagram for explaining an example of the operation of the learning device.
3 is a block diagram illustrating an embodiment of a learning processing unit.
4 is a diagram for describing an example of an embedded layer.
5 is a diagram illustrating an example of a program code for distinguishing nominal data and numeric data.
6 is a diagram for describing an example of an operation of performing transfer learning.
7 is a flowchart of an embodiment of a learning method.

이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다.In the following specification, the same reference numerals refer to the same elements unless otherwise specified. The term "unit" used below may be implemented in software or hardware, and according to an embodiment, one "unit" is implemented as one physical or logical part, or a plurality of "units" It may be implemented as a physical or logical part, or one'unit' may be implemented as a plurality of physical or logical parts.

명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.When a part is said to be connected to another part throughout the specification, it may mean a physical connection depending on the part and another part, or may mean electrically connected. In addition, when a part includes another part, this does not exclude another part other than the other part unless otherwise stated, and it means that another part may be included further according to the designer's choice. do.

제 1 이나 제 2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.Terms such as first and second are used to distinguish one part from another, and unless otherwise specified, they do not mean sequential expressions. In addition, expressions in the singular may include plural expressions unless there is clearly an exception in the context.

이하 도 1 내지 도 6를 참조하여 학습 장치 및 이를 수행하기 위한 학습 처리부의 일 실시예에 대해서 설명하도록 한다.Hereinafter, an embodiment of a learning apparatus and a learning processing unit for performing the same will be described with reference to FIGS. 1 to 6.

도 1은 학습 장치의 일 실시예에 대한 블록도이다.1 is a block diagram of a learning device according to an embodiment.

도 1에 도시된 바와 같이, 학습 장치(10)는, 입력된 적어도 하나의 데이터에 대한 학습을 수행하는 학습처리부(100)를 포함할 수 있으며, 필요에 따라, 저장부(20), 입력부(30) 및 출력부(32) 중 적어도 하나를 포함할 수 있다. 저장부(20), 입력부(30), 출력부(32) 및 학습처리부(100) 중 적어도 둘은, 케이블, 회로 및/또는 무선 통신 장치 등을 통해 상호 데이터 송수신이 가능하게 마련된다.As shown in FIG. 1, the learning device 10 may include a learning processing unit 100 that performs learning on at least one input data, and if necessary, a storage unit 20 and an input unit ( 30) and the output unit 32 may include at least one. At least two of the storage unit 20, the input unit 30, the output unit 32, and the learning processing unit 100 are provided to enable mutual data transmission and reception through cables, circuits, and/or wireless communication devices.

저장부(20)는 학습처리부(100)의 동작에 필요한 적어도 하나의 데이터 및/또는 적어도 하나의 애플리케이션(소프트웨어, 앱 또는 프로그램 등으로 지칭 가능하다)을 저장하며, 학습처리부(100)의 요청에 따라 데이터 및/또는 애플리케이션 등을 학습처리부(100)로 제공할 수 있도록 마련된다.The storage unit 20 stores at least one data and/or at least one application (which may be referred to as software, app, or program) required for the operation of the learning processing unit 100, and at the request of the learning processing unit 100 Accordingly, it is provided to provide data and/or applications to the learning processing unit 100.

일 실시예에 의하면, 저장부(20)는 학습을 위해 학습처리부(100)에 입력될 원시 데이터(1)를 저장할 수 있다. 원시 데이터(1)는, 적어도 하나의 데이터가 집합적으로 형성된 적어도 하나의 데이터 셋, 일례로 제1 데이터 셋 내지 제n 데이터 셋(1-1 내지 1-n, 여기서 n은 2보다 큰 자연수)을 포함할 수 있으며, 이들 데이터 셋(1-1 내지 1-n) 중 적어도 둘은 서로 상이한 형태의 데이터의 집합으로 구축된 것일 수 있다. 예를 들어, 제1 데이터 셋(1-1)은 수치형 데이터(스칼라 형식의 데이터)의 집합을 포함하고, 제2 데이터 셋(1-2)은 명목형 데이터(질적 데이터 등으로 표현 가능함)의 집합을 포함할 수도 있다. 상황에 따라서, 이들 데이터 셋(1-1, 1-2)은 서로 분리되어 저장부(20)에 저장되어 있을 수도 있고, 또는 서로 혼재되어 저장부(20)에 저장되어 있을 수도 있다. 즉, 하나의 원시 데이터(1)에는 서로 상이한 형태의 데이터, 일례로 명목형 데이터(1-1) 및 수치형 데이터(1-2)가 서로 혼재되어 있을 수 있다.According to an embodiment, the storage unit 20 may store raw data 1 to be input to the learning processing unit 100 for learning. The raw data 1 is at least one data set in which at least one data is collectively formed, for example, a first data set to an nth data set (1-1 to 1-n, where n is a natural number greater than 2) It may include, and at least two of these data sets 1-1 to 1-n may be constructed as sets of different types of data. For example, the first data set (1-1) includes a set of numeric data (scalar data), and the second data set (1-2) is nominal data (can be expressed as qualitative data, etc.) It may also contain a set of. Depending on the situation, these data sets 1-1 and 1-2 may be separated from each other and stored in the storage unit 20, or may be mixed with each other and stored in the storage unit 20. That is, in one raw data 1, different types of data, for example, nominal data 1-1 and numeric data 1-2 may be mixed with each other.

실시예에 따라서, 저장부(20)는 학습처리부(100)에 의해 학습되거나 또는 학습에 이용될 학습 모델(2)을 더 저장할 수도 있다. 학습 모델(2)은 예를 들어 학습 알고리즘을 포함할 수 있다. 학습 알고리즘은, 예를 들어, 심층 신경망(DNN), 콘볼루션 신경망(CNN), 순환 신경망(RNN), 콘볼루션 순환 신경망(CRNN), 다층 퍼셉트론(MLN), 심층 신뢰 신경망(DBN) 및/또는 심층 Q-네트워크(Deep Q-Networks) 등을 포함할 수 있으나, 이에 한정되는 건 아니다. 또한, 저장부(20)는 학습처리부(100)가 전이 학습을 수행하는 경우, 학습처리부(100)의 전이 학습에 이용될 전이학습용 매개변수(3)를 더 포함할 수도 있다. 이외에도 저장부(20)는 학습처리부(100)의 동작/처리에 필요한 모델, 데이터 및/또는 애플리케이션 등을 더 저장할 수도 있다.According to an embodiment, the storage unit 20 may further store a learning model 2 that is learned by the learning processing unit 100 or to be used for learning. The learning model 2 may comprise a learning algorithm, for example. Learning algorithms include, for example, a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a convolutional recurrent neural network (CRNN), a multilayer perceptron (MLN), a deep trust neural network (DBN), and/or Deep Q-Networks, etc. may be included, but the present invention is not limited thereto. In addition, the storage unit 20 may further include a transfer learning parameter 3 to be used for transfer learning of the learning processing unit 100 when the learning processing unit 100 performs transfer learning. In addition, the storage unit 20 may further store models, data and/or applications required for the operation/processing of the learning processing unit 100.

저장부(20)는, 예를 들어, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있다. 롬은, 예를 들어, 통상적인 롬, 이프롬(EPROM), 이이프롬(EEPROM) 및/또는 마스크롬(MASK-ROM) 등을 포함할 수 있다. 램은 예를 들어, 디램(DRAM) 및/또는 에스램(SRAM) 등을 포함할 수 있다. 보조기억장치는, 플래시 메모리 장치, SD(Secure Digital) 카드, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 하드 디스크 드라이브(HDD, Hard Disc Drive), 자기 드럼, 컴팩트 디스크(CD), 디브이디(DVD) 또는 레이저 디스크 등과 같은 광 기록 매체(optical media), 자기 테이프, 광자기 디스크 및/또는 플로피 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 적어도 하나의 저장 매체를 이용하여 구현될 수 있다.The storage unit 20 may include, for example, at least one of a main memory device and an auxiliary memory device. The main memory device may be implemented using a semiconductor storage medium such as ROM and/or RAM. The ROM may include, for example, a conventional ROM, EPROM, EEPROM, and/or MASK-ROM. The RAM may include, for example, DRAM and/or SRAM. Auxiliary storage devices include flash memory devices, SD (Secure Digital) cards, solid state drives (SSDs, Solid State Drives), hard disk drives (HDDs, Hard Disc Drives), magnetic drums, compact disks (CDs), DVDs ) Or an optical media such as a laser disk, a magnetic tape, a magneto-optical disk, and/or a floppy disk, and at least one storage medium capable of permanently or semi-permanently storing data.

입력부(30)는 외부로부터 명령/지시를 입력 받거나 및/또는 적어도 하나의 데이터를 입력받을 수 있다. 예를 들어, 입력부(30)는 사용자의 조작에 따라 학습 개시 명령이나 학습 결과 출력 명령 등을 입력 받거나 및/또는 원시 데이터(1)에 해당하는 적어도 하나의 데이터나, 전이학습용 매개변수(3)나, 학습 모델(2) 등을 입력 받을 수 있다. 입력부(30)는, 예를 들어, 키보드, 마우스, 키패드, 터치스크린, 터치패드, 트랙볼, 트랙패드, 스캐너, 외장 메모리 장치(외장 하드디스크나 외장 플래쉬 메모리 장치 등) 등이 장착 가능한 데이터 단자(예를 들어, 범용 직렬 버스 단자 등), 유선 또는 무선 통신 모듈 및/또는 미리 별도로 생성된 데이터 셋(1-1 내지 1-n) 또는 사용자의 조작에 대응하여 입력되는 데이터 등을 수신할 수 있는 적어도 하나의 장치를 포함할 수 있으나, 이에 한정되는 것은 아니다.The input unit 30 may receive an external command/instruction and/or receive at least one data. For example, the input unit 30 receives a learning start command or a learning result output command, etc. according to a user's operation, and/or at least one data corresponding to the raw data 1 or a transfer learning parameter 3 I, learning model (2), etc. can be input. The input unit 30 is, for example, a data terminal to which a keyboard, a mouse, a keypad, a touch screen, a touch pad, a trackball, a track pad, a scanner, an external memory device (such as an external hard disk or an external flash memory device) can be mounted. For example, a universal serial bus terminal, etc.), a wired or wireless communication module, and/or a separately generated data set (1-1 to 1-n), or data input in response to a user's operation, etc. It may include at least one device, but is not limited thereto.

출력부(32)는 학습처리부(100)의 학습 결과, 저장부(20)에 저장된 원시 데이터(1), 학습 모델(2) 및/또는 전이학습용 매개변수(3) 등을 사용자의 지시에 따라 또는 미리 정의된 설정에 따라 외부로 출력할 수 있다. 출력부(32)는, 예를 들어, 화상 출력 장치, 프린터 장치 또는 사운드 출력 장치 등을 포함할 수 있다.The output unit 32 stores the learning result of the learning processing unit 100, the raw data 1 stored in the storage unit 20, the learning model 2, and/or the transfer learning parameter 3 according to the instruction of the user. Alternatively, it can be output externally according to a predefined setting. The output unit 32 may include, for example, an image output device, a printer device, or a sound output device.

학습처리부(100)는 원시 데이터(1)를 기반으로 학습을 수행하여, 소정의 학습 모델, 일례로 저장부(20)에 저장된 학습 모델(2)을 학습시켜 학습된 모델을 획득하거나, 및/또는 소정의 입력 데이터를 학습된 모델에 적용하여 입력 데이터에 대응하는 결과 데이터를 획득할 수 있다. 학습처리부(100)의 동작에 대한 상세한 설명은 후술한다.The learning processing unit 100 performs learning based on the raw data 1 to learn a predetermined learning model, for example, the learning model 2 stored in the storage unit 20 to acquire the learned model, and/ Alternatively, result data corresponding to the input data may be obtained by applying predetermined input data to the trained model. A detailed description of the operation of the learning processing unit 100 will be described later.

학습처리부(100)는, 하나 또는 둘 이상의 프로세서를 이용하여 구현될 수 있다. 여기서, 프로세서는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수 있다. 이들 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현 가능하다. 학습처리부(100)는, 저장부(20)에 저장된 애플리케이션(미도시)을 구동시켜 학습과 관련된 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수도 있다. 여기서, 저장부(20)에 저장된 애플리케이션은, 설계자에 의해 미리 작성되거나 외부의 저장 매체(예를 들어, 외장 하드디스크 장치 등)로부터 전달되어 저장부(20)에 저장된 것일 수도 있고, 및/또는 유선 또는 무선 통신 네트워크를 통해 접속 가능한 전자 소프트웨어 유통망을 통하여 획득 또는 갱신된 것일 수도 있다The learning processing unit 100 may be implemented using one or more processors. Here, the processor is, for example, a central processing unit (CPU, Central Processing Unit), a microcontroller unit (MCU, Micro Controller Unit), a Micom (Micro Processor), an application processor (AP, Application Processor), electronic control It may include a unit (ECU, Electronic Controlling Unit) and/or other electronic devices capable of processing various operations and generating control signals. These devices can be implemented using, for example, one or more semiconductor chips and related components. The learning processing unit 100 may run an application (not shown) stored in the storage unit 20 to perform operations, judgments, processing, and/or control operations related to learning. Here, the application stored in the storage unit 20 may be previously created by a designer or transmitted from an external storage medium (eg, an external hard disk device) and stored in the storage unit 20, and/or It may be acquired or updated through an electronic software distribution network accessible through a wired or wireless communication network.

상술한 학습 장치(10)는, 데이터의 연산, 처리 및 이와 관련된 각종 제어 동작을 수행할 수 있는 정보처리장치를 기반으로 구현 가능하다. 예를 들어, 학습 장치(10)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 컴퓨터 장치, 스마트 폰, 태블릿 피씨, 스마트 시계, 두부 장착형 디스플레이(HMD, Head Mounted Display) 장치, 내비게이션 장치, 개인용 디지털 보조기(PDA, Personal Digital Assistant), 휴대용 게임기, 디지털 텔레비전, 셋톱 박스, 가전기기(로봇 청소기, 세탁기 또는 냉장고 등), 전자 광고판, 인공지능 음향 재생 장치, 차량, 로봇, 기계 장치 또는 이외 학습 처리를 수행할 수 있는 다양한 장치 중 적어도 하나를 포함할 수 있다.The above-described learning device 10 can be implemented based on an information processing device capable of performing data operation, processing, and various control operations related thereto. For example, the learning device 10 is a desktop computer, a laptop computer, a server computer device, a smart phone, a tablet PC, a smart watch, a head mounted display (HMD) device, a navigation device, a personal digital assistant (PDA, Personal Digital Assistant), portable game consoles, digital televisions, set-top boxes, home appliances (robot cleaners, washing machines, refrigerators, etc.), electronic billboards, artificial intelligence sound reproducing devices, vehicles, robots, mechanical devices, or other learning processes that can be performed. It may include at least one of various devices.

도 2는 학습 장치의 동작의 일례를 설명하기 위한 도면이다.2 is a diagram for explaining an example of the operation of the learning device.

도 2에 도시된 일 실시예에 따르면, 원시 데이터(1)는 학습 처리부(100)에 입력되고, 학습 처리부(100)는 원시 데이터(1)를 기반으로 학습을 수행하여 학습 결과(120a, 이하 제1 학습 결과)를 획득할 수 있다. 보다 구체적으로 학습처리부(100)는 원시 데이터(1)가 입력되면, 원시 데이터(1)를 기반으로 입력 데이터(114)를 생성 및 획득하고, 모든 입력 데이터(114, 일례로 명목형 데이터에 대응하는 데이터 및 수치형 데이터에 대응하는 데이터)를 전체 데이터를 위한 학습부(121-1, 이하 전체 데이터 학습부)에 입력하여 학습을 수행하거나, 및/또는 입력 데이터(114) 중에서 명목형 데이터에 대응하는 데이터를 명목형 데이터를 위한 학습부(121-2, 이하 일부 데이터 학습부)에 입력하여 학습을 수행하여 학습을 수행한 후, 전체 데이터 학습부(121-1)와 일부 데이터 학습부(121-2)의 학습 결과를 기반으로 입력 데이터(114)에 대응하는 학습 결과(121a, 이하 제1 출력 데이터)를 획득할 수 있다. 또한, 학습처리부(100)는 이와는 별도로 원시 데이터(1) 그 자체에 대한 학습부(122, 이하 제2 학습부)에 원시 데이터(1)를 입력하여 제2 출력 데이터(122a)를 획득하고, 제1 출력 데이터(121a)와 제2 출력 데이터(122a)를 조합하여 제1 학습 결과(120a)를 획득할 수 있다. 이 경우, 제1 출력 데이터(121a)와 제2 출력 데이터(122a)의 조합은 앙상블 모델(ensemble model)을 채용하여 수행될 수 있다. According to the exemplary embodiment shown in FIG. 2, the raw data 1 is input to the learning processing unit 100, and the learning processing unit 100 performs learning based on the raw data 1 to obtain a learning result 120a, or less. The first learning result) can be obtained. More specifically, when the raw data 1 is input, the learning processing unit 100 generates and acquires the input data 114 based on the raw data 1, and responds to all input data 114 (for example, nominal data). And/or input data corresponding to the numerical data) into the learning unit 121-1 for all data to perform learning, and/or to nominal data among the input data 114 After learning by performing learning by inputting the corresponding data into the learning unit 121-2 for nominal data (hereinafter, partial data learning unit), the entire data learning unit 121-1 and the partial data learning unit ( Based on the learning result of 121-2), a learning result 121a (hereinafter referred to as first output data) corresponding to the input data 114 may be obtained. In addition, the learning processing unit 100 obtains the second output data 122a by separately inputting the raw data 1 into the learning unit 122 (hereinafter referred to as the second learning unit) for the raw data 1 itself, The first learning result 120a may be obtained by combining the first output data 121a and the second output data 122a. In this case, the combination of the first output data 121a and the second output data 122a may be performed by employing an ensemble model.

도 3은 학습 처리부의 일 실시예를 설명하기 위한 블록도이다.3 is a block diagram illustrating an embodiment of a learning processing unit.

보다 구체적으로 도 4에 도시된 바와 같이, 학습 처리부(100)는, 일 실시예에 의하면, 데이터처리부(110), 조합학습부(120) 및 결과출력부(140)를 포함할 수 있다.More specifically, as illustrated in FIG. 4, the learning processing unit 100 may include a data processing unit 110, a combination learning unit 120, and a result output unit 140, according to an exemplary embodiment.

데이터처리부(110)는 원시 데이터(1)를 획득하고, 원시 데이터(1) 내의 데이터의 전부 또는 일부를 변환하거나 또는 변환하지 않음으로써 조합학습부(120)에 입력될 입력 데이터(114)를 획득할 수 있다. 이 경우, 데이터처리부(110)는 데이터획득부(111), 데이터변환부(112) 및 입력 데이터 생성부(113)를 포함하여 마련된 것일 수 있다.The data processing unit 110 acquires the raw data 1 and acquires the input data 114 to be input to the combination learning unit 120 by converting all or part of the data in the raw data 1 or not converting it. can do. In this case, the data processing unit 110 may be provided including a data acquisition unit 111, a data conversion unit 112, and an input data generation unit 113.

데이터획득부(111)는 저장부(20)로부터 원시 데이터(1)의 적어도 하나의 데이터 셋(1-1 내지 1-n)을 획득하고, 획득된 데이터 셋(1-1 내지 1-n)의 데이터의 형태에 따라서 데이터를 데이터변환부(112) 또는 입력 데이터 생성부(113)로 전달할 수 있다. 예를 들어, 데이터획득부(111)는 데이터 셋(1-1 내지 1-n) 중에서 수치형 데이터를 포함하는 데이터 셋, 일례로 제1 데이터 셋(1-1)은 입력 데이터 생성부(113)로 전달하고, 명목형 데이터를 포함하는 데이터 셋, 일례로 제2 데이터 셋(1-2)은 데이터변환부(112)로 전달하도록 설계될 수 있다. 이에 따라 수치형 데이터, 일례로 제1 데이터 셋(1-1)은 변환 없이 단일 값 그대로 입력 데이터 생성부(113)로 전달된다.The data acquisition unit 111 acquires at least one data set (1-1 to 1-n) of the raw data 1 from the storage unit 20, and the acquired data set (1-1 to 1-n) The data may be transferred to the data conversion unit 112 or the input data generation unit 113 according to the type of data of. For example, the data acquisition unit 111 is a data set including numeric data from among the data sets 1-1 to 1-n. For example, the first data set 1-1 is an input data generator 113 ), and the data set including nominal data, for example, the second data set 1-2 may be designed to be transmitted to the data conversion unit 112. Accordingly, the numeric data, for example, the first data set 1-1 is transferred to the input data generator 113 as a single value without conversion.

데이터변환부(112)는 수신한 데이터를 변환하고, 변환된 데이터를 입력 데이터 생성부(113)로 전달할 수 있다. 예를 들어, 데이터변환부(112)는 명목형 데이터, 일례로 제2 데이터 셋(1-2)의 적어도 하나의 데이터를 수신하고, 수신한 각각의 데이터를 미리 정의된 크기의 노드(node)로 변경하고, 미리 정의된 크기의 노드로 변경된 데이터를 입력 데이터 생성부(113)로 전달할 수 있다. 이 경우, 명목형 데이터는 미리 정의된 바에 따라 모두 동일한 크기의 노드로 변경될 수 있다. 노드의 크기는 사용자에 의해 지정된 것을 수도 있고 또는 설계자에 의해 미리 정의된 것일 수도 있다. The data conversion unit 112 may convert the received data and transmit the converted data to the input data generation unit 113. For example, the data conversion unit 112 receives nominal data, for example, at least one data of the second data set 1-2, and converts each received data into a node having a predefined size. And transfer the changed data to a node having a predefined size to the input data generator 113. In this case, the nominal data may all be changed to nodes of the same size as defined in advance. The size of the node may be specified by the user or may be predefined by the designer.

도 4는 임베디드 레이어의 일례를 설명하기 위한 도면으로, 명목형 데이터를 원-핫(one-hot) 형식으로 표현한 도면이다.4 is a diagram for explaining an example of an embedded layer, and is a diagram in which nominal data is expressed in a one-hot format.

입력 데이터 생성부(113)는 데이터획득부(111) 및/또는 데이터 변환부(112)에서 전달된 적어도 하나의 데이터를 기반으로 조합학습부(120)에 입력될 데이터를 생성할 수 있다. 이 경우, 입력 데이터 생성부(113)는 데이터 획득부(111)에서 전달된 데이터에 대응하는 입력 데이터(114-1, 이하 제1 입력 데이터) 및 데이터변환부(112)에서 전달된 데이터에 대응하는 입력 데이터(114-2, 이하 제2 입력 데이터)를 생성함으로써, 조합학습부(120)에 입력될 데이터를 생성할 수 있다. 여기서, 제1 입력 데이터(114-1)는 수치형 데이터들로 이루어지고 및/또는 제2 입력 데이터(114-2)는 명목형 데이터들로 이루어진 것일 수 있다. 입력 데이터 생성부(113)는 필요에 따라, 입력 데이터(114-1, 114-2)를 변환할 수도 있다. 예를 들어, 입력 데이터 생성부(113)는 분석에 불필요한 데이터를 제거하거나, 입력 데이터(114-1, 114-2) 중 적어도 하나에 대한 변환 처리(예를 들어, 원-핫(one-hot) 인코딩 처리 등)를 수행하거나 및/또는 입력 데이터(114-1, 114-2) 중 적어도 하나에 대한 스케일링 처리(예를 들어, 데이터 범위를 0 내지 1 사이의 값으로 변경 처리 등)를 수행하는 등 학습의 신속 또는 정확성 개선 등을 위해 필요한 처리를 더 수행할 수도 있다. 이와 같은 과정에 의해 조합 학습부(120)에 입력될 입력 데이터(114)가 형성될 수 있게 된다. 입력 데이터 생성부(113)에 의해 생성된 입력 데이터(114)는 조합학습부(120)의 제1 학습부(121)로 전달되고, 제1 학습부(121)에서 임베디드 레이어(embedded layer)로 이용될 수 있다. 임베디드 레이어는 사용자 또는 설계자에 의해 미리 정의된 개수(k)의 노드에 완전히 연결(fully connected)되어 생성된 레이어로, 후술하는 바와 같이 조합학습부(120)에 입력 값(입력 층)으로 이용된다. 도 4에 도시된 예를 참조하면, 임베디드 레이어는 명목형 데이터(원-핫 형식에 따라 feature size 내에서 1로 표현된 데이터) 및 수치형 데이터(1 이외의 다른 값을 갖는 데이터) 등을 포함하여 생성된다. 임베디드 레이어는 사용자 또는 설계자에 의해 미리 정의된 소정의 값(k), 일례로 노드의 크기와 특성의 크기를 곱한 값을 그 크기로 가질 수 있다.The input data generation unit 113 may generate data to be input to the combination learning unit 120 based on at least one data transmitted from the data acquisition unit 111 and/or the data conversion unit 112. In this case, the input data generation unit 113 corresponds to the input data 114-1 (hereinafter referred to as first input data) corresponding to the data transmitted from the data acquisition unit 111 and the data transmitted from the data conversion unit 112. Data to be input to the combination learning unit 120 may be generated by generating input data 114-2 (hereinafter referred to as second input data). Here, the first input data 114-1 may be composed of numeric data and/or the second input data 114-2 may be composed of nominal data. The input data generator 113 may convert the input data 114-1 and 114-2 as necessary. For example, the input data generation unit 113 removes unnecessary data for analysis or converts at least one of the input data 114-1 and 114-2 (e.g., one-hot ) Encoding processing, etc.) and/or scaling processing (e.g., changing the data range to a value between 0 and 1) on at least one of the input data 114-1 and 114-2 It is also possible to perform further processing necessary to speed up learning or improve accuracy. Through this process, input data 114 to be input to the combination learning unit 120 may be formed. The input data 114 generated by the input data generation unit 113 is transferred to the first learning unit 121 of the combination learning unit 120, and is transferred from the first learning unit 121 to an embedded layer. Can be used. The embedded layer is a layer created by being fully connected to a predefined number (k) of nodes by a user or designer, and is used as an input value (input layer) to the combination learning unit 120 as described later. . Referring to the example shown in FIG. 4, the embedded layer includes nominal data (data expressed as 1 within a feature size according to a one-hot format) and numeric data (data having a value other than 1). Is created by The embedded layer may have a predetermined value (k) predefined by a user or a designer, for example, a value obtained by multiplying the size of a node and the size of a feature as the size.

조합학습부(120)는, 도 3에 도시된 바와 같이 제1 학습부(121), 제2 학습부(122) 및 조합부(123)를 포함할 수 있다.The combination learning unit 120 may include a first learning unit 121, a second learning unit 122 and a combination unit 123 as shown in FIG. 3.

제1 학습부(121)는 입력 데이터 생성부(113)로부터 입력 데이터(114-1, 114-2)를 수신하고 이를 기반으로 학습을 수행한다. 제1 학습부(121)는, 일 실시예에 있어서, 전체데이터 학습부(121-1) 및 일부 데이터 학습부(121-2)를 포함할 수 있다. The first learning unit 121 receives the input data 114-1 and 114-2 from the input data generation unit 113 and performs learning based on this. The first learning unit 121 may include a whole data learning unit 121-1 and a partial data learning unit 121-2 in an embodiment.

전체데이터 학습부(121-1)는, 임베디드 레이어의 모든 종류의 데이터(114), 일례로 제1 입력 데이터(114-1) 및 제2 입력 데이터(114-2) 양자를 모두 이용해서 학습을 수행할 수 있다. 다시 말해서, 전체데이터 학습부(121-1)는, 변환되지 않은 수치형 데이터(114-1, 즉, 원시적 형태 그대로의 수치형 데이터)와, 소정 크기의 노드로 변환된 명목형 데이터(114-2)를 함께 이용하여 학습을 수행할 수 있다. 전체데이터 학습부(121-1)는, 예를 들어, 심층 신경망, 콘볼루션 신경망, 순환 신경망, 콘볼루션 순환 신경망, 다층 퍼셉트론, 심층 신뢰 신경망 및/또는 심층 Q-네트워크 등을 이용하여 학습을 수행할 수도 있다. 일 실시예에 의하면, 전체데이터 학습부(121-1)는 적어도 하나 이상의 은닉층을 포함할 수 있으며, 구체적으로 예를 들어 4개의 은닉층을 포함할 수도 있다. 은닉층의 크기는, 예를 들어, 시행착오(trial-error)를 기반으로 결정된 것일 수 있다.The whole data learning unit 121-1 performs learning using all types of data 114 of the embedded layer, for example, both the first input data 114-1 and the second input data 114-2. Can be done. In other words, the total data learning unit 121-1 includes unconverted numeric data 114-1, that is, numeric data in its primitive form, and nominal data 114- converted into nodes of a predetermined size. 2) can be used together to perform learning. The full data learning unit 121-1 performs learning using, for example, a deep neural network, a convolutional neural network, a recurrent neural network, a convolutional recurrent neural network, a multilayer perceptron, a deep trust neural network and/or a deep Q-network, etc. You may. According to an embodiment, the total data learning unit 121-1 may include at least one hidden layer, and specifically, may include, for example, four hidden layers. The size of the hidden layer may be determined based on, for example, trial-error.

일부 데이터 학습부(121-2)는, 제1 입력 데이터(114-1) 및 제2 입력 데이터(114-2) 중에서 명목형 데이터로부터 도출된 입력 데이터, 즉 제2 입력 데이터(114-2)를 기반으로 학습을 수행할 수 있다. 따라서, 일부 데이터 학습부(121-2)는 동일하게 소정 크기의 노드로 변환된 데이터를 기반으로 학습을 수행하게 된다. 일부 데이터 학습부(121-2)는 제2 입력 데이터(114-2)를 선형적으로 분석할 수 있다. 필요에 따라, 일부 데이터 학습부(121-2)는 가중치를 제2 입력 데이터(114-2)에 적용하는 것도 가능하다. 일부 데이터 학습부(121-2)는, 예를 들어, 인수화모델(FM: Factorization Model) 등을 기반으로 학습을 수행할 수도 있다. 각각의 데이터(1-2)가 동일한 크기의 노드로 변환되었으므로, 명목형 데이터로 인해 발생되는 희박한 특성이 완화되고, 내적 연산의 수행이 가능해진다. 실시예에 따라서, 제1 출력 데이터(121a)의 획득을 위해 클래스 가중치(class weight)가 더 이용될 수도 있다. 클래스 가중치는, 각각의 클래스(class)에 할당되는 가중치로, 여기서 클래스는 기계 학습 등에서 이용되는 레이블의 범주를 포함할 수 있다.Some data learning unit 121-2 includes input data derived from nominal data among the first input data 114-1 and the second input data 114-2, that is, the second input data 114-2. Learning can be performed based on. Accordingly, some of the data learning units 121-2 perform learning based on data converted into nodes of a predetermined size in the same manner. Some data learning units 121-2 may linearly analyze the second input data 114-2. If necessary, the partial data learning unit 121-2 may apply a weight to the second input data 114-2. Some of the data learning units 121-2 may perform learning based on, for example, a factorization model (FM). Since each data 1-2 has been converted to a node of the same size, sparse characteristics caused by nominal data are alleviated, and the dot product operation can be performed. Depending on the embodiment, a class weight may be further used to obtain the first output data 121a. The class weight is a weight assigned to each class, where the class may include a category of a label used in machine learning or the like.

도 5는 명목형 데이터 및 수치형 데이터 구분을 위한 프로그램 코드의 일례를 도시한 도면이다.5 is a diagram illustrating an example of a program code for distinguishing nominal data and numeric data.

필요에 따라서 제1 학습부(121)는 일부 데이터 학습부(121-2)의 동작 이전에 전체적인 입력 데이터(141, 즉 임베디드 레이어)에서 명목형 데이터(141-2)를 분류할 수도 있다. 구체적으로 도 5의 코드에 나타난 바와 같이 제1 학습부(121)는 전체 임베이드 레이어 중에서 동일한 크기(예를 들어, 사용자 등에 의해 설정된 노드의 크기)로 처리된 명목형 데이터만을 추출하고 이를 일부 데이터 학습부(121-2)로 전달하기 위해 슬라이싱 전처리를 더 수행할 수도 있다. 보다 상세하게는 제1 학습부(121)는 전체적인 입력 데이터(141) 내의 각각의 데이터에 대해 순차적으로 데이터의 값(특징)이 무엇인지(예를 들어, 1인지 또는 그 외의 값인지) 여부를 판단하고, 데이터의 값에 따라서 각각의 데이터에 식별을 위한 값을 부기하고, 부기된 값에 따라 각각의 데이터를 특정한 학습부(121-1, 121-2)에 입력시킴으로써 전체적인 입력 데이터(141)를 분류할 수도 있다.If necessary, the first learning unit 121 may classify the nominal data 141-2 from the entire input data 141 (that is, an embedded layer) before the operation of the partial data learning unit 121-2. Specifically, as shown in the code of FIG. 5, the first learning unit 121 extracts only nominal data processed with the same size (for example, the size of a node set by a user, etc.) from the entire embedding layer and partially Slicing pre-processing may be further performed to transfer to the data learning unit 121-2. In more detail, the first learning unit 121 sequentially determines whether the value (feature) of the data is (for example, 1 or other values) for each data in the overall input data 141. The overall input data 141 is determined by determining, adding a value for identification to each data according to the value of the data, and inputting each data to a specific learning unit 121-1 and 121-2 according to the added value. Can also be classified.

전체데이터 학습부(121-1) 및 일부 데이터 학습부(121-2)의 각각의 학습 결과에 따라서, 도 2에 도시된 바와 같이, 제1 출력 데이터(121a)가 획득될 수 있다. 제1 출력 데이터(121a)는, 예를 들어, 제1 학습부(121)의 학습에 따른 예측 결과를 포함할 수 있다. As illustrated in FIG. 2, first output data 121a may be obtained according to the learning results of the whole data learning unit 121-1 and the partial data learning unit 121-2. The first output data 121a may include, for example, a prediction result according to learning by the first learning unit 121.

일 실시예에 의하면, 제1 학습부(121)의 제1 출력 데이터(121a)의 획득 과정은, 심층인수화모델(DeepFM: Deep Factorization Model)이 결과 데이터를 획득하는 과정과 동일한 과정을 통해 또는 이를 일부 변형한 과정을 통해 수행될 수 있다. According to an embodiment, the process of acquiring the first output data 121a of the first learning unit 121 is through the same process as the process of acquiring the result data by a deep factorization model (DeepFM) or This can be done through a partially modified process.

상술한 제1 학습부(121)의 학습 과정은, 예를 들어 하기의 수학식 1으로 표현될 수도 있다.The learning process of the first learning unit 121 described above may be expressed by, for example, Equation 1 below.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

수학식 1에서

Figure pat00002
는 일부 데이터 학습부(121-2)에서 수행되는 학습을 의미하고,
Figure pat00003
는 전체데이터 학습부(121-1)에서 수행되는 학습을 의미한다. 여기서 가중치(
Figure pat00004
)는 학습 과정에서 변경될 수도 있다.
Figure pat00005
는 제1 출력 데이터(121a)를 의미한다.In Equation 1
Figure pat00002
Means learning performed by some data learning unit 121-2,
Figure pat00003
Denotes learning performed by the whole data learning unit 121-1. Where the weight(
Figure pat00004
) May change during the learning process.
Figure pat00005
Denotes the first output data 121a.

통상적인 학습 알고리즘에서는 불균형한 클래스의 편향 학습 완화를 위해 클래스 내의 데이터를 인위적으로 생성하거나 또는 삭제하는 등의 데이터 전처리 과정을 필요로 한다. 그러나 이와 같은 전처리 과정은 학습에 있어서 과적합의 위험성을 증가시킬 수 있다. 그러나, 상술한 제1 학습부(121)는 데이터의 인위적 생성 및 제거의 과정을 필요로 하지 않고 또한 필요에 따라 클래스 가중치를 더 이용하여 학습을 수행할 수 있으므로, 종래의 다른 학습 알고리즘을 가지고 있는 과적합 문제를 해결할 수 있게 된다. 제1 학습부(121)의 학습 결과에 따라 획득된 제1 출력 데이터(121a)는 조합부(123)로 전달될 수 있다.In a typical learning algorithm, a data preprocessing process such as artificially creating or deleting data in a class is required to alleviate biased learning of an unbalanced class. However, this pre-processing process can increase the risk of overfitting in learning. However, since the above-described first learning unit 121 does not require the process of artificially generating and removing data, and can perform learning by further using class weights as needed, it has another conventional learning algorithm. You can solve the overfitting problem. The first output data 121a obtained according to the learning result of the first learning unit 121 may be transmitted to the combination unit 123.

제2 학습부(122)는, 원시 데이터(1: 1-1 내지 1-n)를 기반으로 학습을 수행하도록 마련된 것일 수 있다. 다시 말해서, 제1 학습부(121)는 데이터처리부(110)에서 획득한 입력 데이터(114-1, 114-2)를 기반으로 학습을 수행하나, 제2 학습부(122)는 입력 데이터(114-1, 114-2)가 아닌 저장부(20)에 저장된 원시 데이터(1: 1-1 내지 1-n)을 기반으로 학습을 수행한다. 제2 학습부(122)는, 예를 들어, 심층 신경망, 콘볼루션 신경망, 순환 신경망, 콘볼루션 순환 신경망, 다층 퍼셉트론, 심층 신뢰 신경망 및/또는 심층 Q-네트워크 등을 기반으로 학습을 수행할 수 있다. 이 경우, 제2 학습부(122)로 이용되는 학습 알고리즘은, 상술한 전체데이터 학습부(121-1) 등에서 이용되는 학습 알고리즘과 동일할 수도 있고 상이할 수도 있다. 제2 학습부(122)의 학습 결과, 즉 제2 출력 데이터(122a) 역시 조합부(123)로 전달될 수 있다. 제2 출력 데이터(122a)는, 예를 들어, 제2 학습부(122)의 학습에 따른 예측 결과를 포함할 수 있다.The second learning unit 122 may be provided to perform learning based on the raw data (1:1-1 to 1-n). In other words, the first learning unit 121 performs learning based on the input data 114-1 and 114-2 obtained from the data processing unit 110, but the second learning unit 122 is the input data 114. Learning is performed based on raw data (1:1-1 to 1-n) stored in the storage unit 20, not on the basis of -1, 114-2). The second learning unit 122 may perform learning based on, for example, a deep neural network, a convolutional neural network, a recurrent neural network, a convolutional recurrent neural network, a multilayer perceptron, a deep trust neural network, and/or a deep Q-network. have. In this case, the learning algorithm used by the second learning unit 122 may be the same as or different from the learning algorithm used in the above-described all data learning unit 121-1. The learning result of the second learning unit 122, that is, the second output data 122a may also be transmitted to the combination unit 123. The second output data 122a may include, for example, a prediction result according to learning by the second learning unit 122.

조합부(123)는, 제1 학습부(121)의 학습 결과와 제2 학습부(122)의 학습 결과를 병합하여, 도 2에 도시된 바와 같이, 제1 학습 결과(120a), 일례로 새로운 학습된 모델을 획득할 수 있다. 보다 구체적으로, 조합부(123)는 제1 학습부(121)의 출력 데이터(121a) 및 제2 학습부(122)의 출력 데이터(122a)를 수신하고, 이들 출력 데이터(121a, 122a)를 입력 값으로 하여 학습을 더 수행할 수 있다. 다시 말해서, 제1 출력 데이터(121a) 및 제2 출력 데이터(122a)가 학습 데이터(training data)로 이용될 수 있다. 일 실시예에 의하면, 조합부(123)에 의한 학습 모델의 생성 과정은, 앙상블 모델(ensemble model)의 스태킹(stacking) 방식을 동일하게 또는 일부 상이하게 이용하여 수행될 수도 있다. The combination unit 123 merges the learning result of the first learning unit 121 and the learning result of the second learning unit 122, and as shown in FIG. 2, the first learning result 120a, for example, New learned models can be acquired. More specifically, the combination unit 123 receives the output data 121a of the first learning unit 121 and the output data 122a of the second learning unit 122, and receives these output data 121a and 122a. Further learning can be performed by using the input value. In other words, the first output data 121a and the second output data 122a may be used as training data. According to an embodiment, the process of generating a learning model by the combination unit 123 may be performed using the same or partially different stacking methods of an ensemble model.

조합부(123)에 의해 획득된 제1 학습 결과(120a, 예를 들어, 학습 모델이나 학습 모델에 적용되어 획득된 결과 데이터 등)는 결과 출력부(140)로 전달될 수 있다. 결과 출력부(140)는 수신한 학습 결과를 출력부(32)로 전달하여 외부로 출력되도록 하거나 및/또는 저장부(20)로 전달하여 일시적 또는 비일시적으로 저장되도록 할 수 있다. The first learning result 120a obtained by the combining unit 123, for example, a learning model or result data obtained by being applied to a learning model, may be transmitted to the result output unit 140. The result output unit 140 may transmit the received learning result to the output unit 32 to be output to the outside and/or transmit the received learning result to the storage unit 20 to be temporarily or non-temporarily stored.

상술한 두 개의 단계, 즉 제1 출력 데이터(121a) 및 제2 출력 데이터(122a)를 획득하는 단계 및 출력 결과를 조합하여 새로운 모델을 생성하는 단계의 수행은, 단일 모델만을 이용하여 학습을 수행하는 경우에 비해 상대적으로 성능이 향상되고 모델 성능의 안정화도 꾀할 수 있는 장점이 있다. The two steps described above, that is, acquiring the first output data 121a and the second output data 122a, and the step of creating a new model by combining the output results, perform training using only a single model. Compared to the case, the performance is relatively improved and the model performance can be stabilized.

실시예에 따라서, 제1 학습부(121), 제2 학습부(122) 및 조합부(123) 중 적어도 하나는, 전이 학습(Transfer Learning)을 더 적용하여 학습을 수행할 수도 있다. According to an embodiment, at least one of the first learning unit 121, the second learning unit 122, and the combination unit 123 may perform learning by further applying transfer learning.

도 6은 전이 학습의 수행 동작의 일례를 설명하기 위한 도면이다.6 is a diagram for describing an example of an operation of performing transfer learning.

일 실시예에 의하면, 도 3 및 도 6에 도시된 바와 같이 조합부(123)와 전이 학습부(130)는 상호 연결되어 학습을 수행하도록 마련될 수도 있다. 보다 구체적으로 전이 학습부(130)는, 적어도 하나의 노드를 각각 갖는 적어도 하나의 은닉층을 포함할 수 있으며, 조합 학습부(120)의 은닉층의 적어도 하나의 노드는 전이 학습부(130)의 은닉층의 적어도 하나의 노드와 연결되어 전체적으로 학습 모델을 형성하게 된다. 조합부(123) 및 전이 학습부(130)는 전이 학습을 기반으로 학습을 더 수행하여 학습 결과(130a, 이하 제2 학습 결과)를 획득할 수 있다. 이 경우, 전이 학습부(130)는 기존에 이미 학습된 모델의 정보(일례로 전이학습용 매개변수(3))를 기반으로 학습을 수행함으로써 보다 개선된 학습 모델을 획득할 수 있다. 다시 말해서, 전이 학습부(130)는, 학습 장치(10)가 학습하고자 하는 모델(예를 들어, 교통량 예측 모델)과 관련되고 사전에 학습된 적어도 하나의 모델을 이용하여 학습을 수행하되, 기학습된 모델에 속하는 적어도 하나의 은닉층 내의 적어도 하나의 노드의 매개변수(3)를 각각 재활용하여 학습을 수행할 수 있다. 여기서, 전이 학습의 수행을 위해 기학습된 모델의 적어도 하나의 은닉층 중에서 모든 은닉층이 이용될 수도 있고 일부의 은닉층만이 이용될 수도 있다. 또한, 전이 학습을 위해 동일한 은닉층 내의 모든 노드의 매개변수(3)가 이용될 수도 있고, 또는 모든 노드 중 일부의 노드의 매개변수(3)만이 이용될 수도 있다.According to an embodiment, as shown in FIGS. 3 and 6, the combination unit 123 and the transfer learning unit 130 may be connected to each other to perform learning. More specifically, the transfer learning unit 130 may include at least one hidden layer each having at least one node, and at least one node of the hidden layer of the combination learning unit 120 is a hidden layer of the transfer learning unit 130 It is connected to at least one node of to form a learning model as a whole. The combination unit 123 and the transfer learning unit 130 may further perform learning based on transfer learning to obtain a learning result 130a (hereinafter, a second learning result). In this case, the transfer learning unit 130 may acquire an improved learning model by performing learning based on information of a model that has already been learned (for example, a transfer learning parameter 3). In other words, the transfer learning unit 130 performs learning using at least one model related to the model (for example, a traffic volume prediction model) to be learned by the learning device 10 and learned in advance, Learning may be performed by recycling the parameters 3 of at least one node in at least one hidden layer belonging to the learned model, respectively. Here, for performing transfer learning, all of the hidden layers of at least one hidden layer of the previously learned model may be used, or only some of the hidden layers may be used. Further, for transfer learning, the parameter 3 of all nodes in the same hidden layer may be used, or only the parameter 3 of some of all nodes may be used.

전이 학습부(130)에 의해 획득된 제2 학습 결과(130a)는, 대외적 출력 및/또는 내부적 저장을 위해 결과 출력부(140)로 전달될 수도 있다. 이와 같이 전이 학습부(130)를 더 포함하는 경우, 제1 학습 결과(120a)는, 설계자의 선택에 따라서, 결과 출력부(140)로 전달될 수도 있고 또는 전달되지 않을 수도 있다.The second learning result 130a obtained by the transfer learning unit 130 may be transmitted to the result output unit 140 for external output and/or internal storage. When the transfer learning unit 130 is further included as described above, the first learning result 120a may or may not be transmitted to the result output unit 140 according to the designer's selection.

상술한 데이터처리부(110)와, 조합학습부(120)와, 전입학습부(130)와, 및/또는 결과출력부(140)와, 이들에 포함된 각각의 요소(111, 112, 113, 121, 122, 123) 등은 물리적으로 구분되는 것일 수도 있고 및/또는 논리적으로 구분되는 것일 수도 있다. 예를 들어, 데이터처리부(110), 조합학습부(120), 전입학습부(130) 및 결과출력부(140)는, 하나의 반도체 장치로 이루어진 프로세서를 통해 구현될 수도 있고, 각각 물리적으로 분리된 서로 상이한 복수의 프로세서를 통해 구현될 수도 있다. 이외에도 설계자의 선택에 따라서 상술한 데이터처리부(110), 조합학습부(120), 전입학습부(130) 및/또는 결과출력부(140) 등은 다양한 방식으로 적어도 하나의 물리적 프로세서를 이용하여 구현 가능하다.The above-described data processing unit 110, the combination learning unit 120, the transfer learning unit 130, and/or the result output unit 140, and each of the elements 111, 112, 113, and 121, 122, 123), etc. may be physically classified and/or logically separated. For example, the data processing unit 110, the combination learning unit 120, the transfer learning unit 130, and the result output unit 140 may be implemented through a processor made of a single semiconductor device, and each physically separated It may be implemented through a plurality of different processors. In addition, the above-described data processing unit 110, combination learning unit 120, transfer learning unit 130, and/or result output unit 140 are implemented using at least one physical processor in various ways according to the designer's selection. It is possible.

이하, 도 7을 참조하여 학습 방법의 일 실시예에 대해서 설명한다. Hereinafter, an embodiment of a learning method will be described with reference to FIG. 7.

도 7은 학습 방법의 일 실시예에 대한 흐름도이다.7 is a flowchart of an embodiment of a learning method.

도 7에 도시된 바에 의하면, 먼저 학습 모델의 학습에 이용될 원시 데이터가 획득된다(300). 원시 데이터는 명목형 데이터를 포함할 수 있으며, 명목형 데이터 이외의 다른 데이터(예를 들어, 수치형 데이터)를 더 포함할 수 있다. 원시 데이터는, 장치 내부의 저장 매체에 미리 저장된 것일 수도 있고, 사용자나 설계자에 의해 직접 입력된 것일 수도 있고, 외부의 다른 저장 매체를 통해 입력된 것일 수도 있으며, 또는 유무선 통신 네트워크를 통해 전달된 것일 수도 있다. As shown in FIG. 7, first, raw data to be used for training a learning model is obtained (300). The raw data may include nominal data, and may further include other data (eg, numeric data) other than nominal data. The raw data may be pre-stored in a storage medium inside the device, directly input by a user or designer, input through another external storage medium, or transmitted through a wired or wireless communication network. May be.

원시 데이터를 기반으로 입력 데이터가 생성될 수 있다(302). 이 경우, 원시 데이터 중에서 명목형 데이터는 동일한 크기의 노드로 변환하고, 수치형 데이터는 그대로 변환 없이 유지함으로써 입력 데이터를 생성할 수도 있다. 생성된 입력 데이터는 학습 모델에 있어서 임베디드 레이어로 이용될 수 있다.Input data may be generated based on the raw data (302). In this case, input data may be generated by converting the nominal data into nodes of the same size among the original data and maintaining the numeric data without conversion. The generated input data can be used as an embedded layer in a learning model.

생성된 입력 데이터의 전부(즉, 명목형 데이터 및 수치형 데이터 모두)는 전체 데이터 학습을 위해 이용될 수 있다(304). 전체 데이터 학습은 심층 신경망, 콘볼루션 신경망, 순환 신경망, 콘볼루션 순환 신경망, 다층 퍼셉트론, 심층 신뢰 신경망 및/또는 심층 Q-네트워크 등 소정의 기계학습 알고리즘을 기반으로 수행될 수 있다.All of the generated input data (i.e., both nominal data and numeric data) may be used for full data learning (304). The entire data learning may be performed based on a predetermined machine learning algorithm, such as a deep neural network, a convolutional neural network, a recurrent neural network, a convolutional recurrent neural network, a multilayer perceptron, a deep trust neural network, and/or a deep Q-network.

한편, 생성된 입력 데이터 중에서 명목형 데이터는 명목형 데이터 학습에 추가적으로 이용될 수도 있다(306). 필요에 따라, 명목형 데이터 학습에 선행하여 입력 데이터 중에서 명목 데이터를 별도로 추출하는 과정이 더 수행될 수도 있다. 명목 데이터의 학습은 인수화 모델을 기반으로 수행될 수도 있다. 필요에 따라 명목형 데이터 학습을 위해 클래스 가중치를 더 이용하는 것도 가능하다.Meanwhile, among the generated input data, nominal data may be additionally used for learning nominal data (306). If necessary, prior to the nominal data learning, a process of separately extracting nominal data from the input data may be further performed. Learning of nominal data may be performed based on a factorization model. If necessary, it is possible to further use class weights for learning nominal data.

전체 데이터 학습에 따른 결과와 명목형 데이터 학습에 따른 결과가 획득되면 이들 결과의 결합에 의해 제1 출력 데이터가 획득된다(308).When the result of learning the full data and the result of learning the nominal data are obtained, the first output data is obtained by combining these results (308).

한편, 입력 데이터의 생성 과정 내지 제1 출력 데이터의 획득 과정(302 내지 308)과 동시에 또는 순차적으로 제2 학습이 더 수행될 수 있다(310). 제2 학습은 원시 데이터를 이용하여 수행된다. 제2 학습 역시 심층 신경망, 콘볼루션 신경망, 순환 신경망, 콘볼루션 순환 신경망, 다층 퍼셉트론, 심층 신뢰 신경망 및/또는 심층 Q-네트워크 등의 학습 알고리즘을 기반으로 수행될 수 있다. 제2 학습에 응하여 제2 출력 데이터가 획득된다(312).Meanwhile, the second learning may be further performed simultaneously or sequentially with the process of generating the input data or the process of obtaining the first output data (302 to 308) (310). The second learning is performed using raw data. The second learning may also be performed based on a learning algorithm such as a deep neural network, a convolutional neural network, a recurrent neural network, a convolutional recurrent neural network, a multilayer perceptron, a deep trust neural network, and/or a deep Q-network. In response to the second learning, second output data is obtained (312).

제1 출력 데이터 및 제2 출력 데이터가 획득되면(308, 312), 제1 출력 데이터 및 제2 출력 데이터는 조합된다(314). 구체적으로 제1 출력 데이터 및 제2 출력 데이터를 입력 값으로 하여 학습이 더 수행되고 이에 따라 새로운 학습 모델이 생성될 수 있다. 실시예에 따라서, 제1 출력 데이터 및 제2 출력 데이터의 조합 기반의 학습 모델의 생성은 스태킹 방식을 이용하여 수행되는 것일 수도 있다.When the first output data and the second output data are obtained (308, 312), the first output data and the second output data are combined (314). Specifically, learning is further performed using the first output data and the second output data as input values, and a new learning model may be generated accordingly. According to an embodiment, generation of a learning model based on a combination of the first output data and the second output data may be performed using a stacking method.

새롭게 생성된 학습 모델은, 시각적 및/또는 청각적 형태로 외부로 출력되거나 또는 저장 매체 등에 일시적 또는 비일시적으로 저장될 수 있다.The newly created learning model may be output to the outside in a visual and/or auditory form, or may be temporarily or non-temporarily stored in a storage medium.

일 실시예에 의하면, 전이 학습이 추가적으로 더 수행될 수도 있다(316). 즉, 조합에 의한 학습 모델의 생성은, 전이 학습을 더 적용하여 수행될 수도 있다. 전이 학습에 따라 생성된 학습 모델 역시 외부에 출력되거나 저장 매체 등에 저장될 수 있다.According to an embodiment, transfer learning may be additionally performed (316). That is, generation of the learning model by combination may be performed by further applying transfer learning. The learning model generated according to transfer learning may also be externally output or stored in a storage medium.

상술한 실시예에 따른 학습 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.The learning method according to the above-described embodiment may be implemented in the form of a program that can be driven by a computer device. Here, the program may include a program command, a data file, a data structure, or the like alone or in combination. The program may be designed and produced using machine code or high-level language code. The program may be specially designed to implement the above-described method, or may be implemented using various functions or definitions previously known to and available to those skilled in the computer software field. In addition, here, the computer device may be implemented including a processor or a memory that enables the function of a program to be realized, and may further include a communication device if necessary.

상술한 학습 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크나 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 및 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다. A program for implementing the above-described learning method may be recorded on a computer-readable recording medium. The computer-readable recording medium includes, for example, a magnetic disk storage medium such as a hard disk or a floppy disk, a magnetic tape, an optical recording medium such as a compact disk or a DVD, a magnetic-optical recording medium such as a floppy disk, and a ROM. , A semiconductor storage device such as RAM or flash memory, etc., may include various types of hardware devices capable of storing a specific program executed according to a call from a computer.

상술한 학습 방법 및 장치는 다양한 분야에 적용될 수 있다. 예를 들어, 상술한 학습 방법 및 장치는, 사용자의 데이터를 기반으로 사용자에게 특정한 정보나 데이터를 제공 또는 추천하기 위한 시스템에서 이용될 수 있으며, 보다 구체적으로 예를 들어, 광고, 영화, 보험, 쇼핑(일례로 인터넷 쇼핑이나 텔레비전 기반 홈쇼핑 등) 및/또는 콘텐츠 제공 서비스(일례로, 인터넷 프로토콜 텔레비전 서비스 등) 등 다양한 분야의 시스템, 장치 또는 서비스 등에 적용될 수 있다. 또한, 상술한 학습 방법 및 장치는, 기존의 데이터를 기반으로 현재 또는 미래의 상황/상태를 예측하기 위한 시스템(일례로 교통사고 데이터 기반 위험 예측 시스템 등)에도 적용 가능하다. 이외에도 상술한 학습 방법 및 장치는 명목형 데이터를 갖는 다수의 데이터 기반의 학습 시스템, 장치 및 방법(서비스 등)에도 동일하게 또는 일부 변형된 방식을 이용하여 적용 가능하다.The above-described learning method and apparatus can be applied to various fields. For example, the above-described learning method and device may be used in a system for providing or recommending specific information or data to a user based on the user's data, and more specifically, for example, advertisement, movie, insurance, It can be applied to systems, devices, or services in various fields, such as shopping (for example, Internet shopping or TV-based home shopping, etc.) and/or content providing services (for example, Internet protocol television services, etc.). Further, the above-described learning method and apparatus can be applied to a system for predicting a current or future situation/state based on existing data (for example, a risk prediction system based on traffic accident data). In addition, the above-described learning method and apparatus can be applied to a plurality of data-based learning systems, devices, and methods (services, etc.) having nominal data in the same manner or by partially modified methods.

이상 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 장치 및 방법의 여러 실시예에 대해 설명하였으나, 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 장치 및 방법의 일 실시예가 될 수 있다.As described above, various embodiments of a learning apparatus and method based on data including nominal data have been described, but the apparatus and method are not limited to the above-described embodiments. Various devices or methods that can be implemented by modifying and modifying based on the above-described embodiment by a person having ordinary knowledge in the relevant technical field may also be examples of learning devices and methods based on data including the above-described nominal data. have. For example, the described techniques are performed in an order different from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components or Even if it is replaced or replaced by an equivalent, it may be an embodiment of a learning apparatus and method based on data including the above-described nominal data.

1: 원시 데이터 2: 학습 모델
3: 전이학습용 매개변수 10: 학습 장치
20: 저장부 30: 입력부
32: 출력부 100: 학습 처리부
110: 데이터 처리부 120: 조합학습부
121: 제1 학습부 122: 제2 학습부
123: 조합부 130: 전이학습부
140: 결과출력부
1: raw data 2: learning model
3: parameter for transfer learning 10: learning device
20: storage unit 30: input unit
32: output unit 100: learning processing unit
110: data processing unit 120: combination learning unit
121: first learning unit 122: second learning unit
123: union unit 130: transfer learning unit
140: result output section

Claims (13)

원시 데이터로부터 제1 입력 데이터 및 제2 입력 데이터 획득하되, 상기 제1 입력 데이터 및 상기 제2 입력 데이터는 서로 상이한 형태의 데이터인 데이터 처리부;
상기 제1 입력 데이터 및 상기 제2 입력 데이터 양자를 이용하여 학습을 수행하여 제1 출력 데이터를 획득하는 제1 학습부;
상기 원시 데이터를 이용하여 학습을 수행하여 제2 출력 데이터를 획득하는 제2 학습부; 및
상기 제1 출력 데이터 및 상기 제2 출력 데이터를 이용하여 학습을 수행하는 조합부;를 더 포함하는 학습 장치.
A data processing unit obtaining first input data and second input data from raw data, wherein the first input data and the second input data are data of different types;
A first learning unit that acquires first output data by performing learning using both the first input data and the second input data;
A second learning unit that acquires second output data by performing learning using the raw data; And
A learning apparatus further comprising a combination unit for performing learning using the first output data and the second output data.
제1항에 있어서,
상기 원시 데이터는, 상기 제2 입력 데이터에 대응하는 명목형 데이터를 포함하는 학습 장치.
The method of claim 1,
The raw data includes nominal data corresponding to the second input data.
제2항에 있어서,
상기 원시 데이터는, 상기 제1 입력 데이터에 대응하는 수치형 데이터를 더 포함하는 학습 장치.
The method of claim 2,
The learning apparatus further includes numeric data corresponding to the first input data as the raw data.
제3항에 있어서,
상기 데이터처리부는, 상기 명목형 데이터를 미리 정의된 크기의 노드로 변환함으로써 상기 제2 입력 데이터를 획득하는 학습 장치.
The method of claim 3,
The data processing unit acquires the second input data by converting the nominal data into nodes of a predefined size.
제1항에 있어서,
상기 제1 학습부는,
상기 제1 입력 데이터 및 상기 제2 입력 데이터를 이용하여 학습을 수행하는 전체 데이터 학습부; 및
상기 제2 입력 데이터만을 이용하여 학습을 수행하는 일부 데이터 학습부;를 포함하는 학습 장치.
The method of claim 1,
The first learning unit,
An entire data learning unit that performs learning using the first input data and the second input data; And
And a partial data learning unit that performs learning using only the second input data.
제1항에 있어서,
상기 조합부와 연결되고 이미 학습된 모델의 정보를 기반으로 학습을 더 수행하는 전이 학습부;를 더 포함하는 학습 장치.
The method of claim 1,
The learning apparatus further comprises a transfer learning unit that is connected to the combination unit and further performs learning based on information on the model that has already been learned.
제1항에 있어서,
상기 제1 학습부, 제2 학습부 및 조합부 중 적어도 하나는,
심층 신경망(DNN), 콘볼루션 신경망(CNN), 순환 신경망(RNN), 콘볼루션 순환 신경망(CRNN), 다층 퍼셉트론(MLN), 심층 신뢰 신경망(DBN) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 기반으로 상기 학습을 수행하는 학습 장치.
The method of claim 1,
At least one of the first learning unit, the second learning unit, and the combination unit,
Deep Neural Network (DNN), Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Convolutional Recurrent Neural Network (CRNN), Multilayer Perceptron (MLN), Deep Trust Neural Network (DBN) and Deep Q-Networks A learning device that performs the learning based on at least one of.
원시 데이터로부터 제1 입력 데이터 및 제2 입력 데이터 획득하되, 상기 제1 입력 데이터 및 상기 제2 입력 데이터는 서로 상이한 형태의 데이터인 단계;
상기 제1 입력 데이터 및 상기 제2 입력 데이터 양자를 이용하여 학습을 수행하여 제1 출력 데이터를 획득하는 단계;
상기 원시 데이터를 이용하여 학습을 수행하여 제2 출력 데이터를 획득하는 단계; 및
상기 제1 출력 데이터 및 상기 제2 출력 데이터를 이용하여 학습을 수행하는 단계;를 더 포함하는 학습 방법.
Obtaining first input data and second input data from raw data, wherein the first input data and the second input data are different types of data;
Acquiring first output data by performing learning using both the first input data and the second input data;
Acquiring second output data by performing learning using the raw data; And
The learning method further comprises: performing learning using the first output data and the second output data.
제8항에 있어서,
상기 원시 데이터는, 상기 제2 입력 데이터에 대응하는 명목형 데이터 및 상기 제1 입력 데이터에 대응하는 수치형 데이터를 포함하는 학습 방법.
The method of claim 8,
The raw data includes nominal data corresponding to the second input data and numeric data corresponding to the first input data.
제9항에 있어서,
상기 원시 데이터로부터 제1 입력 데이터 및 제2 입력 데이터 획득하는 단계는,
상기 명목형 데이터를 미리 정의된 크기의 노드로 변환함으로써 상기 제2 입력 데이터를 획득하는 단계;를 포함하는 학습 방법.
The method of claim 9,
Obtaining first input data and second input data from the raw data,
And obtaining the second input data by converting the nominal data into nodes of a predefined size.
제8항에 있어서,
상기 제1 입력 데이터 및 상기 제2 입력 데이터 양자를 이용하여 학습을 수행하여 제1 출력 데이터를 획득하는 단계는,
상기 제1 입력 데이터 및 상기 제2 입력 데이터를 이용하여 학습을 수행하는 단계; 및
상기 제2 입력 데이터만을 이용하여 학습을 수행하는 단계; 중 적어도 하나를 포함하는 학습 방법.
The method of claim 8,
The step of obtaining first output data by performing learning using both the first input data and the second input data,
Performing learning using the first input data and the second input data; And
Performing learning using only the second input data; Learning method comprising at least one of.
제8항에 있어서,
이미 학습된 모델의 정보를 기반으로 학습을 더 수행하는 단계;를 더 포함하는 학습 방법.
The method of claim 8,
Learning method further comprising; further performing learning based on information of the model that has already been learned.
제8항에 있어서,
상기 학습을 수행하는 것은, 심층 신경망(DNN), 콘볼루션 신경망(CNN), 순환 신경망(RNN), 콘볼루션 순환 신경망(CRNN), 다층 퍼셉트론(MLN), 심층 신뢰 신경망(DBN) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 기반으로 상기 학습을 수행하는 것을 포함하는 학습 방법.
The method of claim 8,
The learning is performed by a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a convolutional recurrent neural network (CRNN), a multilayer perceptron (MLN), a deep trust neural network (DBN), and a deep Q- A learning method comprising performing the learning based on at least one of Deep Q-Networks.
KR1020200002674A 2019-02-14 2020-01-08 Method and apparatus for learning based on data including nominal data KR102371487B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190017244 2019-02-14
KR1020190017244 2019-02-14

Publications (2)

Publication Number Publication Date
KR20200099966A true KR20200099966A (en) 2020-08-25
KR102371487B1 KR102371487B1 (en) 2022-03-11

Family

ID=72292850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200002674A KR102371487B1 (en) 2019-02-14 2020-01-08 Method and apparatus for learning based on data including nominal data

Country Status (1)

Country Link
KR (1) KR102371487B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328844A (en) * 2020-11-18 2021-02-05 恩亿科(北京)数据科技有限公司 Method and system for processing multi-type data
KR20220153393A (en) * 2021-05-11 2022-11-18 고려대학교 산학협력단 Appratus and method for predicting of energy generation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150042140A (en) * 2013-10-10 2015-04-20 삼성전자주식회사 Method of generating ultrasonic image and Ultrasonic diagnosis apparatus
KR20150072471A (en) 2013-12-19 2015-06-30 건국대학교 산학협력단 Traffic flow prediction system using spatiotemporal stochastic model
KR20170065898A (en) 2015-12-04 2017-06-14 한국교통연구원 Method for predicting possibility of a traffic accident occurrence on road and device for the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150042140A (en) * 2013-10-10 2015-04-20 삼성전자주식회사 Method of generating ultrasonic image and Ultrasonic diagnosis apparatus
KR20150072471A (en) 2013-12-19 2015-06-30 건국대학교 산학협력단 Traffic flow prediction system using spatiotemporal stochastic model
KR20170065898A (en) 2015-12-04 2017-06-14 한국교통연구원 Method for predicting possibility of a traffic accident occurrence on road and device for the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328844A (en) * 2020-11-18 2021-02-05 恩亿科(北京)数据科技有限公司 Method and system for processing multi-type data
KR20220153393A (en) * 2021-05-11 2022-11-18 고려대학교 산학협력단 Appratus and method for predicting of energy generation

Also Published As

Publication number Publication date
KR102371487B1 (en) 2022-03-11

Similar Documents

Publication Publication Date Title
US11907675B2 (en) Generating training datasets for training neural networks
US11521110B2 (en) Learning apparatus, learning method, and non-transitory computer readable storage medium
CN116720004B (en) Recommendation reason generation method, device, equipment and storage medium
CN113066484A (en) System and method for distributed training of neural network models
CN108604311B (en) Enhanced neural network with hierarchical external memory
WO2020244475A1 (en) Method and apparatus for language sequence labeling, storage medium, and computing device
CN110234018B (en) Multimedia content description generation method, training method, device, equipment and medium
CN110569359B (en) Training and application method and device of recognition model, computing equipment and storage medium
CN113642604B (en) Audio-video auxiliary touch signal reconstruction method based on cloud edge cooperation
CN114880441B (en) Visual content generation method, device, system, equipment and medium
KR20200052453A (en) Apparatus and method for training deep learning model
KR102371487B1 (en) Method and apparatus for learning based on data including nominal data
CN115269786B (en) Interpretable false text detection method and device, storage medium and terminal
CN114443899A (en) Video classification method, device, equipment and medium
CN114510939A (en) Entity relationship extraction method and device, electronic equipment and storage medium
US11876986B2 (en) Hierarchical video encoders
WO2022156434A1 (en) Method and apparatus for generating text
JP7337172B2 (en) Voice packet recommendation method, device, electronic device and program
CN117836765A (en) Click prediction based on multimodal hypergraph
CN115130591A (en) Cross supervision-based multi-mode data classification method and device
CN114065771A (en) Pre-training language processing method and device
CN116861363A (en) Multi-mode feature processing method and device, storage medium and electronic equipment
CN116956117A (en) Method, device, equipment, storage medium and program product for identifying label
KR102609946B1 (en) Appratus and method for processing of program code
JP2020052935A (en) Method of creating learned model, method of classifying data, computer and program

Legal Events

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