Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

18 3.8K 6
Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ----------o0o---------- BÀI TẬP LỚN MÔN Lý Thuyết Nhận Dạng Đề Tài: Tìm Hiểu Quy Tắc Huấn Luyện Của Hebb Để Huấn Luyện Mạng Một Lớp Cài Đặt Nhận Dạng Chữ Số Giáo viên hướng dẫn: Th.S. Trần Hùng Cường Nhóm Sinh viên: Nhóm 3 1. Nguyễn Đăng Khoa 2. Phạm Huy Bộ 3. Phạm Văn Duy 4. Vũ Thanh Tùng Lớp: KHMT2 Khoá: 3 Hà nội, tháng 6 năm 2011 1 Mục Lục MỞ ĐẦU Kỹ thu ậ t nh ậ n d ạ ng hi ệ n nay đ ang đ ượ c nhi ề u ng ườ i quan tâm, b ở i đ ây là m ộ t ngành khoa h ọ c có r ấ t nhi ề u ứ ng d ụ ng trong khoa h ọ c kỹ thu ậ t, tin h ọ c, sinh h ọ c c ả trong lĩnh v ự c an ninh qu ố c gia. Nó là m ộ t b ộ ph ậ n quan tr ọ ng trong các h ệ 2 th ố ng thông minh; đ ượ c s ử d ụ ng trong vi ệ c dò tìm, x ử lý s ố li ệ u h ỗ tr ợ ra quy ế t đ ị nh,… Nói m ộ t cách t ổ ng quát thì nh ậ n d ạ ng là m ộ t b ộ môn khoa h ọ c có liên quan m ộ t cách h ữ u c ơ đ ế n vi ệ c phân l ớ p, tính toán các độ đ o. Bài toán nh ậ n d ạ ng ký t ự là m ộ t bài toán con trong l ớ p bài toán nh ậ n d ạ ng x ử lý ả nh. Có r ấ t nhi ề u ph ươ ng pháp khác nhau đ ể gi ả i quy ế t bài toán này ph ươ ng pháp áp d ụ ng m ạ ng neuron đ ã mang l ạ i hi ệ u qu ả khá cao. “Nh ậ n d ạ ng ký t ự s ố b ằ ng m ạ ng neuron ” là n ộ i dung đ ề tài. Đ ể nh ậ n d ạ ng các ký t ự s ố nhóm chúng tôi l ự a ch ọ n “ huấn luyện M ạ ng neuron 1 l ớ p ”. M ặ c dù đ ã có nhi ề u c ố g ắ ng trong quá trình th ự c hi ệ n nh ư ng đ ề tài không th ể tránh đ ượ c nh ữ ng thi ế u sót mong s ự góp ý c ủ a th ầ y giáo các ban. Nhóm tôi xin chân thành c ả m ơ n Th ầ y giáo TS.Trần Hùng Cường đã tận tình dạy dỗ hướng dẫn trong suốt thời gian học vừa qua. NỘI DUNG I.Giới thiệu về mạng neuron nhân tạo: 1.Mạng neuron nhân tạo là gì ? Định nghĩa: Mạng nơron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng nơron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học. Nó được tạo lên từ một số lượng lớn các phần tử (gọi là phần tử xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, .) thông qua một quá trình học từ tập các mẫu huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron. Một nơron là một đơn vị xử lý thông tin là thành phần cơ bản của một mạng nơron. Cấu trúc của một nơron được mô tả trên hình 2-2. 3 Hình 2-2: Nơron nhân tạo. Các thành phần cơ bản của một nơron nhân tạo bao gồm: ♦ Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều. ♦ Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí hiệu là w kj . Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng được cập nhật liên tục trong quá trình học mạng. ♦ Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. ♦ Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. ♦ Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng ngưỡng 4 đã cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán kinh nghiệm của người thiết kế mạng. Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra. Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức p u k = ∑ w kj x j y k = f (u k − b k ) trong đó: x 1 , x 2 , ., x p : là các tín hiệu vào; (w k1 , w k2, ., w kp) là các trọng số liên kết của nơron thứ k; u k là hàm tổng; b k là một ngưỡng; f là hàm truyền y k là tín hiệu đầu ra của nơron. Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý ( nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả tới hàm truyền), cho một tín hiệu đầu ra ( là kết quả của hàm truyền). 2. Mô hình mạng neuron sinh học va neuron nhân tạo: 2.1 Mô hình mạng sinh học : Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 10 11 nơron tham gia vào khoảng 10 15 kết nối trên các đường truyền (theo [8]). Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não. Hình 2-1: Cấu trúc của một nơron sinh học điển hình. 5 Mỗi nơron sinh học có 3 thành phần cơ bản: • Các nhánh vào hình cây ( dendrites) • Thân tế bào ( cell body) • Sợi trục ra ( axon) Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse. Liên kết giữa các nơron độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của nơron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ. Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này cho ra một tín hiệu output. Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác. Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não. 2.2 Mô hình mạng neuron: Mặc dù mỗi nơron đơn lẻ có thể thực hiện những chức năng xử lý thông tin nhất định, sức mạnh của tính toán nơron chủ yếu có được nhờ sự kết hợp các nơron trong một kiến trúc thống nhất. Một mạng nơron là một mô hình tính toán được xác định qua các tham số: kiểu nơron (như là các nút nếu ta coi cả mạng nơron là một đồ thị), kiến trúc kết nối (sự tổ chức kết nối giữa các nơron) thuật toán học (thuật toán dùng để học cho mạng). Về bản chất một mạng nơron có chức năng như là một hàm ánh xạ F: X->Y, trong đó X là không gian trạng thái đầu vào (input state space) Y là không gian trạng thái đầu ra (output state space) của mạng. Các mạng chỉ đơn giản là làm nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y ∈ Y thông qua “bộ lọc” (filter) các trọng số. Tức là y = F(x) = s(W, x), trong đó W là ma trận trọng số liên kết. Hoạt động của mạng thường là các tính toán số thực trên các ma trận.  Các mô hình kiểu mạng neuron: Cách thức kết nối các nơron trong mạng xác định kiến trúc (topology) của mạng. Các nơron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗi nơron đều được kết nối với tất cả các nơron khác, hoặc kết nối cục bộ (partially connected) chẳng hạn chỉ kết nối giữa các nơron trong các tầng khác nhau. Người ta chia ra hai loại kiến trúc mạng chính:  Tự kết hợp (autoassociative): là mạng có các nơron đầu vào cũng là các nơron đầu ra. Mạng Hopfield là một kiểu mạng tự kết hợp. 6 Hình 1: Mạng tự kết hợp.  Kết hợp khác kiểu (heteroassociative): là mạng có tập nơron đầu vào đầu ra riêng biệt. Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron), mạng Kohonen, …thuộc loại này. Hình 2: Mạng kết hợp khác kiểu. Ngoài ra tùy thuộc vào mạng có các kết nối ngược (feedback connections) từ các nơron đầu ra tới các nơron đầu vào hay không, người ta chia ra làm 2 loại kiến trúc mạng.  Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có các kết nối ngược trở lại từ các nơron đầu ra về các nơron đầu vào; mạng không lưu lại các giá trị output trước các trạng thái kích hoạt của nơron. Các mạng nơron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó. Các mạng kiểu Perceptron là mạng truyền thẳng. 7 Hình 3: Mạng truyền thẳng.  Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kết nối từ nơron đầu ra tới nơron đầu vào. Mạng lưu lại các trạng thái trước đó, trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó của mạng. Mạng Hopfield thuộc loại này. Hình 4: Mạng phản hồi. 3.Perceptron: Perceptron là mạng nơron đơn giản nhất, nó chỉ gồm một nơron, nhận đầu vào là vector có các thành phần là các số thực đầu ra là một trong hai giá trị +1 hoặc -1. 8 Hình 5: Perceptron. Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng hàm Hard-limit làm hàm truyền) kết quả của hàm truyền sẽ là đầu ra của mạng. Hoạt động của Perceptron có thể được mô tả bởi cặp công thức sau : ii n i wxU ∑ = = 1 y = f(u - b) = Hardlimit(u - b). y nhận giá trị +1 nếu u - b>0, ngược lại y nhận giá trị -1. Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thể phân chia tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng). Nó cũng phân loại đúng đầu ra các hàm AND, OR các hàm có dạng đúng khi n trong m đầu vào củađúng (n ≤ m). Nó không thể phân loại được đầu ra của hàm XOR. II.Tìm hiểu qui tắc Hebb: Chúng ta có thể giải thích các định lý toán học của Hebb như thế nào,để mà chúng ta có thể sử dụngđể huấn luyện ma trận trọng số của các liên kết tuyến tính.Đầu tiên chúng ta nói lại định lý: nếu cả 2 neurons trên cả cạnh của 1 khớp được kích hoạt một cách đồng thời thì sức mạnh của khớp được tăng lên.Chú ý từ Eq(7.2) kết nối giữa đầu vào p j đầu ra ai là trọng số w ij .Do đó các định luật của Hebb có nghĩa là nếu a dương p j sinh ra a dương ai sau đó w ij nên tăng lên.Điều này gợi ý rằng một sự giải thích toán học của định luật có thể là: Luật Hebb : W ij new = w ij old + αf i (a iq )g j (p jq ) (7.4) Nơi mà p jq là thành phần thứ j của vector đầu vào thứ q, a iq là thành phần thứ i của mạng đầu ra khi vector đầu vào thứ q được thể hiện trong mạng α là hằng số a dương, được gọi là tỉ lệ học.Sự bằng nhau này nói rằng thay đổi trong trọng số w ij là tỷ lệ thuận với một sản 9 phẩm của các hàm kích hoạt trên cả cạnh của khớp.Đối với chương này chúng ta sẽ đơn giản hóa biểu thức 7.4 thành dạng dưới đây: W ij new = w ij old + αa iq p jq (7.5) Chú ý rằng biểu hiện này thực ra kế thừa từ định luật của Hebb ngoài các giải thích ngiêm ngặt của nó.Sự thay đổi trong trọng số tương đương với một sản phẩm của hoạt động trên cả cạnh của khớp.Do đó chúng ta không chỉ làm tăng trọng số khi cả p j a i là dương mà chúng ta còn tăng trọng số khi cả 2 chung đều âm.Thêm vào đó, sự thực thi của luật Hebb sẽ giảm trọng số bất cứ khi nào p j a i là trái dấu nhau. Luật Hebb được định nghĩa ở biểu thức 7.5 là một luật học không được giám sát.Nó không đòi hỏi bất kỳ thông tin liên quan nào tới mục tiêu đầu ra.Trong chương này chúng ta quan tâm đến việc sử dụng luật Hebb cho việc học có giám sát trong đó mục tiêu đầu ra thì đã được biết cho mỗi vector đầu vào.Đối với luật Hebb có giám sát, chúng ta thay thế mỗi đầu ra đối với mỗi đầu ra thực.Theo cách này, chúng ta nói về thuật toán cáimạng nên làm hơn là cái mà nó đang làm hiện tại.Biểu thức là : W ij new = w ij old + t iq P jq’ (7.6) Nơi mà t iq là thành phần thứ i của vector mục tiêu thứ q t q (để đơn giản, chúng ta đặt tỷ lệ học α là 1.) Chú ý rằng biểu thức 7.6 có thể viết thành ký hiệu vector : W new = w old + t q P q T (7.7) Nếu chúng ta giả sử rằng ma trận trọng số đã được khởi tạo là 0 sau đó mỗi cặp đầu ra/ đầu vào Q được áp dụng biểu thức 7.7 một lần, chúng ta có thể viết: W = t 1 P 1 T + t 2 P 2 T + …. T Q P Q T = ∑ Q q=1 t q P q T (7.8) Điều này có thể được thể hiện trong dạng ma trận: W = [t 1 t 2 t…t Q ] (7.9) Trong đó : T = [t 1 t 2 t…t Q ] ; Q = [p 1 p 2 …p Q ] (7.10) Phân tích thực hiện : Hãy phân tích sự thể hiện của việc học Hebbian đối với các liên kết tuyến tính.Đầu tiên coi như trường hợp nơi mà vector P q là trực giao(trực giao chiều dài đơn vị). Nếu P k là đầu vào của mạng thì đầu ra có thể được tính toán như sau: (7.11) Khi P q là trực giao: 10 . TẬP LỚN MÔN Lý Thuyết Nhận Dạng Đề Tài: Tìm Hiểu Quy Tắc Huấn Luyện Của Hebb Để Huấn Luyện Mạng Một Lớp Và Cài Đặt Nhận Dạng Chữ Số Giáo viên hướng dẫn:. trọng số của chúng ta trở thành: 12 (7.21) Vì vậy .chúng ta sử dụng 2 mô hình nguyên mẫu: III .Cài đặt ứng dụng nhận dạng chữ số 1.Yờu cầu bài toán ứng dụng

