대조 학습(CL)은 최근 새로운 개념의 AI 분야에서 인기 있는 연구 방향은 많은 연구자들의 주목을 받고 있으며, ICLR 2020에서는 Bengio, LeCun 등의 유명 인사들이 AI의 미래로 꼽는 자기주도학습 방식이 주목을 받고 있습니다. NIPS, ACL, KDD, CIKM 및 기타 주요 컨퍼런스에 등재되어 있으며 Google, Facebook, DeepMind, Alibaba, Tencent, Byte 및 기타 주요 제조업체도 CL 관련 작업에 투자하여 CV를 극대화했습니다. 일부 NLP 문제에 대해서는 AI계에서 이례적이라고 할 수 있다.
CL의 기술 소스는 메트릭 학습에서 비롯됩니다. 일반적인 아이디어는 샘플의 긍정적인 예와 부정적인 예를 정의하고 매핑 관계(엔티티를 새 공간에 매핑)를 정의하는 것이며 최적화 목표는 긍정적인 것을 만드는 것입니다. 예제는 공간의 대상 샘플과 일치합니다. 거리가 더 가까운 반면, 부정적인 예제는 상대적으로 멀습니다. 이 때문에 CL은 벡터화 회상의 개념과 매우 유사해 보이지만 실제로 둘 사이에는 본질적인 차이점이 있습니다. 샘플(음성 샘플이 왕이라는 "교리"로 알려짐), CL은 수동 레이블 정보가 필요하지 않고 데이터 자체를 감독 정보로 직접 사용하여 학습하는 자기 지도 학습(비지도 학습의 패러다임)의 한 분야입니다. 데이터의 특징적인 표현을 샘플링한 다음 다운스트림 작업에서 참조합니다. 또한 CL의 핵심 기술은 데이터 증대(Data Augmentation)로, 이는 양성 샘플을 구성하는 방법에 더 중점을 둡니다. 아래 그림은 추상 CL 전체 흐름도입니다
대조 학습의 라벨 정보는 데이터 자체에서 나오며, 핵심 모듈은 데이터 강화입니다. 이미지 분야의 데이터 향상 기술은 비교적 직관적입니다. 예를 들어 이미지 회전, 폐색, 부분 추출, 색상 지정, 흐리게 처리 등의 작업을 통해 일반적으로 원본 이미지와 유사하지만 부분적으로 다른(즉, 이미지가 다른) 새로운 이미지를 생성할 수 있습니다. 향상된 새 이미지). 아래 그림은 이미지 데이터 향상 방법(SimCLR[1])의 일부입니다.
CL의 원리에 관해서는 자기 지도 학습을 언급해야 합니다. 이는 수동 주석의 높은 비용과 낮은 라벨 적용 범위의 희박함을 피하여 더 쉽게 만듭니다. 일반적인 기능 표현을 배우십시오. 자기 지도 학습은 생성 방법과 대조 방법이라는 두 가지 주요 범주로 나눌 수 있습니다. 생성 방법의 대표적인 대표자는 오토인코더이고, 대조 학습의 대표적인 대표자는 특징 공간에서 (향상된) 양성 샘플과 음성 샘플의 비교를 통해 특징 표현을 학습하는 ICLR 2020의 SimCLR입니다. 생성 방법과 비교할 때 대조 방법의 장점은 픽셀 수준에서 샘플을 재구성할 필요가 없고 특징 공간에서의 구별성만 학습하면 되므로 관련 최적화가 간단해진다는 것입니다. 저자는 CL의 효율성이 주로 학습항목 표현의 미분성에 반영되며, 미분성의 학습은 양성 및 음성 샘플의 구성 아이디어는 물론 특정 모델 구조 및 최적화 목표에 의존한다고 믿습니다.
CL의 구현 프로세스와 결합하여Dr Zhang[2]은 CL이 대답해야 하는 세 가지 질문을 추상화합니다. 이는 또한 메트릭 학습과 구별되는 전형적인 특징이기도 합니다. 즉 (1) 긍정적인 구성 방법 예제 및 부정적인 예제 예제, 즉 데이터 향상이 구체적으로 구현되는 방법 (2) 원본 정보를 최대한 유지할 뿐만 아니라 붕괴 문제를 방지하는 인코더 매핑 기능을 구성하는 방법; 현재 일반적으로 사용되는 NCE 손실인 손실 함수는 다음 공식과 같습니다. 이 세 가지 기본 질문이 모델링의 세 가지 요소인 샘플, 모델 및 최적화 알고리즘에 해당한다는 것을 아는 것은 어렵지 않습니다.
S 함수는 거리가 가까울수록 해당 S 값이 더 크다는 것을 분자 부분에서 강조하는 것을 볼 수 있습니다. 분모는 부정적인 예에서 멀어질수록 손실이 낮을수록 해당 구별성이 높다는 것을 강조합니다.이 세 가지 기본 문제 중 데이터 향상은 CL 알고리즘의 핵심 혁신입니다. 다양한 향상 방법은 알고리즘의 효율성에 대한 기본 보장이며 주요 CL 알고리즘의 정체성은 일반적으로 다음의 도움으로 구현됩니다. NCE 손실을 제외한 신경망 또한 감독 대비 손실을 제안한 Google[3]과 같은 손실의 다른 변형도 있습니다.
CL은 자기 지도 학습의 학습 알고리즘으로, Bert는 아마도 NLP 분야에서 피할 수 없는 주제일 것입니다. NLP에서는 자기 감독이 성공할 수 있는데, 컴퓨터 비전도 성공할 수는 없을까요? 실제로 Bert의 NLP 분야에서의 성공은 이미지 분야에서의 CL의 발생과 발전에도 직접적으로 자극을 주기도 했습니다. 이미지 분야에서 직관적으로 데이터 강화를 수행할 수 있다는 점에서 CL은 CV 분야에서도 가장 먼저 진전을 이루었습니다. 예를 들어 CL - SimCLR 알고리즘의 개발 기회는 주로 다음과 같습니다. 1) 여러 가지 데이터 향상 기술의 조합을 탐색하고 최적의 기술을 선택했습니다. (2) 인코더 다음에 비선형 매핑 프로젝터가 추가되었습니다. 주로 인코더에서 학습한 벡터 표현에 향상된 정보가 포함되기 때문입니다. 영향의 이 부분을 제거하고 데이터의 본질로 돌아갑니다. 나중에 Hinton의 학생들은 SimCLR을 기반으로 SimCLR v2를 구현했습니다. 또한 SOTA를 더욱 개선하기 위해 MoCo에서 사용하는 메모리 뱅크의 아이디어를 끌어냈습니다.
실제로 SimCLR 이전에 Kaiming은 2019년 말에 또 다른 고전적인 대조 학습 알고리즘을 제안했습니다.MoCo[4] 주요 아이디어는 비교가 양성 샘플과 음성 샘플 간에 수행되므로 다음과 같습니다. Negative Sample의 수를 늘리면 학습 작업의 난이도가 높아져 모델 성능이 향상될 수 있습니다. Memory Bank는 이 문제를 해결하기 위한 고전적인 아이디어이지만 MoCo 알고리즘은 일관성 없는 표현 문제를 피할 수 없습니다. 인코더 매개변수를 업데이트하기 위해 모멘텀을 사용하여 이전 후보 샘플과 새 후보 샘플의 일관성 없는 코딩 문제를 해결할 것을 제안합니다. 나중에 Kaiming He는 MoCo를 기반으로 MoCo v2를 제안했습니다(SimCLR이 제안된 후). 모델의 주요 프레임워크는 변경되지 않았으며 데이터 향상 방법, 인코더 구조 및 학습 속도와 같은 세부 사항이 최적화되었습니다.
대조 학습은 이미지, 텍스트, 다중 양식 등 여러 분야에서 학계에서 널리 사용되는 연구 방향일 뿐만 아니라 추천 시스템으로 대표되는 산업에도 적용되었습니다.
Google은 추천 시스템에 CL을 적용합니다Google SSL[5] 목적은 인기가 없는 틈새 항목에 대한 고품질 벡터 표현을 학습하여 추천 콜드 스타트 문제를 해결하는 데 도움을 주는 것입니다. 데이터 향상 기술은 주로 RFM(Random Feature Masking) 및 CFM(Corlated Feature Masking) 방식을 사용하며(CFM은 RFM이 유효하지 않은 변형을 어느 정도 구성할 수 있는 문제를 해결함) 다음과 같은 형태로 CL을 트윈 타워와 결합합니다. Recall의 주요 임무는 함께 훈련됩니다. 전체적인 과정은 아래 그림과 같습니다
모델의 훈련 과정에서 주요 임무의 항목은 주로 노출 로그에서 나오므로 Matthew 효과를 제거하기 위해 보조 작업에서 샘플 구성의 영향은 주 작업과 다른 분포를 고려해야 합니다. 또한 후속 CL도 이러한 생각을 연습 과정에서 끌어냈습니다. 모델 학습 결과의 전체 범위를 보장하기 위해 Zhuanzhuan의
데이터 강화는 아이템 측면에만 국한되지 않고, Alibaba-Seq2seq[6] CL의 아이디어를 시퀀스 추천 문제에 적용합니다. 즉, 사용자 행동 시퀀스를 입력하고 예측합니다. 다음으로 가능한 대화형 항목입니다. 구체적으로, 데이터 강화는 주로 사용자 행동 시퀀스의 특성에 적용됩니다. 사용자의 과거 행동 시퀀스는 데이터 강화 후 사용자의 표현으로 두 개의 하위 시퀀스로 나누어집니다. 타워 모델은 최종 출력 결과가 유사할수록 좋습니다. 동시에, 사용자의 다양한 관심사를 명시적으로 모델링하기 위해 이 기사에서는 여러 벡터를 하나의 사용자 벡터로 압축하는 대신 인코더 부분에서 여러 벡터를 추출합니다. 하위 시퀀스의 분할과 긍정적인 예와 부정적인 예의 구성으로 인해 사용자는 자연스럽게 여러 행동 시퀀스의 벡터 표현을 갖게 됩니다. 긍정적인 예에서는 사용자의 과거 행동의 이전 부분의 벡터가 후반부의 벡터에 가깝습니다. , 부정적인 예에서는 서로 다른 사용자 간의 거리가 상대적으로 멀고, 동일한 사용자의 경우에도 서로 다른 카테고리의 제품에 대한 벡터 표현이 상대적으로 멀리 떨어져 있습니다.
CL은 다른 학습 패러다임과 결합하여 적용할 수도 있으며, 그래프 비교 학습[7] 전체 프레임워크는 아래 그림과 같습니다
GCL은 일반적으로 그래프에서 점이나 가장자리를 무작위로 삭제하여 그래프 데이터를 향상시키는 반면, 이 기사의 작성자는 중요한 구조와 속성을 변경하지 않고 유지하는 것을 선호하며 중요하지 않은 가장자리나 노드에서 교란이 발생합니다.
의 실습에서 대조 학습이 성공했으며, 텍스트 필드에서도 Meituan-ConSERT[8] 알고리즘과 같은 실험이 가능합니다. 문장 의미 매칭 작업을 비교한 결과, 기존 SOTA(BERT-flow)보다 8% 향상되었으며, 적은 수의 샘플로도 여전히 좋은 성능 향상을 보일 수 있습니다. 이 알고리즘은 Embedding 계층에 데이터 향상을 적용하고 향상된 샘플을 암시적으로 생성하는 방법을 사용합니다. 구체적으로 Adversarial Attack, Token Shuffling, Cutoff 및 Dropout의 네 가지 데이터 향상 방법이 제안되며, 이 네 가지 방법은 모두 Embedding 행렬을 조정하여 얻습니다. 이는 명시적인 향상 방법보다 더 효율적입니다.
Zhuanzhuan 플랫폼은 저탄소 순환 경제의 더 나은 발전을 촉진하는 데 전념하고 있으며 모든 카테고리의 상품을 포괄할 수 있으며 최근 몇 년 동안 휴대폰 분야에서 특히 좋은 성과를 거두었습니다. 3C. Zhuanzhuan 추천 시스템에서 CL의 실행도 중고 거래의 고유한 속성을 고려하여 텍스트 기반 응용 아이디어를 선택합니다. 해결해야 할 문제에는 (1) 중고품의 고아 속성이 포함됩니다. (2) 데이터 향상이 어떻게 구현되는지, (3) 긍정적이고 부정적인 예가 어떻게 구성되는지, (4) 인코더의 모델 구조는 무엇입니까(손실 설계 문제 포함). 이 네 가지 문제를 해결하기 위해 아래 전체 흐름도와 함께 자세히 설명하겠습니다
중고품의 고아 속성 문제를 고려하여 제품 표현으로 텍스트 기반 벡터를 사용합니다. 제품 컬렉션의 텍스트 설명(제목 및 내용 포함)을 사용하고, word2vec 모델을 훈련하고, 단어 벡터를 기반으로 한 풀링을 통해 제품의 벡터 표현을 얻습니다.
오토 인코더 알고리즘은 텍스트 비교 학습 분야에서 일반적으로 사용되는 데이터 향상 방법 중 하나입니다(이 외에도 기계 번역, CBERT 등 다양한 아이디어가 있습니다). 또한 AE 알고리즘을 사용하여 모델을 훈련하고 학습합니다. 제품 벡터, 알고리즘의 중간 벡터를 제품의 향상된 벡터 표현으로 사용하는 긍정적인 예가 있습니다.
네거티브 예시의 제작 원칙은 Batch 내에서 서로 다른 상품을 무작위로 선택하는 것입니다. 유사한 상품을 판단하는 기준은 사용자의 사후 클릭 행위를 기준으로 계산됩니다. CF(Collaborative Filtering)로 대표되는 추천 시스템의 회상 결과에서 공통 클릭 행위를 통해 회상할 수 있는 상품 조합은 유사한 것으로 간주되고, 그렇지 않으면 유사하지 않은 것으로 간주됩니다. 유사성을 판단하기 위해 행동 기반을 사용하는 이유는 한편으로는 사용자의 행동을 소개하고 텍스트와 행동의 유기적인 결합을 달성하는 동시에 비즈니스 목표와 최대한 일치시키기 위함입니다.
특히 인코더 부분의 경우 트윈 네트워크와 유사한 트윈 타워 구조를 사용합니다. 분류 모델을 훈련하기 위해 샘플의 텍스트 벡터(양수 또는 음수)를 각각 공급합니다. 레이어는 완전히 연결된 신경망입니다. 타워는 이 네트워크 매개변수를 공유하고 교차 엔트로피 손실을 최적화하여 모델 매개변수를 최적화합니다. 실제 업계에서는 대부분의 추천 시스템에서 트윈 타워 모델의 훈련 목표가 사용자의 사후 행동(클릭, 수집, 주문 등)인데, 우리의 훈련 목표는 샘플의 유사 여부입니다. 우리가 트윈 네트워크 형태를 채택한 것은, 그렇게 하면 학습 결과의 커버리지를 보장할 수 있기 때문이기도 합니다.
CL의 기존 아이디어에 따르면 최종 Encoder 부분의 입력 벡터는 제품의 벡터 표현으로 추출되며 이는 추천 시스템의 회상, 대략 순위 및 세부 순위에도 적용될 수 있습니다. 현재 Zhuanzhuan 추천 시스템의 리콜 모듈이 구현되어 온라인 주문 및 가방 비율이 10% 이상 증가했습니다.
수동 평가와 온라인 AB 실험을 통해 CL의 학습된 벡터 표현의 효율성이 완전히 확인되었습니다. 회상 모듈이 구현된 후에는 추천 시스템의 다른 모듈에서도 사용할 수 있습니다. 다른 알고리즘 시나리오 확장. 사전 학습 방식으로 제품 벡터 표현을 학습하는 것은(물론 사용자의 벡터 표현도 학습할 수 있음) CL이 데이터 향상 및 비교를 통해 더 많은 학습 프레임워크 또는 학습 아이디어를 제공하는 것입니다. 아이템의 차별성 순위 문제는 아이템의 차별성 문제로도 이해될 수 있기 때문에 이러한 아이디어는 추천 시스템의 순위 모듈에 자연스럽게 도입될 수 있습니다.
저자 소개
Li Guangming, 선임 알고리즘 엔지니어. Zhuanzhuan 검색 알고리즘, 추천 알고리즘, 사용자 초상화 등의 알고리즘 시스템 구축에 참여했으며, GNN, 소규모 표본 학습, 비교 학습 등 관련 분야에 실무 적용을 보유하고 있습니다.
[1]SimCLR: A_Simple_Framework_for_Contrastive_Learning_of_Visual_Representations
[2]Zhang Junlin: https://www.php.cn/link/be7ecaca 534f98c4ca134e527b12d4c8
[ 3]Google: Supervised_Contrastive_Learning
[4]MoCo: Momentum_Contrast_for_Unsupervised_Visual_Representation_Learning
[5]SSL: Self-supervised_Learning_for_Large-scale_Item_Recommendations
[ 6]Ali-Seq2seq: Disentangled_Self-Supervision_in_Sequential_Recommenders
[7] GCL: Graph_contrastive_learning_with_adaptive_augmentation
[8]ConSERT: ConSERT:_A_Contrastive_Framework_for_Self-Supervised_Sentence_Representation_Transfer
위 내용은 Zhuanzhuan의 대조 학습 알고리즘 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!