Nhận dạng tiếng nói tiếng việt bằng phương pháp học sâu

0 49 0
Nhận dạng tiếng nói tiếng việt bằng phương pháp học sâu

Đang tải... (xem toàn văn)

Thông tin tài liệu

ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN THANH HIỆP NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT BẰNG PHƯƠNG PHÁP HỌC SÂU CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 8480104 LUẬN VĂN THẠC SĨ BÌNH DƯƠNG – 2021 UỶ BAN NHÂN DÂN TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN THANH HIỆP NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT BẰNG PHƯƠNG PHÁP HỌC SÂU CHUYÊN NGÀNH: HỆ THÔNG THÔNG TIN MÃ SỐ: 8480104 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS BÙI THANH HÙNG BÌNH DƯƠNG – 2021 ii LỜI CAM ĐOAN Tên là: Trần Thanh Hiệp Sinh ngày: 14/02/1981 Học viên lớp cao học CH19HT01 – Trường Đại học Thủ Dầu Một Xin cam đoan: Đề tài “Nhận dạng tiếng nói tiếng Việt phương pháp học sâu.” Thầy TS Bùi Thanh Hùng hướng dẫn cơng trình nghiên cứu riêng Tất tài liệu tham khảo có nguồn gốc, trích dẫn rõ ràng Tác giả xin cam đoan tất nội dung luận văn nội dung đề cương yêu cầu thầy giáo hướng dẫn Nếu sai hoàn toàn chịu trách nhiệm trước hội đồng khoa học Bình Dương, tháng 09 năm 2021 Tác giả luận văn Trần Thanh Hiệp iii LỜI CẢM ƠN Sau thời gian nghiên cứu làm việc nghiêm túc, động viên, giúp đỡ hướng dẫn tận tình Thầy hướng dẫn TS Bùi Thanh Hùng, luận văn Cao học “Nhận dạng tiếng nói tiếng Việt phương pháp học sâu” hồn thành Tơi xin bày tỏ lịng biết ơn sâu sắc đến: Thầy hướng dẫn TS.Bùi Thanh Hùng tận tình dẫn, giúp đỡ tơi hồn thành luận văn Đồng thời gửi lời cảm ơn đến thầy, cô giảng dạy truyền đạt kiến thức quý báo cho suốt thời gian học tập nghiên cứu Tôi chân thành cảm ơn bạn bè, đồng nghiệp gia đình động viên, khích lệ, tạo điều kiện giúp đỡ suốt trình học tập, thực hồn thành luận văn iv MỤC LỤC MỤC LỤC .v TÓM TẮT LUẬN VĂN vii SUMMARY viii DANH MỤC CHỮ VIẾT TẮT ix DANH MỤC BẢNG BIỂU x DANH MỤC HÌNH, ĐỒ THỊ .xi CHƯƠNG 13 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU .13 1.1 Lý chọn đề tài 13 1.2 Mục tiêu nghiên cứu 13 1.3 Đối tượng, phạm vi nghiên cứu 14 1.4 Phương pháp nghiên cứu 14 1.5 Ý nghĩa khoa học thực tiễn 14 1.6 Bố cục luận văn 15 CHƯƠNG 17 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 17 2.1 Mạng Nơ-ron tích chập 17 2.1.1 Mạng Nơ-ron nhân tạo 17 2.1.2 Mạng Nơ-ron tích chập 25 2.2 Các mơ hình học sâu CNN 31 2.2.1 Sự hình thành phát triển 31 2.2.2 Các mơ hình CNN tiêu biểu 32 2.3 Xử lý âm 40 2.3.1 Các đặc trưng âm 40 2.3.2 Các phương pháp xử lý âm 42 2.4 Các nghiên cứu liên quan 43 v 2.5 Hướng đề xuất nghiên cứu 47 CHƯƠNG 49 MƠ HÌNH ĐỀ XUẤT 49 3.1 Tổng quan mơ hình đề xuất 49 3.2 Các đặc trưng mơ hình đề xuất 50 3.2.1 Trích xuất đặc trưng Log-Mel Spectrogram 50 3.2.2 Huấn luyện mơ hình 58 3.2.3 Phương pháp đánh giá 67 CHƯƠNG 70 THỰC NGHIỆM 70 4.1 Dữ liệu 70 4.1.1 Thu thập liệu 70 4.1.2 Xử lý liệu 71 4.2 Kết thực nghiệm 71 4.2.1 Công nghệ sử dụng 71 4.2.2 Trích xuất đặc trưng 72 4.2.3 Nhận dạng tiếng nói 72 4.3 Ứng dụng nhận dạng tiếng nói tiếng Việt 76 4.3.1 Thiết kế 76 4.3.2 Ứng dụng 77 CHƯƠNG 84 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84 5.1 Kết đạt 84 5.2 Hướng phát triển 85 CƠNG TRÌNH CÔNG BỐ 86 TÀI LIỆU THAM KHẢO 87 vi TÓM TẮT LUẬN VĂN Trong kỷ nguyên kỹ thuật số, phủ nhận nhận dạng giọng nói có ý nghĩa quan trọng khía cạnh khác sống Cùng với bùng nổ trí tuệ nhân tạo, có nhiều cơng trình nghiên cứu học sâu cơng bố, số lĩnh vực xử lý ngơn ngữ tự nhiện nói chung nhận dạng tiếng nói nói riêng lĩnh vực nhiều người quan tâm Trong đó, tốn nhận dạng tiếng nói tiếng Việt phương pháp học sâu mang lại hiệu cao tính ổn định thích nghi tốt liệu đầu vào có thay đổi Giao tiếp lời nói phương tiện giao tiếp tiêu biểu đời sống người Giọng nói mang nhiều thơng tin đến người nói Để nhận giọng nói từ người, có số tính định tồn tín hiệu giọng nói Bởi thơng tin có giá trị nó, có nhiều ứng dụng sử dụng nhận dạng giọng nói như: trị chuyện, phát người, bảo mật, kinh doanh, v.v Luận văn đề xuất phương pháp sử dụng mơ hình học sâu mạng nơ-ron tích chập (CNN) để nhận dạng giọng nói tiếng Việt thơng qua trích xuất tính Mel Spectrogram sử dụng Mạng nơ ron nhân tạo để phân biệt giọng nói theo giới tính vùng miền Các thử nghiệm thực tập liệu âm VIVOS liệu từ thi phân biệt giọng nói thi Zalo AI 2019 đạt độ xác tốt dự đốn giới tính vùng miền giọng nói tiếng Việt vii SUMMARY In the digital era, it cannot be denied that speech recognition is important in various aspects of life Along with the explosion of artificial intelligence, there have been many published research works on deep learning, in which the field of natural language processing in general as well as speech recognition in particular is one of them in areas of great interest In particular, the problem of Vietnamese speech recognition by deep learning method brings high efficiency because of its very good stability and adaptability when the input data changes Verbal communication is the most typical means of communication in human life Voice carries a lot of information to the person speaking In order to receive a voice from a person, certain features exist in the signal of the voice Because of its valuable information, there are many applications that use voice recognition such as: chat, person detection, security, business, etc In this thesis, I would like to propose a method using deep learning model of convolutional neural network (CNN) to recognize Vietnamese voice through Mel Spectrogram feature extraction and using Artificial Neural Networks to distinguish voices by gender and region The tests performed on the VIVOS audio dataset and the data set from the Zalo AI 2019 speech discrimination contest achieved good accuracy in predicting the gender and region of the Vietnamese voice viii DANH MỤC CHỮ VIẾT TẮT KÝ HIỆU TÊN TIẾNG ANH DNN Deep Neural Network CNN Convolution Neural Network ANN Artificial Neural Network AI Artificial Intelligence MFCC Mel Frequency Cepstral Coefficient LPC Linear Prediction Coefficient LPCC Linear Prediction Cepstral Coefficient PLP Perceptual Linear Predictive AUC Area Under the Curve ix DANH MỤC BẢNG BIỂU Bảng 4.1 Bảng liệu huấn luyện 70 Bảng 4.2 Bảng thống kê liệu lời nói Vivos Corpus 71 Bảng 4.3 Bảng chi tiết thơng số mơ hình 73 Bảng 4.4 Bảng kết đánh giá 74 Bảng 4.5 Bảng kết đánh giá với VGG-16 75 Bảng 4.6 Bảng kết đánh giá với CNN – tầng 76 Bảng 4.7 Xem đánh giá hệ thống 81 Bảng 4.8 Xem chi tiết liệu huấn luyện 81 Bảng 4.9 Chức thu âm giọng nói 82 Bảng 4.10 Bảng chức nghe lại giọng nói thu âm 82 Bảng 4.11 Bảng chức dự đoán âm đầu vào 83 Bảng 4.12 Bảng chức xem kết dự đoán 84 x DANH MỤC HÌNH, ĐỒ THỊ Hình 2.1 Mạng Nơ-ron sinh học 17 Hình 2.2 Cấu trúc mạng nơ-ron nhân tạo 18 Hình 2.3 Quá trình xử lý nơ-ron ANN 18 Hình 2.4 Đồ thị hàm ReLU 19 Hình 2.5 Đồ thị hàm Sigmoid .20 Hình 2.6 Đồ thị hàm Tanh 20 Hình 2.7 AlphaGo Google .22 Hình 2.8 Mơ cách tính lan truyền ngược 24 Hình 2.9 Mơ hình lớp CNN 26 Hình 2.10 Ví dụ mơ hình CNN 27 Hình 2.11 Minh họa tích chập ma trận ảnh 29 Hình 2.12 Phương thức Average Pooling Max Pooling 30 Hình 2.13 Ví dụ cấu trúc CNN 31 Hình 2.14 Các cột mốc phát triển mạng CNN .31 Hình 2.15 Sơ đồ phát triển mơ hình mạng CNN 32 Hình 2.16 Các mơ hình học sâu CNN 32 Hình 2.17 Kiến trúc LeNet 33 Hình 2.18 Kiến trúc AlexNet 33 Hình 2.19 Kiến trúc VGG-16 .34 Hình 2.20 Kiến trúc GoogleNet - Inception version 36 Hình 2.21 Kiến trúc GoogleNet - Inception version 38 Hình 2.22 Kiến trúc ResNet 39 xi Hình 2.23 Kiến trúc tóm tắt mang ResNet-50 40 Hình 3.1 Mơ hình đề xuất nhận dạng tiếng nói tiếng Việt 49 Hình 3.2 Biểu đồ tần số Spectrogram (phổ âm) file âm .51 Hình 3.3 Sơ đồ khối giải thuật tính phổ Mel-Spec .51 Hình 3.4 Ví dụ mẫu âm 52 Hình 3.5 Phân khung tín hiệu .53 Hình 3.6 Tín hiệu miền thời gian 54 Hình 3.7 Tín hiệu miền tần số tương ứng 54 Hình 3.8 Hình minh họa trình biến đổi Fourier 55 Hình 3.9 Hình minh họa thang đo Mel Scale 56 Hình 3.10 Băng lọc khoảng cách theo miền tần số Mel 57 Hình 3.11 Hình minh họa trước sau chuyển sang tần số Mel 58 Hình 3.13 Hai cách xếp đặc trưng giọng nói đầu vào mạng CNN 59 Hình 3.14 Hình minh họa “lớp” CNN 60 Hình 3.15 Hình minh họa trình học mạng CNN 63 Hình 3.16 Hình minh họa trọng số học tập mạng CNN 64 Hình 4.1 Cấu trúc mơ hình CNN lớp phức hợp 72 Hình 4.2 Cấu trúc mơ hình CNN – VGG16 75 Hình 4.3 Cấu trúc mơ hình CNN – tầng 75 xii CHƯƠNG TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU Trong chương này, luận văn trình bày khái quát toán nhận dạng âm thanh, tiếng nói ứng dụng mục tiêu đề tài 1.1 Lý chọn đề tài Việt Nam đất nước đa dạng văn hóa khác nhau, với 54 dân tộc anh em giao thoa văn hóa vùng miền tạo nên nét đặc trưng đời sống Ngôn ngữ phương ngữ địa phương thực đa dạng Theo xu nhận dạng hỗ trợ giọng nói vùng miền đặt vấn đề thiết yếu sống Ngày nay, việc áp dụng công nghệ thông tin vào hầu hết lĩnh vực đời sống trở nên quen thuộc Tại Việt Nam AI ứng dụng mạnh mẽ nhiều lĩnh vực y tế, giáo dục, nông nghiệp, giao thông, thương mại điện tử, Công nghệ AI mang lại cho Việt Nam phát triển vượt bậc thời gian qua Luận văn trình bày phương pháp để nhận dạng tiếng nói tiếng Việt việc áp dụng ưu điểm phương pháp học sâu (CNN) Bằng việc trích xuất tính Mel Spectrogram kết hợp sử dụng Mạng nơ ron tích chập để phân biệt giọng nói theo giới tính vùng miền nước Việt Nam Chúng tiến hành thử nghiệm tập liệu âm VIVOS liệu từ thi phân biệt giọng nói Zalo AI 2019 đạt độ xác tốt dự đốn giới tính vùng miền giọng nói tiếng Việt Các nghiên cứu gần cho thấy mạng nơ-ron tích chập CNN mang lại hiệu tốt nhận dạng có tính thích nghi cao hoạt động ổn định Vì tơi chọn đề tài : “Nhận dạng tiếng nói tiếng Việt phương pháp học sâu” cho luận văn tốt nghiệp cao học 1.2 Mục tiêu nghiên cứu Luận văn hướng tới việc nghiên cứu thuật toán nhận dạng âm mạng nơ ron tích chập (CNN) phương pháp học sâu để trích xuất đặc trưng phân loại, nhận dạng giọng nói Qua việc nghiên cứu phương pháp học sâu cho tốn nhận dạng giọng nói kết hợp với ngơn ngữ lập trình Python luận văn xây dựng ứng dụng nhận dạng âm đầu vào với mục tiêu nhận dạng giới tính vùng miền âm 13 1.3 Đối tượng, phạm vi nghiên cứu Để thực mục tiêu đề ra, luận văn hướng đến nghiên cứu vấn đề sau: - Tập trung vào đối tượng nghiên cứu luận văn tiếng nói người, kỹ thuật nhận dạng âm tiếng nói - Phạm vi nghiên cứu phương pháp học sâu, hiệu cách sử dụng chúng từ đề xuất phương pháp cụ thể hiệu 1.4 Phương pháp nghiên cứu Để thực luận văn này, sử dụng phương pháp nghiên cứu sau: - Phương pháp phân tích tổng hợp lý thuyết: Tìm kiếm, tổng hợp nghiên cứu tài liệu Mạng nơ-ron tích chập (Convolutional Neural Network – CNN); Phương pháp trích xuất đặc trung âm Log Mel Spectrogram, kỹ thuật nhận dạng âm tiếng nói Tìm hiểu kiến thức liên quan đến kỹ thuật, ngôn ngữ lập trình Flask Web FrameWork - Phương pháp thực nghiệm: Sau nghiên cứu lý thuyết, xác định vấn đề tốn, đề xuất mơ hình, dựa kết nghiên cứu trước đó, luận văn thực nghiệm mơ hình phương pháp học sâu, kết hợp lợi mơ hình CNN tự tạo thư viện thích hợp hỗ trợ cho việc xây dựng hệ thống nhận âm đầu vào, qua trình xử lý cho kết nhận dạng giới tính vùng miền âm thanh, giọng nói - Phương pháp so sánh đánh giá: phân tích đánh giá mơ hình đề xuất với mơ hình nghiên cứu trước độ đo Loss Accuracy 1.5 Ý nghĩa khoa học thực tiễn Ý nghĩa khoa học: Luận văn góp phần giới thiệu lý thuyết phân tích âm thanh, cách xây dựng hệ thống nhận dạng, phân loại giới tính giọng nói vùng miền Việt Nam 14 Góp phần nghiên cứu thêm mơ hình học sâu lĩnh vực nhận dạng phân loại âm phổ biến sử dụng CNN Cài đặt thử nghiệm đánh giá mô hình phân loại giới tính nhận dạng giọng nói vùng miền thực nghiệm CNN lớp, VGG16, CNN tầng tự tạo đánh giá độ đo khác Nghiên cứu tạo tiền đề cho nghiên cứu Ý nghĩa thực tiễn: Luận văn xây dựng ứng dụng trực quan mô hình để phân loại giới tính nhận dạng tiếng nói vùng miền nước Việt Nam Bên cạnh ứng dụng thống kê số liệu thể so sánh mơ hình khác q trình huấn luyện, kiểm thử kiểm tra mơ hình nhận dạng giới tính giọng nói xây dựng dựa mơ hình CNN Luận văn xây dựng thành cơng hệ thống nhận dạng tiếng nói tiếng Việt, ứng dụng thực tế nhiều lĩnh vực trợ lý ảo, phát người, an ninh - bảo mật, kinh doanh, nhằm đáp ứng yêu cầu nhận dạng bảo mật ngày cao 1.6 Bố cục luận văn Nội dung luận văn chia thành phần sau: Chương 1: Tổng quan lĩnh vực nghiên cứu Trình bày khái qt tốn nhận dạng âm thanh, tiếng nói ứng dụng mục tiêu đề tài Chương 2: Cơ sở lý thuyết nghiên cứu liên quan Trình bày sở lý thuyết nghiên cứu liên quan đến thuật toán phát hiện, nhận dạng phân loại phát triển luận văn Chương 3: Mô hình đề xuất Trình bày phương pháp phát hiện, phân loại giới tính, phương pháp nhận dạng tiếng nói vùng miền nước Việt Nam, sơ đồ liên kết mô hình ứng dụng web Chương 4: Thực nghiệm 15 Trình bày trình thực nghiệm, kết đạt được, phân tích đánh giá kết đạt Chương 5: Kết luận hướng phát triển Tổng quát kết thực hiện, đưa hướng phát triển cho mơ hình tương lai 16 CHƯƠNG CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN Trong chương này, luận văn giới thiệu sở lý thuyết nghiên cứu liên quan đến mơ hình mạng nơ-ron, nghiên cứu liên quan, thuật toán phát hiện, nhận dạng phân loại phát triển luận văn 2.1 Mạng Nơ-ron tích chập 2.1.1 Mạng Nơ-ron nhân tạo Mạng Nơ-ron nhân tạo (Artificial Neural Network – ANN) mơ hình xử lý thơng tin mô dựa hoạt động hệ thống thần kinh sinh vật hay gọi mạng Nơ-ron sinh học (hình 2.1) Cấu tạo từ số lượng lớn nơ-ron kết nối với để xử lý thông tin ANN giống não người, học kinh nghiệm thơng qua huấn luyện, có khả lưu giữ kinh nghiệm tri thức sử dụng tri thức việc dự đốn liệu chưa biết ANN giới thiệu năm 1943 nhà thần kinh học Warren McCulloch nhà logic học Walter Pits Hình 2.1 Mạng Nơ-ron sinh học Các ứng dụng Mạng neuron sử dụng nhiều lĩnh vực điện, điện tử, kinh tế, quân sự,… để giải tốn có độ phức tạp địi hỏi có độ xác cao điều khiển tự động, khai phá liệu, nhận dạng,… Kiến trúc chung mạng nơ ron nhân tạo (ANN) gồm ba tầng: lớp đầu vào (input layer), lớp ẩn (hidden layers) cuối lớp đầu (output layer) mơ tả hình 2.2, đó, lớp ẩn gồm nhiều nơ-ron nhận liệu đầu vào từ 17 lớp trước để xử lý chuyển đổi liệu cho lớp Một ANN có nhiều lớp ẩn khơng có lớp ẩn Hình 2.2 Cấu trúc mạng nơ-ron nhân tạo Mỗi node mạng gọi nơ-ron Mỗi nơ-ron nhận liệu đầu vào xử lý chúng trả kết Kết đầu nơ-ron làm liệu đầu vào nơ-ron khác Hình 2.3 mơ tả q trình xử lý nơ-ron ANN Trong input liệu đầu vào, output kết đầu Trọng số liên kết hay trọng số (connection weights hay gọi tắt weights) thành phần quan trọng, thể mức độ quan trọng trình xử lý liệu từ lớp sang lớp khác Quá trình học ANN thực trình điều chỉnh trọng số liệu đầu vào Hình 2.3 Quá trình xử lý nơ-ron ANN 18 Hàm tổng Σ tính tổng tích trọng số liệu vào Hàm tính tổng nơron k liệu đầu vào lớp thứ i 𝑌 = ∑𝑘𝑚=1 𝑋𝑚 𝑊𝑚 (2.1) Hàm kích hoạt hay hàm chuyển đổi 𝑓 tính tốn đầu nơ-ron để chuyển đến lớp mạng nơ-ron Hàm kích hoạt phi tuyến sử dụng mạng sử dụng hàm kích hoạt tuyến tính lược giản thơng qua biến đổi đại số thành mơ hình perceptron lớp (là mơ hình ANN đơn giản nhất, khơng có lớp ẩn) Một số hàm kích hoạt phi tuyến thường dùng ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian, tanh, softmax Hình 2.4, 2.5, 2.6 Hàm ReLU: 𝑓 (𝑥) = max⁡(0, 𝑥) (2.2) Hình 2.4 Đồ thị hàm ReLU Hàm Sigmoid: 𝑓 (𝑥 ) = (2.3) 1+𝑒 −𝑥 19 Hình 2.5 Đồ thị hàm Sigmoid Hàm Tanh: 𝑓 (𝑥 ) = 1+𝑒 −2𝑥 −1 (2.4) Hình 2.6 Đồ thị hàm Tanh Kết xử lý đầu hàm tổng nơ-ron đơi q lớn, hàm kích hoạt thường dùng để xử lý đầu trước chuyển đến lớp Đơi thay sử dụng hàm kích hoạt, ta thường sử dụng giá trị ngưỡng để kiểm soát đầu nơron Nếu đầu nơ-ron nhỏ ngưỡng không chuyển đến lớp Một số dạng mạng nơ-ron nhân tạo: 20 Mạng liên kết đầy đủ (fully connected-FC) đầu lớp liên kết với nơ-ron lớp Mạng lan truyền thẳng (feedforward network) không tồn liên kết nơ-ron thuộc lớp Mạng phản hồi (feedback network) tồn đầu nơ-ron liên kết ngược lại làm đầu vào nơ-ron lớp Mạng hồi quy (recurrent network) mạng phản hồi có vịng lặp kín Q trình học mạng nơron q trình lan truyền thơng tin để làm thay đổi trọng số tốt Mạng nơ-ron huấn luyện hay học theo ba phương pháp học có giám sát, học khơng giám sát học tăng cường: Học có giám sát (supervised learning): phương pháp học từ tập liệu huấn luyện ta biết trước nhãn liệu cần học số lớp cần phân loại liệu đem huấn luyện Đây phương pháp học phổ biến phương pháp học mạng nơ-ron Mục đích phương pháp từ tập liệu gán nhãn qua trình học tạo hàm số thật tốt để có liệu ta tính hay dự đốn nhãn tương ứng liệu Phương pháp học có giám sát chia thành hai loại là: - Phân loại (classification): Nếu nhãn liệu đầu vào chia thành số hữu hạn nhóm Như tốn nhận dạng chữ số viết tay, dị tìm khn mặt người, … - Hồi quy (regression): Nếu nhãn liệu đầu vào khơng chia thành nhóm mà giá trị thực cụ thể Ví dụ tốn dự đoán giá nhà, giá trị dinh dưỡng ăn,… Học khơng giám sát (Unsupervised Learning): phương pháp học từ tập liệu cần học ta trước nhãn liệu, số lớp đầu Thuật toán dựa vào cấu trúc liệu để phân nhóm hay giảm chiều liệu,… Học khơng giám sát có liên quan chặt chẽ đến việc ước lượng mật độ thống kê Cách học không sử dụng tri thức từ bên ngồi q trình học nên cịn gọi tự tổ chức 21 Mạng nơ-ron điển hình cho cách học Self – Organizing Map (SOM) Một số thuật tốn học khơng giám sát khác k-means, Hierarchical Agglomerative Clustering (HAC), Fuzzy Cognitive Map (FCM),… Phần lớn ứng dụng học không giám sát vào tốn ước lượng mơ hình hóa thống kê, nén, lọc, phân nhóm,… Học tăng cường (Reinforcement Learning): phương pháp học giúp cho hệ thống tự động xác định hành động dựa hoàn cảnh để đạt lợi ích cao Học tăng cường cách thử nghiệm liệu để khám phá hành động tốt Hành động khơng có lợi ích tốt cho bước mà cho bước Hai đặc điểm quan trọng để phân biệt học tăng cường tìm kiếm thử - sai (trialand-error search) bồi dưỡng chậm (delayed reward) Hiện tại, học tăng cường chủ yếu áp dụng vào Lý thuyết trị chơi, thuật tốn cần xác định hành động để đạt số điểm tốt Ví dụ, AlphaGo Google đánh cờ vây thắng người, cờ vây có độ phức tạp cao xấp xỉ 10761 AlphaGo kết hợp học có giám sát học tăng cường, Hình 2.7 Hình 2.7 AlphaGo Google1 Huấn luyện mạng nơ ron nhân tạo Phương pháp phổ biến để huấn luyện mạng nơ ron nhân tạo Gradient Descent Để áp dụng Gradient Descent, cần tính gradient hàm mát theo ma trận trọng số W(l) vector bias b(l) Trước hết, cần dự đoán kết y ̂ với input x theo công thức sau: popularmechanics.com 22 𝒂(0) = 𝑥 (𝑙)𝑇 (𝑙−1) 𝑧𝑖𝑙 = 𝒘𝑖 𝒂 (2.5) + 𝑏𝑖𝑙 (2.6) 𝑧 (𝑙) = 𝑾(𝑙)𝑇 𝒂(𝑙−1) + 𝒃(𝑙) (2.7) 𝒂(𝑙) = 𝑓(𝒛(𝑙) ) (2.8) ̂ = 𝒂(𝐿) 𝒚 (2.9) Với 𝑙 = 1, … , 𝐿 số thứ tự lớp, a kết hàm kích hoạt node lớp Bước gọi truyền thẳng cách tính toán thực từ lớp đến lớp cuối mạng nơ-ron Giả sử J(W,b,X,Y) hàm mát tốn, W,b tập hợp tất ma trận trọng số layer biases layer X,Y cặp liệu huấn luyện với cột tương ứng với điểm liệu Để áp dụng Gradient Descent, cần tính cơng thức: 𝜕𝐽 𝜕𝑾(𝑙) ; 𝜕𝐽 𝜕𝒃(𝑙) ⁡, 𝑙 = 1,2, … , 𝐿⁡ (2.10) Một ví dụ hàm mát hàm lỗi trung bình bình phương (Mean Square Error - MSE): 𝐽(𝐖, 𝐛, 𝐗, 𝐘) = ∑𝑁 ̂𝑛 ‖22 𝑛=1‖𝑦𝑛 − 𝑦 (2.11) 𝑁 (𝐿) = ∑𝑁 𝑛=1‖𝑦𝑛 − 𝑎𝑛 ‖2 𝑁 (2.12) Với N số cặp liệu (X,Y) tập huấn luyện Theo công thức (2.12) việc tính đạo hàm hàm lỗi theo trọng số hướng cách trực tiếp phức tạp, hàm lỗi khơng phụ thuộc trực tiếp vào hệ số Phương pháp phổ biến để tính đạo hàm hàm lỗi có tên lan truyền ngược Lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối đến lớp Lớp cuối tính trước gần với đầu dự đốn hàm lỗi Việc tính tốn đạo hàm lớp trước thực dựa nguyên tắc xích, tức đạo hàm hàm hợp 23 𝜕𝑧 𝜕𝑥 = 𝜕𝑧 𝜕𝑦 𝜕𝑦 𝜕𝑥 = 𝑓 ′ (𝑦)𝑔′ (𝑥) = 𝑓 ′ (𝑔(𝑥))𝑔′ (𝑥) (2.13) Với z = f(y) y = g(x) Stochatic Gradient Descent sử dụng để tính gradient cho ma trận trọng số biases dựa cặp điểm training x,y Chúng ta coi J hàm mát xét cặp điểm này, J hàm mát bất kỳ, không hàm MSE 𝜕𝐽 (𝐿) 𝜕𝑤𝑖,𝑗 = (𝐿) 𝜕𝐽 (𝐿) 𝜕𝑤𝑗 (𝐿) 𝜕𝑧𝑗 (𝐿) 𝜕𝑤𝑖,𝑗 (𝐿−1) = 𝑒𝑗 𝑎𝑖 Trong đó, đặt (𝐿) 𝑧𝑗 (𝐿) 𝑒𝑗 (𝐿)𝑇 (𝐿−1) = 𝒘𝑗 𝒂 = (2.14) (2.15) (𝐿) 𝜕𝐽 (𝐿) 𝜕𝑧𝑗 thường đại lượng dễ tính tốn (𝐿−1) 𝜕𝑧𝑗 𝑎𝑖 =⁡ (𝐿) 𝜕𝑤 𝑖,𝑗 (𝐿) + 𝑏𝑗 Tương tự, ta có đạo hàm hàm mát theo bias layer cuối theo công thức: 𝜕𝐽 (𝐿) 𝜕𝑏𝑗 = 𝜕𝐽 (𝐿) 𝜕𝑧𝑗 (𝐿) 𝜕𝑧𝑗 (𝐿) 𝜕𝑏𝑗 (𝐿) = 𝑒𝑗 (2.16) (2.17) Hình 2.8 mơ cách tính lan truyền ngược, với đạo hàm theo hệ số lớp 𝑙 thấp hơn, lớp cuối lớp đầu ra, 𝑑 (𝑙) số node lớp ẩn thứ 𝑙 Hình 2.8 Mơ cách tính lan truyền ngược Dựa vào hình 2.8, ta tính được: 24 𝜕𝐽 (𝑙) 𝜕𝑤𝑖,𝑗 = (𝑙) 𝜕𝐽 (𝑙) 𝜕𝑧𝑗 𝜕𝑧𝑗 (2.18) (𝑙) 𝜕𝑤𝑖,𝑗 (𝑙) (𝑙−1) = 𝑒𝑗 𝑎𝑖 (2.19) Với: 𝜕𝐽 (𝑙) 𝑒𝑗 = (2.20) (𝑙) 𝜕𝑧𝑗 (𝑙) 𝜕𝐽 = (𝑙) 𝜕𝑎𝑗 𝜕𝑎𝑗 (𝑙+1) (∑𝑑𝑘=1 = (2.21) (𝑙) 𝜕𝑧𝑖,𝑗 (𝑙+1) 𝜕𝐽 (𝑙+1) 𝜕𝑧𝑘 (𝑙+1) (𝑙+1) = (∑𝑑𝑘=1 𝑒𝑘 (𝑙+1) = (𝑒 (𝑙+1) 𝑤𝑗,: (𝑙+1) Trong đó, 𝑒 (𝑙+1) = [𝑒1 (𝑙+1) , 𝑒2 (𝑙+1) ma trận trọng số 𝑾(𝑙+1) 𝑤𝑗 𝜕𝑧𝑘 (𝑙+1) 𝑤𝑗,𝑘 (𝑙) ) 𝑓 ′ (𝑧𝑗 ) (𝑙) 𝜕𝑎𝑗 (2.22) (𝑙) ) 𝑓 ′ (𝑧𝑗 ) (2.23) (𝑙) )𝑓 ′ (𝑧𝑗 ) (𝑙+1) 𝑇 (2.24) , … , 𝑒𝑑(𝑙+1) ] ⁡ ∈ ℝ𝑑 (𝑙+1) ×1 (𝑙+1) , 𝑤𝑗,: hàng thứ j cột thứ j 𝑊 (𝑙+1) (𝑙) (𝑙+1) Dấu ∑ xuất 𝑎𝑗 đóng góp vào việc tính tất 𝑧𝑘 (𝑙) 𝑎𝑗 = (𝑙) 𝑓(𝑧𝑗 ) nên ta nhận thấy việc chọn hàm lỗi có đạo hàm đơn giản có ích việc tính tốn Tương tự suy ra: 𝜕𝐽 (𝑙) 𝜕𝑏𝑗 (𝑙) = 𝑒𝑗 (2.25) (𝑙) Từ cơng thức trên, thấy việc tính 𝑒𝑗 quan trọng Và theo công (𝑙) (𝑙+1) thức (2.25) để tính 𝑒𝑗 ta cần tính 𝑒𝑗 hay nói cách khác ta cần tính ngược giá trị từ lớp cuối đến lớp đầu 2.1.2 Mạng Nơ-ron tích chập Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) mơ hình học sâu tiên tiến giúp xây dựng hệ thống thơng minh với độ xác cao Như nay, hệ thống xử lý ảnh lớn Facebook, 25 Google hay Amazon đưa vào sản phẩm chức thơng minh nhận dạng khn mặt người dùng, phát triển xe tự lái hay máy bay giao hàng tự động,… Mơ hình mạng nơ-ron truyền thẳng đời áp dụng nhiều vào toán nhận dạng Tuy nhiên, liệu hình ảnh, mạng nơ-ron truyền thẳng thể khơng thực tốt Chính liên kết đầy đủ tạo nên hạn chế cho mơ hình Dữ liệu ảnh có kích thước lớn, ảnh xám 32x32 điểm ảnh cho vector đặc trưng có 1024 chiều, ảnh màu kích thước có 3072 chiều Điều có nghĩa cần tới 3072 trọng số θ nối lớp đầu vào node lớp ẩn Số lượng trọng số nhân rộng số lượng node lớp ẩn tăng lên số lượng lớp ẩn tăng lên Như với ảnh nhỏ 32x32 cần đến mơ hình mạng nơ-ron truyền thẳng đồ sộ, điều khiến cho việc thao tác với ảnh lớn khó khăn Hơn nữa, việc liên kết đầy đủ điểm ảnh vào node mạng dư thừa phụ thuộc lẫn điểm ảnh xa không nhiều, mà chủ yếu phụ thuộc điểm ảnh lân cận Dựa tư tưởng này, mạng nơ-ron tích chập đời với cấu trúc khác hẳn mạng nơ-ron truyền thẳng Thay tồn ảnh nối trực tiếp với node có phần cục ảnh nối với node lớp Dữ liệu hình ảnh ban đầu qua lớp mơ hình mạng nơ-ron tích chập học đặc trưng để tiến hành phân lớp hiệu Về bản, CNN bao gồm lớp sau: lớp tích chập (Convolutional layer), lớp hàm kích hoạt (Activation layer), lớp pooling (Pooling layer) hay gọi lớp subsampling, lớp kết nối đầy đủ (Fully Connected layer) Hình 2.9 Hình 2.9 Mơ hình lớp CNN 26 Trong mơ hình CNN (Hình 2.9), lớp liên kết với thơng qua chế tích chập Lớp kết tích chập lớp trước đó, nhờ mà ta có kết nối cục Nghĩa nơ-ron lớp sinh từ lọc áp đặt lên vùng ảnh cục nơ-ron lớp trước Mỗi lớp áp đặt lọc khác nhau, thơng thường có vài trăm đến vài nghìn lọc Một số lớp khác pooling/subsampling dùng để chắt lọc lại thơng tin hữu ích Trong suốt q trình huấn luyện, mạng nơ-ron tích chập tự động học thông số cho lọc Như phân loại ảnh, CNN cố gắng tìm thơng số tối ưu cho lọc tương ứng theo thứ tự Điểm ảnh ban đầu > cạnh > hình dạng > mặt > đặc trưng mức cao Lớp cuối thường dùng để phân loại ảnh Hình 2.10 Ví dụ mơ hình CNN2 Lớp tích chập: Tích chập (Convolution) phép tốn thực với hai hàm số, kí hiệu * Phép tích chập ứng dụng thống kê, thị giác máy tính, xử lý ảnh xử lý tín hiệu,… Tích chập hàm số f g viết f * g, phép biến đổi tích phân đặc biệt: machinelearningcoban.com 27 ∞ ∞ (𝑓 ∗ 𝑔) = ∫−∞ 𝑓 (𝜏)𝑔(𝑡 − 𝜏)𝑑𝜏 = ∫−∞ 𝑓 (𝑡 − 𝜏)𝑔(𝜏)𝑑𝜏 (2.26) Một cách tổng quát, hàm f, g hàm số phức không gian ℝ𝑑 , tích chập định nghĩa là: (𝑓 ∗ 𝑔)(𝑥) = ∫ℝ𝑑⁡ 𝑓 (𝑦)𝑔(𝑥 − 𝑦)𝑑𝑦 = ∫ℝ𝑑 𝑓 (𝑥 − 𝑦)𝑔(𝑦)𝑑𝑦 (2.27) Đối với tích chập rời rạc, với hàm số phức xác định tập số nguyên, tích chập định nghĩa: ∞ (𝑓 ∗ 𝑔)(𝑛) = ∑∞ 𝑚=−∞ 𝑓(𝑚)𝑔(𝑛 − 𝑚)𝑑𝑚 = ∑𝑚=−∞ 𝑓(𝑛 − 𝑚)𝑔(𝑚)𝑑𝑚 (2.28) Tích chập xử lý ảnh Tích chập lần sử dụng xử lý tín hiệu số (Signal processing) Nhờ vào nguyên lý biến đổi thông tin, nhà khoa học áp dụng kỹ thuật vào xử lý ảnh video Để dễ hình dung, ta xem tích chập cửa sổ trượt (sliding window) áp lên ma trận Cửa sổ trượt cịn gọi nhân (kernel) Hình 2.11 minh họa cách tính tích chập ma trận ảnh đen trắng Ma trận ảnh đen trắng có ô giá trị điểm ảnh, màu đen, màu trắng Ta dùng ma trận nhân, nhân thành phần tương ứng với ma trận ảnh Giá trị đầu tích thành phần cộng lại Kết tích chập ma trận sinh từ việc trượt ma trận nhân thực tích chập lúc lên tồn ma trận ảnh gốc 28 Hình 2.11 Minh họa tích chập ma trận ảnh Lớp hàm kích hoạt Lớp xây dựng với ý nghĩa đảm bảo tính phi tuyến mơ hình huấn luyện sau thực loạt phép tính tốn tuyến tính qua lớp Tích chập Lớp Kích hoạt phi tuyến nói chung sử dụng hàm kích hoạt phi tuyến ReLU sigmoid, tanh… để giới hạn phạm vi biên độ cho phép giá trị đầu Trong số hàm kích hoạt này, hàm ReLU chọn cài đặt đơn giản, tốc độ xử lý nhanh mà đảm bảo tính tốn hiệu Cụ thể, phép tính tốn hàm ReLU đơn giản chuyển tất giá trị âm thành giá trị 𝑓 (𝑥) = max(0, x) (2.29) Thông thường, lớp ReLU áp dụng phía sau lớp Tích chập, với đầu ảnh có kích thước giống với ảnh đầu vào, giá trị điểm ảnh hoàn toàn tương tự trừ giá trị âm bị loại bỏ Lớp pooling Một thành phần tính tốn khác mạng CNN lấy mẫu (Pooling), thường đặt sau lớp Tích chập lớp ReLU để làm giảm kích thước kích thước ảnh đầu giữ thông tin quan trọng ảnh đầu vào Việc giảm kích thước liệu có tác dụng làm giảm số lượng tham số tăng hiệu tính tốn Lớp lấy mẫu sử dụng cửa sổ trượt để quét toàn 29 vùng ảnh tương tự lớp Tích chập, thực phép lấy mẫu thay phép tích chập – tức ta chọn lưu lại giá trị đại diện cho tồn thơng tin vùng ảnh Hình 2.12 thể phương thức lấy mẫu thường sử dụng nay, Max Pooling (lấy giá trị điểm ảnh lớn nhất) Average Pooling (lấy giá trị trung bình điểm ảnh vùng ảnh cục bộ) Hình 2.12 Phương thức Average Pooling Max Pooling Như vậy, với ảnh đầu vào đưa qua lấy mẫu ta thu ảnh đầu tương ứng, có kích thước giảm xuống đáng kể giữ đặc trưng cần thiết cho trình tính tốn sau Lớp kết nối đầy đủ Lớp kết nối đầy đủ thiết kế hoàn toàn tương tự mạng nơron truyền thống, tức tất điểm ảnh kết nối đầy đủ với node lớp So với mạng nơ-ron truyền thống, ảnh đầu vào lớp có kích thước giảm bớt nhiều, đồng thời đảm bảo thông tin quan trọng cho việc nhận dạng Do vậy, việc tính tốn nhận dạng sử dụng mơ hình truyền thẳng khơng cịn phức tạp tốn nhiều thời gian mạng nơ-ron truyền thống Ngun lý hoạt đợng CNN hình thành cách ghép lớp nêu lại CNN bắt đầu với lớp tích chập Theo sau lớp tích chập ln lớp hàm kích hoạt, đơi ta ghép hai lớp lại thành lớp Các lớp lớp pooling lớp 30 tích chập tùy theo kiến trúc mà ta muốn xây dựng Cuối lớp FC, để tiến hành phân lớp liệu Hình 2.13 ví dụ cấu trúc CNN Hình 2.13 Ví dụ cấu trúc CNN 2.2 Các mơ hình học sâu CNN 2.2.1 Sự hình thành phát triển Mạng CNN đề xuất lần vào năm 1980 Kunihiko Fukushima [1], sau Y Lecun, L Bottou, Y Bengio P Haffner cải tiến vào năm 1998 [2] Mạng CNN đời thúc đẩy trình phát triển ngành computer vision Hiện có nhiều kiến trúc mạng CNN khác kiến trúc tiếp tục khám phá ngày qua ngày Nhưng biết đằng sau khám phá tiến trình khoa học lâu dài bền bỉ gần 20 năm Với kết hợp đồng phát triển kiến trúc mạng, khả tính tốn máy tính phương pháp tối ưu hóa, ngày kiến trúc CNN có đóng góp khơng nhỏ mang tính cải tiến kiến trúc mạng so với trước Lộ trình hình thành phát triển ngày mạng CNN thể hình 2.14: Hình 2.14 Các cột mốc phát triển mạng CNN3 towardsdatascience.com 31 Hình 2.15 Sơ đồ phát triển mơ hình mạng CNN 2.2.2 Các mơ hình CNN tiêu biểu Mất nhiều năm hình thành phát triển ngày nay, mạng CNN có đặc trưng riêng với ưu nhược điểm khác Hình 2.16 Các mơ hình học sâu CNN4 LeNet-5 Được Y Lecun, L Bottou, Y Bengio P Haffner giới thiệu vào năm 1998 [2], LeNet-5 kiến trúc áp dụng mạng tích chập chiều giáo sư Yan medium.com 32 Lecun, cha đẻ kiến trúc CNN Model ban đầu đơn giản bao gồm convolutional layers + fully-connected layers Mặc dù đơn giản cho thấy ưu vượt trội so với thuật toán machine learning phân loại chữ số viết tay Trong kiến trúc mạng neural đầu tiên, để giảm chiều liệu, Yan Lecun sử dụng Sub-Sampling Layer Average-Pooling Layer (các layer nhằm mục đích giảm chiều liệu mà không thay đổi đặc trưng gọi Sub-Sampling Layer) Kiến trúc khó huấn luyện trọng số nên ngày hạn chế sử dụng mạng CNN Thay vào layer Max-Pooling Đầu vào mạng LeNet có kích thước 32x32 layers nên số lượng tham số khoảng 60 nghìn Hình 2.17 Kiến trúc LeNet5 AlexNet AlexNet mạng CNN giới thiệu vào năm 2012 Alex Krizhevsky đồng nghiệp dành chiến thắng thi ImageNet với cách biệt lớn [3] Lần Alex net phá vỡ định kiến trước đặc trưng học không tốt đặc trưng tạo thủ cơng (thơng qua thuật tốn SUFT, HOG, SHIFT) Hình 2.18 Kiến trúc AlexNet6 towardsdatascience.com towardsdatascience.com 33 Ý tưởng AlexNet dựa LeNet Yan Lecun cải tiến điểm: - Tăng cường kích thước mạng sâu - Đầu vào có độ phân giải lớn - Sử dụng lọc (kernel) với kích thước giảm dần qua layers CNN - Sử dụng local normalization để chuẩn hóa layer giúp cho trình hội tụ nhanh Ngồi mạng cịn cải tiến q trình optimizer như: - Lần sử dụng activation ReLU (Rectified Linear Unit) thay cho Sigmoid ReLU hàm có tốc độ tính tốn nhanh nhờ đạo hàm có giá trị {0, 1} khơng có lũy thừa số hàm sigmoid tạo tính phi tuyến - Sử dụng dropout layer giúp giảm số lượng liên kết neural kiểm soát overfitting - Qua layers, kích thước output giảm dần độ sâu tăng dần qua kernel Mạng AlexNet có resolution input số lượng layer lớn nên số lượng tham số lên tới 60 triệu, lớn so với LeNet nhiều VGG-16 Chúng ta thấy mạng CNN ngày trở nên sâu Bởi cách dễ dàng để cải thiện độ xác mạng gia tăng kích thước mạng thơng qua độ sâu chúng Hình 2.19 Kiến trúc VGG-167 towardsdatascience.com 34 Từ sơ đồ mạng VGG-16 Karen Simonyan Andrew Zisserman giới thiệu [3] ta thấy cải tiến so với AlexNet: - Kiến trúc VGG-16 sâu hơn, bao gồm 13 layers tích chập chiều (thay so với AlexNet) layers fully connected - Lần VGG-16 xuất khái niệm khối (block) kiến trúc giống lặp lại Kiến trúc khối khởi nguồn cho dạng kiến trúc hình mẫu thường gặp mạng CNN trở sau - VGG-16 kế thừa lại hàm activation ReLU AlexNet - VGG-16 kiến trúc thay đổi thứ tự block xếp nhiều layers CNN + max pooling thay xen kẽ layer CNN + max pooling - VGG-16 sử dụng lọc kích thước nhỏ 3x3 thay nhiều kích thước lọc AlexNet Kích thước lọc nhỏ giúp giảm số lượng tham số cho mơ hình mà mang lại hiệu tính tốn VD: Nếu sử dụng lọc kích thước x featurs map (là output layer CNN) có độ sâu ta cần n_filters x kernel_size x kernel_size x n_channels = x x x = 54 tham số Nhưng sử dụng lọc kích thước x cần x x = 75 tham số lọc x mang lại hiệu so với lọc x Mạng VGG-16 sâu so với AlexNet số lượng tham số lên tới 138 triệu tham số Đây mạng mà có số lượng tham số lớn Kết xếp thứ liệu ImageNet validation thời điểm Ngồi cịn phiên VGG-16 VGG-19 tăng cường thêm layers độ sâu Bắt đầu từ VGG-16, hình mẫu chung cho mạng CNN tác vụ học có giám sát xử lý ảnh bắt đầu hình thành Các mạng trở nên sâu sử dụng kiến trúc dạng block lặp lại [Conv2D liên tiếp + Max Pooling] GoogleNet - Inception-V1 Mạng Inception-V1 giúp Wei Liu nhóm nhà khoa học Google Inc dành chiến thắng thi ImageNet vào năm 2015 [4] Kiến trúc giải câu hỏi lớn mạng CNN sử dụng kernel_size với kích thước hợp lý Các kiến trúc mạng neural trước sử dụng lọc với đa dạng 35 kích thước 11x11, 5x5, 3x3 nhỏ 1x1 Một khám phá đưa báo việc kết hợp đồng thời kernel vào module mang lại hiệu kiến trúc khối Inception Hình 2.20 Kiến trúc GoogleNet - Inception version 18 Khối Inception: - Khối Inception bao gồm nhánh song song Các lọc kích thước 1x1, 3x3, 5x5 áp dụng Inception Module giúp trích lọc đa dạng đặc trưng vùng nhận thức có kích thước khác - Ở đầu nhánh 1, 2, từ xuống, phép tích chập 1x1 sử dụng điểm ảnh kết nối fully connected nhằm mục đích giảm số độ sâu kênh số lượng tham số mơ hình Ví dụ: Ở block trước có kích thước width x height x channels = 12 x 12 x 256 Chúng sau áp dụng 32 lọc kích thước 1x1 khơng làm thay đổi width, height độ sâu giảm xuống 32, output shape có kích thước 12 x 12 x 32 Ở layer liền sau, thực tích chập tồn độ sâu, ta khởi tạo lọc có độ sâu 32 thay 256 Do đó số lượng tham số giảm cách đáng kể towardsdatascience.com 36 - Nhánh thứ từ xuống giảm chiều liệu layer maxpooling kích thước 3x3 sau áp dụng lọc kích thước 1x1 để thay đổi số kênh - Các nhánh áp dụng padding stride cho đầu có kích cỡ chiều dài chiều rộng Cuối ta concatenate toàn kết đầu khối theo kênh để thu output có kích thước với input Khối Inception lặp lại lần kiến trúc Inception-V1 Toàn mạng bao gồm 22 Layers, lớn gần gấp đôi so với VGG-16 Nhờ áp dụng tích chập 1x1 giúp giảm tham số mà số lượng tham số triệu, gần 27 lần so với VGG16 GoogleNet - Inception-V3 Inception-V3 [5] kế thừa Inception-V1 bao gồm 24 triệu tham số Tồn layer tích chập Inception-V3 theo sau layer batch normalization ReLU activation Batch normalization kỹ thuật chuẩn hóa đầu vào theo minibatch layer theo phân phối chuẩn hóa , giúp cho q trình huấn luyện thuật toán nhanh Inception-V3 giải vấn đề tắc nghẽn (representational bottlenecks) Tức kích thước output giảm cách đột ngột so với input có cách tính tốn hiệu nhờ sử dụng phương pháp nhân tố (factorisation methods) 37 Hình 2.21 Kiến trúc GoogleNet - Inception version 39 Hiện Inception module bao gồm version Chúng ta xem qua điểm đặc biệt version - Inception-A: Cải tiến so với Inception module V1 Tại nhãnh thứ thay layer tích chập x layer tích chập x liên tiếp giúp giảm số lượng tham số từ 25 18 tăng độ sâu cho mơ hình - Inception-B: Cải tiến so với Inception-A Thay tích chập x tích chập x nhánh thứ nhành thứ Đồng thời phân tích nhân tố tích chập x thành tích chập liên tiếp x x số lượng tham số so với tích chập tích chập x liên tiếp Số lượng tham số giảm từ 18 14 - Inception-C: Cải tiến so với Inception-B Thay tích chập x tích chập x x x đồng thời thay đặt layer x x liên tiếp đặt chúng song song Kiến trúc giúp giảm số lượng tham số từ 14 Ngoài Inception-V3 sử dụng kiến trúc giảm chiều liệu Reduction-A Reduction-B towardsdatascience.com 38 ResNet-50 Được nhóm nhà nghiên cứu Microsoft giới thiệu vào năm 2015 [6], ResNet kiến trúc sử dụng phổ biến thời điểm ResNet kiến trúc sớm áp dụng batch normalization Mặc dù mạng sâu có số lượng layer lên tới 152 nhờ áp dụng kỹ thuật đặc biệt mà ta tìm hiểu bên nên kích thước ResNet50 khoảng 26 triệu tham số Kiến trúc với tham số hiệu ResNet mang lại chiến thắng thi ImageNet năm 2015 Hình 2.22 Kiến trúc ResNet10 Những kiến trúc trước thường cải tiến độ xác nhờ gia tăng chiều sâu mạng CNN Nhưng thực nghiệm cho thấy đến ngưỡng độ sâu độ xác mơ hình bão hịa chí phản tác dụng làm cho mơ hình xác Khi qua nhiều tầng độ sâu làm làm thông tin gốc bị Các nhà nghiên cứu Microsoft giải vấn đề với ResNet cách sử dụng kết nối tắt Các kết nối tắt (skip connection) giúp giữ thông tin không bị cách kết nối từ layer sớm trước tới layer phía sau bỏ qua vài layers trung gian Trong kiến trúc base network CNN mạng YOLOv2, YOLOv3 gần YOLOv4 bạn thường xuyên thấy kết nối tắt áp dụng ResNet có khối tích chập (Convolutional Bock, Conv block hình) sử dụng lọc kích thước x giống với Inception Net Khối tích chập bao gồm nhánh tích chập nhánh áp dụng tích chập x trước cộng trực tiếp vào nhánh lại 10 towardsdatascience.com 39 Khối xác định (Identity block) khơng áp dụng tích chập x mà cộng trực tiêp giá trị nhánh vào nhánh cịn lại Gỉa sử có 𝑥 đầu vào khối xác định Chúng ta cần ánh xạ đầu vào 𝑥 thành hàm 𝑓 (𝑥) Để tìm ánh xạ chuẩn xác tương đương với hàm 𝑓 (𝑥) làm việc khó Nhưng cộng thêm đầu thành 𝑥 + 𝑓(𝑥) qui tham số hóa độ lệch, tức cần tham số hóa phần dư 𝑓(𝑥) Tìm ánh xạ theo phần dư dễ nhiều cần tìm giá trị 𝑓(𝑥) cho gần thu ánh xạ chuẩn xác Tại khối xác định, áp dụng layer activation ReLU sau xen kẽ tầng trọng số Mặc dù có kiến trúc khối kế thừa lại từ GoogleNet ResNet lại dễ tóm tắt triển khai nhiều kiến trúc sở gồm khối tích chập khối xác định Ta đơn giản hóa kiến trúc ResNet-50 hình bên dưới: Hình 2.23 Kiến trúc tóm tắt mang ResNet-5011 2.3 Xử lý âm 2.3.1 Các đặc trưng âm Thực tế, trích chọn đặc trưng đóng vai trị quan trọng vấn đề phân lớp âm Chúng đại diện cho đặc điểm quan trọng loại tín hiệu âm khác Để nâng cao tính xác việc phân lớp âm thanh, ta cần phải lựa chọn đặc trưng tốt Đa số phương pháp, giải thuật trích xuất chọn đặc trưng 11 towardsdatascience.com 40 âm xem đặc trưng sau hiệu để phân lớp phân loại âm Các đặc trưng âm miền thời gian Biểu diễn miền thời gian hay thời gian biên độ kỹ thuật trình diễn tín hiệu nhất, tín hiệu biểu diễn biên độ biến đổi theo thời gian Im lặng (câm), biểu diễn giá trị Giá trị tín hiệu âm dương phụ thuộc vào áp suất âm cao thấp áp suất cân im lặng Ngồi ta tính lượng trung bình, tốc độ vượt qua (Zero crossing rate) tỷ lệ câm (silense ratio) Năng lượng trung bình Năng lượng trung bình âm lượng (loudness) tín hiệu âm Có nhiều cách để tính tốn, cách tính theo cơng thức 2.30 dây điển hình: 𝐸 = ∑𝑁−1 𝑁=0 𝑥(𝑛)2 𝑁 (2.30) Trong đó, E lượng trung bình đoạn âm thanh, N tổng số mẫu đoạn audio, x(n) giá trị mẫu N Zero Crossing rate Tốc độ vượt qua tần số thay đổi dấu biên độ tín hiệu Nói cách khác tần số trung bình tín hiệu Tốc độ vượt qua tính cơng thức 2.31 bên dưới: 𝑍𝐶 = ⁡ ∑𝑁 𝑁=1 |𝑠𝑔𝑛⁡𝑥(𝑛)−𝑠𝑔𝑛⁡𝑥(𝑛−1)| 2𝑁 (2.31) Trong đó, sgn x(n) dấu x(n) có giá trị x(n) dương, giá trị -1 x(n) có giá trị âm Silence ratio 41 Tỉ lệ câm kích thước đoạn âm câm Câm định nghĩa chu kỳ giá trị biên độ tuyệt đối số mẫu nhỏ ngưỡng Có loại ngưỡng: ngưỡng biên độ ngưỡng thời gian Với ngưỡng biên độ, mẫu xem câm biên độ nhỏ ngưỡng biên độ Chỉ mẫu câm không xem chu kỳ câm Chỉ tổng mẫu câm liên tục vượt qua ngưỡng thời gian mẫu hình thành chu kỳ câm (silence period) Tỷ lệ câm tính tỷ lệ tổng chu kỳ câm tổng độ dài đoạn âm 2.3.2 Các phương pháp xử lý âm Âm rung động truyền qua khơng khí truyền qua vật trung gian nào, rung động nghe chúng đến tai Âm hình thành rung động quán không bị phá vỡ Thiết bị bắt sóng âm phát minh Édouard-Léon Scott de Martinville năm 1957 Sau Phonautograph vẽ sóng âm thành đường giấy, với sóng thơng qua số đặc trưng trích xuất mà chúng phân loại âm thành nhiều lớp danh mục [7] Lấy ví dụ nghe âm não bắt đầu xử lý âm phân loại âm giống dự đoán giọng nói phụ nữ mà khơng cần quan tâm người nói Điều biết dải tần số thuộc loại âm nào, thách thức lớn trích xuất đặc trưng Tiếng nói cách giao tiếp điển hình người Tiếng nói mang theo nhiều thông tin liên quan đến người nói Để nhận tiếng nói người nào, ln có đặc trưng tồn tín hiệu tiếng nói Những đặc trưng trích xuất hữu ích việc huấn luyện mơ hình nhận dạng tiếng nói Trong xử lý âm thanh, trích xuất âm xem xương sống Tầm quan trọng kỹ thuật trích xuất đặc trưng khơng thể phủ nhận nhận dạng âm 42 Có nhiều kỹ thuật khác trích xuất đặc trưng âm trình bày nhiều tài liệu khác sử dụng nhận dạng phát âm Mỗi kỹ thuật có ưu điểm nhược điểm riêng tuỳ thuộc vào môi trường âm [7] Một số kỹ thuật trích xuất đặc trưng là: ➢ Mel-frequency Cepstral Coefficients (MFCC) ➢ Perceptual Linear Predictive (PLP) ➢ Linear Prediction Coefficient (LPC) ➢ Relative Spectral Processing (RASTA) ➢ Linear Prediction Cepstral Coefficient (LPCC) 2.4 Các nghiên cứu liên quan Nhận dạng âm ứng dụng nhiều thực tế Các cách phân loại truyền thống Gaussian Mixture Models (GMM), Support Vector Machine (SVM) Hidden Markov Models (HMM) sử dụng nhiều trước việc nhận dạng âm Những đặc trưng trích xuất MFCC (Mel Frequency Cepstral Coefficient) hay GFCC (Gammatone Frequency Cepstral Coefficients) cần phải xử lý trước Nhưng cách tiếp cận thường không xử lý tốt liệu âm thu âm thông qua nhiều thiết bị môi trường khác nhau, không điều kiện thu âm Ngược lại giải thuật Học Máy (Machine Learning) thường cho kết độ xác cao Restricted Boltzmann Machine (RBM), Long-Short-Term Memory (LSTM) Convolutional neural Network (CNN) phương pháp tiếp cận học máy việc nhận dạng ❖ Các nghiên cứu liên quan nhận dạng âm thanh: Sayan Mandal, Sarthak Yadav and Atul Rai End-to-End Bengali Speech Recognition Staqu Technologies, India, 2020 [8] - Nội dung nghiên cứu: Sayan Mandal cộng giải tốn nhận dạng giọng nói từ đầu 43 đến cuối tiếng Bengali (tiếng Bengali ngôn ngữ bật tiểu lục địa Ấn Độ) Nhóm tác giả đề xuất áp dụng mạng nơ ron học sâu tích chập kết hợp CNN-RNN dựa kỹ thuật phân loại thời gian kết nối (CTC) để đánh giá hiệu suất đạt kết nhận dạng tốt tập liệu lớn tiếng Bengali Ưu điểm phương pháp mà nhóm tác giả đề xuất cho kết tốt nhận dạng ngôn ngữ khác Ấn độ, cụ thể tiếng Magadhan Hua Zhang, Ruoyun Gou, Jili Shang, Fangyao Shen, Yifan Wu and Guojun Dai Pre-trained Deep Convolution Neural Network Model With Attention for Speech Emotion ecognition, 2020 [9] - Nội dung nghiên cứu: Hua Zhang cộng giải toán nhận dạng cảm xúc lời nói Dùng mơ hình mạng nơ ron học sâu DCNN kết hợp mơ hình nhớ ngắn hạn dài hạn hai chiều có ý (Bidirectional Long Short-Term Memory with Attention – BLSTMwA) Đầu tiên, nhóm xử lý trước mẫu giọng nói cách nâng cao liệu cân liệu Thứ hai, nhóm trích xuất ba kênh quang phổ log Mel (static, delta delta-delta) làm đầu vào mạng DCNN Sau đó, mơ hình DCNN đào tạo trước tập liệu ImageNet để tạo tính cấp phân đoạn Nhóm xếp chồng tính câu thành đặc điểm cấp độ phát âm Tiếp theo, họ dùng mơ hình BLSTM để tìm hiểu đặc điểm cảm xúc cấp độ cao để tóm tắt theo thời gian, dùng lớp ý để tập hợp tính liên quan đến cảm xúc Cuối cùng, tính cảm xúc cấp cao học đưa vào Mạng thần kinh sâu (DNN) để dự đốn cảm xúc cuối Kết nhóm tác giả đạt với thực nghiệm sở liệu EMODB IEMOCAP cho độ xác mức thu hồi trung bình khơng trọng số (Unweighted Average Recall - UAR) tốt phương pháp thơng thường nhận dạng cảm xúc lời nói (Speech Emotion Recognition – SER), cụ thể độ xác trung bình UAR tương ứng 87,86% 44 liệu EMO-DB 68,50% liệu IEMOCAP, điều chứng minh tính hiệu phương pháp mà nhóm tác giả đề xuất Việc sử dụng mơ hình mạng nơ ron học sâu DCNN kết hợp mơ hình nhớ ngắn hạn dài hạn hai chiều có ý (Bidirectional Long Short-Term Memory with Attention – BLSTMwA) tạo ưu việc trích xuất tập hợp tính liên quan đến đặc trưng cảm xúc phục vụ cho kết nghiên nhóm tác giả Anvarjon Tursunov , Mustaqeem , Joon Yeon Choeh and Soonil Kwon Age and Gender Recognition Using a Convolutional Neural Network with a Specially Designed Multi-Attention Module through Speech Spectrograms, 2021 [10] - Nội dung nghiên cứu: Nhóm tác giả giải tốn nhận dạng giới tính tuổi tiếng nói Hàn Quốc Phương pháp sử dụng Anvarjon Tursunov cộng dùng mạng nơ ron tích chập CNN kết hợp quang phổ giọng nói để đánh giá, nhận biết giới tính tuổi giọng nói Hàn Quốc Dùng chế MAM (multiattention module) để trích xuất đặc trưng bật không gian thời gian liệu giọng nói đầu vào cách hiệu Kết đạt được: với mơ hình đề xuất nhóm tác giả đạt 96%, 73% 76% điểm xác cho phân loại giới tính, độ tuổi độ tuổi theo giới tính, tương ứng tiếng nói chung tập liệu Kết tập liệu nhận dạng giọng nói Hàn Quốc 97%, 97% 90% cho giới tính, độ tuổi nhận biết độ tuổi-giới tính tương ứng Nhóm tác giả tạo ưu việc sử dụng chế MAM, kết hợp hai đặc điểm không gian thời gian trích xuất bổ sung cho mang lại hiệu suất cao phân loại giới tính, độ tuổi độ tuổi theo giới tính Fatih Demir, Daban Abdulsalam Abdullah, Abdulkadir Sengur A New Deep CNN Model for Environmental Sound Classification, 2020 [11] 45 - Nội dung nghiên cứu: Fatih Demir cộng đề xuất giải pháp phân loại âm dựa ảnh quang phổ âm kết hợp mạng nơ ron tích chập CNN Nhóm tác giả dùng phương pháp trích xuất đặc trưng âm dựa ảnh quang phổ âm giọng nói kết hợp sử dụng mạng nơ ron tích chập CNN để nhận dạng phân loại Các nghiên cứu thử nghiệm, thực liệu DCASE-2017 ASC liệu UrbanSound8K, cho thấy mơ hình CNN nhóm tác giả đề xuất đạt kết tốt độ xác phân loại 96,23% liệu DCASE-2017 ASC 86,70% liệu UrbanSound8K Việc sử dụng mơ hình CNN đạt ưu mô tả đặc điểm môi trường âm thời gian thực thi phân loại âm Yu-Fu Yeh , Bo-Hao Su , Yang-Yen Ou , Jhing-Fa Wang Taiwanese Speech Recognition Based on Hybrid Deep Neural Network Architecture, 2020 [12] - Nội dung nghiên cứu: Nhóm tác giả phát triển hệ thống nhận dạng giọng nói Đài Loan sử dụng cơng cụ Kaldi Cách tiếp cận sau: tập liệu đào tạo nhỏ, nhóm tác giả dùng phương pháp tăng cường âm để tăng liệu đào tạo Một phương pháp làm nhiễu loạn tốc độ, giúp tăng tốc liệu gốc lên 1,1 lần làm chậm 0,9 lần Ngồi nhóm tác giả dùng phương pháp khác sử dụng liệu huấn luyện đa điều kiện để mô độ vang phát biểu gốc thêm tiếng ồn xung quanh Kết đạt được: thử nghiệm nhóm tác giả, tỷ lệ lỗi ký tự liệu thử nghiệm 3,95% Hệ thống nhận dạng giọng nói tiếng Đài Loan đạt kết tốt Trong ứng dụng thực tế, tác giả thực nghiệm yêu cầu kiểm tra tỷ lệ lỗi ký tự giải mã trực tuyến 3,06% Với nhiễu âm bao gồm âm nhạc, lời nói tiếng ồn Việc sử dụng 46 ưu điểm mạng nơ-ron cách kết hợp mạng nơ-ron khác nhau, bao gồm TDNN, CNN-TDNN CNN-LSTM-TDNN giúp hệ thống nhận dạng giọng nói tiếng Đài Loan đạt kết tốt Shashidhar R, S Patilkulkarni, Nishanth S Murthy Visual Speech Recognition using VGG16 Convolutional Neural Network, 2021 [13] - Nội dung nghiên cứu: Shashidhar cộng xây dựng hệ thống hỗ trợ giao tiếp cho người có thính giác khiếm khuyết, cung cấp cho họ cách hiểu từ thử để truyền tải đến họ thơng điệp thơng qua lời nói Nhóm tác giả sử dụng mạng nơ ron tích chập CNN VGG16 để giải nội dung đề xuất cho liệu tiếng Kannada tiếng Anh Trong đó, tiếng Kannada ngơn ngữ Ấn độ ngơn ngữ thức bang Karnataka - Ấn độ Kết đạt được: thực nghiệm việc nhận dạng giọng nói trực quan dùng mạng nơ ron tích chập CNN VGG16, nhóm tác giả sử dụng tập liệu tùy chỉnh cho công việc nghiên cứu đạt độ xác 90,10% cho sở liệu tiếng Anh 91,90% cho sở liệu tiếng Kannada Ưu giải pháp: Mơ hình đề xuất nhóm tác giả dễ dàng mở rộng cho tập liệu lớn Các phương pháp luận đề xuất tương thích, linh hoạt với thuật tốn khác Với việc bổ sung thuật tốn trích xuất tính Facial Landmarks nâng cao hiệu suất mơ hình Giải pháp tối ưu hóa giảm thời gian đào tạo, kiểm tra, xác nhận triển khai thiết bị di động RaspberryPi, mở rộng phạm vi xác thực, ủy quyền bảo mật 2.5 Hướng đề xuất nghiên cứu Luận văn đề xuất phương pháp dự đốn giới tính khu vực giọng nói tiếng Việt dựa phổ âm sử dụng phương pháp học sâu 47 Từ tập liệu thô, tiến hành giai đoạn tiền xử lý để đưa tập liệu âm tiêu chuẩn tần số thời gian Sau trích xuất tính Mel Spectrogram đưa vào mơ hình học sâu - Mạng nơ ron tích chập (CNN) để tiến hành đào tạo tối ưu hóa Các thực nghiệm thực tập liệu âm Vivos liệu từ thi phân biệt giọng nói Zalo AI 2019 đạt độ xác tốt dự đốn giới tính vùng miền giọng nói tiếng Việt Thực q trình dự đốn trực quan hóa kết qua ứng dụng web 48 CHƯƠNG MÔ HÌNH ĐỀ XUẤT Trong chương này, luận văn trình bày mơ hình đề xuất, phương pháp trích xuất đặc trưng, q trình huấn luyện đánh giá mơ hình, dự đốn kết nhận dạng tiếng nói vùng miền nước Việt Nam 3.1 Tổng quan mơ hình đề xuất Web Services Building Model System Preprocess Raw data Process Raw data Preproces Send input Raw data Extract Features Extract Features Web Application Resample Label Features Return the result Predict Training Model: CNN Features Result Save Model Data DL Model Hình 3.1 Mơ hình đề xuất nhận dạng tiếng nói tiếng Việt Mơ hình đề xuất luận văn gồm hai phần chính: mơ hình huấn luyện ứng dụng web Ở mơ hình đề xuất, từ tập liệu âm thô tự thu thập được, tiến hành thực phương pháp tiền xử lý như: chuyển đổi định dạng âm thành dạng Wav; giảm kích thước mẫu từ 44kHz thành 16kHz, tập tin âm có kích 49 thước mẫu 3s chia thành mẫu tương ứng với giới tính Nam Nữ miền Bắc, Trung, Nam Việt Nam; Sau đưa qua mơ hình học sâu để trích xuất đặc trưng nhận dạng lưu mơ hình phục vụ xây dựng ứng dụng web 3.2 Các đặc trưng mơ hình đề xuất Cách tiếp cận thơng thường để trích xuất đặc trưng âm nhà nghiên cứu sử dụng MFCC (Mel Frequency Cepstral Coefficients) Nhưng tần số việc sử dụng trích xuất đặc trưng MFCC thường gây vấn đề nghiêm trọng việc biến đổi cosin rời rạc biến đổi lượng quang phổ thành dạng khác khơng thể trì tính địa phương hay (các đặc trưng vốn có) tần số [14] Trong luận văn này, tính Log-Mel Spectrogram đề xuất để trích xuất đặc trưng âm 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 sang 2D, file âm sở liệu Audio thu âm với tần số lấy mẫu Fs = 16 kHz tương ứng 16,000 mẫu giây Kích thước tệp âm dài giây với hai giới tính nam nữ ba khu vực vùng miền Bắc, Trung, Nam Việt Nam Chuyển đổi sang quang phổ Log-Mel-Spectrogram (Hình 3.2), tạo liệu quang phổ mel 2D dạng hình ảnh 2D Tạo quang phổ giúp nhìn thấy âm cấu trúc cao độ nó, mạng nơron tích chập tìm cấu trúc liệu dễ so với sóng âm thơ Đây đặc trưng cần trích xuất truyền vào mạng nơron tích chập Sơ đồ trích xuất đặc trưng Mel-spec trình bày Hình 3.3 50 Hình 3.2 Biểu đồ tần số Spectrogram (phổ âm) file âm Hình 3.3 Sơ đồ khối giải thuật tính phổ Mel-Spec Quan sát trình ta thấy, âm chia thành khung có độ dài cố định Mục đích để lấy mẫu đoạn tín hiệu nhỏ (theo lý thuyết ổn định) Hàm cửa sổ bỏ hiệu ứng phụ vector thực khung cửa sổ Biến đổi Fourier rời rạc khung tính tốn lấy logarithm biên độ phổ Thông tin pha bị bỏ qua biên độ phổ quan trọng pha Thực lấy logarithm biên độ phổ âm lượng tín hiệu xấp xỉ logarith Tiếp theo biến đổi phổ theo thang Mel [15] Mỗi phần trình bày chi tiết phần sau 3.2.1.1 Lấy mẫu Trong việc lấy mẫu liệu, xem xét đến tín hiệu âm số hoá việc rời rạc hoá giá trị khoảng cần phải chắn tốc độ lấy mẫu đủ 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 tín hiệu đầu vào để tín hiệu đầu 51 méo định lý lấy mẫu Nyquist Tốc độ lấy mẫu phổ biến 8000, 11025, 16000, 22050, 44000 Thông thường sử dụng tần số 10Khz [15] Hình 3.4 Ví dụ mẫu âm 3.2.1.2 Phân khung tín hiệu Phân khung q trình chia mẫu tín hiệu thành số khung chồng lấn lên khơng Mục đích q trình phân khung để lấy mẫu đoạn tín hiệu nhỏ (theo lý thuyết ổn định) Vấn đề chất âm khơng ổn định Vì biến đổi Fourier thể tần số xảy tồn miền thời gian thay thời gian cụ thể Bởi tín hiệu khơng ổn định, tín hiệu nên chia thành cửa sổ rời rạc nhờ tín hiệu cửa sổ trở nên tĩnh phép biến đổi Fourier thực khung [15] Quá trình phân khung thể hình 52 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 lấy cửa sổ cho khung riêng rẽ nhằm giảm gián đoạn tín hiệu tiếng nói đầu cuối khung Thơng thường cửa sổ Hamming sử dụng, cửa sổ có dạng công thứ 3.1 : 𝑛 𝑤(𝑛) = 0,54 − 0,46 cos (2 ) , ≤ 𝑛 < 𝑁 𝑁 (3.1) Trong độ dài cửa sổ L = N+1 Ý tưởng giảm bớt chồng chéo phổ việc sử dụng cửa sổ để giảm tín hiệu khơng điểm bắt đầu kết thúc khung Sự chồng lấp khung để làm nhẵn khung đến khung Lấy cửa sổ tín hiệu đảm bảo tất phần tín hiệu khơi phục loại trừ khe hở khung Việc thực để khử tính khơng liên tục đường viền khung cho biến đổi Fourier thực sau Các khung có độ dài lớn có cao độ pitch xác nén liệu tốt 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) biến đổi Fourier nhanh (FFT) thực để chuyển đổ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 thực biến đổi Fourier qua lọc thông dải để xử lý độ lệch tần số Mel Biến đổi Fourier chuẩn khơng sử dụng tín hiệu âm khơng xác định tồ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ể tín hiệu miền thời gian mô tả tần số tương ứng 53 Hình 3.6 Tín hiệu miền thời gian Hình 3.7 Tín hiệu miền tần số tương ứng 54 Hình 3.8 Hình minh họa trình biến đổi Fourier12 3.2.1.5 Chuyển đổi sang thang tần số Mel Để mơ tả xác tiếp nhận tần số hệ thống thính giác, người ta xây dựng 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ổ làm lên tần số cảm thụ có nghĩa Biến đổi Fourier lên tín hiệu qua lọc thơng dải để làm đơn giản phổ mà không làm liệu 12 https://medium.com/ 55 Điều thực tập hợp thành phần phổ thành dải tần số Phổ làm đơn giản hoá sử dụng dàn lọc để tách phổ thành kênh Các lọc đặt cách lên thang Mel lấy logarit thang tần số, kênh có tần số thấp khơng gian tuyến tính kênh có tần số cao không gian logarit [15] Nghiên cứu nhà khoa học cho thấy người không cảm nhận thay đổi tần số thang đo tuyến tính Và người cảm nhận khác biệt tần số thấp tốt so với tần số cao [15] Ví dụ dễ dàng thấy khác biệt 500 Hz 1000 Hz khó khác biệt tần số nằm 10 000Hz 10 500 Hz, khoảng cách hai cặp giá trị Năm 1973, Stevens, Volkmann, Newmann đề xuất thang đo cảm nhận nốt người nghe đánh giá khoảng cách với [14] Thang đo đề xuất gọi 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ố 1kHz logarit tần số cao 1kHz Ta chọn tần số 1kHz, 40 dB ngưỡng nghe 1000 Mel Do cơng thức gần 13 https://viblo.asia/ 56 biểu diễn gần mối quan hệ tần số thang Mel thang tuyến tí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 sử dụng băng lọc Khoảng cách băng lọc định nghĩa số tần số mel theo thời gian Biến đổi phổ S(w) bao gồm đầu lọc S(w) đầu vào Băng lọc áp dụng miền tần số, xem điểm thu lọc Với khung nhỏ tốt sử dụng lọc tam giác chí hình chữ nhật độ phân giải thấp 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 lọc băng lọc nhân với phổ tín hiệu có giá trị đơn cường độ lọc trả lại Điều đạt qua tính tốn ma trận đơn Kết tổng biên độ dải lọc làm giảm độ xác tới mức tai người cảm nhận 14 https://towardsdatascience.com/ 57 Hình 3.11 Hình minh họa trước sau chuyển sang tần số Mel15 Quá trình chuyển đổi sang thang tần số Mel thực theo ba bước sau: Bước 1: Cố định vùng giá trị lọc đưa thang Đặt M = số băng lọc yêu cầu Bước 2: Phân bố thang tần số Mel Bước 3: Chuyển đổi từ Hz sang Wi thang tuyến tính Mối quan hệ Mel Tần số cho công thức 3.3: 𝑓 ) ∗ 1000 700 + 100 ) ln ( 700 ln (1 + 𝑚= (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 biến đổi ngược tín hiệu theo log biên độ Vì nguồn phổ 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ả tương quan cao hệ số cepstral chặt chẽ 3.2.2 Huấn luyện mơ hình 3.2.2.1 Mơ hình học sâu CNN 15 https://www.semanticscholar.org/ 58 Khi sử dụng CNN để nhận dạng mơ hình, liệu đầu vào cần phải xếp dạng feature maps để đưa vào CNN huấn luyện Đây thuật ngữ mượn từ ứng dụng xử lý ảnh Để trực quan, ta xếp đầu vào dạng mảng chiều giá trị theo chiều ngang chiều dọc giá trị pixel toạ độ x y Đối với hình ảnh màu, giá trị màu RGB (Red, Green, Blue) xem feature maps chiều khác CNNs trượt cửa sổ nhỏ hình ảnh đầu vào thời gian huấn luyện thời gian kiểm thử cho trọng số mạng thơng qua cửa sổ học nhiều đặc trưng liệu đầu vào Thông thường để trích xuất đặc trưng âm nhà nghiên cứu sử dụng MFCC (Mel Frequency Cepstral Coefficients) Nhưng tần số việc sử dụng trích xuất đặc trưng MFCC thường gây vấn đề nghiêm trọng việc biến đổi cosin rời rạc biến đổi lượng quang phổ thành dạng khác khơng thể trì tính địa phương hay (các đặc trưng vốn có) tần số [15] Luận văn sử dụng tính Log-Mel Spectrogram để mơ tả phân bổ lượng âm dải tần số khác biểu diễn cho khung giọng nói với đặc trưng static, deltas delta-deltas Hình 3.12 Hai cách xếp đặc trưng giọng nói đầu vào mạng CNN16 Có số cách khác để xếp đặc trưng Log-Mel Spectrogram vào features map Đặc trưng giọng nói xếp thành feature maps chiều, feature map đại diện cho đặc trưng Log-Mel Spectrogram ( Static, delta 16 https://www.semanticscholar.org/ 59 delta-delta) phân loại với tần số (sử dụng số dải tần số) thời gian (sử dụng số khung cửa sổ ngữ cảnh) Trong trường hợp này, tích chập chiều thực để chuẩn hoá đồng thời thay đổi tần số thời gian Ngồi ra, xem xét chuẩn hoá thay đổi tần số Trong trường hợp đặc trưng Log-Mel Spectrogram xếp dạng feature maps chiều Ví dụ: cửa sổ ngữ cảnh (context window) chứa 15 khung 40 băng lọc, tạo 45 feature maps chiều, với map có kích thước 40 Do đó, tích chập chiều áp dụng dọc theo trục tần số Khi feature maps đầu vào hình thành Lớp tích chập lớp pooling dùng thao tác độc lập để tạo kích hoạt đơn vị theo trình tự lớp Tương tự lớp đầu vào, đơn vị tích chập lớp gộp (pooling) xếp vào map Trong thuật ngữ CNN, cặp lớp chập lớp gộp hình 3.14 liên tiếp gọi “lớp” CNN Hình 3.13 Hình minh họa “lớp” CNN17 Do đó, CNN thực tế bao gồm hai nhiều cặp liên tiếp để tránh nhầm lẫn, người thực đề tài đề cập đến lớp tích chập lớp gộp khối tích chập khối gộp Convolution Ply (Khối tích chập) Với feature maps đầu vào (giả thiết I tổng số) , 0i ( i = 1, , I) kết nối với nhiều feature maps (giả thiết J tổng số), Q j ( j = , , J) Trong “lớp” CNN 17 https://www.researchgate.net/ 60 dựa số ma trận trọng số cục (tổng số I x J) Wi,j ( i = 1,…, I; j = 1,…, J) Ánh xạ biểu diễn dạng phép tốn tích chập dựa xử lý tín hiệu Giả sử feature maps đầu vào tất chiều, đơn vị feature map “lớp” CNN tính theo cơng thức 3.4: 𝐼 𝑞𝑗,𝑚 = 𝜎 (∑ T 𝐹 ∗ ⁡∑ 𝑖=1 0𝑖,𝑚−𝑛+1 𝑊𝑖,𝑗,𝑛 + 𝑊0,𝑗 ) , (𝑗 = 1, … 𝐽) (3.4) 𝑛=1 rong 0i,m đơn vị thứ m feature map 0i thứ i q j,m đơn vị thứ m feature map Qj khối tích chập, wi,j,n phần tử thứ n vector trọng số wi,j kết nối feature map đầu vào thứ i với feature map thứ j khối tích chập F gọi kích thước lọc, xác định số lượng dải tần feature map đầu vào mà đơn vị khối chập nhận làm đầu vào Bởi đặc trưng vốn có phát sinh từ lựa chọn đặc trưng Log-Mel Spectrogram, feature maps giới hạn dải tần số tín hiệu tiếng nói Cơng thức 3.4 viết ngắn gọn lại dạng ma trận ngắn gọn sử dụng tốn tử tích chập * phương trình 3.5 đây: 𝐼 𝑄𝑗 = 𝜎 (∑ 0𝑖 ∗ 𝑊𝑖,𝑗 ) , (𝑗 = 1, … 𝐽) (3.5) 𝑖=1 Trong 0i biểu diễn cho feature map đầu vào thứ i Wi,j biểu diễn cho ma trận trọng số cục bộ, phép lật để tuân tuân thủ định nghĩa hoạt động tích chập Cả 0i Wi,j vec-tơ Ngoài feature map mảng chiều ma trận feature map chiều sử dụng tích chập chiều sử dụng cho phương trình 3.5 Trong luận văn này, số lượng feature map khối tích chập xác định trực tiếp số lượng ma trận trọng số cục sử dụng ánh xạ tích chập Trong thực tế, ràng buộc nhiều ma trận trọng số giống hệt Một điều quan trọng cửa sổ đầu vào ma trận trọng số áp dụng cửa sổ thường chồng lấp lên Chính hoạt động tích chập tạo chiều liệu thấp hơn, chiều giảm theo kích thước lọc trừ - đệm đầu vào giá trị 61 mẫu (dummy) (ở khung thời gian khung tần số) để trì kích thước feature maps Kết là, ngun tắc có nhiều vị trí feature map khối tích chập đầu vào Tuy nhiên khối tích chập thường khác với lớp tích chập thơng thường, lớp kết nối ẩn đầy đủ (Fully Connected Hidden Layer) quan tâm hai khía cạnh: Đầu tiên, đơn vị khối tích chập nhận đầu vào từ khu vực cục đầu vào Điều có nghĩa đơn vị biểu diễn cho số đặc trưng khu vực địa phương đầu vào Thứ hai, đơn vị khối tích chập tự xếp vào số feature maps, tất đơn vị feature map dùng chung trọng số nhận đầu vào từ vị trí khác lớp cấp thấp Pooling Ply (Khối gộp) Một hoạt động gộp áp dụng cho khối tích chập để tạo khối gộp tương ứng Khối gộp xếp vào feature maps, có số lượng feature maps số lượng feature maps khối tích chập, map khối gộp có kích thước nhỏ Mục đích khối gộp để giảm chiều feature maps Điều có nghĩa đơn vị khối đóng vai trị khái qt hố đặc trưng khối tích chập cấp thấp Bởi khái qt hố lại định vị không gian theo tần số, nên chúng không thay đổi thay đổi nhỏ vị trí Việc làm giảm chiều đạt cách áp dụng hàm gộp (Pooling function) cho số đơn vị vùng cục có kích thước xác định tham số kích thước gộp Các hàm gộp thường hàm đơn giản hàm maxpooling hay average pooling Hàm gộp áp dụng cho feature map tích chập cách độc lập Khi hàm max-pooling sử dụng, khối gộp định nghĩa công thức 3.6: 𝑃𝑖,𝑚 𝐺 = 𝑚𝑎𝑥 ⁡𝑞𝑖,(𝑚−1)⁡×⁡𝑆⁡+⁡𝑛 𝑛=1 62 (3.6) Trong G kích thước gộp, s kích thước dịch chuyển, xác định chồng lấn cửa sổ gộp liền kề Tương tự hàm average sử dụng, khối gộp định nghĩa cơng thức 3.7: 𝐺 𝑃𝑖,𝑚 = 𝑟 ∑ 𝑞𝑖,(𝑚−1)⁡×⁡𝑆⁡+⁡𝑛 ⁡ (3.7) 𝑛=1 Trong r yếu tố tỷ lệ học Trong ứng dụng nhận dạng hình ảnh, điều kiện ràng buộc G = s, cửa sổ gộp khơng chồng lấn khơng có khoảng cách chúng max-pooling chứng minh cho kết tốt evarage-pooling [16] Luận văn điều chỉnh G s độc lập Hơn nữa, hàm kích hoạt phi tuyến áp dụng cho Pi,m để tạo đầu cuối Hình 3.14 Hình minh họa trình học mạng CNN18 Hình 14 cho thấy khối gộp có kích thước Mỗi nhóm đơn vị gộp nhận đầu vào từ ba đơn vị khối tích chập feature map Nếu G = s kích thước khối gộp 1/3 kích thước khối tích chập Learning Weights in the CNN (Trọng số học tập CNN) 18 https://www.semanticscholar.org/ 63 Tất trọng số lớp tích chập học thuật toán lan truyền ngược lỗi (error back-propagation algorithm) có vài thay đổi cần thiết để xử lý kết nối rời rạc chia sẻ trọng số Để minh hoạ thuật toán học tập cho lớp CNN, biểu diễn phép tích chập phương trình (3.5) Khi feature maps sử dụng, thao tác tích chập phương trình (3.5) biểu diễn dạng phép nhân ma trận đơn giản cách đưa ma trận trọng số rời ̂ hình 3.15 tạo cách tái tạo trọng số ma trận W rạc 𝑊 Hình 3.15 Hình minh họa trọng số học tập mạng CNN19 Ma trận W xây dựng từ tất ma trận trọng số cục bộ, Wi,j ma trận 3.8 : 𝑾𝟏,𝟏,𝟏 ⁡⁡⁡⁡⁡𝑾𝟏,𝟐,𝟏 ⋯ 𝑾𝟏,𝑱,𝟏 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ 𝑾𝑰,𝟏,𝟏⁡ ⁡⁡⁡⁡𝑾𝑰,𝟐,𝟏 ⋯ 𝑾𝑰,𝑱,𝟏 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ 𝑾 =⁡ 𝑾𝑰,𝟏,𝟐 ⁡⁡⁡⁡𝑾𝑰,𝟐,𝟐 ⋯ 𝑾𝑰,𝑱,𝟐 ⋮⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⋮ ⋱ ⋮ [ 𝑾𝑰,𝟏,𝑭⁡ ⁡⁡⁡⁡𝑾𝑰,𝟐,𝑭 ⋯ 𝑾𝑰,𝑱,𝑭 ] (3.8) ⁡𝐼 ∙ 𝐹 × 𝐽 Trong W xếp thành hàng I • F, F kích thước lọc, dải chứa I hàng tương ứng với I feature maps đầu vào, W có J cột biểu diễn cho trọng số J feature maps khối tích chập 19 https://www.semanticscholar.org/ 64 ̂ 𝒒 ̂ Trong đó, đầu vào feature maps tích chập vec-tơ 𝒐 Một hàng vec-tơ đơn tạo từ tất feature maps đầu vào 0i (i = 1,…,I) công thức 3.9 sau: ̂ )𝑂̂ = [𝑣1 ⁡⁡⁡⁡⁡|𝑣2 | ⁡⁡⁡⁡…⁡⁡⁡⁡𝑣𝑀 ] 𝑞⁡ ̂ = 𝜎(𝑜⁡ ̂𝑊 (3.9) Trong vm hàng vec-tơ chứa giá trị dải tần số m dọc theo tất I feature maps, M số lượng dải tần số lớp đầu vào Do đầu khối tích chập tính biểu thức 3.5 biểu diễn tương đương vec-tơ trọng số với công thức 3.10 sau: ̂) ̂ = 𝜎(𝒐⁡ ̂𝑾 𝒒⁡ (3.10) ̂ tính theo cơng thức 3.11 sau: Cập nhật trọng số cho 𝑾 ̂𝑒 ̂ = 𝜀 ∙ 𝑂′ ∆⁡⁡𝑾 (3.11) Việc xử lý trọng số chia sẻ lớp tích chập khác so với trường hợp DNN kết nối đầy đủ không chia sẻ trọng số Sự khác biệt trọng số chia sẻ, tổng hợp cập nhật chúng theo cơng thức 3.12: ̂𝑖+(𝑚+𝑛−2)×𝑖,𝑗+(𝑚−1)×𝐽 ⁡ ∆⁡⁡𝑊𝑖,𝑗,𝑛 = ⁡ ∑ ∆ ⁡𝑾 𝑚 (3.12) Trong I,J số lượng feature maps lớp đầu vào khối tích chập Các ̂ sai lệch xử lý cách thêm 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 Tuy nhiên, tín hiệu lỗi truyền lại khối cấp thấp thông qua hàm gộp Trong trường hợp max-pooling, tín hiệu lỗi truyền ngược đơn vị hoạt động lớn số nhóm đơn vị gộp Tín hiệu lỗi đạt đến khối tích chập thấp tính công thức 3.13 là: 𝑙𝑜𝑤 𝑒𝑖,𝑛 = ⁡ ∑ 𝑒𝑖,𝑚 ∙ 𝛿(𝑢𝑖,𝑚 + (𝑚 − 1) × 𝑠 − 𝑛) 𝑚 65 (3.13) Trong 𝛿(𝑥) hàm delta có giá trị ngược lại, ui,m số đơn vị có giá trị tối đa số đơn vị gộp xác định công thức 3.14 𝑢𝑖,𝑚 𝐺 = 𝑎𝑟𝑔𝑚𝑎𝑥 ⁡(𝑞𝑖 ⁡(𝑚 − 1) × 𝑠 + 𝑛) 𝑛=1 (3.14) 3.2.2.2 Mơ hình học sâu VGG16 VGG16 mơ hình mạng học sâu CNN đề xuất K Simonyan A Zisserman Mơ hình giành vị trí phát đối tượng vị trí hai phân loại ảnh thi ILSVRC 2014 Được chứng minh mơ hình học sâu hiệu cho việc rút trích đặc trưng thị giác, đồng thời VGG16 chứng minh đạt hiệu cao tố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 lớp cuối fully connected layer, VGG16 sử dụng lọc có kích thước nhỏ 3x3 để học đặc trưng thị giác từ đơn giản lọc đầu phức tạp cuối mơ hình Hình 3.17 Cấu trúc đặc trưng mạng VGG1620 Trong lớp convolution lớp fully connected có hệ số trọng lượng nên chúng gọi lớp trọng số Tổng số lớp trọng số 13 + = 16, điều giải thích cấu trúc gọi VGG16 Với input mạng VGG16 ảnh có kích thước 244x244x3 (pixels), output layer với 1000 node, tương ứng với 1000 class Imagenet, sử dụng Softmax 20 https://miai.vn/2020/ 66 với phân phối xác suất đầu ứng với class Các lớp hidden layers bao gồm layer mạng CNN như: lớp Convolution, Pooling (Max Pooling, Avegare Pooling, ), Fully Connected Layer Activation Function (Sigmoid, Tanh, Relu, ) Mạng nơ ron hoạt động tương tự feature extraction, với layer lớp đầu dùng để bóc tách low level feature như: góc, cạnh, hình khối vật thể Các layer lớp cao thực bóc tách cách high level feature, ứng với đặc trưng riêng đối tượng Hinh 3.18 Kiến trúc khối mạng VGG16 3.2.2.3 Mơ hình học sâu CNN tầng Luận văn trình bày mạng CNN tầng gồm tầng xử lý, tầng có lớp chập lớp gộp, tầng thứ có lớp kết nối đầy đủ Mỗi đặc trưng âm xác định thơng qua CNN Hình 3.19 Cấu trúc CNN tầng 3.2.3 Phương pháp đánh giá Các mơ hình CNN đánh giá dựa vào yếu tố sau: • Các mạng CNN trích xuất đặc trưng dựa ngun lý tích chập • Dựa kiến trúc phân tầng giúp mạng CNN học đặc trưng cấp độ khác từ cấp độ thấp đến cấp độ cao 67 • Sử dụng phổ biến để thực nhiệm vụ huấn luyện liệu lớn, mơ hình CNN với kiến trúc học đa tầng, đa tham số cho thấy ưu vượt trội độ xác • Kích thước layers mơ hình CNN giảm dần theo độ sâu, điều giúp tạo mạng có kích thước nhẹ tốc độ dự đoán nhanh hơn, độ xác mơ hình giảm khơng đáng kể Để đánh giá mơ hình phân tích, dự đoán khai phá liệu, việc chia tập liệu thành thành phần phục vụ cho việc huấn luyện mơ hình kiểm thử mơ hình Tiếp đến xây dựng mơ hình thơng qua lựa chọn thuật toán, xác định biến liệu, điều chỉnh tham số phù hợp dựa liệu huấn luyện Sau xây dựng mơ hình, sử dụng liệu kiểm thử để thử nghiệm mơ hình cách kết hợp nhiều công thức, số (metrics) khác để đánh giá mức độ xác kết phân loại giới tính dự đốn giọng nói vùng miền Việt Nam Để đánh giá mơ hình xây dựng tối ưu hay chưa ta cần có phương pháp đánh giá chuẩn xác Đối với đề tài độ đo dùng để đánh giá Accucary AUC Đợ xác (Accuracy) Đại lượng Accuracy dùng để đo độ xác mơ hình phổ biến nhất, chất đo khoảng cách giá trị dự đốn đến giá trị xác Accuracy cao, độ xác cao Tuy nhiên Accuracy có nhược điểm sử dụng tần suất nên bàn tốn có chênh lệch số lượng mẫu, việc sử dụng Accuracy khơng hồn tồn xác Luận văn lựa chọn phương pháp đánh giá độ xác Accuracy cho q trình nhận dạng tính theo cơng thức (3.15) sau: 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = ⁡ 𝑆ố⁡𝑡𝑟ườ𝑛𝑔⁡ℎợ𝑝⁡đú𝑛𝑔⁡𝑐ủ𝑎⁡𝑚ẫ𝑢⁡𝑘𝑖ể𝑚⁡𝑡ℎử 𝑇ổ𝑛𝑔⁡𝑠ố⁡𝑚ẫ𝑢⁡đ𝑒𝑚⁡đ𝑖⁡𝑘𝑖ể𝑚⁡𝑡ℎử (3.15) Đánh giá dựa hai yếu tố độ xác nhận dạng giới tính, độ xác vùng miền mà hệ thống dự đoán Area Under The Curve (AUC) 68 AUC từ viết tắt Area Under The Curve, ROC viết tắt Receiver Operating Characteristics ROC đường cong biểu diễn xác suất AUC biểu diễn mức độ phân loại mô hình AUC-ROC cịn biết đến tên AUROC (Area Under The Receiver Operating Characteristics) Ý nghĩa AUROC diễn giải sau: Là xác suất mẫu dương tính lấy ngẫu nhiên xếp hạng cao mẫu âm tính lấy ngẫu nhiên Biểu diễn theo cơng thức (3.16), ta có AUC = P(score(x+) > score(x-)) 𝐴𝑈𝐶 = ⁡𝑃[𝑠𝑐𝑜𝑟𝑒(𝑥 + ) > ⁡𝑠𝑐𝑜𝑟𝑒(𝑥 − )] (3.16) Trong phân loại lớp, số AUC cao mơ hình xác 69 CHƯƠNG THỰC NGHIỆM Trong chương này, luận văn trình bày bước trình thực nghiệm, kết đạt được, phân tích đánh giá kết đạt 4.1 Dữ liệu 4.1.1 Thu thập liệu Dữ liệu huấn luyện: luận văn tự xây dựng, thu thập liệu âm phục vụ cho trình huấn luyện theo mẫu tập tin âm phân biệt giọng nói thi Zalo AI 2019, bao gồm liệu tiếng nói tương ứng với giới tính Nam, Nữ vùng miền Bắc, Trung, Nam Việt Nam Tuy nhiên liệu âm có số lượng nhiễu định có âm khác liệu Bộ liệu âm tự xây dựng thu thập chia thành mẫu, sau tiến hành chuyển đổi âm đuôi mở rộng có định dạng wav Tổng số liệu huấn luyện cho hệ thống 270 mẫu Bộ liệu trình bày chi tiết, cụ thể Bảng 4.1 sau: Khu vực Số lượng Nam miền Bắc 42 mẫu Nữ miền Bắc 45 mẫu Nam miền Trung 75 mẫu Nữ miền Trung 44 mẫu Nam miền Nam 27 mẫu Nữ miền Nam 37 mẫu Bảng 4.1 Bảng liệu huấn luyện Dữ liệu kiểm thử: bao gồm 37 mẫu thu thập từ liệu Vivos Corpus thuộc Lab khoa Khoa học máy tính, Trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh, định dạng với đuôi wav Vivos kho ngữ liệu tiếng Việt miễn phí bao gồm 15 ghi âm giọng nói dùng vào mục đích học thuật, nhận dạng giọng nói tự động Kho ngữ liệu lời nói ghi lại liệu giọng nói từ 50 người địa tình nguyện viên Việt Nam Để đào tạo, có 46 người đọc ( bao gồm 22 nam 24 70 nữ) ghi lại 15 giờ, tổng cộng có 11660 lần phát biểu Trong để thử nghiệm có 19 người đọc (bao gồm 12 nam nữ) ghi lại 50 phút với tổng cộng 760 lần phát biểu Các phiên ghi âm tiến hành môi trường yên tĩnh, sử dụng thiết bị chất lượng người nói yêu cầu đọc câu Bộ liệu trình bày chi tiết, cụ thể Bảng 4.2 sau: Set Speaker Male Training Testing 46 19 22 12 Female Utterances Duration 24 11660 760 14:55 00:55 Unique Syllables 4617 1692 Bảng 4.2 Bảng thống kê liệu lời nói Vivos Corpus 4.1.2 Xử lý liệu Trên tập tin liệu âm thanh, người thực đề tài thực xử lý liệu cách cắt tập tin âm có thời lượng 3s, sau giảm tần số âm xuống 16 kHz nhằm mục đích đưa mẫu liệu huấn luyện chuẩn chung Sử dụng thư viện xử lý âm Pydub [17] Người thực đề tài viết kịch Python để phục vụ trình xử lý âm Sử dụng thư viện âm đầu vào giảm tần số xuống 16 kHz, âm cắt với thời gian 3s, sau đánh số tự động tăng dần Mục đích q trình chuẩn hoá liệu đầu vào giúp cho mạng CNN học đặc trưng giọng nói tốt Ngồi đảm bảo đồng liệu huấn luyện Sau phân theo thư mục tương ứng với giới tính vùng miền Tiếp đến đưa vào thư mục data dự án phục vụ trình huấn luyện 4.2 Kết thực nghiệm 4.2.1 Công nghệ sử dụng Để giải toán phân loại, nhận dạng yếu tố, đặc điểm giới tính giọng nói vùng miền Việt Nam phương pháp học sâu, luận văn đề xuất lập trình ngơn ngữ lập trình Python (3.7), Google Colab IDE Pycharm Sử dụng thư viện sklearn cho mơ hình học máy; thư viện pydub librosa để xử lý liệu âm thanh; numpy để xử lý tổng hợp đặc trưng, nhãn âm thanh; thư viện keras tensorflow để huấn luyện kết hợp với xử lý âm đưa vào mạng nơ ron tích chập CNN; thư viện matplotlib seaborn để trực quan hóa liệu Ngồi 71 ra, luận văn sử dụng thư viện Flask Frameworks để tạo ứng dụng tảng web 4.2.2 Trích xuất đặc trưng Luận văn thu thập mẫu huấn luyện từ liệu âm thu thập Sử dụng thư viện xử lý âm Librosa [18] cài đặt thư viện Python Tập tin âm chia thành frames (khung) dài 250ms không trùng lặp Mỗi frame gán nhãn tương ứng với tập tin âm (gồm gender accent) Từ frame, trích chọn đặc trưng Log-Mel Spectrogram với 60 bands Kết cho vào hàm logamplitude Sau kết đặc trưng với delta tương ứng Sau trích xuất đặc trưng Log-Mel Spectrogram, người thực đề tài sử dụng thư viện Numpy [19] để tổng hợp đặc trưng nhãn âm lại Tiếp đến sử dụng thư viện Keras [20] kết hợp với thư viện Tensorflow [21] hỗ trợ trình huấn luyện kết hợp với kết xử lý âm đưa vào mạng Nơ ron tích chập CNN 4.2.3 Nhận dạng tiếng nói Mơ hình CNN lớp phức hợp Hình 4.1 Cấu trúc mơ hình CNN lớp phức hợp Kết thông số epoch khác việc huấn luyện mơ hình là: 10, 20, 30 epoch Kết đạt sau: Với epoch 10 đạt độ tin cậy (Accuracy): 91,56% Với epoch 20 đạt độ tin cậy (Accuracy): 93,80% Với epoch 30 đạt độ tin cậy (Accuracy): 94,29% 72 Các thông số huấn luyện mạng nơ-ron tích chập trình bày chi tiết Bảng 4.3 sau: Layer Parameter Conv2D 64 kernels (7x7) MaxPooling2D Size 3x3, strides 2x2 Conv2D 128 kernels (5x5) MaxPooling2D Size 2x2 Conv2D 256 kernels (2x2) MaxPooling2 Size 2x2 Flatten Dense 200 units Dropout Rate = 0.2 Dense Softmax Bảng 4.3 Bảng chi tiết thơng số mơ hình Mơ hình train hàm tối ưu Adam với tốc độ học (learning rate) 0.0001, beta_1=0.9, beta_2=0.999 Tỉ lệ huấn luyện kiểm thử 8:2 9:1 Sau huấn luyện xong mơ hình sử dụng thư viện Matplotlib [22] để hiển thị kết huấn luyện cách trực quan tập huấn luyện kiểm thử Mơ hình sau huấn luyện lưu lại nhằm mục đích tái sử dụng sau Phương thức dự đốn âm giọng nói bất kỳ: ➢ Mẫu âm dự đoán chia thành 250 frames, sử dụng phương pháp trích rút đặc trưng mô tả trên, đưa vào mạng CNN Nhãn tập tin chọn chiến thuật majority voting ➢ Kết hiển thị giới tính nằm giá trị vùng miền giá trị sau Với liệu Vivos Corpus [23] nhận dạng tập kiểm thử cho kết nhận dạng tốt giới tính, nhiên khả nhận dạng giọng nói vùng miền cịn hạn chế, cụ thể: ❖ Độ xác nhận dạng giới tính 32 mẫu/37 mẫu xác 73 ❖ Độ xác nhận dạng giọng nói vùng miền 14 mẫu/37 mẫu xác Kết đánh giá thực nghiệm trình bày Bảng 4.4 Phương pháp Độ xác % (Accuracy) CNN + Log-Mel Spectrogram Giới tính Vùng miền 86.48% 37.84% Bảng 4.4 Bảng kết đánh giá Qua kết kiểm thử nhận thấy hệ thống nhận dạng tốt giới tính, nhiên kết nhận dạng giọng nói vùng miền chưa cao đặc điểm riêng giọng nói vùng miền Tiếng Việt ngơn ngữ có điệu có nhiều phương ngữ khác Chính đa dạng phương ngữ tạo nên thách thức hệ thống nhận dạng tự động tiếng Việt Như để nâng cao khả nhận dạng vùng miền yêu cầu liệu đầu vào phải đủ lớn đảm bảo đủ bao quát đặc trưng vùng miền định, tỉ lệ nhận dạng vùng miền tăng lên Hình 4.1 Kết đánh giá hiển thị website Mơ hình CNN VGG16 74 Hình 4.2 Cấu trúc mơ hình CNN – VGG16 Kết thơng số epoch khác việc huấn luyện mơ hình là: 10, 20, 30 epoch Kết đạt sau: Với epoch 10 đạt độ tin cậy (Accuracy): 67,45 % Với epoch 20 đạt độ tin cậy (Accuracy): 69,09 % Với epoch 30 đạt độ tin cậy (Accuracy): 71,27 % Với liệu Vivos Corpus [24] nhận dạng tập kiểm thử cho kết nhận dạng giới tính giọng nói vùng miền chưa cao, cụ thể sau: ❖ Độ xác nhận dạng giới tính 21 mẫu/37 mẫu xác ❖ Độ xác nhận dạng giọng nói vùng miền mẫu/37 mẫu xác Kết đánh giá thực nghiệm trình bày Bảng 4.5 Phương pháp Độ xác % (Accuracy) VGG-16 Giới tính Vùng miền 56,75% 18,92% Bảng 4.5 Bảng kết đánh giá với VGG-16 Mơ hình CNN tầng Hình 4.3 Cấu trúc mơ hình CNN – tầng 75 Kết thông số epoch khác việc huấn luyện mơ hình là: 10, 20, 30 epoch Kết đạt sau: Với epoch 10 đạt độ tin cậy (Accuracy): 82,41 % Với epoch 20 đạt độ tin cậy (Accuracy): 84,65 % Với epoch 30 đạt độ tin cậy (Accuracy): 85,37 % Với liệu Vivos Corpus [24] nhận dạng tập kiểm thử cho kết nhận dạng giới tính tương đối tốt, nhiên khả nhận dạng giọng nói vùng miền chưa cao, cụ thể: ❖ Độ xác nhận dạng giới tính 28 mẫu/37 mẫu xác ❖ Độ xác nhận dạng giọng nói vùng miền 11 mẫu/37 mẫu xác Kết đánh giá thực nghiệm trình bày Bảng 4.6 Phương pháp Độ xác % (Accuracy) CNN – tầng Giới tính Vùng miền 75,67% 29,72% Bảng 4.6 Bảng kết đánh giá với CNN – tầng 4.3 Ứng dụng nhận dạng tiếng nói tiếng Việt 4.3.1 Thiết kế Ứng dụng Web luận văn có sơ đồ thiết kế đây: Trang chủ Trang nhận dạng âm Trang phân tích liệu Trang kết nhận dạng âm Hình 4.2 Phân tích thiết kế giao diện 76 Luận văn đề xuất xây dựng ứng dụng Web cho phần back-end ngôn ngữ python thông qua thư viện hỗ trợ xây dựng server Flask Server xây dựng python hỗ trợ tốt cho việc truy xuất model lưu lại dễ dàng so với ngôn ngữ khác Server bao gồm chức năng: ➢ Hiển thị trang mơ hình kết đánh giá ➢ Hiển thị trang phân tích liệu dùng huấn luyện kiểm thử hệ thống ➢ Hiển thị trang giới thiệu ứng dụng ➢ Xử lý thu âm âm người dùng ➢ Phát lại nội dung thu âm ➢ Nhận dạng âm tiếng nói tiếng Việt ➢ Hiển thị kết nhận dạng Hình 4.3 Phân tích thiết kế chức 4.3.2 Ứng dụng Như phần luận văn trình bày, ứng dụng Web gồm có phần 77 Phần 1: Demo, bao gồm giao diện kết phần trình bày hình Hình 4.4 Giao diện trang chủ hệ thống Hình 4.5 Giao diện trang phân tích liệu 78 Hình 4.6 Giao diện trang kết thử nghiệm ứng dụng Hình 4.7 Giao diện trang kết đánh giá Người sử dụng nhập vào ghi, hay file, sau lựa chọn nhập liệu, click vào dự đoán để ứng dụng dự đoán kết Dưới kết ví dụ demo 79 Hình 4.8 Giao diện trang kết nhận dạng âm Phần 2: Phân tích liệu, ứng dụng Web trình bày biểu đồ phân tích liệu có sở liệu, phân chia tỷ lệ liệu biểu đồ theo hình Hình 4.9 Phân tích liệu hệ thống Phần 3: Nhận dạng âm thanh, ứng dụng Web trình bày chức ghi âm, tải file âm thanh, xử lý âm theo hình Hình 4.10 Nhận dạng âm tiếng nói tiếng Việt 80 Phần 4: Kết nhận dạng âm thanh, ứng dụng Web trình bày liệu dự đốn hệ thống trả hiển thị lên trang kết nhận dạng âm theo hình Hình 4.11 Kết nhận dạng âm Mô tả Xem chi tiết độ xác q trình huấn luyện kiểm thử, độ xác hệ thống Nhấn vào biểu tượng hình ảnh có nội dung “đánh giá Luồng hành động kết quả” từ trang chủ để xem trang đánh giá hệ thống Tiền điều kiện Không Bảng 4.7 Xem đánh giá hệ thống Mô tả Xem chi tiết liệu huấn luyện hệ thống Nhấn vào biểu tượng hình ảnh có nội dung “phân Luồng hành động tích liệu” từ trang chủ để xem trang đánh giá hệ thống Tiền điều kiện Không Bảng 4.8 Xem chi tiết liệu huấn luyện Mô tả Cho phép người dùng sử dụng chức thu âm giọng 81 nói 1.Từ trang chủ click chuột vào biểu tượng hình ảnh có nội dung “Sound Récognition” Trên trang nhận dạng âm click vào biểu tượng Luồng hành động microphone trang web để bắt đầu thu âm giọng nói Click vào biểu tượng microphone có dấu chéo để hồn tất trình thu âm Âm lưu vào hệ thống Người dùng cho phép hệ thống sử dụng microphone để Tiền điều kiện thu âm giọng nói Bảng 4.9 Chức thu âm giọng nói Cho phép người dùng nghe lại đoạn âm giọng nói Mơ tả mà người dùng thu âm trước Từ trang chủ click chuột vào biểu tượng hình ảnh Luồng hành động có nội dung “Sound Recognition” Trên trang nhận dạng âm click vào biểu tượng hình ảnh có nội dung “Replay sound recored” Tiền điều kiện Người dùng phải thu âm giọng nói trước sử dụng chức nghe lại âm thu Bảng 4.10 Bảng chức nghe lại giọng nói thu âm Cho phép người dùng dự đoán đoạn âm giọng nói Mơ tả mà người dùng thu âm trước nam hay nữ họ đến từ vùng Việt Nam Từ trang chủ click chuột vào biểu tượng hình ảnh Luồng hành động có nội dung “Sound Recognition” 82 Trên trang nhận dạng âm click vào biểu tượng microphone trang web để bắt đầu thu âm giọng nói Click vào biểu tượng microphone có dấu chéo để hồn tất q trình thu âm Âm lưu vào hệ thống Click vào biểu tượng hình ảnh có nội dung “Sound Recognition” để hệ thống xử lý liệu âm vừa ghi lại Tiền điều kiện Người dùng phải thu âm giọng nói trước sử dụng chức nghe lại âm thu Bảng 4.11 Bảng chức dự đoán âm đầu vào Cho phép người dùng dự đốn đoạn âm giọng nói Mơ tả mà người dùng thu âm trước nam hay nữ họ đến từ vùng Việt Nam 10 Từ trang chủ click chuột vào biểu tượng hình ảnh có nội dung “Sound Recognition” Luồng hành động 11 Trên trang nhận dạng âm click vào biểu tượng microphone trang web để bắt đầu thu âm giọng nói 83 12 Click vào biểu tượng microphone có dấu chéo để hồn tất trình thu âm Âm lưu vào hệ thống 13 Click vào biểu tượng hình ảnh có nội dung “Sound Recognition” để hệ thống xử lý liệu âm vừa ghi lại 14 Dữ liệu dự đoán hệ thống trả hiển thị lên trang nhận dạng âm Tiền điều kiện Người dùng phải thu âm giọng nói trước sử dụng chức nghe lại âm thu Bảng 4.12 Bảng chức xem kết dự đoán CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong chương này, luận văn trình bày tổng quát kết thực hiện, đưa hướng phát triển cho mơ hình tương lai 5.1 Kết đạt Luận văn đề xuất giải pháp cho việc phân loại giới tính và khu vực giọng nói tiếng Việt cách sử dụng mơ hình mạng nơ-ron học sâu tích chập, kết hợp trích xuất tính Log-Mel Spectrogram sử dụng CNN để nhận dạng giới tính vùng miền tiếng Việt Luận văn tiến hành thử nghiệm liệu thi Zalo AI 2019 liệu Vivos Corpus thuộc Lab khoa Khoa học máy tính – Trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh để đánh giá kết Hệ 84 thống nhận dạng giới tính giọng nói vùng miền tiếng Việt cịn hạn chế độ xác chưa cao, nhiên đạt kết sau: ➢ Phân tích đánh giá mơ hình đề xuất ➢ Xử lý liệu âm phù hợp với mạng CNN ➢ Xây dựng hệ thống nhận dạng tiếng nói tiếng Việt phương pháp học sâu sử dụng mạng nơ ron tích chập CNN ➢ Sử dụng công nghệ Flask Framework để trực quan hoá kết tảng website 5.2 Hướng phát triển Chuẩn hóa, xây dựng liệu âm có độ tương đồng cao, giảm tối đa độ nhiễu Ngoài việc dùng Log-Mel Spectrogram kết hợp mạng nơ-ron tích chập CNN, cần xử lý giải tốn nhận dạng khác VGGNet, AlexNet, RestNet, DenseNet Tối ưu hóa giải thuật, lựa chọn thơng số phù hợp cho mạng CNN nhằm tăng khả nhận dạng giọng nói vùng miền Việt Nam Phát triển thành API, tích hợp vào hệ thống nhận dạng 85 CƠNG TRÌNH CƠNG BỐ Trần Thanh Hiệp, Bùi Thanh Hùng (2021) “Nhận dạng tiếng nói tiếng Việt phương pháp học sâu”, Kỷ yếu Ngày hội Khoa học cán bộ, giảng viên trẻ học viên cao học lần V - năm 2021 Đại học Thủ Dầu Một 6.2021 Bùi Thanh Hùng, Trần Thanh Hiệp (2021) “Nhận dạng tiếng nói tiếng Việt phương pháp học sâu”, Fundamental and Applied Information Technology Research- FAIR 2021 (submitted) 86 TÀI LIỆU THAM KHẢO [1] Fukushima, Kunihiko (April 1980) "A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position" Biological Cybernetics 36 (4): 193–202 [2] Yoshua Bengio, Yann LeCun, Craig Nohl, Chris Burges “LeRec: ANN/HMM Hybrid for On-Line Handwriting Recognition”, Neural Compulation, Volume 7, Number (1995) [3] Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton “ImageNet Classification with Deep Convolutional Neural Networks”, Advances in Neural Information Processing Systems 25 (NIPS 2012) 2012 [4] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich “Going deeper with convolutions” (2014) [5] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, Zbigniew Wojna “Rethinking the Inception Architecture for Computer Vision” (2015) [6] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun “Deep Residual Learning for Image Recognition” [7] Isra Khan, Rafi Ullah, Shah Muhammad Emaduddin (2019) Robust Feature Extraction Techniques in Speech Recognition: A Comparative Analysis [8] Sayan Mandal, Sarthak Yadav and Atul Rai End-to-End Bengali Speech Recognition Staqu Technologies, India, 2020 [9] Hua Zhang, Ruoyun Gou, Jili Shang, Fangyao Shen, Yifan Wu and Guojun Dai Pre-trained Deep Convolution Neural Network Model With Attention for Speech Emotion ecognition, 2020 [10] Anvarjon Tursunov , Mustaqeem , Joon Yeon Choeh and Soonil Kwon Age and Gender Recognition Using a Convolutional Neural Network with a Specially Designed Multi-Attention Module through Speech Spectrograms, 2021 [11] Fatih Demir, Daban Abdulsalam Abdullah, Abdulkadir Sengur A New Deep CNN Model for Environmental Sound Classification, 2020 87 [12] Yu-Fu Yeh , Bo-Hao Su , Yang-Yen Ou , Jhing-Fa Wang Taiwanese Speech Recognition Based on Hybrid Deep Neural Network Architecture, 2020 [13] Shashidhar R, S Patilkulkarni, Nishanth S Murthy Visual Speech Recognition using VGG16 Convolutional Neural Network, 2021 [14] Stevens, Stanley Smith; Volkmann; John & Newman, Edwin B (1937) Journal of the Acoustical Society of America [15] Luận văn thạc sĩ ngành Công nghệ Thông tin Phú Thị Quyên, Xây dựng hệ thống tìm kiếm âm theo nội dung dựa đặc trưng miền tần số, Đại học Dân lập Hải phòng 2016 [16] D Scherer, A Müller, and S Behnke, “Evaluation of pooling operations in convolutional architectures for object recognition,” Proc 20th Int Conf Artif Neural Netw.: Part III, Berlin/Heidelberg, Germany, 2010 [17] Pydub: https://github.com/jiaaro/pydub [18] Librosa: https://github.com/librosa/librosa [19] Numpy: https://numpy.org/ [20] Keras: https://keras.io [21] Tensorflow: https://www.tensorflow.org [22] Matplotlib: https://matplotlib.org/ [23] Vivos Corpus: https://ailab.hcmus.edu.vn/vivos 88 89 90 91 92 93 94 95 96 ... vực xử lý ngơn ngữ tự nhiện nói chung nhận dạng tiếng nói nói riêng lĩnh vực nhiều người quan tâm Trong đó, tốn nhận dạng tiếng nói tiếng Việt phương pháp học sâu mang lại hiệu cao tính ổn định... thuật nhận dạng âm tiếng nói - Phạm vi nghiên cứu phương pháp học sâu, hiệu cách sử dụng chúng từ đề xuất phương pháp cụ thể hiệu 1.4 Phương pháp nghiên cứu Để thực luận văn này, sử dụng phương pháp. .. TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN THANH HIỆP NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT BẰNG PHƯƠNG PHÁP HỌC SÂU CHUYÊN NGÀNH: HỆ THÔNG THÔNG TIN MÃ SỐ: 8480104 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS

Ngày đăng: 08/03/2022, 16:43

Tài liệu cùng người dùng

Tài liệu liên quan