Logo Zephyrnet

Học Zero-Shot: Bạn có thể phân loại một đối tượng mà không cần nhìn thấy nó trước đó không?

Ngày:

Học Zero-Shot: Bạn có thể phân loại một đối tượng mà không cần nhìn thấy nó trước đó không?

Việc phát triển các mô hình học máy có thể thực hiện các chức năng dự đoán trên dữ liệu mà nó chưa từng thấy trước đây đã trở thành một lĩnh vực nghiên cứu quan trọng được gọi là học không bắn. Chúng ta có xu hướng khá giỏi trong việc nhận ra những thứ trên thế giới mà chúng ta chưa từng thấy trước đây và việc học không bắn cung cấp một con đường khả thi để bắt chước khả năng mạnh mẽ này của con người.


Nguồn ảnh.

Bản phát hành gần đây của GPT-3 khiến tôi quan tâm đến trạng thái học không bắn và học vài lần trong NLP. Trong khi hầu hết các nghiên cứu về học tập zero-shot đều tập trung vào Thị giác máy tính, cũng có một số công việc thú vị trong lĩnh vực NLP.

Trong vài thập kỷ qua, máy móc đã trở nên thông minh hơn nhiều, nhưng nếu không có tập dữ liệu huấn luyện được dán nhãn thích hợp của các lớp đã thấy, chúng không thể phân biệt giữa hai đối tượng giống nhau. Mặt khác, con người có khả năng xác định khoảng 30,000 loại đối tượng cơ bản. Trong học máy, đây được coi là vấn đề của Học Zero-shot (ZSL).

Chúng ta hãy xem xét một ví dụ về việc một đứa trẻ sẽ không gặp vấn đề gì khi nhận ra một con ngựa vằn nếu nó đã nhìn thấy một con ngựa trước đó và đọc ở đâu đó rằng một con ngựa vằn trông giống ngựa nhưng có sọc đen trắng.

Nguồn ảnh.

Bạn có thể phân loại một đối tượng mà không bao giờ nhìn thấy nó?

, bạn có thể làm được nếu bạn có đầy đủ thông tin về hình thức, đặc tính và chức năng của nó. Hãy nhớ lại cách bạn hiểu thế giới khi còn là một đứa trẻ. Bạn có thể phát hiện ra sao Hỏa trên bầu trời đêm sau khi đọc về màu sắc của nó và vị trí của nó vào đêm đó, hoặc xác định chòm sao Cassiopeia chỉ khi được cho biết: "Về cơ bản nó là một chữ 'W' bị dị dạng."

Học Zero-Shot là gì?

ZSL là một thiết lập vấn đề trong học máy, trong đó khi thử nghiệm, người học quan sát các mẫu từ các lớp không được quan sát trong khi đào tạo mô hình và dự đoán loại chúng thuộc về. Về cơ bản, phương pháp Zero-shot hoạt động bằng cách kết hợp các danh mục quan sát / nhìn thấy và không quan sát / không nhìn thấy thông qua một số loại thông tin bổ trợ, mã hóa các thuộc tính phân biệt có thể quan sát của các đối tượng.

Không cần truy cập bất kỳ dữ liệu nào thuộc các danh mục không nhìn thấy được trong quá trình đào tạo mô hình, nhưng nó có thể xây dựng và đào tạo mô hình với sự trợ giúp của việc chuyển giao thông tin tình báo từ các danh mục đã thấy trước đó và thông tin bổ trợ.

Ví dụ: với một bộ hình ảnh về trường hợp sử dụng phân loại động vật, cùng với các mô tả văn bản bổ trợ về động vật trông như thế nào, mô hình Trí tuệ nhân tạo (AI) đã được đào tạo để xác định ngựa, nhưng chưa bao giờ nhìn thấy ngựa vằn, vẫn có thể xác định ngựa vằn nếu nó cũng biết rằng ngựa vằn trông giống như ngựa vằn. Thông tin bổ trợ có thể bao gồm các thuộc tính, mô tả văn bản hoặc vectơ của nhãn danh mục từ. Loại trường hợp sử dụng này chủ yếu được nghiên cứu trong thị giác máy tính (CV), xử lý ngôn ngữ tự nhiên (NLP) và nhận thức máy móc.

