Luận văn: Nhận dạng hình ảnh bằng mạng neural tích chập (CNN) và truyền thống

Luận văn thạc sĩ nghiên cứu mô hình nhận dạng hình ảnh kết hợp mạng neural tích chập (CNN) và mạng truyền thống (MLP) trên tập dữ liệu CIFAR-10.

Chuyên ngành

Kỹ thuật Điện tử

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2017

86
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn toàn diện nhận dạng ảnh bằng CNN và mạng neural

Trong kỷ nguyên số, nhận dạng hình ảnh đã trở thành một lĩnh vực cốt lõi của trí tuệ nhân tạo (AI), đặc biệt với sự trỗi dậy của học sâu (deep learning). Phương pháp kết hợp Mạng Nơ-ron Tích chập (CNN) và mạng neural truyền thống, như Mạng Perceptron Đa lớp (MLP), đang mở ra những tiềm năng vượt trội. Cách tiếp cận này không chỉ kế thừa khả năng trích xuất đặc trưng không gian mạnh mẽ của CNN mà còn tận dụng sức mạnh xử lý thông tin cục bộ của MLP. Nghiên cứu của Vương Quang Phước (2017) đã chứng minh rằng mô hình hybrid AI này, còn được gọi là Network in Network (NiN), mang lại hiệu quả cao trong các bài toán phân loại hình ảnh phức tạp. Bằng cách xây dựng các khối kiến trúc xen kẽ giữa lớp tích chập và các lớp MLP, mô hình có thể học được các biểu diễn trừu tượng và tinh vi hơn từ dữ liệu đầu vào. Sự kết hợp này giải quyết nhiều hạn chế của các mạng truyền thống, giúp huấn luyện mô hình sâu hơn và hiệu quả hơn, đặc biệt khi áp dụng trên các bộ dữ liệu lớn như CIFAR-10. Các công nghệ nền tảng như TensorFlowPyTorch, cùng với thư viện OpenCV cho xử lý ảnh, đã tạo điều kiện thuận lợi cho việc triển khai và thử nghiệm các thuật toán nhận dạng ảnh tiên tiến này.

1.1. Giới thiệu về học sâu và thị giác máy tính hiện đại

Học sâu là một nhánh của học máy, sử dụng các mạng nơ-ron nhân tạo có nhiều lớp (sâu) để học hỏi từ lượng lớn dữ liệu. Trong lĩnh vực thị giác máy tính, deep learning cho ảnh đã tạo ra một cuộc cách mạng. Thay vì phải thiết kế các bộ trích xuất đặc trưng thủ công, các mô hình học sâu, đặc biệt là mạng nơ-ron tích chập, có khả năng tự động học các đặc trưng phân cấp từ cấp thấp (cạnh, góc) đến cấp cao (bộ phận, đối tượng). Sự phát triển của phần cứng, như GPU, và sự sẵn có của các bộ dữ liệu khổng lồ như ImageNet đã thúc đẩy những tiến bộ vượt bậc, cho phép giải quyết các bài toán như phát hiện đối tượng, phân đoạn ảnh và nhận dạng khuôn mặt với độ chính xác chưa từng có.

1.2. Vai trò của mạng nơ ron nhân tạo trong xử lý ảnh

Mạng nơ-ron nhân tạo (ANN), lấy cảm hứng từ cấu trúc não bộ con người, là nền tảng của các mô hình học sâu. Trong xử lý ảnh, ANN hoạt động bằng cách nhận dữ liệu đầu vào (ví dụ: các pixel của một bức ảnh), xử lý thông tin qua các lớp nơ-ron ẩn và đưa ra dự đoán ở lớp đầu ra. Mỗi nơ-ron trong mạng thực hiện một phép tính toán đơn giản, nhưng khi kết hợp hàng triệu nơ-ron lại với nhau, chúng có thể học được các mối quan hệ vô cùng phức tạp. Các kiến trúc như LeNet của Yann LeCun là những ví dụ tiên phong cho thấy tiềm năng của ANN trong việc giải quyết các bài toán nhận dạng chữ số viết tay, đặt nền móng cho các kiến trúc mạng CNN phức tạp hơn sau này.

