HƯỚNG DẪN AI âm thanh

Phần nhúng loa X-Vector

X-vector là một danh sách các số có độ dài cố định mà mạng lưới thần kinh trích xuất từ ​​một đoạn lời nói để tóm tắt ai đang nói, bất kể người đó nói gì.

Nghe hướng dẫn nàyAI thuật lại · ~7 min

Trên trang nàyđọc 8 phút
  1. Tổng quan
  2. Những điểm chính rút ra
  3. Lặn sâu
  4. Xác minh hai bản ghi bằng mô hình x-vector được huấn luyện trước
  5. Triển khai trong thế giới thực
  6. Tương lai của việc nhúng loa X-Vector
  7. Đưa nó vào thực tế
  8. Nguồn tham khảo và đọc thêm
  9. Tiếp tục khám phá
  10. Câu hỏi thường gặp

Tổng quan

Được giới thiệu bởi các nhà nghiên cứu của Đại học Johns Hopkins vào năm 2018, x-vector đã thay thế i-vector làm đại diện loa tiêu chuẩn để xác minh giọng nói và ghi nhật ký, nhãn này sẽ phát biểu khi ghi âm.

Những điểm chính rút ra

  1. X-vector là phần nhúng loa có độ dài cố định được lấy từ một lớp ẩn của mạng được đào tạo để phân loại hàng nghìn loa.
  2. Nhóm thống kê, giá trị trung bình và độ lệch chuẩn của các tính năng cấp khung, cho phép mạng biến giọng nói có độ dài bất kỳ thành một vectơ.
  3. Bài báo của Johns Hopkins năm 2018 cho thấy khả năng tăng cường dữ liệu bằng tiếng ồn, âm nhạc, tiếng lảm nhảm và tiếng vang đã làm cho vectơ x đánh bại rõ ràng vectơ i.
  4. Với dữ liệu tăng cường và dữ liệu VoxCeleb, vectơ x đạt tỷ lệ lỗi bằng 4,16% trên Loa trong môi trường hoang dã so với 7,45% đối với vectơ i âm thanh.
  5. ECAPA-TDNN đã cải tiến thiết kế vectơ x vào năm 2020 và báo cáo tỷ lệ lỗi bằng 0,87% trên bộ thử nghiệm VoxCeleb1.

Lặn sâu

An x-vector is a speaker embedding: a short, fixed-length vector of numbers, typically a few hundred values, that represents the characteristics of a voice in a stretch of audio. Two recordings of the same person should produce x-vectors that are close together, and recordings of different people should produce vectors that are far apart, whatever words are spoken. The term comes from a 2018 ICASSP paper by David Snyder, Daniel Garcia-Romero, Gregory Sell, Daniel Povey and Sanjeev Khudanpur at Johns Hopkins University's Center for Language and Speech Processing. Because the embedding has the same size no matter how long the input is, systems can store, compare and cluster voices with simple arithmetic.

The extraction pipeline works step by step. First, audio is converted into frames of acoustic features; the original system used 24-dimensional filterbank energies from 25-millisecond frames, normalized over a sliding window of up to 3 seconds, and an energy-based detector dropped silent frames. Second, five frame-level layers form a time-delay neural network (TDNN), a network whose layers each look at a small window of neighboring frames, so by the fifth layer each output sees 15 frames of context. Third, a statistics pooling layer takes the mean and standard deviation of those frame outputs over the whole segment, turning a variable number of frames into one 3,000-value vector. Fourth, segment-level layers process that summary, and during training a final softmax layer classifies which of the N training speakers is talking. After training, the softmax is thrown away and the 512-value output of the first segment-level layer, taken before its nonlinearity, is the x-vector.

Comparing two x-vectors is a separate step called the backend. In the original paper, x-vectors were centered, reduced to 150 dimensions with linear discriminant analysis (LDA), a projection that emphasizes differences between speakers, length-normalized, and then scored with probabilistic linear discriminant analysis (PLDA), a statistical model that outputs how much more likely two vectors are to come from the same speaker than from different ones. Splitting the system into an embedding network and a separately trained scorer let researchers reuse the backend tools developed over years for the earlier i-vector approach. Simpler deployments often use cosine similarity between embeddings instead.

