1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN văn THẠC sĩ) mạng hopfield và ứng dụng trong nhận dạng hình ảnh

65 6 0

Đ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

Thông tin cơ bản

Tiêu đề Mạng Hopfield và Ứng Dụng Trong Nhận Dạng Hình Ảnh
Tác giả Hoàng Chí Thành
Người hướng dẫn TS. Vũ Vinh Quang
Trường học Đại học Thái Nguyên
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2016
Thành phố Thái Nguyên
Định dạng
Số trang 65
Dung lượng 1,76 MB

Cấu trúc

  • CHƯƠNG I MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG ẢNH (10)
    • 1.1 Không gian biểu diễn đối tượng (10)
    • 1.2 Không gian diễn dịch (11)
    • 1.3 Mô hình và bản chất quá trình nhận dạng (11)
      • 1.3.1 Mô hình (11)
      • 1.3.2 Bản chất của quá trình nhận dạng (13)
    • 1.4 Nhận dạng ảnh (15)
      • 1.4.1 Nhận dạng dựa trên phân hoạch không gian (16)
      • 1.4.2 Nhận dạng dựa theo cấu trúc (17)
      • 1.4.3 Nhận dạng dựa vào kỹ thuật mạng neural (19)
  • CHƯƠNG II CƠ SỞ LÝ THUYẾT VỀ MẠNG NEURAL (20)
    • 2.1 Giới thiệu chung về mạng Neural (20)
      • 2.1.1 Quá trình phát triển (20)
      • 2.1.2 Cấu trúc mạng neural nhân tạo (22)
      • 2.1.3 Cấu trúc mạng Neural sinh học (23)
    • 2.2 Khái niệm cơ bản (27)
      • 2.2.1 Neural nhân tạo và mạng Neural nhân tạo (27)
      • 2.2.2 Khái niệm mạng Hopfield (31)
    • 2.3 Phân loại mạng Hopfield (32)
    • 2.4 Mạng Hopfield rời rạc (35)
    • 2.5 Mạng Hopfield liên tục (36)
    • 2.6 Một số đặc điểm của mạng Hopfield (39)
    • 2.8 Khả năng nhớ mẫu của mạng Hopfield (39)
    • 2.9 Ưu, nhược điểm của mạng Hopfield (41)
      • 2.9.1 Ưu điểm của mạng Hopfield (41)
      • 2.9.2 Nhược điểm của mạng Hopfield (41)
    • CHƯƠNG 3 ỨNG DỤNG MẠNG HOPFIELDTRONG BÀI TOÁN NHẬN DẠNG HÌNH ẢNH (42)
      • 3.1 Mô tả hệ thống nhận dạng dựa trên mạng Hopfield (42)
        • 3.1.1 Mạng Hopfield với bài toán tối ưu (42)
        • 3.1.2 Các bước thành lập mạng Hopfield (43)
      • 3.2 Mạng Hopfield với bài toán nhận dạng hình ảnh (44)
        • 3.2.1 Bài toán về nhận dạng hình ảnh (44)
        • 3.2.2 Mạng Hopfield trong nhận dạng hình ảnh (44)
        • 3.2.3 Huấn luyện mạng Hopfield (46)
        • 3.2.4 Thuật toán mạng Neural Hopfield trong bài toán nhận dạng hình ảnh (47)
      • 3.3 Ứng dụng mạng Hopfield trong nhận dạng ảnh (48)
      • 3.4 Đánh giá kết quả nghiên cứu ứng dụng mạng Hopfield trong nhận dạng ảnh (56)
        • 3.4.1 Mục tiêu của chương trình (56)
        • 3.4.2. Demo và hình ảnh (57)
        • 3.4.3 Đánh giá kết quả (62)
  • TÀI LIỆU THAM KHẢO (64)

Nội dung

MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG ẢNH

Không gian biểu diễn đối tượng

Các đối tượng quan sát thường được biểu diễn qua tập hợp các đặc trưng Trong xử lý ảnh, sau khi tăng cường chất lượng và phân vùng, ảnh sẽ được biểu diễn bởi các đặc trưng như biên và miền đồng nhất Các đặc trưng này thường được phân loại thành đặc trưng tô pô, đặc trưng hình học và đặc trưng chức năng, tùy thuộc vào ứng dụng cụ thể Chúng ta có thể hình thức hóa việc biểu diễn đối tượng X (như ảnh, chữ viết, dấu vân tay, ) bằng n thành phần: X = {x1, x2, , xn}, trong đó mỗi xi là một đặc tính Không gian biểu diễn đối tượng, được gọi là không gian đối tượng X, là khái niệm quan trọng trong việc xác định cách thức biểu diễn.

Tập hợp X = {X1, X2, , Xm} đại diện cho các đối tượng, trong đó mỗi Xi là một đối tượng cụ thể Không gian này có thể là vô hạn, nhưng để thuận tiện trong việc phân tích, chúng ta chỉ xem xét tập X là hữu hạn.

Không gian diễn dịch

Không gian diễn dịch bao gồm các tên gọi của đối tượng Khi quá trình nhận dạng hoàn tất, chúng ta có thể xác định tên gọi cho các đối tượng trong tập không gian đối tượng, nghĩa là chúng ta đã nhận diện thành công các đối tượng.

 là tập tên đối tượng:

= {w1, w2, ,wk} với wi, i = 1, 2, , k là tên các đối tượng

Quá trình nhận dạng đối tượng f được định nghĩa là một ánh xạ f: X -> , trong đó f bao gồm các quy luật nhằm xác định một phần tử trong tập X tương ứng với một phần tử trong tập  Khi tập quy luật và tên các đối tượng đã được biết trước, quá trình này tương tự như nhận dạng chữ viết.

Nhận dạng có thầy bao gồm 26 lớp từ A đến Z, trong khi nhận dạng không có thầy thường gặp nhiều khó khăn hơn.

Mô hình và bản chất quá trình nhận dạng

Việc lựa chọn quy trình nhận dạng phụ thuộc chặt chẽ vào kiểu mô tả được sử dụng để xác định đối tượng Trong lĩnh vực nhận dạng, có hai nhóm chính được phân loại.

- Họ mô tả theo tham số

- Họ mô tả theo cấu trúc

Cách mô tả đối tượng sẽ quyết định loại mô hình sử dụng, bao gồm hai loại chính: mô hình theo tham số và mô hình cấu trúc.

Sử dụng véc tơ để mô tả đối tượng giúp mỗi phần tử của véc tơ thể hiện các hàm cơ sở trực giao Nhờ đó, ảnh được biểu diễn dưới dạng chuỗi các hàm trực giao Giả sử C là đường bao của ảnh, với C(i,j) là điểm thứ i trên đường bao, trong đó i = 1, 2, , N, với N là tổng số điểm trên đường bao.

Giả sử tiếp: x0 = xi y0 = yi là toạ độ tâm điểm Như vậy, moment trung tâm bậc p, q của đường bao là:

Véc tơ tham số trong bài viết này bao gồm các moment ij với i=1, 2, , p và j=1, 2, , q Trong số các đặc trưng hình học, chu tuyến, đường bao, diện tích và tỉ lệ T = 4S/p^2 (với S là diện tích và p là chu tuyến) thường được sử dụng.

Việc chọn phương pháp biểu diễn phù hợp sẽ giúp đơn giản hóa quá trình xây dựng Tuy nhiên, lựa chọn các đặc trưng cụ thể lại hoàn toàn phụ thuộc vào mục đích ứng dụng.

