Kiến trúc mơ hình cơ sở BST đối với bài toán rating

Một phần của tài liệu (Trang 42)

4 Kết quả và Thảo luận

3.2 Kiến trúc mơ hình cơ sở BST đối với bài toán rating

và lớp đầu ra của kiến trúc mơ hình. Do đó, đề tài sẽ sử dụng cả hai mơ hình cơ sở này cho hai dạng bài toán con đã đề cập.

3.3. Giải pháp đề xuất

3.3 | Giải pháp đề xuất

Giải pháp được đề xuất của mơ hình về tổng quan sẽ có khả năng huấn luyện sử dụng các thuộc tính chuỗi tuần tự tương tác (đánh giá/ khả năngclick) giữa người dùng

và bộ phim đồng thời kết hợp các thuộc tính bổ sung thơng tin về nhân khẩu học của người dùng (bao gồm thơng tin về nhóm tuổi, vị trí địa lý, nghề nghiệp, giới tính) và thơng tin về các bộ phim (bao gồm thời gian phát hành, thể loại). Giải pháp đề xuất sẽ được xây dựng cụ thể dựa trên hai bài toán conratingclick-through-rate.

3.3.1 | Giải pháp đề xuất cho bài tốnrating

Hình 3.3 mơ tả chi tiết kiến trúc của mơ hình đề xuất cho bài tốnrating. Trong đó

bao gồm các thành phần chính sau:

Input: dữ liệu đầu vào của quá trình huấn luyện được sử dụng bao gồm các thuộc

tính chuỗi tuần tự xếp hạng của người dùng và các thông tin nhân khẩu học bổ sung của người dùng. Đặc biệt,hệ thống còn đề xuất phương pháp bổ sung các thuộc tính thơng tin của sản phẩm;

Embedding Layer: tầng nhúng là tầng kết hợp dữ liệu bằng phép tínhConcatenatedữ liệu đầu vào của q trình huấn luyện được sử dụng là chuỗi tuần tự bao gồm hành vi tương tác và vị trí của tương tác trong chuỗi tuần tự,cùng với các thuộc tính bổ sung từ sản phẩm;

Transformer Layer: tương tự như trong mơ hình cơ sởBSTbao gồmnhiều khối tự chú ý đa đầu Multi-head Self-Attentionnhận đầu vào từ lớp nhúng và trả thông tinattention-weightlàm đầu vào cho tầngPoint-wise Feed-forward. Các lớp này có thể

xếp chồng lên nhau trong trường hợp muốn tăng thêm khả năng học của mơ hình sâu hơn. Đầu ra của lớp này là điểm sốattention-scorekết hợp từ các điểmattention- weight trước đó. Điểm khác biệt là lúc này, kiến trúc Transfomer được bổ sung thêm các thông tin của sản phẩm;

Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớpTransformertrước đó cùng với các thơng tin bổ sung của người dùng thơng qua phép tínhConcatenate. Số lớp tầng ẩn này sẽ là các siêu tham số tinh

chỉnh tùy thuộc vào kích thước của dữ liệu huấn luyện. Đầu ra của kiến trúc mơ hình sẽ là một tầng ẩn có kích thước là 1 và được tối ưu bằng hàm activation

3.3. Giải pháp đề xuất

Hình 3.3: Kiến trúc mơ hình đề xuất cho bài toánrating.

Kiến trúc đề xuất của giải pháp được xây dựng dựa trên ý tưởng xây dựng kiến trúc đặt trên một tầng dữ liệu đầu vào dạngWDL - Wide and deep learning[4] khi kết hợp các thơng thuộc tính bổ sung (màu xanh lá cây, màu cam, màu vàng) của người dùng sẽ được giải quyết bằng cách đơn giản là gắn vào bên tráirecordđầu vào trước khi nhúng vào một chiều có kích thước (size) nhỏ hơn là lớpEmbedding. Phần cịn lại củarecorddữ liệu đầu vào cho lớp Embedding chính là các bộ ba (triplet) (thuộc tính phim,ratingphim, vị trí phim trong chuỗi tuần tự) tương ứng với(màu hồng, màu xanh da trời, màu cam nhạt)đại diện cho thông tin hành vi xem phim tuần tự của người dùng. Cuối cùng ta sẽ có được một ma trận đầu vào cho lớpEmbedding. Điểm khác biệt so với mơ hình cơ sởBSTđó là thay vì xem các thông tin bổ sung từ phim (sản phẩm) như là một thuộc tính bổ sung bên ngồi kiến trúcTransformer, mơ hình đề xuấtxem các thơng tin bổ sung này như là một chiều dữ liệu mới trong bộ thuộc tính hành vi. Điều này vềlogiclà hợp lý khi mỗi bộ phim sẽ có các thuộc tính khác nhau do đó nếu xem chúng như là một thuộc tính bổ sung bên ngồi thì ta phải chọn các thuộc tính được tổng hợp lại theo một phương pháp nào đó, việc này cũng khiến cho các thuộc tính từ phim này loại bỏ đi tính tuần tự bên

3.3. Giải pháp đề xuất

trong.

Từ đầu vào của lớpEmbedding, phần thông tin hành vi xem phim tuần tự của người

dùng sẽ được kết hơp bằng phép tínhconcatenatecác ma trận con của từng thông tin lại thành một ma trận tổng hợpWitrong đóilà đại diện cho bộ phim thứitrong chuỗi tuần tự. Từ chuỗi các ma trận Wi dưới dạng tuần tự ta đưa vào huấn luyện bằng kiến trúc

Transformerở tầng tiếp theo.

Như đã trình bày ở phần trước, kiến trúcTransformersẽ nhận đầu vào là mỗi phần tử ma trậnWiđược học các mối tương quan thông qua nhiều đầu (Multi-Head)Self-Attention

[13] ta sẽ có được ma trận trọng sốattention-scoretrong đó mỗi trọng số được tính bằng cơng thức:

S= MultiHead(E) =Concat(head1,head2, ...,headn)WH (3.1) Trong đó:

■ headi = Attention(EWiQ,EWiK,EWiV)phép chiếuSelf-Attentionlên các ma trận trọng sốWiQ,WiK,WiV của ma trậnEmbeddingE;

■ WiQlà vector trọng số tương ứng vớiQuery;

■ WK

i là vector trọng số tương ứng vớiKey;

■ WiVlà vector trọng số tương ứng vớiValue;

■ WH

i là vector trọng số tương ứng với số đầuattentionOutput.

Từ ma trận trọng sốStìm được, dựa trên kiến trúcTransformerta đưa ma trận này bổ sung thêm một lớpPoint-wise Feed-Forward NetworksF = FFN(S).Để tránh cho mơ hình

khơng bị q khớp, kiến trúc mơ hình sử dụng thêm các lớp chuẩn hố (Normalization) và biến mơ hình trở nên phi tuyến tính (non-linearity). Phương pháp thực hiện dựa trên công thức bên dưới:

S′ = LayerNorm(S+Dropout(MultiHead(S))), (3.2)

3.3. Giải pháp đề xuất

Trong đóW(1),b(1),W(2),b(2)là các ma trận trọng số có thể học được (learnable parameter) và LayerNorm là lớp dùng để chuẩn hoá.

Từ ma trận trọng sốFnày ta có thể xếp chồng nhiều cấp tương tự như vậy tạo thành nhiều khốiTransformerchồng lên nhau thông qua công thức:

Sb = MultiHead(F(b−1)), (3.4)

Fb =FFN(Sb),∀i∈ 1, 2, ...,n. (3.5)

Bằng phép tính concatenate, ta dễ dàng kết hợp các thuộc tính bổ sung từ người

dùng ở đầu vào cùng với kết quả thu được từ các thuộc tính tuần tự thơng q kiến trúc

Transformer đã được trình bày (ma trậnF) tạo thành ma trận tổng hợpZ. Từ ma trận Z

này, ta sử dụng các tầng ẩn fully-connectedđể làm giảm kích thước của ma trận cho tới đầu ra là một tầng có kích thước là1. Từ đây mơ hình sẽ được học tuần tự thông qua từng

recorddữ liệu đầu vào bằng cách tối ưu hàmlossđầu ra làRMSEđã được trình bày cơng thức ở phần 2.

3.3.2 | Giải pháp đề xuất cho bài tốnclick-through-rate

Mơ hình đề xuất cho bài toán conclick-through-ratebao gồm các lớp và dữ liệu đầu vào sử dụng tương tự như bài toánratingchỉ khác biệt ở lớp đầu ra và phương pháp để tối ưu mơ hình huấn luyện tương ứng được trình bày trong hình 3.4.

Trong đó bao gồm các thành phần chính sau:

Input: tương tự như trong kiến trúc đề xuất của bài toán ratingđầu vào được sử dụng sẽ bao gồm các thông tin của người dùng, sản phẩm và các thông tin tương tác chuỗi tuần tự;

Embedding Layer: tương tự trong kiến trúc đề xuất của bài toánrating;

Transformer Layer: tương tự trong kiến trúc đề xuất của bài toánrating;

Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớpTransformertrước đó cùng với các thông tin bổ sung của người dùng

3.3. Giải pháp đề xuất

Hình 3.4: Kiến trúc mơ hình đề xuất cho bài tốnclick-through-rate.

thơng qua phép tínhConcatenate. Số lớp tầng ẩn này sẽ là các siêu tham số tinh

chỉnh tùy thuộc vào kích thước của dữ liệu huấn luyện. Đầu ra của kiến trúc mơ hình tương ứng với một bài tốn phân loại nhị phân (binary classification) sẽ là một tầng ẩn được kích hoạt bằng hàmsigmoid [19] để đưa giá trị đầu vào là số thực thành kết quả đầu ra nằm trong khoảng[0, 1]và mơ hình sẽ được huấn luyện thơng qua hàmlossbinary cross-entropy(Hình 3.6).

loss=−1

N ∑

(x,y)∈N

(ylog(p) + (1−y)log(1−p)) (3.6) Trong đó:

■ N: đại diện cho toàn bộ tập dữ liệu (tập huấn luyện, tập kiểm định);

3.3. Giải pháp đề xuất

■ y: kết quả đầu ra, có nhãn là một trong hai giá trị(0,1);

■ p: là kết quả đầu của mơ hình sau hàmsigmoidchỉ xác suất clickvào bộ phim hay khơng.

Tương tự như bài tốnrating, điểm khác biệt của kiến trúc mơ hình đề xuất nằm ở

việc bổ sung thêm các thuộc tính của sản phẩm vào trong các điểm dữ liệu trong chuỗi tuần tự và được huấn luyện dựa trên kiến trúcTransformerđã được trình bày ở phần 3.3.1. Đối với bài tốnclick-through-ratemơ hình chỉ cần thay đổi hàm tối ưu và hàm kích hoạt như đã trình bày là có thể tiến hành kiểm tra thực nghiệm.

3.4. Cài đặt thực nghiệm

3.4 | Cài đặt thực nghiệm

3.4.1 | Cài đặt dữ liệu

Từ tập dữ liệu đã được tiền xử lý đã trình bày ở phần 3.1.2, ta thực hiện chia thành hai tập dữ liệu độc lập là dữ liệu huấn luyện (training dataset) và dữ liệu kiểm thử (test

dataset) theo tỉ lệ 80/20. Dữ liệu kiểm thử được lựa chọn ngẫu nhiên trong tập dữ liệu gốc để đảm bảo tính tổng qt hóa của mơ hình huấn luyện, khơng bị phụ thuộc chủ quan vào cách chia dữ liệu.

Phần dữ liệu được sử dụng trong quá trình huấn luyện (training dataset) được chia thành dữ liệu huấn luyện (training set) và dữ liệu thẩm định (validation set) theo tỉ lệ 80/20. Đây là một kỹ thuật giúp mơ hình có thể kiểm tra thẩm định ngay trong q trình huấn luyện, giúp mơ hình có thể tránh được vấn đề q khớp (overfitting) và dừng huấn luyện khi mơ hình trở nên suy giảm độ chính xác ở tập dữ liệu thẩm định từ đó giúp mơ hình có thể trở nên tổng qt hóa và đạt được độ chính xác tốt hơn ở tập dữ liệu kiểm thử.

