Các cách khởi tạo và đánh giá mạng nơron

Một phần của tài liệu Mạng nơron và ứng dụng mạng nơron trong nhận dạng cảm xúc trên khuôn mặt người (Trang 61)

a) Khởi tạo trọng số cho lớp ẩn và lớp ra

Có 3 lựa chọn khi khám phá ảnh hưởng của trọng số khởi tạo lên các bộ phân lớp. Thứ nhất là khởi tạo ngẫu nhiên cho tất cả trọng số trong mạng nơron ở cả lớp ẩn và lớp ra. Thứ hai là khởi tạo tất cả trọng số bằng 0. Cuối cùng là khởi tạo 0 cho các trọng số lớp ẩn và thực hiện khởi tạo ngẫu nhiên cho các trọng số lớp ra. Mặc định khi khởi tạo ngẫu nhiên được chọn, các trọng số được lấy ngẫu nhiên một giá trị trong khoảng [-1, 1]. Dưới đây là những nhận xét thu được khi hệ thống thực hiện lần lượt từng kiểu khởi tạo đã trình bày ở trên.

- Khởi tạo trọng số lớp ẩn và lớp ra đều bằng 0: Không có kết quả huấn luyện. Từ lý thuyết ta có thể thấy rằng khi các trọng số trên đều khởi tạo bằng 0, không có quá trình cập nhật nào xảy ra. Do vậy khởi tạo dạng này bị loại bỏ.

- Khởi tạo trọng số lớp ẩn và lớp ra đều là ngẫu nhiên: Khởi tạo này làm việc tốt, nhưng không phải tốt nhất. Kết quả vẫn chưa thỏa đáng (chỉ đạt độ chính xác 30-45% trong hệ thống tốt nhất). Khi đó sẽ có một ảnh biểu diễn tất cả các trọng số từ một trong các nơron ẩn sau khi huấn luyện hệ thống nhận dạng cảm xúc. Có vẻ như nó được thể hiện ngẫu nhiên nhưng thực ra trọng số cập nhật thẳng vào các biến đổi tạo nên mô hình sao cho nó khít với một nét cảm xúc nào đó hoặc đó là kết hợp các nét cảm xúc. Thực tế, mục đích của hệ thống là xây dựng một máy nhận dạng có khả năng dự đoán để giải mã xem thực tế mẫu đưa vào là loại cảm xúc gì,

nhưng với hệ thống này chắc chắn các trọng số được thay đổi để làm khớp với một hoặc nhiều nét cảm xúc.

- Khởi tạo các trọng số lớp ẩn = 0 và lớp ra là ngẫu nhiên: Đây thực sự là sơ đồ khởi tạo trọng số tốt nhất mà tôi nhận được. Với một khởi tạo như trên và một lựa chọn tối ưu cho một số tham số mạng nơron khác tôi đã đạt được độ chính xác trung bình là 65%. Đây là một kết quả có thể chấp nhận được với hệ thống này. Do vậy cuối cùng luận văn lựa chọn phương pháp cuối làm phương pháp được sử dụng

trong chương trình mô phỏng, đó là: các trọng số của lớp ẩn đều có giá trị khởi tạo

bằng 0, trong khi các trọng số của lớp ra được khởi tạo một giá trị nhỏ ngẫu nhiên trong đoạn [-1,1].

b) Đầu ra của mạng

Số các đầu ra của mạng tương ứng với số cảm xúc do luận văn hướng đến, đó là 7 kiểu cảm xúc: tức giận, kinh tởm, sợ hãi, hạnh phúc, buồn, ngạc nhiên và trung lập. Dãy giá trị chỉ định cho các đầu ra trong suốt quá trình huấn luyện được lựa chọn nằm trong khoảng [0.1 0.9] vì hàm kích hoạt sử dụng trong chương trình là hàm log-sigmoid (có giá trị nằm trong khoảng từ 0 đến 1).