Mô hình này tiếp cận việc mô tả đối tượng thông qua các khái niệm trong ngôn ngữ tự nhiên, sử dụng các dạng nguyên thuỷ như đoạn thẳng và cung Ví dụ, hình chữ nhật được định nghĩa bằng 4 đoạn thẳng vuông góc với nhau Trong mô hình, có bộ kí hiệu kết thúc Vt và bộ kí hiệu không kết thúc Vn, cùng với một tập các luật sản xuất để mô tả cách xây dựng các đối tượng dựa trên những khái niệm cơ sở này.

Trong tiếp cận này, chúng ta xem xét đối tượng đơn giản hơn hoặc nguyên thủy, với giả định rằng cấu trúc của một dạng là kết quả của việc áp dụng luật sản xuất theo những nguyên tắc nhất định, bắt đầu từ một dạng gốc Mô hình này có thể được coi như một văn phạm.

- Vt là bộ ký hiệu kết thúc

- Vn là bộ ký hiệu không kết thúc

- S là dạng (ký hiệu bắt đầu)

Ví dụ về đối tượng nhà bao gồm mái và tường Mái nhà có hình dạng tam giác với ba cạnh là ba đoạn thẳng, trong khi tường được hình thành bởi hình chữ nhật với bốn cạnh vuông góc Cấu trúc mô tả này có thể được thể hiện thông qua ngữ pháp sinh, như minh họa trong hình dưới đây.

Hình 1.1 Mô hình cấu trúc của đối tượng nhà

1.3.2 Bản chất của quá trình nhận dạng

Quá trình nhận dạng gồm 3 giai đoạn chính:

- Lựa chọn mô hình biểu diễn đối tượng

- Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học

Khi đã xác định mô hình biểu diễn đối tượng, cho dù là định lượng hay định tính, quá trình nhận dạng sẽ chuyển sang giai đoạn học Giai đoạn học này rất quan trọng, vì nó giúp cải thiện và điều chỉnh việc phân loại tập đối tượng thành các lớp chính xác hơn.

Nhận dạng là quá trình tìm kiếm các quy luật và thuật toán nhằm phân loại đối tượng vào một lớp cụ thể, hay nói cách khác, gán tên cho đối tượng đó.

 Học có thầy (supervised learning)

Kỹ thuật phân loại dựa trên kiến thức có sẵn được gọi là học có thầy, trong đó người dùng có một thư viện các mẫu chuẩn để so sánh Khi nhận dạng một đối tượng, như cánh đồng lúa hay rừng trong ảnh viễn thám, hệ thống sẽ đối chiếu với các mẫu chuẩn đã được mô tả Mục tiêu chính là thiết kế một hệ thống có khả năng so sánh và phân loại đối tượng trong ảnh, bằng cách sử dụng các thủ tục ra quyết định thông qua hàm phân lớp hoặc hàm ra quyết định.

 Học không có thầy (non supervised learning)

Kỹ thuật học không có thầy yêu cầu tự xác định các lớp khác nhau và các tham số đặc trưng cho từng lớp, điều này làm cho quá trình học trở nên khó khăn hơn Một thách thức lớn là số lượng lớp và đặc trưng của chúng không được biết trước Kỹ thuật này tập trung vào việc thực hiện các phương pháp gộp nhóm khác nhau để tìm ra cách tốt nhất Bắt đầu từ tập dữ liệu, nhiều thủ tục xử lý được áp dụng nhằm phân lớp và dần dần cải thiện để đạt được một phương án phân loại hiệu quả.

Nhìn chung, dù là mô hình nào và kỹ thuật nhận dạng ra sao, một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau:

Hình 1.2 Sơ đồ tổng quát một hệ nhận dạng.

Nhận dạng ảnh

Nhận dạng ảnh là bước cuối cùng trong các hệ thống xử lý ảnh, dựa trên lý thuyết nhận dạng đã được thảo luận trong nhiều tài liệu chuyên ngành Trong lĩnh vực nhận dạng, có ba phương pháp tiếp cận chính đối với nhận dạng ảnh.

- Nhận dạng dựa vào phân hoạch không gian.

- Nhận dạng dựa vào cấu trúc.

- Nhận dạng dựa vào kỹ thuật mạng neural.

Nhận dạng ảnh là quá trình phân loại các đối tượng trong hình ảnh dựa trên một mô hình cụ thể và gán cho chúng một tên gọi, tức là xác định dạng của từng đối tượng.

Nhận dạng ảnh là quá trình mô tả các đối tượng mà người dùng muốn xác định, thường diễn ra sau khi đã trích xuất các đặc tính chính của chúng Có hai kiểu mô tả đối tượng trong quá trình này.

- Mô tả tham số (nhận dạng theo tham số)

Trích chọn đặc điểm biểu diễn đối tượng Phân lớp ra quyết định Đánh giá

Khối nhận dạng Quá trình tiền xử lý

Kỹ thuật nhận dạng đã được áp dụng thành công cho nhiều đối tượng khác nhau, bao gồm nhận dạng ảnh vân tay, khuôn mặt và chữ viết, như chữ cái, chữ số và chữ có dấu.

Nhận dạng chữ in hoặc đánh máy là công nghệ quan trọng giúp tự động hóa quá trình đọc tài liệu, từ đó nâng cao tốc độ và chất lượng thu nhận thông tin từ máy tính.

Nhận dạng chữ viết tay (với mức độ ràng buộc khác nhau về cách viết, kiểu chữ, ) phục vụ cho nhiều lĩnh vực

Nếu bạn đang sở hữu nhiều tài liệu giấy như sách, báo, tờ rơi quảng cáo hay hợp đồng, máy quét chỉ có khả năng chuyển đổi chúng thành định dạng ảnh Tuy nhiên, với các tài liệu ở định dạng ảnh, bạn không thể chỉnh sửa chúng trên các phần mềm soạn thảo và các công cụ tìm kiếm cũng không thể truy xuất văn bản trong những tài liệu này Sử dụng chương trình nhận dạng văn bản sẽ giúp bạn chuyển đổi các tài liệu ảnh thành file có thể biên dịch sang các định dạng như doc hay text, giúp dễ dàng chỉnh sửa và tìm kiếm.

1.4.1 Nhận dạng dựa trên phân hoạch không gian

Trong kỹ thuật nhận dạng đối tượng định lượng, mỗi đối tượng được thể hiện bằng một véctơ nhiều chiều Bài viết sẽ khám phá các khái niệm cơ bản như phân hoạch không gian và hàm phân biệt, trước khi đi sâu vào một số kỹ thuật cụ thể liên quan.

Giả sử không gian đối tượng X được định nghĩa: X = {Xi, i=1, 2, …,m},

Xi là một véctơ Người ta nói p là một phân hoạch không gian X thành các lớp

Trong lý tưởng, tập X có thể tách biệt hoàn toàn, nhưng trong thực tế, không gian biểu diễn thường chỉ tách được từng phần Do đó, việc phân loại dựa trên việc xây dựng ánh xạ f: X -> p Công cụ để xây dựng ánh xạ này chính là các hàm phân biệt (Discriminant functions).

Để phân chia đối tượng thành các lớp, trước tiên cần xác định số lượng lớp và ranh giới giữa chúng Các hàm phân lớp, hay còn gọi là hàm tách biệt, được ký hiệu là {gi} và được định nghĩa để thực hiện nhiệm vụ này.

