KIÊN THUC NEN TANG

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt (Trang 23 - 36)

Trong chương nay, tôi trình bay một số công trình liên quan đến bài toán Speaker Recognition, bên cạnh đó tôi cũng trình bày về cách xử lý tín hiệu âm thanh giọng nói cũng như các kiến thức toán học liên quan. Tôi cũng trìn bày một cách chỉ tiết về các phương pháp trích xuất đặc trưng hiện đại hiện nay trên dữ liệu âm thanh giọng nói phục vụ cho quá trình nghiên cứu về sau của khóa luận.

2.1 Công trinh liên quan

Trong nội dung này, tôi trình bày một số công trình liên quan đến bài toán nhận diện giọng người nói (speaker recognition). Các công trình chủ yếu tập trung vào việc nâng cao kỹ thuật trích xuất đặc trưng âm thanh cùng với việc kết hợp các kiến trúc về mạng thần kinh học sâu (deep neural network) hay mạng thần kinh tích chập (convolutional neural network) để đưa ra một mô hình dự đoán hiệu quả. Da phan, việc thiết kế các kiến trúc mạng thần kinh tích chập là

thủ công.

2.1.1 SincNet

Xử lý trực tiếp tín hiệu âm thanh thô hay nói cách khác là có thể áp dụng trực

tiếp các phương pháp học sâu vào tín hiệu âm thanh ban đầu mà không qua bắt

cứ phương pháp trích xuất đặc trưng nào khác là điều mà chúng ta mong muốn. Trên tư tưởng đó, Mirco Ravanelli và Yoshua Bengio đã đưa ra được một kiến

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 9 trúc mô hình mới, gọi la SincNet [19], mô hình có thể nhận diện giọng người nói

CNN/DNN › | Speake on

28ẽNHBE: | Speake on

từ sóng thô ban đầu.

a ul + LeakyFilt

R :: Pooling +

= l Sine _ Norm Layer

= ReLU +

HINH 2.1: Kiến trúc mô hình SincNet

Trong hình [2.1] phần SincNet Filters là các bộ lọc SincNet, được mô tả theo

công thức:

gin, fi, fo] = 2fosinc(27 fon) — 2fisinc(27 fin) (2.1)

Nhu vậy, bộ loc SincNet chỉ học duy nhất hai giá trị la f, va fo trong suốt quá trình đào tạo thay vì học tất cả các tham số như bộ lọc CNN thông thường.

Theo sau các bộ lọc SincNet là các layer phổ biến trong học sâu như: Pooling, Norm, Leadky ReLU, Dropout, điều khác biệt là các lớp này là 1D thay vì 2D như trong xử lý hình ảnh. Các layer này sẽ được kết nối với các bộ lọc CNN hoặc bộ lọc DNN và cuối cùng là lớp Softmax, dự đoán với đoạn tín hiệu âm thanh thô ban đầu.

2.1.2 VGGVox

Trong nhận diện giọng người nói, điều khó khăn nhất là âm thanh giọng nói

mà chúng ta thu được luôn luôn tổn tại nhiễu. Nguồn nhiễu rất đa dạng có thể

kể đến như: nhiễu từ mic thu (tùy thuộc vào mic tốt hay không tốt thì nhiễu thu

được sẽ ít hay nhiều), âm thanh xung quanh môi trường thu âm,.... Tuy nhiên,

trong bài báo "VoxCeleb2: Deep Speaker Recognition (12', Joon Son Chung và

cộng sự đã đưa ra một kiến trúc mới có thể nhận diện tốt giọng người nói từ dữ

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 10

liệu nhiễu và không bị han chế (Voxceleb2 là bộ dữ liệu chứa hơn một triệu câu

nói của trên 6000 người được Joon Son Chung và cộng sự thu thập được từ các

phương tiện truyền thông, giọng nói thu thập được chứa cả các âm thanh tiếng cười, tiếng nói chuyện, âm nhạc và các âm thanh khác, đa ngôn ngữ và đa lứa tuổi).

layer name res-34 res-50

conv] 7 x 7,64, stride 2 7 x 7, 64, stride 2

pooll 3 x 3, max pool, stride 2 3 x 3, max pool, stride 2

LX 1,64

conv2_x ‘ 2 eal x3 3x 3,64] x3

l 1x1,256

1x 1,128

conv3_x 3 “ z A x4 3 x 3,128| x 4

=a Mx 1,512

Se 11,256

conv4_x 3 a 2 a x 6 3 & 3,250) <6

y 3X + 1x1,1024

ax 1,592