ZSL được thực hiện trong hai giai đoạn:

  1. Hội thảo: Nơi kiến ​​thức về các thuộc tính được thu thập
  2. Sự suy luận: Kiến thức sau đó được sử dụng để phân loại các cá thể trong một tập hợp các lớp mới.

Cách thức hoạt động của Zero-shot Learning?

Có hai cách tiếp cận phổ biến được sử dụng để giải quyết các vấn đề về nhận dạng ảnh không.

1. Phương pháp tiếp cận dựa trên nhúng

Mục tiêu chính của phương pháp này là ánh xạ các đặc trưng hình ảnh và các thuộc tính ngữ nghĩa vào một không gian nhúng chung bằng cách sử dụng hàm chiếu, được học bằng cách sử dụng mạng sâu.

Chúng ta hãy xem một ví dụ về các phương pháp này để hiểu sâu hơn về chúng.

Trong khi đào tạo, mục đích là tìm một chức năng chiếu từ không gian trực quan sang không gian ngữ nghĩa (nghĩa là vectơ từ hoặc nhúng ngữ nghĩa) bằng cách sử dụng thông tin từ các danh mục đã thấy. Vì mạng nơ-ron được sử dụng như bộ xấp xỉ hàm, nên hàm chiếu được học như một mạng nơ-ron sâu.

Trong giai đoạn thử nghiệm, dữ liệu tính năng hình ảnh danh mục không được quan sát được đưa vào làm đầu vào cho mô hình được đào tạo và kết quả là chúng tôi nhận được nhúng ngữ nghĩa tương đối. Sau đó, để thực hiện phân loại, chúng tôi thử với tìm kiếm láng giềng gần nhất trong không gian thuộc tính ngữ nghĩa để tìm kết quả tương tự tốt nhất với đầu ra của mạng. Cuối cùng, danh mục tương ứng với nhúng ngữ nghĩa gần nhất được dự đoán là danh mục cuối cùng của tính năng hình ảnh đầu vào.

Hình trên cho thấy cơ cấu của một phương pháp học zero-shot dựa trên nhúng điển hình. Hình ảnh đầu vào ban đầu được chuyển qua mạng trích xuất đặc trưng (mạng nơ-ron sâu (DNN)) để có được vectơ đặc trưng N-chiều cho hình ảnh. Vectơ này đóng vai trò là đầu vào của mạng chính, nó trả về kết quả của một vectơ đầu ra D-chiều. Mục tiêu cuối cùng là tính toán trọng số của mạng chiếu để ánh xạ đầu vào N chiều thành đầu ra D chiều. Để có được điều này, chúng tôi đặt một lỗ đo lường tính tương thích giữa đầu ra D-chiều và thuộc tính ngữ nghĩa sự thật cơ bản. Các trọng số của mạng được huấn luyện sao cho đầu ra D-chiều càng gần với dữ liệu chân thực cơ bản càng tốt.

2. Cách tiếp cận dựa trên mô hình tổng quát

Hạn chế chính của các phương pháp dựa trên nhúng là chúng gặp phải vấn đề sai lệch và dịch chuyển miền. Điều này có nghĩa là vì chức năng chiếu chỉ được học bằng cách sử dụng các lớp được nhìn thấy trong quá trình đào tạo, kết quả là nó sẽ thiên về dự đoán các nhãn danh mục đã nhìn thấy. Cũng không có gì chắc chắn rằng chức năng chiếu được đào tạo sẽ ánh xạ chính xác các đối tượng ảnh danh mục không quan sát được vào không gian ngữ nghĩa tương ứng một cách chính xác ở giai đoạn thử nghiệm. Điều này là do mạng sâu chỉ học cách ánh xạ các đặc điểm hình ảnh danh mục đã thấy vào không gian ngữ nghĩa trong quá trình đào tạo và có thể không làm được điều tương tự đối với danh mục không quan sát mới ở giai đoạn thử nghiệm.

