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)