1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài báo cáo xử lí ảnh

13 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài báo cáo xử lý ảnh
Tác giả Phạm Thanh Tú
Người hướng dẫn Giảng viên: Phạm Văn Sự
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Thể loại bài báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 2,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khái niệm về học chuyển đổi – Transfer learning Transfer learning là một phương pháp trong máy học và trí tuệ nhân tạo AI mà mô hình được huấn luyện trước đó trên một tập dữ liệu lớn gọi

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BỘ MÔN PHÁT TRIỂN KỸ NĂNG

BÀI BÁO CÁO

XỬ LÍ ẢNH

Giảng viên: Phạm Văn Sự

Tên sinh viên: Phạm Thanh Tú

Mã sinh viên: B20DCCN610 Nhóm bài tập: 10

Mã đề: DIPFL23PRJ49

HÀ NỘI, THÁNG 12/2023

Trang 2

I Tổng quan về học chuyển đổi

1 Lịch sử ra đời

Lịch sử của Transfer learning bắt đầu từ năm 1993 Với bài báo“Discriminability-Based Transfer between Neural Networks”, Lorien Pratt đã giới thiệu với thế giới về tiềm năng của học chuyển đổi Vào tháng 7 năm 1997, tạp chí Machine Learning đã xuất bản một số đặc biệt cho các bài báo về Transfer learning Khi lĩnh vực này phát triển, các chủ đề có liên quan như học đa tác vụ (multi-task learning) cũng được đưa vào lĩnh vực học chuyển đổi Learning to Learn là một trong những cuốn sách tiên phong trong lĩnh vực này Ngày nay, học chuyển đổi là một nguồn lực mạnh mẽ để các công ty công nghệ xây dựng những giải pháp AI mới và các nhà nghiên cứu tiếp tục thúc đẩy giới hạn của học máy

2 Khái niệm về học chuyển đổi – Transfer learning

Transfer learning là một phương pháp trong máy học và trí tuệ nhân tạo (AI) mà mô hình được huấn luyện trước đó trên một tập dữ liệu lớn (gọi là pre-trained model) và sau đó được chuyển giao (transfer) để thực hiện một nhiệm vụ khác mà không cần huấn luyện lại từ đầu Phương pháp này giúp tận dụng tri thức đã học được từ một nhiệm vụ để giải quyết một nhiệm vụ liên quan mà không yêu cầu dữ liệu lớn như nhiệm vụ gốc

Ngoài khái niệm trên còn khái niệm dễ hiểu hơn ở chương 11 Học chuyển đổi trong Sổ tay nghiên cứu về ứng dụng học máy được xuất bản năm 2009 như sau:

Học chuyển đổi là sự cải thiện việc học trong một nhiệm vụ mới thông qua việc chuyển giao kiến thức từ một nhiệm vụ liên quan

đã được học.”

Học chuyển đổi có liên quan đến các vấn đề như học đa tác vụ

và trôi dạt khái niệm và không chỉ là một lĩnh vực nghiên cứu dành cho học sâu

Tuy nhiên, học chuyển đổi rất phổ biến trong học sâu do cần

có nguồn lực khổng lồ để đào tạo các mô hình học sâu hoặc các bộ

dữ liệu lớn và đầy thách thức mà các mô hình học sâu được đào tạo trên đó

Học chuyển chỉ hoạt động trong học sâu nếu các đặc điểm mô hình học được từ nhiệm vụ đầu tiên là chung chung

Trang 3

Trong học chuyển đổi, trước tiên huấn luyện mạng cơ sở trên tập dữ liệu và tác vụ cơ sở, sau đó sử dụng lại các tính năng đã học hoặc chuyển chúng sang mạng mục tiêu thứ hai để được huấn luyện về tập dữ liệu và tác vụ đích.eQuá trình này sẽ có xu hướng hoạt động nếu các tính năng mang tính chung chung, nghĩa là phù hợp với cả nhiệm vụ cơ bản và mục tiêu, thay vì cụ thể cho nhiệm

vụ cơ bản

Đây là một ví dụ cơ bản học chuyển đổi – transfer learning,

đó là về học máy hình ảnh:

 Nhiệm vụ cơ bản: Một mô hình Convolutional Neural Network (CNN) được xây dựng và huấn luyện trên một tập

dữ liệu lớn của hình ảnh y học, chẳng hạn như hình ảnh chụp từ máy quét MRI hoặc máy quét CT Tập dữ liệu này được gán nhãn cho nhiều loại bệnh, chẳng hạn như ung thư, các bệnh lý tim mạch, hay các vấn đề về xương khớp

 Transfer learning: Tập dữ liệu này được gán nhãn cho nhiều loại bệnh, chẳng hạn như ung thư, các bệnh lý tim mạch, hay các vấn đề về xương khớp Mô hình có thể được fine-tuned (tinh chỉnh) trên một số ít ảnh từ máy quét cụ thể trong bệnh viện mới, giúp mô hình thích ứng với đặc điểm cụ thể của máy quét và điều kiện đặc biệt tại bệnh viện đó

3 Cơ chế hoạt động của Transfer turning

Có 2 cách tiếp cận phổ biến tới Transfer Learning như sau:

 Phương pháp tiếp cận mô hình

 Phương pháp tiếp cận Pre-Trained Model(mô hình được đào tạo từ trước)

Hoạt động của Transfer turning dựa trên 3 cơ chế, cụ thể như sau:

 Chọn mô hình nguồn (Source Model)e:

o Mô hình nguồn là mô hình do người khác xây dựng, huấn luyện nhằm giải quyết một vấn đề tương tự Mô hình nguồn thường là mô hình của những gã khổng lồ công nghệ hoặc nhóm các nhà khoa học nổi tiếng

o Thông thường, mô hình nguồn được sử dụng thường

là tập dữ liệu rất lớn để làm dữ liệu cơ sở như: ImageNet hoặc Wikipadia Corpus Sau đó, dựa vào

mô hình nguồn, họ sẽ phát triển một mạng thần kinh lớn để giải quyết vấn đề cụ thể Mô hình nguồn được

Trang 4

chọn phải được công khai và được cho phép tái sử dụng

 Tùy chỉnh mô hình(Fine-tuning)

o Sau khi tiếp cận được mô hình nguồn, bạn có thể dùng kiến thức mà mô hình đã học như kiến thức về lớp, tính năng, trọng số, hệ số tự do Hoặc bạn có thể tải mô hình nguồn vào môi trường của mình, biến nó trở thành một tệp/thư mục có chứa thông tin liên quan sau đó tùy chỉnh mô hình của mình Tuy nhiên, trước tiên hãy ưu tiên tùy chỉnh các viện học sâu lưu trữ nhiều mô hình trước như: TensorFlow Hub, Keras Applications, PyTorch Hub,…

o Có thể sử dụng một trong các nguồn trên để tải mô hình nguồn vào mô hình của mình Khi đó, mô hình nguồn thường đi kèm với tất cả các lớp, trọng số và bạn có thể tùy ý chỉnh sửa mô hình theo ý muốn Việc tùy chỉnh mô hình có nhằm mục đích nâng cao độ chính xác của chúng đồng thời đảm bảo đầu ra đúng định dạng

 Áp dụng cho tác vụ mới (Inference)

o Trong một mạng thần kinh, các lớp dưới cùng và lớp giữa sẽ đại diện cho các tính năng chung Trong khi đó các lớp trên cùng thể hiện các tính năng cụ thể của bài toán trong mô hình đó Do đó, bài toán mới của mô hình mới sẽ khác với bài toán ban đầu từ mô hình nguồn

o Chính vì thế, bạn cần thêm vào các tác vụ mới, loại bỏ các lớp trên cùng để bài toán của mình có độ chính xác cao hơn Sau đó, bạn có thể định cấu hình mô hình bằng trình tối ưu hóa đặc biệt

4 Lợi ích và hạn chế

a) Lợi ích

 Thời gian

Việc sử dụng Pretrained Model bản thân nó không chỉ giúp giảm thời gian vào việc tạo ra một mô hình mới để thực hiện một nhiệm vụ mục tiêu mà dựa trên một nhiệm vụ nguồn sẵn có, mà còn giảm thời gian đào tạo một model từ đầu vì khối lượng của phần nhiệm vụ nguồn đã có sẵn

Trang 5

 Cải thiện độ chính xác và tiết kiệm chi phí huấn luyện

Ví dụ trong bài toán phân loại chó và mèo Nếu huấn luyện từ đầu, bạn sẽ tốn nhiều epochs huấn luyện hơn để đạt được độ chính xác cao Tuy nhiên nếu bạn biết tận dụng lại các pretrained-model thì sẽ cần ít epochs huấn luyện hơn để đạt được một độ chính xác mong đợi Thậm chí độ chính xác có thể lớn hơn so với khi không áp dụng transfer learning

Sơ đồ so sánh hiệu suất mô hình trước và sau khi áp dụng transfer

learning (Nguồn: eHandbook Of Research On Machine Learning Applications and Trends: Algorithms, Methods and Techniques)

