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

NHẬN DẠNG NGƯỜI từ dữ LIỆU CHUYỂN ĐỘNG sử DỤNG CONVOLUTIONAL NEURAL NETWORK

93 281 1

Đ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 93
Dung lượng 11,16 MB

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

Nội dung

Từ đó trong đề tài này, tác giả tiến hành nghiên cứu, đề xuất các phương pháp sử dụng CNN vào việc nhận diện người dùng từ dữ liệu chuyển động với độ chính xác cao, hướng tới việc xây dự

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Hoàng Văn Hà

NHẬN DẠNG NGƯỜI

TỪ DỮ LIỆU CHUYỂN ĐỘNG SỬ DỤNG CONVOLUTIONAL NEURAL NETWORK

LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH

Mã số: 60.48.01.01

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS TS TRẦN MINH TRIẾT

TP HỒ CHÍ MINH - 2017

Trang 2

Trước tiên em xin gửi lời cảm ơn chân thành đến Thầy PGS.TS Trần Minh Triết

đã hướng dẫn tận tình để em có thể hoàn thành đề tài này

Đồng thời, em cũng xin chân thành cảm ơn quý Thầy Cô giảng dạy cao học tại

trường Đại học Công Nghệ Thông Tin đã nhiệt tình giảng dạy, truyền đạt kiến thức nền

tảng cũng như truyền cho em tinh thần ham học hỏi và hứng thú nghiên cứu khoa học

Cảm ơn quý Thầy Cô cũng như các anh chị đồng nghiệp công tác tại Khoa Công Nghệ

Phần Mềm đã hỗ trợ trong công việc, giúp em có thời gian hoàn thành đề tài Bên cạnh

đó, em cũng vô cùng biết ơn với sự hỗ trợ Máy ảo từ UIT-Cloud Team phục vụ cho quá

trình nghiên cứu

Cảm ơn gia đình, bạn bè đã luôn bên cạnh hỗ trợ, động viên con

Em xin chân thành cảm ơn

Tp Hồ Chí Minh, tháng 10 năm 2017

Hoàng Văn Hà

Trang 3

Tôi xin cam đoan những nội dung trong luận văn là kết quả nghiên cứu thực sự của

cá nhân dưới sự hướng dẫn của PGS.TS Trần Minh Triết Tôi xin hoàn toàn chịu trách

nhiệm về luận văn của mình

Học viên

Hoàng Văn Hà

Trang 4

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC 1

DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT 4

DANH MỤC CÁC BẢNG 5

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

MỞ ĐẦU 8

Chương 1 TỔNG QUAN 9

1.1 Giới thiệu chung 9

1.2 Lý do chọn đề tài 11

1.3 Mục tiêu luận văn 12

1.4 Đóng góp của luận văn 13

1.5 Cấu trúc luận văn 14

Chương 2 CƠ SỞ LÝ THUYẾT VỀ ĐỊNH DANH NGƯỜI DÙNG BẰNG ĐẶC TRƯNG CHUYỂN ĐỘNG 16

2.1 Chứng thực người dùng sử dụng đặc trưng sinh trắc học 16

2.1.1 Giới thiệu chung về Sinh trắc học 16

2.1.2 Chứng thực sử dụng các đặc trưng sinh trắc học 17

2.1.3 Tổng quan về đặc trưng chuyển động (gait) 20

2.1.4 Quy trình định danh bằng đặc trưng gait từ dữ liệu chuyển động 21

2.2 Kết chương 27 Chương 3 CƠ SỞ LÝ THUYẾT VỀ CONVOLUTIONAL NEURAL

Trang 5

3.1.1 Cấu trúc của một neuron 29

3.1.2 Kiến trúc của Neural network 32

3.1.3 Huấn luyện Neural Network 33

3.2 Convolutional Neural Network 37

3.2.1 Các thành phần cơ bản 38

3.2.2 Kiến trúc của CNN 42

3.2.3 Một số kiến trúc CNN phổ biến 44

3.3 Recurrent Neural Network 45

3.3.1 Recurrent Neural Network (RNN) 45

3.3.2 Long Short Term Memory (LSTM) 46

3.4 Kết chương 48

Chương 4 NHẬN DIỆN NGƯỜI TỪ DỮ LIỆU CHUYỂN ĐỘNG SỬ DỤNG CNN 49 4.1 Giới thiệu 49

4.2 Công trình liên quan 50

4.3 Phương pháp đề xuất 51

4.3.1 Phân vùng và biến đổi dữ liệu 52

4.3.2 Rút trích đặc trưng cấp cao sử dụng CNN 53

4.3.3 Nhận dạng người dùng 55

4.4 Thử nghiệm và đánh giá 55

4.4.1 Tập dữ liệu thử nghiệm 55

4.4.2 Thử nghiệm, đánh giá 57

4.5 Kết chương 62

Trang 6

KIẾN TRÚC TƯƠNG TỰ GOOGLE INCEPTION VÀ RNN 63

5.1 Giới thiệu 63

5.2 Công trình liên quan 64

5.2.1 Dữ liệu đầu vào của DeepSense Framework 65

5.2.2 Kiến trúc DeepSense Framework 65

5.3 Kiến trúc đề xuất 67

5.3.1 Tiền xử lý dữ liệu 68

5.3.2 Kiến trúc DeepSense-Inception 69

5.4 Thử nghiệm, đánh giá 73

5.4.1 Bộ dữ liệu thử nghiệm 73

5.4.2 Kết quả thử nghiệm 74

5.5 Kết chương 77

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 79

6.1 Các kết quả đạt được 79

6.2 Hạn chế 79

6.3 Hướng phát triển 80

DANH MỤC CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ 81

DANH MỤC TÀI LIỆU THAM KHẢO 82

PHỤ LỤC 89

Trang 7

Viết tắt Viết đầy đủ Ý nghĩa

gait Đặc trưng chuyển động Đặc trưng sinh trắc học

chuyển động

CNN Convolutional Neural Network Convolutional Neural Network RNN Recurrent Neural Network Recurrent Neural Network

GRU Gated recurrent unit Gated recurrent unit DSI DeepSense-Inception Kiến trúc đề xuất mang tên

DeepSense-Inception Conv Layer Convolutional Layer Convolutional Layer

Trang 8

Bảng 2.1 Đánh giá một số các đặc trưng sinh trắc học dựa trên các tiêu chí [8] 18Bảng 4.1: Các cấu hình được dùng trong thử nghiệm 59Bảng 4.2 Độ chính xác của việc định danh theo cấu hình thử nghiệm với trạng thái di chuyển trên sàn phẳng 60Bảng 4.3 Kết quả tốc độ huấn luyện trên cấu hình B và D 61Bảng 4.4 Kết quả thử nghiệm cấu hình D với trạng thái di chuyển đi lên và xuống dốc 61Bảng 5.1 Độ chính xác của các mô hình với kiến trúc khác biệt của mô đun tương tự Inception 76Bảng 5.2 Độ chính xác và số lượng tham số (parameter) của các mô hình 77

Trang 9

Hình 2.1 Quy trình nhận dạng dựa trên đặc trưng gait từ cảm biển chuyển động [3] 22

Hình 3.1 Cấu trúc của một neuron 29

Hình 3.2 Biểu diễn hàm kích hoạt 𝑺𝒊𝒈𝒎𝒐𝒊𝒅 [35] 31

Hình 3.3 Biểu diễn hàm kích hoạt 𝒕𝒂𝒏𝒉 [35] 31

Hình 3.4 Biểu diễn hàm kích hoạt 𝑹𝒆𝑳𝑼 (Rectified Linear Unit) [35] 32

Hình 3.5 Một kiến trúc của Neural Network với lớp đầu vào gồm 3 neuron, 1 lớp ẩn với 4 neuron và lớp đầu ra với 2 neuron [35] 32

Hình 3.6 Ví dụ về kết quả đầu ra của conv layer sử dụng 6 bộ lọc (filter) với kích thước 5 × 5 × 3 trên dữ liệu ảnh đầu vào với kích thước 32 × 32 × 3 [37] 38

Hình 3.7 Các neuron trong conv layer (màu xanh), kết nối với trường tiếp nhận (receptive field) của chúng (màu đỏ) với dữ liệu ảnh đầu vào 32 × 32 × 3 [35] 39

Hình 3.8 Ma trận 3 × 3 thông qua Zero-padding trở thành ma trận 5 × 5 40

Hình 3.9 Ví dụ max pool với bộ lọc có kích thước 2 × 2 và độ dài bước trượt 𝑆 = 2 trên một lát cắt sâu (depth slice) [35] 41

