Byte Cup 2018国际机器学习竞赛夺冠记
9 月份,我們兩位同學一起組隊,參加 Byte Cup 2018 機器學習比賽。本次比賽由中國人工智能學會和字節跳動主辦,IEEE 中國代表處聯合組織。比賽的任務是文章標題自動生成。最終,我們隊伍獲得了第一名。
比賽介紹
本次比賽的任務是給定文章文本內容,自動生成標題。本質上和文本摘要任務比較類似。本次比賽有 100 多萬篇文章的訓練數據。?
數據介紹?
詳細參見:
http://biendata.com/competition/bytecup2018/data/
本次競賽使用的訓練集包括了約 130 萬篇文本的信息,驗證集 1000 篇文章, 測試集 800 篇文章。?
數據處理?
文章去重,訓練數據中包含一些重復數據,清洗,去重;?
清洗非英文文章。?
評價指標?
本次比賽將使用 Rouge(Recall-Oriented Understudy for Gisting Evaluation)作為模型評估度量。Rouge 是評估自動文摘以及機器翻譯的常見指標。它通過將自動生成的文本與人工生成的文本(即參考文本)進行比較,根據相似度得出分值。
模型介紹
本次比賽主要嘗試了 Seq2Seq的方法。參考的模型包括 Transformer 模型和 pointer-generator 模型。模型如下圖:
其實就是將 pointer-generator 的 copy 機制加到 Transformer 模型上。同時,嘗試了將 ner-tagger 和 pos-tagger 信息加入到模型中,如下圖所示:
問題分析
最開始我們嘗試了最基本的 Transformer 模型,通過查看數據,遇到以下幾類明顯錯誤:?
OOV (out of vocabulary);?
數字,人名,地名預測錯誤;?
詞形預測錯誤。
OOV 問題的主要原因是數據集詞表太大,模型能夠實際使用的詞表較小;數字,人名,地名預測錯誤,主要原因是低頻詞 embedding 學習不充分;詞形預測錯誤,主要原因是模型中沒有考慮詞的形態問題(當然,如果訓練數據足夠大,是能避免這個問題的)。?
為了解決這些問題,我們嘗試了以下方法。
重要組件
Copy機制?
對于很多低頻詞,通過生成式方法生成,其實是很不靠譜的。為此,我們借鑒 Pointer-generator 的方法,在生成標題的單詞的時候,通過 Attention 的概率分布,從原文中拷貝詞。?
Subword?
為了避免 OOV 問題,我們采用 subword 的方法處理文本。這樣可以將詞表大小減小到 20k,同時 subword 會包含一些單詞詞形結構的信息。?
NER-Tagger和POS-Tagger信息?
因為 baseline 在數字,人名,地名,詞形上預測錯誤率較高,所以我們考慮能不能將 NER-Tagger 和 POS-Tagger 信息加入到模型中。如上圖所示。實驗證明通過加入這兩個序列信息能夠大大加快模型的收斂速度(訓練收斂后,指標上基本沒差異)。?
Gradient Accumulation?
在實驗過程中,我們發現 Transformer 模型對 batch_size 非常敏感。之前,有研究者在機器翻譯任務中,通過實驗也證明了這一觀點。然而,對于文章標題生成任務,因為每個 sample 的文章長度較長,所以,并不能使用超大 batch_size 來訓練模型,所以,我們用 Gradient Accumulation 的方法模擬超大 batch_size。?
Ensemble?
采用了兩層融合。第一層,對于每一個模型,將訓練最后保存的 N 個模型參數求平均值(在 valid 集上選擇最好的 N)。第二層,通過不同隨機種子得到的兩個模型,一個作為生成候選標題模型(選擇不同的 beam_width, length_penalty), 一個作為打分模型,將候選標題送到模型打分,選擇分數最高的標題。
失敗的方法
將 copy 機制加入到 Transformer 遇到一些問題,我們直接在 decoder 倒數第二層加了一層 Attention 層作為 copy 機制需要的概率分布,訓練模型非常不穩定,并且結果比 baseline 還要差很多;
我們嘗試了 BERT,我們將 bert-encoder 抽出的 feature 拼接到我們模型的encoder的最后一層,結果并沒有得到提升;
word-embedding 的選擇,我們使用 GloVe 和 fastText 等預訓練的詞向量,模型收斂速度加快,但是,結果并沒有 random 的方法好。
結束語
非常感謝主辦方舉辦本次比賽,通過本次比賽,我們探索學習到了很多算法方法和調參技巧。
參考文獻
[1] Sennrich, Rico, Barry Haddow, and Alexandra Birch. "Neural machine translation of rare words with subword units." arXiv preprint arXiv:1508.07909 (2015).?
[2] Vaswani, Ashish, et al. "Attention is all you need." Advances in Neural Information Processing Systems. 2017.?
[3] See, Abigail, Peter J. Liu, and Christopher D. Manning. "Get to the point: Summarization with pointer-generator networks." arXiv preprint arXiv:1704.04368 (2017).
附冠軍采訪
Q:能否分別介紹一下所有隊員的情況??
A:我們隊伍包括兩位同學,隊長姜興華和隊員嚴雨姍。
隊長姜興華,浙江大學計算機學院計算機專業的研三學生,主要方向為自然語言處理,機器學習等。?
隊員嚴雨姍,浙江大學管理學院創業管理專業博一學生,主要研究方向為創業與大數據相關課題。?
Q:能否介紹一下學術背景??
A:隊長從本科大三開始接觸機器學習,從事過計算機視覺和自然語言處理相關研究工作。研究生導師是蔡登/何曉飛教授。目前研究方向為自然語言處理-文本生成相關。?
Q:能否介紹一下參加比賽的經歷??
A:這次比賽是我們第一次參加數據競賽。之前也沒什么比賽經驗。參加 Byte Cup 2018,主要是覺得該比賽解決的問題非常有趣并且在學術界和工業界都是非常有意義的。?
Q:在比賽中做了哪些嘗試?遇到了哪些困難??
A:比賽初期我們調研了很多文本生成,機器翻譯等相關方向的論文和開源代碼,做出了很多嘗試。比賽過程中,也遇到了很多問題,包括計算資源不足和代碼實現錯誤等問題。我們的模型是基于 Transformer 模型的改進。比賽中經常遇到的問題就是,Baseline+A,Baseline+B 會有很好的效果,但是 Baseline+A+B 就不能達到同等量級的提升。
同時,調參也遇到了很多的問題,比如:對于不同的模型結構需要使用不同的學習率策略才能達到很好的效果。改進模型是一個不斷迭代的過程,新模型,看數據(找到數據明顯錯誤),分析問題,改進模型。
再比如,我們實驗過程中,會遇到 OOV (out-of-vocabulary) 問題,數字預測錯誤,單詞詞形預測錯誤,生成語句重復,生成語句長度太短等若干問題,每次迭代,都會在對應問題上得到提升。?
Q:以后想在什么具體的領域發展或想解決什么問題?希望做科研還是找工作?如果未來會參加比賽,希望參加什么樣的比賽(對參加比賽的標準是什么)??
A:之后,我們主要做自然語言處理相關工作,主要會關注內容生成/創作等方向。預計之后會去工業界從事相關工作,因為工業界有更多的實際場景和數據,相對來說,會比較有成就感一些。
點擊以下標題查看更多往期內容:?
Airbnb實時搜索排序中的Embedding技巧
圖神經網絡綜述:模型與應用
近期值得讀的10篇GAN進展論文
F-Principle:初探理解深度學習不能做什么
自然語言處理中的語言模型預訓練方法
兩行代碼玩轉Google BERT句向量詞向量
AI Challenger 2018 機器翻譯參賽總結
Google BERT應用之紅樓夢對話人物提取
深度長文:NLP的巨人肩膀(上)
NLP的巨人肩膀(下):從CoVe到BERT
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢??答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 獲取最新論文推薦
總結
以上是生活随笔為你收集整理的Byte Cup 2018国际机器学习竞赛夺冠记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解GAN的谱归一化(Spectral
- 下一篇: FSRNet:端到端深度可训练人脸超分辨