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

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 58)

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 ứng của nó. Khối gộp cũng được sắp xếp vào các feature maps, và nó có cùng số lượng feature maps như số lượng feature maps trong khối tích chập, nhưng mỗi map trong khối gộp có kích thước nhỏ hơn.

Mục đích của khối gộp là để giảm chiều của feature maps. Điều này có nghĩa là các đơn vị của khối này sẽ đóng vai trị khái qt hố các đặc trưng của khối tích chập cấp thấp. Bởi vì những khái qt hố này sẽ lại được định vị không gian theo tần số, nên chúng cũng sẽ không thay đổi đối với những thay đổi nhỏ trong vị trí.

Việc làm giảm chiều này đạt được bằng cách áp dụng hàm gộp (Pooling function) cho một số đơn vị trong vùng cục bộ có kích thước được xác định bởi tham số kích thước gộp. Các hàm gộp này thường là một hàm đơn giản như hàm max- pooling hay average pooling. Hàm gộp được áp dụng cho từng feature map tích chập một cách độc lập. Khi hàm max-pooling được sử dụng, khối gộp được định nghĩa như cơng thức 3.6: 𝑃𝑖,𝑚 = 𝐺 𝑚𝑎𝑥 𝑛 = 1 ⁡𝑞𝑖,(𝑚−1)⁡×⁡𝑆⁡+⁡𝑛 (3.6)

63

Trong đó G là kích thước gộp, và s là kích thước dịch chuyển, xác định sự

chồng lấn của các cửa sổ gộp liền kề nhau. Tương tự như vậy nếu hàm average được sử dụng, thì khối gộp được định nghĩa như cơng thức 3.7:

𝑃𝑖,𝑚 = 𝑟 ∑ 𝑞𝑖,(𝑚−1)⁡×⁡𝑆⁡+⁡𝑛 𝐺

𝑛=1

⁡ (3.7)

Trong đó r là yếu tố tỷ lệ có thể học được. Trong các ứng dụng nhận dạng hình ảnh, trong điều kiện ràng buộc là G = s, trong đó các cửa sổ gộp không chồng lấn

nhau và khơng có khoảng cách giữa chúng thì max-pooling được chứng minh là cho kết quả tốt hơn evarage-pooling [16]. Luận văn sẽ điều chỉnh G và s độc lập. Hơn nữa, một hàm kích hoạt phi tuyến có thể được áp dụng cho Pi,m để tạo ra đầu ra cuối cùng.

Hình 3.14 Hình minh họa quá trình học của mạng CNN18

Hình 3. 14 cho thấy khối gộp có kích thước bằng 3. Mỗi nhóm đơn vị gộp nhận đầu vào từ ba đơn vị khối tích chập trong cùng một feature map. Nếu G = s thì kích

thước khối gộp sẽ bằng 1/3 kích thước của khối tích chập.

Learning Weights in the CNN (Trọng số học tập trong CNN)

64

Tất cả các trọng số trong lớp tích chập có thể được học bằng thuật toán lan truyền ngược lỗi (error back-propagation algorithm) nhưng có một vài sự thay đổi cần thiết để xử lý các kết nối rời rạc và chia sẻ trọng số. Để minh hoạ thuật toán học tập cho các lớp CNN, đầu tiên biểu diễn phép tích chập trong phương trình (3.5). Khi feature maps được sử dụng, thao tác tích chập trong phương trình (3.5) có thể được biểu diễn dưới dạng phép nhân ma trận đơn giản bằng cách đưa ra ma trận trọng số rời rạc 𝑊̂ trong hình 3.15 được tạo ra bằng cách tái tạo trọng số cơ bản của ma trận W.

Hình 3.15 Hình minh họa trọng số học tập của mạng CNN19