Nếu ∀i ≠k, gk (X) > gi (X) thì ra quyết định X ∈lớp k

Để phân biệt k lớp, ta cần k-1 hàm phân biệt Hàm phân biệt g(.) thường được sử dụng trong thực tế do tính đơn giản và dễ xử lý, với dạng hàm tuyến tính Cụ thể, hàm tuyến tính được biểu diễn dưới dạng: g(X) = W0 + W1X1 + W2X2 + … + WkXk.

-Wi là trọng số gán cho các thành phần Xi;

Phân lớp dựa trên khoảng cách là một công cụ hiệu quả để xác định sự tương đồng giữa các đối tượng dựa trên một đặc trưng cụ thể Khi khoảng cách giữa hai đối tượng nhỏ hơn một ngưỡng nhất định, chúng được coi là giống nhau và sẽ được gộp lại Ngược lại, nếu chúng khác nhau, chúng sẽ được phân tách thành hai hoặc nhiều lớp khác nhau.

Phân lớp dựa trên xác suất có điều kiện là một phương pháp hiệu quả để phân loại đối tượng Lý thuyết xác suất có điều kiện, được nghiên cứu kỹ lưỡng bởi Bayes, giúp xác định và phân biệt các đối tượng dựa vào thông tin có sẵn.

1.4.2 Nhận dạng dựa theo cấu trúc

Ngoài phương pháp biểu diễn định lượng theo tham số, còn có nhiều kiểu đối tượng mạng tính định tính dựa trên cấu trúc Phương pháp nhận dạng logic sử dụng hàm phân biệt Bool, cho phép nhận diện các từ có cùng độ dài.

Giả sử hàm phân biệt cho các ký hiệu như ga(X), gb(X) tương ứng với các ký hiệu a, b Ví dụ, từ 'abcd' có thể được biểu diễn bởi dãy ký tự X = {x1, x2, x3, x4}, và hàm phân biệt tương ứng sẽ nhận được giá trị tương ứng với các ký hiệu này.

Thủ tục phân loại và nhận dạng ở đây gồm hai giai đoạn:

- Giai đoạn 1: xác định các quy tắc xây dựng, tương đương với việc nghiên cứu một văn phạm trong một ngôn ngữ chính thống

Giai đoạn 2 là quá trình xem xét xem liệu tập các dạng trong không gian mẫu có được sinh ra hoàn toàn từ các dạng cơ bản hay không Nếu các dạng này thuộc về tập đã xác định, thì coi như việc phân loại đã hoàn tất.

CƠ SỞ LÝ THUYẾT VỀ MẠNG NEURAL

Giới thiệu chung về mạng Neural

Mạng neural nhân tạo, ra đời từ những năm 1940, được phát triển nhằm mô phỏng một số chức năng của bộ não con người Dựa trên quan điểm rằng bộ não là bộ điều khiển, mạng neural nhân tạo được thiết kế tương tự như neural sinh học, cho phép giải quyết nhiều bài toán phức tạp như tối ưu hóa, điều khiển và công nghệ robot.

Nghiên cứu về mạng neural nhân tạo người ta chia quá trình phát triển của nó làm bốn giai đoạn cơ bản sau:

Giai đoạn một của mạng neural bắt đầu từ nghiên cứu của William vào năm 1890 về tâm lý và sự liên kết của các neural thần kinh Đến năm 1940, Meculloch và Pitts đã mô hình hóa neural như thiết bị ngưỡng để thực hiện phép biến đổi logic, dẫn đến sự ra đời của mô hình mạng neural Culloch-Pitts Năm 1943, giải thuật huấn luyện mạng đầu tiên của Hebb được công bố, đánh dấu bước tiến quan trọng trong lĩnh vực này.

Giai đoạn hai của sự phát triển mô hình neural bắt đầu vào năm 1960 với sự ra đời của các mô hình tiên tiến như Perceptron của Rosenblatt năm 1958 và Adaline của Widrow năm 1962 Trong đó, mô hình Adaline nổi bật với khả năng tự điều chỉnh và tính chất tuyến tính, được ứng dụng rộng rãi trong các lĩnh vực thích nghi và tách nhiễu, và vẫn tiếp tục phát triển cho đến ngày nay.

Giai đoạn ba, bắt đầu từ năm 1980, được xem là thời kỳ đột phá với những đóng góp quan trọng từ các nhà nghiên cứu như Grossberg, Kohnem, Rumelhart và Hopfield.

Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John

Hopfield đã sử dụng phân tích toán học để làm rõ cách hoạt động của mạng neural và khả năng thực hiện các nhiệm vụ của chúng Ông đã dự đoán những khả năng tính toán mà mạng neural có thể đạt được, điều mà các mô hình trước đây không thể làm Cống hiến của Hopfield không chỉ nằm ở giá trị nghiên cứu khoa học mà còn trong việc khơi dậy sự quan tâm trở lại đối với nghiên cứu mạng neural.

Sáng kiến Hopfield, được phát triển bởi Rumelhart, Hinton và Wiliam, đã dẫn đến việc ra đời thuật toán sai số truyền ngược, nổi tiếng trong việc huấn luyện mạng neural nhiều lớp để giải quyết các bài toán đặc thù Bên cạnh đó, mạng Neocognition của Fukushima và mạng Boltzmann cũng đã được giới thiệu, đóng góp vào sự phát triển của trí tuệ nhân tạo.

+ Giai đoạn bốn: Giai đoạn này được tính từ năm1987 đến nay

Vào năm 1987, hội thảo quốc tế đầu tiên về mạng neural do Viện các kỹ sư điện và điện tử IEEE tổ chức đã thu hút sự tham gia của hơn 1800 người.

Hàng năm, hội nghị quốc tế IJCNN (International Joint Conference on Neural Networks) được tổ chức, tập trung vào chuyên ngành mạng neural Mạng neural hiện đang được áp dụng rộng rãi trong nhiều lĩnh vực, bao gồm y học, thống kê, giao thông, hóa học, kỹ thuật tính toán, tối ưu hóa và quân sự.

2.1.2 Cấu trúc mạng neural nhân tạo

Mạng neural nhân tạo (Artificial Neural Network) được cấu thành từ việc kết nối các neuron với nhau, tổ chức thành các lớp Đầu ra của mỗi neuron sẽ được liên kết với đầu vào của một số neuron trong các lớp khác, theo một cấu trúc phù hợp.

Xét một cách tổng quát, mạng neural nhân tạo có cấu trúc xử lý song song thông tin phân tán mang một số đặc tính nổi bật sau:

- Là mô hình toán học dựa trên bản chất của neural

- Bao gồm một số lượng rất lớn các neural liên kết với nhau

- Mạng neural có khả năng học, khái quát hóa tập dữ liệu thông qua việc gán và hiệu chỉnh các trọng số liên kết

- Tổ chức theo kiểu tập hợp mang lại cho mạng neural khả năng tính toán rất lớn, trong đó không có neural nào mang thông tin riêng biệt

Mạng neural nhân tạo bao gồm ba loại lớp chính: lớp vào (input layer), lớp ra (output layer) và các lớp ẩn (hidden layer) Trong cấu trúc của mạng neural, các neuron trong một lớp chỉ kết nối với các neuron ở lớp khác mà không có sự liên kết giữa các neuron trong cùng một lớp.

Hình 2.1 Cấu trúc mạng neural

