Các đặc trưng của mơ hình đề xuất

Một phần của tài liệu Nhận dạng tiếng nói tiếng việt bằng phương pháp học sâu (Trang 50)

Cách tiếp cận thông thường để trích xuất đặc trưng âm thanh các nhà nghiên cứu sẽ sử dụng MFCC (Mel Frequency Cepstral Coefficients). Nhưng đối với tần số việc sử dụng trích xuất đặc trưng MFCC thường gây ra những vấn đề nghiêm trọng vì việc biến đổi cosin rời rạc biến đổi năng lượng quang phổ thành một dạng khác có thể khơng thể duy trì tính địa phương hay (các đặc trưng vốn có) của tần số [14]. Trong luận văn này, tính năng Log-Mel Spectrogram được đề xuất để trích xuất đặc trưng âm thanh phục vụ cho q trình huấn luyện.

3.2.1. Trích xuất đặc trưng Log-Mel Spectrogram

Để trích chọn đặc trưng cho mơ hình học sâu mạng nơ ron tích chập, tiến hành chuyển đổi âm thanh sang 2D, các file âm thanh trong cơ sở dữ liệu Audio được thu âm với tần số lấy mẫu Fs = 16 kHz tương ứng 16,000 mẫu mỗi giây. Kích thước của mỗi tệp âm thanh sẽ dài 3 giây với hai giới tính là nam và nữ và ba khu vực vùng miền là Bắc, Trung, Nam của Việt Nam.

Chuyển đổi sang quang phổ Log-Mel-Spectrogram (Hình 3.2), và tạo dữ liệu quang phổ mel 2D dưới dạng hình ảnh 2D. Tạo ra quang phổ này giúp chúng ta nhìn thấy âm thanh và cấu trúc cao độ của nó, mạng nơron tích chập tìm các cấu trúc trong dữ liệu này dễ hơn so với sóng âm thơ. Đây chính là đặc trưng cần trích xuất và truyền vào mạng nơron tích chập. Sơ đồ trích xuất đặc trưng Mel-spec được trình bày ở Hình 3.3

51

Hình 3.2 Biểu đồ tần số Spectrogram (phổ âm) của một file âm thanh

Hình 3.3 Sơ đồ khối giải thuật tính phổ Mel-Spec

Quan sát quá trình trên ta thấy, âm thanh được chia thành những khung có độ dài cố định. Mục đích là để lấy mẫu những đoạn tín hiệu nhỏ (theo lý thuyết là ổn định). Hàm cửa sổ bỏ đi những hiệu ứng phụ và vector được thực hiện trên mỗi khung cửa sổ. Biến đổi Fourier rời rạc của mỗi khung được tính tốn và lấy logarithm biên độ phổ. Thơng tin về pha bị bỏ qua do biên độ phổ là quan trọng hơn pha. Thực hiện lấy logarithm biên độ phổ do âm lượng của tín hiệu là xấp xỉ logarith. Tiếp theo biến đổi phổ theo thang Mel [15]. Mỗi phần được trình bày chi tiết trong các phần sau.

3.2.1.1 Lấy mẫu

Trong việc lấy mẫu dữ liệu, chúng ta xem xét đến tín hiệu âm thanh đã được số hoá bằng việc rời rạc hoá giá trị trên những khoảng đều nhau vì vậy cần phải chắc chắn rằng tốc độ lấy mẫu là đủ lớn để mô tả tín hiệu dạng sóng. Tần số tín hiệu lấy mẫu phải gấp đôi thành phần tần số cao nhất của tín hiệu đầu vào để tín hiệu đầu ra ít

52

méo hơn như định lý lấy mẫu Nyquist. Tốc độ lấy mẫu phổ biến là 8000, 11025, 16000, 22050, 44000. Thông thường sử dụng tần số trên 10Khz [15].

Hình 3.4 Ví dụ về mẫu âm thanh

3.2.1.2 Phân khung tín hiệu