Ma trận W được xây dựng từ tất cả ma trận trọng số cục bộ, Wi,j như ma trận 3.8 dưới đây : 𝑾 = ⁡ [ 𝑾𝟏,𝟏,𝟏⁡⁡⁡⁡⁡𝑾𝟏,𝟐,𝟏 ⋯ 𝑾𝟏,𝑱,𝟏 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ 𝑾𝑰,𝟏,𝟏⁡⁡⁡⁡⁡𝑾𝑰,𝟐,𝟏 ⋯ 𝑾𝑰,𝑱,𝟏 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ 𝑾𝑰,𝟏,𝟐⁡⁡⁡⁡𝑾𝑰,𝟐,𝟐 ⋯ 𝑾𝑰,𝑱,𝟐 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ 𝑾𝑰,𝟏,𝑭⁡⁡⁡⁡⁡𝑾𝑰,𝟐,𝑭 ⋯ 𝑾𝑰,𝑱,𝑭] ⁡𝐼 ∙ 𝐹 × 𝐽 (3.8)

Trong đó W được sắp xếp thành hàng I • F, trong đó F là kích thước của bộ lọc, mỗi dải chứa I hàng tương ứng với I feature maps đầu vào, và W có J cột biểu diễn

cho trọng số của J feature maps trong khối tích chập. 19 https://www.semanticscholar.org/

65

Trong khi đó, các đầu vào và feature maps tích chập cũng được vec-tơ 𝒐̂ và 𝒒̂ .

Một hàng vec-tơ đơn được tạo từ tất cả các feature maps đầu vào 0i (i = 1,…,I) như

công thức 3.9 sau:

𝑞⁡̂ = 𝜎(𝑜⁡̂𝑊̂ )𝑂̂ = [𝑣1⁡⁡⁡⁡⁡|𝑣2|⁡⁡⁡⁡…⁡⁡⁡⁡𝑣𝑀] (3.9)

Trong đó vm là một hàng vec-tơ chứa các giá trị của dải tần số m dọc theo tất cả

I feature maps, và M là số lượng dải tần số trong lớp đầu vào.

Do đó đầu ra của khối tích chập được tính ở biểu thức 3.5 có thể biểu diễn tương đương như một vec-tơ trọng số với công thức 3.10 như sau:

𝒒⁡̂ = 𝜎(𝒐⁡̂ 𝑾̂) (3.10)

Cập nhật trọng số cho 𝑾̂ được tính theo cơng thức 3.11 như sau:

∆⁡⁡𝑾̂ = 𝜀 ∙ 𝑂′̂ 𝑒 (3.11)

Việc xử lý các trọng số được chia sẻ trong lớp tích chập hơi khác so với các trường hợp DNN được kết nối đầy đủ khi không chia sẻ trọng số. Sự khác biệt là đối với các trọng số được chia sẻ, chúng ta tổng hợp các cập nhật của chúng theo cơng thức 3.12:

∆⁡⁡𝑊𝑖,𝑗,𝑛 = ⁡ ∑ ∆ 𝑚

⁡𝑾̂𝑖+(𝑚+𝑛−2)×𝑖,𝑗+(𝑚−1)×𝐽⁡ (3.12)

Trong đó I,J là số lượng feature maps trong lớp đầu vào và khối tích chập. Các sai lệch có thể được xử lý bằng cách thêm một hàng vào ma trận 𝑾̂.

Vì khối gộp khơng có trọng số nên việc học khơng diễn ra tại đây. Tuy nhiên, các tín hiệu lỗi được truyền lại trong các khối cấp thấp hơn thông qua hàm gộp. Trong trường hợp max-pooling, tín hiệu lỗi chỉ truyền ngược về đơn vị hoạt động lớn nhất trong số nhóm đơn vị gộp. Tín hiệu lỗi đạt đến khối tích chập thấp hơn có thể được tính bằng cơng thức 3.13 là:

𝑒𝑖,𝑛𝑙𝑜𝑤 = ⁡ ∑ 𝑒𝑖,𝑚 𝑚

66

