Đồ Án Chuyên Ngành: Ứng Dụng Học Chuyển Đổi Cho Mạng Đối Sinh

Khám phá đồ án chuyên ngành ứng dụng học chuyển đổi cho mạng đối sinh, phân tích và tối ưu hóa hiệu suất mạng trong nghiên cứu hiện đại.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án chuyên ngành

2022

61
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu đề tài

1.2. Mô tả đề tài

1.3. Lý do chọn đề tài

1.4. Cấu trúc đồ án

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT – CÔNG NGHỆ SỬ DỤNG

2.1. Giới thiệu về deep learning

2.1.1. Khái niệm

2.1.2. Cách thức hoạt động

2.1.3. Ứng dụng thực tế

2.2. Mạng tích chập – Convolutional Neural Network

2.2.1. Khái niệm

2.2.2. Các thành phần trong mạng tích chập

2.2.2.1. Lớp tích chập (Convolution)
2.2.2.2. Đệm (padding)
2.2.2.3. Bước trượt (Stride)
2.2.2.4. Hàm chuẩn hoá (normalization)
2.2.2.4.1. Batch normalization
2.2.2.4.2. Weight normalization
2.2.2.4.3. Layer normalization
2.2.2.4.4. Instance normalization

2.3. Công nghệ sử dụng

2.3.1. Ngôn ngữ Python

2.3.2. Thư viện tensorflow

2.3.3. Thư viện OpenCV

2.3.4. Thư viện QT

3. CHƯƠNG 3: THỰC NGHIỆM VÀ KẾT QUẢ

3.1. Thiết lập mô hình huấn luyện

3.2. Bộ dữ liệu

3.3. Tài nguyên huấn luyện mô hình

3.4. Kết quả huấn luyện

3.5. Chức năng ứng dụng

3.5.1. Màn hình chính

3.5.2. Chức năng chọn ảnh từ thiết bị

3.5.3. Chức năng chuyển đổi ảnh

3.5.4. Chức năng xóa ảnh

3.5.5. Chức năng xem chi tiết 1 ảnh bất kì

3.5.6. Chức năng lưu ảnh sau khi chuyển về thiết bị

4. CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ

TÀI LIỆU THAM KHẢO

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Tóm tắt

I. Tổng quan về Học Chuyển Đổi và Mạng Đối Sinh

Đồ án tập trung vào ứng dụng học chuyển đổi trong mạng đối sinh (GAN - Generative Adversarial Networks). Học chuyển đổi (transfer learning) tận dụng kiến thức từ mô hình đã được huấn luyện sẵn để tiết kiệm tài nguyên và thời gian huấn luyện. Mạng đối sinh tạo ra dữ liệu mới, mô phỏng dữ liệu thực tế. Sự kết hợp này hứa hẹn ứng dụng rộng rãi trong xử lý ảnh, video và âm thanh. Đồ án khai thác tiềm năng của học sâu (deep learning) và trí tuệ nhân tạo (AI) để xây dựng hệ thống chuyển đổi hình ảnh. Thuật toán học chuyển đổithuật toán mạng đối sinh được nghiên cứu kỹ lưỡng. Mô hình được tối ưu hóa thông qua tối ưu hóa mô hìnhhuấn luyện mô hình. Kết quả được đánh giá qua phân tích dữ liệuxử lý ảnh.

1.1 Mô tả Đề Tài và Lý Do Chọn Đề Tài

