MẠNG NƠRON MẠNG NEURON NHÂN TẠO (Artificial Neural Networks ANN) Nhóm 2 1 Nhóm 2 gồm các thành viên Trần Bá Dũng Trịnh Kế Mạnh Hoàng Văn Quang Nguyễn Trúc Quyên Nội dung cần thực hiện 1 Tổng quan mạng.
Trang 1MẠNG NEURON NHÂN TẠO
(Artificial Neural Networks ANN)
Nhóm 2
Trang 3Nội dung cần thực hiện
1 Tổng quan mạng neuron nhân tạo
2 Ứng dụng mạng neuron trong nhận dạng người nói
không phụ thuộc từ khóa
Trang 4Nội dung cần thực hiện
1 Tổng quan mạng neuron nhân tạo
2 Ứng dụng mạng neuron trong nhận dạng người nói
không phụ thuộc từ khóa
Trang 5Tổng quan mạng neuron
Lịch sử phát triển
Những nghiên cứu về mạng neuron nhân tạo thực tế bắt đầu từ thế kỷ 19 khi mà hệ thần kinh con người được nghiên cứu rộng rãi
Mạng neuron dựa trên ý tưởng các hệ não (xem trí tuệ phát
sinh từ các thành phần đơn giản – neuron)
Tương tác với nhau thông qua một quá trình học hoặc thích nghi mà các kết nối có thể điều chỉnh được
Trang 6Tổng quan mạng neuron
Thành phần cơ bản của mạng neuron là neuron nhân
tạo
Thành phần của một neuron nhân tạo gồm :
Các tín hiệu vào xi {0,1} {1,-1} real
Các trọng số wi real
Một mức kích hoạt ∑i wixi
Một hàm ngưỡng f : ∑i wixi tín hiệu ra
Trang 7 Các thuộc tính tổng quát của một mạng là:
◦ Hình thái mạng:mẫu kết nối giữa (các tầng của)
Trang 8Hình thái mạng như kiểu liên kết giữa neuron của các lớp với nhau, mạng gồm mấy lớp, số lượng neuron mỗi lớp là bao nhiêu…
Giải thuật học ở đây là giải thuật điều chỉnh các trọng số
để sai số giữa đầu ra mong muốn và đầu ra thực tế là nhỏ nhất,
có một số giải thuật phổ biến sau :
Giải thuật Lan truyền ngược (Back Propagation)
Giải thuật Delta-Delta
Giải thuật Lan truyền nhanh (Quick Propagation)
Cơ chế mã hóa đó là sự thông dịch giữa tín hiệu vào và tín hiệu ra
Tổng quan mạng neuron
Trang 9Tổng quan mạng neuron
Đặc trưng cơ bản của mạng neuron nhân tạo
Hiện nay có nhiều kiểu mạng neuron nhưng tất cả chúng đều có 4 thuộc tính cơ bản sau:
1 Có một tập các đơn vị xử lý
2 Có một tập các kết nối
3 Có một thủ tục tính toán
4 Có một thủ tục huấn luyện
Trang 10Tổng quan mạng neuron
Đơn vị tính toán
Một mạng neuron có thể chứa số lượng lớn các đơn vị tính toán tạo thành các
lớp.
Tại mỗi thời điểm, mỗi lớp này tính một hàm vô hướng các đầu vào của lớp
và đưa ra ở đầu ra của lớp.
Các lớp tiêu biểu của mạng như:
Lớp vào : Nhận dữ liệu vào mạng
Lớp ẩn : lớp này có thể thay đổi và tùy theo yêu cầu thực tế mà tổ
chức số lớp ẩn của mạng.
Lớp ra : Đưa kết quả tính toán của mạng ra.
Trang 11Đơn vị tính toán
o Mạng neuro chỉ có một lớp gọi là Perceptron
•Mạng chỉ có một lớp thực hiện cả việc nhận dữ liệu vào, tính toán điều chỉnh trọng số và tính đầu ra
oMạng có nhiều lớp là mạng neuron nhiều tầng (MLP)
•Mạng có nhiều lớp và mỗi lớp thực hiện một chức năng, lớp vào nhận dữ liệu vào, lớp ra cho đầu ra của mạng
và các lớp ẩn tính toán và điều chỉnh trọng số
Tổng quan mạng neuron
Trang 13Tính toán
Việc tính toán luôn được bắt đầu bằng mô tả mẫu đầu vào của mạng
Tổng quan mạng neuron
Trang 14Huấn luyện mạng
Theo nghĩa tổng quát nhất, huấn luyện mạng là điều chỉnh các kết nối (trọng số) sao cho mạng thể hiện được đầu ra mong muốn của tất cả các mẫu
Quá trình thông thường là điều chỉnh các trọng số của
mạng, nhưng thỉnh thoảng có thể thay đổi trong mô hình mạng như thêm vào hay xóa đi một vài kết nối của mạng
Tổng quan mạng neuron
Trang 15Đó chỉ là đơn cử một vài ứng dụng phổ biến của mạng neuron hiện nay Tương lai, mạng neuron còn ứng dụng rộng rãi hơn nữa.
Tổng quan mạng neuron
Trang 16Nội dung cần thực hiện
1 Tổng quan mạng neuron nhân tạo
2 Ứng dụng mạng neuron trong nhận dạng người nói
không phụ thuộc từ khóa
Trang 17Ứng dụng nhận dạng người nói không
phụ thuộc từ khóa
Bài toán đặt ra là có một tập các mẫu huấn luyện (dạng các tệp âm thanh) của một số người, xây dựng mạng neuron và huấn luyện mạng để mạng có khả năng nhận ra người nói có trong tập
đã huấn luyện hay không, nếu có thì người đó là ai
Để giải quyết vấn đề này, nhóm chúng tôi xây dựng mạng neuron có 3 lớp, một lớp vào, một lớp ra và có một lớp ẩn
Thuật toán huấn luyện sử dụng là thuật toán Lan truyền
ngược sai số (Back Propagation Error)
Trang 18Ứng dụng
Phân công công việc
Tiền xử lý tín hiệu tiếng nói – Hoàng Văn QuangTrích chọn đặc trưng giọng nói – Nguyễn Trúc QuyênHuấn luyện mạng – Trịnh Kế Mạnh
Nhận dạng, đưa ra quyết định – Trần Bá Dũng
Trang 20Xử lý tín hiệu tiếng nói
1.Chuyển từ tín hiệu tương tự sang tín hiệu số
2 Chuẩn hóa biên độ
3.Biến đổi Fourier
4 Lọc nhiễu
5 Làm rõ tín hiệu
Trang 21Mô hình chung bài toán
Trang 22Chuyển từ tín hiệu tương tự sang tín hiệu số
Tín hiệu tiếng nói là tín hiệu tương tự, do
đó để lưu trữ và xử lý tín hiệu tiếng nói
trong máy tính thì tín hiệu tiếng nói phải được chuyển từ tín hiệu tương tự sang tín hiệu số Quá trình số hoá tín hiệu tiếng
nói bao 3 quá trình:
Quá trình lấy mẫu
Quá trình lượng tử hóa
Mã hóa
Trang 23Lấy mẫu tín hiệu
Lấy mẫu là quá trình chuyển từ một tín hiệu tương tự liên tục theo thời gian sang tín hiệu rời rạc theo thời gian bằng cách
"lấy mẫu" tức là lấy giá trị của tín hiệu tại những thời điểm cho trước.
x(n)=xa(nT)
Trang 24Lượng tử hoá tín hiệu
Lượng tử hóa là quá trình chuyển từ một tín hiệu rời rạc về thời gian nhưng liên tục
về biên độ sang tín hiệu rời rạc về biên
độ Mỗi giá trị của mẫu được biểu diễn lại bằng một giá trị được lựa chọn từ một tập hữu hạn các giá trị thích hợp.
Trang 25Mã hóa tín hiệu
Có hai phương pháp mã hóa:
Mã hoá trực tiếp tín hiệu.
Phương pháp mã hoá trực tiếp tín hiệu hay
phổ tín hiệu cho phép biểu diễn một cách
trung thực nhất tín hiệu Mã hoá trực tiếp thực chất là biểu diễn mỗi mẫu tín hiệu hay phổ tín hiệu độc lập với các mẫu khác Một hệ thống
mã hoá trực tiếp tín hiệu khá phổ biến hiện
nay là phương pháp mã hoá xung PCM (Pulse Code Mudulation ).
Trang 26Chuẩn hóa biên độ
biến động Ngay cả khi người sử dụng nói với một âm lượng rất chuẩn không hề thay đổi thì biên độ của dữ liệu thu được cũng vẫn có thể
không ổn định Điều này dễ xảy ra khi người nói hơi xoay người đi, nhích micro đến gần miệng hơn hoặc kéo ra xa hơn chỉ vài cm Sự biến
động này ảnh hưởng đến kết quả nhận dạng.
phải thật tốt, chỉ cần
Trang 27Biến đổi Fourier
Biến đổi Fourier của tín hiệu liên tục
Cho f(x) là một hàm liên tục trong không gian một chiều Cặp biến đổi Fourier của f(x) được định nghĩa:
Trang 28Lọc nhiễu
Nhiễu đối với hệ thống là loại âm thanh
không phải tiếng nói sinh ra trong môi
trường xung quanh ta Ngay cả khi bộ phát
âm con người cũng sinh ra nhiễu, chẳng
hạn như tiếng thở, tiếng bật lưỡi Không dễ
gì có thể lọc được mọi thứ nhiễu, ta chỉ tìm cách tối thiểu hóa chúng để nâng cao chất lượng của hệ thống nhận dạng.
Hiện tại việc lọc nhiễu tín
Trang 29Làm rõ tín hiệu
Nhằm làm nổi bật đặc trưng phổ của tín hiệu Thông thường
bộ làm rõ tín hiệu là bộ lọc thông cao với hàm hệ thống:
Hpre(z)=1+aprez-1 (2.10)
Trong đó apre là hệ số nhấn mạnh, thường có giá trị là 0.97
Bộ lọc có tác dụng tăng tín hiệu tại tần số cao (trên 1KHz) với hai lý do chình:
Giọng nói có sự suy giảm khoảng 20dB/decade khi lên tần
số cao do đặc điểm sinh lý của hệ thống phát âm của con người Bước này sẽ tăng cường tín hiệu lên một giá trị gần 20dB/decade để khắc phục sự suy giảm này.
Hệ thống thính giác của con người nhạy hơn với vùng tần
Trang 31Các đặc điểm của giai đoạn rút trích đặc trưng.
định đối với một người.
kiện hoàn cảnh, già đi, lúc ốm đau…
…
Trang 32Khái niệm chính
chọn ra các đặc tính cơ bản của tín hiệu tiếng nói, là những tham số đầu vào cho hệ thống nhận dạng tiếng nói.
Trang 33Khái niệm chính
LPC:
- Phương pháp này biểu diễn mẫu
tiếng nói tại thời điểm n, x(n) bằng phép xấp xỉ tuyến tính p mẫu quá khứ.
x(n) = a1x(n - 1) + a2x(n - 2) + .+ apx(n - p)
+Gu(n)
Trang 35Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc
Trang 36Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
Trang 37Phân đoạn, preephasic.
Phân đoạn:
lý trùng lên nhau để không làm mất thông tin.
Preephasic : Thường được dùng bộ lọc
H(Z)= 1-kZ-1 tuy nhiên K thường được
chọn 0.97 lấy lại các tần số cao đã mất,
có thể làm tăng cường độ của các hệ số
spectrum
Trang 38Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc DFT.
4 Dải bộ lọc tần số mel.
5 Lấy log.
6 Biến đổi cosin rời rạc.
7 Lấy đạo hàm.
Trang 40Hàm cửa sổ.
Hamming windows
Trang 41Hàm cửa sổ.
Hanning windows
Trang 42Hàm cửa sổ.
Blackman window
Trang 43Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc DFT.
4 Dải bộ lọc tần số mel.
5 Lấy log.
6 Biến đổi cosin rời rạc.
7 Lấy đạo hàm.
Trang 44Fourier
Trang 45Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc DFT.
4 Dải bộ lọc tần số mel.
5 Lấy log.
6 Biến đổi cosin rời rạc.
7 Lấy đạo hàm.
Trang 46 Không ảnh hưởng gì đến pha của tín hiệu.
Trang 47Dải bộ lọc tần số mel.
Trang 48Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc DFT.
4 Dải bộ lọc tần số mel.
5 Lấy log.
6 Biến đổi cosin rời rạc.
7 Lấy đạo hàm.
Trang 49Cepstrum
Sau khi dải âm thanh (spectrum) đi qua dải bộ lọc thì thu được dải âm thanh theo tần số mel Lấy log của dải âm thanh đầu
ra này và sử dụng phép biến đổi Fourier ngược sẽ thu được các hệ số cepstrum.
Do qua phép biến đổi Mel thì dãy số âm thanh là dãy số đối xứng chuyển biến đổi Fourier rời rạc thành biến đổi cosin.
Trang 50biến đổi cosin rời rạc
Với m: bộ lọc thứ m
S[m]: đầu ra của bộ lọc thứ m n: số đặc trưng cần rút trích M:Số các bộ lọc.
Trang 51Trích chọn đặc trưng(MFCC)
1 Phân đoạn, preephasic.
2 Trược qua khung cửa sổ.
3 Biến đổi fourie rời rạc DFT.
4 Dải bộ lọc tần số mel.
5 Lấy log.
6 Biến đổi cosin rời rạc.
7 Lấy đạo hàm.
Trang 52Cepstrum và các đạo hàm
Các đạo hàm của các hệ số mel-cepstrum (mel-cepstral coefficients) được xem như
là các đặc trưng động (dynamic features)
Nó được dùng để thể hiện các thay đổi
giữa các đoạn khác nhau
Đạo hàm bậc 1:
Đạo hàm bậc 2:
Trang 53Chuẩn hóa năng lượng
Trong khi nói có lúc ngập ngừng, đan xen các tín hiệu không phải là tiếng nói.
Cần phải xác định được đâu là tín hiệu tiếng nói đâu không phải là tiếng nói.
Có hai cách chuẩn hóa: tính toán theo mean và varian.
Trang 54- Các đạo hàm của hệ số năng lượng.
Hết giai đoạn rút trích đặc trưng là giai
đoạn huấn luyện mô hình người nói( sử
dụng thuật toán nơron) sử dụng đầu vào là đầu ra của kết quả rút trích.
Trang 56Huấn luyện mạng neuron
Ứng dụng sử dụng mạng neuron 3 lớp, trong đó có 1 lớp
ẩn Số neuron của mỗi lớp như sau:
Lớp vào: có 12*50 + 1 neuron tương ứng với 12 thuộc tính của 50 frame của 1 mẫu vào và 1 đầu vào cố định = 1
Lớp ra : có 4 neuron tương ứng 4 người có mẫu được huấn luyện
Lớp ẩn : có 302 neuron, số neuron của lớp ẩn do người thiết kế mạng lựa chọn những khuyến cáo chọn số neuron lớp ẩn bằng một nửa (số neuron lớp vào + số neuron lớp ra)
Trang 57Giải thuật chúng tôi sử dụng để huấn luyện mạng là giải thuật Lan truyền ngược (Back Propagation)
Hàm ra ở đầu ra của lớp ẩn và lớp ra sử dụng là hàm g(x) = 1/(1 + e-x) với x = đầu ra của lớp ẩn tức là x = ∑xi*wi
xi là đầu vào thứ i của mẫu đang xét, wi là trọng số ứng với đầu vào thứ i của mẫu đang xét
Để tính sai số, chúng tôi sử dụng luật Delta để tính hàm lỗi
Huấn luyện mạng neuron
Trang 58Giải thuật Lan truyền ngược – Back Propagation
Huấn luyện mạng neuron
Ý tưởng của giải thuật :
Dùng để huấn luyện mẫu cho một mạng
So sánh đầu ra thực tế của mạng với đầu ra mong
muốn, tính độ lệch trên từng neuron ra
Lỗi được truyền người về xuyên qua tầng ẩn
Áp dụng luật Delta tính hàm lỗi và điều chỉnh trọng số của các neuron
Lặp lại các bước đến khi sai số nhỏ đến mức chấp
nhận được (chúng tôi lấy Error <= 0.00001 làm điều kiện dừng hoặc Số vòng lặp >= 1000)
Trang 59Luật delta tổng quát để điều chỉnh trọng số của đầu vào thứ k của nút thứ i:
Trang 60Tính giá trị xuất của các neural ẩn, neuron ra,Tính
sai số của neural xuất Cập nhật trọng số neural đầu ra Cập nhật trọng số
neural ẩn Tính sai lệch; Ek = ½(y k - O k ) 2 ;E = E + Ek
k ≤ K (s≥SVL)hoặc(E ≤ Emax)
End
k = k + 1
s=s+1
Trang 62SO KHỚP MẪU
So khớp thuộc giai đoạn kiểm thử Mục đích của so khớp là tìm ra mức độ hợp
giữa một tập đặc trưng mới được trích
chọn trong giai đoạn kiểm thử với một mô hình đã được tạo ra trong giai đoạn huấn luyện Phương pháp so khớp phụ thuộc
vào bước xây dựng mô hình người nói,
mỗi mô hình sẽ có phương pháp so khớp tương ứng.
Trang 63Mô hình giai đoạn so khớp mẫu
Trích chọn đặc trưng
Cơ sở
dữ liệu
mô hình người nói
So khớp mẫu
Điều kiện quyết định
Huấn luyện
Xác thực
Quyết định
Tín hiệu đầu
nói
Trang 64Ý tưởng thực hiện:
-Giả sử tín hiệu đầu vào được xử lý, qua trích trọn đặc trưng ta xác định được vectơ đặc trưng X={x1,x2,…, xN} của người nói.
- Trong cơ sở dữ liệu mô hình người nói đã lưu trữ ma trận trọng
số ( sau khi đã huấn luyện )
- Nhân vectơ đặc trưng X={x1,x2,…, xN} với từng hàng của ma trận
trọng số: yi = ∑i wixi
Trang 65- Tính hàm ngưỡng
- So sánh với đầu ra mong đợi di (đã xác định trong quá trình huấn luyện )
- Nếu gi = di với 1 sai số chấp nhận được -> xác định được
giọng của người nói
- Nếu không, tăng i thêm 1, nếu đã duyệt hết mà không tìm được giá trị phù hợp, kết luận không xác định được (với tập
cơ sở dữ liệu đã cho)
Trang 67 Bước tạo quyết định nằm trong giai đoạn kiểm thử nhưng sau khi đã thực hiện bước
so khớp mẫu Mục đích của bước này
trong hệ thống xác thực người nói là tạo
ra quyết định chấp nhận hay không chấp nhận cho người cần kiểm tra đăng nhập
vào hệ thống
Trang 68TẠO QUYẾT ĐỊNH
68
Trích chọn đặc trưng
Cơ sở dữ liệu người nói
Tín hiệu đầu vào
Mô hình giai đoạn tạo quyết định
Điều kiện quyết
định
Trang 69TẠO QUYẾT ĐỊNH
69
• Gọi score(X, Si) là điểm hợp giữa tập vectơ đặc trưng X và mô hình của người nói Si
• Giả sử điểm lớn hơn nghĩa là hợp hơn
• Cho S = {S1,…,SN} là csdl của các người nói đã biết
• Khi đó:
Accept, score(X, Si) i
Reject, score(X, Si) < iDecide i = verification thresholdDecide i = verification threshold