Hình 3.10 Ví dụ về kiến trúc CNN gồm nhiều 𝐶𝑂𝑁𝑉, 𝑅𝐸𝐿𝑈 và 𝑃𝑂𝑂𝐿 layer được xếp chồng, kết thúc bởi Fully-connected layer 𝐹𝐶 cho bài toán phân lớp ảnh [35] 42

Hình 3.11 Cấu trúc tiêu biểu của RNN [41] 45

Hình 3.12 Mô phỏng đơn vị tính toán GRU/LSTM [42] 46

Hình 3.13 Kiến trúc của LSTM [44] 47

Trang 10

với 𝑋 là số bộ lọc, 𝑌 × 𝑍 là kích thước bộ lọc [29] 50

Hình 4.2 Mô tả phương pháp FOSW dùng để phân vùng dữ liệu 52

Hình 4.3: Mô tả kiến trúc hệ thống, trong đó thông số sử dụng với mỗi lớp CNN được ký hiệu theo quy ước 𝑋@𝑌 × 𝑍 với X là số bộ lọc (filter), 𝑌 × 𝑍 là kích thước của bộ lọc 54

Hình 4.4 Một ví dụ dữ liệu gia tốc (theo 3 trục x, y, z) của một đối tượng trong bộ dữ liệu OU-ISIR [4] 57

Hình 4.5: Mô hình hệ thống sử dụng Neural Network gồm 2 hidden layer với 300 neuron mỗi layer 58

Hình 4.6 Cài đặt cấu hình đề xuất sử dụng TensorFlow với ngôn ngữ Python 59

Hình 5.1 Kiến trúc chính của DeepSense Framework [5] 64

Hình 5.2 Kiến trúc đề xuất DeepSense-Inception với các mô đun tương tự Google Inception và các lớp max pooling thêm vào 67

Hình 5.3 Kiến trúc mô đun Inception [6] 69

Hình 5.4 Cấu trúc của mô đun tương tự Inception 70

Hình 5.5 Kiến trúc GRU [44] 72

Hình 5.6 Ví dụ cài đặt thực tế sử dụng Keras với ngôn ngữ Python 75

Trang 11

Ngày nay, điện thoại thông minh (smartphone) cũng như các thiết bị đeo thông minh (wearable device) như đồng hồ thông minh, vòng thay theo dõi sức khỏe… đang trở nên ngày càng phổ biến trong cuộc sống Các thiết bị này thường mang tính cá nhân,

do đó đặt ra nhu cầu bảo mật cho các thiết bị, nghĩa là thiết bị có thể nhận dạng được người dùng hợp lệ, từ đó mới cho phép truy cập và sử dụng

Một cách phổ thông nhất là người sở hữu thiết bị thiết lập mật khẩu và khi muốn

sử dụng cần cung cấp mật khẩu đúng Cùng với sự phát triển của khoa học công nghệ, các hướng tiếp cận mới được phát triển để giải quyết bài toán này, trong đó nổi bật nhất phải kể đến công nghệ Sinh trắc học (Biometric) Công nghệ này sử dụng những đặc trưng vật lý, sinh học của mỗi cá nhân như khuôn mặt, vân tay, mống mắt… để nhận diện, phân biệt được giữa các người dùng khác nhau Một ví dụ phổ biến đó là việc mở khóa thiết bị bằng cảm biến vân tay (TouchID) trên điện thoại iPhone (từ dòng iPhone 5S trở lên) của hãng Apple

Bên cạnh các đặc trưng truyền thống, đặc trưng chuyển động (gait) là một hướng tiếp cận mới với nhiều tiềm năng để phát triển các hệ thống nhận diện với độ thân thiện cao Nhiều phương pháp đã được phát triển để nhận diện người từ đặc trưng chuyển động gait Trong đó, hướng tiếp cận sử dụng Convolutional Neural Network (CNN) là một cách làm mới, mang lại kết quả khả quan

Từ đó trong đề tài này, tác giả tiến hành nghiên cứu, đề xuất các phương pháp sử dụng CNN vào việc nhận diện người dùng từ dữ liệu chuyển động với độ chính xác cao, hướng tới việc xây dựng các ứng dụng thực tế trên điện thoại và các thiết bị thông minh

Trang 12

Chương 1 TỔNG QUAN

Nội dung Chương 1 giới thiệu chung về ngữ cảnh của đề tài, lý do thực hiện đề tài, từ đó nêu rõ mục tiêu cũng như các đóng góp chính của

luận văn Nội dung tóm tắt của từng chương trong luận văn được trình bày

ở cuối chương này

1.1 Giới thiệu chung

Hiện nay, các thiết bị di động (mobile device) như điện thoại thông minh (smartphone), máy tính bảng (tablet)… và các thiết bị đeo thông minh (wearable device) như đồng hồ thông minh (smart watch), vòng tay thông minh theo dõi sức khỏe (activity tracker)… ngày càng trở nên phổ biến trong đời sống Công ty eMarketer trong một báo cáo [1] của mình đã thống kê trong năm 2015 có 25,7% dân số thế giới sở hữu điện thoại thông minh và 13,8% dân số thế giới sử dụng máy tính bảng Trong năm 2019, các con

số này được dự báo tăng lên đạt 42,6% và 20% theo thứ tự tương ứng Liên quan đến các thiết bị đeo thông minh, Idtechex thống kê giá trị thị trường của mảng thiết bị này vượt ngưỡng 30 tỉ đô là vào cuối năm 2016, sau đó tăng trưởng nhanh chóng và dự báo đạt giá trị 150 tỉ đô la vào năm 2026 [2]

Với đặc thù là tính nhỏ gọn, dễ mang theo và được người dùng sử dụng thường xuyên tạo ra cơ hội lớn để phát triển các loại ứng dụng và dịch vụ dựa trên các loại thiết

bị này, được biệt là các loại hình dịch vụ trực tuyến như thực hiện các giao dịch thương mại (M-Commerce), thanh toán trực tuyến với thiết bị di động,… Từ đó nảy sinh nhu cầu cấp thiết về các giải pháp đảm bảo an toàn thông tin người dùng, chứng thực người dùng một các an toàn, đơn giản và hiệu quả đặc biệt là đối với các loại hình dịch vụ trực tuyến Bài toán chứng thực cho ứng dụng với thiết bị di động hay thiết bị đeo thông minh

bao gồm hai vấn đề chính: (a) chứng thực đối với thiết bị và (b) chứng thức với hệ thống

dịch vụ bằng thiết bị

Trang 13

▪ Chứng thực đối với thiết bị: nhận biết định danh (phân biệt) người dùng

▪ Chứng thức với hệ thống dịch vụ bằng thiết bị: sử dụng thiết bị như một token

để chứng thực an toàn với hệ thống dịch vụ trực tuyến

Các thiết bị di động, đặc biệt là các thiết bị đeo thông minh thường hạn chế về khả năng xử lý, lưu trữ và kết nối mạng nếu đem so sánh với máy tính cá nhân thông thường Tuy nhiên, các thiết bị này thường có các loại cảm biến (sensor) cho phép ghi nhận các loại thông tin đặc thù để xây dựng các giải pháp chứng thực Các loại thông tin đặc thù này mang tính cá nhân duy nhất, gọi là các đặc trưng Sinh trắc học, cho phép phân biệt được các cá nhân khác nhau Sử dụng các đặc trưng Sinh trắc học cho phép tạo ra hệ thống nhận diện, chứng thực người dùng với độ chính xác cao đồng thời mang lại trải nghiệm thân thiện và thuận tiện hơn so với các phương pháp bảo mật truyền thống như việc sử dụng mã PIN hay mật khẩu (password) Một vài đặc trưng sinh trắc học phổ biến

có thể được liệt kê như khuôn mặt (Face), vân tay (Fingerprint), mống mắt (Iris)

Các cảm biến chuyển động (intertial sensor) có một số đặc tính nổi bật như kích thước nhỏ, giá thành thấp, năng lượng tiêu thụ ít… do đó các cảm biến dạng này được tính hợp hầu hết ngay trong các thiết bị điện thoại thông minh (smartphone) và cả các thiết bị đeo thông minh (wearable device) Chính vì vậy, việc thu thập thông tin chuyển động nhờ các cảm biến chuyển động trở nên đơn giản và dễ dàng hơn Mỗi cá nhân sở hữu một cách thức di chuyển khác nhau, nghĩa là có thể phân biệt được các cá nhân khác nhau thông qua cách thức di chuyển của họ Từ đó, dữ liệu thu được từ các cảm biến chuyển động có thể được sử dụng trong các phương pháp chứng thực

Bên cạnh các đặc trưng sinh trắc học truyền thống như khuôn mặt, vân tay, mống

mắt…, đặc trưng chuyển động (gait) là một đặc trưng sinh trắc học chứa thông tin về

chuyển động của cơ thể người có thể được dùng để nhận biết và phân biệt người dùng qua các đặc điểm riêng khi di chuyển Một đặc điểm nổi bật khi sử dụng đặc trưng gait

trong các giải pháp chứng thực đó là tính thân thiện cao do người dùng chỉ cần mang

Trang 14

được ghi nhận và quá trình định danh hoặc chứng thực sẽ được diễn ra mà không phải thực hiện bất kỳ thao tác bổ sung nào Hiện nay, ngày càng có nhiều công trình nghiên cứu về nhận diện, chứng thực người sử dụng đặc trưng gait

1.2 Lý do chọn đề tài

▪ Việc chứng thực sử dụng đặc trưng sinh trắc học chuyển động (gait) là một

hướng tiếp cận mới, được quan tâm trong những năm gần đây tuy nhiên số

lượng công trình vẫn còn hạn chế nếu đem so sánh với việc chứng thực sử dụng

đặc trưng sinh trắc học truyền thống như khuôn mặt (Face), vân tay (Fingerprint), mống mắt (Iris)

▪ Việc thu thập dữ liệu về đặc trưng chuyển động (gait) trên các thiết bị di động

và thiết bị đeo thông minh thường dễ dàng (khi so sánh với việc thu thập dữ liệu

của các đặc trưng sinh trắc học khác như vân tay, mống mắt…, thiết bị cần gắn thêm phần cứng chuyên biệt) do các loại thiết bị này hầu hết đều được tính hợp cảm biến chuyển động (inertial sensors) Từ đó, nếu xây dựng thành công phương pháp định danh, chứng thực người dùng sử dụng đặc trưng gait, ta có thể xây dựng các giải pháp chứng thực áp dụng rộng rãi, phù hợp với nhiều loại thiết bị khác nhau

▪ Các công trình nhận diện người dùng dựa vào đặc trưng trưng gait bằng cách biến đổi dữ liệu chuyển động (inertial data) qua miền không gian đặc trưng (feature space) để xây dựng các vector đặc trưng (feature vector) phục vụ cho quá trình nhận dạng Tuy nhiên, quá trình xây dựng vector đặc trưng thường dựa trên quá trình biến đổi dữ liệu thành các đặc trưng thủ công, được thiết kế trước

(hand-crafted feature) Một hướng tiếp cận mới để trích rút đặc trưng một cách

tự động là sử dụng Convolutional Neural Network (CNN) Do đó, nghiên cứu

này tập trung vào việc sử dụng CNN nhằm trích rút đặc trưng cấp cao (high-level feature) cho phép định danh người dùng từ dữ liệu chuyển động

Trang 15

Đề xuất phương pháp có thể phân biệt được người dùng dựa vào dữ liệu chuyển động (gait) ghi nhận từ các cảm biến chuyển động (inertial sensors) với kỹ thuật CNN

Như vậy trong đề tài này, mô hình bài toán đặt ra như sau:

▪ Đầu vào (Input): dữ liệu là tín hiệu từ các cảm biến chuyển động (inertial sensors) Dữ liệu này có thể gồm 3 thành phần là dữ liệu của gia tốc kế (accelerometer): 𝐴𝑥, 𝐴𝑦, 𝐴𝑧; hoặc có thể gồm 6 thành phần gồm 3 thành phần dữ liệu của gia tốc kế 𝐴𝑥, 𝐴𝑦, 𝐴𝑧 và 3 thành phần dữ liệu từ con quay hồi chuyển (gyroscope) 𝐺𝑥, 𝐺𝑦, 𝐺𝑧

▪ Hướng tiếp cận: sử dụng Convolutional Neural Network (CNN) phục vụ cho việc rút trích và biểu diễn đặc trưng cấp cao cho đặc trưng chuyển động (gait) –

từ dữ liệu ghi nhận từ sensor chuyển động, từ đó nhận biết được người dùng dựa trên dữ liệu đầu vào

▪ Đầu ra (Output): Phân biệt/định danh được người dùng dựa trên dữ liệu đầu vào Trong thực tế, đặc trưng chuyển động (gait) có thể bị ảnh hưởng bởi nhiều yếu tố được

chia thành 2 nhóm chính [3]: (a) yếu tố sinh lý và (b) yếu tố mô trường Yếu tố sinh lý

là yếu tố liên quan đến cơ thể người như các dị tật trên cơ thể, độ tuổi, giới tính, tốc độ

di chuyển quen thuộc (đi nhanh, đi chậm,…) Yếu tố môi trường là các điều kiện ngoại

cảnh, các thực thể bên ngoài trực tiếp hoặc gián tiếp tác động đến quá trình di chuyển của đối tượng như địa hình, độ dốc (slope), chướng ngại vật, việc mang vác thêm vật

nặng, …Trong phạm vi luận văn, việc ứng dụng thông tin chuyển động để nhận diện

người cần được thực hiện trên dữ liệu phải thoả mãn các ràng buộc liên quan đến các yêu tố trên: ví dụ quá trình di chuyển theo một tốc độ ổn định, không có sự thay đổi

đột ngột; đối tượng di chuyển không bị các dị tật gây thay đổi đặc trưng chuyển động (như dị tật ở chân), di chuyển trên các địa hình cho trước (sàn phẳng, lên cầu thang, xuống cầu thang), không gặp phải chướng ngại vật và không mang vác thêm vật nặng trong quá trình di chuyển

Trang 16

liệt kê dưới đây:

▪ Nghiên cứu tổng quan về chứng thực người dùng sử dụng các đặc trưng sinh trắc học (biometric)

▪ Nghiên cứu về đặc trưng gait cũng như các công trình nghiên cứu liên quan đến các phương pháp nhận biết người dùng sử dụng đặc trưng gait

▪ Nghiên cứu về mạng Neural Network và đi sâu vào tìm hiểu về Convolutional Neural Network (CNN)

▪ Tìm hiểu và thu thập các tập dữ liệu (dataset) về chuyển động gait phục vụ cho quá trình thử nghiệm, đánh giá các phương pháp đề xuất trong luận văn

▪ Áp dụng thử nghiệm một số kiến trúc CNN đề xuất vào việc huấn luyện, thử nghiệm trên các tập dữ liệu đã thu thập trước đó để phân biệt được người dùng dựa trên đặc trưng chuyển động (gait)

▪ Trình bày lại các kết quả thử nghiệm, tiến hành so sánh, đánh giá để rút ra được các ưu, nhược điểm của phương pháp đề xuất

1.4 Đóng góp của luận văn

Phần dưới đây trình bày các đóng góp chính của luận văn:

▪ Đề xuất phương pháp nhận diện người dùng từ dữ liệu chuyển động với một

kiến trúc CNN đề xuất (có kiến trúc khác với phương pháp sử dụng CNN

trước đó) sử dụng kết hợp các Convolutional Layer đi kèm với 𝑅𝑒𝐿𝑈 layer và 𝑀𝐴𝑋 𝑃𝑂𝑂𝐿𝐼𝑁𝐺 layer cho phép trích rút đặc trưng cấp cao (high-level feature) tốt hơn Kết quả thử nghiệm với dữ liệu của 496 người có được từ bộ dữ liệu chuyển động OU-ISIR [4] của đại học Osaka – bộ dữ liệu được xem là lớn nhất

về dữ liệu chuyển động gait – mang lại hiệu quả cao với độ chính xác đạt trên 99% Bên cạnh đó, do kiến trúc đề xuất sử dụng hàm kích hoạt 𝑅𝑒𝐿𝑈 và hai 𝑀𝐴𝑋 𝑃𝑂𝑂𝐿𝐼𝑁𝐺 layer giúp rút ngắn thời gian huấn luyện mô hình lên tới 50%

Trang 17

DeepSense Framework [5], để nhận diện người dùng từ đặc trưng chuyển động trong đó sử dụng các mô-đun tương tự kiến trúc Google Inception [6] cho phép trích rút đặc trưng cấp cao hiệu quả hơn khi so sánh với việc sử dụng kiến trúc CNN truyền thống Kết quả thực nghiệm trên tập dữ liệu UCI Human Activity Recognition [7] cho thấy kiến trúc DSI đạt độ chính xác 99.9%, cao hơn so với kết quả của DeepSense (99.7%) trong khi số lượng tham số sử dụng trong hệ thống chỉ dùng 149 ngàn, nhỏ hơn 1/3 số lượng tham số sử dụng bởi DeepSense (529 ngàn) Do đó, kiến trúc DSI đề xuất sẽ mang lại hiệu quả cao hơn trong các hệ thống với tài nguyên giới hạn

1.5 Cấu trúc luận văn

Quyển báo cáo này bao gồm 6 chương, nội dung chính của các chương được tóm tắt dưới đây:

Chương 1 trình bày tổng quan về đề tài như giới thiệu chung, lý do thực hiện đề

tài, mục tiêu của luận văn, trình bày các đóng góp chính của luận văn cũng như cấu trúc của cuốn báo cáo

Chương 2 trình bày về chứng thực người dùng sử dụng các đặc trưng sinh trắc học,

sau đó đi sâu tìm hiểu về đặc trưng chuyển động (gait) cũng như quy trình định danh người dùng sử dụng đặc trưng gait

Chương 3 giới thiệu tổng quan về Neural Network, từ đó trình bày các kiến thức

chuyên sâu về Convolutional Neural Network (CNN) và Recurrent Neural Network (RNN) Đây chính là nền tảng cho việc đề xuất các kiến trúc sử dụng CNN và RNN phục

vụ cho việc trích rút đặc trưng cấp cao tự động trong các chương kế tiếp

Chương 4 trình bày về hướng tiếp cận nhận dạng người từ dữ liệu chuyển động sử

dụng một kiến trúc CNN đề xuất và các kết quả thử nghiệm trên dữ liệu chuyển động

Trang 18

với số lượng người lớn nhất

Chương 5 trình bày kiến trúc của DeepSense Framework [5], kiến trúc đề xuất của

tác giả dựa trên kiến trúc của DeepSense, trong đó sử dụng các mô-đun tương tự Google Inception để tăng cường hiệu quả trong việc trích rút đặc trưng cấp cao Các thử nghiệm, đánh giá và so sánh của kiến trúc đề xuất với DeepSense cũng được thể hiện trong chương này

Chương 6 trình bày các kết luận, các hạn chế cũng như các hướng nghiên mới.

Trang 19

2.1 Chứng thực người dùng sử dụng đặc trưng sinh trắc học

2.1.1 Giới thiệu chung về Sinh trắc học

Sinh trắc học hay Công nghệ sinh trắc học (tiếng Anh: Biometric) là công nghệ

sử dụng giúp đo lường và phân tích những đặc điểm sinh học riêng biệt của mỗi cá nhân như DNA, vân tay nhằm giúp nhận diện được các cá nhân khác nhau [8] Đặc điểm sinh học của mỗi người là duy nhất, do đó những đặc trưng sinh trắc học được dùng vào việc nhận dạng và chứng thực người dùng

Các đặc trưng sinh trắc học đã được sử dụng từ lâu để nhận dạng con người Trong

đó phổ biến nhất phải kể đến đặc trưng dấu vân tay Từ thế kỉ 14, người Ấn Độ đã sử dụng dấu vân tay và vân chân để phân biệt các cá nhân với nhau Năm 1858, William Herschel (người Anh) sử dụng dấu vân tay được in trên bản hợp đồng Sau đó khoa học

về vân tay ngày càng được phát triển vào cuối thế kỉ 19 Số lượng vân tay (Ridge Count

- RC) được Henry Faulds đề xuất dùng làm tiêu chí đánh giá sự phục thuộc của vân tay vào gen di truyền vào năm 1880 Nghiên cứu của Holt vào năm 1968 cho thấy tổng lượng vân tay (Total Ridge Count- TRC) và mức độ phụ thuộc của TRC vào gen di truyền của mỗi các nhân là các thông số có thể dự đoán được một cách tương đối chính xác Phương pháp nhận dạng người thông qua dấu vân tay được Edward Henry phát triển vào nửa sau thế kỷ 19 Năm 1903, nhà tù liên bang New York sử dụng hệ thống vân tay để xác danh tính tội phạm Bác sĩ nhãn khoa Frank Burch đề xuất sử dụng mống mắt như một phương pháp để nhận dạng cá nhân vào năm 1936 Vào những năm 1960, các hệ thống nhận diện khuôn mặt bán tự động (semi-auto face recognition system) bắt đầu được phát triển và đạt được kết quả khả quan với công trình nghiên cứu của Goldstein, Harmon, and Lesk

Trang 20

sử dụng 21 đặc điểm khuôn mặt của chủ thể như màu tóc, độ dày môi để tự động nhận diện khuôn mặt vào những năm 1970 Sự phát triển của công nghệ sinh trắc học dẫn tới

sự ra đời của Hiệp hội sinh trắc học (Biometric Consortium) trong năm 1992 Khoảng thời gian sau đó, công nghệ sinh trắc học ngày càng phát triển mạnh mẽ, không chỉ ứng dụng trong các lĩnh vực đặc thù như điều tra tội phạm mà còn vươn ra, ứng dụng rộng rãi trong các lĩnh vực khác như ngân hàng, các sản phẩm tiêu dùng… Một ví dụ tiêu biểu

đó là công nghệ TouchID nhận diện người dùng sử dụng đặc trưng dấu vân tay của hãng

Apple trên các dòng sản phẩm iPhone 5S trở lên Công nghệ TouchID cho phép người dùng mở khóa thiết bị hoặc thực hiện các thao tác mua sắm thông qua việc xác thực bằng đặc trưng vân tay khi người dùng cho ngón tay lên trên nút có gắn phần cứng hỗ trợ việc quét vân tay

2.1.2 Chứng thực sử dụng các đặc trưng sinh trắc học

Các đặc trưng sinh trắc học mang tính duy nhất nên có thể dùng để nhận diện [9]

Dùng trong quá trình nhận dạng, các đặc trưng sinh trắc học dùng được chia làm 2 dạng

[10]: (a) các đặc trưng sinh lý và (b) các đặc trưng hành vi, được mô tả cụ thể dưới đây:

▪ Các đặc trưng sinh lý liên quan đến cấu tạo cơ thể con người như khuôn mặt, vân tay, DNA, mống mắt… Các đặc trưng này mang tính tự nhiên và thường có tính chất bền vững theo thời gian

▪ Các đặc trưng hành vi liên quan đến các hành động đặc trưng của mỗi người như cách di chuyển (gait), chữ ký, giọng nói, … Các đặc trưng này dễ bị thay đổi hơn so với các đặc trưng sinh lý Ví dụ cách đi lại của một người có thể bị thay đổi theo tuổi tác

Việc nhận diện cá nhân thông qua đặc trưng sinh trắc học mang tính tin cậy cao hơn so với các phương pháp truyền thống như sử dụng mật khẩu hoặc giấy tờ định danh [9] do tính duy nhất của các đặc trưng này

Trang 21

Rõ ràng, đặc trưng sinh trắc học mang tính đa dạng Do đó, để một đặc trưng có thể dùng trong việc nhận diện người dùng cần thỏa mãn một số tiêu chí Bảng 2.1 dưới đây liệt kê một số các đặc trưng sinh trắc học phổ biến nhất cũng như đánh giá các tiêu chí theo mức độ Thấp, Trung bình và Cao (trích từ công trình [8])

Bảng 2.1 Đánh giá một số các đặc trưng sinh trắc học dựa trên các tiêu chí [8]

Đặc trưng sinh

trắc học

Tính phổ biến

Tính phân biệt

Tính lâu dài

Tính dễ thu thập

Tính hiệu quả

Tính chấp nhận

Khả năng gian lận

(Fingerprint)

Trung bình

Cao Cao Trung

bình

Cao Trung

bình

Trung bình Mống mắt

(Iris)

Cao Cao Cao Trung

bình

Trung bình

Trung bình

Thấp

Chuyển động

(Gait)

Trung bình

bình Giọng nói

(Voice)

Trung bình

Trang 22

▪ Tính dễ thu thập (Collectability): đặc trưng phải dễ thu thập cũng như đo lường được

▪ Tính hiệu quả (Performance): hiệu quả (độ chính xác cũng như tốc độ) nhận diện dựa trên đặc trưng

▪ Tính chấp nhận (Acceptability): mức độ chấp nhận của người sử dụng khi sử dụng đặc trưng để định danh

▪ Khả năng gian lận (Circumvention): mức độ dễ gian lận khi hệ thống chứng thực sử dụng đặc trưng

Trong tất cả các đặc trưng được trình bày trong Bảng 2.1, một số các đặc trưng sinh trắc học phổ biến, được áp dụng nhiều trong các lĩnh vực khác nhau bao gồm:

▪ Đặc trưng khuôn mặt (Face): nhận diện các nhân thông qua các đặc trưng khuôn mặt thể hiện trong ảnh hoặc video Việc chứng thực dựa trên đặc trưng này có một số lợi điểm như thân thiện, có thể thiết lập việc nhận dạng số lượng lớn thông qua việc thiết lập các hệ thống camera tại các khu vực công cộng, sân bay… Tuy nhiên, hiệu quả của việc nhận dạng tùy thuộc vào nhiều yếu tố [8] như góc nhìn của khuôn mặt hay các điều kiện ánh sáng, vùng che khuôn mặt …

▪ Đặc trưng vân tay (Fingerprint): đây là một đặc trưng phổ biến, được sử dụng

từ xưa tới nay Các hệ thống xác thực vân tây được phát triển mạnh mẽ với độ chính xác cao [11] và có nhiều ứng dụng trong thực tế như hệ thống chấm công bằng quét vân tay, mở khóa trên điện thoại sử dụng vân tay… Tuy nhiên để có thể thu thập dữ liệu vân tay cần cài đặt hoặc tích hợp các thiết bị quét vân tay

▪ Đặc trưng mống mắt (Iris): đặc trưng này mang lại mức độ an toàn cao trong các hệ thống chứng thực tuy nhiên giá thành các thiết bị quét mống mắt tương đối cao, quá trình quét mống mắt có thể bị ảnh hưởng bởi điều kiện ánh sáng của môi trường xung quanh [12]

Như thể hiện trên Bảng 2.1, tính hiệu quả của việc nhận diện người dựa trên đặc

Trang 23

khác như vân tay, mống mắt, … do đây là một đặc trưng hành vi, có thể bị biến đổi theo thời gian (như biến đổi về trọng lượng cơ thể, các thương tích,…) cũng như ảnh hưởng

từ các yếu tố ngoại cảnh như loại địa hình, độ dốc, Tuy nhiên, các giải pháp chứng

thực dựa đặc trưng sinh trắc học chuyển động (gait) hiện nay đang được quan tâm

nghiên cứu do tính dễ thu thập cũng như tính dễ chấp nhận bởi người dùng của đặc

trưng này (như thể hiện trong Bảng 2.1), đặc biệt trong giai đoạn hiện nay với sự phát triển và phổ biến của điện thoại thông minh cũng như các thiết bị đeo thông minh Đặc trưng gait có thể được ứng dụng trong các hệ thống không yêu cầu độ bảo mật quá cao

2.1.3 Tổng quan về đặc trưng chuyển động (gait)

Các giải pháp chứng thực dựa trên sử dụng các đặc trưng sinh trắc học truyền thống như khuôn mặt, vân tay, mống mắt… đòi hỏi thiết bị cần phải tích hợp thêm các thành phần bổ sung như camera, thiết bị chụp ảnh mống mắt hay thiết bị quét vân tay Điều này không phải lúc nào cũng thực hiện được đối với các thiết bị đi dộng (mobile

device), đặc biệt là các thiết bị đeo (wearable device) Chứng thực dựa trên đặc trưng

sinh trắc học chuyển động (gait) là một hướng tiếp cận mới để giải quyết bài toán chứng

thực đặt ra trên các loại thiết bị này

Đặc trưng chuyển động (gait) là một đặc trưng sinh trắc học chứa thông tin về

chuyển động của cơ thể người có thể được dùng để nhận biết và phân biệt người dùng qua các đặc điểm riêng khi di chuyển Cảm biến chuyển động (Inertial sensor) - gia tốc

kế (accelerometer) hoặc con quay hồi chuyển (gyroscope) – được tích hợp sẵn ngày càng nhiều trong các thiết bị di động cũng như thiết bị đeo thông minh tạo cơ hội cho việc thu thập các thông tin từ các cảm biến dạng này để xây dựng đặc trưng gait phục vụ cho bài toán định danh người dùng

Tính chất gait là đặc trưng cho cách thức đi lại/di chuyển của mỗi người trong

một khoảng thời gian Loại đặc trưng này được đánh giá là khả thi dùng để định

danh giữa những người khác nhau và phù hợp hơn các phương thức khác trên

Trang 24

điện thoại [13] [14] Đặc trưng chuyển động phụ thuộc nhiều yếu tố như thói quen di

chuyển, đặc điểm cơ thể (cấu tạo cơ xương, cân nặng, chiều cao, yếu tố tâm lý,…),… Việc nhận diện người từ đặc trưng gait có thể được thực hiện theo ba hướng tiếp cận chính [3], cụ thể như sau:

▪ Dựa trên thông tin thị giác (vision-based gait recognition) [15]: đặc trưng gait được thu nhận bằng các camera từ khoảng cách xa chủ thể Sau đó video và các hình ảnh trải qua quá trình xử lý để trích rút đặc trưng phục vụ cho việc nhận dạng người dùng

▪ Dựa trên cảm biến gắn trên sàn (floor-based gait recognition) [16]: một tập các cảm biến được cài đặt trên sàn Khi một người di chuyển trên sàn, các cảm biến ghi lại các thông số liên quan đến chuyển động của người đó phục vụ cho việc định danh

▪ Dựa trên cảm biến được đeo trên người (wearable sensor-based gait

recognition) [17]: các cảm biến chuyển động được gắn trên người chủ thể để

ghi nhận lại các thông số khi chuyển động Các thông số này sau đó sẽ được biến đổi để tạo ra đặc trưng gait phục vụ cho mục đính nhận dạng Rõ ràng, đây

là một phương pháp mang tính khả thi cao trong điều kiện các thiết bị di động cũng như các thiết bị đeo hầu hết đều được tích hợp các cảm biến chuyển động (inertial sensor) Các nghiên cứu về việc nhận dạng sử dụng đặc trưng gait dựa trên hướng tiếp cận này đang được phát triển mạnh mẽ

Phần kế tiếp trình bày về quy trình nhận dạng dựa trên đặc trưng gait sử dụng dữ liệu thu được từ các cảm biến chuyển động

2.1.4 Quy trình định danh bằng đặc trưng gait từ dữ liệu chuyển động

Ý tưởng định danh người dùng sử dụng dữ liệu từ các cảm biến được đeo trên người đã có từ hơn 30 năm trước Hướng nghiên cứu này bắt đầu được quan tâm từ đầu thế kỷ 21 và đặc biệt phát triển mạnh trong những năm gần đây

Trang 25

Quy trình tổng quát cho việc nhận biết đặc trưng chuyển động (gait) [3] thể hiện

trong Hình 2.1 gồm các giai đoạn: thiết lập cảm biến và thu thập dữ liệu, tiền xử lý dữ

liệu, phân vùng tín hiệu, xây dựng mẫu chuyển động và thủ tục nhận dạng Lưu ý rằng

đây là quy trình chung trong việc định danh người dùng sử dụng đặc trưng chuyển động gait được trình bày ở các Chương 4 và Chương 5 Nội dung trong từ giai đoạn của quy trình lần lượt được mô tả cụ thể bên dưới

Hình 2.1 Quy trình nhận dạng dựa trên đặc trưng gait từ cảm biển chuyển động [3]

2.1.4.1 Thiết lập cảm biến và thu thập dữ liệu

Dữ liệu chuyển động có thể được thu thập bằng các sử dụng các loại cảm biến

chuyển động khác nhau: (a) cảm biến độc lập và (b) cảm biến được tích hợp trong các

thiết bị thương mại như điện thoại thông minh, các thiết bị đeo thông minh

Các cảm biến độc lập là các thiết bị phần cứng có thể hoạt động độc lập, không bị

phụ thuộc hoặc tích hợp với các thiết bị khác; sử dụng chủ yếu cho mục đích nghiên cứu

Thiết lập cảm biến

và thu thập dữ liệu

Tiền xử lý dữ liệu

Phân vùng tín hiệu

Xây dựng mẫu chuyển động

Thủ tục nhận dạng

Trang 26

trong các phòng thí nghiệm, thường được thiết lập để hạn chế khả năng bị nhiễu trong quá trình ghi nhận dữ liệu cũng như sử dụng trong quá trình phân tích các yếu tố của cảm biến ảnh hưởng tới việc nhận dạng như vị trí thiết lập cảm biến, hướng của cảm biến…

Gần đây, các nghiên cứu tập trung vào việc nhận diện sử dụng đặc trưng gait với

dữ liệu có được từ các cảm biến trong các thiết bị thương mại do khả năng ứng dụng

cao trong thực tế Các thiết bị khác nhau được tích hợp các cảm biến chuyển động theo cách khác nhau cũng như ở nhiều vị trí khác nhau trong bảng mạch chính của thiết bị Lập trình viên có thể lấy được dữ liệu chuyển động từ cảm biến chuyển động thông qua các API nhưng chỉ theo một tốc độ lấy mẫu cho trước Hơn nữa, do phụ thuộc vào nhiều yếu tố liên quan đến phần cứng, dữ liệu trả về trong mỗi lần lấy mẫu (sampling) thường

có độ trễ nhất định, biến đổi theo thời gian Do đó, bước nội suy tuyến tính (interpolation) thường được thực hiện thêm để thu được dữ liệu với tần số ổn định Đối với cảm biến

chuyển động trên các thiết bị thương mại chia làm 2 loại chính bao gồm: cảm biến gia

tốc (accelerometer) và con quay hồi chuyển (gyroscope) Nhiều phương pháp nhận dạng

dựa trên đặc trưng gait sử dụng dữ liệu từ cảm biến gia tốc mang lại hiệu quả cao Nếu chỉ sử dụng dữ liệu từ con quy hồi chuyển, việc nhận dạng mang lại hiểu quả kém hơn

so với dữ liệu gia tốc Một số phương pháp kết hợp dữ liệu từ cả 2 loại cảm biến để tăng cường hiệu quả của việc nhận dạng

2.1.4.2 Tiền xử lý dữ liệu

Trong bước này, các bộ lọc (filter) được sử dụng cho mục đích loại bỏ nhiễu (noise) phát sinh [18] [19] Ngoài ra, khi các cảm biến hoạt động ghi nhận dữ liệu, một số trường hợp dữ liệu không thể dùng trong việc định danh như trường hợp người dùng đứng yên một khoảng thời gian, quá trình chuyển tiếp đeo thiết bị vào cơ thể,… Các thao tác cần thiết được thực hiện để chỉ dữ lại dữ liệu liên quan đến gait, các dữ liệu khác không liên quan được loại bỏ

Trang 27

2.1.4.3 Phân vùng tín hiệu

Trong bước này, dữ liệu chuyển động được phân thành các phần nhỏ hơn để phù hợp cho bước tiếp theo xây dựng mẫu chuyển động (gait pattern) – trích rút đặc trưng (feature extraction) Việc phân vùng tín hiệu được chia làm 2 hướng tiếp cận chính: dữ liệu

chuyển động được chia nhỏ thành (a) các chu kỳ chuyển động (gait cycle) hoặc (b) các

đoạn dữ liệu (frame) nhỏ hơn với độ dài mỗi đoạn là cố định

❖ Hướng tiếp cận theo chu kỳ (gait cycle)

Một chu kỳ chuyển động (gait cycle) là kết quả của việc di chuyển của một người

bằng hai chân và được tính trong khoảng thời gian từ lúc một chân chạm vào mặt đất và kết thúc khi bàn chân đó chạm mặt đất trở lại Dữ liệu chuyển động là tập hợp các chu

kỳ chuyển động, mỗi chu kỳ là một khuôn mẫu với cấu trúc lặp lại Để có thể phân vùng

dữ liệu theo hướng tiếp cận chu kỳ, các quy trình phát hiện chu kỳ (cycle-dectection procedure) được xây dựng Để xây dựng các quy trình này, một số phương pháp phổ biến được áp dụng như phân tích cực đại địa phương (local extrema analysis) [13], phát hiện zero-crosssing [20], phát hiện hệ số tương quan (correlation coefficient detection) [18] Do đặc điểm của quá trình di chuyển (ví dụ tốc độ di chuyển không đều), mỗi chu

kỳ chuyển động có thể có độ dài dữ liệu khác nhau Do đó bước tiếp theo, độ dài mỗi chu kỳ chuyển động cần được đưa về một độ lớn duy nhất Có hai hướng để làm điều này: phương pháp chuẩn hóa độ dài (length normalization) hoặc quy trình căn chỉnh (alignment procedure) Phương pháp chuẩn hóa độ dài thường được thực hiện bằng phép nội suy tuyến tính [21] Quy trình căn chỉnh thường sử dụng phương pháp Dynamic Time Warping (DTW) [13] [20] và các phương pháp phức tạp hơn dựa trên DTW

❖ Hướng tiếp cận theo đoạn dữ liệu (frame)

Theo hướng tiếp cận này, dữ liệu chuyển động đơn giản được chia ra thành các đoạn nhỏ hơn (frame) với độ dài cố định Các đoạn nhỏ này có thể là các đoạn chồng lấn

Trang 28

nên chứa ít nhất một chu kỳ chuyển động (gait cycle) do đó cần xác định khoảng thời gian dài nhất mong đợi của một chu kỳ để đảm bảo điều này Nhiều công trình khác nhau lựa chọn mức giới hạn thời gian khác nhau: nhỏ hơn 3 giây [19], từ 3 đến 5 giây [22] và

từ 5 đến 15 giây [23] Tuy nhiên, đối với hướng tiếp cận bằng máy học (machine learning), độ dài mỗi đoạn frame có thể nhỏ hơn so với khoảng thời gian dài nhất của một chu kỳ [23]

2.1.4.4 Xây dựng mẫu chuyển động (gait pattern)

Dữ liệu được phân vùng ở bước trước đó (các chu kỳ chuyển động gait cycle hoặc các đoạn frame) được biến đổi để tạo ra các mô tả đặc trưng cho chuyển động của mỗi

người (gait pattern) Việc biến đổi có thể được thực hiện theo 2 cách: (a) dựa vào tham

số sinh lý của chuyển động hoặc (b) biến đổi thành các đặc trưng (feature)

❖ Dựa vào tham số sinh lý của chuyển động

Ước lượng các tham số sinh lý của chuyển động như tham số không gian - thời gian (nhịp chân, độ dài bước chân) [24]; tham số động học (góc ở khớp) [25]

❖ Biến đổi thành các đặc trưng

Đây là phương pháp thường được sử dụng do tính hiệu quả cao Dữ liệu đã được phân vùng được biến đổi sang miền không gian đặc trưng (feature space) bằng 2 cách

chính: (a) biến đổi thành các đặc trưng thủ công (hand-crafted feature) hoặc (b) biến

đổi thành các đặc trưng được trích rút một cách tự động

➢ Biến đổi thành các đặc trưng thủ công (hand-crafted feature)

Các đặc trưng thủ công có thể là các đặc trưng chung (generic feature) hoặc các đặc trưng cấp cao (advanced feature):

▪ Các đặc trưng chung (generic feature): các tham số thống kê như (magnitute) của vector tín hiệu [26], giá trị trung bình (mean) và sự phân

Trang 29

bố histogram [20]; tham số trong miền tần số (frequency domain) như

➢ Biến đổi thành các đặc trưng được rút trích tự động

Gần đây, một số phương pháp mới được xây dựng cho phép xây dựng các mẫu chuyển động (gait pattern) bằng cách trích rút các đặc trưng một cách tự động Vào thập niên 90 của thế kỷ trước, Yann LeCun phát triển kiến trúc LeNet [28] sử dụng Convolutional Neural Network (CNN) và ứng dụng thành công trong việc đọc chữ số, zip code… Kể từ đó, CNN được sử dụng ngày càng nhiều trong các kiến trúc mạng nhân tạo Các đặc trưng cấp cao (high-level feature)

có thể được rút trích một cách tự động và đạt hiệu quả cao sử dụng CNN Matteo Gadaleta và cộng sự đã đề xuất một kiến trúc CNN [29] để giải quyết vấn đề xác thực người dùng sử dụng dữ liệu chuyển động với kết quả thử nghiệm khả quan Shuochao Yao và cộng sự tạo ra DeepSense Framework [5] là một kiến trúc kết hợp giữa CNN và RNN (Recurrent Neural Network) CNN được dùng

để trích rút đặc trưng từ dữ liệu đầu vào của mỗi cảm biến đơn lẻ và đặc trưng cấp cao kết hợp từ nhiều cảm biến RNN được thiết kế để trích rút các đặc trưng cấp cao theo thời gian (time-series)

Cơ sở lý thuyết và các kiến trúc sử dụng CNN và RNN để trích rút đặc trưng cấp cao trong bài toán nhận dạng người dùng từ dữ liệu chuyện động sẽ được trình bày kỹ hơn trong các chương kế tiếp

Trang 30

Phương pháp này nhận dạng người dùng dựa vào độ giống nhau của mẫu thu được

so với mẫu chuyển động đã biết Sự khác nhau giữa các mẫu được tính toán theo một số các độ đo như hệ số tương quan [4], sự tương quan về Histogram [20], khoảng cách Euclide [4] [21], khoảng cách Manhattan [4] [21], khoảng cách Tanimoto [4] [30], khoảng cách Hamming [31], độ đo phức tạp DTW hoặc tuỳ biến [13] [32] [33]

❖ Phương pháp phân lớp sử dụng máy học

