Tấn công đối nghịch trong Học máy và cách phòng chống

by Tiểu Thành

Bùng nổ của Dữ liệu lớn (Big Data) đã cung cấp tài nguyên quý giá cho lĩnh vực Học máy (Machine Learning) và Học sâu (Deep Learing), chính điều này đã mang lại những kết quả ấn tượng trong nhiều lĩnh vực. Một ví dụ điển hình đó là sự ra đời của bộ dữ liệu ImageNet  gồm hơn 15 triệu hình ảnh có độ phân giải cao được dán nhãn của 22000 danh mục đã cách mạng hóa ngành Thị giác máy tính (Computer Vision). Nhiều mô hình tiên tiến đã đạt được độ chính xác cao nhất 98% trên bộ dữ liệu ImageNet, do đó, dường như các mô hình này là hoàn hảo và không có gì có thể sai. Tuy nhiên, những tiến bộ gần đây trong Đào tạo mạng đối nghịch (Adversarial training) đã chỉ ra rằng việc đó chỉ là ngộ nhận. Một mô hình được cho là tốt thường xuyên cho kết quả sai khi phải đối mặt với các ví dụ đối nghịch(adversarial examples). Hình ảnh dưới đây minh họa vấn đề này:

Hình 1. Ví dụ về việc dự đoán sai nhãn khi thêm một lượng nhiễu. Nguồn tại đây

Như hình trên, mô hình phân loại cho hình ảnh ban đầu là gấu trúc với độ tin cậy là 57,7%, tuy nhiên sau khi tiến hành thêm một lượng nhiễu nhỏ vào ảnh ban đầu thì mô hình lại phân loại bức ảnh là vượn với mức độ tin cây rất cao 99.3%. Rõ ràng, đối với con người, việc bổ sung một lượng nhiễu thì bức ảnh không có gì thay đổi, trong khi đó mô hình lại cho kết quả khác hoàn toàn.  Điều này thật nguy hiểm nếu như cuộc tấn công đối nghịch (adversarial attacks) được thực hiện. Do đó, mặc dù đầu ra của mô hình có thể bị thay đổi nhưng chúng ta không thể nhận định rằng kết quả đó là chính xác hay không chính xác. Chính điều này là động lực để giáo sư Ling Liu’s tại hội nghị Dữ liệu lớn của IEEE năm 2019, cô đã chỉ ra các kiểu tấn công đối nghich, các cách tạo ra chúng và các cách chống lại cuộc tấn cộng đối nghịch này. Sau đây là chi tiết của bài báo của giáo sư tại hội nghị này.

1. Các kiểu tấn công đối nghịch

Các cuộc tấn công đối nghich trong Học máy được chia thành 2 loại: Tấn công có mục tiêu và tấn công không có mục tiêu.

Đối với cuộc tấn có mục tiêu: Kiểu tấn công này sẽ có một lớp mục tiêu được nhắm tới. Giả sử, một mô hình A sẽ phân loại hình ảnh I vào lớp X, tuy nhiên đối với cuộc tấn công này, bằng cách sử dụng tấn công đối nghịch, đã làm cho mô hình phân loại hình ảnh này vào lớp Y. Trong đó Y chính là lớp mục tiêu cần nhắm tới

Đối với cuộc tấn công không có mục tiêu: Khác với Tấn có mục tiêu, cuộc tấn công này không nhắm vào mục tiêu dự định trước, nghĩa là chỉ cần khiến cho mô hình phân loại sai với mục tiêu đích của mô hình( là kết quả ban đầu mà mô hình dự đoán khi chưa thay đổi input) bằng cách tinh chỉnh đầu vào của input.

Các nhà nghiên cứu đã phát hiện ra rằng, mặc dù các cuộc tấn công không cod mục tiêu không tốt như các cuộc tấn công có mục tiêu, nhưng chúng mất ít thời gian hơn. Các cuộc tấn công nhắm mục tiêu, mặc dù thành công hơn trong việc thay đổi dự đoán của mô hình nhưng sẽ đi kèm với chi phí (thời gian).

2. Cách tạo ra các mẫu đối nghịch