Đề tài nghiên cứu ứng dụng học chuyển đổi cho mạng đối nghịch tạo sinh để thực hiện các tác vụ chuyển đổi ảnh. Sự phát triển nhanh chóng của mô hình deep learning, đặc biệt là mô hình sinh dữ liệu, đòi hỏi nguồn lực khổng lồ. Học chuyển đổi giúp tận dụng các mô hình đã được huấn luyện sẵn, giảm thiểu chi phí tính toán. Nhu cầu về chỉnh sửa ảnh ngày càng tăng, nhiều phần mềm cho phép tùy biến các thông số ảnh. Kết hợp hai yếu tố này, đồ án hướng đến việc áp dụng học chuyển đổi vào mạng đối sinh để tạo ra hệ thống chuyển đổi ảnh hiệu quả. Đồ án sử dụng ngôn ngữ Python, thư viện TensorFlow, OpenCV, và QT để xây dựng và đánh giá mô hình. Các thuật toán được lựa chọn dựa trên hiệu quả và khả năng ứng dụng thực tiễn. Dữ liệu lớn (big data) được sử dụng để huấn luyện mô hình, đảm bảo độ chính xác và tính tổng quát. Phần mềm demo minh họa khả năng của hệ thống.

1.2 Khái niệm Học Chuyển Đổi và Mạng Đối Sinh

Học chuyển đổi là kỹ thuật tận dụng kiến thức từ một nhiệm vụ đã được huấn luyện để cải thiện hiệu suất trên một nhiệm vụ liên quan khác. Điều này giảm thiểu lượng dữ liệu cần thiết và thời gian huấn luyện. Mạng đối sinh (GAN) bao gồm hai mạng nơ-ron, mạng sinh (generator) và mạng phân biệt (discriminator), cạnh tranh nhau trong quá trình huấn luyện. Mạng sinh tạo ra dữ liệu giả, mạng phân biệt phân biệt dữ liệu giả và dữ liệu thực. GAN được ứng dụng rộng rãi trong sinh ảnh, sinh video, sinh âm thanh. Mạng nơ-ron đối sinh có thể được kết hợp với học chuyển đổi để tăng hiệu quả. Deep learning là nền tảng cho cả hai kỹ thuật này. Machine learning đóng vai trò nền tảng cho sự phát triển của AI trong lĩnh vực này. Tạo ảnh, nhận dạng ảnh, xử lý video, xử lý âm thanh là những ứng dụng cụ thể. Dữ liệu tăng cường (data augmentation) giúp cải thiện hiệu suất huấn luyện. Điều chỉnh miền (domain adaptation) và chuyển đổi phong cách (style transfer) là những kỹ thuật liên quan.

II. Cơ sở lý thuyết và công nghệ

Phần này trình bày cơ sở lý thuyết về học sâu, mạng tích chập (CNN), và mạng đối sinh (GAN). CNN rất hiệu quả trong xử lý dữ liệu hình ảnh. GAN sử dụng hai mạng nơ-ron đối đầu nhau để tạo ra dữ liệu mới. CycleGAN là một kiến trúc GAN phổ biến, được sử dụng trong đồ án. Học chuyển đổi được áp dụng để tận dụng kiến thức từ mô hình đã được huấn luyện trước đó. Mô hình CycleGAN được chọn vì khả năng chuyển đổi ảnh giữa hai miền dữ liệu khác nhau. Thuật toán cụ thể được lựa chọn và giải thích chi tiết. Python, TensorFlow, OpenCV, và QT được sử dụng. Các kỹ thuật tối ưu hóa mô hình được đề cập. Tối ưu hóa mô hình là chìa khóa để đạt được kết quả tốt.

2.1 Deep Learning và CNN

Deep learning dựa trên mạng nơ-ron nhân tạo với nhiều lớp. Mạng tích chập (CNN) là một loại deep learning chuyên xử lý dữ liệu hình ảnh. CNN sử dụng các lớp tích chập để trích xuất đặc trưng từ ảnh. Các lớp tích chập, lớp gộp (pooling), và lớp đầy đủ (fully connected) được kết hợp. Padding, stride, và normalization là các tham số quan trọng trong CNN. Batch normalization, weight normalization, và layer normalization là các kỹ thuật chuẩn hóa dữ liệu. Internal Covariate Shift là vấn đề cần được giải quyết. Phân loại ảnh, nhận diện đối tượng, và phân đoạn ảnh là những ứng dụng của CNN. AlexNet là một trong những mô hình CNN nổi tiếng. Tối ưu hóa mô hình được thực hiện để nâng cao hiệu suất của CNN.

