« Home « Kết quả tìm kiếm

Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên


Tóm tắt Xem thử

- Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên Phạm Quang Nhật Minh Nghiên cứu viên NLP Alt Việt Nam Ngày 20 tháng 1 năm 2019 Nội dung chính 2 n “Deep Learning” là gì? n Vì sao Deep Learning thành công? n Kiến thức cơ bản về Deep Learning n Ứng dụng của mạng neural trong xử lý ngôn ngữ tự nhiên tại al+ inc ¨ Trích xuất thực thể có tên gọi ¨ Trích xuất thuộc tính người dùng trong hội thoại ¨ Sinh câu trả lời bằng mô hình seq2seq Deep Learning là gì? 3 Artificial Intelligence (AI) Machine Learning Deep Learning Trí tuệ nhân tạo (Artificial Intelligence) 4 n Ra đời từ những năm 1950 n Định nghĩa ¨ “the theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.” n Thời gian đầu cách tiếp cận phổ biến trong AI là lập trình một cách tường minh các luật để xử lý tri thức (symbolic AI) Học máy (Machine Learning) 5 Rules Symbolic AI Answers Data Data Machine Learning Rules Answers Trước khi có Deep Learning 6 n Perceptron n Naive Bayes n Decision Trees n Random Forest n SVM n Kernel methods n.
- n Các thuật toán trên thường được gọi là Shallow Learning Deep Learning 7 Layer 1 Layer 2 Layer 3 Layer Final 5 output 6 7 8 9 Deep Learning dùng mạng Neural để học biểu diễn của dữ liệu qua các tầng Lịch sử phát triển của Deep Learning 8 Nguồn ảnh: UVA Deep Learning Course (https://uvadlc.github.io/) Vì sao Deep Learning thành công? 9 n Những bước tiến về phần cứng giúp tăng quy mô tính toán (GPU, CUDA.
- Có thể huấn luyện các mạng neural với rất nhiều layers n Lượng dữ liệu (đặc biệt là dữ liệu có gán nhãn) và các benchmark data tăng lên đáng kể n Những tiến bộ về thuật toán ¨ Thuật toán lan truyền ngược (Backpropagation.
- Các hàm activation tốt hơn như ReLU ¨ Các thuật toán tối ưu mới như RMSProp, Adam.
- Những thành công của Deep Learning 10 n 2016: Đạt độ chính xác ngang với con người trong nhận dạng đối tượng trong ảnh (trên tập ImageNet) n 2016: AlphaGo của Google DeepMind vượt qua con người trong môn cờ vây n 2017: Hệ nhận dạng tiếng nói do Microsoft phát triển đạt độ chính xác ngang với con người n 2018: Hệ dịch máy Trung - Anh do Microsoft phát triển đạt độ chất lượng ngang với con người khi dịch các tin tức n 2018: Mô hình BERT (Google) vượt qua con người trong bài toán đọc hiểu trên tập SQuAD 1.1 Nội dung chính 11 n “Deep Learning” là gì? n Vì sao Deep Learning thành công? n Kiến thức cơ bản về Deep Learning n Ứng dụng của mạng neural trong xử lý ngôn ngữ tự nhiên tại al+ inc ¨ Trích xuất thực thể có tên gọi ¨ Trích xuất thuộc tính người dùng trong hội thoại ¨ Sinh câu trả lời bằng mô hình seq2seq Chương trình “Hello World” của Deep Learning 12 n Bài toán: huấn luyện mô hình nhận dạng chữ số viết tay n Dữ liệu huấn luyện: 60,000 ảnh 28 x 28 pixels n Dữ liệu test: 10,000 ảnh from keras.datasets import mnist from keras import models from keras import layers from 13 keras.utils import to_categorical (train_images, train_labels), (test_images, test_labels.
- mạng của các network.add(layers.Dense(10, activation='softmax.
- 255 tensor thích train_labels = to_categorical(train_labels) hợp với model test_labels = to_categorical(test_labels) network.fit(train_images, train_labels, epochs=5, Huấn luyện batch_size=128) mô hình Mô hình Deep Learning 14 n Thành phần chính trong mô hình Deep Learning ¨ Dữ liệu đầu vào đầu ra mong muốn (nhãn.
- Các tầng trong mạng neural (layers.
- Hàm mất mát (loss function) để đo đạc sự sai khác giữa đầu ra của thuật toán và đầu ra mong muốn trên tập huấn luyện ¨ Bộ tối ưu hóa (optimizer) để tối ưu (cực tiểu) hàm mất mát n Quá trình học ¨ Là quá trình điều chỉnh trọng số để tối ưu hàm mất mát Quan hệ giữa các thành phần trong mạng 15 Nguồn ảnh: sách “Deep Learning with Python” Kiến trúc Multi-layer Perceptron (MLP) 16 network = models.Sequential() network.add(layers.Dense(6, activation='relu', input_shape=(5.
- network.add(layers.Dense(6, activation='relu.
- network.add(layers.Dense(3, activation='softmax.
- Biểu diễn dữ liệu đầu vào của mạng 17 n Tensor (multi-dimensional array) là cấu trúc dữ liệu cơ bản trong hầu hết các hệ thống deep learning hiện nay ¨ Vector (1D tensors.
- 3D Tensors Một số ví dụ về dữ liệu trong các bài toán 18 n Biểu diễn tập 1000 văn bản bằng 2D tensor với kích thước n Dữ liệu timeseries hay sequence được biểu diễn bằng 3D tensor ¨ 1000 câu, mỗi câu có 10 từ và mỗi từ được biểu diễn bằng vector 100 chiều sẽ được lưu trong tensor có kích thước n Dữ liệu ảnh được biểu diễn bằng 4D tensor ¨ Ví dụ 128 ảnh màu kích thước 256 x 256 được biểu diễn bằng tensor với kích thước Tầng trong mạng neural (Layers) 19 n Là một module xử lý dữ liệu ¨ Đầu vào: 1 hoặc nhiều tensor ¨ Đầu ra: 1 hoặc nhiều tensor n Tầng thường có trạng thái là các trọng số (weights) n Mỗi tầng sẽ thực hiện các phép toán trên tensors from keras import layers layer = layers.Dense(6, activation=‘relu’, input_shape=(5.
- b) Mạng neural = mạng của các layer 20 n Một mô hình deep learning là một đồ thị có hướng, không có chu trình của layer n Việc sắp xếp các layer theo các cách khác nhau sẽ tạo ra các kiến trúc mạng (network architecture hay network topology) khác nhau Answer Dense Sentiment Topic Concatenation Dense Dense LSTM LSTM 1D convnet Embedding Embedding Sentence Reference text Question Hàm mất mát (loss function) 21 n Đánh giá lỗi của mô hình ở trạng thái hiện tại khi mô hình thực hiện việc dự đoán trên dữ liệu ¨ Sai khác giữa đầu ra của mô hình và đầu ra mong muốn n Các hàm mất mát hay dùng.
- Cross-entropy cho bài toán phân loại ¨ Mean-square error (MSE) cho bài toán regression ¨ Negative Logarithmic Likelihood (NLL) Bộ tối ưu hóa (Optimizer) 22 n Quá trình huấn luyện mạng là quá trình tối ưu tham số của mô hình ¨ Cực tiểu hóa hàm mất mát n Các thuật toán tối ưu tham số của mạng neural dựa trên gradient ¨ Stochastic gradient descent (SGD.
- Xử lý dữ liệu ảnh ¨ http://cs231n.github.io/convolutional-networks/ n Recurrent Neural Networks (RNN.
- Xử lý dữ liệu dạng chuỗi thời gian (timeseries hay sequence) Một số framework cho Deep Learning 25 n TensorFlow ¨ http://tensorflow.org/ n Keras ¨ https://keras.io/ n PyTorch ¨ https://pytorch.org/ Tóm tắt nội dung đã trình bày 26 n Thành công của Deep Learning nhờ vào: 1) tiến bộ về phẩn cứng.
- 2) lượng dữ liệu tăng lên.
- 3) các bước tiến về thuật toán n Các thành phần cơ bản trong mô hình deep learning: input, layers, loss function, optimizer n Hai thuật toán cơ bản và quan trọng trong Deep Learning là backpropagation và thuật toán tối ưu dựa trên gradient (gradient descent) n Mô hình deep learning học biểu diễn của dữ liệu qua nhiều tầng khác nhau n Về cơ bản, hoạt động trong mô hình deep learning dựa trên các phép biến đổi tensors n Deep Learning tốt cho các bài toán liên quan đến nhận thức (perceptual) như xử lý ảnh, xử lý tiếng nói và NLP Nội dung chính 27 n “Deep Learning” là gì? n Vì sao Deep Learning thành công? n Kiến thức cơ bản về Deep Learning n Ứng dụng của mạng neural trong xử lý ngôn ngữ tự nhiên tại al+ inc ¨ Trích xuất thực thể có tên gọi ¨ Trích xuất thuộc tính người dùng trong hội thoại ¨ Sinh câu trả lời bằng mô hình seq2seq Một số ứng dụng tại al+ inc 28 n Công ty: al+ inc n Trang Web: https://alt.ai/en n Các ứng dụng hướng tới việc phát triển hệ thống giao tiếp tự động n Các ứng dụng đã/đang triển khai ¨ Trích xuất thực thể có tên gọi (FG-NER: Fine-grained named entity recognition.
- Trích xuất thuộc tính người dùng trong hội thoại ¨ Mô hình seq2seq cho sinh câu trả lời Nhận dạng thực thể có tên gọi* 29 n Trích xuất thực thể có tên riêng thông thường Donald Trump is the 45th president of the United States Person Location n Trích xuất thực thể tên riêng ở mức chi tiết (FG-NER: Fine-grained Named Entity Recognition) Donald Trump is the 45th president of the United States Person Ordinal_Number Position_Vocation Country * Mai, K., Pham, T.
- Trích xuất thực thể tên gọi ở mức chi tiết 30 n Tăng số loại thực thể lên từ 8 loại đến 200 loại n Sử dụng cấu trúc phân cấp cho các loại thực thể n Bao gồm 3 cấp n Mức top: 16 loại, mức lá: 200 loại Person Organization Location Facility Product.
- Ethnic Group Sports Org Corporation Org Other Org Political Other Government Cabinet Military Party Political Org FGNER Demo 31 n Thử nghiệm hệ thống FG-NER: https://fgner.alt.ai/extractor/ Thuật toán trong mô hình FG-NER 32 al+ FG-NER Rule + Dictionary based Machine Learning based Hierarchical LSTM+CNN+CRF LSTM+CNN+CRF+Dict CRF-SVM Mô hình LSTM+CNN+CRF Ma and Hovy, 2016) 33 Bổ sung đặc trưng từ điển 34 Cải tiến mô hình của Ma và Hovy bằng cách bổ sung category embeddings • Category của các từ được lấy trong từ điển B-Person B-City Each dimension is associated with a B-I-O label … I-God One-hot 0 0 0 0 Representation 0 0 0 1.
- Bỏ CNN layer đối với mô hình cho tiếng Nhật 35 B-Person B-City Each dimension is associated with a B-I-O … label I-God One-hot 0 0 0 0 Representation 0 0 0 1.
- token He lives in Tokyo God Kết quả thực nghiệm 36 Method English Japanese LSTM+CNN+CRF Ma and Hovy, 2016) LSTM+CNN+CRF+Dict LSTM+CRF+Dict LSTM+CRF+Dict+Cate - 75.18 LSTM+CNN+CRF+Dict+Cate 82.29 - Trích xuất thông tin người dùng trong hội thoại 37 PAI (Personal AI): (What is your name?) Human A: (My name is Minh.
- I am working at Alt Vietnam.) User Attribute Extraction {SpeakerID=ID1, S= (I), Attribute= (Name), O=Minh} {SpeakerID=ID1, S= (I), Attribute= (Company), O= (Alt Vietnam)} Mô hình mạng neural cho trích xuất thuộc tính 38 Mô hình seq2seq cho sinh hội thoại 39 n Ý tưởng: tận dụng dữ liệu hội thoại (lịch sử hội thoại) để học mô hình tự động sinh câu trả lời n Xuất phát từ ý tưởng trong lĩnh vực dịch máy ¨ Sinh câu trả lời giống như như quá trình dịch từ câu nguồn sang câu đích Xây dựng mô hình seq2seq cho sinh câu trả lời 40 n Chuẩn bị dữ liệu hội thoại về các chủ đề khác nhau A: B: A.
- n Tạo dữ liệu training cho mô hình seq2seq ¨ (context, q, r) n q: query hiện tại n context: các câu hội thoại trước đó n r: câu trả lời n Mô hình: Biến đổi mô hình seq2seq để sử dụng được context ¨ Tian, Zhiliang, et al.
- Nội dung đã trình bày 41 n “Deep Learning” là gì? n Vì sao Deep Learning thành công? n Kiến thức cơ bản về Deep Learning n Ứng dụng của mạng neural trong xử lý ngôn ngữ tự nhiên tại al+ inc ¨ Trích xuất thực thể có tên gọi ¨ Trích xuất thuộc tính người dùng trong hội thoại ¨ Sinh câu trả lời bằng mô hình seq2seq Hỏi đáp & Thảo luận