Trên đây là sự khác biệt giữa các cuộc tấn công có mục tiêu và tấn công không có mục tiêu. Trong phần này chúng ta sẽ tìm hiểu làm cách nào các cuộc tấn công này thực hiện. Trong Học máy, quy trình đào tạo để tìm cách giảm thiểu mất mát giữa nhãn mục tiêu và nhãn dự đoán được xây dựng theo công thức sau:

  • Cho một tập data D = {x1,x2,x3,…,xn} trong đó xi chính là feature vector
  • Tương ứng sẽ là các nhãn của các feature vector sẽ là L ={y1,y2,y3,…,yn}.

Ta sẽ tiến hành tìm một hàm H(x) sao cho tổng dưới đây là nhỏ nhất :

Trong đó: l chính là độ chênh lệch giữa giá trị dữ đoán (H(xi)) và giá trị thực tế.

Quay lại với tấn công đối nghịch, 2 bước sau sẽ được thực hiện:

  • Input đầu vào X sẽ được thay đổi thành X’
  • Mục tiêu lúc này là làm sao để kết quả dự đoán H(x) không phải là y nữa. Hàm mất mát bây giờ được chuyển đổi từ L(H(xi),y) thành L(H(xi),y’), trong đó y khác y’.

Bước chuyển từ X sang X’ được gọi là Nhiễu loạn nghich cảnh (adversarial perturbation), trong đó nhiễu được tính toán sao cho dự đoán sẽ không giống với nhãn gốc. Đối với hình ảnh, điều này có thể xuất hiện dưới dạng nhiễu pixel như chúng ta đã thấy ở trên với ví dụ gấu trúc. Đối với các cuộc tấn công không có mục tiêu, mục đích duy nhất là tối đa hóa tổn thất giữa H (x) và H (x ‘) cho đến khi kết quả dự đoán không phải là y (nhãn thực). Trong khi đó, các cuộc tấn công có mục tiêu,ngoài việc tối đa hóa tổn thất giữa H (x) và H (x ‘) thì còn phải giảm thiểu tổn thất giữa H (x’) và y ‘ cho đến H (x’) = y ‘ thay vì y .

Nhiễu loạn nghịch cảnh có thể được phân loại thành nhiễu loạn một bước và nhiễu loạn nhiều bước. Như tên gọi, nhiễu loạn một bước chỉ liên quan đến một giai đoạn duy nhất đó chính là thêm nhiễu vào hình ảnh gốc đúng một lần. Trong khi đó, nhiễu loạn nhiều bước là một cuộc tấn công lặp đi lặp lại bằng cách thực hiện các sửa đổi nhỏ cho đầu vào ở mỗi lần lặp. Do đó, cuộc tấn công một bước tuy  nhanh nhưng có thể thêm nhiễu một cách quá mức, do đó con người dễ dàng phát hiện các thay đổi trong ảnh gốc. Việc này có thể giải thích là do cuộc tấn công này chỉ tập trung vào việc tối đa hóa tổn thất giữa H(x) và H'(x) trong khi không chú trọng vào việc giảm thiểu mất mát lượng nhiễu loạn. Ngược lại, cuộc tấn công nhiều bước mang tính chiến lược hơn vì nó đưa ra một lượng nhỏ nhiễu loạn mỗi lần. Tuy nhiên, đánh đổi của việc này đó chính là thời gian và mặt tính toán.

3. Tấn công hộp đen và tấn công hộp trắng

Chúng ta đã hiểu được cách các cuộc tấn công đối nghich được thực hiện như thế nào. Một số người tinh ý sẽ nhận ra rằng các cuộc tấn công này được thực hiện khi và chỉ khi chúng ta biết được mục tiêu của mô hình. Tuy nhiên, những kẻ tấn công không phải lúc nào cũng biết hoặc có quyền truy cập đến mục tiêu của mô hình. Điều này nghe có vẻ như là một cách để ngăn chặn những cuộc tấn công đối nghịch, nhưng sự thật các cuộc tấn công hộp đen (black box attacks) cũng cho kết quả cao.