II. Thách thức trong phân loại hình ảnh và hạn chế của MLP

Bài toán phân loại hình ảnh tự nhiên phải đối mặt với vô số thách thức. Dữ liệu hình ảnh trong thực tế rất đa dạng và phức tạp, gây khó khăn cho các hệ thống thị giác máy tính. Các yếu tố như sự thay đổi về góc nhìn, tỷ lệ, hình dạng của đối tượng, điều kiện ánh sáng và tình trạng bị che khuất đều ảnh hưởng lớn đến độ chính xác của mô hình. Một đối tượng có thể xuất hiện với nhiều hình dạng và kích thước khác nhau, hoặc bị che khuất một phần, đòi hỏi thuật toán nhận dạng ảnh phải có khả năng khái quát hóa cao. Thêm vào đó, sự đa dạng về chủng loại trong cùng một lớp đối tượng (ví dụ: nhiều giống mèo khác nhau) và sự nhầm lẫn với bối cảnh xung quanh là những rào cản lớn. Các mô hình truyền thống như Mạng Perceptron Đa lớp (MLP) bộc lộ nhiều hạn chế khi xử lý các vấn đề này. Mặc dù MLP có khả năng học các hàm phi tuyến, cấu trúc kết nối toàn bộ (fully-connected) của nó không hiệu quả trong việc xử lý dữ liệu có cấu trúc không gian như hình ảnh. Nó làm phẳng dữ liệu đầu vào thành một vector, từ đó làm mất đi thông tin về mối quan hệ không gian giữa các pixel, một yếu tố cực kỳ quan trọng trong xử lý ảnh.

2.1. Các vấn đề phức tạp trong bài toán nhận dạng ảnh tự nhiên

Nhận dạng ảnh tự nhiên là một trong những bài toán khó nhất do sự biến thiên lớn của dữ liệu. Các thách thức chính bao gồm: biến dạng góc nhìn (một vật thể nhìn từ các hướng khác nhau), biến dạng tỷ lệ (kích thước vật thể thay đổi), biến dạng hình thái (con người có thể đứng, ngồi, nằm), che khuất (vật thể bị che một phần), điều kiện ánh sáng khác nhau, và sự tương đồng giữa đối tượng và nền. Theo tài liệu nghiên cứu, những yếu tố này đòi hỏi mô hình phải có khả năng bất biến với các phép biến đổi hình học và quang học. Việc giải quyết các thách thức này là mục tiêu chính của các kiến trúc deep learning cho ảnh hiện đại.

2.2. Tại sao mạng Perceptron đa lớp MLP chưa đủ hiệu quả

Mạng MLP, hay mạng kết nối toàn bộ, xử lý mỗi pixel đầu vào một cách độc lập mà không xem xét đến các pixel lân cận. Điều này làm mất đi cấu trúc không gian 2D của hình ảnh. Hơn nữa, với hình ảnh có độ phân giải cao, số lượng tham số trong mạng MLP sẽ bùng nổ, dẫn đến chi phí tính toán khổng lồ và nguy cơ overfitting cao (mô hình học thuộc dữ liệu huấn luyện nhưng không khái quát hóa được trên dữ liệu mới). Do đó, MLP không phải là lựa chọn tối ưu cho các tác vụ trích xuất đặc trưng từ hình ảnh, mở đường cho sự ra đời của mạng nơ-ron tích chập (CNN).

III. Sức mạnh của mạng nơ ron tích chập trong trích xuất đặc trưng

