基於TensorFolw的人工智慧影像診斷平台工作原理解析 | 人人都是產品經理

文章對TensorFolw人工智慧影像診斷平台的工作原理進行了解析,希望這篇文章能夠幫助你更好地理解 Tensorflow。

使用人工智慧來輔助病理醫生對樣本進行診斷,不僅能夠大幅度提高醫師的診斷效率,而且可以減少漏診,提高診斷準確率。

數字化的病理影像能夠觀察到組織細胞形態,在最高數字掃描時,文件尺寸達到GB量級,需要利用人工智慧和系統工程學的技術去突破這些困難。

在這篇文章當中,我將會從人工智慧系統的構建方法角度來入手,舉例消化道病理影響輔助系統研發過程中的技術細節。

當然,這是相對陌生的醫療科技領域知識,為了讀者能更快的理解和吸收,全篇也會圍繞產品經理的角度去解。

一、什麼是病理?

病理就是通過分析病人的組織,細胞和體液樣本來診斷疾病。

那麼,病理對於臨床醫生提供進一步治療策略的金指標。

這裡有個容易混淆的是AI醫學影像,並不是所有都是從CT、X光、B超等分析得出。就拿胃癌篩查來說,它的病理影像通過掃描儀掃描組織放大形成大概1.4GB影像來進行分析判斷的。

不同病種的病理來源

病理影像都是與眾不同的,這也是技術上的挑戰。

那麼在進行病理判斷之前,我們需要建立一套訓練模型,通過醫生標註的圖像進行增強訓練以及數據處理。

二、TENSORFOLW工作原理

我們講解TensorFolw訓練模型時,我們要了解整個的深度學習的流程。

簡易工作流程

數據源一般來自醫院的PACS、RIS系統等,形成數據隊列後進行數據增強圖像方向的魯棒性。

另外,我們要注意掃描儀的倍數,會造成在不同樣的倍數情況下圖像的魯棒性。

然後利用TensorBoard來進行模型監控,TensorBoard是一個可視化工具,能夠有效地展示Tensorflow在運行過程中的計算圖、各種指標隨著時間的變化趨勢以及訓練中使用到的數據信息。

再通過TensorFolw導出(病理)模型交給生產環境推理框架(TensorFolw Serving)進行自動處理。

那tensorfolw serving是怎麼工作的呢?

Tensorserving工作流程

tensorfolw serving把病理切片分成坐標標記的小塊切分之後把節點讓一個map每個輸入分片會讓一個map任務來處理,默認情況下,以HDFS的一個塊的大小(默認為64M)為一個分片,當然我們也可以設置塊的大小。

map輸出的結果會暫且放在一個環形內存緩衝區中(該緩衝區的大小默認為100M,由io.sort.mb屬性控制),當該緩衝區快要溢出時(默認為緩衝區大小的80%,由io.sort.spill.percent屬性控制),會在本地文件系統中創建一個溢出文件,將該緩衝區中的數據寫入這個文件。在寫入磁碟之前,線程首先根據reduce任務的數目將數據劃分為相同數目的分區,也就是一個reduce任務對應一個分區的數據。

這樣做是為了避免有些reduce任務分配到大量數據,而有些reduce任務卻分到很少數據,甚至沒有分到數據的尷尬局面。其實分區就是對數據進行hash的過程。

然後對每個分區中的數據進行排序,如果此時設置了Combiner,將排序后的結果進行Combia操作,這樣做的目的是讓儘可能少的數據寫入到磁碟。

MAP與reduce機制再將分區中的數據拷貝給相對應的reduce任務。Reduce會接收到不同map任務傳來的數據,並且每個map傳來的數據都是有序的。

如果reduce端接受的數據量相當小,則直接存儲在內存中(緩衝區大小由mapred.job.shuffle.input.buffer.percent屬性控制,表示用作此用途的堆空間的百分比),如果數據量超過了該緩衝區大小的一定比例(由mapred.job.shuffle.merge.percent決定),則對數據合併后溢寫到磁碟中。

隨著溢寫文件的增多,後台線程會將它們合併成一個更大的有序的文件,這樣做是為了給後面的合併節省時間。

其實不管在map端還是reduce端,MapReduce都是反覆地執行排序,合併操作,現在終於明白了有些人為什麼會說:排序是hadoop的靈魂。合併的過程中會產生許多的中間文件(寫入磁碟了),但MapReduce會讓寫入磁碟的數據儘可能地少,並且最後一次合併的結果並沒有寫入磁碟,而是直接輸入到reduce函數。

最後返回數據到後端。

同樣的流程可以遷移學習,病理圖像有很多相似的地方,腺、息肉、囊腫等等都可以同理應用。

#專欄作家#

Rolia,微信公眾號:pmsummit,人人都是產品經理專欄作家。前海康博士聯合創始人兼產品總監,涉及智慧醫療領域需求產品化5年,致力於智慧醫療領域產品體驗設計以及新商業模式研究。

本文原創發佈於人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基於 CC0 協議

給作者打賞,鼓勵TA抓緊創作!