2 MÔ HÌNH SVM CHO BÀI TOÁN PHÂN LOẠI MỘT LỚP
2.3 Thảo luận và đánh giá
như là đại diện của lớp thứ hai. Ý tưởng của phương pháp này là hoạt động đầu tiên trong không gian đặc trưng, và giả định rằng không chỉ điểm gốc là lớp thứ hai, mà tất cả các điểm dữ liệu đủ gần với điểm gốc đều được coi là nhiễu hoặc ngoại lệ. Các vectơ nằm trên các không gian con tiêu chuẩn có kích thước nhỏ (tức là trục, mặt,...) được coi là ngoại lệ. Họ đánh giá kết quả của mình trên tập dữ liệu của Reuters và kết quả kém hơn so với thuật toán OCSVM do Scholkopf[10] và cộng sự trình bày.
Các bộ phân loại thường được kết hợp để đưa ra quyết định kết hợp bằng cách lấy trung bình các xác suất ước tính sau. Định lý Bayes được sử dụng cho sự kết hợp của các bộ phân loại khác nhau, theo giả định là độc lập, một quy tắc nhân kết hợp có thể được sử dụng để tạo tập hợp bộ phân loại. Kết quả đầu ra của các bộ phân loại riêng lẻ được nhân lên và sau đó được chuẩn hóa. Trong OCC, vì thông tin về dữ liệu không tích cực không có sẵn, nên trong hầu hết các trường hợp, các giá trị ngoại lệ được giả định là phân bố đồng đều và xác suất hậu nghiệm có thể được ước tính. Tax đề cập rằng trong một số phương pháp OCC, khoảng cách được ước tính thay vì xác suất cho một tập hợp bộ phân loại lớp. Tax nhận thấy rằng việc sử dụng các cụm từ tổng hợp trong OCC cải thiện hiệu suất, đặc biệt khi quy tắc sản phẩm được sử dụng để kết hợp các ước tính xác suất.
Yu[10] đề xuất một thuật toán OCC với SVM sử dụng dữ liệu tích cực và không được gắn nhãn, và không có dữ liệu phủ định được gắn nhãn, đồng thời thảo luận một số hạn chế của các thuật toán OCC khác. Yu nhận xét rằng trong trường hợp không có các ví dụ tiêu cực, OCSVM yêu cầu lượng dữ liệu đào tạo tích cực lớn hơn nhiều để tạo ra ranh giới lớp chính xác.
2.3 Thảo luận và đánh giá 2.3.1 Ưu điểm
Cả hai cách tiếp cận trên đều có một số tính chất khá đặc biệt. Đầu tiên, chúng đều là bài toán tối ưu lồi vì thế mà sẽ có nghiệm tối ưu toàn cục. Việc kết hợp kernel cho phép việc biến đổi phi tuyến và vẫn giữ được tính phi tuyến trong tập dữ liệu. Trong trường hợp sử dụng kernel Gaussian, SVDD và OCSVM gần như tương đồng nhau trong việc ước lượng mật độ dữ liệu.
2.3. Thảo luận và đánh giá
2.3.2 Nhược điểm
Mặc khác, một trong những trở ngại lớn nhất của việc sử dụng phương pháp kernel chính là tính mở rộng của dữ liệu (large scale) và sự đa dạng của dữ liệu (high dimensional). Sẽ là cực kỳ thách thức đối với bài toán có dạng dữ liệu dạng học liên tục (online learning). Hơn nữa, việc lưu trữ các vector hỗ trợ cho việc dự đoán, gây ra vấn đề về độ phức tạp không gian cho bài toán. Ngoài ra, việc sử dụng kernel cho phép biến đổi dữ liệu cũng mang tính cố định, không có quá trình học biến đổi diễn ra ở đây. Do đó, sau khi tìm hiểu một số bài báo về hướng xử lý đối với trường hợp này, chúng tôi đa tham khảo và đề xuất một hướng cải tiến để phần nào giải quyết được những trở ngại ở trên. Ý tưởng đơn giản là thay vì sử dụng một kernel cố định, chúng tôi sẽ sử dụng một Autoencoder kết hợp với mô hình phát hiện ngoại lai. Autoencoder ở đây cụ thể là một mạng nơ-ron. Toàn bộ nội dung và kiến trúc mô hình sẽ được trình bày ở chương tiếp theo.
3 MÔ HÌNH SVM MỘT LỚP CẢITIẾN TIẾN
3.1 Khó khăn trong bài toán với dữ liệu nhiều chiều
Với sự phát triển vô cùng mạnh mẽ của thời đại, mà dữ liệu của chúng ta cũng ngày càng đa dạng và phức tạp hơn. Số thông tin, trường dữ liệu cũng tăng lên. Từ đấy, mô hình của chúng ta cũng phải làm việc với những tập dữ liệu có số chiều lớn (high-dimensional). Và đó cũng là thách thức cũng như khó khăn chính của bài toán phát hiện ngoại lai.
Những năm trước đây đã có nhiều nỗ lực trong việc sử dụng các kỹ thuật học máy cổ điển cho bài toán phát hiện bất thường có giám sát và không giám sát như: phân tích thành phần chính (PCA), OCSVM, phân nhóm k-mean và mô hình hỗn hợp Gaussian (GMM),... Mặc dù vậy, những phương pháp này thường không hiệu quả khi được sử dụng trong các bộ dữ liệu có số chiều cao do độ phức tạp tính toán lớn. Gần đây ngày càng có nhiều sự quan tâm đến việc giải quyết vấn đề này bằng phương pháp sử dụng các kỹ thuật học sâu. Tuy nhiên, hầu hết các giải pháp trước đây vẫn chủ yếu dựa trên việc huấn luyện hai giai đoạn riêng biệt, trong đó không gian chiều thấp lần đầu tiên được học thông qua một mô hình học sâu để giảm kích thước của không gian đầu vào và sau đó được áp dụng riêng biệt không gian đặc trưng đã học cho một mô hình phân loại một lớp thông thường.
3.2. Đề xuất cải tiến
3.2 Đề xuất cải tiến
Như đã đề cập ở Mục [2.2], SVDD và cả OCSVM đều không làm việc tốt trên tập dữ liệu lớn, nhiều chiều (high-dimensional). Vấn đề high-dimensional luôn được xem là một trong những thử thách rất lớn đối với bài toán phát hiện ngoại lai. Từ đấy, để xây dựng một hệ thống phát hiện ngoại lai cho tập dữ liệu đầu vào có số chiều lớn, chúng ta cần phải có những hướng tiếp cận khác. Có khá nhiều cách giúp ta thu giảm số chiều như PCA, LDA, Autoencoder,... Và trong đề tài luận văn lần này, chúng tôi hướng đến một mô hình cải tiến bằng cách áp dụng kết hợp đồng thời kỹ thuật học sâu cụ thể kết hợp một Autoencoder để giải quyết vấn đề số chiều dữ liệu lớn đã trình bày ở trên. Vậy Autoencoder là gì? Và tại sao chúng tôi chọn Autoencoder? Chúng tôi sẽ trình bày ở phần tiếp theo.
3.2.1 Autoencoder
Trước hết, chúng tôi đề cập sơ qua về bối cảnh sử dụng học sâu trong bài toán phát hiện ngoại lai. Thông thường thì những mô hình học sâu sẽ không được chú trọng nhiều trong các dạng bài toán phát hiện ngoại lai, những kiểu học không giám sát hay bài toán phân loại một lớp, mà chúng sẽ thực hiện việc kết hợp và xử lý ở một khía cạnh nào đó. Tức, một bài toán sẽ được chia thành nhiều thành phần nhỏ, và học sâu sẽ được kết hợp để xử lý những mô hình nhỏ ấy một cách độc lập, để biến đổi dữ liệu sao cho đầu ra phù hợp với nhiệm vụ phát hiện ngoại lai. Có thể hình dung cách tiếp cận trên như kỹ thuật trích xuất đặc trưng rồi sau đó áp dụng vào những mô hình phân loại một lớp để học.
Deep Autoencoder
Autoencoder là một mạng nơ-ron gồm có ba phần chính, đó là: bộ mã hóa (encoder), mã (latent space) và bộ giải mã (decoder). Khối mã hóa sẽ nhận đầu vào là vector biểu diễn dữ liệu n chiều, đầu ra là vector trong không gian ẩn m chiều (latent space). Thông thường thì m < n, do đó Autoencoder giúp làm giảm số chiều của dữ liệu. Bộ giải mã nhận đầu vào là vector m chiều bên trên và cố gắng khôi phục là dữ liệu ban đầu. Có thể hình dung việc này giống như chúng ta nén một tín hiệu và khôi phục lại tín hiệu đó. Để khôi phục lại được tín hiệu gốc, biểu diễn ẩn phải học được cách lưu giữ các thông tin quan trọng của tín hiệu đầu
3.2. Đề xuất cải tiến
vào. Việc tính toán trên không gian dữ liệu ít chiều sẽ giúp việc tính toán hiệu quả hơn. Kiến trúc của Autoencoder như Hình 3.1.
Hình 3.1: Kiến trúc của Autoencoder[4]
Sử dụng Autoencoder trong phát hiện ngoại lai
Việc huấn luyện Autoencoder trên lớp dữ liệu mục tiêu giúp mạng nơ-ron có khả năng học được khả năng trích xuất đặc trưng của lớp ấy, hàm lỗi của Autoencoder có thể được dùng để đánh giá những điểm kiểm tra một cách trực tiếp, ví dụ như hàm lỗi dưới đây:
s(x) =kx−φ(x;W∗)k2
(3.1) với W* là trọng số đã được huấn luyện. Giá trị lỗi càng lớn, thì càng ít số điểm được kiểm tra nằm trong lớp mục tiêu. Ngoài ra, φ(x, W∗) chính là thể hiện của mỗi điểm đầu vào trong không gian X và cũng là đầu vào đối với mô hình phát hiện ngoại lai khác trong một hệ thống phát hiện ngoại lai.
"Bottleneck"Autoencoder
Hawkins et al. (2002), một trong những người đầu tiên sử dụng mạng nơ-ron cho bài toán phát hiện ngoại lai. Để phát hiện ngoại lai, họ đã sử dụng một
3.2. Đề xuất cải tiến
Autoencoder với ba lớp ẩn cái mà họ gọi là "Replicator Neural Network". Ý tưởng mang tính thắt cổ chai ở đây là họ sử dụng một lớp trung gian có kích thước bé hơn so với chiều dữ liệu đầu vào. Theo như những báo cáo gần đây, cũng với cách tiếp cận trên, Erfani et al. (2016) đã xử lý đầu vào cho mô hình OCSVM khi làm việc với tập dữ liệu lớn, high-dimensional. Kết quả của hướng đi này cũng đầy tiềm năng và hứa hẹn.
Variational Autoencoder
Tiếp theo, chúng tôi sẽ giới thiệu một biến thể của Autoencoder mà chúng tôi sử dụng trực tiếp trong bài toán của mình. Đó là Variational Autoencoder (VAE). Vậy thì VAE giải quyết được vấn đề gì? Trước hết, chúng tôi đưa ra một ví dụ đơn giản sau: Giả sử với ảnh chứa số 4 sau khi qua bộ mã hóa giảm xuống chỉ còn 2 chiều, mình thu được biểu diễn của nó là vector có tọa độ (2, 2). Khi mình đưa vector (2, 2) này vào làm đầu vào cho giải mã, tất nhiên mình sẽ thu lại được bức ảnh mang số 4. Mô hình biết điều đó do đây là dữ liệu huấn luyện. Nhưng giả sử mình đưa đầu vào của bộ giải mã là vector (2.1, 2.1) khá tương đồng với vector (2, 2), không có gì đảm bảo được rằng mình sẽ thu lại được 1 bức ảnh chứa số 4 hay một số gần giống số 4. Điều đó không tốt chút nào, vì chúng ta đang cần mô hình có thể sinh ra được dữ liệu mới mà mô hình chưa từng nhìn thấy. VAE sinh ra để giải quyết bài toán này. Tư tưởng chính của VAE là thay vì tìm một điểm biểu diễn trong không gian ẩn cho một điểm dữ liệu trong không gian gốc, chúng ta sẽ đi tìm một phân phối xác suất cho điểm dữ liệu đó.
3.2. Đề xuất cải tiến
Convolutional Autoencoder
Đối với những ứng dụng phát hiện ngoại lai cho dạng dữ liệu ảnh hoặc video, thì Convolutional Autoencoder là một mô hình thích hợp bởi nó tích hợp kiến trúc tích chập trong thị giác máy tính. Ribeiro et al. (2017) vừa đưa ra một mô hình Deep CAE cho việc phát hiện ngoại lai trong video. Tác giả này đã xây dựng một hàm lỗi dựa trên mỗi khung (frame) một cách trực tiếp và được sử dụng như một điểm ngoại lai. Một ứng dựng khác với tập dữ liệu ảnh y khoa cũng sử dụng CAE cho việc trích xuất đặc trưng được tiến hành bởi Seeb¨ock et al. (2016). Và nhiều ứng dụng khác sử dụng CAE.
3.2.2 Autoencoder SVDD
Như đã trình bày ở phần trước, Autoencoder SVDD (AESVDD) dựa trên SVDD nhưng thay vì sử một một kernel cố định, chúng tôi sẽ sử dụng phép biến đổi đặc trưng dữ liệu thông qua một hình học sâu và được sử dụng trực tiếp trong hàm mục tiêu của bài toán ngoại lai. Kiến trúc của mô hình như Hình 3.3 Với cách tiếp cận này, những đặc trưng đại diện của dữ liệu trở nên linh hoạt hơn.Dựa vào một hướng tiếp cận của Lukas Ruff[17], chúng tôi sẽ khái quát lại hai biến thể của mô hình bao gồm bài toán biên cứng và bài toán biên mềm. Sau đó là một số tính chất của mô hình cũng được đưa ra và thảo luận.
Hình 3.3: Kiến trúc mô hình Autoencoder SVDD [17]
Trước hết,φ(.;W) :X →F ⊂Rp là một mạng vớiL∈Nlớp ẩn và tập trọng số W =n
W1
, ...,WLo với Wl là trọng số của lớpl ∈ n1, ..., Lo. φ(x, W)∈ F sẽ là đại diện đặc trưng của mỗi x ∈X được xác định bởi mạng. Hai biến thể của hàm mục tiêu AESVDD gồm: biên cứng và biên mềm sẽ được trình ngay bên dưới.
3.2. Đề xuất cải tiến
Hàm mục tiêu với biên mềm
Rõ ràng, mục tiêu của AESVDD chính là sự kết hợp giữa việc học các trọng số W và tối ưu hóa bán kính của siêu cầu trong không gian F. Với tập dữ liệu
Dn=n
x1, ...,xno
trong X, chúng tôi định nghĩa hàm mục tiêu với biên mềm như sau: min R,W R2+ 1 νn n X i=1 maxn 0,kφ(xi;W)−ck2 −R2o+λ 2 L X l=1 Wl 2 F (3.2)
Dễ thấy, hạng tử đầu tiên trong hàm mục tiêu chính là tối thiểu bán kính
R2 để từ đó tối thiểu hóa thể tích của siêu cầu. Hạng tử thứ hai thể hiện độ phạt đối với những điểm đầu ra của Autoencoder và nằm bên ngoài siêu cầu. Ví dụ như khoảng cách của điểm đó đến điểm trung tâm lớn hơn bán kính siêu cầu. Siêu tham số ν ∈ (0,1] dùng để kiểm soát trade-off giữa bán kính của siêu cầu với những điểm nhiễu. Hạng tử cuối cùng là kĩ thuật chính quy hóa, còn có tên là tiêu biến trọng số (weight decay), làm cho các trọng số tiêu biến dần về 0, giúp tránh mô hình quá khớp.
So sánh với SVDD Dựa vào hàm mục tiêu của AESVDD và SVDD thuần, dễ thấy rằng nhiệm vụ của bài toán vẫn là tối thiểu hóa bán kính siêu cầu. Một kernel biến đổi dữ liệu một cách cố định đã được thay thế bằng một phép biến đổi dựa trên mạng nơ-ron, học cả quá trình biến đổi dữ liệu. Những ràng buộc của SVDD đều được lồng trực tiếp vào hàm mục tiêu của AESVDD và thêm một hạng tử tiêu biến trọng số, giúp tránh trường hợp mô hình quá khớp (overfitting).
Anomaly Detection Giống như SVDD, với mỗi một điểm thử trong không gian X thực hiện kiểm tra với AESVDD sẽ được định nghĩa một giá trị, tạm gọi là điểm ngoại lai:
f(x) =kφ(x, W∗)−ck2
2−R∗2 (3.3)
điểm này là hiệu của bình phương khoảng cách điểm ấy đến điểm trung tâm với bình phương bán kính siêu cầu. Ví dụ, một điểm thử x có giá trị dương, thì nó sẽ được đánh dấu là ngoại lai, tức điểm này sẽ nằm ngoài siêu cầu.
3.2. Đề xuất cải tiến
Việc tối ưu hàm mục tiêu [3.2] chính là cố gắng tìm một mạng với trọng số
W để những điểm dữ liệu có thể được ánh xa một cách gần đối với tâm c - giá trị được cho trước của siêu cầu. Để đạt được điều này, mạng sẽ cố gắng trích xuất được những phương sai chính của dữ liệu. Khi đó, những điểm bình thường sẽ được ánh xạ gần với tâm c, còn những điểm bất thường sẽ được ánh xạ xa hơn. Rõ ràng, ở đây với cách tiếp cận này, chúng ta đã trích xuất được phần nào đặc trưng của tập dữ liệu.
Hàm mục tiêu với biên cứng
Trong trường hợp, chúng ta giả sử rằng tập dữ liệu không có điểm ngoại lai hay bất thường. Lúc này, chúng ta sẽ đề xuất một hàm mục tiêu đơn giản hơn như sau: min W 1 n n X i=1 kφ(xi;W)−ck2 2+ λ 2 L X l=1 Wl 2 F (3.4)
trong đó c6= φ(x;W0) là tâm của siêu cầu trong không gian đầu ra của mạng (giá trị cố định). Hạng tử thứ nhất thể hiện việc đi tối thiểu trung bình khoảng cách của tất cả các điểm dữ liệu tới điểm trung tâm trong không gian đầu ra của mạng. Hạng tử thứ hai cũng tương tự như hàm mục tiêu biên miềm chính là kỹ thuật chính quy hóa.
Một lần nữa, để thực hiện việc ánh xạ dữ liệu sao cho gần với tâm cnhất có thể, mạng phải trích xuất được các nhân tố phương sai chính của dữ liệu. Việc hàm phạt đối với giá trị trung bình khoảng cách trên tất cả các điểm dữ liệu thay