Chuyển đến nội dung chính

Xây dựng hệ thống phân loại cảm xúc đa khia cạnh ABSA tiếng Việt cho thương mại điện tử

Phân tích cảm xúc theo khía cạnh (Aspect-Based Sentiment Analysis, ABSA) đi sâu hơn sentiment analysis thông thường bằng cách xác định đối tượng hoặc thuộc tính nào đang được đánh giá và cảm xúc dành cho từng thuộc tính đó [1]. Với thương mại điện tử, khác biệt này đặc biệt quan trọng vì một review thường chứa nhiều ý trái chiều.

Ví dụ: “Máy thiết kế đẹp, pin dùng lâu nhưng giao hàng chậm và hộp bị móp.” Gán một nhãn negative hay positive cho toàn review đều làm mất thông tin. Một hệ thống ABSA phù hợp hơn sẽ trả về DESIGN: positive, BATTERY: positive, SHIPPING: negative và PACKAGING: negative.

Nếu chưa quen với sentiment classification, có thể đọc trước bài Bài toán phân tích cảm xúc trong văn bản. Bài này tập trung vào bước tiếp theo: xây dựng một hệ thống ABSA có thể dùng cho review thương mại điện tử tiếng Việt.

Trước khi chọn mô hình, phải xác định ABSA cần trả về gì

ABSA không phải một bài toán duy nhất. SemEval-2014 phân biệt các tác vụ như trích xuất cụm từ chỉ khía cạnh, xác định category và phân loại polarity cho từng aspect [1]. Vì vậy, bước đầu tiên của một hệ thống thực tế không phải chọn BERT hay LSTM mà là xác định cấu trúc output.

Có hai cách biểu diễn phổ biến.

Aspect Term Extraction: tìm chính xác cụm từ trong câu

Với câu:

“Camera chụp đẹp nhưng pin khá yếu.”

Hệ thống có thể trả về:

Aspect term Sentiment
camera positive
pin negative

Cách này hữu ích nếu ứng dụng cần highlight chính xác đoạn văn bản mà người dùng đang nhận xét. Aspect extraction thường được mô hình hóa như sequence labeling với các nhãn BIO hoặc một bài toán span extraction.

Aspect Category Detection: ánh xạ review vào taxonomy có sẵn

Trong hệ thống phân tích sản phẩm, doanh nghiệp thường quan tâm đến các category ổn định như BATTERY, CAMERA, PRICE, SHIPPING hoặc PACKAGING. Khi đó output có thể trực tiếp là các tuple:

{CAMERA: positive, BATTERY: negative}

Cách này còn xử lý được implicit aspect. Chẳng hạn câu “đắt hơn shop khác khá nhiều” không chứa từ “giá”, nhưng hệ thống vẫn có thể gán PRICE: negative.

VLSP 2018 định nghĩa VABSA cho tiếng Việt dưới dạng tập các cặp aspect–polarity, trong đó aspect được biểu diễn qua entity và attribute, còn polarity gồm positive, negative và neutral [2]. Với dashboard thương mại điện tử, thiết kế dựa trên category thường là điểm khởi đầu thực dụng vì output đã phù hợp trực tiếp với tổng hợp thống kê.

Thiết kế ontology cho review thương mại điện tử tiếng Việt

Sai lầm phổ biến là xây một danh sách aspect duy nhất cho mọi sản phẩm. Điện thoại, son môi và quần áo có các thuộc tính rất khác nhau. Nếu ontology quá chung, output ít giá trị; nếu quá chi tiết, dữ liệu mỗi nhãn trở nên thưa và khó học.

Một giải pháp là chia ontology thành hai tầng.