Phân khung là q trình chia mẫu tín hiệu thành một số khung chồng lấn lên nhau hoặc khơng. Mục đích của q trình phân khung là để lấy mẫu các đoạn tín hiệu nhỏ (theo lý thuyết là ổn định). Vấn đề là bản chất âm thanh là khơng ổn định. Vì vậy biến đổi Fourier sẽ thể hiện tần số xảy ra trên tồn miền thời gian thay vì thời gian cụ thể.

Bởi vì khi tín hiệu khơng ổn định, tín hiệu đó nên được chia thành các cửa sổ rời rạc nhờ đó tín hiệu trong mỗi cửa sổ trở nên tĩnh và phép biến đổi Fourier sẽ thực hiện trên mỗi khung [15]. Quá trình phân khung được thể hiện dưới hình dưới đây.

53

Hình 3.5 Phân khung tín hiệu

3.2.1.3 Lấy cửa sổ tín hiệu

Bước tiếp theo là lấy cửa sổ cho mỗi khung riêng rẽ nhằm giảm sự gián đoạn của tín hiệu tiếng nói tại đầu và cuối mỗi khung. Thông thường cửa sổ Hamming được sử dụng, cửa sổ này có dạng như cơng thứ 3.1 :

𝑤(𝑛) = 0,54 − 0,46 cos (2𝑛

𝑁) , 0 ≤ 𝑛 < 𝑁 (3.1)

Trong đó độ dài cửa sổ L = N+1

Ý tưởng ở đây là giảm bớt sự chồng chéo phổ bằng việc sử dụng các cửa sổ để giảm tín hiệu về khơng tại điểm bắt đầu và kết thúc của mỗi khung. Sự chồng lấp các khung để làm nhẵn khung đến khung kế tiếp. Lấy cửa sổ tín hiệu đảm bảo tất cả các phần của tín hiệu được khơi phục và loại trừ khe hở giữa các khung. Việc này được thực hiện để khử tính khơng liên tục tại đường viền khung cho biến đổi Fourier thực hiện sau đó. Các khung có độ dài lớn hơn có cao độ pitch chính xác hơn và nén dữ liệu tốt hơn nhưng chất lượng giảm [15].

3.2.1.4 Biến đổi Fourier nhanh

Biến đổi Fourier rời rạc (DFT) hoặc biến đổi Fourier nhanh (FFT) được thực hiện để chuyển đổi mỗi khung với N mẫu từ miền thời gian sang miền tần số. Tín hiệu gốc cần được thực hiện biến đổi Fourier qua bộ lọc thông dải để xử lý độ lệch tần số Mel. Biến đổi Fourier chuẩn khơng được sử dụng do tín hiệu âm thanh khơng xác định trên toàn miền thời gian. Thông thường hay sử dụng biến đổi Fourier rời rạc [15]. Hình sau thể hiện tín hiệu trên miền thời gian và mơ tả tần số tương ứng của nó.

54

Hình 3.6 Tín hiệu trên miền thời gian

55

Hình 3.8 Hình minh họa về quá trình biến đổi Fourier12

3.2.1.5 Chuyển đổi sang thang tần số Mel

Để mơ tả chính xác sự tiếp nhận tần số của hệ thống thính giác, người ta xây dựng một thang khác - thang Mel.

Việc chuyển đổi tần số sang miền tần số Mel làm nhẵn phổ và làm nổi lên các tần số cảm thụ có nghĩa. Biến đổi Fourier lên tín hiệu qua bộ lọc thơng dải để làm đơn giản phổ mà không làm mất dữ liệu.

56

Điều này được thực hiện bằng các tập hợp các thành phần phổ thành một dải tần số. Phổ được làm đơn giản hoá do sử dụng một dàn bộ lọc để tách phổ thành các kênh. Các bộ lọc được đặt cách đều lên nhau trên thang Mel và lấy logarit trên thang tần số, các kênh có tần số thấp là khơng gian tuyến tính trong khi các kênh có tần số cao là khơng gian logarit [15].

Nghiên cứu của các nhà khoa học cho thấy rằng con người chúng ta không cảm nhận được sự thay đổi của tần số trên thang đo tuyến tính. Và con người chúng ta cảm nhận được sự khác biệt ở tần số thấp hơn tốt hơn so với tần số cao [15].

