You are on page 1of 7

🥥

Task 1: 16/10 - 30/10


Ph n 1:ầ
ể ộ ữệ ệ
1.Tìm hi u b d li u tín hi u bàn phím (keyboard stroke) và xác
ị ặ ư ữ ặ ư
đ nh các đ c tr ng (features). Phân tích nh ng đ c tr ng c p cao và ấ
ặ ư ấ ấ ớ ị ạ
đ c tr ng c p th p. V i các đ nh d ng d li u nh .mp3 , .csv ữệ ư
ộ ữệ ệ
B d li u tín hi u bàn phím
Âm thanh bàn phím đ ược thu bằng cách:
Khi người dùng gõ phím sẽ được ghi lại bằng micro (được gắn với PC)→ đầu vào của hệ thống xử lý.

⇒ Chi phí thấp, không can thiệp đến hoạt động của máy tính.
⇒ Xảy ra hiện tượng nhiễu. Để khắc phục cần sử dụng những tính năng lọc âm thanh.
Dữ liệu thu được từ việc thu thập thông tin còn dựa trên môi trường, loại văn bản được gõ

Âm thanh thô (data raw):


Keycode (mã phím): ví d A → 65

ờ ể
Time stamp: Th i đi m mà người dùng thực hiện hành động
Sự kiện: nhấn phím (press) , nhả phím (release)

Nếu người dùng nhấn phím A vào thời điểm 1000ms, thì dữ liệu ghi âm thanh thô sẽ có thông tin như
sau:

Keycode: 65

Time stamp: 1000

ự ệ
S ki n: Press

Task 1: 16/10 - 30/10 1


ế ười dùng nhả phím A vào thời điểm 1500ms, thì dữ liệu ghi âm thanh thô sẽ có thông tin như sau:
N u ng

Keycode: 65

Time stamp: 1500

ự ệS ki n: Release

⇒ 1 số các đặc trưng: khoảng thời gian (duration) , độ trễ (lantency)


→ Một số điểm cần chú ý đến: tổng thời gian gõ, khoảng thời gian giữa các lần gõ và kí tự (từ ) bị gõ sai

ặ ư
Đ c tr ng c p cao:ấ
ố ộ
1. T c đ gõ (Typing Speed):

⇒ cho biết người dùng đang gõ văn bản, chat, password


2. Tốc độ gõ trung bình (Average Typing Speed):

⇒ cho biết xu hướng gõ (nhanh / chậm)


3. Thời gian giữa các phím (Inter-Key Press Time):
⇒ người dùng đang cân nhắc / suy nghĩ về từ / câu tiếp theo
4. Thời gian giữa các từ (Inter-Word Press Time):
⇒ độ tập trung của người gõ
5. Số lượng từ được gõ trong mỗi câu (Word Count per Sentence):
⇒ độ phức tạp của nội dung
ặ ư ấ ấ ụ ể ơ ấ
Đ c tr ng c p th p (mang tính c th h n c p cao)
ờ ể ấ
1. Th i đi m nh n phím (Timestamp of Key Press):
⇒ phân tích, sắp xếp thứ tự của các kí tự
2. Loại phím được nhấn (Key Pressed):

⇒ Xác định phím nào được nhấn.


3. Thời điểm nhấn phím liên tiếp (Duration of Key Press):

4. Phím được giữ trong bao lâu (Key Hold Duration):

5. Tần số phím được nhấn (Key Frequency):

Số lần một phím được nhấn trong một khoảng thời gian.

https://colab.research.google.com/drive/11-U-BQW8FlNtB8vXxjG2j9qwSpYqCwcx#scrollTo=h_G9l07a1RXe


Ph n 2: Các mô hình h c sâu x lý âm thanh ọ ử
ổ ề
T ng quan v mô hình Neural network

Task 1: 16/10 - 30/10 2


ệ ố ấ ả ứ ừ ạ ộ ủ ơ ầ
Neural network là h th ng tính toán l y c m h ng t ho t đ ng c a các n ron th n kinh. Trong mô hình NN
ồ ớ ơ ớ ẽ ế ớ ơ
g m 3 l p là input layer, hidden layer và output layer. Các n -ron trong l p s liên k t v i các n -ron trong
các lớp liền trước và liền sau nó ⇒ tạo ra mạng nơ-ron thần kinh.
Qúa trình huấn luyện 1 mạng nơ-ron bao gồm việc điều chỉnh các trọng số ⇒ ánh xạ dữ liệu đầu vào đến
đầu ra.
Sử dụng thuận toán BPTT (lan truyền ngược) và sử dụng các hàm mất mất để đánh giá độ sai khác giữa
thực tế và dự đoán.

1. Mô hình RNNs (Recurrent neural network)


ậ ứ ụ ử ụ ộ ỗ ứự
Nh n xét: Mô hình RNN ng d ng trong các bài toán s d ng data là m t chu i các thông tin có th t ( liên
ế
quan đ n time-series data hay sequence data)

1.1. Mô hình bài toán:


ữệ ầ ự
Input: Các d li u tu n t (point one at a time)
→ đưa dữ liệu theo từng điểm sau đó sẽ dự đoán bước kế tiếp

Trong mô hình này sử dụng vector X. Tại thời điểm thứ t vecto tương ứng là xt.

Output: Vector Y. Tại thời điểm thứ t vecto tương ứng là yt.

ế
1.2. Ki n trúc mô hình:

Task 1: 16/10 - 30/10 3


