KR20230016537A - Method, computer device, and computer program to classify data using unsupervised contrastive learing - Google Patents
Method, computer device, and computer program to classify data using unsupervised contrastive learing Download PDFInfo
- Publication number
- KR20230016537A KR20230016537A KR1020210098157A KR20210098157A KR20230016537A KR 20230016537 A KR20230016537 A KR 20230016537A KR 1020210098157 A KR1020210098157 A KR 1020210098157A KR 20210098157 A KR20210098157 A KR 20210098157A KR 20230016537 A KR20230016537 A KR 20230016537A
- Authority
- KR
- South Korea
- Prior art keywords
- similarity matrix
- data
- generating
- learning
- data classification
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
Description
아래의 설명은 데이터 분류를 위한 비지도 대조 클러스터링(unsupervised contrastive clustering) 기술에 관한 것이다.The description below relates to an unsupervised contrastive clustering technique for data classification.
최근 딥러닝의 발전으로 NLP(natural language processing) 작업 성과 또한 크게 향상되고 있다.With the recent development of deep learning, NLP (natural language processing) task performance is also greatly improved.
NLP 모델을 구축하기 위한 대부분의 접근방식은 지도 학습(supervised learning) 방식에 의존하고 있으며, 최소 수천 개의 레이블 데이터셋(labeled datasets)을 필요로 한다.Most approaches to building NLP models rely on supervised learning methods and require at least thousands of labeled datasets.
새로운 도메인에 대해 대화 시스템(dialogue system)을 구축하기 위해서는 의도(intent) 설계부터 데이터 수집, 모델 학습 등에 이르기까지 막대한 설계 비용이 필요하다.In order to build a dialogue system for a new domain, huge design costs are required from intent design to data collection and model training.
대부분의 상황에서 로그 데이터는 충분한 반면에, 어떤 의도가 존재하고 어떤 데이터가 특정 의도를 갖는지 레이블링에 대한 정보가 부족한 경우가 많다.While log data is sufficient in most situations, information about labeling what intents exist and what data has specific intents is often lacking.
의도 발굴은 레이블이 없는 데이터(unlabeled data)에서 의도 분류를 위한 새로운 범주를 찾는 문제에 관한 것이다.Intent discovery is about finding new categories for intent classification in unlabeled data.
의도 발굴 문제는 레이블링 데이터를 사용하지 않는 비지도 방법과 소량의 레이블링 데이터를 사용하는 준지도 방법(semi-supervised method)으로 접근할 수 있다.The intent discovery problem can be approached by an unsupervised method that does not use labeling data and a semi-supervised method that uses a small amount of labeling data.
이때, 표현 학습(representation learning)에 기반한 방법의 경우 클러스터링 촉진 목표를 포함하고 있지 않기 때문에 클러스터링을 위한 적절한 표현을 구축하기 어렵다.At this time, in the case of a method based on representation learning, it is difficult to construct an appropriate representation for clustering because it does not include a clustering promotion target.
그리고, 오프라인 클러스터링 방법은 파라미터 업데이트 단계와 클러스터 할당 단계 사이를 번갈아 가며 모델을 학습하기 때문에 학습 불안정성과 표현 부정에 노출될 우려가 있다. In addition, since the offline clustering method learns the model alternately between the parameter update step and the cluster assignment step, there is a risk of exposure to learning instability and expression irregularity.
또한, 대조 클러스터링 방법은 데이터 증강(data augmentation) 기술에 따라 크게 달라진다. 비전 영역과 달리 텍스트 영역의 데이터 증강은 문장의 의미를 왜곡하고 레이블 또한 바뀔 수 있기 때문에 모델 성능이 저하될 수 있다.In addition, contrast clustering methods vary greatly depending on data augmentation techniques. Unlike the vision domain, data augmentation in the text domain distorts the meaning of sentences and can also change labels, which can degrade model performance.
레이블이 없는 데이터를 학습할 수 있는 기술을 제공한다.It provides techniques to learn from unlabeled data.
유사성에 기반한 비지도 대조 클러스터링을 통해 데이터를 분류할 수 있는 기술을 제공한다.Provides a technique to classify data through similarity-based unsupervised contrast clustering.
컴퓨터 장치에서 실행되는 데이터 분류 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 데이터 분류 방법은, 상기 적어도 하나의 프로세서에 의해, 주어진 데이터의 문맥 표현(contextual representation)에 대한 제1 유사도 행렬을 생성하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 문맥 표현을 보완한 보조 표현(auxiliary representation)에 대한 제2 유사도 행렬을 생성하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 제1 유사도 행렬과 상기 제2 유사도 행렬을 결합하여 제3 유사도 행렬을 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 제3 유사도 행렬을 이용한 대조 학습(contrastive learning)을 통해 데이터 분류를 위한 모델 학습을 수행하는 단계를 포함하는 데이터 분류 방법을 제공한다.A data classification method executed in a computer device, the computer device comprising at least one processor configured to execute computer readable instructions contained in a memory, the data classification method comprising: by the at least one processor, a given generating a first similarity matrix for a contextual representation of data; generating, by the at least one processor, a second similarity matrix for an auxiliary representation complementing the context representation; generating, by the at least one processor, a third similarity matrix by combining the first similarity matrix and the second similarity matrix; and performing, by the at least one processor, model learning for data classification through contrastive learning using the third similarity matrix.
일 측면에 따르면, 상기 모델 학습을 수행하는 단계는, 레이블이 없는 데이터 분류를 위해 데이터 인스턴스 간의 유사성을 기초로 포지티브 샘플(positive sample)을 추출하여 데이터 증강(data augmentation) 없이 상기 대조 학습을 수행할 수 있다.According to one aspect, the performing of the model learning may include performing the control learning without data augmentation by extracting a positive sample based on similarity between data instances for unlabeled data classification. can
다른 측면에 따르면, 상기 모델 학습을 수행하는 단계는, 상기 제3 유사도 행렬에 대해 행 단위(row-wise)로 포지티브 샘플과 네거티브 샘플(negative sample)을 선택하는 단계; 및 상기 포지티브 샘플과 상기 네거티브 샘플에 대해 교차 엔트로피 손실(cross entropy loss)을 적용하여 상기 대조 학습을 수행하는 단계를 포함할 수 있다.According to another aspect, the performing of model learning may include selecting positive samples and negative samples row-wise for the third similarity matrix; and performing the collational learning by applying cross entropy loss to the positive samples and the negative samples.
또 다른 측면에 따르면, 상기 제1 유사도 행렬을 생성하는 단계는, PLM(pretrained language model)을 통해 상기 데이터를 인코딩함으로써 조밀한 문맥 표현(dense contextual representation)을 추출하는 단계를 포함할 수 있다.According to another aspect, generating the first similarity matrix may include extracting a dense contextual representation by encoding the data through a pretrained language model (PLM).
또 다른 측면에 따르면, 상기 제1 유사도 행렬을 생성하는 단계는, 상기 문맥 표현에 대한 벡터의 내적(dot product)을 사용하여 상기 제1 유사도 행렬을 생성하는 단계를 포함할 수 있다.According to another aspect, generating the first similarity matrix may include generating the first similarity matrix using a dot product of vectors with respect to the context expression.
또 다른 측면에 따르면, 상기 제2 유사도 행렬을 생성하는 단계는, 데이터의 순서와 관계없이 데이터의 존재를 나타내는 희소 표현으로 상기 보조 표현을 생성하는 단계를 포함할 수 있다.According to another aspect, generating the second similarity matrix may include generating the auxiliary expression as a sparse expression indicating existence of data regardless of an order of data.
또 다른 측면에 따르면, 상기 제2 유사도 행렬을 생성하는 단계는, 텍스트 유형의 데이터가 주어지는 경우 TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 보조 표현을 생성하는 단계를 포함할 수 있다.According to another aspect, generating the second similarity matrix may include generating the auxiliary expression using term frequency-inverse document frequency (TF-IDF) when text type data is given. .
또 다른 측면에 따르면, 상기 제2 유사도 행렬을 생성하는 단계는, 이미지 유형의 데이터가 주어지는 경우 이미지에 대한 뎁스 맵(depth map) 또는 피처 맵(feature map)을 이용하여 상기 보조 표현을 생성하는 단계를 포함할 수 있다.According to another aspect, the generating of the second similarity matrix may include generating the auxiliary expression using a depth map or feature map of an image when data of an image type is given can include
또 다른 측면에 따르면, 상기 제3 유사도 행렬을 생성하는 단계는, 상기 제1 유사도 행렬의 표준 편차와 상기 제2 유사도 행렬의 평균을 이용하여 상기 제1 유사도 행렬과 상기 제2 유사도 행렬 간의 스케일 조정을 위한 하이퍼 파라미터를 결정하는 단계를 포함할 수 있다.According to another aspect, the generating of the third similarity matrix may include adjusting the scale between the first similarity matrix and the second similarity matrix using a standard deviation of the first similarity matrix and an average of the second similarity matrix. It may include determining hyperparameters for .
또 다른 측면에 따르면, 상기 제3 유사도 행렬을 생성하는 단계는, 학습 진행에 따라 상기 제2 유사도 행렬에 대한 감쇄(decay) 계수를 설정하는 단계를 포함할 수 있다.According to another aspect, generating the third similarity matrix may include setting a decay coefficient for the second similarity matrix according to learning progress.
상기 제1항 내지 제10항 중 어느 한 항의 데이터 분류 방법을 상기 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.A computer program stored in a computer readable recording medium is provided to execute the data classification method according to any one of
컴퓨터 장치에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 주어진 데이터의 문맥 표현에 대한 제1 유사도 행렬을 생성하는 과정; 상기 문맥 표현을 보완한 보조 표현에 대한 제2 유사도 행렬을 생성하는 과정; 상기 제1 유사도 행렬과 상기 제2 유사도 행렬을 결합하여 제3 유사도 행렬을 생성하는 과정; 및 상기 제3 유사도 행렬을 이용한 대조 학습을 통해 데이터 분류를 위한 모델 학습을 수행하는 과정을 처리하는 컴퓨터 장치를 제공한다.A computer device comprising: at least one processor configured to execute computer readable instructions contained in a memory, wherein the at least one processor performs the steps of: generating a first similarity matrix for a given contextual representation of data; generating a second similarity matrix for an auxiliary expression supplemented with the context expression; generating a third similarity matrix by combining the first similarity matrix and the second similarity matrix; and a computer device processing a process of performing model learning for data classification through collational learning using the third similarity matrix.
본 발명의 실시예들에 따르면, 미니 배치(mini-batch)에서의 쌍별 유사성에 기반한 비지도 대조 클러스터링을 적용함으로써 데이터 의미 왜곡 문제를 해결할 수 있다.According to embodiments of the present invention, the problem of data semantic distortion can be solved by applying unsupervised collation clustering based on pairwise similarity in a mini-batch.
본 발명의 실시예들에 따르면, 입력으로 주어진 데이터에 대한 희소 표현(sparse representation)인 보조 표현(auxiliary representation)을 사용함으로써 데이터 증강을 사용하지 않는 대조 학습에 의한 노이즈 중첩 문제를 완화할 수 있다.According to embodiments of the present invention, by using an auxiliary representation that is a sparse representation of data given as an input, it is possible to alleviate the problem of overlapping noise by contrastive learning without using data augmentation.
도 1은 본 발명의 일실시예에 있어서 컴퓨터 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 데이터 분류 방법의 예를 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서 문맥 표현에 대한 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 보조 표현에 대한 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 대조 학습을 위한 최종 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서 유사도 행렬을 이용한 대조 학습 과정의 예시를 도시한 것이다.
도 7은 본 발명의 일실시예에 있어서 비지도 대조 학습으로 학습된 PLM을 이용한 클러스터링 과정의 예시를 도시한 것이다.1 is a block diagram for explaining an example of an internal configuration of a computer device according to an embodiment of the present invention.
2 is a flowchart illustrating an example of a data classification method that can be performed by a computer device according to an embodiment of the present invention.
3 illustrates an example of a process of generating a similarity matrix for a contextual expression according to an embodiment of the present invention.
4 illustrates an example of a process of generating a similarity matrix for an auxiliary expression according to an embodiment of the present invention.
5 illustrates an example of a process of generating a final similarity matrix for collation learning in one embodiment of the present invention.
6 illustrates an example of a collation learning process using a similarity matrix in an embodiment of the present invention.
7 illustrates an example of a clustering process using PLM learned by unsupervised collegial learning in one embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들은 유사성에 기반한 비지도 대조 클러스터링 기술에 관한 것이다. 본 명세서에서, 샘플은 전체 데이터에서 학습과 평가를 위해 샘플링된 데이터를 의미하고, 인스턴스(instance)는 대조 학습에 있어 클러스터를 이루지 않고 별개의 레이블로 구분되는 데이터를 지칭하기 위하여 사용될 수 있다. 다만 이는 결국 데이터를 처리 단계에 따라 지칭하는 용어일 뿐 엄밀하게 구분되는 것은 아니며, 데이터로 통칭할 수 있다.Embodiments of the present invention relate to similarity-based unsupervised collation clustering techniques. In this specification, a sample means data sampled for learning and evaluation from all data, and an instance may be used to refer to data classified as separate labels without forming a cluster in contrast learning. However, this is a term that eventually refers to data according to processing steps, and is not strictly classified, and can be collectively referred to as data.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 데이터 증강으로 인한 의미 왜곡 문제를 피하기 위해 미니 배치에서 쌍별 유사성을 활용할 수 있고, 의사 레이블(pseudo label)로 인한 학습 불안정을 피하기 위해 보조 표현을 사용할 수 있다.Embodiments, including those specifically disclosed herein, may utilize pairwise similarity in mini-batches to avoid semantic distortion problems due to data augmentation, and may use auxiliary representations to avoid learning instability due to pseudo labels. can
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 데이터 분류 시스템은 도 1을 통해 도시된 컴퓨터 장치(100)에 의해 구현될 수 있다.1 is a block diagram illustrating an example of a computer device according to one embodiment of the present invention. For example, a data classification system according to embodiments of the present invention may be implemented by the
도 1에 도시된 바와 같이 컴퓨터 장치(100)는 본 발명의 실시예들에 따른 데이터 분류 방법을 실행하기 위한 구성요소로서, 메모리(110), 프로세서(120), 통신 인터페이스(130) 그리고 입출력 인터페이스(140)를 포함할 수 있다.As shown in FIG. 1, a
메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(100)의 메모리(110)에 로딩될 수 있다.The
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어, 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 인터페이스(130)는 네트워크(160)를 통해 컴퓨터 장치(100)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 장치(100)의 통신 인터페이스(130)를 통해 컴퓨터 장치(100)로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 장치(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The
통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들 간의 근거리 유선/무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method utilizing a communication network (eg, a mobile communication network, wired Internet, wireless Internet, and broadcasting network) that the
입출력 인터페이스(140)는 입출력 장치(150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 장치(100)와 하나의 장치로 구성될 수도 있다.The input/
또한, 다른 실시예들에서 컴퓨터 장치(100)는 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(100)는 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Also, in other embodiments,
본 실시예에서는 데이터 분류를 위한 새로운 클러스터링 프레임워크를 제안한다.In this embodiment, we propose a new clustering framework for data classification.
본 발명에 따른 데이터 분류 방법은 새로운 E2E(end to end) 비지도 클러스터링 방법으로, 데이터 인스턴스 간의 유사성을 활용하여 포지티브 샘플(positive sample)을 추출함으로써 데이터 증강 없이 대조 학습을 수행할 수 있다.The data classification method according to the present invention is a novel end-to-end (E2E) unsupervised clustering method, and can perform comparative learning without data augmentation by extracting positive samples by utilizing similarity between data instances.
또한, 본 실시예에서는 적절한 포지티브 샘플을 추출하도록 모델을 가이드하는 보조 표현을 사용함으로써 조밀한 문맥 표현(dense contextual representation)만을 사용할 때 발생하는 초기 학습 단계에서의 불안정성을 완화할 수 있다.In addition, in the present embodiment, by using an auxiliary representation that guides the model to extract an appropriate positive sample, instability in the initial learning stage that occurs when only a dense contextual representation is used can be alleviated.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 데이터 분류 방법의 예를 도시한 흐름도이다.2 is a flowchart illustrating an example of a data classification method that can be performed by a computer device according to an embodiment of the present invention.
본 실시예에 따른 데이터 분류 방법은 앞서 설명한 컴퓨터 장치(100)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(100)의 프로세서(120)는 메모리(110)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(120)는 컴퓨터 장치(100)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(100)가 도 2의 데이터 분류 방법이 포함하는 단계들(S210 내지 S230)을 수행하도록 컴퓨터 장치(100)를 제어할 수 있다.The data classification method according to the present embodiment may be performed by the
도 2를 참조하면, 단계(S210)에서 프로세서(120)는 주어진 입력 데이터를 조밀한 문맥 표현으로 인코딩함과 아울러 학습 불안정성을 보완하는 보조 표현을 구성할 수 있다. 모델이 충분히 학습되지 않은 상태에서 포지티브 샘플을 추출하기 위해 유사성 기반 의사 레이블을 사용하는 것은 의사 레이블이 올바르게 선택되지 않을 수 있고 잘못된 레이블 선택으로 인한 노이즈가 학습 과정 중 누적되기 때문에 매우 불안정하다. 이러한 문제를 완화시키기 위해 본 실시예에서는 넓은 카테고리에 보충할 수 있는 표현으로, 순서와 상관없이 데이터의 존재를 나타내는 보조 표현을 사용할 수 있다.Referring to FIG. 2 , in step S210, the
단계(S220)에서 프로세서(120)는 문맥 표현과 보조 표현에 대한 유사도 행렬(similarity matrix)을 생성할 수 있다. 프로세서(120)는 문맥 표현과 보조 표현에서 한 쌍의 인스턴스가 동일한 클러스터에 속하는지 여부를 나타내는 유사도 행렬을 생성할 수 있다. 프로세서(120)는 배치의 데이터 인스턴스를 사용하여 유사도 행렬을 구축할 수 있다.In step S220, the
단계(S230)에서 프로세서(120)는 단계(S220)에서 생성된 유사도 행렬의 각 행에서 포지티브 샘플을 선택하고 대조 손실(contrastive loss)로 대화 시스템을 위한 모델을 학습할 수 있다. 프로세서(120)는 유사도 행렬에 대해 행 단위(row-wise)로 가장 값이 높은 데이터를 포지티브 샘플로 선택하고 나머지 데이터를 네거티브 샘플(negative sample)로 선택하여 교차 엔트로피 손실(cross entropy loss)을 적용하여 PLM(pretrained language model)을 학습할 수 있다.In step S230, the
본 실시예에서는 데이터 증강을 사용하지 않는 대조 학습을 적용함으로써 데이터 증강으로 인한 의미 왜곡 문제를 피할 수 있고, 적절한 포지티브 샘플을 추출하도록 모델을 가이드하는 보조 표현을 사용함으로써 데이터 증강 없이 대조 학습을 수행함에 따라 발생할 수 있는 노이즈 중첩 문제를 완화시킬 수 있다.In this embodiment, by applying contrast learning without data augmentation, the problem of semantic distortion due to data augmentation can be avoided, and by using an auxiliary expression that guides the model to extract appropriate positive samples, contrast learning is performed without data augmentation. It is possible to mitigate the noise overlapping problem that may occur according to the above method.
프로세서(120)는 학습 이후 학습된 PLM에서 주어진 입력 데이터에 대한 표현을 추출하여 다양한 클러스터링 알고리즘을 적용함으로써 해당 표현에 대한 분류(레이블링)를 수행할 수 있다. 프로세서(120)는 학습된 모델에서 PLM만을 이용하여 입력 데이터를 인코딩하고 K-mean 클러스터링이나 응집(agglomerative) 클러스터링 등을 적용하여 클러스터링(데이터 분류)을 수행할 수 있다.After learning, the
데이터 분류가 필요한 태스크의 일 예로는, 특정 데이터(예를 들면 고객센터에서의 질의)가 어떤 의도(intent)를 갖는지를 분류하는 것이다. 본 발명에 따른 데이터 분류를 위한 비지도 대조 학습은 이러한 태스크를 해결하는데 적절하게 사용될 수 있으며, 세부 과정은 다음과 같다.An example of a task requiring data classification is to classify the intent of specific data (for example, a query in a customer center). Unsupervised contrast learning for data classification according to the present invention can be appropriately used to solve this task, and the detailed process is as follows.
도 3은 본 발명의 일실시예에 있어서 문맥 표현에 대한 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.3 illustrates an example of a process of generating a similarity matrix for a contextual expression according to an embodiment of the present invention.
도 3을 참조하면, 프로세서(120)는 데이터의 높은 수준의 의미 피처(semantic feature)를 추출하기 위해 PLM(30)을 사용한다. 프로세서(120)는 N개의 샘플 과 특수 토큰(예를 들어, [CLS], [SEP] 등)을 이용하여 PLM(30)의 입력을 구성한다.Referring to FIG. 3 ,
PLM(30)은 수학식 1과 같은 피처 를 출력한다.The
[수학식 1][Equation 1]
여기서, [CLS]는 문장 전체를 나타내고, [SEP]는 각각의 문장을 구분하는 특수 토큰이다. 은 의 토큰 집합을 의미하고, M은 토큰의 수를 의미한다. 그리고, 는 [CLS] 토큰에 대응하는 마지막 은닉 상태 벡터(last hidden state vector)를 의미한다.Here, [CLS] represents the entire sentence, and [SEP] is a special token that distinguishes each sentence. silver means a set of tokens, and M means the number of tokens. and, Means the last hidden state vector corresponding to the [CLS] token.
본 실시예에 따른 클러스터링 방법에서는 의미 왜곡을 유발할 수 있는 데이터 증강을 사용하지 않고 대조 학습을 적용하는 것으로 목표로 한다. 프로세서(120)는 PLM(30)을 활용하여 입력으로 들어온 문장을 인코딩하고 벡터의 내적(dot product)을 사용하여 유사도 행렬(310)을 생성할 수 있다.The clustering method according to the present embodiment aims to apply contrast learning without using data augmentation that may cause semantic distortion. The
을 의 조밀한 문맥 표현이라 하자. 프로세서(120)는 인스턴스 쌍이 동일한 클러스터(예를 들면, 동일한 의도)에 속하는지 여부를 나타내는 유사도 행렬(310)을 계산할 수 있다. 문맥 표현에 대한 유사도 행렬(310)은 수학식 2와 같이 정의될 수 있다. second Let be a dense contextual representation of The
[수학식 2][Equation 2]
여기서, 는 동일한 인스턴스가 포지티브 쌍으로 선택되는 것을 막기 위한 무한수(infinite number)를 의미한다. 는 N×N 차원을 가진 유사도 행렬을 나타내고, 은 와 사이의 유사성을 나타낸다. 본 실시예에서는 유사도 함수로 정규화 및 차원성 감소가 없는 표현의 내적을 사용한다.here, means an infinite number to prevent the same instance from being selected as a positive pair. denotes a similarity matrix with dimensions N×N, silver and indicate similarities between them. In this embodiment, the dot product of an expression without normalization and dimensionality reduction is used as the similarity function.
자신을 제외하고 와 가장 유사한 샘플은 포지티브 샘플로 나타내고 나머지 샘플은 네거티브 샘플로 나타낸다. 본 실시예에서는 수학식 3과 같이 정의된 교차 엔트로피 손실을 사용한다.except for myself The sample most similar to is designated as a positive sample and the remaining samples are designated as negative samples. In this embodiment, the cross entropy loss defined as in Equation 3 is used.
[수학식 3][Equation 3]
여기서, 은 인 경우 1을 출력하고 그 외 0을 출력하는 지시 함수(indicator function)를 의미하고, 는 모델이 예측하기 어려운 하드 네거티브들에서 학습하는 데에 도움이 되는 확률 조절 파라미터(temperature parameter)를 의미한다.here, silver means an indicator function that outputs 1 in case of , and outputs 0 otherwise, denotes a temperature parameter that helps the model learn from hard negatives that are difficult to predict.
인스턴스 레벨의 대조 학습과 달리, 본 발명은 수학식 2와 수학식 3의 결과로서 동일한 의도를 가진 데이터 인스턴스를 명시적으로 그룹화함으로써 클러스터링에 적합한 피처를 학습할 수 있다.Unlike instance-level collational learning, the present invention can learn features suitable for clustering by explicitly grouping data instances with the same intent as a result of Equations 2 and 3.
도 4는 본 발명의 일실시예에 있어서 보조 표현에 대한 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.4 illustrates an example of a process of generating a similarity matrix for an auxiliary expression according to an embodiment of the present invention.
본 발명에 따른 비지도 대조 학습은 데이터 증강 기반 대조 학습보다 유리하다. 데이터 증강 기반 대조 학습은 의미적 유사성에 관계없이 다른 인스턴스를 밀어내는 반면, 본 발명에 따른 비지도 대조 학습은 의미적 유사성을 고려하여 서로 다른 인스턴스를 함께 그룹화할 수 있다.Unsupervised collated learning according to the present invention is more advantageous than collated learning based on data augmentation. Contrastive learning based on data augmentation pushes out other instances regardless of semantic similarity, whereas unsupervised collegial learning according to the present invention can group different instances together in consideration of semantic similarity.
파인 튜닝(fine tuning)이 이루어 지지 않은 데이터 표현(representation)들 간의 유사성만을 사용하여 레이블이 없는 데이터에서 포지티브 샘플을 추출하는 것은 한계가 있다. PLM(30)은 타겟 도메인에 대해 충분한 학습이 이루어지지 않은 학습 초기에 인스턴스를 충분히 표현하지 못한 벡터를 출력할 수 있다. 이로 인해 유사도 계산뿐만 아니라 샘플 선택이 잘못 이루어질 수 있다. 초기 단계에 포지티브 샘플이 잘못 선택되면 학습에 노이즈가 포함될 수 있고 학습 진행에 따라 지속적으로 노이즈가 누적되어 모델 성능이 저하될 수 있다.There is a limit to extracting positive samples from unlabeled data using only similarity between data representations without fine tuning. The
이러한 문제를 완화하기 위해 본 실시예에서는 PLM(30)을 통해 인코딩된 문맥 표현을 보완할 수 있는 보조 표현을 사용할 수 있다. 일례로, 프로세서(120)는 단어의 순서를 무시하고 단어의 유무(존재 또는 부재)와 데이터셋 내 단어의 중요성에 초점을 두는 희소 단어 표현을 적용하여 보조 표현을 생성할 수 있다. 보조 표현을 위해서는 텍스트 유형의 데이터인 경우 BoW(bag of words), TF-IDF(Term Frequency - Inverse Document Frequency) 등을 사용할 수 있고, 일례로 유니그램(unigram) TF-IDF를 사용할 수 있다.In order to alleviate this problem, in the present embodiment, an auxiliary expression capable of supplementing the context expression encoded through the
본 실시예에서는 데이터 분류 대상을 텍스트 데이터로 설명하고 있으나, 이에 한정되는 것은 아니며, 예를 들어 이미지의 경우 보조 표현은 딥러닝 방법론을 대신하여 뎁스 맵(depth map)이나 이미지 간 피처 맵(feature map) 등 이미지로부터 유사도 행렬을 구성하는데 필요한 피처를 추출할 수 있는 다양한 기법을 적용할 수 있다. 다시 말해, 딥러닝 기반 유사도 행렬과 딥러닝 이외에 이미지에 특화된 방법론으로 구성한 새로운 유사도 행렬을 결합하여 이미지 클러스터링을 목적으로 하는 대조 학습에 적용할 수 있다.In this embodiment, the data classification target is described as text data, but is not limited thereto. For example, in the case of an image, the auxiliary expression is a depth map or a feature map between images instead of a deep learning methodology ), etc. can be applied to various techniques that can extract features necessary to construct a similarity matrix from an image. In other words, it can be applied to contrast learning for the purpose of image clustering by combining a deep learning-based similarity matrix and a new similarity matrix composed of a methodology specific to images in addition to deep learning.
보조 표현은 단어 빈도를 비교함으로써 의미론적 의미(semantic meaning)와는 무관하게 인스턴스 간의 유사성을 명시적으로 나타낼 수 있다. 단어 빈도에 기초한 유사성은 학습 초기 단계에서 적절한 포지티브 샘플을 선택하도록 모델을 가이드할 수 있으며, 그 결과 보조 표현은 학습 초기 단계에서 노이즈를 줄일 수 있다.Auxiliary representations can explicitly indicate similarity between instances, regardless of semantic meaning, by comparing word frequencies. Similarity based on word frequency can guide the model to select appropriate positive samples at an early stage of training, so that auxiliary representations can reduce noise at an early stage of learning.
보조 표현은 수학식 4와 같이 정의될 수 있다.An auxiliary expression can be defined as in Equation 4.
[수학식 4][Equation 4]
여기서, 는 단어 크기를 의미한다. 을 의 보조 표현이라 한다.here, stands for word size. second is called the auxiliary expression of
보조 표현에 대한 유사도 행렬(420)은 수학식 5와 같이 정의될 수 있다.The
[수학식 5][Equation 5]
여기서, 는 동일한 인스턴스가 포지티브 쌍으로 선택하는 것을 막기 위한 무한수를 의미한다. 는 N×N 차원을 가진 유사도 행렬을 나타내고, 은 와 사이의 유사성을 나타낸다.here, means an infinite number to prevent the same instance from choosing as a positive pair. denotes a similarity matrix with dimensions N×N, silver and indicate similarities between them.
도 5는 본 발명의 일실시예에 있어서 대조 학습을 위한 최종 유사도 행렬을 생성하는 과정의 예시를 도시한 것이다.5 illustrates an example of a process of generating a final similarity matrix for collation learning in one embodiment of the present invention.
도 5를 참조하면, 프로세서(120)는 문맥 표현에 대한 유사도 행렬(310)과 보조 표현에 대한 유사도 행렬(420)을 결합하여 대조 학습을 위한 최종 유사도 행렬(530)을 생성할 수 있다. 일례로, 프로세서(120)는 문맥 표현에 대한 유사도 행렬(310)과 보조 표현에 대한 유사도 행렬(420) 중 적어도 하나에 적절한 값을 곱해 스케일을 맞춘 후 두 유사도 행렬(310)(420)을 더하여 최종 유사도 행렬(530)을 구성할 수 있다.Referring to FIG. 5 , the
일례로, 최종 유사도 행렬(530)은 수학식 6과 같이 정의될 수 있다.As an example, the
[수학식 6][Equation 6]
여기서, 은 문맥 표현에 대한 유사도 행렬(310) 와 보조 표현에 대한 유사도 행렬(420) 간의 스케일 조정을 위한 하이퍼 파라미터를 의미한다.here, is the
프로세서(120)는 를 에 곱하여 의 스케일을 조정한 후 와 더하는 방식으로 최종 유사도 행렬(530)을 생성할 수 있다.
프로세서(120)는 학습 시마다 를 계산할 수 있으며, 이때 는 수학식 7과 같이 정의될 수 있다.
[수학식 7][Equation 7]
여기서, 는 의 표준 편차(standard deviation)를 의미하고, 는 의 평균 값을 의미한다.here, Is means the standard deviation of Is mean the average value of
프로세서(120)는 보조 표현의 영향을 줄이기 위해 보조 표현에 대한 학습율을 감소시키기 위한 감쇄(decay) 계수를 스케일 조정 파라미터 에 곱한 후 보조 표현에 대한 유사도 행렬(420) 에 반영할 수 있다.In order to reduce the influence of the auxiliary expression, the
다시 말해, 감쇄 계수는 학습이 진행됨에 따라 점차적으로 보조 표현의 영향력을 줄여가며 PLM(30) 자체를 학습시키는 것을 목적으로 한다. 예를 들어, 감쇄 계수의 초기 값은 1로 설정될 수 있고, 모든 데이터 셋에 대해 1 에포크(epoch) 학습이 진행되면 0.9씩 줄일 수 있다.In other words, the attenuation coefficient aims to learn the
도 6은 본 발명의 일실시예에 있어서 유사도 행렬을 이용한 대조 학습 과정의 예시를 도시한 것이다.6 illustrates an example of a collation learning process using a similarity matrix in an embodiment of the present invention.
도 6을 참조하면, 프로세서(120)는 최종 유사도 행렬(530)에 대해 행 단위로 가장 값이 높은 데이터를 포지티브 샘플로 선택하고 나머지 데이터를 네거티브 샘플로 선택한 후 모델에 대한 대조 학습을 진행할 수 있다. 다시 말해, 프로세서(120)는 각 데이터 인스턴스에 대해 포지티브 샘플을 추출한 다음 대조 손실을 적용할 수 있다. 포지티브 샘플과는 가까워지도록, 네거티브 샘플과는 멀어지도록 학습함으로써 포지티브 쌍으로 선택된 배치에서 다른 인스턴스에 더 가까이 가져오면 클러스터 내 거리뿐만 아니라 클러스터 간의 거리까지 고려할 수 있다. 대조 학습에는 교차 엔트로피 손실을 사용할 수 있으나, 이에 한정되는 것은 아니다.Referring to FIG. 6 , the
도 7은 본 발명의 일실시예에 있어서 비지도 대조 학습으로 학습된 PLM을 이용한 클러스터링 과정의 예시를 도시한 것이다.7 illustrates an example of a clustering process using PLM learned by unsupervised collegial learning in one embodiment of the present invention.
도 7을 참조하면, 프로세서(120)는 클러스터링에 적합한 특징을 학습하여 동일한 레이블(예를 들어, 의도)을 가진 인스턴스를 그룹화하는 클러스터링을 진행할 수 있다. 프로세서(120)는 주어진 입력 데이터에 대해 학습된 PLM(30)에서 표현을 추출하여 다양한 클러스터링 알고리즘을 적용함으로써 해당 표현을(예를 들어, 해당 표현이 어떤 의도에 해당하는지를) 분류할 수 있다.Referring to FIG. 7 , the
예를 들어, K-mean 클러스터링 알고리즘은 수학식 8의 비용 함수를 최적화하는 알고리즘 중 하나가 될 수 있다.For example, the K-mean clustering algorithm can be one of the algorithms for optimizing the cost function of Equation 8.
[수학식 8][Equation 8]
여기서, K는 미리 정의된 클러스터 수를 의미하고, 는 0이 아닌 요소가 하나만 있는 할당 벡터(assignment vector)를 의미한다. 는 의 j번째 요소를 나타내며, W의 k번째 열은 k번째 클러스터의 센트로이드(centroid)를 나타낸다.Here, K denotes a predefined number of clusters, denotes an assignment vector with only one non-zero element. Is represents the jth element of W, and the kth column of W represents the centroid of the kth cluster.
이처럼 본 발명의 실시예들에 따르면, 데이터 인스턴스 간의 유사성을 활용하여 포지티브 샘플을 추출함으로써 데이터 증강을 사용하지 않고 비지도 대조 학습을 수행할 수 있다.As described above, according to embodiments of the present invention, unsupervised collation learning can be performed without using data augmentation by extracting positive samples by utilizing similarity between data instances.
그리고, 본 발명의 실시예들에 따르면, 적절한 포지티브 샘플을 추출하도록 모델을 가이드하는 보다 넓은 카테고리의 희소 표현(보조 표현)을 조밀한 문맥 표현과 함께 입력 표현으로 사용함으로써 문맥 표현만을 사용할 때 발생하는 초기 학습 단계에서의 불안정성을 완화시킬 수 있다.And, according to embodiments of the present invention, sparse representations (auxiliary representations) of a broader category that guide the model to extract appropriate positive samples are used as input representations together with dense contextual representations, resulting in Instability in the early learning stage can be alleviated.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable PLU (programmable logic unit). logic unit), microprocessor, or any other device capable of executing and responding to instructions, one or more general purpose or special purpose computers. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. The software and/or data may be embodied in any tangible machine, component, physical device, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. there is. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. In this case, the medium may continuously store a program executable by a computer or temporarily store the program for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
Claims (14)
상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 데이터 분류 방법은,
상기 적어도 하나의 프로세서에 의해, 주어진 데이터의 문맥 표현(contextual representation)에 대한 제1 유사도 행렬을 생성하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 문맥 표현을 보완한 보조 표현(auxiliary representation)에 대한 제2 유사도 행렬을 생성하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 제1 유사도 행렬과 상기 제2 유사도 행렬을 결합하여 제3 유사도 행렬을 생성하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 제3 유사도 행렬을 이용한 대조 학습(contrastive learning)을 통해 데이터 분류를 위한 모델 학습을 수행하는 단계
를 포함하는 데이터 분류 방법.A data classification method executed on a computer device,
The computer device includes at least one processor configured to execute computer readable instructions contained in a memory;
The data classification method,
generating, by the at least one processor, a first similarity matrix for a contextual representation of given data;
generating, by the at least one processor, a second similarity matrix for an auxiliary representation complementing the context representation;
generating, by the at least one processor, a third similarity matrix by combining the first similarity matrix and the second similarity matrix; and
Performing, by the at least one processor, model learning for data classification through contrastive learning using the third similarity matrix.
Data classification method comprising a.
상기 모델 학습을 수행하는 단계는,
레이블이 없는 데이터 분류를 위해 데이터 간의 유사성을 기초로 포지티브 샘플(positive sample)을 추출하여 상기 대조 학습을 수행하는 것
을 특징으로 하는 데이터 분류 방법.According to claim 1,
The step of performing the model learning,
Performing the contrast learning by extracting positive samples based on similarity between data for label-free data classification
Characterized by a data classification method.
상기 모델 학습을 수행하는 단계는,
상기 제3 유사도 행렬에 대해 행 단위(row-wise)로 포지티브 샘플과 네거티브 샘플(negative sample)을 선택하는 단계; 및
상기 포지티브 샘플과 상기 네거티브 샘플에 대해 교차 엔트로피 손실(cross entropy loss)을 적용하여 상기 대조 학습을 수행하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
The step of performing the model learning,
selecting positive samples and negative samples row-wise for the third similarity matrix; and
Performing the contrast learning by applying cross entropy loss to the positive samples and the negative samples.
Data classification method comprising a.
상기 제1 유사도 행렬을 생성하는 단계는,
PLM(pretrained language model)을 통해 상기 데이터를 인코딩함으로써 조밀한 문맥 표현(dense contextual representation)을 추출하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the first similarity matrix,
Extracting a dense contextual representation by encoding the data through a pretrained language model (PLM)
Data classification method comprising a.
상기 제1 유사도 행렬을 생성하는 단계는,
상기 문맥 표현에 대한 벡터의 내적(dot product)을 사용하여 상기 제1 유사도 행렬을 생성하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the first similarity matrix,
generating the first similarity matrix using a dot product of vectors with respect to the context representation;
Data classification method comprising a.
상기 제2 유사도 행렬을 생성하는 단계는,
데이터의 순서와 관계없이 데이터의 존재를 나타내는 희소 표현으로 상기 보조 표현을 생성하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the second similarity matrix,
generating the auxiliary representation as a sparse representation representing the presence of data regardless of the order of the data;
Data classification method comprising a.
상기 제2 유사도 행렬을 생성하는 단계는,
텍스트 유형의 데이터가 주어지는 경우 TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 보조 표현을 생성하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the second similarity matrix,
Generating the auxiliary expression using TF-IDF (Term Frequency-Inverse Document Frequency) when text type data is given
Data classification method comprising a.
상기 제2 유사도 행렬을 생성하는 단계는,
이미지 유형의 데이터가 주어지는 경우 이미지에 대한 뎁스 맵(depth map) 또는 피처 맵(feature map)을 이용하여 상기 보조 표현을 생성하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the second similarity matrix,
Generating the auxiliary expression using a depth map or feature map for an image when data of an image type is given
Data classification method comprising a.
상기 제3 유사도 행렬을 생성하는 단계는,
상기 제1 유사도 행렬의 표준 편차와 상기 제2 유사도 행렬의 평균을 이용하여 상기 제1 유사도 행렬과 상기 제2 유사도 행렬 간의 스케일 조정을 위한 하이퍼 파라미터를 결정하는 단계
를 포함하는 데이터 분류 방법.According to claim 1,
Generating the third similarity matrix,
Determining a hyperparameter for scaling between the first similarity matrix and the second similarity matrix using the standard deviation of the first similarity matrix and the average of the second similarity matrix
Data classification method comprising a.
상기 제3 유사도 행렬을 생성하는 단계는,
학습 진행에 따라 상기 제2 유사도 행렬에 대한 감쇄(decay) 계수를 설정하는 단계
를 포함하는 데이터 분류 방법.According to claim 9,
Generating the third similarity matrix,
Setting a decay coefficient for the second similarity matrix according to learning progress
Data classification method comprising a.
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
주어진 데이터의 문맥 표현에 대한 제1 유사도 행렬을 생성하는 과정;
상기 문맥 표현을 보완한 보조 표현에 대한 제2 유사도 행렬을 생성하는 과정;
상기 제1 유사도 행렬과 상기 제2 유사도 행렬을 결합하여 제3 유사도 행렬을 생성하는 과정; 및
상기 제3 유사도 행렬을 이용한 대조 학습을 통해 데이터 분류를 위한 모델 학습을 수행하는 과정
을 처리하는 컴퓨터 장치.In a computer device,
at least one processor configured to execute computer readable instructions contained in memory;
including,
The at least one processor,
generating a first similarity matrix for a contextual representation of given data;
generating a second similarity matrix for an auxiliary expression supplemented with the context expression;
generating a third similarity matrix by combining the first similarity matrix and the second similarity matrix; and
A process of performing model learning for data classification through contrast learning using the third similarity matrix
A computer device that processes
상기 적어도 하나의 프로세서는,
레이블이 없는 데이터 분류를 위해 데이터 간의 유사성을 기초로 포지티브 샘플을 추출하여 상기 대조 학습을 수행하는 것
을 특징으로 하는 컴퓨터 장치.According to claim 12,
The at least one processor,
Performing the contrast learning by extracting positive samples based on similarity between data for classification of unlabeled data
Characterized by a computer device.
상기 적어도 하나의 프로세서는,
상기 제3 유사도 행렬에 대해 행 단위로 포지티브 샘플과 네거티브 샘플을 선택하는 단계; 및
상기 포지티브 샘플과 상기 네거티브 샘플에 대해 교차 엔트로피 손실을 적용하여 상기 대조 학습을 수행하는 것
을 특징으로 하는 컴퓨터 장치.According to claim 12,
The at least one processor,
selecting positive samples and negative samples in row units from the third similarity matrix; and
Performing the contrast learning by applying cross entropy loss to the positive samples and the negative samples.
Characterized by a computer device.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210098157A KR102579908B1 (en) | 2021-07-26 | 2021-07-26 | Method, computer device, and computer program to classify data using unsupervised contrastive learing |
| JP2022117697A JP7353435B2 (en) | 2021-07-26 | 2022-07-25 | Method, computer device, and computer program for classifying data by unsupervised contrastive learning |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210098157A KR102579908B1 (en) | 2021-07-26 | 2021-07-26 | Method, computer device, and computer program to classify data using unsupervised contrastive learing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20230016537A true KR20230016537A (en) | 2023-02-02 |
| KR102579908B1 KR102579908B1 (en) | 2023-09-18 |
Family
ID=85157822
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210098157A Active KR102579908B1 (en) | 2021-07-26 | 2021-07-26 | Method, computer device, and computer program to classify data using unsupervised contrastive learing |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7353435B2 (en) |
| KR (1) | KR102579908B1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117688412A (en) * | 2024-02-02 | 2024-03-12 | 中国人民解放军海军青岛特勤疗养中心 | Intelligent data processing system for orthopedic nursing |
| KR102670850B1 (en) * | 2023-05-04 | 2024-05-30 | 주식회사 액션파워 | Method for searching video based on video segmentation |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118410206B (en) * | 2024-07-01 | 2024-09-13 | 杭州海康威视数字技术股份有限公司 | Unsupervised efficient video retrieval method, device and equipment based on contrastive learning |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5936698B2 (en) * | 2012-08-27 | 2016-06-22 | 株式会社日立製作所 | Word semantic relation extraction device |
-
2021
- 2021-07-26 KR KR1020210098157A patent/KR102579908B1/en active Active
-
2022
- 2022-07-25 JP JP2022117697A patent/JP7353435B2/en active Active
Non-Patent Citations (1)
| Title |
|---|
| 정지수 등., 문서 유사도를 통한 관련 문서 분류 시스템 연구, 방송공학회논문지 제24권 제1호, 77-86pages (2019.1) * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102670850B1 (en) * | 2023-05-04 | 2024-05-30 | 주식회사 액션파워 | Method for searching video based on video segmentation |
| US12153627B1 (en) | 2023-05-04 | 2024-11-26 | Action Power Corp. | Method for searching video based on video segmentation |
| CN117688412A (en) * | 2024-02-02 | 2024-03-12 | 中国人民解放军海军青岛特勤疗养中心 | Intelligent data processing system for orthopedic nursing |
| CN117688412B (en) * | 2024-02-02 | 2024-05-07 | 中国人民解放军海军青岛特勤疗养中心 | Intelligent data processing system for orthopedic nursing |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7353435B2 (en) | 2023-09-29 |
| KR102579908B1 (en) | 2023-09-18 |
| JP2023017740A (en) | 2023-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250165792A1 (en) | Adversarial training of machine learning models | |
| US12299579B2 (en) | Adversarial pretraining of machine learning models | |
| US11741109B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
| US11797822B2 (en) | Neural network having input and hidden layers of equal units | |
| US12299124B2 (en) | Deep learning based detection of malicious shell scripts | |
| US20210141799A1 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
| US20210035556A1 (en) | Fine-tuning language models for supervised learning tasks via dataset preprocessing | |
| EP3295381B1 (en) | Augmenting neural networks with sparsely-accessed external memory | |
| US20210295103A1 (en) | Utilizing machine learning models, position based extraction, and automated data labeling to process image-based documents | |
| US20150095017A1 (en) | System and method for learning word embeddings using neural language models | |
| JP7353435B2 (en) | Method, computer device, and computer program for classifying data by unsupervised contrastive learning | |
| US20240394477A1 (en) | Constructing Prompt Information for Submission to a Language Model by Dynamically Selecting from Context Information | |
| AU2023437681A1 (en) | Systems and methods for generating query responses | |
| US11900070B2 (en) | Producing explainable rules via deep learning | |
| JP2024503036A (en) | Methods and systems for improved deep learning models | |
| KR20220154181A (en) | A Cross-Transformer Neural Network System for Pushot Similarity Determination and Classification | |
| US20240028897A1 (en) | Interpreting convolutional sequence model by learning local and resolution-controllable prototypes | |
| US20230108177A1 (en) | Hardware-Aware Progressive Training Of Machine Learning Models | |
| US20240281705A1 (en) | Decoupled optimization of models during pretraining | |
| CN115101032A (en) | Method, apparatus, electronic device and medium for generating a textual soundtrack | |
| Fatima | Deploying Transformer Models to Detect and Analyze Sponsored Content in Spotify Podcasts | |
| US20250209309A1 (en) | Methods and systems for generating labeled training data | |
| US20250272487A1 (en) | Systems and methods for enhanced text retrieval with transfer learning | |
| EP4621658A1 (en) | Training a model with reinforcement learning to promote novelty and relevance | |
| US20250095350A1 (en) | Meta-testing of representations learned using self-supervised tasks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20210726 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230115 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| 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: 20230628 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230913 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20230914 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |