Tìm hiểu về rnn, lstm, gru

15 13 0
Tìm hiểu về rnn, lstm, gru

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

tài liệu tìm hiểu về các kiến thức liên quan, chọn lọc của mạng RNN, mạng LSTM, GRU. Các kiến thức có thể đưa vào bản báo cáo, tài liệu đuợc tham khảo từ các đầu báo đáng tin cậy của nước ngoài. Tài liệu bao gồm lý thuyết, ví dụ, hướng giải quyết vấn đề của Khoa học máy tính, khoa học tự nhiên

Mạng hồi quy RNN Để hiểu rõ RNN, trước tiên nhìn lại mơ hình Neural Network đây: Nó đơn giản mơ hình tạo liệu đầu (outputs) từ loạt liệu đầu vào (inputs) thông qua loạt tham số Để đạt đầu ra, liệu đầu vào qua lớp khác nhau, nghĩa chức kết nối liệu với tính theo trọng số khác Có thể ví dụ đồ họa làm rõ chút cách thức hoạt động thực tế: Như bạn thấy, thuật ngữ "mạng lưới thần kinh" hiểu nhanh chóng nhìn vào sơ đồ này, nhắc nhở rõ ràng mối liên kết tế bào thần kinh não Dữ liệu nhập thông qua lớp đầu vào, xử lý hai lớp ẩn (ngồi ra, ví dụ này, bị sai lệch loạt đầu vào bổ sung) tạo giá trị cuối lớp đầu cách nhân giá trị với giá trị khác trọng số, thu tổng đơi xử lý hàm kích hoạt để tạo hành vi phi tuyến tính phức tạp Nói tóm lại, muốn mơ tả mạng lưới thần kinh, cần xác định: ● Số đầu vào ● số lượng đầu ● Số lớp ẩn ● Tế bào thần kinh lớp ẩn ● Giá trị trọng số liên kết nơ-ron Các giá trị cuối này, trọng số trọng số, có thơng qua đào tạo có giám sát mạng thần kinh, quy trình theo đầu vào khác khứ đưa vào trọng số tối ưu hóa để thu lỗi đầu mạng tạo giá trị thực tế Như biết Neural Network bao gồm phần Input layer, Hidden layer Output layer, ta thấy đầu vào đầu mạng neuron độc lập với Như mơ hình khơng phù hợp với tốn dạng chuỗi mơ tả, hồn thành câu, dự đốn từ phụ thuộc vào vị trí câu từ đằng trước Và RNN đời với ý tưởng sử dụng nhớ để lưu lại thông tin từ từ bước tính tốn xử lý trước để dựa vào đưa dự đốn xác cho bước dự đoán Nếu bạn chưa hiểu xem mơ hình mạng RNN sau phân tích để hiểu rõ hơn: Ứng dụng ví dụ Để hiểu mơ hình RNN ta lấy ví dụ sau: Cho tập input x = [h,e,l,o], sử dụng mơ hình RNN để tạo từ có nghĩa Ta encode chữ dạng one hot encoding Và kết sau: Ta thấy kí tự bắt đầu "h" từ ta tìm chữ có xác suất lớn "e" "e" tiếp tục trở thành input vào cụm tiếp theo, tạo thành từ có nghĩa, trường hợp từ "hello" Ta tìm hiểu số lĩnh vực mà RNN LSTM ứng dụng Mơ hình ngơn ngữ tự động sinh văn RNN cho phép ta dự đoán xác suất từ nhờ vào từ biết liền trước Cơ chế hoạt động giống với ví dụ bên trên, với đầu cụm đầu vào cụm ta câu hoàn chỉnh Các input thường encode dạng vector one hot encoding Ví dụ với tập dataset gồm 50000 câu ta lấy dictionary gồm 4000 từ, từ "hot" nằm vị trí 128 vector one hot từ "hot" vector gồm 4000 phần tử có vị trí 128 Mơ hình này mơ hình Many to Many với số lượng đầu ra, đầu vào lớp ẩn Một vài lĩnh vực : Mơ tả hình ảnh Trong lĩnh vực mạng convolution neural network thường sử dụng để detect object có ảnh sau RNN sinh câu có nghĩa mơ tả ảnh Sự kết hợp mang lại hiệu đáng kinh ngạc Hình ảnh cách người thiết kế kết hợp mạng CNN VGG16 (bỏ lớp FC-1000 Softmax) với mạng RNN Kết luận Trên ta có nhìn tổng quan RNN ứng dụng Ở phần sau ta vào tìm hiểu Training trả lời câu hỏi mát đạo hàm lại khiến mạng RNN truyền thống khơng thể nhớ bước xa Mơ hình ngơn ngữ Ok, tơi trình bày mơ hình ngơn ngữ dựa RNN Ứng dụng mơ hình ngơn ngữ gồm dạng Một đánh giá độ xác câu dựa theo mức độ tương tự chúng thực tế Việc đánh giá giúp ta ước lượng độ xác văn phạm lẫn ngữ nghĩa câu Những mơ hình thường ứng dụng hệ thống dịch máy (Machine Translation) Hai tự động sinh văn (tôi cho ứng dụng hấp dẫn hơn) Ví dụ huấn luyện mơ hình với tác phẩm Shakespeare cho phép ta sinh câu từ tựa cách Shakespeare viết Ngồi ra, có thời gian, bạn tham khảo thêm viết thú vị (tiếng Anh) Andrej Karpathy khả mơ hình ngơn ngữ mức độ từ vựng Bài viết dành cho bạn biết mạng nơ-rơn (Neural Network), bạn chưa biết mạng nơ-ron đọc viết Cài đặt mạng nơ-ron Bài viết giúp bạn có nhìn ý tưởng cách xây dựng mạng nơron - mạng nơ-ron phi hồi quy Mạng hồi quy RNN gì? Ý tưởng RNN (Recurrent Neural Network) sử dụng chuỗi thông tin Trong mạng nơ-ron truyền thống tất đầu vào đầu độc lập với Tức chúng không liên kết thành chuỗi với Nhưng mơ hình khơng phù hợp nhiều tốn Ví dụ, muốn đốn từ xuất câu ta cần biết từ trước xuất nhỉ? RNN gọi hồi quy (Recurrent) lẽ chúng thực tác vụ cho tất phần tử chuỗi với đầu phụ thuộc vào phép tính trước Nói cách khác, RNN có khả nhớ thơng tin tính tốn trước Trên lý thuyết, RNN sử dụng thông tin văn dài, nhiên thực tế nhớ vài bước trước (ta bàn cụ thể vấn đề sau) mà Về mạng RNN có dạng sau: A recurrent neural network and the unfolding in time of the computation involved in its forward computation Source: Nature Mơ hình mô tả phép triển khai nội dung RNN Triển khai hiểu đơn giản ta vẽ mạng nơ-ron chuỗi Ví dụ ta có câu gồm chữ “Đẹp trai gái theo”, mạng nơ-ron triển khai gồm tầng nơ-ron tương ứng với chữ tầng Lúc việc tính tốn bên RNN thực sau: Khả RNN Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP - Natural Language Processing), ghi nhận nhiều thành công RNN cho nhiều vấn đề khác Tại thời điểm này, tơi muốn đề cập tới mơ hình phổ biến sử dụng RNN LSTM LSTM (Long Short-Term Memory) thể ưu việt điểm nhớ nhiều bước mơ hình RNN truyền thống Nhưng bạn khơng cần phải q lo lắng LSTM giống với cấu trúc RNN truyền thống, chúng khác cách tính tốn nút ẩn Chúng ta xem chi tiết LSTM viết Còn giờ, ta xem vài ứng dụng RNN xử lý ngôn ngữ tự nhiên RNN mở rộng Trong nhiều năm, nhà nghiên cứu phát triển nhiều kiểu RNN tinh vi để xử lý nhược điểm mô hình RNN truyền thống Chúng ta xem chi tiết vài mơ hình viết sau, cịn này, tơi giới thiệu ngắn mơ hình 5.1 RNN chiều Ở mơ hình RNN chiều (Bidirectional RNN), đầu bước t phụ thuộc vào phần tử phía trước mà cịn phụ thuộc vào phần tử phía sau Ví dụ, để dự đốn từ cịn thiếu câu, việc xem xét phần trước phần sau câu cần thiết Vì vậy, ta coi mơ hình việc chồng mạng RNN ngược hướng lên Lúc đầu tính tốn dựa vào trạng thái ẩn mạng RNN ngược hướng Bidirectional RNNs 5.2 RNN (2 chiều) sâu RNN sâu (Deep (Bidirectional) RNN) tương tự RNN chiều, khác chỗ chúng chứa nhiều tầng ẩn bước Trong thực tế, chúng giúp cho việc học mức độ cao hơn, nhiên ta cần phải có nhiều liệu huấn luyện Deep (Bidirectional) RNNs RNN, LSTM, GRU Mạng thần kinh hồi quy (Recurrent Neural Network - RNN) lớp mạng nơron nhân tạo, nơi kết nối nút để tạo thành đồ thị có hướng dọc theo trình tự thời gian Điều cho phép mạng thể hành vi động tạm thời Có nguồn gốc từ mạng thần kinh truyền thẳng, RNN dùng trạng thái (bộ nhớ) để xử lý chuỗi đầu vào có độ dài thay đổi Điều làm cho RNN áp dụng cho tác vụ nhận dạng chữ viết tay (handwriting recognition) hay nhận dạng tiếng nói có tính chất kết nối, không phân đoạn Mạng neural xây dựng để mô lại cách hoạt động não người Đối với mạng neural thông thường, kiện đầu vào x xử lý cách độc lập đưa đầu y tương ứng mà khơng có trao đổi thơng tin thu thập đầu vào x mạng Tuy nhiên, não người hoạt động cách phức tạp nhiều với kết hợp nhiều dạng thông tin kiện với để đưa kết luận cuối Ví dụ bạn đọc câu này, từ bạn vừa đọc đóng góp phần thơng tin tạo nên ý nghĩa câu Bộ não bạn lưu giữ thông tin từ bạn vừa đọc sử dụng chúng để xử lý ngữ nghĩa từ Đây trình phức tạp mà mạng neural bình thường khơng thể mơ lại Mạng neural hồi quy đời để giải vấn đề Mạng neural hồi quy Mạng neural hồi quy mạng neural chứa vòng lặp bên Trong hình trên, A mạng neural hồi quy Nó nhận đầu vào xt , tiến hành xử lý đưa đầu ht Điểm đặc biệt A lưu lại giá trị ht để sử dụng cho đầu vào Có thể coi mạng neural hồi quy chuỗi mạng giống hệt nhau, mạng truyền thơng tin vừa xử lý cho mạng phía sau Nếu ta tách vịng lặp xử lý A thành mạng theo cách suy nghĩ ta có mạng có kiến trúc sau: Chuỗi đầu vào x0, x1, , xt kiện xảy theo thứ tự thời gian Những kiện có mối liên hệ thơng tin với thông tin chúng giữ lại để xử lý kiện mạng neural hồi quy Vì tính chất này, mạng neural hồi quy phù hợp cho toán với liệu đầu vào dạng chuỗi với kiện chuỗi có mối liên hệ với Vì vậy, mạng neural hồi quy có ứng dụng quan trọng tốn xử lý ngôn ngữ tự nhiên như: Dịch máy - Neural Machine Translation, Phân loại ngữ nghĩa - Semantic classification, Nhận dạng giọng nói: Speech Recognition Một điểm mạng mạng neural hồi quy cho phép tính toán chuỗi vector Dưới kiểu hoạt động mạng neural hồi quy: Mỗi hình chữ nhật vector mũi tên thể hàm biến đổi Vector đầu vào có màu đỏ, vector đầu có màu xanh biển vector trạng thái thông tin trao đổi mạng có màu xanh Từ trái sang phải ta có: ● Mạng neural kiểu Vanilla: Đầu vào đầu có kích thước cố định ( Bài tốn nhận diện ảnh - Image Classification) ● Đầu có dạng chuỗi: Đầu vào cố định đầu chuỗi vector ( Bài toán tạo tiêu đề cho ảnh - Image Captioning) ● Đầu vào có dạng chuỗi: Đầu vào chuỗi vector đầu cố định ( Bài toán phân loại ngữ nghĩa - Sentiment Classification) ● Đầu vào đầu có dạng chuỗi: Bài toán Dịch máy - Neural Machine Translation ● Đầu vào đầu có dạng chuỗi đồng bộ: Đầu vào đầu chuỗi vector có độ dài ( Bài toán phân loại video gắn nhãn frame - Video Classification) Có thể nhận thấy độ dài chuỗi đầu vào hay đầu trường hợp không bắt buộc phải cố định kích thước vector trạng thái thơng tin trao đổi mạng neural hồi quy cố định Giờ sâu vào phương thức hoạt động mạng neural hồi quy Xây dựng mạng Recurrent Neural Network (RNN) Trong tốn xử lý ngơn ngữ (NLP) khơng thể xử lý câu người ta tách từ làm input, giống video người ta tách ảnh (frame) làm input Phân loại toán RNN ● One to one: mẫu toán cho Neural Network (NN) Convolutional Neural Network (CNN), input output, ví dụ với CNN input ảnh output ảnh segment ● One to many: tốn có input nhiều output, ví dụ: tốn caption cho ảnh, input ảnh output nhiều chữ mô tả cho ảnh đấy, dạng câu ● Many to one: tốn có nhiều input có output, ví dụ tốn phân loại hành động video, input nhiều ảnh (frame) tách từ video, ouptut hành động video ● Many to many: tốn có nhiều input nhiều output, ví dụ toán dịch từ tiếng anh sang tiếng việt, input câu gồm nhiều chữ: “I love Vietnam” output câu gồm nhiều chữ “Tôi yêu Việt Nam” Ưu nhược điểm kiến trúc RNN thông thường tổng kết bảng đây: Ưu điểm Hạn chế • Khả xử lí đầu vào với độ • Tính tốn chậm dài • Kích cỡ mơ hình khơng tăng theo kích cỡ đầu vào • Q trình tính tốn sử dụng • Khó để truy cập thơng tin từ khoảng thời gian dài trước • Khơng thể xem xét đầu vào thơng tin cũ • Trọng số chia sẻ suốt thời gian sau cho trạng thái

Ngày đăng: 25/06/2023, 15:32

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan