Tải bản đầy đủ (.pdf) (46 trang)

đồ án 1 phân lớp ảnh sử dụng phương pháp clip contrastive language image pre training

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 46 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH </b>

<b>TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN </b>

<b>TRẦN NGỌC NHẬT VY LÊ THỊ BÍCH HẰNG </b>

<b>ĐỒ ÁN 1 </b>

<b>Phân lớp ảnh sử dụng phương pháp CLIP (Contrastive Language-Image Pre-Training) </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH </b>

<b>TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN </b>

<b>KHOA CÔNG NGHỆ PHẦN MỀM </b>

<b>TRẦN NGỌC NHẬT VY - 21520536 LÊ THỊ BÍCH HẰNG - 21522041 </b>

<b>ĐỒ ÁN 1 </b>

<b>Phân lớp ảnh sử dụng phương pháp CLIP (Contrastive Language-Image Pre-Training) </b>

<b>GIẢNG VIÊN HƯỚNG DẪN </b>

<b>TS. NGUYỄN TẤN TRẦN MINH KHANG </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

2.3.1. Tải xuống các mô hình đã được huấn luyện trước 12

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2.3.5. Thực hiện dự đoán 13

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC HÌNH </b>

Hình 1.1. Đầu vào và đầu ra của bài tốn phân loại hình ảnh 2

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>DANH MỤC TỪ VIẾT TẮT</b>

Pre-Training

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>PHỤ CHƯƠNG </b>

GitHub: class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>TĨM TẮT </b>

Bài tốn phân lớp hình ảnh sử dụng CLIP và phương pháp “zero-shot” là một trong những bài toán phổ biến và quan trọng trong lĩnh vực thị giác máy tính và trí tuệ nhân tạo hiện nay. Ở bài tốn này, chúng tơi sử dụng mơ hình có sẵn của CLIP (OpenAI) được huấn luyện trên bộ dữ liệu gồm hơn 400 triệu cặp hình ảnh-văn bản (image-text) và phương pháp “zero-shot”. Mục đích của bài tốn này là phân lớp hình ảnh thuộc các lớp mà mơ hình chưa từng thấy trong q trình huấn luyện. Đồng thời đó trong báo cáo này cũng giới thiệu về việc xây dựng ứng dụng đã tích hợp với mơ hình phân lớp của bài tốn trên.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Sự tiến bộ liên tục trong công nghệ hình ảnh, bao gồm sự phát triển của cảm biến hình ảnh cao cấp và ứng dụng thị giác máy tính, mở ra cơ hội cho việc phát triển các phương pháp phân lớp mạnh mẽ hơn. Và bên cạnh đó, bài tốn này khơng chỉ đóng góp vào sự phát triển liên tục của cơng nghệ hình ảnh mà cịn giúp làm cho các hệ thống phân lớp hình ảnh trở nên hiệu quả hơn và phù hợp với nhiều ứng dụng đa dạng trong thế giới thực.

<b>1.2. Phát biểu bài toán </b>

Đầu vào của bài toán là một bức ảnh, đầu ra là tên của lớp đối tượng.

“Dolphin”

Hình 1.1. Đầu vào và đầu ra của bài tốn phân loại hình ảnh.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>1.3. Các thách thức </b>

Bài tốn phân lớp hình ảnh sử dụng CLIP và phương pháp zero-shot đối mặt với một số thách thức quan trọng:

<i><b>● Khả năng hiểu ngôn ngữ và ngữ cảnh: Để thực hiện phân lớp dự đốn, mơ </b></i>

hình phải hiểu cả văn bản mơ tả và hình ảnh. Điều này địi hỏi mơ hình có khả năng hiểu ngơn ngữ và ngữ cảnh một cách đầy đủ và chính xác.

<i><b>● Học từ dữ liệu giới hạn: Mơ hình CLIP thường cần được huấn luyện trên một </b></i>

lượng lớn dữ liệu hình ảnh và văn bản. Tuy nhiên, dữ liệu giới hạn có thể dẫn đến việc hạn chế hiệu suất của mơ hình, đặc biệt khi cần phân loại vào các lớp chưa từng thấy trước đó.

<i><b>● Phát triển và tinh chỉnh mơ hình: Tùy thuộc vào ứng dụng cụ thể, việc phát </b></i>

