CHƯƠNG 5 : NGHIÊN CỨU CẢI TIẾN VỀ MẶT THỜI GIAN
5. NGHIÊN CỨU CẢI TIẾN VỀ MẶT THỜI GIAN
5.3 Nghiên cứu áp dụng machine learning
Phương pháp machine learning sẽ được áp dụng vào 2 quá trình là dịch mã và giải mã, do đó cần xây dựng 2 mạng khác nhau. Từ quá trình tìm hiểu về các phương pháp học máy áp dụng cho bài toán hồi quy, RNN và LSTM[8] với khả năng ghi nhớ cho thấy tính hiệu quả rõ rệt so với các phương pháp khác. Đặc biệt, nhờ vào các bước truyền thẳng và truyền ngược, LSTM có khả năng ghi nhớ tốt hơn RNN, mặc dù độ phức tạp cao hơn RNN, và cho kết quả dự báo với độ chính xác cao hơn RNN. Do đó, LSTM là phương pháp được lựa chọn để áp dụng vào bài toán giảm thời gian chạy. Có 2 mô hình cần được xây dựng:
- Mạng LSTM cho phép dịch từ mã gray sang decimal. - Mạng LSTM cho phép dịch từ decimal sang mã gray.
Chi tiết về đầu vào, đầu ra và số lượng neuron, số lớp được chọn như sau:
5.3.1 Mạng LSTM dịch mã Gray sang Decimal
Bảng 5.1: Cấu hình mạng LSTM chuyển từ mã Gray sang Decimal
1 'input' Sequence Input Sequence input with 1 dimensions
2 'LSTM' LSTM LSTM with 70 hidden
units
3 'Dense' Fully
Connected 1 fully connected layer 4 'Regression' Regression
Output mean-squared-error
Với input là các chuỗi bit dạng gray với độ dài là 11bit, số mẫu lựa chọn đảm bảo phủ hết các giá trị có thể xảy ra nên sẽ lớn hơn 2^11, do đó số lượng data của tập train được chọn là 2500. Kích thước tập input lúc này là 2500*1 cell, với mỗi cel có kích thước 1x11.
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Tập output để đào tạo có cùng kích thước với số lượng data đưa vào là 2500x1 cell và giá trị là các số ở dạng decimal, là giá trị đã được chuyển đổi tương ứng từ các chuỗi bit ở tập đầu vào.
Quá trình training sau 350 epochs đạt được như sau:
Hình 5.1: RMSE và Loss của quá trình training mạng LSTM chuyển từ mã Gray sang Decimal với đầu vào 2500 data, 350 epochs, 70 neurons ở lớp ẩn.
Với RMSE của tập test là 3.305. ( tập test có số lượng mẫu là 100, đầu vào và đầu ra tương tự như tập train là 100x1 cell ).
5.3.2 Mạng LSTM dịch từ Decimal sang mã Gray
Mạng để training cho bài toán ngược này được chọn tương tự như mạng cho bài toán thuận, chỉ khác nhau là đây là bài toán với nhiều đầu vào và nhiều đầu ra, và dữ liệu đầu vào, đầu ra khác so với bài toán thuận.
Bảng 5.2: Cấu hình mạng LSTM chuyển từ Decimal sang mã Gray
1 'input' Sequence Input Sequence input with 1 dimensions 2 'LSTM' LSTM LSTM with 125 hidden units 3 'Dense' ConnectedFully 1 fully connected layer
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Vì đây là bài toán dịch ngược từ số decimal sang mã gray, dữ liệu đầu vào cho bài toán là các chuỗi số decimal và đầu ra là chuỗi các bit ở dạng gray. Theo quá trình thiết kế mạng, khi các số đầu vào giữ nguyên ở dạng decimal và đầu ra là chuỗi mã gray thì bài toán không hội tụ do đó, các số decimal được áp dụng phương pháp one-hot encoding để đưa về các vector trọng số, thể hiện vị trí của số đó trong chuỗi ký tự [0,1,2,3,4,5,6,7,8,9,’’].
Do đó bài toán này có tập train là 10000x1 cell, mỗi cell là 1 mảng có kích thước 6x11 ( các số ở hệ thập phân sau khi áp dụng giải thuật one-hot encoded), đầu ra là 10000x1 cell, mỗi cell có kích thước 1x11 (chuỗi mã gray tương ứng). Kết quả sau khi train như sau:
Hình 5.2: RMSE và Loss của quá trình training mạng LSTM chuyển từ Decimal sang Gray với đầu vào 10000 data, 90 epochs, 125 neurons ở lớp ẩn.
RMSE dừng lại ở giá trị 0.35 ( do tập giá trị đầu ra là các bit 0,1, nên RMSE có giá trị nhỏ nhưng mức độ sai số cao).
Các mạng trên sau khi đào tạo được lưu vào các mô hình net.mat để áp dụng cho bài toán tìm góc kích tối ưu. Tuy nhiên thời gian chạy khi áp dụng các mô hình này lại cho kết quả không như kỳ vọng khi thời gian chạy lâu hơn so với trước đó do thời gian load model trained trong mỗi vòng lặp lớn hơn nhiều so với thời gian thực hiện việc giải mã từ gray sang binary và thời gian chuyển từ binary sang decimal và ngược lại, mặt khác lời giải của bài toán về độ chính xác cũng không tốt, vì chỉ cần một sai số nhỏ trong phép dịch mã và giải mã cũng giống như một phép đột biến trong quá trình di truyền, khi sai số quá nhiều phép đột
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng biến xảy ra với xác suất lớn hơn làm kết quả về mặt sóng hài của bài toán không tối ưu.
Một số kết luận khi áp dụng mô hình LSTM như sau:
- Thời gian load model phụ thuộc nhiều vào kích thước của mạng.
- Kích thước một mạng phụ thuộc vào khối lượng tính toán: số lượng bit của dữ liệu đầu vào, số lượng epochs, số lượng các neuron ở các lớp ẩn . - Yếu tố ảnh hưởng nhiều nhất đến kích thước mạng là số lượng neuron ở các
lớp ẩn.
- Mặt khác, khi càng giảm thời gian load model tương ứng với việc giảm kích thước mạng thì độ chính xác của bài toán cũng giảm theo.
- Đối với mạng LSTM cho bài toán ngược thì cho độ chính xác kém và việc load model vào chương trình cũng tốn nhiều thời gian hơn so với việc không sử dụng model.
Cần lựa chọn một cấu hình mạng khác cho độ chính xác cao hơn và khối lượng tính toán ít hơn để thời gian load model đảm bảo yêu cầu đặt ra. Ngoài ra báo cáo có nghiên cứu các phương pháp khác như SVM [9], regression tree[10], tuy nhiên thời gian áp dụng các mô hình đều lớn hơn thời gian tính toán thông thường từ 5 đến 10 lần, do đó trong trường hợp này, việc áp dụng các giải thuật của machine learning là không tối ưu.