Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
4,71 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TIỂU LUẬN Môn học: Khai phá liệu Chương 10: MƠ HÌNH CHUỖI: MẠNG NƠ-RON HỒI QUY VÀ ĐỆ QUY Giáo viên hướng dẫn: PGS TS Hà Quang Thụy Sinh viên thực hiện: Nhóm HÀ NỘI – 2018 MỤC LỤC BẢNG CHÚ GIẢI VIẾT TẮT PHẦN PHÂN CÔNG CÔNG VIỆC PHẦN – CHƯƠNG 10 SEQUENCE MODELING: RECURRENT AND RECURSIVE NETS 10.1 Unfolding Computational Graphs 10.2 Recurrent Neural Networks 10.2.1 Teacher Forcing and Network with Output Recurrent 12 (Giáo viên bắt buộc mạng có tái xuất đầu ra) 12 10.2.2 Tính tốn Gradient Recurrent Neural Network 14 10.2.3 Recurrent Networks as Directed Graphical Models 16 10.2.4 Modeling Sequences Conditioned on Context with RNNs 20 10.3 Bidirectional RNNs (mạng nơron hồi quy chiều) 24 10.4 Encoder-Decoder Sequence-to-Sequence Archiectures 26 10.5 Deep Reccurent Networks: Mạng hồi quy sâu 28 10.5.1 Computation: Sự tính tốn 28 10.5.2 Các kiểu mạng RNNs sâu 29 10.6 Recursive Neural Netwoks: Mạng nơron đệ quy 31 10.6.1 Đồ thị tính tốn mạng đệ quy 10.6.2 Cấu trúc mạng đệ quy 10.6.3 Biến thể mạng đệ quy 32 10.7 Thách thức phụ thuộc xa 33 31 32 10.7.1 Giới thiệu 33 10.7.2 Các hàm thành phần RNNs 33 10.7.3 Trường hợp vô hướng giải pháp khả thi 35 10.7.4 Vanishing and Exploding Gradient Problem 35 10.8 Echo state networks Phương pháp ESN 36 36 10.9 Leaky units and other strategies for multiple time scales 39 10.9.1 Adding Skip Connections through Time 39 10.9.2 Leaky units and a spectrum of different time scales 39 10.9.3 Removing connections 40 10.10 The long short-term memory and other gated RNNs 40 10.10.1 Long short-term memory 41 10.10.2 Other gated RNNs 42 10.11 Optimization for Long-Term Dependencies 43 10.11.1 Clipping Gradients 43 10.11.2 Regularizing to Encourage Information Flow 10.12 Explicit Memory (Bộ nhớ rõ ràng) 46 45 PHẦN - CHƯƠNG 50 WORD VECTOR REPRESENTATIONS 50 2.1 Introduction to Word Embedding 50 Neural Language Model 2.2 Word2vec 55 54 2.2.1 Skip-Gram Model 56 2.2.2 Model Components: Architecture 57 2.2.3 Model Components: Hidden Layer 57 2.2.4 Model Components: Output Layer 58 2.2.5 CBOW model 59 2.3 Subsampling Frequent Words 2.3.1 Negative Sampling 60 61 PHẦN – DEMO WORD2VEC – THE SKIP-GRAM MODEL 62 4.1 Thực nghiệm Bước Lấy liệu: 62 Bước Làm liệu Bước Tách từ 64 Bước 4: Huấn luyện 65 Bước Test 65 62 63 Bước Visualization 67 Link github: 68 4.2 Kết luận 68 PHẦN TÀI LIỆU THAM KHẢO69 Nguồn sách: 69 Các nguồn khác: 69 BẢNG CHÚ GIẢI VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt NN Neural network Mạng nơron RNN, RNNs Recurrent neural network Mạng nơron hồi quy BTTT Backpropagation through time Truyền ngược liên hồi MLP Multi-layer Perceptron Mạng perceptron đa tầng SGD Stochastic gradient descent Trượt gradient ngẫu nhiên NTMs Neural Turing machine Máy Turing nơron LSTM Long short-term memory Bộ nhớ dài-ngắn CBOW Continuous Bag of Words Affine transformation Phép biến đổi tịnh tiến Vanishing Hiện tượng biến gradien Exploding Hiện tượng gradien tăng đột biến PHẦN PHÂN CÔNG CÔNG VIỆC Thành viên Nguyễn Trọng Hà Nguyễn Hồng Quân Trần Thị Phương Anh Dương Thanh Hải Trần Văn Định Công việc 10.2 Recurrent Neural Networks Demo: Word2Vec Tổng hợp, biên soạn tài liệu chung 10.1 Unfolding Computational Graphs 10.3 Bidirectional Recurrent Neural Networks 10.4 Encoder-Decoder Sequence-to-Sequence Archiectures Introduction to Word Embedding Word2Vec: giới thiệu Giới thiệu chương 10 10.5 Deep Reccurent Networks 10.6 Recursive Neural Netwoks 10.7 Thách thức phụ thuộc xa Word2Vec: Skip-Gram, Model Components Hỗ trợ biên soạn tài liệu chung 10.9 Leaky units and other strategies for multiple time scales 10.10 The long short-term memory and other gated Recurrent Neural Networks Word2Vec: CBOW Subsampling Frequent Words 10.11 Optimization for Long-Term Dependencies 10.12 Explicit Memory (Bộ nhớ rõ ràng) Phần – Chương 10 Sequence Modeling: Recurrent and Recursive Nets (Mơ hình tuần tự: mạng hồi quy mạng đệ quy) Recurrent neural networks (Mạng nơron hồi quy) - RNN (Rumelhart et al., 1986a) dạng mạng nơron để xử lý liệu dạng chuỗi RNN mạng nơron chuyên biệt cho xử lý chuỗi giá trị x (1), …, x(τ) Nó chia tỷ lệ chuỗi dài thực tế mạng khơng có dạng chuỗi chun mơn hóa Hầu hết Recursive Nets xử lý chuỗi có chiều dài thay đổi Để chuyển từ mạng đa tầng sang Reccurent Networks, cần tận dụng ý tưởng ban đầu tìm thấy mơ hình học máy thống kê năm 1980: chia sẻ tham số qua phần khác mơ hình Việc chia sẻ tham số giúp cho mở rộng ứng dụng mơ hình cho ví dụ theo hình thức khác (ở độ dài khác nhau) tổng quát chúng Nếu ta có tham số riêng với giá trị thời điểm, khơng thể khái qt hóa độ dài chuỗi mà ta khơng thấy q trình training, chia sẻ sức mạnh thống kê qua độ dài chuỗi khác qua vị trí khác thời điểm Chia sẻ đặc biệt quan trọng thông tin cụ thể xảy nhiều vị trí chuỗi Ví dụ, xem xét hai câu “I went to Nepal in 2009” “In 2009, I went to Nepal.” Nếu u cầu mơ hình học máy đọc câu đưa năm mà người kể chuyện đến Nepal, muốn nhận năm 2009 phần thông tin liên quan, cho dù xuất vị trí câu Giả sử đào tạo feedforward network xử lý câu có độ dài cố định Một kết nối truyền thống đầy đủ mạng feedforward có tham số riêng biệt cho đặc trưng đầu vào, cần phải tìm hiểu tất quy tắc mặt ngơn ngữ cách riêng biệt vị trí câu Bằng cách so sánh, RNN chia sẻ trọng số qua vài bước thời gian Các Recurrent networks chia sẻ tham số theo cách: phần tử đầu hàm phần tử trước Mỗi thành phần output tạo cách sử dụng quy tắc cập nhật áp dụng cho kết đầu trước Cơng thức hồi quy dẫn đến chia sẻ tham số thông qua đồ thị tính tốn sâu Để đơn giản, đề cập đến RNNs phép toán chuỗi mà chứa vectơ x(t) với bước thời gian số t chạy từ đến τ Trong thực tế, mạng thường tính toán minibatch (khối con) chuỗi vậy, với độ dài chuỗi τ khác cho thành phần minibatch Chúng ta có bỏ qua số minibatch để đơn giản hóa ký hiệu Hơn nữa, số bước thời gian không hiểu theo nghĩa đen ám thời gian trôi qua giới thực Đơi đề cập đến vị trí chuỗi (index) RNN áp dụng liệu khơng gian hai chiều hình ảnh chí áp dụng cho liệu liên quan đến thời gian, có kết nối ngược thời gian, với điều kiện toàn chuỗi quan sát trước cung cấp cho RNN Để biết thêm thông tin RNN, giới thiệu người đọc đến sách giáo khoa Graves (2012) 10.1 Unfolding Computational Graphs (Mở rộng đồ thị tính tốn) Đồ thị tính tốn cách để hợp thức hóa cấu trúc tập phép tính, chẳng hạn người tham gia vào việc lập đồ đầu vào, tham số cho đầu mát Bạn xem mục 6.5.1 để có phần giới thiệu chung Trong phần chúng tơi giải thích ý tưởng unfolding tính tốn đệ quy tái diễn vào tính tốn biểu đồ có cấu trúc lặp lại, thường tương ứng với chuỗi kiện Việc mở rộng biểu đồ dẫn đến việc chia sẻ thông số mạng sâu kết cấu Ví dụ, xem xét dạng cổ điển hệ thống: s(t) = f(s(t-1); θ), (10.1) s(t) gọi trạng thái hệ thống Phương trình 10.1 có hồi quy định nghĩa s thời điểm t đề cập đến thời điểm t - Đối với số time step hữu hạn τ, biểu đồ mở cách áp dụng định nghĩa τ - lần Ví dụ, mở rộng phương trình 10.1 cho τ = 3, chúng tơi có s(3) = f(s(2); θ), (10.2) = f(f(s(1); θ) ; θ), (10.3) Mở rộng phương trình cách lặp lại việc áp dụng định nghĩa, cách mang lại biểu thức không liên quan đến hồi quy, biểu diễn đồ thị tính tốn theo chu kỳ truyền thống Các Unfolding Computational Graphs phương trình 10.1 phương trình 10.3 minh họa hình 10.1 (10.1) Hình 10.1: Hệ thống động học cổ điển mơ tả theo phương trình 10.1, coi Unfolding Computational Graphs Mỗi nút thể trạng thái số thời điểm hàm f ánh xạ trạng thái t tới trạng thái t + Các tham số giống (cùng giá trị θ với vai trò tham số) sử dụng cho tất bước thời gian Một ví dụ khác, xem xét hệ thống lực thúc đẩy bên ngồi tín hiệu x(t) s(t) = f(s(t-1), x(t) ; θ), (10.4) thấy trạng thái chứa thơng tin tồn chuỗi khứ RNN xây dựng theo nhiều cách khác Hầu chức coi mạng thần kinh feedforward, chất chức liên quan đến hồi quy coi RNN Nhiều RNN sử dụng phương trình 10.5 phương trình tương tự để xác định giá trị đơn vị ẩn Để trạng thái đơn vị ẩn, viết lại phương trình 10.4 lấy h để đại diện: h(t) = f(s(t-1), x(t) ; θ), (10.5) minh họa hình 10.2, RNNs điển hình thêm tính kiến trúc bổ sung, lớp đầu đọc thông tin output từ trạng thái h để đưa dự đoán Khi Recurrent network huấn luyện để thực nhiệm vụ địi hỏi phải dự đốn tương lai từ khứ, mạng thường học cách sử dụng h(t) hàm mát tóm tắt khía cạnh liên quan đến nhiệm vụ chuỗi đầu vào khứ ảnh hưởng tới t Điều nói chung mát, ánh xạ chuỗi chiều dài tùy ý (x (t), x (t − 1), x (t − 2),.,., x (2), x (1)) đến vectơ chiều dài cố định h (t) Tùy thuộc vào tiêu chí Bản tóm tắt chọn lọc giữ số khía cạnh với độ xác cao khía cạnh khác Ví dụ, RNN sử dụng mơ hình ngơn ngữ thống kê, thường để dự đoán từ dựa vào từ trước đó, việc lưu trữ tất thơng tin input thời điểm t không cần thiết, đủ thơng tin để dự đốn phần cịn lại câu Tình khắt khe yêu cầu h(t) đủ “giàu” phép khoảng khôi phục chuỗi đầu vào, cấu tự động hóa (chương 14) (10.2) Hình 10.2: Recurrent network khơng có đầu Recurrent network trình đưa input x vào trạng thái h chuyển tiếp qua thời gian cách kết hợp (bên trái) Hình vng màu đen biểu thị chậm trễ bước Bên phải, mạng lưới tương tự thấy dạng Unfolding Computational Graphs, nút kết hợp với cá thể thời gian cụ thể Phương trình 10.5 vẽ theo hai cách khác Một cách để vẽ RNN : sơ đồ chứa nút cho thành phần tồn bước thục nghiệm vật lý, chẳng hạn mạng nơron sinh học Nhìn chung, mạng lưới xác định mạch hoạt động thời gian thực, với thành phần vật lý trạng thái ảnh hưởng đến trạng thái tương lai chúng, bên trái hình 10.2 Trong suốt chương này, sử dụng hình vng màu đen sơ đồ mạch để biểu thị tương tác diễn với chậm trễ bước thời gian, từ trạng thái thời điểm t đến trạng thái thời điểm t + Cách khác để vẽ RNN vẽ Unfolding Computational Graphs, thành phần biểu diễn nhiều biến khác nhau, với biến cho time step, đại diện cho trạng thái thời điểm Mỗi biến cho time step vẽ nút riêng biệt biểu đồ tính tốn, bên phải hình 10.2 Những chúng tơi gọi unfolding (bày ra) hoạt động ánh xạ mạch phía bên trái hình vào computational graph với phần lặp lại phía bên phải Mở biểu đồ có kích thước phụ thuộc vào độ dài chuỗi Chúng ta biểu diễn hồi quy mở rộng sau vài bước t với hàm g(t): h(t) = g(t) (x(t) ,x(t-1), x(t-2),…,x(2), x(1)) (10.6 = f (h(t-1), x(t) ; θ) (10.7) Hàm g (t) lấy toàn chuỗi khứ (x (t), x (t − 1), x (t − 2), , x (2), x(1)) làm đầu vào tạo trạng thái tại, cấu trúc hồi quy mở rộng cho phép đưa g(t) vào ứng dụng lặp lại hàm f Việc có ưu điểm chính: Bất kể độ dài chuỗi, mơ hình học ln có kích thước đầu vào, xác định điều kiện chuyển đổi từ trạng thái sang trạng thái khác, thay xác định theo tiêu chí thay đổi độ dài ca làm việc Có thể sử dụng hàm chuyển tiếp f với tham số time step Hai yếu tố làm cho học mơ hình hoạt động tất time step tất độ dài chuỗi, thay cần phải tìm hiểu riêng biệt mơ hình g(t) tất thời điểm Học mơ hình chia sẻ cho phép tổng qt độ dài chuỗi mà chưa xuất tập training cho phép mơ hình ước tính ví dụ đào tạo nhiều so với cần thiết mà không cần chia sẻ thông số Cả recurrent graph unrolled graph có cơng dụng chúng Các cách lặp lại biểu đồ ngắn gọn Biểu đồ bày mô tả rõ ràng tính tốn Unfolded graph - Biểu đồ mở rộng giúp minh họa ý tưởng luồng thông tin chuyển thời gian (đầu tính tốn thất thốt) ngược thời gian (gradient máy tính) cách hiển thị rõ ràng đường dẫn kèm theo với luồng thông tin 10.2 Recurrent Neural Networks Với ý tưởng phân tích đồ thị tham số phần 10.1, thiết kế loạt Recurrent Neural Networks Một số ví dụ mẫu thiết kế quan trọng cho Recurrent Neural Networks sau: • Các Recurrent Networks tạo output bước có kết nối hồi quy đơn vị ẩn, minh họa hình 10.3 • Các Recurrent Networks tạo output bước có kết nối hồi quy từ đầu tới đơn vị ẩn bước tiếp theo, minh họa hình 10.4 • Các Recurrent Networks với kết nối ngược lại đơn vị ẩn, toàn chuỗi cho đầu nhất, minh họa hình 10.5 Hình 10.3: Đồ thị tính tốn để tính độ sai số q trình huấn luyện Recurrent Network 10 Nó loại bỏ nhãn hiệu việc học sâu tức khắc Word2vec cung cấp loạt mơ hình sử dụng để đại diện cho từ không gian n chiều theo cách từ từ tương tự đại diện cho ý nghĩa gần gũi đặt gần Điều cho toàn tập đặt từ vào chỗ khuyết không gian vectơ Chúng qua hai mơ hình thường xun sử dụng, skip-gram continuous bag-of-word (CBOW), triển khai TensorFlow (một thư viện phần mềm hỗ trợ machine learning deep learning) Cả hai mơ hình tương tự mặt thuật toán, khác biệt cách chúng thực dự đốn Mơ hình CBOW dự đốn từ trung tâm cách sử dụng ngữ cảnh từ xung quanh, mơ hình skip-gram dự đốn từ ngữ cảnh cách sử dụng từ trung tâm Word2vec giúp giảm kích thước khơng gian mã hóa nén biểu diễn từ đến độ dài mong muốn cho vectơ (Hình 2-5) Word2vec tiếp cận từ đại diện sở ngữ cảnh Ví dụ, từ đồng nghĩa, đối lập, khái niệm tương tự ngữ nghĩa, từ tương tự có mặt ngữ cảnh tương tự văn bản, đó, nhúng theo kiểu na ná nhau, đoạn nhúng cuối chúng nằm gần Hình 2-5: Sử dụng kích thước cửa sổ để chọn từ câu “Machines can now recognize objects and translate speech in real time” đào tạo mơ hình 57 2.2.1 Skip-Gram Model Một mơ hình skip-gram sử dụng từ chuỗi để dự đoán từ bao quanh Căn phân loại từ bao quanh dựa quan hệ cú pháp lần xuất từ trung tâm Bất kỳ từ xuất chuỗi lấy làm đầu vào cho trình phân loại log-linear, mà nói cách khác khiến dự đốn từ vào vùng định xác định trước từ xảy trước sau từ trung tâm Có cân việc lựa chọn vùng từ độ phức tạp tính tốn chất lượng việc dẫn tới vecto từ Khi khoảng cách đến từ liên quan tăng lên, từ xa có liên quan mức thấp với từ so với từ gần Điều giải cách gán trọng số hàm khoảng cách từ từ trung tâm cho trọng số thấp hơn, lấy mẫu cho từ phạm vi cao Việc đào tạo mơ hình skip-gram khơng bao hàm phép nhân ma trận dày đặc Cùng với tối ưu hóa, dẫn đến q trình đào tạo hiệu cao cho mơ hình 2.2.2 Model Components: Architecture Trong ví dụ sau, mạng sử dụng để đào tạo mơ hình, với từ đầu vào cấp dạng vecto one-hot-encoded (mã hóa lần) đầu vecto one-hot-encoded biểu diễn từ đầu 58 2.2.3 Model Components: Hidden Layer Việc đào tạo mạng thần kinh thực cách dùng lớp ẩn, với số lượng nơron tương đương số lượng thuộc tính số chiều mà muốn biểu diễn từ nhúng Trong đồ thị biểu diễn lớp ẩn với ma trận trọng số có 300 cột, số lượng nơron mà số lượng thuộc tính vectơ từ nhúng đầu cuối, hàng 100,000 kích thước từ vựng sử dụng để đào tạo mơ hình Số lượng nơron coi siêu tham số mô hình thay đổi theo u cầu Khi vectơ đầu vào ứng với từ từ vựng one-hot-encoded, tính tốn xảy giai đoạn lớp ẩn (hidden layer) đảm bảo có vectơ với từ tương ứng chọn từ ma trận trọng số truyền vào lớp đầu (output layer) Như thể Hình 2-8, trường hợp từ vựng kích thước v, cho từ nào, ln có “1” số mong muốn vectơ đầu vào, sau nhân với ma trận trọng số nhận hàng tương ứng với từ làm vectơ đầu Hình 2-8 biểu diễn rõ ràng cách mà ma trận trọng số lớp ẩn sử dụng để tính tốn bảng tra cứu vector từ 59 Ngay vectơ one-hot-encoded tạo thành hoàn toàn số 0, nhân vectơ 100,000 chiều với ma trận trọng số 100,000 300 trả việc lựa chọn hàng tương ứng mà có “1” Hình 2-9 minh họa cho điều này, đầu lớp ẩn vectơ biểu diễn từ liên quan 2.2.4 Model Components: Output Layer Mục đích việc tính tốn từ nhúng đảm bảo từ có ý nghĩa tương đồng nằm gần không gian vectơ xác định Vấn đề dược tự động xử lý mơ hình, từ đồng nghĩa, hầu hết trường hợp bao quanh ngữ cảnh tương tự (tức từ bao quanh từ đầu vào), mà vốn khiến điều chỉnh trọng số theo cách tương tự q trình đào tạo (Hình 2-10) Ngồi từ đồng nghĩa từ có nghĩa tương tự, mơ hình cịn xử lý trường hợp cản trở từ số nhiều số có ngữ cảnh tương tự (car and cars) 60 2.2.5 CBOW model The continuous bag-of-word model cho thấy tương đồng cấu trúc với FNNLM hình 2-11 Trật tự từ không ảnh hưởng đến the projection layer mà quan trọng từ đưa vào bag để dự đoán đầu Hình 2.11: Mơ hình Continuous bag-of-words The input the projection layers chia sẻ weight matrix cho tất từ tương tự FNNLM Mơ hình CBOW sử dụng đại diện phân phối liên tục ngữ cảnh 2.3 Subsampling Frequent Words Trong hầu hết trường hợp đối phó với liệu văn bản, kích thước từ vựng tăng lên số lượng lớn từ ngữ độc đáo gồm kích thước khác từ Chọn từ để giữ cho mục đích mơ hình, tần số từ 61 dùng để định loại bỏ từ, cách kiểm tra từ tổng thể Một chức tồn sử dụng để tính tốn điểm xác suất mức độ, sử dụng sau để đưa định giữ loại bỏ từ vựng từ vựng Chức chiếm tần số từ liên quan tỷ lệ subsampling, bị chỉnh sửa: Tỷ lệ subsampling làm cho định then chốt liệu có nên giữ từ thường hay khơng Giá trị nhỏ từ có khả giữ để làm gây dựng mơ hình Trong hầu hết trường hợp, ngưỡng ưa thích đặt lên đầu chức tồn để loại bỏ từ thường xuyên Giá trị ưa thích 0,001 cho tham số Cách tiếp cận subsampling đề cập giúp chống lại cân từ thường xuyên Con số hiển thị biểu đồ tần số từ với điểm xác suất cuối tạo phương pháp lấy mẫu Khơng có từ chiếm tỷ lệ cao hơn, nên xem xét phần biểu đồ có tỷ lệ thấp Có quan sát mà tìm từ biểu đồ phần trăm từ ngữ mối quan hệ chúng với số điểm tạo 62 - P(wi) = xảy trường hợp z(wi) < = 0,0026 Nó có nghĩa từ với tỷ lệ phần trăm họ thấp 0,26% không xem xét cho subsampling - P(wi) = 0,5 xảy trường hợp z(wi) = 0,00746 Do đó, phần trăm địi hỏi từ có hội giữ lại bị loại bỏ có xắc suất 0,746% - P(wi) = 0.033 xảy cho trường hợp z(wi) =1, chí dù bao gồm từ nhất, có xác suất 96 7% loại bỏ 2.3.1 Negative Sampling Mẫu âm dạng đơn giản the noise contrastive estimation (NCE) Nó sử dụng phương án thay cho chức phân cấp Kích thước weight matrix lớp ẩn mơ hình mạng nơron phụ thuộc vào kích thước tổng thể từ vựng, yêu cầu cao Kết số lượng lớn weight parameters Tất weight parameters cập nhật nhiều lần lặp lặp lại hàng triệu hàng tỷ mẫu Việc lấy mẫu âm nguyên nhân để cập nhật weight Xác suất chọn mẫu “negative” phụ thuộc vào tần số từ Tần số cao hơn, hội cho từ “negative” chọn Các mơ hình word2vec giúp đạt từ tốt cách sử dụng kết hợp mơ hình sưu tập công việc ngôn ngữ cú pháp ngữ nghĩa Với tiến nguồn tài nguyên tính tốn, thuật tốn nhanh có sẵn liệu ngơn ngữ, tạo từ ngữ chất lượng cao so với mơ hình mạng thần kinh trước 63 Phần – Demo Word2Vec – The Skip-Gram Model 4.1 Thực nghiệm Nhóm em xin demo mơ hình Skip-gram sau: Bước Lấy liệu: Để thuận tiện lấy file tiểu luận để làm dataset cho mơ hình Copy file file khác, lưu thành “Word2VecData.inp” Code load file: Dữ liệu sau load: 64 Bước Làm liệu Ở bước xóa ký tự khơng phải từ số, dấu chấm, dấu phẩy, … Dữ liệu sau làm sạch: Qua dịng đầu liệu, thấy dấu ngoặc đơn loại bỏ, tương tự, ký tự khơng phải từ tồn liệu loại bỏ 65 Bước Tách từ Để tách từ, sử dụng ngrams thư viện nltk Sau tách ta được: 66 Bước 4: Huấn luyện Ở đây, huấn luyện mơ hình Word2Vec thư viện Gensim Trong bước trước, tách từ, ta thấy có từ khơng có nghĩ như: “hình tuần”, “tự mạng”, … để giảm thiểu loại bỏ từ này, sử dụng tham số min_count Word2Vec, từ xuất số lần định bị loại bỏ *Một số tham số khác cần ý: + Set số chiều word vector size = 100 + Set cửa sổ dự đoán từ window = 3, khoảng cách lớn từ từ dự đoán + workers số luồng đào tạo liệu, mơ hình huấn luyện nhanh với máy có nhiều lõi Bước Test Để test mơ hình, tìm từ gần với từ khóa (key_Word) nhập vào từ bàn phím Sau số kết tìm với keyword: 67 KeyWord nhận xét Kết “recurrent” => Một recurrent networks … “rnn” “xây dựng” => Xây dựng ý tưởng … 68 Bước Visualization Chúng ta giảm số chiều vector word thành chiều để vẽ đồ thị 69 Hình ảnh kết thu biểu diễn vector word khơng gian chiều Tồn kết thu từ việc chạy code Sublimetext Link github: https://github.com/Trongha/kpdl_Word2Vec.git 4.2 Kết luận Mơ hình demo Skip-gram cho kết tốt Các từ mà mơ hình dự đốn phù hợp với từ khóa nhập vào Nếu áp dụng với dataset có liệu lớn cho kết tốt 70 Phần TÀI LIỆU THAM KHẢO Nguồn sách: 16_#Ian Goodfellow, Yoshua Bengio, Aaron Courville Deep Learning The MIT Press, 2016 18_Palash-Goyal-Sumit-Pandey-Karan-Jain.-Deep-Learning-for-NaturalLanguage-Processing.-Creating-Neural-Networks-with-Python.-Apress-2018 Các nguồn khác: [1] https://machinelearningcoban.com/2017/02/17/softmax/#-softmax-function [2] https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/ [3] https://blog.duyet.net/2017/04/nlp-truyen-kieu-word2vec.html#.XBNs0GgzaUm [4] https://medium.com/@phamduychv94/word2vec-bi%E1%BB%83u-di%E1%BB %85n-t%E1%BB%AB-ng%E1%BB%AF-th%C3%B4ng-qua-vector-4dcbd42dd14 [5] https://medium.com/@jianqiangma/all-about-recurrent-neural-networks9e5ae2936f6e [6] https://arxiv.org/abs/1312.6026 [7]http://www.scholarpedia.org/article/Echo_state_network? fbclid=IwAR29qPdnbfnGxwmdcd0YceLFyKzYAvczrtgrJVaPbzSXrpxDfcHMr7KxRE 71 ... Recursive Nets (Mơ hình tuần tự: mạng hồi quy mạng đệ quy) Recurrent neural networks (Mạng n? ?ron hồi quy) - RNN (Rumelhart et al., 1986a) dạng mạng n? ?ron để xử lý liệu dạng chuỗi RNN mạng n? ?ron chuyên... RNNs sâu 29 10.6 Recursive Neural Netwoks: Mạng n? ?ron đệ quy 31 10.6.1 Đồ thị tính tốn mạng đệ quy 10.6.2 Cấu trúc mạng đệ quy 10.6.3 Biến thể mạng đệ quy 32 10.7 Thách thức phụ thuộc xa 33 31... Netwoks: Mạng n? ?ron đệ quy Là khái quát hóa mạng hồi quy thành kiểu biểu đồ tính tốn khác Được cấu trúc sâu thay cấu trúc chuỗi mạng RNNs Đồ thị tính tốn điển hình minh hoạ hình 10.14 Mạng đệ quy