1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)

63 369 0

Đ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

Định dạng
Số trang 63
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)

Trang 1

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

Đường Quang Hiếu

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN HÀNH VI M-SPEED ỨNG

DỤNG TRONG NHÀ THÔNG MINH

LUẬN VĂN THẠC SĨ KỸ THUẬT

(Theo định hướng ứng dụng)

HÀ NỘI - 2017

Trang 2

2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

Đường Quang Hiếu

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN HÀNH VI M-SPEED ỨNG

DỤNG TRONG NHÀ THÔNG MINH

Chuyên ngành: Khoa Học Máy Tinh

Mã số: 60.48.01.01LUẬN VĂN THẠC SĨ KỸ THUẬT

(Theo định hướng ứng dụng)

NGƯỜI HƯỚNG DẪN KHOA HỌC : TS.NGUYỄN TRỌNG KHÁNH

HÀ NỘI - 2017

Trang 3

3

MỤC LỤC

LỜI CẢM ƠN 5

LỜI CAM ĐOAN 6

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT 7

DANH MỤC CÁC BẢNG 8

MỞ ĐẦU 10

CHƯƠNG 1 GIỚI THIỆU VỀ NHÀ THÔNG MINH 11

1.1.Tổng quan về nhà thông minh 11

1.1.1 Khái niệm 11

1.1.2 Lịch sử hình thành 11

1.2 Giới thiệu kiến trúc nhà thông minh MavHome 14

1.3 Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT 17

1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT 17

1.3.2 Ứng dụng SIMACT trong công nghệ nhà thông minh 23

1.4 Kết luận 24

CHƯƠNG 2 DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG MINH 25

2.1 Bài toán dự đoán hành vi của người dùng 25

2.1.1 Mô hình chuyển động áp dụng dự đoán 26

2.2 Giới thiệu về học máy 28

2.2.1 Một số mô hình học máy hiện nay 28

2.2.2 Mô hình học máy ứng dụng trong nhà thông minh 32

2.3 Giới thiệu một số thuật toán dự đoán hành vi 34

2.3.1 Thuật toán LZ78 34

2.3.2 Thuật toán Active LeZi 36

2.4 Thuật toán M-SPEED 38

2.4.1 Đặt vấn đề 39

2.4.2 Phân tích thuật toán 39

2.4.3 Tiêu chuẩn đánh giá 40

2.4.4 Thủ tục học liệu 42

Trang 4

4

2.4.5 Ra quyết định 44

2.4.6 Kết quả 50

2.5 Kết luận 50

CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ 51

4.1.Thực nghiệm 51

4.2 Các bước thực thi giải thuật 53

4.3 So sánh thuật toán SPEED và M-SPEED 57

4.4 Kết quả 59

4.5 Kết luận 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

TÀI LIỆU THAM KHẢO 62

Trang 5

5

LỜI CẢM ƠN

Để hoàn thành luận văn tốt nghiệp “Nghiên cứu thuật toán dự đoán hành vi M-SPEED ứng dụng trong nhà thông minh”, lời đầu tiên tôi xin gửi cám ơn sâu sắc nhất tới Th.S Nguyễn Trọng Khánh đã hướng dẫn và chỉ bảo tôi tận tình trong suốt thời gian làm khóa luận

Tôi xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô giáo Trường Học viện Công nghệ Bưu chính Viễn thông, các giảng viên đã truyền đạt cho tôi những kiến thức, kỹ năng, tạo mọi điều kiện giúp đỡ, động viên, chia sẻ để tôi hoàn thành bản luận văn này

Bản luận văn chắc chắn còn nhiều thiết sót, rất mong được các thầy cô giáo trong hội đồng chấm luận văn xem xét, góp ý kiến để luận văn được hoàn thiện hơn

Tôi xin chân thành cảm ơn!

Hà Nội, tháng năm 2017

HỌC VIÊN

Đường Quang Hiếu

Trang 6

6

LỜI CAM ĐOAN

Với mục đích học tập, nghiên cứu để nâng cao trình độ chuyên môn nên tôi

đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực.Trong luận văn, tôi có sử dụng tài liệu tham khảo của một số tác giả, tôiđã nêu trong phần tài liệu tham khảo ở cuối luận văn.Tôi xin cam đoan và chịu trách nhiệm về nội dung, sự

trung thực trongluận văn tốt nghiệp Thạc sĩ của mình

Hà Nội, tháng năm 2017

HỌC VIÊN

Đường Quang Hiếu

Trang 7

7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

M-SPEED SequencePredictionvia Enhanced

SIMACT Smart Home Simulator for Activity

Recognition

Trình mô phỏng nhà thông minh

phần

MavHome Managing An Intelligent Versatile

Home

Quản lý tài nguyên ngôi nhà thông minh

