AI或機器學習,如何確定訓練樣本資料的規模?是越多越好嗎?還是適度就好,資料量適度的評判標準是什麼?

時間 2021-07-13 14:00:02

1樓:李鵬宇

這個問題也困擾我好多年了,這裡拋個磚。

據我所知沒有公式或工具可以告訴我們乙個AI類任務需要多少訓練樣本。總的來說,我們在做AI類任務的時候,是不知道到底需要多少訓練樣本的。順利的情況下,我們基於經驗拍腦袋定下的資料集大小,正好可以完成任務;大多情況下,訓練集最終的大小,是需要逐步確定的。

在決定訓練資料規模的時候,我們需要綜合考慮資源、任務目標、模型、資料等多個方面。與訓練資料規模相關的因素比較多,我列幾個能想得到的啊。

訓練資料的規模上限,基本上是由我們掌握的資源來決定的。常見的資源包括:

(1)錢。在企業裡做資料集,通常需要尋找兄弟團隊或者外部公司的(有償)幫助——這些團隊就是我們常說的「資料標註團隊」。這些團隊為了「給資料打標籤」,需要在充分理解我們的業務和需求在基礎上,形成標註方案,甚至修改或開發標註工具,還要培訓標註員,等等等等。

這些操作費神費力,不可能是免費的。簡單來說,我們越有錢,就可以標註越多的資料。

(2)時間。錢不是萬能的,尤其是在「時間有限」這個背景下。不管是學術圈還是產業界,金主不會一直養著我們,幹啥都有個時間限制。

比較複雜的訓練資料集,老闆給你兩三個月時間就算不錯了。我們能做的,就是在工期內,盡量多標資料。

(3)人手。在一次資料標註任務中,演算法團隊主要負責確定和提出需求、資料標註團隊主要負責理解和滿足需求——兩個子任務都需要足夠數量的人才能完成。假如我們在小一點的課題組或者公司幹活,資料標註就是自己動手了,需要發動盡量多的師兄弟姐妹或者同事來幫忙標資料。

(4)工具。如果我用windows「記事本」來做NER資料集的構造,速度會非常慢;如果是用doccano之類的工具來標資料,速度會非常快。

一般的AI任務都有乙個目標,有些目標比較直白,類似「正確率達到或超過xx.xx%」。這類任務的訓練資料規模,以達到任務目標為準。

我們可以先構造乙個小資料集,比如10000個樣本,然後訓練乙個模型看看效果——盡力優化模型之後,如果效果還差一些,可以繼續標註資料集(差距越大,需要新增越多的訓練樣本)。一旦模型效果達標,就可以停止標註資料。

機器學習模型的選擇也是需要考慮的。一般來說,模型引數越多,需要越多得訓練資料才能充分學習。當然,採用了遷移學習策略的模型,對訓練資料規模的要求略低一些,比如BERT在(冷門垂直領域中)文字相似度任務中只需要幾萬個樣本就可以達到非常高的水平。

資料本身的情況也會影響訓練樣本規模,比方說,文言文中的NER比金融新聞中的NER要難很多,前者需要的訓練集規模也更大一些。

為什麼深度學習對訓練樣本的數量要求較高?

趙文泉 目前本人在做的工作是降低深度學習的樣本使用數量,即主動學習 Active Learning 從實驗效果來看,1 並不是說樣本量越多越好,主動學習方法可以大大降低樣本使用數量並且達到很好的實驗效果,沒有overfitting 2 主動學習結合深度學習可以衍生出深度學習在少量樣本資料上的應用,如...

集換式卡牌能否通過AI或機器學習得到環境下最優卡組及其勝率最高的操作

基於強化學習來做可以參考ai打lol dota等遊戲,棋牌遊戲的複雜度並不比moba類高太多,當卡組一定時,長期訓練可以達到乙個區域性最優打法,參考海盜戰偶數薩指令碼上傳說。至於最優卡組問題,個人覺得基於如果AI能夠拿到全服的資料作為訓練樣本,就好說,直接用統計最優解即可,當不能時,可以採取隨機換卡...

如何提高機器學習演算法的召回率?(尤其在樣本集不平衡時)

舉個例子,豐田公司的 召回門 事件,當時在全球召回850萬輛車,但是這裡面真正有問題的車有多少呢?可以理解為豐田公司為了提高 召回率 下了血本,那也是沒有辦法的,回到題目,在樣本不平衡的情況下提高召回率,只能 誤殺 大部分,就是降低P,這裡有乙個平衡P和R的乙個指標F1,就是兩者的調和均值,但是像上...