1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ thông tin: Xây dựng thuật toán trả thưởng dựa trên công nghệ Blockchain

81 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng thuật toán trả thưởng dựa trên công nghệ Blockchain
Tác giả Vũ Tuấn Kiệt
Người hướng dẫn TS. Nguyễn Tấn Cầm
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 22,2 MB

Nội dung

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 3

THONG 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 4

LOI 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 5

1.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 6

3.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 7

5.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 8

DANH 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 9

Hì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 10

DANH 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 11

DANH 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 12

Ký 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 13

TÓ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 14

Chươ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 15

họ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 16

Mô 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 18

Chươ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 19

2.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 21

nà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 22

thợ đà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 23

chố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 24

Chươ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 25

Tuy 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 26

Hì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 27

Trê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 28

kế 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 29

Mang 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 30

Input 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 31

Convolution 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 32

Vi 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 33

9 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 34

Plateau

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 36

củ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 37

Aggregated 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 38

thuậ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 39

số 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 40

Bang 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

Ngày đăng: 02/10/2024, 05:27

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w