PTT評價

[討論] 跑實驗數據要跑多次取平均嗎

看板graduate標題[討論] 跑實驗數據要跑多次取平均嗎作者
jack1218
(赤城我老婆)
時間推噓24 推:24 噓:0 →:41

大家好
是這樣的
我在做深度學習相關領域的論文
架構差不多好了 但是跑實驗要很久
每做一個實驗就要花上大量的時間
所以我需要固定random seed 跑很多次(Ex.3-5次)取平均嗎
我看同領域其他論文提供的code
有些人會取五次 也有人只跑一次
問學長姐也沒什麼定論
所以請問這部分有什麼慣例或是規定嗎

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.235.174 (臺灣)

※ 文章網址:
https://www.ptt.cc/graduate/M.1663258061.A.C7C

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/16/2022 00:08:42

jason9081409/16 00:10顯卡買起來就沒問題惹

zxp950500709/16 00:17K-Fold validation 瞭解一下

ok875266509/16 00:33如果實驗上換seed就落差很大才要吧 跟kfold應該沒關係

wuyiulin09/16 01:08看架構,但是我建議你取最好的那次xD

wuyiulin09/16 01:10但是我沒有做過 random seed 差很多的架構,頂多統計值

wuyiulin09/16 01:10落差千分之五左右

zxp950500709/16 01:57我每次審文章 沒做K-fold就發回重審 建議固定隨機種子

zxp950500709/16 01:57以8:2比例跑5次flod取平均 除非你能說服我為什麼你不

zxp950500709/16 01:57用做k-flod 但目前沒有學生說服成功

請問如果資料集太小 我做k-flod 但是把val set混入train set 這樣做法是可行的嗎 比方說做跑5次flod取平均 原本比例8:2 變成 10:2

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/16/2022 02:08:33

zxp950500709/16 05:22不可以 test set 或 Val set 不可加入訓練過程

感謝回答 我還有一個問題 如果當中使用一個component 不具備reproducibility (hugging face 的某些transformer固定random seed 還是不會有一樣的結果) 請問實驗上可以無視這個問題嗎

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/16/2022 13:00:24

zxp950500709/16 13:23固定seed 固定模型情況下 的確會有不一樣的結果 這是

zxp950500709/16 13:24梯度下降的現象 但不應相差太多

jason9081409/16 13:55樓上認真!?kfold不就是把train set跟valid set混一

jason9081409/16 13:55起後分成k份然後每次拿一份來做validation 嗎?

jason9081409/16 13:57而且random seed沒什麼好取平均的吧,不就是找到最好

jason9081409/16 13:57的seed然後用它就好

zxp950500709/16 14:02回樓上 如果把val混在train裡面一起練 那不管怎樣Val

zxp950500709/16 14:02的acc 都會是好的 那就沒有驗證的必要

zxp950500709/16 14:02Val要有意義就是不參與訓練過程

zxp950500709/16 14:04原po說的8:2 變成 10:2 訓練 這樣的方式是不恰當的 va

zxp950500709/16 14:05l不能參與訓練過程

zxp950500709/16 14:06再來 如果有做的完整交叉驗證 隨機種子的確不重要

zxp950500709/16 14:06希望我的回答對你來說夠認真

jason9081409/16 21:52但我之前學到的以及網路查的到的k-fold都是k個部分輪

jason9081409/16 21:52流當valid set來跑,而且原本valid set就是手動把

jason9081409/16 21:52labeled data分一些出來不是嘛?如果不把valid set混

jason9081409/16 21:52進去切那跑的時候不就有兩個valid set (train data的

jason9081409/16 21:521/k跟原本的valid set),這樣的意義是什麼?

jason9081409/16 21:53https://i.imgur.com/wdBmdGa.png

jason9081409/16 21:54附個網路找到圖,還是你說的是圖中的testing set

zxp950500709/16 23:37我理解你會誤會我的原因了 我是指是在一開始不將test

zxp950500709/16 23:37集固定 所有資料集8:2分 2=test或Val 但不論如何 Val

zxp950500709/16 23:37或test都不能被訓練 你的解釋是對的 但你可能誤解我

zxp950500709/16 23:37的意思 導致你覺得我是錯的

zxp950500709/16 23:39回到原po的案例 用多種RS取平均沒有意義 因為無法證

zxp950500709/16 23:39明所有RS有使test集遍歷資料集

zxp950500709/16 23:41所以我提出不要用多個RS 而是使用fold 8:2 得到五次

zxp950500709/16 23:41平均結果 會比多個RS有意義

zxp950500709/16 23:44接著原po提出因為資料集小 切8:2 可能會讓原本資料集

zxp950500709/16 23:44更小 但我很懷疑 因為小資料集跟原po說的大量時間是

zxp950500709/16 23:44互斥的

我的資料集雖然只有8000多筆 但是input有影片 文字和聲音 分別使用transformer 效能需求頗高 使用的設備也不盡理想 再加上要跑不少實驗 所以才需要花不少時間

zxp950500709/16 23:45不管如何 我就直接假設他的網路非常複雜

zxp950500709/16 23:51回到你提出的圖 我認為更嚴謹的處理方式依然是不將TES

zxp950500709/16 23:51T固定 並分train:Val:test 然後跑fold 這邊Val可以用

zxp950500709/16 23:51於earlystop 但依然不能成為訓練集

zxp950500709/16 23:52TEST會被固定的場景大概就數據競賽或kaggle

請問若官方有切分好train val test 先將train val 合併 並且固定random seed 跑5-fold 這樣是比較嚴謹的做法嗎

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/17/2022 02:53:33

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/17/2022 02:58:02

zxp950500709/17 04:42這樣說吧 因為你開頭說是論文 所以我說明論文該怎麼設

zxp950500709/17 04:42計實驗 如果是競賽設計好的train val test 當然以大

zxp950500709/17 04:42賽規定為主

是論文 我說官方提供是發dataset的人有切分好了

Mchord09/17 08:38你跑5fold出來就5個model拿去測test一樣5筆沒意義啊

Mchord09/17 08:39切了train val test情況,標準做法是挑val高的測test

Mchord09/17 08:40要發paper的話直接無腦測test挑最高的也大有人在

我就是看有人的是這樣做的 所以才問這個問題~ 但總覺得哪裡怪怪的

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/17/2022 09:47:23

DLHZ09/17 09:48答案是沒有 只要足以說明你提出的方法就好

Mchord09/17 10:23你要用5fold挑weight去測那你test result就要用範圍表示

Mchord09/17 10:23跟要對比的文獻採用一樣做法就可以了

Mchord09/17 10:25但現在實paper跑kfold的人很少了,因為耗時又不能偷雞

zxp950500709/17 11:28所以其實要發paper 不做k fold可以 不要被我審到就好X

zxp950500709/17 11:28D

zxp950500709/17 11:30總之沒有正確答案 只有更嚴謹的做法而已

真是太感謝你了 請受小弟一拜

tommytyc09/17 12:25多看幾篇頂級會議的做法吧

jacksoncsie09/17 17:06感謝上面討論

※ 編輯: jack1218 (114.136.235.174 臺灣), 09/17/2022 23:12:34

a2683376509/19 00:00train valid test 三個彼此要獨立

Informatik09/19 08:33選最好的那次

charliebitme09/22 02:29論文的話選最好的那次 記得設seed到時發表才可符合r

charliebitme09/22 02:29eproducibility