星期二, 11月 18, 2025

影片:這才是審稿人眼中漂亮的 discussion!

出處

好影片,紀錄一下影片重點:

好的 Discussion 分成五步驟。所有討論都有一個目的:to tell people what they can know from your research!

一、概括當前研究

進行具體討論前,先對 current study 做一個回顧,因為讀者讀到 discussion 這里有可能已經忘記你研在幹麻,所以要提醒一下讀者。一段話就夠了!

* 再次指出你的研究問題(research question)
* 回顧你的研究方法(methodology)
* 強調重要研究成果(key findings)——注意是最核心的研究結果,而不是所有在 results 部分呈現的結果
* 告知讀者 discussion 的結構(the structure of discussion):這部份 ChatGPT 給了一個示範,放在 Discussion 第一段最後一兩句:The discussion is organized into three parts. The first part interprets the key findings of this study. The second part compares these findings with previous literature. The final part addresses the limitations and provides directions for future research...


二、討論本研究與已有文獻的關系
discussion應該要和文獻對話里找到的文獻相呼應起來。
這一部分,核心問題:
* 你的研究結果是否與現有文獻「一致」?哪些一致?怎麼一致?
更重要:你的研究結果是否與現有文獻「不一致」?哪些不一致?
* 為什麼不一致?如何解釋它們的不一致?
要提出三點左右的發現和能解釋它們不一致的原因(這里需要大量的 critical thinking!)這里也需要盡量找到有參考文獻的支持!

同時可以討論,為什麼一些理由不適用於解釋當前的不一致?這樣會讓 discussion 部分顯得更加的 critical!

* The findings match those observed in earlier studies
* Our findings are in accord with recent studies indicating that…
* There are similarities between the current study and …

「與現有文獻不一致」萬能句型
* In contrast to/Contrary to earlier findings, however, …
* The results provide evidence against the widely held assumption in …
* The results/findings go exactly counter to the idea that …

「對結果進行解釋」萬能句型
* A possible explanation for this might be that…
* We speculate that this might be due to …
* Two types of accounts could be proposed for the …. The first account assumes that… The second account assumes that…
* The difference between … and … could be attributable to…

三、討論意外,或預料之外的發現(unexpected or surprising findings)

是否有一些結果是和預想的不符,意想不到的?可以從中進行討論,並給出解釋理由,比如是否有一些結果並不顯著(statistical significance)
其他次要的結果,也可以簡單的進行討論+解釋
更重要的是這些意外發現的價值在哪裡?對這個研究領域能有什麼樣的implication? Any new insights that emerged as a result of your research?

* Surprisingly, ...
* What is surprising is that...
* One unanticipated finding was that...
* Contrary to expectations, this study did not find...
* It is somewhat surprising that...

描述意外結果的 implication 萬能句型
* The experiment provides a new insight into the relationship between...
* These results should be taken into account when considering how to...
* The data contributes a clearer understanding of...
* While previous research has focused on X, these results demonstrate that Y.
* The findings have extended our knowledge of...


四、闡明本研究結果與相關理論模型的關系

說完和之前具體的 study 的關系,要開始討論理論部分了!這邊要把眼光放長遠,要想到整個bigger picture!這部分也是想要拿到高分的重點,因為這都是研究contribution!

* 基於你的研究結果,可以對現有的理論作出任何貢獻嗎?
* 你的結果是否與某理論觀點不符?
* 是否可以改變某個理論觀點?
* 或者可以補充一些什麼觀點?
* 是否可以基於你的研究,提出一個更新版的模型呢?


五、本次研究的不足之處(limitation)

任何一個研究都會有局限性,不可能有一個研究是完美的!所以只需要承認這些局限性就可以了,這里也是你critical thinking的展現之處。

* 有哪些局限性?(如樣本量小,研究結果普適性(generalisability)較低,實驗器材有局限性)
* 為什麼會有這些局限性?
* 這些局限性會帶來什麼影響?

全文連結

星期一, 11月 10, 2025

論文閱讀:Free Transformer

Arxiv 連結

來記錄一下最近在 GPT 幫助下讀過的最難的 paper:Free Transformer。這篇的數學難到撞牆。

這篇核心概念,就是在 Transformer 裡面明確在模型裡顯式引入潛變量 Z。(論文 Z 不是單一全局變數而是序列 Z1...ZT)


 

