当前位置:网站首页>自監督學習概述
自監督學習概述
2022-07-19 05:46:00 【byzy】
輸入無標簽,學習一個
的錶達
,以便應用其更高效地解决下遊任務(如分類:用
錶示後,可以使用線性分類器)。
步驟
第一步:學習一個好的
(此時不知道下遊任務是什麼,這是自監督學習與半監督學習的區別)。
第二步:使用
和少量label並借助線性模型解决分類問題。
思路:使用無標簽數據的結構建立人工監督學習問題,然後用深度學習方法解决(在此過程中,也許會建立一個對下有任務有用的內在錶達
)。
分類:自監督學習分為生成學習和對比學習。
生成學習
生成人工標簽來預測,在這個過程中學習錶達。
【例】手寫數字識別
第一步:生成人工標簽,學習錶達
將圖像旋轉一定角度(如
),以旋轉角作為人工標簽。用ConvNet預測旋轉角。然後把head去掉,得到embedding(
)。
第二步:添加手寫數字識別的分類頭(線性分類器),使用帶真實標簽的數據訓練這個分類頭。
實驗證明使用線性分類器的效果很好。
對比學習
找到一個錶達使得相似的輸入有相似度高的特征,不相似的輸入有相似度低的特征。
【例1】自然語言處理中的應用——尋找句子合適的錶達
選取某一句子
和其下一句
(正樣本;認為相鄰的句子有相似的語義信息),外加隨機一個句子
(負樣本;認為和句子
有不同的語義信息),目標:
![\min_f E\left [ \log\left ( 1+e^{f(x)^Tf(x^-)-f(x)^Tf(x^+)} \right ) \right ]](http://img.inotgo.com/imagesLocal/202207/19/202207170508421494_14.gif)
實際是最小化不相鄰句子的錶達的內積(相似度),最大化相鄰句子的錶達的內積(這裏的損失函數被稱為對比損失)。
【例2】將對比學習應用於圖像——SimCLR
原文鏈接:https://arxiv.org/pdf/2002.05709.pdf
(1)使用數據增廣(隨機裁剪&縮放,random color distortion,random Gaussian blur)建立一張圖的兩個相關視圖:
(生成正樣本);
(2)使用編碼器(如ResNet)得到
,稱為embedding(對應
);
(3)使用雙層MLP(
)將
轉換為
(稱為projection head);
(4)損失函數:
定義為
和
的餘弦相似度。選
個圖像作為1個batch,加上其增廣為
個圖像
,計算相似度矩陣
,其中
。
對角元素
(每個圖像和自身相似度最大),其餘正樣本之間
為接近
的數(每個圖像和其增廣的相似度接近最大值),其他地方數應該很小。

包含了相似度矩陣的第i行歸一化

正樣本之間的損失之和最小化;
和
均為
和
的相似度,理論上應該相同,但上面的歸一化導致不同,所以取平均。
幾個結論:
(1)數據增廣的組成很重要(混合使用多種增廣方案,比僅使用1種增廣方案效果好);
(2)大的batchsize和長的訓練時間有好處;
(3)引入雙層MLP(
)對最終結果有好處。
边栏推荐
- Spark源码-Core RDD部分代码解析(一)
- ES6 adds -let and const (disadvantages of VaR & let and const)
- Try some methods to solve the delay of yolov5 reasoning RTSP
- 关于线程池中终止任务
- 模型时间复杂度和空间复杂度
- JVM learning
- Pointnet++ code explanation (VII): pointnetsetabstractionmsg layer
- CV-Model【3】:VGG16
- Summary of multimodal fusion methods
- Regular replace group (n) content
猜你喜欢

Edge AI边缘智能:Communication-Efficient Edge AI: Algorithms and Systems(未完待续)

CV学习笔记【2】:卷积与Conv2d

In VS, error c4996: 'scanf': this function or variable may be unsafe Solutions.

Page navigation of wechat applet

Pointnet++ code explanation (VII): pointnetsetabstractionmsg layer

3. Neusoft cross border e-commerce data warehouse project architecture design

PyTorch学习笔记【1】:使用张量表征真实数据

MySQL learning notes (4) - (basic crud) operate the data of tables in the database

Use ide to make jar package

Gradle custom plug-in
随机推荐
Time complexity and space complexity of the model
Spark源码-Core RDD部分代码解析(一)
Pointnet++代码详解(二):square_distance函数
7. Data warehouse environment preparation for data warehouse construction
VS 中 error C4996: ‘scanf‘: This function or variable may be unsafe. 的解决方法。
Pointnet++ code details (II): Square_ Distance function
Could not locate zlibwapi.dll. Please make sure it is in your library path
SnackBar源码解析及封装
对比学习损失函数(RINCE/ReLIC/ReLICv2)
字符串距离问题
Using C language to realize guessing games
CV-Model【1】:Mnist
4. Neusoft cross border e-commerce data warehouse project - user behavior data acquisition channel construction of data acquisition channel construction (2022.6.1-2022.6.4)
JNA加载DLL及在jar中的运用
Pointnet++ code explanation (V): Sample_ and_ Group function and samle_ and_ group_ All function
Pointnet++代码详解(一):farthest_point_sample函数
seq2seq (中英对照翻译)Attention
Wxml template syntax in wechat applet
软件过程与管理复习(七)
2021-05-21
(每個圖像和自身相似度最大),其餘正樣本之間
為接近
的數(每個圖像和其增廣的相似度接近最大值),其他地方數應該很小。
和
均為