Nhóm Aspect ví dụ Phạm vi
Cross-domain PRICE, SHIPPING, PACKAGING, SELLER_SERVICE Có thể xuất hiện ở phần lớn ngành hàng.
Điện tử BATTERY, SCREEN, CAMERA, PERFORMANCE, SOUND Điện thoại, tablet, laptop.
Mỹ phẩm COLOUR, TEXTURE, SMELL, STAYING_POWER Son môi và sản phẩm làm đẹp.
Thời trang SIZE, MATERIAL, COLOUR, COMFORT Quần áo, giày dép.

Một nghiên cứu trực tiếp trên thương mại điện tử Việt Nam của Tran, Le và Do xây dựng bộ dữ liệu gồm 16.227 review tiếng Việt về chín sản phẩm son môi trên Shopee, với 32.775 cặp aspect–sentiment [3]. Bộ dữ liệu sử dụng các aspect SMELL, COLOUR, TEXTURE, PRICE, STAYINGPOWER, SHIPPING, PACKING và thêm OTHERS để nhận diện review không thuộc các khía cạnh chính [3].

Điểm đáng học ở đây không phải sao chép nguyên taxonomy cho mọi ngành hàng. Nó cho thấy ontology phải bám sát domain. SHIPPING và PRICE có thể tái sử dụng rộng rãi, trong khi STAYING_POWER chỉ có ý nghĩa với một số sản phẩm mỹ phẩm.

Một review có thể có nhiều aspect cùng lúc

Aspect detection vì vậy thường là multi-label classification, không phải multi-class classification. Review:

“Máy chạy nhanh, màn hình đẹp nhưng ship lâu.”

có thể đồng thời mang các nhãn PERFORMANCE, SCREEN và SHIPPING. Một softmax buộc các nhãn cạnh tranh nhau sẽ sai cấu trúc bài toán; aspect detection nên dùng sigmoid độc lập cho từng category.

Đừng để rating tạo label leakage

Review thương mại điện tử thường đi kèm số sao. Nếu mục tiêu là suy luận sentiment từ nội dung văn bản nhưng rating được đưa trực tiếp vào feature, mô hình có thể học shortcut “1 sao = negative” thay vì hiểu ngôn ngữ. Rating chỉ nên được dùng nếu bài toán production thực sự cho phép sử dụng tín hiệu đó và cách đánh giá cũng phản ánh đúng điều kiện này.

Pipeline ABSA tiếng Việt: từ review thô đến tuple aspect–sentiment

Một pipeline có thể tách thành năm bước: làm sạch có kiểm soát, tách từ, encoder ngôn ngữ, phát hiện aspect và phân loại sentiment. Sau inference, các tuple được lưu để tổng hợp theo SKU, thương hiệu, ngành hàng hoặc thời gian.

Pipeline ABSA tiếng Việt cho thương mại điện tử Review tiếng Việt “Máy đẹp nhưng pin yếu, ship nhanh” Chuẩn hóa nhẹ + tách từ giữ phủ định, emoji, SKU và tín hiệu cảm xúc PhoBERT Encoder Aspect Detection Head sigmoid → multi-label aspects Sentiment Head aspect-conditioned → polarity Tuple output DESIGN:+ · BATTERY:− · SHIPPING:+
Hình 1. Kiến trúc tổng quát cho hệ thống category-based ABSA tiếng Việt trong thương mại điện tử.

Tiền xử lý tiếng Việt: càng sạch chưa chắc càng tốt

Review thực tế có thể chứa “sp ok”, “ko đẹp lắm”, “ship siêu lâuuu”, emoji, mã sản phẩm và cả tiếng Anh. Việc xóa toàn bộ dấu câu, emoji hoặc chuẩn hóa mọi từ không có trong từ điển có thể loại bỏ chính tín hiệu sentiment mà mô hình cần.

Một pipeline hợp lý thường chỉ chuẩn hóa những biến thể có độ tin cậy cao, giữ lại từ phủ định như “không”, “chẳng”, “chưa”, đồng thời xử lý URL và metadata không cần thiết. Nếu dùng PhoBERT, cần đặc biệt chú ý bước word segmentation vì mô hình được xây dựng cho dữ liệu tiếng Việt đã tách từ [4]. Có thể đọc thêm bài Tách từ trong tiếng Việt để hiểu vì sao khoảng trắng không đồng nghĩa với ranh giới từ.

