1. Trang chủ
  2. » Luận Văn - Báo Cáo

NHẬN DẠNG KHUÔN mặt sử DỤNG MẠNG nơ RON

63 259 1

Đ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

Định dạng
Số trang 63
Dung lượng 6,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phát biểu vấn đề nghiên cứu Nhận dạng khuôn mặt người là một công nghệ được ứng dụng rộng rãi trong đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào ra, tìm kiếm

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

LỜI CÁM ƠN

Đầu tiên, em xin chân thành cám ơn thầy PGS.TS ĐINH ĐỨC ANH VŨ – người đã tận tình truyền đạt cho em những kiến thức quý báu để em hoàn thành khóa luận này

Tiếp theo, em xin gửi lời cám ơn đến các thầy cô ở các khoa cũng như tại các phòng ban tại trường ĐH Công Nghệ Thông Tin đã tận tình giúp đỡ em trong thời gian học vừa qua

Do kiến thức có hạn cũng như kinh nghiệm nghiên cứu khoa học trên thực tế không nhiều nên bài khóa luận của em không tránh khỏi thiếu sót Em rất mong nhận được sự đóng góp quý báu của quí thầy cô

TpHCM, ngày…tháng… năm 2015

Lớp Cao học KHMT khóa 8

Lê Phú Quí

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu độc lập của bản thân Các số liệu, kết quả trong khóa luận này là trung thực Các tài liệu trong khóa luận có nguồn gốc và trích dẫn rõ ràng, đầy đủ

Tác giả

Lê Phú Quí

Trang 4

MỤC LỤC

Lời cam đoan

Mục lục

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5

DANH MỤC CÁC BẢNG 6

DANH MỤC HÌNH ẢNH 7

MỞ ĐẦU 8

1 Phát biểu vấn đề nghiên cứu 8

2 Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu 8

3 Ý nghĩa khoa học và thực tiễn 9

CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT 10

1.1 Gới thiệu 10

1.2 Các ứng dụng liên quan đến nhận dạng mặt người 10

1.3 Các hướng tiếp cận nhận dạng khuôn mặt dùng mạng Nơ-ron 11

1.4 Những khó khăn của nhận dạng khuôn mặt 11

CHƯƠNG 2: MỘT SỐ CƠ SỞ LÝ THUYẾT 13

2.1 Giới thiệu về mạng Nơ-ron 13

2.1.1 Khái niệm mạng Nơ-ron 13

2.1.1.1 Mạng Nơ-ron nhân tạo là gì? 13

2.1.1.2 Sơ lược về Nơ-ron sinh học 13

2.1.1.3 Nơ-ron nhân tạo 15

2.1.2 Mô hình cơ bản của mạng Nơ-ron 17

2.1.3 Phân loại mạng Nơ-ron 18

Trang 5

2.1.3.2 Một số loại mạng Nơ-ron 18

2.1.4 Xây dựng mạng Nơ-ron 21

2.1.5 Huấn luyện mạng Nơ-ron 23

2.1.5.1 Phương pháp học 23

2.1.5.2 Thuật toán học 25

2.1.6 Mạng Perceptron nhiều tầng (MPL – Multi Perceptron Layer) 29

2.1.6.1 Mạng phân lớp 29

2.1.6.2 Kiến trúc mạng tổng quát 31

2.1.7 Hàm sigmoid 32

2.1.8 Thuật toán lan truyền ngược 33

2.1.8.1 Lan truyền ngược 35

2.1.8.2 Hiệu quả của lan truyền ngược 39

2.2 Giới thiệu về PCA 40

2.2.1 Một số khái niệm toán học 41

2.2.1.1 Độ lệch chuẩn 41

2.2.1.2 Phương sai 42

2.2.1.3 Hiệp phương sai 42

2.2.1.4 Ma trận hiệp phương sai 43

2.2.2 Ma trận đại số 43

2.2.2.1 Eigenvector (Vectơ riêng) 44

2.2.2.2 Eigenvalue (Giá trị riêng) 44

2.3 Phân tích thành phần chính (PCA) 45

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT 46

