Tiếp theoHướng dẫn tiếp theo
Nhật ký loa
AI âm thanh
HƯỚNG DẪN AI âm thanh
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
Đượ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.
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
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.
Tải mô hình spkrec-xvect-voxceleb của SpeechBrain bằng EncodingClassifier.from_hparams.
Gọi mã hóa_batch trên mỗi clip để nhận một vectơ x cho mỗi bản ghi.
Tính độ tương tự cosine giữa hai vectơ, giá trị từ -1 đến 1.
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ố.
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.
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.
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.
Bản tin miễn phí
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
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.
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
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.
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.
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.
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.
Độ 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.
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.
Tiếp tục học hỏi
Đã chọn thêm hướng dẫn cho chủ đề này
Tiếp theoHướng dẫn tiếp theo
Nhật ký loa
AI âm thanh