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

Luận văn thạc sĩ Khoa học máy tính: Phân lớp dữ liệu chuỗi thời gian dựa vào mạng nơ-ron tích chập CNN

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

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

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

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 3

i

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học : PGS.TS Dương Tuấn Anh, TS Nguyễn Đức Dũng

Cán bộ chấm nhận xét 1 : TS Lê Văn Quốc Anh Cán bộ chấm nhận xét 2 : TS Bùi Công Giao

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 13 tháng 07 năm 2023

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)1 PGS.TS Võ Thị Ngọc Châu - Chủ tịch

2 TS Phan Trọng Nhân - Thư ký 3 TS Lê Văn Quốc Anh - Phản biện 1 4 TS Bùi Công Giao - Phản biện 2 5 TS Trần Tuấn Anh - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngànhsau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 4

ii

ĐẠI HỌC QUỐC GIA TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

- -

I NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: LÝ MINH TRÍ MSHV: 1970132 Ngày, tháng, năm sinh: 06/01/1992 Nơi sinh: Kiên Giang Chuyên ngành: Khoa học máy tính Mã số: 8480101

I TÊN ĐỀ TÀI:

PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MẠNG NƠ-RON TÍCH CHẬP CNN (TIME SERIES CLASSIFICATION WITH CONVOLUTIONAL

NEURAL NETWORKS)

II NHIỆM VỤ VÀ NỘI DUNG:

(CNN) cho bài toán phân lớp chuỗi thời gian so với phương pháp truyền thống 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW và phương pháp SAX kết hợp mô hình

không gian vectơ.

III NGÀY GIAO NHIỆM VỤ: 06/02/2023

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 11/06/2023

V CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh, TS Nguyễn Đức Dũng

Trang 5

Cuối cùng, tôi muốn bày tỏ lòng biết ơn chân thành đến gia đình và bạn bè đã luôn đồng hành và hỗ trợ tôi trong suốt quá trình học tập và thực hiện luận văn này Sự ủng hộ và động viên của họ đã trở thành động lực quan trọng giúp tôi vượt qua những khó khăn và hoàn thành nhiệm vụ này

Xin chân thành cảm ơn

Lý Minh Trí 05/06/2022

Trang 6

iv

TÓM TẮT

Việc nghiên cứu và ứng dụng kỹ thuật phân lớp dữ liệu chuỗi thời gian hiện nay đang được thu hút nhiều sự chú ý của các nhà nghiên cứu dữ liệu Với sự phát triển nhanh về công nghệ, dữ liệu chuỗi thời gian được thu thập bởi rất nhiều thiết bị Việc khai phá dữ liệu chuỗi thời gian mang lại lợi ích hữu hiệu trải dài nhiều lĩnh vực như khai phá dữ liệu, thống kê, học máy, xử lý tín hiệu, v.v…

Có nhiều phương pháp phân lớp dữ liệu chuỗi thời gian, gần đây với sự phát triển của mạng nơ ron học sâu, đã có xuất hiện những công trình nghiên cứu áp dụng mạng nơ ron tích chập (CNN) vào công tác phân lớp dữ liệu chuỗi thời gian Trong luận văn này, chúng tôi chọn áp dụng mạng nơ ron tích chập một chiều (1D-CNN) vào bài toán phân lớp dữ liệu chuỗi thời gian, do tính phù hợp của mô hình 1D-CNN với thể loại dữ liệu chuỗi thời gian cũng như mô hình 2D-CNN phù hợp với thể loại dữ liệu hình ảnh

Chúng tôi đã tiến hành thực nghiệm 14 tập dữ liệu mẫu từ website UCR cho phương pháp đề xuất này và so sánh kết quả thực nghiệm với hai phương pháp phân lớp khác: giải thuật 1-nearest-neighbors với độ đo xoắn thời gian động (DTW) và phương pháp kết hợp phép biến đổi SAX với mô hình không gian vector (SAX-SVM) Kết quả thực nghiệm cho thấy mô hình 1D-CNN đem lại hiệu quả phân lớp tốt hơn hai mô hình đối sánh trên phần lớn các bộ dữ liệu thực nghiệm

Trang 7

v

ABSTRACT

The research and application of time series data classification techniques have been attracting the attention of data researchers With the rapid development of technology, time series data has been collected by many devices Time series data mining will bring benefits to many areas, such as data mining, statistics, machine learning, signal processing, etc…

There are many methods of time series data classification And recently, with the development of deep neural networks, there have been several research works which applied convolutional neural networks (CNNs) in time series classification In this work, we choose to apply 1-dimensional convolutional neural networks (1D-CNN) in time series data classification since 1D-CNN model is more suitable with time series data than the standard 2D-CNN model which is more suitable with image data

We experimented on 14 sample datasets from the UCR website for this proposed method and compared the performance of the proposed model to the two other methods for time series classification: 1-nearest neighbors algorithm with DTW distance and SAX transformation combined with vector space model (SAX-SVM) The experimental results showed that the classification performance of 1D-CNN model is better than those of the two other comparative methods in most of the benchmark datasets.

Trang 8

vi

LỜI CAM ĐOAN

Tôi cam đoan rằng trong luận văn này, tất cả các công thức, ý tưởng, nghiên cứu, và phân tích mà tôi đã mượn từ bên thứ ba đã được chú thích nguồn dẫn một cách đầy đủ trong mục tài liệu tham khảo theo quyền của tác giả

Tôi khẳng định rằng toàn bộ nội dung khác, bao gồm lý luận, công thức, hình ảnh, và các thành quả nghiên cứu khác (trừ các tài liệu tham khảo đã được trích dẫn) là kết quả của công việc nghiên cứu của tôi dưới sự hướng dẫn của PGS.TS Dương Tuấn Anh

Tôi cam đoan rằng toàn bộ thông tin và kiến thức tôi tìm hiểu đã được thu thập từ các nguồn tin cậy Các số liệu dẫn chứng và đánh giá được trình bày trong luận văn là trung thực và không bị gian lận hoặc phóng đại

Nếu có bất kỳ sự gian lận nào trong luận văn này, tôi xin hoàn toàn chịu trách nghiệm và sẵn sàng chấp nhận các hình phạt

Tp Hồ Chí Minh, tháng 06 năm 2023

Lý Minh Trí

Trang 9

vii

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Động cơ nghiên cứu 1

1.2 Mục tiêu và phạm vi nghiên cứu 1

1.3 Những kết quả đạt được của luận văn 2

1.4 Cấu trúc của luận văn 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4

