Học sâu (Deep Learning)

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Phương pháp phát hiện sự tương đồng mã nhị phân của chương trình dựa trên học sâu trong an toàn phần mềm (Trang 31 - 35)

CHƯƠNG 2. CƠ SỞ LÝ THUYET

2.3. Học sâu (Deep Learning)

Học sâu là một lĩnh vực của Trí tuệ nhân tao (Artificial Intelligence) tập

trung vào việc xây dựng và huấn luyện các mô hình máy học sâu để tự động học

từ dit liệu cho trước. Phương pháp này được lấy cảm hứng từ cách hoạt động

của não người, trong đó mạng nơ-ron sinh học trong não xử lý thông tin qua

việc kết nối các nút nơ-ron.

Mục tiêu chính của Học sâu là xây dựng các mô hình máy tính có khả năng

học và hiểu dữ liệu phức tạp để đưa ra dự đoán, phân loại, và giải quyết các bài toán phức tạp. Học sâu có ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm

nhận dạng hình ảnh và video, xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói,

phân tích dit liệu y tế, xe tự hành, và nhiều lĩnh vực khác.

2.3.1. Một số thành phần chính của mang no-ron

Mô hình Mạng Nơ-ron thông thường sẽ có thành phần cơ bản sau:

Lớp đầu vào (Input layer)

e Lớp đầu vào này nhận dữ liệu đầu vào và truyền chúng vào mang

nơ-ron để xử lý.

e Kích thước của lớp đầu vào phụ thuộc vào đặc điểm của dữ liệu và mục tiêu của bài toán cần giải quyết.

Lớp ẩn (Hidden layers)

e Lớp ẩn là nơi xảy ra quá trình biến đổi dữ liệu và trích xuất đặc trưng.

e Mỗi lớp an sẽ có một số nút nơ-ron và các kết nối giữa chúng để truyền

thông tin qua mạng nơ-ron.

Lớp đầu ra (Output layer)

e Lớp này nhận thông tin từ các lớp ẩn và đưa ra kết quả cuối cùng của

mô hình. Hình 2.5

OS é MZ

XS 7 72 VN

Wa 4h

RW

ENS nea,

ORY was VinsAKS

Wayh

A Vg nes

@ input Layer @HiddenLayer @ Output Layer

Hình 2.5: Mô hình mang no-ron

2.3.2. Một số các khái niệm khác

Overfitting

Overfitting là hiện tượng trong mang no-ron khi mô hình quá tinh chỉnh cho

tập dữ liệu huấn luyện cụ thể mà nó không mang tổng quát hóa tốt cho dit liệu mới mà không biết trước. Mạng nơ-ron có thể học các mẫu và quy tắc phức tạp

trong tập dữ liệu huấn luyện, đến mức nó ghi nhớ cả các nhiễu và chi tiết không

cần thiết. Diều này dẫn đến mô hình quá phức tạp và khả năng tổng quát hoá

kém.

Các dấu hiệu của overfitting trong mạng nơ-ron thường là việc đánh giá trên tập dữ liệu huấn luyện thì cho kết quả rất tốt, nhưng khi đánh giá trên một tập khác thì kết quả lại có sự khác biệt lớn.

Underfitting

Underfitting là hiện tượng trong mạng nơ-ron không được cung cấp đủ thông tin và dữ liệu cho quá trình huấn luyện Trong trường hợp này, mạng nơ-ron chưa

đủ khả năng học các mẫu phức tạp và quy tắc trong dữ liệu huấn luyện.

Các dau hiệu của underfitting trong mạng nơ-ron thường là hiệu suất thấp

trên cả tập dữ liệu dùng để huấn luyện và tập dữ liệu dùng để kiểm tra.

Lan truyền thuận (forward propagation)

Lan truyền thuận là quá trình dữ liệu khi được đưa vào mô hình sẽ đi từ các