Mạng nơ-ron tích chập (CNN) là một kiến trúc học sâu được thiết kế đặc biệt để xử lý dữ liệu dạng lưới, chẳng hạn như hình ảnh. Không giống như MLP, CNN tận dụng cấu trúc không gian của dữ liệu để trích xuất đặc trưng một cách hiệu quả. Nền tảng của CNN dựa trên ba ý tưởng chính: vùng tiếp nhận cục bộ (local receptive fields), trọng số chia sẻ (shared weights), và lấy mẫu (pooling). Thay vì kết nối mọi nơ-ron ở lớp trước với mọi nơ-ron ở lớp sau, mỗi nơ-ron trong một lớp tích chập chỉ kết nối với một vùng nhỏ của lớp trước. Điều này giúp mạng tập trung vào việc học các đặc trưng cục bộ như cạnh, góc, và các hoa văn nhỏ. Việc chia sẻ trọng số trên toàn bộ ảnh cho phép mạng phát hiện cùng một đặc trưng ở các vị trí khác nhau, tạo ra tính bất biến dịch chuyển và giảm đáng kể số lượng tham số cần học. Cuối cùng, các lớp pooling giúp giảm kích thước không gian của các bản đồ đặc trưng, làm cho mô hình trở nên mạnh mẽ hơn trước những thay đổi nhỏ về vị trí của đặc trưng. Kiến trúc mạng CNN đã trở thành tiêu chuẩn vàng cho hầu hết các bài toán thị giác máy tính.

3.1. Phân tích kiến trúc mạng CNN Vùng tiếp nhận và trọng số chung

Vùng tiếp nhận cục bộ (local receptive field) là một cửa sổ nhỏ (ví dụ 3x3 hoặc 5x5 pixel) trượt trên ảnh đầu vào. Mỗi nơ-ron trong lớp tích chập sẽ xử lý thông tin từ vùng này. Ý tưởng này bắt nguồn từ hệ thống thị giác của động vật, nơi các tế bào thần kinh cũng chỉ phản ứng với một vùng nhỏ trong trường thị giác. Trọng số dùng chung (shared weights), hay còn gọi là bộ lọc (filter) hoặc hạt nhân (kernel), được áp dụng lặp đi lặp lại trên toàn bộ ảnh. Mỗi bộ lọc được thiết kế để phát hiện một đặc trưng cụ thể. Việc dùng chung trọng số này không chỉ giúp giảm số lượng tham số mà còn cho phép phát hiện đối tượng bất kể vị trí của nó trong ảnh.

3.2. Lớp Pooling và ReLU Tối ưu hóa mô hình nhận dạng ảnh

Lớp Pooling, thường là Max-Pooling hoặc Average-Pooling, có nhiệm vụ giảm kích thước của các bản đồ đặc trưng. Ví dụ, một lớp Max-Pooling với cửa sổ 2x2 sẽ lấy giá trị lớn nhất trong mỗi vùng 2x2, giảm chiều rộng và chiều cao của dữ liệu xuống một nửa. Quá trình này giúp giảm chi phí tính toán và kiểm soát overfitting. Bên cạnh đó, hàm kích hoạt phi tuyến ReLU (Rectified Linear Unit) được sử dụng rộng rãi trong các kiến trúc mạng CNN hiện đại. ReLU có công thức f(x) = max(0, x), giúp giải quyết vấn đề triệt tiêu gradient (vanishing gradient) và tăng tốc độ hội tụ của mô hình so với các hàm truyền thống như sigmoid hay tanh.

IV. Phương pháp kết hợp CNN và MLP Mô hình hybrid AI đột phá

Để khai thác tối đa ưu điểm của cả hai kiến trúc, phương pháp kết hợp CNN và MLP, được gọi là mô hình hybrid AI, đã ra đời. Ý tưởng cốt lõi, được đề xuất bởi Min Lin và cộng sự trong mô hình Network in Network (NiN), là thay thế các bộ lọc tuyến tính truyền thống trong CNN bằng các vi mạng nơ-ron phức tạp hơn, cụ thể là các mạng MLP nhỏ. Trong kiến trúc này, sau mỗi lớp tích chập để trích xuất đặc trưng không gian, một hoặc nhiều lớp MLP được chèn vào để xử lý thông tin tại mỗi vị trí pixel trên các kênh (feature map) khác nhau. Về bản chất, các lớp MLP này hoạt động như các lớp tích chập với kích thước bộ lọc 1x1, cho phép mô hình học các kết hợp phi tuyến phức tạp hơn của các bản đồ đặc trưng. Sự kết hợp này giúp tăng cường khả năng biểu diễn của mạng mà không làm tăng đáng kể số lượng tham số. Mô hình CNN-MLP không chỉ khai thác thông tin không gian giữa các pixel lân cận (nhờ CNN) mà còn khai thác thông tin cục bộ giữa các kênh đặc trưng tại cùng một vị trí (nhờ MLP). Đây là một bước tiến quan trọng trong việc xây dựng các thuật toán nhận dạng ảnh mạnh mẽ và hiệu quả hơn.

