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

Nghiên cứu, tìm hiểu về mạng neural và một vài ứng dụng của chúng

50 8 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

Định dạng
Số trang 50
Dung lượng 1,25 MB

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

Cấu trúc

  • CHƯƠNG I: GIỚI THIỆU CHUNG VỀ MẠNG NEURAL (5)
    • 1.1 Tổng quan về mạng neural sinh học (5)
      • 1.1.1 Cấu trúc mạng neural sinh học (5)
      • 1.1.2 Khả năng của mạng neural sinh học (bộ não) (6)
      • 1.1.3 Quá trình học của bộ não (6)
    • 1.2 Neural nhân tạo (7)
      • 1.2.1 Định nghĩa (7)
      • 1.2.2 Mô hình neural (7)
        • 1.2.2.1 Neural một đầu vào (8)
        • 1.2.2.2 Neural nhiều đầu vào (10)
    • 1.3 Mạng neural nhân tạo (11)
      • 1.3.1 Định nghĩa (11)
      • 1.3.2 Một số chức năng của mạng neural nhân tạo (12)
        • 1.3.2.1 Chức năng phân loại mẫu (12)
        • 1.3.2.2 Học và tổng quát hóa (12)
      • 1.3.3 Lịch sử phát triển của mạng neural nhân tạo (12)
    • 1.4 Kiến trúc mạng neural (14)
      • 1.4.1 Lớp của các neural (14)
      • 1.4.2 Mạng neural nhiều lớp (Multiple Layers of Neurons) (15)
    • 1.5 Phân loại mạng neural (17)
    • 1.6 Hoạt động của mạng neural nhân tạo (18)
      • 1.6.1 Hoạt động của mạng neural (18)
      • 1.6.2 Luật học của mạng neural (18)
  • CHƯƠNG II: MẠNG PERCEPTRON ĐA LỚP VỚI LUẬT HỌC LAN TRUYỀN NGƢỢC SAI SỐ (21)
    • 2.1 Mạng neural nhiều lớp lan truyền ngƣợc sai số (21)
      • 2.1.1 Tổng quan về mạng neural truyền thẳng nhiều lớp (21)
      • 2.1.2 Kiến trúc mạng (22)
      • 2.1.3 Cơ chế huấn luyện của mạng neural lan truyền ngược sai số (22)
    • 2.2 Các nhân tố của quá trình học lan truyền ngƣợc sai số (29)
      • 2.2.1 Khởi tạo các trọng số (29)
      • 2.2.2 Hằng số học α (Anpha) (30)
      • 2.2.3 Tập mẫu học và dự báo (31)
    • 2.3 Cấu trúc mạng (32)
    • 2.4 Sự hội tụ của thuật toán huấn luyện mạng (33)
  • CHƯƠNG III: KỸ THUẬT NHẬN DẠNG BẢN RÕ TIẾNG ANH (34)
    • 3.1 Bài toán (34)
    • 3.2 Thuật toán (34)
      • 3.2.1 Phần off-line (34)
      • 3.2.2 Phần on-line (40)
      • 3.2.3 Một số ví dụ (0)
  • CHƯƠNG IV: CÀI ĐẶT VÀ THỰC NGHIỆM (46)
    • 4.1 Kết quả đạt đƣợc (46)
    • 4.2 Mã nguồn của chương trình (47)
      • 4.2.1 Thủ tục tính tần số bộ đôi với độ dài k (47)
      • 4.2.2 Hàm tính tổng của 2 ma trận (48)
      • 4.2.3 Hàm nhận biết ngôn ngữ (48)
  • KẾT LUẬN (49)
  • TÀI LIỆU THAM KHẢO (50)

Nội dung

LỜI MỞ ĐẦU Kỹ thuật nhận dạng đang là một vấn đề rất được quan tâm hiện nay, đặc biệt trong an ninh quốc phòng: như nhận dạng chữ ký, nhận dạng mẫu tóc, nhận dạng hình ảnh, nhận dạng vân

GIỚI THIỆU CHUNG VỀ MẠNG NEURAL

Tổng quan về mạng neural sinh học

1.1.1 Cấu trúc mạng neural sinh học

Bộ não người có mạng lưới gồm khoảng 10 đến 11 tỷ tế bào thần kinh (nơ-ron) liên kết phức tạp với nhau, tạo thành trung tâm điều khiển của cơ thể Mỗi tế bào thần kinh bao gồm ba thành phần chính: thân tế bào (soma), hệ thống các dây thần kinh tiếp nhận (dendrites) và sợi trục thần kinh (axon), giúp truyền tải thông tin nhanh chóng và hiệu quả.

Hình 1.1 Mô hình tế bào thần kinh

Hệ thống dây thần kinh tiếp nhận gồm một mạng lưới dày đặc các dây thần kinh dạng cây bao bọc quanh thân tế bào, dẫn tín hiệu về phần thân Thân tế bào tổng hợp các tín hiệu đầu vào, làm thay đổi điện thế của nó; khi đạt ngưỡng, sẽ phát ra xung điện qua sợi trục thần kinh (axon) Các sợi axon có thể phân nhánh để kết nối với các dây thần kinh khác hoặc trực tiếp đến thân tế bào thần kinh qua các khớp thần kinh (synapse).

Khi một tế bào thần kinh hoạt động, nó tạo ra tín hiệu điện chạy dọc theo sợi axon, truyền đến các khớp thần kinh Có hai loại khớp thần kinh chính là khớp nối kích thích (excitatory) và khớp nối ức chế (inhibitory), đóng vai trò quan trọng trong quá trình truyền tải tín hiệu giữa các neuron Tại các khớp thần kinh này, xảy ra các phản ứng phức tạp và quá trình giải phóng các chất hữu cơ nhằm tạo ra các tín hiệu điện kích thích hoặc ức chế hoạt động của tế bào thần kinh.

Cường độ tín hiệu mà một tế bào thần kinh nhận được chủ yếu phụ thuộc vào mức độ liên kết của các khớp nối Nghiên cứu hoạt động của hệ thần kinh cho thấy rằng quá trình "học" của bộ não chính là quá trình hình thành hoặc thay đổi mức độ liên kết của các khớp nối, góp phần vào việc ghi nhớ và xử lý thông tin.

1.1.2 Khả năng của mạng neural sinh học (bộ não)

Bộ nhớ được tổ chức theo các bó thông tin và truy cập dựa trên nội dung, giúp truy xuất dữ liệu nhanh chóng và hiệu quả Phương pháp này cho phép hệ thống truy xuất thông tin dựa trên các giá trị thuộc tính của đối tượng, tối ưu hóa khả năng tìm kiếm và quản lý dữ liệu.

Bộ não có khả năng tổng quát hóa, giúp truy xuất các kiến thức và mối liên kết chung của các đối tượng liên quan đến một khái niệm lớn hơn Khả năng này cho phép chúng ta hiểu và nhận diện các đối tượng mới dựa trên những đặc điểm đã học, nâng cao khả năng trí tuệ và nhận thức Từ đó, bộ não giúp xây dựng các mô hình tư duy linh hoạt, phục vụ cho quá trình học hỏi và thích nghi trong cuộc sống hàng ngày.

- Bộ não có khả năng học

1.1.3 Quá trình học của bộ não

Các xung tín hiệu từ các "dây thần kinh vào" gửi đến các khớp nối, quyết định xem tín hiệu có được truyền qua hoặc không kích thích các neuron tiếp theo Điều này tạo thành một con đường truyền xung nhất định trong hệ thần kinh, đảm bảo quá trình truyền tín hiệu diễn ra chính xác và có kiểm soát.

Học là quá trình lặp lại để giảm sức cản của các khớp nối, giúp việc học trở nên dễ dàng hơn qua từng lần thực hành Sức cản này chính là hệ thống những kiến thức và kinh nghiệm mà một người tích lũy và lưu giữ trong đầu Khi kiến thức được lặp đi lặp lại nhiều lần, các khớp nối trở nên linh hoạt hơn, tạo điều kiện thuận lợi cho việc tiếp thu và ứng dụng kiến thức mới Vì vậy, việc duy trì quá trình học đều đặn và lặp lại là chìa khóa để nâng cao hiệu quả học tập và phát triển bản thân.

Neural nhân tạo

Mạng neural nhân tạo (Artificial Neural Networks) là mô hình mô phỏng đơn giản của hệ thần kinh sinh học, giúp máy tính học hỏi và nhận dạng mẫu hiệu quả Mỗi neural nhân tạo đảm nhận hai chức năng chính: tổng hợp các đầu vào để xử lý thông tin và tạo ra đầu ra dựa trên quá trình học tập Đây là công nghệ then chốt trong trí tuệ nhân tạo, thúc đẩy các ứng dụng từ nhận diện hình ảnh đến dự đoán dữ liệu.

