Chương 1 đã chứng minh được tầm quan trọng của việc phát hiện sớm gãy xương, giới thiệu về phương pháp tiếp cận. Từ đó tóm tắt mục tiêu của đồ án tốt nghiệp. Chương 3 2 là nội dung chi tiết về cơ sở lý thuyết mà đồ án này sử dụng để xây dựng hệ thống phát hiện gãy xương. CƠ SỞ LÝ THUYẾT Chương 2 trình bày các lý thuyết cơ bản được sử dụng trong đồ án bao gồm: Khái niệm mạng nơ-ron tích chập CNN và các bài toán phân vùng ảnh, phát hiện đối tượng và mạng nơ-ron tạo sinh SRGAN.1 Mạng nơ-ron tích chập 2.1 Khái niệm mạng nơ-ron - Neural network 2.1 Cấu trúc cơ bản của mạng nơ-ron Neural Network hay mạng nơ-ron [14] là một mô hình học máy được thiết kế dựa trên cách hoạt động của hệ thần kinh sinh học trong não người.
Mô hình này bao gồm các đơn vị tính toán cơ bản là nơ-ron, được tổ chức thành các lớp để thực hiện các tác vụ học và dự đoán dựa trên dữ liệu đầu vào. Bằng việc điều chỉnh trọng số kết nối giữa các nơ-ron, mạng nơ-ron sẽ thu được khả năng học đáng kể, từ đó giúp nó nắm bắt cách tạo ra các biểu đồ và mô hình phức tạp dựa trên thông tin đầu vào. Mạng nơ-ron thông thường có ba lớp: • Input layer - Lớp đầu vào: Là lớp nhận dữ liệu đầu vào cho mô hình. Số lượng nơ-ron trong lớp này tương đương với số lượng đặc trưng trong dữ liệu (ví dụ: số pixel trong hình ảnh).
• Hidden layer - Lớp ẩn: Đầu ra từ lớp đầu vào được truyền đến lớp ẩn. Mô hình có thể chứa nhiều lớp ẩn tùy thuộc vào độ phức tạp và yêu cầu của dữ liệu. Mỗi lớp ẩn có thể có số lượng nơ-ron khác nhau, thường lớn hơn số lượng đặc trưng. Đầu ra từ mỗi lớp được tính bằng phép nhân ma trận của đầu ra của lớp trước đó với các trọng số có thể học được của lớp đó và sau đó bằng phép cộng các độ lệch (bias), sau đó áp dụng các hàm kích hoạt làm cho mạng trở nên phi tuyến tính (ví dụ: ReLU, Sigmoid).
• Output layer - Lớp đầu ra: Đầu ra từ lớp ẩn sau đó được đưa vào một hàm kích hoạt như sigmoid hoặc softmax để chuyển đổi đầu ra của mỗi lớp thành điểm xác suất của mỗi lớp. Dữ liệu được đưa vào mô hình và đầu ra từ mỗi lớp thu được từ bước trên được gọi là feed-forward, sau đó đo lường chênh lệch giữa dự đoán và thực tế bằng cách sử dụng hàm mất mát, một số hàm mất mát phổ biến là cross entropy, categorical cross entropy, v. Quá trình backpropagation bắt đầu sau khi tính toán lỗi. Mục tiêu là điều chỉnh trọng số và độ lệch trong mạng để giảm thiểu lỗi.
Đạo hàm của hàm mất mát được lan truyền ngược qua mạng để cập nhật trọng số, về cơ bản được sử dụng để giảm thiểu mất 5 mát.1 mô tả một mạng nơ-ron cơ bản với 4 nơ-ron lớp đầu vào, 2 lớp ẩn, mỗi lớp 6 nơ-ron và hai nơ-ron ở lớp đầu ra. Input Layer Hidden Layer Hidden Layer Output Layer ² Hình 2.1 Mạng nơ-ron cơ bản 2.2 Quá trình lan truyền thuận và lan truyền ngược Quá trình lan truyền thuận: Khi một dữ liệu đầu vào được đưa vào mạng nơ-ron, quá trình lan truyền thuận xảy ra, nơi thông tin được lan truyền qua từng lớp mạng một cách tuần tự, từ lớp đầu tiên đến lớp cuối cùng. Mỗi lớp tính toán và chuyển tiếp thông tin đến lớp tiếp theo bằng cách sử dụng hàm kích hoạt và các trọng số đã học. Điều này cho phép mạng nơ-ron học các đặc trưng phức tạp và biểu diễn thông tin của dữ liệu đầu vào một cách hiệu quả.
Sau khi quá trình lan truyền thuận hoàn tất và dự đoán được tạo ra, quá trình lan truyền ngược bắt đầu. Quá trình lan truyền ngược: Quá trình lan truyền ngược là giai đoạn trong huấn luyện của mạng nơ-ron khi mô hình điều chỉnh trọng số và độ lệch để giảm thiểu lỗi giữa nhãn dự đoán và nhãn thực tế của dữ liệu huấn luyện. Đạo hàm của hàm mất mát được tính toán và lan truyền ngược từ lớp đầu ra đến lớp đầu vào để đo lường độ lỗi của từng trọng số. Trọng số và độ lệch được cập nhật dựa trên đạo hàm và một thuật toán tối ưu hóa như "Gradient Descent" và các biến thể của nó là "Stochastic Gradient Descent" (SGD), "Momentum", "Adaptive moment estimation (Adam)", và nhiều phương pháp tối ưu khác sẽ được đề cập ở phần sau.
Gradient Descent tính toán gradient của hàm mất mát theo các trọng số và điều chỉnh các trọng số sao cho hàm mất mát giảm dần. Quá trình lan truyền ngược là cơ sở của quá trình học của mạng nơ-ron, giúp mô hình hiểu và thích ứng với dữ liệu huấn luyện. 6 Cả hai giai đoạn lan truyền thuận và lan truyền ngược đóng vai trò then chốt trong quá trình huấn luyện mạng nơ-ron và giúp mô hình học các biểu diễn phức tạp của dữ liệu. Sự kết hợp giữa hai quá trình này tạo nên một hệ thống mạng nơ-ron mạnh mẽ và hiệu quả, mang lại những thành tựu đáng kể trong nhiều lĩnh vực ứng dụng, bao gồm cả thị giác máy tính, xử lý ngôn ngữ tự nhiên, và nhiều bài toán phức tạp khác.2 Khái niệm mạng nơ-ron tích chập Mạng nơ-ron tích chập - Convolutional Neural Network [15] viết tắt là CNN là một loại mạng nơ-ron đặc biệt được thiết kế đặc trưng cho việc xử lý hình ảnh và thị giác máy tính.
Đặc điểm quan trọng của CNN là khả năng tự học các đặc trưng từ dữ liệu mà không cần sự can thiệp thủ công. Hình ảnh kỹ thuật số được mã hóa thành các giá trị nhị phân tương ứng với mảng các giá trị pixel trước khi đưa vào mạng CNN xử lý. Mạng nơ-ron tích chập bổ sung thêm so với mạng nơ-ron thông thường ở hai khái niệm chính: tích chập (convolution) và cơ chế chia sẻ trọng số (weight sharing).1 Tích chập - Convolution Tích chập là một phép toán số học cơ bản trong xử lý tín hiệu và hình ảnh. Trong mạng CNN, việc sử dụng phép toán tích chập giúp xác định các đặc trưng (features) của hình ảnh một cách hiệu quả.
Đặc trưng này có thể là các cạnh, đường cong, hoặc các đặc điểm quan trọng khác của hình ảnh. Khi thực hiện phép toán tích chập trên một hình ảnh, ta sử dụng một hoặc nhiều bộ lọc (filter) nhỏ có kích thước hữu hạn. Mỗi bộ lọc này thực hiện việc trượt qua toàn bộ hình ảnh và tính tích chập với từng phần nhỏ của hình ảnh, tạo ra một bản đồ đặc trưng (feature maps) mới chứa thông tin về các đặc trưng của hình ảnh.2 Mạng thần kinh tích chập - Convolutional Neural Network Kiến trúc của mạng thần kinh tích chập 2.2 (Convolutional Neural Network - CNN) [15] bao gồm các lớp được xếp chồng lên nhau để hình thành một chuỗi các lớp xử lý dữ liệu. Một kiến trúc CNN cơ bản gồm có: • Convolutional layer - Lớp tích chập: Lớp tích chập là lớp chính của mạng CNN, có nhiệm vụ trích xuất các đặc trưng từ ảnh đầu vào.
Trong lớp này, các bộ lọc (filter) có kích thước nhỏ sẽ trượt qua toàn bộ ảnh đầu vào để tính tích chập. Mỗi lần di chuyển, bộ lọc thực hiện phép tích chập với các giá trị pixel tương ứng trên ảnh. Bộ lọc này có thể được xem như một cửa sổ trượt qua ảnh để phát hiện các đặc trưng như cạnh, góc, hoặc texture. Mỗi bộ lọc tạo ra một bản đồ đặc trưng.
Tổng số bộ lọc trong một lớp tích chập xác định số lượng bản đồ đặc trưng tạo ra. Các bản đồ này chứa thông tin về các đặc trưng cụ thể của ảnh. • Activation layer - Lớp kích hoạt: Sau khi tích chập, Lớp kích hoạt sử dụng hàm 7 kích hoạt để giới hạn giá trị của các nơ-ron trong một khoảng nhất định và thêm tính phi tuyến cho mô hình. Hàm kích hoạt thường là các hàm phi tuyến, như ReLU (Rectified Linear Activation), Sigmoid, hoặc Tanh.
Hàm ReLU là một trong những lựa chọn phổ biến do tính đơn giản và khả năng giải quyết vấn đề biến mất gradient. Lớp kích hoạt giúp mô hình CNN trở nên phi tuyến và có khả năng học được các biểu diễn phức tạp từ dữ liệu hình ảnh, làm cho mô hình có khả năng tự học các đặc trưng quan trọng. • Pooling layer - Lớp tổng hợp: Lớp tổng hợp có nhiệm vụ lấy mẫu xuống làm giảm kích thước của các bản đồ đặc trưng được từ lớp tích chập bằng cách chọn giá trị đại diện từ các vùng nhỏ trong bản đồ. Điều này giúp giảm số lượng tham số và tính toán trong mạng, đồng thời giữ lại các thông tin quan trọng, giúp tăng tốc quá trình huấn luyện và giảm nguy cơ overfitting.
Lớp tổng hợp thường sử dụng phép toán như tổng hợp theo giá trị cực đại (max pooling) hoặc tổng hợp theo giá trị trung bình (average pooling).3, bộ lọc kích thước 2 × 2 trượt trên ma trận đầu vào trong mỗi bước nhảy (s = 2) và chia nó thành những vùng khác nhau. Mỗi ô trong ma trận đầu ra lấy giá trị trung bình hoặc lớn nhất của vùng tương ứng.2 Kiến trúc mạng nơ-ron tích chập 8 Hình 2.3 Ví dụ về lớp pooling Fully Connected layer - Lớp kết nối đầy đủ: Sau khi sử dụng các lớp tích chập và tổng hợp, các bản đồ đặc trưng đã được giảm kích thước và thu gọn thông tin. Để đưa thông tin bản đồ đặc trưng vào lớp kết nối đầy đủ, ta cần làm phẳng bản đồ đặc trưng thành một véc tơ 1 chiều, quá trình này gọi là "flatten". Sau khi đã hoàn thành bước "flatten", vectơ dữ liệu 1 chiều sẽ được đưa vào lớp kết nối đầy đủ.
Trong lớp này, mỗi nơ-ron kết nối với tất cả các nơ-ron trong lớp trước đó. Điều này tạo ra một mô hình có khả năng học được các mối quan hệ phức tạp và tổ hợp của đặc trưng từ các lớp trước đó. Output layer - Lớp đầu ra: Lớp đầu ra thể hiện kết quả cuối cùng của mạng, chẳng hạn như xác suất của các lớp đối tượng cần phân loại. Các hàm kích hoạt thường được sử dụng ở lớp này phụ thuộc vào bài toán, trong đồ án sử dụng hàm softmax cho bài toán phân loại nhiều lớp.3 Cơ chế chia sẻ trọng số - Weight sharing Weight sharing trong mạng nơ-ron tích chập (CNN) 2.2 là một kỹ thuật quan trọng giúp giảm lượng tham số cần được học trong quá trình huấn luyện mô hình và cũng giúp tăng khả năng tổng quát hóa của mô hình.