The x-vector built on earlier work. Before it, most speaker recognition used i-vectors, which project statistics from a Gaussian mixture model into a low-dimensional vector learned without speaker labels. Google researchers had trained an end-to-end network on the phrase OK Google, and the Johns Hopkins group adapted the idea to text-independent speech with a temporal pooling layer in 2017. The 2018 paper's contribution was showing that data augmentation makes the neural approach clearly better. Training data was multiplied threefold with copies corrupted by babble from three to seven overlapping speakers, music, background noise from the MUSAN corpus, or simulated room reverberation. Augmentation helped the supervised x-vector network far more than the unsupervised i-vector extractor.

The numbers in that paper show the effect. Without augmentation, x-vectors were slightly worse than i-vectors on Speakers in the Wild, a set of noisy English video recordings, with 9.40% equal error rate (EER) against 9.29%. EER is the error rate at the threshold where false accepts and false rejects are equal, so lower is better. With augmentation of both the network and the PLDA training data, and with the VoxCeleb celebrity interview corpus added, x-vectors reached 4.16% EER on Speakers in the Wild against 7.45% for acoustic i-vectors, and 5.71% on Cantonese telephone speech against 9.23%. The trained network has about 4.2 million parameters, excluding layers dropped after training.

Compared with alternatives, x-vectors sit in the middle of a lineage. The i-vector approach needs no speaker labels, but in the 2018 comparison it exploited extra and augmented training data less effectively. End-to-end systems that learn the embedding and the scoring together can be powerful but historically needed large proprietary datasets. Later architectures kept the x-vector recipe of frame layers plus pooling and improved its parts. ECAPA-TDNN, published at Interspeech 2020 by Brecht Desplanques and colleagues, added Res2Net blocks, squeeze-and-excitation channel attention, multi-layer feature aggregation and attentive statistics pooling, and reported 0.87% EER on the VoxCeleb1 test set against 1.49% for an extended x-vector baseline. ResNet-style networks borrowed from computer vision are another common choice.

X-vectors have well-documented limitations. Their accuracy depends on how closely training conditions match deployment: the 2018 paper's training data was dominated by 8 kHz telephone speech, and adding microphone data from VoxCeleb produced large gains on microphone test sets. Short recordings carry less information, and the evaluation sets in the paper used utterances of roughly 6 seconds or longer. Embeddings capture channel, language and recording effects alongside the voice, so the backend usually needs data from the target domain for normalization. Diarization adds difficulties of its own, such as overlapping speech, which the DIHARD challenge chose to score in full. An x-vector system is trained to tell enrolled human speakers apart, not to detect synthetic or replayed audio, so voice-authentication products typically need separate anti-spoofing checks.

In practice, x-vectors are inexpensive to run. The network is small enough for a CPU, and pretrained models are freely available, including the original Kaldi recipe and SpeechBrain's VoxCeleb model, which takes 16 kHz single-channel audio. Training a strong model from scratch needs thousands of labeled speakers; VoxCeleb1 and VoxCeleb2 together provide 7,363 celebrities from YouTube interview videos, released for research through a request form with a privacy notice. Because voiceprints can identify people, stored x-vectors are a form of biometric data and deserve the same consent and security practices as other identity records.

04Ví dụ hoạt động

Xác minh hai bản ghi bằng mô hình x-vector được huấn luyện trước

  1. Ghi hai clip dài ít nhất vài giây mỗi clip, được chuyển đổi thành tệp WAV kênh đơn 16 kHz.

  2. Tải mô hình spkrec-xvect-voxceleb của SpeechBrain bằng EncodingClassifier.from_hparams.

  3. Gọi mã hóa_batch trên mỗi clip để nhận một vectơ x cho mỗi bản ghi.

  4. Tính độ tương tự cosine giữa hai vectơ, giá trị từ -1 đến 1.

  5. Lặp lại với các cặp mà bạn biết là cùng một diễn giả và các cặp mà bạn biết là khác nhau, rồi ghi lại điểm số.

  6. Chọn ngưỡng quyết định tách biệt hai nhóm, lý tưởng nhất là trên các cặp được tổ chức.