Mỗi neural nhân tạo có một số đầu vào và một đầu ra, trong đó mỗi đầu vào được gắn một hệ số nhân gọi là trọng số (weight), đại diện cho mức độ liên kết tại các khớp nối trong mạng neural sinh học Trọng số có thể mang giá trị dương hoặc âm, tương tự như hai loại khớp nối trong mạng neural sinh học là khớp nối kích thích và khớp nối ức chế Điều này giúp neural nhân tạo mô phỏng quá trình truyền tải thông tin trong hệ thần kinh sinh học một cách chính xác và hiệu quả hơn.

Mỗi neuron có một giá trị ngưỡng riêng biệt, đóng vai trò quan trọng trong quá trình xử lý tín hiệu Chức năng đầu vào chính của neuron là tổng có trọng số các tín hiệu vào, sau đó kết hợp với ngưỡng để tạo ra tín hiệu đầu vào (net input) Quá trình này giúp neuron xác định liệu tín hiệu đủ mạnh để kích hoạt hoặc truyền tiếp dữ liệu Hiểu rõ cơ chế hoạt động này là nền tảng quan trọng trong việc xây dựng các mô hình học máy hiệu quả.

Sự kết hợp này được thực hiện bằng một tổng hay theo một số tài liệu gọi là hàm PSP (Post Synapic Potential function) - hàm thế sau khớp nối

The output generation function is represented by the transfer function, which processes the net input signal to produce the neural's output This transfer function is essential for determining how the neural network responds to input data.

Mạng neural nhân tạo bao gồm hai thành phần chính là các nút (đơn vị xử lý hay neural) và các liên kết giữa chúng Các liên kết này được gán một trọng số đặc trưng phản ánh cường độ của mối liên kết, giúp mạng hoạt động hiệu quả trong việc xử lý dữ liệu.

Trong mạng neural, ký hiệu Pi thể hiện tín hiệu đầu vào của neuron i, còn Xi là tín hiệu đầu ra của neuron i Trạng thái đầu vào của neuron i được xác định bởi tổng tuyến tính các tín hiệu vào từ các neuron khác, được nhân trọng số tương ứng Quá trình này giúp mô hình học hỏi và xử lý thông tin hiệu quả trong hệ thống neural mạng.

Hình 1.2 Mô hình neural một đầu vào

Một neural đơn giản có một đầu vào vô hướng p được nhân với trọng số w để tạo thành số hạng wp gửi vào bộ tổng Thêm vào đó, một đầu vào khác là 1 được nhân với hệ số bias b rồi đưa vào bộ tổng, giúp điều chỉnh kết quả của neural Bộ tổng sẽ tính tổng các đầu vào đã nhân trọng số và bias, sau đó truyền qua hàm kích hoạt (activation function) f để tạo ra đầu ra của neural, gọi là tín hiệu đầu ra a Hàm f còn được gọi là hàm hoạt hóa, đóng vai trò quyết định cách neural phản ứng với các đầu vào.

Trong mô hình đơn giản này, trọng số w thể hiện độ liên kết hoặc độ mạnh của khớp nối (synapse), còn đầu vào p tương ứng với dây thần kinh tiếp nhận (dendrite) Thân neural (cell body) được mô hình hóa bằng bộ tổng và hàm truyền đạt, trong khi đầu ra của neural a biểu thị tín hiệu truyền qua sợi trục neural (axon) Đầu ra của neural tính bằng công thức: a = f(wp + b), phản ánh mối quan hệ giữa các thành phần của mạng nơ-ron sinh học và mô hình toán học.

Ví dụ: với w=3, p=2 và b= -1,5 thì a=f (3.(2)-1,5)= f (4,5) Đầu ra a phụ thuộc vào hàm truyền f được chọn là hàm nào trong từng trường hợp cụ thể

Hệ số chệch (bias) cũng giống như một trọng số với đầu vào luôn là 1

Neural có thể có hoặc không có hệ số bias (chệch)

Trong neural networks, w và b là các tham số vô hướng có thể điều chỉnh để tối ưu hóa hiệu suất Hàm truyền thường được lựa chọn dựa trên thiết kế của người phát triển, sau đó các tham số này được cập nhật qua các thuật toán học để đảm bảo mối quan hệ vào/ra phù hợp với mục tiêu cụ thể của hệ thống Việc điều chỉnh các tham số này giúp mô hình học tốt hơn và đáp ứng chính xác các yêu cầu của bài toán.

Hàm truyền f có thể là hàm truyền tuyến tính hoặc phi tuyến đối với n Có rất nhiều dạng hàm truyền được sử dụng

BẢNG 1.1: CÁC DẠNG HÀM TRUYỀN

Tên hàm Công thức hardlim a 0 với n < 0 a = 1 với n 0 hardlims a -1 với n < 0 a = 1 với n 0 purelin a = n satlin a = 0 với n < 0 a = n với 0 n 1 a = 1 với n > 1 satlins a = -1 với n < 0 a = n với 0 n 1 a = 1 với n > 1 tansig n e e a e n n

1 poslin a 0 với n < 0 a = n với n 0 compet a = 1 với neural có n lớn nhất a = 0 với các neural còn lại logsig n a e

Thông thường neural có nhiều đầu vào Một neural với R đầu vào được diễn tả:

Hình 1.3 Mô hình neural nhiều đầu vào

Trong mô hình, mỗi đầu vào riêng biệt p₁, p₂, , p_R đều được gắn với các trọng số tương ứng trong ma trận W, gồm các phần tử như w₁,₁, w₁,₂, , w₁,R Công thức tính đầu ra n thể hiện qua tổng các tích giữa các trọng số và giá trị đầu vào cộng với Bias b, cụ thể là n = w₁,₁·p₁ + w₁,₂·p₂ + + w₁,R·p_R + b Trong trường hợp này, mô hình có thể viết dưới dạng ma trận n = Wp + b, trong đó W chỉ gồm một hàng, thể hiện rõ nét quá trình tính toán trên các đầu vào và trọng số.

Véc tơ tín hiệu thường được biểu diễn dưới dạng ma trận để tối ưu hóa quá trình xử lý dữ liệu trong mạng neural Đầu ra của neural được tính theo công thức a = f(Wp + b), trong đó W là ma trận trọng số, p là vector đầu vào, và b là vector sai số Mỗi phần tử trong ma trận W được quy ước là w_{i,j}, thể hiện trọng số kết nối từ đầu vào thứ j đến neural thứ i, mặc dù trong trường hợp này chỉ có một neural duy nhất, nên i=1 Việc biểu diễn vector tín hiệu dưới dạng ma trận giúp tăng tính hiệu quả trong quá trình tính toán và tối ưu hóa mô hình học máy.

Mô hình neural nhiều đầu vào trên có thể được ký hiệu vắn tắt như sau:

Mô hình neural nhiều đầu vào được biểu diễn dưới dạng ngắn gọn, với đầu vào a = f(Wp + b), trong đó vector p có R phần tử và ma trận trọng số W có kích thước 1 hàng, R cột Hệ số bias b được nhân với hằng số đầu vào 1 để tạo ra tổng hợp tuyến tính Hàm truyền f biến đổi tổng hợp này thành đầu ra vô hướng a, phản ánh hoạt động của mạng neural trong trường hợp này, hoặc vector đầu ra trong các trường hợp mạng phức tạp hơn Mô hình này giúp diễn đạt rõ ràng cấu trúc của mạng neural nhiều đầu vào một cách đơn giản và dễ hiểu theo chuẩn SEO.

Mạng neural nhân tạo

Mạng neural nhân tạo là sự kết hợp giữa các neural nhân tạo với nhau

Trong mạng neural, mỗi liên kết đi kèm một trọng số phản ánh đặc tính kích hoạt và ức chế giữa các neuron, giúp mô hình học hỏi hiệu quả hơn Các neuron, hay còn gọi là nút, được tổ chức thành các lớp gồm lớp ra (output layer) và các lớp ẩn (hidden layers), tạo thành cấu trúc phức tạp để xử lý dữ liệu và dự đoán chính xác.

Các đặc điểm của mang neural nhân tạo:

- 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 thông qua quá trình huấn luyện, giúp tối ưu hóa khả năng học tập của hệ thống Các trọng số trong mạng đóng vai trò là phương tiện lưu trữ thông tin dài hạn, cho phép mạng ghi nhớ các đặc điểm quan trọng của dữ liệu Quá trình huấn luyện mạng nhằm cập nhật các trọng số dựa trên thông tin từ các mẫu học, từ đó nâng cao hiệu quả và chính xác của mô hình.

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

Mạng neural là hệ thống gồm nhiều phần tử xử lý hoạt động song song, với chức năng được xác định bởi cấu trúc mạng, độ lớn các liên kết và quá trình xử lý tại từng nút hoặc đơn vị tính toán.

Mạng neural là một hệ thống xử lý song song lớn, có khả năng lưu trữ kiến thức dựa trên kinh nghiệm và sáng tạo tri thức mới từ dữ liệu đã 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

