Pages - Menu

星期二, 10月 14, 2025

為什麼論文不被送外審

連結

很好的影片,文中提到幾個我之前沒有想到的方法。首先,在 Introduction 部分引用目標期刊的相關文章,可達到15篇以上,最好是三年以內的,可以影響 IF 的計算,能引期刊主編、副主編的文章更好。如果沒有同樣的研究問題,可以引用上一層的背景問題。甚至為了做到這一點,可以每投一家期刊都重新改寫一次 Introduction。

還有就是,原來期刊副主編不會很認真地看論文,可能只是看完 cover letter 和 highlight,就決定這篇文章要不要送外審了。Cover letter 應該更有內容,包括研究方法、解決問題的方式,傳統方法存在的問題、本文的創新之處,文章的影響力,包含應用對象、結果、方法可行性。最後再總結一句,指出這篇文章符合本本期刊哪個主要研究方向。這種寫法比我原有 Cover letter 好太多了。(抓圖出自上方連結影片)

 

星期一, 10月 13, 2025

用 ChatGPT 研讀論文成功

ChatGPT 真的是越來越強,生態系也比以前更成熟。我之前成功地用 GPT-5 進行 Vibe Coding,現在用它來幫我讀 Paper 的效果也非常好。我使用的 LobeChat,搭配 GPT-5 可以將 PDF 、檔案或圖片直接發送給大模型,讓它幫我讀論文,省去了我手動從 PDF 中抄文字、校正 LaTeX,然後再貼到大模型 的繁瑣步驟,讓我提問的效率大幅提升。GPT-5的總結能力也很強,只要告訴它我是大學生,現在只是學過大學程度的 deep learning 和哪些數學,再請 deep research 幫我制定 step by step 學習計畫,教我如何深入理解某篇論文。GPT 真的能把文章一步步拆解成我可以吸收的樣子。

這次試用目標是 Weakly-supervised Medical Image Segmentation with Gaze Annotations 這篇論文。因為我業務跟影像有關,對於 Computer Vision 和 Weakly Supervised Learning 有興趣。不過這篇論文我自己看完全看不懂。Deep research 和 GPT-5 拆解後真的能看懂了。這篇論文的核心其實就是訓練多個 Weakly Supervised Network,根據不同的粒度的 pseudo-label 訓練不同的 classifier。這些不同的 classifier 會使用一些特殊設計的 loss function 達成一致,以避免對 noise 的 overfitting。Core idea 其實幾句話就能講清楚,但自己看就是看不懂。

用 GPT 加上自己驗證,可以避免卡在鬼地方。沒有 GPT,光一句 Current noise-robust approaches are based on the symmetric or asymmetric assumptions of simulated noise...的 symmetric 是什麼意思,就要查半天,一個點就吸乾全部精力。又例如本文 isotropic Gaussian 和 dense CRF 的應用,我完全沒有學過相關數學和 Computer Vision 知識,所以根本無法看懂。請 GPT 解釋後大概明白其實它只是對 pseudo-mask 做微調,很快就能過掉難點。如果自己看就會卡在這,還以為這是重要的核心方法。

這次實驗非常成功,接下來我應該會用這個方法快速過掉自己感興趣的論文。目前有一些論文提醒服務,像是 StorkApp,可以自動找出我感興趣的論文。靠這個方法,希望就算沒有在博士班學習,也能快速跟上研究動態。


星期二, 10月 07, 2025

第一次 Vibe Coding 成功!

這次需求是英文聽打。之前一直用 AudioPen。AudioPen 即使沒對口音做校正也非常精準,不過它的免費版有個致命的,官網上沒有提到的小問題,就是免費版竟然是有限制的!某天我在手機按下錄音,App 冷冷地告訴我不能用了,要用就要付錢!不過有七天免費試用期優(微笑)。之前一直想學 Vibe Coding,但沒想到好的題目。剛好遇到機會,直接拿這個題目開始做,用 VS Code + Cline + GPT-5 (BYOK) 搥一個 AudioPen 堪用替代品。