Trang 6

3.1.1 Tiền xử lý 46

3.1.2 Trích rút đặc trưng 47

3.2 Nhận dạng khuôn mặt bằng mạng Nơ-ron 50

3.2.1 Cấu hình mạng Nơ-ron 50

3.2.2 Quá trình huấn luyện mạng 51

CHƯƠNG IV: CÀI ĐẶT CHẠY THỬ NGHIỆM 52

4.1 Bài toán 52

4.2 Cơ sở dữ liệu và môi trường cài đặt 52

4.2.1 Cơ sở dữ liệu 52

4.2.2 Môi trường cài đặt 53

4.3 Một số xử lý trong quá trình cài đặt chương trình 53

4.4 Kết quả cài đặt 54

4.4.1 Giao diện chương trình 54

4.4.2 Huấn luyện mạng Nơ-ron (tạo tập dữ liệu mẫu) 54

4.4.3 Nhận dạng khuôn mặt 56

CHƯƠNG V: KẾT LUẬN 58

TÀI LIỆU THAM KHẢO 59

Trang 7

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

BPNN: BackPropagation Neural Network

DoG: Difference of Gauss

EBM: Edge-like Blob Map

HMM: Hidden Markov Model

MPL: Multi Perceptron Layer

PCA: Principal Component Analysis

SVM: Support Vector Machine

LDA: Linear Discriminant Analysis

LFA: Local Feature Analysis

Trang 8

DANH MỤC CÁC BẢNG

Bảng 2.1: Một số hàm kích hoạt 16 Bảng 4.1: Kết quả thực nghiệm trên nhiều tập dữ liệu 57

Trang 9

DANH MỤC HÌNH ẢNH

Hình 1.1: Ví dụ về hệ thống nhận dạng mặt người 10

Hình 2.1: Cấu trúc của một Nơ-ron sinh học điển hình 14

Hình 2.2: Mô hình một Nơ-ron nhân tạo 15

Hình 2.3: Sơ đồ đơn giản về một mạng Nơ-ron nhân tạo 17

Hình 2.4: Mạng tiến với một mức Nơ-ron 19

Hình 2.5: Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra 20

Hình 2.6: Mạng quy hồi không có Nơ-ron ẩn và không có vòng lặp tự phản hồi 21

Hình 2.7: Mạng quy hồi có các Nơ-ron ẩn 21

Hình 2.8: Mô phỏng liên kết giữa các Nơ-ron 22

Hình 2.9: Mô hình mạng lan truyền tiến 29

Hình 2.10: Đồ thị hàm truyền sigmoid 32

Hình 2.11: Lan truyền ngược 36

Hình 2.12: Minh họa việc tính δj cho việc tính nút ẩn j 38

Hình 2.13: Ví dụ về 1 non-eigenvector và 1 eigenvector 43

Hình 2.14: Ví dụ về 1 eigenvector có tỉ lệ khác vẫn 1 là eigenvector 44

Hình 3.1: Hệ thống nhận dạng khuôn mặt cơ bản 46

Hình 3.2: Sơ đồ khối trích chọn đặc trưng sử dụng PCA 47

Hình 4.1 : Sơ đồ luồng xử lý chương trình thử nghiệm 53

Hình 4.2: Giao diện chính của chương trình 54

Hình 4.3: Giao diện huấn luyện 55

Hình 4.4: Quá trình huấn luyện 55

Hình 4.5: Kết quả huấn luyện 56

Hình 4.6: Giao diện nhận dạng khuôn mặt 56

Hình 4.7: Index của ảnh cần tìm 56

Hình 4.8: Kết quả nhận dạng 57

Trang 10

MỞ ĐẦU

1 Phát biểu vấn đề nghiên cứu

Nhận dạng khuôn mặt người là một công nghệ được ứng dụng rộng rãi trong đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin một người nổi tiếng,…Có rất nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải những thử thách về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng của tham số môi trường

Một số hệ thống nhận dạng thường khuôn mặt gồm có 2 bước Bước thứ nhất