Hệ thống neural nhân tạo, hay còn gọi là các mạng neural, là tập hợp các tế bào vật lý liên kết với nhau nhằm mục đích thu thập, lưu trữ và sử dụng tri thức, kinh nghiệm một cách hiệu quả.

1.3.2 Một số chức năng của mạng neural nhân tạo 1.3.2.1 Chức năng phân loại mẫu

Phân loại mẫu là quá trình sắp xếp các mẫu thành các nhóm khác nhau, giúp xác định chính xác loại dữ liệu đầu vào Mạng neural đóng vai trò là bộ phân loại mẫu mạnh mẽ, có khả năng tạo ra mẫu ở đầu ra dựa trên mẫu đầu vào đã cho, phù hợp với từng lớp phân loại Điểm khác biệt nổi bật của mạng neural so với các bộ phân loại truyền thống là khả năng học tập và tổng quát hóa, cho phép nó xử lý dữ liệu phức tạp và nâng cao độ chính xác trong phân loại.

1.3.2.2 Học và tổng quát hóa Đầu tiên là việc học, có thể hiểu việc này là cho mạng neural xem một ít mẫu kèm với đầu ra tương ứng với mẫu đó và mạng neural phải học để phân loại đúng được các mẫu này Còn khả năng tổng quát hóa là: mạng neural không chỉ nhận biết được các mẫu nó đã được học mà có thể nhận được các mẫu gần với mẫu nó đã được học Tức là mạng neural có thể suy ra các đặc tính chung của các lớp khác nhau từ các mẫu đã cho Chức năng này tạo ra một chiến lược tính toán rất phù hợp cho việc giải quyết các vấn đề mang tính "động", tức là thông tin về chúng có rất ít hoặc bị thiếu, không đầy đủ Điểu quan trọng là tìm được mô hình mạng và phương pháp học thích hợp đối với từng bài toán

Ngoài ra mạng neural còn có khả năng được huấn luyện để trở thành bộ xấp xỉ hàm liên tục bất kỳ

1.3.3 Lịch sử phát triển của mạng neural nhân tạo

Vào cuối thế kỷ 19 và đầu thế kỷ 20, các nhà khoa học như Herman, Ernst Mach và Ivan Ivalov đã nghiên cứu về vật lý, tâm lý và hệ thần kinh, đề xuất các lý thuyết liên quan đến quá trình học, sự tưởng tượng và quá trình ra quyết định của hệ thần kinh Tuy nhiên, đến thời điểm đó vẫn chưa có một mô tả toàn diện về hoạt động của mạng neural.

Năm 1943, Warren McCulloch và Walter Pitts đã giới thiệu mô hình đơn giản của mạng neural dựa trên mạch điện tử, đánh dấu bước đầu của lĩnh vực trí tuệ nhân tạo và mạng neural nhân tạo Họ khẳng định rằng mạng neural có khả năng thực hiện các phép tính toán hàm số học và các chức năng logic, mở ra tiềm năng ứng dụng rộng rãi trong lĩnh vực trí tuệ máy tính Đây là mốc son quan trọng, khởi đầu cho sự phát triển của các mô hình mạng neural phức tạp hơn sau này.

- Sau đó Donal Hebb đưa ra một cơ chế giải thích cho quá trình học (learning) diễn ra trong các neural sinh học (trong cuốn Organnization of Behaviaor - 1949)

Vào cuối thập niên 1950, Frank Rosenblatt đã đưa ra ứng dụng thực tế đầu tiên của mạng neural nhân tạo—mạng Perceptron kết hợp luật học để nhận dạng mẫu Trong cùng thời gian, Bernard Widrow và Ted Hoff giới thiệu một thuật toán học để huấn luyện các mạng neural tiếp hợp tuyến tính tương tự như mạng của Rosenblatt, đóng vai trò quan trọng trong việc phát triển các công nghệ trí tuệ nhân tạo ban đầu.

Năm 1969, các nhà toán học nổi tiếng Minskey và Papert đã chỉ ra những hạn chế của mạng Perceptron của Rosenblatt cùng với mạng Widrow-Hoff, khiến nhiều người nghĩ rằng nghiên cứu về mạng neural sẽ đi vào bế tắc Hơn nữa, vào thời điểm đó chưa có máy tính số mạnh để thực nghiệm các mạng neural, dẫn đến việc nghiên cứu về mạng nơ-ron bị trì hoãn gần một thập kỷ.

In 1972, Teuvo Kohonen and James Anderson independently developed new neural networks with enhanced memory and self-organizing capabilities During the same period, Stephen Grossberg conducted extensive research on self-organizing networks, contributing significantly to the advancement of autonomous machine learning systems.

Trong thập kỷ 80, ngành công nghiệp máy tính phát triển mạnh mẽ đã thúc đẩy các nghiên cứu về mạng neural tăng lên đáng kể Hai phát kiến quan trọng nhất trong giai đoạn này đã mở ra các hướng mới trong lĩnh vực trí tuệ nhân tạo, góp phần định hình sự tiến bộ của công nghệ mạng neural ngày nay.

Mạng hồi quy một lớp (recurrent network) hoạt động dựa trên nguyên lý cơ học thống kê, giúp mô phỏng quá trình lưu trữ và truy xuất bộ nhớ một cách hiệu quả Loại mạng này được sử dụng như một bộ nhớ kết hợp, cho phép lưu trữ thông tin dài hạn và xử lý dữ liệu theo chuỗi Nhà vật lý John Hopfield đã mô tả rõ ràng về cách hoạt động của mạng hồi quy một lớp dựa trên các nguyên lý của cơ học thống kê Các cơ chế này giúp mạng có khả năng học hỏi và nhận diện mẫu trong dữ liệu phức tạp một cách linh hoạt Việc áp dụng cơ học thống kê vào mạng hồi quy không những nâng cao khả năng mô phỏng bộ nhớ mà còn giúp tối ưu hóa quá trình đào tạo và triển khai các hệ thống trí tuệ nhân tạo.

+ Sử dụng thuật toán lan truyền ngược (back-propagation algorithm) để huấn luyện các mạng perceptron đa lớp (mutilayer perceptron network) David

Rumelhalt và James McClrlland là những người trình bày thuật toán lan truyền ngược có ảnh hưởng nhất (1968)

- Ngày nay, lĩnh vực mạng neural được nghiên cứu, phát triển mạnh mẽ và ứng dụng rất nhiều vào trong thực tế.

Kiến trúc mạng neural

Một neural với rất nhiều đầu vào cũng không đủ để giải quyết các bài toán Ta cần nhiều neural được tổ chức song song tạo thành "lớp" (layer)

Hình 1.5 Cấu trúc chung của mạng neural

Một mạng của lớp S của neural với R đầu vào được biểu diễn bởi hình sau: a= f (Wp + b)

Hình 1.6 Mô hình mạng neural có 1 lớp S neural

Trong lớp neural, mỗi thành phần của đầu vào được kết nối tới từng neuron trong lớp gồm S neuron Ma trận trọng số W có kích thước S hàng và R cột, thể hiện các kết nối giữa các thành phần đầu vào và neuron Véc tơ đầu ra a gồm S phần tử thể hiện kết quả sau quá trình xử lý của mạng neural.

Lớp neural bao gồm ma trận trọng số, các bộ tổng, và véctơ hệ số bias b để xử lý dữ liệu Trong một số tài liệu, đầu vào được xem như một lớp riêng biệt, có chức năng nhận tín hiệu vào, nhưng ở đây, đầu vào được coi là một véctơ các tín hiệu đầu vào thay vì một lớp neural độc lập Do đó, mạng neural này chỉ có một lớp duy nhất, đó là lớp ra của mạng.

Trong một lớp neural, mỗi neuron thứ i có hệ số bias b₁, hàm tổng truyền f và đầu ra aᵢ Khi kết hợp các neuron trong lớp, đầu ra của toàn bộ lớp sẽ tạo thành một vectơ a Thông thường, số lượng đầu vào trong một lớp neural là n.

R, các số neural S Mỗi một neural trong lớp có thể có một hàm truyền riêng không nhất thiết tất cả các neural trong cùng một lớp thì phải có cùng một dạng hàm truyền

1.4.2 Mạng neural nhiều lớp (Multiple Layers of Neurons)

Trong mạng nhiều lớp, mỗi lớp gồm ma trận trọng số W, vectơ bias B, vectơ net input n và vectơ đầu ra a, với các biến được đánh số phụ để phân biệt các lớp khác nhau Ví dụ, W_q đại diện cho ma trận trọng số của lớp q, còn b_q là vectơ bias của lớp q Trong quá trình truyền tín hiệu, đầu vào của lớp 1 (lớp ẩn) được tính bằng công thức a_1 = f_1(W_1 p + b_1), còn đầu ra của lớp 2 (lớp ra) là a_2 = f_2(W_2 a_1 + b_2).

