Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)

26 478 3
Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)

Đ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

Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)Nghiên cứu phương pháp học sâu cho lọc cộng tác (tt)

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - TRƯƠNG THỊ HẬU NGHIÊN CỨU PHƯƠNG PHÁP HỌC SÂU CHO LỌC CỘNG TÁC CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 (Khoa học máy tính) TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2016 Luận văn hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS Nguyễn Duy Phương Phản biện 1:………………………………………………………………………… Phản biện 2:………………………………………………………………………… Luận văn bảo vệ trước hội đồng chấm luận văn thạc sĩ Học viện Công nghệ Bưu Viễn thông Vào lúc: …… …….ngày …… tháng …… năm ……… Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thông MỞ ĐẦU Thế giới chứng kiến phát triển vượt bậc lĩnh vực trí tuệ nhân tạo (Artificial Intelligence - AI) năm gần Google, Microsoft Facebook thành lập nhóm nghiên cứu thực thi thành công số dự án không tưởng Một vài số dự án trú trọng đến việc khai thác phong phú, đa dạng liệu tạo người sử dụng mạng xã hội Rất nhiều số tập trung vào phân tích, nâng cao hiệu tính toán Chìa khóa để dẫn đến thành công hỗ trợ phần không nhỏ xu hướng AI, gọi “Deep Learning” Deep Learning thuật toán dựa số ý tưởng từ não tới việc tiếp thu nhiều tầng biểu đạt, cụ thể lẫn trừu tượng, qua làm rõ nghĩa loại liệu Nói cách khác, deep learning lĩnh vực machine learning nhằm cải thiện ứng dụng thị giác máy tính (computer vision), xử lý ngôn ngữ tự nhiên (natural language processing) để giải đáp thách thức liệu phi cấu trúc Điểm đặc biệt Deep Learning tính xác dựa vào lượng liệu, lượng liệu có kích thước khổng lồ mà không bị hạn chế Chính em chọn đề tài “Nghiên cứu phương pháp học sâu cho lọc cộng tác” để thực khuôn khổ luận văn tốt nghiệp thạc sỹ ngành khoa học máy tính Nội dung luận văn cấu trúc thành chương sau Chương 1: Giới thiệu Deep Learning Trong chương này, luận văn giới thiêu tổng quan phương pháp học sâu: định nghĩa loại phương pháp học sâu Chương 2: Deep Learning cho lọc cộng tác Trình bày phương pháp học Deep Learningg cho lọc cộng tác Dựa vào nghiên cứu bản, sâu tìm hiểu vào kỹ thuật học sâu cho lọc cộng tác máy hạn chế Bolzmman Chương 3: Xây dựng hệ thống thực nghiệm Chương trình bày phương pháp thử nghiệm đánh giá Kết luận hướng phát triển Trình bày tóm tắt kết đạt chưa đạt Từ đề xuất mục tiêu hướng nghiên cứu, phát triển CHƯƠNG GIỚI THIỆU VỀ DEEP LEARNING 1.1 Tổng quan Deep Learning 1.1.1 Định nghĩa Từ năm 2006, học với cấu trúc sâu, hay thường gọi học sâu học theo lớp lên lĩnh vực nghiên cứu học máy Trong nhiều năm qua, kỹ thuật phát triển từ nghiên cứu học sâu bị ảnh hưởng tới loạt tín hiệu công việc xử lý thông tin Rất nhiều hội thảo, hướng dẫn phiên họp đặc biệt năm gần dành riêng để giới thiệu học sâu ứng dụng đến tín hiệu khác tiến trình xử lý thông tin Trước vào tìm hiểu cụ thể, luận văn đưa định nghĩa học sâu: “Học sâu lĩnh vực nghiên cứu học máy, giới thiệu với mục đích đưa học máy gần gũi với mục tiêu ban đầu nó: Trí tuệ nhân tạo Học Sâu học hỏi nhiều cấp độ đại diện trừu tượng giúp làm cho ý nghĩa liệu hình ảnh, âm rõ ràng hơn.” 1.1.2 Lịch sử 1.1.3 Ứng dụng Sự đột phá công nghệ Deep Learning ứng dụng ngày nhiều doanh nghiệp để tạo mô hình kinh doanh xây dựng ứng dụng mẻ để giải toán thực tế, phải kể đến ứng dụng có nhiều tiềm thương mại hóa sau: a Nhận dạng giọng nói: Tất hệ thống nhận dạng giọng nói thương mại (ví dụ: Microsoft Cortana, Xbox, Skype Translator, Google Now, Apple Siri, Baidu iFlyTek tìm kiếm giọng nói loạt sản phẩm Nuance speech, vv) dựa phương pháp học sâu b Nhận dạng hình ảnh Mục tiêu công nghệ nhận diện ảnh nhận biết xác định đối tượng ảnh hiểu nội dung ngữ cảnh Ví dụ cho thấy dịch vụ nhận diện xác định khuôn mặt AlchemyVision có khả phân biệt hai khuôn mặt tương tự nam diễn viên Will Ferrell tay trống Red Hot Chili Peppers, Chad Smith Công nghệ nhận diện hình ảnh đưa vào Facebook để gợi ý người dùng tag mặt bạn bè hay ứng dụng vào khoa học tội phạm điều tra Hình 1-1: Nhận diện hai khuôn mặt tương tự c Xử lý ngôn ngữ tự nhiên Mạng nơ-ron sử dụng cho việc thực mô hình ngôn ngữ kể từ đầu năm 2000 Các kỹ thuật quan trọng lĩnh vực lấy mẫu âm nhúng chữ (word embedding) Các mạng kiến trúc sâu đạt kết tiên tiến nhiều tác vụ xử lý ngôn ngữ tự nhiên phân tích thống kê, phân tích tình cảm, tra cứu thông tin, dịch máy, liên kết thực thể ngữ cảnh, và.v.v d Khám phá dược phẩm độc chất học Ngành công nghiệp dược phẩm phải đối mặt với vấn đề mà tỷ lệ lớn loại thuốc tiềm thất bại tiếp cận với thị trường Những thất bại hợp chất hóa học gây không đủ hiệu mục tiêu phân tử sinh học, có tương tác không bị phát không mong muốn với phân tử sinh học khác, hiệu ứng độc dược dự tính Các nhà nghiên cứu đến từ Google Stanford mở rộng học sâu để khám phá dược phẩm cách kết hợp liệu từ nhiều nguồn khác e Hệ thống gợi ý tảng Các tảng lớn Facebook, Amazon, Netflix, có hệ thống gợi ý (recommend) mạnh giúp tăng đáng kể độ tương tác người dùng Cụ thể chúng dựa liệu người dùng phát sinh dùng để gợi ý thêm sản phẩm họ thích (trên tảng mua sắm), phim họ muốn xem (vd Netflix), gợi ý quảng cáo/được tài trợ (trên Facebook) hay khóa học người học quan tâm (trên tảng học online) Hình 1-2: Hệ thống tư vấn cho người dùng 1.2 Phân loại phương pháp học sâu Như giới thiệu trên, học sâu đề cập đến phần rộng kỹ thuật học máy cấu trúc, với dấu hiệu việc sử dụng nhiều lớp xử lý thông tin phi tuyến tính phân cấp tự nhiên Tùy thuộc vào mục đích sử dụng cấu trúc kỹ nhuật mà ta phân học sâu thành ba loại là: mạng học sâu có giám sát (deep network for supervised learning), mạng học sâu không giám sát (deep network for unsupervised learning), mạng học sâu kết hợp (deep network for hybrid learning) 1.2.1 Mạng học sâu có giám sát Mạng học sâu có giám sát cung cấp trực tiếp tài liệu cho mục đích phân biệt mô hình phân loại cách mô tả phân bố hậu nghiệm lớp có điều kiện tập liệu có sẵn Tức là, liệu huấn luyện bao gồm lớp đầu vào đầu mong muốn Đầu dự đoán lớp phân loại cho đối tượng đầu vào Nhiệm vụ chương trình học sâu có giám sát dự đoán giá trị hàm đầu cho đối tượng đầu vào hợp lệ, sau xem xét tập liệu huấn luyện (là đầu vào đầu tương ứng) Để đạt điều này, chương trình phải học tổng quát hóa từ liệu sẵn có để dự đoán tình chưa gặp phải theo cách hợp lý 1.2.2 Phương pháp học sâu không giám sát Phương pháp nắm bắt độ tương đồng liệu quan sát để phân tích mô hình xác định đầu thông tin nhãn lớp mục tiêu có sẵn Nó khác biệt với học có giám sát chỗ đầu tương ứng cho đầu vào trước Trong học giám sát, tập liệu đầu vào thu thập Học giám sát thường xem với đối tượng đầu vào tập biến ngẫu nhiên Sau đó, mô hình mật độ kết hợp xây dựng cho tập liệu 1.2.3 Mạng học sâu kết hợp Thuật ngữ “kết hợp” đề cập đến kiến trúc sâu bao gồm sử dụng hai thành phần mô hình sinh mẫu mô hình phân biệt Trong kiến trúc mạng học sâu kết hợp, mục tiêu cuối thành phần sinh mẫu chủ yếu khai thác để giúp mô hình phân biệt 1.3 Kết luận chương Chương giới thiệu tổng quan phương pháp deep learning Deep Learning xem nhánh chi tiết Machine Learning, thuật ngữ dùng để phân ngành trí tuệ nhân tạo chuyên nghiên cứu xây dựng hệ thống có khả học hỏi từ liệu thay thực thi theo dòng lệnh lập trình sẵn Trong bối cảnh lượng liệu thu thập ngày nhiều, công nghệ học hỏi máy tính phải “sâu” để đưa kết hữu ích Deep learning biết đến việc tiếp thu nhiều tầng biểu đạt, cụ thể lẫn trừu tượng, qua làm rõ nghĩa loại liệu ví dụ hình ảnh, âm văn Trên giới có nhiều công trình nghiên cứu đạt kết khả quan, ông lớn Google, Microsoft Facebook, họ tự thành lập nhóm nghiên cứu tiếp tục đầu tư vào lĩnh vực CHƯƠNG DEEP LEARNING CHO LỌC CỘNG TÁC 2.1 Giới thiệu phương pháp tư vấn dựa kỹ thuật lọc cộng tác 2.1.1 Giới thiệu hệ thống tư vấn Hệ thống tư vấn (Recommender Systems -RSs) công cụ hay kỹ thuật phần mềm cung cấp gợi ý sản phẩm cho người dùng Các gợi ý liên quan đến trình định loại sản phẩm cần mua, loại âm nhạc cần nghe, tin tức cần đọc, Hình 2-1: Minh họa hệ thống tư vấn sách cho người đọc Ứng dụng: Phạm vi ứng dụng hệ thống tư vấn lựa chọn rộng Trong thương mại điện tử, hầu hết hệ thống hệ thống bán sách, giới thiệu phim, tin tức, đĩa CD ca nhạc, trang Web Phân loại: Có nhiều cách để dự đoán, ước lượng hạng /điểm cho sản phẩm sử dụng học máy, lí thuyết xấp sỉ, thuật toán dựa kinh nghiệm … Theo [1], hệ thống tư vấn thường phân thành ba loại: - Tư vấn dựa nội dung - Tư vấn dựa cộng tác - Tư vấn dựa cách tiếp cận kết hợp 2.1.2 Tư vấn dựa lọc cộng tác Mục đích giải thuật lọc cộng tác gợi ý sản phẩm dự đoán sản phẩm hợp lý cho người dùng, dựa sở thích trước lựa chọn từ sở thích người dùng khác Hình 2-2: Minh họa phương pháp tư vấn dựa lọc cộng tác 2.2 Giới thiệu máy Bolzmman ((Botlzmann Machine)) 2.2.1 Mô hình máy Bolzman Botlzmann Machine mạng nơ ron hồi quy (là mạng mà đầu nơ-ron thành đầu vào rơ-ron lớp lớp trước đó, có chu trình khép kín hình 2-4 gồm nút nhị phân ngẫu nhiên kết nối đối xứng tìm David Ackley, Geofrey Hinton, Terrence Sejnowski [2] Hình 2-3: Mạng nơ-ron hồi quy lớp Các đơn vị ẩn- Hidden units H H H H V H H V H V V H V V V V V Các đơn vị hiện- Visible units Hình 2-4: Một Boltzmann Machine, nút nối với theo cách Các nút BM thường chia thành hai lớp, tập hợp nút nhìn thấy (visible units) có liệu giữ nó, tập hợp nút ẩn (hidden units) mà hành động biến tiềm ẩn [4] Các nút kết nối với kết nối đối xứng theo cách tùy ý, ngoại trừ với (hình 2-5) Mỗi nút i có trạng thái si nhị phân hai trạng thái “tắt” “mở” (si=0 si=1) với xác suất hàm logistic yếu tố đầu vào mà nhận từ nút khác j kết nối tới [4]:p(si  1)  1  exp(bi   si w ij ) i (2.8) Trong bi ngưỡng (hay gọi độ lệch bias: Ngưỡng thường đưa vào thành phần hàm truyền nút i trọng số wij trọng số liên kết đối xứng nút i nút j E (v, h)   bi si(v,h)   si(v,h) s (v,h) w ij j i i j (2.9) Nếu nút lựa chọn ngẫu nhiên liên tục cập nhật cách sử dụng công thức (2.8), mạng cuối đạt phân bố xác 10  - xác suất trung bình tìm kiếm nút i nút j bật BM chạy tự trạng thái cân Trong thực tế, tính toán + gọi positive phase thực mô tả thuật toán bảng 2-1 Tính toán - gọi negative phase thực mô tả thuật toán bảng 2-2 Bảng 2-1: Bảng giải thuật Positive phase Giải thuật BM- Positive phase Giữ vector liệu nút hiển thị BM Cập nhật nút ẩn theo thứ tự ngẫu nhiên công thức 2.8 Một BM đạt đến trạng thái phân phối cân mình, vector trạng thái lấy mẫu ghi lại sisj Lặp lại bước 1,2,3 cho toàn liệu Tính trung bình để lấy + Bảng 2-2: Bảng giải thuật Negative phase Giải thuật BM- Negative phase Khởi tạo BM với trạng thái ngẫu nhiên Cập nhật visible hidden unit theo thứ tự ngẫu nhiên sử dụng công thức 2.8 Một BM đạt đến trạng thái phân phối cân mình, vector trạng thái lấy mẫu ghi lại sisj Lặp lại bước 1,2, nhiều lần Tính trung bình để lấy + 2.3 Máy hạn chế Botlzmann (Restrist Botlzmann Machine) 2.3.1 Mô hình máy hạn chế Botlzmann Mô hình RBM Botlzmann Machine có kiến trúc hạn chế Với BM nút (visible units) nút ẩn (hidden units) kết nối với Còn RBM gồm hai lớp, lớp nút (visible units) lớp nút ẩn (hidden units) kết nối nút với nút (visible - visible) nút ẩn với nút ẩn (hidden - hidden) chúng hoàn toàn độc lập [5] Với tính hạn chế 11 nút làm cho việc đào tạo RBM trở lên dễ dàng Một ví dụ mô hình RBM hình 2-6 Các đơn vị ẩn - Hidden units - H, ngưỡng - bj H, b1 H, b3 H, b5 H, b7 H, b2 H, b4 H, bj H, b6 W V, b1 V, b3 V, b5 V, b7 V, b2 V, b4 V, b6 V, bi Các nút - Visible units - H, ngưỡng – bi, W - trọng số liên kết V H Hình 2-5: Một Restricted Boltzmann Machine có liên kết nút nút ẩn 2.3.2 Huấn luyện cho máy hạn chế Botlzmann (RBM) Với việc giới hạn kết nối, việc tính toán + không gặp khó khăn Thật vậy, mà vector liệu giữ nút hiện, nút ẩn điều kiện độc lập lấy mẫu unbiased từ + tính toán bước song song cách sử dụng công thức (2.8) May mắn thay, việc học thực hoạt động tốt - thay xấp xỉ T mô tả thuật toán bảng 2.3 Các quy tắc học tập trở thành: wij   ( sis j    sis j T ) (2.16) bi   ( si     si T ) Bảng 2-3: Bảng giải thuật huấn luyện phân kỳ tương phản CD Giải thuật RBM- Contrastive Divergence Giữ vector liệu visible unit RBMs Cập nhật song song tất hidden units sử dụng công thức 2.8 (2.17) 12 Lặp T bước hình 2.4, luân phiên cập nhật tất visible units, hidden units song song, sử dụng công thức 2.8 Lấy mẫu sisj từ cấu hình Lặp lại bước 1,2,3, cho liệu có sẵn tính trung bình để có T 2.4 Máy hạn chế Botlzmann (RBMs) lọc cộng tác 2.4.1 Mô hình máy hạn chế Botlzmann (RBMs) lọc cộng tác Giả sử có N người dùng đánh giá M phim, đánh giá (rating) dạng số nguyên có giá trị -> K Khi đưa mô hình RBMs áp dụng vào lọc cộng tác gặp hai vấn đề Vấn đề thứ nhất, mô hình gốc RBM với giá trị đầu vào nút dạng nhị phân Trong đó, liệu đầu vào dùng cho nút RBMs lọc cộng tác lại dạng số nguyên (giá trị N người dùng đánh giá M phim) hình 2-7 Một giải pháp đơn giản để giải vấn đề “softmax” units Mỗi đánh giá biến đổi thành mã nhị phân, nút nhị phân vị trí thứ k softmax gán người dùng đánh giá phim thứ k Vấn đề thứ hai để giải số lượng lớn liệu thưa nói cách khác đánh giá người dùng cho phim đề cập chương Giải pháp đề xuất [9] xem xét nút tương ứng với phim mà người dùng không đánh giá không tồn hình 2-8 13 Hình 2-6: So sánh RBMs nhị phân RBMs lọc cộng tác[8] hj Wijk h W V Không có đánh giá Không có đánh giá  ik Hình 2-7: Restricted Boltzmann Machine cho lọc cộng tác Nút nhị phân thay với softmax units Mỗi người dùng có RBMs bao gồm softmax units cho phim đánh giá người dùng Bảng 2-4: Những người dùng đánh giá cho phim Movie M1 M2 M3 U1 U2 U3 U4 M4 M5 User 2 4 Bảng 2-5: Một người dùng (U2 bảng 1) đánh giá cho phim M1 M2 M3 M4 M5 0 0 0 0 0 0 Movie K 14 0 Cụ thể hơn, Xét người dùng u đánh giá M phim Xây dựng ma trận V có k K  M , K đánh giá u M phim có dạng số nguyên -> K Các vị trí vi  người dùng u đánh giá phim i k giá trị lại (Bảng 2-4 -> Bảng 2-5 xét cho người dùng U2) Các hj có j=1, F giá trị nhị phân nút ẩn Cột V mô hình hóa cách sử dụng phân phối đa thức (một softmax) F k k exp(b h jWij2.8 ) [9]: đặc trưng ẩn h mô giống công thức i  j 1 k p( i  1| h)  K F  exp(b   h W l 1 p (h j  1| V )  l i j j 1 l ij ) (2.18) m K  exp( b j   ikWijk ) i 1 k 1 (2.19) Trong đó, Wijk k trọng số kết nối đánh giá k phim i nút ẩn j, bi bias (ngưỡng) đánh giá k cho phim i bj ngưỡng nút ẩn j 2.4.2 Huấn luyện máy hạn chế Botlzmann (RBMs) lọc cộng tác Mặc dù hàm kích hoạt nút thay đổi, quy tắc học công thức (2.16), (2.17) cũ Sự khác biệt Gibbs sampling sử dụng để tái tạo lại phân phối xếp hạng không missing ratings [9] Sử dụng ký hiệu giới thiệu trước để học trở thành: Wijk   w ( vik hj    vik hj T ) (2.20) bik   v ( vik     vik T ) (2.21) bkj   h ( hj    hj T ) (2.22) 2.4.3 Dự đoán Quay lại vấn đề để tư vấn? Bây biết làm để mô hình phân phối đánh giá nút RBM, suy luận xếp hạng chưa đánh giá thực tế đơn giản: Giữ xếp hạng người dùng nút softmax, sau thực bước lấy mẫu Gibbs tất đánh giá bị missing Đó cách giải Thuật toán dự đoán đưa bảng 2-6: 15 Bảng 2-6: Dự đoán giải thuật RBMs lọc cộng tác Giải thuật RBM- Dự đoán Inputs: Một người dùng u phim i Outputs: Một dự đoán R(u,i) Giữ đánh giá người dùng u softmax units RBM Tính toán Tính toán pˆ j  p (h j  1| V) k F k hidden units j cho tất exp(b pˆ jWcác  i ij ) j 1 p( ik  1| p)  K F l exp(b    pˆ jWijl ) i l 1 j 1 cho k =1, ,K K Dự đoán giá trị ví dụ: 2.5 R(u,i)   p( ik  1| pˆ )k k 1 Kết luận Chương giới thiệu giải thuật BM, RBM RBMs lọc cộng tác Phương pháp huấn luyện, cập nhật giá trị tham số dự đoán giải thuật RBMs đề cập Chương tiến hành cài đặt thuật toán cho toán đưa với liệu dataset mà hệ thống Netflix cung cấp 16 CHƯƠNG III XÂY DỰNG HỆ THỐNG VÀ THỬ NGHIỆM Xây dựng toán 3.1 Vị trí cần dự đoán i1 i2 i3 ij u1 u2 ua in Dự đoán Prediction Raj (Dự đoán người dùng a tài nguyên j) um Đầu vào: Ma trận đánh giá R Rating maxtrix Giải thuật lọc cộng tác Collaborative Filtering Algorithm RBMs Đầu Hình 3-1: Xây dựng toán lọc cộng tác Bài toàn mà luận văn xây dựng, hình 3.1 toàn đưa sau: Trong toán tư vấn dựa lọc cộng tác, giá trị đầu vào hệ tư vấn đánh giá dạng số nguyên K người dùng tới phim xây dựng thành dạng ma trận R R có kích thước N  M với N số người dùng Đầu toán có giá trị Raj với a  N , j  M kết dự đoán kỹ thuật lọc cộng tác Cụ thể thể giải thuật RBMs Các kết dự đoán sử dụng để tính độ hiệu thuật toán qua số đánh giá RMSE giải thuật 3.2 Hệ thống máy hạn chế Boltzmann (RBMs) lọc cộng tác 17 Khởi tạo +Khởi tạo trọng số W với giá trị +Khởi tạo ngưỡng b với giá trị Tất users -người dùng chia n mini -batch mini-batch mini-batch m users Một user +Tính xác suất điều kiện h v +Chạy Gibbs sampler qua T bước lặp Dữ liệu đầu vào DataSet mini-batch n m users m users Một user +Tính xác suất điều kiện h v +Chạy Gibbs sampler qua T bước lặp Một user +Tính xác suất điều kiện h v +Chạy Gibbs sampler qua T bước lặp Đưa dự đoán số đánh giá RMSE Khối - Khối dự đoán, đánh giá Cập nhật giá trị Cập nhật giá trị Cập nhật giá trị Khối - Khối liệu Trọng số Ngưỡng w b phía h Ngưỡng b phía v Trọng số w Ngưỡng b phía h Ngưỡng b phía v Trọng số Ngưỡng Ngưỡng w b phía h b phía v Khối -Khối giải thuật RBM Hình 3-2: Sơ đồ khối hệ thống sử dụng giải thuật RBMs lọc cộng tác Căn bậc hai trung bình bình phương sai số (Root Mean Squared Error) [8]: RMSE  (R(u,i)  Rˆ (u,i))  | T | (u,i)T (3.1) Trong đó, + T liệu kiểm tra(testing set) + R(u,i) giá trị đánh giá thực người dùng u với phim i ˆ + R (u,i) giá trị dự đoán người dùng u với phim i theo giải bảng xx 3.3 Mô tả liệu Dataset Netflix Khối 1, liệu theo [9] Netflix [11 ] cung cấp, liệu thu thập từ tháng 10 năm 1998 đến tháng 12 năm 2005 gồm đánh giá người dùng phim theo định dạng hình 3.4 18 Hình 3-3: Định dạng đánh giá người dùng phim Trong hình 3.4 mô tả liệu dataset nhiều người dùng Mỗi người dùng chứa mảng hai chiều mã phim giá trị người dùng đánh giá Ví dụ xét người dùng hình ô số Các giá trị 252, 411, 788, chiều thứ mã phim Chiều số hai 1, 4, 1, kết đánh giá người với tương ứng mã phim mảng Ở ô số ô lại tương tự Khi huấn luyện, Netflix cung cấp tập: liệu huấn luyện (Training set) bao gồm 100,480,507 đánh giá từ 480,189 người dùng 17,770 phim, liệu kiểm tra (validation) bao gồm 1,408,395 đánh giá, liệu kiểm định (testing set, gồm mẫu hoàn toàn mới) gồm 2,817,131 cặp người dùng / phim đánh giá Bảng 3.3 mô tóm lược lại thông số liệu Bảng 3-1: Thông số liệu mà Netflix cung cấp 19 Người dùng Bộ phim Đánh giá (User) (Movie) 480,189 Huấn luyện Kiểm (Rating (Training (Validation (Testing value) Set) Set) Set) [1,4] 100,480,507 1,408,395 2,817,131 17,770 tra Kiểm định Hình 3.4 mô tả định dạng liệu ba tập : liệu huấn luyện, liệu kiểm tra, liệu kiểm định Tức liệu gồm n người dùng theo thứ tự từ xuống, người dùng có cặp id (mã) phim đánh giá (rating) tương ứng phim Một phương pháp chặt chẽ mà Netflix sử dụng để chia liệu walk-forward Phương pháp walk-forward chia tập liệu thành chuỗi tập liệu nhỏ huấn luyệnkiểm tra- kiểm định gối chồng lên hình 3.5 [11] Hình 3-4: Thủ tục sử dụng phương pháp walk-forward chia tập liệu Netflix Netflix cung cấp số điểm RMSE hệ thống riêng huấn luyện tập liệu, 0.9514 3.4 Cài đặt toán 3.4.1 Ý nghĩa tham số máy hạn chế Boltzmann a Tốc độ học (Learning rate) b Weight - decay c Nhóm mẫu nhỏ (Mini-batch) d Hằng số quán tính (Momentum) e Epoch 20 3.4.2 Yêu cầu hệ thống thư viện sử dụng Bảng 3-2: Bảng yêu cầu hệ thống thư viện sử dụng Hệ thống Chip intel core i3, 2.1GHz, Ram 4GB, Windows 64bit Ngôn ngữ cài đặt Python version 34 Thư viện NumPy version 1.10.1 Thư viện NumPy hình 3.6 [13] gói chương trình phục vụ cho tính toán toán học phức tạp ngôn ngữ lập trình Python Hình 3-5: Thư viện Numpy tính toán toán học ngôn ngữ Python 3.4.3 Kết thực nghiệm đánh giá Luận văn thực huấn luyện ba lần với cấu hình tham số khác nhau, tham số cần kiểm nghiệm thực tế để đạt số đánh giá RMSE mong muốn a Lần Theo [9] khuyến nghị, nút ẩn (Hidden) cố định ba lần khởi tạo với giá trị F = 100, phim M (movie) = 17765, K (số lượng rating (1->5)) = Riêng giá trị sau thay đổi: Tốc độ học (learning rate) learningRate = 0.01, momentum = 0.5, wDecay (weight decay) = 0.00002, số lượng epoch numberOfEpoch = 20 21 Hình 3-6: Kết số RMSE thu lần b Lần hai Tốc độ học (learning rate) learningRate = 0.001, momentum = 0.5, wDecay (weight decay) = 0.00002, số lượng epoch numberOfEpoch= 20 Hình 3-7: Kết liệu kiểm tra (validation set) RMSE thu lần hai 22 c Lần ba Tốc độ học (learning rate) learningRate = 0.001, momentum = 0.5, wDecay (weight decay) = 0.002, số lượng epoch numberOfEpoch = 50 Hình 3-8: Kết liệu kiểm tra (validation set) RMSE thu lần ba 3.5 Kết luận Chương cài đặt thực nghiệm toán với liệu dataset Netflix, đưa số RMSE đánh giá độ hiệu thuật toán Sau ba lần huấn luyện với tham số truyền vào khác Với 20 epoch luận văn thay đổi giá trị tham số với lượng nhỏ (ví dụ learning rate thay đổi từ 0.01 sang 0.001) kết số đánh giá RMSE khác nhiều Cụ thể, lần lần hai tham số hoàn toàn giống nhau, khác giá trị learning rate lần 0.01 lần hai 0.001 Chỉ số đánh giá RMSE thu cho thấy với lần kết RMSE không ổn định, lúc giảm lúc tăng Với lần hai kết RMSE ổn định, việc dự đoán giải thuật xác Với 50 epoch huấn luyện lần ba giá trị số đánh giải thuật thực nghiệm thu cuối 0.89399 tốt so với hệ thống riêng Netflix đưa 0.9514 23 KẾT LUẬN Trên sở tìm hiểu, nghiên cứu giải thuật Restrited Boltzmann Machines Deep Learning cho hệ lọc cộng tác Luận văn đạt số kết sau:  Giới thiệu kỹ thuật lọc cộng tác hệ tư vấn: luận văn trình bày số kiến thức sở hệ thống tư vấn, toán tư vấn, phương pháp tư vấn bao gồm tư vấn dựa nội dung tư vấn dựa kỹ thuật lọc cộng tác Những vấn đề tồn để tư vấn có độ xác cao, độ phức tạp thấp, với liệu lớn, liệu bị thưa vấn đề lớn nhà nghiên cứu quan tâm Luận văn đề xuất giải thuật máy hạn chế Botlzmann (Restricted Botlzmann Machine) [9] để thực giải số vấn đề tồn lọc cộng tác  Mô hình máy hạn chế Boltzmann (RBMs) lọc cộng tác: giới thiệu giải thuật BM, RBM RBMs lọc cộng tác Phương pháp huấn luyện, cập nhật giá trị tham số dự đoán giải thuật RBMs đề cập  Sử dụng mô hình giải thuật RBMs cài đặt cho toán đề xuất: cài đặt thực nghiệm toán với liệu lớn dataset Netflix, đưa số RMSE đánh giá độ hiệu thuật toán Sau ba lần huấn luyện với tham số truyền vào khác Với 20 epoch luận văn thay đổi giá trị tham số với lượng nhỏ (ví dụ learning rate thay đổi từ 0.01 sang 0.001) kết số đánh giá RMSE khác nhiều Với 50 epoch huấn luyện lần giá trị số đánh giải thuật thực nghiệm thu cuối 0.89399 tốt so với hệ thống riêng Netflix đưa 0.9514 Những hạn chế tồn tại:  Thuật toán chạy lâu huấn luyện  Chưa xử lý vấn đề tồn người dùng mới, sản phẩm Hướng phát triển tương lai: 24  Luận văn sử dụng tập liệu dataset Netflix đưa vào sử dụng cho thực tế cần thu tập liệu thực từ trang web xem phim, đưa dự đoán cụ thể hệ thống website, ứng dụng  Phát triển tiếp hệ thống để từ kỹ thuật lọc cộng tác tư vấn  Tìm hiểu, nghiên cứu việc kết hợp RBMs với giải thuật khác lọc cộng tác để làm tăng thời gian huấn luyện, dự đoán Xử lý toán với người dùng mới, sản phẩm ... quan phương pháp học sâu: định nghĩa loại phương pháp học sâu Chương 2: Deep Learning cho lọc cộng tác Trình bày phương pháp học Deep Learningg cho lọc cộng tác Dựa vào nghiên cứu bản, sâu tìm... mà không bị hạn chế Chính em chọn đề tài Nghiên cứu phương pháp học sâu cho lọc cộng tác để thực khuôn khổ luận văn tốt nghiệp thạc sỹ ngành khoa học máy tính Nội dung luận văn cấu trúc thành... khóa học người học quan tâm (trên tảng học online) Hình 1-2: Hệ thống tư vấn cho người dùng 1.2 Phân loại phương pháp học sâu Như giới thiệu trên, học sâu đề cập đến phần rộng kỹ thuật học máy

Ngày đăng: 27/04/2017, 14:26

Từ khóa liên quan

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

Tài liệu liên quan