là trích xuất đặc trưng dựa vào một số phương pháp như phân tích thành phần chính (Principal Component Analysis – PCA), phân tích sự khác biệt tuyến tính (Linear Discriminant Analysis –LDA), phân tích đặc điểm vùng (Local Feature Analysis – LFA) Bước thứ hai là phương pháp máy học như là mạng Nơ-ron (Neural Network), Support Vector Machine (SVM)

Trong đó, PCA là phương pháp trích rút đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng mang lại hiệu quả tốt Nhận dạng khuôn mặt dùng PCA kết hợp với mạng Nơ-ron là phương pháp mang lại hiệu quả nhận dạng cao bởi nó phát huy được ưu điểm của PCA và mạng Nơ-ron [8][15][26] Hệ thống hoạt động ổn định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều

2 Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu

 Mục tiêu nghiên cứu:

 Nghiên cứu phương pháp nhận dạng bằng mạng Nơ-ron

 Áp dụng phương pháp trên vào việc nhận dạng khuôn mặt

 Nhiệm vụ chính của đề tài:

 Nghiên cứu tổng quan về nhận dạng khuôn mặt

 Nghiên cứu các phương pháp nhận dạng bằng mạng Nơ-ron

Trang 11

 Đối tượng nghiên cứu bao gồm:

 Lý thuyết về nhận dạng khuôn mặt

 Các vấn đề liên quan đến các phương pháp nhận dạng khuôn mặt

 Phương pháp nhận dạng khuôn mặt bằng mạng Nơ-ron

3 Ý nghĩa khoa học và thực tiễn

 Ý nghĩa khoa học:

 Nghiên cứu việc nhận dạng khuôn mặt

 Nghiên cứu về mạng Nơ-ron trong việc nhận dạng khuôn mặt

 Tạo tiền đề cho những nghiên cứu tiếp theo trong tương lai

 Ý nghĩa thực tiễn:

 Cung cấp các thuật toán hỗ trợ cho các thiết bị phát hiện và nhận dạng khuôn mặt người

 Giúp giảm giá thành cho công tác bảo vệ và bảo mật

 Tạo tiền đề cho việc xây dựng cơ sở dữ liệu nhận dạng khách hàng một cách tự động thông qua khuôn mặt

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT

1.1 Gới thiệu

Hệ thống nhận dạng mặt người là một hệ thống nhận vào là một ảnh hoặc một

đoạn video (một chuỗi các ảnh) Qua xử lý tính toán hệ thống xác định là người nào trong số những người hệ thống đã được biết (qua quá trình huấn luyện) hoặc là người

lạ

Hình 1.1: Ví dụ về hệ thống nhận dạng mặt người

1.2 Các ứng dụng liên quan đến nhận dạng mặt người

Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như:

- Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gửi thông điệp về cho trung tâm xử lý

- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công

Trang 13

người) Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G Bush hoặc Bin Laden

1.3 Các hướng tiếp cận nhận dạng khuôn mặt dùng mạng Nơ-ron

Mạng Nơ-ron đã và đang được sử dụng trong nhận dạng ảnh mặt người Một trong những nghiên cứu đầu tiên dùng Nơ-ron trong nhận dạng ảnh mặt người trong [25] đã sử dụng mạng Kohonen nhận dạng ảnh trong một tập mẫu nhỏ các ảnh mặt người và cho kết quả tốt ngay cả khi ảnh bị nhiễu hay mất một phần ảnh Mạng Nơ-ron cũng được hiện thực dùng phần cứng để nhận dạng ảnh mặt người trong [23] Trong [24], mạng Nơ-ron được sử dụng để phân loại giới tính dùng vector có 16 thuộc tính như độ dày của lông mày, độ rộng của mũi và miệng, … Đầu ra của 2 mạng Nơ-ron được so sánh, giới tính của người trong ảnh nhận dạng thử được xác định bởi mạng có đầu ra lớn hơn Tỷ lệ nhận dạng đúng được công bố là 92.5% với ảnh test đã được huấn luyện và 87.5% với ảnh test chưa được huấn luyện

