Với hệ thống theo dõi sức khỏe tại nhà kết hợp học phân tán và chuỗi khối, nhóm không chỉ đáp ứng nhu cầu chăm sóc sức khỏe từ xa một cách hiệu quả mà còn đảm bảo tính hiệu quả và an toà
Phạm vi và đối tượng nghiên cứu
Đối tượng nghiên cứu: hệ thống theo dõi sức khỏe, dự đoán bệnh tiểu đường và bệnh viêm phổi, FL, Blockchain, ứng dụng dành cho người dùng.
Phạm vi nghiên cứu: Nghiên cứu sẽ tập trung vào việc đánh giá sự hiệu quả của hệ thống theo dõi sức khỏe và ứng dụng trong việc dự đoán và quản lý các bệnh lý, đồng thời đảm bảo tính bảo mật và tính minh bạch của dữ liệu, nhằm mang lại lợi ích cao nhất cho người dùng và cộng đồng y tế.
1.5 Cau trúc khoá luận tốt nghiệp
Cấu trúc khóa luận tốt nghiệp gồm 5 chương: e Chương 1: TONG QUAN ĐỀ TÀI
Khái quát về đề tài khoá luận mà nhóm thực hiện. e Chương 2: CƠ SỞ LÝ THUYET
Cung cấp cơ sở lý thuyết, định nghĩa các khái niệm và những kiến thức liên quan trong nghiên cứu này. e Chương 3: THIẾT KE HE THONG Đây là phần chính trong nghiên cứu Bao gồm đề xuất mô hình và giải thích phương pháp triển khai. e Chương 4: TRIEN KHAI VÀ DÁNH GIÁ
Trình bày cách thực hiện các phương pháp được đề xuất ở chương trước, mô tả kết quả và đưa ra đánh giá dựa trên những gì đã thực hiện. e Chương 5: KET LUẬN VÀ HƯỚNG PHÁT TRIEN
Nhìn nhận kết quả thực hiện được, cũng như đề xuất hướng phát triển cho các nghiên cứu sau này.
CƠ SỞ LÝ THUYET 7
Edge Computing Qua 12
Edge computing là một mô hình tính toán mà sự xử lý dữ liệu được thực hiện gần nguồn dit liệu, ngay tại "biên" (edge) của mạng, thay vì ở trung tâm dữ liệu ở xa Mô hình này giúp giảm độ trễ, tăng tốc độ xử lý, giảm lưu lượng mạng và cung cấp khả năng đáp ứng nhanh chóng cho các ứng dụng đồi hỏi hiệu suất cao Trong nghiên cứu này, phần "biên" sẽ là các bệnh viện giúp thu thập và lưu trữ dữ liệu.
Dưới day là một số điểm chính của cơ sở lý thuyết về Edge computing: e Dưa xử ly gần nguồn dữ liệu: Edge computing tập trung vào việc đưa quá trình xử lý dữ liệu gần nguồn dữ liệu, thường là tại các thiết bị đầu cuối, cảm biến, hoặc các thiết bị lưu trữ đữ liệu tại vị trí lẻ của mạng. e Giảm độ trễ: Bằng cách xử lý dữ liệu ngay tại lề của mang, edge computing giảm độ trễ đối với các ứng dụng đồi hỏi phan hồi nhanh, như IoT, thực tế ảo, và các ứng dụng di động. e Tăng cường bảo mật: Vì dữ liệu được xử lý gần nguồn, có thể giảm nguy cơ về bảo mật, vì không cần truyền dữ liệu lớn qua mạng công cộng Bảo mật tại lề có thể được tăng cường thông qua các biện pháp như mã hóa và quản lý danh sách kiểm soát truy cập. e Giảm lưu lượng mang: Edge computing giảm gánh nặng cho mang bằng cách xử lý một phần lớn công việc trực tiếp tại thiết bị hoặc cấu trúc mạng cận kề. e Các ứng dụng cụ thé: Edge computing thường được áp dụng cho các ứng dụng cụ thể như xử lý hình ảnh và video, giám sát IoT, xe tự lái, và các ứng dụng yêu cầu độ phức tạp và đáp ứng cao.
2.3.1 Mạng no-ron nhân tạo
Mạng nơ-ron là mô hình đơn giản về cách hệ thống thần kinh hoạt động giúp dự đoán dựa trên các đặc trưng của tập dữ liệu mẫu Các đơn vị cơ bản là nơ-ron, thường được tổ chức thành các tầng, như thể hiện trong hình sau đây. input layer hidden layer output layer
Hình 2.3: Kiến trúc mô hành mạng no-ron nhân tao tổng quát [6j
Một mạng nơ-ron là một mô hình đơn giản về cách não người xử lý thông tin N6 hoạt động bằng cách mô phỏng một lượng lớn các đơn vị xử lý kết nối với nhau, giống như phiên bản trừu tượng của nơ-ron.
Các đơn vị xử lý được sắp xế thành các tầng Thông thường, một mạng nơ- ron bao gồm ba phần: một tầng đầu vào, với các đơn vị đại diện cho các trường đầu vào; một hoặc nhiều tầng ẩn; và một tầng đầu ra, với một hoặc nhiều đơn vị đại diện cho các trường mục tiêu Các đơn vị được kết nối với nhau thông qua sức kết nối biến đổi (hoặc trọng số) Dữ liệu đầu vào được trình bày cho tầng đầu tiên và giá trị được truyền từ mỗi nơ-ron đến mọi nơ-ron trong tầng tiếp theo Cuối cùng, kết quả được đưa ra từ tầng đầu ra.
Mạng học bằng cách xem xét từng bản ghi, tạo ra dự đoán cho mỗi bản ghi và điều chỉnh trọng số mỗi khi đưa ra dự đoán không chính xác Quá trình này được lặp lại nhiều lần và mạng tiếp tục cải thiện dự đoán của mình cho đến khi
13 đạt đến một hoặc nhiều tiêu chí dừng.
Ban đầu, tất cả các trọng số đều là ngẫu nhiên và các đầu ra của mạng có thể là vô nghĩa Mạng học thông qua quá trình đào tạo Các ví dụ với kết quả đã biết được liên tục trình bày cho mạng, và các kết quả mà nó đưa ra được so sánh với kết quả đã biết Thông tin từ so sánh này được truyền lại qua mạng, dần dần thay đổi các trọng số Khi quá trình đào tạo tiến triển, mạng trở nên ngày càng chính xác trong việc mô phỏng kết quả đã biết Sau khi được đào tạo, mạng có thể được áp dụng cho các trường hợp trong tương lai mà kết quả là không biết.
2.3.2 Mạng no-ron tích chập
Mạng No-ron Tích Chap, hay còn được gọi là CNN hoặc ConvNet, là một loại mạng nơ-ron chuyên xử lý dit liệu có đặc điểm dạng lưới, như là dữ liệu hình ảnh Một hình ảnh kỹ thuật số là một biểu diễn nhị phân của dữ liệu hình ảnh Nó chứa một chuỗi các điểm ảnh được sắp xếp theo kiểu lưới, mỗi điểm ảnh chứa giá trị pixel để chỉ ra độ sáng và màu sắc của điểm ảnh đó.
CNN được thiết kế đặc biệt để xử lý các đặc điểm hình ảnh bằng cách sử dụng phép tích chập Thay vì xem xét toàn bộ hình ảnh, CNN tập trung vào các phần nhỏ của hình ảnh, gọi là các bộ lọc (kernels) để tìm ra các đặc trưng nhất định Việc này giúp CNN nhận diện các đặc điểm cụ thể như cạnh, góc, hoặc đối tượng trong hình ảnh Các tầng tích chập được kết hợp với các tầng pooling để giảm kích thước của dữ liệu và giảm chiều sâu của mô hình, từ đó giúp giảm thiểu việc tính toán và tăng cường khả năng tổng quát hóa của mạng.
CNN đã chứng minh hiệu suất cao trong nhiều ứng dụng hình ảnh như nhận diện đối tượng và nhận diện khuôn mặt.
CONVOLUTION + RELU = POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY, SOFTMAX
Hình 2.4: Kiến trúc mô hình mang no-ron tích chập [7]
Lớp tích chập là khối xây dựng cốt lõi của mang CNN, đảm nhận phần chính của công việc tính toán của mạng.
Lớp này thực hiện phép nhân chấm giữa hai ma trận, trong đó một ma trận là bộ tham số có thể học được, còn được gọi là kernel, và ma trận kia là phần hạn chế của lĩnh vực thu nhận Kernel này có kích thước nhỏ hơn về không gian so với hình ảnh nhưng có chiều sâu lớn hơn Diéu này có nghĩa là, nếu hình ảnh được tạo ra từ ba kênh (RGB), chiều cao và chiều rộng của kernel sẽ nhỏ về không gian, nhưng chiều sâu sẽ kéo dài đến tất cả ba kênh.
Hình 2.5: Minh hoa mạng no-ron tích chập [7]
Trong quá trình chuyển tiếp, kernel trượt qua chiều cao và chiều rộng của hình ảnh, tạo ra biểu diễn hình ảnh của khu vực thu nhận đó Điều này tạo ra một biểu diễn hai chiều của hình ảnh được gọi là bản đồ kích hoạt, thể hiện phan ứng của kernel tại mỗi vị trí không gian của hình ảnh Kích thước trượt của kernel được gọi là bước (stride).
Stride là thông số xác định bước nhảy của bộ lọc khi thực hiện tích chập trên đầu vào Nếu stride là 1, bộ lọc di chuyển một bước một lần Nếu stride lớn hơn
1, bộ lọc sẽ di chuyển theo khoảng cách lớn hơn, giảm kích thước đầu ra Stride được sử dụng để kiểm soát kích thước của bản đồ đặc trưng và tốc độ tính toán.
Lớp gop thay thé đầu ra của mang tại một số vị tri bằng cách tao ra một số liệu tóm tắt của đầu ra lân cận Điều này giúp giảm kích thước không gian của biểu diễn, từ đó giảm lượng tính toán và trọng số cần thiết Phép gộp được thực hiện trên từng phần của biểu diễn một cách riêng lẻ Có nhiều hàm gộp khác nhau như trung bình của khu vực hình chữ nhật, L2 norm của khu vực hình chữ nhật và trung bình có trọng số dựa trên khoảng cách từ pixel trung tâm Tuy nhiên, quá trình gộp phổ biến nhất là max pooling, nơi báo cáo đầu ra lớn nhất từ vùng lân cận Có hai loại chính của phép gộp (pooling): e Gộp trung bình (Average Pooling): Bộ lọc tính trung bình của lĩnh vực thu nhận khi quét đầu vào. e Gop tối đa (Max Pooling): Bộ lọc chon pixel có giá trị lớn nhất dé đưa vào mảng đầu ra Phương pháp này phổ biến hơn so với gộp trung bình.
Trong quá trình gộp, mỗi lần bước của bộ lọc, giá trị tại vị trí tương ứng của đầu vào được chọn để tạo ra đầu ra Max pooling thường được ưa chuộng hơn trong nhiều ứng dụng vì nó giữ lại đặc trưng quan trọng và giảm mất thông tin.
Max pool with 2x2 filters and stride 2 6/8
Hình 2.6: Pooling layer lam giảm kích thước mô [7]
2.3.2.4 Lớp kết noi day di
Tổng quan 0.0000 ee ee 19
"Học phân tán" là một khái niệm trong lĩnh vực máy học va trí tuệ nhân tao, thường được gọi là "học phân tán và học tap phan tán" Nó dé cập đến việc phân tán quá trình học và lập trình của máy tính trên nhiều máy tính, thiết bị, hoặc nơi lưu trữ khác nhau thay vì tập trung tất cả ở một địa điểm duy nhất.
Trong ngữ cảnh của học máy, học phân tán thường liên quan đến việc chia sẻ công việc huấn luyện mô hình giữa nhiều thiết bị hoặc máy tính Cụ thể, dữ liệu có thể được phân tán trên nhiều nguồn và mô hình có thể được đào tạo đồng thời trên các máy tính khác nhau, giúp giảm thời gian đào tạo và tăng cường khả năng xử lý của hệ thống.
Học phân tán có thể giúp giảm bét gánh nặng tính toán và bộ nhớ đối với một máy tính duy nhất, đồng thời cũng có thể cải thiện khả năng mở rộng và độ tin cậy của hệ thống Tuy nhiên, cũng có thể đối mặt với thách thức trong việc đồng bộ và quản lý dữ liệu giữa các nút phân tán, cũng như việc duy trì tính nhất quán của mô hình đào tạo.
Server coordinating the training of a global AI model
Hinh 2.7: Mô hình học phân tán [8]
Hoạt động của học phân tán như sau: e Phân chia dữ liệu: Dữ liệu đào tạo được chia thành các phần nhỏ và được phân tán đồng thời trên nhiều nguồn, máy tính hoặc thiết bị khác nhau.
Mỗi phần nhỏ này có thể đặt tại các địa điểm phân tán. e Khởi tạo mô hình: Một mô hình học máy được khởi tạo trên mỗi thiết bị hoặc máy tính Mô hình này có thể bắt đầu từ một trạng thái ngẫu nhiên hoặc sử dụng một mô hình đã được đào tạo trước đó. e Huấn luyện phân tán: Các thiết bị hoặc máy tính bắt đầu quá trình đào tạo đồng thời trên dữ liệu của mình Mỗi bước đào tạo, mô hình được cập nhật dựa trên độ chệch giữa dự đoán và kết quả thực tế từ dữ liệu của nó. e Chia sẻ trọng số: Thông tin về trọng số của mô hình được chia sẻ giữa các thiết bị hoặc máy tính Các trọng số này thường được truyền đi và nhận về thông qua mạng. e Tổng hợp kết quả: Các mô hình trên các thiết bị hoặc máy tính được cập nhật và điều chỉnh trọng số của chúng Kết quả cuối cùng sau quá trình đào tạo có thể được tổng hợp từ các mô hình phân tấn.
Học phan tan trong lĩnh vực học máy mang đến nhiều lợi ích quan trong [9],
[10], [11] Đầu tiên, quá trình đào tạo được tăng tốc đáng kể do có thể thực hiện đồng thời trên nhiều thiết bị hoặc máy tính Điều này giúp giảm thời gian cần thiết để hoàn thành quá trình đào tạo, đặc biệt là khi xử lý các tập dữ liệu lớn Hệ thống học phân tán cũng dễ dàng mở rộng, có khả năng tích hợp thêm nguồn tính toán mới khi cần thiết, giúp nâng cao khả năng xử lý và hiệu suất của mô hình Ngoài ra, tính linh hoạt của hệ thống này cho phép nó thích ứng với môi trường tính toán đa dạng.
Mặc dù học phân tán mang lại nhiều ưu điểm, nhưng cũng đặt ra một số thách thức Quản lý sự đồng bộ giữa các mô hình và dữ liệu trên các thiết bị hoặc máy tính có thể là một vấn đề phức tạp, đặc biệt là khi cần truyền dữ liệu
20 và trọng số giữa chúng Sự giao tiếp giữa các nút phân tán có thể tạo ra chỉ phí và độ trễ mạng, đặc biệt là khi kích thước của mô hình và dữ liệu lớn Bảo mật là một khía cạnh quan trọng cần xem xét khi quản lý nhiều nút và thiết bị. Đồng thời, quản lý và duy trì một hạ tầng mạng và hệ thống phức tạp cũng có thể tăng chi phí triển khai và duy trì của hệ thống.
Application Programing Interface
Application Programming Interfaces (APIs) là một phan trung gian giữa người dùng và hệ thống Đến thời điểm hiện tai, API đã trở thành một phần quan trong không thể thiếu trong việc xây dựng hệ thống API hoạt động như một giao diện giữa các phần mềm, cho phép chúng giao tiếp với nhau mà không cần biết đến cách thức nội bộ của từng ứng dụng Sự linh hoạt này làm cho API trở thành một thành phần quan trọng trong hầu hết các hệ thống công nghệ thông tin, từ ứng dụng di động đến hệ thống doanh nghiệp lớn.
FastAPI là một framework hiện đại, nhanh chong, dựa trên tiêu chuẩn Python 3.7+, được thiết kế để xây dung API một cách nhanh chóng và dễ dàng Nó cung cấp tính năng tự động tạo tài liệu và hiệu suất cao, phù hợp cho việc xây dựng API trong hệ thống.
Có nhiều loại API khác nhau, nhưng tất cả đều có chung một mục đích là cho phép các ứng dụng giao tiếp với nhau Một số loại API phổ biến bao gồm: e Web API: Web API là một loại API sử dụng giao thức HTTP để giao tiếp Web API thường được sử dụng để truy cập vào dữ liệu từ các trang web hoặc ứng dụng web. e REST API: REST API là một loại Web API sử dụng mô hình RESTful.
RESTful là một kiến trúc web dựa trên các nguyên tắc cơ bản như trạng
21 thái không thay đổi, định dạng dữ liệu nhẹ và định tuyến dựa trên URI. e SOAP API: SOAP API là một loại Web API sử dụng giao thức SOAP để giao tiếp SOAP là một giao thức XML dựa trên giao thức HTTP. e GraphQL API: GraphQL API là một loại API mới nổi sử dụng ngôn ngữ truy vấn GraphQL để truy cập dữ liệu GraphQL cho phép các nhà phát triển truy cập dữ liệu theo cách có cấu trúc và hiệu quả hơn.
Blockchain 0.000000 00 2 eee ee 22
Blockchain là cơ sở dữ liệu phi tập trung, lưu trữ thông tin trong các khối được liên kết với nhau bằng mã hóa Các khối tạo thành một chuỗi liên tục, không thể thay đổi Blockchain được ứng dụng rộng rãi trong việc nghiên cứu sử dụng [12], [13], [14], [I5]. co
2.6.2 Các thành phần của Blockchain
Blockchain bao gồm các thành phần chính sau: e Khối (Block): Một don vị dữ liệu trong blockchain Mỗi khối chứa một số thông tin nhất định:
— Previous Block Address: Dịa chỉ của khối trước đó trong chuỗi
— Timestamp: Thời gian tạo khối
— Nonce: Giá trị sử dụng cho quá trình khai thác và tạo khối
— Merkel Root: Giá trị tổng hợp đại diện cho tất cả các giao dịch chứa trong khối sử dụng cấu trúc cây Merkel e Chuỗi: Tập hợp các khối liên kết với nhau dựa vào thời gian và mã của khối trước. e Mã hóa: Sử dung để bảo vệ dữ liệu trong blockchain khỏi bi thay đổi hoặc truy cập trái phép. e Cơ chế đồng thuận: Một thuật toán được sử dung để xác định khối tiếp theo sẽ được thêm vào blockchain.
Hình 2.9: Thanh phan của Blockchain [16]
2.6.3 Cách thức hoạt động của Blockchain e Tạo khối: Nút cần tạo dữ liệu để lưu trữ trong khối Dữ liệu này có thể là thông tin giao dịch, thông tin tài sản, hoặc dữ liệu khác Sau đó nút tính toán mã băm của đữ liệu trong khối Mã băm là một giá trị được tính toán từ dữ liệu, sử dụng để đảm bảo tính toàn vẹn của dữ liệu Cuối cùng thêm mã băm của khối trước vào khối mới Điều này giúp liên kết các khối với nhau.
23 e Kiểm tra tính hợp lệ: Tinh hợp lệ của một khối mới được xác minh bằng cách sử dụng cơ chế đồng thuận Có nhiều cơ chế đồng thuận khác nhau, nhưng tất cả đều có chung mục tiêu là xác định xem khối mới có hợp lệ hay không Một số cơ chế đồng thuận phổ biến: Proof of work (PoW), Proof of stake (PoS), Delegated proof of stake (DPoS). e Thêm khối vào chuỗi: Khi một khối đã được xác minh là hợp lệ, nó sẽ được thêm vào chuỗi Các nút trong mạng sẽ đồng bộ hóa với nhau để đảm bảo rằng tất cả các nút đều có phiên bản mới nhất.
2.6.4 Ưu điểm của blockchain e Tính phi tập trung: Blockchain là một hệ thống phi tập trung Nghĩa là không một đối tượng nào có thể kiểm soát blockchain Các nút trong mạng có thể tạo, xác minh, và thêm khối vào blockchain Tinh phi tập trung của blockchain giúp tăng cường tinh bao mật và tính minh bạch của dữ liệu. Điều này giúp ngăn chặn việc gian lận hoặc truy cập trái phép vào dữ liệu. e Tinh minh bạch: Giúp ngăn chặn việc gian lận hoặc tham nhũng Moi người đều có thể thấy các giao dịch trong blockchain Diều này giúp đảm bảo rằng các giao dịch được thực hiện một cách công bằng và minh bạch. e Tính bất biến: Tinh bất biến của blockchain giúp ngăn chặn việc gian lận hoặc sửa đổi dữ liệu Khi dữ liệu đã được lưu trữ vào blockchain, nó sẽ không thé bị thay đổi Điều này giúp dam bảo rằng dit liệu trong blockchain luôn chính xác và đáng tin cậy.
2.7 Ứng dụng dành cho người dùng
2.7.1 Tổng quan vé ứng dung Ứng dụng di động là một phần của hệ thống theo dõi sức khỏe tại nha Nó không chỉ là giao điện cho người dùng cuối để tương tác với hệ thống mà còn là cầu nối để tương tác với các thiết bị IoTs, học sâu, học phân tán và blockchain.
Một công nghệ trong NET Framework của Microsoft cho phép người phat triển tạo ra các ứng dụng giao diện người dùng đồ họa (GUI) cho hệ điều hành Windows Windows Form C dùng để xây dựng các ứng dụng với các yêu cầu về giao diện người dùng không quá phức tạp.
Hành 2.10: Ngôn ngữ C# Ứng dụng Windows Forms được xây dựng từ các thành phần có sẵn hoặc tùy chỉnh như: nút bam (buttons), hộp văn bản (text boxes), nhãn (labels), bảng
(datagrids), và nhiều thành phần khác có thể được kéo vào giao diện thiết kế trong môi trường phát triển tích hợp (IDE) như Visual Studio Các thành phần này có thể được tùy chỉnh trong quá trình thiết kế bằng cách sử dụng bảng
Android Studio là một môi trường phát triển tích hợp (IDE) chính cho nền tảng Android Nó được thiết kế để cung cấp một công cụ toàn diện cho việc xây dung ứng dụng Android Được phát triển bởi Google và dựa trên IntelliJ IDEA của JetBrains.
Hinh 2.11: Ung dung Android Studio
Ngoài ra, Android Studio còn tích hợp với GitHub và các công cu kiểm soát phiên bản khác, giúp dễ dàng quản lý mã nguồn và cộng tác trong nhóm Công cụ cũng hỗ trợ phát triển dựa trên plugin, cho phép mở rộng chức năng của IDE thông qua các plugin do cộng đồng phát triển.
2.7.4 Giao diện ứng dung Ứng dụng di động là một công cụ theo doi dữ liệu sức khỏe, một trợ thủ quan trọng trong quản lý sức khỏe toàn điện Kết hợp tích hợp thiết bị IoT, ứng dụng không chỉ thu thập thông tin sức khỏe mà còn được xây dựng một hệ thống dự đoán bệnh mạnh mẽ Dối với bác sĩ, ứng dụng là công cụ xác thực và theo dõi kết quả dự đoán bệnh Giao diện đơn giản giúp bác si dé dang theo dõi hỗ trợ ra đánh giá chính xác về chăm sóc sức khỏe cho bệnh nhân Đây là bước tiến quan trọng để nâng cao chất lượng dịch vụ y tế chăm sóc bệnh nhân.
Giao diện của ứng dụng được xây dựng tập trung vào trải nghiệm người dùng.
Sự dễ sử dụng được ưu tiên hàng đầu, với trực quan hóa dữ liệu tối ưu hóa để người dùng dễ theo đõi thông tin sức khỏe Cảnh báo và lời khuyên sức khỏe hiển thị thân thiện, giúp người dùng hiểu rõ tình trạng sức khỏe và nhận hướng dẫn chăm sóc phù hợp.
CHƯƠNG 3 THIET KE HỆ THONG
Một kiến trúc Egde Computing bốn tầng được sử dụng để lưu trữ thông tin bệnh nhân an toàn và phân tán dữ liệu Mô hình Học Sâu được sử dụng để kiểm tra các mẫu, với một tầng lớp cung cấp giao diện người dùng thông qua một
API, FL client, và truy cập dữ liệu Một mạng blockchain dam bảo an toàn dữ liệu, trong khi IPFS tăng cường khả năng mở rộng Máy chủ FL 4p dụng mô hình Học Sâu cho các bộ dữ liệu lớn để cải thiện liên tục Kiến trúc nhấn mạnh vào công nghệ tiên tiến và cam kết thích ứng với tính động của dữ liệu y tế.