Những gì nó cho thấy

Các cặp loa giống nhau sẽ đạt điểm cao hơn đáng kể so với các cặp loa khác nhau và ngưỡng biến điểm số thành quyết định chấp nhận hoặc từ chối. Kiểm tra độ tin cậy bằng cách ước tính tỷ lệ lỗi bằng nhau trên một bộ được giữ sẵn và kiểm tra riêng các clip nhiễu hoặc ngắn vì cả hai đều làm giảm độ chính xác.

Triển khai trong thế giới thực

Xác minh người nói: so sánh bản ghi ghi danh với một cách phát âm mới để quyết định xem chúng có đến từ cùng một giọng nói hay không, nhiệm vụ mà bài báo x-vector 2018 đã đánh giá về Người nói ở nơi hoang dã và Tiếng Quảng Đông của NIST SRE 2016.

Nhật ký hóa các bản ghi khó: hệ thống tốt nhất của nhóm Johns Hopkins trong thử thách DIHARD đầu tiên đã tập hợp các vectơ x được huấn luyện trên dữ liệu micrô băng rộng, sau đó tinh chỉnh kết quả bằng bước Biến thể-Bayes.

Các phần nhúng được tạo sẵn trong Python: Mô hình Apache-2.0 spkrec-xvect-voxceleb của SpeechBrain, được đào tạo về VoxCeleb1 và VoxCeleb2, trích xuất vectơ x từ âm thanh 16 kHz và báo cáo tỷ lệ lỗi bằng 3,2% trên bộ thử nghiệm VoxCeleb1.

Các quy trình nguồn mở trong bộ công cụ giọng nói Kaldi, nơi các tác giả ban đầu đã xuất bản công thức vectơ x của họ và một hệ thống được đào tạo trước để những người khác sử dụng lại.

Đường cơ sở cho các mẫu loa mới hơn như ECAPA-TDNN, có bài báo năm 2020 báo cáo tỷ lệ lỗi bằng 0,87% trên VoxCeleb1 so với 1,49% đối với đường cơ sở x-vector mở rộng.

Tương lai của việc nhúng loa X-Vector

Kể từ bài báo năm 2018, nghiên cứu đã tập trung vào các bộ mã hóa mạnh hơn và các tổn thất đào tạo được xây dựng trên cùng một mẫu nhúng cộng gộp. ECAPA-TDNN vào năm 2020 đã cho thấy mức tăng đáng kể từ sự chú ý của kênh và sự tổng hợp chu đáo. Nghiên cứu diarization, được hình thành bởi những thách thức như DIHARD bắt đầu vào năm 2018, tiếp tục vật lộn với lời nói chồng chéo và các điều kiện ghi rất khác nhau, trong đó việc phân cụm các phần nhúng cố định gặp khó khăn. Hai mối quan tâm có thể định hình việc triển khai. Đầu tiên là sự mạnh mẽ đối với giọng nói tổng hợp, vì phần nhúng của người nói được đào tạo để tách những người nói thật của con người và không tự gắn cờ các giọng nói nhân bản hoặc phát lại. Thứ hai là quản trị: dấu giọng nói là số nhận dạng sinh trắc học và các bộ dữ liệu như VoxCeleb được phân phối kèm theo các thông báo rõ ràng về quyền riêng tư. Cách các cơ quan quản lý và tổ chức xử lý phần nhúng loa được lưu trữ và cách các hệ thống trong tương lai chống lại hành vi giả mạo là những câu hỏi mở hơn là kết quả đã được giải quyết.

Đưa nó vào thực tế

Tại sao nó quan trọng

  • Truy cập và tiếp cận. Nó cải thiện khả năng tiếp cận thông qua phiên âm, tường thuật và giao diện giọng nói.
  • Chi phí và ngân sách. Các nhóm truyền thông có thể gửi âm thanh tinh tế nhanh hơn với ngân sách nhỏ hơn.
  • Tốc độ và tỷ lệ. Các hệ thống hướng tới khách hàng có thể xử lý các tương tác bằng giọng nói ở quy mô lớn hơn.