Hoạt động của mạng neural có thể mô tả sơ lược như sau:

Lớp vào nhận thông tin từ dữ liệu gốc và truyền tải tín hiệu đến các lớp ẩn tiếp theo Mỗi nút trong lớp vào sẽ tiếp nhận tín hiệu từ một hoặc nhiều nút khác, và dữ liệu này được xử lý bên trong các nút của mạng neural thông qua các hệ số cùng với các hàm đầu vào và đầu ra Tín hiệu đầu ra từ mỗi nút sẽ trở thành đầu vào cho lớp tiếp theo, và quá trình này tiếp tục cho đến khi tín hiệu được phát ra từ các nút lớp ra, tạo thành giá trị cuối cùng mà mạng cần tìm.

Mặc dù mạng neural nhân tạo được phát triển dựa trên mô hình giả lập mạng neural sinh học, nhưng chúng vẫn chỉ đạt được mức độ đơn giản so với sự phức tạp của bộ não con người, nơi nhiều neural có thể hoạt động song song Thách thức lớn hiện nay là làm tăng độ phức tạp và khả năng tương tác của các neural trong mạng Tuy nhiên, với tốc độ xử lý vượt trội của máy tính hiện đại và sự tiến bộ không ngừng trong khoa học, chúng ta có thể hy vọng vào những đột phá mới trong lĩnh vực mô phỏng mạng neural sinh học.

2.1.3 Cấu trúc mạng Neural sinh học

Não là một tổ chức vật chất cao cấp với cấu trúc phức tạp, chứa đựng nhiều mối liên kết giữa các tế bào thần kinh, cho phép xử lý thông tin một cách linh hoạt trong môi trường không chắc chắn.

Bộ não chứa khoảng 10^11 đến 10^12 nơ-ron, mỗi nơ-ron có khả năng kết nối với khoảng 10^4 nơ-ron khác thông qua các khớp nối Những tín hiệu kích hoạt hoặc ức chế được truyền qua trục nơ-ron (axon) đến các nơ-ron lân cận.

Phát hiện quan trọng trong nghiên cứu bộ não cho thấy các liên kết khớp thần kinh có tính linh hoạt cao, có khả năng thay đổi và điều chỉnh theo thời gian Những kết nối này không chỉ hình thành với các neuron khác mà còn có thể di chuyển giữa các vùng khác nhau trong não Các nhà khoa học tin rằng điều này là nền tảng để hiểu rõ hơn về cơ chế học tập của bộ não con người.

Khái niệm cơ bản

2.2.1 Neural nhân tạo và mạng Neural nhân tạo

Các neural nhân tạo là phiên bản rút gọn của neural sinh học, được xây dựng thông qua chương trình máy tính hoặc mạch phần cứng Mỗi neural thực hiện hai chức năng chính: chức năng đầu vào và chức năng đầu ra, và có thể được xem như một đơn vị xử lý (processing element: PE) Đặc điểm nổi bật của neural là hàm kích hoạt phi tuyến, chuyển đổi tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra.

Mô hình của một nút xử lý (nút thứ i):

Hình 2.3 Mô hình xử lý của một neuralnhân tạo

Ui là tổng tín hiệu vào tại neural i

Vi là tín hiệu ra tại neural i

W ij là trọng số liên kết từ neural i đến neural j bi là ngưỡng (đầu vào ngoài) kích hoạt neural i f i là hàm kích hoạt tại neural i t là thời gian

Các thành phần cơ bản của một neural 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 neural, các tín hiệu này thường được đưa vào dưới dạng một véc tơ N chiều

Liên kết neural là thành phần quan trọng trong mạng neural nhân tạo, kết nối đầu ra của một neural lớp này với đầu vào của một neural lớp khác Mỗi liên kết được thể hiện bằng trọng số, hay còn gọi là trọng số liên kết (Synaptic weight), thường được ký hiệu là w kj cho tín hiệu vào thứ j với neural k Các trọng số này thường được khởi tạo ngẫu nhiên khi mạng được khởi tạo và sẽ được cập nhật liên tục trong quá trình học của 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, hay còn gọi là độ lệch (bias), là một thành phần quan trọng trong hàm kích hoạt Nó có tác dụng điều chỉnh đầu vào của hàm kích hoạt, làm tăng hoặc giảm giá trị đầu vào tùy thuộc vào việc ngưỡng này dương hay âm.

Hàm kích hoạt, hay còn gọi là hàm chuyển giao, đóng vai trò quan trọng trong việc giới hạn phạm vi đầu ra của mỗi nơ-ron trong mạng nơ-ron Hàm này nhận đầu vào từ kết quả của hàm tổng và ngưỡng đã cho, với đầu ra thường nằm trong khoảng [0, 1] hoặc [-1, 1] Có nhiều loại hàm kích hoạt khác nhau, bao gồm cả hàm tuyến tính và phi tuyến Việc lựa chọn hàm kích hoạt phù hợp phụ thuộc vào từng bài toán cụ thể và 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 neural, với mỗi neural sẽ có tối đa là một đầu ra

Một số hàm kích hoạt cơ bản trong mạng neural

Tên hàm Đồ thị Công thức

2.2.1.2 Mạng Neural nhân tạo (ANN - Afiticial Neural NetWork)

Mạng neural nhân tạo là sự kết hợp của các nút (neural) được tổ chức theo các lớp, bao gồm lớp đầu ra (output layer) và các lớp ẩn (hidden layer) Mỗi liên kết giữa các nút có trọng số đặc trưng cho đặc tính kích hoạt và ức chế giữa chúng Những đặc điểm này giúp mạng neural nhân tạo xử lý và phân tích thông tin một cách hiệu quả.

- Mạng được xây dựng bằng các neural liên kết lại với nhau

- Chức năng của mạng được xác định bởi: cấu trúc mạng, quá trình xử lý bên trong của từng neural, và mức độ liên kết giữa các neural

Mức độ liên kết giữa các neuron trong mạng neural được xác định qua quá trình huấn luyện, trong đó các trọng số đóng vai trò như phương tiện lưu trữ thông tin dài hạn Nhiệm vụ chính của quá trình này là cập nhật các trọng số khi nhận được thông tin từ mẫu học.

+ Một số định nghĩa về mạng neural:

Mạng neural là hệ thống bao gồm nhiều phần tử xử lý hoạt động đồng thời, với chức năng được xác định bởi cấu trúc mạng và độ lớn các liên kết giữa các phần tử.

Mạng neural là một hệ thống xử lý song song mạnh mẽ, có khả năng lưu trữ tri thức dựa trên kinh nghiệm và tạo ra tri thức mới từ những gì đã có.

Nó tương tự với bộ não ở hai khía cạnh:

- Tri thức có được thông qua quá trình học.

- Độ lớn liên kết giữa các neural được dùng như một phương tiện lưu trữ thông tin.

Năm 1982, nhà vật lý J.J Hopfield đã giới thiệu mô hình mạng neural một lớp (NN) cho phép ánh xạ dữ liệu từ tín hiệu vào sang tín hiệu ra theo phương pháp tự kết hợp (auto-association), trong đó, nếu tín hiệu vào là X thuộc miền giá trị D, thì kết quả đầu ra sẽ là V.

V = Tinh (X, NN) cũng thuộc vào miền D đó

Nhờ vậy, một véc tơ tín hiệu vào X bị thiếu thông tin hoặc biến dạng có thể được phục hồi dạng nguyên bản của mình

