เค้นเฉพาะข้อมูลที่ต้องการด้วย Variational Information Bottleneck (VIB)

Can Udomcharoenchaikit
AIResearch.in.th
Published in
3 min readDec 4, 2019

ในงาน EMNLP 2019 ที่เพิ่งผ่านมา งานที่ได้รางวัล best paper คือ Specializing Word Embeddings (for Parsing) by Information Bottleneck โดย Xiang Lisa Li และ Jason Eisner จากมหาวิทยาลัย Johns Hopkins พวกเขาเสนอวิธีในการบีบอัด word embeddings แล้วเค้นเอาข้อมูลเฉพาะส่วนที่ช่วยในการเอาไปกำกับความสัมพันธ์ระหว่างคํา (dependency parsing) ไปใช้

ในปัจจุบันวิธีการสร้างโมเดลสำหรับงานต่าง ๆ ใน NLP มักนิยมจะใช้ pretrained contextual word embeddings อย่าง BERT และ ELMo มา finetune แต่ Li และ Eisner เสนอวิธีใหม่แทนที่เขาจะ finetune อย่างเดียว เขามองว่าที่จริง pretrained word embeddings มันอาจจะเก็บข้อมูลที่เราต้องการนำไปใช้อยู่แล้ว ทำไมเราไม่สกัดข้อมูลที่มีอยู่แล้วจาก pretrained word embeddings แทนล่ะ finetune คือการเอาข้อมูลใหม่ไปใส่ใน word embeddings แต่ VIB คือการสกัดเอาข้อมูลที่ word embeddings มีอยู่แล้วมาใช้งาน​ ซึ่งในงานนี้เขาใช้วิธี VIB ที่เขาเสนอเพื่อบีบ word embeddings เพื่อสกัดเอาเฉพาะข้อมูลที่ใช้ในงาน dependency parsing

Information Bottleneck คืออะไร ?

Information bottleneck เป็น framework ในการวิเคราะห์โมเดล deep learning และเป็น training objective แบบหนึ่งที่ถูกเสนอโดย Naftali Tishby เพื่อที่จะหา trade off ที่ดีที่สุดระหว่างความแม่นยำและการบีบอัดข้อมูล Information Bottleneck จะ minimize สมการนี้:

I (*;*)— หมายถึง mutual information β — หมายถึง Lagrangian multiplier

หากเรามี input เป็น X และ output เป็น Y (เรารู้ joint distribution p(X,Y)) และราต้องการจะหา T ซึ่งได้มาจากการบีบอัด X ให้มีขนาดเล็กลง ถ้า minimize จนได้ค่า loss ต่ำ ๆ แล้วก็จะได้ค่า I(Y;T) ที่มีค่าสูง และ β•I(X;T) ที่มีค่าต่ำ หมายความว่าจะได้ compressed representation “T” ที่เก็บข้อมูลมากพอสำหรับทำนาย Y ได้ แต่ T จะพยายามไม่เก็บข้อมูลเกี่ยวกับ X

ยิ่ง β มากขึ้นแค่ไหน I(X;T) ก็จะยิ่งเล็ก β เป็นเหมือน constraint สำหรับข้อมูลจาก X ที่มีอยู่บน T

Specializing Word Embeddings (for Parsing) by Information Bottleneck

ในงานนี้ Li และ Eisner ให้ X เป็น pretrained word embeddings ซึ่งก็คือ ELMo ส่วน Y เป็น dependency tree ที่แสดงถึงสัมพันธ์ระหว่างคํา และเขาได้เพิ่ม I(T_i; X|X̂_i) เพื่อควบคุมผลกระทบที่ได้จากข้อมูลคำที่บริบทรอบๆ คำที่ i เนื่องจาก ELMo เป็น contextual representation เพราะฉะนั้น word vector x_i จะมีข้อมูลจากคำอื่นที่อยู่รอบๆ ด้วย เขาจึงคุม I(T_i; X|X̂_i) เพราะว่าเขาไม่อยากได้ข้อมูลจากคำอื่นๆ ที่ไม่ใช่คำที่ i มากเกินไป การที่คุม I(T_i; X|X̂_i) ให้ต่ำๆ จึงเป็นการลงโทษโมเดลหากมันใช้ข้อมูลจากบริบทรอบข้างเยอะเกินไป

ซึ่งค่า mutual information I(*;*) ถ้าหาตรง ๆ จะต้องคํานวณ term บางอันที่มีปัญหาในการคำนวณเช่น อาจจะต้องวน inner loop บนประโยคใน treebank สำหรับการคำนวณ I(X;T) เขาจึงใช้การประมาณค่า variational bound เอาแทน โดยจะหา upper bound สำหรับ I(X;T) กับ I(T_i; X|X̂_i) และจะหา lower bound สำหรับ I(Y;T) (สังเกตว่ามีเครื่องหมายติดลบอยู่ข้างหน้าจึงเป็น lower bound)

สุดท้ายเขาก็จะได้ minimization objective ที่มีหน้าตาแบบนี้ :

สมการด้านบนนั้นเป็น upper bound ของ สมการ L_IB ที่อยู่ด้านล่าง

ในงานนี้เขายังได้ลองหา T ทั้งแบบที่เป็น continuous และ discrete เพราะ discrete representation สามารถเอามาช่วย interpret โมเดลเพิ่มเติมได้ โดยเขาแสดงให้เห็นว่า discrete representation สามารถเอาไปทำนาย part-of-speech tag ใน treebank ได้สูงระดับนึงโดยที่ไม่เคยเห็นเฉลย training label มาก่อน โดยได้คะแนนสูงถึงเกือบ 80% บนภาษาสเปนและฝรั่งเศส

นอกจากนี้ result ของ VIB ยังสูงกว่าวิธีที่ไม่บีบอัดข้อมูล และการบีบอัดข้อมูลแบบอื่นเช่น principal component analysis และ multi-layer perceptron อีกด้วย ใน 8 จาก 9 ภาษาที่ได้ทำการทดลอง

ติดตามข่าวสารและบทความเกี่ยวกับ NLP ได้ที่เพจ อ่าน #NLProc

บทความนี้สนับสนุนโดย:

--

--