Đồ Án Tốt Nghiệp Nhận Dạng Tiếng Nói Sử Dụng Mô Hình Deep Learning 9126819.Pdf

27 13 0
Đồ Án Tốt Nghiệp Nhận Dạng Tiếng Nói Sử Dụng Mô Hình Deep Learning 9126819.Pdf

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP Thử nghiệm nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói bằng phương pháp học sâu PHAN XUÂN PHÚC phuc px156248@sis hust edu vn Giảng vi[.]

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP Thử nghiệm nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói phương pháp học sâu PHAN XUÂN PHÚC phuc.px156248@sis.hust.edu.vn Giảng viên hướng dẫn: TS Nguyễn Hồng Quang Chữ ký GVHD Bộ môn: Viện: Kỹ thuật máy tính Cơng nghệ thơng tin Truyền thơng HÀ NỘI, 12/2019 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: Phan Xuân Phúc Điện thoại liên lạc: 0399150374 Lớp: CN-CNTT K60 Email: phanxuanphucnd@gmail.com Hệ đào tạo: Cử nhân công nghệ Đồ án tốt nghiệp thực tại: Viện Công nghệ thông tin Truyền thông Trường đại học Bách Khoa Hà Nội Thời gian làm ĐATN: từ 9/2019 đến 27/12/2019 Mục đích nội dung ĐATN Xây dựng, thử nghiệm nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói phương pháp học sâu Các nhiệm vụ cụ thể ĐATN - Tìm hiểu tổng quan xử lý tiếng nói; - Tìm hiểu mạng nơ-ron nhân tạo, mạng nơ-ron tích chập mạng hồi quy; - Tìm hiểu, nghiên cứu mơ hình học sâu đạt hiệu tốt cho nhận dạng tiếng nói; - Ứng dụng thử nghiệm vào tốn nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói Lời cam đoan sinh viên Tôi - Phan Xuân Phúc – cam kết ĐATN cơng trình nghiên cứu thân tơi hướng dẫn TS Nguyễn Hồng Quang Các kết nêu ĐATN trung thực, chép tồn văn cơng trình nghiên cứu khác Hà Nội, ngày 27 tháng 12 năm 2019 Tác giả đồ án tốt nghiệp Phan Xuân Phúc Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ Hà Nội, ngày 27 tháng 12 năm 2019 Giáo viên hướng dẫn TS Nguyễn Hồng Quang Lời cảm ơn Lời cảm ơn chân thành em xin gửi đến thầy cô trường Đại học Bách Khoa Hà Nội đặc biệt thầy cô Viện Công nghệ thông tin Truyền thông Trong bốn năm qua, em học khơng nhiều kiến thức mà cịn trang bị cho em hành trang vững bước sau Qua thời gian học tập, sống với Bách Khoa giúp em trở nên không ngại khó khăn thử thách, ln sẵn sàng với tinh thần chiến đấu, học hỏi, kiên trì khơng ngừng theo đuổi ước mơ, đam mê thân Đặt biệt nhất, em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Hồng Quang, thầy giảng dạy trình học tập học phần trường hướng dẫn, giúp đỡ em hồn thành ĐATN Dẫu cịn nhiều thiếu sót giúp đỡ tận tình thầy giúp em có động lực hồn thành đề tài “Thử nghiệm xây dựng hệ nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói phương pháp học sâu” cách tốt Ngoài ra, em xin cảm ơn đến công ty Ftech, đặc biệt anh, bạn team NLP giúp đỡ tạo điều kiện để em hoàn thành tốt đồ án tốt nghiệp Cuối cùng, xin cảm ơn tới gia đình em hỗ trợ em việc thu thập liệu người bạn giúp đỡ trình học tập trường Em xin chân thành cảm ơn Sinh viên Phan Xuân Phúc Tóm tắt nội dung đồ án Đồ án nhằm mục đích áp dụng phương pháp học sâu thử nghiệm xây dựng hệ nhận dạng tiếng nói tiếng Việt hỗ trợ người khuyết tật giọng nói, giúp giải vấn đề khuyết điểm người khuyết tật giọng nói Việt Nam Bố cục đồ án gồm có 04 chương: Chương 1, Đặt vấn đề hướng giải pháp Trong chương trình bày vấn đề cần giải quyết, giới hạn phạm vi đề tài, hướng giải pháp cho vấn đề khuôn khổ đồ án Chương 2, Một số kiến thức liên quan Trong chương nói số vấn đề xử lý liệu âm tốn Phần sau chương trình bày thuật toán sử dụng cho toán số vấn đề liên quan Chương 3, Nhận dạng giọng nói người khuyết tật giọng nói Nội dung chương trình bày cách thu thập liệu, tiền xử lý liệu đầu vào, vần đề tăng cường liệu huấn luyện áp dụng mơ hình vào tốn Phần sau chương trình bày kết số thử nghiệm cho toán Chương 4, Kết luận hướng phát triển Nội dung chương trình bày điểm đạt được, điểm chưa giải hướng phát triển trình nghiên cứu Sinh viên thực MỤC LỤC CHƯƠNG ĐẶT VẤN ĐỀ VÀ HƯỚNG GIẢI PHÁP 1.1 Đặt vấn đề 1.2 Phạm vi đề tài 1.3 Hướng giải pháp CHƯƠNG MỘT SỐ KIẾN THỨC LIÊN QUAN 2.1 Một số vấn đề xử lý liệu âm Đọc liệu từ file âm Tỷ lệ lấy mẫu (Sampling rate) 2.2 Mạng nơ-ron (Neural Network) Giới thiệu tổng quan Mơ hình mạng CNN (Convolutional Neural Network) Mơ hình mạng RNN (Recurrent Neural Network) Một số vấn đề cần lưu ý CHƯƠNG NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT CHO NGƯỜI KHUYẾT TẬT GIỌNG NÓI 12 3.1 Dữ liệu cho toán 12 3.2 Cân liệu 14 3.3 Thực nhận dạng giọng nói 15 Tiền xử lý liệu âm / tiếng nói 15 Trích xuất đặc trưng 16 Chuẩn hóa liệu 19 Xây dựng kiến trúc mơ hình 20 Giải mã đầu (Decoding) 22 Phương pháp đánh giá 26 3.4 Kết thử nghiệm 26 3.5 Đánh giá tổng quan mơ hình cho việc áp dụng vào hệ thống nhận dạng tiếng nói cho người khuyết tật giọng nói 31 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 33 4.1 Kết luận 33 4.2 Hướng phát triển tương lai 33 TÀI LIỆU THAM KHẢO 35 PHỤ LỤC 37 DANH MỤC HÌNH VẼ Hình 1.1 Tổng quan hệ trình huấn luyện nhận dạng hệ thống Hình 2.1 Một sóng âm phát âm “mười sáu” Hình 2.2 Minh họa sóng dạng Analog Digital Nguồn [14] Hình 2.3 Ví dụ mạng neural network, hidden layer Nguồn [15] Hình 2.4 Mơ hình CNN Nguồn [16] Hình 2.5 Ma trận đầu vào kernel Hình 2.6 Ma trận Input × Kernel Feature map Hình 2.7 Ví dụ với stride=1 Hình 2.8 Ví dụ với stride=1 padding=1 Hình 2.9 Mơ hình mạng Recurrent Neural Network Nguồn [27] Hình 2.10 Cấu trúc mạng GRU Nguồn [28] Hình 2.11 Minh họa trình cập nhật gradient 10 Hình 3.1 Tổng quan phân bố âm vị tiếng Việt có tập liệu huấn luyện 12 Hình 3.2 Mười âm vị xuất nhiều tập liệu huấn luyện 13 Hình Hình Hình Hình Hình 3.3 Mười âm vị xuất tập liệu huấn luyện 13 3.4 Phân bố âm vị tập huấn luyện sau cân 14 3.5 Mơ tả hệ nhận dạng tiếng nói 15 3.6 Các bước q trình thực nhận dạng tiếng nói 15 3.7 Sơ đồ tính tốn hệ số MFCCs 16 Hình 3.8 Ví dụ phân khung đoạn tín hiệu Nguồn [22] 17 Hình 3.9 Cửa sổ Hamming 17 Hình 3.10 Mơ tả frame trước sau áp dụng cửa sổ Hamming tín hiệu phát âm “mười sáu” 18 Hình 3.11 Băng lọc tần số Mel với số lượng lọc 22, kích thước FFT 2048, sampling rate 16kHz 18 Hình 3.12 Một biểu diễn MFCCs-13 chiều phát âm “mười sáu” 19 Hình 3.13 Kiến trúc chung mơ hình cho thử nghiệm nhận dạng giọng nói tiếng Việt cho người khuyết tật giọng nói 20 Hình 3.14 Minh họa ma trận đầu CTC với phát âm “a” với chữ gồm {a, b} 23 Hình 3.15 Thuật tốn Greedy Search 24 Hình 3.16 Tất path tương ứng với đầu text “a” 24 Hình 3.17 Thuật toán Beam Search 25 Hình 3.18 Kiến trúc mơ hình thử nghiệm (Model 1) bao gồm layer Conv1D layer bi-simple RNN 27 Hình 3.19 Kiến trúc mơ hình thử nghiệm (Model 2) bao gồm layer Conv1D layer bi-GRU 28 Hình 3.20 Kết thay đổi hàm mát hai mơ hình Model1 Model2 sau 80 epochs Đường màu cam biểu thị cho Model đường màu xanh biểu thị cho Model 28 Hình 3.21 Minh họa kết so sánh Model Model với ba độ đo CER, WER SER (%) 29 Hình 3.22 Kết đánh giá Model người dựa ba độ đo CER, WER SER (%) 29 Hình 3.23 Kết đánh giá Google API người dựa độ đo CER, WER SER (%) 30 Hình 3.24 Kết so sánh mơ hình Model sử dụng Google API dựa CER, WER SER (%) 31 DANH MỤC BẢNG Bảng 3.1 Phân tích âm vị biến thể điệu phát âm “a” “đa” 12 Bảng 3.2 Mô tả liệu cho tập huấn luyện tập kiểm 14 Bảng 3.3 Kết so sánh hai mơ hình thử nghiệm sử dụng mạng bisimpleRNN bi-GRU dựa ba độ đo CER, WER SER (%) 28 Bảng 3.4 Kết đánh giá Google API cho nhận dạng tiếng nói người khuyết tật giọng nói liệu tập thử nghiệm (%) 30 DANH MỤC TỪ VIẾT TẮT API Application Programming Interface Giao diện lập trình ứng dụng CER Character Error Rate Tỷ lệ lỗi ký tự CNN Convolutional Neural Network Mạng rơ-ron tích chập CNTT Cơng nghệ thông tin CTC Connectionist Temporal Classification DNN Deep Neural Network Mạng nơ-ron sâu DTW Dynamic Time Warping Xoắn thời gian động DCT Discrete Cosine Transform Biến đổi Cosin rời rạc DFT Discrete Fourier Transform Biến đổi Fourier rời rạc ĐATN Đồ án tốt nghiệp HMM/GMM Hidden Markov Model/ Gaussian Mixed Model Mơ hình Makov ẩn / Mơ hình Gaussian hỗn hợp FFT Fast Fourier Transform Biến đổi Fourier nhanh GRU Gated Recurrent Unit CHƯƠNG ĐẶT VẤN ĐỀ VÀ HƯỚNG GIẢI PHÁP 1.1 Đặt vấn đề Trong sống, tiếng nói ngơn ngữ giao tiếp người, có tầm quan trọng lớn đời sống hàng ngày vấn đề phát triển kinh tế, xã hội Vấn đề giao tiếp người với người, hay người với máy đề tài nghiên cứu lớn nhiều lĩnh vực có khó khăn định mang lại nhiều ứng dụng thực tiễn Ở Việt Nam có tới 7% dân số (khoảng 6.2 triệu người) bị khuyết tật [1], có người khuyết tật giọng nói Tồn vấn đề mà người khuyết tật giọng nói gặp khó khăn giao tiếp sống chẳng hạn nói chuyện với bạn bè, người thân; trao đổi nhóm cơng việc; thuyết trình hội nghị, cơng việc u cầu tiếng nói Với người khuyết tật giọng nói, họ gặp nhiều vấn đề hạn chế việc nói, phát âm lời nói người khác không hiểu, không nghe rõ dẫn đến việc thiếu tự tin nói, giao tiếp với người khác, hay hạn chế việc tìm kiếm công việc cho thân Tôi người số Những điều làm cho thân cảm thấy bị may mắn, thường bị cô lập với người Trên giới có nhiều cơng trình nghiên cứu áp dụng công nghệ vào việc hỗ trợ cho người khuyết tật đạt thành tựu đáng kể Tôi suy nghĩ ước muốn việc để khắc phục khuyết điểm Với mong muốn thân, với phát triển mạnh mẽ khoa học kỹ thuật công nghệ, hướng tới việc áp dụng công nghệ vào việc xây dựng hệ thống, công cụ cho người khuyết tật giọng nói Bước kế hoạch đó, tơi nghiên cứu tìm hiểu đồ án nghiên cứu, thử nghiệm xây dựng hệ nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói giúp nhận dạng tiếng nói tiếng Việt người khuyết tật giọng nói 1.2 Phạm vi đề tài Đồ án hướng tới việc xây dựng hệ nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói Cơ sở liệu cho đồ án gặp nhiều hạn chế việc thu thập liệu để huấn luyện mơ hình thử nghiệm Do mang tính thử nghiệm có nhiều hạn chế thời gian, số lượng người thu thập nên đồ án thực liệu nhỏ (từ đơn, từ ghép) cho ngôn ngữ tiếng Việt 1.3 Hướng giải pháp Nhận dạng tiếng nói cho tiếng Việt nhiều nghiên cứu phát triển năm qua phương pháp khác Đặng Đức Ngọc [2] giới thiệu sử dụng mạng rơ-ron mơ hình Markov ẩn cho nhận dạng tiếng nói tiếng Việt năm 2003 Năm 2008, Vũ Tất Thắng cộng [3] đề xuất phương pháp nhận dạng điệu sử dụng mạng nơ-ron percepton cho tốn phức tạp nhận dạng tiếng nói cho tiếng Việt với từ vựng lớn TS Nguyễn Hồng Quang cộng [4] tích hợp thông tin điệu cho âm vị sử dụng với công cụ HTK vào năm 2010 Năm 2017, TS Nguyễn Thị Thanh cộng [5] sử dụng công cụ Kaldi cho nhận dạng tiếng nói tiếng Việt Và nhiều cơng trình nghiên cứu mang lại giá trị cho toán nhận dạng tiếng nói tiếng Việt Với ngơn ngữ khác giới, chẳng hạn tiếng Anh, có nhiều hướng tiếp cận mang lại kết khả quan chẳng hạn phương pháp tiếp cận dựa Knowledge [6], dựa Dynamic Time Warping [7], dựa mơ hình HMM/GMM [8], Neural Networks [9] Trong năm gần đây, với thành công vượt trội việc áp dụng phương pháp học sâu (Deep Learning) giải tốn phức tạp thị giác máy tính (Computer Vision), xử lý ngôn ngữ tự nhiên (Natural Language Processing) Năm 2014 2015, hai mơ hình end-to-end giới thiệu cho nhận dạng tiếng nói, gọi Deep Speech [10] Deep Speech [11] áp dụng ngôn ngữ tiếng Anh Mandarin mang lại hiệu vượt trội so với phương pháp truyền thống khác, giải thách thức hệ thống nhận dạng tiếng nói Vì thế, việc áp dụng phương pháp học sâu lựa chọn thử nghiệm tối ưu việc giải toán nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói Trong phạm vi đồ án, tơi thực thử nghiệm áp dụng phương pháp học sâu, sử dụng số mơ Convolutional Neural Network (CNN), Recurrent Neural Network (RNN) dựa kiến trúc mơ hình Deep Speech [10] Deep Speech [11] vào việc nhận dạng tiếng nói cho người khuyết tật giọng nói, so sánh hiệu chúng số thử nghiệm mô tả cụ thể phần 3.4 Kết thu giúp đánh giá chất lượng kiến trúc mơ hình qua độ đo Word Error Rate, Character Error Rate Sentence Error Rate tốn Hình 1.1 Tổng quan hệ trình huấn luyện nhận dạng hệ thống Quá trình xây dựng hệ thống nhận dạng tiếng nói gồm giai đoạn: huấn luyện nhận dạng Trong trình huấn luyện, đặc trưng cho tín hiệu tiếng nói trích xuất, nhận dạng huấn luyện để tối thiếu hàm chi phí Trong q trình nhận dạng, nhận dạng huấn luyện đưa phiên âm ứng với tín hiệu tiếng nói cần nhận dạng CHƯƠNG MỘT SỐ KIẾN THỨC LIÊN QUAN 2.1 Một số vấn đề xử lý liệu âm Đọc liệu từ file âm Chúng ta nghe nhạc/ âm máy tính, điện thoại Thông thường, chúng định dạng mp3, m4a, Nhưng file định dạng khơng phải âm thực tế Đó cách biểu diễn âm máy tính, điện thoại đọc trực tiếp từ chúng giống đọc từ file txt, csv, … Âm thanh/ tiếng nói thể dạng sóng, gồm trục Trục 𝑥 biểu diễn thời gian trục 𝑦 biểu diễn biên độ Tại thời điểm 𝑡, có giá trị biên độ xác định Như ví dụ minh họa Hình 2.1 biểu diễn âm phát âm “mười sáu” Hình 2.1 Một sóng âm phát âm “mười sáu” Chúng ta phải sử dụng file âm dạng sóng có định dạng wav để đọc chúng Trong Python, thư viện Librosa [2] hỗ trợ cho phép đọc file wav Sau đọc từ file wav thu loạt số ví dụ đọc file âm có độ dài giây tỷ lệ lấy mẫu 16000 Hz phát âm “mười sáu”: array([ 0.06896514, 0.1007529 , 0.08946026, , -0.09958471, -0.10146017, 0.11512566], dtype=float32) Các giá trị biểu diễn cho trục 𝑦 sóng, tức biên độ Cịn trục 𝑥 chiều dài mảng Trong trường hợp 16000 Tỷ lệ lấy mẫu (Sampling rate) Tỷ lệ lấy mẫu số lượng mẫu thu thập giây Nó dạng digital [12], chuỗi giá trị rời rạc, thu thập khoảng cách thời gian Như ví dụ phần 2.1.1 tỷ lệ lấy mẫu 16000 Hz, tức thu thập 16000 mẫu giây Khi tỷ lệ lấy mẫu cao độ mát thơng tin nhỏ, việc đánh đổi cần thiết việc lưu trữ liệu âm Thật vậy, ta xét đoạn sóng âm có độ dài giây Nếu dạng analog [13], tức có giá trị biên độ cho thời điểm, giá trị tương ứng với nano giây pico giây Giả sử, đoạn sóng âm giây nói có giá trị cho pico giây, tức có 1𝑒 + 12 giá trị Việc lưu trữ máy tính, kiểu liệu float bytes để lưu trữ Với đoạn âm phải 1𝑒 + 12 ∗ bytes, tức 3.5 terabyes để lưu file âm có độ dài giây Vì thể, phải chuyển đổi sóng âm thành dạng digital Hình 2.2 minh họa sóng hai dạng Analog Digital Hình 2.2 Minh họa sóng dạng Analog Digital Nguồn [14] Thông thường, tỷ lệ lấy mẫu mặc định 22050 người nghe tần số từ 20 Hz – 20k Hz Trong tốn nhận dạng giọng nói, việc tỷ lệ lấy mẫu thông thường 16000 Hz đủ 2.2 Mạng nơ-ron (Neural Network) Giới thiệu tổng quan Neural tính từ neuron (nơ-ron) phận tế bào hệ thần kinh có tính chất liên kết Chúng thành phần quan trọng não giúp có nhận thức, nhận biết Network mạng cấu trúc đồ thị Vì neural network hệ thống tính tốn lấy cảm hứng từ hoạt động nơ-ron hệ thần kinh Kiến trúc chung mạng rơ-ron gồm nhiều nơ-ron, gọi node, chúng liên kết với Về bản, mạng nơ-ron chia thành lớp chính: lớp lớp đầu vào (input layer), lớp gọi lớp ẩn (hidden layer) lớp cuối gọi lớp đầu (output layer) Hình 2.3 minh họa mạng nơron gồm lớp ẩn Hình 2.3 Ví dụ mạng neural network, hidden layer Nguồn [15] Một mạng nơ-ron có lớp đầu vào, lớp đầu có nhiều lớp ẩn Trong mạng nơ-ron, node nơ-ron có hàm kích hoạt [29] khác Tuy nhiên, thực tế người ta thường áp dụng chúng chung hàm kích hoạt mục đích cho việc tối thiểu hóa độ phức tạp tính tốn Mơ hình mạng CNN (Convolutional Neural Network) Hình 2.4 Mơ hình CNN Nguồn [16] Về mạng tích chập (Convolutional neural network) mạng nơ-ron truyền thẳng, kiến trúc gồm nhiều thành phần ghép nối với theo câu cấu trúc: lớp tích chập (Convolutional), Pooling, ReLU Fully Connected 2.2.2.1 Lớp tích chập (Convolutional Layer) Phép tích chập thực phép tốn hai hàm có (𝑓 𝑔) Cơng thức phép tốn tích chập sau: 𝑚 𝑛 𝑘 (𝑥, 𝑦) × 𝑓 (𝑥, 𝑦) = ∑ ∑ 𝑘 (𝑢, 𝑣 )𝑓(𝑥 − 𝑢, 𝑦 − 𝑣) 𝑢=− 𝑚 𝑛 𝑢=− 2 Trong CNN, lớp tích chập hidden layer, lớp tích chập tập feature map feature map scan (qt) (hay cịn hiểu góc nhìn) đầu vào ban đầu, trích xuất thành đặc trưng cụ thể Việc thực phụ thuộc vào filter (bộ lọc) kernel (nhân) Nó thực việc quét ma trận liệu đầu vào theo trình tự từ trái qua phải, sau từ xuống nhân tương ứng giá trị ma trận đầu với ma trận kernel cộng tổng lại Sau đó, đưa qua hàm kích hoạt (activation function) (chẳng hạn như, sigmoid, relu, …), thu số cụ thể Sau trình thực xong ta thu ma trận, feature map Hình 2.5 minh họa ma trận đầu vào kích thước × filter có kích thước × Hình 2.5 Ma trận đầu vào kernel Sau thực việc quét kernel qua phần từ input, đồng thời thực phép tính tốn nói ta thu giá trị feature map Hình 2.6, minh họa ma trận 𝐼𝑛𝑝𝑢𝑡 × 𝐹𝑖𝑙𝑡𝑒𝑟 giá trị 𝐹𝑒𝑎𝑡𝑢𝑟𝑒 𝑚𝑎𝑝 Hình 2.6 Ma trận Input × Kernel Feature map Bộ lọc (filter) hay gọi phát đặc trưng coi nơ-ron lớp tích chập Nó có đầu vào trọng số input giá trị đầu nơron Nếu có lớp tích chập đầu vào giá trị đầu vào ban đầu, kiến trúc mạng có chiều sâu lớp tích chập lấy đầu vào từ feature map trước Tổng quát hóa, ta nhân tích chập ma trận input kích thước 𝑛 × 𝑛 vào lọc kích thước 𝑓 × 𝑓, ta thu ma trận kích thước: (𝑛 − 𝑓 + 1) × (𝑛 − 𝑓 + 1) Trong lớp tích chập cịn có hai tham số quan trọng khác Stride Padding Stride khoảng cách hai kernel thực quét Ví dụ, stride=1, kernel quét hai cạnh (tức số đến số 2) Cịn stride=2, kernel quét ô số đến ô số 3, bỏ qua ô số Hình 2.7 minh họa ví dụ với stride=1 Hình 2.7 Ví dụ với stride=1 Tổng qt hóa, kích thước ma trận đầu lúc với stride=𝑠 tính bởi: 𝑛−𝑓 𝑛−𝑓 ( + 1) × ( + 1) 𝑠 𝑠 Nếu 𝑛 − 𝑓 không chia hết cho 𝑠, ta thực việc lấy chặn Mỗi lần sử dụng phép tích chập, kích thước feature map bị giảm xuống Chúng ta sử dụng padding để giữ nguyên kích cỡ feature map so với ban đầu Khi điều chỉnh padding=𝑝, tức ta thêm 𝑝 ô bao bọc xung quanh cạnh ma trận input Hình 2.8 minh họa ví dụ với padding=1 Hình 2.8 Ví dụ với stride=1 padding=1 Padding cịn giúp tránh việc mát thơng tin vùng gần cạnh ma trận input, vùng trung tâm ma trận input bao phủ nhiều vùng kích thước lọc, vùng góc cạnh bao phủ lần Tổng quát hóa, ma trận feature map sử dụng với padding=𝑝, stride=𝑠 tính bởi: 𝑛 − 𝑓 + 2𝑝 𝑛 − 𝑓 + 2𝑝 ( + 1) × ( + 1) 𝑠 𝑠 2.2.2.2 Lớp Fully-Connected Lớp Fully-connected lớp mà nơ-ron liên kết đầy đủ với Lớp tương tự fully-connected mạng nơ-ron nhân tạo Trong kiến trúc mơ hình tơi sử dụng cho toán sử dụng đến lớp fully-connected với hàm kích hoạt ReLU Softmax với lớp đầu có số unit với số ký tự đầu mong muốn Mơ hình mạng RNN (Recurrent Neural Network) Ý tưởng mạng RNN sử dụng chuỗi thơng tin Trong mạng nơ-ron truyền thống tất đầu vào đầu độc lập với Tức chúng không liên kết thành chuỗi với Với mơ hình khơng phù hớp với nhiều toạn dạng Ví dụ như, muốn đốn từ xuất câu ta cần biết từ phía trước xuất RNN sinh để giải vấn đề RNN xem liệu đầu vào chuỗi (sequence) liên tục, nối thứ tự thời gian Ví dụ đoạn text (văn bản) chuỗi từ vựng (words) chuỗi ký tự (characters) Tại thời điểm 𝑡, với liệu đầu vào 𝑥𝑡 ta có kết output 𝑦𝑡 Khác với mạng lan truyền thẳng, 𝑦𝑡 sử dụng làm đầu vào cho thời điểm (𝑡 + 1) Điều cho phép RNN lưu trữ truyền thơng tin đến thời điểm Hình 2.9 minh họa ví dụ mơ hình RNN Hình 2.9 Mơ hình mạng Recurrent Neural Network Nguồn [27] Việc tính toán bên mạng RNN thực thi sau:  𝑥𝑡 đầu vào thời điểm 𝑡  ℎ𝑡 trạng thái ẩn thời điểm 𝑡 Nó nhớ mạng tính tốn dựa trạng thái ẩn trước đầu vào bước đó: ℎ𝑡 = 𝑓(𝑈𝑥𝑡 + 𝑉ℎ𝑡−1 ) Hàm 𝑓 thường hàm phi tuyến chẳng hạng tanh, ReLU, …  𝑜𝑡 đầu thời điểm 𝑡 Cơng thức tính: 𝑜𝑡 = 𝑔(𝑊ℎ𝑡 ) Về mặt lý thuyết, RNN xử lý lưu thông tin chuỗi với độ dài Nhưng thực tế, RNN hiệu chuỗi liệu ngắn, có độ lớn khơng q dài) Ngun nhân vấn đề tượng triệt tiêu gradient (vanishing gradient) Để khắc phục vấn đề người ta xây dựng số cấu trúc biến thể mạng RNN LSTM, GRU Viêc áp dụng hai kiến trúc mơ hình giúp hạn chế vấn đề phụ thuộc xa mạng RNN Một biến thể mạng RNN có tên gọi Gated Recurrent Unit (GRU) mà sử dụng đồ án Về bản, mạng GRU có cấu trúc RNN khác cách tính tốn trạng thái ẩn Cơng thức tính tốn bên mạng GRU sau: 𝑧 = 𝜎(𝑥𝑡 𝑈 𝑧 + ℎ𝑡−1 𝑉 𝑧 ) 𝑟 = 𝜎(𝑥𝑡 𝑈 𝑟 + ℎ𝑡−1 𝑉 𝑟 ) 𝑔 = tanh(𝑥𝑡 𝑈𝑔 + ℎ𝑡−1 °𝑟) 𝑉 ℎ ) ℎ𝑡 = (1 − 𝑧)°𝑔 + 𝑧°ℎ𝑡−1 GRU có cổng: cổng thiết lập lại 𝑟 cổng cập nhập 𝑧 Cổng thiết lập lại định cách kết hợp đầu vào với nhớ trước, cịn cổng cập nhập định có thông tin nhớ trước nên lại Như RNN dạng đặc biệt GRU, với đầu cổng thiết lập lại cổng cập nhập Hình 2.10 mơ tả kiến trúc mơ hình mạng GRU Hình 2.10 Cấu trúc mạng GRU Nguồn [28] Một số vấn đề cần lưu ý 2.2.4.1 Vấn đề triệt tiêu/ bùng nổ gradient (Vanishing /exploding gradient) Giải thuật mang tính cốt lõi giúp việc huấn luyện mơ hình học sâu dễ dàng thực thi tính tốn cập nhật trọng số giải thuật lan truyền ngược (Backpropagation) [17] Ý tưởng chung thuật toán từ output layer (lớp đầu ra) đến input layer (lớp đầu vào) tính tốn gradient cost function (hàm chi phí) tương ứng cho parameter weights (tham số trọng số) mạng Sau đó, Gradient Descent (GD) [30] sử dụng để cập nhật tham số Q trình lặp lại parameter mạng hội tụ Thông thường có hyperparameter định nghĩa cho số lượng vịng lặp để thực q trình Hyperparameter thường gọi số Epoch (tức số lần mà training set duyệt qua lần weights cập nhật) Nếu số lượng vòng lặp nhỏ, DNN (Deep Neural Network) khơng cho kết tốt, ngược lại thời gian huấn luyện dài số lượng vòng lặp lớn Ở ta có đánh đổi độ xác thời gian huấn luyện Tuy nhiên thực tế gradients thường có giá trị nhỏ dần xuống layer thấp Kết cập nhật thực Gradient Descent không làm thay đổi nhiều weights layer đó, khiến chúng hội tụ DNN không thu kết tốt Hiện tượng gọi Vanishing Gradients Trong hình 2.9 minh họa cost function có dạng đường cong dẹt, cần nhiều lần cập nhật (Gradient Descent step) để tìm điểm global minimum (điểm cực tiểu tồn cục) Hình 2.11 Minh họa trình cập nhật gradient Trong nhiều trường hợp khác, gradients có giá trị lớn q trình backpropagation, khiến số layers có giá trị cập nhật cho weights lớn khiến chúng phân kỳ (phân rã), tất nhiên DNN khơng có kết mong muốn Hiện tượng gọi Exploding Gradients, thường gặp sử dụng RNNs Trong q trình huấn luyện DNN, gặp phải vấn đề liên quan đến việc gradients không ổn định khiến cho tốc độ học layer khác chênh lệch nhiều Hai tượng nguyên nhân khiến mạng nơ-ron không nhận quan tâm thời gian dài Tuy nhiên nghiên cứu thực Xavier Glorot Yoshua Bengio năm 2010 [18] Các tác giả đưa số nguyên nhân dẫn đến tượng Trong việc lựa chọn activation function kỹ thuật weight initialization hai nguyên nhân Tóm lại, hai vấn đề vanishing/ exploding gradient khiến cho q trình huấn luyện trở nên khó khăn hiệu suất mơ hình bị giảm Để tránh vấn đề này, mơ hình cần sử dụng hàm kích hoạt có tính chất hạn chế nhược điểm hai vấn đề trình backpropagation Ví dụ ReLU, Leak ReLU, … Bên cạnh việc áp dụng kỹ thuật Batch Normalization cách hạn chế vấn đề 2.2.4.2 Tiêu chí đánh giá mơ hình Có phương pháp tiếp cận cho tốn nhận dạng tiếng nói tiếng Việt nhiều năm qua Việc so sánh, đánh giá mơ hình dựa tiêu chí sau: 10  Độ đo (Metrics) Độ đo số để đánh giá khả mơ hình để biết tỷ lệ xác mơ hình Trong nhận dạng tiếng nói người ta hay sử dụng độ đo tỷ lệ lỗi từ (WER) Ngoài ra, họ sử dụng độ đo tỷ lệ lỗi chữ (CER) tỷ lệ lỗi câu (SER)  Tốc độ (Speed) Tốc độ chi phí tính tốn liên quan đến q trình tạo ra, sử dụng mơ hình  Sức mạnh (Robustness) Sức mạnh khả mà mơ hình đưa dự đốn với liệu chứa nhiễu liệu bị mát  Khả mở rộng (Scalability) Khả mở rộng khả mà mơ hình xây dựng hiệu với miền liệu khác  Tính hiểu (Interpretability) Tính hiểu mức độ chi tiết thơng tin cung cấp mơ hình  Tính đơn giản (Simplicity) Tính đơn giản mức độ đơn giản, kích thước mơ hình 11 CHƯƠNG NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT CHO NGƯỜI KHUYẾT TẬT GIỌNG NĨI 3.1 Dữ liệu cho tốn Tập liệu huấn luyện bao gồm 1600 từ vựng thông dụng tiếng việt thu thập Wikipedia [23] Ý tưởng thu thập liệu nhỏ cho việc thử nghiệm, cho chúng bao phủ toàn âm vị chữ bao gồm điệu tiếng Việt Bộ liệu chủ yếu từ vựng đơn có chứa 134 âm vị chứa đủ 89 chữ bao gồm chữ tiếng Việt tính điệu Trong tiếng Việt có điệu là: ngang (-), huyền ( ` ), ngã ( ~ ), hỏi ( ˀ ), sắc ( ′ ) nặng ( ) Bảng chữ tiếng Việt có 29 chữ cái, theo thứ tự: [a, ă, â, b, c, d, đ, e, ê, g, h, i, k, l, m, n, o, ô, ơ, p, q, r, s, t, u, ư, v, x, y] Trong có 12 chữ có điệu bao gồm: [a, ă, â, e, ê, i, o, ô, ơ, u, ư, y] Bảng 3.1 minh họa phân tích âm vị biến thể điệu phát âm “a” “đa” Phát âm Âm vị Phát âm Âm vị a ab đa dd ab as đá dd as af đà dd af ã ax dd ax ả ar đả dd ar aj dd aj Bảng 3.1 Phân tích âm vị biến thể điệu phát âm “a” “đa” Cái nhìn tổng quan phân bố âm vị tiếng Việt có tập liệu huấn luyện mơ tả hình 3.1 Hình 3.2 hình 3.3 cho thấy 10 âm vị xuất nhiều tương ứng tập liệu Hình 3.1 Tổng quan phân bố âm vị tiếng Việt có tập liệu huấn luyện 12 Hình 3.2 Mười âm vị xuất nhiều tập liệu huấn luyện Tải FULL (49 trang): https://bit.ly/3fQM1u2 Dự phịng: fb.com/KhoTaiLieuAZ Hình 3.3 Mười âm vị xuất tập liệu huấn luyện Dữ liệu huấn luyện ghi âm người nói gồm: bố (DTM1), (DTM2) anh trai (DTM3) Dữ liệu ghi âm thời điểm khác cho từ vựng, ghi âm trình ghi âm điện thoại smart phone thu định dạng mp3 m4a Bộ liệu có nhãn cho ghi âm Thời gian trung bình cho ghi âm khoảng 1.8 giây Bộ liệu bao gồm 1546 từ vựng đơn, 48 từ vựng đôi từ vựng ba Vì hạn chế việc thu thập liệu nên thử nghiệm tập liệu với tập liệu nhỏ chủ yếu từ vựng đơn Bảng 3.2 mô tả thông số liệu phân chia tập liệu huấn luyện vào kiểm thử 13 Người phát âm Tập huấn luyện Tập kiểm thử DTM1 DTM2 DTM3 Tổng 1600 * 1600 * 1600 * 14400 1600*1 1600*1 1600*1 4800 Bảng 3.2 Mô tả liệu cho tập huấn luyện tập kiểm Tải FULL (49 trang): https://bit.ly/3fQM1u2 Dự phòng: fb.com/KhoTaiLieuAZ 3.2 Cân liệu Theo quan sát phân bố tổng quan phân bố âm vị hình 3.1, liệu huấn luyện, ta thấy liệu thu thập cân âm vị Âm vị đơn vị phát âm nhỏ từ, việc cân nguyên nhân dẫn đến làm giảm hiệu suất, tính tổng qt mơ hình Để giải vấn đề này, cần phải cân liệu trước thực việc huấn luyện mơ hình Ý tưởng tơi tăng cường âm vị có số lần xuất Đầu tiên xét ngưỡng xuất cân Trong thử nghiệm lấy ngưỡng cân 100 (xét với liệu người) Với âm vị có số lần xuất ngưỡng cân bằng, phân chúng vào cụm xuất (A), ngược lại với âm vị có số lần xuất lớn ngưỡng cân bằng, phân chúng vào cụm xuất nhiều (B) Với âm vị có cụm A, ta thực việc tăng cường số lần xuất lên cách: tìm kiếm từ (word) tương ứng chứa âm vị cho âm vị phân tích từ (word) có nhiều cụm A tồn cụm B Từ đó, liệu huấn luyện cân Hình 3.4 mơ tả phân bố tổng quan âm vị sau thực việc cân liệu huấn luyện Hình 3.4 Phân bố âm vị tập huấn luyện sau cân 14 3.3 Thực nhận dạng giọng nói Nhận dạng tiếng nói q trình chuyển phát âm tiếng nói (speech) thành văn (text) Mục đích mơ hình ta đưa đoạn ghi âm/phát âm tiếng nói vào hệ thống mơ hình đưa “bản dịch” phát âm đoạn tiếng nói Hình 3.5 minh họa tín hiệu tiếng nói “phúc” qua mơ hình nhận dạng tiếng nói thu văn đầu có text “phúc” Hình 3.5 Mơ tả hệ nhận dạng tiếng nói Đầu tiên, liệu tiếng nói trích xuất đặc trưng, ta thu vector đặc trưng biểu diễn cho tín hiệu tiếng nói Sau đó, vector đặc trưng đưa vào mơ hình âm học (Acoustic Model) Mơ hình âm học tơi triển khai thử nghiệm sử dụng mơ hình mạng rơ-ron sâu (Deep Neural Network – DNN) Đầu mơ hình DNN phân phối xác suất ký tự 𝐶 time-step 𝑡 (thời điểm) Cuối cùng, thực việc giải mã (decoding) đầu mô hình DNN để lấy phiên âm (transcript) tín hiệu tiếng nói Hình 3.6 minh họa bước q trình nhận dạng tiếng nói Hình 3.6 Các bước q trình thực nhận dạng tiếng nói Tiền xử lý liệu âm / tiếng nói Với liệu ghi âm trình ghi âm điện thoại thu định dạng mp3 m4a Bước phải chuyển đổi chúng sang định dạng wav, mono-chanel tỷ lệ lấy mẫu 16k Hz Sử dụng mã lệnh thực việc chuyển đổi (trên termial Linux): ``` for f in *.m4a; ffmpeg -i "$f" -acodec pcm_s16le -ac -ar 16000 "${f/%m4a/wav}"; done ``` Tập liệu thu sau chuyển đổi chia thành folder lưu trữ tập huấn luyện tập kiểm thử theo thử nghiệm mô tả phần 3.4 15 9126819 ... tật giọng nói giúp nhận dạng tiếng nói tiếng Việt người khuyết tật giọng nói 1.2 Phạm vi đề tài Đồ án hướng tới việc xây dựng hệ nhận dạng tiếng nói tiếng Việt cho người khuyết tật giọng nói Cơ... mơ hình DNN để lấy phiên âm (transcript) tín hiệu tiếng nói Hình 3.6 minh họa bước q trình nhận dạng tiếng nói Hình 3.6 Các bước trình thực nhận dạng tiếng nói Tiền xử lý liệu âm / tiếng nói. .. hình nhận dạng tiếng nói thu văn đầu có text “phúc” Hình 3.5 Mơ tả hệ nhận dạng tiếng nói Đầu tiên, liệu tiếng nói trích xuất đặc trưng, ta thu vector đặc trưng biểu diễn cho tín hiệu tiếng nói

Ngày đăng: 03/02/2023, 18:43

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

Tài liệu liên quan