Trong đó 𝛿(𝑥) là hàm delta và nó có giá trị là 1 nếu bằng 0 và ngược lại, ui,m là chỉ số của đơn vị có giá trị tối đa trong số đơn vị gộp và được xác định bằng công thức 3.14 𝑢𝑖,𝑚 = 𝐺 𝑎𝑟𝑔𝑚𝑎𝑥 𝑛 = 1 ⁡(𝑞𝑖⁡(𝑚 − 1) × 𝑠 + 𝑛) (3.14) 3.2.2.2 Mơ hình học sâu VGG16

VGG16 là một mơ hình mạng học sâu CNN được đề xuất bởi K. Simonyan và A. Zisserman. Mơ hình đã giành vị trí nhất về phát hiện đối tượng và vị trí hai về phân loại ảnh trong cuộc thi ILSVRC 2014. Được chứng minh là mơ hình học sâu hiệu quả cho việc rút trích đặc trưng trong thị giác, đồng thời VGG16 đã được chứng minh đạt hiệu quả cao trong bài toán phân loại đối tượng. VGG16 có kiến trúc gồm 13 lớp convolution (Hình 3.17) với 3 lớp cuối là fully connected layer, VGG16 sử dụng các bộ lọc có kích thước nhỏ 3x3 để học các đặc trưng thị giác từ đơn giản ở các bộ lọc đầu và càng phức tạp hơn khi đi về cuối của mơ hình.

Hình 3.17 Cấu trúc và đặc trưng của mạng VGG1620

Trong đó lớp convolution và lớp fully connected có hệ số trọng lượng nên chúng được gọi là lớp trọng số. Tổng số lớp trọng số là 13 + 3 = 16, điều này giải thích tại sao cấu trúc được gọi là VGG16.

Với input của mạng VGG16 là 1 ảnh có kích thước 244x244x3 (pixels), output là 1 layer với 1000 node, tương ứng với 1000 class trong Imagenet, sử dụng Softmax

67

với phân phối xác suất đầu ra ứng với từng class. Các lớp hidden layers ở giữa bao gồm các layer cơ bản của 1 mạng CNN như: lớp Convolution, Pooling (Max Pooling, Avegare Pooling, ..), Fully Connected Layer và Activation Function (Sigmoid, Tanh, Relu, ..). Mạng nơ ron hoạt động cũng tương tự như 1 feature extraction, với các layer ở lớp đầu dùng để bóc tách các low level feature như: góc, cạnh, hình khối vật thể. Các layer ở lớp cao hơn thực hiện bóc tách cách high level feature, ứng với các đặc trưng riêng của từng đối tượng.

Hinh 3.18 Kiến trúc khối của mạng VGG16

3.2.2.3 Mơ hình học sâu CNN 5 tầng

Luận văn trình bày một mạng CNN 5 tầng gồm 4 tầng xử lý, mỗi tầng có 2 lớp chập và 1 lớp gộp, tầng thứ 5 có 2 lớp kết nối đầy đủ. Mỗi đặc trưng âm thanh được xác định thông qua CNN.

Hình 3.19 Cấu trúc CNN 5 tầng

3.2.3. Phương pháp đánh giá

Các mơ hình CNN được đánh giá dựa vào các yếu tố như sau:

• Các mạng CNN đều trích xuất đặc trưng dựa trên nguyên lý tích chập. • Dựa trên kiến trúc phân tầng giúp mạng CNN học được các đặc trưng ở

68

• Sử dụng phổ biến để thực hiện nhiệm vụ huấn luyện trên các bộ dữ liệu lớn, khi đó mơ hình CNN với kiến trúc học đa tầng, đa tham số đã cho thấy ưu thế vượt trội về độ chính xác.

• Kích thước layers mơ hình CNN giảm dần theo độ sâu, điều này giúp tạo ra các mạng có kích thước nhẹ hơn và tốc độ dự đốn nhanh hơn, trong khi độ chính xác của mơ hình giảm khơng đáng kể.

Để đánh giá một mơ hình phân tích, dự đốn trong khai phá dữ liệu, việc đầu tiên là chia tập dữ liệu thành các thành phần phục vụ cho việc huấn luyện mơ hình và

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 58)

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

(96 trang)