Ví dụ như chúng ta có thể dễ dàng thấy sự khác biệt giữa 500 Hz và 1000 Hz nhưng sẽ khó có thể chỉ ra sự khác biệt nếu tần số nằm giữa 10 000Hz và 10 500 Hz, mặc dù khoảng cách giữa hai cặp giá trị trên là như nhau.

Năm 1973, Stevens, Volkmann, và Newmann đã đề xuất một thang đo cảm nhận của các nốt được người nghe đánh giá là bằng nhau về khoảng cách với nhau [14]. Thang đo được đề xuất được gọi là thang đo Mel.

Hình 3.9 Hình minh họa thang đo Mel Scale13

Thang tần số Mel tuyến tính ở tần số dưới 1kHz và logarit ở tần số cao hơn 1kHz. Ta chọn tần số 1kHz, 40 dB trên ngưỡng nghe 1000 Mel. Do đó cơng thức gần

57

đúng biểu diễn gần đúng mối quan hệ tần số ở thang Mel và thang tuyến tính như cơng thức 3.2:

𝑀𝑒𝑙⁡(𝑓) = 2595 ∗ ⁡ log10(1 + 𝑓

700) (3.2)

Một phương pháp để chuyển đổi sang thang Mel là sử dụng băng lọc.

Khoảng cách giữa các băng lọc được định nghĩa bởi hằng số tần số mel theo thời gian. Biến đổi phổ S(w) bao gồm đầu ra của bộ lọc khi S(w) là đầu vào.

Băng lọc được này được áp dụng trong miền tần số, nó có thể xem như các điểm thu được của bộ lọc chính. Với các khung nhỏ nhất tốt nhất là sử dụng các bộ lọc tam giác hoặc thậm chí là hình chữ nhật vì độ phân giải là quá thấp trong miền tần số thấp.

Hình 3.10 Băng lọc khoảng cách theo miền tần số Mel14

Mỗi bộ lọc trong băng lọc được nhân với phổ tín hiệu vì vậy chỉ có một giá trị đơn của cường độ trên bộ lọc được trả lại.

Điều này có thể đạt được qua các tính tốn ma trận đơn. Kết quả là tổng biên độ trong dải lọc và vì vậy làm giảm độ chính xác tới mức tai con người có thể cảm nhận được.

58

Hình 3.11 Hình minh họa trước và sau chuyển sang tần số Mel15

Quá trình chuyển đổi sang thang tần số Mel được thực hiện theo ba bước như sau:

Bước 1: Cố định vùng giá trị dưới mỗi bộ lọc và đôi khi đưa thang về 1. Đặt M = số

băng lọc yêu cầu.

Bước 2: Phân bố đều trên thang tần số Mel.

Bước 3: Chuyển đổi từ Hz sang Wi trên thang tuyến tính. Mối quan hệ giữa Mel và

Tần số được cho bởi công thức 3.3:

𝑚 =

ln (1 +700𝑓 ) ∗ 1000 ln (1 + 100700 )

(3.3)

3.2.1.6 Biến đổi Cosin rời rạc

Sử dụng biến đổi cosin rời rạc để làm tương quan cường độ phổ logarit mel với hệ số tần số Mel. Cepstrum là biến đổi ngược của tín hiệu theo log biên độ. Vì nguồn phổ là cân xứng nên thay biến đổi Fourier ngược thành biến đổi Cosin rời rạc. Thêm vào đó, biến đổi Cosin rời rạc có khả năng tương quan cao hơn và hệ số cepstral chặt chẽ hơn.

3.2.2. Huấn luyện mơ hình 3.2.2.1 Mơ hình học sâu CNN 3.2.2.1 Mơ hình học sâu CNN

59