2.1 Chuỗi thời gian 4

2.2 Phân lớp dữ liệu 5

2.2.1 Khái niệm phân lớp dữ liệu 5

2.2.2 Phương pháp phân lớp k lân cận gần nhất (k-NN) 5

2.8 Tinh chỉnh các siêu tham số và giải thuật Grid Search 12

2.9 Chuẩn hóa dữ liệu 14

CHƯƠNG 3 CÁC CÔNG TRÌNH LIÊN QUAN 15

3.1 Phân lớp chuỗi thời gian dựa vào shapelet 15

3.2 Phân lớp chuỗi thời gian bằng phương pháp SAX-VSM 16

3.3 Phân lớp chuỗi thời gian bằng mạng nơ ron tích chập FCN 17

3.4 Mạng nơ ron tích chập một chiều 19

CHƯƠNG 4 PHƯƠNG PHÁP PHÂN LỚP ĐỀ XUẤT 23

4.1 Phương pháp tiếp cận 23

4.2 Ứng dụng kỹ thuật grid search 25

Trang 10

viii

4.3 Các bộ dữ liệu thực nghiệm 25

4.4 Thư viện phần mềm hỗ trợ 26

4.5 Cách đánh giá chất lượng phương pháp phân lớp 26

CHƯƠNG 5 THỰC NGHIỆM ĐÁNH GIÁ 28

5.1 Cấu hình hệ thống sử dụng trong thực nghiệm 28

5.2 Các phương pháp đối sánh và các bộ dữ liệu thực nghiệm 28

5.2.1 Các phương pháp đối sánh cho công tác phân lớp dữ liệu chuỗi thời gian 28

5.3 Giá trị siêu tham số cho các bộ dữ liệu thực nghiệm 34

5.4 Kết quả thực nghiệm của ba bộ dữ liệu ArrowHead, BeeFl và ECGFiveDays 35

5.4.1 Kết quả thực nghiệm của bộ dữ liệu ArrowHead 35

5.4.2 Kết quả thực nghiệm của bộ dữ liệu BeeFl 36

5.4.3 Kết quả thực nghiệm của bộ dữ liệu ECGFiveDays 38

5.5 Kết quả tổng hợp tỷ lệ lỗi của các bộ dữ liệu thực nghiệm 39

5.6 Kết quả tổng hợp thời gian thực thi của các bộ dữ liệu thực nghiệm 40

CHƯƠNG 6 KẾT LUẬN 42

6.1 Kết quả đạt được của luận văn 42

6.2 Hướng phát triển trong tương lai 42

TÀI LIỆU THAM KHẢO 43

PHỤ LỤC A 45

PHỤ LỤC B 47

PHỤ LỤC C 50

Trang 11

ix

DANH MỤC HÌNH

Hình 2.1: Chuỗi thời gian giá cổ phiếu của một công ty 4

Hình 2.2: Minh hoạ giải thuật k-NN 6

Hình 2.3: So sánh độ đo DTW với độ đo Euclid 8

Hình 2.4: Mạng nơ ron đa tầng truyền thẳng 8

Hình 2.5: Sự khác biệt giữa mô hình học sâu và mô hình không sâu 9

Hình 2.6: Mạng nơ ron tích chập 11

Hình 2.7 : Mô hình hồi quy softmax dưới dạng mạng nơ ron 12

Hình 2.8 : Ví dụ về grid search 13

Hình 3.1: Tổng quan về thuật toán SAX-VSM 17

Hình 3.2 : Kiến trúc mạng tích chập FCN để phân lớp chuỗi thời gian ([3]) 18

Hình 3.3 : Kiến trúc mẫu của mạng nơ ron tích chập một chiều (1D CNN) với 3 tầng CNN và 2 tầng MLP 20

Hình 3.4 : Sơ đồ tính toán mạng nơ ron tích chập một chiều (1D CNN) 21

Hình 4.1: Kiểm tra chéo k-phần với k = 4 27

Hình 5.1: Một số hình minh họa bộ dữ liệu ArrowHead 31

Hình 5.2 : Một số hình minh họa bộ dữ liệu BeeFl 31

Hình 5.3: Một số hình minh họa bộ dữ liệu ECGFiveDays 32

Hình 5.4: Hình chụp của một con cá và biểu diễn thành chuỗi thời gian [25] 32Hình 5.5: Biểu diễn ba lớp của dữ liệu CBF 33

Hình 5.6: Ví dụ về bốn nhóm lớp của bộ dữ liệu Trace 34

Hình 5.7 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ArrowHead 36

Hình 5.8 : Thời gian phân lớp trên bộ dữ liệu ArrowHead 36

Hình 5.9 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu BeeFl 37

Hình 5.10 : Thời gian phân lớp trên bộ dữ liệu BeeFl 37

Hình 5.11 : Tỉ lệ lỗi phân lớp trên bộ dữ liệu ECGFiveDays 38

Hình 5.12 : Thời gian phân lớp trên bộ dữ liệu ECGFiveDays 38

Trang 12

x

DANH MỤC BẢNG

Bảng 4.1: Cấu hình dự kiến của mạng 1D-CNN 24

Bảng 5.1: Ký hiệu các bộ dữ liệu 29

Bảng 5.2: Thông tin các bộ dữ liệu sử dụng trong thực nghiệm 30

Bảng 5.3 : Cấu hình siêu tham số mạng 1D-CNN cho từng bộ dữ liệu 34

Bảng 5.4 : Tổng hợp tỷ lệ lỗi phân lớp trên bộ dữ liệu thực nghiệm 39

Bảng 5.5: Tổng hợp thời gian phân lớp trên bộ dữ liệu thực nghiệm 40

Trang 13

1

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1.1 Động cơ nghiên cứu

Ngày nay, việc phân tích, khai phá dữ liệu chuỗi thời gian (time series) mang lại nhiều

lợi ích to lớn trong các lĩnh vực tài chính, y tế, dự báo thời tiết Một trong các phương

pháp phân tích chuỗi thời gian là xây dựng một bộ phân lớp (classifier) trên một tập dữ

liệu đã được gắn nhãn lớp, cho phép phân loại các dữ liệu chuỗi thời gian chưa biết lớp theo các lớp đã định trước

Một số phương pháp phân lớp truyền thống có thể kể đến như : cây quyết định,

k-lân cận gần nhất,v.v Năm 2013, Wang và các cộng sự [1] đã cho thấy giải thuật 1-k-lân cận gần nhất (1-NN) kết hợp với độ đo DTW là một cách tiếp cận hiệu quả và được