Hình 1.7 Mô hình neural 2 lớp

Hình vẽ minh họa mạng neural có R đầu vào, lớp thứ nhất gồm S₁ neuron, và lớp thứ hai gồm S₂ neuron Đầu ra của các lớp trước làm đầu vào cho các lớp tiếp theo, trong đó lớp thứ hai nhận vào một phần tử của vector ra a₁ từ lớp trước Mỗi lớp sử dụng ma trận trọng số W₂ có kích thước S₂ x phù hợp để xử lý dữ liệu đầu ra, giúp mạng neural học hỏi và phản hồi chính xác hơn.

Lớp cuối cùng của mạng gọi là lớp ra, chịu trách nhiệm đưa ra kết quả dự đoán cuối cùng Các lớp còn lại trong mạng gọi là các lớp ẩn, đóng vai trò xử lý và trích xuất đặc trưng từ dữ liệu đầu vào Một mạng thần kinh điển hình thường gồm một lớp ẩn đầu tiên và một lớp ra để thực hiện nhiệm vụ dự đoán chính xác.

Mạng nhiều lớp có khả năng học các hàm phi tuyến phức tạp hơn mạng một lớp, giúp chúng thể hiện các vấn đề phức tạp hơn trong máy học Ví dụ, mạng hai lớp sử dụng hàm truyền sigmoid ở lớp ẩn và hàm tuyến tính ở lớp ra có thể được huấn luyện để xấp xỉ bất kỳ hàm phi tuyến nào, trong khi mạng một lớp không có khả năng này Đặc điểm này giúp mạng nhiều lớp nâng cao khả năng mô hình hóa dữ liệu phức tạp hơn so với mạng đơn lớp.

Tùy thuộc vào bài toán cụ thể, chúng ta có thể điều chỉnh số lượng đầu vào và số lượng neuron trong mỗi lớp của mạng neural để tối ưu hiệu suất Ví dụ, nếu dữ liệu đầu vào gồm 4 biến, thì kiến trúc mạng sẽ được thiết kế phù hợp với số biến này để đảm bảo khả năng học và dự đoán chính xác Việc chọn đúng số neuron và số đầu vào là yếu tố quan trọng giúp nâng cao hiệu quả của mô hình mạng neural.

Trong mô hình mạng nơ-ron có 4 đầu vào, nếu có 2 tham số đầu ra, thì lớp ra của mạng sẽ chứa 2 neuron ứng với từng tham số Hàm truyền tại lớp ra phụ thuộc vào đặc tính của biến ra; ví dụ, nếu giá trị của biến ra nằm trong khoảng [-1,1], hàm truyền hard limit là lựa chọn phù hợp cho các neuron ở lớp ra.

Trong mạng neural một lớp, kiến trúc mạng được thiết kế dễ dàng tùy thuộc vào bài toán cụ thể Tuy nhiên, với mạng neural nhiều lớp (ít nhất một lớp ẩn), việc xác định số lớp ẩn và số neuron trên từng lớp là một thách thức phức tạp và vẫn đang được nghiên cứu Trong thực tế, người ta thường chỉ sử dụng từ 1 đến 2 lớp ẩn, còn việc dùng từ 3 đến 4 lớp là rất hiếm Mỗi neural có thể có hoặc không hệ số mẫu bias b, giúp mạng có nhiều khả năng hơn để thích nghi với dữ liệu Ví dụ, neural không có hệ số bias sẽ cho kết quả input net bằng 0 khi đầu vào p bằng 0, điều này không tốt và có thể được khắc phục bằng việc thêm hệ số bias, qua đó cải thiện khả năng xử lý của mạng neural.

Phân loại mạng neural

Mạng neural nhân tạo là hệ thống liên kết của các neuron nhân tạo, trong đó các neuron được sắp xếp và bố trí theo một kiến trúc rõ ràng Cách thức các neuron liên kết và tương tác với nhau tạo nên cấu trúc của mạng neural, góp phần thúc đẩy khả năng học hỏi và xử lý dữ liệu hiệu quả Đây là nền tảng quan trọng giúp mạng neural nhân tạo thực hiện các nhiệm vụ trí tuệ nhân tạo như nhận diện hình ảnh, xử lý ngôn ngữ tự nhiên và dự đoán dữ liệu.

Neural network architectures can be categorized into single-layer and multi-layer structures A single-layer neural network features only one output layer, making it suitable for simple tasks, while a multi-layer neural network includes multiple hidden layers, enabling it to handle more complex patterns and functions effectively Understanding these fundamental distinctions is essential for designing appropriate models for various machine learning applications.

Theo cách liên hệ giữa các neural thì kiến trúc mạng truyền thẳng (feedforward networks) và kiến trúc mạng hồi quy (recurrent networks)

Liên kết bên (lateral connection) là một loại liên kết theo sự phân bố các neuron trong không gian hai chiều trong một lớp, góp phần hỗ trợ quá trình tự tổ chức của mạng neural Kohonen đã ứng dụng liên kết này để tạo ra loại mạng tự tổ chức (self-organizing neural network), giúp nâng cao khả năng tự thích nghi và học hỏi của hệ thống.

Các loại mạng neural chính có thể được phân thành hai nhóm dựa trên thuật toán học của chúng: mạng neural có giám sát (supervised learning) và mạng neural không được giám sát (unsupervised learning).

* Kiến trúc mạng truyền thẳng

Kiến trúc mạng truyền thẳng (feedforward neural network) không tạo thành chu trình, với liên kết giữa các neuron hướng từ lớp đầu vào qua các lớp ẩn đến lớp ra Tín hiệu đi qua các lớp theo thứ tự từ đầu vào đến đầu ra, đảm bảo phản hồi nhanh và ổn định cho dữ liệu đầu vào Các liên kết giữa các lớp có thể là liên kết đầy đủ (fully connected) hoặc liên kết một phần (partly connected), phù hợp với nhiều ứng dụng trong học máy.

Hoạt động của mạng neural nhân tạo

1.6.1 Hoạt động của mạng neural

Các neural trong cùng một lớp nhận tín hiệu đầu vào cùng lúc, cho phép xử lý song song hiệu quả Hoạt động của mạng neural được xem như một hệ thống xử lý thông tin gồm nhiều phần tử hoạt động cùng lúc Khi mạng hoạt động, các thành phần của vectơ tín hiệu vào p = (p1, p2, , pR) được đưa vào mạng, kích hoạt dần các neural ở lớp ẩn và lớp ra Sau quá trình tính toán, các neural được kích hoạt hoàn toàn và tạo ra vectơ tín hiệu đầu ra a = (a1, a2, , aS) tại lớp ra Mạng neural có thể được xem như một bảng tra cứu giữa đầu ra a và đầu vào p, mà không cần biết hàm quan hệ tường minh giữa chúng.

Mạng neural khác biệt so với hệ thống xử lý thông thường ở khả năng thích nghi với dữ liệu đầu vào, nhờ vào ma trận trọng số và hệ số bias có thể hiệu chỉnh để phù hợp với bài toán Quá trình này, gọi là huấn luyện mạng neural, giúp mô hình cải thiện hiệu suất bằng cách tối ưu hóa các trọng số và bias dựa trên dữ liệu huấn luyện Điều này giúp hệ thống có khả năng tự điều chỉnh và phản hồi chính xác hơn khi đối mặt với các dữ liệu mới, nâng cao tính linh hoạt và hiệu quả của mô hình trong các ứng dụng trí tuệ nhân tạo.

(training) bằng một số luật học

1.6.2 Luật học của mạng neural

Luật học trong mạng neural là quy trình điều chỉnh trọng số và hệ số bias của mạng thông qua thuật toán huấn luyện, nhằm tối ưu hóa khả năng học tập của mạng Mục tiêu chính của luật học là giúp mạng neural học hỏi và thực hiện các nhiệm vụ mong muốn một cách chính xác và hiệu quả Quá trình này đảm bảo mạng có thể tự điều chỉnh để phù hợp với dữ liệu và yêu cầu của bài toán, nâng cao hiệu suất hoạt động của hệ thống.

Có rât nhiều luật học cho mạng neural Chúng được chia làm 3 loại:

- Luật học có giám sát (supervised learning)

- Luật học không giám sát (unsupervised learing)

- Luật học tăng cường (reinforcement learning)

Trong khuôn khổ đồ án này ta chỉ nghiên cứu luật học có giám sát

*Luật học có giám sát

Một thành phần quan trọng của phương pháp này là sự có mặt của một người thầy bên ngoài hệ thống, người có kiến thức về môi trường thông qua các cặp đầu vào - đầu ra đã biết trước Hệ thống học, như mạng neural, sẽ điều chỉnh các tham số bên trong (trọng số và ngưỡng) để tạo ra một ánh xạ phù hợp, chuyển đổi các đầu vào thành các đầu ra mong muốn Quá trình này dựa trên việc so sánh giữa kết quả đầu ra thực tế và đầu ra mong muốn để thực hiện các chỉnh sửa cần thiết.

Trong luật học, giám sát đề cập đến quá trình cung cấp một tập hợp các mẫu chuẩn (training set) nhằm hướng dẫn mô hình học tập Phương pháp này giúp mô hình hiểu rõ mối quan hệ giữa đầu vào và đầu ra của mạng, từ đó có thể dự đoán chính xác các kết quả mới dựa trên dữ liệu đã học Giám sát là kỹ thuật quan trọng trong trí tuệ nhân tạo và học máy, góp phần nâng cao hiệu quả của các hệ thống dự đoán và phân loại.

Trong mạng neural, p và q là các đầu vào, còn t q là đầu ra đích mà mạng muốn đạt được Khi dữ liệu được đưa vào, hệ thống sẽ so sánh đầu ra thực tế của mạng với đầu ra đích để xác định sai số Sai số này giúp điều chỉnh các trọng số và hệ số bias của mạng nhằm tối ưu hóa và đưa đầu ra thực về gần hơn với đầu ra mong đợi Quá trình này là cốt lõi của quá trình học tập và tối ưu hóa trong mạng neural.

Có hai cách sử dụng tập mẫu học: hoặc học lần lượt từng mẫu, hoặc tất cả các mẫu cùng một lúc

Hình 1.8 mô tả sơ đồ khối của luật học giám sát trong mạng neuronal Để đánh giá mức độ sai lệch giữa vectơ đầu ra của mạng và kết quả đúng, ta sử dụng hàm sai số (error function) Trong đó, hàm tổng bình phương sai số (sum square error function) là hàm phổ biến nhất, tính tổng bình phương các sai số tại đầu ra của các lớp neural, giúp điều chỉnh trọng số mạng một cách chính xác hơn.

Mặt sai số (error surface) là khái niệm quan trọng trong đánh giá sai số của mạng neural Mỗi bộ trọng số và hệ số bias của mạng tương ứng với một điểm trên mặt sai số trong không gian đa chiều Nếu mạng có tổng cộng N trọng số và hệ số bias, thì mặt sai số sẽ tồn tại trong không gian N+1 chiều, trong đó chiều thứ nhất biểu diễn giá trị của các trọng số, còn chiều thứ N+1 biểu diễn sai số của mạng Mục tiêu của quá trình học là tìm ra bộ trọng số và hệ số bias tương ứng với điểm thấp nhất (điểm cực tiểu) trên mặt đa chiều này, giúp tối ưu hóa hiệu suất của mạng.

MẠNG PERCEPTRON ĐA LỚP VỚI LUẬT HỌC LAN TRUYỀN NGƢỢC SAI SỐ

Mạng neural nhiều lớp lan truyền ngƣợc sai số

2.1.1 Tổng quan về mạng neural truyền thẳng nhiều lớp

Mạng Perception chỉ có thể phân loại mẫu khi không gian mẫu là khả tách tuyến tính, nghĩa là các điểm dữ liệu có thể được chia bằng các siêu phẳng Trong trường hợp không gian mẫu không khả tách tuyến tính, cần sử dụng Mạng Perceptron đa lớp (MLP - Multilayer Perceptron) để cải thiện khả năng phân loại Kiến trúc của MLP giúp xử lý các bài toán phức tạp hơn trong phân loại dữ liệu phi tuyến tính.

MLP (Mạng nơ-ron đa lớp) là kiến trúc truyền thẳng nhiều lớp với một hoặc nhiều lớp ẩn, giúp mô hình học các đặc trưng phức tạp Hàm truyền trong MLP có thể xuất hiện dưới nhiều dạng khác nhau, không giới hạn chỉ là hàm hardlimit, mà còn có thể là các hàm kích hoạt như sigmoid, ReLU hoặc tanh để tăng khả năng thể hiện của mạng Trong cùng một lớp, các neural đều sử dụng chung một dạng hàm truyền, đảm bảo tính đồng nhất trong quá trình xử lý thông tin.

Rosenblat và các tác giả đã mô tả các mạng truyền thẳng nhiều lớp từ cuối năm 1950, tập trung chủ yếu vào nghiên cứu sâu về mạng Perceptron một lớp Tuy nhiên, họ gặp khó khăn trong việc điều chỉnh trọng số liên kết tại các lớp ẩn do thiếu phương pháp thay đổi trọng số linh hoạt, dẫn đến hạn chế trong việc mở rộng các mạng phức tạp hơn.

Ngay cả khi đã biết được sai số tại đầu ra, người ta vẫn chưa hình dung rõ cách phân bố các sai số đó ở các neural ẩn, gây ra khó khăn trong việc hiểu và tối ưu hóa mạng Trong cuốn sách về mạng Perceptron xuất bản năm 1969, Minsky và Papert đã nhấn mạnh rằng việc mở rộng luật học từ mạng một lớp sang nhiều lớp gặp nhiều thách thức, do thuật toán học của mạng nhiều lớp có thể không hiệu quả hoặc không hội tụ về cực trị toàn cục Nghiên cứu trong lý thuyết tính toán cũng cho thấy trong trường hợp tồi nhất, quá trình học các hàm tổng quát từ mẫu không phải lúc nào cũng thành công Các nguyên tắc cơ bản trong luật học mạng nhiều lớp được đề xuất bởi Bryson và Ho từ năm 1969, nhưng tới năm 1980, vấn đề này mới được chú ý trở lại nhờ các nghiên cứu của Rumehart năm 1986, mở đường cho việc ứng dụng rộng rãi mạng truyền thẳng nhiều lớp.

Theo thống kê, 90% ứng dụng mạng neural trong công nghệ hóa học sử dụng mô hình này để tối ưu hóa các quá trình và phân tích dữ liệu Tuy nhiên, vẫn có một số tác giả sử dụng mạng neural như các bảng tra cứu, liên kết bộ nhớ hoặc phân lớp để đạt được kết quả khả quan, mặc dù nhiều loại mạng khác thường phù hợp hơn cho các nhiệm vụ này.

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

Hàm truyền f có thể có nhiều dạng không phải chỉ là hàm sigmoid ( ) 1

1 n f x e , các Neural trong cùng một lớp thường có cùng dạng hàm truyền

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

2.1.3 Cơ chế huấn luyện của mạng neural lan truyền ngược sai số

Năm 1986, Rumelhart và McClelland đã đề xuất thuật toán huấn luyện mạng MLP dựa trên nguyên lý lan truyền ngược lỗi (backpropagation) Thuật toán này hoạt động bằng cách truyền ngược độ nhạy (sai số) từ các lớp ra vào các lớp ẩn, từ đó điều chỉnh ma trận trọng số và hệ số bias nhằm giảm thiểu sai số trung bình bình phương (MSE) Đây là bước đột phá trong học máy, giúp cải thiện khả năng học hỏi và tối ưu hóa của mạng neural.

Các nghiên cứu và thực nghiệm cho thấy phương pháp học có giám sát sử dụng thuật toán lan truyền ngược sai số là phương pháp huấn luyện phổ biến và hiệu quả cho mạng neural nhiều tầng truyền thẳng (MLP) trong các bài toán phân loại mẫu Quá trình huấn luyện mạng gồm hai pha ngược chiều nhau là truyền thẳng (xuôi) và lan truyền ngược, giúp tối ưu hóa trọng số của mạng để nâng cao độ chính xác của mô hình.

Trong tập mẫu huấn luyện, gồm các cặp dữ liệu p₁, t₁; p₂, t₂; ; p_Q, t_Q, các đầu vào và đích của mạng neural Khi mẫu p_q được lan truyền qua mạng và tạo ra tín hiệu đầu ra a_q, thuật toán sẽ điều chỉnh các tham số của mạng nhằm tối thiểu hóa sai số bình phương trung bình Quá trình này giúp cải thiện khả năng dự đoán chính xác của mạng theo thời gian huấn luyện.

F(x)= E[e 2 ] = E [ (t -a) 2 ] (1.1) với x là vectơ trọng số và hệ số bias của mạng được viết như sau: b x W

Khi mạng có nhiều đầu ra thì (1.1) được viết dưới dạng vectơ như sau;

F(x)= E[e T e] = E [ (t -a) T (t-a) ] (1.2) đây là trị trung bình của sai số bình phương và thực tế là không tính được mà chỉ có thể xấp xỉ bởi:

Mục tiêu của huấn luyện mạng là nhằm điều chỉnh W là b sao cho F ˆ ( x ) đạt giá trị nhỏ nhất F ˆ ( x )còn được gọi là hàm chất lượng của mạng

Trong bài viết, ta giả sử N là tổng số trọng số và hệ số bias của mạng neural, coi mỗi trọng số và hệ số bias như một biến trong không gian N chiều Hàm F̂(x) có thể xem như một mặt lỗi trong không gian này, nơi mỗi điểm trên mặt đại diện cho một bộ trọng số và bias khác nhau Để tối ưu hóa mô hình, phương pháp giảm dốc nhất (steepest descent algorithm) được sử dụng nhằm tìm điểm thấp nhất trên mặt lỗi bằng cách tính đạo hàm riêng của hàm để cập nhật hệ số trọng số và bias theo hướng giảm dốc.

F ˆ (x) theo từng trọng số và hệ số bias Hiệu chỉnh số và hệ số bias tại bước lặp thứ kiến trúc thượng tầng +1 theo công thức sau: m j w i , (k+1) = w i m , j (K) - m j w i k F

1 ˆ (1.5) Với m là chỉ số lớp của mạng, còn (k) là hê số học (learning rate) tại bước lặp thứ k

Trong các lớp ẩn của mạng neural, F̂.(x) không phải là một hàm hiện, mà là hàm giám tiếp của các trọng số, đòi hỏi phải sử dụng phép tính đạo hàm theo chuỗi (chain rule) để xác định đạo hàm riêng Áp dụng luật dây chuyền, ta giả thiết hàm f là hàm hiện duy nhất của biến n, từ đó có thể tính đạo hàm của F theo biến số thứ ba là w một cách chính xác.

Việc sử dụng hệ số 1.6 cho phép tính đạo hàm riêng của hàm F̂(x) trong các công thức (1.4) và (1.5), giúp tối ưu quá trình huấn luyện mạng neural Tín hiệu vào của neuron thứ i trong lớp thứ m được xác định dựa trên tổng trọng số của các tín hiệu từ lớp trước, cụ thể là: n_{i}^{m} = Σ_{j} (m_{j}^{i} · s_{j}^{m} · a · b · w_{m}), nhằm phản ánh sự kết nối và ảnh hưởng của các neuron trong mạng.

(1.7) với s m 1 là số neural trên lớp m-1 Đây là một hàm hiện của các trọng số và hệ số bias Theo đó ta có :

Sử dụng luật dây chuyền (1.6) ta có:

Trong công thức (1.9) và (1.10) ta đặt : s i m = m n i

Trong đoạn này, công thức (1.11) đề cập đến độ nhạy cảm của hàm số ˆF(x) đối với sự biến đổi tín hiệu vào của mạng neural tại lớp m, đặc biệt là tại đầu vào của neuron thứ i Các công thức trọng số và bias được trình bày trong các phương trình (1.12) và (1.13), thể hiện cách cập nhật trọng số w_mi,j và bias b_i,m dựa trên độ nhạy cảm và các biến số liên quan, nhằm tối ưu hoá quá trình học của mạng neural.

Ma trận độ nhạy cảm của lớp m có thể viết dưới dạng như sau: s m s m m m n m

Khi đó công thức (1.12) và (1.13) trở thành công thức ma trận như sau:

B m ( k 1 ) B m ( k ) s m (1.16) Với W m là ma trận trong số B m là ma trận hệ số bias của lớp m Còn a m 1 là ma trận tín hiệu của lớp m-1

Các nhân tố của quá trình học lan truyền ngƣợc sai số

Trong phần này, chúng ta sẽ phân tích các yếu tố quan trọng ảnh hưởng đến tốc độ hội tụ của mạng neural, khả năng học hỏi hiệu quả, sự xuất hiện của các cực tiểu cục bộ, cũng như khả năng dự báo của mô hình dựa trên thuật toán lan truyền ngược sai số Các nhân tố này đóng vai trò then chốt trong việc tối ưu hóa hiệu suất và độ chính xác của mạng truyền ngược, giúp nâng cao khả năng dự đoán và giảm thiểu các hiện tượng thất bại trong quá trình huấn luyện Việc hiểu rõ các yếu tố này là cách để cải thiện thời gian hội tụ và đạt được kết quả tốt hơn trong các ứng dụng AI và học máy.

+ Khởi tạo các trọng số + Hằng số học Anpha + Hàm giá (sự đánh giá sai số trên lớp ra) + Các luật cập nhật

+ Tập mẫu học và sự báo + Cấu trúc mạng (số lớp, số neural trên mỗi lớp) + Các hàm biến đổi

2.2.1 Khởi tạo các trọng số

Việc khởi tạo giá trị trọng số ban đầu của mạng lan truyền ngược ảnh hưởng rất lớn đến kết quả cuối cùng của quá trình học Các trọng số thường được khởi tạo bằng các số ngẫu nhiên nhỏ để tránh hiện tượng bão hòa của hàm kích hoạt Việc khởi tạo tất cả các trọng số bằng nhau sẽ làm giảm khả năng hội tụ và hiệu quả học của mạng neural Ngoài ra, không nên khởi tạo trọng số quá lớn để tránh hàm sigmoidal hoặc các hàm kích hoạt tương tự bị bão hòa ngay từ những bước đầu, gây cản trở quá trình tối ưu Điều này có thể dẫn đến việc hệ thống bị mắc kẹt tại các điểm cục bộ hoặc trong các vùng phẳng gần điểm bắt đầu, làm giảm khả năng tìm ra lời giải tối ưu.

Một trong những cách tối ưu để chọn trọng số ban đầu là sử dụng phương pháp tự động qua chương trình Cụ thể, các trọng số của lớp thứ m được sinh ngẫu nhiên trong khoảng [-1/n, 1/n], với n là tổng trọng số trên lớp đó, giúp đảm bảo khởi đầu hợp lý cho quá trình huấn luyện mạng neural.

Hằng số học α là yếu tố ảnh hưởng đến hiệu lực và độ hội tụ của thuật toán học lan truyền ngược sai số, nhưng không có giá trị duy nhất phù hợp cho tất cả các bài toán Việc chọn giá trị α thường dựa trên thực nghiệm qua phương pháp thử và sai, với giá trị lớn giúp tăng tốc quá trình hội tụ nhưng có thể dẫn đến kết thúc sớm tại cực tiểu cục bộ Ngược lại, giá trị quá nhỏ làm chậm quá trình hội tụ Do đó, cần cân nhắc giữa tốc độ học và khả năng tránh cực tiểu cục bộ, với các giá trị α trong khoảng 10^-3 đến 10, và khoảng [0.3, 0.6] là lựa chọn phổ biến và chứng minh hiệu quả qua thực nghiệm trong nhiều bài toán cụ thể.

Một vấn đề quan trọng là các giá trị tốt của hằng số học ban đầu có thể không còn phù hợp trong các giai đoạn sau của quá trình học Chính vì thế, việc sử dụng hằng số học thích nghi là một phương pháp hiệu quả hơn để đảm bảo hiệu quả của quá trình học tập.

Phương pháp trực giác giúp kiểm tra xem các trọng số mới đã làm giảm giá hàm mục tiêu chưa Nếu chưa, quá trình điều chỉnh trọng số đã đi quá xa và hằng số học α cần phải được giảm để đảm bảo sự ổn định của quá trình tối ưu Ngược lại, nếu nhiều vòng lặp liên tiếp làm giảm giá hàm, chúng ta có thể xem xét tăng giá trị của hằng số học để thúc đẩy quá trình học hiệu quả hơn.

Bằng biểu thức, hằng số học thích nghi cần được cập nhật theo quy tắc sau:

Trong đó ∆E là thay đổi hàm giá, a,b là các hằng số dương Ý nghĩa của việc "luôn" nhỏ hơn 0 được đánh giá dựa trên k lặp liên tiếp

2.2.3 Tập mẫu học và dự báo

Trong quá trình chọn mẫu học, chúng ta luôn yêu cầu mẫu phải đủ lớn và chính xác để đảm bảo tính đại diện Tuy nhiên, không có một thủ tục hay nguyên tắc chọn mẫu phù hợp hoàn toàn cho mọi trường hợp, đòi hỏi người nghiên cứu phải linh hoạt và sáng tạo trong việc xác định phương pháp phù hợp nhất.

Nguyên tắc quan trọng trong quá trình học máy là tập mẫu phải bao phủ toàn bộ không gian của tín hiệu đầu vào để mạng neural có thể học hiệu quả Để đạt được điều này, dữ liệu vào cần được chọn một cách ngẫu nhiên từ tập mẫu, dựa trên giả định rằng không gian tín hiệu đầu vào được phân chia tuyến tính thành M vùng riêng biệt bởi các siêu phẳng (hyperplanes) Việc xác định P – giới hạn dưới của số mẫu trong tập mẫu – sao cho tỉ số P/M lớn hơn nhiều giúp mạng phân biệt rõ ràng các vùng tách rời trong quá trình học Trong một số trường hợp, chuẩn hóa hoặc tỉ lệ hóa mẫu dữ liệu là cần thiết để cải thiện hiệu quả học của mạng neural Đặc biệt, đối với các mạng neural sử dụng hàm kích hoạt sigmoidal trong quá trình lan truyền ngược, việc tỉ lệ hóa đúng đắn các vectơ đầu vào và đầu ra là rất quan trọng để đảm bảo quá trình huấn luyện đạt kết quả tối ưu.

