tiến (feedforward) đa mức 2.1 Lý thuyết học và vấn đề nhận dạng mẫu
2.2.3 Một số kinh nghiệm nhằm nâng cao tính năng của thuật toán Back-propagation
tính năng của thuật toán Back-propagation
Ng−ời ta th−ờng nói rằng việc thiết kế mạng neuron sử dụng thuật toán back-propagation là một nghệ thuật hơn là một khoa học. Điều này cũng có vài phần hợp lý, và trong thực tế cũng có một số kinh nghiệm có khả năng cải thiện đáng kể tính năng của thuật toán back-propagation nh− đ−ợc mô tả d−ới đây.
1. Cực đại hoá nội dung thông tin. Mọi ví dụ tích luỹ đ−ợc dùng cho thuật toán back-propagation nên đ−ợc chọn dựa trên cơ sở nội dung thông tin của nó là lớn nhất có thể đ−ợc đối với công việc cụ thể đang xét. Có hai cách để đạt đ−ợc mục đích này là:
• Sử dụng ví dụ tích luỹ mà dẫn đến lỗi tích luỹ lớn nhất.
• Sử dụng các ví dụ tích luỹ mới khác một cách căn bản so với các ví dụ đã đ−ợc sử dụng tr−ớc đó.
Trong các công việc nhận dạng mẫu, một kỹ thuật đơn giản hay đ−ợc sử dụng là chọn một cách ngẫu nhiên thứ tự các ví dụ đ−ợc xử lý cho mỗi Thời kỳ. Việc chọn ngẫu nhiên nh− vậy đảm bảo rằng các ví dụ liên tiếp nhau hiếm khi thuộc cùng một lớp.
2. Hàm kích hoạt. Một mạng tiến đa mức đ−ợc tích luỹ bằng thuật toán back-propagation có thể học nhanh hơn khi sử dụng hàm kích hoạt phản đối xứng. Chúng ta nói rằng một hàm kích hoạt ϕ(v) là phản đối xứng nếu
ϕ(-v)=-ϕ(v)
Một ví dụ của một hàm kích hoạt phản đối xứng là hàm tang hyperbol nh−
sau ϕ(v)=a tanh(bv) Các giá trị thích hợp cho a và b là a=1.7159 và b=2/3
•ϕ(1)=1 và ϕ(-1)=-1
• Tại gốc toạ độ, hệ số góc của hàm kích hoạt xấp xỷ bằng 1 ϕ‘(0)=ab
=1.7159ì2/3 =1.1424
3. Các giá trị đích. Một điều hết sức quan trọng là các giá trị đích (đáp ứng mong muốn) đ−ợc chọn trong phạm vi của hàm kích hoạt. Một cách cụ thể hơn, đáp ứng mong muốn dj cho neuron j trong mức đầu ra nên có trị tuyệt đối nhỏ hơn một giá trị ε nào đó so với giá trị giới hạn của hàm kích hoạt tuỳ theo giá trị giới hạn đó là d−ơng hay âm. Để thấy rõ hơn, hãy xem xét tr−ờng hợp hàm kích hoạt phản đối xứng. Với giá trị giới hạn +a, chúng ta đặt
dj=a-ε và với giá trị giới hạn -a, chúng ta đặt
dj=-a+ε
ở đó ε là một hằng số d−ơng thích hợp. Với việc chọn a=1.7159, chúng ta có thể đặt ε=0.7159, và nh− vậy giá trị đích dj có thể đ−ợc chọn là ±1.
4. Chuẩn hoá đầu vào. Một biến đầu vào nên đ−ợc xử lý sao cho giá trị trung bình của nó, tính trên toàn bộ tập hợp tích luỹ, là gần với không. Để đánh giá ý nghĩa thực tế của quy tắc này, hãy xem xét tr−ờng hợp mà ở đó các biến đầu vào luôn d−ơng. Trong tình huống này, các trọng số synapse của một neuron trong mức ẩn đầu tiên có thể chỉ cùng tăng hay cùng giảm. Nh− vậy, vector trọng số của neuron này có xu h−ớng đi theo đ−ờng zigzag trên bề nặt lỗi và sẽ chậm hội tụ; tức là nên tránh những tình huống nh− vậy.
Để tăng tốc quá trình học back-propagation, trong việc chuẩn hoá đầu vào còn cần phải chú ý tới hai điều sau:
• Giữa các biến đầu vào nên không có sự t−ơng quan (phân bố xác suất độc lập).
• Các biến đầu vào nên đ−ợc nhân tỷ lệ sao cho ph−ơng sai của chúng phải xấp xỷ nhau để đảm bảo rằng các trọng số synapse khác nhau học với tốc độ xấp xỷ nhau.
5. Sự khởi đầu. Một sự lựa chọn tốt cho các giá trị khởi đầu của các trọng số synape và các hệ số hiệu chỉnh của mạng có ý nghĩa vô cùng quan trọng trong việc thiết kế mạng. Câu hỏi đặt ra ở đây là: Thế nào là một lựa chọn tốt?
Khi các trọng số synapse đ−ợc gán các giá trị khởi đầu lớn, rất có khả năng là các neuron của mạng sẽ đi đến trạng thái bão hoà. Nếu điều này xảy ra, các gradient cục bộ trong thuật toán back-propagation đạt các giá trị nhỏ, và sẽ làm cho quá trình học chậm đi. Tuy nhiên, nếu các trọng số synapse đ−ợc gán các giá trị khởi đầu nhỏ, thuật toán back-propagation có xu h−ớng hoạt động trên một vùng bằng phẳng xung quanh gốc của bề mặt lỗi; điều này đặc biệt đúng trong
các giá trị lớn hay các giá trị nhỏ cho việc khởi đầu các trọng số synapse đều nên tránh. Lựa chọn thích hợp ở đây là những giá trị nằm giữa hai thái cực đó.
Để rõ hơn, hãy xem xét ví dụ về một mạng tiến đa mức sử dụng hàm tang hyperbol cho các hàm kích hoạt của nó. Đặt hệ số hiệu chỉnh của mỗi neuron trong mạng bằng không. Giả sử rằng các đầu vào của mỗi neuron trong mạng có trung bình bằng không và ph−ơng sai bằng một; các trọng số synapse đ−ợc lấy từ một tập hợp các số phân bố đều có trung bình bằng không. Trong tr−ờng hợp này, ng−ời ta gợi ý rằng nên chọn các trọng số sao cho ph−ơng sai của chúng bằng nghịch đảo của căn bậc hai số các kết nối synapse của một neuron.
6. Tốc độ học. Về mặt lý t−ởng, tất cả các neuron trong mạng tiến đa mức nên học với cùng một tốc độ. Mức cuối cùng th−ờng xuyên có gradient cục bộ lớn hơn các mức ở phía tr−ớc. Nh− vậy, tham số tốc độ học η nên đ−ợc gán một giá trị nhỏ hơn. Các neuron với nhiều đầu vào nên có một tham số tốc độ học nhỏ hơn để giữ một thời gian học t−ơng tự nhau cho tất cả các neuron trong mạng. Có một gợi ý là đối với một neuron, tham số tốc độ học nên tỷ lệ nghịch với căn bậc hai của các kết nối synapse nối tới neuron đó. Chúng ta sẽ bàn kỹ hơn tới tốc độ học trong phần 2.2.7.