4.1. Cấu trúc mô hình Network in Network NiN hiệu quả

Mô hình NiN bao gồm các khối "mlpconv" được xếp chồng lên nhau. Mỗi khối chứa một lớp tích chập theo sau là một vi mạng MLP. Vi mạng MLP này có thể bao gồm nhiều lớp kết nối toàn bộ với các hàm kích hoạt phi tuyến như ReLU. Bằng cách này, thay vì chỉ thực hiện một phép biến đổi tuyến tính, mỗi bộ lọc có thể thực hiện một phép tính toán trừu tượng và phức tạp hơn. Theo nghiên cứu gốc, cấu trúc này giúp "tăng cường khả năng phân biệt của các bộ lọc cục bộ". Cuối cùng, thay vì sử dụng các lớp kết nối toàn bộ lớn, NiN sử dụng một lớp Global Average Pooling để tạo ra các bản đồ tin cậy cho mỗi lớp, giảm thiểu overfitting và làm cho mô hình dễ diễn giải hơn.

4.2. Vai trò của hàm Softmax và Dropout trong mô hình kết hợp

Trong các mô hình phân loại hình ảnh, lớp cuối cùng thường là một hàm Softmax. Hàm này nhận đầu vào là các điểm số (logits) từ lớp trước và chuyển đổi chúng thành một phân phối xác suất trên các lớp. Lớp có xác suất cao nhất sẽ là dự đoán cuối cùng của mô hình. Để chống lại hiện tượng overfitting, một kỹ thuật hiệu quả là Dropout. Dropout hoạt động bằng cách loại bỏ ngẫu nhiên một số nơ-ron (cùng với các kết nối của chúng) trong quá trình huấn luyện. Điều này buộc mạng phải học các biểu diễn mạnh mẽ hơn và không quá phụ thuộc vào một số ít nơ-ron, từ đó cải thiện khả năng khái quát hóa trên dữ liệu chưa thấy.

V. Đánh giá thuật toán nhận dạng ảnh trên bộ dữ liệu CIFAR 10

Hiệu quả của thuật toán nhận dạng ảnh kết hợp CNN-MLP được đánh giá thực nghiệm trên bộ dữ liệu chuẩn CIFAR-10. Bộ dữ liệu này chứa 60.000 ảnh màu kích thước 32x32 pixel, được phân vào 10 lớp khác nhau như máy bay, ô tô, chim, mèo, v.v. Đây là một bộ dữ liệu tiêu chuẩn để kiểm tra khả năng của các mô hình thị giác máy tính. Trong luận văn của Vương Quang Phước, một mô hình LeNet cải tiến (sử dụng CNN đơn thuần) được dùng làm cơ sở để so sánh với mô hình hybrid AI CNN-MLP. Quá trình đánh giá tập trung vào tỷ lệ nhận dạng lỗi trên tập kiểm tra. Kết quả thực nghiệm cho thấy kiến trúc kết hợp CNN-MLP đạt được tỷ lệ lỗi thấp hơn đáng kể so với mô hình LeNet, khẳng định ưu điểm của việc tích hợp MLP để tăng cường khả năng xử lý thông tin cục bộ giữa các kênh. Ngoài ra, nghiên cứu cũng khảo sát sâu về tác động của các siêu tham số (hyperparameters) như tốc độ học (learning rate), tỷ lệ dropout, và số lượng khối CNN-MLP. Việc tinh chỉnh các tham số này đóng vai trò quan trọng trong việc tối ưu hóa hiệu năng của mô hình deep learning cho ảnh.

