BioCLIP:物種圖像的基礎視覺模型

從無人機到個人手機,各種相機收集的自然世界圖像是越來越豐富的生物信息來源。從圖像中提取生物相關信息用于科學的計算方法和工具激增,尤其是計算機視覺。然而,其中大多數都是為特定任務設計的,不容易適應或擴展到新的問題、環境和數據集。為了解決這一問題,BioCLIP發布了TREEOFLIFE-10M,這是最大、最多樣化的生物圖像數據集。然后開發了BIOCLIP,這是生命樹的基礎模型,利用TREEOFLIFE-10M捕捉到的生物學的獨特特性,即植物、動物和真菌的豐富多樣的圖像,以及豐富的結構化生物學知識。BioCLIP在不同的細粒度生物分類任務上進行了嚴格的基準測試,BioCLIP始終顯著優于現有的基線(絕對值為16%至17%)。

來自:BIOCLIP: A Vision Foundation Model for the Tree of Life

目錄

  • 背景概述
  • 貢獻
  • CLIP背景下的零樣本和小樣本場景

背景概述

計算機視覺正在迅速成為研究自然世界的工具。然而,應用計算機視覺來回答生物學問題仍然是一項艱巨的任務----生物學家必須手動為感興趣的特定分類種群標記足夠的數據,并找到和任務相關的模型。此時,CLIP和GPT-3等基礎模型正在推進零樣本或少樣本學習(無需參數更新)。類似的生物學視覺基礎模型應該適用于跨越整個生命樹的任務,而不僅僅是它所訓練的那些分類種群。

在這項工作中,作者的目標是為生命樹開發這樣一個基礎模型:

  • 首先,它應盡可能推廣到整個生命樹,以確保它支持研究人員研究許多不同的分支。此外,收集覆蓋數百萬已知分類群的訓練數據是不可行的,因此該模型必須推廣到訓練數據中不存在的分類群。
  • 其次,它應該學習生物圖像的細粒度表示,這種細粒度是至關重要的,因為生命樹將生物分為廣泛的類別(動物、真菌和植物)甚至非常細粒度的類別(印第安淺藍鳥,印第安藍鳥)。
  • 最后,由于生物學中數據收集和標記的高成本,在low-data(即零樣本或少樣本)設置中的性能至關重要。

雖然泛化、細粒度分類在計算機視覺中已經是老問題,但對于生物自然圖像,數億張圖像上訓練的現有通用視覺模型依然達不到要求。具體而言,現有的視覺模型產生了一般的細粒度表示,有助于比較狗和狼等常見生物,但不適用于更細粒度的比較,例如Onoclea sensibilis和Onoclea hintonii(見圖1)。

下面,作者確定了開發生物學視覺基礎模型的兩個主要障礙。首先,需要合適的預訓練數據集:現有數據集缺乏規模、多樣性或細粒度標簽。其次,需要研究適當的預訓練策略,利用生物學領域的特性,更好地實現前面提到的三個關鍵目標。
fig1

  • 圖1:a.兩種不同植物的兩個分類群(taxa),或分類學標簽(taxonomic labels),圖d和圖e,除了species之外,它們的taxa是相同的。b.自回歸文本編碼器自然地對分類法(taxonomy)的層次結構進行編碼。看看Order token(Polypodiales)如何包含Kingdom, Phylum 和 Class tokens的信息。這有助于將視覺表示與層次結構對齊。c.分類標簽的這些分層表示被饋送到標準對比預訓練目標中,并與圖像表示 d 和 e 相匹配。
文本類型例子
Common-共識black-billed magpie-黑嘴喜鵲
Scientific-科學Pica hudsonia-黑嘴喜鵲
Taxonomic-分類學Animalia Chordata Aves Passeriformes Corvidae Pica hudsonia
Scientific + CommonPica hudsonia with common name black-billed magpie
Taxonomic + CommonAnimalia Chordata Aves Passeriformes Corvidae Pica hudsonia with common name black-billed magpie
  • 表3:BIOCLIP訓練中考慮的文本類型。

貢獻

鑒于這些目標和實現這些目標的挑戰,作者介紹了:TREEOFLIFE-10M,一個大規模的ML ready生物圖像數據集,以及BIOCLIP,一個生命樹的視覺基礎模型。

  • TREEOFLIFE-10M:一個大規模、多樣化的ML生物圖像數據集。作者策劃并發布了迄今為止最大的ML ready生物圖像數據集及其相關分類標簽,包含超過1000萬張圖像,覆蓋生命樹中的454,000個分類群。相比之下,目前最大的ML ready生物圖像數據集中iNat21僅包含270萬張圖像。TREEOFLIFE-10M集成了現有的高質量數據集,如iNat21和BIOSCAN-1M。更重要的是,它包括來自生命百科全書的最新圖像,該百科全書提供了TREEOFLIFE-10M的大部分數據多樣性。TREEOFLIFE-10M中的每個圖像都以其盡可能最好的分類層次以及生命樹中更高的分類等級進行標記(參見圖1和表3中的分類等級和標簽示例)。TREEOFLIFE-10M能夠訓練BIOCLIP和未來的生物學基礎模型。
  • BIOCLIP:生命之樹的視覺基礎模型。對于TREEOFLIFE-10M等大規模標記數據集,一種標準、直觀的訓練策略(如ResNet50和Swin Transformer等其他視覺模型所采用的)是使用監督分類目標,并從圖像中學習預測分類指數。然而,這并沒有認識到和利用分類學標簽的豐富結構——分類群(taxa)不是孤立存在的,而是在一個全面的分類學中相互聯系的。因此,通過普通監督分類訓練的模型不能很好地推廣到那些unseen分類群(不能支持零樣本分類)。

