Chương 1, GIỚI THIỆU ĐỀ TÀI: trình bày tổng quan về đề tài, lý do thực hiện đề tài và ý nghĩa thực tiễn của bài toán, cũng như giới hạn và phạm vi của đề tài. Cuối cùng là nhiệm vụ và cấu trúc của luận văn. – Chương 2, CƠ SỞ LÝ THUYẾT: tổng hợp những vấn đề học thuật liên quan nhất sẽ áp dụng để giải quyết bài toán, tập trung chủ yếu vào nội dung của học sâu, từ Mạng nơ ron nhân tạo (Artificial Neural Network), Mạng đối nghịch (Generative Adversarial Networks) và các kiến thức liên quan. – Chương 3, CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN: trình bày một cách tổng quát về những nghiên cứu liên quan đã và đang được thực hiện, cũng như xu hướng chung hiện nay trong việc giải quyết bài toán.
Phần này cũng đưa ra những bàn luận và đánh giá cho các phương pháp kể trên vì đó là cơ sở quan trọng cho những nghiên cứu của học viên trong quá trình thực hiện luận văn. – Chương 4, MÔ HÌNH ĐỀ XUẤT: giới thiệu mô hình cơ sở cho bài toán. Đồng thời đưa ra các cải tiến và động lực cho các đề xuất đó. Cuối cùng, học viên trình bày các bước tiến hành thí nghiệm trên những tập dữ liệu khác nhau và đánh giá kết quả của những cải tiến so với mô hình cơ sở.
– Chương 5, KẾT LUẬN: tổng hợp các kết quả đạt được trong quá trình thực hiện luận văn từ bước nghiên cứu và xây dựng giả thuyết đến triển khai thực nghiệm. Phần này cũng trình bày những hạn chế và vấn đề tồn đọng, cuối cùng đề xuất các giải pháp cải tiến trong tương lai. 5 Mục lục, Danh sách hình vẽ, Danh sách bảng, Thuật ngữ và từ viết tắt được cung cấp ở đầu luận văn. Tài liệu tham khảo sẽ được trình bày ở cuối luận văn.
6 Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Mel-spectrogram Audio Data có được bằng cách lấy mẫu từ Sound Analog Signal theo một chu kỳ thời gian và đo đặc giá trị của biên độ tại mỗi thời điểm lấy mẫu đó. Audio Data được lưu lại thành file theo một trong các định dạng nén (. Khi đọc lên bằng các thư viện xử lý, nó được giải nén và chuyển thành một Numpy Array. Mảng dữ liệu này là giống nhau cho dù Audio Data được lưu dưới bất kỳ định dạng nào.
Trong bộ nhớ, Audio có thể coi là một chuỗi các giá trị của biên độ theo thời gian. Ví dụ, nếu tần số lấy mẫu là 16800Hz thì cứ 1s Audio sẽ có 16800 giá trị biên độ. Khoảng giá trị của biên độ được quy định bởi thông số bit-length. Ví dụ, bit-length bằng 16 có nghĩa là biên độ có thể có giá trị trong khoảng từ 0 đến 15.
Bit-length càng lớn thì chất lượng của Audio càng tốt. Đây là dạng nguyên thủy của spectrogram và chúng ta không thể thấy rõ được các thông tin về tần số, biên độ mà spectrogram thể hiện. Điều này được giải thích là do khả năng nhận thức âm thanh của con người. Hầu hết những âm thanh mà chúng ta nghe được đều tập trung xung quanh một dải tần số và biên độ khá hẹp.
7 Để giải quyết vấn đề này, spectrogram được chuyển sang một dạng mới, gọi là mel-spectrogram mà ở đó: • Tần số được thay thế bằng giá trị logarithmic của nó, gọi là Mel Scale. • Biên độ được thay thế bằng giá trị logarithmic của nó, gọi là Decibel Scale.1: Ảnh mel-spectrogram của âm thanh [1] 2.2 Mô hình Artificial Neural Network - ANN Mô hình Artificial Neural Network - ANN (Mạng nơ-ron nhân tạo) [2] là mô hình tính toán được xây dựng lấy ý tưởng từ cấu trúc và cách hoạt động của mạng nơ-ron thần kinh trong não người nhằm thực hiện một tác vụ nào đó với tập thông tin đầu vào. Một mạng nơ-ron thần kinh được tạo nên từ nhiều nơ-ron sinh học kết nối và hoạt động cùng nhau. Chúng hoạt động bằng cách tiếp nhận các thông tin đưa vào từ các đuôi gai (dendrite), tính toán và tổng hợp tại thân nơ-ron (cell body), sau đó lan truyền kết quả đến các nơ-ron khác thông qua sợi trục (axon).
Có thể dễ dàng rút ra nhận xét rằng nơ-ron sinh học nhận nhiều thông tin đầu vào nhưng chỉ đưa ra một kết quả duy nhất thông qua quá trình xử lý trung gian phức tạp. 8 Tương tự như cách thức hoạt động nêu trên của mạng nơ-ron thần kinh, ANN cũng được cấu thành từ nhiều nơ-ron được gọi là perceptron có cấu trúc như Hình 2., xn lần lượt là các biến đại diện cho dữ liệu đầu vào. – phép cộng (summation) và hàm kích hoạt (activation function) là các phép tính toán và tổng hợp các thông tin dữ liệu đầu vào., wn là các trọng số cần phải học, đóng vai trò tham gia quá trình tính toán và chuyển đổi các thông tin đầu vào thành thông tin đầu ra. – y là output của tiến trình, đại diện cho dữ liệu đầu ra.2: Cấu trúc của một Perceptron Cụ thể hơn, phương thức tính toán và tổng hợp dữ liệu của một perceptron được mô tả theo từng bước sau: 1.
Perceptron thực hiện phép cộng bằng cách tính tổng giá trị tất cả các tích số của từng cặp dữ liệu đầu vào và giá trị trọng số tương ứng: n X a= w i xi + w 0 (2. Kết quả a của phép cộng được đưa qua một hàm kích hoạt phi tuyến như Sigmoid, Tanh, ReLU, LeakyReLU được minh họa ở Hình 2.3: Các hàm phi tuyến được sử dụng trong Perceptron 3. Sau đó, perceptron thực hiện phép so sánh giá trị nhận được từ hàm kích hoạt f(a) với một giá trị ngưỡng (threshold ) cho trước nhằm xác định giá trị đầu ra ŷ như là tín hiệu kích hoạt của perceptron.2) 0 iff (a) < threshold Bằng cách kết hợp nhiều perceptron với nhau sẽ tạo nên cấu trúc mô hình mạng ANN. Mạng ANN bao gồm nhiều perceptron như là các nút mạng tính toán làm tăng tính phức tạp cũng như khả năng học cho mạng, các perceptron đó hình thành nên các tầng như sau: – Tầng đầu vào (input layer): là tầng đầu tiên, thể hiện các dữ liệu đầu vào của mô hình.
– Tầng ẩn (hidden layer): là tầng nằm giữa gồm các phép tính toán nhằm chuyển đổi dữ liệu đầu vào sang dữ liệu đầu ra. 10 – Tầng kết quả (output layer): là tầng cuối cùng thể hiện dữ liệu đầu ra của mạng. Số lượng tầng ẩn trong mô hình ANN là không giới hạn và được xác định tùy thuộc vào bài toán cần giải quyết. Đặc biệt, khi số lượng tầng ẩn lớn hơn 1 thì mô hình ANN được gọi là mô hình Học sâu (Deep learning).3 Mạng tích chập Convolutional Neural Net- work - CNN Mạng tích chập có 02 phần chính: Lớp trích lọc đặc trưng của ảnh (Conv, Relu và Pool) và Lớp phân loại (FC và softmax).
Đầu vào (dữ liệu training): Hình 2.4: Mô hình CNN cơ bản • Input đầu vào là một bức ảnh được biểu diển bởi ma trận pixel với kích thước: [w × h × d] • W: chiều rộng • H: chiều cao • D: Là độ sâu, hay dễ hiểu là số lớp màu của ảnh. Ví dụ ảnh RBG sẽ là 3 lớp ảnh Đỏ, Xanh Dương, Xanh. Conv Layer: Mục tiêu của các lớp tích chập là trích chọn các đặc trưng của ảnh đầu vào. Ảnh đầu vào được cho qua một bộ lọc chạy dọc bức ảnh.
Bộ lọc có 11 kích thước là m × n và áp dụng phép tích vô hướng để tính toán, cho ra một giá trị duy nhất. Đầu ra của phép tích chập là một tập các giá trị ảnh được gọi là mạng đặc trưng (features map). Phép tích chập đơn giản là phép tìm biên ảnh. Sau khi cho qua bộ lọc nó sẽ làm hiện lên các đặc trưng của đối tượng trong ảnh như đường vẽ xung quanh đối tượng, các góc cạnh,v., và các layer tiếp theo sẽ lại trích xuất tiếp các đặc trưng của đặc trưng của các đối tượng đó, việc có nhiều layer như vậy cho phép chúng ta chia nhỏ đặc trưng của ảnh tới mức nhỏ nhất có thể.
ReLU Layer: ReLU layer áp dụng các kích hoạt (activation function) max(0,x) lên đầu ra của Conv Layer, có tác dụng đưa các giá trị âm về thành 0. Layer này không thay đổi kích thước của ảnh và không có thêm bất kì tham số nào. Mục đích của lớp ReLu là đưa ảnh một mức ngưỡng, ở đây là 0. Để loại bỏ các giá trị âm không cần thiết mà có thể sẽ ảnh hưởng cho việc tính toán ở các layer sau đó.
Pool Layer: Pool Layer thực hiện chức năng làm giảm chiều không gian của đầu và giảm độ phức tạp tính toán của model ngoài ra Pool Layer còn giúp kiểm soát hiện tượng overffiting. Thông thường, Pool layer có nhiều hình thức khác nhau phù hợp cho nhiều bài toán, tuy nhiên Max Pooling là được sử dụng nhiều vào phổ biến hơn cả với ý tưởng cũng rất sát với thực tế con người đó là: Giữ lại chi tiết quan trọng hay hiểu ở trong bài toán này chính giữ lại pixel có giá trị lớn nhất. Fully Connected Layer (FC): Tên tiếng việt là Mạng liên kết đầy đủ. Tại lớp mạng này, mỗi một nơ-ron của layer này sẽ liên kết tới mọi nơ-ron của lớp khác.
Để đưa ảnh từ các layer trước vào mạng này, buộc phải dàn phẳng bức ảnh ra thành 1 vector thay vì là mảng nhiều chiều như trước. Tại layer cuối cùng sẽ sử dụng 1 hàm kinh điển trong học máy softmax để phân loại đối tượng dựa vào vector đặc trưng đã được tính toán của các lớp trước đó.4 Mô hình mạng Generative Adversarial Net- works Generative Adversarial Networks [3] hay còn gọi Mạng đối nghịch tạo sinh (GAN) là một kiến trúc học sâu. GAN đào tạo hai mạng neuron cạnh tranh với nhau nhằm tạo ra dữ liệu mới xác thực hơn từ một tập dữ liệu đào tạo nhất định. GAN được gọi là đối nghịch vì đào tạo hai mạng khác nhau và để hai mạng này cạnh tranh với nhau.
Một mạng tạo ra dữ liệu mới bằng cách lấy mẫu dữ liệu đầu vào và sửa đổi mẫu đó nhiều nhất có thể. Mạng còn lại cố gắng dự đoán liệu đầu ra dữ liệu được tạo có thuộc tập dữ liệu ban đầu hay không. Nói cách khác, mạng dự đoán sẽ xác định liệu dữ liệu được tạo là dữ liệu giả hay thật. Hệ thống tạo ra các phiên bản giá trị dữ liệu giả mới hơn và được cải thiện cho đến khi mạng dự đoán không thể phân biệt được dữ liệu giả và dữ liệu gốc nữa.
Có nhiều loại mô hình GAN khác nhau, tùy thuộc vào công thức toán học được Hình 2.