結果 GPT 一如既往比我聰明。我原本只想做個簡單的 Client,輸入 OpenAI API Key 存本機,對 Whisper 做 inference 就好。不過心念一動,想到最近某個 Google Gemini Vibe coding 爆雷的事情,還是決定把方案丟給 GPT-5,將 Reasoning 開最高,問一下這樣的計畫到底安不安全。果然 GPT 把我噴得滿頭滿臉,它給了幾個備選方案。我選了把金鑰保存在 Local 端且做成可攜的方案。

接下來就是被 GPT 教育的過程。例如:

Me:我可不可以輸入文字密碼,直接加密 API key 就行?
GPT:不行!你要經用雜湊 KDF 用 Argon2id 其中 target derivation time 至少 200-500ms,另外要有 16-32 byte 的 salt 12 bytes 的 nounce,金鑰長 32 bytes,加密用 AES-256-GCM blahblahblah
Me:恩,好 OwO (當事人大腦已失去回應,系統提示:找不到「20 年前學的應用密碼學」)

另外一次,我發現長語音會造成 App crash。我請 GPT 補 Error Logging,再把 dump 丟給 GPT-5 high reasoning,GPT-5 就直接告訴我這是 PyAudio 的哪個 function 因為什麼樣的原因造成 C runtime 的 stack overflow,然後就幫我把 code 改好。重新執行 Bug 也不見了,我完全沒進 debugger。

這樣一套做下來,發現我真的菜,擔心我到底價值在哪裡?雖然我還是有 function,例如我能告訴 GPT 該怎麼樣切模組,第一步做什麼第二步做什麼逐步做出來,但真正難搞的難點都是 GPT 做掉的,特別是資安,GPT 還提了些我聽都沒聽過的打法(例如 TOCTOU 之類)

以前總覺得寫 Code 是通靈。但我發現錯了,以前根本沒真的通過靈!用 Vibe Coding 才是真通靈,呼叫 AI Agent 就是請神上身施展道法,瞬間寫 code 品質還很好。App 穩定下來後,我還要好好讀 AI 生的 code,因為 AI 的產出比我手寫義大利麵程式碼更結構,看來更好讀、好維護、而且用了不少我還不懂的 Python 細節和技術。

不過這些折騰還是有收獲的。至少現在真的有了 APP,可以勉強實現 AudioPen 免費版和一咪咪的付費版功能,當然都有點劣化,也有些額外小問題,比如只有 PC 端,顯然沒有手機版,網頁版。程式 crash 得自己找問題,得自己申請 OpenAI API Key 搞定付費、金鑰授權...。呼叫 Whisper 和 GPT-4o-mini 顯然也不是真的免費,只是比直接買包好的產品便宜。當然最重要的是有成就感,這也是我自己整一套最重要的原因。

P.S 自己寫 Prompt 調模型做改寫後,發現模型 behavior 跟 AudioPen 很像。推測 AudioPen 很大可能是 Whisper 加上 GPT 改寫套殼 QQ




星期六, 10月 04, 2025

第一篇 GPT 研究終於被 Accept

 搞很久的文章,終於前天被 JMIR Formative Research 接受了!!!回顧 FB 才發現這文章寫超過一年 QQ

這次有別 2023 年的好運氣。當年需要文章,手上剛好有好題目,正好有資料,剛好大樣本 real-world internal validation 沒人做,剛好 finetuned models 可以直接跑出好結果,所以那篇很快就有結果。

這次一開始就踩坑。因為上次作法嚐到甜頭,這次一樣採用基於 real-world observation 但與現有研究稍微有別的 target task 建立新賽道,避免跟人直球對決(我就廢),針對台灣特有報告寫法做 anomaly detection。少量平衡模擬樣本用 GPT 跑起來效果好,決定做下去,先來標個 10000 份資料(每個資料三個 label),為了標資料還自己做 Tampermonkey script 來 patch 標注程式。