在原本 Transformer 結構,潛變量 Z (例如影片是正評、負評)是通過學習序列預測來進行隱式學習。這種方法存在幾個缺點。首先,要計算我們感興趣的變量 Z,會涉及很複雜的計算,並且這類計算容易出錯。只要序列生成中出現錯誤,整個序列以及根據該序列推導出的 Z 都會是錯誤的。此外,沒有顯式表達 Z,把產生 Z 建立在序列預測,也可能在新資料因為序列預測表現不同而影響泛化,這也是論文 (1)(2) 式舉例想表達的。


另一個難點是論文中 (3)。這個(3)邊際似然(marginal likelyhood)P(S)和論文中 loss function 有關,loss function 其中一部分近似 logP(S) 的證據下界(ELBO),因此當 loss 降低時,意謂 ELBO 提高,從而提高對 logP(S) 的下界。而 P(S) 基本上可以看作在先驗 P(Z) 下對 P(S|Z) 的期望。如果P(S)夠高,那麼在模型生成的過程中,只要採樣Z,就會有足夠的機會讓模型產生的 S' 能夠對應到真實的序列 S。而 Z1...ZT 並非參數,是隨機採樣出來的,編碼器參數(確定 Q)與解碼器參數(確定 P(S|Z))才是需要學的。


接下來難點是所謂 free bit 設計。Free bit 目的在於避免 KL collapse ,也就是,VAE decoder 以及後面的模型直接將採樣的 Z 丟棄不用,然後 VAE 訓練出的分佈 Q(Z|S) 直接套先驗分佈,然後 KL Loss 歸零成功最小化,但 VAE 就整個沒用。為了避免這種情況,模型引入了 free bit,使得 Q 分佈與先驗分佈之間可以允許一定程度差異,不會計入 Loss。

接下是所謂的 Binary Mapping。它的模組有一層,不是直接輸出 2^H 次方個 output,而是將輸出 H 個互相獨立的 Binary Bit,具體輸出 class number 則是這 H 個 bit 對應的 binary number。學習 H 個(例如 16 個)互相獨立的 binary classification 會比直接學 2^H 個 class(如 65536 個)訓練更好,降低參數量、避免大多數輸出都是在 0 附近微調,訓練速度慢並且容易被 noise 干擾,也避免資料不夠長尾類別學不到。


剩下的部分是實際測試。首先是 free bit 的設定。Kappa 太低,模型表現與正常 Transformer 相同,實際上就是 KL collapse,導致 VAE 沒有作用。然後,當 Kappa 的值過大,模型會在 Z 藏太多資訊,實際上是 overfitting,測試中連雜訊都學進去了。然後後面 benchmark 的部份就沒有細讀。更多的細節我看不懂 XD





全文連結

星期一, 10月 20, 2025

讀論文:Less is More: Recursive Reasoning with Tiny Networks

連結

這篇論文挺有趣,裡面提到的 HMM 和 TRM 架構,讓我想到 RNN 。不過在RNN中,Recurrent 是讓 latent space 隨時間演化,最後 prediction 才參考一次 gold label 進行 BPTT,而這篇文章中的 TRM 每次遞迴的大步(deep supervision)都維護「當前答案 y」與「推理潛變數 z」並參考 training gold label 進行更新 z 修正 y。

全文連結

星期三, 10月 15, 2025

好文:The RAG Obituary: Killed by Agents, Buried by Context Windows

連結

這文章真是打動我心,明顯作者踩了一堆坑。RAG 本質就是 workaround,當 LLM context window 不夠長,無法塞進足夠資料的前提下,RAG 就是沒有辦法的辦法。RAG pipeline 很長,Chunking、Embedding、Search、Reranking 每個步驟都可以 fail。而且 upstream 爆了,往往 downstream 錯誤不會消失,只會放大,最終變成災難性的低準確度。而且 RAG 方法有先天缺陷。例如本文提到的,長文本之間會有複雜的依賴關係,一旦進行 chunking 可能某些語義或查詢路徑就不見了。

不過說這麼多,對我個人好像也沒什麼幫助啊。我司不想買,連 RAG 的單顯卡都下不來。真的要做 RAG 的話,也只能開源系統套一套,開源沒辦法,就真的沒辦法囉。至於像這篇說的一樣開發 agentic search,只能說夢裡什麼都有 XD

全文連結

星期二, 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




全文連結