Từ đồ thị ta có thể thấy sử dụng transfer learning sẽ mang lại 3 lợi thế chính:

o Có điểm khởi đầu của accuracy tốt hơn (higher start)

o Accuracy có tốc độ tăng nhanh hơn (higher slope)

o Đường tiệm cận của độ chính xác tối ưu cao hơn (higher asymptote)

Trong trường hợp bộ dữ liệu có kích thước quá nhỏ và khó có thể tìm kiếm và mở rộng thêm thì các mô hình được huấn luyện từ chúng sẽ khó có thể dự báo tốt Tận dụng lại tri thức từ các pretrained-model với cùng tác vụ phân loại sẽ giúp các mô hình được huấn luyện dự báo tốt hơn với dữ liệu mới vì mô hình được học trên cả 2 nguồn tri thức đó là dữ liệu huấn luyện và dữ liệu mà nó đã được học trước đó

b) Hạn Chế

Trang 6

Transfer Learning không phải một kỹ thuật dễ sử dụng, nếu bạn sai sót trong quá trình transfer architecture của pretrained hay

thêm/bớt không đúng layer thì khi train, accuracy sẽethấp không tưởng tượng được, khi đó bạn sẽ phải kiểm tra lại quá trình sửa

các layer hoặc làm lại từ đấu.eLưu ý: khi bạn đạt accuracy thấp như vậy, chúng ta không gọi quá trình train là fine-tuning vì nó không phù hợp với định nghĩa

Transfer learning không phải lúc nào cũng phù hợp Trong một số trường hợp, việc huấn luyện ngay từ đầu có thể là lựa chọn tốt hơn

II Phân loại các mô hình

Bên cạnh việc hiểu rõ về lịch sử ra đời của khái niệm Transfer Learning là gì thì chúng ta có thể tìm hiểu sâu hơn về 4 mô hình trong Transfer Learning Dưới đây là 4 mô hình pre-trained phổ biến nhất mà bạn có thể sử dụng cho các tác vụ trong transfer learning:

 VGG-19:

VGG là một mạng thần kinh tích chập (CNN) có độ sâu 19 lớp Nó đượcxây dựng và đào tạo bởi Karen Simonyan và Andrew Zisserman tại Đại học Oxford vào năm 2014 Bạn có thể truy cập tất cả thông tin từ bài báo của họ,eVery Deep Convolutional Networks for Large-Scale Image Recognition, được xuất bản vào năm 2015 VGG-19 được đào tạo bằng cách sử dụng hơn 1 triệu hình ảnh từ cơ sở dữ liệu ImageNet, trong đó có các ảnh màu 224×224 pixel Đương nhiên, bạn có thể nhập vào mô hình các trọng số được huấn luyện bởi ImageNet Điểm đặc biệt, VGG-19 có thể phân loại tới 1000 đối tượng Dưới đây là thông tin ngắn gọn về kích thước và hiệu suất của nó:

o Kích thước: 549 MB

o Top-1: Độ chính xác: 71,3%

o Top-5: Độ chính xác: 90,0%

o Số tham số: 143.667.240

o Độ sâu: 26

Trang 7

 Inceptionv3(GoogleNet)

Inceptionv3 là một mạng thần kinh tích chập có độ sâu 50 lớp

Nó được xây dựng và đào tạo bởi Google và bạn có thể truy cập tất cả thông tin trên bài báo,có tiêu đề “Going deeper with convolutions” Phiên bản được đào tạo trước của Inceptionv3 với trọng số ImageNet có thể phân loại tới 1000 đối tượng Kích thước hình ảnh đầu vào của mạng này là 299×299 pixel, lớn hơn mạng VGG19 Trong khi VGG19 về nhì trong cuộc thi ImageNet năm 2014 thì Inception là mô hình thắng cuộc Tóm tắt ngắn gọn về các tính năng của Inceptionv3 như sau:

o Kích thước: 92 MB

o Top-1: Độ chính xác: 77,9%

o Top-5: Độ chính xác: 93,7%

o Số tham số: 23.851.784

o Độ sâu: 159

Trang 8

 ResNet50(Residual Network)

ResNet50 là một mạng thần kinh tích chập có độ sâu 50 lớp Nó được xây dựng và đào tạo bởi Microsoft vào năm 2015 và bạn có thể truy cập kết quả hoạt động của mô hình trên bài báo có tiêu đềeDeep Residual Learning for Image Recognition Mô hình này cũng được đào tạo trên hơn 1 triệu hình ảnh từ cơ sở dữ liệu ImageNet Cũng giống như VGG-19, nó có thể phân loại tới 1000 đối tượng và mạng được đào tạo trên các hình ảnh có màu 224×224 pixel Dưới đây là thông tin ngắn gọn về kích thước và hiệu suất của nó:

o Kích thước: 98 MB

o Top-1: Độ chính xác: 74,9%

o Top-5: Độ chính xác: 92,1%

o Số tham số: 25.636.712

Nếu so sánh ResNet50 với VGG19, bạn sẽ thấy rằng ResNet50 thực sự vượt trội so với VGG19 mặc dù nó có độ phức tạp thấp hơn ResNet50 đã được cải thiện nhiều lần và bạn cũng có quyền truy cập

nhưeResNet101,eResNet152,eResNet50V2,eResNet101V2,eResNet152V2

Trang 9

 EfficientNet

EfficientNet là mạng thần kinh tích chập tiên tiến nhất đã được Google đào tạo và phát hành ra công chúng với bài báo “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”evào năm

2019 Có 8 phiên bản thay thế của EfficientNet (B0 đến B7) và ngay cả phiên bản đơn giản nhất, EfficientNetB0, cũng xuất sắc Với 5,3 triệu tham số, nó đạt hiệu suất chính xác Top-1 77,1% Tóm tắt ngắn gọn về các tính năng của EfficientNetB0 như sau:

o Kích thước: 29 MB

o Top-1: Độ chính xác: 77,1%

o Top-5: Độ chính xác: 93,3%

o Số tham số: ~5.300.000

o Độ sâu: 159

Trang 10

Bảng phân loại các mô hình trên:

