paint-brush
CLIP: Một cống dẫn nước sáng tạo giữa thị giác máy tính và NLPtừ tác giả@sanjaykn170396
1,219 lượt đọc
1,219 lượt đọc

CLIP: Một cống dẫn nước sáng tạo giữa thị giác máy tính và NLP

từ tác giả Sanjay Kumar10m2023/01/19
Read on Terminal Reader

dài quá đọc không nổi

CLIP hay còn gọi là “Đào tạo trước hình ảnh ngôn ngữ tương phản” là một trong những thuật toán nổi tiếng được thảo luận trong sách trắng có tên “Học các mô hình trực quan có thể chuyển giao từ giám sát ngôn ngữ tự nhiên” Việc sử dụng CLIP chủ yếu được thực hiện trong các trường hợp sử dụng dựa trên thị giác máy tính sử dụng một thuật toán có tên 'Dall-E 2' Trong bài viết này, chúng ta có thể thảo luận về mục tiêu, quy trình làm việc và một số ưu & nhược điểm của CLIP thông qua một số ví dụ thực tế.
featured image - CLIP: Một cống dẫn nước sáng tạo giữa thị giác máy tính và NLP
Sanjay Kumar HackerNoon profile picture

Mục lục

  • Giới thiệu
  • Mục tiêu và sự cần thiết của thuật toán CLIP
  • Quy trình làm việc của thuật toán CLIP
  • Hạn chế
  • Ứng dụng thời gian thực


Giới thiệu

CLIP hay còn gọi là “Đào tạo trước hình ảnh ngôn ngữ tương phản” là một trong những thuật toán nổi tiếng được thảo luận trong sách trắng có tên “Học các mô hình trực quan có thể chuyển đổi từ giám sát ngôn ngữ tự nhiên” được xuất bản bởi các nhà nghiên cứu tại OpenAI - Phòng thí nghiệm nghiên cứu trí tuệ nhân tạo. Việc sử dụng CLIP chủ yếu được thực hiện trong các trường hợp sử dụng dựa trên thị giác máy tính sử dụng thuật toán có tên “Dall-E 2” cũng được phát triển bởi nhóm Open AI. Chính xác hơn, CLIP đang được sử dụng làm mô hình trợ giúp cho thuật toán “Dall-E 2”. Nhưng đừng hiểu lầm rằng CLIP không mạnh vì nó được sử dụng như một mô hình trợ giúp :)


Mặc dù là một mô hình trợ giúp, CLIP được coi là một bước quan trọng trong nghiên cứu học sâu. Chúng tôi có thể triển khai CLIP để giải quyết vấn đề riêng biệt ngay cả khi không có “Dall-E 2”. Trong bài viết này, chúng ta có thể thảo luận về mục tiêu, quy trình làm việc và một số ưu và nhược điểm của CLIP thông qua một số ví dụ thực tế và cách chúng ta có thể đơn giản hóa vòng đời của các dự án học sâu của mình.


Mục tiêu và sự cần thiết của thuật toán CLIP

Mục tiêu chính đằng sau thuật toán CLIP là tìm một văn bản cụ thể từ danh sách các văn bản giống với hình ảnh nhất định.


Ví dụ,

Chúng ta hãy coi hình ảnh sau đây là đầu vào-

Hình ảnh từ tài liệu tham khảo 1


Và giả sử chúng ta có một số văn bản trong một danh sách nhất định-

  • Một bức ảnh của một chiếc máy bay.
  • Một bức ảnh của một con chim.
  • Một bức ảnh của một con gấu.
  • Một bức ảnh của một con hươu cao cổ.
  • Một bức ảnh của một chiếc xe hơi.


Nhiệm vụ chính của mô hình CLIP là khớp văn bản phù hợp nhất từ danh sách đã cho với hình ảnh đầu vào như hình bên dưới-

Hình ảnh từ tài liệu tham khảo 1


Về cơ bản, đây là một mạng lưới thần kinh nhân tạo coi mỗi văn bản trong danh sách là một lớp và gán giá trị xác suất cho mỗi văn bản tương ứng với hình ảnh. Về mặt logic, văn bản nhận được giá trị xác suất tối đa có thể được coi là đầu ra.


Một khía cạnh tích cực lớn của CLIP là nó đã biết tất cả các từ trong ngôn ngữ “tiếng Anh”. Một số đặc điểm của mô hình CLIP khiến nó trở nên đặc biệt khi so sánh với các thuật toán tương tự khác là-


  • Mô hình CLIP không bị giới hạn trong một từ duy nhất trong văn bản. Thay vào đó, nó cố gắng trích xuất mọi mẩu thông tin từ tất cả các từ trong câu đầu vào và tất cả các pixel của hình ảnh. Nó không bao giờ quên ghi nhớ tất cả các khía cạnh của hình ảnh đầu vào, chẳng hạn như các đối tượng trong nền, màu sắc, hình dạng, v.v.


    Ví dụ,

    Chúng ta hãy xem xét hình ảnh đầu vào sau đây-

Hình ảnh từ tài liệu tham khảo 1


Tất cả các văn bản trong danh sách đã cho ngoại trừ văn bản cuối cùng trông giống như kết hợp logic cho đầu vào. Bất kỳ mô hình nào khác sẽ phải vật lộn để đạt được giá trị xác suất thuyết phục cao cho một lớp cụ thể. Tuy nhiên, CLIP sẽ phân tích các mẫu cho tất cả các khía cạnh trong hình ảnh này, chẳng hạn như cũi, tế bào, con chó, v.v.


Ánh nắng dường như đang chiếu từ ngoài vào trong. Do đó, nó phải là một cấu trúc trong nhà. Ngoài ra, có sự hiện diện của một con vật thay vì con người. Do đó, nó không nên là Nhà tù mà có thể là Cũi.


Loại phân tích nâng cao như vậy xem xét tất cả các khía cạnh của hình ảnh & văn bản có thể không thực hiện được đối với các kiểu máy khác trong cùng một giải đấu.


  • CLIP cũng đã được chứng minh là hoạt động tốt trong các trường hợp sử dụng Nhận dạng ký tự quang học, điều không thể thực hiện được trong các mô hình tương tự-


Hình ảnh từ tài liệu tham khảo 1


Hình ảnh từ tài liệu tham khảo 1



  • Các nhánh khác của thị giác máy tính như định vị địa lý, nhận dạng cảm xúc khuôn mặt, v.v. dường như cũng hoạt động tốt với mô hình CLIP.


Hình ảnh từ tài liệu tham khảo 1


Hình ảnh từ tài liệu tham khảo 1


Hình ảnh từ tài liệu tham khảo 1


  • CLIP đã cho thấy hiệu suất zero-shot tuyệt vời ngay cả trong các đầu vào không nhìn thấy được. Ngoài ra, nó không mong đợi văn bản chỉ có một từ như “mèo”, “chó”, “chim”, “ô tô”.” máy bay”, v.v. Thay vào đó, nó có thể hiểu một nhóm từ đóng khung một cách hợp lý một câu. Tính năng này thường không thấy trong các mô hình khác.


Hình ảnh từ tài liệu tham khảo 1


Hình ảnh từ tài liệu tham khảo 1


Hình ảnh từ tài liệu tham khảo 1


Quy trình làm việc của thuật toán CLIP

Thuật toán CLIP đã được đào tạo trên 400 triệu hình ảnh với các mô tả văn bản được ghép nối giúp thuật toán này có kiến thức sâu rộng về vũ trụ và tự tin giải quyết các tác vụ phức tạp với hình ảnh và văn bản phức tạp.


Bộ dữ liệu Imagenet chỉ bao gồm 1,2 triệu hình ảnh. 400 triệu gấp gần 300 lần so với 1,2 triệu. Hầu hết trong số 400 triệu hình ảnh được thu thập trực tiếp từ internet, điều này làm cho nó trở thành một bộ sưu tập lớn và rất đa dạng, giúp tăng khả năng phát hiện mẫu của nó.


Để phát triển kiến trúc CLIP, chúng ta cần mã hóa cả hình ảnh và văn bản tương ứng thành các vectơ toán học. Điều này là do thuật toán học máy sẽ không thể suy luận thông tin nếu thông tin đó ở định dạng hình ảnh hoặc văn bản. Do đó, chúng ta cần chuyển đổi chúng thành các giá trị số.


Đầu vào hình ảnh được chuyển đổi thành một vectơ toán học bằng thuật toán Transformer hoặc Resnet

Hình ảnh từ tài liệu tham khảo 2



Đầu vào văn bản là một vectơ toán học bằng thuật toán Transformer-

Hình ảnh từ tài liệu tham khảo 2


Vì chúng tôi có một danh sách các cặp Hình ảnh-Văn bản, chúng tôi cần biểu thị nó bằng các bảng chữ cái nhất định.


Mỗi hình ảnh được ký hiệu là I1, I2,I3...IN, v.v.

Mỗi văn bản được ký hiệu là T1,T2,T3…TN, v.v.

Hình ảnh minh họa của tác giả

Sau đó, chúng ta cần xây dựng một ma trận tương tự với mỗi hình ảnh dưới dạng hàng và mỗi văn bản dưới dạng cột.

Hình ảnh từ tài liệu tham khảo 2


Như đã đề cập trong hình trên, các cặp hình ảnh-văn bản chéo sẽ có nhiều điểm giống nhau hơn khi chúng đề cập đến cùng một ngữ cảnh. Các phần tử không thuộc đường chéo là các cặp ngẫu nhiên không thuộc cùng một ngữ cảnh. Do đó, giá trị tương tự của chúng sẽ thấp.


Mục tiêu của các chức năng tối ưu hóa sẽ là tăng giá trị tương tự cho các cặp đường chéo càng nhiều càng tốt và giảm độ tương tự giữa các cặp hình ảnh-văn bản không phải đường chéo.


Tại một thời điểm trong quá trình học, mô hình sẽ có thể học các mẫu ẩn phù hợp với hình ảnh và văn bản thuộc cùng một ngữ cảnh và phân biệt các hình ảnh và văn bản thuộc các ngữ cảnh khác nhau.


Quy trình này về mặt kỹ thuật được gọi là "Đào tạo trước tương phản" .


CLIP được coi là một thuật toán “hiệu quả về mặt tính toán”. Điều này là do họ sử dụng thuật toán biến áp để mã hóa hình ảnh và văn bản truy cập dữ liệu theo cách song song. Nếu chúng ta sử dụng các thuật toán khác như LSTM hoặc RNN, chúng có xu hướng truy cập dữ liệu để mã hóa theo kiểu nối tiếp, điều này có thể tiêu tốn nhiều thời gian và không gian.

Hình ảnh từ tài liệu tham khảo 2


Vì CLIP có thể khớp một hình ảnh với một câu dài, nên các nhà nghiên cứu thường tạo một lời nhắc bằng văn bản đại loại như “A photo of a _____“. Sau đó, trong khi lặp qua danh sách văn bản, chương trình máy tính sẽ tự động khớp từng từ trong danh sách vào dấu nhắc văn bản này như-

  • Ảnh về một chiếc máy bay
  • Một bức ảnh của một chiếc xe hơi
  • Một bức ảnh của một con chó, vv

Văn bản này sau đó được mã hóa và khớp với vectơ được mã hóa của hình ảnh đầu vào để tính toán giá trị tương tự.


Hạn chế


Những thách thức liên quan đến khả năng mở rộng

Trên các bộ dữ liệu có phân tách đào tạo, hiệu suất của CLIP zero-shot ở mức trung bình cạnh tranh với đường cơ sở được giám sát đơn giản của bộ phân loại tuyến tính trên các tính năng của ResNet-50. Trên hầu hết các bộ dữ liệu này, hiệu suất của đường cơ sở này hiện thấp hơn nhiều so với trạng thái hiện đại tổng thể. Công việc quan trọng vẫn còn cần thiết để cải thiện khả năng chuyển giao và học nhiệm vụ của CLIP. Mặc dù cho đến nay, việc mở rộng quy mô đã cải thiện đều đặn hiệu suất và đề xuất một lộ trình để tiếp tục cải thiện, nhưng các nhà nghiên cứu ước tính mức tăng điện toán khoảng 1000 lần là cần thiết để CLIP zero-shot đạt được hiệu suất tổng thể hiện đại nhất. Điều này là không khả thi để đào tạo với phần cứng hiện tại. Nghiên cứu sâu hơn về cải thiện hiệu quả tính toán và dữ liệu của CLIP sẽ là cần thiết.


Những thách thức liên quan đến hiệu suất zero-shot

Có thể thấy rằng hiệu suất zero-shot của CLIP vẫn còn khá yếu trên một số loại tác vụ. Khi so sánh với các mô hình dành riêng cho nhiệm vụ, hiệu suất của CLIP kém đối với một số loại phân loại chi tiết chẳng hạn như phân biệt các mô hình ô tô, các loài hoa và các biến thể của máy bay. CLIP cũng gặp khó khăn với các nhiệm vụ trừu tượng và có hệ thống hơn, chẳng hạn như đếm số lượng đối tượng trong một hình ảnh. Cuối cùng, đối với các tác vụ mới không có khả năng được đưa vào bộ dữ liệu đào tạo trước của CLIP, chẳng hạn như phân loại khoảng cách đến ô tô gần nhất trong ảnh, hiệu suất của CLIP có thể gần như ngẫu nhiên.


Những thách thức trong việc hiểu những hình ảnh nằm ngoài tập huấn luyện (phân phối)

Mặc dù CLIP không có cảnh quay tổng quát hóa tốt cho nhiều phân phối hình ảnh tự nhiên như đã điều tra, nhưng các nhà nghiên cứu nhận thấy rằng CLIP không có ảnh chụp vẫn khái quát hóa kém đối với dữ liệu thực sự nằm ngoài khả năng phân phối của nó.


Ví dụ: CLIP học cách biểu diễn OCR ngữ nghĩa chất lượng cao, hoạt động tốt trên văn bản được kết xuất kỹ thuật số, điều phổ biến trong tập dữ liệu trước khi đào tạo của nó, bằng chứng là hiệu suất trên SST2 được kết xuất.


Tuy nhiên, CLIP chỉ đạt độ chính xác 88% trên các chữ số viết tay của MNIST. một điều đáng xấu hổ

đường cơ sở đơn giản của hồi quy logistic trên pixel thô hoạt động tốt hơn CLIP không ảnh. Cả truy xuất hàng xóm gần nhất theo ngữ nghĩa và gần trùng lặp đều xác minh rằng hầu như không có hình ảnh nào giống với các chữ số MNIST trong tập dữ liệu trước khi đào tạo của chúng tôi.


Điều này cho thấy CLIP không giải quyết được vấn đề tiềm ẩn về khả năng khái quát hóa dễ vỡ của các mô hình học sâu. Thay vào đó, CLIP cố gắng giải quyết vấn đề và hy vọng rằng bằng cách đào tạo trên một tập dữ liệu lớn và đa dạng như vậy, tất cả dữ liệu sẽ được phân phối một cách hiệu quả. Đây là một giả định ngây thơ, như MNIST chứng minh, rất dễ bị vi phạm.


Không thể tạo phụ đề

Mặc dù CLIP có thể linh hoạt tạo bộ phân loại zero-shot cho nhiều tác vụ và bộ dữ liệu khác nhau, CLIP vẫn bị giới hạn trong việc chỉ chọn từ những khái niệm đó trong một bộ phân loại zero-shot nhất định. Đây là một hạn chế đáng kể so với một cách tiếp cận thực sự linh hoạt như chú thích hình ảnh có thể tạo ra các kết quả đầu ra mới lạ.


CLIP không giải quyết được hiệu quả dữ liệu kém của deep learning

CLIP cũng không giải quyết được hiệu quả dữ liệu kém của deep learning. Thay vào đó, CLIP bù đắp bằng cách sử dụng một nguồn giám sát có thể được mở rộng thành hàng trăm triệu ví dụ đào tạo. Nếu mọi hình ảnh nhìn thấy trong quá trình đào tạo mô hình CLIP được trình bày với tốc độ một hình ảnh mỗi giây, thì sẽ mất 405 năm để lặp lại 12,8 tỷ hình ảnh được nhìn thấy trong 32 kỷ nguyên đào tạo. Kết hợp CLIP với các phương pháp tự giám sát và tự đào tạo là một hướng đi đầy hứa hẹn nhờ khả năng đã được chứng minh của họ trong việc cải thiện hiệu quả dữ liệu so với học tập có giám sát tiêu chuẩn.


Ứng dụng thời gian thực

Một số lĩnh vực mà CLIP đã được sử dụng để giải quyết các trường hợp sử dụng thời gian thực là:


  • Có một trang web gọi là “paint.wtf”, nơi chúng ta có thể chơi Pictionary. Người chơi ở đây sẽ được đánh giá bởi CLIP.

  • CLIP có thể được sử dụng để triển khai các bộ lọc như “NSFW (Không an toàn cho công việc)”.

  • “DALL-E”, một thuật toán của Open AI đang sử dụng CLIP làm mô hình trợ giúp như chúng ta đã thảo luận trước đó.

  • CLIP được sử dụng để lập chỉ mục ảnh trên các trang web như Bapt .

  • CLIP có thể được sử dụng để tìm các hình ảnh thích hợp cho các ngôn ngữ phức tạp như thơ, câu đố, vè, tiểu thuyết, v.v.

  • CLIP cũng có thể được sử dụng để chọn hình ảnh bị hỏng hoặc bị biến dạng. Một bài báo nghiên cứu mới có tiêu đề, 'Các vấn đề nghịch đảo tận dụng các biểu diễn tương phản được đào tạo trước ', trình bày cách sử dụng phương pháp đảo ngược có giám sát để có được các biểu diễn hiệu quả của các hình ảnh bị hỏng.

    Hình ảnh từ tài liệu tham khảo 3


  • Được phát hành vào năm 2021, một mô hình tổng quát có tên CLIP+VQGAN hoặc Mạng đối thủ tạo lượng tử vector được sử dụng trong mô hình chuyển văn bản thành hình ảnh để tạo hình ảnh có kích thước thay đổi, được cung cấp một tập hợp lời nhắc văn bản. Tuy nhiên, không giống như VQGAN, CLIP không phải là một mô hình tổng quát và được đào tạo đơn giản để thể hiện cả hình ảnh và văn bản một cách hiệu quả.



Hình ảnh từ tài liệu tham khảo 4


Phần kết luận

Một thực tế không thể phủ nhận trong ngành học sâu là CLIP đã mở đường cho sự phát triển của các thuật toán nâng cao lof để giải quyết các trường hợp sử dụng phức tạp liên quan đến xử lý hình ảnh và NLP.


CLIP có thể được coi là cầu nối sáng tạo giữa thị giác máy tính và NLP. Ngoài ra, vì nó không yêu cầu dữ liệu đào tạo dành riêng cho nhiệm vụ, nên có thể cung cấp một lượng lớn dữ liệu văn bản và nó sẽ dần trở nên tốt hơn và tốt hơn ở các nhiệm vụ không liên quan hơn.


Chúng ta có thể cùng nhau háo hức chờ đợi những tiến bộ đột phá mà CLIP sẽ mang lại trong tương lai. Tôi hy vọng bạn đã có phần giới thiệu cơ bản về khái niệm đằng sau thuật toán CLIP một cách rõ ràng.


Tôi đã thêm các liên kết đến bài nghiên cứu trong phần tài liệu tham khảo mà bạn có thể sử dụng trong trường hợp cần tham khảo để thực hiện chuyên sâu.


Người giới thiệu

  1. Tài liệu CLIP từ Open AI

  2. “Học các mô hình trực quan có thể chuyển giao từ sự giám sát bằng ngôn ngữ tự nhiên" - Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever

  3. “Các bài toán nghịch đảo tận dụng các biểu diễn tương phản được đào tạo trước" - Sriram Ravula*, Georgios Smyrnis*, Matt Jordan, Alexandros G. Dimakis, The University of Texas at Austin, NeurIPS 2021

  4. "VQGAN-CLIP: Tạo và chỉnh sửa hình ảnh miền mở với hướng dẫn ngôn ngữ tự nhiên"- Katherine Crowson, Stella Biderman, Daniel Kornis, Dashiell Stander, Eric Hallahan, Louis Castricato và Edward Raff

  5. Radford, Alec; Narasimhan, Karthik; Salimans, Tim; Sutskever, Ilya (11 tháng 6 năm 2018). "Cải thiện khả năng hiểu ngôn ngữ bằng cách đào tạo trước sáng tạo" (PDF). Mở AI . P. 12. Bản gốc (PDF) lưu trữ ngày 26 tháng 1 năm 2021. Truy cập ngày 23 tháng 1 năm 2021.

  6. Johnson, Khari (ngày 5 tháng 1 năm 2021). "OpenAI ra mắt DALL-E để tạo hình ảnh từ văn bản" . Liên doanhBeat. Bản gốc lưu trữ ngày 5 tháng 1 năm 2021. Truy cập ngày 5 tháng 1 năm 2021.

  7. Ramesh, Aditya; Dhariwal, Prafulla; Nichol, Alex; Chu, Casey; Chen, Mark (12 tháng 4 năm 2022). "Tạo hình ảnh có điều kiện theo văn bản phân cấp với độ trễ CLIP" . arXiv : 2204.06125 .