更新一些在我學習過程中閱讀過的且感覺不錯的論文,對於一些經典或思路很新奇的論文,會進行精讀,並寫一些閱讀筆記同步上傳更新。 (內容同步更新到知乎、CSDN),論文按照時間順序排放。
注:
為了方便查找論文以及歸檔,提供了搜索工具,使用方式如下:
python3 search_kits.py

大模型 • 聚類 • 向量召回 • 對話系統 • 對話狀態管理 • 機器學習 • 語言模型
數據集 • 文本相似度/匹配/分類 • 深度學習 • 語音系統 • 語音識別 • 模型
預訓練 • Subword • 任務型對話 • 對話狀態跟踪 • 對話意圖識別 • 對話槽位填充
GNN • 檢索式對話系統 • 語音合成 • 綜述 • 無監督 • 數據增強
閱讀理解模型 • 可解釋性 • Prompt • 評估 • 對話策略學習 • 關係抽取
蒸餾 • 異常檢測 • 自監督 • 損失函數 • 半監督 • 社區發現
圖算法 • 搜排 • 文本摘要
注:论文按时间排序,并进行分类归档,可直接在本页Ctrl+F查询,或使用上述搜索工具查询(推荐)
下述列表项格式:<标签 | 论文 | 阅读笔记 | 简述 | 作者时间>
[圖算法-搜排] | The PageRank Citation Ranking: Bringing Order to the Web | 閱讀筆記| 經典的PageRank算法,最初是作為互聯網網頁的重要度計算方法,被用於谷歌搜索引擎網頁排序。該算法的核心思想就是在有向圖(帶權)上定義一個隨機遊走模型(一階馬爾可夫鏈),在一定的條件下,使得極限情況訪問每個節點的概率收斂到平穩分佈,節點上的平穩概率值就是PageRank值,用於表示節點的重要度| L Page et al, 1998
[聚類] | Accelerating exact k-means algorithms with geometric reasoning | 閱讀筆記| K-Means引入計算機中的那片論文,K-Means屬於Partition-based methods,思想是初始化中心點,然後通過啟發式算法,達到”類內的點都足夠近,類間的點都足夠遠“的目標| et al Dan Pelleg,1999
[異常檢測-機器學習] | LOF: Identifying Density-Based Local Outliers | 閱讀筆記| 本文提出的LOF算法是基於密度的算法,其優勢在於同時考慮了數據集的局部和全局屬性(其中局部可達密度的定義其實暗含了一個假設,即不存在大於等於K個重複的點),異常值不是按絕對值確定的,而是相對於它們的領域點密度確定的。因此,當數據集中存在不同密度的不同集群時,LOF算法表現良好,比較適合中等高維的數據集| Markus M. Breunig et al, 2000
[聚類] | Mean Shift: A Robust Approach toward Feature Space Analysis | 閱讀筆記| 實現的方法是滑動窗口的算法,在每次迭代中,通過將中心點移動到窗口內所有點的平均值位置(因此得名),將滑動窗口中心移向密度較高的區域。滑動窗口內的密度與其內部的點數成正比。通過轉換到窗口內點的平均值位置,窗口將逐漸移動到有著更高點密度的區域。優點:Mean-Shift的最大優勢就是可以自動發現簇的數量而不需要人工選擇;簇的中心向最大密度點聚合的事實也是非常令人滿意的,因為它可被非常直觀地理解並很自然地契合數據驅動;可以處理任意形狀的簇類;算法只需設置半徑這一個參數,半徑影響數據集的核密度估計;算法結果穩定,不需要進行類似K均值的樣本初始化;缺點:不足就是窗口大小/半徑“r”的選擇可能是非平凡的;半徑設置的太小,收斂太慢,簇類個數過多;半徑設置的太大,一些簇類可能會丟失。對於較大的特徵空間,計算量非常大| Dorin Comaniciu et al,2002
[向量召回] | similarity estimation techniques from rounding algorithms | 閱讀筆記| 論文提出的SimHash是當年Google用來文本去重的算法。主要做法是將文檔提取出一定數量的關鍵詞,然後轉換成哈希碼並按列相加,1+weight,0-weight,得到的結果按照整數為1,負數為0得到最終的哈希碼,然後將哈希碼分為m個table,並分別記性計算檢索| Moses S. Charikar et al,2002
[圖算法-文本摘要-無監督] | TextRank: Bringing Order into Texts | 閱讀筆記| 本文提出的是一種基於圖的用於關鍵詞抽取和文檔摘要的排序算法,由PageRank算法改進而來,它利用一篇文檔內部的詞語間的共現信息(語義)便可以抽取關鍵詞,並使用抽取式的自動文摘方法抽取出該文本的關鍵句,相對於TF-IDF方法,可以更充分的利用文本元素之間的關係。當然,它也同樣存在受分詞、停用詞、文本清洗的影響| Rada Mihalcea et al, 2004
[聚類] | k-means++: The Advantages of Careful Seeding | 閱讀筆記| 原始K-Means(隨機選擇簇中心)對於初始化簇中心敏感,因此k-means++進行了改進,隨機選擇第一個初始中心點,計算其他點與該中心點的距離,按照距離遠的以較大的概率被選中來選擇第二個初始中心點,一次類推| et al David Arthur,2006
[聚類] | Clustering by Passing Messages Between Data Points | 閱讀筆記| 其基本思想是將全部樣本看作網絡的節點,然後通過網絡中各條邊的消息傳遞計算出各樣本的聚類中心。聚類過程中,共有兩種消息在各節點間傳遞,分別是responsibility和availability 。 AP算法通過迭代過程不斷更新每一個點的吸引度和歸屬度值,直到產生m個高質量的Exemplar。優點是無需指定聚類“數量”參數;聚類中心點由實際的樣本點中產生;初始值不敏感,且對距離矩陣的對稱性沒要求。 AP通過輸入相似度矩陣來啟動算法,因此允許數據呈非對稱,數據適用範圍非常大,魯棒性很好;誤差低;缺點是AP聚類應用中需要手動指定Preference和Damping factor,這其實是原有的聚類“數量”控制的變體,且算法複雜度較高| Brendan J. Frey et al,2007
[聚類-社區發現-圖算法] | Maps of random walks on complex networks reveal community structure | 閱讀筆記1 / 閱讀筆記2 | 經典的infomap算法,其屬於動態社區發現算法。 infoma的核心思想是通過構造轉移概率,在圖上進行隨機遊走來生成序列,再通過對序列做層次編碼,最小化目標,從而完成聚類。其中有幾個點需要說明的是:(1)轉移概率的構造,例如在帶權圖的基礎上,通過對權重的歸一化得到概率(由於優化目標中只看相對概率,所以事實上歸不歸一化都行);(2)隨機遊走是指在圖中按照概率,從一個點跳到另一點,從而得到的路徑序列(實現上不需要真的生成序列,解概率方程就行,目標就是優化到這個隨機序列達到平穩);(3)所謂最小化的目標,是使用層次編碼的方案下,得到的最小信息熵(最短編碼長度)目標函數;(4)節點合併到類的環節,是按順序依次嘗試將每個節點賦給鄰居節點所在的類,取平均比特下降最大時的類賦給該節點,如果沒有下降,該節點的類不變。 infomap算法有很清晰的信息論解釋,還幾乎沒有任何超參(唯一一個“穿越概率”參數) | M. Rosvall et al, 2007
[社區發現-聚類-圖算法] | Near linear time algorithm to detect community structures in large-scale networks | 閱讀筆記| LPA是基於標籤傳播的社區發現算法,其核心的思想不復雜,通過給圖中節點初始化唯一標籤(PUSH算法),然後再每次迭代中隨機選取節點,根據與其相連的節點所屬的標籤改變自己的標籤,選擇方式可以根據數量、權重等,如果存在多個相同則隨機選取,直到多次迭代後穩定。 LPA算法簡單,且不需要指定社區個數,但是缺點在於算法過程中的更新順序和隨機選擇,使得算法並不穩定,改進的切入點自然就是從這兩個方面入手| Usha Nandini Raghavan et al, 2007
[聚類] | A Tutorial on Spectral Clustering | 閱讀筆記| 不是原論文,但是這一篇對Spectral Clustering講的非常好,譜聚類(Spectral Clustering),就是先用Laplacian eigenmaps對數據降維(簡單地說,就是先將數據轉換成鄰接矩陣或相似性矩陣,再轉換成Laplacian矩陣,再對Laplacian矩陣進行特徵分解,把最小的K個特徵向量排列在一起),然後再使用k-means完成聚類。譜聚類是個很好的方法,效果通常比k-means好,計算複雜度還低,這都要歸功於降維的作用。優點:譜聚類只需要數據之間的相似度矩陣,因此對於處理稀疏數據的聚類很有效。這點傳統聚類算法比如K-Means很難做到;由於使用了降維,因此在處理高維數據聚類時的複雜度比傳統聚類算法好。缺點:如果最終聚類的維度非常高,則由於降維的幅度不夠,譜聚類的運行速度和最後的聚類效果均不好;聚類效果依賴於相似矩陣,不同的相似矩陣得到的最終聚類效果可能很不同| Ulrike von Luxburg et al,2007
[異常檢測-模型-機器學習] | Isolation Forest | 閱讀筆記1 / 閱讀筆記2 / 閱讀筆記3 | 經典的孤立森林算法的初版paper,2012發表了擴充版本(Isolation-based anomaly detection)。孤立森林是一個基於Ensemble的快速離群點檢測方法,主要針對的是連續型結構化數據中的異常點,具有線性的時間複雜度和高精準度。它的理論基礎是(1)異常數據佔樣本量的比例很小;(2)異常點的特徵值與正常點的差異很大。孤立森林簡單高效,但是在一些情況下,比如說數據的分佈不是沿著特徵軸,而是隨意分佈,或者流型分佈,孤立森林效果就不好,就需要考慮選擇別的方式了| Fei Tony Liu et al, 2008
[社區發現-圖算法] | Fast unfolding of communities in large networks | 閱讀筆記1 | 閱讀筆記2 | 經典的Louvain算法,其是基於模塊度優化的社區發現算法,且是一種啟發式貪婪算法。流程是:(1)初始時將每個頂點當作一個社區,社區個數與頂點個數相同;(2)依次將每個頂點與之相鄰頂點合併在一起,計算它們最大的模塊度增益是否大於0,如果大於0,就將該結點放入模塊度增量最大的相鄰結點所在社區;(3)迭代第二步,直至算法穩定,即所有頂點所屬社區不再變化;(4)將各個社區所有節點壓縮成為一個結點,社區內點的權重轉化為新結點環的權重,社區間權重轉化為新結點邊的權重;(5)重複步驟1-3,直至算法穩定。一般認為用於評估效果的模塊化指數在0.3~0.7就有明顯的社區結構出現。 Louvain算法的優點是時間複雜度低(nlogn),適合大規模的網絡、社區劃分結果穩定且有具體指標、天然自帶層次化。而缺點在於容易導致”過擬合“。 | Vincent D. Blondel et al, 2008
[對話系統-對話狀態管理] | The Hidden Information State model: A practical framework for POMDP-based spoken dialogue management | 關於對話狀態管理的文章,可以用來補充相關背景知識| Young et al,2010
[向量召回] | Product quantization for nearest neighbor search | 閱讀筆記| 這篇Paper是PQ算法的成功開始,PQ是一種量化方法,本質上是數據的一種壓縮表達方式(本篇論文使用了KMeans算法,得到質心的codebook),先將向量分成m段,每段分別根據codebook轉換成壓縮向量,然後使用SDC或ADC算法進行相似搜索。不過論文中進一步進行了改進,提出了IVFADC算法,一種基於倒排索引的ADC算法,分兩步,第一步是PQ一遍(成為coarse quantizer),然後用向量減去量化後的向量得到殘差,第二步就是在所有得到的殘差集合上在進行一次PQ,最後用得到的向量建立倒排索引| Herve Jegou et al,2011
[聚類] | Scalable K-Means++ | 閱讀筆記| K-Means++由於它的採樣策略,所以難以並行,限制了其用於大規模數據集上。為了解決這個問題,k-means II 改變取樣策略(以oversampling的方式),初始化一個中心點,然後循環log(n)次,每次按照一個概率計算公式選擇多個point加入到中心集,最後得到的候選中心集再通過k-means++對候選中心集進行聚類,選出k個簇中心| Bahman Bahmani et al,2012
[向量召回] | Fast Search in Hamming Space with Multi-Index Hashing | 閱讀筆記| 主要是解決在漢明空間上的R-Neighbors of query和KNN query,論文提出了一種多分段索引的哈希方法,查詢效率達到了次線性,做法是r為查詢的漢明距離,將漢明碼切分成m段,快速找出每段中漢明距離小於r/m的結果,合併所有結果即為候選集| Mohammad Norouzi et al,2012
[向量召回] | Learning Deep Structured Semantic Models for Web Search using Clickthrough Data | 閱讀筆記| 經典的DSSM語義相似度匹配模型,就是通常我們所說的雙塔模型。使用Word Hashing的n-gram,在那個時候還是很獨到的,其核心思想是將query和doc映射到到共同維度的語義空間中,通過最大化query和doc語義向量之間的餘弦相似度,從而訓練得到隱含語義模型,達到檢索的目的。負採樣1:4 | Po-Sen Huang et al,2013
[機器學習] | Parameter Server for Distributed Machine Learning | 閱讀筆記| 論文裡說本篇所介紹的Parameter Server屬於第三代PS,提供了更加通用的設計,架構上包括一個Server Group和若干個Worker Group,提供瞭如下幾個特點:Efficient Communication、Elastic Scalability、Fault Tolerance and Durability、Ease of Use | Mu Li et al,2013
[向量召回] | Optimized Product Quantization | 閱讀筆記| PQ的做法是直接簡單粗暴的分割原始特徵向量,並沒有去除相關性,而如果去除相關性之後再進行PQ可以使得檢索效果更好,OPQ就提供了是的每個子空間信息均衡的方法,即使用一個正交矩陣來對聚類中心進行旋轉,並提供了Non-Parametric和Parametric的兩種算法思路| Tiezheng Ge et al,2013
[語言模型] | Efficient Estimation of Word Representations in Vector Space | 閱讀筆記| Word2vec開山之作之一,專門講訓練中的兩個trick:hierarchical softmax 和negative sampling | Tomas Mikolov et al,2013
[語言模型] | Distributed Representations of Words and Phrases and their Compositionality | 閱讀筆記| Word2vec開山之作之一,在前人基礎上提出更精簡的語言模型框架並用於生成詞向量,這個框架就是Word2vec | Tomas Mikolov et al,2013
[向量召回] | Speeding Up the Xbox Recommender System Using a Euclidean Transformation for Inner-Product Spaces | 微軟的Inner Product快速計算的方法,主要解決的是Inner Product Top-K Search的問題。通過各種公式證明,將問題簡化到一個歐氏距離搜索問題後,使用一個PCA-Tree來求解| Yoram Bachrach et al,2014
[機器學習] | Scaling Distributed Machine Learning with the Parameter Server | 閱讀筆記| 在PS中,每個server 實際上都只負責分到的部分參數(servers共同維持一個全局的共享參數),而每個work 也只分到部分數據和處理任務。較它之前一篇PS進行了更加細節的描述,並對一些細節進行了擴展,兩篇結合起來看受益頗多| Mu Li et al,2014
[向量召回] | Approximate nearest neighbor algorithm based on navigable small world graphs | 閱讀筆記| 經典的NSW算法,在構建近似DG圖的基礎上,加入Expressway mechanism。構建時,在樸素插入選近鄰連接的思路上,使用廢棄列表和動態列表提速Yury Malkov et al,2014
[數據集] | The Second Dialog State Tracking Challenge | DSTC系列語料是專門用於對話狀態跟踪的,非常經典,不過它的官網貌似無用了| Henderson et al,2014
[向量召回] | Locally Optimized Product Quantization for Approximate Nearest Neighbor Search | LOPQ實在OPQ的基礎上進一步優化,OPQ僅考慮了CodeBook的旋轉問題,LOPQ考慮的是每個子空間進行不同的旋轉| Yannis Kalantidis et al,2014
[向量召回] | Asymmetric LSH (ALSH) for Sublinear Time Maximum Inner Product Search (MIPS) | 閱讀筆記| 傳統的MIPS問題找不到LSH函數,為此論文提出了一種“非對稱LSH”的算法,其核心技巧就是通過“非對稱變換”構造向量從而消除待查集合X的向量模長對MIPS結果的影響。巧妙的將問題轉換為歐氏距離下,通過LSH函數求出NN的近似解的問題| Anshumali Shrivastava et al,2014
[圖算法-GNN-模型-無監督] | DeepWalk: Online Learning of Social Representations | 閱讀筆記1 / 閱讀筆記2 | 本文提出的DeepWalk是我們了解Graph Embedding無法繞過的一個方法。其核心思想是通過使用隨機遊走(RandomWalk)的方式在圖中進行節點採樣,從而使用圖中節點與節點的共現關係來學習節點的向量表示(思想來源於Word2Vec的skip-gram)。總體分為兩步,第一步就是隨機遊走採樣節點序列,然後使用skip-gram來學習表示向量| Bryan Perozzi et al, 2014
[語言模型-文本相似度/匹配/分類] | Convolutional Neural Networks for Sentence Classification | 經典的TextCNN,static/non-static幾種特徵向量學習方式| Yoon Kim et al,2014
[深度學習] | Neural Machine Translation Bu Jointly Learning To Align And Translate | Bahdanau Attention的原文| Bahdanau et al,2014
[深度學習] | Convolutional Neural Networks at Constrained Time Cost | 針對卷積網絡很好地概述了計算成本以及深度,過濾器尺寸之間的權衡| Kaiming He et al,2014
[語音系統-語音識別-模型] | Attention-Based Models for Speech Recognition | Tacotron2使用的Location Sensitive Attention | Chorowski et al,2015
[對話系統] | Context Sensitive Spoken Language Understanding Using Role Dependent LSTM Layers | 使用LSTM在SLU方面做的工作,通過agent和client角色劃分,能夠解決多輪對話中的歧義問題| Hori et al,2015
[深度學習] | Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift | 閱讀筆記| 經典的Batch Normalization原論文| Sergey et al,2015
[蒸餾-預訓練] | Distilling the Knowledge in a Neural Network | 閱讀筆記| 蒸餾方法的開山之作啦,將一個複雜模型的knowledge,transfer到一個簡單的模型上。具體做法是給複雜分類模型(teacher)的softmax加上一個temperature參數,然後用hard target訓練好,模型的softmax的輸出就是我們需要的soft target。然後用一個simple模型,基於soft和hard target進行訓練,simple模型在soft target訓練時,softmax的temperature設置和teacher一樣,在hard target訓練時,temperature設置1即可,然後loss計算取兩個目標的交叉熵的加權平均(soft targets和小模型的輸出數據的交叉熵,hard targets和小模型的輸出數據的交叉熵)。除此之外,通過梯度計算公式轉換,我當temperature特別大的時候(且模型產生的logits為0),知識蒸餾就相當於大模型的logits和小模型的logits的MSE | Geoffrey Hinton et al,2015
[GNN-圖算法-模型-無監督] | LINE: Large-scale Information Network Embedding | 閱讀筆記| 本文提出的LINE方法是應用於graph embedding,是一種採用基於領域相似假設的方法。文中總共提出了兩個維度的相似計算視角:(1)一度相似性(First-order)適用於無向圖,是認為圖中存在直接連接的兩個點是相似的,因此目的是使得兩個點的向量表示分佈盡可能相似;(2)二度相似性(Second-order)適用於無向圖或有向圖,認為的是一個節點,需要學習自己的表示向量之外,還需要一個用於表示與其直接相鄰節點的表示(作為上下文向量),當兩個沒有直接連接的節點時,如果它們的鄰居節點重合,便可以將上下文向量用於計算相似性。節點數字序列編號,並用embedding層編碼,兩種方法都是通過KL散度作為目標函數進行優化計算| Jian Tang et al, 2015
[模型] | Highway Networks | 閱讀筆記| Highway Networks名字取得很有意思,整個網絡結構思想也是符合取名的。簡單來說就是通過設置一個函數T來限製網絡的輸出(借鑒LSTM中gate思想),其中T取0時,輸出y=x,這個時候梯度直接傳到下一層,也就是說,可以通過T來控制梯度傳遞,從而一定程度上解決梯度消失的問題。 Highway的參數較少,適合single nonlinear layer的transform | Rupesh Kumar Srivastava et al,2015
[深度學習] | Learning both Weights and Connections for Efficient Neural Networks | 有一張表格,其中列出了計算與內存訪問的相對成本,除此之外還討論了怎麼精簡神經網絡| Song Han et al,2015
[模型] | Pointer Networks | 閱讀筆記| 原文是圍繞解決凸包而設計的的網絡結構,直接使用Attention的權重用於預測,能夠適應輸入的規模,後面許多網絡結構應用發展成了Copying Mechanism來解決OOV問題| Oriol Vinyals et al,2015
[對話系統-模型] | A Neural Conversational Model | Seq2Seq結構的對話模型| Oriol et al,2015
[數據集] | The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems | Ubuntu 非結構化多輪對話數據集| Ryan Lowe et al,2015
[向量召回] | Clustering is Efficient for Approximate Maximum Inner Product Search | K-Means Tree,使用K-Means進行建樹| Alex Auvolat et al,2015
[模型] | Training Very Deep Networks | 閱讀筆記| 經典的Highway networks,基於深層的CNN堆疊網絡,使用transform gate和carry gate(其實後來被統一稱為Shortcut),將淺層特徵信息帶到深層中,以此來解決深度網絡中梯度發散,難以訓練的問題| Rupesh Kumar Srivastava et al,2015
[深度學習] | Effective Approaches to Attention-based Neural Machine Translation | Luong Attention的原文| Luong et al,2015
[預訓練-語言模型] | Character-Aware Neural Language Models | 提供一種功能強大,功能強大的語言模型,其可編碼子詞相關性,同時解決先前模型的罕見字問題,使用更少的參數獲得可比較的表現力| Yoon et al,2015
[模型-Subword] | Neural Machine Translation of Rare Words with Subword Units | 就是我們所熟知的Byte Pair Encoding,是一種使用一些出現頻率高的byte pair來組成新的byte的方法| Sennrich et al,2015
[向量召回] | Deep Compression: Ccompressing Deep Neural Networks With Pruning, Trained Quantization And Huffman Coding | 閱讀筆記| ICLR的best paper,主要內容是關於深度學習網絡參數的壓縮。分為三步,Network pruning,即先訓練一個網絡,然後把一些權重很小的連接進行剪枝(通過閾值來決定),然後retrain網絡。第二步,量化權重;第三步則是使用Huffman coding進行無損編碼| Song Han et al,2015
[機器學習] | Optimal Whitening and Decorrelation | 提供五種白化方法的數學證明| Agnan Kessy et al,2015
[深度學習] | Strategies for Training Large Vocabulary Neural Language Models | 閱讀筆記| 主要是對當時的一些Softmax和Sampling進行總結,順便提出了Differentiated Softmax方法| Wenlin Chen et al,2015
[機器學習-模型] | XGBoost: A Scalable Tree Boosting System | 閱讀筆記1 / 閱讀筆記2 | 本文提出的XGBoost是基於Boosting的集成算法,更確切的說,XGBoost包括了數學原理和工程實現的優化,有著包括精度更高、靈活性強、並行化計算的諸多優點。一般在一些業務場景作為baseline(在數據科學競賽做集成更是可以無腦上一波),實現包xgboost | Tianqi Chen et al, 2016
[聚類] | Approximate K-Means++ in Sublinear Time | 閱讀筆記| K-MC2區別於k-means II的採樣方法,使用MCMC採樣,其主要思想是將K-Means++中的採樣方法替換為基於MCMC(馬爾科夫鏈蒙特卡洛)採樣方法(MCMC的介紹可以參考:MCMC隨機採樣)。用MCMC的方法採樣出長為M的數列,取最後(K-1)個數作為中心點初始化,target distribution是距離的函數,滿足距離越遠,概率越大(表達的含義同k-means++),proposal distribution是一個常函數,1/樣本數。 | Olivier Bachem et al,2016
[聚類] | Fast and Provably Good Seedings for k-Means | 閱讀筆記| AFK-MC2基於K-MC2改進,由於K-MC2的proposal distribution是常函數,不夠魯棒,因此AFK-MC2將與距離有關的分佈作為一個term加入原始的分佈中,優化proposal distribution | Olivier Bachem et al,2016
[模型] | Deep Residual Learning for Image Recognition 閱讀筆記| 經典的ResNet,基於深層的CNN堆疊網絡,利用了殘差連接(ResNet中是跨越了2層或3層),解決深度模型中的退化問題,最優的殘差結構是把BN和ReLU都提前,成為pre-activation | Kaiming He et al,2016
[模型-文本相似度/匹配/分類] | Siamese Recurrent Architectures for Learning Sentence Similarity | Siamese LSTM,一個用來計算句對相似度的模型| Jonas Mueller et al,2016
[模型-文本相似度/匹配/分類] | Learning Text Similarity with Siamese Recurrent Networks | 網絡包含4層BiLSTM(64-d hidden),最後一層的BiLSTM的hidden state和cell state進行concat,然後在timestep維度進行average處理,並接一個Dense層(激活函數為tanh),得到的兩個Embedding Space進行Cosine sim計算,得到的相似度分數E用於損失函數計算,損失函數使用對比損失函數,計算方法為,損失函數正例:1/4(1-E)^2,負例:E^2(如果E<m),否則0 | Paul Neculoiu et al,2016
[深度學習] | Exploring the Limits of Language Modeling | CNN Softmax方法,雖然還是離不開原始的Softmax,但是換了一個視角效果很好| Rafal Jozefowicz et al,2016
[深度學習] | Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks | Weight Normalization是一種在權值維度上進行歸一化的方法| Tim Salimans et al,2016
[模型] | Incorporating Copying Mechanism in Sequence-to-Sequence Learning | 閱讀筆記| CopyNet模型,使用Copying Mechanism來緩解未登錄詞問題的模型,在文本摘要等生成詞多含輸入詞的任務中,效果不錯| Jiatao Gu et al,2016
[向量召回] | Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs | 閱讀筆記| HNSW算法,在NSW的基礎上,引入層次結構實現Expressway mechanism,達到頂層粗查,底層細查的思路| Yu. A. Malkov et al,2016
[模型-Subword] | Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models | 一個非常出色的框架,主要是在word-level進行翻譯,但是在有需要的時候可以很方便的使用Character-level的輸入| Luong et al,2016
[對話系統-任務型對話] | A Network-based End-to-End Trainable Task-oriented Dialogue System | 閱讀筆記| 非常值得一讀的任務型對話模型架構| Wen et al,2016
[深度學習] | Training Deep Nets with Sublinear Memory Cost | keras_recompute | 這篇論文整體上講了一個以時間換空間的省顯存的trick,即gradient checkpointing,通過丟棄低運算成本操作的結果,也就是把中間結果feature map 一個都不保留,全部幹掉,反向傳播時重新計算出來(當然,論文折中是每隔sqrt(n)保留一個feature map)。能夠把內存降低sqrt(n) 分之一,超越大多數節省內存的奇淫巧技,具體實現可參考tf.recompute_grad,或者的一個開源實現| Tianqi Chen et al,2016
[模型-Subword] | Learning Character-level Representations for Part-of-Speech Tagging | Character-level去構建word-level,該網絡結構主要是對字符進行卷積以生成單詞嵌入,同時使用固定窗口對PoS標記的字嵌入進行操作| Jason et al,2016
[語言模型-文本相似度/匹配/分類] | Very Deep Convolutional Networks for Text Classification | VDCNN,character level,只利用小尺度的捲積核池化操作,包含了29個卷積層。效果提升並不是很明顯吧,不過亮點在於CNN層數比較深,從某種程度上證明了類似ResNet那樣的Shortcut connections可以降低梯度消失帶來的影響,從而提升效果| Alexis Conneau et al, 2016
[模型-語言模型] | A Joint Model for Word Embedding and Word Morphology | 該模型的目標與word2vec相同,但是使用的是Character-level的輸入,它使用了雙向的LSTM結構嘗試捕獲形態並且能夠推斷出詞根| Kris et al,2016
[對話系統-對話狀態跟踪] | Neural Belief Tracker: Data-Driven Dialogue State Tracking | 閱讀筆記| NBT框架,理解Belief state和tracking的好文| Young et al,2016
[機器學習] | Gaussian Error Linear Units (GELUS) | 閱讀筆記| GELU的目標就是希望在激活(擁有非線性擬合的能力)中加入正則化的思想。 ReLU會確定性的將輸入乘上一個0或者1,Dropout則是隨機乘上0。而GELU也是通過將輸入乘上0或1來實現這個功能,但是輸入是乘以0還是1,是在同時取決於輸入自身分佈的情況下隨機選擇的。換句話說,是0還是1取決於當前的輸入有多大的概率大於其餘的輸入。而由於神經元的輸入x往往遵循正態分佈(尤其是深度網絡中普遍存在Normalization),所以GELU就可以被定義為“標準正態分佈的累積分佈函數”,利用erf就可以得到公式:x/2*(1+erf(x/sqrt(2))) | Dan Hendrycks et al,2016
[GNN-圖算法-模型-無監督] | node2vec: Scalable Feature Learning for Networks | 閱讀筆記1 / 閱讀筆記2 | 本文提出的node2vec是一種綜合考慮DFS鄰域和BFS鄰域的graph embedding方法,整體算法思路框架繼承了DeepWalk,通過隨機遊走獲取序列,並通過Word2Vec學習表示向量。不同於DeepWalk的是,其使用了有偏的隨機遊走,同時通過p和q兩個參數,以alias採樣的方式來控制序列遊走的方向(是選擇鄰接節點還是二度節點) | Aditya Grover et al, 2016
[GNN-圖算法-模型-無監督] | Structural Deep Network Embedding | 閱讀筆記1 / 閱讀筆記2 | 本文提出的SDNE模型是和Node2Vec同年提出的graph embedding方法,可以看作是基於LINE方法的擴展。 SDNE使用一個自動編碼器結構來同時優化1階和2階相似度(LINE是分別優化的),學習得到的向量表示能夠保留局部和全局結構,並且對稀疏網絡具有魯棒性。通過輸入的鄰接矩陣和網絡重構出的鄰接矩陣計算一階二階損失函數,並配合一個正則項組成聯合損失函數進行優化| Daixin Wang et al, 2016
[模型-文本相似度/匹配/分類] | Bag of Tricks for Efficient Text Classification | 閱讀筆記| 比較經典的FastText,比較依賴Word Embedding的質量(槽點本身難點就在於embedding,結果文章不談這個),整個網絡結構使用N-gram,對得到的Embedding求和,並過兩個Dense然後輸出,本身網絡結構就那沒啥,當然fast啦,外加論文具體加了hashing trick,hierarchical softmax等進行加速、內存優化| Armand Joulin et al,2016
[模型-語言模型] | Enriching Word Vectors with Subword Information | word2vec的升級版,對於具有大量形態學的稀有詞和語言有更好的表徵,它也可以說是帶有字符n-gram的w2v skip-gram模型的擴展| Piotr et al,2016
[深度學習] | Layer Normalization | 閱讀筆記| 層歸一化方法,針對Batch Normalization的改進| Jimmy et al,2016
[深度學習] | Instance Normalization:The Missing Ingredient for Fast Stylization | Instance Normalization是一種不受限於批量大小的算法專門用於Texture Network中的生成器網絡| Dmitry Ulyanov et al,2016
[對話系統-對話意圖識別-對話槽位填充] | Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling | 使用Attention-Based的RNN模型進行聯合意圖識別和槽位填充,達到不錯的效果| Bing Liu et al,2016
[GNN-文本相似度/匹配/分類-圖算法] | Semi-supervised classification with graph convolutional networks | 閱讀筆記1 / 閱讀筆記2 | 這就是非常經典的GCN啦,GCN對非結構化數據構造特徵節點,進而構造graph,通過使用鄰接矩陣、度矩陣等圖結構對輸入的節點embedding進行優化學習(本質上是一種局部加權求和的方式,類似Attention的思想,不過有很多trick在裡面,比如對稱歸一化等),能夠通過相鄰節點傳遞特徵信息。 GCN能夠有效地提取空間特徵來進行機器學習,雖然目前在NLP任務中的表現不算特別突出,但是它的功勞在於提供一種處理、研究的模型,擴廣了解決方案的思路| Thomas N. Kipf et al,2016
[深度學習] | Efficient softmax approximation for GPUs | 閱讀筆記| Adaptive Softmax,針對GPU的矩陣計算,實現了多倍與普通Softmax計算效率的提升,值得一看| Edouard Grave et al,2016
[機器學習] | An overview of gradient descent optimization algorithms | 閱讀筆記| 對當前主流的梯度下降算法進行概述| Sebastian Ruder et al,2016
[模型-Subword] | Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation | wordpiece作為BERT使用的分詞方式,其生成詞表的方式和BPE非常相近,區別在於BPE選擇頻率最高的相鄰字符對進行合併,而wordpiece是基於概率生成的| Yonghui et al,2016
[模型-Subword] | Fully Character-Level Neural Machine Translation without Explicit Segmentation | 比較經典的Character-Level的Subword算法模型| Jason et al,2016
[深度學習] | Categorical Reparameterization With Gumbel-Softmax | 閱讀筆記| Gumbel Max由來已久,而這篇文章就是基於Gumbel Max,首次提出並應用Gumbel Softmax的。目標就是使用梯度估計的方法,來解決Categorical Distribution中,使用類似argmax操作導致網絡不可微的問題。文章主要探討了部分隱變量是離散型變量的變分推斷問題,比如基於VAE的半監督學習| Eric Jang et al,2016
[對話系統-檢索式對話系統] | Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieval-Based Chatbots | 閱讀筆記| SMN檢索式對話模型,多層多粒度提取信息| Devlin et al,2016
[深度學習] | Large-Margin Softmax Loss for Convolutional Neural Networks | 閱讀筆記| L-Softmax在原Softmax的基礎上增加了控制係數m,使得類內距離盡可能小,類間距離盡可能大| Weiyang Liu et al,2016
[深度學習] | An empirical analysis of the optimization of deep network loss surfaces | 論文中得出一個結論,即Batch Normalization更有利於梯度下降| Shibani et al,2016
[模型-語言模型] | Language Modeling with Gated Convolutional Networks | 閱讀筆記| 受LSTM門控機制的啟發,將線性門控機制應用於卷積結構,文中對比GLU、GTU等結構性能| Yann N. Dauphin et al,2016
[語音系統-語音合成] | Tacotron: A Fully End-To-End Text-To-Speech Synthesis Model | 閱讀筆記| Tacotron,端到端的語音合成系統| Yuxuan et al,2017
[模型] | Densely Connected Convolutional Networks | 閱讀筆記| CVPR 2017的Best Paper,提出了DenseNet,借鑒highway networks和ResNet的思路,DenseNet將shortcut用到了“極致”——每兩層之間都添加shortcut,當然具體實現中使用了一些tricks防止模型過大的問題| Gao Huang et al,2017
[模型-語言模型] | A Simple But Tough-To-Beat Baseline For Sentence Embeddings | Smooth Inverse Frequency,一種簡單但是效果好的Sentence Embedding方法| Sanjeev Arora et al,2017
[深度學習] | Sigmoid-Weighted Linear Units for Neural Network Function Approximation in Reinforcement Learning | 提出SILU激活函數,其實從某種角度講就是GELU激活的一種近似,x*sigmoid(x) | Stefan Elfwing et al,2017
[深度學習] | Cosine Normalization: Using Cosine Similarity Instead of Dot Product in Neural Networks | Cosine Normalization是一種將unbounded的向量點積換成夾角餘弦操作,從而進行歸一化的方法| Luo Chunjie et al, 2017
[深度學習] | Massive Exploration of Neural Machine Translation Architectures | 閱讀筆記| 展示了以NMT架構超參數為例的首次大規模分析,實驗為構建和擴展NMT體系結構帶來了新穎的見解和實用建議。 | Denny et al,2017
[GNN-圖算法-模型-無監督] | struc2vec: Learning Node Representations from Structural Identity | 閱讀筆記1 / 閱讀筆記2 | | 本文提出的struc2vec方法是用於graph embedding,相較於經典的DeepWalk和Node2Vec方法(關注存在直連節點的相似性),struc2vec如它名字一樣,關注的是節點的結構相似性,這使得它可以表示兩個距離很遠但結構(連接度,局部拓撲結構)相似的節點。大體的流程分為四步:(1)根據不同距離的鄰居信息分別算出每個節點對的結構相似度,這涉及到了不同層次的結構相似度的計算,其中使用DTW(一種動態規劃方法)計算有序度序列的距離;(2)構建一個多層次的帶權重網絡M,每個層次中的節點皆由原網絡中的節點構成,距離計算對應其層數的有序度序列的距離;(3)在M中生成隨機遊走,為每個節點採樣出上下文;(4)使用word2vec的方法對採樣出的隨機遊走序列學習出每個節點的節點表示| Leonardo FR Ribeiro et al, 2017
[模型] | Get To The Point: Summarization with Pointer-Generator Networks | 閱讀筆記| 結合Copying Mechanism和Coverage mechanism兩種技巧的LSTM-Base模型,一定程度上解決OOV和重複詞問題,經典值得一讀| Abigail See et al,2017
[深度學習] | SphereFace: Deep Hypersphere Embedding for Face Recognition | 閱讀筆記| A-Softmax,思路和L-Softmax差不多,區別是對權重進行了歸一化| Weiyang Liu et al,2017
[模型-語言模型] | Supervised Learning of Universal Sentence Representations from Natural Language Inference Data | InferSent,通過不同的encoder得到Sentence Embedding,併計算兩者差值、點乘得到交互向量,從而得到相似度| Alexis Conneau et al,2017
[對話系統-對話意圖識別] | Latent Intention Dialogue Models | 閱讀筆記| 離散潛在變量模型學習對話意圖的框架| Wen et al,2017
[模型-預訓練-語言模型] | Attention Is All You Need | 閱讀筆記| Transformer的開山之作,值得精讀| Ashish et al,2017
[社區發現-綜述] | Network Community Detection: A Review and Visual Survey | 閱讀筆記| 一篇關於社區發現的綜述,文章對社區發現概念和發展進行了介紹,並對當下社區發現算法按照分類進行了細緻的介紹,包括傳統的社區發現技術、基於分裂的社區發現技術、基於模塊化優化的社區發現技術、重疊社區發現技術、動態社區發現技術等| Bisma S. Khan et al, 2017
[深度學習] | ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections | 閱讀筆記| 一種叫ProjectionNet的聯合框架,可以為不同機器學習模型架構訓練輕量的設備端模型。 | Google et al,2017
[深度學習-損失函數] | Focal Loss for Dense Object Detection | 閱讀筆記| 分類問題我們一般使用交叉熵損失函數,交叉熵損失函數是平等對待正負樣本的,當正負樣本不均衡的時候,正樣本總的損失會淹沒小量負樣本總的損失,導致模型最終的學習方向並不會把重點放在負樣本上,解決方案就是增加負樣本的權重,減少正樣本的權重,從而是模型重點傾向於學習負樣本的規律。這種方式還是不能解決easy/heard samples的問題,Focal loss對交叉熵損失函數增加了一個調製因子,實現對easy samples的降權,從而使模型訓練的損失可以集中在比較難學習的負樣本上| Tsung-Yi Lin et al,2017
[對話系統-任務型對話-對話狀態跟踪] | An End-to-End Trainable Neural Network Model with Belief Tracking for Task-Oriented Dialog | 閱讀筆記| 面向任務的對話系統的新型端到端可訓練神經網絡模型| Liu et al,2017
[數據集] | DailyDialog: A Manually Labelled Multi-turn Dialogue Dataset | 數據集地址| 包含對話意圖和情感信息的多輪對話數據集| Yanran Li et al, 2017
[機器學習] | Swish: A Self-Gated Activation Function | 提出的Swish激活函數,通SILU激活函數一樣,沒啥差別,x*sigmoid(x) | Prajit Ramachandran et al,2017
[綜述-對話系統] | A Survey on Dialogue Systems:Recent Advances and New Frontiers | 對話系統的最新研究和方向| Chen et al,2017
[語音系統-語音合成] | Natural TTS Synthesis By Conditioning Wavenet On Mel Spectrogram Predictions | 閱讀筆記| Tacotron2,相較於Tacotron有著更好的性能,使用WaveNet作為Vocoder | Jonathan et al,2017
[異常檢測-機器學習] | XGBOD: Improving Supervised Outlier Detection with Unsupervised Representation Learning | 本文主要是提出一種通過無監督算法來增廣特徵,進而融合原始特徵用於XGB的有監督的訓練思路,命名為XGBOD。在ADBench中,半監督的總體效果來講好於直接使用XGB,監督學習的情況下,指標提升差不了多少(然後XGBOD在訓練代價上更大),因此在有監督的情況下,直接使用XGB作為baseline更加簡單直接一些| Yue Zhao et al, 2018
[數據集] | LCQMC: A Large-scale Chinese Question Matching Corpus | LCQMC,開放域的中文語義相似度語料,更加側重於intent相似,總共26萬的文本對| Xin Liu et al,2018
[數據集] | The BQ Corpus: A Large-scale Domain-specific Chinese Corpus For Sentence Semantic Equivalence Identification | 關於Bank Question的中文語義相似度語料,總共12萬的文本對| Jing Chen et al,2018
[聚類] | Robust and Rapid Clustering of KPIs for Large-Scale Anomaly Detection | 閱讀筆記| 關於快速時序聚類的文章,提出ROCKA系統架構,包括了數據預處理、基線提取、相似性度量、基於密度的聚類算法。 ROCKA算法僅僅是使用了派發策略,單是並未在有效的利用過程中的計算結果,導致在派發過程中復雜度較高| Zhihan Li et al,2018
[對話系統-檢索式對話系統] | Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network | 閱讀筆記| DAM檢索式對話模型,完全基於注意力機制的多層多粒度提取信息| Xiangyang et al,2018
[對話系統-對話意圖識別-對話槽位填充] | Slot-Gated Modeling for Joint Slot Filling and Intent Prediction | 閱讀筆記| 提出了Slot-Gated機制,聯合意圖識別和槽位填充效果提升| Chih-Wen Goo et al,2018
[模型-語言模型-無監督] | Unsupervised Random Walk Sentence Embeddings: A Strong but Simple Baseline | Unsupervised Smooth Inverse Frequency,USIF改進SIF對句向量長度敏感,在相似度任務上提升很大| Kawin Ethayarajh Arora et al,2018
[深度學習] | Fixing Weight Decay Regularization in Adam | 原英文版閱讀筆記| 閱讀筆記| 論文提出Adam在算法實現上的改進方法--AdamW(注意是算法實現)。 Adam相較於傳統的GD算法來說,增加了一階動量(各時刻方向的指數移動平均值)和二階動量(歷史梯度平方和),在算法庫的具體實現中,一般是通過在計算梯度之初就加上了正則項,這就導致這個正則項隨著梯度一同計算,而AdamW的做法則是在梯度計算完之後,在加上這個正則項(稱為weight decay)。論文中比較了SGD和SGDW、Adam和AdamW,通過實驗證明了weight decay相較於一般實現的l2正則效果更好| Anonymous authors et al, 2018
[深度學習] | Additive Margin Softmax for Face Verification | 閱讀筆記| AM-Softmax在A-Softmax的最大區別是AM是角度距離,A是餘弦距離
[預訓練-語言模型] | Deep contextualized word representations | 閱讀筆記| ELMo模型原paper,想了想還是放在預訓練裡吧。 ELMo模型很經典了,在Transformer這個大殺器提出後,依舊以LSTM為核心結構提出新的SOTA語義編碼結構,還是尤其獨到之處(ps:同年BERT也被提出了)。 ELMo的結構可以分為兩側各一個多層LSTM,左側的多層LSTM負責編碼文本的正向語義,右側的負責編碼反向語義,然後對左右兩邊每一層的輸出進行concat並乘上一個權重,最後的ELMo向量就是每一層輸出的和。 ELMo最大的亮點就是編碼了文本的雙向語義,因此相對於一些單向、靜態編碼器來講,效果更好,但是問題也在這,這種將正反向的語義分開編碼方式,就比不上BERT這種融合式的雙向編碼了,事實上也證明了這一點| Matthew E. Peters et al,2018
[深度學習] | Self-Attention with Relative Position Representations | 閱讀筆記| 對Transformer裡面用到的位置編碼進行討論,對自註意力進行改造,從而使用相對位置編碼代替硬位置編碼| Mihaylova et al,2018
[深度學習] | Group Normalization | Group Normalization是將輸入的通道分成較小的子組,並根據其均值和方差歸一化這些值| Yuxin Wu et al,2018
[語音系統-語音識別-預訓練] | Syllable-Based Sequence-to-Sequence Speech Recognition with the Transformer in Mandarin Chinese | 使用Transformer應用在普通話語音識別,數據集是HKUST datasets | Shiyu et al,2018
[模型-Subword] | Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates | unigram在給定詞表及對應概率值下,直接以最大化句子的likelihood為目標來直接構建整個詞表| Kudo et al,2018
[對話系統-對話狀態跟踪] | Global-Locally Self-Attentive Dialogue State Tracker | 閱讀筆記| 全局-局部自註意力狀態跟踪| Zhong et al,2018
[深度學習] | How Does Batch Normalization Help Optimization? | 討論Batch Normalization是如何幫助優化器工作的,主要結論是BN層能夠讓損失函數更加平滑| Shibani et al,2018
[模型-對話系統] | Multi-Cast Attention Networks for Retrieval-based Question Answering and Response Prediction | 閱讀筆記| 一種用於通用序列對建模的整體架構,結合多種注意力機制進行特徵增強| Yi Tay et al,2018
[對話系統-數據增強] | Sequence-to-Sequence Data Augmentation for Dialogue Language Understanding | 使用seq2seq生成模型對語義文本進行數據增強,核心步驟為Delexicalisation->Diversity rank->generation->surface realisation | Yutai Hou et al,2018
[模型] | Sliced Recurrent Neural Networks | 切片RNN網絡,嘗試突破RNN時序限制的模型| Zeping Yu et al,2018
[模型-文本相似度/匹配/分類-GNN-圖算法] | Graph Convolutional Networks for Text Classification | 將GCN應用於文本分類中,在不引入預訓練模型的情況下,該方法的表現已經很優異了。該方法將每個獨立的單詞以及文檔作為節點,即graph中包含單詞級別和文檔級別兩類節點。初始化單詞one-hot(不使用訓練向量)。對於邊,則包含(文檔-單詞)、(單詞-單詞)兩類邊,其中(文檔-單詞)使用tf-idf進行度量,(單詞-單詞)使用PMI指數。本文的模型結構的缺點在於,只考慮到共現度方面的信息,因此語義方面很低(作者原意就是不使用預訓練embedding),而且可能會受到長尾問題的影響,因此可以使用注意力來輔助提升| Liang Yao et al, 2018
[語音系統-語音合成] | Neural Speech Synthesis with Transformer Network | 閱讀筆記| 本文受Transformer啟發,使用多頭自註意力機制取代Tacotron2中的RNN結構和原始注意力機制。 | Naihan et al,2018
[預訓練-語言模型] | BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding | 閱讀筆記| 頂頂大名的BERT,單獨抽離Transformer的Encoder架構,並提出NSP、MLM預訓練方式,也是基於此,是的BERT擁有強大的表徵能力,並用於下游相關任務| Devlin et al,2018
[深度學習] | RelGAN: Relational Generative Adversarial Networks For Text Generation | 閱讀筆記| 提出了新型的生成器和判別器結構,使得直接用Gumbel Softmax訓練出的文本GAN大幅度超過了以往的各種文本GAN模型。主要由三個模塊組成,分別是:在生成器上,利用relational memory,使得具有更強表達能力和在長文本上更好的模型能力;在離散數據上,訓練GAN利用Gumbel-Softmax Relaxation模型,使得模型簡化,替代強化學習啟發式算法;在判別器上利用多層詞向量表示,使得生成器往更具多樣性方面更新Weili Nie et al, 2019
[異常檢測-綜述] | Deep Learning for Anomaly Detection: A Review | 閱讀筆記| 本篇綜述將異常檢測歸納到三個框架(deep learning generic feature extraction、learning representations of normality、end-to-end anomaly score learning),共十一種類別中,並對每個類別的目標、流程、優缺點等進行了詳細的闡述。最後給出了代表性的算法和數據集,並分析了當下和未來的發展方向,是一篇非常值得一讀的異常檢測綜述| Guansong Pang et al, 2019
[機器學習] | Covariate Shift: A Review and Analysis on Classifiers | 閱讀筆記| 通過幾種分類算法,在四種不同的數據集下驗證幾種方法處理Covariate Shift問題後的性能分析| Geeta et al, 2019
[深度學習] | Language Models as Knowledge Bases? | 閱讀筆記| 一篇討論性的文章,主要提出的觀點是認為像BERT等類似的預訓練語言模型是另一種形式的knowledge database,能夠保存大量的知識信息。作者通過效仿MLM的方式,將已有的NLP數據集進行整合,並挖空成完形填空的提問形式(以推理實體關係),文中實驗了兩種單向語言模型和兩種雙向語言模型,結果顯示預訓練模型的確包含了知識庫中的信息。 ps:這種觀點也不一定對的,也有文章反對說BERT等模型只是由於對實體名稱(表面形式)進行推理,如果過濾掉一些容易猜測的事實,那麼模型精度將會急劇下降| Fabio Petroni et al, 2019
[深度學習-預訓練] | What does BERT learn about the structure of language? | 閱讀筆記| 本文主要是通過一些實驗來補充驗證BERT的不同層學習到的信息(具體沒啥新結論,只是補充驗證而已)。 BERT的底層學習到的主要是token的表層信息,中層學習到的是語言學特徵信息(句法結構之類的),頂層學習到的是語義特徵信息。文中還進一步探索了BERT能夠學習到組合結構的特徵,使用了Tensor Product Decomposition Networks(TPDN)來設計實驗,從自註意力機制的權重中推導出對應的依賴樹,印證了BERT的組合建模方式和傳統的句法分析相似| Ganesh Jawahar et al,2019
[模型] | Pay Less Attention With Lightweight And Dynamic Convolutions | 閱讀筆記| 論文研究Lightweight、Dynamic Convolutions,卷積結構同樣能夠達到和Self-Attention媲美的效果| Felix Wu et al,2019
[蒸餾-預訓練-語言模型] | Distilling Task-Specific Knowledge from BERT into Simple Neural Networks | 閱讀筆記| 對BERT進行蒸餾,訓練一個TextCNN模型,相比於直接使用BERT,TextCNN雖然有一定的損失,但是參數量和速度都大大提升。本文在知識蒸餾的方式上沒有特別的創新,核心點在於(1)添加了額外的邏輯回歸的目標,在標註數據下,hard label的交叉熵+teacher 模型的logits的MSE;在無標註數據下,teacher模型的softlabel的交叉熵+teacher模型的logits的MSE(2)數據增強,提出了多種方法;隨機mask一個token;pos tag替換;n-gram sampling;mask_prob,執行mask增強,mask_prob << pos_prob,執行pos替換,最後執行n-gram sampling | Raphael Tang et al,2019
[深度學習] | On the Convergence of Adam and Beyond | 原英文版閱讀筆記| 閱讀筆記| Amsgrad,ICLR2018的最佳論文,主要是算法證明Adam在收斂性上存在的缺陷,並設計了理論實驗,證明了這一點,同時提出了很簡單的優化方法(實際的算法實現中,這個優化方法在相當多的實驗中效果並不好)。 Adam的收斂性缺陷在於,學習率通常是恆定的或降低的,所以隨著訓練過程的進行,二階動量會隨之減少,所以具體做法是增加一個變量來記錄最大值,使用這個二階動量的最大值替換原來的二階動量進行計算,即v = max(avg_squared, max_squared) | Sashank J. Reddi et al, 2019
[預訓練-語言模型-文本相似度/匹配/分類] | Poly-encoders: Transformer Architectures and Pre-training Strategies for Fast and Accurate Multi-sentence Scoring | 閱讀筆記| Poly-encoder主要的出發點就是想要保持Bi-encoder的推理速度的同時,兼顧Cross-encoder精準匹配的潛力。思想上比較好理解,Bi-encoder的主要問題在於它要求encoder將query的所有信息都塞進一個固定的比較general的向量中,而Cross-encoder為了得到更加均衡的語義表示,需要將句子對關聯起來進行推理計算,導致在檢索時速度極慢。因此Poly-encoder的方案就是每個query產生m個不同的vec,利用這m個vec動態的和candidate vec計算,得到最終的final_vec(作為query的最終表示),用final_vec和candidate vec進行計算得到分數| Samuel Humeau et al,2019
[預訓練-語言模型-文本相似度/匹配/分類] | How to Fine-Tune BERT for Text Classification? | 閱讀筆記| BERT在Text Classification上的一些微調實驗| Xipeng Qiu et al,2019
[預訓練-對話系統] | Pretraining Methods for Dialog Context Representation Learning | 閱讀筆記| 作者列舉了四種針對對話上下文表示的預訓練方法,其中兩種是作者新提出的| Shikib et al,2019
[深度學習] | Scheduled Sampling for Transformers | 閱讀筆記| 在Transformer應用Scheduled Sampling | Mihaylova et al,2019
[預訓練-語言模型] | XLNet: Generalized Autoregressive Pretraining for Language Understanding | 閱讀筆記| XLNet--自回歸語言模型的複興,30多項任務超越BERT | Zhilin Yang et al,2019
[機器學習] | Monte Carlo Gradient Estimation in Machine Learning | 閱讀筆記| 本文是一篇關於Monte Carlo gradient estimation的survey,本文主要總結的內容是:隨機梯度估計方法的相關背景知識,包括蒙特卡洛採樣和隨機優化;幾種經典應用,包括變分推斷、強化學習中的Policy gradient、敏感性分析、實驗設計;兩類經典的梯度估計算法| Shakir Mohamed et al,2019
[預訓練-語言模型] | RoBERTa: A Robustly Optimized BERT Pretraining Approach | 論文發現原BERT的預訓練並不充分,因此作者提出了四點Bert的改進:1):使用更大的batch在更大的數據集上對Bert進行深度訓練;2):不在使用NSP(Next Sentence Prediction)任務;3):使用更長的序列進行訓練;4):動態改變訓練數據的MASK模式;其中動態MASK就是在每次數據輸入的時候進行MASK,而不是在數據預處理的時候就預先MASK好,這種方式相當於不重複看數據,使模型學習到更多的pattern | Yinhan Liu et al,2019
[模型-文本相似度/匹配/分類] | Simple and Effective Text Matching with Richer Alignment Features | 閱讀筆記| 本文模型主打的是參數少,推理速度快(實際復現也確實很快,效果也不錯)。模型的結果不復雜,採用對稱結構,使用Encoder、Alignment、Fusion三個模塊組成的block(模型是多block結構)進行Representation,其核心應該是對於網絡中三個向量的使用,residual vectors, embedding vectors 和encoded vectors。全文的模型結構不復雜,效果不錯,值得一試的模型| Runqi Yang et al,2019
[預訓練-語言模型-文本相似度/匹配/分類] | Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks | 閱讀筆記| 和之前提出的InferSent結構如出一轍,妥妥的雙塔結構,只是換成了Bert來進行特徵表示。模型結構沒有什麼創新點,但是這個結構用起來效果挺好,速度也快,很適合工業界使用。論文中在針對句向量表示計算策略分別使用了CLS向量策略、平均池化策略、最大值池化策略三個策略進行實驗,實驗結果中平均池化策略最優| Nils Reimers et al,2019
[對話系統-數據增強] | Data Augmentation with Atomic Templates for Spoken Language Understanding | 使用Atomic Templates(act-slot-value)進行對話數據增強,使用seq2seq生成模型進行語句生成| Zijian Zhao et al,2019
[預訓練-語言模型] | NEZHA: Neural Contextualized Representation For Chinese Language Understanding | 閱讀筆記| 具體來說沒有啥特別的創新點吧,在位置編碼部分改成了相對位置編碼。其他的比如WWM、混合精度訓練、優化器自適應學習率,都是屢見不鮮的東西,整體效果而言也沒有令人驚艷| Junqiu Wei et al,2019
[預訓練-語言模型] | CTRL: A Conditional Transformer Language Model For Controllable Generation | 閱讀筆記| CTRL語言模型,提供Control Code進行定向文本生成,相較於GPT可對文本風格進行控制| Keskar et al,2019
[語音系統] | A Comparative Study on Transformer vs RNN in Speech Applications | 閱讀筆記| Transformer應用在語音領域上與RNN對比的論文,並在ESPnet上面開源了模型代碼| Nanxin et al,2019
[蒸餾-預訓練-語言模型] | TinyBERT: Distilling BERT for Natural Language Understanding | 閱讀筆記| 本文提出的TinyBERT模型大小只有BERT的13.3%,推理速度是BERT的9倍,效果下降了2-3個點左右。具體細節分為基礎蒸餾:(1)Embedding蒸餾,先用權重矩陣轉換一下T模型的Embedding,然後在計算兩個模型的Embedding的MSE loss(2)attention層蒸餾,計算S模型和T模型的單個頭Attention的MSE loss;(3)hidden層蒸餾,同Embedding的蒸餾方式,先用權重矩陣轉換一下;(4)Prediction層蒸餾,計算T模型輸出的logits和S模型輸出logits的交叉熵,加一個temperature控制平滑。在訓練的時候,分成了兩段式學習框架,包含通用蒸餾和特定於任務的蒸餾,就是分別在通用語料和在下游任務語料上分別蒸餾| Xiaoqi Jiao et al,2019
[預訓練-語言模型] | ALBERT: A Lite BERT For Self-superpised Learning Of Language Representations | 閱讀筆記| Albert大大縮小了模型參數量,並且加快了訓練速度,增加了模型效果。其主要對BERT做了3點改進,第一:把embedding size(E)和hidden size(H)分開可以更高效地利用參數,因為理論上存儲了context信息的H要遠大於E。第二:跨層參數共享,就是不管12層還是24層都只用一個transformer。第三:使用Inter-sentence coherence loss,即SOP(sentence order prediction) | Zhenzhong Lan et al,2019
[蒸餾-預訓練-語言模型] | DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter | 閱讀筆記| 本文提出的DistilBERT,相比BERT減少40%大小,保持了97%的精度,快了60%,結果還是很棒的。 DistilBERT實在預訓練階段進行蒸餾:(1)S模型結構方面,和原始BERT保持一致,token-type和pooler去掉了,然後block layer數量只有T模型的一般(兩層蒸一層);(2)在損失設計方面,分為原語言模型的loss(MLM)+蒸餾loss(就是T和S輸出的logits的交叉熵)+cos距離loss(T和S在block layer間的hidden對齊)。一些小tricks方面,S模型的初始化選自T模型每兩層中的一層;Batch size竟可能的大;引用RoBERTa的優化策略,動態mask | Victor SANH et al,2019
[對話系統-對話意圖識別-數據增強] | A Closer Look At Feature Space Data Augmentation For Few-Shot Intent Classification | 針對SLU的Intent分類任務,對其文本數據進行數據增強並比較效果,其中Linear+Transfer learning效果最佳| Varun Kumar et al,2019
[異常檢測-半監督] | Deep Weakly-supervised Anomaly Detection | 閱讀筆記| 本文提出的PReNet或PRO模型結構上不復雜,通過雙塔結構的全連接層(也可以是其他的特徵表示層)融合特徵,最後通過全連接層縮放維度輸出回歸分數。本文主要在於對標籤數據的組合訓練策略,即成對關係預測任務。通過對帶標籤的異常樣本和未帶標籤的樣本進行組合,構成三個類型:兩個樣本都是已知的異常樣本(標籤為較大的分值8)、兩個樣本都是未標記的樣本(可能是正常樣本,也可能是未知的異常樣本,標籤為較小的分值0)、兩個樣本中一個是已知異常樣本另一個是未標記樣本(標籤為中等的分值4)。通過這樣做,預測值可以被定義為這些樣本對的異常分數,並使用MAE進行訓練。預測時,分別從標記異常數據和未標記數據中隨機取等量樣本,和預測樣本進行計算分數| Guansong Pang et al, 2019
[預訓練-語言模型] | CogLTX: Applying BERT to Long Texts | 本文主要介紹如何優雅且有效的的使用BERT處理長文本。一般用BERT處理長文本的方式有截斷法、Pooling法、壓縮法,本文介紹的就是壓縮法的一種(三種效果最好的)。從直觀的角度來講,長文本中的核心語義可以由某個短文本替換(相當於長句總結),因此需要找到這個短文本。具體的做法就是(1)首先使用動態規划算法將長文本劃分長文本塊;(2)然後使用一個叫做MemRecall的模塊對這些塊進行打分(本質上是concat),從而選出分數最高的子句組成短文本;(3)然後再用這個短文本用於後續的NLP任務。總結來講就是COGLTX相當於使用了了兩個bert,MemRecall中bert就是負責打分,另一個bert執行原本的NLP任務| Ming Ding et al,2020
[數據集] | Improving Dialog Evaluation with a Multi-reference Adversarial Dataset and Large Scale Pretraining | 數據集地址| DailyDialog數據集的升級版,11K的多輪對話上下文,每個上下文包括五個標準的參考回复、五個不相關的回复、五個隨機挑選的回复| Ananya B. Sai et al, 2020
[模型-預訓練] | Reformer: The Efficient Transformer | 閱讀筆記| 使用LSH Attention、Reversible layers、Chunking FFN layers,降低Transformer計算複雜度和內存空間消耗| Nikita Kitaev et al,2020
[Prompt-預訓練-語言模型-文本相似度/匹配/分類] | Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference | 比較早研究Prompt的工作之一,PET使用了基於手工設計模板的Prompt進行訓練,對無標籤數據使用了簡單的prompt ensemble,即將多種prompt集成在一起計算預測結果,按不同pattern的模型acc對應權重對所有的預測進行歸一化,作為soft label蒸餾一個最終模型。 PET在計算loss的時候主要計算目標詞的cross entropy(MLM loss作為附加,Loss=(1-a) L_CE+a L_MLM),而忽略了詞表中其他備選詞,這種方式在後續的工作當中是被認為不妥的,還是使用原生的MLM loss更好。論文還在PET的基礎上,提出了迭代式的PET訓練,即iPET。其實就是進行多代交叉的蒸餾,隨機選取每一代的模型為無標籤數據進行標記,並基於此進一步訓練下一代的模型,最終和PET一樣,用不同模型標註的無標籤數據進行預測,蒸餾一個統一的模型。 PET這種手動設計Prompt的方式本身難度較大,而且是基於人為經驗的,這種方式使得模型比較依賴prompt,導致稍加改動就影響模型性能,因此後續工作也朝著auto prompt方向發展| Timo Schick et al,2020
[深度學習] | Consistency of a Recurrent Language Model With Respect to Incomplete Decoding | 閱讀筆記| 討論Seq2Seq模型解碼停不下來的原因| Sean Welleck et al,2020
[深度學習] | GLU Variants Improve Transformer | 本文借助門控線性單元(Gated Linear Unit,GLU)對模型的FeedForward層進行了修改,同時在訓練的時候去掉了Dropout,並增加了解碼器輸出端的Embedding(這些改動增加了模型參數,但效果更佳)。文中主要對比了Bilinear、relu、gelu、swish激活函數下,使用GLU的效果,其中gelu和swish表現最佳。總得來說,實驗證明了GLU的有效性,可以應用在模型裡試試| Noam Shazeer et al,2020
[數據集] | CrossWOZ: A Large-Scale Chinese Cross-Domain Task-Oriented Dialogue Dataset | 閱讀筆記| 第一個大規模的中文跨域任務導向對話數據集| Qi Zhu et al,2020
[綜述-對話系統-任務型對話] | Recent Advances and Challenges in Task-oriented Dialog Systems | 閱讀筆記| 面向任務型對話系統的最新研究和方向| Zhang et al,2020
[深度學習] | PowerNorm: Rethinking Batch Normalization in Transformers | 對於Transformer中BN表現不好的原因做了一定的empirical和theoretical的分析| Sheng Shen et al,2020
[綜述-預訓練] | Pre-trained Models for Natural Language Processing: A Survey | 閱讀筆記| 超詳細的NLP預訓練語言模型總結清單| Xipeng Qiu et al,2020
[預訓練-語言模型] | ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators | 閱讀筆記| BERT使用MLM進行訓練,而ELECTRA考慮到BERT的MLM模型隨機選擇一部分Token進行Mask的這個操作過於簡單了,想要增加一下它的難度。所以它藉鑑了GAN的思想,用普通的方式訓練一個MLM模型(生成器),然後根據MLM模型對輸入句子進行採樣替換,將處理後的句子輸入到另外一個模型(判別器)中,判斷句子哪些部分是被替換過的,哪些部分是被沒被替換的。生成器和判別器是同步訓練的,因此隨著生成器的訓練,判斷難度會慢慢增加,直觀想像有利於模型學到更有價值的內容。最後只保留判別器的Encoder來用,生成器一般就不要了。由於這種漸進式的模式使得訓練過程會更有針對性,所以ELECTRA的主要亮點是訓練效率更高了| Kevin Clark et al,2020
[數據集] | MuTual: A Dataset for Multi-Turn Dialogue Reasoning | 閱讀筆記| MuTual 數據集,用於針對性地評測模型在多輪對話中的推理能力| L Cui et al,2020
[對話系統-檢索式對話系統] | Dense Passage Retrieval for Open-Domain Question Answering | 閱讀筆記| DPR一種高效的開放域問答檢索技術,應用了BERT進行編碼| Karpukhin et al,2020
[預訓練-語言模型-對話系統-任務型對話] | TOD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogue | 閱讀筆記| 任務導向型對話的預訓練自然語言理解模型| Chien-Sheng Wu et al,2020
[深度學習] | Shortcut Learning in Deep Neural Networks | 閱讀筆記| 對Shortcut Learning問題進行比較詳細的解釋和剖析,雖然最後沒有給出實際的解決方案(Shortcut Learning問題本身就沒有一個體系化的策略,需要根據實際任務而定),不過提供了幾種解決的視角| Robert Geirhos et al,2020
[預訓練-語言模型-文本相似度/匹配/分類] | ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT | 閱讀筆記| 和前面的Poly-encoder出發點都是一樣的,為了就是在獲得BERT representation能力的同時,提高文本計算的效率。按照本文的說法,就是盡可能離線計算好Embedding,在通過Late Interaction的方式,彌補因為query和doc分離計算導致的效果損失。本文具體的模型結構是使用原生的BERT,對query和doc進行Embedding,不同之處是為了區分query和doc,分別在輸入的seq的起始位置加上[Q]和[D]。 Bert是編碼器,CNN做維度變換,用來對BERT的隱層輸出進行降維處理,Normalize是為後面計算餘弦相似度做l2正則化處理,對於doc加個標點符號的mask | Omar Khattab et al,2020
[綜述-文本相似度/匹配/分類] | Evolution of Semantic Similarity - A Survey | 閱讀筆記| 一篇語義相似度的綜述,整體文章從數據集開始,將技術體系分為:基於知識的語義相似性方法、基於語料的語義相似性方法、基於深度神經網絡的方法、基於混合模型方法四類進行分析| Dhivya Chandrasekaran et al,2020
[模型-預訓練-語言模型] | Synthesizer: Rethinking Self-Attention for Transformer Models | 閱讀筆記| 在Transformer架構下,對Self-Attention計算的探索研究,看完會對Self-Attention有個新認識| Yi Tay et al,2020
[綜述-文本相似度/匹配/分類] | Measurement of Text Similarity: A Survey | 語義相似度的綜述,大體上從獨立度量到模型計算的模型概述的比較廣,但不是很全,不過從了解相似度計算來講,還是值得一看的| Jiapeng Wang et al,2020
[深度學習] | Beyond Accuracy: Behavioral Testing of NLP Models with CheckList | 閱讀筆記| ACL2020的Best Paper,基於NLP領域提出了測試體係來指導我們了解NLP 模型的能力,也能夠指導我們去理解問題、解決問題。不同於現代NLP 模型常常僅關注特定的任務,CheckList 希望去評估一個模型的多方面能力,這些能力有的是模型通用的,有的則是面向特定的任務或領域| Marco Tulio Ribeiro et al,2020
[預訓練-語言模型] | DeBERTa: Decoding-Enhanced Bert With Disentangled Attention | 閱讀筆記| DeBERTa的一大亮點在於改動位置編碼的介入時機,在論文中叫作Disentangled Attention。具體做法是將原本和輸入embedding混合相加的pos embedding(relative)單獨拎出來,然後再用位置編碼和content 編碼計算attention,進而增加了“位置-內容” 和“內容-位置” 注意力的分散Disentangled Attention。然後一些其他的改動比如:1) | 因為我們在精調時一般會在BERT 的輸出後接一個特定任務的Decoder,但是在預訓練時卻並沒有這個Decoder,所以本文在預訓練時用一個兩層的Transformer decoder 和一個SoftMax 作為Decoder;2) | 為了彌補一下只有相對位置的損失,因此在decoder前加入一層絕對位置embedding;3) | bert的訓練策略中,mask有10%的情況是不做任何替換,而DeBeta將不做替換改成了換位該位置詞絕對位置的pos embeding | Pengcheng He et al,2020
[對話系統-閱讀理解模型-檢索式對話系統] | Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering | Fusion-in-Decoder生成式閱讀理解模型| Izacard et al,2020
[數據集] | MultiWOZ 2.2: A Dialogue Dataset with Additional Annotation Corrections and State Tracking Baselines | 閱讀筆記| MultiWOZ是一個著名的面向任務的對話數據集,被廣泛用作對話狀態跟踪的基準,MultiWOZ 2.2是目前最新版本| Zang et al,2020
[預訓練-語言模型] | Glancing Transformer for Non-Autoregressive Neural Machine Translation | 閱讀筆記| 本文提出的GLAT是一種Non-Autoregressive翻譯模型(擺脫BeamSearch),主要著重於並行化Decoder以及提高翻譯質量,實際的效果速度快且在一些翻譯方向上(英德)達到了SOTA。模型的核心結構沿用Transformer結構,參考預訓練語言模型的MLM的做法,提出一種叫作GLM(Glancing LM)的方案,即使用兩遍Decoder(同一個Decoder),第一遍的Decoder中,不加任何干預的獲得模型的自然輸出,這個時候將輸出與Gold output進行對比,然後隨機採樣(也可以嘗試其他的)目標詞的詞嵌入替換模型輸出對應的hidden,然後再次餵入Decoder得到最終輸出(注意,這裡採樣的詞數量是根據訓練情況好壞反比的,模型輸出效果越好,採樣的目標詞越少,最終模型收斂到一次並行推理)。原理就是在第一次並行推理比較難學習到詞與詞之間的依賴關係,因此在第二次並行推理時,適當的引入目標詞進行修正,進行增強訓練| Lihua Qian et al,2020
[異常檢測-模型-機器學習-無監督] | COPOD: Copula-Based Outlier Detection | 閱讀筆記| 本文主要是基於copula統計概率函數,提出了COPOD的異常檢測方法,COPOD使用了非參數(non-parametric)的方法,通過經驗累積分佈(Empirical CDF)來得到empirical copula,在這之後我們就可以簡單的通過empirical copula來估算所有維度上的聯合分佈的尾端概率。因此COPOD不需要進行樣本間的距離計算,從而節省運行開銷且速度快,同時,該方法不需要調參,直接使用即可| Zheng Li et al, 2020
[預訓練-語言模型-關係抽取] | A Frustratingly Easy Approach for Entity and Relation Extraction | 閱讀筆記| 提出了一種非常簡單的方法,該方法可以學習基於深度預訓練語言模型構建的兩個編碼器,這兩個模型分別被稱為實體模型和關係模型(實體模型和關係模型的語境表示本質上捕獲了不同的信息,因此共享其表示會損害性能)。同時,為了加快模型推斷速度,該研究提出了一種新穎而有效的近似方法,該方法可實現8-16 倍的推斷加速,而準確率只有很小的降低| Zexuan Zhong et al,2020
[預訓練-語言模型-Prompt] | AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts | 閱讀筆記| 本篇論文提出一種基於梯度的prompt搜索方案,方法比較直觀,將通過梯度找出trigger word和mask拼接在文本中,形成一個語義上不通順,但是對模型而言卻具有合理prompt的樣本,並且將label預測轉換為masked token的預測。方法的核心在於選取trigger word,說白了就是選定一個已確定token數量的template,比如論文中{sentence}[T][T][T][T][T][P],其中T就代表trigger word,P代表label,在這個例子中,準備使用五個token作為prompt,做法就是將這五個token標識為mask token,然後通過MLM的方式預測出token,然後選前k個最大化輸入與梯度乘積的token,選出的token候選一次加入到prompt並評估預測的概率。在預測prompt token之外,還拿了mask token的hidden states過一個線性層預測label,並加上原本label位置mask token的loss進行訓練。 AutoPrompt的方法總的來說簡單粗暴,不過帶來的也是可解釋性差,具體效果一般| Taylor Shin et al,2020
[預訓練-語言模型] | Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting | 閱讀筆記| 一種效果遠超Transformer的長序列預測模型,針對LSTF問題上的研究改進| Haoyi Zhou et al,2020
[綜述-可解釋性] | A Survey on Neural Network Interpretability | 閱讀筆記| 關於神經網絡可解釋性的一篇綜述,整理的挺不錯的,不過就是相關領域前沿探索不足| Yu Zhang et al,2020
[深度學習] | A Theoretical Analysis of the Repetition Problem in Text Generation | 閱讀筆記| 討論Seq2Seq模型解碼重複生成的原因| Zihao Fu et al,2020
[預訓練-語言模型-Prompt] | Making Pre-trained Language Models Better Few-shot Learners | 閱讀筆記| 文中提出的LM-BFF是一套簡單的技術組合,用於僅在少量訓練樣本上對預訓練的LM進行微調,其中包括:(1)基於Prompt的微調以及自動生成prompt的新方法;(2)一種動態的、有選擇的在上下文中引入demonstration的方法。這裡稍微介紹一下背景概念,Prompt方法主要分兩種不同的研究方向:(1)基於prompt的fine-tuning(被認為是更適合小LM的few-shot learner);(2)而對於大模型,fine-tuning比較困難,因此是希望固定他們的參數,通過不同的prompt將它們應用在不同的任務上。對於第二個研究方向,prompt分為Discrete Prompts和Soft Prompts,可以簡單的認為discrete是選隨機token,而soft則是直接用隨機向量替換Embedding。然後還有除了Prompt之外,還有demonstration(in-context learning, 一種新的meta-learning方式),prompt和demonstration都是GPT-3很成功的設計,demonstration是多sample+input text作為模型輸入,其中也有很多優化的方法| Tianyu Gao et al,2020
[對話系統-預訓練-檢索式對話系統] | Distilling Knowledge From Reader To Retriever For Question Answering | 閱讀筆記| 一種模型訓練模型的開放域問答方法| Izacard et al,2021
[預訓練-語言模型-Prompt] | Prefix-Tuning: Optimizing Continuous Prompts for Generation | 閱讀筆記| 本篇論文核心是針對離散的Prompt難以優化的問題,提出了參數化的prompt,僅微調prompt,freeze住LM。在小樣本任務重,這種方法極大的減小的模型的參數,減少了過擬合的風險,這種參數化的prompt在小樣本場景中,能夠優於fine-tune的方法。這篇文章的做法和P-tuning差不多,都是設計了非自然語言的模板,只不過Prefix-tuning主要關心的是NLG的應用,而P-tuning更加關心NLU的應用| Xiang Lisa Li et al,2021
[綜述-向量召回] | A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate Nearest Neighbor Search | 閱讀筆記| 論文是一篇關於graph-base的向量召回綜述,聚焦實現了效率和精度最優權衡的近鄰圖索引,綜述了13 種具有代表性相關算法,包括NSW、HNSW等在內的優秀算法,並提出一個統一評估的pipeline | Mengzhao Wang et al,2021
[預訓練-評估] | LogME: Practical Assessment of Pre-trained Models for Transfer Learning | 閱讀筆記| 一種通用且快速的評估選擇適合下游任務的預訓練模型的打分方法,logME | Kaichao You et al,2021
[Prompt-預訓練-語言模型] | GPT Understands, Too | 閱讀筆記| 在本文之前的Prompt思路呢,要么是通過人工設計Prompt(如PET),要么是探索通過自動化搜索Prompt進行(如AutoPrompt、LM-BFF等),思路都限於搜索token來組成Prompt template(Discrete Prompt Search),而本文提出的P-tuning思路是不用關心template由哪些token word組成,對於模型而言,只需要token embedding,直觀點說就是在template中,除了目標詞正常以Mask token出現,prompt token則是[unused*](也就是從未見過的token來構成模板,這裡的token會過一層LSTM進行編碼),其中token數目是一個超參數可以調整,這種方式極大的提升了template的搜索空間(連續)。小樣本的時候固定模型權重,只優化[unused*]的Embedding,這樣即使樣本少也能學到prompt template,不容易過擬合。標註數據足夠的話就直接放開所有權重一同訓練微調就行| Xiao Liu et al,2021
[Prompt-預訓練-語言模型] | The Power of Scale for Parameter-Efficient Prompt Tuning | 閱讀筆記| 本文的方法和p-tuning相似,是固定LM,只訓練prefix,這篇文章主要是驗證了全量數據情況下,僅微調prompt相關的參數,能夠達到fine-tune的效果(p-tuning的prompt token人為的選用[unused*],而本文對prompt token的初始化分兩種:置零和採用詞表的一些預訓練token embedding)。論文的最終結論有:1):在一般模型大小的情況下,prompt token越多,效果越好(超過20增益減小),但是在超大模型的情況下,單個prompt token也能達到前面20個token以上的效果;2):隨機初始化、詞表採樣、用label標籤初始化,其中label的方式效果最好;3):LM Adaptation steps 越多,效果越好;4):同時訓練多個prompt進行ensemble,效果優於單一prompt | Brian Lester et al,2021
[預訓練-語言模型-文本相似度/匹配/分類] | SimCSE: Simple Contrastive Learning of Sentence Embeddings | 閱讀筆記| 基於Sentence-Bert,引入對比學習的思想,在無監督與有監督語義相似度計算任務達到SOTA。主要圍繞對比學習質量指標Alignment和Uniformity來進行優化,對於Unsupervised,核心是使用dropout mask生成正樣本,負樣本是in-batch negatives。而Supervised則是NLI中entailment關係樣例對。負例:a) in-batch negatives b)NLI中關係為contradiction的樣例對| Tianyu Gao et al,2021
[預訓練-語言模型] | Are Pre-trained Convolutions Better than Pre-trained Transformers? | 閱讀筆記| 將Transformer的Attention換成了卷積,嘗試預訓練模型新方式| Yi Tay et al,2021
[綜述-對話系統] | Recent Advances in Deep Learning Based Dialogue Systems: A Systematic Survey | 對話系統綜述:新進展新前沿| JinJie Ni et al,2021
[對話系統-評估] | Towards Quantifiable Dialogue Coherence Evaluation | QuantiDCE,一種實現可量化的對話連貫性評估指標模型| Zheng Ye et al,2021
[對話系統-對話策略學習] | Retrieve & Memorize: Dialog Policy Learning with Multi-Action Memory | 閱讀筆記| 聯合檢索和記憶塊的多action的Dialog Policy Learning模型,在action生成和response生成上效果SOTA | Yunhao Li et al,2021
[對話系統] | Increasing Faithfulness in Knowledge-Grounded Dialogue with Controllable Features | 通過可控特徵來增加知識對話系統的學習| Rashkin et al,2021
[綜述-Prompt-預訓練] | Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing | 閱讀筆記1 / 閱讀筆記2 | 關於Prompt-based learning的一篇綜述,Prompt(提示/題詞)和之前的MLM有些相似,通過定義template的方式,基於語言模型的特性直接估計出文本的概率,從而生成答案。相較於傳統的語言模型依賴於針對特定下游任務的fine-tune,Prompt更加關注模型的遷移能力(它的目標就是希望對不同下游任務建立一個統一的範例),除了便捷和泛化能力之外,這樣做的一個明顯優勢就是不同任務之間的數據可以共享,減少標註數據,隨著數據累積,新的任務可以達到zero-shot learning的目的| Pengfei Liu et al,2021
[文本相似度/匹配/分類-Prompt-預訓練-語言模型] | Noisy Channel Language Model Prompting for Few-Shot Text Classification | 本篇論文以實驗探索為主,含有大量的實驗對比,主要出發點就是在few-shot問題中,探討控制訓練參數對於direct model和channel model效果的影響,最終的論文的結論是Noisy Channel model明顯優於direct model。論文中的direct model主要是指一般的P(c|x),其中x是輸入,c是label,而direct++ model則是基於direct,強化文本間的差異,引入空文本,即P(c|x)/P(c|null),而channel model則是指使用貝葉斯公式重新參數化direct,P(c|x)=P(x|c)P(c)/P(x),其中P(c)就是label數分之一,即P(1/C),而P(x)獨立於c,所以最終只需要計算P(x|c)。那麼最後用形像一點的例子來解釋direct和channel的差異就是,direct=x->c,channel=c->x。論文中對參數的控制採用了all finetuning、head tuning、transformation tuning和Prompt tuning(這裡可以認為是soft prompt,即只需在輸入序列中放入一些隨機向量,與詞彙表中的特定word embedding無關,並進行調整,同時固定預訓練模型的其他部分)。在direct和channel的方法間,channel明顯優於direct。在direct model的參數控制實驗中,head tuning是最優的,但是當channel model配合soft prompt時,效果是最好的| Sewon Min et al,2021
[對話系統-預訓練] | General-Purpose Question-Answering with MACAW | 閱讀筆記| 生成式多角度問答模型,參數量只有GPT-3的十六分之一,作者主打的亮點是通過整合7種不同的任務範式(問題生成、答案生成...),使得模型能夠通過不同角度學習到QA相關的內容,目的就是得到一個強大的QA版本預訓練模型。輸入的話就是通過"$s1$;$s2$.."的slot方式進行文本拼接,得到的解碼輸出也是如此輸出的,模型內核還是基於transformer的改造| Oyvind Tafjord et al,2021
[預訓練-語言模型-Prompt] | PPT: Pre-trained Prompt Tuning for Few-shot Learning | 閱讀筆記| 之前的工作都是在finetune階段去使用prompt,這篇文章第一次提出了prompt pretraining的過程。一開始是因為觀察了prompt tuning中的大模型儘管在全量數據下能夠媲美finetune,但是在少樣本情況下並不好,作者認為是因為在大模型上soft prompt對初始化很敏感,所以設計了一系列預訓練的prompt task來給soft prompt提供一個很好的初始化。論文的結論是,通過prompt 的預訓練,在少樣本情況下,大模型的prompt tuning 同樣能媲美fine-tuning 的效果| Yuxian Gu et al,2021
[對話系統-任務型對話-預訓練] | Constraint based Knowledge Base Distillation in End-to-End Task Oriented Dialogs | 基於KB的End2End的Task-Oriented的對話系統,使用pairwise相似度過濾相關信息來獲得KB中的n元結構,就這一點上倒沒有什麼新奇,只不過相對於之前的方式修改的entity格式。不過在避免檢索到部分entity相似但並不是目標的record的情況,作者加入了輔助的損失函數用於embedding constraint,這種做法確實減少了相同entity之間的相似性,從而提高record的可靠性,值得借鑒。基於現有的F1指標的缺點,提出multiset entity F1 | Dinesh Raghu et al,2021
[綜述] | Paradigm Shift in Natural Language Processing | 閱讀筆記| 總結歸納NLP中任務範式並分析的綜述,論文給出了七種範式的定義,針對此分析一些具體任務(範式遷移)的例子,並指出四種可能大一統的NLP任務範式:LM,matching,MRC,Seq2Seq(LM減少工程量,MRC具有更高的可解釋性,seq2seq在處理複雜任務時具有更高的靈活性),但是沒有把Prompt納進去(狗頭) | Tianxiang Sun et al,2021
[綜述-數據增強] | Data Augmentation Approaches in Natural Language Processing: A Survey | 閱讀筆記| 哈工大的工作,對15中NLP數據增強方法進行了總結和對比,有詳細的優缺點說明,還有一些使用技巧,實用性非常強,需要的時候可以詳細的參考原文以及相關的文獻的應用細節。幾個開源工具:Easy DA、UNsupervised DA、nlpaug、eda_nlp_for_Chinese | Bohan Li et al,2021
[預訓練-語言模型-Prompt] | SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer | 閱讀筆記| 之前的工作證明了prompt 的初始化很重要,而在PPT(Pre-trained Prompt)那篇論文中提出的預訓練方法能夠給prompt 提供一個很好的初始化,但是有沒有其他預訓練的方式,比如不用設計預訓練任務的,因此本文提出了一種prompt transfer(SPoT)的方法,即學習一個或者多個源任務的prompt 來初始化目標任務的prompt,這種方式能夠使得prompt tuning 在不同模型尺寸(包括小模型)上都能媲美甚至優於fine-tuning(注意,無法超過multi-task fine-tuning 的效果)。論文的結論是在全量數據+ 僅微調prompt 的情況下,SPoT 能夠在多個模型尺寸(包括小模型)下媲美和優於model tuning 的效果,並能在使用超大模型情況下媲美強基線Multi-task Tuning | Tu Vu et al,2021
[異常檢測-模型-機器學習-無監督] | ECOD: Unsupervised Outlier Detection Using Empirical Cumulative Distribution Functions | 本文作者和2020年提出的COPOD算法同作者,本文提出的ECOD算法是COPOD算法的擴展版本。 ECOD算法使用經驗累計分佈函數的無監督離群值檢測,通過類似集成的方法(結合同一樣本不同維度的離群分,假設各維度特徵相互獨立),計算每個樣本的離群分,分值越高是異常值的可能性越大。另外,在計算各特徵維度的左尾和右尾ECDF,並得到對應離群分後,通過skewness(偏度)來矯正集群分得到最終結果| Zheng Li et al, 2022
[預訓練-語言模型-Prompt] | Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? | 閱讀筆記| 本文主要探討分析Prompt範式下,預訓練語言模型是如何學習並work的。主要的結論是在in-context learning 學習中,學習並不是輸入與標註之間的關聯,而是通過展示數據形式,來激活與訓練模型的能力。此外附帶兩個結論:在meta learning環境下,in-context leanring的這個特點更為明顯;因為標籤不重要,所以可以用無標註領域內數據做in-context zero shot learning | Sewon Min et al,2022
[預訓練-語言模型-文本相似度/匹配/分類] | How Different are Pre-trained Transformers for Text Ranking? | 閱讀筆記| 本文主要對BERT(Cross-Encoder,即軟匹配)和傳統稀疏排序方法的BM25(精確匹配)進行query-doc排序結果的比較分析,嘗試搞清楚Cross-Encoder和BM25的區別,弄清CE的運作原理。論文得到的結論就是:(1)精確匹配是一個重要的基礎排序策略,而CE的軟匹配能力是BM25不具備的;(2)對於高度相關的doc排序,CE和BM25各自的相關性定義有著很大的不同,且BM25明顯低估了許多文檔的相關性;(3)CE的潛力在於,它可以召回BM25非常不看好而實際卻是高度相關的doc;(4)CE通過考慮上下文信息客服了對term匹配的依賴,能夠找到“不可能相關”的結果,即語義泛化能力。從整個實驗中也可以明顯的看出CE和BM25各自都有著自己的優勢,CE並不能完全替代BM25,不管是在召回還是在排序階段,這兩者依舊是相輔相成的關係(別忘了個事實,CE方法上百億的參數,BM25相比之下“弱小”很多) | David Rau et al,2022
[異常檢測-綜述-自監督] | Self-Supervised Anomaly Detection: A Survey and Outlook | 一篇關於異常檢測的綜述論文,主要是圍繞自監督形式的異常檢測方法進行介紹,論文中大部分方法的切入視角是圖像,搞文本或者多模態的話也可以看看,說不定有所啟發。全文主要的內容大體可以分為:(1)對目前自監督形式的異常檢測方法和其應用的場景進行介紹和討論;(2)根據異常檢測算法所針對的數據樣本的不同,提出對這些算法進行劃分,有利於根據不同場景進行算法的選擇;(3)最後對未來的發展進行了討論| Hadi Hojjati et al, 2022
[異常檢測-評估] | ADBench: Anomaly Detection Benchmark | 閱讀筆記| 一篇很全面的針對Tabular Data的異常檢測方法的實驗論文,通過設計Benchmark對30種算法(包括許多傳統機器學習算法也加入了實驗)進行實驗分析。其主要貢獻就是設計了Benchmark,設計切入的角度分為三個:(1)從完全無監督異常檢測到完全監督的異常檢測,標籤的數量有多重要? (2)對於不同種類的異常,如何分析算法的優劣? (3)對於數據質量中面臨的問題,比如噪音、重複、錯誤等,哪些算法更加魯棒? | Songqiao Han et al, 2022