Transfer learning Học chuyển giao là nỗ lực để thayđổi cách tiếp cận này bằng cách cải thiện hiệu suất của một nhiệm vụ mới vớiviệc sử dụng kiến thức thu được để giải quyết công việc tro
Trang 1LUẬN VĂN THẠC SĨ
Trích rút thông tin văn bản sử dụng
Deep Transfer Learning
Trang 2Lời cảm ơnLời đầu tiên, tác giả xin được gửi lời cảm ơn chân thành đến Tiến sĩ Trần NgọcThăng bởi những chỉ đạo và trợ giúp nhiệt tình trong suốt quá trình nghiên cứukhi bắt đầu là học viên đến hiện tại.
Và tác giả xin trân trọng cảm ơn Viện Toán Ứng dụng và Tin học, Phòngđào tạo 2- Bộ phận quản lý đào tạo sau đại học, Trường Đại học Bách Khoa HàNội và viện nghiên cứu CMC đã tạo mọi điều kiện thuận lợi để để tác giả hoànthành luận văn này
Tóm tắt nội dung luận vănBài toán rút trích thông tin đã được áp dụng rất nhiều trong thực tiễn từ các
hệ thống rút trích thông tin trong các miền chuyên biệt như Sinh học, Y học,phòng chống tội phạm cho đến các hệ thống phục vụ trong việc học tập, giảngdạy (ELearning) Tuy nhiên,để các mô hình học sâu (Deep learning models) lớn
và hiệu quả cần rất nhiều dữ liệu Chúng cần được đào tạo với hàng nghìn hoặcthậm chí hàng triệu điểm dữ liệu trước khi đưa ra dự đoán chính xác Chúngrất tốn kém tài nguyên tính toán, thời gian và dữ liệu nhưng chỉ được áp dụng
để giải quyết một nhiệm vụ duy nhất Các nhiệm tương lai khác cần một lượng
dữ liệu và tài nguyên tính toán tương đương hoặc hơn để xây dựng các mô hìnhhọc sâu mới
Tuy nhiên, bộ não con người không hoạt động theo cách đó Nó không loại bỏkiến thức đã thu được trước đó khi giải quyết một nhiệm vụ mới Thay vào đó,
nó đưa ra quyết định dựa trên những điều đã học được từ quá khứ Những gìchúng ta thu được dưới dạng kiến thức của một nhiệm vụ, chúng ta sẽ sử dụngtheo cách tương tự để giải quyết một nhiệm vụ liên quan Transfer learning nóichung và Deep transfer learning nói riêng nhằm mục đích bắt chước hành độngnày đối với deep learning nhằm mục đích tiết kiệm tài nguyên tính toán, thờigian và cải thiện hiệu suất của các mô hình
Từ khóa: Transfer learning, Deep transfer learning, Deep learning, Named entityrecognition
Hà Nội, ngày 05 tháng 04 năm 2021
Học viên thực hiệnNguyễn Thanh Bình
Trang 31 GIỚI THIỆU 8
1.1 Giới thiệu về Deep learning 8
1.2 Giới thiệu tổng quan về bài toán trích rút thông tin từ văn bản 9 1.3 Mục tiêu nghiên cứu 10
1.4 Cấu trúc luận văn 11
2 TRANSFER LEARNING VÀ DEEP TRANSFER LEARNING 12 2.1 Giới thiệu Transfer learning 13
2.2 Định nghĩa Transfer learning 14
2.3 Các phương pháp và cách tiếp cận 17
2.4 Deep transfer learning 18
2.4.1 Các mô hình được đào tạo trước có sẵn dưới dạng bộ trích xuất tính năng 19
2.4.2 Tinh chỉnh các mô hình đã được đào tạo trước 21
2.4.3 Các mô hình đã huấn luyện trước 22
2.5 Các loại Deep transfer learning 23
2.5.1 Thích ứng miền 23
2.5.2 Nhầm lẫn tên miền 24
2.5.3 Học đa tác vụ 24
2.5.4 Học một lần 25
2.6 Lợi thế và thách thức của Deep Transfer Learning 25
2.7 Ứng dụng của Transfer learning 26
3 TRÍCH RÚT THÔNG TIN VĂN BẢN BẰNG DEEP TRANS-FER LEARNING 28 3.1 Bài toán trích rút thông tin từ tờ khai hải quan 28
3.2 Kiến trúc hệ thống 29
3.3 Cơ chế Attention 30
3.3.1 Giới thiệu attention 30
3.3.2 Mô hình Transformer 33
Trang 43.4 BERT 35
3.4.1 Kiến trúc BERT 35
3.4.2 Biểu diễn dữ liệu đầu vào 35
3.4.3 Tiền huấn luyện mô hình 36
3.5 Mô tả dữ liệu 38
3.6 Mô hình Baseline 40
3.7 Mô hình BERT cho NER 42
3.8 Tổng kết 47
Trang 51.1 Mạng nơ-ron đơn giản - hình (a) và mạng nơ-ron học sâu (Deep
learning neural) - hình (b) 8
1.2 Ví dụ gán nhãn BIO 10
2.1 Thử thách của ImageNet dựa trên tập dữ liệu ImageNet 13
2.2 Mô hình máy học truyền thống (bên trái) và mô hình tuân theo nguyên tắc transfer learning 14
2.3 Học chuyển giao trong Deep learning 18
2.4 Ý tưởng của học chuyển giao 19
2.5 Deep transfer learrning với các mô hình học sâu được đào tạo trước dưới dạng trình trích xuất đặc trưng 20
2.6 Hiệu năng của các mô hình được đào tạo sẵn (off-the-shelf pre-trained model) 20
2.7 Ví dụ mạng nhận dạng khuôn mặt các lớp trước để trích đặc trưng 21 2.8 Giữ trọng số hay tinh chỉnh 22
2.9 Học đa nhiệm nhận thông tin từ tất cả các nhiệm vụ đồng thời 24 3.1 Mô tả hàng hóa 28
3.2 Kiến trúc tổng quan 29
3.3 Mô hình sequence to sequence truyền thống 30
3.4 Mô hình sequence to sequence có attention 32
3.5 Attention và Multi-Head Attention 32
3.6 Kiến trúc Transformer 34
3.7 Biểu diễn dữ liệu đầu vào của BERT 36
3.8 Thống kê số lượng từ trong mỗi đoạn/ câu 38
3.9 Các mô tả hàng hóa 39
3.10 Mô hình đề xuất của tác giả cho bài toán phân loại phân cấp mã hải quan từ mô tả hàng hóa 40
3.11 Ví dụ về gán theo B-I-O 40
3.12 Kiến trúc mô hình Baseline 41
Trang 63.13 Kiến trúc mô hình BERT-NER 433.14 Mô hình BERT-NER với phần pre-trained BERT được giữ nguyêntrọng số 453.15 Mô hình BERT-NER giữ nguyên trọng số và mô hình BERT-NER
có tinh chỉnh 45A.1 Minh chứng bài báo được xuất bản 52A.2 Minh chứng thuyết trình tại hội nghị 52
Trang 73.1 Bảng mô tả nhãn dữ liệu 393.2 Bảng kết quả của mô hình Baseline 413.3 Bảng kết quả của mô hình BERT-NER có cập nhật trọng số trongquá trình huấn luyện 443.4 Bảng kết quả của mô hình BERT-NER không cập nhật trọng sốcủa phần mô hình BERT trong quá trình huấn luyện 44
Trang 8Từ viết tắt Ý nghĩa
AGI Artificial general intelligence
NLP natural language processing
CNN convolutional neural network
NaN Not a Number
LSTM Long short term memory
bi-LSTM bidirectional Long short term memory
Trang 91.1 Giới thiệu về Deep learning
Trước khi nói về deep learning chúng ta sẽ nói về máy học (machine learning)trước Một hệ thống máy học là một hệ thống được đào tạo thay vì được lậptrình rõ ràng Nó được trình bày với nhiều ví dụ liên quan đến một nhiệm vụ và
nó tìm thấy cấu trúc thống kê trong những ví dụ này mà cuối cùng cho phép hệthống đưa ra các quy tắc để tự động hóa nhiệm vụ [1]
Học sâu (Deep learning) là một lĩnh vực con cụ thể của máy học: một phươngpháp mới trong việc học các biểu diễn từ dữ liệu đặt trọng tâm vào việc họccác lớp liên tiếp của các biểu diễn ngày càng có ý nghĩa Chữ "deep" trong deeplearning không phải là tham chiếu đến bất kỳ loại hiểu biết sâu sắc hơn nào màphương pháp tiếp cận đạt được; đúng hơn, nó là viết tắt của ý tưởng này về cáclớp biểu diễn liên tiếp.[1]
Trong học sâu, các biểu diễn lớp này (hầu như luôn) được học thông qua các
mô hình được gọi là mạng nơ-ron (neural network), được cấu trúc theo các lớpnghĩa đen được xếp chồng lên nhau Thuật ngữ mạng lưới thần kinh là một thamchiếu đến sinh học thần kinh, nhưng mặc dù một số khái niệm trung tâm trongdeep learning được phát triển một phần bằng cách lấy cảm hứng từ hiểu biếtcủa chúng ta về não, tuy nhiên thực tế thì các mô hình học sâu không phải là
mô hình của não
Hình 1.1: Mạng nơ-ron đơn giản - hình (a) và mạng nơ-ron học sâu (Deep learning neural) - hình (b)
Trang 101.2 Giới thiệu tổng quan về bài toán trích rút thông tin từ
văn bản
Rút trích thông tin (Information extraction – IE), một nhánh nghiên cứu thiên
về rút trích thông tin ngữ nghĩa trong văn bản Từ đây, ta sẽ có nhiều ứng dụngcho nhiều domain như Web mining (rút trích tên người nổi tiếng, sản phẩmđang hot, so sánh giá sản phẩm, nghiên cứu đối thủ cạnh tranh, phân tích tâm
lý khách hàng), Biomedical, Business intelligent, Financial professional (đánhgiá thị trường từ các nguồn khác nhau: giá xăng dầu tăng giảm, thông tin chiếntranh, chính trị giữa các nước, điều luật mới trong thị trường kinh doanh), Ter-rism event (sử dụng vũ khí gì, đối tượng tấn công là ai).[2]
Sau các bước tiền xử lý thiên về từ vựng và cú pháp như tách câu, tách từ,phân tích cú pháp, gán nhãn từ loại Từ IE ta sẽ đơn giản hóa thành các bàitoán con gồm: Rút trích tên thực thể (Named entity recognition – NER: people,organization, location), phân giải đồng tham chiếu (Coreference resolution) vàRút trích quan hệ giữa hai thực thể (Relation extraction – RE) Các mô hình khithực nghiệm sẽ được đánh giá thông qua các chỉ số Precision, Recall, F1-score[3] Trong phạm vi luận văn này chúng ta sẽ chỉ tậm trung đến rút trích thực thể
Trích rút thực thể được công bố lần đầu vào năm 1995 tại MUC-6 và từ đóNER nhận được nhiều sự quan tâm từ cộng đồng Danh sách NER cũng đượcliệt kê trong MUC-6 như person, organization, location, date, time, moetary,percentages
Trích rút thực thể có 2 hướng tiếp cận: Rule-based và statistical learning
• Hướng tiếp cận Rule-based: Một tập các rule (luật) gồm các luật được địnhnghĩa sẵn hay tự động phát sinh Văn bản đầu vào sẽ đem so sánh với tậpcác luật (rule), nếu thỏa mãn thì sẽ thực hiện rút trích
Một luật như vậy gồm pattern (khuôn mẫu) và action (hành động) Patternthường là regular expression (biểu thức chính quy) định nghĩa trên tậpfeature của token Khi pattern này thỏa mãn thì action sẽ được kích hoạt.Action có thể là gán nhãn entity (thực thể) cho chuỗi token (kí tự), thêmnhãn start/end cho entity, hay xác định nhiều entity cùng lúc Ví dụ đểmatch danh từ riêng “Mr B” trong đó B là từ viết hoa ám chỉ tên người ta
Trang 11có rule như sau:
(token = ”M r.”orthographytype = F irstCap) − > personnameTuy nhiên, có khả năng sẽ bắt gặp trường hợp một chuỗi text (văn bản)match (khớp) với nhiều luật cho trước Để giải quyết việc này người tathường sắp xếp ràng buộc các rule sao cho chuỗi text sẽ được duyệt và kiểmtra trước khi action được kích hoạt
Để tự động phát sinh luật, ta có thể phân thành hướng tiếp cận top-down(từ trên xuống) và bottom-up (từ dưới lên) Tuy nhiên, ta vẫn cần gán nhãnentity cho tập dữ liệu trước Top-down sẽ định nghĩa rule tổng quát có thểmatch càng nhiều instance càng tốt, sau đó thuật toán sẽ lặp nhiều lần đểtìm tập giao của các rule tổng quát này để sinh ra các rule cụ thể hơn.Bottom-up thì định nghĩa các rule match rất ít instance trong tập dữ liệu
và dần dần tổng quát hóa lên các rule tổng quát hơn cho hệ thống
• Hướng tiếp cận Statistical learning: Đây là hướng tiếp cận được sử dụngnhiều nhất NER được chuyển về bài toán sequence labeling (chuỗi nhãn).Bài toán được định nghĩa như sau: văn bản đầu vào gồm các từ x = (x1, x2, , x n ) Với x i được biểu diễn dưới dạng vector Ta mong muốn gánnhãn yi dựa vào dữ kiện từ các xi trước đó Để gán nhãn, ta thường dùngBIO notation (trước đó dùng trong text chunking) Với mỗi entity kiểu T,
ta có hai nhãn B-T và I-T B-T là begin type T, I-T là inside type T Ngoài
ra, ta còn có nhãn O cho biết outside của thực thế Ta có thể tham khảo ví
dụ bên dưới:
Hình 1.2: Ví dụ gán nhãn BIO
Mục tiêu của luận văn này là trình bày về transfer learning và deep transferlearning, các khái niệm, tiếp cận đối với mỗi loại Transfer learning nói chung và
Trang 12Deep transfer learning kỹ thuật trong việc xây dựng mô hình máy học (machinelearning) và mô hình học sâu (deep learning) Cụ thể, tác giả đã trình bày cácđịnh nghĩa về Transfer learning, các cách tiếp cận transfer learning, các địnhnghĩa về deep transfer learning, các cách tiếp cận, tinh chỉnh mô hình Từ đótác giả đã ứng dụng vào bài toán trích rút thông tin từ tờ khai hải quan.
Qua thực nghiệm và kết quả, từ đó tác giả rút ra kết luận đối với Deep transferlearning trong giải quyết bài toán trích rút thông tin
Nội dung chính của luận văn này bao gồm 4 chương:
• Chương 1: Giới thiệu những kiến thức cơ bản về Deep learning, bài toántrích rút đặc trưng, mục tiêu nghiên cứu và cấu trúc luận văn
• Chương 2: Nội dung chương này trình bày về khái niệm và các tiếp cận cơbản cũng như xem xét, phân tích đánh giá của tác giả về Transfer learning
và Deep transfer learning
• Chương 3: Mô tả về phương pháp và mô hình tác giả sử dụng trong thựcnghiệm cũng như kết quả Từ kết quả của mô hình đưa ra những nhận xét
• Chương 4: Kết luận về những gì đạt và hướng phát triển của luận văn
Trang 13Con người có khả năng sử dụng kiến thức từ những kinh nghiệm trong quá khứkhi học một nhiệm vụ mới Nó giúp chúng ta học các kỹ năng mới trong thờigian ngắn hơn và ít nỗ lực hơn Trên thực tế, một nhiệm vụ mới càng liên quanthì chúng ta học càng nhanh Ngược lại, các thuật toán học máy thường họcnhiệm vụ từ việc khởi tạo ngẫu nhiên trên dữ liệu cô lập mà không có bất kỳkiến thức nào trước đó Transfer learning (Học chuyển giao) là nỗ lực để thayđổi cách tiếp cận này bằng cách cải thiện hiệu suất của một nhiệm vụ mới vớiviệc sử dụng kiến thức thu được để giải quyết công việc trong quá khứ [4, 5, 6].Một số ví dụ đơn giản là:
• Biết đi xe đạp điện -> Dễ dàng hơn trong việc học lái xe máy
• Biết chơi đàn piano -> Dễ dàng hơn khi học chơi một nhạc cụ khác, ví dụJazz piano
• Có nền tảng về toán học -> Dễ dàng hơn khi tìm hiểu Machine learning.Trong mỗi ví dụ trên, không phải lúc nào chúng ta cũng sẽ tìm hiểu mọi thứ từđầu mà không biết gì liên quan Chúng ta chuyển giao và tận dụng kiến thứccủa mình từ những gì mình đã học và biết trong quá khứ để áp dụng vào vấn đềmới có chút tương tự
Torrey and Shavlik [7] đã chỉ ra rằng transfer learning có thể cải thiện hiệusuất như thế nào:
• Cải thiện hiệu suất ban đầu khi bắt đầu đào tạo so với mô hình được khởitạo ngẫu nhiên khi các nhiệm vụ tương tự nhau;
• Rút ngắn thời gian cần thiết để đạt được hiệu suất tối đa;
• Cải thiện mức hiệu suất cuối cùng (có thể là độ chính xác, f1-score, các tiêuchí đánh giá, ) so với đào tạo mô hình mà không chuyển giao (transfer)
Trang 142.1 Giới thiệu Transfer learning
Với cơn sốt về Trí tuệ nhân tạo, transfer learning là điều mà các nhà khoa học
và nhà nghiên cứu dữ liệu tin rằng có thể giúp chúng ta tiến xa hơn đối với AGI.Trên thực tế, Andrew Ng, giáo sư và là nhà khoa học dữ liệu nổi tiếng, đã giớithiệu một bài hướng dẫn tại hội nghị NIPS 2016 có tên là “Nuts and bolts
of building AI applications using Deep Learning” đã nhắc đến Transferlearning như sau: “After supervised learning — Transfer Learning will be the nextdriver of Machine Learning commercial success” Dịch nghĩa là: “Sau học giámsát - Transfer Learning sẽ là động lực tiếp theo cho thành công thương mại củahọc máy
Trên thực tế, transfer learning không phải là một khái niệm mới, nó đã xuấthiện trong những năm 2010 Các khái niệm learning to learn, knowledge con-solidation (củng cố kiến thức), inductive transfer được sử dụng như là transferlearning kể từ sau workshop NIPS 1995 Cũng như vậy, các nhà nghiên cứu vàcác cuốn sách học thuật khác nhau cung cấp các định nghĩa về transfer laern-ing khác nhau Trong cuốn sách về deep learning nổi tiếng, “Deep learning”, củaGoodfellow và cộng sự [8] đã đề cập đến việc học chuyển giao trong bối cảnh kháiquát hóa Định nghĩa của họ như sau: “Situation where what has been learned inone setting is exploited to improve generalization in another setting.” Dịch nghĩalà: “Tình huống mà những gì đã học được trong một bối cảnh được khai thác đểcải thiện khả năng khái quát hóa trong một bối cảnh khác.”
Trong bối cảnh mà hầu hết các mô hình deep learning giải quyết các vấn đềphức tạp và cần rất nhiều dữ liệu Việc có một lượng lớn dữ liệu được gắn nhãn
để học có giám sát (Supervised learning) thực sự là khó khăn Một ví dụ, tập
dữ liệu ImageNet [9], có hàng triệu hình ảnh của các danh mục khác nhau nhờnhiêu năm thu thập dữ liệu của Stanford (từ 2009 đến nay)
Hình 2.1: Thử thách của ImageNet dựa trên tập dữ liệu ImageNet
Trang 15Tuy nhiên, để có được một tập dữ liệu lớn như vậy để huấn luyện cho mọibài toán là một việc khó khăn Bên cạnh đó, hầu hết các mô hình học sâu đềurất chuyên biệt cho một miền dữ liệu cụ thể hoặc thậm chí một nhiệm vụ cụthể Mặc dù đấy có thể là những mô hình hiện đại nhất (state-of-the-art), với
độ chính xác cao và đánh bại tất cả các điểm chuẩn, nhưng nó chỉ nằm trên cáctập dữ liệu rất cụ thể và cuối cùng sẽ bị giảm hiệu suất rõ rệt khi được sử dụngtrong một tác vụ mới, các tác vụ đó có thể tương tự cho một trong những nó đãđược đào tạo về Điều này hình thành động lực cho việc học chuyển giao, vượt
ra ngoài các nhiệm vụ và lĩnh vực cụ thể, đồng thời cố gắng xem cách tận dụngkiến thức từ các mô hình được đào tạo trước và sử dụng kiến thức đó để giảiquyết các vấn đề mới
Điều đầu tiên cần phải nhớ rằng transfer learning không phải khái niệm mới
mà nó rất cụ thể với máy học và học sâu Có một sự khác biệt rõ rệt giữa cáchtiếp cận truyền thống là xây dựng và đào tạo các mô hình máy học và sử dụngphương pháp luận tuân theo các nguyên tắc transfer learning (học tập chuyểngiao)
Hình 2.2: Mô hình máy học truyền thống (bên trái) và mô hình tuân theo nguyên tắc transfer learning
Học tập truyền thống được tách biệt và hoàn toàn dựa trên các nhiệm vụ cụ thể,
bộ dữ liệu và đào tạo các mô hình biệt lập riêng biệt trên chúng Không có kiếnthức nào được giữ lại hoặc được tận dụng mà có thể được chuyển từ mô hình
Trang 16này sang mô hình khác Trong transfer learning, bạn có thể tận dụng kiến thức(tính năng, trọng số, ) từ các mô hình đã được đào tạo trước đó để đào tạocác mô hình mới hơn và thậm chí giải quyết các vấn đề như có ít dữ liệu hơncho nhiệm vụ mới hơn.
Tác giả sẽ lấy một ví dụ, giả sử nhiệm vụ của chúng ta là xác định các đốitượng trong hình ảnh trong phạm vi hạn chế của nhà hàng, kí hiệu nhiệm vụnày là T 1 Cho một tập dữ liệu đối với nhiệm vụ này, chúng ta đào tạo một
mô hình và điều chỉnh nó để hoạt động tốt (tổng quát hóa) trên các điểm dữliệu không nhìn thấy từ cùng một miền (nhà hàng) Các thuật toán ML học cógiám sát truyền thống bị hỏng khi chúng tôi không có đủ các ví dụ đào tạo chocác tác vụ bắt buộc trong các miền nhất định Giả sử, bây giờ chúng ta phảiphát hiện các đối tượng từ hình ảnh trong công viên hoặc quán cà phê (ví dụ,nhiệm vụ T 2) Lý tưởng nhất là chúng ta có thể áp dụng mô hình được đào tạocho T 1, nhưng trên thực tế, chúng ta phải đối mặt với sự sụt giảm hiệu suất vàcác mô hình không tổng quát hóa tốt Điều này xảy ra vì nhiều lý do, mà chúng
ta có thể gọi chung là thiên vị (bias) của mô hình đối với miền và dữ liệu đào tạo
Transfer learning sẽ cho phép chúng ta sử dụng kiến thức từ các nhiệm vụ đãhọc trước đó và áp dụng chúng vào những nhiệm vụ mới hơn, có liên quan Nếuchúng ta có nhiều dữ liệu hơn đáng kể cho nhiệm vụT 1, chúng ta có thể sử dụngcách học của nó và khái quát hóa kiến thức này (tính năng, trọng số, ) cho tác
vụ T 2 (có ít dữ liệu hơn rất nhiều so với T 1) Ngoài ra, như hình 2.2 đã mô tả,kiến thức từ một nhiệm vụ hiện có đóng vai trò như một đầu vào bổ sung khihọc một nhiệm vụ mục tiêu mới
Có khá nhiều cách định nghĩa về Transfer learning ở các tài liệu khác nhau.Tuy nhiên trong phạm vi luận văn này, tác giả sẽ sử dụng cách định nghĩa củacác tác giả Pan và Yang trong [10] Họ sử dụng domain, task, xác suất biên đểtrình bày việc học chuyển giao Nó được mô tả như sau:
Một miền(domain), D, được định nghĩa bởi hai bộ phận bao gồm không gianđặc trưng,X, và xác suất biênP (X), với X là một điểm dữ liệu mẫu Ta có thểbiểu diễn miền theo phương pháp toán học là D = {X , P (X)} Trong đó X làkhông gian đặc trưng, P (X), X = {x 1 , , xn}, xi∈ X
Với xi được biểu diễn dưới dạng vector, một nhiệm vụ, T, có thể được địnhnghĩa bởi một cặp phần tử không gian nhãn γ và hàm mục tiêu η Hàm mục
Trang 17• Với mỗi vector đặc trưng trong miền,η dự đoán nhãn tương ứng:η(x i ) = y i
Với những định nghĩa và cách biểu diễn này chúng ta có thể định nghĩa fer learning như sau:
trans-Cho một miền nguồn (source domain) DS, một nhiệm vụ nguồn (source task)
TS, cũng như một nguồn mục tiêu (target domain) DT và nhiệm vụ mục tiêu
TT, mục tiêu của transfer learning là cho phép chúng ta tìm hiểu phân phối xácsuất có điều kiện P (YT|XT) trong DT với thông tin thu được DS và T S với
DS 6= hoặc TS 6= T T Trong hầu hết trường hợp số lượng nhãn của mục tiêucũng là ít hơn so với nhãn gốc
Chúng ta sẽ xem xét các tình huống điển hình có thể xảy ra liên quanđến transfer learning Cho miền nguồn và miền mục tiêu là DS và DT, với
D = {X , P (X)} và các nhiệm vụ nguồn và mục tiêu là TS và DT, với T = {Y, P (Y |X)}, điều kiện nguồn và mục tiêu có thể khác nhau theo các kịch bảnsau:
1 XS 6= XT Không gian đặc trưng của miền nguồn và miền mục tiêu là khácnhau Ví dụ: một tài liệu được viên bởi hai ngôn ngữ khác nhau Trong ngữcảnh của xử lý ngôn ngữ tự nhiên, Điều này thường được gọi là thích ứng
đa ngôn ngữ (cross-lingual adaptation)
2 P (X S ) 6= P (X T ) Phân phối xác suất biên của miền nguồn và miền mụctiêu là khác nhau Ví dụ: các tài liệu thảo luận về các chủ đề khác nhau
3 YS 6= Y T Không gian nhãn giữa hai nhiệm vụ là khác nhau
4 P (Y S |XS) 6= P (Y T |XT) Phân phối xác suất có điều kiện của nhiệm vụnguồn và nhiệm vụ mục tiêu là khác nhau
Trang 18Định nghĩa một cách đơn giản hơn về học chuyển giao là việc tận dụng hiểubiết đã có ở một nhiệm vụ nguồn để ứng dụng vào một nhiệm vụ mà chúng tahướng đến Trong suốt quá trình thực hiện transfer learning (học chuyển giao)chúng ta cần trở lời các câu hỏi quan trọng sau:
• Chuyển giao cái gì: Đây là câu hỏi đầu tiên, nó rất quan trọng Cần phảixác định được phần kiến thức nào được chuyển giao từ nhiệm vụ nguồn đếnnhiệm vụ mục tiêu Chúng ta cũng phải phân biệt rõ phần kiến thức nào làchung, là riêng giữa hai nhiệm vụ
• Chuyển giao khi nào: Không phải lúc nào việc chuyển giao cũng là tốt.Mục đích của việc chuyển giao là để cải thiện hiệu năng của nhiệm vụ mụctiêu, do đó cần phải thận trọng về khi nào chuyển giao hoặc không
• Chuyển giao như thế nào: Khi trả lời được hai câu hỏi trên thì chúng
ta có thể tiến hành xác định các cách chuyển giao kiến thức trên các miền/nhiệm vụ Điều này sẽ được tác giả trình bày ở các phần sau
và mục tiêu khác với nhau Ví dụ cùng chung tập dữ liệu là các nhận xét
về phim, nhưng nhiệm vụ nguồn và mục tiêu lần lượt là phân loại cảm xúctích cực hay tiêu cực và phát hiện bình luận có tiết lộ các thông tin về cảnhphim không
• Học chuyển giao không giám sát (Unsupervised transfer learning):Cài đặt này tương tự như tự chuyển giao quy nạp, tập trung vào các tác vụkhông được giám sát trong miền mục tiêu Miền nguồn và miền mục tiêutương tự nhau, nhưng các nhiệm vụ khác nhau Trong trường hợp này, dữliệu được gắn nhãn không có sẵn trong một trong hai miền
• Học chuyển giao chuyển đổi (Transductive transfer learning): Trongtrường hợp này, sẽ có điểm chung giữa nhiệm vụ nguồn và nhiệm vụ mụctiêu, nhưng miền là khác nhau Trong cài đặt này, miền nguồn có nhiều dữliệu được gắn nhãn, trong khi miền mục tiêu không có
Trang 19Ba loại transfer learning được phác thảo các cài đặt khác nhau nơi transferlearning có thể được áp dụng và được nghiên cứu chi tiết Để trả lời câu hỏichuyển những gì qua các danh mục này, có thể áp dụng một số cách tiếp cậnsau:
• Chuyển giao phiên bản: Sử dụng lại kiến thức từ miền nguồn cho tác vụmục tiêu thường là một kịch bản lý tưởng Trong hầu hết các trường hợp,
dữ liệu miền nguồn không thể được sử dụng lại trực tiếp Thay vào đó, cómột số trường hợp nhất định từ miền nguồn có thể được sử dụng lại kếtcùng với dữ liệu mục tiêu để cải thiện kết quả ở nhiệm vụ mục tiêu
• Chuyển giao đại diện tính năng: Cách tiếp cận này nhằm mục đích giảmthiểu phân kỳ miền và giảm tỷ lệ lỗi bằng cách xác định các biểu diễn tínhnăng tốt có thể được sử dụng từ miền nguồn đến miền mục tiêu Điều nàyhay thấy trong các mạng CNN gồm nhiều layer xử lý nhằm mục đích tríchrút các đặc điểm riêng biệt của bức ảnh
• Chuyển giao tham số: Cách tiếp cận này hoạt động dựa trên giả địnhrằng các mô hình cho các tác vụ liên quan chia sẻ một số tham số hoặc phânphối trước các siêu tham số (hyperparameter)
• Chuyển giao kiến thức quan hệ: Không giống như ba cách tiếp cậntrước, truyền tri thức-quan hệ cố gắng xử lý dữ liệu không phải dữ liệu độclập và được phân phối giống nhau (IID Data), chẳng hạn như dữ liệu khôngđộc lập và được phân phối giống hệt nhau Nói cách khác, dữ liệu, trong đómỗi điểm dữ liệu có mối quan hệ với các điểm dữ liệu khác; chẳng hạn, dữliệu mạng xã hội sử dụng các kỹ thuật chuyển giao tri thức-quan hệ
Transfer learning (học chuyển giao) được sử dụng cho cả máy học (machinelearning) và học sâu (deep learning)
Hình 2.3: Học chuyển giao trong Deep learning
Trang 20Hình 2.4: Ý tưởng của học chuyển giao
Học sâu đã đạt được những tiến bộ đáng kể trong những năm gần đây Điềunày đã giúp chúng ta giải quyết các vấn đề phức tạp và mang lại kết quả đángkinh ngạc trong nhiều lĩnh vực Tuy nhiên, thời gian đào tạo và số lượng dữ liệucần thiết cho các hệ thống học sâu như vậy nhiều hơn so với các hệ thống máyhọc truyền thống Có nhiều mạng học sâu khác nhau với hiệu năng tốt nhất (đôikhi tốt hoặc thậm chí tốt hơn hiệu suất của con người) đã được phát triển vàthử nghiệm trên các lĩnh vực như thị giác máy tính và xử lý ngôn ngữ tự nhiên(NLP) Trong hầu hết các trường hợp, các nhóm tác giả hoặc tác giả sẽ chia sẻthông tin chi tiết của các mô hình này cho những người khác sử dụng Các môhình được đào tạo trước này hình thành nền tảng của việc học chuyển giao trongbối cảnh học tập sâu, hay được gọi là “deep transfer learning (học chuyểngiao sâu)” Có thể hiểu đơn giản, transfer learning trong deep learning thì đượcgọi là deep transfer learning
Có hai chiến lược phổ biến nhất cho deep transfer learning: Các mô hình đượcđào tạo trước có sẵn dưới dạng bộ trích xuất tính năng và tinh chỉnh các mô hình
đã được đào tạo trước
2.4.1 Các mô hình được đào tạo trước có sẵn dưới dạng bộ trích xuất tính
năng
Hệ thống và mô hình học sâu là kiến trúc phân lớp học các tính năng khác nhau
ở các lớp khác nhau (biểu diễn phân cấp của các tính năng phân lớp) Các lớpnày sau đó cuối cùng được kết nối với một lớp cuối cùng (thường là một lớp đượckết nối đầy đủ (fully connected layer), trong trường hợp học có giám sát) để cóđược đầu ra cuối cùng Kiến trúc phân lớp này cho phép chúng tôi sử dụng một
Trang 21mạng được đào tạo trước (chẳng hạn như Inception V3 [11] hoặc VGG [12]) màkhông có lớp cuối cùng của nó như một trình trích xuất tính năng cố định chocác tác vụ khác.
Hình 2.5: Deep transfer learrning với các mô hình học sâu được đào tạo trước dưới dạng trình trích xuất đặc trưng
Ý tưởng chính ở đây là chỉ tận dụng các lớp và trọng số trong các lớp này của
mô hình được đào tạo trước để trích xuất các tính năng nhưng không cập nhậttrọng số của các lớp trong mô hình suốt quá trình đào tạo với dữ liệu mới chonhiệm vụ mới
Hình 2.6: Hiệu năng của các mô hình được đào tạo sẵn (off-the-shelf pre-trained model)
với những mô hình học sâu tập trung vào từng nhiệm vụ chuyên biệt
Dựa trên các thanh màu đỏ và hồng trong hình trên, có thể thấy rõ rằng cáctính năng từ các mô hình được đào tạo trước (off-the-shelf pre-trained model)
Trang 22hầu hết có hiệu năng vượt trội hơn so với các mô hình học sâu tập trung vàonhững nhiệm vụ rất chuyên biệt Do đó việc các mô hình được đào tạo trước cósẵn dưới dạng bộ trích xuất tính năng là hoàn toàn khả thi để tận dụng nhữngkiến thức thu được trước đo từ nhiệm vụ có liên quan và ứng dụng vào các tác
vụ mới
2.4.2 Tinh chỉnh các mô hình đã được đào tạo trước
Đây là một chiến lược liên quan đến kỹ thuật, trong đó chúng ta không chỉ thaythế lớp cuối cùng của một mô hình nhằm mục đích nào đó (phân loại/ hồi quy),
mà chúng ta còn đào tạo lại một cách có chọn lọc một số lớp trước đó Mạngnơ-ron sâu (deep neural network) là những kiến trúc có thể cấu hình cao vớinhiều siêu tham số (hyperparameter) khác nhau Các mạng học sâu có các lớpban đầu đã được nhìn thấy để nắm bắt các tính năng chung, trong khi các lớpsau tập trung nhiều hơn vào nhiệm vụ cụ thể như phân loại, phân cụm, hồi quy,
Một ví dụ được mô tả trong hình sau về vấn đề nhận dạng khuôn mặt, trong
đó các lớp thấp hơn ban đầu của mạng học các tính năng rất chung chung vàcác lớp cao hơn học các tính năng rất cụ thể cho từng tác vụ
Hình 2.7: Ví dụ mạng nhận dạng khuôn mặt các lớp trước để trích đặc trưng
Bằng cách sử dụng thông tin chi tiết này, chúng ta có thể đóng băng (freeze)hay có thể gọi là giữ nguyên trọng số (fix weight) một số lớp nhất định trong khiđào tạo lại hoặc tinh chỉnh phần còn lại của chúng cho phù hợp với nhu cầu củachúng ta Trong trường hợp này, chúng ta sử dụng kiến thức về kiến trúc tổng
Trang 23thể của mạng và sử dụng các trạng thái của nó làm điểm khởi đầu cho bước đàotạo lại của chúng tôi Điều này sẽ giúp chúng ta đạt được hiệu suất tốt hơn vớithời gian đào tạo ngắn hơn Điều này dễ hiểu vì việc tận dụng từ một mô hình
đã được đào tạo trước cho tác vụ có liên quan sẽ tốt hơn là khởi tạo trọng sốngẫn nhiên
Giữ nguyên trọng số hay tinh chỉnh ?
Điều này đưa chúng ta đến câu hỏi, chúng ta có nên đóng băng (freeze) các lớptrong mạng để sử dụng chúng làm trình trích xuất tính năng hay chúng ta cũngnên tinh chỉnh (fine tune) các lớp?
Hình 2.8: Giữ trọng số hay tinh chỉnh
Thực sự thì đây là một câu hỏi khó, vì tùy từng nhiệm vụ và bài toán mà ta
có thể áp dụng khác nhau
2.4.3 Các mô hình đã huấn luyện trước
Một trong những yêu cầu cơ bản đối với việc học chuyển giao là sự hiện diệncủa các mô hình thực hiện tốt các nhiệm vụ nguồn Như đã trình bay ở phần2.4, học sâu có sự chia sẻ từ các nhà khoa học và các tác giả của các công trìnhtrong lĩnh vực này Nhiều kiến trúc học sâu hiện đại đã được chia sẻ cởi mở bởicác nhóm tác giả của chúng Các mô hình được huấn luyện lại thường được chia
sẻ dưới dạng hàng triệu tham số/ trọng số mà mô hình đạt được trong khi đượchuấn luyện đến trạng thái ổn định Các mô hình được đào tạo sẵn có sẵn chomọi người sử dụng thông qua các cách khác nhau Thư viện Python học sâu nổitiếng, keras, tensorflow được tài trợ bởi Google và nhiều công ty, tập đoàn lớntrong lĩnh vực khoa học Thư viện này cung cấp một số mô hình đã huấn luyện
Trang 24trước có thể tải xuống Hoặc cũng có thể truy cập các mô hình được đào tạotrước từ web vì hầu hết chúng đều có nguồn mở.
Ví dụ đối với các tác vụ xử lý ngôn ngữ tự nhiên, mọi thứ trở nên khó khănhơn do tính chất đa dạng của các tác vụ NLP Chúng ta có thể tận dụng các bộnhúng từ (word embedding) như :
- Word2Vec [13]
- BERT [14]
-
Tài liệu về transfer learning đã trải qua rất nhiều lần lặp lại, và như đã đề cập
ở đầu chương này, các thuật ngữ liên quan đến nó đã được sử dụng một cách vô
tư và thường thay thế cho nhau Do đó, đôi khi thật khó hiểu khi phân biệt giữatransfer learning (học chuyển giao), thích ứng miền (domain adaptation) và học
đa tác vụ (multi-task learning)
Nói chung, chúng ta nên nghĩ về transfer learning như một khái niệm hoặcnguyên tắc chung, trong đó chúng ta sẽ cố gắng giải quyết một nhiệm vụ mụctiêu bằng cách sử dụng kiến thức miền tác vụ nguồn
2.5.1 Thích ứng miền
Thích ứng miền (domain adaptation) được đề cập đến trong các tình huống màxác suất cận biên giữa miền nguồn và miền mục tiêu là khác nhau, P (XS) 6=
P (XT) Có một sự thay đổi hoặc trong việc phân phối dữ liệu của miền nguồn
và miền mục tiêu yêu cầu các chỉnh sửa để chuyển giao việc học
Ví dụ: một tập hợp các bài đánh giá phim được gắn nhãn là tích cực hoặctiêu cực sẽ khác với một tập hợp các ý kiến đánh giá sản phẩm Một bộ phânloại được đào tạo về tình cảm đánh giá phim sẽ thấy một phân phối khác nếuđược sử dụng để phân loại các bài đánh giá sản phẩm Do đó, các kỹ thuật thíchứng miền được sử dụng trong việc học chuyển giao trong các tình huống này
Trang 252.5.2 Nhầm lẫn tên miền
Vì intermediate feature ở mỗi layer mang các thông tin khác nhau (output củalayer đầu thường mang thông tin cạnh, texture, trong khi output của layer cuốimang thông tin tổng quát hóa về bài toán v.v.) dẫn đến ta hoàn toàn có thể tậndụng features ở các layer khác nhau (Không nhất thiết phải là ở layer gần cuối)
Việc tận dụng các intermediate feature này có thể giúp học các features cóthể dùng cho nhiều domain khác nhau (domain-invariant) Ý tưởng cơ bản làthêm các hàm los để mô hình gốc học các đặc tính chung giữa các domain khácnhau nhiều hơn [15]
2.5.3 Học đa tác vụ
Học đa tác vụ là một loại hơi khác của lĩnh vực của transfer learning Trongtrường hợp học đa tác vụ, một số tác vụ được học đồng thời mà không có sựphân biệt giữa nguồn và mục tiêu Trong trường hợp này, mô hình học nhậnđược thông tin về nhiều nhiệm vụ cùng một lúc, so với việc transfer learning,trong đó người học ban đầu không có ý tưởng về nhiệm vụ mục tiêu Điều nàyđược mô tả trong hình sau
Hình 2.9: Học đa nhiệm nhận thông tin từ tất cả các nhiệm vụ đồng thời
Trang 26Ngoài học một lần ra, còn có cả không học lần nào (Zero-short learning) làmột trường hợp đặc biệt khác của transfer learning, dựa vào các ví dụ không cónhãn để học một nhiệm vụ Ví dụ như nhận dạng bạn A, khi thuật toán chưa
hề huấn luyện với dữ liệu của A bao giờ cả
Như đã nhắc đến ở các phần trên, transfer learning (học chuyển giao) và deeptransfer learning (học chuyển giao sâu) cho phép chúng tôi xây dựng các mô hìnhmạnh mẽ hơn có thể thực hiện nhiều tác vụ khác nhau
• Giúp giải quyết các vấn đề phức tạp trong thế giới thực với một số ràngbuộc
• Giải quyết các vấn đề như có ít hoặc hầu như không có dữ liệu được gắnnhãn sẵn có
• Dễ dàng chuyển giao kiến thức từ mô hình này sang mô hình khác dựa trêncác lĩnh vực và nhiệm vụ
Transfer learning có tiềm năng to lớn và là một cải tiến thường được yêu cầu đốivới các thuật toán học hiện có Tuy nhiên, có một số vấn đề liên quan đến việcTransfer learning cần được nghiên cứu và khám phá thêm Ngoài khó khăn trongviệc trả lời các câu hỏi chuyển khoản cái gì, khi nào và bằng cách nào, trườnghợp nào không nên chuyển giao và giới hạn chuyển nhượng cũng là những tháchthức lớn
• Trường hợp nào không nên chuyển giao (negative transfer): Cónhững trường hợp transfer learning có thể dẫn đến giảm hiệu suất Trường
Trang 27hợp nào không nên chuyển giao đề cập đến các tình huống trong đó việcchuyển giao kiến thức từ nguồn đến mục tiêu không dẫn đến bất kỳ sự cảithiện nào, mà là nguyên nhân làm giảm hiệu suất tổng thể của nhiệm vụmục tiêu Có thể có nhiều lý do khác nhau dẫn đến chuyển giao tiêu cực,chẳng hạn như các trường hợp khi nhiệm vụ nguồn không liên quan đầy
đủ đến nhiệm vụ mục tiêu, hoặc nếu phương pháp chuyển giao không thểtận dụng tốt mối quan hệ giữa nhiệm vụ nguồn và nhiệm vụ mục tiêu Việctránh chuyển giao tiêu cực là rất quan trọng và cần được kiểm tra cẩn thận
• Giới hạn chuyển giao (Transfer bounds): Định lượng sự chuyển giaotrong transfer learning cũng rất quan trọng, nó ảnh hưởng đến chất lượngcủa việc chuyển giao và khả năng tồn tại của nó
Học sâu chắc chắn là một trong những loại thuật toán cụ thể đã được sử dụng đểgặt hái những lợi ích của transfer learning nói chung và deep transfer nói riêng.Sau đây là một vài ví dụ:
• Transfer learning cho xử lý ngôn ngữ tự nhiên: Dữ liệu văn bản đưa
ra đủ loại thách thức khi sử dụng trong ML và DL Chúng thường đượcchuyển đổi hoặc vector hóa bằng các kỹ thuật khác nhau Nhúng từ, chẳnghạn như Word2vec, đã được chuẩn bị bằng cách sử dụng các bộ dữ liệu đàotạo khác nhau Chúng được sử dụng trong các nhiệm vụ khác nhau, chẳnghạn như phân tích tình cảm và phân loại tài liệu, bằng cách chuyển kiếnthức từ các tác vụ nguồn Bên cạnh đó, các mô hình mới hơn như Bộ mãhóa câu đa năng và BERT chắc chắn cung cấp vô số khả năng cho tươnglai
• Transfer learning cho xử lý âm thanh, giọng nói: Tương tự như cácmiền như NLP và Computer Vision, học sâu đã được sử dụng thành côngcho các tác vụ dựa trên dữ liệu âm thanh Ví dụ: các mô hình Nhận dạnggiọng nói tự động (ASR) được phát triển cho tiếng Anh đã được sử dụngthành công để cải thiện hiệu suất nhận dạng giọng nói cho các ngôn ngữkhác, chẳng hạn như tiếng Việt Ngoài ra, nhận dạng người nói tự động làmột ví dụ khác cho thấy việc học chuyển giao đã giúp ích rất nhiều
• Transfer learning cho thị giác máy tính: Học sâu đã được sử dụng kháthành công cho các nhiệm vụ thị giác máy tính khác nhau, chẳng hạn nhưnhận dạng và nhận dạng đối tượng, sử dụng các kiến trúc CNN khác nhau
Trang 28Ví dụ trong bài báo này [17], họ trình bày những phát hiện của họ về cáchcác lớp dưới hoạt động như bộ trích xuất tính năng thị giác máy tính thôngthường, chẳng hạn như như các công cụ phát hiện cạnh, trong khi các lớpcuối cùng hoạt động hướng tới các tính năng dành riêng cho tác vụ.
Trang 293.1 Bài toán trích rút thông tin từ tờ khai hải quan
Tờ khai hải quan là một loại văn bản mà theo đó người chủ của hàng hóa phải
kê khai số hàng hóa đó cho bên lực lượng kiểm soát khi xuất nhập khẩu hànghóa Mỗi tờ khai sẽ gồm nhiều mục, trong đó có phần mô tả hàng hóa là mộtđoạn mô tả về thông tin của hàng hóa
Hình 3.1: Mô tả hàng hóa
Dựa vào mô tả trên hàng hóa, hải quan sẽ phải đọc và kiểm tra xem phần mô
tả có khớp với hàng hóa không Tuy nhiên tùy từng loại hàng hóa mà có một
số thông tin quan trọng sẽ được hải quan tập trung thay vì toàn bộ mô tả Việcnày giúp quá trình kiểm tra nhanh và hàng hóa được thông quan nhanh chóngthay vì mất thời gian kiểm tra thủ công Do đó việc trích rút thông tin mô tảhàng hóa là một việc quan trọng
Trong nội dung luận văn này, tác giả sẽ trình bày sử dụng deep transfer learningcho bài toán trích rút thông tin từ văn bản, cụ thể là từ mô tả hàng hóa từ tờ
Trang 30khai hải quan đối với mặt hàng là xe cộ, bao gồm ô tô, các loại phương tiện trừphương tiện chạy trên đường sắt và tàu điện.
Kiến trúc của hệ thống được mô tả ở hình 3.2 dưới đây:
Hình 3.2: Kiến trúc tổng quan
Trong bước đầu tiên (Xác định thành phần văn bản), hệ thống sẽ phân tích
mô tả thành các câu văn Ở bước thứ hai, mô hình nhận diện thực thể là cácthông tin trong mô tả Kỹ thuật học chuyển giao được sử dụng hiệu quả nhấttrong bước này giúp mô hình tìm kiếm và trích xuất các thông tin trong các câu.Tác giả sẽ xây dựng một mô hình baseline (cơ sở) từ đầu để so sánh việc có sửdụng và không sử dụng Transfer learning khi tiếp cận bài toán này Ngoài ra,tác giả sẽ sử dụng mô hình pre-trained đa ngôn ngữ là mô hình BERT [18] và ápdụng nó cho bài toán này BERT là mô hình biểu diễn hai chiều cho ngôn ngữ
Mô hình này đã được xây dựng dựa trên kiến trúc Transformer với nền tảng là
cơ chế attention Các kết quả từ khi công bố đến giờ đều cho thấy các kết quả ấntượng của mô hình này với các bộ dữ liệu quan trọng của xử lý ngôn ngữ tự nhiên
Để hiểu rõ hơn về các thành phần trong mô hình cơ sở (baseline model) và
mô hình BERT tác giả sẽ trình bày lý thuyết về các khái niệm dưới đây