Khi sử dụng CNN để nhận dạng mơ hình, dữ liệu đầu vào cần phải được sắp xếp dưới dạng feature maps để đưa vào CNN huấn luyện. Đây là một thuật ngữ được mượn từ ứng dụng xử lý ảnh. Để trực quan, ta sắp xếp đầu vào dưới dạng mảng 2 chiều trong đó giá trị theo chiều ngang và chiều dọc là giá trị pixel tại toạ độ x và y. Đối với hình ảnh màu, các giá trị màu RGB (Red, Green, Blue) có thể được xem là 3 feature maps 2 chiều khác nhau. CNNs trượt một cửa sổ nhỏ trên hình ảnh đầu vào ở cả thời gian huấn luyện và thời gian kiểm thử sao cho trọng số của mạng có thể thơng qua cửa sổ này học được nhiều đặc trưng của dữ liệu đầu vào.

Thơng thường để trích xuất đặc trưng âm thanh các nhà nghiên cứu sẽ sử dụng MFCC (Mel Frequency Cepstral Coefficients). Nhưng đối với tần số việc sử dụng trích xuất đặc trưng MFCC thường gây ra những vấn đề nghiêm trọng vì việc biến đổi cosin rời rạc biến đổi năng lượng quang phổ thành một dạng khác có thể khơng thể duy trì tính địa phương hay (các đặc trưng vốn có) của tần số [15].

Luận văn đã sử dụng tính năng Log-Mel Spectrogram để mô tả sự phân bổ năng lượng âm thanh trong mỗi dải tần số khác nhau và biểu diễn cho từng khung giọng nói cùng với đặc trưng static, deltas và delta-deltas.

Hình 3.12 Hai cách sắp xếp đặc trưng giọng nói đối với đầu vào của mạng CNN16 Có một số cách khác nhau để sắp xếp các đặc trưng Log-Mel Spectrogram vào features map. Đặc trưng giọng nói có thể sắp xếp thành 3 feature maps 2 chiều, trong mỗi feature map đại diện cho các đặc trưng Log-Mel Spectrogram ( Static, delta và

60

delta-delta) được phân loại cùng với cả tần số (sử dụng chỉ số dải tần số) và thời gian (sử dụng số khung trong mỗi cửa sổ ngữ cảnh). Trong trường hợp này, tích chập 2 chiều được thực hiện để chuẩn hoá đồng thời sự thay đổi về tần số và thời gian.

Ngồi ra, chúng ta cũng có thể xem xét chuẩn hoá sự thay đổi về tần số. Trong trường hợp này các đặc trưng Log-Mel Spectrogram được sắp xếp dưới dạng feature maps 1 chiều. Ví dụ: nếu cửa sổ ngữ cảnh (context window) chứa 15 khung và 40 băng lọc, chúng ta sẽ tạo ra 45 feature maps 1 chiều, với mỗi map có kích thước là 40. Do đó, tích chập một chiều sẽ được áp dụng dọc theo trục tần số.

Khi các feature maps đầu vào được hình thành. Lớp tích chập và lớp pooling dùng các thao tác độc lập để tạo ra kích hoạt các đơn vị theo trình tự trên các lớp đó.

Tương tự như các lớp đầu vào, các đơn vị tích chập và lớp gộp (pooling) cũng có thể sắp xếp vào map. Trong thuật ngữ CNN, một cặp lớp chập và lớp gộp trong hình 3.14 liên tiếp được gọi là “lớp” CNN.

Hình 3.13 Hình minh họa một “lớp” CNN17

Do đó, một CNN trong thực tế sẽ bao gồm hai hoặc nhiều cặp này liên tiếp. để tránh sự nhầm lẫn, người thực hiện đề tài sẽ đề cập đến lớp tích chập và lớp gộp là khối tích chập và khối gộp.

Convolution Ply (Khối tích chập)

Với mỗi feature maps đầu vào (giả thiết I là tổng số) , 0i ( i = 1,..., I) được kết nối với nhiều feature maps (giả thiết J là tổng số), Q j ( j = 1 ,..., J). Trong “lớp” CNN

61

dựa trên một số ma trận trọng số cục bộ (tổng số là I x J). Wi,j ( i = 1,…, I; j = 1,…,

J).

