神經網路訓練中,錯誤資料集對模型結果的影響有多大丨曼孚科技
人工智慧本質上是一門研究如何用機器代替人類的學科,工程師們嘗試用各種演算法模型來賦予機器像人類一樣的思考與聯想能力。
在當下所屬的弱人工智慧時代,實現人工智慧的方式主要以有監督的深度學習方法為主,是基於已知變數和因變數推導函式關係的演算法模型。
而作為深度學習的重要基礎,神經網路技術無疑是行業內最熱門的研究方向之一。探尋神經網路技術原理、優化神經網路演算法模型、規避演算法調優過程中遇到的各種問題,一直是學界關注的焦點與熱議的話題。
一.神經網路概述
廣義的神經網路包含生物神經網路與人工神經網路。在人工智慧領域,神經網路技術採用了一種仿生學的思想,即通過模擬生物神經網路的結構和功能來實現建模,這就需要了解生物神經元細胞的工作原理。
如下圖所示,生物神經網路的工作原理如下:
1)外部資訊通過神經末梢,轉化為電訊號,轉導到神經細胞;
2)神經元組成神經中樞;
3)神經中樞分析各種訊號,做出判斷;
4)人體根據神經中樞的指令,對外部資訊做出反饋。
參考生物神經網路的運作機制,科學家們構建了類似的人工神經網路,較為經典就是MP神經元模型。這是1943年由科學家McCulloch和Pitts提出,他們將神經元的整個工作過程抽象為下述的模型:
其中:
Inputs:模擬生物神經網路中來自其他神經元的輸入;
Weights:模擬生物神經網路中每個神經元對外接收的突觸強度不同,所以外界接收的輸入乘以一定權重;
Sum:模擬生物神經網路中神經元對外接收的訊號進行累加彙總;
Bias:模擬生物神經網路中神經元的一般敏感性。每個神經元的敏感性不同,所以需要一定的偏差來調整彙總值;
Activation Function:模擬生物神經網路中訊號累積到一定程度產生的動作電位,當累積到一定程度就會“啟用”動作電位;
Output:模擬生物神經網路中神經元對外釋放的新訊號。
這是一種較為簡單的神經網路模型,應用場景的侷限性較強。
隨著技術的發展,兩層神經網路、多層神經網路開始出現,非線性分界擬合能力不斷增強,並具備了較強的可應用性,開始廣泛應用於自動駕駛、語音識別等具體場景。
上圖中,左側為簡單神經網路,右側為多層神經網路,兩者的主要區別在於中間隱藏層的層數。隱藏層可以設計多層,並形成深度神經網路(DNN, Deep Neural Network)。
通過圖片示例我們可以發現,每增加一層隱藏層,模型的引數數量就會急劇增加,這對模型訓練所需的資料資源提出了更高的要求,無論是資料總量還是資料質量,要求均尤為苛刻。
二.資料錯誤型別
從上文中,我們知曉了資料資源對神經網路模型的重要性。如何為神經網路模型的訓練提供優質的標註資料集,對神經網路模型的建立與調優至關重要。
然而,在實際的標註場景下,即使藉助AI自動化的輔助,仍然避免不了人為原因所產生的各種資料質量問題,常見的標註錯誤型別包括:
類目錯誤:物件被錯誤地分類,例如車輛被標記為行人;
屬性錯誤:物件屬性描述錯誤,例如停放的汽車被標註為行駛中;
遺漏錯誤:應當標註的物件卻沒有被標註;
冗餘錯誤:不應當標註的物件卻被標註;
貼合錯誤:未全部包含或者不貼合;
未知錯誤:原本貼合的物件,因誤觸導致位置偏移。
三.資料質量對演算法模型的影響
當神經網路模型訓練與調優的過程中,輸入這些質量較差的資料集時,會產生什麼樣的結果呢?
▌1.類目錯誤
在一些論文中,存在類目錯誤的資料通常被定義為類噪聲(Class noise)或標籤噪聲( Label noise)。依據錯誤產生的原因,類目錯誤可以分為隨機錯誤與主觀錯誤兩種:
1)隨機錯誤
此類錯誤產生的原因為隨機,比如待標註物件原本為“小轎車”,但標註員卻因為走神將其標註為“貨車”、“SUV”或其他類別。
2)主觀錯誤
標註員主觀上將類別判定錯誤,比如待標註物件原本為“小轎車”,但標註員卻認為其為“貨車”。
學者Zhu和Wu在論文《Class noise vs. attribute noise: A quantitative study》中對這兩種錯誤進行了實驗研究,相關實驗表明:
1)類目錯誤對於模型質量有相當的負面影響;
2)主觀錯誤對於模型的負面影響要比隨機錯誤更高。(參考資料2)
而學者Flatow和Penner則進一步研究了兩類錯誤對卷積神經網路(CNN)準確性的影響。結果表明類噪聲與測試準確度之間存線上性相關性,其中10%的類噪聲將導致模型準確度降低4%。(參考資料3)
此外,類噪聲對其他機器學習演算法也有負面影響,例如對決策樹、支援向量機和K近鄰 (KNN) 等(參考資料4)。
▌2.屬性錯誤
學者Zhu和Wu曾全面研究過屬性錯誤對模型輸出的影響。他們進行了一項包含超過十萬個樣本的研究,並引入了暗示錯誤或主觀設定屬性的噪聲來測試對分類的影響。
實驗結果表明:
1)屬性錯誤較類目錯誤的負面影響低,但仍然會產生嚴重的分類問題;
2)屬性與分類之間的相關性越高,該屬性對分類的負面影響就越大;
3)打消除包含類噪聲或噪聲清理的例項可能會提高分類精度。
▌3.遺漏錯誤
依據不同的場景,遺漏錯誤可能產生不同的結果:
1)只關注標籤本身
當訓練模型只關注於標籤本身時,當其中某個物件沒有被標記時,用於訓練的資料總量會減少,但資料仍然可用,並不會帶來過大的負面影響。
2)關注更多事物
在3D點雲連續幀場景下,需要用相同的Track ID在不同幀內跟蹤同一個物體,比如汽車。當中間某一幀內的汽車漏標後,可能導致Track ID中斷,導致軌跡追蹤模型不可用。
學者Xu等人在論文《Missing labels in object detection》中探討了遺漏標籤對FSOD(全監督物件檢測模型)的影響。實驗是在RCNN(基於區域的CNN)、Faster-RCNN(基於更快區域的 CNN)、YOLO(You Only Look Once,一種基於深度神經網路的物件識別和定位演算法)和SSD(單鏡頭檢測器)和WSOD(弱監督物件檢測模型)上進行的。
實驗結果表明,FSOD模型的效能隨著標籤缺失率的增加而明顯下降。值得一提的是,標籤遺漏對WSOD模型幾乎沒有影響,但它的檢測效能卻普遍較差(參考資料5)。
▌4.冗餘錯誤
與遺漏錯誤相反,冗餘錯誤不是漏標而是多標,但兩者對於演算法模型均具備較高的負面影響。
▌5.精度錯誤
貼合錯誤與位置錯誤可統一稱之為精度錯誤。相較於此前幾類錯誤型別,精度錯誤對於最終模型的負面影響相對較小,比如使用類目錯誤(小轎車標記為貨車)的資料集,最終訓練得到的演算法模型是完全錯誤不可用的(會將小轎車誤認為貨車)。
而使用精度錯誤的資料集,最終訓練的演算法模型一定程度上是可用的(可以正常識別出小轎車,但是精度欠佳)。
不過,從商業化應用的角度考量,使用這種精度錯誤的資料訓練得到的模型同樣也是無法使用的。比如在自動駕駛場景下,演算法模型需要達到極高的精準度,才能盡最大程度保證自動駕駛汽車在行駛過程中的安全性。
所以,綜上而言,在人工智慧應用深入日常生活的今天,訓練資料集的質量問題需要獲得更多的關注目光,資料服務商也需要投入更多精力在提升資料集質量與資料精度上。
▌參考資料:
1.[King James] 通俗易懂講解深度學習和神經網路-知乎
2.[Zhu and Wu, 2004] Zhu, X. and Wu, X. (2004). Class noise vs. attribute noise: A quantitative study. Artif. Intell. Rev., 22:177–210
3.[Flatow and Penner, 2017] Flatow, D. and Penner, D. (2017). On the robustness of convnets to training on noisy labels
4.[Nazari et al., 2018] Nazari, Z., Nazari, M., Danish, M. S. S., and Kang, D. (2018). Evaluation of class noise impact on performance of machine learning algorithms
5.[Xu et al., 2019] Xu, M., Bai, Y., Ghanem, B., et al. (2019). Missing labels in object detection