Multi-task PhoBERT: một encoder, hai mục tiêu học

PhoBERT là mô hình ngôn ngữ tiền huấn luyện đơn ngữ cho tiếng Việt và là một lựa chọn tự nhiên để làm encoder [4]. Thay vì huấn luyện hai Transformer hoàn toàn độc lập, ta có thể dùng chung biểu diễn contextual và đặt hai prediction head phía trên.

Với review x, PhoBERT tạo representation h cho toàn câu:

h = EncoderPhoBERT(x)

Giả sử hệ thống có K aspect. Mỗi aspect được dự đoán độc lập bằng sigmoid:

p(zk = 1 | x) = σ(wkTh + bk)

Loss của aspect detection là binary cross-entropy trên K nhãn:

Laspect = − Σk=1K [zk log pk + (1−zk) log(1−pk)]

Với sentiment, ta không chỉ hỏi “review mang sentiment gì?” mà phải điều kiện hóa dự đoán theo aspect. Có thể gán mỗi aspect một embedding ek rồi kết hợp với representation của review:

p(s | x, k) = softmax(Ws[h ; ek] + bs)

Sentiment loss chỉ được tính cho những aspect có mặt trong ground truth. Tổng loss có thể viết:

L = Laspect + λLsentiment

Đây là kiến trúc multi-task minh họa cho hệ thống category-based ABSA, không phải kiến trúc duy nhất của PhoBERT hay của paper [3]. Ưu điểm chính là encoder được chia sẻ, còn sentiment head vẫn biết mình đang phân loại sentiment đối với aspect nào.

Ví dụ PyTorch: xây model ABSA với PhoBERT

Đoạn code sau triển khai phần model cốt lõi. Đầu vào được giả định đã tách từ phù hợp với PhoBERT. aspect_targets là vector multi-hot, còn sentiment_targets dùng −100 cho những aspect không xuất hiện để bỏ qua chúng khi tính cross-entropy.

import torch
import torch.nn as nn
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer

ASPECTS = [ "PRICE", "SHIPPING", "PACKAGING", "DESIGN", "BATTERY", "CAMERA",
]

SENTIMENTS = ["negative", "neutral", "positive"]

class PhoBERTABSA(nn.Module): def **init**(
self,
model_name="vinai/phobert-base",
num_aspects=len(ASPECTS),
num_sentiments=len(SENTIMENTS),
): super().**init**()

```
    self.encoder = AutoModel.from_pretrained(model_name)
    hidden = self.encoder.config.hidden_size

    self.aspect_head = nn.Linear(hidden, num_aspects)
    self.aspect_embedding = nn.Embedding(num_aspects, hidden)

    self.sentiment_head = nn.Sequential(
        nn.Linear(hidden * 2, hidden),
        nn.GELU(),
        nn.Dropout(0.1),
        nn.Linear(hidden, num_sentiments),
    )

def forward(
    self,
    input_ids,
    attention_mask,
    aspect_targets=None,
    sentiment_targets=None,
):
    output = self.encoder(
        input_ids=input_ids,
        attention_mask=attention_mask,
    )

    # PhoBERT dùng token đầu làm representation toàn câu.
    h = output.last_hidden_state[:, 0, :]

    aspect_logits = self.aspect_head(h)

    batch_size = h.size(0)
    num_aspects = self.aspect_head.out_features

    aspect_ids = torch.arange(
        num_aspects,
        device=h.device,
    )

    aspect_emb = self.aspect_embedding(aspect_ids)
    aspect_emb = aspect_emb.unsqueeze(0).expand(
        batch_size, -1, -1
    )

    review_emb = h.unsqueeze(1).expand(
        -1, num_aspects, -1
    )

    sentiment_input = torch.cat(
        [review_emb, aspect_emb],
        dim=-1,
    )

    sentiment_logits = self.sentiment_head(sentiment_input)

    loss = None

    if aspect_targets is not None:
        aspect_loss = F.binary_cross_entropy_with_logits(
            aspect_logits,
            aspect_targets.float(),
        )

        sentiment_loss = F.cross_entropy(
            sentiment_logits.reshape(-1, len(SENTIMENTS)),
            sentiment_targets.reshape(-1),
            ignore_index=-100,
        )

        loss = aspect_loss + sentiment_loss

    return {
        "loss": loss,
        "aspect_logits": aspect_logits,
        "sentiment_logits": sentiment_logits,
    }
```