triển và tinh chỉnh mô hình CLIP có thể địi hỏi kiến thức sâu rộng về học máy và thị giác máy tính. Việc lựa chọn tham số, tối ưu hóa, và đảm bảo hiệu suất cao trong mọi tình huống có thể là một thách thức.

<i><b>● Dữ liệu chưa gán nhãn: Trong nhiều trường hợp, có khả năng rất hạn chế về </b></i>

dữ liệu đã được gắn nhãn cho các lớp cần phân loại. Điều này có thể dẫn đến sự phụ thuộc vào mơ hình tiền huấn luyện và thách thức trong việc xác định cách tạo ra dữ liệu gắn nhãn cho các lớp mới.

<b>1.4. Mục tiêu và phạm vi nghiên cứu Mục tiêu: </b>

● Xây dựng ứng dụng áp dụng mơ hình phân lớp ảnh vào trong thực tiễn để thử nghiệm và đánh giá hiệu suất của mơ hình.

● Đảm bảo tính ổn định của mơ hình khi tích hợp vào ứng dụng di động, tránh các lỗi và vấn đề hiệu suất gây ảnh hưởng người dùng.

● Xây dựng giao diện thân thiện với người dùng để tương tác với mơ hình phân lớp ảnh thơng qua ứng dụng di động một cách dễ dàng và thuận tiện.

<b>Phạm vi: </b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<i><b>● Phân tích sâu về CLIP và Zero-shot learning: Điều tra các khía cạnh lý thuyết </b></i>

của mơ hình CLIP và phương pháp zero-shot learning để hiểu rõ cơ chế hoạt động và ưu điểm của chúng trong việc xử lý ảnh.

<i><b>● Xây dựng ứng dụng: Phát triển một ứng dụng thực tế sử dụng mơ hình phân </b></i>

lớp để phân loại hình ảnh theo các lớp khơng được học trước.

<i><b>● Đánh giá hiệu quả ứng dụng: Đánh giá hiệu quả và khả năng chấp nhận của </b></i>

ứng dụng trong các tình huống thực tế, đánh giá dựa trên phản hồi từ người dùng.

<b>1.5. Đóng góp của nghiên cứu </b>

Nghiên cứu về Bài tốn phân lớp hình ảnh sử dụng CLIP và phương pháp shot và việc tích hợp vào trong ứng dụng di động có nhiều đóng góp quan trọng, từ giá trị thực tiễn và ứng dụng thực tế cho đến cải thiện trải nghiệm người dùng và khả năng mở rộng của ứng dụng. Nghiên cứu mở ra tiềm năng sử dụng và ứng dụng rộng rãi trong tương lai.

<b>zero-1.6. Bố cục của báo cáo </b>

Phần cịn lại của báo cáo được trình bày theo bố cục như sau:

<b>CHƯƠNG 2 – PHƯƠNG PHÁP: trình bày về CLIP và phương pháp zero-shot trong </b>

việc phân lớp hình ảnh.

<b>CHƯƠNG 3 – TRIỂN KHAI ỨNG DỤNG: trình bày các cơng cụ, thiết kế, giao </b>

diện và quá trình xây dựng và phát triển ứng dụng tích hợp mơ hình phân lớp hình ảnh sử dụng CLIP và phương pháp zero-shot.

<b>CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: trình bày kết quả đạt </b>

được và những hướng phát triển trong tương lai của ứng dụng tích hợp mơ hình phân lớp hình ảnh sử dụng CLIP và phương pháp zero-shot.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Mặc dù học sâu đã có những cuộc cách mạng trong lĩnh vực thị giác máy tính nhưng các phương pháp hiện tại vẫn gặp một số vấn đề lớn: các tập dữ liệu điển hình tốn nhiều cơng sức và chi phí để tạo ra và chỉ huấn luyện trên một tập hình ảnh nhỏ; các mơ hình thị giác máy tính chỉ tốt cho một nhiệm vụ cụ thể nào đó và cần nhiều sự thay đổi khi muốn thích ứng với một nhiệm vụ mới; và các mơ hình hoạt động tốt trên tập thử nghiệm lại có hiệu suất thấp.