Các giá trị cho các đầu ra trong suốt quá trình huấn luyện cho mỗi cảm xúc khuôn mặt chỉ trong bảng 3.1. Kiểu cảm xúc Đích Tức giận [0.9 0.1 0.1 0.1 0.1 0.1 0.1] Kinh tởm [0.1 0.9 0.1 0.1 0.1 0.1 0.1] Sợ hãi [0.1 0.1 0.9 0.1 0.1 0.1 0.1] Hạnh phúc [0.1 0.1 0.1 0.9 0.1 0.1 0.1] Trung lập [0.1 0.1 0.1 0.1 0.9 0.1 0.1] Buồn rầu [0.1 0.1 0.1 0.1 0.1 0.9 0.1] Ngạc nhiên [0.1 0.1 0.1 0.1 0.1 0.1 0.9]

Bảng 3.1 - Các kiểu cảm xúc trên mặt và giá trị đích tương ứng

Các độ đo dùng để đánh giá khả năng thực hiện dùng trong hệ thống này gồm có: đo độ thiên vị, đo sai số bình phương trung bình (MSE), độ chính xác và độ sai số của các lần kiểm tra.

Đo độ thiên vị sẽ thể hiện xu hướng của hệ thống nghiêng về dạng cảm xúc nào; nó xác định xu hướng của hệ thống là gì. Theo kinh nghiệm, giá trị độ thiên vị nhỏ hơn 2 là một giá trị để đảm bảo một hệ thống không thiên vị, tuy nhiên nếu độ chính xác đạt được thấp thì hệ thống vẫn đánh giá là có hiệu quả kém.

Ví dụ: với một kết quả là [8 8 9 10 6 7 7] có độ thiên vị là 1.2454, nhưng [1 MSE là một hàm sai số dùng để đánh giá khả năng thực hiện phân lớp. MSE càng nhỏ thì giá trị của đầu ra càng gần với các giá trị của hàm đích.

Độ chính xác tổng thể đánh giá tỉ lệ phân lớp đúng thông qua một tập kiểm tra. Độ sai số của mỗi lần kiểm tra sẽ đánh giá các kết quả đạt được khi thực hiện huấn luyện và kiểm tra mạng nhiều lần.

Ví dụ: Trên một đoạn kết quả của chương trình: ---

TRAINGDX, Epoch 0/2000, MSE 0.214156/0, Gradient 0.380493/1e-006 TRAINGDX, Epoch 500/2000, MSE 0.0329639/0, Gradient 0.00328602/1e-006 TRAINGDX, Epoch 1000/2000, MSE 0.0271225/0, Gradient 0.0386998/1e-006 TRAINGDX, Epoch 1500/2000, MSE 0.0219729/0, Gradient 0.00652293/1e-006 TRAINGDX, Epoch 2000/2000, MSE 0.0180421/0, Gradient 0.0334414/1e-006 TRAINGDX, Maximum epoch reached, performance goal was not met.

In a set of #angry=12.Correct=8 In a set of #disgust=12.Correct=8 In a set of #fear=12.Correct=9 In a set of #happy=12.Correct=10 In a set of #normal=12.Correct=6 In a set of #sad=12.Correct=7 In a set of #suprise=12.Correct=7 Total time =100.859sec

Network #9 is the best so far! Accuracy=65.4762%,Partiality=1.2454,mseperf_test=0.055625

Phân tích ta có: Mỗi lần huấn luyện được thực hiện chu kỳ 2000 vòng, tới vòng cuối, sai số bình phương trung bình của bước huấn luyện là 0.018, độ chính xác đạt được là 65.4762%, độ thiên vị =1.2454, và sai số bình phương trung bình của bước kiểm tra = 0.055625. Rõ ràng việc kết hợp cả 4 độ đo ở trên là phù hợp để có được cách đánh giá khách quan về khả năng thực hiện của bộ phân lớp cảm xúc.

Một phần của tài liệu Mạng nơron và ứng dụng mạng nơron trong nhận dạng cảm xúc trên khuôn mặt người (Trang 61)

Tải bản đầy đủ (PDF)

(85 trang)