Chương 3: Giải pháp nhận dạng biển số xe
3.4 Phân loại cấu trúc mạng
Tớn hiệu đi vào ở ngừ vào, qua cỏc Neural ẩn và cuối cựng đến cỏc Neuron ngừ ra. Cấu trỳc như thế chạy ổn định.
Hình 3.9: Cấu trúc mạng Neural tiến
3.4.2 Mạng có cấu trúc lan truyền ngược
3.4.2.1 Các Loại Neural (Tansig , Logsig , Purelin):
Một loại neural cú R ngừ vào thể hiện như sau
Hình 3.10: Cấu tạo một Neural
Mỗi ngừ vào tương ứng với một trọng số thớch hợp lớ w. Tổng của cỏc ngừ vào sau khi nhõn với cỏc trọng số tương ứng và giỏ trị ngưỡng sẽ trở thành ngừ vào đối với hàm truyền f. Neural dựng nhiều hàm truyền khỏc nhau để tớnh toỏn giỏ trị ngừ ra. Mạng nhiều lớp thường dựng hàm truyền log – signoid (logsig)
Hình 3.11: Hàm truyền logsig
Hàm logsig tớnh toỏn ngừ ra nằm trong khoảng 0 và 1 trong khi giỏ trị đầu vào là từ âm vô cực cho đến dương vô cực. Neural dùng hàm truyền logsig gọi là neural logsig
Tiếp đến, mạng nhiều lớp có thể dùng hàm truyền tan – signoid (tansig)
Hình 3.12: Hàm truyền tansig
Neural dùng hàm truyền tansig gọi là neural tansig
Hiếm khi hàm truyền tuyến tính dùng trong mạng lan truyền ngược (thường chỉ sử dụng phổ biến trong mạng tuyến tính)
Hình 3.13: Hàm truyền pureline (tuyến tính) Neural dùng hàm truyền tuyến tính gọi là neural pureline
Nếu lớp cuối cùng dùng hàm truyền signoid ( neural logsig và tansig thỡ ngừ ra chỉ giới hạn trong một khoảng nhỏ . Cũn nếu neural tuyến tớnh được dựng thỡ ngừ ra chỉ lấy một vài giỏ trị )
3.4.2.2 Cấu trúc các lớp trong mạng lan truyền ngược:
Mạng một lớp với S neural logsig cú R ngừ vào được thể hiện theo hình bên trái, còn bên phải là sơ đồ khối các lớp
Hình 3.14: Cấu trúc mạng một lớp S : số neural trong một lớp
R : số ngừ vào
Mạng lan truyền ngược với các neural có hàm truyền đạt phi tuyến cho phép nơron học được những mối liên quan tuyến tính và phi tuyến
giữa ngừ vào và ngừ ra. Nếu giới hạn ngừ ra trong khoảng 0 đến 1 thỡ nờn dùng hàm sigmoid.
Mô hình một mạng hai lớp như sau:
Hình 3.15: Mạng 2 lớp dùng Neural tagsig và pureline
Mạng này nói chung có thể xấp xỉ một hàm bất kì nào . Mạng có thể xấp xỉ bất kì một hàm nào với một số điểm gián đoạn tương đối tốt khi có đủ số neural trong lớp ẩn
3.4.2.3 Huấn luyện cho mạng lan truyền ngược:
Mạng được huấn luyện để xấp xỉ một hàm phi tuyến, một mô hình liên kết hay phân lớp. Trong suốt quá trình huấn luyện, các trọng số và các giá trị ngưỡng sẽ được điều chỉnh một cách hợp lí để làm tối thiểu giá trị hàm lỗi của mạng. Hàm lỗi mặc định cho mạng lan truyền ngược là trung bình bình phương lỗi (mean square error hay mse) – lỗi trung bỡnh bỡnh phương giữa ngừ ra thực tế và ngừ ra tớnh toỏn được. Sau đõy là một vài thuật toán huấn luyện cho mạng lan truyền ngược . Tất cả các thuật toán này đều dùng độ dốc (gradient) của hàm lỗi để điều chỉnh các trọng số sao cho tối thiểu hàm lỗi. Độ dốc được tính toán dựavào một kĩ thuật gọi là lan truyền ngược.
3.4.2.4 Nguyên lý chung:
Nếu gọi ( )w là hàm lỗi và w* là trọng số tối ưu cần tìm thì:
( )w ( )w*
Để tìm được giá trị nhỏ nhất của hàm ( )w hay trọng số tối ưu w*, ta tiến hành lấy đạo hàm hàm lỗi thông qua phép gradient. Và ta sẽ có
( ) 0w*
Đặt
1 2
, ,...,
T
w w wN
là toán tử gradient ( )w
là vector gradient của hàm lỗi.
Nguyên lý chung của việc tìm ra trọng số tối ưu là:
Khởi tạo trọng ban đầu w(0).
Lặp tìm trọng số thứ n, w(n) sao cho ( ( ))w n ( (w n1)) 3.4.2.5 Vấn đề quá khớp và năng lực của mạng:
Một trong những vấn đề thường xảy ra trong suốt quá trình huấn luyện mạng là quá khớp. Sai số trong tập huấn luyện được kéo xuống rất bé, nhưng khi đưa dữ liệu mới vào thì mạng lại tạo sai số lớn. Mạng có nhớ được các mẫu huấn luyện, nhưng mạng không học được tính tổng quát hóa trường hợp mới.
Mạng Neural có càng nhiều trọng số thì hàm càng phức tạp và do đó sẽ rơi vào tình trạng khớp quá mức. Mạng có ít trọng số hơn sẽ không đủ khả năng để mô phỏng hàm cơ sở. Ví dụ như mạng không có các lớp ẩn chỉ mô phỏng hàm truyền tuyến tính đơn giản.
Vậy chúng ta sẽ chọn lựa độ phức tạp của mạng đúng như thế nào?
Mạng lớn hơn sẽ hầu như luôn luôn có được sai số nhỏ hơn, nhưng điều này có thể là khớp quá mức hơn là một mô hình tốt.
Câu trả lời là sử dụng xác nhận mức giao. Vài mẫu huấn luyện được lưu lại và không thực sự dùng cho huấn luyện trong thuật toán backpropagation. Để thay thế, những mẫu này được sử dụng để kiểm tra độc lập trong quá trình của thuật toán. Như vậy hiệu suất ban đầu của mạng luôn luôn bằng nhau ở những tập huấn luyện và xác minh lại.
Trong quá trình huấn luyện, sai số huấn luyện tự nhiên giảm xuống, và
cho phép huấn luyện cực tiểu hóa hàm sai số thực, sai số xác minh cũng giảm xuống. Tuy nhiên, nếu sai số xác minh không giảm, hay bắt đầu tăng lên, điều này có nghĩa là mạng bắt đầu khớp quá mức dữ liệu, và huấn luyện nên dừng lại. Trường hợp khớp quá mức xảy ra trong quá trình xử lý huấn luyện gọi là học quá mức. Trong trường hợp này, chúng ta nên giảm số neural ẩn hay lớp ẩn vì mạng quá mạnh đối với vấn đề này. Ngược lại, nếu mạng không đủ mạnh để mô phỏng hàm cơ sở, học quá mức không có khả năng xảy ra, cũng như sai số huấn luyện hay xác minh lại không rơi vào mức bão hòa.
Những vấn đề liên quan đến cực tiểu cục bộ, và những quyết định sử dụng quá kích thước của mạng, nghĩa là chúng ta phải chạy thử trên nhiều mạng khác nhau, có thể huấn luyện mỗi mạng vài lần và quan sát hiệu suất từng mạng. Điều quan trọng là quan sát sai số xác minh. Tuy nhiên, nên nhớ rằng nên mô phỏng mạng đơn giản hơn là mạng phức tạp, chúng ta cũng thể chọn mạng nhỏ hơn là mạng lớn có khả năng cải thiện sai số xác minh không đáng kể.
Vấn đề đối với kỹ thuật này về việc thí nghiệm lặp đi lặp lại là tập xác minh không thực sự đóng vai trò chọn lựa mạng, nghĩa là nó chỉ là một phần trong quá trình huấn luyện. Độ tin cậy của nó chỉ ở mức độ vừa phải – khi số lần thí nghiệm đủ, chúng ta có khả năng rơi vào trường hợp mạng thực hiện tốt trên tập xác minh. Để thêm độ tin cậy hiệu suất của mô hình cuối cùng thì trong thực tế thường sử dụng thêm một tập thứ ba – là tập kiểm tra. Mô hình cuối cùng được kiểm tra với tập dữ liệu kiểm tra để đảm bảo rằng kết quả của tập xác minh và huấn luyện là thật.
3.5 Ứng dụng mạng Neural trong lĩnh vực nhận dạng