ạ ộ ủ
1.3. Ho t đ ng c a mô hình RNNs:
ọ ố ạ ỗ ờ ể ố ể ư
Trong bài toán RNN các tr ng s U, W, V t i m i th i đi m là gi ng nhau nên ta có th coi nh sau:

ạ ộ ược tách thành 3 phần:


Qúa trình ho t đ ng đ

1. Input → hidden state

2. Hidden state → hidden state

3. Hidden state → output

ử ụ ạ
S d ng hàm kích ho t: tanh và softmax

function

1.4. Backpropagation Through Time (Lan truy n ng ề ược theo thời gian)

Task 1: 16/10 - 30/10 4


ểốư ươ ể ụ ầ
Đ t i u multilayer neural network dùng ph ng pháp gradient descent. Đ áp d ng GD ta c n tính đ o ạ
ấ ườ ậ ố ớ ầ ậ ấ
hàm m t mát theo t ng ma tr n. Đ i v i RNN c n tính W,U,V. Tuy nhiên khi tính toán W và U nh n th y
rằng khá phức tạp. Do H_t phụ thuộc vào X_t (input) và phục thuộc vào H_t-1 (trạng thái trước đó). Từ việc
tính toán các đạo hàm nhận thấy xảy ra hiện tượng vanishing gradient (đạo hàm của những state càng
xa ~ 0 )

⇒ RNN : short term memory.


2. Mô hình LSTM (Long short term memory)
2.1. Mô hình bài toán
ồ ạ ạ
LSTM t n t i 2 tr ng thái;

Hidden state (h)

Cell state (c)

Ở state thứ t của mô hình LSTM:


ở state thứ t của model. c_(t−1), h_(t−1) là output của
Input: c_(t−1),h_(t−1), x_t. Trong đó x_t là input
layer
ướ ố
tr c. h đóng vai trò khá gi ng nh sư ở RNN, trong khi c là điểm mới của LSTM.
Output: c_t ,h_t

ế
2.2. Ki n trúc mô hình:
LSTM = Long term memory + short term memory (RNN)
ồ ơ ị ỏ ọ ỗ ả ư ữ ậ ậ ỗ
LSTM bao g m các đ n v nh g i là "cell". M i cell có kh năng l u tr , xóa và c p nh t thông tin. M i cell
được điều khiển bởi ba cổng: cổng quên (forget gate), cổng đầu vào (input gate), và cổng đầu ra (output
gate).
⇒ Kiểm soát thông tin thông tin được truyền qua và thông tin bị loại bỏ.

Task 1: 16/10 - 30/10 5


ế ị ế ộ ầ ủ ị ạ ỏ
Forget gate: quy t đ nh n u m t ph n nào đó c a thông tin trong cell nên b lo i b .

Input gate: quyết định nếu thông tin mới nên được thêm vào cell.

Output gate: quyết định nếu thông tin trong cell nên được đưa ra ngoài.

ạ ộ ủ
2.3. Ho t đ ng c a mô hình LSTM:
ầ ế ợ ớ ạ ẩ ướ
Đ u vào (Xt) k t h p v i tr ng thái n tr c đó là H(t-1) đ ược xử lý bởi 1 tầng kết nối đầy đủ và sử dụng
ạ ể ịạ ổ
hàm kích ho t sigmoid đ tính toán các giá tr t i 3 c ng.

Ô nhớ tiềm năng được tính bằng cách sử dụng hàm kích hoạt tanh() dựa trên đầu vào X_t và trạng thái
ẩn H_(t-1)
Forget gate quyết định xem cần lấy bao nhiêu từ cell state trước và Input gate sẽ quyết định lấy bao
nhiêu từ input của state và hidden layer của layer trước ⇒ tạo 1 luồng (c) ⇒ có thể mang thông tin đi xa
⇒ long term memory.

2.4. Back propagation through time


https://www.geeksforgeeks.org/lstm-derivation-of-back-propagation-through-time/

ầ ự ử
Ph n 3: Xây d ng th nghi m mô hình trên các ệ
framework Pytorch

Task 1: 16/10 - 30/10 6


RRN:
https://colab.research.google.com/drive/1-
o8R28tT2ccI0CzUuSigabN2PqVXClZY#scrollTo=LT5xWeA1HwtP&uniqifier=1

LSTM
https://colab.research.google.com/drive/1f1vCMtHToLoAkNkgirNSnq8USW1pS2Ce#scrollTo=oZ0K7MAYRIge


Tài li u tham kh o: ả

Ph n 1:
https://www.researchgate.net/publication/221912833_Keystroke_Dynamics_Overview

https://viblo.asia/p/xu-ly-du-lieu-am-thanh-Qpmlezg95rd
https://www.kaggle.com/code/arjunayyangar/assignment2-part1-analysis/input?
fbclid=IwAR1cUDOrlg6SwLn5a1scGq2jCULzJ-rh0FfvvIQYwe12wPw_kAxLiNFJbq8


Ph n 2:
https://www.geeksforgeeks.org/recurrent-neural-networks-explanation/

https://nttuan8.com/bai-13-recurrent-neural-network/#Du_lieu_dang_sequence
https://vinodsblog.com/2019/01/07/deep-learning-introduction-to-recurrent-neural-networks/

Backpropagation Through Time (BPTT)


https://dominhhai.github.io/vi/2017/10/understand-rnn-bptt/

https://d2l.ai/chapter_recurrent-neural-networks/bptt.html

Task 1: 16/10 - 30/10 7

You might also like