Why Embedding? dog and cat and bird is different from tree jump Why Attention? to solve the word embedding issue and extent to contextual word embedding. from 臺大李弘毅教授的 video lecture. money bank river bank need context to identify the meaning!! token! How about blood bank, same as bank? or a different meaning? each word token …
Tag Archives: Transformer
NLP #1: 自然語言處理簡介
AI talk 最常被提到的口號:“Data is the King”. 確實 AI 發展最快的幾個領域如 recommendation system (cloud), computer vision (cloud/edge), and NLP (cloud/edge) 都有巨量 dataset: labeled or unlabeled, public or private. 相形之下,voice, industrial/scientific/medical (ISM), etc. 進展比較慢。除了 data 相對比較少,還有其他的原因。 以 NLP 為例,NLP 中有各種各樣的任務,比如分類 (Classification),翻譯 (translation),問答(QA),實體命名識別(NER)等。對於這些不同的任務,最早的做法是根據每類任務定制不同的模型,輸入預訓練好的embedding,然後利用特定任務的數據集對模型進行訓練,如下圖。這裡存在的問題就是,不是每個特定任務都有大量的標籤數據可供訓練,對於那些數據集非常小的任務,恐怕就難以得到一個理想的模型。 我們看一下圖像領域是如何解決這個問題的。圖像分類是計算機視覺中最基本的任務,當我要解決一個小數據集的圖像分類任務時,該怎麼做?CV領域已經有了一套成熟的解決方案。我會用一個通用的網絡模型,比如Vgg,ResNet或者GoogleNet,在ImageNet上做預訓練(pre-training)。ImageNet有1400萬張有標注的圖片,包含1000個類別,這樣的數據規模足以訓練出一個規模龐大的模型。在訓練過程中,模型會不斷的學習如何提取特徵,底層的CNN網絡結構會提取邊緣,角,點等通用特徵,模型越往上走,提取的特徵也越抽象,與特定的任務更加相關。當完成預訓練之後,根據我自己的分類任務,調整最上層的網絡結構,然後在小數據集里對模型進行訓練。在訓練時,可以固定住底層的模型參數只訓練頂層的參數,也可以對整個模型進行訓練,這個過程叫做微調(fine-tuning),最終得到一個可用的模型。 總結一下,整個過程包括兩步,拿一個通用模型在ImageNet上做預訓練(pre-training),然後針對特定任務進行微調(fine-tuning),完美解決了特定任務數據不足的問題。還有一個好處是,對於各種各樣的任務都不再需要從頭開始訓練網絡,可以直接拿預訓練好的結果進行微調,既減少了訓練計算量的負擔,也減少了人工標注數據的負擔。 A good reference of NLP. [@zhangTransformerBERT2019] Pre-trained network 例如 ResNet 或是 MobileNet 可以做為特徵提取的骨幹,用於各類的圖像任務。像是下圖的 object …