Mạng Hopfield trong ứng dụng đã mô phỏng khả năng tự kết hợp của bộ não con người, cho phép nhận diện người quen thông qua các đặc điểm quen thuộc trên khuôn mặt Bên cạnh đó, với một số cải biên, mạng Hopfield còn được áp dụng để giải quyết các bài toán tối ưu và xử lý dữ liệu trong lĩnh vực điều khiển tự động.

Mạng Neural Hopfield, từ góc độ lý thuyết điều khiển, được coi là một hệ tự trị cần đạt được sự ổn định Để đánh giá tính ổn định của mạng này, cần phân tích các hàm năng lượng liên quan.

Mỗi mô hình mạng Neural có những ưu điểm và nhược điểm riêng, phù hợp với các bài toán cụ thể, đặc biệt là những bài toán thuộc lớp NP và tối ưu tổ hợp Mô hình mạng hồi quy một lớp là một giải pháp hiệu quả để khắc phục nhược điểm của mạng truyền thẳng, đồng thời đáp ứng yêu cầu của các bài toán này Một trong những nghiên cứu nổi bật về mạng hồi quy một lớp là công trình của Hopfield vào những năm 1980, đã chứng minh được nhiều ứng dụng thực tiễn Trong phần này, chúng ta sẽ tìm hiểu về mạng Hopfield.

Mạng hồi quy một lớp là một mô hình trong đó các neuron được tổ chức thành một lớp duy nhất Trong mô hình này, tín hiệu đầu ra của một neuron có thể được truyền ngược lại làm tín hiệu đầu vào cho các neuron khác trong cùng lớp, nhưng không phải cho chính nó.

+ Mạng Hopfield: Mạng Hopfield là mạng thuộc loại mạng hồi quy một lớp- mạng feedback tầng đơn (Single-layer feedback network)

Mạng Hopfield có một lớp ra tương ứng với số tín hiệu vào, với các liên kết neural đầy đủ Quá trình hoạt động của mạng diễn ra theo cách cập nhật tuần tự; đầu tiên, một mẫu đầu vào được cung cấp và đầu ra được khởi tạo Sau khi mẫu khởi tạo bị xóa, đầu ra sẽ được cập nhật thông qua các kết nối phản hồi Quá trình này lặp lại với các đầu vào và đầu ra được cập nhật liên tiếp cho đến khi mạng đạt được trạng thái cân bằng, không còn sự biến đổi nào xảy ra.

Phân loại mạng Hopfield

Mạng Hopfield là một loại mạng nơ-ron đơn lớp, trong đó mỗi nơ-ron kết nối với tất cả các nơ-ron khác Cấu trúc của mạng Hopfield cho phép tín hiệu từ một nơ-ron được truyền ngược lại để làm đầu vào cho các nơ-ron khác, tuy nhiên, các nơ-ron không tự kết nối với chính mình.

Một số sơ đồ thể hiện của mạng Hopfield

Mạng Hopfield chỉ nhận các Input là -1 hay 1 Hàm truyền vào là hàm satlins:

Hình 2.5 Đồ thị hàm satlins

Tín hiệu từ nơ-ron thứ j được truyền ngược lại, cung cấp tín hiệu đầu vào cho các nơ-ron khác trong mạng thông qua các trọng số tương ứng.

• Wij là độ lớn trọng số kết nối từ nút j đến nút i (trọng số của liên kết)

• xi là tín hiệu vào tại nơ-ron i

• yj là trạng thái của nút j

Các liên kết trong mạng Hopfield thường có các ràng buộc sau:

• Wii = 0, i (không có nút nào liên kết với chính nó)

• Wij = Wji i, j (các liên kết là đối xứng)

Ràng buộc trọng số đối xứng thường được áp dụng để đảm bảo hàm năng lượng giảm một cách đơn điệu theo các luật kích hoạt Nếu sử dụng trọng số không đối xứng, mạng có thể xuất hiện hành vi tuần hoàn hoặc hỗn loạn Tuy nhiên, Hopfield chỉ ra rằng hành vi hỗn loạn này chỉ xảy ra ở những phần nhỏ của không gian pha và không ảnh hưởng đến khả năng của mạng trong việc thực hiện vai trò như một hệ thống bộ nhớ có thể đánh địa chỉ nội dung.

Ta định nghĩa hàm năng lượng của mạng là:

Tùy theo phương thức hoạt động của mạng mà người ta phân mạng Hopfield ra thành mạng Hopfield rời rạc và mạng Hopfield liên tục.

Mạng Hopfield rời rạc

Mạng Hopfield rời rạc, hay còn gọi là mạng hồi quy một lớp, là khái niệm liên quan đến việc xử lý dữ liệu theo thời gian rời rạc trong mạng Hopfield.

Mạng Hopfield rời rạc được nghiên cứu từ năm 1982

Với trường hợp mạng nhận các giá trị nhị phân (0, 1)

Hàm kích hoạt được xác định như sau: fi  f(net)

Việc sử dụng hàm kích hoạt trên tương đương với quy tắc chuyển trạng thái của mạng: Vi(t+1) = Vi(t) + ΔVi

Trong đó ΔVi được cho bởi công thức: ΔVi ij j i i ij j i i

Theo định lý 2.4, nếu Wij = 0 (với i = 1, N), thì với quy tắc chuyển trạng thái và cập nhật không đồng bộ, năng lượng của mạng sẽ không tăng, tức là năng lượng có thể giảm hoặc giữ nguyên.

Chứng minh: Giả sử neural k thay đổi thạng thái từ thời điểm t đến thời điểm t+1, khi đó mạng sẽ thay đổi năng lượng và: ΔE = E(t+1)-E(t) = W V (t) - kj j k k j b V

Theo công thức (2.4), ta có ΔE ≤ 0, cho thấy năng lượng của mạng không tăng Điều này dẫn đến hàm năng lượng đạt giá trị cực tiểu.

Do tính chất hội tụ và giá trị nhị phân của các neural nên mạng Hopfield rời rạc được sử dụng rộng rãi trong các bài toán tối ưu {0, 1}.

Mạng Hopfield liên tục

Khái niệm: Mạng Hopfield liên tục là mạng mà trạng thái của nó được mô tả bằng phương trình động học:

Với f i là hàm kích hoạt

Ta cũng giả thiết rằng Wij = Wji và Wii = 0

Vậy với hàm năng lượng là:

Mạng Hopfield liên tục hội tụ theo định lý rằng nếu các hàm fi (Ui) với i = 1, n là khả vi và không giảm, thì điều kiện dE/dt ≤ 0 được thỏa mãn.

Chứng minh: Có công thức: i i i i i i i i i dU dV V

Vì theo giả thiết hàm fi (U i ) là không giảm nếu  0 , i i dU dV do đó  0 dt dE

Hàm kích hoạt thường dùng là hàm Sigmoid:

(2.7) trong đó λ > 0 là tham số xác định độ dốc của hàm

Hàm kích hoạt Sigmoid dẫn đến cực tiểu địa phương của hàm năng lượng tại các giá trị Vi bằng 0 hoặc 1, cho thấy mạng Hopfield thích hợp cho các bài toán tổ hợp {0, 1}.

Hình 2.6 Mô hình mạng Hopfield

