MỤC LỤC
- Location Sensitive Attention để tính toán các trọng số tập trung tại thời điểm hiện tại.
Một trong những mong muốn mãnh liệt, xuất hiện từ sớm của các nhà khoa học máy tính nói chung và trí tuệ nhân tạo nói riêng là xây dựng thành công một hệ thống hay một chương trình máy tính mà có khả năng giao tiếp, hiểu được con người thông qua ngôn ngữ đời thường mà con người chúng ta vẫn sử dụng mỗi ngày thay vì thông qua lập trình hoặc một giao diện ứng dụng với các nút bấm kèm theo các tác vụ bị giới hạn. Nếu xử lý tiếng nói tập trung và việc chuyển âm thanh thành văn bản gốc và ngược lại thì xử lý văn bản sẽ tập trung vào phân tích, hiểu được nội dung trong ngôn ngữ của con người ở dạng văn bản, lúc này máy tính sẽ quan tâm hơn về vấn đề là văn bản này của có ý nghĩa là gì và cần trả lại một văn bản khác như thế nào để phù hợp hoặc phân tích cảm xúc từ văn bản.
Ở nhánh này sẽ tập trung vào phân tích tín hiệu dạng sóng trong âm thanh của con người như tần số, mức cường độ âm, đồ thị dao động âm từ đó đưa ra những chương trình chuyển từ âm thanh về văn bản gốc và ngược lại. PyTorch được đánh giá cao không chỉ nhờ vào việc dễ sử dụng mà thư viện này còn chiếm phần lớn trong công động nghiên cứu với hầu như các bài báo về học sâu đều được thực hiện bằng PyTorch.
- RNN không thể học được các phụ thuộc xa do hiện tượng triệt tiêu đạo hàm và không có cơ chế lọc các thông tin không cần thiết, vì thế các thông tin càng xa so với nút đang xét đến thì thông tin sẽ càng mờ mặc dù thực tế là mối quan hệ của chúng có chặt chẽ hơn các từ lân cận hay không. Ba đầu vào sẽ có hai đầu vào giống RNN là ℎ −1 là giá trị trạng thái của các nút trước đó tính từ ban đầu đến t-1, là đầu vào của nút đang xét và thêm một đầu vào −1có thể được xem là bộ nhớ trong của mỗi nút LSTM sẽ giúp mang thông tin đi xa hơn và sẽ được dùng khi cần.
Vậy, thay vì tìm một hàm khả nghịch phức tạp, mô hình có thể xây dựng nhiều hàm biến đổi xác định được lồng lại với nhau hay nói cách khác là có thể cho Z đi qua nhiều phép biến đổi để biển diễn sự chuyển đổi từ một phân phối đơn giản thành một phân phối phức tạp của mẫu quan sát được. Như đã giới thiệu thì Flow – Based Model sẽ học phân phối xác suất của mẫu quan sát được và áp dụng nó bằng cách thay đổi dần mẫu được tạo ngẫu nhiên bằng phân phối Gaussian, sao cho sau khi biến đổi mô hình sẽ cho một dữ liệu có phân phối xác suất gần với phân phối của mẫu quan sát được nhất.
Một điều mà các nhà nghiên cứu nhận định rằng con người không có khuynh hướng xử lý toàn bộ thông tin mà họ nhận được tại một thời điểm nhất định, thay vào đó, họ sẽ có xu hướng kết hợp một cách có chọn lọc trên một phần của thông tin tại thời điểm hoặc tại thông mà họ cho là quan trọng và đồng thời loại bỏ những thông tin không cần thiết khác tại cùng thời điểm đó. Trong quá trình Scaled – dot Product Attention, sau bước ma trận Q nhân với ma trận K chuyển vị và được chia cho căn của dk (với dk là số lượng của word – embedding vector sau khi được cắt), ma trận này sẽ cộng cho ma trận mặt nạ nhân có một số âm rất lớn, vậy những vị trí trong mặt nạ bằng 0 (vị trí đó trong ma trận huấn luyện là có nghĩa) thì giá trị số âm đó không ảnh hưởng và ngược lại để khi qua lớp Softmax thì những số âm rất lớn đó sẽ bằng 0.
Về cơ bản, khối Decoder được sử dụng trong GPT được dựa trên khối Decoder của mô hình Transformer, tuy nhiên do mô hình đã bỏ qua khối Encoder, nên thành phần bên trong của Decoder GPT có sự khác biệt để phù hợp hơn với mô hình. Nếu mô hình Decoder Transformer có tất cả ba lớp con là: Local Attention, Global Attention và Feed Forward, trong đó Global Attention đóng vai trò nhận dữ liệu của khối Encoder và ánh xạ với dữ liệu đầu vào của Decoder, thì trong mô hình GPT nó chỉ có hai khối Local Attention và Feed Forward cho mỗi tầng của Decoder.
Trong mô hình, tác giả sử dụng từ MLP là viết tắt của Multi – Layer Perceptron, mô tả cho một mạng fully – connected, nên về cơ bản là lớp MLP của Whisper hoàn toàn giống với thành phần Position wise Feed Forward Networks của mô hình Transformer. - Cross Attention: Lớp này giống chức năng như Global Attention của Transformer khi nhận đầu ra của khối Encoder đóng vai trò query, key còn đầu ra của Local Attention (Lớp Attention trước đó) đóng vai trò value có cơ chế tập trung.
Ý tưởng đằng sau cơ chế này là để kết hợp những căn chỉnh trong lịch sử đến việc tính toán tập trung bằng việc sử dụng những bộ lọc tích chập (convolution filter) để tạo ra những ngữ cảnh vector tập trung có thể nhận định được vị trí của từng bước thời gian hiện tại so với những bước lịch sử trước đó. Do trong quá trình huấn luyện, mô hình sẽ biết giá trị đầu ra cần dự đoán chính xác, hay nói cách khác là log – mel spectrogram, vì thế trong quá trình huấn luyện, Pre – Net Layer sẽ xử lý giá trị log – mel này và chỉ cần lấy ra giá trị vector log – mel spectrogram tại mỗi thời điểm đang xét nên sau khi qua Linear Projection, chúng ta không cần đưa cho Pre – Net mà đưa trực tiếp cho LSTM Cell thứ nhất thì lúc này, giá trị quá khứ đã sinh ra mô hình sẽ lấy trực tiếp từ đầu ra Pre – Net do lớp này đã xử lý giá trị chính xác.
Trong WaveGlow, Affine Coupling Layer là một dạng của phép biến đổi nghịch đảo mà được sử dụng để tính toán tỷ lệ và độ dịch chuyển của các tác nhân hoặc các đặc trưng của dữ liệu đầu để biến đổi thành dữ liệu dạng sóng. Lớp này sẽ được khỏi tạo ma trận trọng số cho lớp Convolution theo phân phối Gaussion và trọng số này không đổi trong quá trình huấn luyện, lớp này chủ yếu sẽ thay đổi các sample audio để huấn luyện trong lớp Affine Coupling.
Máy tính không như con người vì nó không thể hiểu được ký tự chữ như chúng ta mà chỉ hiểu được ở dạng đã số hóa, vậy làm sao để số hóa được ký tự trong ngôn ngữ nhưng vẫn có thể truy xuất lại giá trị số hóa đó và Tokenizer chính là phương pháp giải quyết vấn đề này. Phương pháp này sẽ lưu cho mình chuột chuỗi âm vị có sẵn theo từng ngôn ngữ và lúc này việc số hóa từ sẽ là phân tích từ đó thành những âm vị và chuyển âm vị đó thành con số mà đã được lưu trong Tokenizer.
Âm thanh về bản chất là một dãy dữ liệu số của biên độ các phần tử dao động, mặc dù là một chuỗi tín hiệu dài nhưng hàm lượng thông tin lại không nhiều, vì thế với chuỗi tín hiệu dài như vậy, chúng ta cần một phân tích và chuyển đổi thành một dạng dữ liệu khác có thể hỗ trợ việc phân tích dữ liệu âm thanh. Mel – Spectrogram là một mảng hai chiều trong đó chiều x biểu diễn thời gian của đoạn âm thanh và chiều y biểu diễn tần số của âm thanh theo từng thời điểm của âm thanh.
Scaled – dot Product Attention là bước tính toán các trọng số tập trung (attention weights) giúp mô hình có thể ánh xạ được những thông tin liên quan với nhau trong. Multi – Head Attention yêu cầu đầu vào là các vector mà được tách ra từ một vector lớn ban đầu, các vector này được xem như các đầu tập trung để trích xuất các thông tin theo mỗi đầu, từ đó ghép lại để có được một trọng số tập trung của toàn bộ ngữ cảnh.
- Sau khi đó dữ liệu đầu ra của Masked Multi – Head Attention và dữ liệu đầu vào ban đầu đi vào lớp Residual Connection. - Dữ liệu đầu ra của Postion wise Feed Forward và đầu ra của lớp con thứ nhất đi vào lớp Residual Connection thứ hai và cho ra đầu ra của cả Decoder Layer.
- Do lớp này chỉ cần học và trích xuất những đặc trưng từ cấp thấp của âm thanh sang chiều của từ nên mô hình sẽ không thay đổi các giá trị của chiều khác nên cả hai lớp Convolution này sẽ có kernel size bằng 3, stride bằng 1 và padding bằng 1. Cũng giống như các mô hình trước, sau khi qua mỗi lớp con thì sẽ có một lớp Residual Connection để tránh mô hình gặp hiện tượng quá khớp (overfitting) cũng như cộng dữ liệu của các thông tin khi đã trích xuất được trước đó và tăng tốc độ huấn luyện mô hình.
Trong mô hình Tacotron2, cụ thể là Location Sensitive Attention, Location Layer là một thành phần được sử dụng để xác định được những phần nào trong chuỗi đầu vào (đầu ra của Encoder) nên được tập trung vào khi tạo mỗi thành phần đầu ra cho Decoder. Tuy nhiên, mô hình sẽ không có quá khứ gì nếu là lần xử lý đầu tiên, vì thế nên mô hình cần khởi tạo một dữ liệu mà có thể xem nó là bắt đầu của âm thanh và dùng nó như dữ liệu quá khứ cho lần xử lý dữ liệu đầu tiên ở Decoder.
Do các tính chất yêu cầu của lớp này nên nhóm sử dụng hàm torch.qr để sinh ra một ma trận có tính khả nghịch và điều chỉnh sao cho ma trận trọng số này luôn dương. Trong quá trình dự đoán, luồng thực thi sẽ ngược lại, thể hiện việc đang xử lý phép biến đổi nghịch đảo như theo ý tưởng của mô hình Flow – based.
Người dùng sẽ nhập văn bản trên nền tảng web và hệ thống sẽ chuyển văn bản đó cho mô hình GPT và sinh ra câu trả lời, câu trả lời sau đó sẽ được chuyển lên và hiển thị cho phía người dùng. Hệ thống nhận file ghi âm sẵn của người dùng (hỗ trợ định dạng file: flac, wav, mp3), sau đó gửi file đó cho mô hình Whisper sinh văn bản, sau khi sinh xong văn bản thì kết quả sẽ được trả về phía người dùng.