a. Các quy tắc luyện mạng
• Quy tắc giảm gradien - giảm dốc nhất - quy tắc delta
Trớc hết phải nói, cả ba tên gọi trên đều ám chỉ cùng một phơng pháp luyện. Đây là một trong những quy tắc nguyên thủy nhất của lan truyền ngợc. Phơng pháp đợc Rumelhart, Hilton và Williams giới thiệu năm 1986.
Khi hoàn thành một bớc lặp qua toàn bộ tập mẫu, tất cả các trọng số của mạng sẽ đợc cập nhật dựa trên các thông tin đạo hàm riêng theo từng trọng số. Đúng nh tên đợc đặt cho phơng pháp, giảm dốc nhất, các trọng số sẽ đợc cập nhật theo h- ớng mà hàm lỗi E giảm mạnh nhất.
Để hiểu phơng pháp, các bạn hãy tởng tợng mạng lỗi di chuyển trên một chuỗi các điểm trong không gian lỗi. Để dễ hình dung, cắt mặt lỗi này theo một mặt phẳng song song với một trọng số nào đó. Trong mặt cắt này, ta có một đờng cong lỗi, và tại bất kỳ điểm nào trên đờng cong này ta sẽ có tơng ứng giá trị một trọng số. Trong suốt tiến trình luyện, mạng sẽ di chuyển qua một chuỗi các điểm trên đờng (mặt) cong lỗi nh thế.
Tại một điểm cho trớc trong không gian trọng số, có hai vấn đề ta quan tâm: thứ nhất là xác định hớng nào để lỗi giảm nhanh nhất; và vấn đề thứ hai là quyết định độ lớn của "bớc" chuyển trọng số theo hớng đó (Nh đề cập trong phần 2.1).
Có thể hình dung tóm tắt các bớc của quy tắc giảm gradient nh sau: - Chọn ngẫu nhiên một điểm x0 trong không gian trọng số; (1)
- Tính độ dốc của mặt lỗi tại x0;(2)
- Chọn "bớc" ε và cập nhật các trọng số theo hớng dốc nhất của mặt lỗi theo công thức (2.26); (3)
- Xem điểm này nh điểm x0 mới.(4)
Lặp đi lặp lại quá trình từ (2) đến (4) thì đến một lúc nào đó các giá trị của bộ trọng số sẽ tiếp cận đợc điểm thấp nhất trong mặt lỗi.
Vấn đề nảy sinh ở đây là sau khi xác định đợc hớng dốc nhất của mặt lỗi, ta sẽ phải cập nhật các trọng số nh thế nào? Độ lớn của ‘bớc’ chuyển trọng số ε (hệ số học) sẽ là bao nhiêu? Hiện nay cha có lý thuyết cho việc xác định giá trị ε tối u, do đó, cách tốt nhất là bằng phơng pháp thực nghiệm. Đây là hạn chế của quy tắc giảm gradien, quá trình học rất chậm và ít hiệu quả. Do đó quy tắc này không đợc sử dụng trong luận văn này.
• Quy tắc mômen - quy tắc quán tính
Để khắc phục những hạn chế của quy tắc giảm gradien trong việc chọn hệ số học ε (và hệ số này đợc cố định trong mọi bớc học), quy tắc mômen ra đời. Quy tắc mômen là một cải tiến của quy tắc giảm gradien theo hớng thay đổi giá trị hệ số học
cho thích hợp với từng bớc học.
Quy tắc đợc diễn tả nh sau: nếu các bớc học trớc đang giảm mạnh thì theo đà, bớc tới cũng giảm mạnh – tăng hệ số học để biến thiên trọng tăng lên, ngợc lại, giảm hệ số học. Vì thế, quy tắc này còn đợc gọi là quy tắc quán tính. Công thức biến thiên trọng số của quy tắc mômen nh sau:
cm = àcm-1 – (1-à)εdm , 0≤à≤1 (2.27) trong đó, cm và cm-1 là các hệ số học,
tham số à quyết định vai trò của thông tin trong quá khứ
Thông tin bớc trớc đợc sử dụng lại ở bớc sau (đợc thể hiện trong số hạng đầu của vế phải); khi à = 0 thì công thức trên chính là công thức của quy tắc giảm gradien và thông tin trong quá khứ không ảnh hởng đến lựa chọn hiện tại. Bằng cách thêm một tham số cho hệ số học nh thế, hệ thống không còn quá nhạy cảm với hệ số học nh trong trờng hợp quy tắc giảm gradien nữa. Trong thực hành, à thờng đợc cho giá trị từ 0.5 đến 0.9.
Khi kết hợp với phơng pháp học từng mẫu, quy tắc mômen thúc đẩy nhanh việc giảm lỗi mà thời gian tính chỉ chậm đi chút ít. Nhng cũng có những hạn chế nhất định. Nếu thứ tự các mẫu không tốt có thể đa đến những kết quả ngoài ý muốn. Ví dụ, nếu có một số mẫu có kết xuất đích cao xuất hiện trong một dãy liên tục,
mạng có thể tạo ra mômen đủ để đa nó ra xa trên nhánh kia của mặt lỗi; ở đây, nó có thể mắc kẹt với những đạo hàm rất nhỏ làm cho việc học về sau sẽ bị chậm lại. Điều tơng tự nh vậy cũng có thể xảy ra nếu trọng số ban đầu tạo các kết xuất quá cao (hay quá thấp) cho tất cả các mẫu; vào lúc các kết xuất có thể đạt đợc giá trị thích hợp thì mạng lại tạo ra mômen đủ để đa nó ra khỏi dãy về phía bên kia.
Việc sử dụng quy tắc mômen sẽ thích hợp nếu mạng gặp phải một khe rãnh trong mặt lỗi.
Hình 12: Khe trong mặt lỗi
Trong hình 12, ta thấy một khe rãnh trong mặt lỗi trên không gian 2 trọng số. Dù hai bên khe rãnh rất dốc, thế nhng đáy của nó hầu nh không phẳng. Khi mạng đi xuống một phần của một bên rãnh khe rãnh, hớng của điểm giảm tốc độ sẽ băng qua khe rãnh, nhng lỗi cực tiểu của bộ trọng số lại nằm đâu đó theo hớng dọc khe rãnh, tại vị trí vuông góc với gradient. Và kết quả là mạng không tìm đợc giá trị cực tiểu chính xác trên mặt lỗi. Ngay cả khi sử dụng phơng pháp học toàn mẫu, không sử dụng quy tắc mômen thì mạng có khe rãnh dạng này cũng mất nhiều thời gian nhảy qua nhảy lại hai bên khe rãnh và chỉ có thể tiến rất chậm đến các trọng số tối u.
Quy tắc mômen giúp giải quyết vấn đề này. Khi mạng nhảy qua nhảy lại liên tục hai bên khe rãnh, có nghĩa là biến thiên trọng số sẽ đổi dấu liên tục và nh vậy sẽ cho ta số trung bình cho một thay đổi đủ nhỏ chính xác. Nh vậy, mạng có thể ổn định ở đáy của khe rãnh. ở đó, nó bắt đầu di chuyển đúng hớng - ban đầu chậm rồi sau đó theo mômen. Nói chung, những bài toán có mặt lỗi nh trong hình 12 rất ít gặp trong thực tế, thông thờng các bài toán có mặt lỗi dốc thoai thoải và phẳng hơn. [6, 19]
Hình 13: Hớng giảm trong không gian trọng số. a) Tốc độ học nhỏ; b) Tốc độ học lớn và c) Tốc độ học có thêm yếu tố quán tính
• Quy tắc học thích nghi - phơng pháp delta-bar-delta
Quy tắc học thích nghi là một quy tắc cải tiến đợc xem là hiệu quả nhất của quy tắc giảm gradien. Quy tắc này đợc Robert Jacobs và cộng sự giới thiệu năm 1988. Trong quy tắc này, mỗi trọng số có một hệ số học e khác nhau. Khi cập nhật trọng số, nếu hớng giảm lỗi hiện hành cùng hớng với bớc trớc thì cho e lớn, còn nếu ngợc với hớng ở bớc trớc thì e sẽ nhỏ. Hớng giảm lỗi đợc xác định bởi dấu của đạo hàm riêng dm của hàm lỗi theo trọng số ở bớc lặp đó. Nếu dm dơng, lỗi giảm khi trọng số giảm, dm âm, lỗi giảm khi trọng tăng. Quy tắc học thích nghi sử dụng khái niệm hớng lỗi "vừa mới" giảm. Ta có thể định nghĩa hớng cho bớc lặp mới là:
fm+1 = θfm + (1-θ)dm (2.28)
trong đó, 0≤θ <1 là tham số cho biết "khoảng thời gian mới đây" là bao lâu. Tổng quát cho trờng hợp θ = 0.5 ta có:
fm+1 = 0.5dm + 0.25dm-1 + 0.125dm-2+... (2.29) Khi θ tiến về 1, giá trị dm hiện tại giảm và các giá trị quá khứ của d đợc tính bởi
fm lại tăng. Nếu ta cho f là trung bình trọng số của các đạo hàm hiện tại và quá khứ,
θ là trọng số cho biết đạo hàm đã qua và (1-θ) là trọng số cho biết đạo hàm hiện tại. Nếu f dơng thì có thể biết mới đây là "lỗi giảm khi trọng giảm" và ngợc lại, cũng nh đối với chính đạo hàm.
Dựa vào dấu của dm và fm ta có thể đo chính xác cả hớng và lỗi hiện giảm lẫn h- ớng và lỗi vừa giảm. Nếu chúng cùng dấu, việc giảm lỗi xảy ra theo cùng hớng cũ, nếu khác dấu, hớng ngợc với hớng cũ.
Chúng ta có thể kiểm chứng xem hớng mà lỗi giảm có thay đổi không bằng cách nhân dm với fm. Nếu tích số này dơng thì cùng dấu và âm là khác dấu. Hệ số học thích nghi đợc tính theo công thức:
< > + = − − 0 , 0 , 1 1 m m m m m m m f d x e f d e e φ κ (2.30) trong đó, κ và φ là các tham số. Nếu "sắp" đi theo cùng hớng cũ, e sẽ tăng một lợng bằng hằng số κ. Nếu hớng đổi, e đợc nhân với một lợng bằng 0 < φ < 1. Sau khi xác định đợc e, biến thiên trọng số sẽ đợc xác định theo:
cm = - emdm (2.31)
Hay, nếu dùng mômen:
Trong thực hành, hệ thống thờng không nhạy cảm đối với việc chọn các giá trị
θ, κ và φ. Thờng các giá trị này đợc chọn cố định. Các giá trị thờng đợc chọn là: θ = 0.7; κ = 0.1 và φ = 0.5.
Quy tắc học thích nghi giúp tăng tốc độ học, đặc biệt là trong các bài toán lớn và phức tạp. Để đạt đợc cùng một sai số nh quy tắc gradien, số bớc học của quy tắc học thích nghi thờng chỉ bằng 1/10 so với quy tắc gradien. [6]
• Học từng mẫu một
Đạo hàm hàm lỗi cho thấy hớng giảm dốc nhất trên mặt lỗi khi đạo hàm đợc cộng dồn trên toàn bộ tập mẫu. Vì thế phơng pháp giảm dốc nhất yêu cầu cập nhật trọng dựa trên các đạo hàm hàm lỗi khi đã quét qua toàn bộ tập mẫu.
Một cách tiếp cận khác là cập nhật trọng số ngay sau khi học từng mẫu dựa trên các đạo hàm hàm lỗi của riêng mẫu đó mà thôi. Khi làm nh vậy, lỗi trên tập mẫu thờng giảm nhanh hơn ở các bớc đầu, vì mạng không phải đợi hết một bớc qua toàn tập mẫu mới học đợc một điều gì đó.
Tuy vậy, với một vài bài toán, cần thận trọng khi sử dụng cách này. Trớc tiên, không phải lúc nào phơng pháp này cũng giảm số bớc cần thiết để mạng ổn định với bộ trọng số tối u. Trong nhiều trờng hợp khi học mẫu mới, rất có thể mạng đã "quên" mẫu cũ. Trờng hợp này thờng xảy ra khi các mẫu kế nhau trong tập mẫu quá khác biệt nhau.
Thứ hai, ngay cả khi học từng mẫu một chỉ cần ít bớc luyện hơn, thì cha chắc tổng thời gian tính toán thực sự ít hơn so với học toàn tập mẫu. Việc học từng mẫu cần tính toán trên máy tính nhiều hơn. Trọng số thay đổi cần phải đợc tính cho mỗi mẫu, chứ không chỉ tính một lần cho cả tập mẫu. Việc tính toán hiệu quả thờng dựa trên thời gian tính toán, nên thuận lợi về tốc độ của việc học từng mẫu lại thờng ít hiệu quả hơn ta tởng.
Thứ ba, nh đã nói ở trên, học từng mẫu đòi hỏi phải đặc biệt thận trọng trong việc sắp xếp thứ tự các mẫu trong tập mẫu. Các mẫu xuất hiện ở cuối đợt luyện th- ờng có ảnh hởng nhiều hơn những mẫu xuất hiện lúc đầu.
Chắc hẳn không ai muốn tất cả các mẫu của cùng một lớp đợc xếp sau cùng. Nếu sử dụng phơng pháp học từng mẫu, các mẫu đó phải đợc trình bày theo thứ tự t- ơng ứng với các thuộc tính thống kê của chúng. Lý tởng nhất là các mẫu đợc sắp xếp theo thứ tự khác nhau trong mỗi bớc. Luyện trên toàn tập mẫu không cần quan tâm đến điều này vì thứ tự của các mẫu không ảnh hởng gì đến đạo hàm sau cùng.
Cuối cùng, ngay cả khi các mẫu đợc sắp xếp theo thứ tự ngẫu nhiên, thì các mẫu cuối cùng vẫn có tác động nhiều hơn. Trên lý thuyết, điều này có nghĩa là mạng
không thực sự hội tụ đến điểm trọng số tối u. Mặc dù trong thực hành, việc này th- ờng không quan trọng vì quy trình luyện đã ngừng hẳn trớc khi mạng hội tụ.
Một cách tiếp cận dung hòa là cập nhật trọng số dựa trên các nhóm mẫu thay vì từng mẫu nhng cũng không phải toàn tập mẫu. Việc thực hiện cùng một lúc có thể làm giảm lỗi nhanh hơn mà vẫn không làm tăng thời gian tính toán trong mỗi bớc nh cách học từng mẫu. Và nó tạo ra một cơ hội để đảm bảo là các mẫu trong cùng nhóm cân bằng về mặt thống kê – chẳng hạn chứa một số mẫu trong từng lớp – nh vậy sẽ giúp cho việc học nhanh hơn và đáng tin cậy hơn.
Một cách cảm tính là bắt đầu với những nhóm tơng đối nhỏ rồi tăng dần kích thớc nhóm trong quá trình học, và kết thúc với nhóm chứa toàn tập mẫu.
Tuy nhiên, cách tiếp cận đơn giản nhất là cập nhật các trọng số vào cuối mỗi b- ớc. Đây là phơng pháp đợc đánh giá cao. [6]
• Thuật toán tối u bộ nhiễm sắc thể 7
Bộ nhiễm sắc thể ở đây đợc hiểu là bộ tham số của mạng. Thuật toán này đợc hiểu đơn giản là một mạng đợc luyện nhiều lần với với các bộ tham số khác nhau của mạng (số nút ẩn, bớc học...); với mỗi bộ tham số nh vậy, mạng đợc luyện cho đến khi xuất hiện dấu hiệu quá khớp hoặc đạt đợc một sai số mong muốn. Tập hợp các tham số cho sai số trên bộ số liệu kiểm chứng nhỏ nhất sẽ đợc lu lại và cố định trong quá trình kiểm tra với số liệu độc lập. [22]
b. Vấn đề quá khớp
Nh ta đã biết, việc xây dựng mạng nhằm mục đích tìm đợc một hàm biểu diễn chính xác nhất hàm đích (đợc cho bởi tập mẫu), hay nói cách khác, ta tìm cách biểu diễn "khớp nhất" tập mẫu đã cho.
Tuy nhiên, điều ta không mong muốn thờng xảy ra, đó là trong tập số liệu có chứa sai số (nhiễu), mà đa phần đó là các sai số ngẫu nhiên, chính những sai số đó đã dẫn đến việc: khi sai số bình phơng trung bình trên tập số liệu luyện là nhỏ nhất không đồng nghĩa với khả năng tổng quát hoá của mạng khi đi vào sử dụng là tốt nhất. Và nguyên nhân chính là việc mạng đã biểu diễn "quá khớp" với dữ liệu luyện, kể cả nhiễu.
Mạng quá khớp đợc đặc biệt quan tâm vì lan truyền ngợc là một kỹ thuật tạo mô hình rất mạnh. Hình thức của hàm ánh xạ linh động, còn quá trình học giảm gradien luôn tiềm ẩn nguy cơ "quá khớp".
Một số ít kỹ thuật mô hình hoá khác nh hồi quy tuyến tính cũng có khả năng quá khớp. Nhng vì hồi quy tuyến tính chỉ có thể khớp giữa đờng thẳng và dữ liệu và không thể tự biến dạng thành các dạng phức tạp nh mạng nơron có khả năng làm, nên vấn đề quá khớp không trở thành trầm trọng. Tính linh động của lan truyền ngợc
là lý do khiến nó có thể thực hiện tạo mô hình tốt hơn hồi quy tuyến tính, nhng sức mạnh đó cũng chính là điểm yếu của mạng: năng lực của lan truyền ngợc cũng có thể dẫn đến vấn đề quá khớp.
Lấy ví dụ mạng nhận thức đa lớp, theo lý thuyết (Rumelhart, McClelland (1986), Haykin (1994), Bishop (1995)...) thì mạng 4 lớp có khả năng xấp xỉ hàm với bất kỳ độ phức tạp nào, với số lớp ẩn và số nút ẩn trong lớp ẩn chính là nhân tố làm nên sức mạnh đó. Số nút trong lớp nhập và đặc biệt là nút xuất thờng đợc quy định bởi yêu cầu và mục đích của bài toán. Vấn đề còn lại chính là xác định số lớp và số nút ẩn. Câu hỏi đặt ra là: Liệu chúng ta có thể lựa chọn đợc đúng độ phức tạp của mạng? Một mạng lớn thậm chí luôn luôn cho ta sai số nhỏ, nhng điều này tiềm ẩn sự "quá khớp" nhiều hơn là một kết quả tốt. Câu trả lời này sẽ đợc kiểm tra với một tập số liệu độc lập. Điều này quan trọng đến mức, ngày nay, trong các thuật toán của