Trong một mạng nơ-ron, nếu có m tín hiệu vào, ma trận trọng số W sẽ có kích thước m x m, với W = (wij), trong đó wij là trọng số liên kết giữa nơ-ron thứ j ở lớp vào và nơ-ron thứ i ở lớp ra Các hàng của ma trận tương ứng với nơ-ron ở lớp ra, trong khi các cột tương ứng với nơ-ron ở lớp vào Lưu ý rằng wii = 0 cho thấy không có sự phản hồi, và wij = wji cho biết ảnh hưởng giữa nơ-ron i và nơ-ron j là tương đương Đầu ra của nơ-ron i, được ký hiệu là Vi, cũng chính là trạng thái của nơ-ron đó.

Nguyên tắc cập nhật cho mỗi một neural trong mạng Hopfield là: Đầu vào Đầu ra w 2N x N w 1N w N2 w 12 x 2 w N1 w 21 x 1 v N v2 v1 b N b 2 b 1

Trong đó, sgn() là hàm dấu, k là chỉ số của việc cập nhật đệ quy

Nguyên tắc cập nhật không đồng bộ được áp dụng bằng cách chọn ngẫu nhiên một nút để thực hiện cập nhật tiếp theo, sử dụng các đầu ra vừa được cập nhật Điều này có nghĩa là mỗi đầu ra của nút được cập nhật riêng biệt, dựa trên các giá trị mới nhất Phương pháp này được đề xuất như một hình thức đệ quy ngẫu nhiên không đồng bộ trong mạng Hopfield rời rạc.

Tính ổn định của mạng được mô tả thông qua hàm năng lượng:

Khi hàm năng lượng của mạng Hopfield đạt cực tiểu, mạng sẽ ổn định Bắt đầu từ bất kỳ trạng thái khởi tạo nào, mạng luôn hội tụ về một trạng thái ổn định sau một số bước cập nhật nút hữu hạn Tất cả các trạng thái ổn định đều nằm tại các cực tiểu địa phương của hàm năng lượng E.

Tại mỗi thời điểm t, mỗi neural i tổng hợp các tín hiệu Vj từ những neural khác và tín hiệu từ bên ngoài (bias):

Tùy theo hàm kích hoạt fi mà neural i cho đầu ra là: Vi(t+1) = fi (Vi(t)) Mạng đạt trạng thái cân bằng nếu: Vi(t+1) = Vi(t),i

Tùy theo phương thức hoạt động của mạng neural mà người ta phân chia mạng Hopfield ra thành mạng Hopfield liên tục và mạng Hopfield rời rạc.

Một số đặc điểm của mạng Hopfield

+ Mạng fopfield cho phép tạo ánh xạ tự kết hợp trên các tập dữ liệu + Dữ liệu vào, ra có giá trị lưỡng cực

+ Mạng cho phép phục hồi dữ liệu

+ Khả năng nhớ mẫu phụ thuộc vào số neural của mạng

2.7 Một số ứng dụng của mạng Hopfield

Mạng Hopfield một lần nữa chứng minh tính ưu việt và khả năng giải quyết các bài toán thực tế, đặc biệt trong các lĩnh vực tối ưu tổ hợp, điều khiển và các bài toán NP-đầy đủ Nhiều ứng dụng cụ thể của mạng Hopfield đã được phát triển, cho thấy khả năng vượt trội của mô hình này trong việc giải quyết những thách thức phức tạp.

+ Mạng Hopfield với bài toán bốn mầu

+ Ứng dụng mạng Hopfield trong bài toán phẳng đồ thị hóa

+ Ứng dụng mạng Hopfield trong bài toán lập lịch

+ Mạng Hopfield với lớp các bài toán NP- đầy đủ

+ Ứng dụng mạng Hopfield trong bài toán nhận dạng ảnh

+ Mạng Hopfield ứng dụng trong những bài toán điều khiển

+ Mạng Hopfield ứng dụng cho những bài toán tối ưu.

Khả năng nhớ mẫu của mạng Hopfield

Kết quả thực nghiệm chỉ ra rằng số neural N neural nói chung gấp 7 lần số ảnh mẫu N anh cần phải nhớ (đã khôi phục) trong mạng:

Từ công thức này rút ra hai điều:

Độ phân giải của ảnh phụ thuộc vào số lượng ảnh mẫu cần nhớ Cụ thể, nếu cần ghi nhớ 100 ảnh mẫu, thì số lượng nơ-ron cần thiết là 700, dẫn đến độ phân giải ảnh phải đạt 27 x 27.

Hình 2.7 Thí nghiệm mạng với ảnh nhiễu

Kích thước ma trận trọng số trong mạng Hopfield được tính bằng công thức m² = (N neural)² = 49 (N ảnh)² Để lưu trữ 100 ảnh mẫu, cần đến 490.000 trọng số, với mỗi trọng số chiếm 2 hoặc 4 byte Do đó, tổng dung lượng cần thiết để lưu giữ thông tin về mạng khoảng 1 Mbyte hoặc 2 Mbyte, phản ánh độ phức tạp của mạng Hopfield Để ước lượng chi phí thời gian, chúng ta cần thực hiện các bước tiếp theo.

Mỗi lần lặp để tính toán out (t) từ X (t) yêu cầu khoảng 2 triệu phép nhân và 2 triệu phép cộng Độ phức tạp thời gian của mạng Hopfield ước tính tăng theo bậc hai của kích thước bài toán.

Hệ thức chỉ chính xác khi các mẫu học được phân bố ngẫu nhiên trong không gian mẫu Nếu phân bố hoặc lựa chọn mẫu học được tối ưu, khả năng nhớ mẫu của mạng có thể tăng từ 0,14 mẫu/1 neural lên 0,25 mẫu/1 neural Trong ví dụ đã đề cập, với 4 mẫu (N anh = 4) và N neural = 4 x 4 = 16 neural, khả năng nhớ mẫu đạt được là 4/16 = 0,25.

Ưu, nhược điểm của mạng Hopfield

2.9.1 Ưu điểm của mạng Hopfield

Mạng Neural, đặc biệt là mạng Hopfield, có nhiều ứng dụng quan trọng trong các lĩnh vực như điện - điện tử, kinh tế, quân sự và trí tuệ nhân tạo Chúng thường được sử dụng để giải quyết các bài toán phức tạp với độ chính xác cao, giúp cải thiện hiệu suất và hiệu quả trong nhiều ngành nghề khác nhau.

+ Các hệ thống quân sự

+ Vấn đề lập kế hoạch, điều khiển và tìm kiếm

+ Các hệ thống năng lượng

+ Giải các bài toán nhận dạng hình ảnh: ảnh 2 màu, 4 màu,…

+ Các bài toán tối ưu hóa: Bài toán người bán hàng dong, người đưa thư, bài toán lập lịch, lập thời khóa biểu,…

+ Có thể ứng dụng trong nhiều lĩnh vực: bài toán di truyền trong sinh học, bài toán nhận dạng ảnh trong trí tuệ nhân tạo,…

+ Dễ cài đặt các ứng dụng

2.9.2 Nhược điểm của mạng Hopfield

Tuy nhiên mạng Neural Hopfield có một số nhược điểm:

+ Chương tình chiếm dụng tài nguyên nhiều trong các bài toán nhận dạng ảnh, bài toán NP - C, và một số bài toán tối ưu hóa

+ Khó khăn trong việc tìm ra những thuật toán huấn luyện mạng tối ưu để góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục.

ỨNG DỤNG MẠNG HOPFIELDTRONG BÀI TOÁN NHẬN DẠNG HÌNH ẢNH