xem là tiêu chuẩn vàng cho bài toán phân lớp chuỗi thời gian Phương pháp phân lớp chuỗi thời gian dựa vào phép biến đổi SAX và mô hình không gian véc-tơ trong công trình của Senin và Malinchink [2] cũng đưa ra kết quả khả quan và thời gian thực thi tối ưu hơn

Trong những năm gần đây, sự bùng nổ của học sâu (deep learning) đã tạo ra bước

ngoặt mới trong lĩnh vực trí tuệ nhân tạo Trong một công trình của Wang và các cộng sự (2016) [3], các tác giả đã đề xuất mô hình mạng nơ ron tích chập FCN (Fully Convolutional Network) để phân lớp dữ liệu chuỗi thời gian và so sánh phương pháp đề xuất với các thuật toán phân lớp truyền thống áp dụng trên các tập dữ liệu chuỗi thời gian khác nhau Kết quả của thực nghiệm cho thấy phương pháp phân lớp dựa vào mạng FCN (Fully Convolutional Network) là một hướng tiếp cận khả quan mới, đạt kết quả phân lớp vượt trội trên một số tập dữ liệu

Theo xu hướng ấy, đề tài nghiên cứu áp dụng mạng nơ ron tích chập (CNN) vào

việc phân lớp dữ liệu chuỗi thời gian và so sánh hiệu quả của phương pháp đề xuất với

phương pháp k-lân cận gần nhất kết hợp độ đo xoắn thời gian động (DTW), phương

pháp SAX kết hợp mô hình không gian vectơ

1.2 Mục tiêu và phạm vi nghiên cứu

Chúng tôi thực hiện đề tài này để đánh giá hiệu năng khi áp dụng mạng nơ ron tích chập một chiều (1D-CNN) cho bài toán phân lớp chuỗi thời gian so với phương pháp truyền

Trang 14

2

thống 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW và phương pháp SAX kết hợp

mô hình không gian vectơ

Phương pháp đề xuất thực nghiệm trên nhiều tập chuỗi thời gian mẫu khác nhau Đề tài đưa ra kết quả so sánh giữa các phương pháp, để làm rõ tiềm năng trong phương hướng tiếp cận mới cho bài toán phân lớp chuỗi thời gian.

1.3 Những kết quả đạt được của luận văn

Sau thời gian nghiên cứu và thực nghiệm, chúng tôi đạt được những kết quả sau :

- Hiểu rõ về mô hình mạng nơ ron tích chập một chiều (1D-CNN)

- Hiểu rõ phương pháp 1-lân cận gần nhất (1-NN) kết hợp với độ đo DTW

- Hiểu rõ phương pháp SAX kết hợp mô hình không gian vectơ

- Hiện thực thành công 3 phương pháp trên lên 14 bộ dữ liệu chuỗi thời gian mẫu khác nhau từ website UCR

- So sánh độ chính xác phân lớp, kết quả thực nghiệm cho thấy việc áp dụng mạng nơ ron tích chập một chiều (1D-CNN) cho kết quả phân lớp chính xác tốt hơn so với 2 phương pháp truyền thống là 1-lân cận gần nhất (1-NN) kết hợp với độ đo

DTW và phương pháp SAX kết hợp mô hình không gian vectơ trên phần lớp các bộ dữ liệu thực nghiệm

- So sánh thời gian phân lớp , kết quả thực nghiệm cho thấy với việc nâng cao độ

chính xác phân lớp, việc áp dụng mạng nơ ron tích chập (CNN) cần nhiều thời

gian hơn để huấn luyện mạng, đặc biệt trong việc áp dụng kỹ thuật grid search để tìm các siêu tham số phù hợp cho từng tập dữ liệu

1.4 Cấu trúc của luận văn

Phần còn lại của luận văn này gồm các chương:

Chương 2 giới thiệu các cơ sở lý thuyết của đề tài như chuỗi thời gian, phân lớp dữ liệu, các độ đo khoảng cách, mạng nơ ron đa tầng, học sâu, mạng nơ ron tích chập, hàm softmax, tinh chỉnh các siêu tham số, giải thuật Grid Search và chuẩn hóa dữ liệu Chương 3 giới thiệu các công trình liên quan như phương pháp phân lớp chuỗi thời gian dựa vào shapelet, phương pháp phân lớp chuỗi thời gian SAX-VSM, phương

pháp phân lớp chuỗi thời gian dựa vào mạng nơ ron tích chập FCN, và mạng nơ ron tích chập một chiều (1D CNN)

Trang 15

3

Chương 4 đề xuất phương pháp giải quyết vấn đề

Chương 5 trình bày kết quả thực nghiệm so sánh phương pháp đề xuất với hai phương pháp phân lớp chuỗi thời gian đối sánh

Chương 6 trình bày những kết quả đạt được của luận văn và hướng phát triển trong tương lai

Cuối cùng là thư mục tài liệu tham khảo và phụ lục A, phụ lục B, phụ lục C.

Trang 16

4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Chương này giới thiệu các cơ sở lý thuyết của đề tài như chuỗi thời gian, phân lớp dữ liệu, các độ đo khoảng cách, mạng nơ ron đa tầng, học sâu, mạng nơ ron tích chập, hàm softmax, tinh chỉnh các siêu tham số, giải thuật Grid Search và chuẩn hóa dữ liệu.

2.1 Chuỗi thời gian

Một chuỗi thời gian (time series) là một chuỗi các điểm dữ liệu có thứ tự, mỗi điểm biểu

diễn một giá trị là số thực được đo tại những thời điểm cách đều nhau

Chuỗi thời gian được sử dụng trong xác suất thống kê, tài chính, nhận dạng mẫu, dự đoán thời tiết, v.v… và được sử dụng nhiều trong các lĩnh vực khoa học ứng dụng và kỹ thuật Chuỗi thời gian thường được giả định là được sinh ra tại những thời điểm

cách đều nhau, do đó được gọi là chuỗi thời gian thông thường (regular time series) Một chuỗi thời gian bất quy tắc (irregular time series) là một chuỗi các điểm dữ

liệu có thứ tự nhưng không được đo tại các thời điểm cách đều nhau Có vô số cách thể hiện một chuỗi thời gian Tuy nhiên, khi chúng ta quan sát chuỗi thời gian, chúng ta nhận thấy rằng dữ liệu chuỗi thời gian thường bao gồm bốn thành phần phổ biến đó là