Trong nhiều nghiên cứu nhận dạng ảnh mặt người dùng mạng Nơ-ron, loại mạng Nơ-ron được cho là hiệu quả nhất là mạng Nơ-ron perception đa lớp lan truyền ngược (backpropagation MLP) Trong [26] hệ thống nhận dạng khuôn mặt người dùng mạng MLP lan truyền ngược sử dụng cơ sở dữ liệu gồm 100 ảnh của 10 người khác nhau

tự thu thập, tỷ lệ nhận dạng đúng được công bố là 95.6%

Để giảm số chiều của vector ảnh đầu vào làm giảm khối lượng tính toán của mạng Nơ-ron Nhiều nghiên cứu gần đây đề xuất dùng đầu vào của mạng Nơ-ron là vector PCA (vector phân tích các thành phân cơ bản – Principal Component Analysis)

Trong [27] hệ thống nhận dạng ảnh mặt người được xây dựng dùng vector PCA và mạng Nơ-ron lan truyền ngược Cơ sở dữ liệu gồm 200 ảnh được trích từ cơ sở dữ liệu ảnh công cộng của Yale, hệ thống không chỉ cho kết quả nhận dạng tốt hơn mà còn giảm thời gian huấn luyện, nhận dạng so với các nghiên cứu trước đó

1.4 Những khó khăn của nhận dạng khuôn mặt

Trang 14

70 Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được kết quả mong muốn Chính vì thế vấn đề này vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu Khó khăn của bài toán nhận dạng mặt người có thể kể nhƣ sau:

a Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc

chụp giữa camera và khuôn mặt Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450hay xéo bên phải 450, chụp từ trên xuống, chụp từ dưới lên, v.v ) Với các tư thế khác nhau, các thành phần trên khuôn mặt nhu mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết

b Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng

nhƣ: râu mép, râu hàm, mắt kính, v.v có thể xuất hiện hoặc không Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều

c Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm

ảnh hưởng đáng kể lên các thông số của khuôn mặt Chẳng hạn, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi,v.v

d Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc

các khuôn mặt khác

e Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các

góc quay khác nhau của trục camera Chẳng hạn chụp với trục máy ảnh nghiêng làm

cho khuôn mặt bị nghiêng so với trục của ảnh

f Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu

sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v ) ảnh hưởng rất

nhiều đến chất lượng ảnh khuôn mặt

Trang 15

CHƯƠNG 2: MỘT SỐ CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu về mạng Nơ-ron

2.1.1 Khái niệm mạng Nơ-ron

2.1.1.1 Mạng Nơ-ron 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 ron

Nơ-2.1.1.2 Sơ lược về Nơ-ron 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 1011 Nơ-ron tham gia vào khoảng 1015 kết nối trên các đường truyền 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ý và 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

Trang 16

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

và 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 và độ 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 và cho ra một tín hiệu đầu ra Tín hiệu đầu ra này sau đó được truyền đi làm tín hiệu đầu vào cho các Nơ-ron khác

Trang 17

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.1.1.3 Nơ-ron nhân tạo

Nơ-ron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra,

mỗi đầu vào đến từ một liên kết Đặc trưng của Nơ-ron là một 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 Hàm kích hoạt (hàm truyền) này đảm bảo tính chất phi tuyến cho tính toán của mạng Nơ-ron

Hình 2.2: Mô hình một Nơ-ron nhân tạo [6]

Một Nơ-ron được cầu tạo gồm các thành phần chính : liên kết Nơ-ron,

bộ cộng , hàm kích hoạt

Liên kết Nơ-ron là một thành phần của mạng Nơ-ron nhận tạo để liên kết giữa các Nơ-ron, nó nối đầu ra của Nơ-ron lớp này với đầu vào của một Nơ- ron trong lớp khác Đặc trưng của thành phần liên kết là một trọng số mà mỗi tín hiệu đi qua đều được nhân với trọng số này Các trọng số liên kết chính là

các tham số tự do cơ bản của mạng Nơ-ron, có thể thay đổi được nhằm thích

nghi với môi trường xung quanh

