CHƯƠNG I: MỘT SỐ VẤN ĐỀ CƠ SỞ XÂY DỰNG GAN 1 Mạng nơ ron học sâu 1.1 Neural network Neural network (mạng nơ ron) là một phương pháp trong trí tuệ nhân tạo được áp dụng để dạy máy tính xử lý dữ liệu theo cách lấy cảm hứng từ bộ não con người. Bản chất mạng nơ ron là mô phỏng cách bộ não con người xử lý thông tin. Điều thú vị là nó không chỉ học từ dữ liệu, mà nó còn có khả năng tự điều chỉnh, tự cải thiện theo thời gian. Nếu ta đặt cho nó một nhiệm vụ và nó làm sai, nó sẽ học từ sai lầm đó và thực hiện tốt hơn ở lần tiếp theo.
Perceptrons: Một mạng nơ-ron được cấu thành bởi các nơ-ron đơn lẻ được gọi là các perceptron. 1 Cấu tạo một Perceptron. Các thành phần đơn lẻ của perceptron - Inputs (Giá trị của một hoặc nhiều đầu vào ) - Weights and bias (trọng số và độ lệch) - Weighted sum (Tổng trọng số) 7 - Activation function(Hàm kích hoạt) Weights và bias là hai thành phần thiết yếu của mô hình perceptron. Đây là những tham số có thể học được và khi mạng được huấn luyện, cả hai tham số đề được điều chỉnh để đạt được giá trị và đầu ra mong muốn.
Weights ( trọng số) được sử dụng để xác định tầm quan trọng của từng tính năng trong việc dự báo giá trị đầu ra. Các tính năng có giá trị gần bằng 0 được coi là có ít trọng số hoặc mức độ liên quan hơn. Những giá trị này ít quan trọng hơn trong quá trình dự đoán so với các đặc điểm có giá trị lớn hơn 0, được gọi là trọng số có giá trị cao hơn. Nếu trọng số dương thì nó có liên quan trực tiếp với giá trị mục tiêu, nếu nó âm, nó có mối quan hệ nghịch đảo với giá trị địch.
Độ lệch (bias) trong mô hình học máy được sử dụng để tạo ra sự linh động và điều chỉnh cho mô hình. Bias cho phép perceptron tính đến các tình huống trong đó các đầu vào không đủ để nắm bắt độ phức tạp của vấn đề. Nó cho phép perceptron tìm hiểu ranh giới quyết định tốt hơn bằng cách thay đổi chúng theo hướng mong muốn. Độ lệch cùng với các trọng số giúp mô hình có khả năng học được mối quan hệ phi tuyến giữa đầu vào và đầu ra, điều này là quan trọng để mô hình có thể xử lý các tình huống phức tạp.
Độ lệch là một tham số quan trọng giúp mô hình nâng cao khả năng linh hoạt, thích ứng với dữ liệu và học được các mối quan hệ phức tạp trong quá trình huấn luyện. 2 Đồ thị của hàm với bias. Xét dạng chuẩn của hàm tuyến tính và bỏ qua hàm kích hoạt có công thức f(x) = ax+b. Độ lệch của chúng ta hiện tại là thành phần b.
Nếu bỏ qua bias hay b=0 thì nhận thấy hàm luồn đi qua gốc tọa độ [0,0]. Nếu giữ nguyên a và thay đổi b thì các hàm mới sẽ luôn song song với nhau. Chúng ta sẽ nhận thấy rằng nếu không có thành phần bias sẽ mất đi tính linh hoạt của của hàm. Hàm kích hoạt (activation function) là một thành phần quan trọng trong mạng neural, đặc biệt là trong các lớp ẩn của mô hình.
“Phi tuyến tính hóa”. Một trong những chức năng chính của hàm kích hoạt là giúp mô hình trở nên phi tuyến tính. Điều này cho phép mạng neural học được các biểu diễn phức tạp và phi tuyến tính của dữ liệu, giúp nó giải quyết các vấn đề phức tạp và không gian biểu diễn rộng lớn hơn. Non-linearity (Phi tuyến tính): Hàm kích hoạt giúp mô hình trở nên phi tuyến tính bằng cách thêm tính không tuyến tính vào đầu ra của các lớp ẩn.
Điều này là quan trọng để mô hình có thể học được các mối quan hệ phức tạp giữa các đặc trưng đầu vào. Hàm kích hoạt giúp mô hình có khả năng học được biểu diễn đồng thời của đầu vào. Điều này có nghĩa là mô hình có thể xử lý và học được các tương tác phức tạp giữa các đặc trưng đầu vào. Cách hoạt động của một perceptron 𝑛 𝑂𝑢𝑡𝑝𝑢𝑡 = 𝑓 (∑ 𝑤𝑖 𝑥𝑖 + 𝑏) 𝑖=1 9 F() : là hàm kích hoạt Wi : trọng số tương ứng với mỗi đầu vào Xi : các giá trị đầu vào b : là bias Mô hình perceptron bắt đầu bằng phép nhân tất cả các giá trị đầu vào và trọng số của chúng, sau đó cộng các giá trị này lại với nhau để tạo ra tổng có trọng số.
Sau đó, tổng có trọng số này được áp dụng cho hàm kích hoạt 'f' để thu được đầu ra mong muốn. Hàm kích hoạt này còn được gọi là hàm bước và được biểu thị bằng 'f'. Multi-Layer Perceptron: Hình 1. 3 Kiến trúc mạng neural network.
Neural network(mạng nơ ron) là sự kết hợp của những tầng perceptron hay còn gọi là perceptron đa tầng. Tầng input layer (tầng vào): Tầng này nằm bên trái cùng của mạng, thể hiện cho các đầu vào của mạng. Tầng output layer (tầng ra): Là tầng bên phải cùng và nó thể hiện cho những đầu ra của mạng. 10 Tầng hidden layer (tầng ẩn): Tầng này nằm giữa tầng vào và tầng ra, nó thể hiện cho quá trình suy luận logic của mạng.
Giống như mô hình perceptron một lớp, mô hình perceptron nhiều lớp cũng có cấu trúc mô hình tương tự nhưng có số lớp ẩn nhiều hơn. Mô hình perceptron nhiều lớp còn được gọi là thuật toán Backpropagation, thực hiện theo hai giai đoạn như sau: - Giai đoạn chuyển tiếp: Các chức năng kích hoạt bắt đầu từ lớp đầu vào ở giai đoạn chuyển tiếp và kết thúc ở lớp đầu ra. - Giai đoạn lùi: Trong giai đoạn lùi, các giá trị trọng số và độ lệch được sửa đổi theo yêu cầu của mô hình. Trong giai đoạn này, sai số giữa đầu ra thực tế và yêu cầu bắt nguồn từ lớp đầu ra và kết thúc ở lớp đầu vào.
Do đó, mô hình perceptron nhiều lớp được coi là nhiều mạng nơ ron nhân tạo có nhiều lớp khác nhau trong đó hàm kích hoạt không duy trì tuyến tính, tương tự như mô hình perceptron một lớp. Thay vì tuyến tính, hàm kích hoạt có thể được thực thi dưới dạng sigmoid, TanH, ReLU, v.2 Deep learning Hình 1. 1 Hình ảnh học sâu trong trí tuệ nhân tạo. Deep learning(học sâu) là một phần của trí tuệ nhân tạo, nó 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, có nghĩa là chúng có nhiều 11 lớp nơ-ron.
Deep learning giúp máy tính học từ dữ liệu phức tạp và tự tạo ra các biểu diễn phức tạp của thông tin. Các mô hình deep learning thường lớn với hàng trăm hoặc thậm chí hàng nghìn lớp nơ-ron và triệu tham số. Để huấn luyện chúng, cần lượng lớn dữ liệu và tài nguyên tính toán, nhưng kết quả có thể là khả năng hiểu biết sâu sắc và khả năng thích ứng với dữ liệu mới. Deep learning được xây dựng để mô phỏng khă năng tư duy của bộ não con người.
Quy trình hoạt động cũng có một số đặc điểm sau: - Kiến Trúc Đa Lớp: Mạng nơ-ron được chia thành nhiều lớp, với càng nhiều lớp thì mạng càng "sâu". Mỗi lớp chứa các nút nơ-ron và các kết nối giữa chúng. - Trọng Số Kết Nối: Mỗi kết nối giữa các nút có một trọng số tương ứng, cho thấy mức độ quan trọng của kết nối đó đối với mạng. Trọng số càng cao, ảnh hưởng càng lớn.
- Chức Năng Kích Hoạt: Mỗi nơ-ron có một chức năng kích hoạt, có trách nhiệm chuẩn hóa đầu ra từ nơ-ron. Chức năng này giúp định rõ sự kích thích và truyền thông tin trong mạng. - Dữ Liệu Đầu Vào và Đầu Ra: Dữ liệu được người dùng nhập vào mạng thần kinh và trải qua tất cả các lớp. Kết quả được sinh ra ở lớp đầu ra, nơi mà mô hình ra dự đoán hoặc phân loại.
- Quá Trình Đào Tạo: Mô hình cố gắng điều chỉnh các trọng số để tối ưu hóa hiệu suất. Điều này thường được thực hiện thông qua các thuật toán như lan truyền ngược, giúp mô hình học từ dữ liệu và cải thiện khả năng dự đoán. Ưu Điểm: 12 - Khả Năng Học Đặc Trưng Tự Động: Deep learning có khả năng tự học và trích xuất các đặc trưng phức tạp từ dữ liệu, giúp giảm thiểu sự phụ thuộc vào việc thiết kế đặc trưng thủ công. - Hiệu Suất Cao Trong Nhiều Lĩnh Vực: Trong nhiều ứng dụng như nhận diện hình ảnh, xử lý ngôn ngữ tự nhiên, và dự đoán chuỗi thời gian, deep learning đã đạt được hiệu suất vượt trội so với các phương pháp truyền thống.
- Khả Năng Tự Điều Chỉnh (Adaptability): Mô hình deep learning có khả năng thích ứng với dữ liệu mới một cách tự động, giúp duy trì hiệu suất khi có thêm thông tin. - Đa Dạng và Linh Hoạt: Deep learning có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ y tế đến tài chính, và có thể mô hình hóa nhiều loại dữ liệu khác nhau. Nhược Điểm: - Yêu Cầu Dữ Liệu Lớn: Deep learning thường đòi hỏi lượng lớn dữ liệu để đạt hiệu suất tốt, điều này có thể là một thách thức trong những ứng dụng có ít dữ liệu. - Tính Phức Tạp Cao: Mô hình deep learning thường rất phức tạp và đòi hỏi tài nguyên tính toán lớn.
Điều này có thể làm tăng chi phí triển khai và duy trì. - Nguy cơ Overfitting: Trong một số trường hợp, deep learning có thể dễ bị quá mức hóa mô hình (overfitting), đặc biệt là khi dữ liệu đào tạo không đủ. Deep learning được sử dụng rộng rãi trong các lĩnh vực, bắt đầu từ nhận diện khuôn mặt hay đối tượng trong hình ảnh, đến dịch máy tự động trong ngôn ngữ tự nhiên. Công nghệ này đang mang lại nhiều cơ hội mới và thách thức thú vị trong nghiên cứu và thực tế.3 Convolutional Neural Network (CNN) Tại sao cần mô hình CNN ? Mô hình CNN (Convolutional Neural Network) được sử dụng rộng rãi trong lĩnh vực thị giác máy tính vì nó có nhiều ưu điểm.
CNN có khả năng tự động học các đặc trưng của ảnh thông qua việc áp dụng các bộ lọc và pooling layers. Điều này giúp cho mô hình có khả năng nhận dạng và phân loại ảnh tốt hơn. CNN cũng có khả năng xử lý ảnh nhanh chóng và hiệu quả, giúp giảm thời gian tính toán. Ngoài ra, CNN cũng có khả năng xử lý được các đối tượng có kích thước và hình dạng khác nhau trong ảnh.
Vì những ưu điểm này, mô hình CNN được sử dụng rộng rãi trong các ứng dụng thị giác máy tính như nhận dạng khuôn mặt, phân loại ảnh, và xử lý ảnh y tế.