Trang 9

9

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1: Hệ thống Echo-IV phát triển bởi Jim Sutherland

Hình 2 Mô tả hệ thống mạng lưới sử dụng mạng không dây

Hình 3 Mô hình 4 tầng của hệ thống phân tầng MavHome

Hình 4 Mô hình hoạt động theo các tầng

Hình 5 Công cụ mô phỏng SIMACT khi hoạt động

Hình 6 Bảng tùy chỉnh SIMACT

Hình 7 Kiến trúc tổng quan của SIMACT

Hình8 Mô hình đồ thị của một ngôi nhà thông minh

Hình 14 Trí thông minh nhân tạo chơi cờ vây với người

Hình 15 Mô hình ứng dụng học máy vào môi trường nhà thông minh Hình 16 Mã giả của thuật toán M-SPEED

Hình 17 Cây được tạo ra bởi M-SPEED

sau khi xử lý chuỗi AdCBb2D3a12B4c7C1A2d8a1b8c3B3A11D4a2b3 Hình 18 Mã giả của phần ra quyết định

Hình 19 Sơ đồ bố trí các cảm biến trong các phòng

Hình 20 Một phần dữ liệu thô được thu thập từ MavHome

Hình 21 Mô hình các bước hoạt động của M-SPEED

Hình 22 Quá trình tạo episode

Hình 23 Cây nhị phân Markov được tạo ra

Hình 24 Kết quả của dự đoán của SPEED và M-SPEED

Hình 25 Sự khác nhau giữa code của SPEED và M-SPEED

Hình 26 So sánh độ chính xác giữa thuật toán M-SPEED, SPEED

Trang 10

10

MỞ ĐẦU

Nhà thông minh được định nghĩa là không gian sống và nơi làm việc hỗ trợ các tương tác tự nhiên và thích ứng với người dùng Sự thích ứng này được hiểu theo nghĩa là sự phản ứng liên tục và thích ứng với điều kiện thay đổi để thoả mãn những nhu cầu sử dụng của người dùng Do vậy, Nhà thông minh phải có khả năng

dự đoán những mô hình di động và thói quen sử dụng các thiết bị của người dùng Với những dự đoán như vậy, nhà thông minh có thể gửi đi thông điệp và các thông tin đa phương tiện một cách chính xác cũng như tự động hoá các hoạt động mà đối với một căn nhà bình thường, người dùng sẽ phải đích thân thực hiện Nhà thông minh được coi như một tác nhân thông minh, cảm nhận được tình trạng của ngôi nhà thông qua các cảm biến và tác động lên môi trường từ những tác nhân được phát hiện Mục đích của nhà thông minh nhằm làm tăng sự thoải mái và an toàn cho người dùng, tối ưu hoá năng lượng sử dụng và loại bỏ những hoạt động lặp đi lặp lại không cần thiết

Do đó, dưới sự hướng dẫn của TS Nguyễn Trọng Khánh, tôi tìm hiểu đề tài

“Nghiên cứu thuật toán dự đoán hành vi M-SPEED ứng dụng trong nhà thông minh”.Luận văn sẽ tập trung nghiên cứu bài toán dự đoán hành vi, và biến thể của chúng Để từ đó áp dụng cho bài toán dự đoán hành vi ứng dụng trong ngôi nhà thông minh, với hai ràng buộc cụ thể về dự đoán và ra quyết định

Trang 11

11

CHƯƠNG 1 GIỚI THIỆU VỀ NHÀ THÔNG MINH

1.1.Tổng quan về nhà thông minh

Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với khung cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối Hệ thống cũng

có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống camera giám sát, hệ thống khóa cửa tự động, hệ thống phòng ngừa trộm

1.1.2 Lịch sử hình thành

Khởi đầu của hệ thống nhà cửa tự động, nhà thông minh chính là thiết bị điều khiển từ xa không dây Được giới thiệu năm 1898 bởi Nikola Tesla, khi đó ông đã điều khiển mô hình thu nhỏ của một chiếc thuyền bằng cách gửi đi sóng radio qua điều khiển từ xa

Bước sang thế kỷ 20 bắt đầu với sự phát triển bùng nổ của các thiết bị gia dụng, ví dụ như máy hút bụi chạy bằng động cơ (1901) và máy hút bụi chạy bằng điện (1907) Hai thập kỷ tiếp theo là một cuộc cách mạng thiết bị gia dụng, sự xuất hiện của tủ lạnh, máy sấy, máy giặt, Tuy nhiên với giá thành đắt đỏ không phải gia đình nào cũng có khả năng sở hữu những thiết bị này

