2.
2.5 Giải pháp đề xuất
Đầu tiên là thu thập dữ liệu âm thanh có liên quan từ các nguồn khác nhau. Tiền xử lý âm thanh đƣa về chuẩn chung kết hợp với trích xuất đặc trƣng Log-Mel Spectrogram. Sau đó đƣa dữ liệu đã xử lý qua mạng nơ ron tích chập (CNN) tiến hành huấn luyện và lƣu lại model.
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
CHƢƠNG 3 MƠ HÌNH ĐỀ XUẤT 3.1 Tổng quan mơ hình đề xuất
Hình 3.1 Mơ hình đề xuất nhận dạng tiếng nói Tiếng Việt Trong mơ hình gồm: mơ hình huấn luyện và xây dựng ứng dụng Web
Ở mơ hình đề xuất, từ tập dữ liệu âm thanh thô tự thu thập đƣợc, ngƣời thực hiện đề tài thực hiện các phƣơng pháp tiền xử lý nhƣ chuyển đổi định dạng âm thanh thành WAV. Giảm kích thƣớc mẫu từ 44100Hz thành 16000Hz. Mỗi tập tin âm thanh có kích thƣớc mỗi mẫu là 3s và đƣợc chia thành 6 bộ mẫu tƣơng ứng với 2 giới tính là Nam và Nữ và 3 miền của Việt Nam là Bắc, Trung, Nam.
Building Model System Web Services
Raw data
Preprocess
Raw data Extract features
Label Resample Features Training Model: CNN Save Model Preprocess
Process raw data
Extract Features Features Predict Result Data DL Model Web Application Send input
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
Sau đó đƣa qua mơ hình học sâu trích xuất đặc trƣng và nhận dạng rồi lƣu mơ hình phục vụ xây dựng ứng dụng Web.
3.2 Các đặc trƣng của mơ hình đề xuất
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ố [9]. Trong báo cáo này, ngƣời thực hiện đề tài sẽ sử dụng Log-Mel Spectrogram để trích xuất đặc trƣng âm thanh phục vụ cho quá trình huấn luyện.
3.2.1. Trích xuất đặc trƣng Log-Mel Spectrogram
Hình 3.2 Sơ đồ khối giải thuật tính phổ mel của tập tin âm thanh tiếng nói
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 [2]. Mỗi phần đƣợc trình bày chi tiết trong các phần sau.
Phân khung
Âm thanh tiếng nói Tiền xử lý
Lấy logarit Hàm cửa sổ Băng lọc theo thang Mel FFT Các tham số phổ Mel
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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ố lấy mẫu nên ít nhất gấp đơi tần số dạng sóng nhƣ định lý của 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 [13].
Hình 3.3 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 toàn miền thời gian thay vì thời gian cụ thể.
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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 [4]. Quá trình phân khung đƣợc thể hiện dƣới hình dƣới đây.
Hình 3.4 Phân khung tín hiệu9
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 :
w(n) 0 54 0 46 cos(2 Nn) 0 n N (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 [13].
9 https://www.semanticscholar.org/paper/End-to-End-Environmental-Sound-Classification-using-Abdoli-
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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 tồn miền thời gian. Thông thƣờng hay sử dụng biến đổi Fourier rời rạc [13]. 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ó.
Hình 3.5 Tín hiệu trên miền thời gian
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
Hình 3.7 Hình minh hoạ quá trình biến đổi Fourier10
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.
10
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
Đ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 [13].
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 [14].
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 [15]. Thang đo đƣợc đề xuất đƣợc gọi là thang đo Mel.
Hình 3.8 Hình minh hoạ thang đo Mel Scale11
11
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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 đú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.9 Băng lọc khoảng cách theo miền tần số mel12
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.
12
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
Đ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.
Hình 3.10 Hình minh hoạ trƣớc và sau chuyển sang tần số Mel Quá trình chuyển đổi sang thang tần số mel đƣợc thực hiện theo ba bƣớc sau:
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.
2. Phân bố đều trên thang tần số Mel
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 1000700 )
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
3.2.2. Huấn luyện mơ hình
Khi sử dụng CNN để nhận diện 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.
Để có thể sắp xếp các vectơ đặc trƣng giọng nói vào feature maps phù hợp cho quá trình xử lý và huấn luyện của mạng CNN. Hình ảnh đầu vào có liên quan đến việc xử lý của mạng CNN có thể coi là một quang phổ với các đặc trƣng static, delta, và delta- delta đóng vai trị của màu đỏ, xanh lục và xanh lam. Theo cách này, chúng ta cần đảm bảo các hình ảnh đầu vào duy trì đƣợc những đặc trƣng vốn có hay tính “địa phƣơng” trên hai trục tần số và thời gian. Giống nhƣ những nghiên cứu nhận diện giọng nói trƣớc đó, mỗi cửa sổ đơn làm đầu vào cho CNN sẽ bao gồm một lƣợng ngữ cảnh (context 9-15 khung).
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ố [9].
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
Ngƣời thực hiện đề tài sử dụ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.11 Hai cách sắp xếp đặc trƣng giọng nói đối với đầu vào của mạng CNN13
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. Trong hình ảnh 3.10 (b) thì đặ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à 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.
Ngoà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 nhƣ hình 3.10 (c). Ví dụ: nếu cửa sổ ngữ cảnh (context window) chứa 15
13
https://www.semanticscholar.org/paper/Convolutional-Neural-Networks-for-Speech-Abdel-Hamid- Mohamed/86efe7769f2b8a0e15ca213ab09881e6705caeb0
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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.11. liên tiếp đƣợc gọi là “lớp” CNN.
Hình 3.12 Hình minh hoạ một “lớp” CNN14
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.
Khối tích chập (Convolution Ply)
Với mỗi feature maps đầu vào (giả thiết là tổng số) , ( ) đƣợc kết nối với nhiều feature maps (giả thiết là tổng số), ( ). Trong “lớp” CNN dựa trên một số ma trận trọng số cục bộ ( tổng số là ). ( ). Á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.
14
https://www.semanticscholar.org/paper/Convolutional-Neural-Networks-for-Speech-Abdel-Hamid- Mohamed/86efe7769f2b8a0e15ca213ab09881e6705caeb0
CHƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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:
( ∑ ∑
* ( ) (3.4)
Trong đó là đơn vị thứ của feature map thứ i. là đơn vị thứ m của feature map trong khối tích chập, là phần tử thứ của vector trọng số. là kết nối feature map đầu vào thứ với feature map thứ của khối tích chập.
đƣợ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:
(∑
) ( ) (3.5) Trong đó biểu diễn cho feature map đầu vào thứ i và 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ả và đề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 bài báo cáo 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ƢƠNG 3: MƠ HÌNH ĐỀ XUẤT
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