xu hướng (trend), chu kỳ (cyclical), mùa (seasonal) và bất quy tắc (irregular) Hình 2.1

minh họa đường biểu diễn của chuỗi thời gian giá cổ phiếu của một công ty

Hình 2.1: Chuỗi thời gian giá cổ phiếu của một công ty

Trang 17

5

2.2 Phân lớp dữ liệu

2.2.1 Khái niệm phân lớp dữ liệu

Phân lớp dữ liệu là công tác xác định một mẫu dữ liệu thuộc vào lớp nào trong một tập các lớp thông qua việc phân tích các thuộc tính quan trọng của mẫu dữ liệu đó Một số bộ phân lớp làm việc bằng cách so sánh khoảng cách giữa các mẫu với nhau Một

giải thuật hiện thực phân lớp dữ liệu được gọi là một bộ phân lớp (classifier) Quá trình xây dựng một bộ phân lớp gồm có hai bước: huấn luyện (training) và phân lớp

(classification)

Trong bước huấn luyện, chúng ta tiến hành xây dựng bộ phân lớp (classifier) bằng cách phân tích dữ liệu huấn luyện với các mẫu (sample) và nhãn (label) tương ứng Mỗi

mẫu dữ liệu được biểu diễn bởi một vector thuộc tính

Tại bước phân lớp, bộ phân lớp sẽ được sử dụng để thực hiện gán nhãn lớp cho các mẫu trong tập kiểm thử (test set) Trong lĩnh vực khai phá dữ liệu, phân lớp là một kỹ thuật rất phổ biến và có tầm quan trọng, nó thường là bước cuối cùng trong một tiến trình khai phá Việc phân lớp dữ liệu chuỗi thời gian có thể được thực hiện trên các

phương pháp phân lớp truyền thống khá phổ biến như: phân lớp với k-lân cận gần nhất (k-Nearest Neighbor), phân lớp với máy vectơ hỗ trợ (Support Vector Machine - SVM), phân lớp với cây quyết định (Decision Tree), phân lớp với mạng nơ ron (Neural

Network), v.v …

2.2.2 Phương pháp phân lớp k lân cận gần nhất (k-NN)

Giải thuật k-lân cận gần nhất (k-Nearest Neighbor - k-NN) là giải thuật học có giám sát (supervised-learning) đơn giản nhất có thể được áp dụng trong phân lớp dữ

liệu Bộ phân lớp sử dụng giải thuật lân cận gần nhất sử dụng một vài hay toàn bộ mẫu trong tập huấn luyện để phân lớp một mẫu thử Đối với giải thuật k-NN thì một đối

tượng sẽ được phân lớp theo lớp chiếm đa số trong k lân cận gần với nó nhất, trong đó k là một số nguyên dương chọn trước khi thực hiện giải thuật Việc chọn giá trị k này

liên quan đến kết quả phân lớp, nếu k quá nhỏ thì kết quả có khả năng ảnh hưởng bởi

nhiễu, nếu k lớn thì nhiều phần tử lân cận sẽ có thể từ các lớp khác Khi huấn luyện,

thuật toán này không học được điều gì từ dữ liệu huấn luyện, mọi tính toán được thực hiện trong bước phân lớp

Trang 18

6

Giải thuật k-NN được thực hiện qua một số bước như sau:

1 Xác định giá trị tham số k (số lân cận gần nhất)

2 Tính toán khoảng cách giữa chuỗi thời gian 𝑄 thử (test set) đến tất cả các chuỗi thời

gian trong tập huấn luyện T (training set) sử dụng độ đo khoảng cách

3 Sắp xếp theo thứ tự tăng dần và xác định k lân cận gần nhất với chuỗi thời gian Q 4 Lấy tất cả các lớp của k lân cận gần nhất đã xác định

5 Dựa vào lớp đa số của các lân cận gần nhất để xác định lớp cho chuỗi thời gian Q

Giải thuật k-NN sẽ có chi phí tính toán cao khi số mẫu của tập dữ liệu lớn Hình 2.2 minh họa giải thuật k lân cận gần nhất

Hình 2.2: Minh hoạ giải thuật k-NN

Phương pháp phân lớp chuỗi thời gian dựa vào giải thuật k-NN được xếp vào thể

loại phân lớp chuỗi thời gian dựa vào khoảng cách (distance - based time series

classification)

2.3 Các độ đo khoảng cách

Các độ đo khoảng cách (distance measures) được sử dụng để tính khoảng cách và dùng

để xác định độ khác biệt giữa các chuỗi thời gian, tuỳ vào đặc điểm của chuỗi thời gian và miền ứng dụng mà có độ đo tương ứng phù hợp Đối với bài toán phân lớp dữ liệu chuỗi thời gian, có hai độ đo khoảng cách thường được áp dụng là độ đo khoảng cách

Euclid và độ đo khoảng cách xoắn thời gian động (dynamic time warping - DTW)

Trang 19

7 2.3.1 Độ đo Euclid

Độ đo khoảng cách Euclid được dùng để đo độ khác biệt giữa hai chuỗi thời gian Đây

là độ đo khoảng cách đơn giản nhất và dễ tính toán nhất Cho hai chuỗi thời gian C ={𝑐1, 𝑐2, , 𝑐! } và Q = {𝑞1, 𝑞2, , 𝑞! }, khoảng cách Euclid giữa hai chuỗi thời gian C

và Q được tính bằng công thức sau:

ED(C,Q) = ' (𝑐21 − 𝑞1 )2 + (𝑐2 − 𝑞2 )2 + + (𝑐! − 𝑞! )2

Độ đo khoảng cách Euclid có ưu thế là đơn giản, dễ hiện thực và thời gian thực thi thấp Tuy nhiên độ đo Euclid có nhược điểm là nhạy cảm với nhiễu và kém tính linh hoạt vì độ đo này yêu cầu hai chuỗi thời gian có chiều dài bằng nhau

2.3.2 Độ đo xoắn thời gian động

Hai chuỗi thời gian có hình dạng giống nhau nhưng bị lệch pha một khoảng thời gian nào đó thì việc tính khoảng cách giữa hai chuỗi thời gian này bằng cách sử dụng độ đo Euclid thì khoảng cách Euclid giữa chúng lớn một cách vô lý Vì vậy nhược điểm này được khắc phục một cách tương đối bằng độ đo DTW Độ đo DTW được cộng đồng xử lý giọng nói giới thiệu bởi Itakura [4] vào năm 1975 và được Sakoe-Chiba [5] cải tiến năm 1978, sau đó được đưa vào ứng dụng trong xử lý chuỗi thời gian do nhóm tác giả Berndt và Clifford [6] giới thiệu vào năm 1994 Điểm khác biệt giữa độ đo khoảng cách Euclid và độ đo xoắn thời gian động là với độ đo khoảng cách Euclid chỉ có thể tính khoảng cách giữa hai chuỗi thời gian có độ dài bằng nhau bằng cách tính từng cặp điểm