lớp đầu vào đến các lớp an rồi đến lớp đầu ra. Trong quá trình lan truyền thuận,

đầu vào của mỗi nơ-ron trong mạng được tính toán dựa trên các trọng số kết nối và hàm kích hoạt tương ứng

Quá trình lan truyền thuận bắt đầu bằng việc gán giá trị đầu vào cho các nơ-ron trong lớp đầu vào. Sau đó, thông qua các kết nối trọng số giữa các nơ-ron,

dữ liệu được truyền qua các lớp an của mạng nơ-ron. Mỗi no-ron trong mỗi lớp

tính toán giá trị đầu ra của nó dựa trên giá trị đầu vào và hàm kích hoạt của

nó. Quá trình này lặp lại cho đến khi dữ liệu được truyền qua tất cả các lớp ẩn

va đạt được lớp đầu ra Trong quá trình lan truyền thuận, mạng nơ-ron tính toán giá trị đầu ra dự đoán cho mỗi mẫu dữ liệu đầu vào. Quá trình này cho phép mạng nơ-ron học và thực hiện các dự đoán dựa trên các trọng số được điều chỉnh trong quá trình huấn luyện

Lan truyền ngược (back propagation)

Lan truyền ngược là một thuật toán sử dụng để tính toán đạo hàm của hàm mất mát theo các trọng số của mạng nơ-ron, từ đó điều chỉnh các trọng số để

tối ưu hóa mạng.

Quá trình lan truyền ngược bắt đầu từ việc tính toán đầu ra của mạng nơ-ron dựa trên dữ liệu huấn luyện và các trọng số hiện tại. Sau đó, đạo hàm của hàm mat mát được tính toán đối với các trọng số của mang. Dao hàm này cho biết mức độ ảnh hưởng của từng trọng số đến sự sai khác giữa kết quả dự đoán và giá trị thực tế.

Tiếp theo, đạo hàm được truyền ngược từ lớp đầu ra qua các lớp trước đó

của mạng. Tại mỗi nơ-ron, đạo hàm được tính dựa trên đạo hàm của các nơ-ron

trong lớp tiếp theo và trọng số kết nối tương ứng. Quá trình này tiếp tục cho đến khi đạo hàm được tính toán cho tất cả các nơ-ron trong mạng.

Sau khi đã tính toán được đạo hàm của hàm mất mát theo các trọng số, các trọng số được điều chỉnh sử dụng một thuật toán tối ưu hóa như gradient descent. Thuật toán gradient descent sẽ cập nhật các trọng số theo hướng giảm đạo hàm, từ đó làm giảm hàm mất mát và cải thiện hiệu suất của mạng.

Hàm kích hoạt (Activation function)

Hàm kích hoạt được áp dụng cho mỗi nút nơ-ron trong các lớp ẩn và lớp đầu

ra để tạo ra các đầu ra phi tuyến tính và đưa ra quyết định. Chúng đóng vai

trò quan trọng trong việc tạo ra độ linh hoạt và khả năng học của mạng nơ-ron.

Một số loại hàm kích hoạt là:

e Hàm Sigmoid: Ham sigmoid ánh xạ một giá trị đầu vào vào khoảng

(0, 1). Tức là khi áp dụng hàm này cho một giá trị đầu vào, nó trả về một giá tri trong khoảng từ 0 đến 1.

e Hàm Tanh: Tương tự như hàm sigmoid, hàm tanh ánh xạ giá trị đầu

vào vào khoảng (-1, 1). Nó giúp tăng cường độ dốc của đầu ra so với

hàm sigmoid.

e Ham ReLU (Rectified Linear Unit): Hàm nay trả về giá trị đầu vào

nếu kết quả tính toán lớn hơn 0 và trả về 0 nếu nó nhỏ hơn hoặc bằng

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Phương pháp phát hiện sự tương đồng mã nhị phân của chương trình dựa trên học sâu trong an toàn phần mềm (Trang 31 - 35)

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

(86 trang)