0
圖片來源:https://habr.com/company/ods/blog/415571/
雷鋒網(wǎng) AI 科技評論按:大約一年前,Kaggle 舉辦了一個名為「相機型號識別」(https://www.kaggle.com/c/sp-society-camera-model-identification)的計算機視覺挑戰(zhàn)賽,任務(wù)是確定出用來拍攝某張圖像的照相機的型號。比賽結(jié)束后,Arthur Kuzin, Artur Fattakhov, Ilya Kibardin, Ruslan Dutov 和 Vladimir Iglovikov 決定寫一篇科技報告,向大家介紹如何解決這個問題,并分享他們在此過程中獲得的心得體會。這篇文章被在西雅圖舉辦的第二屆網(wǎng)絡(luò)犯罪調(diào)查大數(shù)據(jù)分析國際研討會(http://folk.ntnu.no/andriis/bdaccip2018/)接受,而 Vladimir Iglovikov 將于 2018 年 12 月 10 日在大會上對這篇論文進行報告。以下是他對報告內(nèi)容(https://arxiv.org/abs/1810.02981)的擴展版。
本文的作者共有 5 人:
Arthur Fattakhov, Arthur Kuzin, 以及 Ilya Kibrdin 是本次比賽亞軍團隊,他們的最終得分為 0.987。Vladimir Iglovikov 是獲得第 9 名的團隊的成員,最終得分為 0.985。這兩支團隊的解決方案非常相似,因此他們決定寫一份技術(shù)報告。Ruslan 是深圳大學(xué)大數(shù)據(jù)研究院的一名研究生,他幫助完成了文本方面的工作,這對于這篇論文的順利發(fā)表至關(guān)重要。
在本文接下來的部分,作者會把亞軍團隊所使用的方法稱為「我們」的解決方案。此外,也將跳過一些不重要的技術(shù)細(xì)節(jié)。亞軍的解決方案的代碼可以在 GitHub( https://github.com/ikibardin/kaggle-camera-model-identification)上獲得。比賽結(jié)束后,他們還根據(jù)自己的認(rèn)識進行了一組單獨實驗。本文主要是關(guān)于進一步的研究。
正文如下,雷鋒網(wǎng) AI 科技評論編譯整理:
相機型號檢測是圖像處理的眾多應(yīng)用之一。例如,在司法鑒定領(lǐng)域,判斷出一幅圖片是使用谷歌 Pixel 還是 iPhone 拍攝或許會非常重要,這可以進一步確定出誰可能是非法圖像的所有者,甚至確定誰是知識產(chǎn)權(quán)的合法所有者,這種系統(tǒng)甚至可以用于在「誹謗或傳播假新聞」的案件中發(fā)現(xiàn)犯罪嫌疑人。
計算機將圖像存儲為數(shù)字矩陣和相應(yīng)的元數(shù)據(jù),在最簡單的情況下,相機型號通常會被存儲在圖像元數(shù)據(jù)中,此時對型號的識別就成為一個非常簡單的問題。但是圖像元數(shù)據(jù)可能不可靠,而且很容易被不法用戶操縱。
還有一種更復(fù)雜、但更可靠的方法。圖像采集完成后,數(shù)碼相機將在一系列后續(xù)處理步驟之后,創(chuàng)建一個針對圖像的保真度和內(nèi)存占用進行優(yōu)化后的圖像。這些算法是一些高度非線性、極其復(fù)雜的方法,例如去馬賽克、噪聲濾波、修正鏡頭畸變等。不同型號的相機使用不同的算法,這意味著每個算法在特定的型號上都會給出特定的輸出,我們可以將這些數(shù)據(jù)作為機器學(xué)習(xí)工作流中使用的特征。
當(dāng)然,目前已經(jīng)有很多關(guān)于這個主題的文獻(xiàn),大多數(shù)現(xiàn)有的文獻(xiàn)在此基礎(chǔ)上提出了基于 SVM 或類似的分類算法的人工特征提取步驟。例如,當(dāng)我碰到這個問題時,我腦海中出現(xiàn)的第一個想法就是取一張圖像,用它減去自身經(jīng)過平滑處理后的圖像,然后計算出這種差異的不同統(tǒng)計量(比如均值、中值、標(biāo)準(zhǔn)差、不同的分位數(shù)),然后利用他們作為輸入訓(xùn)練 xgboost 集成學(xué)習(xí)模型。關(guān)于如何進行相機模型檢測的第一篇論文所使用的方法與我剛才描述的方法非常接近,其它后續(xù)的論文提出了一些更復(fù)雜的模型,但方法非常相似。方法無外乎:基于領(lǐng)域知識的人工特征提取,在此基礎(chǔ)上加入邏輯回歸、決策樹或支持向量機等等。
將這種方法擴展到新的相機型號也是一件很困難的事。假設(shè)我們想為一款新發(fā)布的相機進行這種檢測。那么,專家應(yīng)該花多少時間來找出哪些特性將有助于將其與其他型號的相機區(qū)分開來?另一方面,深度學(xué)習(xí)方法可以同時解決這些問題。一般來說,深度學(xué)習(xí)就好比一種強大的野獸,如果你知道如何馴服它,它可能會幫助你創(chuàng)建高度精確的黑盒模型。
像往常一樣,你幾乎不可能通過翻閱文獻(xiàn)試圖找到「最好的方法」。幾乎每篇論文都會告訴你,他們和其他人不一樣,而他們的方法是最先進的。想要解決這個問題,你就需要在同一數(shù)據(jù)集上對不同方法進行評估。這樣的比較不會告訴你哪種算法總體上更好,但是你可以看出在給定的數(shù)據(jù)集上用某種特定的度量標(biāo)準(zhǔn)去評價時哪種算法更好。這并不意味著算法在類似的數(shù)據(jù)集上的性能排名一定是相同的,比如在 CIFAR 數(shù)據(jù)集上最先進的架構(gòu)可能在 ImageNet 上表現(xiàn)不佳,反之亦然。但是有這樣一個標(biāo)準(zhǔn)一致的比較總比沒有好。
在這次的挑戰(zhàn)賽中,582 支參賽團隊將在兩個月的時間內(nèi)在實時排行榜上比拼他們的算法。582 對于 kaggle 競賽的參賽隊伍數(shù)來說是一個相對較大的數(shù)字,這就保證了這個問題將由一些有著不同專業(yè)背景和技能的人來解決。一些參賽人員在工業(yè)界和學(xué)術(shù)界從事司法鑒定的相關(guān)工作,還有一些像我一樣的參賽人員,則有著計算機視覺方面的經(jīng)驗,但我們對這樣的相機識別問題并沒有很深刻的認(rèn)識,也不知道有人有興趣解決它。
大賽組織者準(zhǔn)備了一套由 10 個相機拍攝的 2750 張照片(每個相機拍攝了 275 張照片)組成的訓(xùn)練集。
我們需要區(qū)分的相機型號有:
1. Sony NEX-7
2. Motorola Moto X
3. Motorola Nexus 6
4. Motorola DROID MAXX
5. LG Nexus 5x
6. Apple iPhone 6
7. Apple iPhone 4s
8. HTC One M7
9. Samsung Galaxy S4
10. Samsung Galaxy Note 3
為了增加比賽難度,組織者共用了 20 部不同的手機來收集圖像,其中有 10 部被用于建立訓(xùn)練集,另外 10 部被用于建立測試集。這意味著在訓(xùn)練過程中,你的模型可能學(xué)習(xí)到的并不是與后續(xù)處理算法相關(guān)的針對特定相機型號的特性,而是會過擬合特定手機產(chǎn)生的特定的輸出。
測試集中的圖像是用 10 個與訓(xùn)練集中對應(yīng)相同型號的相機拍攝的,但使用的是相同型號的第二臺設(shè)備。例如,如果在訓(xùn)練數(shù)據(jù)中使用 iPhone6 拍攝的圖像是使用 Ben Hamner 的第一臺 iPhone 6 拍的,那么在測試數(shù)據(jù)中使用 iPhone6 拍攝的圖像則是使用 Ben Hamner 的第二臺 iPhone 6 拍的,因為他在玩風(fēng)箏時在海灣丟失了第一部手機。
此外。訓(xùn)練集中的圖像是完整全尺寸的,而在測試中只使用了圖像中央裁剪出的 512x512 像素的部分。之所以這樣處理,是因為徑向畸變在圖像的兩側(cè)更加明顯。一些論文僅僅基于徑向畸變特征就取得了較好的結(jié)果。然而,目前還尚不清楚它們能帶來多大的幫助,但組織者決定禁止參與者利用這些特征。
在許多情況下,通常存儲在計算機上的圖像會受到不同類型的圖像變換的影響,如 jpeg 壓縮、伽馬變換、對比度、亮度、大小等方面的變換。
從實用的角度來看,模型最好能對這些變換具有很強的魯棒性,組織者對一半的測試圖像進行了類似的變換,如下所示:
1. JPEG 壓縮質(zhì)量因子 = 70
2. JPEG 壓縮質(zhì)量因子 = 90
3. 通過因子 = 0.5 的雙三次插值進行縮放
4. 通過因子 = 0.8 的雙三次插值進行縮放
5. 通過因子 = 1.5 的雙三次插值進行縮放
6. 通過因子 = 2.0 的雙三次插值進行縮放
7. 使用 gamma = 0.8 的伽馬校正
8. 使用 gamma = 1.2 的伽馬校正
如上文所述,不同型號的相機拍出來的圖片的規(guī)模在千兆字節(jié),我們可以利用這些數(shù)據(jù)提取出相應(yīng)相機型號。Kaggle 上的不同競賽對于使用外部數(shù)據(jù)有不同的規(guī)則,但在本項比賽中,Kaggle 允許我們使用外部的圖像數(shù)據(jù)訓(xùn)練模型。一般來說,所有允許使用外部數(shù)據(jù)的競賽都有一個規(guī)則,Kaggle 規(guī)定所有其他的參賽者也可以訪問這些數(shù)據(jù)。在任何此類競賽中,Kaggle 論壇上都會專門設(shè)有一個論壇,參與者可以在其中分享他們將使用的數(shù)據(jù)和預(yù)訓(xùn)練的模型。
這次比賽是個例外,管理員忘記在規(guī)則中添加關(guān)于共享數(shù)據(jù)的條款,這就改變了游戲規(guī)則。
深度學(xué)習(xí)模型的優(yōu)勢在于,它們可以從大量的訓(xùn)練數(shù)據(jù)中獲取知識。此外,我們還應(yīng)該特別注意到,許多訓(xùn)練標(biāo)簽可能是錯誤的,但這個問題也比較好解決,只要錯誤標(biāo)簽的百分比小于某個閾值(比如百分之十五),這個訓(xùn)練數(shù)據(jù)集就是一個好的數(shù)據(jù)集。使用的數(shù)據(jù)越多,你的模型就越好。
參與者可能并不是司法鑒定專家,但他們肯定知道更多的數(shù)據(jù)對深度學(xué)習(xí)來說是更好的。通常,在競賽中,你試圖從給定的數(shù)據(jù)集中獲取最多的信息,在進行了一些實驗之后,你會選擇一個性能良好的模型,巧妙地選擇數(shù)據(jù)增強的方式,探索相關(guān)領(lǐng)域知識,花時間開發(fā)一個智能訓(xùn)練計劃,訓(xùn)練損失函數(shù)等等。如果你沒有更好的選擇,完成所有這些步驟都很重要。
我們在 Flickr、Yandex、Fotki、Wikipedia 上爬到了一些數(shù)據(jù),而在這種情況下,我們的團隊擁有的原始圖像數(shù)據(jù)總量約為 500GB。我們可以使用所有這些數(shù)據(jù),但是為了加速訓(xùn)練,并潛在地提高模型質(zhì)量,我們進行對數(shù)據(jù)進行了過濾。
在訓(xùn)練過程中,我們需要的是未經(jīng)處理的數(shù)據(jù),即不受 Photoshop 、LightRoom 或類似圖像編輯軟件的影響,不進行縮放的高質(zhì)量圖像。
不同型號相機的數(shù)據(jù)集樣本數(shù)。上表給出了包含外部和組織者提供的數(shù)據(jù)集的最終數(shù)據(jù)集。
首先,我們刪除掉了元數(shù)據(jù)中包含 Photoshop 和 LightRoom 的圖像。接著,我們刪除了 JPEG 質(zhì)量低于 95 的圖像。第三,我們讓不同的相機拍攝固定尺寸的照片。如果圖像的大小與我們預(yù)期的不匹配,我們就會認(rèn)為這些圖像是經(jīng)過了縮放的。我們刪除了不滿足這些條件的圖像。
這并不意味著我們得到的所有圖像都是未經(jīng)處理的,比如有人可能使用質(zhì)量為 10% 的 JPEG壓縮,然后再應(yīng)用質(zhì)量為 99% 的 JPEG 壓縮。實際上,壓縮后的質(zhì)量仍然是 10%,但是對于軟件來說,很難分析出壓縮因子是 10 而不是 99。我認(rèn)為這是不可能做到的。但我在研究這個問題時,我看到一些論文也試圖識別出這種「二次 JPEG 壓縮」。再說一次,我甚至不知道存在這樣的問題。
經(jīng)過過濾,我們得到了 78,807 張爬取的圖像,我們認(rèn)為這些圖像是原始的,未經(jīng)處理的。這些圖像的類別分布是不均勻的。正如你可以想到的那樣,并非所有手機都同樣受歡迎,或者說手機型號與用戶拍照并上傳至互聯(lián)網(wǎng)的頻率之間存在相關(guān)性。因此,對于某些類別的手機所得到的圖像,我們所得到的樣本就相對較少一些:
總的來說,這個機器學(xué)習(xí)工作流類似于利用 ImageNet 進行遷移學(xué)習(xí),你會使用預(yù)訓(xùn)練的網(wǎng)絡(luò),去掉最后一個預(yù)測 1000 個類的層,用一個預(yù)測你所需要的類別的層替換它。在本例中,這個層的輸出類別數(shù)是10。在此之后,你可以使用分類交叉熵作為損失函數(shù)并訓(xùn)練網(wǎng)絡(luò)。有很多方法可以做到這一點,而第 1 名的解決方案和第 50 名的解決方案之間的區(qū)別通常不在他們使用的網(wǎng)絡(luò)類型,而在于訓(xùn)練過程以及進行訓(xùn)練的人。從實踐的角度來看,與其說深度學(xué)習(xí)是科學(xué),不如說更像是煉金術(shù)。因此,當(dāng)一個人從事不同的工作時,直覺是至關(guān)重要的。
Remi Cadene 在 GitHub 上的代碼庫(https://github.com/Cadene/pretrained-models.pytorch)提供了一個 PyTorch 框架下的帶權(quán)重的網(wǎng)絡(luò)列表,人們可以使用類似的 API 獲得不同的網(wǎng)絡(luò)和預(yù)訓(xùn)練的權(quán)重,從而使他們的實驗?zāi)軌蚩焖龠M行。這個代碼庫被參賽人員廣泛使用。各個參賽隊伍用 Resnet、VGG、DPN 和所有其它類型的網(wǎng)絡(luò)進行了實驗。
對于這個問題,一個經(jīng)驗性的結(jié)論是:DenseNet(https://arxiv.org/abs/1608.06993) 的性能會稍好一些,但是團隊之間的差異非常小,所以不清楚這樣的說法是否為真。什么是 DenseNet 呢?DenseNet是一種架構(gòu),它進一步推動了在 Resnet 類型的網(wǎng)絡(luò)中使用跳躍連接的想法。
DenseNet 論文的作者將卷積塊中的所有層連接起來,跳躍連接簡化了梯度流,使得訓(xùn)練深層網(wǎng)絡(luò)成為可能。在跳躍連接成為主流之前,處理只有 19 層的 VGG19 網(wǎng)絡(luò)是一件痛苦的事情,但是在引入它們之后,使用具有 100 多個層的網(wǎng)絡(luò)處理高度抽象特性就不再是一個困難的問題了。
研究人員相信,這樣做會使得損失表面更加平滑,防止基于梯度下降的訓(xùn)練過程陷入許多局部最小值。
圖片來源:https://arxiv.org/abs/1712.09913
除此之外,網(wǎng)絡(luò)是相對標(biāo)準(zhǔn)的,它使用了一組具有批量歸一化和 ReLu 層的卷積塊,卷積塊之間使用了最大池化層,最后是全局平均池化和全連接層。需要注意的是,全局平均池化層允許我們使用不同大小的圖像作為輸入。
研究社區(qū)中的一些人認(rèn)為 DenseNet 的性能總是優(yōu)于 Resnet,因為它是相對較后提出的,并成為了 CVPR 2017 最佳論文。然而,事實并非如此!在原始論文中,DenseNet 在 CIFAR 上取得了良好的結(jié)果,但在數(shù)據(jù)更多樣化的 ImageNet 數(shù)據(jù)集上,更深的DenseNet 才能得到與更淺的 ResNet 網(wǎng)絡(luò)相當(dāng)?shù)臏?zhǔn)確率。
DenseNet比Resnet更好/更差嗎?這個問題得視情況而定。在「Planet: Understanding the Amazon from Space challenge」競賽(https://www.kaggle.com/c/planet-understanding-the-amazon-from-space)中,我們團隊使用 DenseNet,從 900 多支團隊中奪得第 7 名,這一網(wǎng)絡(luò)在這次比賽中表現(xiàn)得更好,但它在 ImageNet 上的表現(xiàn)較差。
我和我的合作者對此進行了深入的討論,有人認(rèn)為跳躍連接不僅平滑了損失表面,而且還降低了模型容量。這也許可以解釋為什么 DenseNet 在像 CIFAR 這樣的非多樣化問題中表現(xiàn)更好,但是需要在 ImageNet 這樣的多樣化的數(shù)據(jù)集上增加網(wǎng)絡(luò)的深度,以補償容量的損失。基于這種推測,我們可以認(rèn)為當(dāng)數(shù)據(jù)集不是非常多樣化且不需要大容量的網(wǎng)絡(luò)時,DenseNet 的性能會很好。但是當(dāng)判別特性高度抽象時,我們就可能需要非常深的網(wǎng)絡(luò)。
相機檢測任務(wù)屬于這一類問題嗎?我不知道。從經(jīng)驗上說它確實是的,但我們并沒有足夠的證據(jù)證明這一點。
在訓(xùn)練過程中加入智能的正則化標(biāo)準(zhǔn)方法是使用數(shù)據(jù)增強。不同的問題可能受益于不同的數(shù)據(jù)增強方法。同樣的,如果你擁有更好的直覺,你可能會選出更好的數(shù)據(jù)增強方法和參數(shù)。
對于這個問題,我們使用了:
1. Dihedral Group D4 變換:將圖像旋轉(zhuǎn) 90、180、270 度,以及進行翻轉(zhuǎn)操作。
2. 伽馬變換:我們在 [80,120] 的范圍內(nèi)均勻地選擇了伽馬參數(shù)。
3. 質(zhì)量因子參數(shù)從 70 到 90 均勻采樣的 JPEG 壓縮。
4. 縮放因子在 [0.5,2] 的范圍內(nèi)的變換。
使用 albumentations 程序庫(https://github.com/albu/albumentations)的代碼如下:
import albumentations as albu
def train_transform(image, p=1):
aug = albu.Compose([albu.RandomRotate90(p=0.5),
albu.HorizontalFlip(p=0.5),
albu.RandomGamma(gamma_limit=(80, 120), p=0.5),
albu.JpegCompression(quality_lower=70, quality_upper=90, p=0.5),
albu.RandomScale(scale_limit=(0.5, 2), interpolation=cv2.INTER_CUBIC, p=1)
], p=p)
return aug(image=image)['image']
左圖是我最近去 Bishop 攀巖時的原始照片;右圖是翻轉(zhuǎn)過來的結(jié)果,其顏色深一些。后者是進行了伽馬變換得到的結(jié)果。在這里我們也應(yīng)用了 JPEG 壓縮,但由于這類圖像的質(zhì)量 [70:90] 相對較高,肉眼很難看出它的效果。
組織者告訴我們他們用三次插值來進行縮放,如果不知道使用三次插值,我們會交替使用不同的插值方式。一般來說,機器學(xué)習(xí)競賽社區(qū)中經(jīng)常會使用這種技巧,但是我還沒在文獻(xiàn)中看到對這樣的方法的描述。
如果我們想要添加這些替代方法,代碼將會更復(fù)雜一些,但思路仍然是相對直觀的。
import albumentations as albu
def train_transform(image, p=1):
scale_limit = (0.5, 2) aug = albu.Compose([
albu.RandomRotate90(p=0.5),
albu.HorizontalFlip(p=0.5),
albu.RandomGamma(gamma_limit=(80, 120), p=0.5),
albu.JpegCompression(quality_lower=70, quality_upper=90, p=0.5),
albu.OneOf([albu.RandomScale(scale_limit=scale_limit, interpolation=cv2.INTER_NEAREST, p=0.5),
albu.RandomScale(scale_limit=scale_limit, interpolation=cv2.INTER_LINEAR, p=0.5),
albu.RandomScale(scale_limit=scale_limit, interpolation=cv2.INTER_CUBIC, p=0.5),
albu.RandomScale(scale_limit=scale_limit, interpolation=cv2.INTER_AREA, p=0.5),
albu.RandomScale(scale_limit=scale_limit, interpolation=cv2.INTER_LANCZOS4, p=0.5),
], p=0.5),
], p=p)
return aug(image=image)['image']
原圖的分辨率很大,在全分辨率上對它們進行縮放是不明智的,因此我們進行了兩次連續(xù)裁剪(縮放前后各一次)。
import albumentations as albu
def train_transform(image, p=1):
aug = albu.Compose([
albu.RandomCrop(height=960, width=960, p=1),
albu.RandomRotate90(p=0.5),
albu.HorizontalFlip(p=0.5),
albu.RandomGamma(gamma_limit=(80, 120), p=0.5),
albu.JpegCompression(quality_lower=70, quality_upper=90, p=0.5),
albu.RandomScale(scale_limit=(0.5, 2), interpolation=cv2.INTER_CUBIC, p=1)
albu.RandomCrop(height=480, width=480, p=1),
], p=p)
return aug(image=image)['image']
我們使用 Adam 優(yōu)化器對網(wǎng)絡(luò)進行了 100 個 epoch 的訓(xùn)練,初始學(xué)習(xí)率為 0.001。
為了獲得更高的準(zhǔn)確率,當(dāng)學(xué)習(xí)速率在不同的值之間振蕩時,我們還采用了循環(huán)學(xué)習(xí)速率方法進行改進。
你從這張圖中可以猜到,學(xué)習(xí)速率在第 17 個 epoch 前后降低了。圖中存在兩個連續(xù)衰減的損失峰,一個大約在第 42 個 epoch 左右,另一個大約在第 53 個 epoch 左右。在訓(xùn)練過程中,網(wǎng)絡(luò)容易陷入局部極小值,而這些振蕩有助于跳出這些局部最小值。
在進行推斷時,我們對測試圖像進行增強,對在不同的 480x480 的裁剪圖像上的預(yù)測結(jié)果進行平均。
我們還想評估不同的變換是如何降低模型準(zhǔn)確率的。
我們通過綠色的部分顯示了訓(xùn)練中使用的參數(shù)的范圍。正如預(yù)期的那樣,在特定的參數(shù)范圍內(nèi),準(zhǔn)確率沒有顯著下降。這表明,如果我們使用深度學(xué)習(xí)方法,并擁有足夠的數(shù)據(jù),加強數(shù)據(jù)增強可能會提升模型的魯棒性。
我們想要回答的另一個問題是,如果我們在測試時減小輸入到網(wǎng)絡(luò)中的裁剪圖像的大小,準(zhǔn)確率會如何變化?
我認(rèn)為網(wǎng)絡(luò)正在學(xué)習(xí)的特性是局部的,所以不需要進行大的裁剪,但似乎事實并非如此。要想在 10 個類上獲得 90% 以上的精度,就必須有至少 250x250 的裁剪圖片作為輸入,這可能意味著后續(xù)處理算法在網(wǎng)絡(luò)捕獲的像素之間創(chuàng)建了遠(yuǎn)距離的相關(guān)性聯(lián)系。
我們還想證實:當(dāng)訓(xùn)練數(shù)據(jù)量增加時,模型的準(zhǔn)確率也會提高。正如你在上圖中看到的,這樣的情況并沒有發(fā)生。我想 25k 圖片對于一個高質(zhì)量的模型來說已經(jīng)足夠了。如果我們需要檢測的不是 10 個類,而是 1000 個類,那么模型質(zhì)量的提升可能會更加顯著。
1. 利用 ImageNet 預(yù)訓(xùn)練模型進行的遷移學(xué)習(xí)在相機檢測等使用低級特征的任務(wù)中,可以取得很好的性能。
2. DenseNet 的性能更好,但我們相信,如果我們從 Cadene 提供的代碼列表中任意選擇預(yù)訓(xùn)練好的網(wǎng)絡(luò),它的表現(xiàn)也會類似。
3. 在訓(xùn)練中使用數(shù)據(jù)增強技術(shù)會幫助模型提升魯棒性。
4. 如果你能獲取到更多的帶標(biāo)簽的數(shù)據(jù),盡量去獲取吧。在大多數(shù)情況下,盡管利用領(lǐng)域知識可以提供額外的重要幫助,「暴力」地處理大量數(shù)據(jù)可能比使用復(fù)雜的解決方案提高模型性能更容易。
1. 是否有必要添加額外的輸出來顯示出圖像是否被修改過?
2. checkpoint averaging 等技巧。
3. 其他架構(gòu)的性能如何?
4. 如何將集成學(xué)習(xí)技術(shù)應(yīng)用到這個問題上。
5. 測試集中的類是平衡的,我們可以如何利用。
6. 如何將偽標(biāo)記技術(shù)(一種半監(jiān)督學(xué)習(xí)技術(shù))應(yīng)用于此任務(wù)。
7. 對那些我們嘗試過、但是沒有成功的方法進行討論。
8. 解釋網(wǎng)絡(luò)學(xué)習(xí)到的特征是什么?
9. 評價指標(biāo)的細(xì)微差別。
所有這些議題都很重要,但我不認(rèn)為它們有太大的影響,或者我更愿意就每一個議題單獨進行討論。
注:本文作者將于 2018 年 12 月 10-13 日在美國西雅圖舉行的 IEEE 2018 大數(shù)據(jù)國際會議「第二屆網(wǎng)絡(luò)犯罪調(diào)查與預(yù)防大數(shù)據(jù)分析國際研討會」上做與本文相關(guān)的報告。
(完)
雷鋒網(wǎng) AI 科技評論編譯整理
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。