Các lớp mạng nơ-ron và liên kết giữa chúng

Một phần của tài liệu Xây dựng mô hình học máy hỗ trợ chẩn đoán bước đầu bệnh mạch vành dựa trên ảnh chụp SPECT tưới máu cơ tim (Trang 37 - 40)

Mạng nơ-ron nhận một đầu vào là một vec-tơ, mỗi thành phần của vec-tơ có thể coi như một nơ-ron đầu vào và biến đổi các nơ-ron này bằng cách đưa chúng đi qua một loạt các lớp ẩn (hidden layer). Lớp cuối cùng được kết nối đầy đủ được gọi là "lớp đầu ra" (Output layer) và tùy vào loại bài toán áp dụng mà lớp đầu ra này có thể biểu diễn các giá trị khác nhau.

Giả sử gọi là vec-tơ đầu ra của lớp mạng thứ l, vec-tơ đầu ra của lớp thứ

l + 1 được tính theo công thức:

( ) (2.1)

W là ma trận tham số của lớp l có kích thước m x n, với m là kích thước vec-tơ , n là kích thước vec-tơ .

b là vec-tơ bias, cũng là một tham số huấn luyện của lớp l

f được gọi là hàm kích hoạt (activation function), là một hàm phi tuyến có đạo hàm nào đó. Các hàm phi tuyến hay được sử dụng là: ReLU, tanh,...

2.2. Mạng nơ-ron tích chập

2.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) [33] là loại mạng đang ngày càng trở nên phổ biến bởi các ứng dụng đa dạng của nó. Mỗi lớp mạng nơ-ron tích chập sẽ nhận đầu vào được biểu diễn như một khối ba chiều, mỗi khối có thể coi như gồm nhiều ma trận xếp chồng lên nhau và được thể hiện qua ba tham số: chiều dài (có khi cũng được gọi là chiều cao), chiều rộng và chiều sâu.

Các ảnh màu có thể biểu diễn thành dạng khối như vậy bằng cách xếp chồng các ma trận pixel ứng với mỗi kênh màu. Ví dụ với một ảnh trong bộ dữ liệu CIFAR [30] , sẽ có chiều dài, rộng và số kênh là: 32, 32 và 3, ta thu được một khối có kích thước dài x rộng và sâu tương ứng là 32 × 32 × 3. Trong mạng nơ-ron tích chập thì mỗi nơ-ron sẽ được tính toán từ một phần số nơ-ron ở lớp mạng phía trước khác với mạng nơ-ron thông thường khi mà mỗi nơ-ron được tính từ toàn bộ các nơ-ron có ở lớp phía trước. Hình 2.2 so sánh sự khác nhau giữa đầu ra và đầu vào của hai loại mạng nơ-ron thường và mạng nơ-ron tích chập.

Hình 2. 2: Mạng nơ-ron thường (trái) và mạng nơ-ron tích chập (phải)

Mạng nơ-ron tích chập cũng được tạo nên từ các lớp mạng tích chập, mỗi lớp này sẽ thực hiện biến đổi một khối các giá trị có kích thước chiều dài x chiều rộng x chiều sâu (số kênh) thành một một khối giá trị có kích thước khác tương

tự và thường thì ở lớp cuối cùng, khối giá trị đầu ra sẽ được chuyển thành một vec-tơ và cho đi qua một hoặc một vài lớp mạng nơ-ron kết nối đầy đủ để cho ra kết quả cuối cùng.

Kiến trúc mạng nơ-ron tích chập cũng sẽ được tạo nên từ các lớp mạng, các lớp mạng này sẽ biến đổi khối dữ liệu đầu vào thành khối dữ liệu đầu ra thông qua một hàm phi tuyến có đạo hàm. Ttrong kiến trúc của một mạng nơ- ron tích chập điển hình thường bắt đầu bằng một lớp tích chập (Convolutional Layer) theo sau đó là lớp Pooling (Pooling Layer) và thường kết thúc của kiến trúc mạng sẽ lớp kết nối đầy đủ (Fully-Connected Layer). Các loại lớp mạng này sẽ được sắp xếp liên tiếp nhau để tạo thành một kiến trúc mạng đầy đủ.

Một kiến trúc mạng nơ-ron tích chập điển hình sẽ lần lượt có các lớp: Đầu vào → Lớp tích chập → Lớp Pooling → Lớp kết nối đầy đủ → Đầu ra

Lớp đầu vào lớp cung cấp dữ liệu ảnh đầu vào được coi như một khối ba chiều, ví dụ với ảnh CIFAR thì dữ liệu của lớp đầu vào sẽ là một khối có kích thước 32 × 32 × 3.

Lớp tích chập sẽ tính toán đầu ra của nơ-ron trong nó mà có kết nối đến một nhóm các nơ-ron ở lớp trước. Mỗi nơ-ron của lớp tích chập sẽ được tính bằng tích của ma trận tham số của lớp nhân với vec-tơ tạo thành từ các nơ-ron ở lớp mạng trước mà nó kết nối đến nơ-ron đang cần tính toán.

Lớp Pooling sẽ thực hiện giảm kích thước khối đầu vào theo chiều dài và chiều rộng, từ đó làm giảm số lượng tham số cho các lớp phía sau của mạng.

Lớp Kết nối đầy đủ sẽ được sử dụng để tính toán đầu ra cuối cùng cho mạng, cách tính toán giống như một lớp mạng nơ-ron thông thường đã mô tả ở phần 2.1.

Qua các lớp mạng này, ảnh ban đầu sẽ được biến đổi từ một khối các giá trị pixel thành đầu ra cuối cùng tùy thuộc vào bài toán, ví dụ với bài toán phân loại ảnh, giá trị đầu ra có thể là xác suất ảnh thuộc một danh mục nào đó. Trong các lớp mạng này, thì lớp Pooling là lớp không có tham số nào được huấn luyện, các lớp tích chập và lớp kết nối đầy đủ đều có ma trận tham số của riêng chúng. Các tham số này sẽ liên tục được cập nhật lại trong quá trình huấn luyện của mạng.

Ví dụ về bài toán phân loại ảnh với bộ dữ liệu CIFAR sử dụng kiến trúc mạng nơ-ron tích chập được cho ở hình 2.3. Trong hình này, các khối ba chiều đầu ra ở mỗi lớp tích chập được biểu diễn thành một chuỗi các ảnh hai chiều.

Mỗi bộ lọc sẽ tạo ra một ảnh xám. Một lớp tích chập sẽ tạo ra nhiều ảnh xám như vậy, đây có thể coi là các lát cắt theo chiều sâu của khối đầu ra.

Một phần của tài liệu Xây dựng mô hình học máy hỗ trợ chẩn đoán bước đầu bệnh mạch vành dựa trên ảnh chụp SPECT tưới máu cơ tim (Trang 37 - 40)

Tải bản đầy đủ (PDF)

(88 trang)