CHƯƠNG II: THIẾT KẾ MẠNG NEURON HỖ TRỢ CHẨN ĐOÁN BỆNH RỐI LOẠN NHỊP TIM SỬ DỤNG CÔNG CỤ NEURON NETWORK TOOLBOX
2.3. Thiết kế mạng neuron hỗ trợ chẩn đoán bệnh rối loạn nhịp tim
2.3.2. Chọn thuật toán luyện mạng
Phương pháp phổ biến nhất để tối ưu mạng MLP là dùng thuật toán lan truyền ngƣợc. Thuật toán này hội tụ đến một giải pháp mà nó tối thiểu hoá đƣợc sai số trung bình bình phương vì cách thức hiệu chỉnh trọng số và hệ số bias của thuật toán là ngược hướng với vectơ Gradient của hàm sai số trung bình bình phương đối với trọng số.Tuy nhiên, đối với mạng MLP thì hàm sai số trung bình bình phương thường phức tạp và có nhiều cực trị cục bộ, vì thế các phép lặp huấn luyện mạng có thể chỉ đạt đƣợc đến cực trị cục bộ của hàm sai số trung bình bình phương mà không đạt đến được cực trị tổng thể. Các giá trị khởi tạo của các trọng số ảnh hưởng rất mạnh đến lời giải cuối cùng. Các trọng
số này thường được khởi tạo bằng những số ngẫu nhiên nhỏ. Việc khởi tạo tất cả các trọng số bằng nhau sẽ làm cho mạng học không tốt. Nếu các trọng số đƣợc khởi tạo với giá trị lớn thì ngay từ đầu tổng tín hiệu vào đã có giá trị tuyệt đối
20
GVHD: PGS.TS Huỳnh Lương Nghĩa SVTH: Đinh Văn Quang
lớn và làm cho hàm sigmoid chỉ đạt 2 giá trị 0 và 1. Điều này làm cho hệ thống sẽ bị tắc ngay tại một cực tiểu cục bộ hoặc tại một vùng bằng phẳng nào đó gần ngay tại điểm xuất phát. Giá trị khởi tạo ban đầu của các trọng số trên lớp thứ l của mạng sẽ đƣợc chọn ngẫu nhiên nhỏ trong khoảng [-1/n, 1/n], trong đó n là số trọng số nối tới lớp l. Do bản chất của giải thuật học lan truyền ngược sai số là phương pháp giảm độ lệch gradient nên việc khởi tạo các giá trị ban đầu của các trọng số các giá trị nhỏ ngẫu nhiên sẽ làm cho mạng hội tụ về các giá trị cực tiểu khác nhau. Nếu gặp may thì mạng
sẽ hội tụ đƣợc về giá trị cực tiểu tổng thể.
Bỏ qua sự phức tạp về mặt toán học lƣợc đồ của thuật toán đƣợc mô ta nhƣ sau :
Hình 2.3: Lược đồ thuật toán lan truyền ngược gradient liên h ợp
Lƣợc đồ hình 2.3 đƣợc diễn ta nhƣ sau:
- Khởi tạo trọng số.
o Giá trị của trọng số liên kết giữa các neuron đƣợc khởi tạo ngẫu nhiên.
- Mạng truyền thẳng
o Mỗi neuron trên mỗi tầng đƣợc tính tổng trọng số của các tín hiệu vào.
o Sử dụng hàm activation để tính giá trị ra từ neuron.
21
GVHD: PGS.TS Huỳnh Lương Nghĩa SVTH: Đinh Văn Quang
- Truyền ngƣợc của sai số.
o Thông tin lỗi đƣợc tính
o Ta sử dụng giá trị này để tính toán thông tin lỗi trên mỗi neuron còn lại.
- Cập nhật giá trị trọng số.
o Chúng ta sử dụng thông tin lỗi trên mỗi node để tính toán và cập nhật lại giá trị mới cho trọng số liên kết giữa các neuron.
Về mặt toán học thuật toán lan truyền ngƣợc đƣợc mô tả nhƣ sau:
Ta sử dụng một số kí hiệu sau:
xi: Giá trị đầu vào của neuron thứ i
Vij: vector trọng số trên đường kết nối từ neuron node vào thứ i tới neuron node ẩn thứ j.
Wjk: vector trọng số trên đường kết nối từ neuron node ẩn thứ j tới neuron node ra thứ k.
f: hàm truyền với: f(x) = 1 / (1 + e-x) - Ở đây chúng ta sử dụng hàm truyền là hàm Sigmoid, giới hạn giá trị đầu ra trong khoảng [0,-1].
IIi – Input của node Input thứ i
OIi – Ouput của node Input thứ i
IHp – Input của node Hidden thứ p
OHp – Output của node Hidden thứ p
IOq – Input của node Output thứ q
OOq – Output của node Output thứ q
OOk – Output của node Output thứ k
Input:
- Mạng feed-forward với n đầu vào, m nút ẩn và L đầu ra.
- Hệ số học η
- Sai số học ԑ
- Tập dữ liệu huấn luyện D = {- là vector đầu vào, - là vector đầu ra mong muốn}.
Output: Các vector trọng số sau khi đã đƣợc huấn luyện.
Thuật toán:
22
GVHD: PGS.TS Huỳnh Lương Nghĩa SVTH: Đinh Văn Quang
Hình 2.4: Lưu đồ thao tác huấn luyện sử dụng thuật toán lan truyền ngược
Bước 1: Khởi tạo trọng số ,
= Random(-1,1),
Bước 2: Lan truyền thẳng tính toán đầu ra thực tế
- Tại node vào thứ i (Input):
- Tại node ẩn thứ p (Hidden):
∑ ( )
- Tại node ra thứ q (Output):
∑ ( )
Nhƣ vậy giá trị đầu ra thực tế của mạng với bộ trọng số ngẫu nhiên ban đầu là:
. Vì đầu ra mong muốn và đầu ra thực tế là luôn khác nhau, nên cần phải
tính toán độ sai khác này và có phương pháp điều chỉnh các trọng số mạng qua từng
bước học sao cho sự sai khác này giảm xuống, quá trình học sẽ dừng khi sự sai khác
này đạt đến một ngƣỡng giới hạn phù hợp nào đó.
23
GVHD: PGS.TS Huỳnh Lương Nghĩa SVTH: Đinh Văn Quang
Bước 3: Đánh giá lỗi học – sai số trung bình bình phương (MSE: meansquare error):
∑
Nếu E ≤ ԑ thì dừng học.
Trong đó: E là sai số trung bình bình phương, L đại diện cho đầu ra .
Bước 4: Lan truyền ngược điều chỉnh trọng số
- Với mỗi nút q thuộc tầng ra, tính đạo hàm ngƣợc sai số thành phần theo công thức:
- Cập nhật các trọng số từ tầng ẩn tới tầng ra :
- Với mỗi nút p thuộc tầng ẩn, tính đạo hàm ngƣợc sai số theo công thức:
( ) ∑
- Cập nhật các trọng số từ tầng vào tới tầng ẩn :
Lặp lại bước 2 cho tới khi thỏa mãn điều kiện kết thúc ở bước 3. Kết quả thu đƣợc bộ trọng số chuẩn , sao cho giá trị đầu ra thực tế và giá trị đầu ra mong muốn là gần giống nhau nhất (Sai số trung bình bình phương nhỏ nhất).
Kết luận chương II
Trong chương này chúng ta đã giới thiệu công cụ Neuron Network Toolbox trong phần mềm Matlab và khả năng ứng dụng của nó. Chọn, xử lý và chuẩn hóa cơ sơ
dữ liệu đáp ứng nhu cầu thiết kế mạng neuron và xây dựng mạng neuron nhân tạo đa lớp truyền thẳng (MLP) hỗ trợ chẩn đoán bệnh rối loạn nhịp tim cũng nhƣ chọn thuật toán lan truyền ngƣợc gradient liên hợp để luyện - tối ƣu hóa mạng neuron.
24
GVHD: PGS.TS Huỳnh Lương Nghĩa SVTH: Đinh Văn Quang