Tới những năm 1930, ý tưởng về tự động hóa nhà ở được khơi gợi lên, nhưng phải đến năm 1966, hệ thống tự động hóa căn nhà đầu tiên mang tên Echo-IV mới được phát triển bởi Jim Sutherland Hệ thống này giúp chủ nhà lên danh sách

Trang 12

12

mua hàng, điều chỉnh nhiệt độ các phòng, bật và tắt các thiết bị gia dụng Tuy nhiên

hệ thống này chưa được thương mại hóa

Hình 1 Hệ thống Echo-IV phát triển bởi Jim Sutherland

Tới năm 1969, bếp máy tính Honeywell ra đời Chức năng chính của sản phẩm này là tạo ra các công thức món ăn, nhưng chiếc bếp này đã không đạt được thành công do vấn đề giá thành

Vào năm 1971 một bước ngoặt đã xảy ra khi bộ vi xử lý ra đời khiến giá thành các thiết bị giảm mạnh Điều này mang lại khả năng tiếp cận rộng rãi hơn cho mọi người với các thiết bị điện, điện tử Nhờ điều kiện thuận lợi này, khái niệm

"nhà thông minh" lần đầu tiên được đưa ra vào năm 1984 bởi Hội Liên Hiệp Xây dựng Hoa Kỳ

Trong cả thập niên 90, các công nghệ dành cho người cao tuổi đã là một chủ

đề được tập trung nghiên cứu, trong đó người ta cố gắng kết hợp giữa kỹ thuật hiện đại và khoa học về tuổi già để tạo ra các công nghệ phục vụ cho người cao tuổi

Trang 13

13

Nhờ sự tập trung nghiên cứu này đã đóng góp vào việc phát triển các tiện nghi gia đình, thiết bị gia dụng, điện tử điện lạnh Trong gian này, nhu cầu kết nối các thiết

bị gia dụng cũng bắt đầu xuất hiện

Năm 1993, mạng lưới kết nối các thiết bị tại nhà không dây đầu tiên được xây dựng bởi Fujieda, mang đến bước phát triển lớn cho hệ thống không dây ngày nay

Năm 1998, Ngôi nhà Thiên niên kỷ (Integer millennium house) được mở cửa trưng bày Đây là căn nhà mẫu minh họa cho việc một căn nhà có thể được tích hợp công nghệ như thế nào, với các hệ thống sưởi ấm, quản lý đất trồng, các thiết bị an ninh, chiếu sáng và cửa đều được điều khiển tự động

Mười năm sau, khi mạng Internet phát triển mạnh mẽ và trở nên phổ biến, người ta bắt đầu đi vào nghiên cứu để tìm ra cách kết nối hệ thống điều khiển tự động hóa căn nhà với mạng Internet Hiroshi Kanma và các đồng sự đã đề xuất việc

hệ thống được điều khiển thông qua bluetooth vào năm 2003 Năm 2006, hệ thống mạng lưới phức hợp các sản phẩm gia dụng được giới thiệu Mạng lưới này sử dụng bluetooth hoặc mạng điện thoại để gửi dữ liệu cho nhà cung cấp và truyền dẫn trở

về căn nhà của người sử dụng Bằng cách thức này, người dùng có thể điểu khiển các thiết bị trong nhà kể cả khi ở bên ngoài

Trang 14

14

Hình 2 Mô tả hệ thống mạng lưới sử dụng mạng không dây Ngày nay khi các yếu tố giá thành, và công nghệ sản xuất phát triển, nhu cầu người dùng tăng cao các công ty đã chú trọng đầu tư nghiên cứu và phát triển các hệ thống nhà thông minh Mô hình nhà thông minh đã phát triển rộng khắp rất rễ bắt gặp ở mọi nơi và mọi lĩnh vực

1.2 Giới thiệu kiến trúc nhà thông minh MavHome

Dự án nhà thông minh của MavHome[2] là dự án tập trung vào việc tạo ra một môi trường hoạt động với một bộ xử lý thông minh, nhận thức được trạng thái của ngôi nhà thông qua cảm biến và tác động lên môi trường thông qua bộ điều khiển thiết bị Mục tiêu dự án này là tạo ra hệ thống chức năng tối đa hóa sự thoải mái và năng suất của người sử dụng và giảm thiểu chi phí vận hành Để đạt được mục tiêu này, ngôi nhà phải có khả năng dự đoán, lý giải và thích nghi với chủ nhân của nó

Một số tính năng yêu cầu cho hệ thống này bao gồm học máy, hệ cơ sở dữ liệu, công nghệ tự động, ứng dụng tính toán trên di động và máy tính đa phương tiện Trong môi trường thông minh kiến trúc MavHome phân chia thành nhiều lớp

Trang 15

15

