視網膜影像分類的深度集成學習演算法
譯者 | 朱先忠
審校| 孫淑娟
圖1 :原作者自己設計的Iluminado計畫的封面
2019年世界衛生組織估計,全球共有約22億視力障礙者,其中至少有10億人本來可以預防或仍在治療。就眼部護理領域而言,全世界面臨許多挑戰,包括預防、治療和復健服務的覆蓋範圍和品質不平等。缺乏訓練有素的眼部護理人員,眼部護理服務與主要衛生系統的整合也很差。我的目標是激發人們的行動來共同應對這些挑戰。本文中展示的項目是我目前正在進行的數據科學頂峰項目Iluminado的一部分。
Capstone專案的設計目標
我創建本文專案的目的是想訓練一個深度學習整合模型,最終實現該模型對於低收入家庭來說非常容易獲得,並且可以以低成本執行初始疾病風險診斷。透過使用我的模型程序,眼科醫生就可以根據視網膜眼底攝影確定是否需要立即進行幹預。
專案資料集來源
OphthAI提供了一個名為視網膜眼底多疾病影像資料集(Retinal Fundus Multi-Disease Image Dataset,簡稱「RFMiD」)的公共可用影像資料集,該資料集包含3200張眼底影像,這些影像由三台不同的眼底相機拍攝,並由兩名資深視網膜專家根據已裁決的共識進行註釋。
這些影像是從2009-2010年期間進行的數千次檢查中提取的,既選擇了一些高品質的影像也包含不少低品質的影像,從而使數據集更具挑戰性。
資料集共分為三個部分,包括訓練集(60%或1920張影像)、評估集(20%或640張影像)和測試集(20%和640張)。平均而言,訓練集、評估集和測試集中的患有疾病的比例分別為60±7%、20±7%和20±5%。此資料集的基本目的是解決日常臨床實踐中出現的各種眼部疾病,共確定了45類疾病/病理。這些標籤可以分別在三個CSV檔案中找到,它們是RFMiD_Training_Labels.CSV、RFMiD_Validation_Labels.SSV和RFMiD_Testing_Labels.CSV。
影像來源
下面這張圖是用一種被稱為眼底照相機的工具拍攝的。眼底照相機是一種專門的低倍顯微鏡,連接在一台閃光相機上,用來拍攝眼底,也就是眼睛後方的視網膜層。
現在,大多數眼底相機都是手持式的,因此患者只需直視鏡頭。其中,明亮的閃光部分錶示已拍攝眼底圖。
手持攝影機是有其優點的,因為它們可以被攜帶到不同的位置,並且可以容納有特殊需求的患者,例如輪椅使用者。此外,任何接受過所需培訓的員工都可以操作攝像頭,從而能夠使服務水平低下的的糖尿病患者可以快速、安全、高效地進行年度檢查。
眼底視網膜影像系統拍照狀況:
圖2:基於各自視覺特徵拍攝的影像:(a)糖尿病視網膜病變(DR)、(b)老年黃斑部病變(ARMD)及(c)中度霾(MH)。
最終診斷在哪裡進行?
最初的篩檢過程可以透過深度學習來輔助,但最終診斷由眼科醫師使用裂隙燈檢查進行。
這個過程也被稱為生物顯微鏡診斷,它涉及對活細胞的檢查。醫生可以進行顯微鏡檢查,以確定病人的眼睛是否有任何異常。
圖3:裂隙燈檢查圖示
#深度學習在視網膜影像分類中的應用
與傳統的機器學習演算法不同,深度卷積神經網路(CNN)可以使用多層模型的方法來實現從原始資料中自動提取和分類特徵。
最近,學術界發表了大量文章,都是有關使用卷積神經網路(CNN)來識別各種眼部疾病的,如糖尿病視網膜病變和結果異常(AUROC >0.9)的青光眼等。
資料指標
AUROC分數將ROC曲線匯總為一個數字,該數字描述了模型在同時處理多個閾值時的表現。值得注意的是,AUROC分數為1代表是一個完美的分數,而AUROC得分為0.5對應於隨機猜測。
圖4:ROC曲線示意圖展示
所用方法-交叉熵損失函數
交叉熵通常在機器學習中用作損失函數。交叉熵是資訊理論領域的一種度量,它建立在熵定義的基礎上,通常用於計算兩個機率分佈之間的差異,而交叉熵可以被認為是計算兩個分佈之間的總熵。
交叉熵也與邏輯損失有關,稱為對數損失。儘管這兩種度量方法來自不同的來源,但當用作分類模型的損失函數時,這兩種方法計算的數量相同,可以互換使用。
(有關具體詳情,請參考:https://machinelearningmastery.com/logistic-regression-with-maximum-likelihood-estimation/)
什麼是交叉熵?
交叉熵是給定隨機變數或事件集的兩個機率分佈之間差異的量測。您可能還記得,資訊量化了編碼和傳輸事件所需的位數。低機率事件往往包含更多的信息,而高機率事件則包含較少的信息。
在資訊理論中,我們喜歡描述事件的「驚訝」。事件發生的可能性越小,就越令人驚訝,這意味著它包含了更多的資訊。
- 低機率事件(令人驚訝):更多資訊。
- 高機率事件(不足為奇):資訊較少。
在給定事件P(x)的機率的情況下,就可以為事件x計算資訊h(x),如下所示:
#h(x) = -log(P(x))
圖4:完美的插圖(圖片來源:Vlastimil Martinek)
熵是從機率分佈傳輸隨機選擇的事件所需的位元數。偏態分佈具有較低的熵,而事件具有相等機率的分佈一般具有較大的熵。
圖5:目標與預測機率之比的完美說明(圖片來源:Vlastimil Martinek)
偏態機率分佈具有較少的“意外”,反過來也具有較低的熵,因為可能的事件占主導地位。相對來說,平衡分佈更令人驚訝,而且熵更高,因為事件發生的可能性相同。
- 偏態機率分佈(不足為奇):低熵。
- 平衡機率分佈(令人驚訝):高熵。
熵H(x)可以針對具有x個離散狀態中的一組x的隨機變數及其機率P(x)計算,如下圖所示:
圖6:多層交叉熵公式(圖片來源:Vlastimil Martinek)
多重類別分類-我們使用多分類交叉熵-屬於交叉熵的具體應用情形,其中的目標採用的是單熱編碼向量方案。 (有興趣的讀者可參考Vlastimil Martinek的文章)
#圖7:熊貓與貓損失計算的完美分解圖(圖片來源:Vlastimil Martinek)
#圖8:損失值的完美分解圖1(圖片來源:Vlastimil Martinek)
圖9:損失值的完美分解圖2(圖片來源:Vlastimil Martinek)
##圖9:關於機率和損失的視覺化展示(圖片來源:Vlastimil Martinek)
#二元交叉熵怎麼樣?圖10:分類交叉熵公式圖解(圖片來源:Vlastimil Martinek)
在我們的專案中選擇使用了二元分類-二元交叉熵方案,即目標為0或1的交叉熵方案。如果我們將目標分別轉換為[0,1]或[1,0]的熱編碼向量方式並進行預測,那麼我們就可以使用交叉熵公式來計算。
圖11:二元交叉熵計算公式圖解(圖片來源:Vlastimil Martinek)
使用非對稱損失演算法處理不平衡資料在一個典型的多標籤模型環境中,資料集的特徵可能存在不成比例數量的正標籤和負標籤的情況。此時,資料集傾向於負標籤的這種趨勢對於優化過程具有主導性影響,並最終導致正標籤的梯度強調不足,從而降低預測結果的準確性。
這也正是我目前選用的資料集所面臨的情況。
本文專案中採用了BenBaruch等人所發展的非對稱損失演算法(參考圖12),這是一種解決多標籤分類的方法,不過其中的類別也存在嚴重不平衡分佈情形。
我想到的辦法是:透過不對稱地修改交叉熵中的正負分量,從而減少負標籤部分的權重,最終實現突出上述處理起來較為困難的正標籤部分的權重。
圖12:非對稱多標籤分類演算法(2020,作者:Ben-Baruch等)
待測試的體系架構總體歸納一下,本文專案使用如圖所示的體系架構:
圖13(圖片來源:Sixu)#
上述架構所採用的關鍵演算法主要包括:
- #DenseNet-121
- InceptionV3
- Xception
- MobileNetV2
- VGG16
另外,上述有關演算法相關內容一定會在我完成本文Capstone專案後加以更新!有興趣的讀者敬請期待!
譯者介紹
朱先忠,51CTO社群編輯,51CTO專家部落格、講師,濰坊一所高校電腦教師,自由程式界老兵一枚。
原文標題:#Deep Ensemble Learning for Retinal Image Classification (CNN),作者:Cathy Kam
以上是視網膜影像分類的深度集成學習演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

BERT是由Google在2018年提出的一種預先訓練的深度學習語言模式。全稱為BidirectionalEncoderRepresentationsfromTransformers,它基於Transformer架構,具有雙向編碼的特性。相較於傳統的單向編碼模型,BERT在處理文字時能夠同時考慮上下文的訊息,因此在自然語言處理任務中表現出色。它的雙向性使得BERT能夠更好地理解句子中的語義關係,從而提高了模型的表達能力。透過預訓練和微調的方法,BERT可以用於各種自然語言處理任務,如情緒分析、命名

激活函數在深度學習中扮演著至關重要的角色,它們能夠為神經網路引入非線性特性,使得網路能夠更好地學習並模擬複雜的輸入輸出關係。正確選擇和使用激活函數對於神經網路的性能和訓練效果有著重要的影響本文將介紹四種常用的激活函數:Sigmoid、Tanh、ReLU和Softmax,從簡介、使用場景、優點、缺點和優化方案五個維度進行探討,為您提供關於激活函數的全面理解。 1.Sigmoid函數SIgmoid函數公式簡介:Sigmoid函數是常用的非線性函數,可以將任何實數映射到0到1之間。它通常用於將不歸一

潛在空間嵌入(LatentSpaceEmbedding)是將高維度資料對應到低維度空間的過程。在機器學習和深度學習領域中,潛在空間嵌入通常是透過神經網路模型將高維輸入資料映射為一組低維向量表示,這組向量通常被稱為「潛在向量」或「潛在編碼」。潛在空間嵌入的目的是捕捉資料中的重要特徵,並將其表示為更簡潔和可理解的形式。透過潛在空間嵌入,我們可以在低維空間中對資料進行視覺化、分類、聚類等操作,從而更好地理解和利用資料。潛在空間嵌入在許多領域中都有廣泛的應用,如影像生成、特徵提取、降維等。潛在空間嵌入的主要

寫在前面今天我們探討下深度學習技術如何改善在複雜環境中基於視覺的SLAM(同時定位與地圖建構)表現。透過將深度特徵提取和深度匹配方法相結合,這裡介紹了一種多功能的混合視覺SLAM系統,旨在提高在諸如低光條件、動態光照、弱紋理區域和嚴重抖動等挑戰性場景中的適應性。我們的系統支援多種模式,包括拓展單目、立體、單目-慣性以及立體-慣性配置。除此之外,也分析如何將視覺SLAM與深度學習方法結合,以啟發其他研究。透過在公共資料集和自採樣資料上的廣泛實驗,展示了SL-SLAM在定位精度和追蹤魯棒性方面優

1.引言向量檢索已成為現代搜尋和推薦系統的核心組件。透過將複雜的物件(例如文字、圖像或聲音)轉換為數值向量,並在多維空間中進行相似性搜索,它能夠實現高效的查詢匹配和推薦。從基礎到實踐,回顧Elasticsearch向量檢索發展史_elasticsearchElasticsearch作為一款流行的開源搜尋引擎,在向量檢索方面的發展也一直備受關注。本文將回顧Elasticsearch向量檢索的發展歷史,重點介紹各階段的特性與進展。以史為鑑,方便大家建立起Elasticsearch向量檢索的全量

在當今科技日新月異的浪潮中,人工智慧(ArtificialIntelligence,AI)、機器學習(MachineLearning,ML)與深度學習(DeepLearning,DL)如同璀璨星辰,引領著資訊科技的新浪潮。這三個詞彙經常出現在各種前沿討論和實際應用中,但對於許多初涉此領域的探索者來說,它們的具體含義及相互之間的內在聯繫可能仍籠罩著一層神秘面紗。那讓我們先來看看這張圖。可以看出,深度學習、機器學習和人工智慧之間存在著緊密的關聯和遞進關係。深度學習是機器學習的一個特定領域,而機器學習

自2006年深度學習概念被提出以來,20年快過去了,深度學習作為人工智慧領域的一場革命,已經催生了許多具有影響力的演算法。那麼,你所認為深度學習的top10演算法有哪些呢?以下是我心目中深度學習的頂尖演算法,它們在創新、應用價值和影響力方面都佔有重要地位。 1.深度神經網路(DNN)背景:深度神經網路(DNN)也叫多層感知機,是最普遍的深度學習演算法,發明之初由於算力瓶頸而飽受質疑,直到近些年算力、數據的爆發才迎來突破。 DNN是一種神經網路模型,它包含多個隱藏層。在該模型中,每一層將輸入傳遞給下一層,並

编辑|萝卜皮自2021年发布强大的AlphaFold2以来,科学家们一直在使用蛋白质结构预测模型来绘制细胞内各种蛋白质结构的图谱、发现药物,并绘制每种已知蛋白质相互作用的「宇宙图」。就在刚刚,GoogleDeepMind发布了AlphaFold3模型,该模型能够对包括蛋白质、核酸、小分子、离子和修饰残基在内的复合物进行联合结构预测。AlphaFold3的准确性对比过去许多专用工具(蛋白质-配体相互作用、蛋白质-核酸相互作用、抗体-抗原预测)有显著提高。这表明,在单个统一的深度学习框架内,可以实现
