Không gian màu dựa trên tính bão hòa màu được giới thiệu khi có những nhu cầu trong việc xác định số lượng tính chất màu. Chúng miêu tả màu sắc với những giá trị thuộc về trực giác, dựa trên ý kiến của các họa sỹ về những trạng thái khác nhau của màu sắc, trạng thái bão hòa cũng như từng tông màu khác nhau. Hue biểu thị cho màu trỗi (như màu đỏ, màu xanh lá cây, màu đỏ tía và màu vàng) của một vùng ảnh, saturation (độ bão hòa) là thước đo cho giới mức ngưỡng màu của một vùng ảnh. Các khái niệm như “intensity” (cường độ), “lightness” (tính dịu) hay “value”(giá trị) liên quan đến độ sáng của màu. Giá trị trực giác của các thành phần trong không gian màu này và sự phân biệt rõ ràng giữa độ sáng với cá thành phần màu của không gian màu là ưu điểm mà giúp cho không gian này được sử dụng phổ biến trong vấn đề phần vùng màu da.
79 trang |
Chia sẻ: huong.duong | Lượt xem: 1970 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Hệ thống phát hiện khuôn mặt dựa trên mạng neural và phương pháp phân vùng màu da, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
u huấn luyện mà không xuất phát từ một mô hình rõ ràng nào của màu da. Kết quả của phương pháp này thường được biểu diễn dưới dạng một bản đồ phân bố màu da (SPM – Skin Probability Map). Mỗi một giá trị phân bố được gán cho mỗi điểm trong không gian màu.
2.3.2.1 Bảng tra cứu chuẩn hóa (LUT – Lookup Table)
Một số thuật toán phát hiện mặt người và bám sát mặt người sử dụng một lược đồ mức xám dựa trên hướng tiếp cận phân vùng các điểm ảnh là màu da. Không gian màu được lượng tự hóa thành từng nhóm, mỗi một nhóm đáp ứng cho một khoảng các thành phần màu. Các nhóm lược đồ này được tham chiếu tới một bảng gọi là bảng tra cứu. Mỗi một nhóm lưu trữ một số lượng lần xuất hiện của một màu khi tiến hành huấn luỵện ảnh da người. Sau quá trình huấn luyện, biểu đồ sẽ tính toán và chuẩn hóa, chuyển sang giá trị biểu đô trong phân phối xác suất miền rời rạc: Pskin(c) = skin[c]/Norm (I.18)
Trong đó, skin[c] nhận giá trị của nhóm lược đồ, đáp ứng cho véc tơ màu c, Norm là một hệ số chuẩn hóa (tổng tất cả các giá trị của các nhóm biểu đồ) hay là giá trị lớn nhất của một nhóm biểu đồ. Giá trị chuẩn hóa của của bảng tra cứu các nhóm biểu đồ là căn cứ để cho phép quyết định một màu có là màu da hay không.
2.3.2.2 Phân lớp Bayes (Bayes Classifier)
Giá trị của Pskin(c) trong công thức trên là một điều kiện xác suất – P(c|skin) – xác suất một màu quan sát c là một pixel màu da. Và xác suất thích hợp được dùng để phát hiện màu da đó là P(skin|c) – xác suất quan sát màu được màu da khi xuất hiện một giá trị màu c rời rac. Để tính giá trị này, ta sử dụng công thức Bayes quen thuộc:
(I.19)
Trong đó P(c|skin) và P(c|-skin) đựoc tính trực tiếp từ biểu đồ màu da và không màu da. Xác suất toàn phần P(skin) và P(-skin) thì được ước lượng từ một số lượng các mẫu là màu da và không màu da trong tập mẫu huấn luyện. Bất đẳng thức P(skin|c) > Θ, trong đó Θ là một giá trị ngưỡng, có thẻ được sử dụng để trở thành quy tắc trong phát hiện màu da.
Công thức trên đôi khi hơi phức tạp, và để có thể tránh điều này, nếu như thực sự không cần phải biết một cách chính xác suất P(skin|c) và P(-skin|c) mà chỉ cần biết tỉ số giữa chúng thì người ta thường đưa vê công thức như sau:
(I.20)
So sánh công thức này với một ngưỡng có thể tạo ra một quy tắc cho phép phát hiện tỉ số màu da/không phải màu da. Sau một vài phép biến đổi, chúng ta nhận được công thức
(I.21)
Công thức trên có thể thấy rằng, việc chọn lựa giá trị của xác suất toàn phần không ảnh hưởng đến chất lượng của bộ phát hiện, vì với bất kì một xác suất toàn phần P(skin) đều có thể chọn được một giá trị K phù hợp sao cho giá trị của ngưỡng là Θ.
2.3.2.4 Tổng kết phương pháp không tham số
Hai ưu điểm dễ thấy của phương pháp mô hình hóa phân phối không tham số đó là: thứ nhất, chúng có thể huấn luyện và sử dụng được một cách nhanh chóng. Thứ hai, chúng độc lập với lý thuyết vè hình dạng của phân phối màu da (điều này không đúng trong mô hình hóa màu da có tham số). Tuy nhiên nhược điểm của phương pháp này đó là chúng yêu cầu nhiều bộ nhớ để lưu trữ và không có khả năng nội suy hay tạo ra dữ liệu huấn luyện. Lấy ví dụ như, chúgn ta lượng tử hóa điểm ảnh trong không gian RGB về 8bit cho mỗi màu, khi đó chúng ta phải cần một mảng có tới 224 phần tử để lưư trữ tập tất cả các xác suất của mô hình. Để có thể giảm bớt kích thước này bằng cách loại bỏ những dữ liệu huấn luyện nhỏ lẻ, không gian màu thường sử dụng kích thước 128*128*128, 64*64*64, 32*32*32. Theo như nghiên cứu thì kích thước 32*32*32 là kích thước không gian mang lại hiệu quả cao nhất.
2.3.3 Mô hình hóa phân phố màu da có tham số
Hầu hết các mô hình màu da không tham số dựa trên biểu đồ xám đều yêu cầu rất nhiều bộ nhớ và hiệu năng của chúng phụ thuộc hoàn toàn của tập ảnh huấn luyện cố định. Vì vậy cần có một mô hình màu da có thê tự thêm hoặc tự tạo ra dự liệu huấn luyện để, điều đó dẫn đến sự ra đời ủa mô hình phân phối tham số.
2.3.3.1 Mô hình dựa trên phấn phối Gaussian đơn.
Phân phối màu da có thể đựoc mô hình hóa bởi phân phối Gaussian thêm vào hàm mật độ xác suất. Đĩnh nghĩa như sau:
(I.22)
Ở đây, c là một véc tờ màu, µs và Σs là hai tham số phân phối (véc tơ trùng bình và ma trận hiệp phương sai). Các tham số của mô hình được ước lượng thông qua quá trình huấn luyện bởi công thức sau:
(I.23)
Trong đó, n là tổng số các mẫu màu da . Xác suất p(c|skin) có thể được tính trực tiếp mức độ tưong tự màu da (likehood skin color) hoặc có thể tính bằng khoảng cách Mahalanobis từ vé tơ màu c, véc tơ trung bình µs, ma trận hiệp phương sai Σs. Công thức tính khoảng cách Mahalanonbis:
(I.24)
Phưong pháp mô hình hóa giựa trên phân phới đơn Gaussian đã được triển khai và nghiên cứu.
2.3.3.2 Mô hình kết hợp dựa trên phân phối Gaussian
Một mô hình công phu, phức tạp hơn, có khả năng biểu diễn được phân phối phức tạp đó là mô hình két hợp dựa trên phân phối Gaussian. Đây là mô hình mở rộng từ mô hình đơn Gaussian trên, trong trường hợp này, hàm phân phối mật độ xác suất là:
(I.25)
Trong đó, k là số lượng các thành phần được kết hợp, πi là tham số kết hợp, thỏa mãn ràng buộc Σki = 1 πi = 1, và pi(c|skin) thỏa mãn hàm phối mật độ xác suất Gaussian, với mỗi véc tơ trung bình và ma trận hiệp phương sai của nó. Huấn luyện mô hình đựoc thực hiện với một kĩ thuật được biết đến nhiều gọi là thuật toán kì vọng tối đa (EM - Expectation Maximization), trong đó giả sử rằng số lượngcác thành phần k là đã biết trước. Chi tiết việc huấn luyện mô hình kết hợp Gaussian với thuật toán EM này có thể được tìm thấy trong nhiều nghiên cứu. Việc phân lớp trong mô hình kết hợp Gaussian được thực hiện nhờ việc so sánh xác suất p(c|skin) với một vài giá trị ngưỡng.
Việc chọn lựa số lượng thành phần k ở đây là quan trọng. Vì nó ảnh hưởng đến độ chính xác của việc huấn luyện cho mô hình. Theo như những nghiên cứu hiện nay, k = 8 là sự lựa chọn mang hiệu năng cao nhất cho mô hình kết hợp phân phối Gausian.
2.3.3.3 Đa phân phối Gausian
Mức độ gần đúng của các nhóm màu da với phân phối Gaussian 3D trong không gian YcbCr đã được miêu tả trong nhiều bài báo. Một số lượng khác nhau các thuật toán phân nhóm K-trung bình được sử dụng cho nhóm Gaussian thực hiện việc huấn luyện mô hình. Các điểm ảnh được phân lớp thành lớp màu da nếu như khoảng cách Mahalanobis từ véctơ màu c đến trung tâm của cụm gần nhất trong mô hình nhỏ lớn hơn một ngưỡng cho trước.
2.3.3.4 Tổng kết các phưong pháp mô hình hóa theo tham số
Tất cả các phương pháp mô hình hóa theo tham số được miêu tả như trên (ngoại trừ phương pháp 2.3.3.3) đều tính toán trên mặt phẳng các thành phần màu của không gian màu mà bỏ qua thông tin về độ sáng.
Dĩ nhiên, khi một mô hình phân phối cụ thể được sử dụng, sẽ có câu hỏi đặt ra về sự xác thực về giá trị của mô hình đó. Hiển nhiên, mô hình độc lập với hình dạng của phân phối trong không gian màu thì càng tốt hơn, do đó mô hình không tham số xét về mặt này hiển nhiên sẽ tốt hơn mô hình có tham số. Tuy nhiên do yêu cầu quá cao về bộ nhớ mà khi đánh giá hiệu năng thì mô hình có tham số lại có hiệu năng cao hơn. Điều này có thể thấy trong các bảng đánh giá ở nhiều bài báo.
2.4 So sánh kết quả các mô hình
Để có thể đánh giá và so sánh hiệu năng của các phương pháp mô hình hóa màu da là không dễ, vì mỗi phương pháp thường được đề xuât của một nhóm các nhà nghiên cứu và được thử nghiệm trên cơ sơ dữ liệu riêng. Và chưa có một cơ sở dữ liệu chuẩn nào được công bố rộng rãi cho vấn đề này. Cơ sở dữ liệu huấn luyện và kiểm định được biết đến nhiều nhất đó là cơ sở dữ liệu của Compaq. Trong bảng so sánh được đưa ra dưới đây, là kết quả tốt nhất mà mỗi phương pháp đạt được, được tổng hợp bởi [Valimir Vezhnevets, Vassili Sazonov Alla Andreeva ], với kết quả thử nghiệm dựa trên có ở dữ liệu của Compaq nêu trên. Bảng sau đây sẽ so sánh hệ số phát hiện đúng và không đúng của từng phương pháp. Mặc dù các phương pháp là khác nhau về dữ liệu huấn luyện và tập dữ liệu test, cũng như chiến lược huấn luyện, bảng dưới đây vẫn mô tả một bức tranh toàn cảnh về hiệu năng của các phương pháp [7]:
Phương Pháp
Nhận biết đúng
Nhận biết sai
Bayes SPM trong RGB
(Jones và Regh 1999)
80%
90%
8.5%
14.2%
Bayes SPM trong RGB
(Bran và Mason 2000)
93.4 %
19.8%
Maximum Entropy Model trong RGB
(Jedynak và al. 2002)
80%
8%
Gaussian Mixture models trong RGB
(Jones và Rehg 1999)
80%
90%
~9.5%
~15.5%
SOM in TS
(Brown và al. 2002)
78%
32%
Elliptical boundary model trong CIE – xy
(Lee và Yoo 2002)
90%
20.9%
Single Gaussian trong Cb và Cr
(Lee và Yoo 2002)
90%
33.3%
Gausian Mixture trong IQ
(Lee và Yoo 2002)
90%
30,0%
Thresholding của trục I trong YIQ
(Brand và Mason 2000)
94.7%
30.2%
Bảng 1: Kết quả nhận biết đúng và sai của các phương pháp
2.5 Đánh giá phương pháp
Ưu điểm chính của các phương pháp sử dụng các ngưỡng để phân lớp điểm ảnh là màu da hay không đó là tính đơn giản và tính trực giác cao trong các quy tắc phân lớp. Tuy nhiên, điểm khó khăn đó là cần phải tìm được cả một không gian màu tốt và các quy tắc xứng đáng trong không gian đó. Phương pháp được đề xuất hiện này sử dụng thuật toán máy học để có thể tìm được không gian và các quy tắc thích hợp, tuy nhiên đề xuất này vẫn đang là một vấn đề mở trong tương lai
Các phương pháp sử dụng mô hình hóa không tham số thật sự nhanh trong cả việc huấn luyện và phân lớp, độc lập với phân bố hình dạng của màu da và cả không gian màu. Tuy nhiên, phương pháp này lại yêu cầu quá nhiều bộ nhớ lưu trữ và phụ thuộc cố dịnh vào tập dữ liệu huấn luyện.
Các phương pháp mô hình hóa có tham số cũng xử lý khá nhanh. Hơn nữa chúng lại có khả năng tự tạo ra các dữ liệu huấn luyện phù hợp, chúng được miêu tả bằng một số lượng không nhiều các tham số và đặc biệt chúng cần không đáng kể bộ nhớ lưu trữ. Tuy nhiên, chúgn có thể sẽ thực sự chậm (giống như mô hình kết hợp giữa trên phân phối Gaussian) trong cả huấn luyện và làm việc, và hiệu năng của chúng phụ thuộc nhiều vào hình dạng của phân phối màu da. Bên cạnh đó, hầu hết các phương pháp mô hình hóa màu da có tham số đều bỏ qua những thống kê về màu không phải là tham số.
2.6 Chọn lựa không gian màu và phương pháp mô hình hóa dùng để nhận biết màu da cho đồ án.
Với mục đích là sử dụng nhận biết màu da để tiến hành phần vùng màu da, giảm không gian tìm kiếm khuôn mặt trong ảnh màu. Vì vậy, phương pháp cần thiết cho đồ án phải có hiệu năng cao, thời gian thực hiện nhanh, yêu cầu bộ nhớ không lớn. Thời gian huấn luyện không phải là vấn đề. Không gian nhớ phải phù hợp với phương pháp nhận biết màu da. Chính vì vậy, xem xét tất cả các phương pháp, các đặc trưng cũng như hiệu năng của từng phương pháp. Chúng ta sẽ sử dụng phương pháp mô hình hóa có tham số để tiến hành phân vùng màu da cho ảnh. Cụ thể phương pháp được lựa chọn đó là phương pháp mô hình hóa màu da có tham số dựa trên phân phối Gaussian. Và không gian màu được lựa chọn đó là không gian YcrCb do đặc điểm chuyển đổi đơn giản từ RGB, sự phân biệt rõ ràng giữa độ sáng và các thành phần màu. Đồng thời, để nâng cao hiệu năng và giảm thời gian tính toán cho phương pháp chọn lựa này, chúng ta sẽ xem xét các quy tắc đựoc đề xuất trong nhóm phương pháp dùng nguỡng để lọc khởi tạo loại bỏ những điểm ảnh chắc chắn không phải màu da. Chi tiết cách thức tiến hành của phương pháp phân vùng màu da này sẽ được đề cập đến trong phần 2 của chương III.
3. Giới thiệu về mạng neural nhân tạo MPL và thuật toán lan truyền ngược
3.1 Giói thiệu
Hệ thống phát hiện mặt người được xây dựng trong đồ án dựa trên mạng neural MPL (Multi Perceptron Layer) và sử dụng thuật toán lan truyền ngược để luyện mạng. Vì vậy trong phần này, sẽ nói một cách cơ bản nhất về MPL và thuật toán lan truyền ngược.
Có thể nói, hiện nay, không có một định nghĩa chính thức nào cho mạng neural. Tuy nhiên phần lớn mọi người đều đồng tình rằng mạng neural là một mạng bao gồm rất nhiều bộ xử lý đơn giản (gọi là các unit), mỗi unit có vùng nhớ riêng của mình. Các unit được kết nối với nhau thông qua kênh thông tin (gọi là các connection), thường mang dữ liệu số (không phải là các ký hiệu), và được mã hóa theo một cách nào đấy. Các unit chỉ xử lý trên bộ dữ liệu của riêng nó và trên các đầu vào được đưa tới thông qua các liên kết. hạn chế của các phép xử lý cục bộ này là nó thường ở trạng thái nghỉ trong suốt quá trình học.
Một số mạng neural là các mô hình mạng neural sinh học, một số thì không, nhưng từ trước tới nay, thì tất cả các lĩnh vực của mạng neural đều đựoc nghiên cứu xây dựng xuất phát từ các yêu cầu xây dựng các hệ thống nhận tạo rất phức tạp, hay các phép xử lý “thông minh”, và những gì tuơng tự như bộ não con người.
Hầu hết các mạng neural đều có một vài quy tắc học nào đó mà thông qua đó các trọng số của các liên két được điều chỉnh dựa trên dữ liệu. Nói cách khác, các mạng neural “học” và các ví dụ và dựa trên các dữ liệu đó thì nó có khả năng tổng quát tri thức và đưa ra “nhận thức của mình”.
Mạng neural là mô hình mạng ứng dụng các phương pháp xử lý song song và các thành phần mạng xử lý hoàn toàn đợc lập với nhau. Một vài nguời xem khả năng xử lý song song số lượng lớn và tính liên kết cao của mạng neural là các tính chất đặc trưugn của nó. Tuy nhiên với những yêu cầu như thế thì lại không có những mô hình đơn giản, ví dụ như mô hình hồi quy tuyến tính đơn giản, một mô hình được ứng dụng rất rộng rãi của mạng neural.
Mạng neural có thể được áp dụng trong mọi trường hợp khi tồn tại một mối liên hệ giữa các biến độc lập (inputs) và các biến phụ thuộc (outputs), thậm chí là ngay cả khi mối quan hệ đó phứuc tạp. Một số lĩnh vực mà mạng neural đã được áp dụng thành công như dự đoán triệu chứng y học, dự đoán thị trường chứng khoán, đánh giá độ tin cậy tài chính, điều chỉnh điều kiện của cơ cấu máy móc.
3.2 Mạng Perceptron nhiều tầng (MPL – Multi Perceptron Layer) [3]
MPL là một loại mạng lan truyền tiến được huấn luyện theo kiểu học có thầy. Mạng là một cấu trúc gồm nhiều lớp trọng số. Ở đây ta chỉ xét đến loại mạng lan truyền khả vi. Đây là loại mạng có thể áp dụng phương pháp tính toán khá hiệu quả và mạnh gọi là lan truyền ngược lỗi , để xác định đạo hàm hàm lỗi theo các trọng số và độ dốc trong mạng. Đây là một tính chất rất quan trọng của những mạng kiểu này bởi những đạo hàm này đóng vai trò trung tâm trong các giải thuật học của các mạng đa lớp. Vấn đề lan truyền ngược sẽ được ta xét tới trong một phần riêng sau này.
3.2.1 Ánh xạ mạng lan truyền tiến
Trong phần này ta sẽ nghiên cứu mô hình mạng neural lan truyền tiến như là một khung tổng quát đại diện cho các hàm ánh xạ phi tuyến giữa tập các biến đầu vào và tập các biến đầu ra.
3.2.1.1 Mạng phân lớp
Các mạng đơn lớp được xây dựng dựa trên sự kết hợp tuyến tính các biến đầu vào được chuyển đổi bởi một hàm truyền phi tuyến.
Ta có thể xây dựng được các hàm tổng quát hơn bằng cách nghiên cứu những mô hình mạng có các lớp các nút là liên tiếp, với các kết nối từ tất cả các nút thuộc một lớp tới tất cả các nút thuộc lớp kế tiếp, và không cho phép bất kỳ một loại kết nối nào khác. Những mạng phân lớp như thế này có thể dễ phân tích hơn các cấu trúc tổng quát khác, và cũng dễ được mô phỏng bởi phần mềm hơn.
Hình 4: Mô hình mạng lan truyền tiến
Các nút không phải là các nút nhập và nút xuất được gọi là các nút ẩn. Trong mô hình chúng ta nghiên cứu ở đây, có d nút nhập, M nút ẩn và c nút xuất.
Kết quả của nút ẩn thứ j được tính như sau:
(I.26)
Trong đó là trọng số của lớp đầu tiên, từ nút nhập i đến nút ẩn j, và là trọng ngưỡng của nút ẩn j.
Giả sử đặt một biến cố định x0 = 1. Từ đó công thức (I.26) có thể được viết lại:
(I.27)
Sau đó độ hoạt động zk của nút ẩn j được tính toán bằng cách chuyển đổi tổng tuyến tính (I.27) sử dụng hàm truyền g(.), tức là: zk = g(aj) (I.28)
Kết xuất của mạng được tính bằng cách chuyển đổi độ hoạt động của các nút ẩn sử dụng một lớp các nút thứ 2. Với mỗi nút xuất k, ta có:
(I.29)
Đặt z0 =1 ta có:
(I.30)
Sau đó giá trị này được cho qua hàm truyền phi tuyến cho ta kết xuất đầu ra của nút xuất k: (I.31)
Ở đây ta sử dụng kí hiệu để biểu diễn hàm truyền của các nút xuất nhằm chỉ ra rằng hàm này có thể không trùng với hàm đã được sử dụng trong lớp ẩn.
Kết hợp (I.27), (I.28), (I.30), (I.31) ta có công thức chung cho mô hình mạng trong hình trên:
(I.32)
3.2.1.2 Kiến trúc mạng tổng quát
Ta có thể xây dựng được những ánh xạ mạng tổng quát hơn bằng cách nghiên cứu những sơ đồ mạng phức tạp hơn. Tuy nhiên ở đây thì ta chỉ giới hạn nghiên cứu trong phạm vi các mạng lan truyền tiến.
Mạng lan truyền tiến là mạng không có một kết nối quay lui nào trong mạng.
Theo Bishop (1995): OVề mặt tổng quát, một mạng được gọi là lan truyền tiến nếu nó có thể gán các số liên tục cho tất cả các nút nhập, tất cả các nút ẩn và nút xuất sao cho mỗi nút chỉ có thể nhận được các kết nối từ các nút nhập hoặc các nút được gán số bé hơn.Õ
Với những mạng có tính chất như thế, kết xuất của mạng là các hàm quyết định của các đầu vào, và vì thế toàn bộ mạng được gọi là một ánh xạ hàm phi tuyến đa biến.
Kết xuất của nút k tính được như sau:
(I.33)
trong đó g(.) là một hàm truyền phi tuyến, và j thuộc tập tất cả các nút nhập và các nút gửi kết nối tới nút k (Tham số trọng ngưỡng cũng đã được bao hàm ở trong tổng này).
Với một tập cho trước các giá trị đầu vào, áp dụng liên tục công thức (I.33) sẽ cho phép các kích hoạt của tất cả các nút trong mạng được ước lượng, bao gồm cả các kích hoạt của các nút xuất. Quá trình này được gọi là lan truyền tiến các tín hiệu qua mạng.
Nếu như các hàm truyền của tất cả các nút ẩn trong mạng là tuyến tính, thì với những mạng như thế ta luôn luôn tìm được một mô hình mạng tương đương mà không có một nút ẩn nào. Những mạng này được gọi là mạng tuyến tính đa lớp và vì thế không được đi sâu nghiên cứu, mà người ta chỉ chủ yếu nghiên cứu các mạng đa lớp với các hàm truyền của các nút ẩn là phi tuyến.
3.2.2 Hàm sigmoid
Bây giờ chúng ta sẽ xem xét hàm truyền logistic dạng S, trong đó các đầu ra của nó nằm trong khoảng (0,1), có phương trình như sau:
(I.34)
Hình vẽ dưới đây biểu diễn một hàm truyền sigmoid cho các nút trong mạng. Đây là một hàm mũ có một đặc tính vô cùng quan trọng vì : khi x chạy từ vô cùng lớn đến vô cùng bé thì f(x) luôn chạy trong khoảng từ 0 đến 1. Giải thuật học ở đây sẽ điều chỉnh trọng số của các kết nối giữa các nút để hàm này ánh xạ giá trị của x sang dạng nhị phân, thông thường:
f(x) > 0.9 : f(x) = 1
f(x) < 0.1 : f(x) = 0.
Hình 5: Đồ thị hàm truyền sigmoid
Trong phần này chúng ta sẽ xem xét các mạng neural với nút xuất tuyến tính. Tuy nhiên điều này cũng chẳng hạn chế lớp các hàm mà mạng có thể xấp xỉ hoá. Việc sử dụng các hàm sigmoid tại các đầu ra sẽ giới hạn phạm vi có thể xảy ra của các nút xuất thành phạm vi có thể đạt tới được của hàm sigmoid (giá trị kết xuất là từ 0 tới 1), và trong một số trường hợp thì điều này có thể là không mong muốn. Thậm chí ngay cả khi giá trị xuất mong muốn là nằm trong giới hạn của hàm sigmoid thì chúng ta vẫn phải chú ý rằng hàm sigmoid g(.) là một hàm đơn điệu tăng, do đó nó có thể lấy nghịch đảo được. Do vậy một giá trị xuất y mong muốn đối với mạng có nút xuất thuộc dạng sigmoid thì tương đương với một giá trị xuất g-1(y) đối với mạng có nút xuất tuyến tính.
Một nút ẩn thuộc dạng sigmoid có thể xấp xỉ một nút ẩn tuyến tính bất kì một cách chính xác. Công việc này đạt được bằng cách thiết kế cho tất cả các trọng số các cung đầu vào của nút, cũng như các trọng ngưỡng, sao cho rất nhỏ để mà tổng của các giá trị nhập phải nằm trên phần tuyến tính của đường cong sigmoid, gần đúng với đường thẳng nguyên thuỷ. Trọng số trên cung xuất từ một nút đến tầng chứa các nút kế tiếp có thể tạo ra tương đối lớn để tái tỉ lệ với độ hoạt động (và với trọng ngưỡng để có được bước dịch chuyển phù hợp nếu cần thiết). Tương tự, một nút ẩn dạng sigmoid có thể được tạo ra nhằm xấp xỉ một hàm bậc thang (step) bằng vịêc đặt giá trị cho các trọng số và trọng ngưỡng rất lớn.
Bất kì một ánh xạ hàm liên tục nào đều có thể được trình bày với độ chính xác tuỳ ý bởi một mạng neural hai lớp trọng số sử dụng các nút ẩn dạng sigmoid (Bishop, 1995).
Do đó chúng ta biết được rằng những mạng neural với nhiều tầng nút xử lý cũng có khả năng xấp xỉ hoá bởi vì chúng đã chứa đựng trong nó mạng neural hai tầng như một trường hợp đặc biệt. Điều này cho phép các tầng còn lại được sắp xếp để thực hiện những biến đổi tuyến tính như đã thảo luận ở trên, và sự biến đổi đồng nhất chính là một trường hợp dặc biệt của một phép biến đổi tuyến tính (biết rằng có đủ số nút ẩn để không có sự giảm bớt về chiều xảy ra).
3.3 Thuật toán lan truyền ngược [1]
Bây giờ chúng ta sẽ tập trung nghiên cứu một kĩ thuật rất phổ biến của mạng neural nhiều tầng. Chúng ta sẽ xem xét cách mà một mạng học một ánh xạ từ một tập dữ liệu cho trước.
Chúng ta đã biết việc học dựa trên định nghĩa của hàm lỗi, hàm lỗi này sau đó sẽ được tối thiểu hoá dựa vào các trọng số và các trọng ngưỡng trong mạng.
Trước tiên ta sẽ xem xét trường hợp mạng sử dụng hàm ngưỡng. Vấn đề cần bàn ở đây chính là cách để khởi tạo các trọng số cho mạng như thế nào. Công việc này thường được gọi là ‘credit assignment problem’. nếu một nút đầu ra tạo ra một đáp số sai lệch thì chúng ta phải quyết định xem liệu nút ẩn nào phải chịu trách nhiệm cho sự sai lệch đó, cũng chính là việc quyết định trọng số nào cần phải điều chỉnh và điều chỉnh là bao nhiêu.
Để giải quyết vấn đề gán trọng số này, chúng ta hãy xem xét một mạng với các hàm truyền phân biệt ,do đó giá trị tổng trọng của các nút xuất sẽ trở thành một hàm phân biệt của các biến nhập và của trọng số và trọng ngưỡng. Nếu ta coi hàm lỗi, ví dụ có dạng sai số trung bình bình phương, là một hàm riêng biệt cho các giá trị xuất của mạng thì bản thân nó cũng chính là một hàm phân biệt của các trọng số.
Do đó chúng ta có thể tính toán được đạo hàm hàm lỗi theo các trọng số, và giá trị đạo hàm này lại có thể dùng để làm cực tiểu hoá hàm lỗi bằng cách sử dụng phương pháp giảm gradient (gradient descent) hoặc các phương pháp tối ưu hoá khác.
Giải thuật ước lượng đạo hàm hàm lỗi được biết đến với tên gọi lan truyền ngược, nó tương đương với việc lan truyền ngược lỗi trong mạng. Kĩ thuật về lan truyền ngược được biết đến rất rộng rãi và chi tiết qua các bài báo cũng như các cuốn sách của Rumelhart, Hinton và Williams (1986). Tuy nhiên gần đây một số ý tưởng tương tự cũng được một số nhà ngiên cứu phát triển bao gồm Werbos (1974) và Parker (1985).
Cần nói thêm rằng giải thuật lan truyền ngược được sử dụng trong mạng neural có ý nghĩa rất lớn. Ví dụ như, kiến trúc của mạng perceptron nhiều tầng cũng thường được gọi là mạng lan truyền ngược. Khái niệm lan truyền ngược cũng thường được sử dụng để mô tả quá trình huấn luyện của mạng perceptron nhiều tầng sử dụng phương pháp gradient descent áp dụng trên hàm lỗi dạng sai số trung bình bình phương. Để làm rõ hơn về thuật ngữ này chúng ta cần xem xét quá trình luyện mạng một cách kĩ càng. Phần lớn các giải thuật luyện mạng đều liên quan đến một thủ tục được lặp đi lặp lại nhằm làm tối thiểu hàm lỗi, bằng cách điều chỉnh trọng số trong một chuỗi các bước.
Tại mối bước như vậy, chúng ta có thể chia thành hai bước phân biệt.
Tại bước thứ nhất, cần phải tính đạo hàm hàm lỗi theo các trọng số. Chúng ta đã biết rằng một đóng góp rất quan trọng của kĩ thuật lan truyền ngược đó là việc cung cấp một phương pháp hết sức hiệu quả về mặt tính toán trong việc đánh giá các đạo hàm. Vì tại bước này lỗi sẽ được lan truyền ngược trở lại mạng nên chúng ta sẽ sử dụng khái niệm lan truyền ngược để
Các file đính kèm theo tài liệu này:
- DAN057.doc