資料增強那些事雜談

2021-09-27 08:57:35 字數 1578 閱讀 7379

進行資料增強的必要性

通過增強資料集,可以防止神經網路學習到不相關的模式,根本上提公升整體效能。

某種程度上,深度學習的訓練過程,就是生成乙個從輸入到輸出的對映關係。而深度學習生成的這種對映,會含有大量的引數,當前主流的模型含有幾十萬到幾百萬個引數,而訓練過程,就是不斷修正這些引數的過程。在這個過程中,如果資料集的多樣性不夠,模型會把一些不想關的特徵標記為輸入資料的特徵。

例子

以識別舉個簡單的例子,假設你的任務是利用放置在路邊的監控攝像頭採集到的車輛作為輸入,模型的目標是識別車輛的型號。而如果恰好你的資料都是面向車輛行駛的一側放置的攝像頭採集到的,即你的資料集中,大量車輛是略微向左側傾斜的。如果恰好使用這個資料集直接訓練,不可避免的,模型會認為面向左側也是一種特徵。這樣訓練出來的模型可能對其他角度採集的識別率欠佳。

通過諸如翻轉之類的資料增強方式,可以讓模型不再把不需要的特徵作為識別特徵,優化模型對映的準確率。

目前深度學習方面資料問題:

在深度學習專案中,訓練往往需要海量的資料,而如今資料又是如此的寶貴(如醫學影象),尋找資料花費了相當多的時間。但在很多實際的專案中,我們難以找到充足的資料來完成任務。為了要保證完美地完成專案,有兩件事情需要做好:1、尋找更多的資料;2、資料增強。

資料增強呢(data augmentation),它的意思是讓有限的資料產生更多的等價資料。

在我們訓練模型的時候,為了豐富影象訓練集,更好的提取影象特徵,泛化模型(防止模型過擬合),提高模型的抗噪能力,提公升模型的魯棒性。對資料進行足夠的泛化,不僅可以降低過擬合的可能,還能增強模型對形變資料的識別概率和真實情況下各種情況的適應能力。

例如,我們使用陣列增強對一張原始增強,可以在顏色增強(色彩飽和度、亮度、對比度等)方面同時在影象本身方面(裁剪、平移、旋轉、縮放)進行處理。

小資料集的危害:

如果資料集太小,達不到模型訓練需要的數量,將會造成模型的過擬合。因為資料集小,模型能夠很大程度上「記住」用來訓練的模型,這就導致了,模型在對訓練資料集以外的資料進行識別的時候,會出現識別不出來或者識別率低的情況。其中就包括模型在測試集上的效果不好,過度的擬合噪音資料,過度擬合訓練集中特有特徵的情況。所以過擬合的模型在測試集上表現都非常差。

舉個例子說明,我們訓練模型識別汽車,但是只給了帕薩特、寶馬、賓士、福特這幾種汽車品牌的部分車型的資料。在我們用這些資料過分訓練之後,當我們驗證效果時,在馬路上隨便指定一輛汽車進行識別,其識別效果可想而知。

過擬合的危害:

過擬合會造成模型變得複雜,並盡可能擬合訓練集,造成在訓練集上的準確率特別高,這裡就會有乙個問題就是:訓練集是不靠譜的,其中有容錯的資料。直接點,訓練集中特別是十幾萬的資料,會有髒資料,這些髒資料也成為負樣本,會造成模型訓練有誤差,模型在訓練的時候並不清楚那些是髒資料,它只會不停的去擬合這些資料,所以過擬合的模型在訓練集上準確率特別高,但訓練集其實只是整個資料集中的一部分,其包含兩部分特徵,一部分是整個資料集共有的特徵,一部分是訓練集自身共有的特徵,當過擬合時,模型學到的是這兩部分的特徵,此時拿模型去在測試集上測試時,因為測試集不包含訓練集自身共有的特徵,所以測試集在模型上就不會取得很好的效果。

那些人,那些事

很久沒有整理一下自己的思緒,聽著熟悉的歌,那歌聲會讓我想起那些人,那些事.乙個標點,乙個符號,乙個個早已在歲月深處冰封的眼神,一段沒有伴侶的歸途。一直以來我都認為我的人生就是這樣,平平淡淡,安安靜靜,波瀾不驚地在歲月的 眼角劃過,不留絲毫痕跡。現在看來,原來我寫的東西在很大程度上是是在滿足自己的某種...

那些人,那些事

一年前的今天,我大概和bi11一起奔波於各大招聘會上,白天各睡各的覺,晚上一起在工作室寫著程式 那時候似乎成都已經很冷,工作室有著溫暖的空調.而現在猛烈的陽光一件薄薄的襯衫真讓我不敢相信已經是十一月了.我在成都待了四年,說實話我不喜歡成都,不過還是有著很多讓人快樂的人和事給了我很多快樂的回憶.先說說...

那些人,那些事

回顧一下自己的it職業生涯,應該和大多數同僚一樣,從無知還有些自負的毛頭小子,到在技能上還算熟練,在性格上也變得成熟的奔三人士,在這個過程中給我最大的感覺就是越學習越發現自己懂得東西少,在職場上越來越感覺到僅僅靠技術層面上的提高是不能讓我們大多數人成功的。在自己目前的職業生涯中經歷過太多人太多事,大...