Vì thế, một mạng thần kinh được phát triển nhằm giải quyết vấn đề này. Nó được huấn luyện trên nhiều loại hình ảnh và nhiều giám sát ngơn ngữ tự nhiên phong phú và có sẵn trên Internet.

<b>2.1.2. Giới thiệu </b>

CLIP (Contrastive Language-Image Pre-training) là một mơ hình học sâu được phát triển bởi OpenAI. Mơ hình này kết hợp khả năng hiểu ngơn ngữ và hiểu hình ảnh thơng qua việc huấn luyện trên một lượng lớn dữ liệu hình ảnh và văn bản không

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

gán nhãn. Mục tiêu của CLIP là học cách đại diện hình ảnh và văn bản trong cùng một không gian vectơ để có thể so sánh và phân loại chúng.

<b>2.1.3. Phương pháp “Contrastive Learning” </b>

Một điểm đặc biệt của CLIP là việc sử dụng phương pháp "contrastive learning". Thay vì huấn luyện dựa trên các cặp dữ liệu đã được gán nhãn, CLIP đánh giá sự tương phản giữa các cặp hình ảnh và văn bản khơng gán nhãn. Quá trình huấn luyện của CLIP tìm cách tăng cường sự tương phản giữa các cặp hình ảnh và văn bản tương ứng và giảm sự tương phản giữa các cặp khơng tương ứng.

Các bước chính trong phương pháp contrastive learning:

<i><b>● Xác định cặp dữ liệu: Đầu tiên, cần xác định các cặp dữ liệu để so sánh. Các </b></i>

cặp dữ liệu này có thể được chọn ngẫu nhiên từ tập dữ liệu huấn luyện hoặc theo một quy tắc nhất định.

<i><b>● Mã hóa dữ liệu: Mỗi dữ liệu trong cặp được mã hóa thành một vectơ số học. </b></i>

Điều này thường được thực hiện thơng qua mạng nơ-ron, cho phép trích xuất các đặc trưng của dữ liệu.

<i><b>● Xác định hàm mất mát: Mục tiêu của contrastive learning là tối đa hóa sự </b></i>

tương phản giữa các cặp dữ liệu tương tự và tối thiểu hóa sự tương phản giữa các cặp dữ liệu khác nhau. Để làm điều này, sử dụng một hàm mất mát đo lường khoảng cách giữa các vectơ đặc trưng. Một hàm mất mát phổ biến được sử dụng là hàm "contrastive loss" (hàm mất mát tương phản).

<i><b>● Tối ưu hóa: Q trình tối ưu hóa được thực hiện để điều chỉnh các tham số </b></i>

của mơ hình dựa trên hàm mất mát. Các phương pháp tối ưu hóa thơng thường như gradient descent được sử dụng để tìm giá trị của các tham số mơ hình để giảm thiểu hàm mất mát.

Phương pháp contrastive learning đã được áp dụng thành công trong nhiều lĩnh vực, bao gồm xử lý ngôn ngữ tự nhiên, thị giác máy tính và học khơng giám sát. Nó cho phép mơ hình học cách phân biệt và trích xuất các đặc trưng quan trọng từ dữ liệu mà không cần nhãn.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>2.1.4. Kết quả </b>

Kết quả là CLIP có khả năng hiểu ngơn ngữ và hiểu hình ảnh tương đối tốt. Nó có thể phân loại hình ảnh, tìm kiếm hình ảnh dựa trên mơ tả văn bản và thậm chí sinh ra các mơ tả văn bản cho các hình ảnh. CLIP đã đạt được kết quả ấn tượng trong nhiều nhiệm vụ và được coi là một bước tiến quan trọng trong việc kết hợp hiểu ngôn ngữ và hiểu hình ảnh trong lĩnh vực AI.

<i>Hình 2.2. Kiến trúc Contrastive Learning<small>[2] </small></i>

Hình 2.2 mơ tả tổng quan phương pháp contrastive – learning. CLIP được huấn luyện thông qua việc so sánh và phân biệt các cặp văn bản – hình ảnh. Điều này giúp mơ hình học được cách biểu diễn các khái niệm hình ảnh và văn bản trong khơng gian biểu diễn chung.

Mơ hình CLIP nhận vào một cặp văn bản – hình ảnh (ví dụ: một câu miêu tả và một hình ảnh tương ứng) làm đầu vào.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