Ánh xạ có thể được biểu diễn dưới dạng phép tốn tích chập dựa trên xử lý tín hiệu. Giả sử các feature maps đầu vào là tất cả một chiều, mỗi đơn vị của feature map trong “lớp” CNN được tính theo cơng thức 3.4:

T rong đó

0i,m là đơn vị thứ m của feature map 0i thứ i. q j,m là đơn vị thứ m của feature map Qj

trong khối tích chập, wi,j,n là phần tử thứ n của vector trọng số. wi,j là kết nối feature

map đầu vào thứ i với feature map thứ j của khối tích chập.

F được gọi là kích thước của bộ lọc, xác định số lượng dải tần trong mỗi

feature map đầu vào mà mỗi đơn vị trong khối chập nhận làm đầu vào.

Bởi vì những đặc trưng vốn có đó phát sinh từ sự lựa chọn đặc trưng Log-Mel Spectrogram, các feature maps này được giới hạn trong một dải tần số tín hiệu tiếng nói. Cơng thức 3.4 có thể viết ngắn gọn lại dưới dạng ma trận ngắn gọn hơn sử dụng tốn tử tích chập * như phương trình 3.5 dưới đây:

𝑄𝑗 = 𝜎 (∑ 0𝑖

𝐼 𝑖=1

∗ 𝑊𝑖,𝑗) , (𝑗 = 1, … 𝐽) (3.5)

Trong đó 0i biểu diễn cho feature map đầu vào thứ i và Wi,j biểu diễn cho từng ma trận trọng số cục bộ, phép lật để tuân tuân thủ định nghĩa của hoạt động tích chập.

Cả 0i và Wi,j đều là vec-tơ. Ngoài ra feature map là mảng 1 chiều hoặc là ma

trận nếu feature map 2 chiều được sử dụng thì tích chập 2 chiều được sử dụng cho phương trình 3.5. Trong luận văn này, số lượng feature map trong khối tích chập xác định trực tiếp số lượng ma trận trọng số cục bộ được sử dụng trên ánh xạ tích chập. Trong thực tế, chúng ta sẽ ràng buộc nhiều ma trận trọng số này giống hệt nhau. Một điều quan trọng là các cửa sổ là đầu vào và các ma trận trọng số được áp dụng trên các cửa sổ này thường chồng lấp lên nhau.

Chính các hoạt động tích chập tạo ra chiều dữ liệu thấp hơn, mỗi chiều giảm theo kích thước bộ lọc trừ đi một - nhưng chúng ta có thể đệm đầu vào bằng các giá trị

𝑞𝑗,𝑚 = 𝜎 (∑ ∗ 𝐼 𝑖=1 ⁡∑ 0𝑖,𝑚−𝑛+1𝑊𝑖,𝑗,𝑛+ 𝑊0,𝑗 𝐹 𝑛=1 ) , (𝑗 = 1, … 𝐽) (3.4)

62

mẫu (dummy) (ở trên cả khung thời gian và khung tần số) để duy trì kích thước của feature maps.

Kết quả là, về ngun tắc có thể có nhiều vị trí trong feature map của khối tích chập như đầu vào. Tuy nhiên trong khối tích chập thường sẽ khác với lớp tích chập thơng thường, đối với lớp kết nối ẩn đầy đủ (Fully Connected Hidden Layer) chúng ta sẽ quan tâm ở hai khía cạnh:

Đầu tiên, mỗi đơn vị của khối tích chập chỉ nhận đầu vào từ một khu vực cục bộ của đầu vào. Điều này có nghĩa là mỗi đơn vị biểu diễn cho một số đặc trưng của một khu vực địa phương của đầu vào.

Thứ hai, các đơn vị của khối tích chập có thể tự sắp xếp vào một số feature maps, trong đó tất cả các đơn vị của cùng một feature map dùng chung một trọng số nhưng nhận đầu vào từ các vị trí khác nhau của lớp cấp thấp.

Pooling Ply (Khối gộp)

Một hoạt động gộp được áp dụng cho khối tích chập để tạo ra khối gộp tương

Một phần của tài liệu Nhận dạng tiếng nói tiếng việt bằng phương pháp học sâu (Trang 50)

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

(96 trang)