VGG19 Inceptionv3(Googl

Kiểu

hình

Mạng nơ-ron

tích chập

sâu(CNN)

Mạng nơ-ron tích chập sâu(CNN) Mạng nơ-ron tích

chập sâu(CNN)

Mạng nơ-ron tích chập sâu(CNN) Đặc

điểm đơn giản với Có kiến trúc

nhiều lớp tích

chập và lớp

kết nối đầy đủ

Nổi tiếng với

số lượng lớn

các tầng tích

chập nhỏ với

kernel size là

Nổi tiếng với kiến trúc Inception, sử dụng các module Inception để tăng cường hiệu suất

mà không làm tăng độ sâu của mạng quá nhiều

Cũng sử dụng kiến trúc chập chồng

Sử dụng khái niệm

"residual learning"

để giải quyết vấn

đề biến mất đạo hàm trong quá trình

Được thiết kế

để đảm bảo sự hiệu quả cao đối với cả kích thước mô hình

và độ chính xác Sử dụng một phương pháp đồng thời tinh chỉnh kích

Trang 11

3x3 và

sâu Điều này giúp giữ cho việc huấn luyện mô hình có thể thực hiện được

dù cho độ sâu của mạng lớn

thước chiều sâu, chiều rộng và độ phân giải

Ứng

dụng

chính

Phân loại hình

ảnh Phân loại hình ảnh,nhận diện đối

tượng

Phân loại hình ảnh, nhận diện đối tượng

Phân lại hình ảnh

Ưu

điểm giản, dễ hiểu,Cấu trúc đơn

dễ triển khai

Sử dụng các module Inception

để cải thiện khả năng trích xuất đặc trưng

Sựng dụng residual blocks để giải quyết vấn đề huấn luyện

mô hình sâu

Cân bằng hiệu suất và tài nguyên tính toán thông qua phương pháp Compound Scaling

III Khái niệm Fine-tuning

1 Fine-tuning là gì?

Trong Machine Learning, Fine-tuning là một phương pháp của transfer learning, sử dụng một mô hình của một pre-trained model để train với một bộ data mới, phù hợp với mục đích của người dùng và số lượng dataset thường nhỏ hơn khi pre-train Việc làm này giúp tăng độ chính xác của model so với việc train trực tiếp với bộ dataset nhỏ của chúng ta

2 Các bước thực hiện học chuyển đổi fine-tuning

Bước 1: Huấn luyện trước một mô hình mạng thần kinh, tức làmô hình nguồn, trên tập dữ liệu nguồn (ví dụ: tập dữ liệu ImageNet)

 Bước 2: Tạo một mô hình mạng nơ-ron mới, tức làmô hình đích.Điều này sao chép tất cả các thiết kế mô hình và các tham số của chúng trên mô hình nguồn ngoại trừ lớp đầu ra.Chúng tôi giả định rằng các tham số mô hình này chứa kiến thức đã học được từ tập dữ liệu nguồn và kiến thức này

Trang 12

cũng sẽ được áp dụng cho tập dữ liệu đích.Chúng tôi cũng giả định rằng lớp đầu ra của mô hình nguồn có liên quan chặt chẽ với nhãn của tập dữ liệu nguồn;do đó nó không được sử dụng trong mô hình mục tiêu

 Bước 3: Thêm một lớp đầu ra vào mô hình đích, có số lượng đầu ra là số danh mục trong tập dữ liệu đích.Sau đó khởi tạo ngẫu nhiên các tham số

mô hình của lớp này

 Bước 4: Huấn luyện mô hình mục tiêu trên tập dữ liệu đích, chẳng hạn như tập dữ liệu về ghế.Lớp đầu ra sẽ được huấn luyện từ đầu, trong khi các tham số của tất cả các lớp khác sẽ được tinh chỉnh dựa trên các tham số của mô hình nguồn

IV Ứng dụng của học chuyển đổi-transfer learning

1 Nhận dạng hình ảnh

Một trong những ứng dụng phổ biến và thành công nhất của học chuyển giao trong mạng lưới thần kinh là nhận dạng hình ảnh.eNhận dạng hình ảnh là nhiệm vụ xác định và phân loại các vật thể, khuôn mặt, cảnh vật hoặc cảm xúc trong hình ảnh.eCó nhiều mạng thần kinh được đào tạo trước đã được đào tạo trên các bộ dữ liệu hình ảnh lớn và đa dạng, chẳng hạn như ImageNet hoặc COCO, có thể được sử dụng làm công cụ trích xuất đặc điểm hoặc tinh chỉnh cho các tác vụ nhận dạng hình ảnh mới.eVí dụ: bạn có thể sử dụng mạng được đào tạo trước như ResNet hoặc VGG để trích xuất các đặc điểm từ hình ảnh của riêng bạn, sau đó thêm lớp phân loại mới lên trên để đào tạo về vấn đề nhận dạng hình ảnh cụ thể của bạn, chẳng hạn như nhận dạng giống chó hoặc chẩn đoán hình ảnh y tế

2 Xử lý ngôn ngữ tự nhiên

Một ứng dụng phổ biến và hữu ích khác của học chuyển tiếp trong mạng lưới thần kinh là xử lý ngôn ngữ tự nhiên (NLP).eNLP là nhiệm vụ hiểu và tạo ra ngôn ngữ tự nhiên, chẳng hạn như văn bản hoặc lời nói.eCó nhiều mạng thần kinh được đào tạo trước đã được đào tạo trên kho văn bản lớn và đa dạng, chẳng hạn như Wikipedia hoặc Common Crawl, có thể được sử dụng làm mô hình ngôn ngữ hoặc tinh chỉnh cho các tác vụ NLP mới.eVí dụ: bạn có thể sử dụng mạng được đào tạo trước như BERT hoặc GPT để mã hóa văn bản của riêng mình, sau đó thêm lớp đầu ra mới lên trên để đào tạo về vấn đề NLP cụ thể của bạn, chẳng hạn như phân tích tình cảm, tóm tắt văn bản hoặc trả lời câu hỏi

3 Học tăng cường

Ứng dụng phổ biến và thú vị thứ ba của học chuyển giao trong mạng lưới thần kinh là học tăng cường (RL).eRL là nhiệm vụ học hỏi từ việc thử và sai, bằng cách tương tác với môi trường và nhận phần thưởng hoặc hình phạt.eCó nhiều mạng thần kinh được đào tạo trước đã được đào tạo trên các môi trường RL khác nhau, chẳng hạn như trò chơi Atari hoặc mô phỏng robot, có thể được sử dụng làm chính sách hoặc chức năng giá trị hoặc tinh chỉnh cho các nhiệm vụ RL mới.eVí dụ: bạn có thể sử dụng mạng được đào tạo trước như DQN hoặc PPO để khởi tạo mạng của riêng mình, sau đó tiếp tục đào tạo về vấn đề RL cụ thể của mình, chẳng hạn như ô tô tự lái hoặc chơi cờ

Ngày đăng: 09/03/2025, 21:58

HÌNH ẢNH LIÊN QUAN

Sơ đồ so sánh hiệu suất mô hình trước và sau khi áp dụng transfer - Bài báo cáo xử lí ảnh
Sơ đồ so sánh hiệu suất mô hình trước và sau khi áp dụng transfer (Trang 5)
Bảng phân loại các mô hình trên: - Bài báo cáo xử lí ảnh
Bảng ph ân loại các mô hình trên: (Trang 10)