[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20230080824A - System and method for continuous learning - Google Patents

System and method for continuous learning Download PDF

Info

Publication number
KR20230080824A
KR20230080824A KR1020210168322A KR20210168322A KR20230080824A KR 20230080824 A KR20230080824 A KR 20230080824A KR 1020210168322 A KR1020210168322 A KR 1020210168322A KR 20210168322 A KR20210168322 A KR 20210168322A KR 20230080824 A KR20230080824 A KR 20230080824A
Authority
KR
South Korea
Prior art keywords
data
term memory
answer
sentence
fake
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020210168322A
Other languages
Korean (ko)
Other versions
KR102772901B1 (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 KR1020210168322A priority Critical patent/KR102772901B1/en
Publication of KR20230080824A publication Critical patent/KR20230080824A/en
Application granted granted Critical
Publication of KR102772901B1 publication Critical patent/KR102772901B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Educational Technology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Educational Administration (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

연속 학습 시스템이 답변 생성 모델을 연속 학습하는 방법으로서, 학습 대상 도메인의 복수의 데이터들로부터 각각 질의 문장과 답변 문장을 추출하고, 학습 대상 도메인에 앞서 답변 생성 모델을 학습한 후 단기 메모리에 저장된 학습된 도메인들 각각의 복수의 데이터들로부터 복수의 샘플링 데이터를 추출하고, 각 샘플링 데이터에서 샘플 질의 문장과 샘플 답변 문장을 추출한다. 그리고 단기 메모리에 저장된 학습된 도메인의 복수의 데이터들 중 일부 데이터이며 장기 메모리에 저장된 데이터들을 이용하여 생성한 가짜 데이터로부터 가짜 질의 문장과 가짜 답변 문장을 추출하고, 질의 문장, 샘플 질의 문장 및 가짜 질의 문장을 입력하면, 답변 문장, 샘플 답변 문장 및 가짜 답변 문장을 출력하도록 답변 생성 모델을 학습시킨다.As a method for a continuous learning system to continuously learn an answer generation model, a query sentence and an answer sentence are extracted from a plurality of data of a learning target domain, respectively, and an answer generation model is learned prior to the learning target domain, followed by learning stored in short-term memory. A plurality of sampling data is extracted from a plurality of pieces of data of each of the domains, and a sample query sentence and a sample answer sentence are extracted from each sampled data. In addition, fake query sentences and fake answer sentences are extracted from fake data generated using data stored in long-term memory, which is part of a plurality of data of the learned domain stored in short-term memory, and the query sentence, sample query sentence, and fake query When a sentence is input, an answer generation model is trained to output answer sentences, sample reply sentences, and fake reply sentences.

Description

연속 학습 시스템 및 이를 이용한 연속 학습 방법{System and method for continuous learning}Continuous learning system and continuous learning method using the same {System and method for continuous learning}

본 발명은 다중 도메인 답변 생성 모델에서 발생하는 파괴적 망각 문제를 해결하기 위한 연속 학습 시스템 및 이를 이용한 연속 학습 방법에 관한 것이다.The present invention relates to a continuous learning system for solving a destructive forgetting problem occurring in a multi-domain answer generation model and a continuous learning method using the same.

답변 생성기는 다양한 도메인의 데이터로 답변 생성 모듈을 학습시키고, 어느 하나의 도메인에 대한 질의가 입력되면, 질의에 대한 답변을 생성하여 제공한다. 이러한 종래의 답변 생성기를 이용한 답변 생성 방식은, 새로운 도메인이 추가될 때마다 기존에 답변 생성 모델을 학습시킨 도메인의 데이터와 새로운 도메인에 대한 데이터를 이용하여 답변 생성 모델을 학습시켜야 한다.The answer generator trains the answer generation module with data from various domains, and when a query for one domain is input, an answer to the query is generated and provided. In such a conventional answer generation method using an answer generator, whenever a new domain is added, an answer generation model must be trained using data of a domain for which an existing answer generation model has been trained and data on a new domain.

이와 같은 비효율적 학습을 회피하면서 다중 도메인에 대한 질의가 입력되더라도 답변 생성기가 답변을 생성할 수 있도록, 복수의 도메인들의 데이터로 답변 생성 모델을 순차적으로 학습시키는 접근 방식들이 연구되고 있다. 순차적으로 학습시키는 방식 중에는 메모리-리플레이 기반의 연속 학습 기법이 있다.Approaches for sequentially learning an answer generation model with data from a plurality of domains are being studied so that the answer generator can generate an answer even if a query for multiple domains is input while avoiding such inefficient learning. Among the sequential learning methods, there is a memory-replay-based continuous learning technique.

답변 생성 모델을 기 학습시킨 기존 도메인에 대한 답변 성능이 저하되는 파괴적 망각 현상을 완화하기 위하여, 메모리-리플레이 기반의 연속 학습 기법은 답변 생성 모델을 새로운 도메인으로 학습시킬 때 기존 도메인의 데이터의 일부를 이용하여 같이 재학습시킨다. 또한, 데이터 생성기가 만든 기존 도메인의 데이터와 유사한 데이터로 함께 답변 생성 모델을 학습시키기도 한다. In order to mitigate the destructive forgetting phenomenon in which the performance of answers to the existing domain in which the answer generation model has been previously trained is reduced, the memory-replay-based continuous learning technique uses a part of the data of the existing domain when the answer generation model is trained in a new domain. relearn together. In addition, the answer generation model is trained with data similar to the data of the existing domain created by the data generator.

이때, 답변 생성 모델을 새로운 도메인으로 학습시키면서 기존 도메인의 데이터의 일부를 이용하여 재학습시키기 위해서는, 기존 도메인의 데이터의 일부를 저장하기 위한 메모리 모듈이 구비되어야 한다. 따라서, 답변 생성 모델을 학습시킨 도메인의 수에 비례하여 메모리 모듈의 크기가 계속 증가하는 문제점이 발생한다. At this time, in order to re-learn the answer generation model using a part of the data of the old domain while learning the new domain, a memory module for storing part of the data of the old domain must be provided. Therefore, a problem arises in that the size of the memory module continues to increase in proportion to the number of domains in which the answer generation model is trained.

또한, 데이터 생성기가 만든 가짜 데이터로 답변 생성 모델을 학습시키는 방법을 이용할 경우, 생성된 가짜 데이터의 품질에 따라 답변 생성 모델의 성능이 좌우되는 문제점이 발생한다.In addition, when a method of training an answer generation model with fake data created by a data generator is used, the performance of the answer generation model depends on the quality of generated fake data.

따라서, 본 발명은 다중 도메인 답변 생성기의 학습을 위한 인간의 기억 시스템을 모방하는 연속 학습 시스템을 이용하여, 답변 생성기가 여러 도메인을 학습할 때 기존 도메인에 대한 성능이 저하되는 파괴적 망각 현상을 줄일 수 있는 연속 학습 시스템 및 이를 이용한 연속 학습 방법 제공한다.Therefore, the present invention uses a continuous learning system that mimics a human memory system for learning a multi-domain answer generator, so that when an answer generator learns multiple domains, the destructive forgetting phenomenon in which the performance of the existing domain is lowered can be reduced. A continuous learning system and a continuous learning method using the same are provided.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 연속 학습 시스템이 답변 생성 모델을 연속 학습하는 방법으로서, As a method for continuously learning an answer generation model by a continuous learning system, which is one feature of the present invention for achieving the technical problem of the present invention,

학습 대상 도메인의 복수의 데이터들로부터 각각 질의 문장과 답변 문장을 추출하는 단계, 상기 학습 대상 도메인에 앞서 상기 답변 생성 모델을 학습한 후 단기 메모리에 저장된 학습된 도메인들 각각의 복수의 데이터들로부터 복수의 샘플링 데이터를 추출하고, 각 샘플링 데이터에서 샘플 질의 문장과 샘플 답변 문장을 추출하는 단계, 상기 단기 메모리에 저장된 학습된 도메인의 복수의 데이터들 중 일부 데이터이며 장기 메모리에 저장된 데이터들을 이용하여 생성한 가짜 데이터로부터 가짜 질의 문장과 가짜 답변 문장을 추출하는 단계, 그리고 상기 질의 문장, 샘플 질의 문장 및 가짜 질의 문장을 입력하면, 상기 답변 문장, 상기 샘플 답변 문장 및 상기 가짜 답변 문장을 출력하도록 상기 답변 생성 모델을 학습시키는 단계를 포함한다.Extracting a query sentence and an answer sentence from a plurality of data of a learning target domain, respectively, from a plurality of data of each of the learned domains stored in a short-term memory after learning the answer generation model prior to the learning target domain Extracting sampling data of and extracting sample query sentences and sample answer sentences from each sampling data, which is part of a plurality of data of the learned domain stored in the short-term memory and generated using data stored in the long-term memory Extracting fake query sentences and fake answer sentences from fake data, and generating the answer so that the answer sentence, the sample answer sentence, and the fake answer sentence are output when the query sentence, the sample query sentence, and the fake query sentence are input. It involves training the model.

상기 단기 메모리에 저장된 각 데이터는, 각 데이터가 매핑되어 있는 도메인의 도메인 정보가 삽입된 도메인 레이블, 상기 답변 생성 모델을 학습시킨 횟수에 대한 반복 횟수 레이블, 그리고 상기 단기 메모리에 저장된 저장 시점인 시간 레이블을 포함할 수 있다.Each data stored in the short-term memory includes a domain label into which domain information of the domain to which each data is mapped is inserted, an iteration number label for the number of times the answer generation model is trained, and a time label that is a storage point stored in the short-term memory. can include

상기 샘플 답변 문장을 추출하는 단계는, 상기 학습 대상 도메인의 각 데이터와 상기 단기 메모리에 저장된 각 데이터의 유사도를 계산하는 단계, 그리고 상기 단기 메모리에 저장된 데이터들 중 계산한 유사도가 미리 설정한 임계값 이상인 데이터의 상기 반복 횟수 레이블에 삽입된 횟수를 하나 증가시키는 단계를 포함할 수 있다.The step of extracting the sample answer sentence may include calculating the similarity between each data of the learning target domain and each data stored in the short-term memory, and the calculated similarity among the data stored in the short-term memory is a preset threshold value. and increasing the number of insertions in the repetition count label of data equal to or greater than one by one.

상기 샘플 답변 문장을 추출하는 단계는, 상기 단기 메모리에 저장된 각 데이터의 반복 횟수 레이블을 기초로, 각 데이터의 횟수가 미리 설정된 임계값 이상인 적어도 하나의 데이터를 확인하는 단계, 그리고 상기 임계값 이상의 횟수로 반복 횟수 레이블이 삽입된 데이터는 상기 단기 메모리에서 상기 장기 메모리로 이동시키는 단계를 포함할 수 있다.The extracting of the sample answer sentences may include: identifying at least one piece of data whose number of times each data is equal to or greater than a predetermined threshold based on the label of the number of repetitions of each data stored in the short-term memory; The method may include moving data to which the repetition count label is inserted from the short-term memory to the long-term memory.

상기 샘플 답변 문장을 추출하는 단계는, 상기 단기 메모리에 저장된 각 데이터의 시간 레이블을 확인하는 단계, 그리고 상기 시간 레이블에 삽입된 시간이 미리 설정한 임계 시간을 초과한 데이터는 상기 단기 메모리에서 삭제하는 단계를 포함할 수 있다.The extracting of the sample response sentences may include checking time labels of each data stored in the short-term memory, and deleting data whose time inserted into the time labels exceeds a predetermined threshold time from the short-term memory. steps may be included.

상기 가짜 답변 문장을 추출하는 단계는, 상기 장기 메모리에 저장된 데이터들을 이용하여 가짜 데이터 생성 모델을 학습시키는 단계를 더 포함할 수 있다.The extracting of the fake answer sentence may further include training a fake data generation model using data stored in the long-term memory.

상기 가짜 데이터 생성 모델을 학습시키는 단계 이후에, 상기 가짜 데이터 생성 모델을 학습시킨 데이터들을 상기 장기 메모리로부터 삭제하는 단계를 포함할 수 있다.After the step of learning the fake data generation model, deleting the data for which the fake data generation model has been trained from the long-term memory.

상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 질의 문장이 입력되면 상기 질의 문장에 대한 답변 문장을 생성하는 답변 생성 모델을 학습시키는 연속 학습 시스템으로서,As another feature of the present invention for achieving the technical problem of the present invention, a continuous learning system for learning an answer generation model that generates an answer sentence to the query sentence when a query sentence is input,

적어도 하나의 명령어를 포함하고, 상기 답변 생성 모델을 학습시킨 학습된 도메인들의 복수의 데이터들을 저장하는 단기 메모리, 상기 단기 메모리에 저장된 복수의 데이터들 중 상기 답변 생성 모델을 미리 설정한 횟수 이상 학습시킨 일부 데이터들을 저장되는 장기 메모리, 그리고 프로세서를 포함하고, 상기 프로세서는, 학습 대상 도메인의 데이터들로부터 각각 각각 질의 문장과 답변 문장을 추출하고, 상기 단기 메모리에 저장된 복수의 데이터들로부터 샘플링 데이터를 추출하여 샘플 질의 문장과 샘플 답변 문장을 추출하며, 상기 장기 메모리에 저장된 일부 데이터들을 기초로 생성된 가짜 데이터로부터 가짜 질의 문장과 가짜 답변 문장을 추출하고, 상기 질의 문장, 샘플 질의 문장, 가짜 질의 문장이 입력되면 상기 답변 문장, 샘플 답변 문장, 가짜 답변 문장이 출력되도록 상기 답변 생성 모델을 학습시킨다.A short-term memory containing at least one command and storing a plurality of data of learned domains for which the answer generation model has been trained, and a short-term memory for storing a plurality of data stored in the short-term memory, wherein the answer generation model has been trained a preset number of times or more. It includes a long-term memory storing some data, and a processor, wherein the processor extracts a query sentence and an answer sentence from data of a learning target domain, respectively, and extracts sampling data from a plurality of data stored in the short-term memory. extracts sample query sentences and sample answer sentences, and extracts fake query sentences and fake answer sentences from fake data generated based on some data stored in the long-term memory, and the query sentences, sample query sentences, and fake query sentences When inputted, the answer generation model is trained to output the answer sentence, the sample answer sentence, and the fake answer sentence.

상기 프로세서는, 상기 학습 대상 도메인의 각 데이터와 상기 단기 메모리에 저장된 각 데이터의 유사도를 계산하고, 상기 계산한 유사도가 미리 설정한 임계값 이상인 데이터의 반복 횟수 레이블에 삽입된 횟수를 하나 증가시킬 수 있다.The processor may calculate a similarity between each data of the learning target domain and each data stored in the short-term memory, and increase the number of data inserted into the repetition count label of data having a similarity equal to or greater than a preset threshold by one. there is.

상기 프로세서는, 상기 단기 메모리에 저장된 각 데이터의 반복 횟수 레이블에 삽입된 횟수를 확인하고, 횟수가 미리 설정한 임계값 이상인 적어도 하나의 데이터를 상기 장기 메모리로 이동시킬 수 있다.The processor may check the number of insertions of each data stored in the short-term memory in the repetition count label, and move at least one data whose number of times is equal to or greater than a preset threshold to the long-term memory.

상기 프로세서는, 상기 단기 메모리에 저장된 각 데이터의 시간 레이블을 확인하고, 상기 시간 레이블에 삽입된 시간이 임계 시간을 초과한 데이터는 상기 단기 메모리에서 삭제할 수 있다.The processor may check a time label of each data stored in the short-term memory, and delete data for which a time inserted into the time label exceeds a threshold time from the short-term memory.

상기 프로세서는, 상기 장기 메모리에 저장된 데이터들을 이용하여 가짜 데이터 생성 모델을 학습시킬 수 있다.The processor may learn a fake data generation model using data stored in the long-term memory.

본 발명에 따르면, 인간의 기억 시스템을 모방하여 답변 생성 모델이 학습한 도메인의 수에 비례하여 메모리 모듈의 크기가 계속하여 증가하는 문제점을 해결할 수 있다.According to the present invention, it is possible to solve the problem that the size of the memory module continuously increases in proportion to the number of domains learned by the answer generation model by imitating the human memory system.

또한, 장기 메모리에 저장된 학습된 도메인의 데이터들을 기초로 가짜 데이터를 생성하므로, 가짜 데이터의 품질에 따라 모델의 성능이 좌우되는 문제점을 회피할 수 있다.In addition, since fake data is generated based on the data of the learned domain stored in the long-term memory, it is possible to avoid a problem in which the performance of the model depends on the quality of fake data.

도 1은 본 발명의 실시예에 따른 연속 학습 시스템의 구조도이다.
도 2는 본 발명의 실시예에 따른 가짜 데이터 생성기의 예시도이다.
도 3은 본 발명의 실시예에 따른 연속 학습 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 메모리 관리 방법에 대한 흐름도이다.
도 5는 본 발명의 실시예에 따른 컴퓨팅 장치의 구조도이다.
1 is a structural diagram of a continuous learning system according to an embodiment of the present invention.
2 is an exemplary diagram of a fake data generator according to an embodiment of the present invention.
3 is a flowchart of a continuous learning method according to an embodiment of the present invention.
4 is a flowchart of a memory management method according to an embodiment of the present invention.
5 is a structural diagram of a computing device according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 연속 학습 시스템 및 이를 이용한 연속 학습 방법에 대해 상세히 설명한다. Hereinafter, a continuous learning system and a continuous learning method using the same according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시예에 따른 연속 학습 시스템의 구조도이다.1 is a structural diagram of a continuous learning system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 연속 학습 시스템(100)은 답변 생성기(110), 단기 메모리(120), 장기 메모리(130), 가짜 데이터 생성기(140), 그리고 제어기(150)를 포함한다.As shown in FIG. 1 , the continuous learning system 100 includes an answer generator 110, a short-term memory 120, a long-term memory 130, a fake data generator 140, and a controller 150.

답변 생성기(110)는 질의가 포함된 발화 음성이 입력되면, 발화 음성으로부터 질의를 추출하고, 추출한 질의에 대한 답변을 생성하여 제공한다. 이를 위해, 답변 생성기(110)는 질의가 입력되면 해당 질의에 대한 답변을 생성하는 답변 생성 모델(도면 미도시)을 포함한다. When a spoken voice including a question is input, the answer generator 110 extracts a question from the spoken voice and generates and provides an answer to the extracted question. To this end, the answer generator 110 includes an answer generation model (not shown) that generates an answer to a corresponding query when a query is input.

여기서, 답변 생성 모델이 질의에 대한 답변을 생성할 수 있도록, 답변 생성기(110)는 도메인 데이터를 이용하여 답변 생성 모델을 학습시킨다. 즉, 답변 생성기(110)는 학습시킬 도메인(이하, '학습 대상 도메인'이라 지칭함)의 질의에 해당하는 문장(이하, '질의 문장'이라 지칭함)과 질의에 대한 답변(이하, '답변 문장'이라 지칭함)으로 구성된 데이터가 입력되면, 질의 문장이 답변 생성 모델로 입력하면 답변 문장이 출력되도록 답변 생성 모델을 학습시킨다.Here, the answer generator 110 trains the answer generation model using domain data so that the answer generation model can generate an answer to the query. That is, the answer generator 110 includes a sentence (hereinafter referred to as a 'question sentence') corresponding to a query of a domain to be learned (hereinafter referred to as 'learning target domain') and an answer to the query (hereinafter referred to as 'answer sentence'). ) is input, the answer generation model is trained to output an answer sentence when a query sentence is input to the answer generation model.

이때, 답변 생성기(110)는 샘플링 데이터를 단기 메모리(120)로부터 수신하여, 학습 대상 도메인으로 답변 생성 모델을 학습시킬 때 함께 이용한다. 또한, 답변 생성기(110)는 이후 설명할 가짜 데이터 생성기(140)에서 생성한 가짜 데이터도 수신하여, 학습 대상 도메인으로 답변 생성 모델을 학습시킬 때 함께 이용한다.At this time, the answer generator 110 receives the sampling data from the short-term memory 120 and uses it together when learning the answer generation model for the learning target domain. In addition, the answer generator 110 also receives fake data generated by the fake data generator 140, which will be described later, and uses it together when training an answer generation model with a learning target domain.

여기서, 샘플링 데이터는, 학습 대상 도메인으로 답변 생성 모델을 학습시키기 앞서, 답변 생성 모델을 학습시킨 도메인(이하, '학습된 도메인'이라 지칭함)의 데이터 중 일부 데이터로, 단기 메모리(120)에 저장된 학습된 도메인의 데이터들에서 일정 수 샘플링한 데이터를 의미한다. 그리고, 가짜 데이터는, 단기 메모리(120)에서 장기 메모리(130)로 이동된 일부 학습된 도메인의 데이터들을 기초로 생성된 가짜 질의 문장-응답 문장으로 구성된 데이터를 의미한다. 샘플링 데이터와 가짜 데이터는 이후 상세히 설명한다.Here, the sampling data is some data of data of a domain (hereinafter referred to as a 'learned domain') in which an answer generation model is trained prior to training an answer generation model in a learning target domain, and is stored in the short-term memory 120. It means data sampled by a certain number from the data of the learned domain. And, the fake data means data composed of fake query sentence-response sentences generated based on some learned domain data moved from the short-term memory 120 to the long-term memory 130. Sampling data and fake data will be described in detail later.

답변 생성기(110)는 학습 대상 도메인의 데이터로 답변 생성 모델을 학습시킨 후, 학습 대상 도메인의 데이터를 단기 메모리(120)에 저장한다. The answer generator 110 trains the answer generation model with the data of the learning target domain and then stores the data of the learning target domain in the short-term memory 120 .

단기 메모리(120)는 답변 생성기(110)가 답변 생성 모델을 학습시킨 학습 대상 도메인의 데이터를 저장한다. 이때 데이터는 질의 문장과 답변 문장을 이어 붙인 하나의 문장으로 구성된다. The short-term memory 120 stores data of a target domain for which the answer generator 110 has trained an answer generation model. At this time, the data consists of a single sentence in which a question sentence and an answer sentence are connected.

그리고, 데이터는 질의 문장과 답변 문장을 구분하기 위해, 질의 문장과 답변 문장 사이에 구분자를 포함한다. 구분자는 다양한 문자, 기호, 특수기호 등이 사용될 수 있으며, 본 발명의 실시예에서는 어느 하나의 형태로 한정하지 않는다.In addition, the data includes a delimiter between the question sentence and the answer sentence in order to distinguish the question sentence from the answer sentence. Dividers may use various characters, symbols, special symbols, etc., and are not limited to any one form in the embodiment of the present invention.

또한, 데이터는 질의 문장이 어떤 도메인에서의 질의인지 나타내기 위해, 도메인 레이블을 포함한다. 또한, 데이터는 단기 메모리(120)에 저장된 이후 답변 생성기(110)가 새로 몇 개의 도메인을 학습했는지를 파악할 수 있도록 시간 레이블을 포함한다. 이를 위해, 답변 생성 모델을 학습시킨 후 답변 생성기(110)가 데이터를 단기 메모리(120)에 저장할 때, 저장 시점을 시간 레이블로 포함시키는 것을 예로 하여 설명한다.In addition, the data includes a domain label to indicate which domain the query sentence belongs to. In addition, since the data is stored in the short-term memory 120, the answer generator 110 includes time labels so that it can determine how many new domains have been learned. To this end, when the answer generator 110 stores data in the short-term memory 120 after learning the answer generation model, an example of including a storage time point as a time label will be described.

데이터는 반복 횟수 레이블을 포함한다. 반복 횟수 레이블은 단기 메모리(120)에 저장된 후 답변 생성기(110)가 답변 생성 모델을 새로 학습시키는 새로운 도메인의 데이터 중에서 학습된 도메인의 데이터와의 유사도가 임계값 이상인 데이터가 존재하는 도메인이 몇 회 등장했는지를 나타내는 정보이다. 여기서 유사도는 제어기(150)에서 계산하며, 두 문장의 유사도를 계산하는 방법은 다양한 방법으로 실행될 수 있으므로 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.The data includes iteration count labels. The iteration count label is stored in the short-term memory 120, and then among the data of the new domain for which the answer generator 110 trains the answer generation model anew, how many times does the domain in which data having a similarity with the learned domain data exceed a threshold value exist? This is information indicating whether or not it has appeared. Here, the degree of similarity is calculated by the controller 150, and since the method of calculating the degree of similarity between two sentences can be executed in various ways, the embodiment of the present invention is not limited to any one method.

또한, 단기 메모리(120)는 제어기(150)의 제어에 따라 저장된 데이터를 삭제하거나, 일부 데이터는 장기 메모리(130)로 전달한다. In addition, the short-term memory 120 deletes stored data or transfers some data to the long-term memory 130 under the control of the controller 150 .

장기 메모리(130)는 단기 메모리(120)로부터 학습된 도메인의 데이터를 전달받아 저장한다. 이때, 인간의 장기기억에 저장된 정보의 저장 시간이 아주 길다는 것에서 착안하되, 답변 생성 모델이 학습한 도메인의 수에 비례하여 메모리의 크기가 계속하여 증가하는 문제점을 해결하기 위하여, 본 발명의 실시예에서는 장기 메모리(130)에 학습된 도메인의 데이터를 계속 저장하지 않는다. The long-term memory 130 receives and stores the data of the learned domain from the short-term memory 120 . At this time, while focusing on the fact that the storage time of information stored in human long-term memory is very long, in order to solve the problem that the size of memory continues to increase in proportion to the number of domains learned by the answer generation model, the implementation of the present invention In the example, long-term memory 130 does not continuously store the data of the learned domain.

즉, 장기 메모리(130)의 데이터와 유사한 데이터를 생성할 수 있는 가짜 데이터 생성기(140)를 장기 메모리(130)에 저장된 데이터로 학습시킨 뒤, 장기 메모리의 데이터를 삭제한다. 이를 통해, 장기 메모리(130)의 데이터에 대한 정보는 가짜 데이터 생성기(140)가 유지하되, 메모리의 크기가 계속하여 증가하지 않도록 한다.That is, after training the fake data generator 140 capable of generating data similar to the data of the long-term memory 130 with the data stored in the long-term memory 130, the data of the long-term memory is deleted. Through this, information about the data of the long-term memory 130 is maintained by the fake data generator 140, but the size of the memory does not continuously increase.

가짜 데이터 생성기(140)는 장기 메모리(130)에 저장된 데이터로 데이터 생성 모델을 학습시켜 가짜 질의 문장-가짜 응답 문장으로 구성된 가짜 데이터를 생성한다. 가짜 데이터 생성기(140)는 생성한 가짜 데이터를 답변 생성기(110)로 제공하여, 답변 생성기(110)가 학습 대상 도메인의 데이터로 답변 생성 모델을 학습시킬 때 함께 사용하도록 제공한다.The fake data generator 140 trains a data generation model with the data stored in the long-term memory 130 to generate fake data composed of fake query sentences and fake response sentences. The fake data generator 140 provides the generated fake data to the answer generator 110 to be used together when the answer generator 110 trains an answer generation model with data of a learning target domain.

이때, 가짜 데이터 생성기(140)는 장기 메모리(130)에 저장되어 있는 학습된 도메인의 데이터를 기초로 가짜 데이터를 생성하도록 가짜 데이터 생성 모델을 학습시키기 때문에, 학습된 데이터와 유사한 가짜 데이터를 생성할 수 있다.At this time, since the fake data generator 140 trains a fake data generation model to generate fake data based on the data of the learned domain stored in the long-term memory 130, fake data similar to the learned data can be generated. can

제어기(140)는 단기 메모리(120) 및 장기 메모리(130)에 저장된 데이터들의 반복횟수 레이블과 시간 레이블을 바탕으로 단기 메모리(120)에서 삭제할 데이터(이하, '삭제 대상 데이터'로 지칭함)와 장기 메모리(130)로 전달할 데이터(이하, '저장 대상 데이터'라 지칭함)를 결정한다.The controller 140 controls data to be deleted from the short-term memory 120 (hereinafter, referred to as 'deletion target data') and long-term data based on repetition count labels and time labels of data stored in the short-term memory 120 and the long-term memory 130. Data to be transferred to the memory 130 (hereinafter referred to as 'data to be stored') is determined.

즉, 인간의 단기 기억에서 수 분이 지나면 정보가 사라지는 것과 유사하게, 데이터의 시간 레이블이 미리 설정한 임계값을 초과할 경우, 단기 메모리(120)는 임계값이 초과된 데이터를 삭제 대상 데이터로 설정한다. 그리고 제어기(150)는 설정한 삭제 대상 데이터의 도메인 레이블과 질의 문장-답변 문장을 포함하여 단기 메모리(120)에서 해당 데이터가 삭제되도록 제어 신호를 생성한다.That is, similar to how information disappears after several minutes in human short-term memory, if the time label of data exceeds a preset threshold, the short-term memory 120 sets the data that exceeds the threshold as data to be deleted. do. In addition, the controller 150 generates a control signal to delete corresponding data from the short-term memory 120, including the set domain label of the data to be deleted and the query sentence-answer sentence.

또한, 인간의 단기 기억에 유사한 정보가 반복되는 경우 해당 정보의 저장 시간이 길어지는 것과 유사하게, 제어기(150)는 데이터의 반복횟수 레이블의 값에 따라 시간 레이블의 임계값을 증가시킨다. 또한, 인간의 단기 기억에 장기간 저장된 정보가 장기 기억으로 전달되는 것과 유사하게, 제어기(140)는 데이터의 반복 횟수 레이블이 미리 설정한 임계값을 초과할 경우, 해당 데이터를 장기 메모리(130)로 전달하도록 제어 신호를 생성한다.Similarly, when similar information is repeated in human short-term memory, the storage time of the corresponding information becomes longer, the controller 150 increases the threshold value of the time label according to the value of the repetition number label of the data. In addition, similar to how information stored for a long time in human short-term memory is transferred to long-term memory, the controller 140 transfers the data to the long-term memory 130 when the repetition number label of the data exceeds a preset threshold. Generates a control signal to transmit.

상술한 연속 학습 시스템(100)의 구조에서 장기 메모리(130)에 저장된 데이터로 가짜 데이터를 생성하는 가짜 데이터 생성기(140)에 대해 도 2를 참조로 설명한다.A fake data generator 140 generating fake data with data stored in the long-term memory 130 in the above structure of the continuous learning system 100 will be described with reference to FIG. 2 .

도 2는 본 발명의 실시예에 따른 가짜 데이터 생성기의 예시도이다.2 is an exemplary diagram of a fake data generator according to an embodiment of the present invention.

가짜 데이터 생성기(140)는 가짜 데이터를 생성하는 사전 학습된 언어 모델(GPT-2)을 미세 조정(fine-tuning)하여 사용한다. 여기서, 언어 모델(GPT2)은 문장 생성 시작 토큰(GEN)이 입력되면, 다음에 등장할 단어의 확률을 계산하고, 확률이 가장 높은 단어를 선택하는 방법으로 문장을 생성하도록 사전 학습되어 있는 모델이다. 언어 모델(GPT2)을 사전 학습시키기 위한 데이터 입력은 GEN + sentence + EOS로, 언어 모델(GPT2)은 문장의 종료를 나타내는 EOS 토큰이 등장할 때까지 한 개의 문장을 생성한다.The fake data generator 140 fine-tunes and uses a pretrained language model (GPT-2) that generates fake data. Here, the language model (GPT2) is a model pretrained to generate a sentence by calculating the probability of the next word to appear when the sentence generation start token (GEN) is input, and selecting the word with the highest probability. . The data input for pretraining the language model (GPT2) is GEN + sentence + EOS, and the language model (GPT2) generates one sentence until an EOS token representing the end of the sentence appears.

가짜 데이터 생성기(140)는 이와 같이 사전 학습된 언어 모델(GPT2)이 한 개의 문장이 아닌 '질의 문장-답변 문장'과 같이 두 개의 문장을 한 번에 생성할 수 있도록 하기 위해서, 구분 토큰을 추가한 학습 데이터(GEN + 질의 문장 + SEP + 답변 문장 + EOS)로 언어 모델(GPT2)을 추가 학습시킨다. 이를 기초로, 언어 모델(GPT2)이 한 쌍의 질의 문장-답변 문장으로 구성된 데이터를 생성할 수 있다.The fake data generator 140 adds a distinction token so that the pretrained language model (GPT2) can generate two sentences at once, such as a 'question sentence-answer sentence' instead of one sentence. The language model (GPT2) is additionally trained with one training data (GEN + query sentence + SEP + answer sentence + EOS). Based on this, the language model GPT2 may generate data composed of a pair of query sentence-answer sentences.

즉, 도 2의 (a)에 도시된 바와 같이, 문장 생성을 위한 시작 토큰(GEN)과 질문 문장, 질문 문장과 답변 문장을 구분하기 위한 구분 토큰(SEP), 답변 문장, 문장의 종료를 알리는 종료 토큰(EOS)을 포함한 데이터(GEN + source + SEP + target + EOS)를 사용하여 언어 모델(GPT-2)을 미세 조정하여 학습시킨다. That is, as shown in (a) of FIG. 2, a start token (GEN) for sentence generation and a question sentence, a distinction token (SEP) for distinguishing a question sentence and an answer sentence, an answer sentence, and an end of sentence The language model (GPT-2) is fine-tuned and trained using the data (GEN + source + SEP + target + EOS) including the exit token (EOS).

다시 말해, 언어 모델(GPT2)은 GEN 토큰부터 순서대로 단어들을 생성하는데, 이를 위해 매 순간 지금까지 생성된 단어를 조건으로 다음에 어떤 단어가 생성될 지 조건부 확률을 계산한다. 언어 모델(GPT2)은 종료 토큰(EOS)이 생성될 때 까지 문장을 생성하고, 언어 모델(GPT2)이 생성한 문장과 정답 데이터로 주어진 데이터(GEN + 질의 문장 + SEP + 답변 문장 + EOS)와의 차이를 비교하여, 조건부 확률 계산 모듈(도면 미도시)을 업데이트한다.In other words, the language model (GPT2) generates words in order from the GEN token. To this end, it calculates a conditional probability of what word will be generated next, based on the words generated so far at every moment. The language model (GPT2) generates sentences until the end token (EOS) is generated, and the sentences generated by the language model (GPT2) and the data given as answer data (GEN + query sentence + SEP + answer sentence + EOS) are connected. By comparing the difference, the conditional probability calculation module (not shown) is updated.

그리고, 도 2의 (b)에 도시된 바와 같이, 가짜 데이터 생성기(140)가 가짜 데이터를 생성할 때 문장 생성 시작 토큰(GEN)만을 입력으로 주어, 구분 토큰(SEP)으로 분리된 질문 문장과 답변 문장을 함께 생성할 수 있다. 즉, 가짜 데이터 생성 단계에서는 GEN 토큰만을 입력으로 주어, 언어 모델(GPT2)이 업데이트된 조건부 확률 계산 모듈을 바탕으로 EOS가 생성될 때 까지 문장을 생성한다.And, as shown in (b) of FIG. 2, when the fake data generator 140 generates fake data, only the sentence generation start token (GEN) is given as an input, and the question sentence separated by the segmentation token (SEP) and An answer sentence can be created together. That is, in the fake data generation step, only the GEN token is given as an input, and sentences are generated until EOS is generated based on the updated conditional probability calculation module of the language model (GPT2).

다음은 연속 학습 시스템(100)을 이용하여 답변 생성 모델을 학습시키는 연속 학습 방법에 대해 도 3을 참조로 설명한다.Next, a continuous learning method for learning an answer generation model using the continuous learning system 100 will be described with reference to FIG. 3 .

도 3은 본 발명의 실시예에 따른 연속 학습 방법에 대한 흐름도이다.3 is a flowchart of a continuous learning method according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 연속 학습 시스템(100)은 학습 대상 도메인의 데이터가 입력되면, 데이터로부터 질의 문장과 답변 문장을 추출한다(S100). As shown in FIG. 3 , the continuous learning system 100 extracts question sentences and answer sentences from the data when the data of the learning target domain is input (S100).

또한, 연속 학습 시스템(100)은 단기 메모리(120)에 저장되어 있는 기 학습된 적어도 하나 이상의 도메인들의 데이터로부터 샘플링 데이터를 추출한다(S110). 샘플링 데이터를 추출하는 예로서, 단기 메모리(120)에 저장되어 있는 데이터의 도메인 레이블을 활용하여, 단기 메모리(120)에 존재하는 도메인 별로 동일한 수의 데이터를 샘플링한다. 예를 들어 N개의 데이터를 샘플링하고자 하는데, 단기 메모리(120)에 M개의 도메인이 존재한다면, 도메인별로 N/M개의 데이터를 무작위로 샘플링한다. In addition, the continuous learning system 100 extracts sampling data from pre-learned data of one or more domains stored in the short-term memory 120 (S110). As an example of extracting the sampling data, the same number of data for each domain existing in the short-term memory 120 is sampled by using domain labels of data stored in the short-term memory 120 . For example, if N pieces of data are to be sampled and M pieces of domain exist in the short-term memory 120, N/M pieces of data are randomly sampled for each domain.

본 발명의 실시예에서는 단기 메모리(120)에 저장되어 있는 데이터들 중 랜덤하게 데이터를 샘플링 데이터로 추출하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 또한, 단기 메모리(120)에 저장되어 있는 학습된 도메인들의 수를 어느 하나로 한정하지 않는다.In the embodiment of the present invention, randomly extracting data from data stored in the short-term memory 120 as sampling data is described as an example, but is not necessarily limited thereto. In addition, the number of learned domains stored in the short-term memory 120 is not limited to any one.

연속 학습 시스템(100)은 장기 메모리에 저장된 데이터들로 학습시킨 가짜 데이터 생성 모델에서 가짜 데이터를 생성한다(S120). 연속 학습 시스템(100)은 S100 단계에서 추출한 학습 대상 도메인의 질의 문장과 답변 문장, S110 단계에서 추출한 샘플링 데이터의 질의 문장과 답변 문장, 그리고 S120 단계에서 생성한 가짜 데이터의 질의 문장과 답변 문장을 이용하여 답변 생성 모델을 학습시킨다(S130). 즉, 각각의 질의 문장이 답변 생성 모델로 입력되면, 각 질의 문장에 대응하는 답변 문장이 출력되도록 답변 생성 모델을 학습시킨다.The continuous learning system 100 generates fake data from a fake data generation model trained with data stored in a long-term memory (S120). The continuous learning system 100 uses the question and answer sentences of the learning target domain extracted in step S100, the question and answer sentences of the sampling data extracted in step S110, and the question and answer sentences of fake data generated in step S120. to learn the answer generation model (S130). That is, when each question sentence is input to the answer generation model, the answer generation model is trained to output an answer sentence corresponding to each question sentence.

다음은 연속 학습 시스템(100)에 포함되어 있는 단기 메모리(120)와 장기 메모리(130)를 관리하는 메모리 관리 방법에 대해 도 4를 참조로 설명한다.Next, a memory management method for managing the short-term memory 120 and the long-term memory 130 included in the continuous learning system 100 will be described with reference to FIG. 4 .

도 4는 본 발명의 실시예에 따른 메모리 관리 방법에 대한 흐름도이다.4 is a flowchart of a memory management method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 상술한 도 3의 절차에 따라 S100 단계에서 수신한 학습 대상 도메인의 학습이 완료되면, 연속 학습 시스템(100)은 학습 대상 도메인의 도메인 레이블에 학습 대상 도메인의 식별 정보를 기입하여 단기 메모리(120)에 저장한다(S200). 이때, 연속 학습 시스템(100)은 단기 메모리(120)에 데이터를 저장한 시간 정보를, 데이터에 포함되어 있는 시간 레이블에 설정한다(S210).As shown in FIG. 4, when the learning of the learning target domain received in step S100 is completed according to the procedure of FIG. 3 described above, the continuous learning system 100 assigns the domain label of the learning target domain to the learning target domain identification information. is written and stored in the short-term memory 120 (S200). At this time, the continuous learning system 100 sets the time information for storing the data in the short-term memory 120 to the time label included in the data (S210).

그리고, 연속 학습 시스템(100)은 단기 메모리(120)에 저장된 데이터들 중 시간 레이블에 삽입된 시간 정보를 기초로 미리 설정된 임계 시간 이상 지난 데이터가 있는지 확인한다. 만약 임계 시간 이상 지난 데이터가 있다면, 연속 학습 시스템(100)은 해당 데이터를 단기 메모리(120)에서 삭제한다(S220).Further, the continuous learning system 100 checks whether there is data past a preset threshold time or more based on the time information inserted into the time label among the data stored in the short-term memory 120 . If there is data that has passed more than the threshold time, the continuous learning system 100 deletes the corresponding data from the short-term memory 120 (S220).

한편, 연속 학습 시스템(100)은 S200 단계에서 새로 저장된 학습 대상 도메인의 데이터와 기 저장되어 있는 적어도 하나 이상의 학습된 도메인들의 데이터 사이에 유사도를 계산한다(S230). 즉, 도메인은 상이하더라도 유사한 질의 문장과 답변 문장으로 구성된 데이터가 있을 수 있으므로, 연속 학습 시스템(100)은 학습 대상 도메인의 데이터와 학습된 도메인들의 데이터 사이에 유사도를 계산한다. Meanwhile, the continuous learning system 100 calculates a degree of similarity between the data of the learning target domain newly stored in step S200 and the previously stored data of at least one or more learned domains (S230). That is, since there may be data composed of similar query sentences and answer sentences even though the domains are different, the continuous learning system 100 calculates a degree of similarity between the data of the learning target domain and the data of the learned domains.

그리고, 유사도가 기 설정된 임계값 이상으로 계산된 학습된 도메인들의 데이터가 있다면, 해당 데이터에 포함되어 있는 반복 횟수 레이블에 기재되어 있는 횟수를 하나 증가시킨다(S240).Then, if there is data of learned domains whose similarity is calculated to be greater than or equal to a preset threshold, the number of repetitions included in the corresponding data is increased by one (S240).

한편, 연속 학습 시스템(100)은 단기 메모리(120)에 저장되어 있는 모든 데이터들의 반복 횟수 레이블을 갱신한 후, 각 데이터의 반복 횟수 레이블에 삽입된 횟수가 미리 설정한 임계값 이상인 데이터가 있는지 확인한다. 만약, 임계값 이상인 데이터가 있다면, 연속 학습 시스템(100)은 해당 데이터를 단기 메모리(120)에서 장기 메모리(130)로 이동시킨다(S250).On the other hand, the continuous learning system 100 updates the repetition count labels of all data stored in the short-term memory 120, and then checks whether there is data whose number of times inserted into the repetition count labels of each data exceeds a preset threshold. do. If there is data above the threshold value, the continuous learning system 100 moves the corresponding data from the short-term memory 120 to the long-term memory 130 (S250).

한편, 연속 학습 시스템(100)은 S250 단계에서 단기 메모리(120)에서 장기 메모리(130)로 이동된 데이터와 장기 메모리(130)에 기 저장되어 있는 데이터를 이용하여, 가짜 데이터 생성 모델을 학습시킨다(S260). 연속 학습 시스템(100)이 장기 메모리(130)에 저장된 데이터들로 가짜 데이터 생성 모델을 학습시키는 방법은 다양한 방법으로 실행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.Meanwhile, the continuous learning system 100 trains a fake data generation model using the data previously stored in the long-term memory 130 and the data moved from the short-term memory 120 to the long-term memory 130 in step S250. (S260). Since the continuous learning system 100 trains the fake data generation model with the data stored in the long-term memory 130 in various ways, it is not limited to any one method in the embodiment of the present invention.

그리고, 연속 학습 시스템(100)은 가짜 데이터 생성 모델을 학습시킨 데이터들을 장기 메모리(140)로부터 삭제시킨다(S270). 이때, 가짜 데이터 생성 모델을 학습시킨 모든 데이터를 삭제시킬수도 있고, 미리 설정한 기준에 따라 장기 메모리(140)에 먼저 저장된 데이터 순서대로 또는 반복 횟수 레이블에 기록된 횟수에 따라 일정 데이터를 삭제시킬 수도 있다.Then, the continuous learning system 100 deletes the data for which the fake data generation model has been trained from the long-term memory 140 (S270). At this time, all data for which the fake data generation model has been trained may be deleted, or certain data may be deleted in the order of data first stored in the long-term memory 140 according to a preset criterion or according to the number of times recorded in the repetition number label. there is.

이와 같은 메모리 관리 방법을 통해, 연속 학습 시스템(100)은 도메인 수에 비례하여 메모리의 크기를 계속 증가시키지 않더라도 단기 메모리(120)와 장기 메모리(130)를 이용하여 데이터를 관리할 수 있다.Through such a memory management method, the continuous learning system 100 can manage data using the short-term memory 120 and the long-term memory 130 without continuously increasing the size of the memory in proportion to the number of domains.

도 5는 본 발명의 실시예에 따른 컴퓨팅 장치의 구조도이다.5 is a structural diagram of a computing device according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 물체 감지 시스템(100)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(200)에서, 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행한다. As shown in FIG. 5 , the object detection system 100 executes a program including instructions described for executing the operation of the present invention in a computing device 200 operated by at least one processor. do.

컴퓨팅 장치(200)의 하드웨어는 적어도 하나의 프로세서(210), 메모리(220), 스토리지(230), 통신 인터페이스(240)를 포함할 수 있고, 버스를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(200)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.The hardware of the computing device 200 may include at least one processor 210, memory 220, storage 230, and communication interface 240, and may be connected through a bus. In addition, hardware such as an input device and an output device may be included. The computing device 200 may be loaded with various software including an operating system capable of driving programs.

프로세서(210)는 컴퓨팅 장치(200)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서(210)일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(220)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(210)에 의해 처리되도록 해당 프로그램을 로드한다. 메모리(220)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(230)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장한다. 통신 인터페이스(240)는 유/무선 통신 모듈일 수 있다.The processor 210 is a device for controlling the operation of the computing device 200, and may be various types of processors 210 that process commands included in a program, for example, a central processing unit (CPU), an MPU ( Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), and the like. Memory 220 loads a corresponding program so that the instructions described to carry out the operations of the present invention are processed by processor 210 . The memory 220 may be, for example, read only memory (ROM) or random access memory (RAM). The storage 230 stores various data, programs, etc. required to execute the operation of the present invention. The communication interface 240 may be a wired/wireless communication module.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also included in the scope of the present invention. that fall within the scope of the right.

Claims (12)

연속 학습 시스템이 답변 생성 모델을 연속 학습하는 방법으로서,
학습 대상 도메인의 복수의 데이터들로부터 각각 질의 문장과 답변 문장을 추출하는 단계,
상기 학습 대상 도메인에 앞서 상기 답변 생성 모델을 학습한 후 단기 메모리에 저장된 학습된 도메인들 각각의 복수의 데이터들로부터 복수의 샘플링 데이터를 추출하고, 각 샘플링 데이터에서 샘플 질의 문장과 샘플 답변 문장을 추출하는 단계,
상기 단기 메모리에 저장된 학습된 도메인의 복수의 데이터들 중 일부 데이터이며 장기 메모리에 저장된 데이터들을 이용하여 생성한 가짜 데이터로부터 가짜 질의 문장과 가짜 답변 문장을 추출하는 단계, 그리고
상기 질의 문장, 샘플 질의 문장 및 가짜 질의 문장을 입력하면, 상기 답변 문장, 상기 샘플 답변 문장 및 상기 가짜 답변 문장을 출력하도록 상기 답변 생성 모델을 학습시키는 단계
를 포함하는, 연속 학습 방법.
As a method for a continuous learning system to continuously learn an answer generation model,
Extracting a query sentence and an answer sentence from a plurality of data of a learning target domain, respectively;
After learning the answer generation model prior to the learning target domain, a plurality of sampling data are extracted from a plurality of pieces of data of each of the learned domains stored in a short-term memory, and a sample query sentence and a sample answer sentence are extracted from each sampled data. step to do,
extracting fake query sentences and fake answer sentences from fake data generated by using data stored in long-term memory, which are partial data among a plurality of pieces of data of the learned domain stored in the short-term memory; and
training the answer generation model to output the answer sentence, the sample answer sentence, and the fake answer sentence when the query sentence, the sample query sentence, and the fake query sentence are input;
Including, continuous learning method.
제1항에 있어서,
상기 단기 메모리에 저장된 각 데이터는, 각 데이터가 매핑되어 있는 도메인의 도메인 정보가 삽입된 도메인 레이블, 상기 답변 생성 모델을 학습시킨 횟수에 대한 반복 횟수 레이블, 그리고 상기 단기 메모리에 저장된 저장 시점인 시간 레이블을 포함하는, 연속 학습 방법.
According to claim 1,
Each data stored in the short-term memory includes a domain label into which domain information of the domain to which each data is mapped is inserted, an iteration number label for the number of times the answer generation model is trained, and a time label that is a storage point stored in the short-term memory. Including, continuous learning method.
제2항에 있어서,
상기 샘플 답변 문장을 추출하는 단계는,
상기 학습 대상 도메인의 각 데이터와 상기 단기 메모리에 저장된 각 데이터의 유사도를 계산하는 단계, 그리고
상기 단기 메모리에 저장된 데이터들 중 계산한 유사도가 미리 설정한 임계값 이상인 데이터의 상기 반복 횟수 레이블에 삽입된 횟수를 하나 증가시키는 단계
를 포함하는, 연속 학습 방법.
According to claim 2,
In the step of extracting the sample answer sentence,
Calculating a similarity between each data of the learning target domain and each data stored in the short-term memory; and
increasing, among data stored in the short-term memory, the number of insertions into the repetition number label of data whose calculated similarity is equal to or greater than a preset threshold by one;
Including, continuous learning method.
제3항에 있어서,
상기 샘플 답변 문장을 추출하는 단계는,
상기 단기 메모리에 저장된 각 데이터의 반복 횟수 레이블을 기초로, 각 데이터의 횟수가 미리 설정된 임계값 이상인 적어도 하나의 데이터를 확인하는 단계, 그리고
상기 임계값 이상의 횟수로 반복 횟수 레이블이 삽입된 데이터는 상기 단기 메모리에서 상기 장기 메모리로 이동시키는 단계
를 포함하는, 연속 학습 방법.
According to claim 3,
In the step of extracting the sample answer sentence,
identifying at least one piece of data whose number of times of each data is equal to or greater than a preset threshold based on the label of the number of repetitions of each data stored in the short-term memory; and
moving data for which repetition count labels have been inserted more than the threshold value from the short-term memory to the long-term memory;
Including, continuous learning method.
제2항에 있어서,
상기 샘플 답변 문장을 추출하는 단계는,
상기 단기 메모리에 저장된 각 데이터의 시간 레이블을 확인하는 단계, 그리고
상기 시간 레이블에 삽입된 시간이 미리 설정한 임계 시간을 초과한 데이터는 상기 단기 메모리에서 삭제하는 단계
를 포함하는, 연속 학습 방법.
According to claim 2,
In the step of extracting the sample answer sentence,
ascertaining the time label of each data stored in the short-term memory; and
deleting data for which the time inserted into the time label exceeds a predetermined threshold time from the short-term memory;
Including, continuous learning method.
제1항에 있어서,
상기 가짜 답변 문장을 추출하는 단계는,
상기 장기 메모리에 저장된 데이터들을 이용하여 가짜 데이터 생성 모델을 학습시키는 단계
를 더 포함하는, 연속 학습 방법.
According to claim 1,
The step of extracting the fake answer sentence,
Learning a fake data generation model using data stored in the long-term memory
Further comprising a continuous learning method.
제6항에 있어서,
상기 가짜 데이터 생성 모델을 학습시키는 단계 이후에,
상기 가짜 데이터 생성 모델을 학습시킨 데이터들을 상기 장기 메모리로부터 삭제하는 단계
를 포함하는, 연속 학습 방법.
According to claim 6,
After the step of learning the fake data generation model,
deleting data for which the fake data generation model has been trained from the long-term memory;
Including, continuous learning method.
질의 문장이 입력되면 상기 질의 문장에 대한 답변 문장을 생성하는 답변 생성 모델을 학습시키는 연속 학습 시스템으로서,
적어도 하나의 명령어를 포함하고, 상기 답변 생성 모델을 학습시킨 학습된 도메인들의 복수의 데이터들을 저장하는 단기 메모리,
상기 단기 메모리에 저장된 복수의 데이터들 중 상기 답변 생성 모델을 미리 설정한 횟수 이상 학습시킨 일부 데이터들을 저장되는 장기 메모리, 그리고
프로세서
를 포함하고,
상기 프로세서는,
학습 대상 도메인의 데이터들로부터 각각 각각 질의 문장과 답변 문장을 추출하고, 상기 단기 메모리에 저장된 복수의 데이터들로부터 샘플링 데이터를 추출하여 샘플 질의 문장과 샘플 답변 문장을 추출하며, 상기 장기 메모리에 저장된 일부 데이터들을 기초로 생성된 가짜 데이터로부터 가짜 질의 문장과 가짜 답변 문장을 추출하고, 상기 질의 문장, 샘플 질의 문장, 가짜 질의 문장이 입력되면 상기 답변 문장, 샘플 답변 문장, 가짜 답변 문장이 출력되도록 상기 답변 생성 모델을 학습시키는, 연속 학습 시스템.
As a continuous learning system for learning an answer generation model that generates an answer sentence to the query sentence when a query sentence is input,
A short-term memory containing at least one instruction and storing a plurality of data of learned domains for which the answer generation model is trained;
A long-term memory for storing some data for which the answer generation model has been trained a predetermined number of times or more among a plurality of data stored in the short-term memory; and
processor
including,
the processor,
A query sentence and an answer sentence are extracted from the data of the learning target domain, sample query sentences and sample answer sentences are extracted by extracting sampling data from a plurality of data stored in the short-term memory, and some stored in the long-term memory. A fake query sentence and a fake answer sentence are extracted from fake data generated based on data, and when the query sentence, sample query sentence, and fake query sentence are input, the answer sentence, sample answer sentence, and fake answer sentence are output. A continuous learning system that trains a generative model.
제8항에 있어서,
상기 프로세서는,
상기 학습 대상 도메인의 각 데이터와 상기 단기 메모리에 저장된 각 데이터의 유사도를 계산하고, 상기 계산한 유사도가 미리 설정한 임계값 이상인 데이터의 반복 횟수 레이블에 삽입된 횟수를 하나 증가시키는, 연속 학습 시스템.
According to claim 8,
the processor,
A continuous learning system that calculates the similarity between each data of the learning target domain and each data stored in the short-term memory, and increases the number of times inserted into the repetition number label of data having a similarity equal to or greater than a preset threshold by one.
제9항에 있어서,
상기 프로세서는,
상기 단기 메모리에 저장된 각 데이터의 반복 횟수 레이블에 삽입된 횟수를 확인하고, 횟수가 미리 설정한 임계값 이상인 적어도 하나의 데이터를 상기 장기 메모리로 이동시키는, 연속 학습 시스템.
According to claim 9,
the processor,
The continuous learning system, which checks the number of times inserted into the repetition count label of each data stored in the short-term memory, and moves at least one data whose number of times is equal to or greater than a preset threshold to the long-term memory.
제10항에 있어서,
상기 프로세서는,
상기 단기 메모리에 저장된 각 데이터의 시간 레이블을 확인하고, 상기 시간 레이블에 삽입된 시간이 임계 시간을 초과한 데이터는 상기 단기 메모리에서 삭제하는, 연속 학습 시스템.
According to claim 10,
the processor,
The continuous learning system of claim 1 , wherein a time label of each data stored in the short-term memory is checked, and data for which a time inserted into the time label exceeds a threshold time is deleted from the short-term memory.
제11항에 있어서,
상기 프로세서는,
상기 장기 메모리에 저장된 데이터들을 이용하여 가짜 데이터 생성 모델을 학습시키는, 연속 학습 시스템.
According to claim 11,
the processor,
A continuous learning system that trains a fake data generation model using data stored in the long-term memory.
KR1020210168322A 2021-11-30 2021-11-30 System and method for continuous learning Active KR102772901B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210168322A KR102772901B1 (en) 2021-11-30 2021-11-30 System and method for continuous learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210168322A KR102772901B1 (en) 2021-11-30 2021-11-30 System and method for continuous learning

Publications (2)

Publication Number Publication Date
KR20230080824A true KR20230080824A (en) 2023-06-07
KR102772901B1 KR102772901B1 (en) 2025-02-24

Family

ID=86761944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210168322A Active KR102772901B1 (en) 2021-11-30 2021-11-30 System and method for continuous learning

Country Status (1)

Country Link
KR (1) KR102772901B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118520074A (en) * 2024-07-23 2024-08-20 浙江省北大信息技术高等研究院 Real-time retrieval enhancement generation method and device based on industrial brain
KR20250035750A (en) 2023-09-06 2025-03-13 서울대학교산학협력단 Method, program, and apparatus for adaptive stochastic gradient descent in memory-based continual learning with artificial neural networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050004107A (en) * 2003-07-03 2005-01-12 소니 가부시끼 가이샤 Apparatus and method for speech dialogue, and robot device
JP2008305129A (en) * 2007-06-07 2008-12-18 Tokyo Institute Of Technology Inference apparatus, inference method, and program
KR20190023316A (en) * 2017-08-28 2019-03-08 주식회사 솔트룩스 Question-answering system based dialogue model
US20210192363A1 (en) * 2019-12-23 2021-06-24 Hrl Laboratories, Llc Systems and methods for unsupervised continual learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050004107A (en) * 2003-07-03 2005-01-12 소니 가부시끼 가이샤 Apparatus and method for speech dialogue, and robot device
JP2008305129A (en) * 2007-06-07 2008-12-18 Tokyo Institute Of Technology Inference apparatus, inference method, and program
KR20190023316A (en) * 2017-08-28 2019-03-08 주식회사 솔트룩스 Question-answering system based dialogue model
US20210192363A1 (en) * 2019-12-23 2021-06-24 Hrl Laboratories, Llc Systems and methods for unsupervised continual learning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250035750A (en) 2023-09-06 2025-03-13 서울대학교산학협력단 Method, program, and apparatus for adaptive stochastic gradient descent in memory-based continual learning with artificial neural networks
CN118520074A (en) * 2024-07-23 2024-08-20 浙江省北大信息技术高等研究院 Real-time retrieval enhancement generation method and device based on industrial brain

Also Published As

Publication number Publication date
KR102772901B1 (en) 2025-02-24

Similar Documents

Publication Publication Date Title
US11314921B2 (en) Text error correction method and apparatus based on recurrent neural network of artificial intelligence
CN112084295B (en) Cross-language task training
US11640505B2 (en) Systems and methods for explicit memory tracker with coarse-to-fine reasoning in conversational machine reading
CN108287820B (en) Text representation generation method and device
CN113962315A (en) Model pre-training method, device, equipment, storage medium and program product
CN111563144A (en) Statement context prediction-based user intention identification method and device
KR20200129639A (en) Model training method and apparatus, and data recognizing method
US11544457B2 (en) Machine learning based abbreviation expansion
CN110197279B (en) Transformation model training method, device, equipment and storage medium
KR20190101567A (en) Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof
CN113723105A (en) Training method, device and equipment of semantic feature extraction model and storage medium
KR20230080824A (en) System and method for continuous learning
CN112487139A (en) Text-based automatic question setting method and device and computer equipment
CN112579759B (en) Model training method and task-based visual dialogue question generation method and device
CN114239589A (en) Robustness evaluation method and device of semantic understanding model and computer equipment
CN110717027A (en) Multi-round intelligent question-answering method, system, controller and medium
CN110717021A (en) Input text and related device for obtaining artificial intelligence interview
US20230140480A1 (en) Utterance generation apparatus, utterance generation method, and program
KR102519618B1 (en) System and method for end to end neural machine translation
US20220138435A1 (en) Method and apparatus for generating a text, and storage medium
CN113360617B (en) Abnormality recognition method, apparatus, device, and storage medium
CN112863518B (en) Method and device for recognizing voice data subject
US11790181B2 (en) Extractive structured prediction in interactive systems
CN113297371A (en) Method, device and equipment for generating recommended question library and storage medium
CN110413737B (en) Synonym determination method, synonym determination device, server and readable storage medium

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211130

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240621

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250210

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250220

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250220

End annual number: 3

Start annual number: 1

PG1601 Publication of registration