2.2 GAN và CycleGAN

Mạng đối sinh (GAN) gồm hai mạng: mạng sinh và mạng phân biệt. Mạng sinh tạo dữ liệu giả, mạng phân biệt phân biệt dữ liệu thật và giả. GAN được sử dụng trong tạo ảnh, tạo video, và tạo âm thanh. CycleGAN là một kiến trúc GAN cho phép chuyển đổi giữa hai miền dữ liệu mà không cần cặp dữ liệu tương ứng. Cycle consistency loss là một thành phần quan trọng trong CycleGAN. Huấn luyện mô hình GAN là một thách thức. Hàm mất mát (loss function) được thiết kế để hướng dẫn quá trình huấn luyện. Tối ưu hóa mô hình GAN đòi hỏi kỹ thuật chuyên biệt. Các kỹ thuật tiên tiến trong GAN được nghiên cứu. Khả năng tạo dữ liệu mới của GAN có nhiều ứng dụng trong thực tiễn.

III. Thực nghiệm và kết quả

Phần này mô tả quá trình thực nghiệm, bao gồm thiết lập mô hình, chọn bộ dữ liệu, và quá trình huấn luyện mô hình. Kết quả huấn luyện được phân tích và đánh giá. Phần mềm demo minh họa ứng dụng thực tế. Tài nguyên huấn luyện mô hình được mô tả chi tiết. Hàm mục tiêu được lựa chọn. Chức năng ứng dụng được trình bày. Kết quả được đánh giá trên các chỉ số phù hợp. Phân tích dữ liệu được sử dụng để đánh giá chất lượng dữ liệu và hiệu quả của mô hình. Các thử nghiệm được thực hiện để đánh giá khả năng của mô hình trong nhiều tình huống khác nhau. Xử lý ảnh được thực hiện để chuẩn bị dữ liệu cho quá trình huấn luyện.

IV. Kết luận và kiến nghị

Đồ án tóm tắt kết quả nghiên cứu, chỉ ra ưu điểmnhược điểm của mô hình. Đề xuất hướng phát triển trong tương lai. Ứng dụng thực tiễn của mô hình được nhấn mạnh. Khả năng mở rộng của mô hình được xem xét. Những giới hạn của nghiên cứu được nêu rõ. Các kiến nghị hướng đến việc cải thiện mô hình và mở rộng nghiên cứu. Tương lai của học chuyển đổimạng đối sinh được thảo luận. So sánh học chuyển đổi và mạng đối sinh được thực hiện. Khả năng của học chuyển đổimạng đối sinh được đánh giá.

31/01/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan - Tên đề tài. - Mô tả đề tài. - Lý do chọn đề tài. • Chương 2: Cơ sở lý thuyết và công nghệ sử dụng - Các lý thuyết áp dụng.

- Các công nghệ sử dụng. • Chương 3: Thực nghiệm - Thiết kế mô hình. - Tìm kiếm dữ liệu. - Kết quả huấn luyện.

- Phần mềm demo. 7 Tieu luan • Chương 4: Kết luận - Ưu điểm của mô hình - Nhược điểm của mô hình. - Hướng phát triển. - Tài liệu tham khảo.

8 Tieu luan Chương 2 CƠ SỞ LÝ THUYẾT – CÔNG NGHỆ SỬ DỤNG 2.1 Giới thiệu về deep learning: 2.1 Khái niệm: Deep learning được bắt nguồn từ thuật toán Neural network vốn xuất phát chỉ là một ngành nhỏ của Machine Learning. Deep Learning là một chi của ngành máy học dựa trên một tập hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến. Tương tự như cách chúng ta học hỏi từ kinh nghiệm thuật toán, deep learning sẽ thực hiện một nhiệm vụ nhiều lần mỗi lần tinh chỉnh nhiệm vụ một chút để cải thiện kết quả. Deep Learning chỉ đơn giản là kết nối dữ liệu giữa tất cả các tế bào thần kinh nhân tạo và điều chỉnh chúng theo dữ liệu mẫu.

Tương tự như cách chúng ta học hỏi từ kinh nghiệm thuật toán, deep learning sẽ thực hiện một nhiệm vụ nhiều lần mỗi lần tinh chỉnh nhiệm vụ một chút để cải thiện kết quả. Deep Learning chỉ đơn giản là kết nối dữ liệu giữa tất cả các tế bào thần kinh nhân tạo và điều chỉnh chúng theo dữ liệu mẫu.1: Kiến trúc mạng deep learning Càng có nhiều tế bào thần kinh được thêm vào thì kích thước của dữ liệu sẽ càng lớn. Nó tự động có tính năng học tập ở nhiều cấp độ trừu tượng. Qua đó cho 9 Tieu luan phép một hệ thống học hàm ánh xạ phức tạp mà không phụ thuộc vào bất kỳ thuật 2 toán cụ thể nào.

Không ai thực sự biết những gì xảy ra trong một mạng lưới thần kinh nhân tạo. Vì vậy, hiện tại bạn có thể gọi Deep Learning là một cái hộp đen. Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể vào 15 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn, phim, ảnh, âm nhạc.2 Cách thức hoạt động: Cách thức hoạt động của thuật toán Deep Learning diễn ra như sau: Các dòng thông tin sẽ được trải qua nhiều lớp cho đến lớp sau cùng. Lấy quy trình học của con người làm ví dụ cụ thể.

Qua các lớp đầu tiên sẽ tập trung vào việc học các khái niệm cụ thể hơn trong khi các lớp sâu hơn sẽ sử dụng thông tin đã học để nghiên cứu và phân tích sâu hơn trong các khái niệm trừu tượng. Quy trình xây dựng biểu diễn dữ liệu này được gọi là trích xuất tính năng. • Ví dụ về việc nhận diện con vật: Nhiệm vụ của máy tính lúc này là nhận biết hình ảnh đã cho là hình của con mèo hay là của con chó nếu bạn dạy máy tính nhận diện hình ảnh một con mèo thì chúng ta sẽ lập trình ra nhiều lớp trong mạng thần kinh nhân tạo mỗi lớp có khả năng xác định một đặc điểm cụ thể của con mèo như râu, vuốt, chân sau đó, cho máy tính xem hàng ngàn bức ảnh mèo khác nhau (và chỉ ra rằng “Đây là con mèo”) cùng hàng ngàn bức ảnh không phải mèo (và chỉ ra rằng “đây không phải mèo”). Mạng thần kinh nhân tạo này xem hết các bức ảnh các lớp (còn gọi node) của nó sẽ dần nhận ra râu, vuốt, chân…nó có thể biết lớp nào là quan trọng, lớp nào không quan trọng.

Nó cũng sẽ nhận ra rằng mèo luôn có chân nhưng những con vật không phải mèo cũng có chân. Vì vậy, khi cần xác định mèo máy tính sẽ tìm chân và đi kèm với những đặc điểm khác như móng vuốt hay râu…Deep Learning sẽ tự động tìm ra đặc điểm nào quan trọng nhất để phân loại mục tiêu. Trong khi đối với Machine Learning những đặc điểm này phải được đưa ra bởi con người. 10 Tieu luan Hình 2.2: Ví dụ về nhận dạng con vật 2.3 Ứng dụng thực tế: • Ứng dụng deep learning vào hệ thống gợi ý: Các nền tảng lớn hiện nay như Facebook, Lazada, Tiki…đều có hệ thống gợi ý rất mạnh giúp tăng đáng kể độ tương tác của người dùng chúng dựa trên các dữ liệu của người dùng phát sinh ra khi sử dụng và tương tác trên các thiết bị có kết nối internet để gợi ý thêm những sản phẩm họ sẽ thích.