Mạng Hopfield, do John Hopfield phát minh, là một mạng neural nhân tạo có cấu trúc định kỳ, hoạt động như hệ thống bộ nhớ để đánh địa chỉ nội dung qua các nút ngưỡng dạng nhị phân Mạng này bao gồm một lớp neural đầu vào và một lớp neural đầu ra, với khả năng hội tụ về một trong các mẫu đã được lưu trữ Tín hiệu ra từ một neural có thể được truyền ngược lại làm tín hiệu đầu vào cho các neural ở các lớp trước hoặc trong cùng một lớp Là một mô hình tiêu biểu thuộc lớp mạng hồi quy, mạng Hopfield có thông tin và quá trình xử lý được kết nối ngược Nghiên cứu về mạng Hopfield đã phát hiện ra nhiều ứng dụng quan trọng, đặc biệt trong bộ nhớ liên kết, bài toán tối ưu, nhận dạng và lý thuyết điều khiển.

3.1 Mô tả hệ thống nhận dạng dựa trên mạng Hopfield

3.1.1 Mạng Hopfield với bài toán tối ưu

Sau công trình nghiên cứu của Hopfield và Tank (1985) mạng Hopfield đã được sử dụng nhiều vào việc giải bài toán tối ưu tổ hợp

Mạng Hopfield đạt trạng thái cân bằng khi hàm năng lượng đạt giá trị cực tiểu Để giải quyết bài toán, ta xây dựng một hàm mục tiêu F đã xử lý các ràng buộc và đặt F = E, trong đó E là hàm năng lượng, nhằm tìm mối liên hệ giữa các biến Điều này làm cho mạng Hopfield trở thành công cụ lý tưởng cho các bài toán tối ưu tổ hợp, đặc biệt là các bài toán NP - đầy đủ như bài toán người đưa hàng và bài toán sánh cặp có trọng số.

Mặc dù vậy nhưng khi áp dụng mạng Hopfield giải các bài toán tối ưu trong thực tế thường tồn tại một số hạn chế sau:

Mạng Hopfield không đảm bảo hội tụ toàn cục, do đó, để khắc phục tình trạng này, người ta đã kết hợp mạng Hopfield với các giải thuật khác như giải thuật di truyền Ngoài ra, việc thêm vào phương trình động học những hằng số leo đồi đặc biệt cũng giúp thay đổi hàm năng lượng của mạng, đưa nó đến trạng thái cao hơn Điều này giúp tránh hội tụ địa phương và hướng tới hội tụ toàn cục.

Việc lựa chọn hệ số cho hàm mục tiêu và hàm ràng buộc nhằm đạt được giải pháp tối ưu là một thách thức không nhỏ, thường dựa vào kinh nghiệm cá nhân Hiện tại, một số phương pháp điều khiển hệ số này đã được phát triển, trong đó có việc áp dụng điều khiển mờ để cải thiện quy trình lựa chọn.

3.1.2 Các bước thành lập mạng Hopfield:

Để sử dụng mạng Hopfield trong việc giải quyết các bài toán tối ưu, cần thực hiện một số bước quan trọng, bắt đầu từ việc ánh xạ bài toán tối ưu lên mạng neural.

+ Bước 1: Lập sơ đồ biểu diễn các đầu ra của mạng sao cho nó có thể giải mã thành nghiệm của bài toán tối ưu

+ Bước 2: Tạo hàm năng lượng sao cho giá trị cực tiểu của nó ứng với nghiệm tốt nhất của bài toán cần ánh xạ

Bước 3: Gán giá trị cho các tham số của hàm năng lượng, điều này giúp xác định trọng số tương đối cho các thành phần khác nhau trong hàm năng lượng.

+ Bước 4: Đưa ra phương trình động học cho các neural

+ Bước 5: Khởi tạo các giá trị đầu vào

Khi áp dụng mạng neural cho các bài toán tối ưu có ràng buộc, cần lưu ý rằng không có phương pháp ánh xạ trực tiếp Do đó, cần bổ sung các thành phần phạt vào hàm mục tiêu để xử lý khi các ràng buộc bị vi phạm Hàm năng lượng sẽ được thể hiện như tổng của hàm mục tiêu và các thành phần phạt này.

3.2 Mạng Hopfield với bài toán nhận dạng hình ảnh

3.2.1 Bài toán về nhận dạng hình ảnh

Nhận dạng hình ảnh, khuôn mặt và ký tự đã trở thành lĩnh vực nghiên cứu quan trọng trong vài thập niên qua Ban đầu, các nghiên cứu chỉ tập trung vào hình ảnh đen trắng và ký tự in, nhưng đã nhanh chóng mở rộng ra với ảnh màu và nhiều góc độ khác nhau Sự phát triển này đánh dấu bước tiến lớn trong công nghệ nhận dạng, góp phần cải thiện độ chính xác và ứng dụng trong thực tiễn.

Ngày nay, hệ thống nhận dạng hình ảnh đang được ứng dụng rộng rãi trong thương mại và an ninh, đặc biệt trong việc phát hiện tội phạm Nhận dạng hình ảnh là quá trình chuyển đổi thông tin từ hình ảnh hoặc camera thành dữ liệu có thể nhận diện Bước đầu tiên của hệ thống là so sánh hình ảnh với mẫu đã được lưu trữ trong cơ sở dữ liệu, bao gồm cả các hình ảnh bị biến dạng Ứng dụng của nhận dạng hình ảnh rất đa dạng, từ nhận diện biển số xe, vân tay, khuôn mặt, đến việc điểm danh và chấm công, giúp con người đưa ra quyết định chính xác hơn trong công việc.

3.2.2 Mạng Hopfieldtrong nhận dạng hình ảnh

Bài toán đặt ra là quản lý điểm danh học sinh thông qua việc sử dụng ảnh thẻ và ảnh khuôn mặt Dữ liệu đầu vào bao gồm ảnh đen trắng kích cỡ 4x4 theo danh sách lớp học, định dạng file ảnh (*.bmp) và kiểu ảnh nhị phân Chương trình cần nhận dạng ảnh dựa trên mẫu ảnh trong cơ sở dữ liệu, ngay cả khi ảnh đã bị biến dạng một mức độ nào đó so với ảnh gốc Để giải quyết vấn đề này, công cụ sử dụng là mạng Neural Hopfield, với đầu vào là các ảnh mẫu tạo ra độ biến dạng, sau đó khôi phục về ảnh ban đầu.

- Phân tích ảnh gốc: chia ảnh theo kích thước giới hạn, định dạng ảnh

- Chuyển đổi ảnh sang ma trận điểm ảnh

- Chuyển thành ma trận tuyến tính và đưa vào mạng NeuralHopfield Thuật toán :

Input : Ảnh mẫu, ảnh mẫu đã biến dạng ;

Output : Ảnh mẫu ban đầu

Bước 1 : Đưa ảnh mẫu ban đầu vào mạng Neural Hopfield ;

Bước 2 : Chọn các bản mẫu của mạng ;

Bước 3 : Tạo mức độ biến dạng của ảnh mẫu ;

Bước 4 : Khởi động mạng Neural Hopfield ;

Bước 5 : Quay lại bước 1 Ánh xạ bài toán lên mạng neural:

Ta gán cho mỗi cặp điểm (i, j) với i < j một neural ij với đầu vào là Vij