5.1. So sánh hiệu năng giữa mô hình LeNet và mô hình CNN MLP

Mô hình LeNet, mặc dù là một kiến trúc mạng CNN kinh điển, nhưng khi áp dụng cho bài toán phức tạp hơn như CIFAR-10, nó bộc lộ những hạn chế về khả năng trích xuất đặc trưng. Ngược lại, mô hình CNN-MLP, với cấu trúc sâu hơn và các khối mlpconv, cho thấy khả năng học các biểu diễn trừu tượng tốt hơn. Kết quả thực nghiệm trong tài liệu chỉ ra rằng "mô hình kết hợp CNN và MLP" thể hiện được ưu điểm rõ rệt, mang lại kết quả hứa hẹn về tỷ lệ nhận dạng. Sự cải thiện này chứng tỏ việc bổ sung các phép biến đổi phi tuyến phức tạp tại mỗi vị trí pixel là một chiến lược hiệu quả.

5.2. Tác động của siêu tham số hyperparameter đến kết quả

Việc lựa chọn các siêu tham số có ảnh hưởng lớn đến kết quả cuối cùng. Tốc độ học (Learning Rate) quá lớn có thể khiến mô hình không hội tụ, trong khi quá nhỏ sẽ làm quá trình học rất chậm. Kỹ thuật Dropout, khi được áp dụng với tỷ lệ phù hợp, giúp giảm đáng kể khoảng cách hiệu năng giữa tập huấn luyện và tập kiểm tra, cho thấy khả năng chống overfitting hiệu quả. Thêm vào đó, việc tăng số lượng khối con CNN-MLP có thể cải thiện độ chính xác, nhưng cũng làm tăng chi phí tính toán và đòi hỏi nhiều dữ liệu hơn để tránh overfitting. Quá trình thực nghiệm này nhấn mạnh tầm quan trọng của việc tinh chỉnh và lựa chọn siêu tham số tối ưu cho bài toán phân loại hình ảnh cụ thể.

04/10/2025

Trích đoạn nội dung tài liệu

Chương 1 đưa ra bức tranh tổng thể về bài toán phân loại hình ảnh cũng như về Deep Learning và mạng Neuron. Chương 2 sẽ tiếp tục trình bày về mạng Neuron nhân tạo nói chung và đi vào chi tiết về các khái niệm cơ bản, ý tưởng và các khối chính trong kiến trúc của 2 hệ thống mạng sẽ được sử dụng để xây dựng mô hình kết hợp trong luận văn, đó là: mô hình mạng MLP (Multi-Layer Perceptron) và CNN (Convolutional Neural Network). Mạng Neuron nhân tạo 2. Cấu trúc một Neuron sinh học Bộ não chúng ta sử dụng một mạng lớn các neuron liên kết với nhau để xử lí thông tin.

Ở não người trưởng thành có hơn 100 tỉ tế bào neuron, mỗi tế bào liên kết với khoảng 100 ngàn tế bào neuron khác [10]. Các tín hiệu xung điện thế đầu vào được đưa qua mạng Neuron này và trả về các giá trị đầu ra khác nhau. Đối với bộ não sinh học, tín hiệu đầu ra này có thể là kích thích co cơ hay báo hiệu tuyến mồ hôi để tiết mồ hôi. Cấu trúc cơ bản của một neuron sinh học được mô tả như hình 2.

Tế bào neuron thần kinh của con người [11]. Trong đó: - Dendrites là các dây dẫn dữ liệu mảnh, dài, gắn liền với các neuron, truyền dữ liệu (dưới dạng xung điện thế) đến cho neuron. - Nucleus là nhân của tế bào, chúng tiếp nhận các tín hiệu được truyền đến neuron, tổng hợp và xử lý các tín hiệu nhận được. - Axon là một loại dây dẫn dữ liệu nhưng khác với Dendrites, Axon có khả năng phát các xung điện thế, dẫn tín hiệu từ Nucleus đi nơi khác.