Ví dụ như trên các nền tảng mua sắm, gợi ý các bài quảng cáo hoặc được tài trợ như trên Facebook hay các khóa học mà người học quan tâm như trên các nền tảng học online. • Ứng dụng deep learning vào ứng dụng nhận diện hình ảnh: Mục tiêu của công nghệ nhận diện ảnh là nhận biết và xác định các đối tượng trong ảnh cũng như hiểu được nội dung và ngữ cảnh trong đó. Ví dụ dịch vụ nhận diện và xác định khuôn mặt của AlchemyVision có khả năng phân biệt hai khuôn mặt tương tự nhau giữa nam diễn viên Will Ferrell và tay trống của Red Hot Chili Peppers, Chad Smith. Công nghệ nhận diện hình ảnh cũng được đưa vào Facebook để gợi ý người dùng tag mặt bạn bè hay ứng dụng vào khoa học tội phạm và điều tra.

• Ứng dụng deep learning vào trong y khoa: Chương trình phần mềm trí tuệ nhân tạo có tên là Watson của IBM đã phát hiện ra một loại bệnh mà các bác sĩ đã không thể tìm ra ở một nữ bệnh nhân. 11 Tieu luan Bằng cách so sánh bộ gen của người phụ nữ này với hơn 20 triệu kết quả nghiên cứu bệnh khác. Watson đã đưa ra kết quả là một chứng Leukemia cực kỳ hiếm gặp chỉ trong 10 phút. Và vẫn còn rất nhiều ứng dụng hữu ích khác của deep learning trong thực tế.2 Mạng tích chập – Convolutional Neural Network: 2.1 Khái niệm: Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến.

Nó giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay. CNN được sử dụng nhiều trong các bài toán nhận dạng các object trong ảnh. CNN cũng có lịch sử khá lâu đời. Kiến trúc gốc của mô hình CNN được giới thiệu bởi một nhà khoa học máy tính người Nhật vào năm 1980.

Sau đó, năm 1998, Yan LeCun lần đầu huấn luyện mô hình CNN với thuật toán backpropagation cho bài toán nhận dạng chữ viết tay. Tuy nhiên, mãi đến năm 2012, khi một nhà khoa học máy tính người Ukraine Alex Krizhevsky (đệ của Geoffrey Hinton) xây dựng mô hình CNN (AlexNet) và sử dụng GPU để tăng tốc quá trình huấn luyện deep nets để đạt được top 1 trong cuộc thi Computer Vision thường niên ImageNet với độ lỗi phân lớp top 5 giảm hơn 10% so với những mô hình truyền thống trước đó, đã tạo nên làn sóng mãnh mẽ sử dụng deep CNN với sự hỗ trợ của GPU để giải quyết càng nhiều các vấn đề trong Computer Vision.2 Các thành phần trong mạng tích chập 2.1 Lớp tích chập(Convolution) Convolution là một cửa sổ trượt (Sliding Windows) trên một ma trận. 12 Tieu luan Hình 2.3: Cách hoạt động của lớp tích chập Các convolutional layer có các parameter(kernel) đã được học để tự điều chỉnh lấy ra những thông tin chính xác nhất mà không cần chọn các feature. Trong hình ảnh ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được số hóa.

Ma trận có kích thước 5×5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm của dòng và cột. Convolution hay tích chập là nhân từng phần tử trong ma trận 3. Sliding Window hay còn gọi là kernel, filter hoặc feature detect là một ma trận có kích thước nhỏ như trong ví dụ trên là 3×3. Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3×3 với ma trận bên trái.

Kết quả được một ma trận gọi là Convoled feature được sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5×5 bên trái.1 Đệm(padding) một vấn đề rắc rối khi áp dụng các tầng tích chập là việc chúng ta có thể mất một số điểm ảnh trên biên của ảnh. Vì chúng ta thường sử dụng các hạt nhân nhỏ, với một phép tích chập ta có thể chỉ mất một ít điểm ảnh, tuy nhiên sự mất mát này có thể tích lũy dần khi ta thực hiện qua nhiều tầng tích chập liên tiếp. Một giải pháp đơn giản cho vấn đề này là chèn thêm các điểm ảnh xung quanh đường biên trên bức ảnh đầu vào, nhờ đó làm tăng kích thước sử dụng của bức ảnh. Thông thường, chúng ta thiết lập các giá trị của các điểm ảnh thêm vào là 0.