Phương pháp phân lớp sử dụng máy học được thực hiện bằng cách mỗi mẫu huấn luyện (mẫu chuyển động) được gán nhãn giúp xác định người có cách thức di chuyển

đó Sau quá trình huấn luyện (train), phương pháp này cho phép gán nhãn cho các mẫu trong bộ kiểm thử (test) giúp định danh được người dùng Các kỹ thuật phân lớp sử dụng máy học đã được áp dụng bao gồm K láng giềng gần nhất (k-NN) [22], cây quyết định [32], Neural Network [32], SVM [34]…

2.2 Kết chương

Trong chương này, chúng tôi giới thiệu tổng quan về chứng thực người dùng sử dụng các đặc trưng sinh trắc học: định nghĩa đặc trưng sinh trắc học, lịch sự phát triển của ngành công nghệ sinh trắc học, các đặc trưng sinh trắc học phổ biến và các tiêu chí đánh giá liên quan Sau đó, đặc trưng sinh trắc học chuyển động gait được đi sâu tìm hiểu Quy trình tổng quát của việc định danh người dùng sử dụng đặc trưng gait có được

từ dữ liệu chuyển động cũng được trình bày Đây là chính quy trình cơ bản cho việc định

Trang 31

danh người sử dụng đặc trưng gait ứng dụng kỹ thuật CNN được đề xuất trong các Chương 4 và Chương 5 Trong chương kế tiếp, chúng tôi trình bày các kiến thức liên quan đến Neural Network, Convolution Neural Network (CNN) và Recurrent Neural Network (RNN) – là cơ sở lý thuyết cho việc sử dụng CNN và RNN vào việc trích rút đặc trưng gait phục vụ cho phép định danh người dùng được thể hiện trong Chương 4 và Chương 5

Trang 32

Chương 3 CƠ SỞ LÝ THUYẾT VỀ CONVOLUTIONAL NEURAL NETWORK VÀ RECURRENT NEURAL NETWORK

Nội dung Chương 3 giới thiệu tổng quan về Neural Network, từ đó trình bày các kiến thức chuyên sâu về Convolutional Neural Network

(CNN) và Recurrent Neural Network (RNN) Đây chính là nền tảng cho

việc đề xuất các kiến trúc sử dụng CNN và RNN phục vụ cho việc trích rút

đặc trưng cấp cao tự động được trình bày ở các chương kế tiếp

3.1 Giới thiệu về Neural Network

Neural Network là một trong những phương pháp học có giám sát (supervised

learning) phổ biến nhất, lấy cảm hứng từ mô hình hoạt động của các tế bào thần kinh

trong sinh học Neural network được cấu tạo từ các neuron, tổ chức thành lớp (layer) cho phép học được các tham số từ dữ liệu huấn luyện sau đó sử dụng các thông tin này để dự đoán cho dữ liệu mới Neural network và các kiến trúc liên quan được ứng dụng thành công trong nhiều bài toán liên quan đến xử lý ảnh và thị giác máy tính, xử lý tiếng nói

và xử lý ngôn ngữ tự nhiên (NLP – Natural Language Processing)

3.1.1 Cấu trúc của một neuron

Hình 3.1 Cấu trúc của một neuron

Trang 33

Như thể hiện trong hình 3.1, một neuron nhân tạo gồm các thành phần chính như sau:

▪ Dữ liệu vào (input): là các giá trị 𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑛 tương ứng với các thuộc tính của dữ liệu đầu vào

▪ Dữ liệu ra (output): là kết quả đầu ra cuối cùng của neuron sau quá trình tính toán

▪ Trọng số (weight): mỗi giá trị 𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑛 trong dữ liệu vào có một trọng số (weight) tương ứng 𝑤1, 𝑤2, 𝑤3, … , 𝑤𝑛 Mỗi trọng số ứng với một giá trị đầu vào thể hiện cho mức độ ảnh hưởng (mức độ quan trọng) của giá trị đầu vào đó với kết quả đầu ra

▪ Hàm tổng(Summation Function): Hàm tổng tính tổng giá trị các tích của từng giá trị đầu vào với trọng số tương ứng, cộng với giá trị độ lệch 𝑏 (bias), theo công thức sau:

𝑆𝑢𝑚 = ∑ 𝑤𝑖 𝑖𝑥𝑖+ 𝑏

▪ Hàm kích hoạt (Activation Function): Kết quả của hàm tổng là dữ liệu đầu vào cho hàm kích hoạt để tính toán ra kết quả đầu ra (output) của neuron Hàm kích hoạt là các hàm dạng phi tuyến (non-linear function), được sử dụng giúp cho Neural Network tăng cường sức mạnh, có thể học và biểu diễn các ánh xạ phức tạp từ dữ liệu đầu vào và đầu ra

output = 𝑓(𝑆𝑢𝑚) = 𝑓(∑ 𝑤𝑖 𝑖𝑥𝑖+ 𝑏) trong đó f là hàm kích hoạt (activation function)

❖ Dưới đây liệt kê một số hàm kích hoạt phổ biến thường được sử dụng:

▪ Hàm 𝒔𝒊𝒈𝒎𝒐𝒊𝒅: là một dạng hàm phi tuyến theo công thức 𝑓(𝑧) = 𝜎(𝑧) =

1

1 + 𝑒 −𝑧 Hàm này nhận vào giá trị thực và trả về kết quả là một giá trị nằm trong đoạn [0,1]

Trang 34

Hình 3.2 Biểu diễn hàm kích hoạt 𝑺𝒊𝒈𝒎𝒐𝒊𝒅 [35]

▪ Hàm 𝒕𝒂𝒏𝒉: tương tự đây cũng là một dạng hàm phi tuyến theo công thức 𝑓(𝑧) = 𝑡𝑎𝑛ℎ(𝑧) = 𝑒𝑒𝑧 𝑧 − 𝑒 + 𝑒−𝑧 −𝑧 Hàm này biến đổi giá trị đầu vào thành giá trị đầu ra nằm trong đoạn [-1, 1]

Hình 3.3 Biểu diễn hàm kích hoạt 𝒕𝒂𝒏𝒉 [35]

▪ Hàm 𝑹𝒆𝑳𝑼: Hàm 𝑅𝑒𝐿𝑈 (Rectified Linear Unit) là một hàm kích hoạt phi tuyến

phổ biến thường được sử dụng trong những năm gần đây Kết quả đầu ra được tính theo công thức 𝑓(𝑧) = 𝑅𝑒𝐿𝑈(𝑧) = 𝑚𝑎𝑥(0, 𝑧)

Trang 35

Hình 3.4 Biểu diễn hàm kích hoạt 𝑹𝒆𝑳𝑼 (Rectified Linear Unit) [35]

3.1.2 Kiến trúc của Neural network

Neural network mô phỏng cấu trúc và cách thức hoạt động của não người do đó kiến trúc của Neural Network thông dụng gồm nhiều neuron (nút - node), được xếp thành lớp (layer) và có liên kết giữa các neuron với nhau; trong đó đầu ra của neuron trong lớp liền trước là đầu vào cho neuron trong lớp liền sau

Hình 3.5 Một kiến trúc của Neural Network với lớp đầu vào gồm 3 neuron,

1 lớp ẩn với 4 neuron và lớp đầu ra với 2 neuron [35]

Trang 36

Như thể hiện trong Hình 3.5, một Neural Network thường gồm 3 thành phần chính:

lớp đầu vào (input layer), lớp đầu ra (output layer) và các lớp trung gian (hidden

layer) Trong một neural network thông thường, dạng lớp (layer) phổ biến nhất là lớp kết nối đầy đủ (fully-connected layer), trong đó tất cả các neuron trong hai lớp liền kề

đều được kết nối đầy đủ với nhau nhưng không có kết nối giữa các neuron trong cùng một lớp (layer)

Số lượng neuron trong lớp đầu vào và lớp đầu ra tùy thuộc vào bài toán, trong khi

đó số lượng lớp trung gian và số lượng neuron trong mỗi lớp trung gian cần được thiết

kế một cách cẩn thận do không có phương pháp tổng quát cho việc xác định các thông

số này

Độ phức tạp của một Neural Network phụ thuộc vào số lượng lớp trung gian (hidden layer) Khi dữ liệu đi qua càng nhiều tầng trung gian, các đặc trưng thu được ngày càng trừu tượng và phức tạp hơn Bên cạnh đó, số lượng neuron ở mỗi lớp (layer) cũng ảnh hưởng đến khả năng trích rút đặc trưng của lớp đó Lớp càng nhiều neuron thì

có khả năng trích rút được càng được nhiều đặc trưng

3.1.3 Huấn luyện Neural Network