(điểm thứ i của chuỗi thứ nhất so với điểm thứ i so với chuỗi thứ hai) thì độ đo xoắn thời

gian động có thể đo được khoảng cách giữa hai chuỗi thời gian có độ dài khác nhau (hay có biên độ dao động khác nhau)

Với độ đo DTW, một điểm dữ liệu của chuỗi thời gian này có thể ánh xạ với nhiều điểm của chuỗi thời gian khác, các ánh xạ này không thẳng hàng Hình 2.3 so sánh độ đo DTW với độ đo Euclid

Trang 20

8

Hình 2.3: So sánh độ đo DTW với độ đo Euclid

2.4 Mạng nơron đa tầng (MLP)

Mạng nơron nhân tạo (Artificial Neural Networks) mô phỏng lại mạng nơ ron sinh học

là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kết chặt chẽ với nhau trong đó các liên kết giữa các nơron quyết định chức năng của mạng

Mạng nơ ron đa tầng là một mô hình học máy có giám sát (Supervised Machine

Learning) thuộc lớp Mạng nơ-ron nhân tạo, là tập hợp của các perceptron chia làm nhiều

nhóm, mỗi nhóm tương ứng với một tầng (layer) Mô hình về cơ bản được đào tạo trên

dữ liệu để học một hàm phi tuyến nhằm mục đích phân loại hay hồi quy, với một tập hợp các tính năng và một biến mục tiêu

Hình 2.4 minh họa cấu trúc của mạng nơ ron truyền thẳng (Feedforward Neural Network) Mạng nơ ron này bao gồm một tầng nhận (input layer), một hay nhiều tầng

ẩn (hidden layer) và một tầng xuất (output layer)

Hình 2.4: Mạng nơ ron đa tầng truyền thẳng

Trang 21

9

2.5 Học sâu

Học sâu là một họ những kỹ thuật học máy trong đó nhiều tầng (layer) của các chặng

xử lý thông tin với kiến trúc phân cấp được tận dụng để học các đặc trưng (feature

learning) và phân lớp mẫu

Một mô hình kiến trúc sâu bao gồm nhiều tầng kết hợp các tác vụ phi tuyến

(non-linear operation) tại các đơn vị xuất của nó

Ý tưởng chính là có những đơn vị phát hiện đặc trưng (feature detector unit) tại mỗi

tầng mà rút trích dần và tinh chế những đặc trưng tinh tế và bất biến từ những dữ liệu thô ban đầu

Các tầng thấp rút trích những đặc trưng đơn giản và những đặc trưng này được nạp qua những tầng cao hơn để phát hiện những đặc trưng phức tạp hơn

Ngược lại những mô hình không sâu (shallow models), (thí dụ các mang nơ ron một

tầng ẩn), chỉ gồm một ít tầng chủ yếu ánh xạ những đặc trưng ban đầu của dữ liệu nhập sang một không gian đặc trưng của ứng dụng cần xử lý

Hình 2.5 minh họa những điểm khác biệt giữa mô hình sâu (deep model) và mô hình không sâu (shallow model)

Hình 2.5: Sự khác biệt giữa mô hình học sâu và mô hình không sâu

Trang 22

10

Một số mô hình mạng nơ ron học sâu nổi tiếng bao gồm: mạng Auto-encoder, mạng Deep Belief Network (DBN), mạng nơ ron tích chập, mạng nơ ron Long Short Term Memory (LSTM)

2.6 Mạng nơ ron tích chập (CNN)

Mạng nơ ron tích chập (convolutional neural network) là một trong những mô hình học

sâu tiên tiến

Dữ liệu đầu vào của mạng nơ ron tích chập thường là dữ liệu hai chiều Các đơn vị trong mạng CNN tiếp nhận dữ liệu đầu vào từ những vùng nhỏ kế tiếp trong không

gian dữ liệu đầu vào, được gọi là trường tiếp nhận (receptive field) để có thể duyệt qua

một tập hợp các đặc trưng đầu vào Điều này cho phép các đơn vị làm việc như là các

bộ lọc (filter) và vận dụng mối liên hệ cục bộ giữa các trị đầu vào kế tiếp nhau

Các đơn vị dùng chung các trọng số và độ lệch để tạo ra một bản đồ đặc trưng

(feature map); điều này gây ra một sự giảm thiểu đáng kể về số lượng tham số phải ước lượng và tạo thuận lợi cho việc phát hiện các đặc trưng bất luận vị trí thật của chúng trên không gian dữ liệu nhập Sự giảm thiểu số lượng tham số này rất quan trọng khi số lượng tầng trong mạng và số lượng đơn vị trong mỗi tầng gia tăng

Giá trị đầu ra của một đơn vị trong tầng tích chập (convolution layer) đạt được bằng

cách áp dụng một kích hoạt phi tuyến, thí dụ như ReLU (rectified linear unit) vào kết

quả phép tích chập giữa một vùng tiếp cận với bộ lọc; ReLU đơn giản trả về max(0, x) đối với dữ liệu đầu vào x Hình 2.6 minh họa cấu trúc của một mạng CNN với nhiều tầng tích tập đan xen với những tầng gộp (pooling layer) Tầng gộp, hay còn gọi là tầng lấy mẫu giảm (subsampling layer) chia nhỏ bản đồ đặc trưng thành những vùng nhỏ

phân ly và trả về giá trị cực đại hoặc trung bình trong vùng nhỏ đó Điều này giúp tạo ra

những bản đồ đặc trưng cô đọng hơn Hai phép toán tích chập và gộp cực đại (max

pooling) sẽ được giải thích trong phụ lục B

Tầng cuối cùng của mạng CNN kết nối đầy đủ với một hàm softmax được áp dụng cho giá trị tổng có đánh trọng số của các trị đi vào Hàm softmax là sự tổng quát hóa của hàm sigmoid để thích ứng với bài toán phân lớp nhiều lớp

Trang 23

11

Mạng nơ ron CNN thường được huấn luyện bằng giải thuật lan truyền ngược