Trang 18

Bộ cộng dùng để tính tổng các tín hiệu đầu vào của Nơ-ron, đã được nhân với các trọng số liên kết tương ứng, phép toán được mô tả ở đây tạo nên một bộ hợp tuyến tính

Hàm kích hoạt hay còn gọi hàm kích hoạt phi tuyến, chuyển đổi một 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 Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán mạng Nơ-ron Nó được xem như là một hàm giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn Mô hình Nơ-ron trong hình 2.2 còn bao gồm một hệ số điều chỉnh b tác động từ bên ngoài Hệ số điều chỉnh b có tác dụng tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó dương hay âm

Trang 19

a = 1 với n > 1

6 tansig

a = n với n 0

a = 0 với các Nơ-ron còn lại

9 logsig

2.1.2 Mô hình cơ bản của mạng Nơ-ron

Hình 2.3: Sơ đồ đơn giản về một mạng Nơ-ron nhân tạo [6]

Mô hình mạng Nơ-ron ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn và lớp xuất (output) Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng

n

e

e e a

n n

Trang 20

Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp – ta gọi là tổng trọng hóa – và chuyển kết quả cho các nút trong lớp ẩn Gọi là “ẩn” vì các nút trong lớp

này chỉ liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có người thiết kế mạng mới biết lớp này (người sử dụng không biết lớp này)

Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp

ẩn Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc

2.1.3 Phân loại mạng Nơ-ron

2.1.3.1 Phân loại theo kiểu liên kết Nơ-ron

Ta có mạng Nơ-ron truyền thẳng và Nơ-ron mạng quy hồi

Trong mạng truyền thẳng các Nơ-ron đi theo một hướng nhất định tạo thành

đồ thị không có chu trình, các đỉnh là các Nơ-ron còn các cạnh là các liên kết giữa chúng

Các mạng quy hồi cho phép các liên kết Nơ-ron tạo thành chu trình, các thông tin ra của các Nơ-ron được truyền lại cho các Nơ-ron đã góp phần kích hoạt chúng, nên mạng quy hồi còn có khả năng lưu giữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết Nơ-ron

2.1.3.2 Một số loại mạng Nơ-ron

a Mạng dẫn tiến

Có thể nói mạng Nơ-ron dẫn tiến là một kiểu mạng đơn giản trong việc sắp đặt mạng Trong mạng này thông tin chỉ truyền trên một hướng duy nhất Từ lớp đầu vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra Không có chu trình hoặc vòng trong mạng

Các mạng dẫn tiến đơn mức:

Trang 21

Trong một mạng Nơ-ron phân mức, các Nơ-ron được tổ chức dưới dạng các mức Với dạng đơn giản nhất của mạng phân mức, chúng ta có một mức đầu vào gồm các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các Nơ-ron

Mức đầu vào Mức đầu ra Hình 2.4: Mạng tiến với một mức Nơ-ron [6]

Như vậy, mạng thực sự là không có chu trình Nó được minh hoạ trong hình 2.4 cho trường hợp ba nút đối với cả mức đầu ra và đầu vào Một mạng như vậy được gọi là một mạng đơn mức “Đơn mức” tức là chỉ có một mức, chính là mức đầu ra gồm các nút tính toán (các Nơ-ron) Chúng ta không tính mức đầu vào của các nút nguồn vì không có tính toán nào được thực hiện ở đây

Các mạng dẫn tiến đa mức:

Lớp thứ hai của một mạng Nơ-ron dẫn tiến được phân biệt bởi sự có mặt của một hay nhiều mức ẩn, mà các nút tính toán của chúng được gọi là các Nơ-ron ẩn hay các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trường) Chức năng của các Nơ-ron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu Bằng việc thêm một vài mức ẩn, mạng có khả năng rút ra được các thống kê bậc cao của tín hiệu đầu vào Khả năng các Nơ-ron ẩn rút ra được các thống

kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích thước lớn

Trang 22

Mạng Nơ-ron trong hình 2.5 được gọi là kết nối đầy đủ với ý nghĩa là tất cả các nút trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ

Mức đầu vào Mức ẩn Mức đầu ra gồm các nút gồm các gồm các nguồn Nơ-ron ẩn Nơ-ron đầu ra Hình 2.5: Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra [6]

b Mạng quy hồi

Trái với mạng Nơ-ron dẫn tiến, mạng Nơ-ron quy hồi là những mô hình với hai luồng dữ liệu có hướng Trong khi mạng dẫn tiến truyền dữ liệu theo một đường thẳng thì những mạng Nơ-ron quy hồi có ít nhất một phản hồi từ những Nơ-ron xử lý sau quay trở lại các Nơ-ron xử lý trước đó

Trang 23

Hình 2.6: Mạng quy hồi không có Nơ-ron ẩn và không có vòng lặp tự phản hồi [6]

Hình 2.7: Mạng quy hồi có các Nơ-ron ẩn [6]

2.1.4 Xây dựng mạng Nơ-ron

Về cơ bản ta có thể hiểu mạng Nơ-ron là một đồ thị có hướng Trong đó các đỉnh của đồ thị là các Nơ-ron và các cạnh của đồ thị là các liên kết giữa các Nơ-ron

Trang 24

Hình 2.8: Mô phỏng liên kết giữa các Nơ-ron

Vì vậy để xây dựng một mạng Nơ-ron ta xây dựng một đồ thị có hướng: số đỉnh của đồ thị bằng số Nơ-ron trong mạng, giá trị của các cạnh chính là trọng số liên kết Nơ-ron

Giải thuật xây dựng mạng Nơ-ron đơn giản:

Input: Cho:

Mạng Nơ-ron có num_layer lớp (với num_layer>1)

Mỗi lớp có num_of_layer Nơ-ron (num_of_layer>=1)

Trọng số w liên kết Nơ-ron ngẫu nhiên trong khoảng (-a,a)

Output: Mạng Nơ-ron nhân tạo

Kiểu dữ liệu: chọn lưu dữ kiểu mảng :

f

Trang 25

- Bước 3 : Tại lớp đang xét i , xét Nơ-ron thứ j

- Bước 4: Thực hiện khởi tạo ngẫu nhiên trọng số kết nối với Nơ-ron k của lớp i-1 trong khoảng (-a,a)

w(i,j,k)=random(-a,a) (trọng số kết nối của ron thứ j của layer[i] với ron thứ k của layer[i-1] )

Nơ Bước 5: Nếu k <= num_of_layer[iNơ 1] quay lại “Bước 4”, ngược lại thực hiện

“Bước 6”

- Bước 6: Nếu j<=num_of_layer[i] quay lại “Bước 3”, ngược lại thực hiện

“Bước 7”

- Bước 7: Nếu i<=num_layer quay lại “Bước 3” ngược lại kết thúc

2.1.5 Huấn luyện mạng Nơ-ron

2.1.5.1 Phương pháp học

Một mạng Nơ-ron được huyấn luyện sao cho với một tập các vector đầu vào

X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó Tập X được

sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set) Các phần tử

x thuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyện

bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng

số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong muốn

Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (Reinforcement learning):

♦ Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy

giáo” Cũng giống như việc ta dạy một em nhỏ các chữ cái Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a” Việc này được thực hiện trên tất cả các mẫu chữ cái Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi

Trang 26