● Mô hình sử dụng một quá trình gọi là “contrastive learning” (học đối lập) để so sánh các cặp này. Mô hình tạo ra các biểu diễn dựa trên các cặp văn bản – hình ảnh và đo lường sự tương đồng giữa chúng.

● Mơ hình được điều chỉnh sao cho sự tương đồng giữa các cặp văn bản – hình ảnh giống nhau tăng lên và sự tương đồng giữa các cặp văn bản – hình ảnh khơng giống nhau giảm đi. Q trình này giúp mơ hình học được một không gian ảnh biểu diễn chung mà trong đó các cặp văn bản – hình ảnh tương đồng sẽ có khoảng cách gần nhau, trong khi các cặp khơng giống nhau sẽ có khoảng cách xa nhau.

<b>2.2. Zero-shot 2.2.1. Giới thiệu </b>

Zero-shot learning (học không cần nhãn) là một phương pháp trong lĩnh vực học máy cho phép mơ hình phân loại các lớp mà nó chưa được huấn luyện trước đó. Trong học máy truyền thống, q trình huấn luyện mơ hình phân loại yêu cầu một tập dữ liệu huấn luyện với các mẫu từng được gán nhãn cho từng lớp. Mơ hình sẽ học từ tập dữ liệu này để tạo ra một quy tắc phân loại cho các lớp đã biết. Tuy nhiên, khi có lớp mới xuất hiện, mơ hình truyền thống sẽ khơng thể phân loại lớp đó mà cần phải được huấn luyện lại với dữ liệu mới.

Trong zero-shot learning, mục tiêu là huấn luyện một mô hình có khả năng phân loại các lớp mới mà không cần dữ liệu huấn luyện cho từng lớp riêng biệt. Thay vào đó, mơ hình được huấn luyện với các thông tin phụ trợ như các đặc trưng, thuộc tính hoặc mơ tả của các lớp. Điều này cho phép mơ hình học cách xác định các mẫu và lớp mới dựa trên thông tin đã học từ các lớp đã biết.

<b>2.2.2. Cách tiếp cận </b>

Cách tiếp cận zero-shot learning thường liên quan đến việc xây dựng một khơng gian thuộc tính hoặc một khơng gian nhúng chung, trong đó mỗi lớp được biểu diễn bằng một vector thuộc tính hoặc một vector nhúng. Khi muốn phân loại một mẫu

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

mới, mơ hình sẽ đo khoảng cách hoặc tính độ tương đồng giữa mẫu và các vector nhúng của các lớp. Lớp có độ tương đồng cao nhất sẽ được chọn là kết quả phân loại. Zero-shot learning cho phép mô hình tự động phân loại các lớp mới mà khơng cần dữ liệu huấn luyện riêng cho từng lớp. Điều này rất hữu ích khi chúng ta muốn mở rộng khả năng phân loại của mơ hình cho các lớp chưa từng thấy trước đó hoặc trong trường hợp khơng có đủ dữ liệu huấn luyện cho các lớp mới.

<b>2.2.3. Cách thức hoạt động </b>

Cách hoạt động của zero-shot learning:

<i><b>● Huấn luyện với thông tin phụ trợ: Trong zero-shot learning, quá trình huấn </b></i>

luyện bao gồm việc sử dụng thơng tin phụ trợ như các đặc trưng, thuộc tính hoặc mơ tả của các lớp. Thông tin này thường được cung cấp bởi con người hoặc từ các nguồn bên ngoài. Ví dụ, trong bài tốn phân loại ảnh, thơng tin phụ trợ có thể là các thuộc tính như "có bánh xe" hoặc "có lơng".

<i><b>● Xây dựng khơng gian thuộc tính hoặc nhúng: Một bước quan trọng trong </b></i>

zero-shot learning là xây dựng một khơng gian thuộc tính hoặc nhúng chung. Trong không gian này, mỗi lớp được biểu diễn bằng một vector thuộc tính hoặc một vector nhúng. Mục tiêu là tìm cách biểu diễn các lớp sao cho các lớp tương đồng về mặt ngữ nghĩa nằm gần nhau trong không gian này.

<i><b>● Đo khoảng cách hoặc tính độ tương đồng: Khi muốn phân loại một mẫu mới, </b></i>

mơ hình sẽ đo khoảng cách hoặc tính độ tương đồng giữa mẫu và các vector thuộc tính hoặc nhúng của các lớp đã biết. Cách đo khoảng cách thường dựa trên các phép đo khoảng cách trong không gian nhúng như khoảng cách Euclid, khoảng cách cosine, hay khoảng cách Mahalanobis. Lớp có độ tương đồng cao nhất sẽ được chọn là kết quả phân loại.

<i><b>● Phân loại lớp mới: Khi một mẫu mới thuộc vào một lớp chưa từng được huấn </b></i>

luyện, mơ hình sẽ sử dụng thơng tin phụ trợ và không gian nhúng đã học để xác định lớp mới. Thơng qua việc đo khoảng cách hoặc tính độ tương đồng,

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

mơ hình sẽ tìm lớp có độ tương đồng cao nhất với mẫu và phân loại mẫu đó vào lớp đó.

Tóm lại, zero-shot learning cho phép mơ hình phân loại các lớp mới mà không cần dữ liệu huấn luyện riêng cho từng lớp. Thay vào đó, mơ hình sử dụng thơng tin phụ trợ và xây dựng một không gian thuộc tính hoặc nhúng để đo khoảng cách hoặc tính độ tương đồng giữa mẫu và các lớp đã biết. Điều này giúp mở rộng khả năng phân loại của mô hình và giải quyết các vấn đề khi khơng có đủ dữ liệu huấn luyện cho các lớp mới.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

▪ Thu thập dữ liệu: Thu thập các cặp hình ảnh-văn bản từ tập dữ liệu có sẵn. Ví dụ, mỗi cặp có thể bao gồm một hình ảnh và một câu mơ tả về hình ảnh đó.

▪ Huấn luyện mơ hình ngơn ngữ: Sử dụng các cặp hình ảnh-văn bản, huấn luyện một mơ hình ngơn ngữ để dự đốn văn bản từ hình ảnh và ngược lại.

▪ Xây dựng bộ phân loại: Sử dụng mơ hình ngơn ngữ đã huấn luyện, xây dựng một bộ phân loại từ các nhãn văn bản trong tập dữ liệu. Bộ phân loại này có thể được sử dụng để dự đốn văn bản từ hình ảnh hoặc dự đốn hình ảnh từ văn bản.

● Use for Zero-Shot Prediction (Sử dụng cho dự đoán Zero-Shot):

o Ý nghĩa: Trong phần này, bộ phân loại từ văn bản được sử dụng để thực hiện dự đoán zero-shot, tức là phân loại các lớp chưa được huấn luyện trước.

o Các bước:

▪ Xác định mơ hình zero-shot: Sử dụng bộ phân loại đã xây dựng từ văn bản, định nghĩa một mơ hình zero-shot cho việc phân loại các lớp chưa từng thấy trước đó.

▪ Đo khoảng cách hoặc tính độ tương đồng: Khi muốn phân loại một mẫu mới thuộc vào lớp chưa từng được huấn luyện, mơ hình zero-shot sẽ sử dụng thơng tin về văn bản và hình ảnh để đo khoảng cách hoặc tính độ tương đồng giữa mẫu và các lớp đã biết.

▪ Phân loại lớp mới: Dựa trên độ tương đồng tính được, mơ hình shot sẽ phân loại mẫu vào một lớp tương ứng chưa từng thấy trước đó.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>zero-2.3. Áp dụng mơ hình CLIP </b>

<b>2.3.1. Tải xuống các mơ hình đã được huấn luyện trước </b>

● Ý nghĩa: Đảm bảo có các tệp mơ hình CLIp đã được huấn luyện trước để sử dụng cho việc dự đốn hình ảnh và văn bản.

● Các bước:

o Cung cấp URL tải xuống: Phần này cung cấp các URL tải xuống các mơ hình đã được huấn luyện trước. Ví dụ: mơ hình “ViT-B/32”, mơ hình “RN50”,...

o Tải xuống và giải nén mơ hình: Sử dụng câu lệnh Python để tải xuống các tệp mơ hình từ URL cung cấp và giải nén chúng vào thư mục cụ thể.

