溫娟 蔣雯雯 周揚
(1中山大學附屬第七醫院 廣東 深圳 518107)
(2珠海金山辦公軟件有限公司 廣東 珠海 519000)
2011年斯坦福大學在Nature上發表了一篇文章,利用13萬個皮膚病的圖像數據庫訓練AI算法,進行人工智能自動診斷皮膚病的探索。圖像數據庫包含了皮膚鏡圖像、手機相片、病理圖片等。將AI診斷系統用于鑒別皮膚良性腫瘤、惡性腫瘤和其他的一些非腫瘤性皮膚病,結果AI診斷結果與皮膚科專家診斷結果吻合度非常高,診斷效果打成平手。而AI算法的診斷效率遠高于皮膚科專家。我國將AI算法應用于皮膚科疾病診斷起步相對較晚,原因之一是AI算法和皮膚科疾病診斷相結合的資料匱乏,皮膚科醫務工作者面對繁多的人工智能算法資料往往無從下手。針對此情況,本文介紹了一幫助皮膚科醫務工作快速掌握人工智能圖像識別算法的方法。
圖像識別算法非常多,目前學術界公認的基于神經網絡的圖像識別算法效果較好。本文也僅討論基于神經網絡的圖像識別算法基礎原理。
反向傳播算法[1]是一種求函數某個鄰域內極值的算法,神經網絡算法應用于圖像識別的基礎。其圖數學原理來源于高等數據中的多元復合函數與偏導。

若要求公式(1)的極小值,則可以用反向傳播算法解決。反向傳播算法要先求出函數對各個自變量的偏導,即求出函數的梯度。如公式(2)所示



反復利用該不等式,就可以不斷找到新x的使z越來越小,直到找到極小值。
為了說明softmax的實際意義,假定現有3張大小為10103的圖片,圖片上病癥內容分別為紅斑狼瘡,帶狀皰疹和銀屑病。每張圖片在計算機中的表示可以認為是10103=300個數值,那么3張圖片就有3003=900個數值。若要使用人工智能中的神經網絡算法分析圖片中的病癥,就需要用3張圖片的900個數值和一些未知數(如x,y)構造一個矩陣。如公式(5)所示。

該矩陣的構造方法下節討論。矩陣的3行分別對應3張圖片,3列分別對應紅斑狼瘡,帶狀皰疹和銀屑病。其中含義是第1張圖片上的病癥是紅斑狼瘡的得分,含義是第2張圖片上的病癥是帶狀皰疹的得分,其余的含義同理。現在已知第1張圖片是紅斑狼瘡病癥,第2張圖片是帶狀皰疹病癥,第3張圖片是銀屑病病癥。那么當然是希望找到合適的x,y使矩陣中的,,盡可能大,而矩陣中的其它元素盡可能小。通常要對z進行歸一化處理[2]。令

則矩陣z的softmax函數如公式所示。

顯然,矩陣softmax(z)中的元素的取值范圍是[0,1]。因此可以把每個元素都看作一個概率。以第1張圖片對應的第1行為例,表示第1張圖片是紅斑狼瘡的概率,表示第1張圖片是帶狀皰疹的概率,表示第1張圖片銀屑病的概率。現在已知第1張圖片是紅斑狼瘡的病癥圖片,那么圖像識別算法的目的就是要找到一組使盡可能大,使,盡可能小[3]。如果考慮3張圖片,則希望找到一組使公式(9)中的E收盡可能大。矩陣z的構造方法見3.1節。

以上兩小節討論了基于神經網絡的圖像識別算法涉及的一些基礎原理和概念。在實際實現算法時,并不需要從0開始實現所有步驟。目前學術界和工業界都有很多框架(如tensorflow和keras),可以幫助快速實現算法。這些框架往往提供的多種編程語言的調用接口。但從實際情況看,python語言語法簡單,入門成本最低。因此推薦用python作為人工智能算法的入門語言。
基于神經網絡的圖像識別算法通常需要2步[4]。第1步,訓練模型。直觀地講就是找到一組合適的參數,使分類正確的概率盡可能大,分類錯誤的概率盡可能小。神經網絡中的模型本質上是一組參數的集合。第2步,使用模型。根據模型中的參數去判斷新的圖片屬于哪一類。
2.2節已討論過,在計算機中保存的3張大小為10103的圖片,本質上是保存3300個數值。這里用矩陣d[3][300]表示。隨機構造一矩陣p[300][3],該矩陣有900個參數。令

這樣就得到2.2節中討論的z。不同的是2.2節中的z只有x,y兩個未知數。而此處的未知數是用矩陣p表示,共有900個未知數。雖然未知數的個數不同,但矩陣的結構完全相同。得到矩陣z后就可以構造公式(9)中的E。得到E之后再利用2.1節討論的反向傳播算法得到E的極大值。當E為極大值時,矩陣p[300][3]中的參數即為訓練的模型參數。
假定現有一個未知病癥的圖片,大小仍然是10103。將該圖片看作一個m[1][300]的矩陣,則m與上節訓練出的p相乘,得到一個13的矩陣r[1][3]。此時r的3列對應3種病癥的得分。新圖片中的病癥即為得分最高的一列對應的病癥。延續節中的假設,3列分別對應紅斑狼瘡,帶狀皰疹和銀屑病。那么如果第1列的數值最大,該圖片的病癥即為紅斑狼瘡。
針對AI圖像識別算法在皮膚科醫務工作者中了解較少的實際情況。以實際病例為出發點,介紹了AI圖像識別算法要使用的基礎知識和訓練使用模型的原理,幫助皮膚科醫務工作者快速入門。為了描述問題方便,假定的圖片大小比較小,病癥種類和病癥圖片數量也較小。在現實使用中皮膚科醫務工作者可以根據實際情況加大圖片的樣本數,盡可能多收集病癥種類。基于神經網絡的圖像識別算法在很多領域已經取得較大成績。皮膚病學診斷比較依賴形態學特征,隨著樣本數量增大、病癥數據的增多,AI圖像識別算法在皮膚科將有廣闊的發展前景。