Để có thể khắc phục nhược điểm này, điều quan trọng là mô hình phân loại zero-shot của chúng tôi được đào tạo trên cả ảnh danh mục nhìn thấy và không quan sát được tại thời điểm chạy tàu. Đây là nơi mà loại phương pháp dựa trên mô hình này được sử dụng.

Mục tiêu của phương pháp generative là tạo ra các đặc điểm hình ảnh cho các danh mục không được quan sát bằng cách sử dụng các thuộc tính ngữ nghĩa. Nói chung, điều này được thực hiện bằng cách sử dụng mạng đối phương tạo ra có điều kiện (cGAN) tạo ra các đặc điểm hình ảnh có điều kiện dựa trên thuộc tính ngữ nghĩa của một danh mục nhất định.

Hình bên dưới mô tả sơ đồ của phương pháp học không bắn dựa trên mô hình tổng quát. Giống với phương pháp dựa trên nhúng, chúng tôi sử dụng mạng trích xuất đặc trưng để có được vectơ đặc trưng N chiều. Đầu tiên, vector thuộc tính được nhập vào mô hình tổng quát như được hiển thị trong biểu đồ. Bộ tạo tạo ra một vectơ đầu ra N chiều được điều chỉnh trên vectơ thuộc tính. Mô hình tổng hợp được đào tạo sao cho vectơ đặc trưng tổng hợp trông giống với vectơ đặc trưng N chiều ban đầu.

Khi mô hình tổng quát được mô hình hóa, chúng tôi cố định các trọng số của trình tạo và chuyển các thuộc tính lớp làm đầu vào cho nó để tạo ra các đặc trưng hình ảnh danh mục không quan sát được. Khi chúng ta đã thấy các tính năng hình ảnh lớp (tập dữ liệu đào tạo) và các tính năng hình ảnh danh mục không quan sát được, chúng ta có thể huấn luyện một bộ phân loại hình ảnh cơ bản lấy hình ảnh làm đặc điểm đầu vào và xuất nhãn danh mục tương ứng như trong hình.

Chỉ số đánh giá cho phương pháp học Zero-shot

Nói chung, các mô hình nhận dạng hình ảnh / phân loại hình ảnh sử dụng độ chính xác Top-1 làm thước đo đánh giá của chúng. Tuy nhiên, số liệu đánh giá được sử dụng cho các mô hình nhận dạng đã học bằng không chụp khác với số liệu được sử dụng cho các mô hình phân loại hình ảnh vani.

Chúng tôi sử dụng mức độ chính xác Top-1 trung bình trên mỗi danh mục để đánh giá kết quả nhận dạng khi không chụp.

Về mặt toán học, cho một tập hợp các lớp Y với N các lớp, độ chính xác trung bình trên mỗi lớp được đưa ra bởi

Sau đó, chúng tôi tính toán độ chính xác cho từng lớp riêng lẻ và sau đó tính trung bình trên tất cả các danh mục khác. Điều này khuyến khích hiệu suất cao ở cả các lớp học thưa thớt và đông dân cư. Trong phương pháp của một cài đặt không bắn tổng quát, mục tiêu của chúng tôi là đạt được độ chính xác cao trên cả các lớp đã thấy cũng như một tập hợp các danh mục không được quan sátDo đó, chỉ số hiệu suất được định nghĩa là giá trị trung bình hài hòa của hiệu suất trên các lớp đã thấy và các loại không được quan sát.

Thực hiện

Chúng tôi sẽ sử dụng mặt ôm để triển khai phương pháp học không bắn vì nó dễ sử dụng và hỗ trợ nhiều tác vụ NLP. Các mặt ôm các thư viện cũng cung cấp sẵn đường ống phân loại zero-shot-shot với các khả năng thực hiện phân loại văn bảnphân loại tình cảmvà mô hình chủ đề mà không cần thiết phải có bất kỳ dữ liệu hoặc đào tạo được gắn nhãn nào.

Các bước chính:

  1. Đầu tiên, chúng ta cần cài đặt và nhập đường ống.
  2. Tiếp theo, xác định chuỗi văn bản đầu vào và các nhãn ứng viên.
  3. Cuối cùng, chúng tôi chạy trình phân loại.

Để biết thêm chi tiết, kiểm tra Ở đây.