<b>2.3.2. Tải mơ hình CLIP </b>

● Ý nghĩa: Phần này mô tả cách tải mô hình CLIP đã được huấn luyện trước và chuẩn bị nó để sử dụng cho việc dự đốn hình ảnh và văn bản.

● Các bước:

o Import các thư viện và module: Import các thư viện và module cần thiết để tải mơ hình CLIP và làm việc với nó, bao gồm torch, torchvision.models và CLIP.

o Tạo và tải mơ hình: Tạo một phiên bản của mơ hình CLIP bằng cách sử dụng CLIP Model từ module CLIP và tải các trọng số đã được huấn luyện trước từ tệp mơ hình đã tải xuống.

o Xác định thiết bị (device): Xác định thiết bị (GPU hoặc CPU) để sử dụng cho việc tính tốn.

o Chuyển mơ hình và dữ liệu đến thiết bị: Di chuyển mơ hình và dữ liệu đến thiết bị bằng cách sử dụng phương thức to() và copy() trong PyTorch.

o Kích hoạt chế độ đánh giá (evaluation mode): Đặt mơ hình vào chế độ đánh giá bằng cách gọi phương thức eval().

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>2.3.3. Tiền xử lý ảnh </b>

● Ý nghĩa: Mô tả các bước tiền xử lý hình ảnh trước khi đưa vào mơ hình CLIP. Các bước này giúp chuẩn bị hình ảnh để có thể đưa vào mơ hình và đạt được kết quả chính xác.

● Các bước:

o Resize: Hình ảnh được thay đổi kích thước để phù hợp với u cầu của mơ hình. Thơng thường, kích thước hình ảnh được đặt thành (224, 224) pixels.

o Normalize: Hình ảnh được chuẩn hóa để có giá trị pixel nằm trong khoảng từ 0 đến 1 hoặc -1 đến 1. Điều này giúp đưa dữ liệu về cùng một phạm vi và cải thiện hiệu suất của mơ hình.

o Convert to Tensor: Hình ảnh được chuyển đổi thành định dạng tensor để có thể xử lý bởi mơ hình CLIP.

<b>2.3.4. Tiền xử lý văn bản </b>

● Ý nghĩa: Mô tả các bước tiền xử lý văn bản trước khi đưa vào mơ hình CLIP. Các bước này giúp mã hóa văn bản và chuẩn bị nó để có thể sử dụng trong việc so khớp với hình ảnh.

● Các bước:

o Tokenization: Văn bản được chia thành các từ riêng biệt, gọi là "tokens". Mỗi từ được xem là một đơn vị đầu vào cho mơ hình CLIP. o Encoding: Các từ được mã hóa thành các vectơ số để có thể sử dụng

trong tính tốn. Mã hóa thường sử dụng một từ điển để ánh xạ từng từ tới một vectơ số.

o Convert to Tensor: Văn bản được chuyển đổi thành định dạng tensor để có thể xử lý bởi mơ hình CLIP.

<b>2.3.5. Thực hiện dự đoán </b>

● Ý nghĩa: Hướng dẫn cách chạy dự đốn sử dụng mơ hình CLIP đã được tải và các dữ liệu hình ảnh và văn bản đã được tiền xử lý.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

o Encode Image and Text: Hình ảnh và văn bản được đưa vào mơ hình CLIP để mã hóa thành các vectơ biểu diễn.

o Perform Similarity Calculation: Sử dụng các vectơ biểu diễn, tính tốn độ tương đồng giữa hình ảnh và văn bản. Điều này giúp xác định mức độ phù hợp giữa chúng.

o Obtain Predictions: Dựa trên độ tương đồng, mơ hình CLIP cung cấp các dự đốn về mức độ phù hợp hoặc lớp của hình ảnh và văn bản.

o Visualize Image and Predictions: Hình ảnh và các kết quả dự đoán được hiển thị cùng nhau để trực quan hóa kết quả. Ví dụ, hình ảnh có thể được hiển thị bên cạnh các nhãn dự đoán tương ứng.

o Display Results: Kết quả được hiển thị cho người dùng để xem và đánh giá.

<b>2.4. Lưu mơ hình </b>

Sau khi load mơ hình xong thì mơ hình sau khi được load được load dưới dạng tệp .pth.

</div>

×