發表文章

Decoding Methods for Language Models_Greedy Search與Beam Search比較

諸多 NLP 應用(例如機器翻譯、聊天機器人、文本摘要或當前很夯的語言模型)都會產生文字作為輸出。另外,關於圖片說明(image captioning)或自動語音辨識(即語音轉文字)等應用也會輸出文字。所有這些應用在產生最終輸出的步驟中,都會使用以下幾種常用的演算法。 1.Exhaustive search(窮舉搜尋) 一種透過確認所有可能的狀況來尋找答案的方法。 窮舉所有可能的輸出序列,並在探索所有可能情況的同時,僅保留符合要求的結果。 保證能找到解但是效率不高 2.Greedy Search(貪婪搜尋) 在轉譯每個字的時候,直接選擇條件概率最大的候選值作為當前最優。 效率最高但並不能保證最終的結果一定是全局最優的。 可以看做是 beam size = 1時的 beam search。 3.Beam Search(束搜尋) 是一種對greedy search的改進算法。相對greedy search擴大了搜索空間。它非常受歡迎,因為儘管需要更多的運算量,但通常能產生更好的結果。 beam search有一個超參數beam size(束寬),設為 k。第一個時間步長,選取當前條件概率最大的 k 個詞,當做候選輸出序列的第一個詞。 之後的每個時間步長,基於上個步長的輸出序列,挑選出所有組合中條件概率最大的 k 個,作為該時間步長下的候選輸出序列。始終保持 k 個候選。最後從 k 個候選中挑出最優的。 不保證全局最優,但是比greedy search搜索空間更大,一般結果比greedy search要好。 Ref: https://d2l.ai/chapter_recurrent-modern/beam-search.html https://hackmd.io/@ucjVdUisQgurlILr8R9VCw/ry2_sVvin Understanding greedy search and beam search https://medium.com/@jessica_lopez/understanding-greedy-search-and-beam-search-98c1e3cd821d Foundations of NLP Explained Visually: Beam Search, How it Works https://towardsdatascien...

[論文筆記]CIDEr: Consensus-based Image Description Evaluation

圖片
  https://www.youtube.com/watch?v=pVlcRbfCL6k 年份:2015年 期刊:CVPR 論文連結: https://arxiv.org/abs/1411.5726 研究問題 當使用自動技術對一幅圖像描述進行評價時,應該與專家的圖像描述一致。常用的一些句子相似度評價度量如基於 BLEU 的機器翻譯評分指標。然而這些方法的結果與人的評價相差很遠。現在介紹的 CIDEr 評估指標則是測量一個句子與一組人為生成真實句子的相似性,可以考慮語法、重點以及精度全部考慮在內。 研究背景 在自然語言處理中,給定一幅圖像,機器自動生成圖像描述具有廣泛的應用。但是如何評價一個圖像機器生成的描述是非常具有挑戰性。現在介紹如何自動評價一幅圖像描述的品質,即基於共識 (consensus-based) 的評價方法。 假如每一幅圖像具有 50 個人工圖像描述,機器生成的圖像描述與這 50 個人工描述進行比較,得到選票多的機器圖像描述為最合適的描述。 這種共識方法要求比較候選描述句子與參考描述句子的相似性比較,所以需要對每一個描述句子定義一個向量描述。使用 n-gram 作為句子特徵描述候選句子和參考句子。 給定一幅圖像,假如有 50 個專家生成的參考句子(R1–R50)描述這幅圖像,有兩個需要評價的候選句子 C1 和 C2, 從參考句子中任意選擇一個句子稱為 A,和 B 與 C 一起構成三元註釋 。我們需要對 B 和 C 進行評價,看哪一個與句子 A 更相似。 共識方法會在 B 和 C 之中選出一個,並使用每一條參考句子與 A 一起形成三元標註。參考句子透過投票給出候選 B 或 C 與參考 A 的相似性評分,最後根據共識評分結果得出:究竟是 B 或 C 與參考 A 更相似。 CIDEr 自動評價一幅圖像 I i I_i I i ​ 的描述品質, 使用共識方法評價一個候選圖像標註 c i c_i c i ​ 匹配一組專家生成圖像描述 S i = { s i 1 , s i 2 , … , s i m } S_i=\{s_{i1}, s_{i2}, \ldots, s_{im}\} 。 首先把候選句子和參考句子中所有的詞映射到它們的 stem 或 root 形式。例如,fishes、fishing、fished 映射為根詞 fish。每個句子都表示為...