13 Axon nối với Dendrites của các neuron khác bằng các mối nối đặt biệt, gọi là Synapse. Khi điện thế của các mối nối này tăng lên do xung phát ra từ axon thì nó sẽ nhả ra một số chất hóa học (neurotransmitters), các chất này sẽ mở cửa Dendrites để cho các ion truyền qua, làm thay đổi điện thế trên Dendrites. Neuron tính tổng các giá trị điện thế mà nó nhận được và phát đi một xung khác nếu giá trị cộng được lớn hơn một ngưỡng nhất định. Tín hiệu sẽ tiếp tục được truyền qua các Axon đến Bouton.

Các Bouton này có thể được nối với hàng ngàn các neuron khác thông qua các Synapse. Đó là cách các neuron thần kinh của chúng ta hoạt động. Cấu trúc một Perceptron Mô hình neuron nhân tạo được xây dựng dựa trên các neuron sinh học. Các neuron này được gọi là các Perceptron, được công bố bởi Frank Rosenblatt vào đầu những năm 1960 dựa trên những nghiên cứu ban đầu của Warren McCulloch và Walter Pitts [1].

Cấu trúc của một Perceptron được mô tả trong hình. Cấu trúc của một Perceptron đơn giản. Nguyên lý làm việc của Perceptron, dựa trên phương pháp sử dụng các trọng số để xét và lựa chọn giá trị ngõ ra. Nguyên lý này khá đơn giản và có thể mô tả sơ lược như sau: Như hình trên, Perceptron có nhiều ngõ vào (input) xi (x1,x2,x3…xn) tương ứng với n đầu vào dữ liệu.

Rosenblatt đã đưa ra một quy luật đơn giản để tính toán giá trị ngõ ra, cụ thể, ông đưa ra giá trị trọng số (weight) wi. Trọng số là các số thực thể hiện mức độ quan trọng của dữ liệu ngõ vào, có tác động quyết định đến giá trị ngõ ra. Giá trị trọng số có thể làm tăng hoặc giảm vai trò của ngõ vào thông qua tích xi. Hàm tổng (Sum), có vai trò tính tổng trọng số ∑𝑖 𝑥𝑖.