tokenizer = AutoTokenizer.from_pretrained("vinai/phobert-base")
model = PhoBERTABSA()

# Input ví dụ đã được word-segmented.
text = "Máy đẹp nhưng pin yếu , giao_hàng rất nhanh ."

batch = tokenizer(
text,
return_tensors="pt",
truncation=True,
max_length=256,
)

model.eval()

with torch.no_grad():
output = model(**batch)

aspect_prob = torch.sigmoid(output["aspect_logits"])[0]
sentiment_id = output["sentiment_logits"][0].argmax(dim=-1)

for i, aspect in enumerate(ASPECTS): if aspect_prob[i] > 0.5:
sentiment = SENTIMENTS[sentiment_id[i].item()] print( f"{aspect}: {sentiment} " f"(p={aspect_prob[i]:.3f})"
) 

Model chưa được fine-tune nên đoạn cuối không cho dự đoán có ý nghĩa ngay sau khi khởi tạo. Mục đích của code là cho thấy cấu trúc tensor và cách hai nhiệm vụ được ghép trong cùng một network. Sau huấn luyện, inference sẽ giữ các aspect có xác suất vượt threshold rồi lấy sentiment tương ứng.

Threshold 0,5 cũng không phải giá trị mặc định tối ưu cho mọi aspect. Nếu SHIPPING hiếm nhưng rất quan trọng về nghiệp vụ, threshold của nhãn này có thể cần được tune riêng trên validation set để cân bằng precision và recall.

Đánh giá ABSA: đừng chỉ nhìn accuracy

Aspect distribution trong thương mại điện tử thường mất cân bằng. PRODUCT_QUALITY hoặc SHIPPING có thể xuất hiện rất nhiều, trong khi một aspect như SOUND hoặc STAYING_POWER chỉ xuất hiện ở một số ngành hàng. Accuracy vì vậy có thể che giấu mô hình bỏ qua các lớp hiếm.

Nên đánh giá ít nhất ba tầng.

Aspect detection

Sử dụng precision, recall và F1 cho bài toán multi-label. Micro-F1 cho thấy hiệu năng tổng thể, còn Macro-F1 giúp phát hiện việc mô hình hoạt động kém ở các aspect ít xuất hiện.

Sentiment classification

Đánh giá sentiment trên các aspect ground-truth hoặc báo cáo rõ protocol đang sử dụng. Nếu chỉ đánh giá sentiment trên aspect mà model đã phát hiện đúng, con số này không phản ánh lỗi aspect detection.

Joint aspect–sentiment F1

Metric quan trọng nhất ở tầng hệ thống là xem một tuple chỉ được tính đúng khi cả aspect và sentiment đều đúng.

Ground truth:

{BATTERY: negative, SHIPPING: positive}

Prediction:

{BATTERY: neutral, SHIPPING: positive}

SHIPPING: positive là một tuple đúng; BATTERY: neutral là sai dù aspect BATTERY được phát hiện chính xác. Đánh giá joint như vậy gần hơn với giá trị mà dashboard cuối cùng thực sự nhận được.

Chia dữ liệu để tránh leakage