10000 筆資料標完後就發現掉進水溝裡了。我完全沒考慮到真實世界數據極度不平衡會讓模型爛掉,和新冠快篩在低盛行率會篩出一堆 false positive 一樣道理。GPT 在 balanced data 上表現不錯(後來實驗 GPT-4o F1 能達到 0.96),但在 100:1 這種比例下,大模型表現整個拉,GPT-4 mini 當初 F1 score 0.15。Paper 準備進入垃圾桶。回顧文獻也發現,前面用 deep learning 解題的大佬們,benchmark 都默契採用 balanced synthetic data,大家都身法靈動、不約而同閃過這坑,只有 paper 沒仔細念的萌新掉進水裡。

但資料都標了,不想打水漂,加上自己業務經驗,覺得問題有極明顯結構化特徵,不應該做不出來。開始用各種異想天開的方法,從 ML、transformer、LLM,從 supervised 到(自創)unsupervised 方法全部試一遍,最後拯救這篇的竟然是 rule-based,imbalanced data F1 能拉到 >0.850。不過 rule-based 怕不好投稿,又設法把 GPT 加入 pipeline。最後發現 GPT 還是能起到作用,改善 rule-based 的 screening performance 才做出實驗。

投稿一樣不順利,desk reject 連發還沒有理由,最後在 JMIR 才遇到編輯善意提一句:這個研究 too formative,並推薦旗下有 IF 的期刊,文章才能活下來。

但 review 還是繼續蹲廁所,期刊找兩人,其中一位眼光非常毒辣,答起來很難。他認為,我主張模型表現不好是因為 class imbalance,但我沒有充分論證這一點。我必須探討 models 表現不好可能原因有哪些,才能跳到 class imbalanced 的結論。

對完全自學、基礎很差(現在還沒去做 numpy 復現 transformer 呢)的我,這要求有億點難。我就不能把 model 下載回來跑一遍交差就好嗎.jpg

這段時間看了很多資料,複習了統計和入門一點點 casual inference,還好現在有 GPT ,想不出來的問題至少能給關鍵字和概念,知道去哪找資料。期間還發生實驗事故,pipeline 參數有問題,跑的模型一開始就錯所以 Results 要重寫。這次 revision 花五個月,稿子增量 60%,補一大堆實驗和分析。好在期刊編輯非常 nice,對於原始文稿那粗陋的動線,直接給了改善文章的建議(甚至包含該用哪些字當標題!現在回想原本寫法沒被 desk reject 真的是佛心),reviewer 也認可了新實驗,總算文章可以過。

這次研究一大收穫,是發現 GPT 的潛力還可以深挖,以前只把 GPT 當高級翻譯和英修,後來發現它其實也可以模擬毒舌審稿人。只要提供稿子或段落,再用提示詞讓 GPT 扮演嚴格 Q1 期刊審稿人或統計專家,GPT 就會摘掉平常那和和氣氣的面孔,對稿子進行狠狠的終極侮辱。GPT 不保證對,但仍能提供有價值的意見。例如我統計作為外行,一開始文章模型參數點估計,後面竟然沒放標準差,這點就被 GPT 抓出來 highlight。一些 GPT 提示的問題,自己判斷、唸書唸文章後修改,文章品質真的能改善非常多。現在還有 deep research,連研究背景,可研究性都能幫忙了。

我也發現 GPT+Endnote 連動小竅門:有 Endnote citation 的文字很難用 GPT paraphrase,因為會破壞 Endnote 格式。後來發現可以 convert to unformatted citation,請 GPT 不動 citation 的情況下 paraphrase,改出來的結果,只要稍微把 unformatted citation 內的空白改好,竟然可以直接貼回 Word 轉回原本 Endnote citation。發現這招後噴研究計畫噴文章的速度就更快了 :P

這篇小文章,要感謝的人好多,我司本科單位和 AI 單位長官們,被我凹來標了幾百份資料的好同事 QQ。總算這篇能夠劃下句點,剩下的就是搞定 copyediting 跟 publish QQ