Pham vi luận văn Khóa luận tập trung triển khai mô hình học máy liên kết dé tổng hợp các tham sé mô hình cục bộ sau khi được đào tạo từ các clients trong mạng lưới và sử dụng hợp đồng th
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA KHOA HOC VA KY THUAT THONG TIN
vU TUAN KIET
KHOA LUAN TOT NGHIEP
XAY DUNG THUAT TOAN TRA THUONG DUA TREN
CONG NGHE BLOCKCHAIN
BUILDING A BLOCKCHAIN BASED REWARD SYSTEM
CU NHAN NGANH CONG NGHE THONG TIN
TP HO CHi MINH, 2023
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC VA KY THUAT THONG TIN
VŨ TUẦN KIET - 20520018
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG THUẬT TOÁN TRA THUONG DỰA TREN
CÔNG NGHỆ BLOCKCHAIN
BUILDING A BLOCKCHAIN BASED REWARD SYSTEM
CỬ NHÂN NGÀNH CÔNG NGHỆ THÔNG TIN
GIANG VIÊN HƯỚNG DAN
TS NGUYÊN TÁN CÀM
TP HO CHÍ MINH, 2023
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 1170/QD-DHCNTT
ngày 26/12/2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LOI CAM ON
Trong quá trình thực hiện khóa luận tốt nghiệp, em xin chân thành cảm on các Quýthầy cô thuộc Trường Đại học Công nghệ Thông tin và Khoa Khoa học và Kỹ thuật
máy tính đã truyền đạt những kiến thức và tạo điều kiện cho em hoàn thành khóa luận
tốt nghiệp Những kiến thức không chỉ hỗ trợ em trong quá trình thực hiện khóa luận
mà còn là hành trang dé giúp em phát triển trong sự nghiệp sau này
Em xin gửi lời cảm ơn sâu sắc đến thay Nguyễn Tấn Cầm vi đã luôn quan tâm theodõi, hướng dẫn và hỗ trợ em trong suốt quá trình thực hiện dé em có thể hoàn thànhkhóa luận với kết quả tốt nhất
Mặc dù em đã có gắng hoàn thiện khóa luận tốt nghiệp với chat lượng tốt nhất có thé,tuy nhiên việc có các thiếu sót là không thể tránh khỏi, em rất mong nhận được sự
thông cảm và góp ý quý báu từ các thầy cô để em có thẻ cải thiện sản phẩm cũng như
nâng cao kỹ năng nghiên cứu và báo cáo khoa học trong tương lai.
Một lần nữa em xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày tháng năm 2023
Sinh viên thực hiện
Vũ Tuấn Kiệt
Trang 51.2.3 Phạm vi luận văn - - 1S iưy 3
1.3 Đóng góp của khóa luận.
1.4 Cấu trúc luận văn .-.-:-+++22222+22+.22222111111.221211111 21.111 re 4Chương2 CÁC NGHIÊN CỨU VÀ HƯỚNG TIẾP CAN LIÊN QUAN
2.1 So sánh học cục bộ, học phân tán và học liên KẾT, s5 cccccrtecrrreeerrreee 6
2.1.1 Học máy cục bộ.
2.1.2 Học máy phân tán ¿+6 + Street 6
2.1.3 Học máy liên kẾt ¿-2222++++22EE+veEEEEvrrsrrkrrrrrrrkrcree 7
2.1.4 So sánh hiệu năng các phương thức học máy : 7
2.2 Kết hợp công nghệ chuỗi khối với học máy liên kết - §
2.3 Những thách thức - - - k1 vn HH ngư 1
Chuong 3 CƠ SO LÝ THUYÍẾT -2-©222+22EE+++22EEESzttEEEEverrrrrscee 2
3.1 Công nghệ May hỌc - +5: St2t T22 E12 221112101 111 1g re 2 3.1.1 I;0Usoiei 1 7 2
3.1.2 Mang neuron nhân (ạO ¿c5 E2 S*S£+sEeekeerrrrrrkrkrek 3
3.1.3 Mang neuron sâu (DNN — deep neural network) và Hàm kích hoạt
(Activation funCtIOT) - - c + t3 t3 2x xxx xxx ckrrkrrrree 5
3.1.4 Mạng neuron chap (CNN - Convolutional neural networks) 7
Trang 63.1.4.1 Lớp tích chap (convolutional layeT$) -¿-5- << +<++<s+ 18
3.1.4.2 Lớp tổng hop (pooling layers)
3.1.5 Các thuật toán tối UU eecceeccscescssessssesssseessseessssessssesssseessssessssesssseesssee 20
3.1.5.1 Gradient Descent
3.1.5.2 Gradient Descent với Momentum - ¿c5 5+++s+s+c+xeee 2
3.1.5.3 Thuật toán AdaGrad, RMSProp va Adam.
3.2 Học liên kết -222c:+22222222222E22222111212 2212211112 rrrrrrr 243.2.1 Khái niệm học liên kết (mô hình client-server)
3.2.2 Thuật toán Federated Averaging -¿-c-ccccsrcrkekererere 26
3.3 Công nghệ chuỗi khối -¿¿¿-¿¿¿©2222+222S+++ttEEvvrrerrvrvrrerrrrrrrrrr 28
3.3.1 Giới thiệu Công nghệ chuỗi khói Ethereum - 28
3.3.2 Tài khoản Ethereum (Account Ethereum) + ++s> 293.3.3 Hợp đồng thông minh (Smart Contract) -¿-cc+2ssc+2 30
Chương4 ĐÈ XUẤT FRAMEWORK -cccccccc cccc 324.1 Tổng quan về framework -ccc++teccvvvverrrrerrrrrxeecrcerrrrr 32
4.2 Cơ chế học máy liên kết trong framework -::-cz2cs+cz+ccss+ 36
4.3 Cơ chế hoạt động của blockchain trong framework -: -s 43
4.3.1 Hợp đồng thông minh trong framework -c-cccc ++crz 43
4.3.2 Cơ chế trả thưởng ccccc2222crvrerirrrrrrrrrrrrrrrrrre 46
Chương 5 KÉT QUA THỰC NGHIỆM -222z++222+zcrrrrrseez 415.1 Thiết lập môi trường thực nghiệm 2¿22+z++222++ze+rrrxzerrrr 47
5.1.1 Thành phan thư mục Blockchain -.-¿ c+5255+cz+cvssce2 47
5.1.2 _ Thành phan thư mục SerVer -: -c:+2v+z++2cvvvcrsrrvscee 50
5.1.3 Thành phan thư mục Client ¿ +z22v+c++2cvvvz+cvsseee 51
Trang 75.2 Dataset dùng trong thực nghiệm - - ¿+ 52+++c+E+srsrkrksrererrrkree 52
5.3 Do lường kết quả
5.3.1 Các thang đo hiệu suất học máy -.-¿-+c++2c+sc++czsscee 54
5.3.2 So sánh kết quả học máy liên kết và học máy cục bộ
5.3.3 Các bản ghi trên blockchain -¿-¿- «5< St sveEevsxekrkekree 58
Chuong6 | KETLUAN VÀ HƯỚNG PHAT TRIEN
Trang 8DANH MỤC HÌNH
Hình 2-1: So sánh kết quả học máy trên dataset MNIST -ccc++ 8Hình 2-2: Mơ tả kiến trúc BlockFlL ¿©22++222VS2+++22ES+z++22vxverrrrvscee 0Hình 3-1: Lưu đồ lập trình truyền thống ¿¿+2v++++t2vvvrretcvzvresrr 2Hình 3-2: Lưu đồ lập trình theo hướng MI -2¿z22222vvvcczz+rtrrrvxer 3Hình 3-3: Cấu TAO CUA NCULON 01007 4 4
Hình 3-4: ANN thực hiện các phép logic đơn giản ¿- 5< +55 << 4
Hình 3-5: Neuron 'TLU ¿- - +: 525% 2*+E+E922E2321 212 2121211111111 11111 re 5
Hình 3-6: Mạng Perceptron đa tằầng ¿- 22222 22222EE2E3E2222112 2211122 6Hình 3-7: Đồ thị hàm các hàm Activation Functions - 5s ++ss+s+s++s+ 7Hình 3-8: Cấu trúc CNN thơng thường ¿-22++222v+++t2Evvvrrtrrrvrrrsrrrrree §
Hình 3-9: Mơ tả phép tính tích Chap - -¿-¿- + ¿5xx *v£v+vEEkekrkrrrrerrrrrevee 9Hình 3-10: Dùng tích chập đề phát hiện cạnh ¿¿2z++22++z++2zvscez 9
Hình 3-11: Mơ tả phép tơng hợp max pOỌiTg ¿-¿- 552 2 5++++++£e£e£vzzxeese 20
Hình 3-12: Mơ ta Gradient ÏDeSCenI - ¿+ 2-55 25+ S++E+E‡terererkzkerrrerrerkrree 21
Hình 3-13: Nhược điểm của Gradient Descent -2¿22++z222z+zerzczxscee 22
Hình 3-14: Mơ hình Federated learning ¿+55 5+5++x+x+xcxerzeexexee 25Hình 3-15: Cấu trúc block cơ bản trong blockchain -¿¿©z2225sc+2 28
Hình 3-16: Cấu trúc Smart Contract -ccccz22vcvvvsccrszrrvvvsscccrerrrrreee dd
Hình 4-1: Mơ tả kiến trúc của FlwrBC
Hình 4-2: Mơ tả luồng chương trình của FlwrBC
Hình 4-3: Mơ hình trao đơi đữ liệu trong cơ chế học máy liên két của FlwrBC 37
Hình 4-4: Mơ tả thứ tự server gọi các methods trong lớp strategy AlHình 5-1: Tổ chức thư mục trong project -22c++2+222vvvvr+rttrrrrrrrrrrree 47Hình 5-2: Tổ chức thư mục Blockchain -s sc s+ + x2 x£2Ex£EEEetExetrxrrrkerree 48
Hình 5-3: Mã nguồn của deployment seripL -2z222222vvvcc+e+rrvcvvxez 49
Hình 5-4: Smart Contracts sau khi deploy lên blockchain -. : 49Hình 5-5: Tổ chức thư mục SerVer -:-:ccccc co 2222222 1 tre 51Hình 5-6: Tổ chức thư mục Client
Trang 9Hình 5-7: Train set và test set trong CIFARR-Ũ - - ¿5+5++c+c+csrcrxexererxre 5
Hình 5-8: Hình ảnh một đối tượng trong CIFAR-10 - -:+2szz+22sscez 53
Hình 5-9: Các lớp trong CIEARR- 1Ũ ¿5 +525+S+2+2x k2rerrekerrrerrrerree 54
Hình 5-10: Biểu đồ thông số accuracy giữa Federated va Centralized Learning 56
Hình 5-11: Biểu đồ thông số loss giữa Federated và Centralized Learning 56
Hình 5-12: Confusion matrix giữa Federated và Centralized Learning 57
Hình 5-13: ROC-AUC curve giữa Federated và Centralized Learning 57
Hình 5-14: Compile thành công smart COntfaC(S ¿-¿- 5-5252 55+2++£+s<++ 58 Hình 5-15: Files build của smart contracts sau khi compile - 59
Hình 5-16: Blocks của smart contracts trên Ganache - - - ¿+ + << c+c+x+x++ 59 Hình 5-17: Migrate thành công smart COTIFACfS ¿-¿- 552 52 5+5++x+£+£+£sczxcs+ 60 Hình 5-18: Block ghi bởi Contribution €OnTACL ¿+5 5s+++++v£vxeeexexsxex 6l Hình 5-19: Hình 5-20: Hình 5-21: Hình 5-22: Block chứa thông tin tham số cục bộ ghi bởi Federation contract
Block chứa thông tin tham số toàn cục ghi bởi Federation contract Block chứa thông tin strategy ghi boi Federation contract 62
Block giao dịch trả thưởng
Trang 10DANH MỤC BANG
Bảng 3-1: Thuật toán FedAAvg ¿- 5:5 2222 t2 222121 1311212111010 re 28
Bảng 3-2: So sánh giữa EOA va Contract account - 5-6555 5+ +ccx+scsrersee 30
Bảng 4-1: Các methods của lớp Strategy - - es ¿5+5 St ey 40
Bang 4-2: Thuật toán đảo tạo liên kết của FlwrBC -cccc:c+cccccvvvecccez 43Bang 4-3: Interface của Contribution Contract và Federation Contract - 45
Bang 5-1: Bảng chức năng các tệp tin ở S€TV€T eee eeeeeesesteeseeeeeees 50 Bảng 5-2: Bảng chức năng các tệp tin ở CÏIenI( - «+ scvxsxseeeerrerersee 52 Bảng 5-3: Thang đo Precision, Recall, Fl-score giữa Federated và Centralized
Learning S1 1E 11H 58
Trang 11DANH MỤC TU VIET TAT
Ký hiệu chữ viết tắt Chữ viết đầy đủ
DNN Deep Neural Network
CIFAR-10 Canadian Institute for Advanced Research, 10 classes
PoW Proof of Work
ML Machine learning
ANN Artificial Neural Network
TLU Threshold Logic Unit
MLP Multi-Layer Perceptron
CNN Convolutional Neural Networks
FL Federated Learning
FedSGD Federated stochastic Gradience Descent
FedAvg Federated Averaging
EOA Externally-owned account
SSL Secure Sockets Layer
IPFS InterPlanetary File System
TFF Tensorflow Federated Learning
FATE Federated AI Technology Enabler
TN True Negatives
TP True Positives
Trang 12Ký hiệu chữ viết tắt Chữ viết đầy du
FP False Positives
FN False Negatives
ROC Receiver Operating Characteristic
AUC Area Under the Curve
TPR True Positive Rate
FPR False Positive Rate
Trang 13TÓM TÁT KHÓA LUẬN
Học máy (machine learning) trong những năm gần đây đang thu hút được nhiều sựquan tâm và thé hiện được ưu điểm của mình trong việc giải quyết bài mô hình hóa
dữ liệu Phần lớn các mô hình học máy là cục bộ (centralized machine learning),
nghĩa là dữ liệu sẽ được tập hợp và học ở một máy chủ Điều này dẫn đến việc tổng
quát hóa mô hình bị hạn chế, do đó để có một mô hình tổng quát ta cần thu thập thôngtin ở càng nhiều nguồn càng tốt Tuy nhiên việc các doanh nghiệp cần phải thu thập
thông tin của khác hàng phục vụ cho máy học làm day lên mối lo ngại về tính riêng
tư và bảo mật dữ liệu khách hàng Vì lí do trên, mô hình học liên kết (Federated
Learning) được giới thiệu đề giải quyết vẫn đề trên Mô hình học liên kết được ápdụng dé mô hình hóa dữ liệu từ nhiều nguồn khác nhau nhưng vẫn đảm bảo tính riêng
tư của dit liệu.
Mặc dù học liên kết cho phép người dùng đóng góp vào việc mô hình hóa dữ liệu vàđảm bảo tính riêng tư của dữ liệu cục bộ, mô hình học liên kết vẫn còn các vấn dé
liên quan đến việc khuyến khích và thanh toán trả thưởng cho người dùng tương ứng
với các đóng góp của họ Do đó, mô hình học liên kết có thể kết hợp với công nghệ
chuỗi khối (blockchain) để tăng cường tính bảo mật, cũng như tạo cơ chế khuyến
khích trả thưởng dé các node trong mạng lưới tích cực tham gia mô hình học liên kết
Bài báo cáo này đề xuất mô hình học liên kết kết hợp với công nghệ chuỗi khối Kết
quả thực nghiệm cho thấy tính khả thi của mô hình trong thực tế và đồng thời cũng
mở ra hướng nghiên cứu, cải tién trong tương lai
Trang 14Chương 1 GIỚI THIỆU
nhất định khi triển khai việc học máy cục bộ Trong mô hình học máy cục bộ, ta phải
thu thập và lưu dữ liệu (data) tập trung ở một máy tính, sau đó áp dụng các thuật toán
máy học trên tập dit liệu đó để cho ra mô hình sau khi được đào tạo Ở mô hình này,
tính riêng tư và bảo mật phụ thuộc hoàn toàn vào bên quản lý máy chủ Bên cạnh vấn
đề trên, mô hình cục bộ còn gặp một số vấn đề trong việc truyền và lưu trữ data Ví
dụ cụ thể như trong ngành ô tô, mỗi ngày một chiếc xe có thể tạo ra hàng trămgigabytes từ các bộ cảm biến trên xe Việc truyền và lưu trữ data từ các xe ô tô này
về trung tâm dữ liệu của hãng có thé nói là tốn nhiều chi phí và không khả thi [1]
Để giải quyết vấn đề đó, năm 2017, mô hình học máy liên kết được Google giới thiệu,tiếp cận vấn đề bằng cách các máy tham gia mạng lưới tự học và máy chủ chỉ trao
đổi các tham số của mạng neuron sâu (DNN — Deep Neural Network) mà không cầntrao đổi data từ các máy tham gia [2] Cách tiếp cận này giúp giảm lượng data trao
đổi giữa máy chủ và các máy tham gia cũng như giảm thiểu rủi ro liên quan đến vấn
dé tính riêng tư và bảo mật dữ liệu
Tuy nhiên có một van dé khác được đặt ra, đó là dữ liệu do người dùng tạo ra và đượccác tổ chức, doanh nghiệp thu thập để phân tích và phục vụ cho việc máy học Vôhình chung, data của người dùng bị khai thác một cách miễn phí mà người dùngkhông được nhận lại lợi ích về mặt kinh tế nào dù doanh nghiệp, tô chức áp dụng môhình học máy trình thống hay học máy liên kết Do đó, sự kết hợp giữa mô hình họcliên kết và công nghệ chuỗi khối giúp người dùng không bị rò ri dữ liệu cá nhân và
nhận được một phần lợi ích tương ứng với phần đóng góp mà data của họ giúp ích
cho việc học máy của doanh nghiệp tổ chức Bên cạnh đó, việc kết hợp công nghệ
Trang 15học máy liên kết và công nghệ chuỗi khối còn giảm rủi ro Single point of failure do
hệ thống không phụ thuộc vào central server
Từ những điểm mạnh từ sự kết hợp giữa học máy liên kết và công nghệ chuỗi khối,luận văn tập trung nghiên cứu, triển khai federated learning framework với cơ chế trả
thưởng dựa trên blockchain cho các clients tham gia vào mô hình.
1.2 Mục tiêu, đối tượng và phạm vi luận văn
Luận văn cung cấp một số khái niệm cơ bản liên quan đến công nghệ máy học như
mạng neuron nhân tạo, mạng neuron sâu, mạng neuron chập dùng trong bài toán phân
loại Bên cạnh đó luận văn cũng giới thiệu lại một số thuật toán được sử dụng trongbài nghiên cứu Ngoài ra, kiến trúc cơ bản của mạng máy học liên kết mô hình client-
server và các đặc tính của công nghệ chuỗi khối cũng sẽ được nhắc tới
Từ cơ sở lý thuyết trên, luận văn được thực hiện nhằm mục đích nghiên cứu và triển
khai một framework đơn giản tích hợp được công nghệ học máy liên kết và côngnghệ chuỗi khối Từ đó triển khai trả thưởng dựa trên công nghệ blockchain cho các
clients tham gia trong mang lưới học máy liên kết
1.2.3 Pham vi luận văn
Khóa luận tập trung triển khai mô hình học máy liên kết dé tổng hợp các tham sé mô
hình cục bộ sau khi được đào tạo từ các clients trong mạng lưới và sử dụng hợp đồng
thông minh trên mạng blockchain mô phỏng Ethereum dé ghi lại các hoạt động traođổi tham sé và trả thưởng cho các clients
Trang 16Mô hình học máy liên kết được đánh giá dựa trên bài toán phân loại hình ảnh tĩnh
trên bộ đữ liệu CIEAR-10
1.3 Đóng góp của khóa luận
Một số đóng góp của khóa luận sau quá trình thực hiện gồm có:
e Gidi thiệu và trình bày một số kiến thức về công nghệ học máy, học máy liên
kết và công nghệ chuỗi khối
e _ Xây dựng framework triển khai mô hình học máy liên kết tích hợp blockchain
để giải quyết bài toán phân loại hình ảnh Bên cạnh đó, framework có thể giải
quyết các bài toán khác bằng cách thay đổi kiến trúc model thông qua file
JSON.
1.4 Cấu trúc luận văn
Luận văn được tổ chức thành năm chương với nội dung như sau:
e Chương 1: Giới thiệu
o Nội dung chính là giới thiệu về dé tài của luận văn, trình bày mục đích
lựa chọn đề tài, phạm vi nghiên cứu của khóa luận
© _ Chương 2: Các nghiên cứu và hướng tiếp cận liên quan
o_ Các nghiên cứu và hướng tiếp cận liên quan đến đối tượng nghiên cứu
và các thách thức hiện tại.
© Chương 3: Cơ sở lý thuyết
o Nội dung trình bày các khái niệm cơ bản trong công nghệ học máy, kiến
trúc của mô hình học máy liên kết và các khái niệm trong chuỗi khối
Ethereum.
e _ Chương 4: Mô hình đề xuất
o_ Trong chương này, tác giả trình bày lý thuyết của framework và phân
tích về framework đó
Trang 17© Chương 5: Kết quả thực nghiệm
o_ Cài đặt framework và chạy thử nghiệm, đưa ra các thông số đo lường
kết quả của framework và so sánh với kết quả của khi sử dụng mô hình
học máy cụ bộ dé giải quyết cùng bài toán
© _ Chương 6: Kết luận và hướng phát triển
o_ Trong chương cuối, tác giả nêu ra kết luận về đề tài cũng như các hướng
phát triển, cải tiến của dé tài này trong tương lai
Trang 18Chương 2 CÁC NGHIÊN CỨU VÀ HƯỚNG TIẾP CẬN LIÊN QUAN
Ở mô hình này, các bên tham gia sẽ kết nói với server tập trung và upload dữ liệu của
mình lên server, và server sẽ thực hiện dùng data đó để thực hiện tính toán dao tạo
mô hình Ưu điểm của mô hình này là các máy tham gia sẽ không tốn tài nguyên cho
việc thực hiện đảo tạo vì đây hoàn toàn là công việc của máy server Tuy nhiên, tính
riêng tư và bảo mật của data bị đe dọa ở mức cao vì server có thể bị tấn công và rò rỉdata Ngoài ra, trong trường hợp lượng dữ liệu là rất lớn, sẽ có khả năng gây ra tắc
nghẽn đường truyền giữa các bên tham gia và máy chủ server
2.1.2 Hoc máy phan tán
Học máy phân tán được thiết kế để giải quyết các bài toán phức tạp trên dataset lớn,
do đó học máy phân tán có tính hiệu quả và khả năng mở rộng quy mô tốt hơn so với
học máy cục bộ Học máy phân tán cũng thực hiện các thuật toán máy học tương tự
như ở học máy cục bộ, tuy nhiên việc này được thực hiện riêng lẻ và độc lập trên máy
của những người tham gia Ban đầu, server sẽ cung cấp cho các clients mô hình được
đào tạo trước, sau khi clients thực hiện việc tính toán đào tạo mô hình bằng datasetcủa mình, các máy tham gia sẽ gửi tham số của mô hình w! lên máy chủ server.Sau
một lượng trao đổi tham số được định trước, máy chủ sẽ tính toán tham số của mô
hình toàn cục w thực hiện kiểm thử và cập nhật mô hình toàn cục Trong khoảng thời
gian trước khi nhận được mô hình toàn cục, các clients sẽ không tận dụng được các
kết quả từ clients khác [4]
Trang 192.1.3 Học máy liên kết
Học máy liên kết vận hành tương tự học máy phân tán, một số nghiên cứu xem học
máy liên kết là một hình thức của học máy phân tán [5] [6] Tuy nhiên điểm khác biệt
so với học máy phân tán, client trong học máy liên kết sẽ khởi chạy việc đào tạo mô
hình độc lập với các clients khác trong mạng lưới Cụ thể, mỗi client sẽ khai báo tham
số local epochs khi tham gia đào tạo mô hình Sau khi đào tạo hoàn thành lượng localepochs, mô hình cục bộ sẽ gửi tham số của mô hình w! Sau khi nhận được tham số
của các clients tham gia trong lượt (round) đó, server thực hiện tính toán cập nhật
thông số và chuyền mô hình toàn cục đã được cập nhật cho các clients để thực hiệnround tiếp theo Quy trình này được lặp đến khi hoàn thành đến khi mô hình đạt đượcmức chính xác đề ra hoặc quy trình lặp hết số rounds được định trước
2.1.4 So sánh hiệu năng các phương thức học may
Cũng trong nghiên cứu trên [3], Asad thực nghiệm bằng các đào tạo mô hình phân
loại hình ảnh dựa trên bộ dữ liệu MNIST với thông số cầu hình của máy tính như sau:
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz and 32 GB of RAM Bài nghiên cứu chia theo ba kịch bản:
¢ Kich bản 1: số lượng clients tham gia là 50 clients, mỗi clients có local dataset
chiếm 20% dataset toàn cục Số rounds định trước cho học máy phân tán và
học máy liên kết là 100 rounds
e Kịch bản 2: cùng tham số như kịch bản 1, nhưng tăng lên 200 rounds cho học
máy phân tán và học máy liên kết
e Kịch bản 3: số lượng clients thuộc tệp p = {20, 40, 60, 80, 100}, số rounds
cho học máy phân tán và học máy liên kết là 100 rounds
Trang 20‘Communication Rounds ‘Communication Rounds Number of Participants
(a) Scenario one (b) Scenario two (©) Scenario three
(Nguén: Federated Learning Versus Classical Machine Learning [3])
Hình 2-1: So sánh kết quả học máy trên dataset MNISTKết quả cho thấy học máy cục bộ cho kết quả thấp nhất trong ba loại hình học máyvới độ chính xác đạt trong khoảng 65% và 75% qua ba kịch bản Tiếp đến là học máy
phân tán cho ra độ chính xác tốt hơn học máy cục bộ khoảng 10 điểm phần trăm Cuốicùng, học máy liên kết cho ra kết quả cao nhất trong cả ba kịch bản (đạt 85% và 94%)
Sự chênh lệch giữa học máy phân tán và học máy liên kết là do việc tận dụng được
"kinh nghiệm" của các máy clients khác trong quá trình huấn luyện của học máy liên
kết, mỗi round mô hình đều được cập nhật tham số mới và huấn luyện tiếp chứ không
cần chờ đến hết số lượng rounds nhất định mới cập nhật thông số toàn cục như học
máy phân tán.
2.2 Kết hợp công nghệ chuỗi khối với học máy liên kết
Bài nghiên cứu của H Kim chỉ ra trên mô hình học máy liên kết, hiệu quả của việc
bảo vệ tính riêng tư của dữ liệu phụ thuộc rất lớn vào server Nếu trên server có chứa
mã độc, nó có thể ảnh hướng đến tính chính xác của mô hình toàn cục và thậm chí có
thé tan công đến dữ liệu của máy clients trong quá trình máy client trao đổi tham số
Trang 21này không tham gia vào học máy liên kết sẽ ảnh hưởng tiêu cực đến độ chính xác của
mô hình toàn cục Do đó, việc tạo cơ chế khuyến khích các clients tham gia tích cực
vào hoạt động học máy liên kết là phù hợp và đem lại tác động tích cực cho toàn hệthống [8]
Cũng theo Feng Yu và Hui Lin, trong quá trình vận hành học máy liên kết, một số
clients có thể vô tình hoặc cé tình chèn mã độc vào tấn công hệ thống dẫn đến sự thất bại của toàn hệ thống [8] Lợi dụng quá trình trao đổi thông số mô hình cục bộ đến
server, mã độc có thể được tải lên và lan ra trong hệ thống Do đó, các cập nhật từ mô
hình cục bộ cần được lưu lại để có thể truy vết trong trường hợp bị tấn công Tình
huống khác dẫn đến sự thất bại của hệ thống một cách khách quang có thể là do tính
thiêu ôn định của đường truyên giữa các clients và Server.
Tuu chung lai, mô hình học máy liên kết theo mô hình clients — server hiện tại có ba
thách thức cần giải quyết sau: (1) kiến trúc của hệ thống phụ thuộc lớn vào máy server
dẫn đến vấn đề Single Failure Point, cả hệ thống sẽ tê liệt néu server bị tấn công hoặc
trục trặc; (2) tính tín nhiệm của các máy clients tham gia, việc các clients không được
tín nhiệm tham gia và tai mã độc trong quá trình trao đổi tham số mô hình có thé tan
công và khai thác dữ liệu của máy server hoặc các peer clients; (3) dù học máy liên
kết không yêu cầu chia sẻ data cá nhân, nhưng toàn hệ thống đều được lợi từ data đó
và doanh nghiệp tìm kiếm lợi nhuận từ tính chính xác của mô hình, vì vậy việc chia
sẻ lợi nhuận để khuyến khích các clients tham gia đào tạo hệ thống là phù hợp và cần
thiết
Để giải quyết các vẫn đề trên, công nghệ chuỗi khối blockchain được cho là có khả
năng khắc phục điểm yếu của việc sử dụng central server truyền thống Với các đặctinh của công nghệ blockchain như hoạt động trên nên tang peer-to-peer dé truyền tải
data, tao và cập nhật data dựa trên thuật toán đồng thuận phân tán, các data được lưutrữ trên số cái phân tán được dam bảo không bị thay đôi
Trong mô hình BlockFL được giới thiệu bởi H Kim, Jihong Park, mô hình được tóm
tắt như sau: (1) các clients sẽ tính toán và cập nhật mô hình cục bộ của mình lên các
Trang 22thợ đào (miner) trong main blockchain, (2) các thợ đào có nhiệm vụ trao đổi và xácthực các mô hình cục bộ được đăng tải lên và sau đó chạy thuật toán đồng thuận (3)Khi thuật toán đồng thuận hoàn thành, một block mới được tạo ra để xác thực các mô
hình cục bộ đã được lưu vết Cuối cùng, trong block vừa tạo thêm chứa mô hình toàn
cục đã được cập nhật, đưa block đó vào số cái phân tán và các máy trong hệ thống sẽ
dùng mô hình đó tính toán cho round tiếp theo [7]
Hình 2-2: Mô tả kiến trúc BlockFL
Mô hình trên thu về kết quả thực nghiệm như sau, về độ chính xác BlockFL cho rakết quả tương tự với mô hình học liên kết thường, tuy nhiên BlockFL có thời gian
hoàn thành lâu hơn Độ trễ của BlockFL sẽ tăng lên khi số lượng miner tăng lên do
phải tiêu tốn nhiều thời gian cho việc đối chứng chéo và tạo block mới Về phần
10
Trang 23chống chịu mã độc, trong BlockFL, miner chứa mã độc chỉ ảnh hưởng đến việc cậpnhật mô hình toàn cục, nhưng việc này sẽ được phục hồi nhờ các miner bình thườngkhác trong hệ thống.
2.3 Những thách thức
Tuy sự kết hợp giữa công nghệ chuỗi khối blockchain và mô hình máy học liên kết
có khả năng giải quyết các yếu điểm của hệ thống máy học liên kết có centralized
server, nhưng sự kết hợp này cũng có một số thách thức riêng
Việc đánh đổi giữa việc tăng cường bảo mật tính riêng tư và hiệu suất của hệ thống
Blockchain tuy giải quyết được vấn dé bảo mật nhưng việc đồng thuận sẽ tạo ra độtrễ nhất định, đặc biệt là với blockchain sử dụng thuật toán đồng thuận PoW (Proof
of Work) Đối với những ngành sử dụng học máy liên kết nhưng yêu cầu độ chínhxác cao và độ trễ thấp (ví dụ: công nghiệp xe tự hành, chuẩn đoán sức khỏe thôngminh ) sẽ cần tính toán lại sự phù hợp khi áp dụng blockchain vào hệ thống máyhọc liên kết
Tính mở rộng của hệ thống cũng là một trong những thách thức cho sự kết hợp trên.Nhu đã nêu, các thuật toán đồng thuận, đặc biệt là PoW, có độ trễ cao và thông lượngthấp, dẫn đến các khó khăn trong việc mở rộng quy mô Với các hệ thống máy học
liên kết càng lớn, việc tích hợp blockchain có thé gây ra độ trễ cao
Tuy việc sử dụng hợp đồng thông minh (smart contract) giúp tự động hóa các giao
dịch, nhưng để viết được một hợp đồng thông minh tốt yêu cầu người lập trình phải
tiên lượng nhiều kịch bản Ngoài ra, việc thay đổi hợp đồng thông minh có thê gây rachi phí phát sinh lớn, một phan là do khi triển khai hợp đồng mới đều mat một khoảng
phí (gas fee).
11
Trang 24Chương 3 CƠ SỞ LÝ THUYET
Phần dưới đây sẽ giới thiệu lại các khái niệm quan trọng được ứng dụng trong nghiên
cứu này
3.1 Công nghệ Máy học
3.1.1 Học cục bộ
Mô hình học cục bộ không có khái niệm cụ thể, mà chỉ dùng để chỉ các mô hình máy
học trước khi có sự ra đời của mô hình học phi tập trung và học liên kết [9] TheoMitchell (1997), machine learning được định nghĩa như sau: một phần mềm máy tính
được cho là học từ trải nghiệm E về việc thực thi tác vụ T được đo lường hiệu quảbởi P, nếu nó thực thi tác vụ T và đo lường P cho thấy có sự cải thiện khi phần mềm
được trải nghiệm E [10].
Với các tiếp cận của việc lập trình truyền thống, người lập trình sẽ tìm hiểu vấn đề,
viết các luồn xử lý logic, kiểm thử phần mềm và triển khai phần mềm Ở phần xử lý
logic, thông thường sẽ được lập trình một cách tường minh, phần mềm sẽ tính toán
từ dữ liệu đầu vào và trả ra kết quả đầu ra tương ứng
Trang 25Tuy nhiên, khi gặp các van đề phức tạp, việc xử lý logic tường minh sẽ trở nên phứctạp dẫn đến khó khăn trong việc bao trì, cải tiến phần mềm Do đó, machine learning
ra đời với hướng tiếp cận khác Đầu vào của các thuật toán ML sẽ là Data và Label,
từ đó các thuật toán sẽ cho ra các Rules và tiếp tục cải thiện bằng việc cập nhật dataset
Hình 3-2: Lưu đồ lập trình theo hướng ML
3.1.2 Mạng neuron nhân tạo
Mang neuron nhân tao (ANN — Artificial Neural Network), một trong những kháiniệm quan trọng trong ML, là một mô hình toán hoc dựa trên cấu trúc của neuron
sinh học được giới thiệu vào năm 1943 bởi Warren McCulloch va Walter Pitts [11].
Ở neuron sinh học, các neuron cơ bản sẽ có hạt nhân (nucleus), các sợi nhánh neuron
(dendrites) có vai trò truyền đi kích thích điện hóa nhận từ các tế bào thần kinh khác
đến thân tế bào, và sợi nhánh dài nhất gọi là axon dùng dé kết nối đến các neuronkhác để truyền tín hiệu Khi một neuron nhận được một lượng tín hiệu từ các neuron
khác thì nó sẽ phát ra tín hiệu của riêng nó.
13
Trang 26Hình 3-3: Cấu tạo của neuron
ANN là một mô hình đơn giản dựa trên mang neuron sinh học, một neuron cell sẽ có
một hoặc nhiều inputs hệ nhị phân (0/1) và một output nhị phân, neuron sẽ kích hoạt
và phát ra output của nó khi nhận được một lượng inputs nhất định, từ cơ chế này ta
có thé tính toán được bat kỳ mệnh dé logic nào
C=A C=A^B C=AvB C=A^-B
Hình 3-4: ANN thực hiện các phép logic đơn giản
Trang 27Trên cơ sở ANN, Frank Rosenblatt vào năm 1957 đã phát triển ra perceptron đượcxem là một trong các cấu trúc ANN đơn giản nhất [12] [13] Perceptron dựa trên
neuron nhân tạo gọi là TLU (threshold logic unit), với các inputs va output dưới dang
số thay vi là hệ nhị phân TLU sẽ tính toán tổng trọng số các input (z = wx, +W2x; + + Wax„ = x?w), sau đó dùng ham step tính toán cho kết quả z ở bước
trên, kết qua output là h„(x) = step(z) Thông thường hàm Heaviside step va Sign
function sẽ được sử dụng ở ham step có công thức như sau.
Hinh 3-5: Neuron TLU
3.1.3 Mang neuron sâu (DNN - deep neural network) va Ham kích hoạt
(Activation function)
Mang Perceptron đa tầng (MLP — Multi-Layer Perceptron) là tô hợp gồm một tangvào (input layer), một hoặc nhiều tầng chứa TLUs còn được gọi là tầng an (hiddenlayer), và tang cuối cùng là tang ra (output layer) Khi một mang neuron nhân tạo có
nhiều tang ấn thì còn được gọi là mạng neuron sâu (DNN), tầng càng gần với tang ragọi là tầng trên, và ngược lại tầng càng gần với tang vào gọi là tầng thấp
15
Trang 28kế tiếp trong mạng MLP, và thông thường các hàm kích hoạt này là các hàm phi tuyến
tính [14] Trong ML, ta thường gặp các hàm kích hoạt sau:
Trang 29Mang neuron chap (CNN) được xây dựng dựa trên nghiên cứu của David H Hubel
và Torsten Wiesel khi thực hiện các thí nghiệm về vùng não liên quan đến thị giác[15] Nghiên cứu chi ra một số neurons thị giác phản ứng với hình ảnh theo các đườngngang, một số khác phản ứng theo đường dọc, sau đó các vùng nhận thức này chập
lên nhau và tạo nên hình ảnh toàn cảnh Một cách cụ thể hơn, một bức hình sẽ đượcphân tích thành ba yếu tố: chiều cao (height), chiéu ngang (width) va kénh mau (RGB
channels) [16].
Ngoài ra nghiên cứu cũng chỉ ra neuron có trường tiếp nhận lớn sẽ có kha năng phảnứng lại với các họa tiết phức tạp được tạo nên từ các họa tiết đơn giản, nghĩa là
neurons ở tang cao hơn có thé sử dụng kết qua của các neurons tang thấp hơn Chính
hai phát hiện trên đã làm tiền đề dé phát triển mô hình Neocognitron, va sau này pháttriển thành CNN [17]
Cấu trúc của CNN gồm bốn thành phần chính: đầu tiên là lớp input chứa giá trị của
các pixels hình ảnh, các lớp tích chập (convolutional layers), các lớp tổng hợp
(pooling layers), lớp kết nói đầy đủ dùng dé chuyền matrix kết quả từ các tang trướcthành vector xác xuất của đối tượng dự đoán
17
Trang 30Input Convolution Convolution
Lớp tích chập được xem là thành phần quan trọng nhất trong CNN, các neurons trong
lớp tích chập đầu tiên sẽ không liên kết với tất cả các điểm ảnh, mà chỉ liên kết vớicác điểm đặt trưng nằm trong trường tiếp nhận Tương tự neurons ở lớp tích chập thứ
hai cũng chỉ liên kết với neurons đặc trưng của lớp tích chập đầu nằm trong trường
tiếp nhận Kiến trúc này giúp mang neurons tập trung vào các điểm đặt trưng ở tangthấp nhất, sau đó kết hợp với các điểm đặt trưng ở tầng cao hơn và tiếp tục như thế
đến lớp tích chập cuối cùng sẽ cho ra matrix đặc trưng, từ matrix đặc trưng này lớpkết nói đầy đủ sẽ cho ra output là vector dự đoán của chủ thé cần dự đoán
Lớp tích chập có các tham số đầu vào là matrix ba chiều (height * width * RGB
channels), bộ lọc filter (còn được gọi là convolution kernel) và bước nhảy (stride).
Bộ lọc này sẽ trượt qua các trường tiếp nhận trên ảnh đề tính ra điểm đặt trưng trên
vị trí đó và kết quả cho ra matrix đặc trưng Bước nhảy là số điểm ảnh dịch chuyển
bộ lọc từ trường tiếp nhận này sang trường tiếp nhận kế tiếp
Vi dụ, một hình ảnh có matrix là 3 x 4, bộ lọc có kích thước 2 x 2, bước nhảy là 1, thì
tích chập sẽ được diễn ra như hình 2-9 Ban đầu filter sẽ bắt đầu ở góc trên bên trái
của image input, ta sẽ tính đc tích chap đầu tiên của matrix đặt trưng là: (1 x 1) +
(1x2) + (1x4) + (1x5) = 12 Sau đó di chuyền filter qua trái một cột ứng với bướcnhảy là 1 Sau khi đi hết hàng ngang, filter trở về ria trái và dịch chuyển xuống mộthàng ứng với bước nhảy là 1 Sau khi đi hết image input ta sẽ ra được matrix đặc
trưng.
18
Trang 31Convolution kernel
2x2 Image input Feature matrix
Hinh 3-9: M6 ta phép tinh tich chap
Các filters khác nhau kết hợp với hình ảnh sẽ cho ra các matrix đặc trưng khác nhau
để thực hiện các hoạt động như phát hiện cạnh, làm mờ, làm nét
Input image Convolution Feature map
= Kemel
TF
-1 -1 -—I -1 8 -1 -1 -1 -1l
(Nguon: Nvidia)
Hình 3-10: Dùng tích chập dé phát hiện cạnh
Thông thường để có matrix đặc trưng cùng kích thước với matrix input, ta thường
thêm giá tri 0 bao quanh matrix input, kỹ thuật này gọi là zero padding
3.1.4.2 Lớp tổng hợp (pooling layers)
Lớp tổng hợp có chức năng tạo ra mẫu phụ có kích thước nhỏ hơn so với input ban
đầu giúp giảm lượng công việc tính toán, số lượng tham số và bộ nhớ nhưng vẫn giữ
lại các thông tin quan trọng Các loại pooling layers thường gặp như Max Pooling
dùng để lấy phần tư lớn nhất, Average Pooling để lấy giá trị trung bình của các phần
tử, Sum Pooling dé lấy tổng các phan tử trong đó Max Pooling là được dùng thông
dụng nhất [10]
19
Trang 32Vi dụ, một hình anh có matrix là 4 x 4, bộ lọc có kích thước 2 x 2, bước nhảy là 2, thì
max pooling sẽ được diễn ra như hình 2-11.
Max pool 2x2 Stride 2
o»|Ịto|ư|E
Hình 3-11: Mô tả phép tổng hợp max pooling
3.1.5 Các thuật toán tối ưu
3.1.5.1 Gradient Descent
Trong học máy, bài toán tìm điểm cực tiểu rat phổ biến, tuy nhiên việc này không
phải lúc nào cũng dễ dàng và khả thi, do đó thay vì xác định điểm cực tiểu chính xác
chúng ta tìm một điểm gần cực tiểu nhất và xem đó là cực tiểu Từ ý tưởng đó, thuậttoán tối ưu Gradient Descent được phát trién với ý tưởng là sử dụng phép lặp dé thay
đổi các thông số của mô hình sao cho đạt được kết quả cost function! tối ưu nhất
Thuật toán của Gradient Descent dùng dé tìm cực tiêu một hàm cost function J(8),
với Ø là một vector dùng để ký hiệu các tham số của hàm J.Cụ thể, chúng ta sẽ bắt
đầu với Oy có giá trị ngẫu nhiên và tinh giá trị đạo hàm J’ tại Øạ Sau đó, ta điều chỉnh
6 ngược hướng với đạo hàm:
© J'(@) > 0, ham số đang ở pha tăng, Øạ dang nằm bên phải điểm cực tiểu, do
đó phải dich 6, về phía bên trái của Op, nghĩa là Ø, < Øạ
¢ J'(Øạ) < 0, hàm số đang ở pha giảm, 4) đang nằm bên trái điểm cực tiểu, do
đó phải dich Ø; về phía bên phải của Øạ, nghĩa là 0, > ØạNguyên tắc dịch chuyền Ø sẽ là:
1 Cost function (còn được gọi là loss function) của mang neuron sẽ đo lường hiệu quả của mô hình bằng cách
định lượng sự khác biệt giữa ket qua mong đợi và ket quả do mô hình học máy tạo ra.
20
Trang 339 9— *VạjJ(6).
Tiếp tục dịch chuyền Ø, theo quy tắc trên đến khi J'(Ø,) = 0, ta sẽ có được điểm cựctiểu của J(Ø) Một tham số quan trọng trong Gradient Descent là bước nhảy khi dịch
chuyền 6, ta gọi tham số r này là learning rate Nêu learning rate quá nhỏ, thì tốn rat
nhiều thời gian đề thuật toán tìm được điểm cực tiểu Nếu learning rate quá lớn, thuật
toán có thể nhảy qua phía bên kia của điểm cực tiểu,
Gradient Descent Learning rate quá nhỏ Learning rate quá lớn
Hình 3-12: Mô tả Gradient Descent
Tuy nhiên, trong thực tế, hàm cost function có thề sẽ không có dạng hình parabol như
trên minh họa mà sẽ có hình dạng khác Ngoài ra, hàm số cũng có thể có nhiều điểm
cực trị dẫn đến việc chọn 09 khác nhau sẽ cho ra các kết quả khác nhau Vì vậy độ
chính xác của Gradient Descent phụ thuộc rất lớn vào việc chọn Øạ và chọn learning
rate [10] Ví dụ như ở hình 2-13, nếu Øạ xuất phát phía bên trái biểu đồ, Gradient
Descent sẽ đến cực tiểu cục bộ (local minimum) trước khi đến cực tiểu toàn cục(global minimum) và sẽ cho ra kết quả không tối ưu Trường hợp Oy xuất phat từ phía
bên phải biểu đồ, và có learning rate thấp, Gradient Descent sẽ tốn nhiều thời gian để
tìm được global minium
21
Trang 34Plateau
GlobalLocal minimum _
minimum
(Nguon: Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow [10])
Hình 3-13: Nhược điểm của Gradient Descent
3.1.5.2 Gradient Descent với Momentum
Để giải quyết bài toán khi Gradient Descent di qua đoạn đồ thị có hệ số góc nhỏ, ta
sử dụng Gradient Descent với Momentum Ý tưởng của thuật toán dựa trên hiện tượngvật lý, ví dụ một trái bowling sẽ lăn từ từ trên một mặt phẳng có độ dốc thoải, banđầu sẽ có vận tốc nhỏ, nhưng khi có quán tính nó sẽ tăng tốc và lăn nhanh hơn
Ở thuật toán Gradient Descent, ta cập nhật Ø bằng công thức Ø Ø — ?VạJ(6),thuật toán này không quan tâm đến các giá tri VạJ (Ø) trước đó (giá trị đạo hàm J'(8)),nếu VạJ(Ø) có giá trị nhỏ thuật toán sẽ tốn rất nhiều thời gian
Thuật toán Gradient Descent với Momentum thì quan tâm đến các giá trị Va) (@) trước
đó Trong mỗi vòng lặp, thuật toán sẽ lấy vector momentum m trừ VạJ(), và giá trị
6 được cập nhật bằng cách cộng với vector momentum m Vector momentum m dùng
để điều chỉnh gia tốc chứ không phải tốc độ của Gradient Descent
m< Bm— nVoJ(@)
0c 0+m
22
Trang 35Ở công thức trên Ø gọi là hệ số momentum có giá trị trong khoảng [0, 1] và thườnglấy 0.9 là giá trị mặc định.
3.1.5.3 Thuật toán AdaGrad, RMSProp và Adam
AdaGrad thay vì coi learning rate là một hằng só, thuật toán nhận learning rate là mộttham số và thay đổi tham số này Với đồ thị càng dốc, thuật toán điều chỉnh learning
rate càng mạnh, và ngược lại với đồ thị có hệ số góc nhỏ Đầu tiên, thuật toán tínhtổng bình phương các gradients vào vector s Với mỗi phần tử s; của vector s là tổng
để tránh việc chia cho không (0)): 6; Ø;¡ — 7 = =
Tổng quát hóa ta có công thức sau:
s —s+ VạJ(6) ® VạJ(0) @: nhân hai vector
9 0— nVeJ(@) © Vs+e @: chỉa hai vector
Thuật toán giúp cập nhật kết quả gần với cực tiểu toàn cục hơn và ít phải điều chỉnh
tham số learning rate AdaGrad thường cho kết quả tốt với các bài toán bậc hai, tuynhiên trong việc dao tạo ANNs thì thuật toán thường kết thúc sớm hơn trước khi tìm
được điểm tối ưu toàn cục
Để khắc phục điểm yếu của AdaGrad trong việc không tiến tới được điểm cực tiểu
toàn cục, RMSProp điều chỉnh bằng cách chỉ tích lũy các gradient từ các lần lặp lạigan nhất thông qua hệ số / (thông thường / có giá trị mặc định là 0.9)
Trang 36của Momentum, và theo dõi sự trung bình căn bật hai của các gradient trong quá khứ [18].
3.2 Học liên kết
3.2.1 Khái niệm học liên kết (mô hình client-server)
Trong mô hình máy học liên kết (FL — Federated Learning), mỗi client sẽ có dit liệudao tao (dataset) riêng không cần phải truyền tải lên máy server Thay vào đó, mỗi
clients sẽ nhận mô hình toàn cục (global model) được gửi từ server, sau đó sẽ đào tạo
mô hình với dataset của mình và cập nhật thông số cho mô hình và gửi về cho server
Server sau khi nhận các thông số từ các clients sẽ thực hiện tính toán và cập nhậtthông số toàn cục mới cho mô hình và gửi mô hình cập nhật cho clients đề thực hiện
đào tạo ở các rounds sau.
Mô hình máy học liên kết cho phép nhiều clients tham gia mà không cần chia sẻ data
và tài nguyên, mà chỉ chia sẻ với nhau thông số của mô hình toàn cục và cục bộ giữa
từng client và server Do đó, server và các clients không hề tiếp cận được data của
nhau, đảm bảo tính riêng tư và bảo mật dữ liệu Bên cạnh đó, mô hình toàn cục có
thông số được tổng hợp từ các mô hình cục bộ được huấn luyện từ nhiều nguồn, do
đó mô hình toàn cục đảm bảo được tính tổng quát hóa và có độ chính xác tốt hơn so
với các mô hình cục bộ [19].
24
Trang 37Aggregated model
Client 1 Client 2 Client n
Hinh 3-14: M6 hinh Federated learning
Trong mô hình học liên kết có hai thành phần chính là (1) các thiết bị tham gia gọi làclients và (2) máy chủ gọi là server, các clients sẽ kết nói với server mà không cầnkết nói với nhau Mô hình client-server này còn được gọi là master-worker Trong hê
thống này sẽ có n clients có dữ liệu riêng dùng dé đào tạo model nhưng cấu trúc dữ
liệu phải giống nhau, và model huấn luyện phải đồng nhất với mô hình của cả hệthống Server sẽ thực hiện nhiệm vụ tông hợp thông số model toàn cục thông qua các
25
Trang 38thuật toán, và thường server sẽ có bộ dữ liệu kiểm thử đề đánh giá thông số của model
[20].
3.2.2 Thuật toán Federated Averaging
Trong học máy liên kết ta sẽ đối mặt với một số vấn đề khi tối ưu liên kết (được gọi
là Federated Optimization), và tối ưu liên kết có bốn điểm khác biệt lớn khi so sánh
với việc tối ưu hóa phân tán (distributed optimization):
¢ Non-IID dataset: các data trên mỗi client sẽ có đặc trưng riêng di theo client
a 6 (do data được sinh ra từ hoạt động cua client) Chính vì vay data cục bộ sé
không có tinh đại diện cho mẫu toàn cục.
e Dataset không đồng đều: việc hoạt động của client là khác nhau dẫn đến data
được sinh ra từ các hoạt động đó cũng khác nhau, có client có dataset lớn hơn
so với các client khác.
¢ _ Số lượng clients lớn: với việc tối ưu phân tan trong data center, số nodes dùng
dé tính toán song song có thé dé dàng quản lý Nhưng trong tối ưu liên kết, sốlượng clients đồng thời tham gia học máy lớn hơn rất nhiều
e Kết nối hạn chế: Trong data center, việc kết nói giữa các nodes thường rat
nhanh và rất ít khi mắt kết nối Tuy nhiên, trong mạng lưới học liên kết, kết
nối giữa clients và server phụ thuộc vào nhiều yếu tố đặc biệt là đường truyền
mạng.
Trong nghiên cứu của McMahan [2], ông thử nghiệm thuật toán SGD, một biến thể
của Gradient Descent, vào bài toán tối ưu liên kết và dùng thuật toán này làm baseline
để so sánh Kết quả cho thấy FederatedSGD (FedSGD) có hiệu quả tính toán tuy
nhiên nó yêu cầu phải thực hiện nhiều rounds đào tạo mới cho ra mô hình hiệu quả
Thuật toán FedSGD được triển khai như sau, ta có K clients, chọn ngẫu nhiên tỷ lệ C
số clients tham gia trên tong clients, trong thử nghiệm tác giả lấy C = 1 tương ứng
với toàn bộ clients tham gia và thực hiện trên toàn bộ dataset Learning rate là hang
số n, tổng số mẫu là n, số mẫu trên client k là nz Vào round thứ t, server sẽ gửi tham
26
Trang 39số mô hình hiện tai w cho tất cả clients Mỗi client k € K sẽ tính toán trung bình
đạo hàm g, của hàm số F„ trên mỗi data cục bộ với tham số mô hình hiện tại wz:
Ox = VF„(w¿) Sau đó, ta có hai cách tiếp cận tương đương nhau như sau:
e Server sẽ gdp các đạo ham ø„ đó và cập nhật w;,; như sau:
K Nk
Weta — We — 7 Lk=1 0k:
¢ Ở từng client k riêng lẽ cũng có cập nhat wi, như sau:
Vk€K,wWÈ,¡cC wk — rigy, và server tính toán w¿¿; toàn cục như sau:
Weta — Dhan wha
Tw thuật toán FedSGD, McMahan thêm vào các tính toán cho các clients bằng cách
thực hiện phép lặp nhiều lần cho local update mw, w¿ — nVF,(w;) (thuật toángradient descent) trước khi thực hiện bước tính trung bình g, Ong đặt tên cách tiếp
cận này là Federate Averaging (FedAvg).
FedAvg được quản lý bởi ba tham số: C tỷ lệ số clients tham gia trên tổng clients, E
số lượt training client thực hiện trên data cục bộ mỗi round (còn gọi là epochs), B
kích thước cho minibatch cục bộ dùng cho đảo tạo cục bộ Trong thử nghiệm
McMahan cho các tham số như sau:
© € =1: tất cả các client đều tham gia
e© E= 1: để tương ứng với FedSGD
e B= oo: toàn bộ dataset cục bộ được tính là một minibatch
Tương tự như FedSGD, ở round t server sẽ gửi tham số mô hình hiện tại w;, cho tat
cả clients Mỗi client k sẽ tính toán cho E epochs Vk € K,wk,, — wk — rịg„, số
lần thực hiện cập nhật cục bộ „ được tính như sau „ = Et Dưới đây là mã giả
của thuật toán FedAvg.
27
Trang 40Bang 3-1: Thuật toán FedAvg
3.3 Công nghệ chuỗi khối
3.3.1 Giới thiệu Công nghệ chuỗi khối Ethereum
Công nghệ chuỗi khối (blockchain) là công nghệ cơ sở dữ liệu phân tán của Bitcoinnói riêng và tất cả các loại tiền điện tử nói chung, được xây dựng dựa trên mạng traođổi ngang hàng peer-to-peer và mật mã khóa công khai (public key cryptography)
Blockchain cho phép người dùng giao dịch với nhau trong ngữ cảnh zero-trust: các
giao dịch là bán an danh (chỉ biết được address của các bên giao dịch, chứ không biết
danh tính người giao dịch), các giao dịch không được hủy ngang, các giao dịch được
lưu trên số cái phân tán và tat cả các bên đồng ý giao dịch đã xảy ra [21]
Công nghệ blockchain có những đặc tính mà các công nghệ khác không có, nó không
chỉ sử dụng dé xây dựng tiền kỹ thuật số mà còn để phát triển kiến trúc phân tán và
áp dụng trong việc xử lý các giao dịch Với các đặc tính của kiến trúc blockchain việc
tra vết cho các giao dịch khá dễ dàng và vì vậy nó cũng giúp ít cho việc truy xuấtnguồn gốc của giao dịch
Hình 3-15: Cấu trúc block cơ bản trong blockchain
Hiện tại có rất nhiều cách để triển khai blockchain, ví dụ như sử dụng mạng Bitcoin,
mạng Ethereum, Hyperledger Fabric Trong đó, Ethereum là blockchain phi tập
trung có mã nguồn mở với chức năng hợp đồng thông mỉnh (smart contract) Trong
mạng Ethereum, Ether-ETH là đơn vị tiền tệ được sử dụng trong chuỗi; hiện nay,ETH là đồng tiền điện tử lớn thứ hai đứng sau Bitcoin Bên cạnh mạng chính
28