chịu trách nhiệm xử lý các nhiệm vụ bao gồm cảm biến, tự động hóa, giao diện.Kiến trúc này phân chia theo chức năng, mỗi phần chức năng lại được áp dụng các kỹ thuật AI riêng Kiến trúc này gồm bốn tầng:

-Tầng quyết định: Chọn các hành động để điểu khiển các thiết bị thực hiện dựa trên thông tin mà các tầng khác cung cấp qua lớp thông tin

-Tầng thông tin: thu thập, lưu trữ các thông tin hữu ích hỗ trợ cho tầng quyết định -Tầng giao tiếp: tầng này tạo kênh thông tin liên lạc giao tiếp và các yêu cầu truy vấn thông tin giữa các tầng

- Tầng vật lý: là các thiết bị bao gồm hạ tầng phần cứng mạng, các cảm biến, các thiết bị thực hiện hành động [3]

Trang 16

16

Hình 3 Mô hình hệ thống phân tầng MavHome

Hoạt động của hệ thống Nhà thông minh diễn ra theo hai hướng: Nhận thức

và hành động

Quá trình học (nhận thức) diễn ra theo hướng từ dưới lên Tầng vật lý thu thập thông tin từ môi trường, chuyển thông tin tới một tác nhân khác (nếu cần) thông qua tầng giao tiếp Thông tin thu nhận được thông qua mạch Arduino truyền tới tầng thông tin Mạch Arduino sẽ gửi thông tin để xử lý dữ liệu lên trung tâm Trung tâm lưu trữ các thông tin thu nhận được Tại đây, thông tin được xử lý, huấn luyện, dự đoán…và gửi kết quả lên tầng quyết định Tầng quyết định lựa chọn một hành động liên kết với tầng thông tin

Quá trình thực thi (hành động) diễn ra theo hướng từ trên xuống Sau khi lựa chọn một hành động dựa vào kết quả dự đoán mà tầng thông tin cung cấp, tầng quyết định gửi tín hiệu xuống tầng thông tin Tầng thông tin lưu lại kết quả của tầng quyết định Thông tin thông qua tầng giao tiếp gửi tín hiệu điều khiển tới tầng vật

Tầng vật lý Tầng vật lý

Trang 17

17

Hình 4 Mô hình hoạt động theo các tầng [2]

1.3 Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT

1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT

SIMACT[4] là trình mô phỏng được xây dựng với mục đích cung cấp một công cụ thử nghiệm phần mềm giúp các nhà nghiên cứu xác nhận các phương pháp tiếp cận, nghiên cứu mô hình nhà thông minh của họ Đây là một ứng dụng đơn giản

để thử nghiệm và xác định các ý tưởng các thuật toán trong lĩnh vực nhà thông minh SIMACT là một công cụ rất linh hoạt và dễ sử dụng, hơn nữa nó được xây dựng dựa trên mã nguồn mở vì vậy mọi người từ sinh viên đến các nhà nghiên cứu đều có khả năng tùy biến và tiếp cận nó để sử dụng cho mục đích mà mình muốn

Ứng dụng này bao gồm việc tái tạo lại hành vi của một người thực sự sống trong một ngôi nhà thông minh Để làm được điều này, trình mô phỏng có kiến trúc

cơ bản giống như một ngôi nhà thông minh Chương trình này có các cảm biến khác nhau mà phân tích những gì xảy ra trong nhà và lưu các thông tin trong cơ sở dữ liệu Các cảm biến này và định nghĩa hành động đã được định nghĩa và sẵn sàng để

Trang 18

18

sử dụng SIMACT được biểu diễn dưới dạng hình ảnh 3D SIMACT cung cấp nhiều tùy chọn thú vị để kiểm soát việc thực hiện và để xem trực quan sự tiến độ của các bước Nó cho phép cấu hình các chuỗi hoạt động theo nhu cầu Trình mô phỏng này còn phù hợp để so sánh các thuật toán được sử dụng trong nhà thông minh

- Giao diện người dùng

Giao diện người dùng của SIMACT có các tính năng quan trọng được hiển thị trên màn hình chính Như chúng ta có thể thấy trong Hình 5, cửa sổ ứng dụng được chia thành ba vùng đặc biệt Đầu tiên là môi trường đồ họa ba chiều được xây dựng từ một trong những công cụ hứa hẹn nhất trong Java: Java Monkey Engine (JME) [5] Nền tảng này chứa tất cả những gì cần thiết để mô phỏng môi trường thực tế kết hợp các cảm biến ảo Trong vùng 3D, người ta có thể tự do di chuyển máy quay xung quanh môi trường để có những góc nhìn khác nhau và sau đó quyết định vị trí thích hợp nhất để xem những gì đang xảy ra

Khu vực thứ hai là vùng điều khiển tập lệnh, cung cấp một cách nhanh chóng, đáng tin cậy và dễ dàng để kiểm soát việc thực hiện một kịch bản trong thời gian thực Nó hoạt động giống như một máy nghe nhạc, video có thể bấm để chạy, tạm dừng, và tua quay lại và chuyển tiếp trong việc thực hiện Trong thời gian chạy, ứng dụng hiển thị một số thông tin về các bước hiện tại Tốc độ thực hiện có thể được điều chỉnh mà không thay đổi giá trị thời gian thực Trong quá trình thực hiện

mô phỏng tập lệnh, SIMACT thu thập dữ liệu từ các cảm biến ảo và lưu nó vào cơ

sở dữ liệu Do đó, ứng dụng của bên thứ ba (tức là một điểm nhận dạng) có thể được xây dựng độc lập và kết nối với cơ sở dữ liệu để trích xuất dữ liệu từ mô phỏng theo thời gian thực SIMACT sẽ đi kèm với bộ tập lệnh được xác định trước để bắt đầu trong flash Người dùng cũng có thể tùy chỉnh các tập lệnh Để rõ ràng, các kịch bản xác định một loạt các sự can thiệp trong môi trường mô phỏng, và SIMACT diễn giải những hành động này và có những hoạt động phù hợp

Trang 20

20

Hình 6 Bảng tùy chỉnh SIMACT Phần đầu tiên, là thẻ mặc định, bao gồm các giá trị sử dụng trong việc giải thích kịch bản trong trường hợp định nghĩa các thông số thiết lập ban đầu bị mất

Phần thẻ thứ hai, được gọi là giá trị bắt buộc, phân loại các tùy chọn được sử dụng để ghi đè các tham số được xác định trong các tập lệnh

Tab Cơ sở dữ liệu bao gồm các tùy chọn ảnh hưởng đến cơ sở dữ liệu Có hai tham số nhưng số này sẽ thay đổi khi SIMACT câng cấp Thứ nhất, cơ sở dữ liệu có thể bị vô hiệu hóa và kích hoạt Nếu bị vô hiệu, SIMACT sẽ chạy các tình huống và

sẽ hiển thị kết quả mà không lưu bất kỳ sự kiện nào Thứ hai, đường dẫn của cơ sở

dữ liệu có thể được sửa đổi kết quả là một cơ sở dữ liệu khác nhau có thể được sử dụng để chạy các tình huống

Tab cuối cùng có tên là Script, và nó bao gồm mọi tham số ảnh hưởng đến chạy các kịch bản Tùy chỉnh quan trọng trong thẻ này là tốc độ chạy Các thiết lập trong mục này cho phép trong lần khởi động tiếp theo, SIMACT sẽ sử dụng tốc độ mặc định mới được xác định từ lần chạy trước

- Kiến trúc phần mềm: Kiến trúc phần mềm linh hoạt và thích nghi với những

đặc trưng của các vấn đề gặp phải bởi các nhà nghiên cứu Nó được thiết kế với code tách biệt là khía cạnh linh động của phần mềm Như chúng ta có thể thấy trong

Trang 21

- Phần thứ hai bao gồm việc hiển thị các đối tượng này khi giữ con trỏ trên

chúng theo các tham chiếu và tương tác Cấu trúc bản đồ được sử dụng cho từng loại đối tượng (bình thường, văn bản, v.v.) Sau đó, chúng có thể được thao tác thông qua các kịch bản bằng cách sử dụng các ID duy nhất ví dụ sự kiện "Mở cửa

lò nướng" Lệnh sẽ được đọc từ kịch bản bởi một mô đun trình đọc XML và được gửi lại cho trình thông dịch lệnh mà cuối cùng sẽ trao đổi với lớp kiểm soát hình ảnh ba chiều để mở cửa lò trực quan Để xác định kịch bản và danh sách các đối tượng, chương trình đã sử dụng XML vì khả năng dễ đọc của nó; Nhìn vào ví dụ đơn giản này: <action>

<Object> Lò nướng </ object><open> true </ open></ action>

Trang 22

22

Hình 7 Kiến trúc tổng quan của SIMACT

Ý nghĩa của ví dụ đơn giản này là: nó thông báo cho mô-đun thông dịch rằng một hành động sẽ xảy ra, thông báo cho tất cả các đối tượng bị ảnh hưởng sử dụng các ID duy nhất và cuối cùng đặt ra định hướng mới Phần cuối của trình tự bao gồm việc hoàn thành một vần đề gì đó hữu ích với các kịch chạy Trong thời gian phát, SIMACT lưu các sự kiện trong cơ sở dữ liệu và không phải khi nạp qua lại trong chuỗi các bước Nó sẽ khởi động lại bản ghi bất cứ nơi nào trong chuỗi các nút chạy được bấm

- Công nghệ xây dựng

Bộ mô phỏng SIMACT đã được lập trình hoàn toàn bằng Java với mã nguồn

mở Ngôn ngữ java và cộng đồng mã nguồn mở [6] xung quanh khá lớn vì vậy ngôn ngữ này rất thích hợp để xây dựng chương trình Java cũng là một ngôn ngữ hướng đối tượng mạnh mẽ được biết đến trong khoa học máy tính để ủng hộ việc sử dụng

mã nguồn mở Thư viện swing được chọn cho GUI (giao diện đồ họa người dùng)

vì nó là nền tảng chéo, có tài liệu và dễ sử dụng Phần 3D ít phức tạp hơn, vì Java thường được sử dụng trong lập trình trò chơi Công cụ Java Monkey Engine , một công cụ 3D khá hứa hẹn JME đang ở trạng thái phát triển mạnh mẽ; Nó là một công cụ quan trọng đã được thông qua bởi cộng đồng Java trong vài năm qua JME

có tất cả các chức năng mong đợi cho mô phỏng 3D và nhiều hơn nữa Đối với thiết

Trang 23

23

kế 3D, nhà phát triển sử dụng phần mềm đơn giản có tên SketchUp từ Google [7] SketchUp là công cụ mô hình hóa theo thiết kế nhà và phụ kiện trong nhà Ưu điểm chính của việc sử dụng SketchUp là thư viện đối tượng 3D khổng lồ được duy trì trên trang web của Google bởi cộng đồng xung quanh Sketchup Những mô hình 3D này là miễn phí, và các nhà phát triển chủ yếu xây dựng từ thư viện đó Để cung cấp một lớp trừu tượng cho phần mềm, họ quyết định sử dụng XML ngôn ngữ phổ biến

Nó được sử dụng để định nghĩa môi trường ba chiều như là một danh sách các đối tượng đơn giản (nạp từ các tệp trên đĩa) với các thông tin cơ bản như vị trí tuyệt đối hoặc tương đối trong không gian, ID duy nhất, quy mô, vv Để xác định các kịch bản trường hợp thực SIMACT có hai cách để thay đổi cấu hình Có thể được thực hiện bằng phiên bản văn bản chuẩn trong tệp ini hoặc bằng trình đơn GUI trực tiếp trên SIMACT

1.3.2 Ứng dụng SIMACT trong công nghệ nhà thông minh

Các công nghệ gia đình thông minh đã trở thành một chủ đề nghiên cứu rất tích cực trong vài năm trở lại đây Tuy nhiên, nhiều nhà khoa học làm việc trong lĩnh vực này không có cơ sở hạ tầng thông minh cho phép họ thực hiện các thí nghiệm thỏa đáng trong một môi trường cụ thể với dữ liệu thực Để giải quyết vấn

đề này, SIMACT ra đời với mục đích mô phỏng cơ sở hạ tầng gia đình 3D linh hoạt Một tập hợp các kịch bản được ghi lại, được làm bằng dữ liệu trích ra từ các thử nghiệm lâm sàng, sẽ được đưa vào mô phỏng để tạo nền tảng chung để kiểm tra các thuật toán nhận dạng hoạt động Mục tiêu là phát hành trình mô phỏng SIMACT với trình biên tập kịch bản thị giác như là một thành phần nguồn mở mang lại lợi ích cho toàn bộ cộng đồng nghiên cứu gia đình thông minh

Trong bài luận văn này với mục đích ban đầu sẽ sử chạy mô phỏng hoạt động trong nhà bằng SIMACT để sinh ra dữ liệu kiểm thử cũng như mô phỏng dự đoán của thuật toán M-SPEED tuy nhiên do tài liệu hướng dẫn chạy SIMACT có rất ít và phức tạp cao chưa thể thực hiện được trong thời gian ngắn do vậy luận văn sẽ trình

Trang 25

25

CHƯƠNG 2 DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG MINH

2.1 Bài toán dự đoán hành vi của người dùng

Hàng ngày có rất nhiều hoạt động thường ngày được diễn ra trong ngôi nhà của chúng ta Sau đây là một kịch bản ví dụ về những hoạt động đó:

“Tôi thức dậy vào lúc 6h30 phút sáng, đèn ngủ tự động tắt, đèn phòng bật và rèm cửa tự động kéo ra Tiếp đó tôi vào phòng vệ sinh, đèn tự động bật và tôi dùng nước ấm đã được hệ thống tự động bật trước đó 15 phút vệ sinh cá nhân, lúc này nhiệt độ trong phòng cũng được tự động điều chỉnh tăng dần để khi tôi ra khỏi nhà không cảm thấy bị sốc nhiệt.”