[論文筆記]Show and Tell: A Neural Image Caption Generator

圖片
Show and Tell:一個神經影像描述生成器 年份:2015年 期刊:CVPR 論文連結: https://arxiv.org/abs/1411.4555 研究問題 學者們提出一個基於深度遞迴架構的生成模型,結合電腦視覺與機器翻譯的最新技術,用來產生描述影像的自然句子。 機器翻譯領域當時已經有 encoder–decoder RNN,把一串文字編碼成向量,再解碼成另一串文字。學者們認為RNN這類於機器翻譯有良好能力的模型概念,也能應用於影像描述,因為一張影像到一個語句也屬於另類機器翻譯。 該模型經過訓練,使目標描述句子在給定訓練影像時的機率最大化。 學者們的模型是資料驅動並以端到端方式訓練,並搭配豐富多元資料集,為了解答以下問題: 資料集規模如何影響泛化能力? 這篇工作最直接的做法,是在多個規模與性質不同的資料集上訓練與測試,包括較小的 Pascal、較中等的 Flickr30k、大一些但 noisy 的 SBU,以及當時很大的 MS COCO。 針對較大、標註較多樣的 COCO 能讓模型學到更豐富的語言模式與視覺概念,並在 BLEU-4 上達到當時 SOTA,顯示 規模擴大對泛化有明顯幫助 。 能達成哪些種類的遷移學習? 語言與圖片之間的遷移 影像用 CNN 映射到固定向量,再與文字 embedding 一起送進 LSTM,形成共享的語意空間。此外原文也探討到word embedding 的鄰近詞,如「horse」附近有「pony、donkey、goat」,作者明講這種語義鄰近可以幫助 CNN 對「長得像馬的動物」提取較通用的特徵,屬於語言資訊反向影響視覺表徵的例子。 任務形式上的遷移(同一任務只是跨資料集) 這裡的「遷移」都是「同一任務(圖像描述)但不同資料分布、標註品質」之間的遷移。在一個大型 caption 資料集(如 COCO)上訓練好的 CNN+LSTM,可以在較小的資料集(如 Pascal、Flickr30k)上 fine-tune改善小資料集表現。論文有提到,從較大的 Flickr30k 訓練,轉去 Flickr8k 測試,觀察資料量對泛化的影響。 如何處理弱標註的範例? 論文沒有設計額外損失或半監督方法專門處理弱標註;對於噪音帶來的負面效果,幾乎沒有細緻分析,只用整體指標改善來做「實證」。 研究背景 過去做圖片理解多半是「標籤分類」或「偵測特...

[論文筆記]DenseCap: Fully Convolutional Localization Networks for Dense Captioning

圖片
DenseCap: Fully Convolutional Localization Networks for Dense Captioning 一個模型幫你圈出圖裡好幾個框,每個框說一句簡短描述,這就是 dense captioning 的核心。 年份:2015年  史丹佛大學 電腦科學系 Justin Johnson ,Andrej Karpathy ,Li Fei-Fei 論文連結: https://arxiv.org/abs/1511.07571 https://openaccess.thecvf.com/content_cvpr_2016/papers/Johnson_DenseCap_Fully_Convolutional_CVPR_2016_paper.pdf https://www.youtube.com/watch?v=2wRnmRSrgCo 研究問題 首次正式定義「dense captioning」任務:同時在影像中定位多個區域並為每個區域產生自然語言敘述。 提出Fully Convolutional Localization Network (FCLN),以 CNN backbone + dense localization layer + RNN captioner,一次 forward 同時做區域候選與描述,無需額外 region proposal,端到端訓練。 把「偵測」與「描述」整合在一個共享特徵與梯度的架構中,避免傳統兩階段 pipeline(先 region proposal 再 caption)帶來的速度與訓練不一致問題。和那時候既有最先進方法基準相比,在生成與檢索兩種設定上皆觀察到速度與準確度的提升。 研究背景 人類能輕鬆指出並描述影像中所有面向,仰賴對視覺場景及其所有元素的深刻語意理解。然而,儘管有許多潛在應用,這項能力對於當前最先進的視覺辨識系統而言仍然是一大挑戰。 使用Visual Genome 資料集,包含 94,313 張影像與 4,100,413 副文本片段(每張影像平均 43.5 副),每則皆對應至影像的一個區域。影像來源為 MS COCO 與 YFCC100M [46] 的交集,標註工作透過 Amazon Mechanical Turk 蒐集,要求作業者在影像上繪製一個邊界框並以文字描述其內容。資料集中範...