今天聊聊由 Aivin V. Solatorio[1]於2023年發表的文章,
《REaLTabFormer: Generating Realistic Relational and Tabular Data using Transformers》[2]。
REaLTabFormer的全稱是Realistic Relational and Tabular Transformer,直接翻譯就是「真實的關係與表格Transformers」。
REaLTabFormer 這個名字,我感覺就是致敬之前討論的GReaT[3],Generation of Realistic Tabular data。
REaLTabFormer這篇文章的一個看點,
就是如何對「關係數據 Relational Data」[4] 做「生成式建模 Generative Modeling」。
關係數據在數據分析中很常見,因為許多問題常常不是一張表格就能回答,而是要整合多張表才能得到很完整的資訊。
REaLTabFormer 裡面介紹了「父表模型 Parent table model」以及「子表模型 Child table model」。
其中,父表模型專門建模「無關聯表格數據 Non-Relational Table Data」,而子表模型則是捕捉「關聯表格數據 Relational Table Data」。
而區分這兩種數據,就是要看你是不是覺得表格中的「列 Row」之間有相關性。有的話就是Relational Data,沒有的話就是Non-Relational Data。
所以,拿到一個大表格,你需要先去判斷,哪些「欄位 Columns」其數值之間是獨立的,那麼這些欄位就適合放入「父表 Parent Table」。而剩下的欄位,就可以視為「子表 Child Table」。
而父表中的每個「觀察 Observation」,會被看作是一個「序列 Sequence」,然後用「自回歸模型 Autoregressive Model」[5]去學習這個序列成員之間的條件分佈,如此就能生成父表中的「觀察 Observation」。
而子表中,由於「列 Row」之間有相關性,所以子表的一個單位,可以想成是「一串觀察 Sequence of Observations」。而要生成子表的單位,會把父表當作是給定的條件,然後使用Seq2Seq模型[6]的解碼器來生成。
如此,基本上父表格會用自回歸模型做建模,子表格會把父表格的資訊結合進Seq2Seq模型做建模,這樣就能生成關聯式數據了。
REaLTabFormer的這個做法,讓我們能研究「多表生成 Multi-Table Generation」這個研究主題,非常有意思。多表生成尤其在「數據協作 Data Collaboration」[7]的場景相當有潛力,是我認為非常有價值的研究主題之一。
Reference
[1] https://www.worldbank.org/en/about/people/a/aivin-vicquierra-solatorio
[2] https://arxiv.org/abs/2302.02041
[3] [[GM 001|語言模型真的能生成真實的表格數據嗎?]]
[4] https://r4ds.had.co.nz/relational-data.html
[5] https://en.wikipedia.org/wiki/Autoregressive_model
[6] https://en.wikipedia.org/wiki/Seq2seq
[7] https://www.linkedin.com/in/chi-hua-wang-82ba5ab2/