Các cuộc tấn công hộp đen dựa trên khái niệm về khả năng chuyển đổi của các mẫu đối nghịch, mặc dù được tạo ra để tấn công mô hình thay thế G, có thể đạt được kết quả ấn tượng khi tấn công một mô hình khác H. Các bước được thực hiện như sau:

  • Mô hình dự đoán mục tiêu tấn công H được đào tạo riêng và không biết đối thủ.
  • Một mô hình thay thế G, bắt chước H, được sử dụng để tạo các mẫu đối nghịch.
  • Bằng cách sử dụng khả năng chuyển đổi của các mẫu đối nghịch, các cuộc tấn công hộp đen có thể được thực hiện để tấn công H.

Cuộc tấn công này có thể được thực hiện với tập dữ liệu huấn luyện được biết hoặc chưa biết. Trong trường hợp dữ liệu được biết, mô hình G có thể được đào tạo trên cùng một tập dữ liệu như mô hình H để bắt chước H.

Tuy nhiên, khi chưa biết dữ liệu huấn luyện, đối thủ có thể tận dụng các cuộc tấn công suy luận thành viên, theo đó, mục đích của cuộc tấn công là phân biệt các hành vi của mô hình mục tiêu từ các đầu vào mà nó chưa biết trong quá trình huấn luyện. Về bản chất, điều này chính là  phân loại để nhận ra sự khác biệt trong dự đoán của mô hình mục tiêu đối với các đầu vào mà nó được đào tạo so với các đầu vào mà nó không được đào tạo. Điều này cho phép đối thủ hiểu rõ hơn về tập dữ liệu huấn luyện D mà mô hình H đã được đào tạo, cho phép kẻ tấn công tạo ra tập dữ liệu bóng S dựa trên cơ sở tập dữ liệu huấn luyện thực sự để huấn luyện mô hình thay thế G. Sau đó G sẽ được huấn luyện trên tập dữ liệu S để mô phỏng theo H, cuối cùng các cuộc tấn công hộp đen có thể được phát động nhắm vào H.

4. Ví dụ về tấn công hộp đen

Đến đây chúng ta đã thấy được sự khác nhau giữa tấn công hộp đen và tấn công hộp trắng như thế nào. Trong phần này, chúng ta sẽ đề cập đến các chiến thuật khác nhau được sử dụng trong các cuộc tấn công hộp đen.

a. Tấn công vật lý

Một cách đơn giản để thay đổi truy vấn đầu vào từ X sang X’ đó chính là thêm một đại lượng vật lý vào truy vấn đầu vào đề đánh lạc hướng mô hình. Các nhà nghiên cứu ở CMU đã đánh lạc lướng mô hình bằng cách thêm mắt kính cho người trong các cuộc tấn công chống lại mô hình nhận dạng khuôn mặt.

Hình 2: Nguồn

hàng hình ảnh đầu tiên tương ứng với hình ảnh gốc được sửa đổi bằng cách thêm kính mắt và hàng hình ảnh thứ hai tương ứng với các mục tiêu mạo danh, là các mục tiêu phân loại sai dự định. Chỉ bằng cách thêm mắt kính vào hình ảnh gốc, mô hình nhận dạng khuôn mặt đã bị lừa để phân loại hình ảnh ở hàng trên cùng là hình ảnh ở hàng dưới cùng.

Một ví dụ khác đến từ các nhà nghiên cứu tại Google đó là  họ đã thêm nhãn dán vào hình ảnh đầu vào để thay đổi quá trình phân loại hình ảnh, như được minh họa bằng hình ảnh dưới đây:

Hình 3: Thay đổi bằng cách thêm một nhãn vào ảnh đầu vào. Nguồn 

b. Tấn công ngoài phân phối (Out of Distribution Attacks)

Một cách khác trong tấn công hộp đen được thực hiện  thông qua các cuộc tấn công ngoài phân phối (OOD). Trong máy học, chúng ta giả định rằng các đặc trưng rút ra từ các tập dữ liệu sẽ có cùng một phân phối. Trong một cuộc tấn công của 3M, giả định này được khai thác bằng cách cung cấp hình ảnh của một bản phân phối khác từ tập dữ liệu huấn luyện cho mô hình, ví dụ, đưa dữ liệu TinyImageNet vào bộ phân loại CIFAR-10 sẽ dẫn đến dự đoán không chính xác với độ tin cậy cao.

5. Làm thế nào chúng ta có thể tin tưởng vào Học máy ?