3.4.2 | Cài đặt huấn luyện cho bài tốnrating

Dựa vào kiến trúc mơ hình và cài đặt dữ liệu đã đề xuất, tôi tiến hành kiểm tra thực nghiệm bằng việc tinh chỉnh các thông số ban đầu và các siêu tham số khác. Thực hiện kiểm thử nhiều lần với các tinh chỉnh khác nhau để đạt được kết quả đánh giá tốt nhất.

Các thông số ban đầu của quá trình tiền xử lý gồm độ dài chuỗi và bước nhảy như sau:

sequence_length 4

step_size 1

Trong đó:

sequence_length độ dài của chuỗi tuần tự đối với mỗirecord dữ liệu đưa vào huấn luyện.

step_sizelà bước nhảy trong quá trình tạo các chuỗi tuần tự ở bước tiền xử lý. Các thông số ban đầu của kiến trúc mơ hình đào tạo như sau:

3.4. Cài đặt thực nghiệm num_attention_heads 2 num_hidden_layers 3 hidden_size [1024, 512, 256] dropout_rate 0.2 loss_function RMSE Trong đó:

num_attention_headslà số lượng đầuattentionsử dụng trong kiến trúcTransformer.

num_hidden_layers là số tầng ẩn (các tầng ẩn này là các lớp kết nối đầy đủ (fully-

connected layer)).

hidden_sizelà kích thước của các tầng ẩn.

dropout_ratelà tỉ lệ giảm bớt độ phức tạp của các kết nối trong mơ hình nhằm tránh vấn đề q khớp (overfitting).

loss_functionlà hàm dùng để tối ưu mơ hình trong q trình huấn luyện tương ứng với đầu ra bài toán dạng hồi quy (regression).

Các siêu tham số huấn luyện khác được dùng để tinh chỉnh trong quá trình huấn luyện như trong bảng sau:

batch_size 128 include_user_features True include_movie_features True learning_rate 0.01 epoch_size 40 Trong đó:

batch_sizelà kích thước số lượng mẫu thực hiện huấn luyện trên mỗi lượt (epoch).

include_user_features là lựa chọn có sử dụng các thuộc tính của người dùng hay không.

3.4. Cài đặt thực nghiệm

learning_ratelà tham số tinh chỉnh tốc độ học ảnh hưởng tới q trình hội tụ của mơ hình.

epoch_sizelà sơ lượt lặp khi huấn luyện mơ hình trên tồn tập dữ liệu huấn luyện. Tổng thời gian huấn luyện của mơ hình cho đến khi hội tụ và đạt kết quả tối ưu là trong khoảng 1.5 giờ trên GPU với 40epochs.

3.4.3 | Cài đặt huấn luyện cho bài tốnclick-through-rate

Đối với bài tốn conclick-through-ratethì việc cài đặt huấn luyện là tương tự như bài toán conratingchỉ cần thay đổi đầu vào là dữ liệu đã tiền xử lý và kiến trúc mơ hình đề xuất tương ứng để bắt đầu tinh chỉnh tham số và kiểm tra thực nghiệm.

Các thơng số ban đầu của q trình tiền xử lý gồm độ dài chuỗi và bước nhảy như sau:

sequence_length 4

step_size 1

Trong đó:

sequence_length độ dài của chuỗi tuần tự đối với mỗirecord dữ liệu đưa vào huấn luyện.

step_sizelà bước nhảy trong quá trình tạo các chuỗi tuần tự ở bước tiền xử lý. Các thông số ban đầu của kiến trúc mơ hình đào tạo như sau:

num_attention_heads 2 num_hidden_layers 3 hidden_size [1024, 512, 256] dropout_rate 0.2 loss_function BinaryCrossentropy Trong đó:

3.4. Cài đặt thực nghiệm

num_attention_headslà số lượng đầuattentionsử dụng trong kiến trúcTransformer.

num_hidden_layers là số tầng ẩn (các tầng ẩn này là các lớp kết nối đầy đủ (fully-

connected layer)).

hidden_sizelà kích thước của các tầng ẩn.

dropout_ratelà tỉ lệ giảm bớt độ phức tạp của các kết nối trong mơ hình nhằm tránh vấn đề quá khớp (overfitting).

loss_functionlà hàm dùng để tối ưu mơ hình trong quá trình huấn luyện tương ứng với đầu ra bài toán dạng phân lớp (classification).

Các siêu tham số huấn luyện khác được dùng để tinh chỉnh trong quá trình huấn luyện như trong bảng sau:

batch_size 128 include_user_features True include_movie_features True learning_rate 0.01 epoch_size 20 Trong đó:

batch_sizelà kích thước số lượng mẫu thực hiện huấn luyện trên mỗi lượt (epoch).

include_user_features là lựa chọn có sử dụng các thuộc tính của người dùng hay khơng.

include_movie_featureslà lựa chọn có sử dụng các thuộc tính của phim hay không.

learning_ratelà tham số tinh chỉnh tốc độ học ảnh hưởng tới quá trình hội tụ của mơ hình.

epoch_sizelà sơ lượt lặp khi huấn luyện mơ hình trên tồn tập dữ liệu huấn luyện. Tổng thời gian huấn luyện của mơ hình cho đến khi hội tụ và đạt kết quả tối ưu là trong khoảng 1.5 giờ trên GPU với 20epochs.

3.5. Tổng kết chương

3.5 | Tổng kết chương

Trong chương này, tơi đã trình bày về bộ dữ liệu sử dụng, phương pháp tiền xử lý dữ liệu cũng như các hai bước giải quyết bài toán phân loại cảm xúc hướng khía cạnh và mơ hình đề xuất. Phần dữ liệu đã trình bày khái quát việc thu thập, gán nhãn, làm sạch và chọn lọc dữ liệu cũng như cách tạo ra bộ dữ liệu cho từng bài toán con với các cách tiếp cận khác nhau. Trong phần giải pháp này, tôi đã mơ tả giải pháp đề xuất của mình để giải quyết các bài tốn phân loại cảm xúc hướng khía cạnh và đối chiếu với mơ hình cơ sở. Cuối cùng là mô tả các bước cài đặt dữ liệu, thiết lập các thông số ban đầu và các giá trị siêu tham số được lựa chọn trong quá trình thực nghiệm để tối ưu kết quả thu được của mơ hình.

4 Kết quả và Thảo luận Phần này trình bày kết quả thực nghiệm của các mơ hình đề xuất cũng như kết quả hiện thực lại của các mơ hình cơ sở, bao gồm kết quả cho cả hai bài toán con là bài toánratingvà bài toánclick-through-rate. Các chỉ số đánh giá sử dụng tương đồng

trên mơ hình cơ sở và mơ hình đề xuất để làm cơ sở so sánh. Từ những kết quả đó, ta có thể rút ra được một số kết luận và đánh giá quan trọng cho giả thuyết đặt ra ban đầu.

4.1. Kết quả thực nghiệm

4.1 | Kết quả thực nghiệm

4.1.1 | Kết quả thực nghiệm cho bài tốnrating

Bảng. 4.1 trình bày các kết quả đánh giá thực nghiệm thu được của mơ hình đề xuất (kết quả được lấy trung bình từ 5 kết quả tốt nhất sau các lần thực nghiệm độc lập) và so sánh với các mơ hình tham khảo.

Mơ hình cơ sở 1 Mơ hình cơ sở 2 Mơ hình đề xuất

Train-set Test-set Train-set Test-set Train-set Test-set

RMSE 0.8826 0.96 0.8444 0.932 0.8669 0.891

Một phần của tài liệu (Trang 42)

Tải bản đầy đủ (PDF)

(66 trang)