𝑤𝑖 của tất cả các ngõ vào của neuron. Giá trị ngõ ra (output) là 0 hoặc 1, được xác định dựa trên tổng trọng số bé hơn hay lớn hơn giá trị ngưỡng quyết định (threshold). Ta có giá trị ngõ ra: 14 0 nếu ∑𝑖 𝑥𝑖 𝑤𝑖 ≤ 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 𝑜𝑢𝑡𝑝𝑢𝑡 = { (2.1) 1 nếu ∑𝑖 𝑥𝑖 𝑤𝑖 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 Bằng cách thay đổi giá trị trọng số và giá trị ngưỡng quyết định, chúng ta có được nhiều mô hình quyết định khác nhau. Trên thực tế, để đơn giản hoá cách mô tả Perceptron người ta thay thế ∑𝑖 𝑥𝑖 𝑤𝑖 = 𝑤 ∙ 𝑥, với w và x tương ứng là các vector chứa trọng số và giá trị ngõ vào.

Thay đổi thứ hai là chuyển tham số ngưỡng threshold sang vế trái và định nghĩa tham số b (bias) để thay thế cho ngưỡng quyết định threshold.2) Giá trị ngõ ra output có thể xác định lại như sau: 0 nếu 𝑤 ∙ 𝑥 + 𝑏 ≤ 0 𝑜𝑢𝑡𝑝𝑢𝑡 = { (2.3) 1 nếu 𝑤 ∙ 𝑥 + 𝑏 > 0 Giá trị bias b có thể xem là thang đo, và có quyết định lớn đến việc Perceptron đưa ra giá trị ngõ ra là 1. Ví dụ, với Perceptron có giá trị b rất lớn, thì ngõ ra dễ dàng được quyết định là giá trị 1. Ngược lại, trường hợp b có giá trị âm lớn thì ngõ ra lại rất khó để nhận được giá trị là 1. Sigmoid neuron Hệ thống neuron nhân tạo được xây dựng nhằm mục đích giải quyết các bài toán bằng phương thức tự điều chỉnh thông qua giải thuật huấn luyện cho mạng Neuron.

Giả sử, chúng ta xây dựng mạng Perceptron để giải quyết một vài bài toán. Ví dụ, trong bài toán nhận dạng chữ số viết tay, dữ liệu ngõ vào có thể là các điểm ảnh từ bản scan hay ảnh chụp viết tay của các chữ số. Kì vọng của chúng ta đặt ra là hệ thống mạng có thể học tập và điều chỉnh các thông số w và b sao cho ngõ ra phân loại đúng được chữ số tương ứng với dữ liệu ảnh ở ngõ vào. Cơ chế tự học có thể được hình dung, khi có một sự thay đổi nhỏ của giá trị trọng số w hay bias b trong mạng, sẽ có một sự thay đổi nhỏ tương ứng (đáp ứng) ở giá trị ngõ ra output của mạng.

Bằng sự thay đổi nhỏ chúng ta có thể điều chỉnh cho hệ thống hướng dần đến kết quả chính xác theo cách chúng ta mong muốn [1]. Có thể mô tả phương thức hoạt động thông qua hình vẽ sau: 15 Hình 2. Sự thay đổi nhỏ các giá trị trọng số dẫn đến sự thay đổi nhỏ tương ứng ở ngõ ra. Tuy nhiên, hệ thống chứa các Perceptron không thể thực hiện được phương pháp này.

Thực tế, khi có sự thay đổi nhỏ các thông số w hay b thì ngõ ra Perceptron tồn tại sự thay đổi đột ngột từ 1  0 hay từ 0  1. Hàm kích hoạt của Perceptron [1]. Xuất phát từ nhu cầu giải quyết vấn đề trên, Sigmoid neuron ra đời. Về cơ bản, Sigmoid neuron tương tự với Perceptron, tuy nhiên, khi có sự thay đổi nhỏ thông số hệ thống thì ngõ ra cũng sẽ có sự thay đổi nhỏ tương ứng.

Do đó, mạng cấu thành từ các Sigmoid neuron có thể học tập được. Mô hình Perceptron đơn giản. Giống với Perceptron, Sigmoid neuron có các ngõ vào x1, x2… nhưng thay vì chỉ nhận giá trị 0/1, ngõ vào có thể nhận bất kì giá trị nằm trong khoảng [0,1]. Ví dụ, ngõ vào của Sigmoid neuron có thể nhận giá trị 0,148… Bên cạnh đó, Sigmoid neuron 16 cũng có các trọng số w1, w2… và bias b.

Tuy nhiên, giá trị ngõ ra, không chỉ có 0/1 mà thay vào đó ngõ ra có giá trị 𝑜𝑢𝑡𝑝𝑢𝑡 = 𝜎(𝑤. 𝑥 + 𝑏) với σ được gọi là hàm Sigmoid được định nghĩa: 1 𝜎(𝑧) = (2.4) 1+𝑒 −𝑧 Với 𝑧 = ∑𝑗 𝑤𝑗 𝑥𝑗 + 𝑏 ngõ ra của Sigmoid neuron được viết lại theo các tham số w, x và b như sau: 1 𝑜𝑢𝑡𝑝𝑢𝑡 = − ∑𝑗 𝑤𝑗 𝑥𝑗 −𝑏 (2.5) 1+𝑒 Về hoạt động, giả sử khi 𝑧 = ∑𝑗 𝑤𝑗 𝑥𝑗 + 𝑏 có giá trị lớn, z  +∞ thì 𝑒 −𝑧 ≈ 0 và do đó 𝜎(𝑧) ≈ 1. Hay nói cách khác, trong trường hợp 𝑧 càng lớn thì giá trị ngõ ra sẽ có xu hướng tiến về 1, tương tự như cách Perceptron hoạt động. Và ngược lại, khi z  -∞ thì 𝑒 −𝑧 ≈ ∞ và lúc này 𝑜𝑢𝑡𝑝𝑢𝑡 = 𝜎(𝑧) ≈ 0.

Hoạt động của hàm Sigmoid Neuron, có thể quan sát thông qua hình 2. Minh họa hàm Sigmoid [1]. Thực tế, Δ𝑜𝑢𝑡𝑝𝑢𝑡 có thể tính xấp xỉ [1]: 𝜕𝑜𝑢𝑡𝑝𝑢𝑡 𝜕𝑜𝑢𝑡𝑝𝑢𝑡 Δ𝑜𝑢𝑡𝑝𝑢𝑡 = ∑𝑗 Δ𝑤𝑗 + Δ𝑏 (2. Multi-layers Perceptron (MLP) Việc ra đời Perceptron vào những năm 1960 đã đánh dầu bước đầu cho sự phát triển của mạng Neuron nhân tạo.

Tuy nhiên nó chỉ là bước khởi đầu và vẫn còn nhiều hạn chế, đơn cử là mạng Perceptron chỉ giải quyết được một số bài toán AND, NAND… tuy nhiên lại không thể giải quyết được bài toán XOR [1]. Đến năm 1986, David Rumelhart và James McClelland đã giới thiệu mạng đa lớp Multi-Layer hay 17 Multi-Layer Perceptron (MLP). Thực tế, mạng MLP được cấu thành từ các Sigmoid neuron chứ không phải các Perceptron. Về cơ bản, cấu trúc mạng MLP có chứa ít nhất 3 lớp neuron, bao gồm: Hình 2.

Một mô hình mạng MLP gồm các lớp Full Connection. Từ trái sang phải, lớp đầu tiên được gọi là lớp ngõ vào (input layer), các neuron bên trong lớp này được gọi là neuron ngõ vào (input neuron). Các neuron ngõ vào cung cấp dữ liệu từ ngoài vào mạng, hay đơn giản là chuyển thông tin đến các lớp tiếp theo. Lớp cuối cùng hay còn gọi là lớp ngõ ra (output layer) chứa các neuron ngõ ra (output neuron), trong trường hợp trên, lớp ngõ ra chỉ có 1 neuron ngõ ra.

Các neuron ngõ ra có nhiệm vụ thực hiện tính toán và truyền thông tin ra bên ngoài. Cấu trúc mạng đa lớp MLP. Lớp ở giữa được gọi là lớp ẩn (hidden layer) nhằm để chỉ các neuron trong lớp này không kết nối đến thông tin ở ngõ vào cũng như ngõ ra. Các neuron này thực hiện nhận thông tin từ các lớp phía trước, tính toán và chuyển thông tin đến các lớp phía sau.

Như hình trên, thì mạng chỉ có một lớp ẩn, trong một số trường hợp, số lớp ẩn có thể nhiều hơn. Ví dụ, mạng 4 lớp như hình 2.8, có đến 2 lớp ẩn. Mạng Neuron tích chập (Convolutional Neural Network – CNN) Trong phần trước, tôi đã trình bày về mạng Neuron với các mô hình cơ bản bao gồm Perceptron và MLP. Tuy nhiên, việc ứng dụng mô hình mạng kết nối hoàn toàn 18 (full connection) vào giải quyết bài toán phân loại ảnh lại cần được cân nhắc.

Hai vấn đề cần được chú ý đến: Thứ nhất, đồng thời với việc sử dụng các lớp Full connection, mỗi dữ liệu ngõ vào sẽ được đưa đến tất cả các node của lớp ẩn thứ nhất, và giá trị sau đó lại tiếp tục được đưa đến tất cả các neuron của lớp ẩn thứ hai. Nhận thấy, với kích thước dữ liệu lớn, thì hệ thống sẽ trở nên cồng kềnh, gây hao tổn bộ nhớ và số lượng phép tính tăng vọt sau mỗi lớp ẩn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