Một câu hỏi được đặt ra là làm thế nào chúng ta có thể tin tưởng vào các mô hình học máy của mình khi chúng dễ bị tấn công bởi các mô hình đối nghịch ? Vào năm 2019, Chow et al đã đề xuất một phương pháp trong bài báo có tiêu đề “Khử nhiễu và xác minh sự hòa hợp giữa các lớp chống lại các cuộc tấn công bất lợi hộp đen”. Cách tiếp cận tập trung vào việc cho phép các hệ thống máy học tự động phát hiện các cuộc tấn công đối nghich và sau đó tự động sửa chữa chúng thông qua việc sử dụng các tổ hợp khử nhiễu và xác minh.

a. Khử nhiễu

Đầu tiên, các hình ảnh đầu vào phải thông qua các tổ hợp khử nhiễu cố gắng thực hiện các phương pháp khác nhau để loại bỏ bất kỳ nhiễu thêm vào hình ảnh, ví dụ như thêm nhiễu Gaussian. Do không thể xác định được loại nhiễu được thêm vào, nên ta cần có một nhóm mô hình tương ứng để loại bỏ từng loại nhiều khác nhau.

Hình dưới đây cho thấy quá trình đào tạo cho bộ khử nhiễu tự động- hình ảnh gốc được cộng thêm  một số nhiễu  và bộ mã hóa tự động cố gắng tái tạo lại hình ảnh chưa được xử lý ban đầu. Trong quá trình đào tạo, mục tiêu là giảm lỗi tái cấu trúc giữa ảnh được dựng lại và ảnh gốc.

Hình 4. Mô phỏng quá trình khử nhiễu. Nguồn

Bằng cách phát triển một nhóm gồm các bộ khử nhiễu tự đông, mỗi bộ được đào tạo để loại bỏ một loại nhiễu cụ thể, hy vọng rằng các hình ảnh bị hỏng sẽ được khử nhiễu đủ để nó gần với hình ảnh gốc ban đầu để cho phép phân loại hình ảnh.

b. Xây dựng trình xác thực

Sau khi các hình ảnh đã được khử nhiễu, chúng sẽ cho đi qua một tổ hợp xác minh để xem xét tương ứng với mọi hình ảnh được khử được tạo ra bởi mỗi bộ khử nhiễu và sau đó phân loại hình ảnh bị khử. Mỗi bộ phân loại trong tập hợp xác minh sẽ phân loại từng hình ảnh đã được khử nhiễu và sau đó sẽ tiến hành ước lượng loại của hình ảnh đó. Điều này có nghĩa là mặc dù một số hình ảnh có thể không được khử nhiễu theo cách chính xác trong bước khử nhiễu, nhưng việc xác minh  cho tất cả các hình ảnh được khử nhiễu, do đó làm tăng khả năng đưa ra dự đoán chính xác hơn.

c. Sự đa dạng

Với việc sử dụng nhiều bộ khử nhiễu cùng với nhiều bộ xác minh (verifiers) được cho là rất cần thiết bởi vì các cuộc tấn công đối nghịch đa dạng sẽ tạo ra nhiều thay đổi trong hình ảnh vì thế cần phải có nhiều bộ khử và bộ xác minh để xử lý nhiều hình ảnh bị hỏng. Theo đó, chúng ta cần phải có các trình xác minh đa dạng để có thể tạo ra nhiều cách phân loại khác nhau khiến cho việc tấn công đối nghịch khó có thể được thực hiện.

6. Tổng kết

Qua bài này, chúng ta đã có cái nhìn tổng quát về các loại tấn công đối nghịch khác nhau cũng như một phương pháp đầy hứa hẹn để chống lại các cuộc tấn công này. Vấn đề này cần đặt biệt lưu ý khi chúng ta tiến hành triển khai các mô hình học máy, thay vì mù quáng tin tưởng vào các mô hình để đưa ra kết quả chính xác, chúng ta cần đề phòng các cuộc tấn công bất lợi này và luôn suy nghĩ kỹ trước khi chấp nhận các quyết định của các mô hình này.

Rất cảm ơn Giáo sư Liu về bài phát biểu  về các vấn đề cấp bách trong học máy

7. Tài liệu tham khảo

https://towardsdatascience.com/adversarial-attacks-in-machine-learning-and-how-to-defend-against-them-a2beed95f49c

Bài viết liên quan

Thêm bình luận