- vừa được xem lúc

Tóm tắt vài mô hình Text-To-Speech (p1)

0 0 7

Người đăng: Đinh Trọng Huy

Theo Viblo Asia

1, Tacotron

Ra đời: Tacotron được ra mắt bởi Google năm 2017 qua bài báo TACOTRON: TOWARDS END-TO-END SPEECH SYNTHESIS

Kiến trúc: Tacotron là một end-to-end Text-To-Speech(TTS) model dựa trên kiến trúc seq2seq và attention. Đầu vào của model là các chuỗi ký tự, đầu ra là các waveform được biến đổi từ Linear Spectrogram bằng giải thuật Griffin-Lim. Về giá trị chi tiết của các hyperparameter thì bạn có thể xem ở TACOTRON: TOWARDS END-TO-END SPEECH SYNTHESIS

Về tổng thể, kiến trúc Tacotron chia làm 3 phần:

  • Encoder
  • Attention-based Decoder
  • Post-processing net

a) CBHG module

Trước khi phân tích kiến trúc model thì ta nói qua về building block là CBHG. CBHG có nhiệm vụ trích xuất các biểu diễn từ chuỗi, với cấu tạo gồm lớp 1-D convolution bank (gồm k tập hợp các 1-D convolution với độ dài filter từ 1 đến k), highway network và một GRU 2 chiều. Batch normalization được sử dụng cho mọi convolutional layers

b) Encoder

  • Mục đích của phần Encoder là trích xuất biểu diễn tuần tự của văn bản. Đầu vào của Encoder là một chuỗi ký tự, với mỗi ký tự được biểu diễn bằng one-hot vector rồi embeded về dạng continous vector. Sau đó, với mỗi embedding, tác giả sử dụng một tập hợp các biến đổi phi tuyến - gọi là pre-net - gồm 1 bottleneck layer và dropout.
  • Việc sử dụng pre-net giúp model hội tụ nhanh hơn cũng như tăng tính tổng quát. Theo paper thì các kiến trúc encoder với CBHG vừa giảm overfitting, vừa giảm mispronunciation so với các encoder chỉ sử dụng nhiều lớp RNN

c) Attention-based Decoder

image.png

Nhóm tác giả sử dụng content-based tanh attention decoder, nơi mà stateful recurrent layer sinh ra truy vấn attention ở mỗi decoder time step. Truy vấn đó kết hợp với context vector rồi đưa vào decoder RNN gồm các GRU cell với kết nối residual - các kết nối này giúp tăng tốc độ hội tụ của mô hình. Đầu ra của decoder là 80-band mel-scale spectrogram

d) Post-processing net và waveform synthesis

image.png

Spectrogram tạo ra từ decoder được chuyển đổi thành waveform thông qua post-processing network, gồm CBHG module với Griffin-Lim synthesizer.

e) Kết quả

Tacotron đạt MOS 3.82, trở thành mô hình TTS đạt hiệu quả tốt nhất ở thời điểm ra mắt

f) Ưu, nhược điểm

Ưu điểm:

  • Đạt hiệu quả rất tốt so với các model thời bấy giờ
  • Không cần thực hiện linguistic feature engineering thủ công
  • Có thể sinh waveform chất lượng khá tốt

Nhược điểm:

  • Chi phí tính toán cao, quá trình train lâu do là mô hình end-to-end và sử dụng nhiều RNN
  • Khả năng sinh âm thanh chậm, hay bị mất, lặp từ
  • Vocoder Griffin-Lim kém hơn các vocoder sau này

2. Tacotron 2

Ra đời: qua bài báo NATURAL TTS SYNTHESIS BY CONDITIONING WAVENET ON MEL SPECTROGRAM PREDICTIONS, được cải tiến từ kiến trúc Tacotron

image.png

Tacotron2 khác gì Tacotron?

  • Encoder sử dụng 3 convolutional layers + LSTM 2 chiều thay vì pre-net + CBHG module
  • Sử dụng Local sensitive attention giúp model tiến về phía trước một cách nhất quán thông qua đầu vào (mình cũng thấy hơi khó hiểu)
  • Decoder là 1 autoregressive RNN được tạo bởi prenet, 2 lớp LSTM, 5 lớp convolution được gọi là post-net.
  • Sử dụng Mel Spectrogram đưa vào Vocoder sinh âm thanh thay vì Linear Spectrogram
  • Sử dụng Wavenet làm Vocoder thay vì giải thuật Griffin-Lim => Chất lượng âm thanh cao hơn

Kết quả: Đạt MOS ấn tượng - 4.53, vượt trội so với Tacotron

Ưu điểm:

  • Đạt được các ưu điểm như Tacotron, thậm chí nổi bật hơn
  • Chi phí và thời gian tính toán được cải thiện đáng kể vo sới Tacotron

Nhược điểm:

  • Khả năng sinh âm thanh chậm, hay bị mất, lặp từ như Tacotron
  • Chi phí tính toán vẫn cao dù thấp hơn Tacotron

Bình luận

Bài viết tương tự

- vừa được xem lúc

Được rồi, đi thôi!!! VPS free nè (^.^) [P1]

Bạn là sinh viên, bạn là lập trình viên khó khăn về mặt tài chính, bạn không có xiền thuê VPS, được rồi hãy đến đây!!!. Hôm nay mình sẽ hướng dẫn cho các bạn cách tạo VPS free bằng Github Workflow & N

0 0 59

- vừa được xem lúc

[Linux] Iptables trong hệ thống Linux

IPtables là ứng dụng tường lửa miễn phí trong Linux, cho phép thiết lập các quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật. Khi sử dụng máy chủ, tường lửa là một trong những công cụ quan trọng

0 0 44

- vừa được xem lúc

Từ bug format sai chuỗi số khi nhập bằng bàn phím tiếng Nhật, tới IME và các sự kiện composition trong JS

"Tự nhiên tui thấy hiện tượng lạ”. Khi nhập liệu một chuỗi các kí tự vào thẻ input, thông thường chúng ta nhập thế nào thì hiển thị thế ấy, không làm phép biến đổi gì cả.

0 0 48

- vừa được xem lúc

Tạo Rijndael S-box sử dụng trong AES

I. Rijndael S-box là gì .

0 0 37

- vừa được xem lúc

Giới thiệu về lỗ hổng tràn bộ đệm (Buffer Overflow) và cách khai thác

Khái niệm. Lỗ hổng tràn bộ đệm (Buffer Overflow) là lỗ hổng trong lập trình, cho phép dữ liệu được ghi vào một buffer có thể tràn ra ngoài buffer đó, ghi đè lên dữ liệu khác và dẫn tới hoạt động bất t

0 0 42

- vừa được xem lúc

Share Libraries Hijacking trên Linux

1. Cách thức hoạt động của Share Libraries.

0 0 28