Ngày đăng: 30/11/2013, 14:03

Hình ảnh liên quan

Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng  mẫu,  phân  loại  dữ liệu,...)  thông  qua  một quá trình  học   từ tập  các  mẫu huấn  luyện - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

t.

mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu,...) thông qua một quá trình học từ tập các mẫu huấn luyện Xem tại trang 3 của tài liệu.
2. Mô hình mạng neuron sinh học va neuron nhân tạo: 2.1 Mô hình mạng sinh học : - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

2..

Mô hình mạng neuron sinh học va neuron nhân tạo: 2.1 Mô hình mạng sinh học : Xem tại trang 5 của tài liệu.
Hình 1: Mạng tự kết hợp. - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Hình 1.

Mạng tự kết hợp Xem tại trang 7 của tài liệu.
Hình 2: Mạng kết hợp khác kiểu. - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Hình 2.

Mạng kết hợp khác kiểu Xem tại trang 7 của tài liệu.
Hình 3: Mạng truyền thẳng. - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Hình 3.

Mạng truyền thẳng Xem tại trang 8 của tài liệu.
Hình 4: Mạng phản hồi. - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Hình 4.

Mạng phản hồi Xem tại trang 8 của tài liệu.
Hình 5: Perceptron. - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

Hình 5.

Perceptron Xem tại trang 9 của tài liệu.
III.Cài đặt ứng dụng nhận dạng chữ số 1.Yờu cầu bài toán ứng dụng - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

i.

đặt ứng dụng nhận dạng chữ số 1.Yờu cầu bài toán ứng dụng Xem tại trang 13 của tài liệu.
Vì vậy .chúng ta sử dụng 2 mô hình nguyên mẫu: - Tìm hiểu quy tắc huấn luyện của hebb để huấn luyện mạng một lớp và cài đặt ứng dụng nhận dạng chữ số

v.

ậy .chúng ta sử dụng 2 mô hình nguyên mẫu: Xem tại trang 13 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan