Chủ đề của NLP301c - Xử lý ngôn ngữ tự nhiên

NLP301c - Phần 9: Mạng nơ-ron và RNN cho mô hình hoá ngôn ngữ

Một mạng nơ-ron phân loại văn bản thường bắt đầu bằng lớp embedding, lấy trung bình các vector từ rồi đưa qua các lớp dày đặc; mỗi lớp nhân với ma trận tham số, cộng độ lệch và đi qua hàm kích hoạt như ReLU. Mạng một lớp chỉ tách được dữ liệu tách được tuyến tính, nên dữ liệu phức tạp hơn cần nhiều lớp ẩn. Mạng nơ-ron hồi quy RNN dùng lại cùng bộ tham số ở mọi bước thời gian và mang theo một trạng thái ẩn, nhờ đó mô hình hoá được chuỗi có độ dài bất kỳ và sinh văn bản từng từ một. Khi chuỗi dài, gradient lan ngược qua nhiều bước có thể tiêu biến, lý do GRU thêm các cổng điều tiết lượng thông tin được giữ lại. LSTM với cơ chế cổng đầy đủ hơn được bàn ở Phần 10.

Xem danh sách câu hỏi7 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

7Câu hỏi hiện có

Câu hỏi của chủ đề

7/7 câuHết danh sách
ATrue
BFalse
Lời giải
Đáp án đúng: "True". Mạng nơ-ron chỉ thực hiện phép nhân ma trận, phép cộng và hàm kích hoạt trên số, nên mọi token (đơn vị văn bản sau khi tách, có thể là từ, từ con hay ký tự) phải được đổi thành số trước khi đưa vào. Quy trình thường là xây từ vựng, gán mỗi token một chỉ số nguyên (ID), rồi lớp embedding tra chỉ số đó để lấy vector số thực; hoặc dùng one-hot, TF-IDF làm đầu vào. Ngay cả mô hình lớn như BERT cũng nhận input_ids là dãy số nguyên do tokenizer sinh ra. Vì vậy "False" sai: không có mạng nơ-ron nào nhận trực tiếp chuỗi chữ; những mô hình trông như đọc thẳng ký tự thực chất vẫn mã hoá từng ký tự hay byte thành số trước khi tính toán.
Mở trang câu hỏi này →
AReLU
BSigmoid
CTanh
DSoftmax
Lời giải
Đáp án đúng: "Tanh". Trong RNN cơ bản (vanilla hay Elman RNN), trạng thái ẩn được cập nhật theo h(t) = tanh(W·h(t−1) + U·x(t) + b): hàm tanh nén giá trị về khoảng (−1, 1), đối xứng quanh 0 nên trạng thái ẩn giữ được cả tín hiệu dương lẫn âm và ổn định hơn khi lặp qua nhiều bước, đạo hàm lớn nhất bằng 1 nên gradient suy giảm chậm hơn so với sigmoid. "ReLU" không bị chặn trên, khi nhân lặp qua các bước dễ làm trạng thái ẩn và gradient bùng nổ, nên chỉ được dùng trong vài biến thể về sau với cách khởi tạo đặc biệt. "Sigmoid" từng xuất hiện ở các mạng hồi quy đời đầu, nhưng trong công thức RNN chuẩn nó được dành cho các cổng của LSTM và GRU, nơi cần giá trị từ 0 tới 1 để đóng mở luồng thông tin. "Softmax" dùng ở tầng đầu ra để biến điểm số thành phân phối xác suất trên từ vựng, không dùng cho trạng thái ẩn.
Mở trang câu hỏi này →
AMachine translation
BImage caption generation
CCharacter generation
DSentiment classification
Lời giải
Đáp án đúng: "Sentiment classification". Kiến trúc RNN nhiều–một (many-to-one) đọc cả một chuỗi đầu vào qua nhiều bước thời gian rồi chỉ xuất một kết quả ở bước cuối. Phân loại cảm xúc đúng kiểu này: mạng đọc lần lượt các từ của câu đánh giá, trạng thái ẩn cuối tóm tắt cả câu và được đưa qua lớp softmax để ra một nhãn duy nhất như tích cực hay tiêu cực. "Machine translation" (dịch máy) nhận một chuỗi và sinh ra một chuỗi khác có độ dài có thể khác, nên dùng kiến trúc nhiều–nhiều dạng encoder–decoder (seq2seq). "Image caption generation" (sinh chú thích ảnh) nhận một đầu vào là ảnh và sinh ra chuỗi từ, tức kiểu một–nhiều (one-to-many). "Character generation" (sinh ký tự) xuất ra liên tiếp nhiều ký tự, mỗi bước một ký tự, nên là kiểu một–nhiều hoặc nhiều–nhiều chứ không dừng ở một đầu ra.
Mở trang câu hỏi này →
AProcessing a batch of tweets stored in a database
BPredicting the next stock price based on a live price feed
CPerforming offline text summarization
DTranslating a stored paragraph from English to French
Lời giải
Đáp án đúng: "Predicting the next stock price based on a live price feed". Bi-RNN (mạng hồi quy hai chiều) chạy một RNN từ đầu đến cuối chuỗi và một RNN từ cuối về đầu rồi ghép trạng thái ẩn, nên dự đoán tại mỗi vị trí dùng cả quá khứ lẫn tương lai. Điều đó đòi hỏi có sẵn toàn bộ chuỗi trước khi xử lý. Với dòng giá đến liên tục theo thời gian thực, lúc dự đoán giá kế tiếp ta chưa có các giá tương lai nên nhánh chạy ngược không có dữ liệu; muốn dùng phải sửa, chẳng hạn chỉ giữ RNN một chiều. "Processing a batch of tweets stored in a database" có toàn bộ văn bản sẵn nên Bi-RNN dùng tốt. "Performing offline text summarization" xử lý ngoại tuyến, đọc trọn văn bản trước khi tóm tắt. "Translating a stored paragraph from English to French" cũng có đủ câu nguồn từ đầu, và bộ mã hoá hai chiều chính là lựa chọn phổ biến trong dịch máy.
Mở trang câu hỏi này →
ARNN
BTransformer
CDecision Tree
DHMM
ENaive Bayes
FLSTM
Lời giải
Đáp án đúng gồm bốn ý: "RNN", "Transformer", "HMM" và "LSTM". Mô hình chuỗi (sequence model) xử lý dữ liệu có thứ tự và khai thác quan hệ giữa các phần tử theo vị trí. RNN đọc từng token và mang trạng thái ẩn sang bước sau; LSTM là RNN có ô nhớ và các cổng nên giữ được phụ thuộc xa; Transformer xử lý cả chuỗi bằng self-attention cộng mã hoá vị trí (positional encoding) để biết thứ tự; HMM mô hình hoá chuỗi trạng thái ẩn bằng xác suất chuyển trạng thái và xác suất phát ra, dùng cho gán nhãn từ loại và nhận dạng tiếng nói. "Decision Tree" không phải mô hình chuỗi vì nó phân lớp một vectơ đặc trưng cố định bằng các phép tách theo thuộc tính, không biết thứ tự giữa các phần tử. "Naive Bayes" coi văn bản là túi từ với giả định các từ độc lập, bỏ qua hoàn toàn thứ tự nên cũng không phải mô hình chuỗi.
Mở trang câu hỏi này →
ANeural Networks
BDistance measure of similarity
CEigenvalue Formula
DLinearly Separable
Lời giải
Đáp án đúng: "Linearly Separable". Hai dòng mô tả đúng khái niệm khả tách tuyến tính (linearly separable): mạng một tầng như perceptron chỉ vẽ được một siêu phẳng quyết định w·x + b = 0, nên nó chỉ học được khi dữ liệu các lớp có thể chia bằng một đường thẳng hay siêu phẳng; ví dụ hàm XOR không khả tách tuyến tính nên perceptron một tầng thất bại, phải thêm tầng ẩn với hàm kích hoạt phi tuyến. "Neural Networks" là chủ đề chung quá rộng, các dòng mô tả không định nghĩa mạng nơ-ron mà nói về điều kiện dữ liệu của mạng một tầng. "Distance measure of similarity" là các độ đo khoảng cách như Euclid hay cosine dùng so độ giống nhau, không liên quan tới số tầng của mạng. "Eigenvalue Formula" là công thức trị riêng của đại số tuyến tính, dùng trong PCA, không phải khái niệm được mô tả.
Mở trang câu hỏi này →
AWhat needs to be chosen?
BFeedforeword network
CNeural network
DRecurrent network
Lời giải
Đáp án đúng: "Neural network". Mô tả gồm các nơ-ron mô phỏng nối với nhau, có lớp đầu vào với mỗi đặc trưng một đầu vào, một hay nhiều lớp ẩn và lớp đầu ra với mỗi biến mục tiêu một đầu ra, chính là định nghĩa chung của mạng nơ-ron nhân tạo (artificial neural network) trong học máy, kiến thức nền dùng cho NLP. "Feedforeword network" (mạng truyền thẳng) là một loại mạng nơ-ron trong đó tín hiệu chỉ đi một chiều từ đầu vào ra đầu ra; cấu trúc được tả không mâu thuẫn với nó, nhưng mô tả không nêu đặc điểm phân biệt là không có chu trình, nên khái niệm khớp nhất là mạng nơ-ron nói chung. "Recurrent network" có kết nối hồi quy đưa trạng thái ẩn của bước trước vào bước sau để xử lý chuỗi, điều mô tả không hề nhắc tới. "What needs to be chosen?" không phải tên mô hình mà là câu hỏi về việc chọn kiến trúc, số lớp, số nơ-ron, nên không trả lời định nghĩa.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.