2.1.2.1. Giới thiệu mạng nơ ron tớch chập
Mạng nơ ron tớch chập (CNN - Convolutional Neural Network) [81,82,83,84] là một trong những mụ hỡnh học sõu phổ biến hiện nay giỳp chỳng ta xõy dựng được những ứng dụng thống thụng minh với độ chớnh xỏc cao, đặc biệt là trong xử lý ảnh, xử lý tiếng núi, xử lý õm thanh,… Đõy là một trong những mạng nơ ron truyền thẳng đặc biệt, xử lý dữ liệu dạng lưới. Mạng CNN là một mạng nơ ron đơn giản sử dụng phộp tớch chập trong cỏc phộp nhõn ma trận tại ớt nhất một trong cỏc lớp của nú. Trong CNN, cỏc lớp liờn kết với nhau thụng qua cơ chế tớch chập (convolution). Lớp tiếp theo là kết quả nhõn chập từ lớp trước đú nờn ta cú được cỏc kết nối cục bộ. Mỗi lớp được ỏp dụng một bộ lọc khỏc nhau. Trong quỏ trỡnh huấn luyện, CNN sẽ tự động học cỏc tham số cho cỏc bộ lọc. Hỡnh 2.2 minh họa một kiến trỳc CNN trong bài toỏn phõn loại ảnh.
Hỡnh 2.2. Một kiến trỳc CNN cho bài toỏn phõn loại ảnh [84]
Kiến trỳc mạng CNN gồm cỏc lớp cơ bản sau:
Lớp tớch chập (Convolution): Đõy là lớp quan trọng nhất trong mạng thể hiện ý tưởng xõy dựng của mạng. Lớp này sử dụng một bộ lọc xếp chồng vào một vựng trong ma trận dữ liệu và thực hiện tớnh toỏn nhõn chập giữa bộ lọc và giỏ trị dữ liệu trong vựng mà nú xếp chồng. Bộ lọc sẽ lần lượt được dịch chuyển theo một giỏ trị bước trượt (stride) chạy dọc theo ma trận dữ liệu và quột dữ liệu. Cỏc trọng số ban đầu của bộ lọc được khởi tạo ngẫu nhiờn và được điều chỉnh trong quỏ trỡnh huấn luyện mụ hỡnh.
Lớp kớch hoạt phi tuyến (ReLU - Rectified Linear Unit): Lớp ReLU thường được thiết kế ngay sau lớp tớch chập. Lớp này thực hiện chuyển toàn bộ cỏc giỏ trị õm trong kết quả của lớp tớch chập thành giỏ trị 0, để tạo tớnh phi tuyến cho mụ hỡnh.
Lớp lấy mẫu (Pooling): Thực hiện lấy mẫu dữ liệu, lớp này thường được thiết kế sau lớp tớch chập và lớp ReLU để làm giảm kớch thước dữ liệu đầu ra mà vẫn giữ được cỏc thụng tin quan trọng của dữ liệu đầu vào. Lớp Pooling sử dụng một cửa sổ trượt quột qua toàn bộ ma trận dữ liệu, mỗi lần trượt theo một bước trượt (stride) cho trước. Khi cửa sổ trượt trờn dữ liệu, chỉ cú một giỏ trị được xem là giỏ trị đại diện cho thụng tin dữ liệu tại vựng đú (giỏ trị mẫu) được giữ lại. Cỏc phương thức phổ biến trong lớp Pooling là Max Pooling (lấy giỏ trị lớn nhất), Min Pooling (lấy
29
giỏ trị nhỏ nhất) và Average Pooling (lấy giỏ trị trung bỡnh). Hỡnh 2.3 minh họa việc tớnh toỏn với phương thức Avarage Pooling và Max Pooling.
Hỡnh 2.3. Tớnh toỏn với phương thức Average Pooling và Max Pooling [82] Lớp kết nối đầy đủ (FC - Fully Connected): Lớp này giống như lớp trong mạng nơ ron truyền thống, cỏc giỏ trị dữ liệu được liờn kết đầy đủ vào cỏc nỳt trong lớp tiếp theo. Sau khi dữ liệu được xử lý và trớch rỳt đặc trưng từ cỏc lớp trước đú thỡ kớch thước dữ liệu đó giảm rất nhiều nờn cú thể sử dụng mạng nơ ron truyền thống để phõn loại dữ liệu. Lớp FC đúng vai trũ như mụ hỡnh phõn lớp.
2.1.2.2. Mạng CNN cho bài toỏn xử lý ngụn ngữ tự nhiờn
Mạng CNN sử dụng để trớch chọn cỏc đặc trưng của văn bản cho cỏc nhiệm vụ trong xử lý ngụn ngữ tự nhiờn được mụ tả trong [85]. Mụ hỡnh CNN sử dụng nhiều bộ lọc (với cỏc kớch thước cửa sổ khỏc nhau) để thu được nhiều đặc trưng. Cỏc đặc trưng này tạo thành lớp sỏt lớp trờn cựng (penultimate) và được chuyển đến lớp FC với hàm kớch hoạt softmax để trả ra phõn phối xỏc suất của cỏc cõu.
Quỏ trỡnh trớch xuất một đặc trưng từ một bộ lọc được mụ tả chi tiết như sau: Cho xi∈ m là vộc tơ từ m chiều tương ứng với từ thứ i trong cõu. Một cõu cú độ dài n (thờm khoảng trắng nếu cần) được biểu diễn là:
1 n 1 2 3... n
x x x x x (2.1) trong đú: ⊕ là phộp ghộp nối. Một cỏch tổng quỏt, ký hiệu xii+j biểu diễn cỏch ghộp nối cỏc từ x xi, i1,xi1,...,xi j . Phộp tớch chập với bộ lọc w ∈ hmđược ỏp dụng cho một cửa sổ cú h từ để tạo ra một đặc trưng mới. Đặc trưng ci được tạo ra từ một cửa sổ cỏc từ xi i h 1 được biểu diễn là:
1
(w. )
i i i h
c f x b (2.2) với b ∈ là cỏc phần tử độ lệch (bias) và f là hàm phi tuyến. Bộ lọc này được ỏp dụng cho tất cả cỏc cửa sổ từ cú thể cú trong cõu {x1h, x2h+1,..., xn−h+1n} để tạo ra một bản đồ đặc trưng (feature map)
1 2 3 1
[ , , ,..., n h ]
c c c c c (2.3) với c ∈ n−h+1. Sau đú, ỏp dụng phộp toỏn Max Pooling [86] trờn bản đồ đặc trưng và lấy giỏ trị lớn nhất cˆmax{c}là đặc trưng tương ứng với mỗi bộ lọc.
30