(backpropagation) Mạng nơ ron CNN được sử dụng phổ biến trong các ứng dụng như xử lý ảnh, xử lý ngôn ngữ tự nhiên và dự báo dữ liệu chuỗi thời gian ([7], [8]).

Hình 2.6: Mạng nơ ron tích chập

2.7 Hàm Softmax

Chúng ta cần một mô hình xác suất sao cho với mỗi đầu vào là vector x, đầu ra ai thể

hiện xác suất để đầu vào đó rơi vào lớp thứ i trong một công tác phân lớp nhiều lớp Vậy điều kiện cần là các đầu ra ai phải dương và tổng của chúng bằng một Ngoài ra, ta thêm

một điều kiện giá trị zi = xT wi càng lớn thì xác xuất dữ liệu rơi vào lớp thứ i càng cao

Điều kiện này chỉ ra rằng chúng ta cần một quan hệ đồng biến

Chú ý rằng zi có thể nhận giá trị cả âm và dương vì nó là một tổ hợp tuyến tính

các thành phần của vector đặc trưng x Một hàm số khả đạo hàm đồng biến đơn giản mà có thể biến zi thành một giá trị dương là hàm exp(zi) = ezi Hàm số này không những khả đạo hàm mà còn có đạo hàm là chính nó, việc này mang lại nhiều lợi ích khi tối ưu Điều

kiện tổng các ai bằng một có thể được đảm bảo nếu:

Mối quan hệ này thỏa mãn tất cả các điều kiện đã xét: các đầu ra ai dương có tổng

bằng một và giữ được thứ tự của zi Hàm này được gọi là hàm softmax, lúc này ta có coi rằng:

Trang 24

12

Hình 2.7 : Mô hình hồi quy softmax dưới dạng mạng nơ ron

2.8 Tinh chỉnh các siêu tham số và giải thuật Grid Search

Siêu tham số (hyperparameter) là những tham số của mô hình mà giá trị của chúng phải

được xác định trước khi huấn luyện mô hình Thí dụ, số nút trong tầng ẩn của một mạng nơ ron truyền thẳng là một siêu tham số vì chúng ta phải xác định nó trước khi huấn luyện mạng nơ ron Một thí dụ khác là số cây quyết định thành phần trong rừng ngẫu nhiên (random forest) Các siêu tham số này phải được xác định trước giai đoạn huấn luyện và giá trị của chúng sẽ ảnh hưởng khá nhiều đến hiệu quả của mô hình

Tại sao chúng ta phải tinh chỉnh (tune) các siêu tham số của một mô hình? Bởi

vì chúng ta không thật sự biết trước được giá trị tối ưu của chúng Những mô hình với những bộ trị siêu tham số khác nhau sẽ đem lại những hiệu quả khai phá dữ liệu khác nhau

Trong trường hợp của mạng nơ ron một tầng ẩn, số lượng nơ ron của tầng ẩn thấp

có thể dẫn đến hiện tượng ít khớp (underfitting) và số lượng nơ ron của tầng ẩn khá cao có thể dẫn đến hiện tượng quá khớp (overfitting) Do đó, chúng ta cần xác định số nơ

ron tầng ẩn hợp lý nhất để đem lại hiệu quả phân lớp hay dự báo tốt nhất

Nếu mô hình có nhiều siêu tham số, chúng ta cần tìm kiếm bộ trị tốt nhất của các

siêu tham số trong một không gian nhiều nhiều Đó là lý do tại sao việc tinh chỉnh các siêu tham số (hyperparameter tuning) là một công tác phức tạp và tốn thời gian

Trang 25

13

Có một giải thuật quan trọng hay được dùng để tinh chỉnh các siêu tham số của

các mô hình,đặc biệt là các mô hình mạng nơ ron học sâu, đó là giải thuật tìm kiếm lưới

(grid search)

Giải thuật Grid Search

Grid search là một giải thuật khá đơn giản để tinh chỉnh siêu tham số cho mô hình Ý tưởng chính của giải thuật này là chúng ta chia các miền trị (domain) của các siêu tham số thành ra một cái lưới rời rạc (discrete grid) Sau đó, chúng ta thử áp dụng mỗi tổ hợp trị trong lưới này như là bộ siêu tham số cho mô hình và tính toán độ đo hiệu quả của mô hình dựa vào kiểm tra chéo (cross-validation) Điểm nào trong lưới mà cực đại hóa được độ đo hiệu quả trung bình trong quá trình kiểm tra chéo chính là tổ hợp siêu tham số tốt nhất cho mô hình

Hình 2.8 minh họa một thí dụ về Grid Search trong trường hợp tổ hợp siêu tham số của mô hình chỉ gồm hai siêu tham số

Hình 2.8 : Ví dụ về grid search

Grid search là một giải thuật tìm kiếm vét cạn vì giải thuật phải xét qua tất cả mọi tổ hợp trị để tìm ra tổ hợp trị tốt nhất Do đó giải thuật sẽ gây ra chi phí tính toán cao Tuy nhiên khi chúng ta cần tìm kiếm một tổ hợp trị tốt nhất cho các siêu tham số của mô hình, thì grid search là một lựa chọn thích hợp

Trang 26

14

2.9 Chuẩn hóa dữ liệu

Việc quan trọng trước khi tiến hành phân lớp dữ liệu là quá trình chuẩn hóa dữ liệu, tức là việc chúng ta đưa thuộc tính về một trọng số bằng nhau và ngăn chặn những thuộc tính với miền giá trị lớn khỏi ảnh hưởng tới những thuộc tính với miền giá trị nhỏ Ở đây, hai kỹ thuật chuẩn hóa dữ liệu như sau:

Chuẩn hoá lớn nhất – nhỏ nhất (min-max normalization): phương pháp này dựa

trên giá trị lớn nhất và nhỏ nhất của chuỗi thời gian để ánh xạ những giá trị của chuỗi này sang chuỗi năm trong một miền xác định lớn nhất – nhỏ nhất mới

Chuẩn hóa z-score thường được sử dụng trong khai phá dữ liệu chuỗi thời gian Chuẩn hóa z-score giúp cho các chuỗi dữ liệu có hình dạng giống nhau nhưng khác nhau về biên độ sẽ tương tự nhau hơn

Trang 27

15

CHƯƠNG 3 CÁC CÔNG TRÌNH LIÊN QUAN

Ở chương này, chúng tôi giới thiệu các công trình liên quan như phương pháp phân lớp chuỗi thời gian dựa vào shapelet, phương pháp phân lớp chuỗi thời gian SAX-VSM, phương pháp phân lớp chuỗi thời gian dựa vào mạng nơ ron tích chập FCN, và

