?
QUA
5.1 Môi trường hệ thong
5.1.1 Các công cu, thư viện hỗ trợ
Ngôn ngữ lập trình chính được sử dụng là Python, phiên bản 3.6.0
Các thư viện, công cụ hỗ trợ chính:
© Pytorch: Pytorch là framework được phát triển bởi Facebook, do được phát
triển với giấy phép mã nguồn mở nên nó tạo được cho mình một cộng đồng rất lớn. Pytorch cùng với Tensorflow và Keras là một trong những framework phổ biến được sử dụng trong các bài toán về Deep Learning hiện nay. Pytorch
có khả năng thay thế cho bộ thư viện Numpy để tận dụng sức mạnh tính toán của GPU. Đối tượng chính của pytorch hướng đến là Tensor, Tensor cũng giống như Numpy array nhưng được chuyển sang tensor để sử dụng tính toán trên
GPU, do đó Pytorch hỗ trợ nhiều các thao tác tính toán, xử lý trên các tensor.
Pytorch cho phép người dùng có thể sử dụng các Pretrained model đã được huấn luyện trước với những thao tác đơn giản, các pretrained model có sẵn rất
đa dạng và có thể phục vụ nhiều bài toán khác nhau. Ngoài ra Pytorch cũng
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 70
cung cấp nhiều công cụ hiệu quả cho các bài toán Computer Vision như tải lên
dữ liệu huấn luyện, các thư viện để tăng cường dữ liệu ảnh,...
Ưu điểm:
— Mang lại khả năng debug dé dang hơn theo hướng interactively, rat nhiều
nhà nghiên cứu và engineer đã dùng cả pytorch và tensorflow đều đánh giá cáo pytorch hơn trong vấn dé debug va visualize.
- Hỗ trợ tốt Dynamic graphs.
- Được phát triển bởi đội ngũ Facebook.
- Kết hợp cả các API cấp cao và cấp thấp.
— Mang lại sự linh hoạt và tốc độ
Nhược điểm: Vẫn chưa được hoàn thiện trong việc deploy, áp dụng cho các hệ thống lớn,... được như framework ra đời trước nó là Tensorflow
¢ Transformers: Transformer là một thư viện mã nguồn mở được khởi đầu bởi
HuggingFace. Transformers xây dựng được một cộng đồng lớn, nghiên cứu học hỏi và đóng góp với nhau. Transformers tập trung chính vào các van dé liên quan đến Xử lí ngôn ngữ tự nhiên (NLP), hiểu ngôn ngữ tự nhiên (NLU)
va sinh ngôn ngữ tự nhién(NLG). Là một trong những thư viện hiện đại và
được sử dụng phổ biến nhất, hiện nay, transformers hỗ trợ hơn 30 mô hình ngôn ngữ cho hơn 100 ngôn ngữ khác nhau, các mô hình hiện đại có thể kể đến như: BERT, RoBERTa, GPT2, XLNet,... Với những mô hình ngôn ngữ được cung cấp bởi Transformers ta có thể giải quyết hầu hết các tác vụ liên quan đến NLP hoặc sử dụng để giúp giải quyết những bài toán khác nhau, ví dụ: phân loại văn bản, cảm xúc văn bản, hệ thống trả lời câu hỏi, sinh câu, tóm tắt
văn bản,... Hiện tại, Transformers đã hỗ trợ cho các framework như Pytorch
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 71
và Tensorflow 2.0. Mô hình ngôn ngữ cho Tiếng Việt là PhoBERT chúng tôi sử dụng trong đề tài này cũng được cung cấp bởi Transformers.
Phiên bản các thư viện, công cụ hỗ trợ chính:
® Pytorch: Phiên bản 1.6.0
¢ Transformers: Phiên bản 3.5.1
5.1.2 Cau hình máy thực nghiệm
Trong suốt thời gian thực hiện để tài khóa luận, các huấn luyện, thử nghiệm đều được thực hiện trên máy ảo GPU do Google cung cấp (Google Colaboratory) Cau hình máy thường được Google cấp là:
e GPU: Tesla T4
e Phiên ban CUDA : 10.1
® RAM 13 GB
5.2 Các độ đo đánh giá
Như đã đề cập ở chương 1 phần thách thức của bài toán phát sinh thơ từ ảnh chính là về độ đo đánh giá. Hiện nay vẫn chưa có một độ đo tự động nào đủ sức thuyết phục và tạo sự tin tưởng tuyệt đối cho kết quả bài toán. Các độ đo thường dùng để đánh giá tự động kết quả văn bản được sinh ra từ mô hình có thể kể đến như độ đo BLEU,... Tuy nhiên vẻ tinh chất của các độ đo này sẽ cho điểm dựa trên
so sánh giữa kết quả sinh được từ mô hình với kết quả tham chiếu (thực tế) của của
nó.
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 72
5.2.1 Dé đo BLEU
Độ do BLEU (BiLingual Evaluation Understudy) được dé xuất năm 2002 bởi
nhóm tác giả Papineni. La một độ đo sử dung trong bài toán dịch may (Machine
Translation), độ đo BLEU vẫn thường được sử dụng nhiều trong các bài toán liên quan đến phát sinh ngôn ngữ cụ thể như bài toán phát sinh chú thích từ ảnh (Image Captioning). Độ do BLEU sé lay tham chiếu của một câu (groundtruth) làm chuẩn
để so sánh với câu được sinh ra từ mô hình. Nếu kết quả của câu sinh ra bởi mô hình càng giống với groundtruth thì độ đo BLEU sẽ càng lớn.
BLEU được tính bằng cách so sánh số lượng từ, cụm từ hay còn gọi là các chuỗi n-gram (các chuỗi liên tiếp n từ trong câu) cùng xuất hiện trong câu sinh ra bởi mô hình và câu tham chiếu (groundtruth) của nó.
Công thức tính tính độ chính xác precision theo n-gram:
m(n_gram) (5)
ys c(n_gram)
Với: m là số từ cùng xuất hiện trong câu output va câu groundtruth c là độ dài
của câu output xét theo n-gram
Ví dụ 1, xét 2 câu sau:
¢ Output: the dog sit on the mat
¢ Groundtruth: the cat sit on the mat
Xét n_gram với n = 1 thì 2 câu trên sẽ có 6 từ 1_gram, cu thé:
¢ Output: the, cat, sit, on, the, mat
¢ Groundtruth: the, dog, sit, on, the, mat
Ap dụng công thức tinh BLEU để do độ chính xác giữa câu output và câu
groundtruth, ta sẽ có:
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 73
=
P(n=1) = 6
Vẫn với 2 ví du trên, ta xét n-gram với n = 2 thì 2 câu trên sẽ có 5 từ 2-gram, cu thể:
s® Output: the dog, dog sit, sit on, on the, the mat
¢ Groundtruth: the cat, cat sit, sit on, on the, the mat
Ap dụng công thức tinh BLEU để do độ chính xác giữa câu output và câu
groundtruth, ta sẽ có:
3
P(n=2) = 5
GỚI
Ví dụ 2, trong trường hợp ta có 2 câu sau:
¢ Output: the the the the the the
® Groundtruth: the cat sit on the mat
Có thể thay khi áp dụng độ do BLEU với n = 1 cho 2 câu trên thì kết quả thu
được sẽ là : do từ “the” xuất hiện 6 lần trong câu và nó cũng xuất hiện trong câu
groundtruth. Tuy kết quả cao nhưng câu output và câu groundtruth lại rất khác nhau và câu output lại gần như không có ý nghĩa. Do đó nhóm tác giả đã dé xuất
thêm một cách tính đó là Modified precision:
Mmax(n_gram)
c(n_gram) 6-2)
modified_py =
Với: Mmax là số từ cùng xuất hiện trong câu output và câu groundtruth và bị giới
hạn bới số lần xuất hiện của nó trong câu groundtruth.
sở : z LỆ 2 ` 2 vẻ. ” 2 LỆ
Nhu vậy sau khi tính lại cho ví dụ 2, kêt quả thu được là - do từ “the” chỉ xuat
6
hiện 2 lần trong câu groundtruth.
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 74
5.2.2 Độ do Relevance
Với độ do BLEU ta tập trung so sánh giữa kết quả sinh ra từ mô hình và câu Groundtruth, tuy nhiên đối với bài toán phức tạp như phát sinh thơ, việc so khớp
từ ngữ sẽ không được công bằng và chính xác và một đối tượng trong thơ ca có thể
được biểu diễn bằng những từ khác nhau. Độ đo Relevence được đề xuất bởi tác giả
Bei Liu(33] và chỉ được áp dụng trong bài báo. Ý tưởng của độ đo này là thay vì so
sánh giữa kết quả sinh ra từ mô hình và groundtruth thì nó sẽ so sánh sự liên quan
giữa bài thơ được sinh ra với hình ảnh groundtruth. Sự liên quan giữa thơ sinh ra và
ảnh groundtruth sẽ được tinh bằng cách tái sử dụng lại mô hình biểu dién hình ảnh
và thơ (visual-poetic embedding model). Mô hình biểu diễn ảnh và thơ sẽ nhận vào
một bài thơ và một hình ảnh sau đó trả về 1 kết thể hiện sự tương đồng giữa ảnh và thơ, kết quả sẽ được đưa về khoảng giá trị 0 đến 1, với giá trị càng tiến về 1 thì ảnh
và thơ càng liên quan đến nhau.
5.2.3. Đánh giá bởi con người (Human Judgment)
Như đã đề cập, các độ đo tự động là cách nhanh nhất để kiểm tra chất lượng của kết quả được mô hình sinh ra, tuy nhiên hiện tại chưa có một độ đo tự động nào cho kết quả đáng tin cậy tuyệt đối. Sự đánh giá tốt nhất kết quả một mô hình vẫn do con người quyết định. Nhiều công trình nghiên cứu về bài toán phát sinh ngôn ngữ từ
hình ảnh nói chung và bài toán phát sinh thơ từ hình ảnh nói riêng, ngoài các độ đo
tự động, các tác giả còn công bố thêm các bảng đánh giá kết quả sinh ra từ mô hình dựa trên các điểm số do con người đánh giá, và xem đây là một số liệu đánh tin cậy hơn so với số liệu từ các độ đo tự động. Cách đánh giá do con người này còn gọi là
Human Judgment hay Human Evaluation.
Tuy đánh giá do con người có thể đáng tin cậy hơn các độ đo tự động, tuy nhiên nếu do con người đánh giá thì vẫn sẽ còn mang nhiều yếu tố chủ quan, khó có thể sử
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 75
dụng để so sánh giữa 2 mô hình với nhau nếu chỉ dựa vào đánh giá của con người. Ngoài ra cách đánh giá bởi con người sẽ mat nhiều thời gian và công sức, do mỗi người tham gia đánh giá phải xem xét những kết quả sinh ra từ mô hình và chấm điểm.
Trong kết quả bài báo của mình, Liu Bei và các cộng sự đã sử dụng các độ đo
do con người đánh giá. Những người tham gia đánh giá đến từ Amazon Mechanical Turk, đây là một trang web cung cấp dịch vụ cộng đồng cho các doanh nghiệp, tổ chức để thuê "nhân viên phục vụ" ở xa để thực hiện các nhiệm vụ theo yêu cầu, trong trường hợp này là chấm điểm các bài thơ sinh ra từ mô hình. Các nhiệm vụ được phân công lần lượt gồm:
© Đánh giá mô hình biểu diễn ảnh và thơ bằng cách chấm điểm các cặp ảnh và
thơ được ghép cặp do mô hình dựa trên mức độ liên quan, thang điểm từ 0 đến 10.
se Châm điểm cho các bài thơ được sinh ra với hình ảnh groundtruth dựa theo 4
tiêu chí: mức độ liên quan , mức độ liền mạch, mức độ gợi hình ảnh liên tưởng, tổng thể, bốn tiêu chí trên đều sử dụng thang điểm 0 đến 10.
e Turing test: yêu cầu người tham gia đánh giá chọn ra các bài thơ do con người
viết trong tập những bài thơ được trộn lẫn giữa máy sinh ra và người viết.
Tương tự, chúng tôi cũng thiết kế một bảng kết quả dành cho việc đánh giá mô hình dựa trên đánh giá của con người. Chúng tôi đặt ra các tiêu chuẩn và thang đo cho các tiêu chuẩn đó, sau đó có thể lay đánh giá của con người dựa trên các tiêu chuẩn đã đặt ra, cụ thể:
¢ Về nội dung
e Về âm điệu
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 76
e Về khả năng gieo van
s® Điểm cảm nhận cá nhân
Như vây, trong đề tài này chúng tôi sẽ sử dụng 2 độ đo tự động lần lượt: độ đo BLEU, độ đo Relevance và độ đo do con người đánh giá để đánh giá kết quả của mô hình phát sinh thơ từ ảnh cho tiếng Việt.
5.3. Các thông số khi huấn luyện mô hình
Các thông số đa số sẽ giữ nguyên như trong bản cài đặt của nhóm nghiên cứu [68], một số thông số đáng chú ý như:
¢ Thông số huấn luyện mô hình biểu diễn hình ảnh và thơ:
- Số lượng mẫu dữ liệu huấn luyện: 2560 mẫu
- Số lượng mẫu dữ liệu kiểm định: 30 mẫu
- Số lượng epoch: 300
- Kích thước mỗi batch: 32
- Phương pháp tối ưu tham số: Adam optimizer
— Learning rate: 0.001
— Alpha: 0.2
e Thông số huấn luyên mô hình sinh thơ LSTM kết hợp GAN:
- Số lượng epoch: 500
— Kích thước mỗi batch: 32
— Learning rate: 0.001
- Phương pháp tối ưu tham số: Adam optimizer
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 77
5.4 Quá trình huấn luyện mô hình
5.4.1 Huan luyện mô hình biểu diễn hình ảnh và thơ
Để huấn luyện mô hình biểu diễn hình ảnh và thơ chúng tôi sử dụng bộ dữ liệu gồm 2592 cặp ảnh và thơ. Hình ảnh trước khi huấn luyện sẽ được điều chỉnh
về kích thước 224x224 để phù hợp với đầu vào của 2 mạng CNN là ObjectCNN và SceneCNN, sau đó tạo thành véc-tơ biểu diễn ảnh với kích thước 4096 chiều. Đối với các bài thơ, chúng tôi sử dung mô hình ngôn ngữ cho tiếng Việt là PhoBERT để biểu diễn chúng về không gian véc-tơ 768 chiều. Sau khi đã biểu diễn véc-tơ hình ảnh và véc-tơ bai thơ, chúng tôi huấn luyện mô hình biểu dién ảnh và thơ dé đưa chúng
về cùng một không gian. Trong quá trình huấn luyện, hàm Loss càng giảm thì mô hình thu được sẽ càng tốt. Sau khi huấn luyện 300 Epoch, chúng tôi thu được biểu
đồ như ở hình 5.1
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 78
0.7 +
0.6 +
0.5 3
0.4 +
Loss
0.3 4
0.2 3
6.1 3
0.0 3
T T T T T
6 50 100 150 200 250 300
Epoch
HÌNH 5.1: Biểu đồ giá trị ham loss trong quá trình huan luyện mô hình
biểu diễn (nhúng) hình ảnh và thơ.
Nhận xét: Như vậy, ta thấy ham Joss trong quá trình huấn luyện sẽ giảm. Điều này đồng nghĩa trong quá trình huấn luyện, các véc-tơ mới biểu diễn hình ảnh và bài thơ trong không gian biểu diễn sẽ có độ tương đồng cao néu nó được bắt cặp trước
đó bởi con người và có độ tương đồng giảm nếu chúng được bắt cặp ngẫu nhiên.
5.4.2 Huấn luyện mô hình sinh thơ LSTM-GAN
Quá trình huấn luyện mô hình sinh thơ LSTM kết hớp GAN sẽ bao gồm các bước
chính như sau:
© Biểu diễn tập dữ liệu hình ảnh và đữ liệu bai thơ trong không gian biểu diễn
hình ảnh và thơ (VPE).
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 79
° Sử dụng dữ liệu bài thơ lớn gồm 25056 bài tho để huấn luyện trước cho các
tham số của mạng LSTM (50 epoch đầu).
e Huấn luyện mô hình chính LSTM-GAN với bộ đữ liệu 2592 cặp hình ảnh và
thơ (450 epoch sau).
9ơ —— Discriminator loss
—— Generator loss (LSTM loss)
T T T T T
0 100 200 300 400 500
Epoch
HÌNH 5.2: Biểu đồ giá trị hàm loss trong quá trình huấn luyện mô hình
sáng tác thơ sử dụng kiến trúc GAN.
Nhận xét: Qua hình 5.2, ta có thể thấy trong quá trình huấn luyện mô hình sáng
tác thơ từ hình ảnh có sử dụng mạng GAN, hàm loss của Generator (tức loss của
LSTM) giảm dần trong quá trình huấn luyện. Ở hình 5.3, khi so sánh giá trị hàm loss
của 2 mô hình sáng tác thơ có và không có kết hợp mạng Discriminator ta có thể thấy hàm Loss của mô hình sáng tác có kết hợp mạng Discriminator sẽ giảm nhanh hơn so với không có kết hợp trong 300 epoch đầu tiên, sau đó sẽ giảm chậm hơn. Đối với mô hình sinh ngữ LSTM, loss càng giảm tức mô hình đang cô học cho kết
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 80
T T T T T
6 100 200 300 400 500
Epoch
HÌNH 5.3: Biểu đồ so sánh giá trị hàm loss của 2 mô hình sáng tác thơ
có và không có sử dụng kiến trúc mạng GAN.
quả giống với Ground truth nhất có thể, khi sáng tác thơ, điều này sẽ khiến mô hình mắt đi tính sáng tạo. Do đó khi kết hợp với mô hình Discriminator , ham loss của mô hình sáng tác thơ vẫn giảm, chứng tỏ việc học có hiệu quả nhưng không làm mat đi
tính sáng tạo của mô hình.
5.5 Kết quả thu được, nhận xét và đánh giá
Giám khảo đánh giá, để đánh giá mô hình theo đánh giá của con người song
song với các độ đo tự động, chúng tôi mời 5 bạn sinh viên làm giám khảo cho các
kết quả của mô hình huấn luyện. Các bạn sinh viên đều là sinh viên năm tư và có kiến thức cơ bản về thơ văn.
Chương 5. THUC NGHIỆM, ĐÁNH GIÁ KET QUA 81
Kết quả mô hình biểu diễn (nhúng) hình ảnh và thơ: Chúng tôi sẽ đánh giá
mô hình biểu diễn (nhúng) hình ảnh và thơ bằng độ đo Precision at K (P@K). Cụ thể chúng tôi sử dụng tập kiểm định gồm 30 làm đầu vào của mô hình và nhận đầu ra
là các bài thơ trả về. Chúng tôi sử dụng đánh giá thực hiện bởi con trên kết quả mô hình. Về độ đo P@K, với K bài thơ trả về sẽ có bao nhiêu bài thơ có liên quan đến hình ảnh đầu vào. Để tổng hợp kết quả chúng tôi dùng độ đo MAP (Mean Average Precision) để tính trung bình các giá trị P@K của mỗi giám khảo trên tất cả 30 ảnh kiểm định. Chúng tôi thu được bảng kết quả như sau
mAP(K=5) | mAP(K=10)
Giám khaol| 89.33 86.33 Giám khảo 2 92.0 85.33 Giám khảo 3| 91.33 87.0 Giám khao4| — 87.33 85.0 Giám khảo 5 | — 88.66 85.66 Trung bình | 89.73 85.86
BANG 5.1: Bảng kết quả đánh giá mô hình truy vấn tho từ hình ảnh bằng phương pháp nhúng hình ảnh và thơ. (Các số liệu trên đều đã
được chuyển về đơn vị %)
Nhận xét: Thông qua bảng kết quả 5.1 thu được, có thé thay mô hình nhúng hình ảnh và thơ đã được huấn luyện và có hiệu năng khá tốt. Với mỗi hình ảnh kiểm định,
mô hình có thể trả về những bài thơ có liên quan, điều đó đồng nghĩa, ở trong không gian biểu diễn (nhúng) hình ảnh và thơ, các bài thơ hoặc hình ảnh có liên quan với
nhau sẽ nằm gần nhau, cụ thể độ tương đồng của chúng sẽ lớn.
Kết quả mô hình tạo sinh thơ từ hình ảnh: Để đánh giá mô hình này chúng tôi
sử dụng cả 2 loại đánh giá là đánh giá tự động của máy và đánh giá thực hiện bởi
con người. Với độ đo tự động, chúng tôi sử dụng 2 độ đo là BLEU (Đánh giá giữa bài
thơ trả về và bài thơ Groundtruth) và độ đo Relevance (So sánh độ liên quan giữa bài thơ trả về và hình ảnh đầu vào). Đối với độ đo thực hiện bởi con người, chúng