Long short-term memory trong xử lý ngôn ngữ tự nhiên
Năm 2017, Google công bố bài báo “Attention Is All You Need” thông tin về Transformer như tạo ra bước ngoặt mới trong lĩnh vực NLP: “𝑻𝒓𝒂𝒏𝒔𝒇𝒐𝒓𝒎𝒆𝒓 𝑵𝒆𝒖𝒓𝒂𝒍 𝑵𝒆𝒕𝒘𝒐𝒓𝒌 𝒊𝒔 𝒕𝒉𝒆 𝒄𝒖𝒓𝒓𝒆𝒏𝒕 𝒔𝒕𝒂𝒕𝒆-𝒐𝒇-𝒕𝒉𝒆-𝒂𝒓𝒕 𝒕𝒆𝒄𝒉𝒏𝒊𝒒𝒖𝒆 𝒊𝒏 𝒕𝒉𝒆 𝒇𝒊𝒆𝒍𝒅 𝒐𝒇 𝑵𝑳𝑷”. Trước khi Transformer ra đời, hầu như các tác vụ xử lý ngôn ngữ tự nhiên, đặc biệt trong mảng Machine Translation (dịch máy) đều sử dụng kiến trúc Recurrent Neural Networks (RNNs). Do phải xử lý câu đầu vào một cách tuần tự nên nhược điểm của RNNs là tốc độ xử lý chậm và hạn chế trong việc biểu diễn sự phụ thuộc xa giữa các từ trong một câu.. Khi Transformer xuất hiện, các vấn đề mà RNNs gặp phải gần như đã được giải quyết triệt để. Sau này, Transformer là nền tảng cho các mô hình nổi tiếng khác như Bidirectional Encoder Representations from Transformer – BERT (2019), mô hình mà Google đã áp dụng cho cỗ máy tìm kiếm của mình hay trong AlphaStar của DeepMind – một chương trình có khả năng đánh bại những người chơi đỉnh cao của Starcraft. Bài viết này chỉ ra những điểm tiên tiến mà Transformer đã mang đến so với các mô hình nơ ron nhân tạo trước đó. Recurrent Neural Networks (RNNs) Recurrent Neural Networks (RNNs) – mạng nơ-ron hồi quy, được xây dựng từ các Neural Networks – mạng nơ-ron truyền thống dùng để mô hình hoá các chuỗi ví dụ như chuỗi các từ trong một câu. RNNs được gọi là hồi quy (Recurrent) bởi lẽ chúng thực hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra tại mỗi phần tử phụ thuộc vào các tính toán trên các phần tử trước đó. Nói cách khác mạng RNNs được thiết kế để có khả năng ghi nhớ các thông tin của các phần tử phía trước, do đó nó phù hợp để biểu diễn mối quan hệ phụ thuộc tuần tự của các phần tử trong 1 chuỗi. Do tính chất trên, nên mạng RNNs từng được áp dụng nhiều trong các bài toán xử lý ngôn ngữ sử dụng học sâu. Ví dụ mô hình sequence-to-sequence hay được sử dụng nhiều trong bài toán dịch máy (machine translation). Mô hình này nhận input là một chuỗi là câu cần dịch sau đó mã hoá câu này và giải mã ramột chuỗi chính là câu được dịch. Quá trình mã hoá (encoder) và giải mã (decoder) trong mô hình này đều sử dụng mạng RNNs. Ngoài ra các mạng RNNs cũng hay được sử dụng để xử lý các dữ liệu dạng chuỗi khác ví dụ như để dự đoán thị trường chứng khoán. Tuy nhiên, sau thời gian áp dụng, RNNs cũng thể hiện một số điểm yếu nhất định.
Ví dụ: Với câu “I grew up in Germany with my parents, I spent many years and have proper knowledge about their culture, that’s why I speak fluent ____.” Chúng ta dễ dàng đoán ra từ còn thiếu là German, vì nó liên quan đến “grew up in Germany”, nhưng RNNs lại không thể đoán ra vì khoảng cách quá xa giữa từ cần đoán và thông tin này. Mô hình Long Short Term Memory (LSTM). Nguồn ảnh: colah’s (CC0).Sau này, người ta đã phát triển mô hình Long Short Term Memory (LSTM) để giải quyết vấn đề Gradient Vanishing của RNNs. Tuy nhiên, với sự phức tạp của LSTM, thì tốc độ train đã trở nên chậm hơn nhiều lần so với RNNs. Vấn đề này ảnh hưởng đáng kể tới tốc độ xử lý để phát triển sản phẩm của NLP nên LSTM cũng chưa được đánh giá cao. Transformer Neural Network – Mạng nơ-ron nhân tạo giải quyết triệt để 2 bài toán của RNNs, mở ra kỷ nguyên tiên tiến trong lĩnh vực NLP. Transformer là một mô hình học sâu được thiết kế để phục vụ giải quyết nhiều bài toán trong xử lý ngôn ngữ và tiếng nói, ví dụ như bài toán dịch tự động, bài toán sinh ngôn ngữ, phân loại, nhận dạng thực thể, nhận dạng tiếng nói, chuyển văn bản thành tiếng nói. Tuy nhiên, khác với RNNs, Transformer không xử lý các phần tử trong một chuỗi một cách tuần tự. Nếu dữ liệu đầu vào là một câu ngôn ngữ tự nhiên, Transformer không cần phải xử lý phần đầu câu trước rồi mới tới phần cuối câu. Do tính năng này, Transformer có thể tận dụng khả năng tính toán song song của GPU và giảm thời gian xử lý đáng kể. Kiến trúc của Transformer Neural Network. Nguồn ảnh: arXiv:1706.03762 [cs.CL].Không sử dụng kiến trúc Recurrent (hồi quy) như RNNs mà Transformer sử dụng self-attention. Trong kiến trúc của mình, Transformer chứa 6 encoder và 6 decoder. Mỗi encoder chứa hai lớp: Self-attention và mạng truyền thẳng (FNN). Self-Attention là cơ chế giúp encoder nhìn vào các từ khác trong lúc mã hóa một từ cụ thể, vì vậy,Transformers có thể hiểu được sự liên quan giữa các từ trong một câu, kể cả khi chúng có khoảng cách xa. Các decoder cũng có kiến trúc giống như vậy nhưng giữa chúng có một lớp attention để nó có thể tập trung vào các phần liên quan của đầu vào. Self-Attention có 4 bước:
Dịch tự động cũng là một những bài toán đang được nghiên cứu tại Trung tâm công nghệ Trợ lý ảo của Viện Nghiên cứu Dữ liệu lớn Vingroup – VinBigdata. Bên cạnh dịch tự động, Trung tâm Trợ lý ảo liên tục nghiên cứu và phát triển các giải pháp, sản phẩm công nghệ như chatbot tự động phản hồi được huẩn luyện theo nghiệp vụ khách hàng, trợ lý nhập liệu cho bác sĩ,… Nguồn tham khảo: Towards Data Science |