13 Tieu luan ta đệm một đầu vào 3x3, làm tăng kích thước lên thành 5×5. Đầu ra tương ứng sẽ tăng lên thành một ma trận 4×4.2 Bước trượt( Stride) Trong tích chập, stride được hiểu là khoảng cách mỗi lần trược của cửa sổ trượt, stride càng cao, khoảng cách mỗi lần trược càng lớn và bản đồ đặc trưng đầu ra càng nhỏ, sử dụng stride sẽ giúp giảm thiểu thời gian tính toán, và tránh được việc lặp các đặc trưng quá nhiều lần.2 Hàm chuẩn hoá( normalization) Hàm chuẩn hoá(normalization) là hàm dùng để biến đổi phân phối đầu vào theo kì vọng bằng 0 và phương sai bằng. Normalization luôn là lĩnh vực nghiên cứu tích cực trong Deep Learning. Các phương pháp Normalization có thể giúp mô hình huấn luyện nhanh và kết quả tốt.

một số lợi ích của hàm chuẩn hoá có thể kể đến như: 14 Tieu luan - Chuẩn hóa dữ liệu mỗi feature sẽ giữ được sự đóng góp của mọi feature trong quá trình huấn luyện trong trường hợp giá trị một số features cao hơn nhiều so với các feature còn lại. Với cách làm này sẽ làm mô hình unbiased (đối với các feature có giá trị cao) - làm giảm Internal Covariate Shift. Việc mô hình càng sâu sẽ có nhiều layer cùng với đó là có nhiều hàm kích hoạt, nó sẽ làm biến đổi đi phân phối của dữ liệu. Do đó chúng ta cần chuẩn hóa lại nó để có được sự đồng bộ phân phối của dữ liệu trong quá trình huấn luyện.

Khái niệm về Internal Covariate Shift mình lấy từ paper này, để hiểu rõ hơn các bạn đọc paper đấy nhá.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Ứng Dụng Học Chuyển Đổi Trong Mạng Đối Sinh" khám phá cách mà học chuyển đổi có thể được áp dụng trong các mạng đối sinh, giúp cải thiện hiệu suất và khả năng thích ứng của hệ thống. Tác giả trình bày các phương pháp và kỹ thuật cụ thể, đồng thời nêu bật những lợi ích mà công nghệ này mang lại, như tối ưu hóa quy trình xử lý dữ liệu và nâng cao khả năng dự đoán trong các tình huống phức tạp. Độc giả sẽ tìm thấy thông tin hữu ích để áp dụng vào nghiên cứu và phát triển trong lĩnh vực công nghệ thông tin.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng công nghệ trong lĩnh vực này, hãy tham khảo thêm bài viết "Luận văn thạc sĩ khoa học máy tính sử dụng active learning trong việc lựa chọn dữ liệu gán nhãn cho bài toán speech recognition", nơi bạn có thể tìm hiểu về cách học máy hỗ trợ trong việc xử lý dữ liệu. Ngoài ra, bài viết "Nghiên cứu thuật toán mã hóa có xác thực norx luận văn thạc sĩ" sẽ cung cấp cái nhìn sâu sắc về bảo mật trong các ứng dụng mạng. Cuối cùng, bài viết "Nghiên cứu xây dựng cloud storage và vpn trong điện toán đám mây sử dụng devstack luận văn thạc sĩ" sẽ giúp bạn hiểu rõ hơn về các giải pháp lưu trữ và bảo mật trong môi trường điện toán đám mây. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và ứng dụng thực tiễn trong lĩnh vực công nghệ thông tin.