相反,作者提出了一種新的策略,將CLIP風格的多模態對比學習與BIOCLIP豐富的生物分類學相結合。作者將從Kingdom到最遠端的taxon rank“扁平化”為一個稱為taxonomic name的字符串,并使用CLIP對比學習目標來學習將圖像與其對應的分類名稱相匹配。直觀地說,這有助于該模型推廣到看不見的分類群——即使模型沒有看到某個物種,它也很可能學會了該物種屬(genus)或科(family)的合理表示(見圖1)。BIOCLIP還支持零樣本分類法(開放詞匯表)。作者進一步提出并證明了混合文本類型訓練策略的有效性;通過在訓練過程中混合不同的文本類型(例如,taxonomic vs. scientific vs. common),模型保留了taxonomic name的泛化能力,同時在測試時具有更大的靈活性。例如,即使下游用戶只提供常見的物種名稱,BIOCLIP仍然表現出色。
tab4

  • 表4:模型基準測試。

CLIP背景下的零樣本和小樣本場景

對于零樣本,遵循與CLIP相同的程序(直接計算輸入圖像與候選文本的相似度就行)。對于小樣本學習,遵循SimpleShot并使用nearest-centroid classifier。對于k-shot,首先對每個類的k個示例進行隨機采樣,并從預訓練模型的視覺編碼器中獲得圖像embedding。然后,計算 k 個嵌入的平均特征向量作為每個類的質心。數據集中剩下的所有示例都用于測試。在對每個質心和測試特征向量應用均值減法和L2歸一化后,選擇質心離測試向量最近的類作為預測類。作者用不同的隨機種子重復每個實驗5次,并在表4中報告平均準確度。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36653.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36653.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36653.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【編程知識】什么是編譯型語言?什么是解釋型語言?

1.編譯型語言: 源代碼由編譯器編譯為機器代碼(中間代碼),生成可執行文件,后面的執行無需編譯,可以直接運行,無需依賴源代碼或編譯器。 執行速度更快,因為在執行前已經有一步編譯階段…

運維團隊如何加強安全設備監控與日志管理

隨著信息技術的飛速發展,網絡安全問題日益凸顯,安全設備的監控和日志管理成為了運維團隊不可或缺的工作內容。本文將結合運維行業的實際需求,探討如何加強安全設備監控與日志管理,以提升系統的安全性和穩定性。 一、安全設備監控…

git 本地代碼管理

簡介 git 能實現本地代碼多個更改版本的管理和導出。 首先復制好項目(參考 git clone 別人項目后正確的修改和同步操作 中的前三步) 實操 克隆原始項目 首先,從遠程倉庫克隆項目到本地: git clone https://github.com/libo-huan…

【AI大模型】Transformers大模型庫(十二):Evaluate模型評估

目錄 一、引言 二、Evaluate模型評估 2.1 概述 2.2 使用方法 2.2.1 步驟1: 導入必要的庫 2.2.2 步驟2: 加載模型和分詞器 2.2.3 步驟3: 準備數據集 2.2.4 步驟4: 數據預處理 2.2.5 步驟5: 創建訓練和評估數據集 2.2.6 步驟6: 設置訓練參數并創建Trainer 2.2.7 步…

基于Flask開發的前后端交互項目(可用于期末大作業) MySQL數據庫 文件上傳 Spider爬蟲 Echarts可視化展示 JS動態

項目描述: 開發一個基于Flask框架開發的前后端交互項目,項目內容為 東京奧運會 。對各個需要填寫的字段做了數據驗證,非法信息會被JS攔截提醒不合法;還對未登錄就訪問做了攔截,阻止未登錄就訪問。 前端:HT…

idea 開發工具properties文件中的中文不顯示

用idea打開一個項目,配置文件propertise中的中文都不展示,如圖: 可修改idea配置讓中文顯示: 勾選箭頭指向的框即可,點擊應用保存,重新打開配置文件,顯示正常

Java開發環境配置

一、JDK 下載JDK:Java Downloads | Oracle 配置環境變量:09、Java入門:Path、JAVA_HOME環境變量配置_嗶哩嗶哩_bilibili 二、IDEA 下載IDEA: Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com) 建…

HotSpot 垃圾收集器

文章目錄 前言HotSpot 垃圾收集器1. 查看jdk默認垃圾收集器命令2. 查看當前服務使用的是哪個垃圾收集器:3. 常用的垃圾收集器3.1. 并行垃圾收集器(Parallel Garbage Collector)3.2. CMS 垃圾收集器(Concurrent Mark-Sweep Garbage Collector&…

情感分析方法與實踐

第1關:情感分析的基本方法 情感分析簡介 情感分析,又稱意見挖掘、傾向性分析等。簡單而言,是對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程。在日常生活中,情感分析的應用非常普遍,下面列舉幾種常見的…

Gradle學習-3 Gradle插件

1、Gredle插件是什么 Gradle插件是用于擴展和增強Gradle構建系統的功能模塊通過插件,Gradle可以執行各種構建任務,如編譯代碼、打包應用、運行測試等 Gradle插件主要分為:二進制插件、腳本插件 二進制插件二進制插件是預編譯的、可以復用的…

web學習筆記(七十二)

目錄 1.vue2通過$parent實現組件傳值——父傳子 2.vue2 通過$children實現組件傳值——子傳父 3. provide和inject傳值(依賴注入) 4.vue2如何操作dom 5.vue2如何拿到最新的dom 6.filters過濾器 7.vue2的生命周期 8.vuex的用法 1.vue2通過$parent…

Oracle分析表和索引(analyze)

分析表 analyze table tablename compute statistics; 分析索引 analyze index indexname compute statistics; 該語句生成的統計信息會更新user_tables這個視圖的統計信息,分析的結果被Oracle用于基于成本的優化生成更好的查詢計劃 對于使用CBO(Cost-Base Optimization)很有好…

大數據開發需要哪些職場知識

職場是個人情世故的江湖,除了專業技能,成功的大數據開發人員還需要掌握多種職場知識。以下是一些重要的職場知識和技能,結合實際例子詳細說明。 目錄 理論知識與工程實踐理論知識工程實踐例子 項目經驗總結項目管理總結和反思例子 做事方式方…

一招教你搞定Windows系統指定IP不變[固定IP地址方法]

1.打開控制面板,找到“網絡和Internet” 點擊進入: 2.點擊打開“網絡和共享中心”后,選擇“更改適配器選項”。 3.點擊 “查看此連接的狀態”, 接著點擊“詳細信息” 查看信息。記錄當前的IP地址是 10.88.x.xx,后面我們…

Linux驅動開發筆記(九)IIC子系統及其驅動

文章目錄 前言一、IIC驅動框架二、總線驅動2.1 iic總線的運行機制2.2 重要數據結構2.2.1 i2c_driver結構體2.2.2 i2c總線結構體 2.3 匹配規則 三、設備樹的修改四、設備驅動的編寫4.1 相關API函數4.1.1 i2c_add_adapter( )4.1.2 i2c_register_driver( )4.1.3 i2c_transfer( )4.…

Spring+SpringMVC+MyBatis整合

目錄 1.SSM介紹1.1 什么是SSM?1.2 SSM框架1.2.1 Spring1.2.2 SpringMVC1.2.3 MyBatis 2.SSM框架整合2.1 建庫建表2.2 創建工程2.3 pom.xml2.4 log4j.properties2.5 db.properties2.6 applicationContext-dao.xml2.7.applicationContext-tx.xml2.8 applicationContex…

Redis-在springboot環境下執行lua腳本

文章目錄 1、什么lua2、創建SpringBoot工程3、引入相關依賴4、創建LUA腳本5、創建配置類6、創建啟動類7、創建測試類 1、什么lua “Lua”的英文全稱是“Lightweight Userdata Abstraction Layer”,意思是“輕量級用戶數據抽象層”。 2、創建SpringBoot工程 3、引入相…

新能源汽車CAN總線故障定位與干擾排除的幾個方法

CAN總線是目前最受歡迎的現場總線之一,在新能源車中有廣泛應用。新能源車的CAN總線故障和隱患將影響駕駛體驗甚至行車安全,如何進行CAN總線故障定位及干擾排除呢? 目前,國內機動車保有量已經突破三億大關。由于大量的燃油車帶來嚴峻的環境問題,因此全面禁售燃油車的日程在…

汽車租賃系統

摘 要 隨著汽車租賃市場的快速發展,為了提高汽車租賃服務的效率和用戶體驗,本論文設計與實現了一款基于Java的汽車租賃系統。 該系統采用B/S架構,利用JavaWeb技術和MySQL數據庫實現了車輛信息管理、在線車輛租賃、門店出車模塊、租賃訂單信息…

1. Tensorrt-llm 基礎

1.Tensorrt-llm安裝 os: ubuntu 22.04 1.1搭建docker 環境 切換到 root 用戶 sodu passwd root 更新apt sudo apt-get update --fix-missing 更新docker sudo apt-get upgrade docker-ce 安裝nvidia 容器運行時,避免如下錯誤 Error response from daemon…