coi chừng

  • Rủi ro lạm dụng giọng nói và mạo danh sẽ tăng lên khi thiếu sự đồng ý.
  • Độ chính xác có thể giảm đối với các giọng, phương ngữ hoặc môi trường ồn ào.
  • Âm thanh tổng hợp có thể bị nhầm lẫn với lời nói đích thực nếu không có nhãn rõ ràng.

Các bước tiếp theo

  1. Nhận được sự đồng ý rõ ràng để thu âm, sao chép và tái sử dụng giọng nói.
  2. Kiểm tra chất lượng trên nhiều loa và điều kiện nền khác nhau.
  3. Xác định khi nào con người phải xem xét hoặc phê duyệt kết quả đầu ra.
  4. Dán nhãn âm thanh tổng hợp và lưu giữ hồ sơ xuất xứ để đảm bảo trách nhiệm giải trình.

Nguồn tham khảo và đọc thêm

  1. ICASSP 2018 (Snyder et al., Johns Hopkins University)X-Vectors: Phần mềm nhúng DNN mạnh mẽ để nhận dạng người nói
  2. arXiv / Interspeech 2020 (Desplanques et al.)ECAPA-TDNN: Chú ý, truyền bá và tổng hợp kênh được nhấn mạnh trong xác minh loa dựa trên TDNN
  3. ISCA Archive, Interspeech 2018Viết nhật ký rất khó: Một số kinh nghiệm và bài học rút ra cho Nhóm JHU trong Thử thách DIHARD khai mạc
  4. SpeechBrain on Hugging Facespeechbrain/spkrec-xvect-voxceleb
  5. Visual Geometry Group, University of OxfordTập dữ liệu VoxCeleb

Tiếp tục khám phá

Bản tin miễn phí

Nhận bản tóm tắt AI hàng ngày

Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.

Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.

Tự kiểm tra

Làm bài kiểm tra về Nhúng loa X-Vector

Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.

Bắt đầu bài kiểm tra

Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp

Câu hỏi thường gặp

Phần mềm nhúng loa X-Vector là gì?

X-vector là một danh sách các số có độ dài cố định mà mạng lưới thần kinh trích xuất từ một đoạn lời nói để tóm tắt ai đang nói, bất kể người đó nói gì. Được giới thiệu bởi các nhà nghiên cứu của Đại học Johns Hopkins vào năm 2018, x-vector đã thay thế i-vector làm đại diện loa tiêu chuẩn để xác minh giọng nói và ghi nhật ký, nhãn này sẽ phát biểu khi ghi âm.

X-vector nhận dạng người nói được thiết kế để nhấn mạnh thông tin gì?

Việc nhúng loa nhằm mục đích thể hiện nhận dạng giọng nói, nhưng chất lượng của chúng có thể phụ thuộc vào nội dung, thời lượng, tiếng ồn và điều kiện kênh.

Lớp nào biến một phát ngôn có độ dài thay đổi thành một vectơ có độ dài cố định duy nhất trong mạng vectơ x?

Tổng hợp số liệu thống kê tổng hợp các kích hoạt ở cấp khung thành số liệu thống kê trung bình ở cấp độ phát âm và độ lệch chuẩn, tạo ra một biểu diễn có kích thước cố định.

Loại mạng lưới thần kinh nào thường được sử dụng để trích xuất vectơ x?

Trình trích xuất vectơ x cổ điển là một TDNN được đào tạo để phân loại loa, với tính năng nhúng đọc từ một lớp ẩn.

Hai vectơ x thường được so sánh như thế nào để quyết định xem chúng có đến từ cùng một người nói hay không?

Độ tương tự thường được đo bằng khoảng cách cosin hoặc được tính điểm bằng mô hình PLDA để đánh giá xem hai phần nhúng có khớp nhau hay không.

Đại diện đã được thiết lập nào đã cung cấp các đường cơ sở so sánh trong nghiên cứu nhận dạng người nói x-vector năm 2018?

Bài báo đã so sánh hệ thống vectơ x đã học của nó với các đường cơ sở i-vector trong các thử nghiệm cụ thể, thay vì chứng minh sự thay thế phổ biến cho mọi triển khai i-vector.