Mạng neural nhiều lớp lan truyền ngược sai số là phương pháp hiệu quả cho dự báo và sinh lời giải phù hợp, nội suy các tín hiệu chưa biết một cách chính xác Một mạng neural được xem là dự báo tốt khi có khả năng nội suy các tín hiệu đầu vào một cách hợp lý, thể hiện khả năng học và dự báo cao Tuy nhiên, việc mạng có quá nhiều trọng số (tham số) so với số mẫu học có thể dẫn đến hiện tượng quá học (overfitting), làm giảm khả năng tổng quát hóa trên tập kiểm tra Ngược lại, nếu trọng số quá ít, mạng có thể không học được mô hình phù hợp, dẫn đến kết quả kém Để nâng cao hiệu quả học và dự báo, cần làm cho mạng ít nhạy cảm với các biến đổi nhỏ trong tín hiệu đầu vào, đảm bảo rằng các thay đổi nhỏ không gây ảnh hưởng lớn đến tín hiệu ra Điều này có thể đạt được bằng cách thêm các biến đổi nhỏ vào tập mẫu học mà không làm thay đổi giá trị của lời giải, mặc dù phương pháp này có thể kéo dài thời gian huấn luyện Một phương pháp khác là biến đổi dạng của hàm giá trong thuật toán lan truyền ngược, bằng cách tổng hợp hàm giá ban đầu và hàm Jacobian của nó để cải thiện khả năng học của mạng neural.

Trong đó, x_j là thành phần thứ j của véc-tơ đầu vào, lý do căn bản cho giải pháp này là khi tín hiệu đầu vào có thay đổi nhỏ, hàm tránh mới sẽ không thay đổi đáng kể Để tối thiểu hóa hàm tránh mới, các tác giả Drucker và LeCum đã phát triển mạng lan truyền ngược kép, gồm hai tín hiệu sai số là E / w_j và E_b / w_j Kỹ thuật này đã mang lại sự cải thiện rõ rệt trong khả năng dự báo của mạng neural nhiều lớp, đặc biệt là trong quá trình lan truyền ngược sai số.

Cấu trúc mạng

Mạng neural lan truyền ngược sai số có cấu trúc gồm một lớp vào và một lớp ra, đảm bảo quá trình học tập diễn ra hiệu quả Số lớp ẩn trong mạng có thể linh hoạt từ 0 đến nhiều lớp, phù hợp với độ phức tạp của bài toán Đối với từng bài toán cụ thể, số lượng neuron lớp vào và lớp ra thường cố định, dựa trên số biến của véc-tơ đầu vào và véc-tơ kết quả, giúp tối ưu hóa quá trình huấn luyện và dự đoán chính xác hơn.

Trong các mạng neural lan truyền ngược sai số đã được công bố, phần lớn chỉ bao gồm một lớp ẩn với kích thước của lớp ẩn còn là một câu hỏi thường trực trong các ứng dụng Phân tích chính về số lượng neural trên lớp ẩn thường khó thực hiện do tính phức tạp và tính chất không xác định của quá trình học Vì vậy, kích thước của lớp ẩn thường được xác định dựa trên kết quả thực nghiệm Một hướng dẫn chung là đối với mạng neural có kích thước lớn, với tín hiệu đầu vào hàng trăm hoặc hàng nghìn biến, kích thước ban đầu của lớp ẩn chỉ cần là một phần nhỏ so với số lượng neural của lớp đầu vào.

Khi mạng không hội tụ về lời giải, cần tăng dần số neural trên lớp ẩn để cải thiện hiệu suất Ngược lại, nếu mạng có khả năng hội tụ tốt, nên giảm số lượng neural trên lớp ẩn để tối ưu hóa mô hình và tránh overfitting Điều chỉnh số neural phù hợp là yếu tố quan trọng trong quá trình huấn luyện mạng nơ-ron để đạt được kết quả chính xác và ổn định.

Sự hội tụ của thuật toán huấn luyện mạng

Thuật toán huấn luyện ngược hội tụ tối thiểu hóa sai số trung bình bình phương bằng cách điều chỉnh trọng số và hệ số bias theo hướng ngược với véc-tơ gradient của hàm sai số trung bình bình phương Quá trình này giúp thuật toán đi dần đến một giải pháp tối ưu, giảm thiểu lỗi dự đoán và nâng cao hiệu suất của mô hình Đây là phương pháp phổ biến trong học máy để tối ưu hóa các tham số của mô hình dựa trên thuật toán huấn luyện gradient descent.

Phương pháp này có thể hình dung như việc ném một quả bóng lên mặt lỗi rồi để nó tự lăn xuống điểm thấp nhất trên đó, nhưng đối với mạng MLP, hàm sai số trung bình bình phương phức tạp với nhiều cực trị địa phương khiến mặt lỗi nhấp nhô và có nhiều điểm trũng Khi quả bóng được thả từ một điểm ngẫu nhiên trên mặt lỗi, nó có thể lăn xuống điểm trũng gần nhất không nhất thiết là điểm thấp nhất toàn cục, dẫn đến quá trình huấn luyện chỉ chạm đến các cực trị cục bộ của hàm sai số Quá trình huấn luyện mạng phụ thuộc nhiều vào điều kiện khởi tạo ban đầu và cách chọn hệ số học α sau mỗi bước lặp để nâng cao khả năng hội tụ của mạng.

Trong quá trình huấn luyện theo thuật toán lan truyền ngược, việc hội tụ chưa đảm bảo đạt đến phương án tối ưu, mà chỉ dựa trên ngưỡng sai số đã đặt ra để đánh giá Khi ngưỡng sai số tương đối nhỏ, có thể dừng quá trình huấn luyện để tránh quá trình huấn luyện tiếp tục và tăng nguy cơ gây quá phù hợp.

KỸ THUẬT NHẬN DẠNG BẢN RÕ TIẾNG ANH

Bài toán

Bạn đang làm việc với một mẫu văn bản x thuộc ngôn ngữ Anh hoặc một dãy ngẫu nhiên (chữ cái hoặc mã hóa hexa), nhưng chưa xác định rõ loại dữ liệu này là gì Việc phân tích và xác định chính xác dạng dữ liệu giúp tối ưu hóa quá trình xử lý và ứng dụng trong các dự án công nghệ thông tin Đặc biệt, việc nhận biết các định dạng dữ liệu như văn bản tiếng Anh hoặc mã hex sẽ hỗ trợ trong việc giải mã và xử lý dữ liệu hiệu quả hơn Đây là bước quan trọng trong quá trình phân tích dữ liệu, đảm bảo các bước xử lý tiếp theo được chính xác và phù hợp với loại dữ liệu mà bạn đang xử lý.

2 loại nêu trên Hãy xác định xem x thuộc ngôn ngữ cụ thể nào

Trong bài toán này, ký hiệu A0 đại diện cho lớp ngôn ngữ không đọc được, trong khi đó A1 biểu thị lớp ngôn ngữ tiếng Anh Nhiệm vụ của chúng ta là xác định xem x thuộc vào lớp nào trong hai lớp đã nêu trên Việc phân loại này giúp xây dựng các hệ thống xử lý ngôn ngữ tự nhiên chính xác hơn trong các ứng dụng như dịch thuật hoặc nhận diện ngôn ngữ tự động Đáp ứng yêu cầu của bài toán, cần xây dựng các thuật toán phân biệt rõ ràng giữa các lớp ngôn ngữ, đảm bảo khả năng phân biệt chính xác để nâng cao hiệu quả của hệ thống xử lý ngôn ngữ.

Thuật toán gồm hai phần chính: phần off-line xây dựng cơ sở dữ liệu để phục vụ quá trình máy học, và phần on-line thực hiện nhận biết trực tiếp Phần off-line tập trung vào việc xây dựng và tối ưu hóa dữ liệu để nâng cao hiệu quả nhận diện, còn phần on-line đảm bảo khả năng phản ứng nhanh chóng với dữ liệu mới theo thời gian thực Việc kết hợp hai phần này giúp hệ thống hoạt động chính xác, hiệu quả và phù hợp với yêu cầu của các ứng dụng thực tế.

Thuật toán

Dựa trên dữ liệu ngôn ngữ tự nhiên tiếng Anh, chúng tôi xây dựng ước lượng ma trận các xác suất chuyển trạng thái để phản ánh đặc điểm của các loại văn bản khác nhau Quá trình này sử dụng mẫu dữ liệu dài khoảng 10.000 ký tự, bỏ qua các dấu chấm, dấu phẩy và không phân biệt chữ hoa chữ thường, nhằm tăng tính chính xác và đồng nhất Các loại văn bản được tổng hợp gồm chính trị, kinh tế, văn học, địa lý, quân sự, thể thao, ngoại giao, lịch sử, y tế, giáo dục và pháp luật, mỗi loại có khoảng 1.000 ký tự Phương pháp này giúp mô phỏng các trạng thái của ngôn ngữ tự nhiên trong các lĩnh vực khác nhau một cách toàn diện và chính xác hơn.