Như vậy với n điểm ta phải cần

) 1 ( n  n Neural Mỗi phương án của một trạng thái của mạng ứng với Vij = 1 i - j

 Vậy bài toán đặt ra là: tìm một trang thái sao cho thoả mãn yêu cầu hàm f đạt giá trị min, hay: n i j i j i j f d V min

Với: dij là khoảng cách từ điểm i đến điểm j Và ràng buộc: n i

Ràng buộc này đảm bảo rằng mỗi điểm chỉ được kết nối với một điểm khác duy nhất Chúng ta định nghĩa Vij = Vji khi j < i và Vii = 0 Bằng cách thêm thành phần phạt vào hàm cần tối thiểu hóa, ta có được hàm năng lượng: ij ij ij j 1 i j.

Từ đây lấy đạo hàm riêng

 ta xác định phương trình động học của các Neural:

Hàm kích hoạt có thể được chọn là hàm Meculloch-Pitts hoặc hàm Sigmoid, giúp ánh xạ bài toán sánh cặp có trọng lên mạng Neural nhân tạo.

Mạng Hopfield HF học dựa trên nguyên tắc có giám sát Giả sử có M mẫu học tương ứng với các vectơ tín hiệu vào Xs , s = 1, 2,…, M

Ký hiệu Wij là liên kết giữa hai neural i và j (Wij =Wji ) với Vi là đầu ra của neural i

Ta xây dựng ma trận trọng số W như sau: W = (Wij) với

 Ở đây 𝑃 𝑠 = (𝑃 𝑠1 , … , 𝑃 𝑠𝑁 ) (N là số neural của mạng)

Hàm năng lượng của mạng là:

3.2.4 Thuật toán mạng Neural Hopfield trong bài toán nhận dạng hình ảnh

Giả sử đưa vào mạng vectơ tín hiệu X

Sử dụng mạng để tính đầu ra tương ứng với tín hiệu vào X là quá trình lặp bao gồm các bước:

Bước 1: Ban đầu, đặt X (0) = X Gọi Y (t) là vectơ tín hiệu ra tương ứng với một lần cho X (t) lan truyền trong mạng

Bước 2: Nếu Y (t)  X (t) thì tiếp tục bước lặp với t=t+1 và X (t+1) = Y (t) out (t)

Nếu Y(t) bằng X(t), quá trình dừng lại và X(t) được xem là kết quả xử lý của mạng với tín hiệu đầu vào X Điều quan trọng cần lưu ý là ma trận W không thay đổi trong suốt quá trình hoạt động của mạng.

Một vài tình huống nảy sinh:

3) Mạng hội tụ và X (t) = Xs với Xs là mẫu nào đó đã học

4) Mạng hội tụ với X (t)  Xs với mọi mẫu học Xs.

5) Mạng hội tụ với X (t) nào đó như trong 2) 3) 4) nhưng là ảnh ngược (1 thành -1, -1 thành 1)

6) Mạng có thể đưa ra luân phiên một vài mẫu học (hoặc ảnh ngược của chúng)

Trường hợp 2) có nghĩa rằng véc tơ X đã được đoán nhận đúng dựa trên mẫu học {Xs} hay nói cách khác, X có thể suy ra từ mẫu học

Trường hợp 3) chứng tỏ rằng mạng đã phục hồi dạng nguyên bản Xs của

Trường hợp 4) chỉ ra một vectơ mới, có thể xem là mẫu học và sẽ được dùng để cập nhật ma trận trọng số (xem (6))

3.3 Ứng dụng mạngHopfield trong nhận dạng ảnh

Bài toán phục hồi ảnh đen trắng kích cỡ 4 x 4 bao gồm 16 điểm ảnh Để giải quyết vấn đề này, chúng ta thiết kế một mạng neural Hopfield với 16 nơ-ron đầu vào và 16 nơ-ron đầu ra.

Hình 3.1: Mạng neural hopfield với 16 neural vào và 16neural ra với n = 256neural

Giả sử ban đầu ta có mẫu sau:

Đầu vào của mạng được lấy từ ma trận ảnh, trong đó mỗi dòng được xử lý để chuyển đổi các điểm ảnh: những điểm ảnh có giá trị 1 được thay thế bằng -1, trong khi các điểm ảnh có giá trị 0 được chuyển thành 1 Kết quả sau quá trình này là một đầu vào mới cho mạng.

P’ =(1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1,-1,-1) Đoạn code sau thực hiện công việc trên:

Bitmap b = newBitmap(imgPattern); patternPixels = newint[imageDim, imageDim];

List pattern = newList(imageDim * imageDim); for (int i = 0; i < imageDim; i++) for (int j = 0; j < imageDim; j++)

Neuron n = newNeuron(); p = Math.Abs(b.GetPixel(i, j).ToArgb()); if (p < midColor)

{ b.SetPixel(i, j, Color.White); n.State = NeuronStates.AlongField;//1 } else

{ b.SetPixel(i, j, Color.Black); n.State = NeuronStates.AgainstField;//-1 } pattern.Add(n);// add cac neural

Từ đầu vào của mạng ta tính ma trận trọng số dựa vào công thức (3.1):

 Đoạn code sau thực hiện tính ma trận trọng số của mạng Ở đây ma trận trọng số được lưu vào ma trận T: publicvoid AddPattern(List Pattern)

Tạo mạng neural với kích thước 16 neural như sau:

Ngày đăng: 09/04/2022, 20:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ Năng Toàn và Phạm Việt Bình, Đại học Thái Nguyên, “Giáo trình xử lý ảnh số”. Nxb Khoa học và kỹ thuật, Hà Nội, 2008 Sách, tạp chí
Tiêu đề: “Giáo trình xử lý ảnh số”
Nhà XB: Nxb Khoa học và kỹ thuật
[2] Hoàng Kiếm, Nguyễn Ngọc Kỷ và các tác giả, Nhận dạng: các phương pháp và ứng dụng, Nhà xuất bản thống kê 7/1992 Sách, tạp chí
Tiêu đề: Nhận dạng: các phương pháp và ứng dụng
Nhà XB: Nhà xuất bản thống kê 7/1992
[5] Nguyễn Ngọc Kỷ, Lý thuyết xử lý ảnh (Bài giảng hệ cao học Tin học tại ĐHBK Hà Nội), 1997 Sách, tạp chí
Tiêu đề: Lý thuyết xử lý ảnh
[6] Nguyễn Hoàng Lan, Lý thuyết nhận dạng (Bài giảng hệ cao học Tin học tại ĐHBK Hà Nội), 1997 Sách, tạp chí
Tiêu đề: Lý thuyết nhận dạng
[9] Anil.K.Jain, Fundamentals of Digital Image Processing, Prentice Hall, 1986 Sách, tạp chí
Tiêu đề: Fundamentals of Digital Image Processing, Prentice Hall
[10] Craig A. Lindley, Practical Image Processing in C, 1990 Sách, tạp chí
Tiêu đề: Practical Image Processing in C
[11] Joannis Pitas, Digital Image Processing Algorithms, Prentice Hall, 1995 Sách, tạp chí
Tiêu đề: Digital Image Processing Algorithms, Prentice Hall
[3] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, NXB KHKT, 1999 Khác
[4] Lê Minh Trung (biêndịch), Giáo trình mạng nơron nhân tạo, Nhà XB Thống kê, 1999 Khác
[7] Phạm Hữu Đức Dục, Mạng nơron và ứng dụng trong điều khiển tựđộng, NXB KHKT, 2009.II. Tiếng Anh Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w