mạng nơ ron tích chập một chiều (1D CNN).

3.1 Phân lớp chuỗi thời gian dựa vào shapelet

Đối với phương pháp phân lớp dữ liệu chuỗi thời gian dựa trên rút trích đặc trưng Phương pháp này sẽ thực hiện việc chuyền đổi chuỗi thời gian thành 1 tập các đặc trưng trước khi xử lý chúng bằng các thuật toán phân lớp Việc lựa chọn các đặc trưng là việc làm khó khăn nhất trong cả quá trình xử lý và quyết định đến chất lượng của bộ phân lớp

Cây quyết định là một trong những giải thuật tiêu biểu của nhóm phương pháp phân lớp dựa vào rút trích đặc trưng Cây quyết định là phương pháp phân lớp dưới dạng cấu trúc cây mà nó thực hiện kiểm tra phân tách tại mỗi nút nội và dự đoán phân lớp cho nút lá, nhánh từ một node nội là kết quả của một phép thử trên thuộc tính tương ứng Đã có nhiều giải thuật khác nhau xây dựng cây quyết định áp dụng thành công trên nhiều lĩnh vực

Ye và Keogh, năm 2009 [9] đã đề xuất một phương pháp phân lớp dữ liệu chuỗi thời gian dựa vào thông tin shapelet Shapelet là chuỗi con mà có thể phân biệt một chuỗi thời gian thành hai lớp bằng cách trả lời câu hỏi: “Liệu chuỗi thời gian mới này có chứa một chuỗi con mà tương đồng đến một mức độ nào đó với shapelet này không?” Như vậy shapelet chuỗi thời gian là một chuỗi con cục bộ mà có thể giúp phân định lớp và là một đặc trưng rất hữu dụng để rút trích và áp dụng vào công tác phân lớp chuỗi thời gian Với cách rút trích đặc trưng dựa vào shapelet, công trình [9] đã có thể áp dụng

phương pháp cây quyết định (decision tree) để phân lớp dữ liệu chuỗi thời gian

Kien và Anh, năm 2019 [10] đã đề xuất một phương pháp rút trích đặc trưng từ chuỗi thời gian dựa vào thông tin motif Motif là chuỗi con có tần xuất hiện cao nhất trong một chuỗi thời gian Với cách rút trích đặc trưng này, công trình [10] đã có thể chuyển đổi mỗi chuỗi thời gian thành một tràng bit nhị phân, và từ đó có thể áp dụng phương

pháp mạng nơ ron (ANN) hoặc máy vector hỗ trợ (SVM) để phân lớp dữ liệu chuỗi thời

gian

Trang 28

16

3.2 Phân lớp chuỗi thời gian bằng phương pháp SAX-VSM

SAX-VSM dựa trên hai kỹ thuật nổi tiếng: SAX và mô hình không gian vector dựa trên

sơ đồ trọng số tf-idf được Senin and Malinchik đề xuất năm 2013 [2] Mô hình không gian vector (VSM) là một mô hình đại số biểu thị thông tin văn bản dưới dạng một

vectơ, các thành phần của vectơ này có thể biểu thị tầm quan trọng của một thuật ngữ hoặc hiện diện của nó trong tài liệu VSM cũng có thể được hiểu như là một không gian trong đó văn bản được biểu diễn dưới dạng một vectơ số thay vì biểu diễn văn bản chuỗi gốc của nó VSM đại diện cho các tính năng được trích xuất từ tài liệu Term Frequency

– Inverse Document Frequency (tf-idf) là giải pháp đánh trọng số của một từ, qua đó đánh giá mức độ quan trọng của từ đó trong văn bản, tf là số lần một từ (mẫu) xuất hiện trong một lớp và idf là số lớp mà một từ xuất hiện Đây là một kỹ thuật cơ bản và thường được sử dụng kết hợp với các thuật toán khác để xử lý văn bản Trọng số tf - idf cho một từ t được định nghĩa là sản phẩm của hai yếu tố: tần số từ (tf) và tần số tài liệu nghịch đảo (idf)

Cũng giống như nhiều kỹ thuật phân lớp khác, SAX-VSM bao gồm 2 giai đoạn: huấn luyện và phân lớp

(1) Giai đoạn huấn luyện:

• Việc huấn luyện bắt đầu bằng cách chuyển đổi chuỗi thời gian được gắn nhãn thành

biểu diễn ký hiệu hóa SAX được cấu hình bởi ba tham số: chiều dài cửa sổ trượt (w), số phân đoạn PAA trên mỗi cửa sổ (p) và kích thước bảng chữ cái SAX (a) Mỗi chuỗi con

được trích xuất từ cửa sổ trượt phải được chuẩn hóa trước khi được xử lý bằng PAA

• Bằng cách áp dụng quy trình này cho tất cả các chuỗi thời gian từ N lớp của tập huấn luyện sẽ tạo ra một kho chứa N túi, theo đó áp dụng trọng số tf ∗ idf và xuất ra N

vector trọng số thực có độ dài bằng nhau đại diện cho các lớp huấn luyện (2) Giai đoạn phân lớp:

• Để phân loại chuỗi thời gian chưa được gắn nhãn, SAX-VSM biến đổi chuỗi thành một vectơ tần số sử dụng chính xác cùng kỹ thuật cửa sổ trượt và các tham số SAX đã được sử dụng cho tập huấn luyện

• Tính toán các giá trị tương tự cosin giữa vectơ tần số từ của chuỗi thời gian chưa được

gắn nhãn và N vector trọng số tf ∗ idf đại diện cho các lớp huấn luyện Hình 3.1 mô tả tổng quan về thuật toán SAX-VSM

Trang 29

17

Hình 3.1: Tổng quan về thuật toán SAX-VSM

3.3 Phân lớp chuỗi thời gian bằng mạng nơ ron tích chập FCN

Mạng nơ ron tích chập FCN (fully convolutional network) là một mạng nơ ron học sâu

khá hiệu quả cho bài toán phân đoạn hình ảnh theo ngữ nghĩa Mỗi pixel đầu ra là một bộ phân lớp tương ứng cho trường tiếp nhận của nó và mạng có thể được huấn luyện theo kiểu pixel-to-pixel Wang và các cộng sự, năm 2017 đã áp dụng mạng nơ ron tích chập FCM vào bài toán phân lớp chuỗi thời gian [3] Trong bối cảnh này, mạng nơ ron

tích chập FCN đóng vai trò của một bộ rút trích đặc trưng (feature extractor) Đầu ra cuối cùng của mạng là tại tầng softmax (softmax layer)

Khối căn bản trong mạng nơ ron là tầng tích chập được theo sau bởi một tầng chuẩn hóa theo lô (batch normalization layer) và một tầng kích hoạt ReLU Phép toán tích chập

được thực hiện bằng những bộ lọc một chiều có kích thước lần lượt là (8; 5; 3) mà không

thực hiện bước trượt (striding) Khối tích chập như sau

y =W⊗ x + b s = BN(y)

h = ReLU(s)

Phép ⊗ là phép toán tích chập Như trong Hình 3.2, mạng FCN được xây dựng bằng cách xếp chồng ba khối tích chập với kích thước của bộ lọc trong mỗi khối lần lượt là (128, 256, 128) Không giống như các mạng nơ ron tích chập thông thường, trong

FCN, tác vụ lấy mẫu giảm (subsampling) hay còn gọi là tác vụ gộp (pooling) bị loại bỏ

Trang 30

18

Chiến lược này nhằm ngăn ngừa hiện tượng quá khớp (overfitting) Chuẩn hóa theo lô

(batch normalization) được áp dụng nhằm tăng tốc sự hội tụ của quá trình huấn luyện

Sau các khối tích chập các đặc trưng được đưa vào một tầng gộp trung bình toàn cục

(global average pooling layer) thay vì một tầng kết nối đầy đủ nhằm giảm bớt số lượng

trọng số Nhãn lớp cuối cùng được sinh ra bởi tầng softmax (softmax layer) Hình 3.2

minh họa cấu trúc của mạng nơ ron tích chập FCN cho bài toán phân lớp chuỗi thời gian được đề xuất trong [3]

Hình 3.2 : Kiến trúc mạng tích chập FCN để phân lớp chuỗi thời gian ([3])

Wang và các cộng sự đã thử nghiệm mô hình FCN đề xuất cho bài toán phân lớp chuỗi thời gian trên nhiều bộ dữ liệu mẫu từ kho dữ liệu chuỗi thời gian UCR [11] và so sánh hiệu quả với hai mạng nơ ron học sâu khác: mô hình MLP học sâu, mô hình ResNet và 8 phương pháp phân lớp chuỗi thời gian truyền thống khác Kết quả thực nghiệm cho thấy với bài toán phân lớp chuỗi thời gian đã đem lại hiệu quả phân lớp khá tốt trên phần lớn các bộ dữ liệu mẫu

Bên cạnh công trình của Wang và các cộng sự [3], Cui và các cộng sự, năm 2016, đã

đề xuất mạng nơ ron tích chập đa nhánh (Multi-scale Convolutional Neural Network –

MCNN) cho bài toán phân lớp chuỗi thời gian ([12]) Điểm đặc biệt của mạng MCNN

là tầng đầu tiên của mạng chứa nhiều nhánh (branch) mà mỗi nhánh thực hiện một phép

biến đổi khác nhau lên chuỗi thời gian được cho, bao gồm những phép biến đổi trên miền thời gian và miền tần số nhằm rút trích những đặc trưng thuộc nhiều thể loại khác

nhau và tầm thời gian (time scale) khác nhau Sau đó các tầng tích chập thực hiện phép

toán tích chập giữa tín hiện được biến đổi và các bộ lọc một chiều mà là cách thức tổng quát để nhận diện những thể loại đặc trưng khác nhau từ dữ liệu nhập Vì mỗi tầng tích

chập có thể phát hiện những mẫu cục bộ (local pattern), việc xếp chồng nhiều tầng tích

chập có thể tạo ra nhiều mẫu phức tạp hơn

Trang 31

19

3.4 Mạng nơ ron tích chập một chiều

Mạng nơ ron học sâu CNN được thiết kế để làm việc trên dữ liệu hai chiều như hình ảnh và video Mô hình này thường được gọi là CNN hai chiều, hay 2D CNN Tuy nhiên, mô hình này không thích hợp cho những ứng dụng làm việc trên những tín hiệu một chiều như giọng nói, chuỗi thời gian, trình tự sinh học

Kiranyaz và các cộng sự, năm 2015 đưa ra một phiên bản cải biên của CNN hai chiều,

được gọi là mạng nơ ron tích chập một chiều (1D Convolutional Neural Network -1D

CNN) [13-14]

Các công trình nêu trên cho thấy với một số ứng dụng, 1D CNN tiện lợi và thích hợp hơn mô hình 2D CNN khi làm việc với những tín hiệu một chiều với những lý do sau: ∙ Có sự khác biệt về độ phức tạp tính toán giữa các phép tích chập một chiều và tích

chập hai chiều, thí dụ, một hình ảnh có kích thước NxN tích chập với bộ lọc KxK sẽ có độ phức tạp tính toán là O(N2K2) trong khi phép toán tích chập một chiều (với cùng hai tham số N và K) chỉ là O(NK)

∙ Những ứng dụng 1D CNN thường dùng những cấu hình nhỏ hơn (với 1 hoặc 2 tầng

CNN ẩn) đem lại số lượng tham số trong cấu trúc mạng thường <10 K trong khi hầu như

những ứng dụng 2D CNN thường dùng những cấu trúc sâu hơn với số lượng tham số trong cấu trúc mạng thường lớn hơn 1000000 Do đó, những mạng có cấu trúc cạn thường dễ huấn luyện và dễ hiện thực hơn

∙ Việc huấn luyện những mạng 2D CNN thường đòi hỏi sự hỗ trợ của phần cứng chuyên dụng (thí dụ, GPU) Ngược lại, bất kỳ môi trường CPU nào cũng có thể làm việc được với mô hình 1D CNN gọn gàng với vài tầng ẩn và số lượng neuron trong mỗi tầng < 50)

Với độ phức tạp tính toán thấp, mô hình mạng nơ ron tích chập 1D CNN gọn nhẹ, và

thường rất thích hợp cho những ứng dụng thời gian thực (real-time) và chi phí thấp

Một cấu hình mẫu của mạng 1D CNN

Như minh họa trong Hình 3.3, mạng nơ ron 1D CNN có hai loại tầng như sau: i) loại tầng CNN (CNN-layer) trong đó có phép toán tích chập một chiều,

hàm kích hoạt và tác vụ lấy mẫu giảm (subsampling) hay còn gọi là tác vụ gộp (pooling)

Ngày đăng: 30/07/2024, 17:17

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

TÀI LIỆU LIÊN QUAN

w