Tính tần số bộ đôi móc xích của dãy X giúp xác định số lần xuất hiện các cặp chữ cái Latinh trong chuỗi Trong đó, tần số các chữ cái được ký hiệu là X = (x_ij), với i, j thuộc tập các ký tự từ a đến z Việc phân tích này hỗ trợ trong việc hiểu rõ cấu trúc và xu hướng xuất hiện của các ký tự trong chuỗi, có thể ứng dụng trong các bài toán xử lý ngôn ngữ tự nhiên và phân tích dữ liệu văn bản.

Rõ ràng ta có nij n 1 t,t+1 t 1

X (i, j)là số lần xuất hiện cặp ký tự (i,j) đứng kề nhau

Ta có xác suất xuất hiện cặp (i,j) là Pij Do các ngôn ngữ có tính dừng nên xác suất chuyển P ij không phụ thuộc vào t từ là:

Bây giờ ta tính kỳ vọng toán học của đại lượng ngẫu nhiên n ij , ta có kỳ vọng n-1 n-1 ij t,t+1 t,t+1 ij t=1 t=1

Vì vậy rõ ràng là n ij n -1 là ước lượng không chệch đối với tham số Pij Pij

Giả sử i cố định, dựa trên lý luận tương tự, ta có công thức n_{ij}^{n-1} thể hiện ước lượng không chênh của P_{ij} khi i cố định Trong đó, n_{i} = 26, và tổng các j từ 1 đến 26, với j≠i, là tổng số lần xuất hiện của các phần tử liên quan Phương pháp này giúp xác định chính xác các ước lượng thống kê, đảm bảo tính khách quan trong phân tích dữ liệu.

Trong lĩnh vực ước lượng, tồn tại một phương pháp ước lượng có chênh tốt hơn so với ước lượng không chệch, đặc biệt trong việc giảm thiểu sai số trung bình bình phương Phương pháp này sử dụng công thức ước lượng dạng ij = i n + c n + m.c, trong đó c là hằng số thường được chọn như c = 0,5 hoặc c = 1/m, với m là số chữ cái của bảng ngôn ngữ Khi chọn c = 1/m, ta có ước lượng cụ thể là ij = ij i n + 0,0385 n + 1, phù hợp để ước lượng xác suất chuyển Pij trong ma trận chuyển P Phương pháp này giúp đạt được sai số trung bình bình phương nhỏ nhất, tối ưu hóa độ chính xác của mô hình chuyển trạng thái.

Kết quả tính ij được cho ở bảng tương ứng sau:

Từ số liệu của bảng A1

Trong đó lg(.) là logarit cơ số 10 [x] = số nguyên lớn nhất nhưng không bé hơn hoặc bằng x

Hệ số k = 7 này là kết quả thực nghiệm giúp cho việc nhận dạng giữa các lớp được tốt hơn

Gọi A = (a ij ) 26x26 với a ij = 1/26 i,j = 1, 2, , 26 Ma trận của dãy ngẫu nhiên

Như vậy, mỗi phần tử A0 = (a (1) ij ) của ma trận bộ đôi của dãy ngẫu nhiên là hệ số 14,79 ≈ 10.000

26 * 26, lấy 2 chữ số thập phân sau dấu phẩy

Ta có bảng như sau:

Giả sử X là mẫu nào đó X = x1x2 xN với xi {a,b, ,z}, i= 1,2, N Vấn đề đặt ra X thuộc ngôn ngữ tiếng Anh hay là một dãy ngẫu nhiên nào đó?

Ta tiến hành như sau:

Step 1: Tính tần số bộ đôi móc xích của dãy X, tức là ta tính số lần xuất hiện các cặp chữ cái Latinh của dãy đó Giả sử, tần số các chữ cái đó lần lượt được ký hiệu là F = (fij) với i,j = a,b, ,z

Step 2: Tính Tr(F.B) bằng công thức: z z jk jk j=a k =a

Nếu C ≥ 0 thì thuật toán dừng và kết luận X thuộc lớp dãy ngẫu nhiên

Nếu C < 0 thì thuật toán kết thúc và thông báo X thuộc bản rõ tiếng Anh

Hình 3.1 Sơ đồ khối của thuật toán

Tính tần số bộ đôi móc xích của dãy X lưu vào bảng F

X là dãy ngẫu nhiên X là đọc được

Ví dụ 1 : Ta kiểm tra mẫu văn bản:

Cho X = phooi irsia ectoi ueeso oeefp hfspa psoat ltet trpb vtqiu igdsn eknrh e

Vậy với thuật toán thì nó nhận ra thế nào Quá trình thực hiện như sau:

Step 1: Tính tần số bộ đôi móc xích, được bảng sau (ký hiệu bảng F)

Sử dụng bảng B1: tính z z jk jk j=a k =a

Dòng Các phép tính tương ứng trên dòng của bảng B1 và F

Vậy C & > 0 Suy ra X là văn bản không hiểu được

Ví dụ 2 : Cho văn bản X = Edit windows are where you type in and edit your Turbo Pascal code You can also do the following in an Edit window

Tính tần số bộ đôi móc xích, được bảng sau (ký hiệu bảng F)

Sử dụng bảng B1: tính z z jk jk j=a k =a

Dòng Các phép tính tương ứng trên dòng của bảng B1 và F

Vậy C = -357 < 0 Suy ra X là văn bản Tiếng Anh.

CÀI ĐẶT VÀ THỰC NGHIỆM

Kết quả đạt đƣợc

Một chương trình phần mềm trên ngôn ngữ C++ đã được xây dựng nhằm thử nghiệm các phép kiểm định đã nêu trên

Các mẫu thử được lựa chọn là tài liệu Tiếng Anh thuộc các lĩnh vực:

Chuyên môn đa dạng bao gồm chính trị, kinh tế, văn học, địa lý, quân sự, thể thao, ngoại giao, lịch sử, y tế, giáo dục và pháp luật, phản ánh phạm vi rộng lớn của các lĩnh vực kiến thức và hoạt động xã hội Độ chính xác trong việc truyền đạt thông tin phụ thuộc vào độ dài của nội dung, phù hợp với từng mục đích và trường hợp cụ thể Các nội dung này có thể có độ dài khác nhau, từ ngắn gọn đến chi tiết, với số ký tự phù hợp để đảm bảo hiệu quả truyền tải và tối ưu hóa SEO Việc lựa chọn độ dài phù hợp giúp tăng khả năng tiếp cận và hiệu quả của thông điệp trong các chiến dịch truyền thông và giáo dục.

Tiếng Anh Dãy ngẫu nhiên

T.Số Đúng Tỷ lệ T.Số Đúng Tỷ Lệ

Mã nguồn của chương trình

4.2.1 Thủ tục tính tần số bộ đôi với độ dài k int TTSBD(int A[26][26], char *Fname, int k) {

A[i][j]=0; if((F=fopen(Fname,"rt"))==NULL) return 0; int n=0; while (!feof(F)&&n

Ngày đăng: 01/11/2022, 19:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1.] Đinh Mạnh Tường - Trí tuệ nhân tạo Nhà xuất bản khoa học và kỹ thuật - Hà Nội 2002 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo
Tác giả: Đinh Mạnh Tường
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
Năm: 2002
[2.] Hoàng Minh Tuấn - Hồ Văn Canh Nghiên cứu phương pháp thám mã khối trên máy tính song song (Luận văn tiến sỹ) - Dùng hệ điều hành Linux (4/2008).Học viện kỹ thuật quân sự, Bộ Quốc Phòng Sách, tạp chí
Tiêu đề: Nghiên cứu phương pháp thám mã khối trên máy tính song song (Luận văn tiến sỹ) - Dùng hệ điều hành Linux
Tác giả: Hoàng Minh Tuấn, Hồ Văn Canh
Nhà XB: Học viện kỹ thuật quân sự
Năm: 2008
[3.] Hoàng Kiếm - Nguyễn Ngọc Kỷ... Nhận dạng: Các phương pháp và... Nhà xuất bản thống kê 7/1992.Tài liệu tham khảo tiếng Anh Sách, tạp chí
Tiêu đề: Nhận dạng: Các phương pháp và
Tác giả: Hoàng Kiếm, Nguyễn Ngọc Kỷ
Nhà XB: Nhà xuất bản thống kê
Năm: 1992
[4.] Robert J. Schallkoff - Artificial Neural Netwoks The McGraw - Hill Companies, Inc 1997 Khác
[5.] DASPA. Neural Network Study, MA: MIT Lincoln Laboratory, 1988 Khác

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