Với học có giám sát, tập mẫu huấn luyện được cho dưới dạng D = {(x,t) | (x,t)

Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm

vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó

♦ Học không giám sát: Là việc học không cần có bất kỳ một sự giám sát nào

Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x

Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy

theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại

khác nhau

♦ Học tăng cường: đôi khi còn được gọi là học thưởng-phạt (reward-penalty

learning), là sự tổ hợp của cả hai mô hình trên Phương pháp này cụ thể như sau: với

vector đầu vào, quan sát vector đầu ra do mạng tính được Nếu kết quả được xem là

“tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống Do đó

học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là học theo thầy giáo (teacher)

Trang 27

2.1.5.2 Thuật toán học

a Thuật toán học của mạng Nơ-ron một lớp:

Xét trường hợp perceptron sử dụng hàm kích hoạt ngưỡng:

Nếu ta cho w0=-t và v0=1, ta có thể viết lại

Thuật toán:

Thuật toán học của perceptron hay mạng Nơ-ron một lớp gồm 3 bước chính:

Bước 1: Khởi tạo:

Khởi tạo trọng số w (0 hoặc ngẫu nhiên)

Chọn tốc độ học µ

Bước 2 :Học

Với mỗi mẫu (x,t) trong tập học

Tính y=f(x, w)

Nếu y!=t thay đổi vectơ trọng số w với: w(mới) = w(cũ) + µ(t-y)x

Bước 3: Lặp lại bước 2 cho tất cả các mẫu

Nhận xét:

Phương trình w.v=0 là chính là siêu phẳng trong không gian d-chiều, suy ra perceptron có khả năng phân lớp tuyến tính, có khả năng giải bài toán quy hồi tuyến tính

i i

d i

i i

t w v

t w v output

1

1

, 1

, 1

i

i i

d i

i i

w v sign

w v

w v output

0

0

0

0 ,

1

0 ,

1

(I.1)

(I.2)

Trang 28

Không thể phân lớp phi tuyến

Giải pháp: sử dụng mạng Nơ-ron nhiều tầng MLP

b Thuật toán học của mạng Nơ-ron nhiều lớp:

Huấn luyện mạng Nơ-ron nhiều lớp sử dụng thuật toán lan truyền ngược gồm hai quá trình: quá trình truyền tuyến tính và quá trình truyền ngược:

 Quá trình truyền tuyến tính: dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:

 Thay đổi giá trị của trọng số liên kết W của các Nơ-ron trong mạng biểu diễn được dữ liệu học

 Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và kết quả dự đoán của mạng gọi là lỗi (học có giám sát)

 Quá trình truyền ngược: giá trị lỗi sẽ được truyền ngược lại sao cho quá trình huấn luyện (học) sẽ tìm ra trọng số Wi để lỗi nhỏ nhất

Thuật toán:

Xét mạng Nơ-ron 3 lớp : input, hiden và output

Hàm kích hoạt các Nơ-ron : logistic (sigmoid)

g(x)= 𝟏

𝟏+𝒆 −𝒙 Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ

Bước 2 : Chọn lớp đầu vào

Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kích hoạt các Nơ-ron đầu

Bước 6: Cập nhật tất cả trọng số theo Wi=W(i-1)-µ(δE/ δ Wi)

Bước 7: Quay lại “Bước 2” cho đến “Bước 6” cho tất cả các mẫu

Trong đó: GRADIENT hàm lỗi:

(I.3)

Trang 29

 Hàm lỗi:

( t là giá trị thật của mẫu huấn luyện)

 Đạo hàm riêng của hàm lỗi (I.4) theo trọng số b:

2

1)(zz

E

b

v v

z z

E b

0 ,

1

) 1 (

) (

i b

v

z z

v

g v

z

t z z

E

i

) 1 ( )

E p

w2

wk

w1

z=g(v) v=b 0 + 𝑘𝑖=1𝑦𝑖𝑏𝑖

g(x)= 1 1+𝑒−𝑥

Trang 30

 Đối với các Nơ-ron lớp ẩn:

 Đạo hàm riêng của hàm lỗi theo trọng số:

i p b

E

i i

a

u u

y y

E a

0 ,

1 1

) 1

( ) (

1

j c

j a

u

y y

u y

b y v

p z

z t z v

z z E

y

v v

z z

E y

E

j j

i i

i i

i i i i

1

y y

b p u

y y

E q

Trang 31

2.1.6 Mạng Perceptron nhiều tầng (MPL – Multi Perceptron Layer)

MPL là một loại mạng lan truyền tiến được huấn luyện theo kiểu học có giám sát

2.1.6.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 2.9: Mô hình mạng lan truyền tiến [10]

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:

d (1) (1)

i i

i

w

E w

Ngày đăng: 23/12/2018, 06:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w