Random split trên review có thể quá dễ nếu cùng một SKU, template hoặc các review gần trùng xuất hiện ở cả train và test. Với hệ thống phải tổng quát sang sản phẩm mới, nên cân nhắc split theo product hoặc ít nhất kiểm tra duplicate giữa các partition. Nếu mục tiêu là dự đoán dữ liệu tương lai, time-based split thường phản ánh điều kiện triển khai tốt hơn.

Đưa ABSA vào hệ thống thương mại điện tử thực tế

Model chỉ là một thành phần. Giá trị của ABSA xuất hiện khi output được tích hợp vào pipeline dữ liệu và có thể trả lời các câu hỏi kinh doanh như: sản phẩm nào đang nhận nhiều phản hồi tiêu cực về pin, tỷ lệ complaint về shipping tuần này có tăng không, hay một phiên bản sản phẩm mới có cải thiện sentiment về thiết kế hay không.

Một schema output production có thể lưu:

Field Ví dụ
review_id RV_10428
product_id PHONE_A17
aspect BATTERY
sentiment negative
aspect_score 0.94
model_version absa_phobert_v3

Việc lưu model version và confidence giúp audit khi model thay đổi. Các prediction có confidence thấp có thể được chuyển sang human review và bổ sung ngược vào tập gán nhãn cho vòng fine-tuning tiếp theo.

Theo dõi drift theo aspect, không chỉ toàn model

Ngôn ngữ review thay đổi theo sản phẩm và xu hướng thị trường. Một từ mới như tên tính năng, model sản phẩm hoặc cách viết tắt mới có thể làm một aspect suy giảm trước các aspect khác. Monitoring vì vậy nên theo dõi F1 hoặc error sample riêng cho từng nhóm aspect.

Ontology cũng cần versioning. Khi doanh nghiệp bắt đầu bán một loại sản phẩm mới, việc thêm aspect vào taxonomy làm thay đổi cả annotation guideline, model head và schema downstream. Không nên coi taxonomy là một danh sách nhãn bất biến.

Nguyên tắc quan trọng: chất lượng ABSA thường bị giới hạn bởi định nghĩa nhãn trước khi bị giới hạn bởi kiến trúc model. Nếu annotator không thống nhất được “giao hàng” thuộc SHIPPING hay SELLER_SERVICE, một Transformer lớn hơn sẽ không tự sửa được sự mơ hồ của ground truth.

Kết luận

Xây dựng ABSA cho thương mại điện tử tiếng Việt nên bắt đầu từ ontology và schema output, sau đó mới đến lựa chọn model. Với bài toán category-based ABSA, kiến trúc dùng chung PhoBERT encoder kết hợp multi-label aspect detection và aspect-conditioned sentiment classification là một baseline hiện đại, dễ mở rộng và phù hợp với output dạng aspect–polarity tuple.

Trong production, độ chính xác thực tế phụ thuộc không kém vào word segmentation, quality của annotation, kiểm soát leakage, threshold theo từng aspect và joint evaluation. Một hệ thống tốt không chỉ dự đoán sentiment đúng mà phải xác định đúng khách hàng đang nói về điều gì trước khi quyết định họ cảm thấy thế nào về điều đó.

Đọc thêm trên The CS Note: Bài toán phân tích cảm xúc trong văn bản và Tách từ trong tiếng Việt.

Tài liệu tham khảo

  1. [1] M. Pontiki, D. Galanis, J. Pavlopoulos, H. Papageorgiou, I. Androutsopoulos, and S. Manandhar, “SemEval-2014 Task 4: Aspect Based Sentiment Analysis,” in Proc. 8th International Workshop on Semantic Evaluation, Dublin, Ireland, 2014, pp. 27–35, doi: 10.3115/v1/S14-2004. ACL Anthology.
  2. [2] Association for Vietnamese Language and Speech Processing, “VLSP 2018 - Aspect Based Sentiment Analysis (VABSA 2018),” 2018. VLSP.
  3. [3] Q.-L. Tran, P. T. D. Le, and T.-H. Do, “Aspect-based Sentiment Analysis for Vietnamese Reviews about Beauty Product on E-commerce Websites,” in Proc. 36th Pacific Asia Conference on Language, Information and Computation, Manila, Philippines, 2022, pp. 767–776. ACL Anthology.
  4. [4] D. Q. Nguyen and A. T. Nguyen, “PhoBERT: Pre-trained Language Models for Vietnamese,” in Findings of the Association for Computational Linguistics: EMNLP 2020, 2020, pp. 1037–1042, doi: 10.18653/v1/2020.findings-emnlp.92. ACL Anthology.
© The CS Note · THE CS NOTE

Nội dung gốc thuộc tác giả. Vui lòng không đăng lại toàn văn khi chưa được phép, trừ trường hợp pháp luật hoặc giấy phép áp dụng cho phép. Nội dung của bên thứ ba tuân theo quyền và giấy phép tương ứng.

Nguồn gốc: Xây dựng hệ thống phân loại cảm xúc đa khia cạnh ABSA tiếng Việt cho thương mại điện tử

Về trang chủ Về đầu bài

Bài Đăng Phổ Biến

Bài toán tháp Hà nội

Trải nghiệm Tháp Hà Nội Kéo thả đĩa hoặc chạm vào các nút bên dưới để di chuyển. Bạn phải chuyển toàn bộ đĩa sang cột ngoài cùng bên phải (Cột 3) mà không đặt đĩa to lên đĩa nhỏ. Cột 1 Cột 2 Cột 3 Điều khiển & Chế độ Số lượng đĩa 4 Tốc độ máy giải ↪ Undo ↻ Chơi lại 🤖 Máy tự giải Thống kê ván chơi Nước đã đi 0 Thời gian 00:00 Tối thiểu cần 15 Kỷ lục của bạn - Lịch sử và Nguồn gốc Truyền thuyết Bài toán Tháp Hà Nội (hay Tháp Brahma) là một trò chơi xếp hình toán học kinh điển được giới thiệu lần đầu vào năm 1883 bởi nhà toán học người Pháp Édouard L...

Bài toán phân tích cảm xúc trong văn bản

Bài toán phân tích cảm xúc (sentiment analysis) là một bài toán NLP nhằm xác định thái độ hoặc cảm xúc được thể hiện trong văn bản. Ví dụ, từ một đánh giá như “Điện thoại đẹp, chạy nhanh nhưng pin hơi yếu”, hệ thống có thể nhận biết rằng người dùng có cả nhận xét tích cực và tiêu cực. Điểm thú vị của bài toán nằm ở khoảng cách giữa cách con người hiểu ngôn ngữ và cách máy tính xử lý dữ liệu. Một hệ thống phân tích cảm xúc cần biến văn bản tự nhiên thành dữ liệu có cấu trúc, học được các mẫu ngôn ngữ từ dữ liệu huấn luyện và đưa ra dự đoán hợp lý trên những câu chưa từng gặp. 1. Bài toán phân tích cảm xúc bắt đầu từ đâu? Hãy tưởng tượng một cửa hàng trực tuyến có hàng nghìn đánh giá mỗi ngày. Con người có thể đọc từng đánh giá để biết khách hàng hài lòng hay không, nhưng việc này nhanh chóng trở nên tốn thời gian khi dữ liệu tăng lên. NLP có thể biến bài toán đó thành một bài toán phân loại. Với mỗi văn bản, hệ thống nhận vào một chuỗi ký...

KAN cho phân đoạn khối u não với bộ BraTS 2020

Kolmogorov-Arnold Network (KAN) mở ra một hướng khác với MLP truyền thống: thay vì chỉ học các trọng số vô hướng trên mỗi kết nối, KAN có thể học những hàm phi tuyến một biến trên các cạnh . Khi đưa ý tưởng này vào kiến trúc encoder-decoder như U-Net, ta có thể sử dụng convolution để giữ cấu trúc không gian của ảnh MRI và dùng KAN để thực hiện các phép biến đổi phi tuyến mạnh hơn trên representation trung gian. Một bài toán phù hợp để nghiên cứu hướng này là phân đoạn u thần kinh đệm trên BraTS 2020 . Dataset cung cấp MRI đa mô thức và yêu cầu xác định các vùng Whole Tumor (WT), Tumor Core (TC) và Enhancing Tumor (ET). Đây là bài toán 3D có sự mất cân bằng voxel lớn, hình dạng khối u rất đa dạng và ranh giới giữa các mô bệnh lý không đơn giản. Lưu ý học thuật quan trọng: U-KAN gốc được công bố cho nhiều benchmark phân đoạn ảnh y tế nhưng không báo cáo kết quả BraTS 2020. Một công trình sau đó đã mở rộng U-KAN sang 3D MRI brain tumor segmentation , nhưng đánh giá trên BraTS 2...

Tách từ trong tiếng Việt Word Segmentation

Tách từ tiếng Việt là bài toán xác định ranh giới giữa các từ trong một chuỗi văn bản. Khó khăn nằm ở chỗ khoảng trắng trong tiếng Việt thường phân cách các âm tiết , nhưng một từ hoàn chỉnh có thể gồm nhiều âm tiết như “sinh viên” , “đại học” , “công nghệ” hay “tự nhiên” . Tách từ đúng giúp các hệ thống NLP dựa trên từ biểu diễn văn bản hợp lý hơn, đặc biệt trong tìm kiếm, TF-IDF, phân loại văn bản, gán nhãn từ loại và một số mô hình ngôn ngữ tiếng Việt. Tuy nhiên, với các Transformer sử dụng tokenizer dưới mức từ như subword hoặc SentencePiece, tách từ thủ công không phải lúc nào cũng là bước bắt buộc . Việc có cần tách từ trước hay không phụ thuộc vào mô hình và pipeline cụ thể. Tóm tắt nội dung Khoảng trắng trong tiếng Việt không phải lúc nào cũng là ranh giới từ ; nhiều từ gồm hai hoặc nhiều âm tiết. Word segmentation và tokenization có liên quan nhưng không hoàn toàn đồng nghĩa. Ba hướng chính gồm dựa trên từ điển, mô hình thống kê và mô hình học sâu . Tron...

KAN là gì? Mạng Kolmogorov-Arnold khác MLP thế nào?

Kolmogorov-Arnold Network (KAN) là một kiến trúc mạng nơ-ron trong đó mỗi cạnh không chỉ chứa một trọng số vô hướng mà mang một hàm một biến có thể học được . Đây là khác biệt cốt lõi so với Multi-Layer Perceptron (MLP), nơi các cạnh chủ yếu thực hiện phép nhân với trọng số còn hàm kích hoạt thường được áp dụng tại các node. KAN được lấy cảm hứng từ định lý biểu diễn Kolmogorov-Arnold và đặc biệt đáng chú ý trong các bài toán xấp xỉ hàm, mô hình hóa khoa học và symbolic regression. Tuy nhiên, KAN không nên được hiểu là kiến trúc đã thay thế MLP trong mọi bài toán Deep Learning; khả năng biểu diễn, chi phí tính toán và mức độ phù hợp của hai kiến trúc khác nhau theo từng nhiệm vụ. Tóm tắt nội dung MLP học chủ yếu trọng số trên các cạnh , còn KAN đặt hàm một biến học được trên từng cạnh . Một KAN layer cộng kết quả của nhiều hàm cạnh để tạo activation của node tiếp theo. KAN gốc sử dụng B-spline để tham số hóa các hàm phi tuyến trên cạnh. KAN có lợi thế đáng chú ý về trực...