Để hệ thống hoạt động trơn tru và tự động như trên rất nhiều yêu cầu được đặt ra như: thu thập dữ liệu từ các cảm biến nhiệt độ, ánh sáng hồng ngoại, v…v, phân tích dự đoán hành vi người dùng, kết nối thông tin giữa các thiết bị… Tất cả các yêu cầu này cần phải được đáp ứng liên tục và hoạt động không ngừng Đặc biệt, việc dự đoán hành động, dự đoán phòng tiếp theo người dùng sẽ di chuyển, dự đoán sự tương tác giữa người dùng và ngôi nhà và sử dụng những thông tin đó cho ngôi nhà tự động hóa các quyết định, tối ưu hóa sự thoải mái của người dùng

Hoạt động dự đoán này còn phụ thuộc vào các chương trình học máy và thuật toán dự đoán mà người xây dựng sử dụng Thuật toán dự đoán giúp dự báo tình trạng có thể xảy ra đối với căn nhà hoặc người sử dụng và đó là một phần quan trọng trong việc phát triển mô hình nhà thông minh Một vài thuật toán dự báo như IPAM, thuật toán Jacobs Blockeel, LZ78 , LeZi- bản cập nhật, LeZi-mô hình đang được sử dụng, FXl và mô hình FXl thích ứng [8], SPEED, MSPEED Mỗi thuật toán đều có tính ảnh hưởng đến hiệu quả làm việc của một ngôi nhà thông minh

Một số thuật toán dự đoán sẽ được giới thiệu trong mục tiếp theo

Trang 26

26

2.1.1 Mô hình chuyển động áp dụng dự đoán

Kết nối liền mạch là một điều vô cùng cần thiết cho một căn nhà thông minh Một hệ thống mạng không dây được tích hợp trong toàn bộ ngôi nhà Các thiết bị đầu cuối không dây thường được tích hợp trong các bộ cảm biến được triển khai trong môi trường nhà thông minh Vùng phủ sóng của nhà thông minh được phân chia thành các khu vực hoặc ngành Việc quản lý khu vực liên quan đến việc lưu giữ theo dõi những chuyển động của người dùng Khi nhà thông minh cần liên hệ với người dùng, hệ thống sẽ khởi tạo tìm kiếm cho các thiết bị đầu cuối mục tiêu bằng cách kiểm tra tất cả các vùng, nơi nó có thể tìm thấy người dùng Tất cả các thiết bị đầu cuối nhận tín hiệu từ thiết bị phát sóng và chỉ có một khu vực gửi lại phản hồi Các hạn chế ảnh hưởng bởi các đặc tính cảm biến như hạn chế về công nghệ hồng ngoại đôi khi không thể tránh khỏi Ngoài ra, để tránh khả năng không chắc chắn về

vị trí của người dùng, một bản cập nhật định kỳ về vị trí của người dùng cũng sẽ được đưa vào hệ thống Vị trí hiện tại có khả năng nhất được dự báo bởi thông tin cập nhật cuối cùng được hệ thống nhận biết

Mạng lưới nhà thông minh được minh hoạ bằng một đồ thị kết nối giới hạn,

G = (∂, ε), ∂ đại diện cho các vùng và cạnh ε đại diện cho các vùng lân cận (tường, hành lang,…) giữa các cặp khu Hình 8 minh hoạ hình ảnh của một nhà thông minh bằng đồ thị

Trang 27

27

Hình8 Mô hình đồ thị cả một nhà thông minh

Hình 9 Lịch sử các hoạt động của chủ nhà Việc xác định vị trí của người dùng là một chương trình hoàn toàn dựa trên hoạt động thường ngày của người dùng Bản cập nhật được tạo ra bất cứ khi

Trang 28

28

nàongười dùng di chuyển qua ranh giới các phòng được phát hiện hoặc một hoạt động người dùng có hành động khác biệt rõ rệt so với những người cuối cùng được quan sát Một chuỗi những biểu tượng “υ1υ2υ3 ” từ ϑ, khi ϑ là tập hợp các khu vực trong nhà và υi biểu thị cho mã khu vực được báo cáo thông qua cập nhật Theo đó, lịch sử hoạt động của chủ nhà trong căn nhà thông minh trong suốt một ngày sẽ tạo

ra chuỗi hoạt động mamcmrkdkd- googdk., được giải thích như hình 9 Giả định ngầm là chuyển động của người sử dụng chỉ đơn thuần là mô hình phản ánh của sống của cá nhân đó và những thói quen này có thể được ghi lại và xử lý Quá trình này được gọi là giai đoạn học tập lần lượt, hỗ trợ lớp ra quyết định khi các sự kiện lặp đi lặp lại được phát hiện và ghi lại [9]

2.2 Giới thiệu về học máy