Huấn luyện Neural Network là việc điều chỉnh các tham số của mạng (các trọng số

- weight và các giá trị độ lệch - bias) sao cho khớp với dữ liệu dùng để huấn luyện

Phương pháp Gradient Descent là phương pháp phổ biến nhất để cập nhật các giá trị

tham số của mạng giúp giảm độ lỗi của kết quả dự đoán

❖ Thuật toán Gradient Descent

Giả sử ta có hàm chi phí 𝐽(𝜃), trong đó 𝜃 là tập hợp các tham số Bài toán đặt ra là chọn tập 𝜃 sao cho hàm chi phí 𝐽(𝜃) đạt giá trị nhỏ nhất Để làm được điều này, ta có thể khởi tạo giá trị ban đầu cho tập 𝜃, sau đó lặp lại việc thay đổi các tham số trong tập 𝜃 giúp làm cho giá trị của 𝐽(𝜃) ngày càng nhỏ hơn (sử dụng Gradient Descent) Giải thuật

Trang 37

1 Khởi tạo các tham số trong tập 𝜃 = 𝜃0

2 Cập nhật 𝜃 cho đến khi 𝐽(𝜃) gần như không đổi (hội tụ) theo công thức:

Ở đây, 𝛼 được gọi là hệ số huấn luyện (learning rate) Đây là một thông số cần được

thiết lập trong quá trình huấn luyện mạng Nếu hệ số 𝛼 nhỏ thì tốc độ hội tụ chậm, cần nhiều lần lặp đồng nghĩa với việc tốn thời gian cho việc huấn luyện Nếu hệ số 𝛼 quá lớn dẫn tới có khả năng bỏ qua vùng hội tụ

Có 3 dạng Gradient Descent phổ biến [35] như sau:

▪ Batch gradient descent: cập nhật tham số sử dụng toàn bộ dữ liệu Phương pháp này cho phép hướng tới giá trị cực tiểu toàn cục (global minimum) Tuy nhiên, trong một lần cập nhật cần thao tác trên toàn bộ dữ liệu nên phương pháp này có thể chậm và có khả năng không thực hiện được do bộ nhớ không đủ để chứa toàn

bộ dữ liệu phục vụ cho việc tính toán

▪ Stochastic gradient descent (SGD): cập nhật tham số dựa trên mỗi mẫu trong tập

dữ liệu do đó giá trị gradient thay đổi thường xuyên hơn và kết quả cuối thường dao động quanh giá trị cực tiểu toàn cục

▪ Mini-batch gradient descent: phương pháp này có thể coi là một sự kiết hợp của

2 phương pháp trên: sử dụng 1 tập con (mini-batch) của tập dữ liệu gốc trong mỗi

lần cập nhật tham số Ưu điểm của nó là giúp việc hội tụ diễn ra ổn định hơn, đồng thời giúp cho việc tính toán hiệu quả hơn do quá trình tính toán theo dạng

ma trận được hỗ trợ bởi các thư viện

Trang 38

❖ Huấn luyện Neural Network với thuật toán Lan truyền ngược (Backpropagation

Algorithm)

Ý tưởng chính của quá trình huấn luyện dựa trên thuật toán Lan truyền ngược (Backpropagation algorithm) như sau: Dữ liệu đầu vào được đưa vào mạng, giá trị từng

nút trong mạng được kích hoạt và cho ra kết quả đầu ra cuối cùng Một hàm chi phí

(cost function hoặc loss function) được xây dựng để đánh giá độ sai lệch của kết quả

đầu ra của mạng so với kết quả mong muốn (theo dữ liệu thực tế) Dựa trên hàm chi phí,

độ lỗi của mỗi nút trong mạng được tính toán để xác định sự đóng góp của mỗi nút trong

độ lỗi của toàn mạng Các tham số của mỗi nút được cập nhật theo giá trị hiện tại và độ lỗi tại nút đó Quá trình này được lặp lại cho đến khi độ lỗi của mạng tiến tới giá trị tối

ưu (cực tiểu)

Quá trình học của Neural Network chia làm 2 giai đoạn: Giai đoạn 1 - Lan truyền và

Giai đoạn 2 - Cập nhật tham số

Để biểu diễn thuật toán Lan truyền ngược [36], có một số quy ước dưới đây:

▪ 𝑛𝑙là số layer trong mạng; 𝑠𝑙 là số neuron trong layer 𝑙; 𝐿𝑖 là layer thứ thứ 𝑖 trong mạng

▪ Tập các tham số trong mạng là (W, b) trong đó W là tập tất cả các trọng số

(weight) còn b là tập tất cả các giá trị lệch (bias)

▪ 𝑊𝑖𝑗(𝑙) là trọng số kết nối neuron thứ j trong layer 𝑙 với neuron 𝑖 trong layer

𝑙 + 1 𝑏𝑖(𝑙) là giá trị độ lệch (bias) với neuron thứ 𝑖 trong layer 𝑙 + 1

▪ 𝑎𝑖(𝑙) là giá trị kích hoạt (kết quả) của neuron thứ 𝑖 trong layer 𝑙; khi đó

𝑎𝑖(1) = 𝑥𝑖 tương ứng với giá trị đầu vào thứ i trong lớp đầu vào

▪ 𝑧𝑖(𝑙) là tổng các tích của trọng số và đầu vào, thêm vào giá trị lệch (bias) của neuron 𝑖 trong layer 𝑙 Từ đó, 𝑎𝑖(𝑙) = 𝑓(𝑧𝑖(𝑙)) với 𝑓 là hàm kích hoạt (activation function)

Trang 39

▪ Hàm giả thiết ℎ𝑊,𝑏 (𝑥) là hàm biến đổi giá trị tập dữ liệu đầu vào 𝑥 của lớp đầu vào (input layer) thành tập các giá trị đầu ra 𝑦 trong lớp đầu ra (output layer); ở đây (𝑥, 𝑦) tương ứng với một mẫu huấn luyện (training sample)

▪ Hàm chi phí 𝐽(𝑊, 𝑏; 𝑥, 𝑦) là hàm thể hiện độ sai lệch của kết quả đầu ra của mạng dựa trên dữ liệu đầu vào, ℎ𝑊,𝑏 (𝑥), với giá trị đầu ra mong muốn 𝑦 cho một mẫu huấn luyện (𝑥, 𝑦) Một hàm chi phí hay được sử dụng là hàm

trung bình của bình phương lỗi Mean Square Error (MSE) với công thức

như sau:

𝐽(𝑊, 𝑏; 𝑥, 𝑦) = 12 ‖ℎ𝑊,𝑏 (𝑥) − 𝑦‖2

Từ đó, thuật toán Lan truyền ngược cho một mẫu huấn luyện (𝑥, 𝑦) [36] như sau:

Giai đoạn 1: Lan truyền

1 Lan truyền thuận (forward pass): dựa trên dữ liệu đầu vào để tính toán giá trị tại

tất cả các nút kích hoạt trong các lớp 𝐿2, 𝐿3, … tới khi có kết quả đầu ra trong layer 𝐿𝑛𝑙

2 Lan truyền ngược (backward pass):

a Tính độ lỗi tại các nút đầu ra: Với mỗi nút 𝑖 trong layer 𝑛𝑙 (lớp đầu ra), tính các giá trị lỗi:

Trang 40

Giai đoạn 2: Cập nhật tham số

3 Tính giá trị gradient của tham số của nút

với 𝛼 là hệ số huấn luyện (learning rate)

3.2 Convolutional Neural Network

Vấn đề gặp phải của Neural Network thông thường, trong đó mỗi neuron trong lớp

sau được kết nối đầy đủ (fully-connected) tới tất cả các neuron trong lớp trước đó, là sự

gia tăng số lượng tham số một cách nhanh chóng Điều này không phù hợp với dữ liệu

ảnh Ví dụ như một bức ảnh đầu vào với kích thước 300 × 300 × 3 thì một neuron ở lớp trung gian kế tiếp cần phải có 270.000 tham số Trong khi đó một lớp trung gian thường

có nhiều neuron dẫn tới tổng số lượng tham số phải lưu là vô cùng lớn Kiến trúc Convolutional Neural Network (CNN) được thiết kế khác biệt: các neuron trong một lớp chỉ được kết nối tới một vùng nhỏ trong lớp trước đó, thay vì kết nối với toàn bộ (fully-connected) như trong Neural Network thông thường

Về cơ bản, CNN là một tập hợp các lớp (layer), trong đó có 3 loại layer chính bao gồm:

Convolutional Layer, Pooling Layer và Fully-connected Layer

Ngày đăng: 23/12/2018, 06:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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