Bài viết đề xuất một bộ khung giải pháp giúp tận dụng tối đa nguồn tài nguyên dữ liệu của người dùng, mà vẫn đảm bảo quyền riêng tư của họ. Chúng tôi áp dụng học liên kết (Federated Learning - FL) vào việc huấn luyện các mô hình máy học.
Trang 1Phương pháp khuyến khích cộng tác đào tạo mô hình học máy bằng Blockchain và học liên kết
Hoàng Tuấn Anh∗†, Ngân Văn Luyện∗†, Đỗ Hoàng Hiển∗†, Phan Thế Duy∗†
∗ Phòng Thí Nghiệm An Toàn Thông Tin, Trường Đại Học Công Nghệ Thông Tin
† Đại Học Quốc Gia Tp Hồ Chí Minh Email: {18520446, 18521074}@gm.uit.edu.vn, {hiendh, duypt}@uit.edu.vn
Tóm tắt—Ngày nay, lượng dữ liệu được sinh ra từ các
thiết bị Vạn vật kết nối (Internet of Things - IoT) ngày càng
lớn, tạo tiền đề cho sự phát triển của các ứng dụng trí tuệ
nhân tạo Tuy nhiên, với cách tiếp cận truyền thống, việc thu
thập dữ liệu người dùng một cách tập trung đang ngày càng
trở nên khó khăn Đã có những báo cáo cho thấy tồn tại
những hành vi xâm hại đến quyền riêng tư trên dữ liệu của
người dùng Hơn nữa, lợi ích nhận được từ việc đào tạo các
mô hình học máy đa phần không được phân chia cho người
sở hữu dữ liệu Do đó, người dùng thường không sẵn sàng
chia sẻ dữ liệu của họ với người khác Trong bài báo này,
chúng tôi đề xuất một bộ khung giải pháp giúp tận dụng tối
đa nguồn tài nguyên dữ liệu của người dùng, mà vẫn đảm
bảo quyền riêng tư của họ Chúng tôi áp dụng học liên kết
(Federated Learning - FL) vào việc huấn luyện các mô hình
máy học Người dùng chỉ chia sẻ mô hình học máy được đào
tạo trên dữ liệu của họ thay vì chia sẽ dữ liệu thô Do đó
quyền riêng tư của người dùng được đảm bảo Hơn nữa, các
hoạt động đóng góp của người dùng trong hệ thống được ghi
lại vào Blockchain Điều này đảm bảo được sự minh bạch
trong quá trình vận hành hệ thống và khuyến khích người
dùng tham gia đóng góp đào tạo mô hình học máy.
Từ khóa—Blockchain, federated learning, học máy.
I GIỚI THIỆU Hiện nay, nhiều quốc gia đã và đang đẩy mạnh chiến
lược xây dựng đô thị thông minh để đón đầu cuộc đua
về sáng tạo khoa học kỹ thuật trong bối cảnh Cách mạng
Công nghiệp lần thứ Tư (CMCN 4.0) Chìa khoá để hiện
thực chiến lược này chính là trí tuệ nhân tạo (Artificial
Intelligence - AI), yếu tố đang định hình một hệ sinh thái
công nghệ xoay quanh việc phục vụ tối đa lợi ích của
người dân thông qua việc thực hiện quá trình chuyển đổi
số - số hóa dữ liệu Trong đó, dữ liệu được người dùng
chia sẻ đóng vai trò quan trọng trong việc xây dựng hệ
sinh thái thông minh, mềm dẻo và bền vững trong từng
lĩnh vực của đời sống kinh tế - xã hội Các mô hình AI
hiện nay đang tận dụng những tiến bộ trong mô hình học
máy (Machine Learning - ML) để nâng cao tính ưu việt
của hệ sinh thái thông minh Điều này cần một khối lượng
dữ liệu lớn và đa dạng để đào tạo Cách tiếp cận xây dựng
mô hình ML hiện nay chủ yếu là thu thập dữ liệu cho
việc đào tạo tập trung tại một máy chủ, sau đó đào tạo
mô hình trên dữ liệu đó Tuy nhiên, cách tiếp cận này đang
dần trở nên khó khả thi vì những rủi ro về quyền riêng tư
của người dùng Đồng thời, các chủ sở hữu dữ liệu cũng
không sẵn sàng chia sẻ dữ liệu vì không được hưởng lợi
từ việc đóng góp dữ liệu của mình cho quá trình đào tạo
mô hình máy học Vì vậy, để xây dựng được một một hệ sinh thái thông minh, toàn diện, cần có một cách tiếp cận máy học mới Cách tiếp cận này cần phải giải quyết được vấn đề liên quan đến quyền riêng tư của người dùng, và đảm bảo được nguồn lợi cho chủ sở hữu dữ liệu Trong bối cảnh đó, phương pháp học cộng tác/học liên kết (Federated Learning- FL) xuất hiện như một giải pháp
có thể đáp ứng được yêu cầu huấn luyện mô hình ML hiệu quả mà vẫn đảm bảo tính bảo mật và riêng tư của dữ liệu
Sử dụng phương pháp FL, các thực thể (các tổ chức, cá nhân, thiết bị IoT, ) tham gia cộng tác được phân phối
mô hình hiện tại từ máy chủ trung tâm và thực hiện huấn luyện ngay tại chính thực thể đó bằng cách sử dụng bộ
dữ liệu cục bộ Người dùng chia sẻ mô hình kết quả cho trung tâm tổng hợp thay vì chia sẻ dữ liệu thô của mình Điều này giúp giải quyết được phần lớn các vấn đề liên quan đến quyền riêng tư dữ liệu người dùng Tại máy chủ tổng hợp, quy trình huấn luyện diễn ra nhiều chu kì cho đến khi mô hình toàn cục được tối ưu và đạt hiệu năng như mong đợi
Tuy nhiên, trong thực tế còn rất nhiều vấn đề xoay quanh việc triển khai hệ thống học liên kết Trong đó, điển hình là việc thiếu kiểm soát hoạt động sử dụng nguồn tài nguyên
mà người dùng cung cấp vào các mục đích xấu và vấn
đề làm sao để sự đóng góp của người dùng được trả công xứng đáng Việc chỉ gửi mô hình cục bộ đã được huấn luyện trên dữ liệu cá nhân lên hệ thống thay vì dữ liệu thô chưa hoàn toàn giải quyết được các vấn đề về quyền riêng tư Nhiều nghiên cứu đã chỉ ra rằng, thông qua các
mô hình nhận được, kẻ tấn công có thể thực hiện cuộc tấn công suy ngược [7] Bên cạnh đó, vấn đề các nguồn lợi từ việc huấn luyện mô hình học máy không được phân chia hợp lý cho các bên tham gia cũng khiến chủ sở hữu dữ liệu do dự khi được mời tham gia đóng góp Để giải quyết các vấn đề trên, Blockchain được chúng tôi đề xuất như một giải pháp hỗ trợ FL trong việc lưu trữ bằng chứng về hoạt động của các thực thể trong hệ thống Những bằng chứng này phục vụ cho quá trình điều tra về hoạt động sử dụng các đóng góp của người dùng bởi các tổ chức tổng hợp mô hình Hơn nữa, những đóng góp của người dùng được Blockchain ghi lại, đảm bảo sự chính xác và bất biến
Trang 2(không thể sửa đổi hoặc xóa), hỗ trợ việc trả thưởng cho
người dùng một cách chính xác và minh bạch
II NGHIÊN CỨU LIÊN QUAN
Học liên kết đã tạo điều kiện thuận lợi để giải quyết
các vấn đề về quyền riêng tư và bảo mật dữ liệu so với
cách đào tạo mô hình máy học truyền thống, với khả năng
đào tạo mô hình máy học phân tán mà không cần chủ
sở hữu dữ liệu phải chia sẻ dữ liệu riêng tư của họ Một
số nghiên cứu trước đây [1], [2] đã nghiên cứu các ứng
dụng của FL trong nhiều ngữ cảnh của nền công nghiệp
IoT Đặc biệt, Dinh C.Nguyen và cộng sự [1] đã thực hiện
một cuộc khảo sát và đánh giá toàn diện về ứng dụng của
FL trong mạng lưới IoT Nhóm tác giả cũng thảo luận về
vai trò của FL trong một loạt các dịch vụ IoT như chia
sẻ dữ liệu, phát hiện tấn công, cảm biến đám đông trên
thiết bị di động cũng như quyền riêng tư và bảo mật IoT
Bài báo cũng đã chứng minh tính linh hoạt của FL trong
một số lĩnh vực như chăm sóc sức khỏe, giao thông, máy
bay không người lái (UAV), Sau cùng, bài báo cũng chỉ
ra những thách thức và định hướng có thể nghiên cứu và
triển khai FL trong lĩnh vực này
Về việc xây dựng khung học tập liên kết dựa trên
Blockchain cho các thiết bị IoT, cũng đã có một số nỗ
lực nghiên cứu tập trung vào vấn đề này [3], [4] Cụ thể,
trong nghiên cứu của Rui Wang và cộng sự [3] là những
người đầu tiên đề xuất tích hợp Blockchain, MEC vào quy
trình học liên kết nhằm cải thiện quyền riêng tư, chất lượng
và chi phí giao tiếp hệ thống Nhóm tác giả cũng đề xuất
thuật toán ngăn chặn các bản cập nhật độc hại nhằm bảo
vệ FL và thiết kế cơ chế khuyến khích người dùng tham
gia đào tạo mô hình Trong nghiên cứu về đảm bảo quyền
riêng tư dữ liệu trong ngành công nghiệp IoT [4], Y Lu
và cộng sự đã thiết kế một kiến trúc chia sẻ dữ liệu an
toàn sử dụng FL và Blockchain Nhằm cải thiện các vấn
đề liên quan đến quyền riêng tư trong FL để tăng cường
đào tạo [5], nhóm tác giả đã triển khai một cơ chế bảo mật
nâng cao sử dụng Differential Privacy và Homomorphic
encryption Trong công trình này nhóm tác giả cũng sử
dụng (IPFS) làm nơi lưu trữ dữ liệu để xây dựng một hệ
thống hoàn toàn phi tập trung Họ cũng đề xuất một cơ
chế khuyến khích chủ sở hữu dữ liệu tham gia đào tạo mô
hình bằng cách sử dụng hợp đồng thông minh Ethereum
Ngoài ra, công trình nghiên cứu về thiết kế cơ chế
khuyến khích cho việc học liên kết [6], Yufeng Zhan và
cộng sự đã trình bày và phân loại các cơ chế khuyến khích
hiện có đối với việc học liên kết, sau đó, thực hiện đánh
giá so sánh Các tác giả đã chỉ ra các cơ chế khuyến
khích đã bị bỏ qua hoặc chưa được liên kết với các thuật
toán trong các mô hình hiện tại và đề nghị việc xây dựng
cơ chế khuyến khích cũng cần xây dựng một hệ thống
bảo mật hơn để người dùng an tâm tham gia đào tạo mô
hình Nhóm tác giả cũng đã nêu lên những ý tưởng về xây
dựng cơ chế khuyến khích Nghiên cứu đã nêu một các
tổng quan về cơ chế khuyến khích trong học liên kết Tuy
nhiên, đây chỉ là một khảo sát và đánh giá; dù mang lại một cái nhìn tổng quan và nhiều cách để giải quyết khác nhau, nhưng chưa được triển khai để đáp ứng đầy đủ các yêu cầu của các hệ thống hiện tại
III KIẾN TRÚC ĐỀ XUẤT
A Tổng quan kiến trúc
Để giải quyết các vấn đề đã nêu trên, một kiến trúc với
sự kết hợp giữa Federated learning và Blockchain được chúng tôi đề xuất và thiết kế như mô tả trong Hình 1 Hệ thống với vai trò tạo ra môi trường đáng tin cậy, có khả năng khai thác nguồn tài nguyên dữ liệu của người dùng
mà vẫn đảm bảo được các vấn đề về quyền riêng tư cho chủ sở hữu Người đóng góp có thể yên tâm về những nguồn lợi mà mình nhận được là hoàn toàn xứng đáng với những gì họ đóng góp Người đưa ra lời kêu gọi đào tạo tổng hợp mô hình có thể yên tâm rằng mọi người trong mạng Fedchain đều thấy được yêu cầu của họ và cùng nhau đóng góp cho mô hình chung
Hình 1 Kiến trúc của hệ thống FedChain
Một cá nhân hay tổ chức (task publisher) muốn xây dựng một mô hình máy học mới, điều họ cần làm là đăng
ký mở tác vụ huấn luyện với hệ thống Bên cạnh các thông tin hỗ trợ cho việc tổng hợp mô hình, một khoản phí cần được thanh toán nhằm trả công cho những người tham gia đóng góp Các cá nhân có bộ dữ liệu phù hợp sẽ xem xét
và quyết định đóng góp cho việc xây dựng mô hình này Chủ sở hữu dữ liệu cần cung cấp thông tin về bộ dữ liệu, thông tin phần cứng mà người đó sở hữu và bắt đầu huấn luyện mô hình Kết quả sau khi huấn luyện được gửi lại máy chủ tổng hợp Hành vi đóng góp này được Blockchain ghi lại và hệ thống sẽ tiến hành trả thưởng dựa trên những
Trang 3bằng chứng này Khi có được số lượng đủ lớn các mô hình
từ phía người dùng gửi lên, máy chủ tổng hợp sinh ra một
mô hình trung tâm và trả về cho task publisher Kết quả
sau cùng là task publisher có được mô hình máy học mà
mình mong muốn Các chủ sở hữu dữ liệu vừa bảo vệ
được quyền riêng tư, vừa được trả công một cách xứng
đáng
Bên cạnh Federated learning và Blockchain, chúng tôi
sử dụng mạng sinh đối kháng (Generative Adversarial
Networks - GAN) như một giải pháp để giải quyết vấn
đề mất cân bằng dữ liệu giữa những người tham gia đóng
góp IPFS được sử dụng để lưu trữ các mô hình được
người dùng tải lên, với mục đích giảm tải cho hệ thống
Blockchain trong quá trình lưu trữ Đồng thời, nó cũng
giải quyết các vấn đề mà phương thức lưu trữ dữ liệu tập
trung gặp phải Sự kết hợp trên giúp cho hệ thống của
chúng tôi hoạt động một cách chính xác và mềm dẻo hơn
trong quá trình vận hành Chi tiết về các thành phần cũng
như cách chúng phối hợp với nhau sẽ được chúng tôi trình
bày cụ thể trong các phần tiếp theo
B Federated Learning
Mỗi người sở hữu một bộ dữ liệu khác nhau, do đó, với
cùng một thuật toán máy học và các tham số truyền vào,
mô hình được tạo ra sẽ có những đặc trưng riêng theo
từng bộ dữ liệu Dựa vào điều này, Federated learning ra
đời như một cách tiếp cận mới trong lĩnh vực trí tuệ nhân
tạo, với ý tưởng là tổng hợp một mô hình trung tâm từ các
mô hình biên được huấn luyện trên chính bộ dữ liệu của
người tham gia đóng góp Bằng phương pháp này, người
sở hữu dữ liệu chỉ cần gửi đi mô hình máy học đã được
huấn luyện thay vì gửi đi dữ liệu thô Từ đó, khắc phục
được phần lớn vấn đề liên quan đến quyền riêng tư cá
nhân Bốn bước để xây dựng nên một mô hình máy học
sử dụng Federated learning được chúng tôi trình bày cụ
thể trong Algorithm 1
Để bắt đầu xây dựng một mô hình học máy, một bộ
trọng số của mô hình toàn cục sẽ được cung cấp Các
thông số như rounds, epochs, clients, cũng được cung
cấp ngay từ bước này Những người dùng sau khi đăng
ký đóng góp sẽ nhận được các thông số trên, tương ứng
với loại tác vụ được đăng ký Họ sẽ tiến hành sử dụng nó
để huấn luyện trên chính tập dữ liệu của họ sở hữu Sau
khi trải qua quá trình đào tạo, những người tham gia đóng
góp gửi kết quả lên hệ thống để phục vụ cho bước tổng
hợp mô hình toàn cục Tất cả hoạt động của người tham
gia đều được ghi lại vào Blockchain Từ những mô hình
được người dùng đóng góp, có nhiều thuật toán để có thể
tính toán ra một mô hình toàn cục với độ chính xác khác
nhau Tuy nhiên, trong khuôn khổ bài báo này, chúng tôi
sử dụng FedAVG [10] làm thuật toán tổng hợp bởi sự đơn
giản trong triển khai và tính hiệu quả trong tổng hợp mô
hình của nó Cuối cùng, máy chủ sẽ phân phối lại mô hình
đã được tổng hợp cho người tham gia huấn luyện để tiếp
tục cải tiến Trên thực tế, mỗi bộ dữ liệu sẽ có sự thay đổi
theo thời gian, do đó, việc huấn luyện cần phải lặp đi lặp lại nhiều lần để có được độ chính xác tốt nhất
Algorithm 1 Quy trình huấn luyện mô hình máy học dựa
trên Học liên kết
Input:
- Máy chủ tổng hợp AS;
- Người dùng C = {C0, C1, Cn}, muốn tham gia đóng góp cho mô hình
- Số vòng trao đổi R giữa server và thành viên tham gia
Output: Mô hình máy học với chất lượng tốt.
1: 1 Khởi tạo:
2: - Tại máy chủ tổng hợp: Một mô hình máy học M được thiết lập với bộ trọng số w0và các thiết lập ban đầu
3: - Tại thiết bị của người : Người dùng C nhận mô hình
M với các trọng số w0 và các tham số liên quan 4: Xây dựng mô hình:
5: r ← 1 6: snod ← Số lượng dữ liệu được chỉ định 7: while r ≤ R do
8: 2 Huấn luyện local model
9: k ← 1 10: while k ≤ n do
11: cd ← Client Ck datasets 12: if cd < snod then
13: while cd < snod do
14: GAN tạo và cấp datasets
15: end while
16: end if
17: Client Ck huấn luyện mô hình Mk sử dụng bộ
dữ liệu cá nhân
18: Gửi lại các trọng số wkr cho AS
19: k ← k + 1 20: end while
21: 3 Máy chủ tổng hợp
22: - AS nhận tất cả wr
k từ những người dùng 23: - AS sử dụng thuật toán FedAVG tạo ra mô hình
mới với bộ trọng số wr 24: 4 Máy chủ tổng gợp gửi lại mô hình mới cho người dùng
25: k ← 1 26: while k ≤ n do
27: Người dùng Ck cập nhật trọng số wr cho mô mình Mk
28: k ← k + 1 29: end while
30: r ← r + 1 31: end while
32: return Mô hình máy học với bộ trọng số wR
Trang 4C Blockchain trong triển khai cơ chế khuyến khích và
giám sát hệ thống
Dựa vào tính minh bạch và bất biến của Blockchain,
chúng tôi triển khai nó một cách song song với Federated
learning, hỗ trợ việc ghi lại hành vi của thành viên trong hệ
thống Chúng tôi xây dựng hệ thống Blockchain để giám
sát 5 hoạt động chính của hệ thống để đảm bảo thực hiện
cơ chế khuyến khích một cách chính xác và công bằng
nhất Đồng thời, nó cho phép quản lý được việc sử dụng
dữ liệu của những người tổng hợp mô hình Các hành vi
được giám sát bởi Blockchain bao gồm:
• Đăng ký thành viên hệ thống
Để tham gia vào hệ sinh thái FedChain, người dùng
cần có một định danh để hệ thống quản lý các hành
vi của họ Do đó người dùng cần đăng ký thành viên
trước khi thực hiện các chức năng khác Trong phạm
vi bài báo này, chúng tôi sử dụng mã hoá bất đối
xứng làm cơ chế xác thực danh tính người dùng trog
hệ thống Do đó, người dùng cần tạo ra một cặp khoá
cho riêng mình, sau đó gửi một vài thông tin cá nhân
cần thiết kèm theo khoá công khai của mình Mọi
yêu cầu khi gửi đi cần được mã hoá bằng khoá bí
mật của người gửi, hệ thống xác thực bằng cách sử
dụng khoá công khai của họ
• Đăng ký mở một tác vụ huấn luyện
Khi đăng ký mở một tác vụ huấn luyện mới, task
publisher cần cung cấp thông tin về loại tác vụ đó
Những thông tin này sẽ được công bố cho tất cả các
thành viên trong mạng được biết Người sở hữu bộ
dữ liệu phù hợp sẽ đăng ký vào tác vụ này Ngoài
ra, task publisher cần cung cấp một khoản phí để trả
thưởng cho người dùng theo từng chu kỳ
• Đăng ký đóng góp cho một tác vụ cụ thể
Các tác vụ sau khi được đăng ký với hệ thống được
những thành viên khác tham gia đóng góp Để tham
gia vào một tác vụ cụ thể, chủ sở hữu dữ liệu cần
cung cấp thông tin chi tiết về tài nguyên phần cứng
và đặc điểm bộ dữ liệu mà họ sở hữu Sau khi đăng
ký thành công, một mô hình sơ khai được gửi cho
người đăng ký để tiến hành huấn luyện mô hình trên
chính bộ dữ liệu của mình
• Gửi kết quả huấn luyện lên máy chủ tổng hợp
Sau khi trải qua quá trình huấn luyện, kết quả sẽ
được gửi lên hệ thống Mô hình sau khi được gửi lên
được lưu trữ trong hệ thống lưu trữ phân tán IPFS,
cùng với đó, hành vi đóng góp cũng được hệ thống
ghi vào Blockchain Những thông tin này sẽ phục vụ
trong việc truy xuất nguồn gốc các mô hình và trả
thưởng cho người dùng
• Tổng hợp mô hình toàn cục
Chức năng này thường được sử dụng bởi task
pub-lisher Sau một thời gian kể từ khi đăng ký mở một
tác vụ huấn luyện mô hình máy học với hệ thống,
người đăng ký tiến hành tổng hợp lại các đóng góp
của người dùng để xây dựng nên một mô hình toàn cục (global model)
Tất cả các hoạt động trên đều được ghi vào Blockchain
Vì vậy, nếu có bất kỳ vấn đề nào liên quan đến hoạt động phá hoại đều có thể dễ dàng truy xuất được kẻ tấn công Bên cạnh đó, hoạt động vận hành và trả thưởng cho người dùng cũng trở nên đáng tin cậy khi không có bất cứ bên thứ ba nào can thiệp vào hệ thống trong quá trình vận hành
D Khắc phục vấn đề mất cân bằng dữ liệu
Tuy nhiên, các mô hình được đào tạo bằng FL thường
có hiệu suất kém hơn so với các mô hình được đào tạo bằng phương pháp học tập trung, đặc biệt khi dữ liệu đào tạo bị chênh lệnh về số lượng mẫu cũng như tỉ lệ theo nhãn có sự chênh lệnh lớn giữa các tập dữ liệu của người dùng (Non-IID) [8] Chúng tôi sử dụng GAN như một giải pháp giúp khắc phục vấn đề này trong ngữ cảnh dữ liệu Non-IID Việc triển khai GAN được thực hiện ngay trên các thiết bị huấn luyện của người dùng Với khả năng sinh
dữ liệu của mình, GAN có khả năng giải quyết tốt vấn đề mất cân bằng dữ liệu giữa các thiết bị tham gia
IV THỰC NGHIỆM VÀ ĐÁNH GIÁ HIỆU NĂNG HỆ
THỐNG
Hệ thống FedChain được chúng tôi đề xuất có thể hỗ trợ việc xây dựng các mô hình AI trong nhiều lĩnh vực khác nhau Tuy nhiên, trong phạm vi bài báo này, chúng tôi tiến hành xây dựng một mô hình máy học có nhiệm
vụ phát hiện các cuộc tấn công mạng Để chứng minh hệ thống có khả năng vận hành tốt, chúng tôi đánh giá trên hai khía cạnh khác nhau Thứ nhất, chúng tôi đánh giá chất lượng mô hình được tạo ra bằng phương pháp Federated learning và GAN Thứ hai, chúng tôi kiểm tra hiệu năng
xử lý của hệ thống Blockchain về khía cạnh thời gian xử
lý và mức độ tiêu tốn tài nguyên tính toán trong ngữ cảnh
có nhiều thiết bị cùng tham gia
A Thiết lập môi trường thực nghiệm
Môi trường thực nghiệm FL và GAN
Tensorflow được sử dụng cho việc triển khai FL và GAN Cấu hình máy dùng cho đào tạo FL và GAN là CPU: Intel® Xeon® E5-2660 v4 (16 cores - 2.0 Ghz), RAM: 64 GB, OS: Ubuntu 16.04
Môi trường thực nghiệm Blockchain
Hyperledger Sawtooth [11] được sử dụng làm nền tảng triển khai Blockchain Việc triển khai được thực hiện với 5 nodes đồng thuận dựa trên thuật toán đồng thuận Practical Byzantine Fault Tolerance (PBFT) bởi khả năng chịu lỗi và thời gian phản hồi tốt Các node hoàn toàn được triển khai bằng Docker Máy được cấu hình để tham gia vào mạng IPFS Cấu hình máy sử dụng là CPU: Intel® Core™ i5-9300H (4 cores - 8 threads - 3.5 Ghz), RAM: 16 GB, OS: Ubuntu 16.04
Trang 5B Dataset và tiền xử lý dữ liệu
• Dataset
Chúng tôi sử dụng tập dữ liệu CICIDS-2017 [9] do
Viện An ninh mạng Canada cung cấp để đánh giá
chương trình FedChain Chúng tôi chỉ sử dụng dữ liệu
từ 3 tệp (Tuesday, Wednesday, Thursday-Afternoon)
với tổng số hơn 1,3 triệu bản ghi mô tả các cuộc tấn
công mạng điển hình như DoS Hulk, DoS Golden
Eye, DoS slowloris, DoS Slowhttptest, Heart-bleed,
FTP-Patator, SSH-Patator, Infiltration
• Tiền xử lý dữ liệu
Theo một nghiên cứu được công bố trong bài báo [9],
Kurni-abudi và cộng sự đã cho thấy rằng, trong số 79
thuộc tính của 1 cuộc tấn công, chỉ có 16 thuộc tính
hàng đầu được cho là có thể dễ dàng trích xuất và
quan sát, cũng như có ảnh hưởng lớn đến việc phát
hiện một cuộc tấn công Các thuộc tính được lựa chọn
này là Destination Port, FlowDuration, Packet Length
Std, Total Length of Bwd Packet, Subflow Bwd Bytes,
Packet Length Variance, Bwd PacketLength Mean,
Bwd Segment Size Avg, Bwd Packet LengthMax, Total
Length of Fwd Packets, Packet Length Mean, Max
Packet Length, Subflow Fwd Bytes, Average Packet
Size, InitWinbytesbackward, InitWinbytesforward
C Đánh giá hiệu năng hệ thống
• Hiệu suất GAN trong việc sinh dữ liệu đối kháng
Hình 2 Sự tương đồng giữa dữ liệu gôc và dữ liệu được tạo ra
từ 4 thuộc tính (từ trái sang: FlowDuration, TotalLengthBwdPacket,
PacketLengthMean, PacketLengthStd)
Thử nghiệm này cho thấy khả năng của GAN trong
việc tự động tạo ra các lưu lượng mạng mới gần
giống với các lưu lượng đầu vào Hình 2 cho thấy
sự tương đồng giữa bộ dữ liệu CICIDS2017Train
gốc và các luồng mạng được tạo trong bốn thuộc
tính gồm lowDuration, TotalLengthBwdPacket,
Pack-etLengthMean, PacketLengthStd
• Đánh giá hiệu năng của Federated Learning
Trong phần này, chúng tôi huấn luyện mô hình máy
học với FL trong trường hợp có và không có GAN
để so sánh kết quả với ngữ cảnh huấn luyện trên dữ liệu tập trung Các mô hình phía người dùng sử dụng thuật toán LSTM để huấn luyện Thuật toán này cũng được dùng để huấn luyện trong ngữ cảnh tập trung tất cả dữ liệu Kiến trúc mô hình cấu tạo như sau: Lớp LSTM với 64 internal units, lớp Dense với 16 internal units Mô hình có đầu vào với kích thước (16,1) và đầu ra là kết quả sau khi qua lớp Dense với hàm kích hoạt sigmoid Riêng đối với FL, chúng tôi tiến hành huấn luyện trong 3, 6, 9 và 12 vòng với 3 người dùng Kết quả sau khi triển khai được chúng tôi trình bày trong Bảng I và Bảng II
Bảng I
K ẾT QUẢ THỰC NGHIỆM TRONG NGỮ CẢNH DỮ LIỆU N ON -IID
Round Precision Recall F1-score Accuracy
3 0.9035 0.6342 0.7452 0.9564
Without 6 0.9482 0.591 0.7281 0.9557
12 0.9413 0.5696 0.7097 0.9532
3 0.9457 0.9021 0.9233 0.9331
With 6 0.9541 0.9026 0.9276 0.9371
12 0.959 0.9007 0.9289 0.9581
Bảng II
K ẾT QUẢ THỬ NGHIỆM TRONG TRƯỜNG HỢP TẬP TRUNG DỮ LIỆU
Precision Recall F1-score Accuracy
Centralized learning 0.88 0.9753 0.9251 0.9705 Federated learning 0.9129 0.9645 0.9379 0.9612
Bảng I so sánh hiệu suất của mô hình trước và sau khi sử dụng GAN Kết quả cho thấy chất lượng mô hình máy học được cải thiện đáng kể, đặc biệt là thông số Recall và F1-score Bảng II so sánh phương pháp huấn luyện tập trung dữ liệu với huấn luyện theo phương pháp FL + GAN Có thể thấy, với cùng một bộ dữ liệu, phương pháp tiếp cận của chúng tôi
có khả năng tạo ra mô hình máy học với độ chính xác tương đương vơi phương pháp huấn luyện truyền thống
D Hiệu năng Blockchain
Chúng tôi đánh giá hiệu suất của hệ thống Blockchain thông qua mức tiêu thụ tài nguyên CPU và thời gian xử
lý trong một số ngữ cảnh cụ thể
Để xác định mức tiêu thụ tài nguyên CPU của hệ thống khi hoạt động, chúng tôi tiến hành thử nghiệm trong ngữ cảnh 20 người dùng liên tục gửi yêu cầu đăng ký một tác
vụ và đo mức tiêu thụ trong mỗi khoảng thời gian 0,1 giây Kết quả được trình bày trong biểu đồ kết quả tiêu thụ CPU trong Hình 3 Với mức độ tiêu thụ tài nguyên CPU này, có thể thấy rằng hệ thống của chúng tôi có thể vận hành tốt trong ngữ cảnh có nhiều thiết bị cùng tham gia vào hệ thống
Trang 6Hình 3 Kết quả mức độ tiêu thụ CPU
Để đo lường hiệu suất thời gian xử lý của hệ thống,
chúng tôi lần lượt đo thời gian xử lý trong ngữ cảnh 10,
20, 50 người dùng liên tục gửi yêu cầu đăng ký tác vụ tới
hệ thống Các phép đo được lặp lại 3 lần để đảm bảo độ
chính xác Kết quả được trình bày trong Bảng III
Bảng III
K ẾT QUẢ THỜI GIAN XỬ LÝ CỦA HỆ THỐNG ( GIÂY )
Lần đo 1 Lần đo 2 Lần đo 3
10 Người dùng 0.0602312 0.059109 0.059569
20 Người dùng 0.103943 0.101376 0.112528
50 Người dùng 0.336669 0.384335 0.297349
Với kịch bản trên, chúng tôi tiến hành đo hiệu suất xử
lý tác vụ gửi mô hình kích thước 2MB lên máy chủ tổng
hợp Kết quả thu được cho thấy hệ thống mất trung bình
25,19693 giây để xử lý một yêu cầu Bước đầu tiên, hệ
thống lưu trữ mô hình vào IPFS, sau đó tiến hành ghi dữ
liệu vào Blockchain Chúng tôi đã tính toán và nhận thấy
rằng, phần lớn thời gian dành cho việc tải mô hình lên
IPFS (25,19693 s/request) trong khi hệ thống Blockchain
hoạt động rất tốt (0,018419 s/request) Tuy nhiên, việc tải
mô hình lên IPFS hoàn toàn phụ thuộc vào tốc độ kết nối
Từ đó có thể kết luận rằng, hệ thống của chúng tôi vẫn có
khả năng đáp ứng tốt
Từ kết quả thực nghiệm trên, có thể thấy, hệ thống của
chúng tôi có khả năng phối hợp các thành viên tham gia
vào mạng FedChain để tạo ra những mô hình máy học với
chất lượng tốt mà vẫn đảm bảo được quyền riêng tư cá
nhân Bên cạnh đó, hệ thống có tiềm năng trong việc triển
khai vào các lĩnh vực lớn như Smart city khi kết quả về
hiệu năng cho thấy với số lượng người dùng lớn hệ thống
vẫn có khả năng phản hồi tốt
V KẾT LUẬN Cùng với sự phát triển của ngành công nghiệp trí tuệ
nhân tạo, dữ liệu mà người dùng chia sẻ đóng vai trò quan
trọng trong việc xây dựng các hệ sinh thái và chương trình
thông minh Trong bài báo này, chúng tôi đã đề xuất bộ
khung giải pháp đảm bảo quyền riêng tư và bảo mật dữ liệu, cùng với đó là một hệ sinh thái khuyến khích giúp tận dụng được nguồn dữ liệu đào tạo từ cộng đồng Giải pháp tạo ra một môi trường chia sẻ dữ liệu đáng tin cậy, liên kết những chủ sở hữu có bộ dữ liệu cùng loại để thực hiện một nhiệm vụ huấn luyện cụ thể Kết quả phân tích
và thử nghiệm của chúng tôi đã chứng minh rằng giải pháp
có thể cho phép chia sẻ dữ liệu an toàn và hiệu quả, đồng thời tận dụng các nguồn dữ liệu đa dạng từ cộng đồng Bên cạnh đó, để triển khai giải pháp vào thực tế còn rất nhiều vấn đề cần khắc phục Trong tương lai,chúng tôi dự định sẽ tích hợp điện toán biên di động (MEC) vào mô hình FedChain giúp giảm chi phí liên lạc và truyền tải dữ liệu của hệ thống Ngoài ra, chúng tôi cũng mong muốn triển khai giải pháp để bảo vệ hệ thống khỏi các cuộc tấn công phá hoại mô hình toàn cục
LỜI CẢM ƠN Cảm ơn sự hỗ trợ của UIT InSecLab - Wanna.One Hacking Community trong quá trình thực hiện đề tài
TÀI LIỆU THAM KHẢO [1] Dinh C Nguyen, Ming Ding, Pubudu N Pathirana, Aruna Senevi-ratne, Jun Li, and H Vincent Poor, "Federated Learning for Internet
of Things: A Comprehensive Survey," IEEE Communications Sur-veys & Tutorials, vol 23, no 3, p 1622–1658, 2021.
[2] C Nguyen, M Ding, P N Pathirana, A Seneviratne, J Li, D Niyato and H V Poor, "Federated Learning for Industrial Internet
of Things in Future Industries," IEEE Wireless Communications Magazine, vol abs/2105.14659, 2021.
[3] Rui Wang, Heju Li, Erwu Liu, "Blockchain-Based Federated Learn-ing in Mobile Edge Networks with Application in Internet of Vehicles," ArXiv, vol abs/2103.01116, 2021.
[4] Y Lu, X Huang, Y Dai, S Maharjan and Y Zhang, "Blockchain and Federated Learning for Privacy-Preserved Data Sharing in Industrial IoT," in IEEE Transactions on Industrial Informatics, vol.
16, no 6, pp 4177-4186, 2020.
[5] S Kumar, S Dutta, S Chatturvedi and M Bhatia, "Strategies for Enhancing Training and Privacy in Blockchain Enabled Federated Learning," 2020 IEEE Sixth International Conference on Multime-dia Big Data (BigMM), pp 333-340 , 2020.
[6] Y Zhan, J Zhang, Z Hong, L Wu, P Li and S Guo, "A Survey
of Incentive Mechanism Design for Federated Learning," IEEE Transactions on Emerging Topics in Computing, 2021.
[7] Viraaji Mothukuri, Reza M Parizi, Seyedamin Pouriyeh, Yan Huang, Ali Dehghantanha and Gautam Srivastava, "A survey on security and privacy of federated learning," Future Generation Computer Systems, vol 115, pp 619-640, 2021.
[8] Dinesh C Verma, Graham White, Simon Julier, Stepehen Pasteris, Supriyo Chakraborty, Greg Cirincione, “Approaches to address the data skew problem in federated learning,” Artificial Intelligence and Machine Learning for Multi-Domain Operations Applications, vol 11006 International Society for Optics and Photonics, 2019 [9] Kurniabudi, Deris Stiawan, Darmawijoyo, Mohd Yazid Bin Idris, Alwi M.Bamhdi, and Rahmat Budiarto, "CICIDS-2017 Dataset Feature Analysis With Information Gain for Anomaly Detection,"
in IEEE Access,vol 8, pp 132911-132921, 2020.
[10] Andrew Hard, Kanishka Rao, Rajiv Mathews, Swaroop Ra-maswamy, Franc¸oise Beaufays, Sean Augenstein, Hubert Eichner, Chloé Kiddon, Daniel Ramage, "Federated Learning for Mobile Keyboard Prediction," arXiv, vol abs/1811.03604, 2019 [11] Z Shi, H Zhou, Y Hu, S Jayachander, C de Laat and Z Zhao,
"Operating Permissioned Blockchain in Clouds: A Performance Study of Hyperledger Sawtooth," 2019 18th International Sympo-sium on Parallel and Distributed Computing (ISPDC), pp 50-57, 2019.