Học máy là một phương pháp phân tích dữ liệu mà sẽ tự động hóa việc xây dựng mô hình phân tích Sử dụng các thuật toán lặp để học từ dữ liệu, học máycho phép máy tính tìm thấy những thông tin giá trị ẩn sâu mà không được lập trình một cách rõ ràng nơi để tìm

Khía cạnh lặp lại của học máy là rất quan trọng bởi vì khi các mô hình này được tiếp xúc với dữ liệu mới thì chúng có thể thích ứng một cách độc lập Chúng học từ các tính toán trước đó để tạo ra những quyết định cũng như kết quả lặp lại và đáng tin cậy Đó là một ngành khoa học không mới - nhưng hiện nay đang dành được nhiều mối quan tâm để phát triển bùng nổ

Nhờ vào các công nghệ điện toán mới, học máy hiện nay không còn giống như học máy trong quá khứ Trong khi rất nhiều các thuật toán học máy vẫn còn được sử dụng hiệu quả trong một thời gian dài, khả năng tự động áp dụng các tính toán toán học phức tạp trên dữ liệu lớn - ngày càng lớn hơn và nhanh hơn - là một sự phát triển gần đây

2.2.1 Một số mô hình học máy hiện nay

-Học có giám sát

Trang 29

29

Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu

mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn) Supervised learning là nhóm phổ

biến nhất trong các thuật toán Machine Learning

Một cách toán học, Supervised learning là khi chúng ra có một tập hợp biến đầu vào X={x1,x2,…,xN}X={x1,x2,…,xN} và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}Y={y1,y2,…,yN}, trong đó xi,yixi,yi là các vector Các cặp

dữ liệu biết trước (xi,yi)∈X×Y(xi,yi)∈X×Y được gọi là tập training data (dữ liệu

huấn luyện) Từ tập traing data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập XX sang một phần tử (xấp xỉ) tương ứng của tập YY:

yi≈f(xi), ∀i=1,2,…,Nyi≈f(xi), ∀i=1,2,…,NMục đích là xấp xỉ hàm số ff thật tốt để khi có một dữ liệu xx mới, chúng ta có thể tính được nhãn tương ứng của

nó y=f(x)y=f(x)

Ví dụ 1: trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn ví dụ của

mỗi chữ số được viết bởi nhiều người khác nhau Chúng ta đưa các bức ảnh này vào trong một thuật toán và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào Sau

khi thuật toán tạo ra (sau khi học) một mô hình, tức một hàm số mà đầu vào là một

bức ảnh và đầu ra là một chữ số, khi nhận được một bức ảnh mới mà mô hình chưa nhìn thấy bao giờ, nó sẽ dự đoán bức ảnh đó chứa chữ số nào

Trang 30

30

Hình 13: Bộ cơ sở dữ liệu của chữ số viết tay

Ví dụ này khá giống với cách học của con người khi còn nhỏ Ta đưa bảng chữ cái cho một đứa trẻ và chỉ cho chúng đây là chữ A, đây là chữ B Sau một vài lần được dạy thì trẻ có thể nhận biết được đâu là chữ A, đâu là chữ B trong một cuốn sách mà chúng chưa nhìn thấy bao giờ

Ví dụ 2: Thuật toán dò các khuôn mặt trong một bức ảnh đã được phát triển

từ rất lâu Thời gian đầu, facebook sử dụng thuật toán này để chỉ ra các khuôn mặt

trong một bức ảnh và yêu cầu người dùng tag friends - tức gán nhãn cho mỗi khuôn mặt Số lượng cặp dữ liệu (khuôn mặt, tên người) càng lớn, độ chính xác ở những lần tự động tag tiếp theo sẽ càng lớn

Ví dụ 3: Bản thân thuật toán dò tìm các khuôn mặt trong 1 bức ảnh cũng là

một thuật toán Supervised learning với training data (dữ liệu học) là hàng ngàn cặp

(ảnh, mặt người) và (ảnh, không phải mặt người) được đưa vào Chú ý là dữ liệu này chỉ phân biệt mặt người và không phải mặt người mà không phân biệt khuôn

mặt của những người khác nhau

- Học không giám sát

Trong thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có

dữ liệu đầu vào Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu

để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán

Một cách toán học, Unsupervised learning là khi chúng ta chỉ có dữ liệu

vào XX mà không biết nhãn YY tương ứng

Những thuật toán loại này được gọi là Unsupervised learning vì không giống như Supervised learning, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu

Trang 31

31

đầu vào Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó là chữ

A hay chữ B Cụm không giám sát được đặt tên theo nghĩa này

-Học bán giám sát

Các bài toán khi chúng ta có một lượng lớn dữ liệu XX nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi-Supervised Learning Những bài toán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên

Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại

dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet

- Học Củng Cố

Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance) Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất

Ngày đăng: 23/10/2017, 12:50

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w