Trình phân loại văn bản Zero-shot

Trong phương pháp phân loại văn bản zero-shot, mô hình đã được đào tạo có thể phân loại bất kỳ thông tin văn bản nào được cung cấp mà không cần có bất kỳ thông tin cụ thể nào về dữ liệu.

Chúng tôi có thể cài đặt sẵn mặt ôm máy biến áp có mã sau:

! pip cài đặt máy biến áp 

Sau đó, chúng tôi có thể nhập và xác định đường ống dẫn với phân loại zero-shot,

từ máy biến áp nhập khẩu đường ống phân loại = đường ống (“phân loại không bắn”) 

Có nhiều cách tiếp cận khác nhau để sử dụng phân loại không chụp:

  1. Chúng tôi có thể chuyển đầu vào dưới dạng trình tự và thẻ ứng viên. Khi đầu vào được chuyển với thông tin bắt buộc, đường ống trả về đầu ra có trọng số tương tự như chức năng kích hoạt softmax trong đó tất cả xác suất danh mục được thêm vào 1 và tất cả đều phụ thuộc.
Sequence = "Thời tiết hôm nay thế nào" 

Đầu ra:

{'label': ['environment', 'weather', 'economy'], 'score': [0.5216448307037354, 0.46808499097824097, 0.010270169004797935], 'sequence': 'Thời tiết hôm nay thế nào?'} 

Nguồn mã.

  1. Sử dụng nhiều thủy tinh thuộc tính cho trường hợp sử dụng ở trên, chúng ta có thể chuyển vào một thuộc tính là multi_class = True. Các trọng số sẽ độc lập. Mỗi loại xác suất sẽ có một quy tắc xác suất trong khoảng 0 và 1.
sequin = "Thời tiết hôm nay thế nào?" Ứng viên_tags = ["khí hậu", "môi trường", "kinh tế", "cuộc bầu cử"] trình phân loại (trình tự, ứng cử viên, multi_class = True) 

Đầu ra:

{'nhãn': ["khí hậu", "môi trường", "kinh tế", "cuộc bầu cử"], "điểm số": [0.9449107646942139, 0.9024710655212402, 0.00020360561029519886, 0.00011781518696807325], "chuỗi": "Thời tiết hôm nay thế nào?"} 

Nguồn mã.

Phân loại văn bản hoạt động như thế nào?

Mô hình phân loại văn bản zero-shot được đào tạo trên Giao diện Ngôn ngữ Tự nhiên (NLI). Phân loại văn bản là quá trình phân loại văn bản thành một tập hợp các từ. Bằng cách sử dụng NLI, phân loại văn bản có thể tự động thực hiện phân tích văn bản và sau đó chỉ định một tập hợp các thẻ hoặc danh mục được xác định trước dựa trên ngữ cảnh của nó. Trong mô hình này, phân loại zero-shot tương tự như việc có chuỗi là một chuỗi trong mô hình NLI. Ngoài ra, một trong các nhãn là một chuỗi khác. Tiếp theo, mô hình kiểm tra xem nhãn nào chứa chuỗi thứ nhất và thứ hai, sau đó gửi dự đoán dưới dạng đầu ra.

Kết luận

Học zero-shot là một phương pháp quan trọng. Đây là một chủ đề tương đối mới vì vẫn còn rất nhiều nghiên cứu trong nhiều lĩnh vực. Ngoài học máy tiêu chuẩn, trong đó các bộ phân loại dự kiến ​​sẽ phân loại chính xác các mẫu mới cho các lớp, chúng đã xác định hoặc gắn nhãn trong quá trình đào tạo mô hình bộ phân loại, trong học tập không bắn, không có mẫu nào từ các lớp được đưa ra trong quá trình đào tạo mô hình .

Mã có sẵn Ở đây.

Tài liệu tham khảo

Pushpankar Kumar Pushp và cộng sự. “Đào tạo một lần, kiểm tra mọi nơi: Học Zero-Shot để phân loại văn bản”

Liên quan:

Coinsmart. Đặt cạnh Bitcoin-Börse ở Europa
Nguồn: https://www.kdnuggets.com/2021/04/zero-shot-learning.html

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?