conv5.x 3 ` Peal x3 3x 3,512 | x3

; 1 x 1, 2048

fel 9 x 1,512, stride | 9 x 1, 2048, stride 1

pool_time 1 x N, avg pool, stride 1 | 1 x N, avg pool, stride 1

fc2 1x1,5994 1 x 1,5994

HINH 2.2: Thay đổi kiến trúc mô hình ResNet-34 và ResNet-50 với

average pool được đặt ở cuối. Lớp kích hoạt ReLu và lớp Chuẩn hóa

theo khối (Batchnorm) không được biểu diễn, ảnh từ [12].

Kiến trúc được Joon Son Chung giới thiệu được gọi là VGGVox 2l, đây là

một hệ thống nhúng thần kinh (neural embedding system). Hệ thống được đào tạo trên các phổ cường độ ngắn được trích xuất trực tiếp từ các đoạn âm thanh thô, không có tiền xử lý khác. Một kiến trúc mạng thần kinh sâu được sử dụng

để trích xuất các đặc trưng ở mức frame (khung). Quá trình đào tạo mô hình sử

dụng hàm lỗi tương phản (contrastive loss) trong khi mô hình được đào tạo trước (pre-train model) sử dụng lớp softmax và hàm lỗi là cross-entropy qua một danh sách có định gồm nhiều giọng người nói để nâng cao hiệu suất.

Chương 2. CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 11

VGG-M là kiến trúc mang nơ-ron tích chập co sở trong kiến trúc mô hình VG- GVox, tuy nhiên, ở VGGVox có một sự điều chỉnh: thay thé 6 lớp kết nối day đủ (fully connected) bằng 2 lớp kết nối day đủ (hỗ trợ trong miễn tần số) và một lớp average pool. Lợi ích của sửa đổi này là mạng trở nên bắt biến đối với thời gian điều thích hợp cho giọng nói, đồng thời giúp giảm số lượng tham số mô hình. Bên cạnh VGG-M, tác giả cũng sử dụng ResNet-34 và ResNet-50 làm kiến trúc

cơ sở cho mô hình của ông, cũng giống như VGG-M, Joon Son Chung và cộng

sự của ông đã có những sự thay đổi như hình |2.2| để thích ứng với đầu vào là quang phổ. Kết quả, kiến trúc dựa trên ResNet50 đạt hiệu quả cao nhất với độ lỗi

là 0.429 thấp nhất trên bộ dữ liệu VoxCeleb trong các kiến trúc mô hình dựa vào

ResNet-34 hay VGG-M.

2.2 Kiến thức nên tang toán học

2.2.1 Biên doi Fourier

Biến đổi Fourier rời rac

Trong xử lý tín hiệu, biến đổi Fourier rời rạc (ol la su chuyén đổi tin hiệu

thời gian rời rạc thành các thành phần biên độ và tần số. Dãy của N số phức:

#0,..„XN_1 được biến đổi thành chuỗi của N số phức Xọ,...,XN_1 bởi công thức:

X(k) = Vo xn exp (kn) (2.2)N-1

=0

n

Với k = 0,1,2,3,..,N — 1, e là cơ số của logarit tự nhiên, i là đơn vị ảo

Việc tính trực tiếp biểu thức [2.2.1] theo định nghĩa trên đòi hỏi O(N?) phép

tính: có N số X; cần tính, để tính mỗi số cần tính tổng N số hạng. Do đó, biến đổi Fourier nhanh (Fast Fourier Transform - FFT) ra đời. FFT là một thuật toán rất hiệu quả để tính toán DFT, có nhiều loại thuật toán FFT khác nhau sử dụng các kiến thức từ nhiều mảng khác nhau của toán học, từ số phức tới lý thuyết nhóm

Chương 2. CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 12

va lý thuyết số.

Thuật toán FFT phổ biến nhất là thuật toán FFT Cooley-Tukey (11). Day là một

thuật toán chia để trị dùng đệ quy để chia bài toán tính DET có kích thước hợp

số N = N¡N; (hợp số là một số tự nhiên có thể biểu diễn thành tích của hai số tự nhiên khác nhỏ hơn nó) thành nhiều bài toán tính DFT nhỏ hơn có kích thước Nj

và Na. FFT cho độ phức tạp tính toán là O(Nlog(N)) nhanh hơn khá nhiều so với

DFT.

Biến đổi Fourier rời rac ngược

Thực hiện phép biến đổi Fourier ngược (Inverse Discrete Fourier Transform -

TDET) được cho bởi công thức sau:

x(n) = — )_ X, exp (——kn) (2.3)

Với n = 0,1,2,3,..,N — 1

Nhu vậy, phép biến đổi FDT và IDET có thể được mô tả đơn giản như sau: các

số phức X; đại diện cho biên độ va pha ở các bước sóng khác nhau của tín hiệu

vào +x„. Phép biến đổi DFT tính các giá trị Xự từ các giá trị x, trong khi IDFT tính

x, bằng tổng của các sóng thành phần 4X; exp (2k) với tần số &.

2.2.2 Lay mẫu dữ liệu và định lý lay mau Nyquist

Lay mau dữ liệu

Trong xử lý tín hiệu, lay mẫu dữ liệu là quá trình chuyển đổi một tín hiệu liên

tục thành một tín hiệu rời rạc. Một mẫu chứa một giá trị tương ứng với cường độ của tín hiệu tại thời điểm đó trên trục thời gian tương ứng.

Theo hình s(t) là một tín hiệu liên tục được lay mẫu, việc lay mẫu được thực hiện bằng cách đo các giá trị của tín hiệu liên tục ở thời điểm mỗi giây T, T được gọi là thời gian lấy mẫu. Nhu vậy, tín hiệu sau khi được lay mẫu s[n] được

cho bởi công thức sau:

s[r] = s(mT) (24)

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 13

S(t)

5)

19 11 1 13

HINH 2.3: Lay mẫu tín hiệu, các tín hiệu liên tục có màu xanh lục.

Các châm màu xanh lam là các giá trị rời rạc của mẫu tín hiệu, (ảnh

từ (41)

Dinh ly lay mau Nyquist

Định lý lay mẫu được Nyquist-Shanno được phát biểu như sau: "Một hàm số tín hiệu x(t) không chứa bat kỳ thành phần tan số nào lớn hơn hoặc bang một giá trị ƒ„ có thể biểu diễn chính xác bằng tập các giá trị của nó với chu kỳ lay

A — in

mau T = Fra

Như vậy, tần số lấy mẫu phải thõa mãn điều kiện ƒ; > 2/„;. Tần số giới han Š này được gọi là tan số Nyquist và khoảng (=; £) gọi là khoảng Nyquist.

2.2.3. Lượng tử hóa

Lượng tử (quantum) trong vật lý học là một đại lượng rời rạc và nhỏ nhất của một thực thể. Ví dụ, photon là một lượng tử của ánh sáng, và electron là một

lượng tử của nguyên tử.

Lượng tử hóa (quantization) [3] có thể hiểu một cách đơn giản rằng: đó là quá trình xấp xỉ một tập đại lượng có giá trị tương đối lớn hoặc thay đổi liên tục (hoặc thay đổi một cách rời rạc trong một khoảng rất nhiều giá trị). Trong việc lượng tử tín hiệu âm thanh, chúng ta thực hiện biến tín hiệu tương tự thành tín hiệu sé, với mục đích biểu diễn lại một cách chính xác nhất các tín hiệu tương tự bằng tín hiệu số.

Chương 2. CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 14

HÌNH 2.4: Tín hiệu được lượng tử hóa, ảnh tử

2.2.4 Kỹ thuật chuẩn hóa min-max

Trong kỹ thuật chuẩn hóa min-max (sh, ĐỌI ming, Và max, lần lượt là giá trị

nhỏ nhất và lớn nhất của thuộc tinh A. Giá trị sau khi chuẩn hóa min-max có giá trị v của thuộc tinh A vào miền giá trị mới new — ming, new — 11a A là:

[ ệ — ming

v= ——(new — max, — new — min,) + new — min, (2.5)

max, — mina

Trong đó, v’ là giá tri mới của v trong miễn giá trị mới.

2.3. Kiến thức nên tảng xử lý tín hiệu âm thanh

Trong chương này, tôi trình bày một số kiến thức nền tảng đóng vai trò quan trọng trong việc tìm kiếm kiến trúc mạng nơ-ron tích chập cho bài toán nhận diện giọng người nói Tiếng Việt. Cụ thể, tôi trình bày về các kiến thức liên quan đến tín hiểu âm thanh từ đó làm cơ sở để áp dụng các kỹ thuật trích chọn đặc trưng

trên dữ liệu âm thanh một cách thích hợp.

2.3.1 Tín hiệu âm thanh

Audio Signal (tín hiệu âm thanh) là một đại diện của âm thanh, thường sử

dụng mức điện áp cho tín hiệu tương tự hoặc một chuỗi số nhị phân cho tín hiệu

kỹ thuật số. Tín hiệu âm thanh có tần số trong dải từ 20 đến 20.000 Hz, tương

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 15

ứng với giới hạn dưới va trên của thính giác con người. Tin hiệu âm thanh có thé

được tổng hợp trực tiếp hoặc có thể bắt nguồn từ một bộ chuyển đổi như micrô, đầu băng. Loa hoặc tai nghe chuyển đổi tín audio signal trở lại thành âm thanh.

Biên độ

0.1

0.0

-0.1

0 0.6 1.2

Thời gian (giây)

HÌNH 2.5: Minh họa tín hiệu âm thanh

Trong hình|2.5Ìhoành độ tương ứng với miễn thời gian (time, đơn vi second -

giây) và trung độ là giá trị biên độ của âm thanh (amplitude). Tùy vào sự to nhỏ của âm thanh mà giá trị biên độ là khác nhau.

Original Analog Signal Sampled Digital Signal

HÌNH 2.6: Lay mẫu và lượng tử hóa tín hiệu âm thanh

Hình|2.6]biểu diễn quá trình lay mẫu|2.2.2|và lượng tử hóa|2.2.3|đồi với tín hiệu

âm thanh theo trục thời gian t. Giả sử, tần số của đoạn âm thanh gốc fn = 40 thì

tần số lấy mẫu sẽ là ƒ; = 80 theo định lý lấy mẫu Nyquist|2.2.2| Điều đó đồng

nghĩa là cứ một giây ta sẽ thực hiện lay mẫu 80 lần. Tại mỗi lần lay mẫu tín hiệu,

ta sẽ thực hiện lượng tử hóa|2.2.3|tín hiệu đó.

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 16

Nhu vậy, giả sử chúng ta can 4 bits dữ liệu dé biểu diễn cho cường độ tin hiệu của quá trình lay mẫu, thì số mức cường độ tương ứng sẽ là 2 = 16 mức, việc sử

dụng nhiều bits dữ liệu để biểu thị cho cường độ của âm thanh sẽ giúp làm trơn

tín hiệu âm thanh sau quá trình lượng tử. Hình {2.6} ta thấy, ở trên mức cường

độ 0 (trục hoành), hai đỉnh đồ thị đều được biểu diễn là 8 tuy hai đỉnh này ở tín hiệu gốc có sự chênh lệch nhau về mặt biên độ, quá trình này tương ứng với quá trình làm tròn về mức cường độ gần nhất mà giá trị cường độ của tín hiệu analog (tương tự) thuộc vẻ.

Một số thông số có thể được dé cập đến khi nhắc vẻ tín hiệu số âm thanh như sau: bit depth (độ sâu bit) là số bits dữ liệu dùng cho biểu diễn số mức tương ứng khi chuyển dữ liệu tương tự sang dữ liệu số; channels - được hiểu là số kênh âm thanh, nếu âm thanh một kênh thì channels sẽ là Mono, âm thanh hai kênh thì

channels sẽ là Stereo,....

2.3.2 Kỹ thuật trích xuất đặc trưng

2.3.3 SincNet

Nam 2019, Mirco Ravanelli va Yoshua Bengio với bai bao Speaker recognition

from raw waveform with sincnet đã đưa ra một kỹ thuật trích xuất đặc trưng âm

thanh mới mang tên SincNet.

SincNet là một kiến trúc thần kinh để xử lý các mẫu âm thanh thô. Đó là mạng nơ-ron tích chập (convolutional neural network) mới khuyến khích lớp tích chập đầu tiên khám phá các bộ lọc có ý nghĩa hơn. SincNet dựa trên các hàm Sinc được tham số hóa, triển khai các bộ lọc băng thông (band-pass filter).

Ngược lại với CNNs tiêu chuẩn, tìm hiểu tất cả các yếu tố của mỗi bộ lọc, chỉ

có tan số cắt thấp và cao được học trực tiếp từ dữ liệu với phương pháp được dé xuất. Điều này cung cấp một cách rất nhỏ gọn và hiệu quả để tạo ra một nhóm bộ lọc tùy chỉnh được điều chỉnh cụ thể cho ứng dụng mong muốn.

Một số cải tiến của SincNet với các mang CNN chuẩn:

Chương 2. CÔNG TRINH LIÊN QUAN VÀ KIEN THÚC NEN TANG 17

J Acre TH

. _ ERA

dA Uli

lu se.

Speech Waveform

HÌNH 2.7: Bộ lọc SincNet, ảnh từ

CNNs SincNet

yln] = xịn] * hịn|_ y[n| = x[n] ô sịn, 6]

BANG 2.1: Cải tiến của SincNet so với CNN chuẩn

Theo đó, mạng CNN chuẩn sẽ học trên tất cả các phần tử cho mỗi bộ lọc, trong khi đó SincNet chỉ hoc 6 tham số của bộ lọc xác định trước (predefined kernel).

Để có thể xác định được số lượng tham số cần học, ta cần chọn hàm số g[n, 6] để thực hiện một nhóm các băng thông bộ lọc (band-pass filter) trong đó các tần số

cắt giảm (cutoff frequence) thấp và cao là các tham s6 duy nhất được học.

glx, fi, fo] = 2fosince(27 fox) — 2hsinc(2xfnx) (2.6)

Ham gị[x, fi, fo] trong miễn thời gian, trong đó hàm Sinc được định nghĩa là: sinc(x) = sin(x) /x, tần số cắt (cut-off frequencies) được chọn ngẫu nhiên trong khoảng |0, f;/2], fs đại diện cho tần số lay mẫu của tín hiệu đầu vào.

Như vậy, nếu số lượng filter được sử dụng là F và chiều dai cho mỗi filter là

L thi CNN chuẩn sẽ có F.L tham số cần tối ưu, trong khi đó, SincNet chỉ cần 2.F tham số (tương ứng với ƒ¡ và fz). Số lượng tham số của SincNet là ít di đáng kể.

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 18

> 10 ms apart

Frames of acoustic feature vectors

= Loam [1

:

each fame contains 39 MFCC features

ics

HINH 2.8: Mô hình chung của công đoạn trích xuất đặc trưng Mel-

Frequency Cepstral Coefficients, ảnh từ

2.3.4 Mel frequency cepstral coefficient

MECC - Mel-Frequency Cepstral Coefficients là phương pháp trích xuất đặc trưng âm thanh được dùng phổ biến nhất trong hầu hết các bài toán liên quan đến giọng nói như Speaker Recognition (nhận diện giọng người nói), Speech Recognition (nhận dạng tiếng nói),...

Một cách tổng quát, việc tính MECC có thể được xử lý như sau: cắt chuỗi tín hiệu âm thanh thành các đoạn ngắn bằng nhau (25ms) và chồng lên nhau (10m8). Mỗi đoạn âm thành này được biến đổi, tính toán để thu được 39 đặc trưng có tính độc lập cao, ít nhiễu, đủ nhỏ để đảm bảo tính toán, đủ thông tin để đảm bảo chất

lượng cho các thuật toán nhận diện.

Chương 2. CONG TRÌNH LIEN QUAN VÀ KIEN THUC NEN TANG 19

Analog to digital conversion va pre-emphasis

Analog to digital conversion

Âm thanh là dạng tín hiệu liên tục, trong khi đó máy tính làm việc với các con

số rời rạc. Ta cần lấy mẫu tại các khoảng thời gian cách đều nhau với một tần số lấy mẫu (sample rate) xác định để chuyển tín hiệu liên tục về dạng rời rạc. Giả sử tần số lay mẫu của ta sample — rate = 8000 tức trong một giây ta lay 8000 giá trị.

Analog _.

% [ je Gro =

HINH 2.9: Minh họa quá trình chuyển đổi tín hiệu tương tự sang tín

hiệu số, ảnh từ

Tai người nghe được âm thanh trong khoảng 20Hz -> 20.000Hz. Theo đỉnh lý

lay mẫu Nyquist-Shannon nhu vay, dé dam bao viéc khéng mat mat thong tin, tan số lay mẫu của tôi là ƒ; = 44.100Hz

Pre-emphasis

Do đặc điểm cấu tạo thanh quản và các bộ phận phát âm nên tiếng nói của chúng ta có đặc điểm: các âm ở tan số thấp có mức năng lượng cao, các âm ở tần

số cao lại có mức năng lượng khá thấp. Trong khi đó, các tần số cao này vẫn chứa nhiều thông tin về âm vị (phoneme - là một kí tự/cụm kí tự trong các từ khác nhau có thể có nhiều cách phát âm khác nhau). Vì vậy, chúng ta cần một bước pre-emphasis để kích hoạt các tín hiệu ở tần số cao này lên.

Bộ lọc pre-emphasis được áp dung cho tín hiệu âm thanh x theo công thức

sau:

x'(tq) = x(ta) — ax(ta — 1) (2.7)

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Tìm kiếm kiến trúc mạng neural với thuật toán tiến hóa cho bài toán nhận diện giọng người nói tiếng Việt (Trang 23 - 36)

Tải bản đầy đủ (PDF)

(100 trang)