<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: 鄭仕群</title>
    <description>The latest articles on Forem by 鄭仕群 (@andys0975).</description>
    <link>https://forem.com/andys0975</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F45129%2F40d59908-3292-4c49-afea-1ffc54798c92.jpeg</url>
      <title>Forem: 鄭仕群</title>
      <link>https://forem.com/andys0975</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/andys0975"/>
    <language>en</language>
    <item>
      <title>生醫大數據：從集權治理到公眾參與</title>
      <dc:creator>鄭仕群</dc:creator>
      <pubDate>Sat, 30 Jun 2018 07:21:37 +0000</pubDate>
      <link>https://forem.com/andys0975/-gop</link>
      <guid>https://forem.com/andys0975/-gop</guid>
      <description>&lt;h2&gt;
  
  
  數據集權治理的時代，法律作用剩多少？
&lt;/h2&gt;

&lt;p&gt;　　在大數據時代，我們是否還保有從我們身上產生之數據的所有權？近期Facebook不僅爆發Cambridge Analytica醜聞 &lt;a href="http://bit.ly/2laO1Az" rel="noopener noreferrer"&gt;[1]&lt;/a&gt; ，還被紐約時報 &lt;a href="https://nyti.ms/2t5Haw1" rel="noopener noreferrer"&gt;[2]&lt;/a&gt; 報導其未經用戶同意，便分享完整用戶個資與人際狀況給60家行動裝置製造商，其中不乏高度政治敏感的華為、聯想、OPPO等中國廠商。可見大數據時代已不僅是資安隱私問題，數據被收集者甚至無法有效阻止非授權範圍的挪用，等同於所有權已被數據收集者架空。即便歐盟近期推出General Data Protection Regulation (GDPR) &lt;a href="https://www.eugdpr.org/" rel="noopener noreferrer"&gt;[3]&lt;/a&gt; 來要求企業組織減少「意外泄露」情事，但只要數據仍集中掌握在它們手中，仍難以阻止故意性未授權利益交換，甚而可能爲規避罰款，以商業機密為藉口精巧包裝而更加去透明化。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fecvhax53wvjx9gudr8lx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fecvhax53wvjx9gudr8lx.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;圖片來源：https://tcrn.ch/2HVayuh&lt;/center&gt; 

&lt;p&gt;　　相較於Facebook等社群網絡數據連結到的尚可能是捏造的虛擬身份，健康數據則直接連結真實身份，不光是醫院病歷紀錄，近年興起的研究用生物資料庫、穿戴式裝置連續生理監測等，更是連非病發狀態時的資訊都詳實記錄，這些多元數據的收集對預防醫學與臨床實證有極大價值，是必然趨勢，但它們同樣可能淪為迫害特定群體權益之強力工具，例如生物歧視性的人事安排、醫療及保險業的cherry-picking經營模式。然而現今生物數據庫如同社群網絡領域，仍處於特定組織的集權治理，在數據經濟將更有利可圖的趨勢下，即便法規再嚴密，我們仍難保遞增的新進行動者不會像Facebook爲求發展，利用未經去識別化的數據與包括中國政府在內的有心人士利益交換。一個例證是即便台灣有營業祕密法與背信罪等層層防範，至今仍有台積電工程師鋌而走險，企圖將機密出賣中國以換取龐大利益 &lt;a href="http://bit.ly/2yhZibO" rel="noopener noreferrer"&gt;[4]&lt;/a&gt; ，可見光憑收緊法律很難對抗不成比例的利誘。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fbs2szc2xelzawjg6a8vf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fbs2szc2xelzawjg6a8vf.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;圖片來源：http://bit.ly/2lh89Rz&lt;/center&gt; 

&lt;h2&gt;
  
  
  我們真正該在乎的議題：民眾缺乏數據資產自主意識
&lt;/h2&gt;

&lt;p&gt;　　即便面臨數據集權治理帶來的濫用危機，台灣民眾卻向來對自身的無論生物或非生物數據之資產特性普遍缺乏敏感度，無形中便也棄守了數據運用的話語權與監督知能。舉中研院主持的Taiwan Biobank &lt;a href="http://bit.ly/2yi81e3" rel="noopener noreferrer"&gt;[5]&lt;/a&gt; 為例，從2012年開展至今已收取將近10萬人次生物數據，包括問卷 (家族史、生活習慣、自述疾病等)、生理檢驗 (BMI 、HbA1c、GOT/GPT、HDL/LDL等)、血液DNA (genome genotyping/sequencing等)。在將近1萬份滿意度調查顯示 &lt;a href="http://bit.ly/2ynWhGO" rel="noopener noreferrer"&gt;[6]&lt;/a&gt; ，26.59％參與者首要因素是有免費健檢服務，假若不提供健檢報告，39.33％參與者就不再願意提供數據，並且，勾選不滿意的5.75％參與者中最主要的因素竟是健檢項目太少。可見對部分民眾而言，生物數據有價衡量就僅止於換取項目豐富的免費健康檢查而已，更別提其餘絕大多數參與者樂意無償奉獻生物數據。這警示了我們，儘管倫理學者與人權團體長年呼籲與質疑，仍無法喚醒民眾在醫學徵召下的數據自主觀念及資產意識。以下引用蔡友月教授論述，梳理Biobank集權治理過程中的正當化論述、想像共同體徵召，如何在台灣社會中鑲嵌利他奉獻情緒，進而催化民眾對數據價值的失敏，間接失去主動監督的意義，而可能在新進行動者的仿效中始終淪於被動處境。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F28us7aawnsogad7rjyzh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F28us7aawnsogad7rjyzh.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;圖片來源：https://www.twbiobank.org.tw/&lt;/center&gt; 

&lt;h2&gt;
  
  
  想像中的基因共同體
&lt;/h2&gt;

&lt;p&gt;　　蔡友月教授研究 [7] 指出，從生物政治典範 (biopolitical paradigm) [8] 的視角觀之，國家級生物資料庫同時是生物國族主義 (bionationalism)的推動者與受惠方，其將國民共享之集體特徵認同以基因體等大量biomarkers的形式再現，形成一種「想像中的基因共同體」(Imagined genetic community) [9] ，如此也反過頭來排除了許多可能面臨的棘手成本，例如Biobank執行長沈志陽博士就曾公開表示 &lt;a href="http://bit.ly/2JG2EdU" rel="noopener noreferrer"&gt;[10]&lt;/a&gt;「這是在做功德，許多中南部提供者認為，比捐錢給廟的香油錢，還要有意義。」生物國族主義相對於傳統民族主義似乎更能凝聚現代國家的民心，而產生更強力道推動相關政策，其訴諸對未來共同願景的想像，包含競爭實力的展現，而非傳統模式著重語言、歷史、文化等意識形態認同，尤其後者恐怕已成為現代國家內部分化對立的常見因素。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fb1n0r7m3yj0suqu0d07f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fb1n0r7m3yj0suqu0d07f.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;沈志陽執行長，圖片來源：http://bit.ly/2ygMTEX&lt;/center&gt; 

&lt;p&gt;　　至今成立的各國Biobank都與各自的想像共同體相輔相成，例如冰島主打「種族同質性」，冰島民眾參與收案時，便能感受到體內流動的維京人血脈透過基因科技與國族融為一體，結果達成約50％的國民參與率；愛沙尼亞則恰好相反，由於經歷過周邊國家統治，其人口組成特別異質，Biobank推動者便提到「愛沙尼亞就像是一種(歐洲的)捷徑，人們都能來這並下載他們(種族)的基因資訊」[11] ，這種作為交通要衝的國家認同也促成了最近推出的區塊鏈數位公民身份，不僅是一股廣納世界的企圖心，也尤爲了追逐冷戰後擺脫蘇俄控制的宣示。Ong 等人 [12] 則指出包括台灣的亞洲國家間生醫政策雖有所差異，卻同時透漏出一種「命運共同體」(communities of fate) 治理形式，是鑲嵌在後殖民時代企圖超歐趕美、克服東亞病夫印象的歷史脈絡。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqoivr2y6mcul6umawwnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqoivr2y6mcul6umawwnp.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;愛沙尼亞e-Estonia計劃，圖片來源：https://e-estonia.com/&lt;/center&gt; 

&lt;h2&gt;
  
  
  民主化與本土化思潮的推波助瀾
&lt;/h2&gt;

&lt;p&gt;　　不過台灣基因共同體的想像不僅於此，還融入了解嚴後本土化民主化初步萌芽的特性，這體現在精神正當性與組織治理模式兩個層面。自從國民黨政府入台統治，在大中華民族主義與重奪中原政權的政治宣導下，戰後台灣的教育、文化、學術等幾乎不可能出現以台灣為主體的思考實踐。解嚴後終於迎來本土化民主化浪潮，追求台灣主體性的政治、文學、歷史、語言等活動蓬勃發展，也渲染了各領域學術研究的精神意旨。如蔡友月教授研究 [13] 指出，根據台灣民眾抽樣得到的研究結果，在解嚴前的醫學期刊中幾乎都被用來代表「中國人」的體質特徵與健康狀況，1990年代台灣主體意識抬升，用以代表「台灣人」的比例便明顯增多。是故「建立屬於台灣自己的Biobank」而非引用中國建立之數據庫作為台灣標準，這種精神正當性便是源於新思潮下對台灣主體的想像。另一方面，基於產業升級轉型的壓力，1990年代生物科技產業成為政府大力推展的領域，在解嚴的脈絡下，政府廣泛邀集旅外生醫、化學學者回台，甚至將領導生技政策的權力與學者分享，透過多元頻繁的專家委員會議諮商，展現出組織治理的民主化過渡變遷。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fl2kbi283ekfyvsvyp1cw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fl2kbi283ekfyvsvyp1cw.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;1950年代反攻大陸漫畫，圖片來源：http://bit.ly/2K23LnT&lt;/center&gt; 

&lt;p&gt;　　我們可以看到，國家級Biobank這種立基於民族情懷的數據集權治理，無形中讓民眾忽略數據資產自主權的重要性，而在不主動監督、不要求回饋的狀態下把數據交付專業集權組織，這種現象其實是Biobank與社會脈絡交互作用所使然。後基因體的時代，Biobank科學家掌握生醫分析知能作爲數據集權根據，一方面向民眾許諾了美好共同願景，一方面也承擔了台灣不能在產業轉型中落敗的壓力，使整個社會成為一個想像中的基因共同體。並且本土意識抬頭，加強了民眾對台灣本體資料庫的認同感，此外由於草創時期尚處民主化過渡階段，大多數人長期習於服從公部門、科學專家的權威，因此未對掌權的生醫專家產生疑慮，而掌權者也還未培養起進行公開透明民意溝通的觀念，使得研究倫理、監督機制不完善等議題難以觸動廣泛關注與多元發聲。&lt;/p&gt;

&lt;h2&gt;
  
  
  數據如何從集權治理典範走向自主治理？
&lt;/h2&gt;

&lt;p&gt;　　當然，Biobank工作人員們爲了生物醫學進步付出的心力相當令人欽佩，不過未來除了基因資料庫，各種各樣的大規模生物資料庫也會如火如荼地展開收案，假若都仿效傳統Biobank集權治理經驗，那麼人民將在一次次的數據分享中更習慣於放棄資產自主及自衛意識，屆時面臨種種數據危機恐怕就不是單憑收緊個資保護法可以應對的了，我們能夠如何喚醒民眾對生物數據自主治理的意識與動力呢？近來火紅的區塊鏈，其分散式賬本技術可能是有建設性的方案。&lt;/p&gt;

&lt;p&gt;　　2016年成立於德國慕尼黑的Shivom &lt;a href="https://shivom.io/" rel="noopener noreferrer"&gt;[14]&lt;/a&gt; ，便是使用分散式賬本技術，包括Hyperledger Fabric、IOTA tangle (物聯網續傳數據)，來建立一個更加安全且高效率的分子體學 (Omics) 數據交換生態系，並將各種生物數據的掌控權完整地歸還人群。不同於許多仍在畫大餅的區塊鏈計劃，Shivom已完成3500萬美元ICO &lt;a href="http://bit.ly/2Mwjk5y" rel="noopener noreferrer"&gt;[15]&lt;/a&gt; ，並在今年初與印度的安得拉邦 (Andhra Pradesh)簽署了合作備忘錄 &lt;a href="http://bit.ly/2JKw5vx" rel="noopener noreferrer"&gt;[16]&lt;/a&gt; ，將在2025年之前陸續開展當地6000多萬人口的去中心化基因數據庫建立，目前alpha版本平臺已投入部分農村地區實踐。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frzma9jk4gv4tz3obtveb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frzma9jk4gv4tz3obtveb.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Shivom共同創辦人與印度孩童合影，圖片來源：https://shivom.io/about.html&lt;/center&gt; 

&lt;p&gt;　　Shivom將生物數據主導權歸還人群的機制 [17] 相當清楚，參與民眾可在平台註冊多重虛擬身份 (pseudonym)來面向與Shivom合作的多個生技服務商，並購買Shivom推出的OmiX虛擬幣來申請基因測序等數據採集服務，如此各服務商、採購單位就無法掌握到同一個人所有數據。服務商將測序結果用該虛擬身份另行生成的公鑰加密後寫入Shivom平臺數據庫保管，只有握有對應私鑰者才可掌握測序結果，而其中包含annotation訊息，因此採購單位可在區塊鏈上創建智慧合約來用OmiX幣採購符合特定annotation、metadata等條件的數據，民眾可自主決定在哪些單位推出的智慧合約出售私鑰，也可創建智慧合約自動捐獻給特定疾病研究之用。於是所有數據交易行為都記載在區塊鏈分散式賬本上，這些鏈上記錄皆用交易雙方ID等metadata來進行hash，所以只有交易雙方可在鏈上追蹤、驗證交易歷史，避免資訊洩露。最後，Shivom也將與第三方企業合作，允許民眾能使用販售數據得到的OmiX幣購買健康營養品、健身器材、定期健檢等多元產品服務，來作為OmiX幣誘因。一旦這套體系成熟，相信Shivom便有足夠話語權規定科學家在發表研究時以及醫療AI開發商推出產品時必須附註引用的公鑰清單，一方面讓同儕和品管組織能夠進行二次驗證，另一方面也讓參與者得以監督是否可能有濫用轉賣情事。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3drxq6jwc8rf6bfh266w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3drxq6jwc8rf6bfh266w.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;圖片來源：Shivom whitepaper&lt;/center&gt; 

&lt;p&gt;　　由前述可見，Shivom透過OmiX幣將民眾心中對生物數據的價值具象化，也讓民眾經由申請數據、簽訂智慧合約的行爲，化被動心態爲主動，培養對數據運作流程的識能，並學習利用分散式賬本的透明化紀錄去實際監督採購者，甚至由於運用的區塊鏈技術都是知名開源項目，任何有資工能力的民眾即便不提供數據，也能參與開發貢獻，協助安全漏洞通報修復。在這樣的自主治理動員中，民眾的生物數據便能獲得更完整的保障，並且是憑一己之力便能做到。&lt;/p&gt;

&lt;h1&gt;
  
  
  參考資料
&lt;/h1&gt;

&lt;p id="ref7"&gt;7. 蔡友月、李宛儒 (2016)〈想像未來：台灣人體生物資料庫、基因利基與國族建構〉台灣社會學第 32 期p109-169&lt;/p&gt;

&lt;p id="ref8"&gt;8. Steven Epstein (2009)“Inclusion: The Politics of Difference in Medical Research”&lt;/p&gt;

&lt;p id="ref9"&gt;9. Bob Simpson (2002)“Imagined genetic communities: Ethnicity and essentialism in the twenty‐first century”Anthropology Today Volume16, Issue3, p.3-6&lt;/p&gt;

&lt;p id="ref11"&gt;11. Fletcher, Amy. (2004)“Field of Genes: the Politics of Science and Identity in the Estonian Genome Project.”New Genetics and Society 23(3): 3-14.&lt;/p&gt;

&lt;p id="ref12"&gt;12. Ong, Aihwa and Nancy N. Chen, eds. (2010)“Asian Biotech: Ethnics and Communities of Fate.” Durham and London: Duke University Press.&lt;/p&gt;

&lt;p id="ref13"&gt;13. 蔡友月 (2014)〈基因科學與認同政治：原住民 DNA、台灣人起源與生物多元文化主義的興起〉，《台灣社會學》，28, 1-58。&lt;/p&gt;

&lt;p id="ref17"&gt;17. Shivom Whitepaper &amp;amp; Executive Summary&lt;/p&gt;

</description>
      <category>bigdata</category>
      <category>biobank</category>
      <category>sociology</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Healthcare beyond Human Specialist: 5 Interesting Cases</title>
      <dc:creator>鄭仕群</dc:creator>
      <pubDate>Mon, 28 May 2018 08:28:47 +0000</pubDate>
      <link>https://forem.com/andys0975/healthcare-beyond-human-specialist-5-interesting-cases-ed4</link>
      <guid>https://forem.com/andys0975/healthcare-beyond-human-specialist-5-interesting-cases-ed4</guid>
      <description>&lt;p&gt;　　今年長庚大學校慶，醫學院研討會以「人工智慧在醫療照護的應用與趨勢」為題在四月展開，從多場演講中可見到 AI 落地臺灣臨床實務已是正在進行式，倒是資源最豐富的長庚醫院體系還沒跟上腳步，不過常聽聞許多醫師來學院上課時的精神喊話，強調 AI 不可能取代醫師，果真是如此嗎？&lt;/p&gt;

&lt;p&gt;　　去年底澳洲 St Vincent's Hospital Melbourne 和 University Hospital Geelong 兩間醫學中心在內分泌門診首度試辦 AI 糖尿病視網膜病變篩檢 [1]，使用的深度學習模型敏感度、特異度皆達 92%以上。試辦期間約 100 名糖尿病患者參加，他們會收到 AI 當場就能完成的嚴重程度報告以及2 週後才能收到的眼科醫師分級報告，後續問卷顯示 96%受試者非常滿意 AI 即時報告，甚至有78%受試者比起傳統人工模式，更偏愛 AI 模式，可見 AI 對醫師業務的衝擊並非空穴來風。即便尚沒有人知道 AI 會如何改革現有醫療模式，但其應用的發展將透漏一些端倪，讓我們一起來看看AI可能做到哪些超越人類醫生極限的有趣事情，它們不僅富有創意，實現可能性也相當高。&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 內視鏡膠囊機器人 (Endoscopic capsule robots)的動態視力修煉
&lt;/h2&gt;

&lt;p&gt;　　隨著多年來電機材料科學的進展，已開發出了帶有相機和無線圖像傳輸裝置的可吞嚥膠囊內視鏡，並正嘗試用於篩檢診斷腸胃疾病，如inflammatory bowel disease、ulcerative colitis、colorectal cancer等。不同於標準內視鏡 [2]，內視鏡膠囊機器人是非侵入性且無痛的，更適合長時間的檢查，且體積小、沒有管線限制，故可探查標準內視鏡進不了的區域。然而目前膠囊內視鏡的移動力仍主要來自胃腸道蠕動，若要進行遠端遙控，就需要進行精確的機器人3D位置角度實時估計 (6-DoF pose)，近年來已有一些嘗試，包括MRI、PET、超音波等設備，但皆需在膠囊上加裝許多特殊sensor，反而降低其機動性，且許多情境下無法正確傳接訊號。於是，一種叫做visual odometry (VO)的方法成為了新興研究熱點。&lt;/p&gt;

&lt;p&gt;　　Visual odometry，即視覺測距法，是不藉助其他訊號，直接從錄影影片中每幀影像去萃取特徵與估計尺度、深度，並對影片序列進行運動估計。Mehmet Turan等人 [3]設計了深度學習模型recurrent convolutional neural networks (RCNNs)來進行 visual odometry，RCNN是由RNN與CNN所組合，CNN先學習影像二維特徵，接著RNN負責萃取影片序列前後的特徵變化。研究團隊使用一種電磁鐵遙控的膠囊內視鏡 (MASCE) [4]，在五個豬胃及一個人體模擬模型中邊移動邊拍攝 (5.3 ms per frame)，並以黃金標準Optitrack motion tracking system實時記錄6-DoF pose，生成的共80000幀有序影像便可在RCNN模型中學習預測6-DoF pose。往後模型就不需用到龐大複雜的Optitrack系統，即可給出實時的6-DoF pose預測值。&lt;/p&gt;

&lt;p&gt;　　由下圖可見，團隊測試的幾種方法中，其提出的RCNN：EndoVO軌跡計算最接近真實，可見訓練良好的AI能將膠囊內視鏡的視野變化轉換成其在體內運動動態，進而使遙控者能正確評估如何移動到指定位置。甚至未來若要作為一種常規篩檢診斷手段，遙控自動化可避免人爲操作熟練度的差異造成品質不穩定，而預測軌跡能力將有助於自動系統即時修正姿勢。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmt4uwll6zfjnghuhor5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmt4uwll6zfjnghuhor5e.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. 讓da Vinci手術機器人認識自己
&lt;/h2&gt;

&lt;p&gt;　　微創手術機器人近年來席捲各大醫學中心的手術房，在許多憑雙手難以處理的創傷病變部位都取得了顯著作用 [5]，然而仍是半自動式，有賴於醫師親自操作機器手臂，外科醫師便時常抱怨操作時不能像一般手術一樣憑藉手感來達成許多目的。在校慶研討會上，秀傳院長就分享到為了解決定位困難以及誤傷重要血管等問題，醫院手術房引進了AR技術，利用CT或MRI建立的人體模型投影在AR眼鏡上，讓醫師開刀時能在投影提示下更精準安全地完成工作，而這也是令手術機器人邁向自動化的重要一步，畢竟機器人沒有手感，透視定位能力卻比人類強。&lt;/p&gt;

&lt;p&gt;　　然而AR系統應用到手術機器人卻會遇到一個問題，機器人或許能透視人體，卻不認識手術器械，其存在可能造成辨識異常與誤差，而且無法追蹤器械的角度與遠近，使實用性大打折扣。爲了讓機器人「認識」自己的手臂，去年MICCAI大會舉辦的挑戰賽就是Robotic Instrument Segmentation [6]，提供大量da Vinci機器人的第一視角手術操作影片，要求完成各種機械手臂的區域標註 (2)，甚至能辨識器械上3種部件 (3)與7類器械 (4)。如下圖，由於畫面中往往光照角度與陰影位置不均，加上攝影鏡頭的不定時霧化與沾染血液等視覺干擾，使這項挑戰相當艱鉅。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fc6llsb9wxp0xhze030a8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fc6llsb9wxp0xhze030a8.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;　　兩位Kaggle競賽大師組隊在這場挑戰中奪得總冠軍，分別在這三種挑戰中得到0.887、 0.725、0.236 mean IoU的成績，可見標註區分器械種類是最困難的問題。團隊測試了多種CNN結構，分別是經典的U-Net，以及其變體 TernausNet、 LinkNet。其結果如下表，若不考慮效果都很差的器械分類，具有VGG-16預訓練參數的 TernausNet-16性能表現最好，而具有ResNet-34跳躍結構的 LinkNet則推理速度最快 (90毫秒)，近乎實時地完成器械分割任務，至於分類任務的部分，由於影片中有些類別器械出現頻率相對少很多，補足數據將可能提升分類性能。即便從準確度可看出此類任務還在發展中，需要更多數據，不過一旦達成目標，就能加速手術機器人的全自動化。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff3855zvod0mr6igx1873.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff3855zvod0mr6igx1873.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. 從CT-only到MR-only的沙盤推演再升級
&lt;/h2&gt;

&lt;p&gt;　　放射治療的成效好壞，關鍵在於療程前的空間劑量規劃，傳統上使用電腦斷層掃描 (CT scan)產生患者的3D虛擬結構，並將CT強度值（代表輻射衰減程度）轉換為電子密度用於輻射劑量計算。然而CT scan的軟組織成像對比度有限，不利於目標結構的輪廓勾勒，且多少會有輻射傷害，因此考慮用磁振造影 (MRI)取代CT成為研究熱點 [7]。即便MRI沒有輻射副作用，且能提供更優異的軟組織對比度及時空間解析度，但有個致命缺點是磁振訊號與電離輻射訊號不同，無法用於計算劑量 [8]，若同時做CT與MRI可以互補短處，但是也會有成本過高、程序繁冗、雙影像配準 (image registration)不確定性等問題，因此學界希望能找到精準迅速的MR-only方法，從MRI生成相應的CT scan來計算劑量，稱為pseudo-CT或synthetic CT (sCT)。&lt;/p&gt;

&lt;p&gt;　　過去研究流行的sCT方法主要是atlas-based，將MR影像用標準MRI圖譜進行扭曲配準，再依據MRI圖譜對應的CT值做換算，然而此法遇到解剖變異或病理差異較大時會產生很大誤差，隨著AI流行，model-based方法開始成為焦點。荷蘭烏特勒支醫學中心的團隊針對骨盆腔區域，開發了一種conditional deep convolutional generative adversarial network (cDCGAN) [9]，用pixel-to-pixel的方式生成sCT。GAN是最新提出的深度學習方法，由生成器 (generator)與判別器(discriminator)組成，生成器要盡可能產生讓判別器區分不出差別的虛構物，而判別器則要盡可能區分出虛構物與真實物，兩者互相對抗，故稱之。團隊召集了91位患有前列腺癌、直腸癌、子宮頸癌患者，皆同時拍攝CT與MRI各一組，並將兩者配準。其MRI protocol採用Dixon reconstruction [10]，拍攝一次水、脂肪同相 (in-phase)的spin echo images與一次TE延遲數毫秒的不同相 (out-of-phase) images，兩者可組合出water-only或fat-only的影像，由於水與脂肪的CT值不同，將二者分離對生成CT是有助益的。&lt;/p&gt;

&lt;p&gt;　　將in-phase、water-only、fat-only三種影像作為輸入，訓練cDCGAN生成sCT，再依據真實CT與sCT在影像與計算劑量的差異來評估模型能力。結果見下圖 (IP＝in-phase MRI)，模型可在5.6秒內從MRI生成整組sCT，且sCT與CT的平均絕對誤差 (MAE)是61±9 HU，準確度已遠遠超越圖譜法的紀錄 [11] (94.5 ± 17.8 HU)，sCT計算得到的劑量分布圖也只比CT平均略高 0.1-0.3%。可見即便訊號分佈不同，AI仍能成功進行cross modality影像轉換，因此未來將PET/MRI等混合應用簡化成MR-only都有可能實現，也奠定藥理學MRI (phMRI)的可能性。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdh0fwb074rzoa3nnl5d9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdh0fwb074rzoa3nnl5d9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. 用顯微鏡照出細菌的抗藥性
&lt;/h2&gt;

&lt;p&gt;　　抗生素抗藥性已然成為本世紀公共衛生重大威脅，對院內感染的急重症患者尤其致命。現今臨床上仍主要運用antimicrobial susceptibility testing (AST) [12]，如broth macrodilution (BMD)等，來計算最小抑菌濃度(minimum inhibitory concentration, MIC)，然而此法需耗費數天，且對實驗室環境與操作技術要求高，往往緩不濟急，因此學界正嘗試使用深度學習來加速流程，希冀能及早拯救更多性命，同時也減輕成本負擔。&lt;/p&gt;

&lt;p&gt;　　亞利桑那大學團隊提出DLVM-AST [13]，針對尿道感染最常見的大腸桿菌，及對五種抗生素 (polymyxin B, streptomycin, ciprofloxacin, aztreonam, ampicillin)的抗藥性。抗生素可造成無抗藥性者在運動、形態、細胞分裂等動態上的改變，如polymyxin B可降低移動速度，aztreonam則使形狀拉長。將染菌尿液與高濃度抗生素或等量水混合，導入微流體 (Microfluidic chip)後，以光學顯微鏡錄影，再將影片中各別細菌的動態獨立疊合成一張靜態影像作為動態軌跡，輸入卷積神經網絡 (convolutional neural network, CNN)進行訓練。得到的模型可計算未受抗生素影響動態的細菌所佔比例，繪製出抑菌濃度曲線而得到最小抑菌濃度。結果顯示模型分辨抗藥性的準確度高達87%，且計算得到的MIC與broth macrodilution的結果非常相近，其優勢在於只需30分鐘就能得到結果，而標準方法最快也要over night才能得到。作者指出，未來若加入生化動態特徵的考量，例如ATP消耗量、蛋白質與核酸濃度等，將有機會提升敏感度和特異度，或許在未來，ICU病床可以自動化抗生素抗藥性評估，作出即時性處方決策，減輕醫護人員負擔。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fs9edk876cdu7delyb7vs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fs9edk876cdu7delyb7vs.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. 手機上的預防保健
&lt;/h2&gt;

&lt;p&gt;　　日常生活中的預防保健向來是臺灣公衛體系施力較薄弱的一塊，主要手段無非是施打疫苗、疾病篩檢，卻都必須由民眾自行前往有提供服務的場所進行，對於平日其他不舒服的調養，或許中醫經驗有較多可參酌之處。即便中藥相對於西藥較無副作用，但皆各有偏性，誤食或服用過多仍易傷身，因此許多手機App透過導入中醫師意見與經典醫籍來協助民眾認識概念，卻缺乏實際指導意義，因為民眾仍無法確定自身情況是否符合定義。擁有全中國最大門診量的廣東省人民醫院，中醫部門便與華南理工大學合作，嘗試從望聞問切四診中最可行的舌診來設計AI模型 [14]，學習如何依據處方病案資料庫給予合適的中藥推薦。其原理是使用CNN輸入大量不同角度、照明、遠近的舌頭照片特徵，並將該名患者的處方清單用中華藥典用Latent Dirichlet Allocation (LDA)無監督分類法標記成特徵向量，作為CNN訓練目標，如此模型分析舌頭影像所作的處方就會接近於過去類似病案。然而中醫強調四診合參，爲增加實用性，未來團隊將繼續開發融合其他診斷方式的模型。&lt;/p&gt;

&lt;p&gt;　　另一方面，臺灣位處亞熱帶，氣候多雨，適合病媒蚊孳生，即便瘧疾等蚊媒傳染病在臺灣幾乎絕跡，日本腦炎、登革熱等疾病仍不定時會爆發流行，即便多年來推動家戶定期換水、保持器皿乾燥，仍難以避免戶外和公共場所的蚊媒。事實上，1940年代便曾嘗試透過蚊蟲飛行時拍打翅膀的聲音來定位與計數，甚至分類蚊蟲，然而由於收音設備昂貴難以普及所以未受重視，今日智慧型手機的普及與AI的流行帶來改變的可能性。蚊蟲拍翅聲不僅隨品種而異，性別、年齡、環境溫溼度等也都是影響因子，但人耳基本上不可能分辨出差異，即便透過儀器收訊，背景雜音的混合也使得蚊蟲拍翅聲音訊號難以被單獨分離出來，史丹佛大學做過手機收音測試 [15]，大約最遠距離10公分左右，且背景噪音在50分貝以下，才能錄下明顯可辨的訊號，下圖是手機對各種蚊蟲拍翅聲所錄下的音頻分佈。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fl2ia4f6484c41ttapmtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fl2ia4f6484c41ttapmtc.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;　　於是牛津大學的團隊便嘗試運用深度學習 [16]，分析手機所錄製的蚊蟲拍翅聲（包含背景雜音）來辨識蚊蟲的存在。錄音檔是一維時序數據，但蚊蟲拍翅相對於背景雜音是較無穩定週期性的，且振幅也飄忽不定，直接進行深度學習可能很難捕捉到純淨的蚊蟲拍翅特徵，因此先將錄音檔用小波轉換 (wavelet transform)將原始數據前處理成小波形變的scale（頻域）× transition（時域）二維數據，較能使蚊蟲拍翅特徵被區別出來，再進行CNN訓練。結果發現CNN辨識蚊蟲存在的能力很好，AUC高達0.97，超越了受過訓練的人類 (平均0.883)。未來若能收集更多品種足夠的拍翅錄音檔，將可能製作出能早人類一步發現周圍有高危險蚊媒存在的App，讓位處流行地區的民眾能提高警覺，或提早就診檢查。&lt;/p&gt;

&lt;h1&gt;
  
  
  總結
&lt;/h1&gt;

&lt;p&gt;　　以上提到的五個有趣案例，可以發現AI不僅能學習醫生對視網膜病變的判斷力，還能做到很多人類肉體不可及的事情，增加了醫療照護的可能性。事實上還有更多醫療應用正在研究開發中，甚至已有通過美國FDA核准上市的產品，或許在未來醫師以及許多專業工作會有許多日常業務被AI搶走，但這又何嘗不是好事？我們不如抱持正面心態看待科技進步爲人類生活帶來更好的品質，同時探索自身的能動性與創新力，那麼即便現行醫師會被取代，未來的新型醫師也能走上屬於自己的路！&lt;/p&gt;

&lt;h1&gt;
  
  
  參考資料
&lt;/h1&gt;

&lt;p id="ref1"&gt;1. Stuart Kee et al. (2018) "Feasibility and patient acceptability of a novel AI-based screening model for diabetic retinopathy at endocrinology outpatient services: a pilot study." Scientifc Reports 8(1)&lt;/p&gt;

&lt;p id="ref2"&gt;2. M. Sitti et al. (2015) "Biomedical applications of untethered mobile milli/microrobots." Proc. IEEE 103 (2) 205–224.&lt;/p&gt;

&lt;p id="ref3"&gt;3. Mehmet Turan et al. (2018) "Deep EndoVO: A recurrent convolutional neural network (RCNN) based visual odometry approach for endoscopic capsule robots." Neurocomputing, 275, 1861–1870&lt;/p&gt;

&lt;p id="ref4"&gt;4. D. Son, M.D. Dogan, M. Sitti. (2017) "Magnetically actuated soft capsule endoscope for fine-needle aspiration biopsy." IEEE ICRA, pp. 1132–1139.&lt;/p&gt;

&lt;p id="ref5"&gt;5. Burgner-Kahrs, J., Rucker, D.C., Choset, H. (2015) "Continuum robots for medical applications: A survey." IEEE Transactions on Robotics 31(6), 1261–1280&lt;/p&gt;

&lt;p id="ref6"&gt;6. https://endovissub2017-roboticinstrumentsegmentation.grand-challenge.org/&lt;/p&gt;

&lt;p id="ref7"&gt;7. M.A. Schmidt, G.S. Payne (2015) "Radiotherapy planning using MRI" Phys. Med. Biol. 60, 323-361&lt;/p&gt;

&lt;p id="ref8"&gt;8. Brown et al. (2014) "Magnetic resonance imaging: physical properties and sequence design." Wiley.&lt;/p&gt;

&lt;p id="ref9"&gt;9. Matteo Maspero et al. (2018) "Fast synthetic CT generation with deep learning for general pelvis MR-only Radiotherapy." arXiv:1802.06468 &lt;/p&gt;

&lt;p id="ref10"&gt;10. Dixon W T (1984) "Simple proton spectroscopic imaging Radiology." 153(1), 189–94.&lt;/p&gt;

&lt;p id="ref11"&gt;11. Han X (2017) "MR-based synthetic CT generation using a deep convolutional neural network method." Med Phys. Apr;44(4):1408-1419.&lt;/p&gt;

&lt;p id="ref12"&gt;12. L. Barth Reller et al. (2009) "Antimicrobial Susceptibility Testing: A Review of General Principles and Contemporary Practices." Clinical Infectious Diseases, Volume 49, Issue 11, Pages 1749–1755&lt;/p&gt;

&lt;p id="ref13"&gt;13. Hui Yu et al. (2018) "Phenotypic Antimicrobial Susceptibility Testing with Deep Learning Video Microscopy." Anal. Chem., 90 (10), pp 6314–6322&lt;/p&gt;

&lt;p id="ref14"&gt;14. Yang Hu et al. (2018) "Automatic construction of Chinese herbal prescriptions from tongue images using CNNs and auxiliary latent therapy topics" arXiv:1802.02203v2&lt;/p&gt;

&lt;p id="ref15"&gt;15. Mukundarajan et al. (2017) "Using mobile phones as acoustic sensors for high-throughput mosquito surveillance" eLife;6:e27854. &lt;/p&gt;

&lt;p id="ref16"&gt;16. Kiskin et al. (2017) "Mosquito Detection with Neural Networks: The Buzz of Deep Learning" arXiv:1705.05180&lt;/p&gt;

</description>
      <category>ai</category>
      <category>healthcare</category>
      <category>medicine</category>
    </item>
    <item>
      <title>What is "Dice loss" for image segmentation?</title>
      <dc:creator>鄭仕群</dc:creator>
      <pubDate>Tue, 30 Jan 2018 16:17:43 +0000</pubDate>
      <link>https://forem.com/andys0975/what-is-dice-loss-for-image-segmentation-3p85</link>
      <guid>https://forem.com/andys0975/what-is-dice-loss-for-image-segmentation-3p85</guid>
      <description>

&lt;h2&gt;
  
  
  &lt;em&gt;1. Dice loss 是什麼 ?&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;         Dice loss是&lt;em&gt;Fausto Milletari&lt;/em&gt;等人在&lt;a href="https://arxiv.org/abs/1606.04797"&gt;V-net&lt;/a&gt;中提出的Loss function，其源於Sørensen–Dice coefficient，是&lt;em&gt;Thorvald Sørensen&lt;/em&gt;和&lt;em&gt;Lee Raymond Dice&lt;/em&gt;於1945年發展出的統計學指標。這種coefficient有很多別名，最響亮的就是F test的&lt;strong&gt;F1 score&lt;/strong&gt;。在了解Dice loss之前我們先談談Sørensen–Dice coefficient是什麼。&lt;/p&gt;

&lt;p&gt;         回顧一下比較常聽到的&lt;strong&gt;F1 score&lt;/strong&gt;，統計學中有所謂的&lt;strong&gt;Sensitivity&lt;/strong&gt;和&lt;strong&gt;Specificity&lt;/strong&gt;，而機器學習(模式識別)則有&lt;strong&gt;Precision&lt;/strong&gt;和&lt;strong&gt;Recall&lt;/strong&gt;，它們的關係如下：&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Truth\Classified&lt;/th&gt;
&lt;th&gt;Positive&lt;/th&gt;
&lt;th&gt;Negative&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Positive&lt;/td&gt;
&lt;td&gt;True Positive&lt;/td&gt;
&lt;td&gt;False Negative&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Negative&lt;/td&gt;
&lt;td&gt;False Positive&lt;/td&gt;
&lt;td&gt;True Negative&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yheN3ytc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/fChxAU" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yheN3ytc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/fChxAU" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;可看到Precision和Recall的主角都是被正確挑選的那一群，分別用&lt;strong&gt;挑選總數(TP+FP)&lt;/strong&gt;和&lt;strong&gt;正確總數(TP+FN)&lt;/strong&gt;來評估正確的比例。F1 score便是想以相同權重(β=1)的&lt;strong&gt;Harmonic mean(調和平均)&lt;/strong&gt;去整合這兩個指標：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I-RO-dnQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/ujUjny" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I-RO-dnQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/ujUjny" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;現在回到Sørensen–Dice coefficient的常見表現方式：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Q4hLNss--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/vKGyzj" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Q4hLNss--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://goo.gl/vKGyzj" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;QS&lt;/em&gt;是&lt;strong&gt;Quotient of Similarity&lt;/strong&gt;(相似商)，就是coefficient的值，只會介於&lt;strong&gt;0～1&lt;/strong&gt;。Image segmentation中，模型分割出的mask就是影像的&lt;strong&gt;挑選總數&lt;/strong&gt;，專家標記的mask就是&lt;strong&gt;正確總數&lt;/strong&gt;。對應到公式便可知&lt;strong&gt;挑選總數(TP+FP)&lt;/strong&gt;和&lt;strong&gt;正確總數(TP+FN)&lt;/strong&gt;分別就是&lt;em&gt;X&lt;/em&gt;和&lt;em&gt;Y&lt;/em&gt;，交集便是TP，可見Dice coefficient等同&lt;strong&gt;F1 score&lt;/strong&gt;，直觀上是計算X與Y的相似性，本質上則同時隱含Precision和Recall兩指標。&lt;/p&gt;

&lt;p&gt;         談完了coefficient，&lt;strong&gt;Dice loss&lt;/strong&gt;其實就是它的顛倒。當coefficient越高，代表分割結果與標準答案相似度越高，而模型則是希望用&lt;strong&gt;求極小值&lt;/strong&gt;的思維去訓練比較可行，因此常用的Loss function有 &lt;strong&gt;"1-coefficient"&lt;/strong&gt; 或 &lt;strong&gt;"-coefficient"&lt;/strong&gt;。&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;2. Dice loss 實作&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;實作環境：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows 10&lt;/li&gt;
&lt;li&gt;Python 3.6.4

&lt;ul&gt;
&lt;li&gt;MXNet 1.0.1&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;         因為是小測試就不用GPU了。公式中的交集在image segmentation中很好實現，因為通常標準答案的mask都是由&lt;strong&gt;0和1&lt;/strong&gt;組成的，所以只要將兩張mask作逐點乘積(Hadamard product)，也就是對應點相乘起來而不作向量內積，再加總起來就好了。因為False Positive跟Negative的情況就是其中一張mask值是0，所以在後續加總時會被排除。&lt;/p&gt;

&lt;p&gt;         另一個有趣的點是我在公式中加入了&lt;strong&gt;Laplace smoothing&lt;/strong&gt;，也就是&lt;strong&gt;分子分母同時加1&lt;/strong&gt;，這是啟發自一個pytorch的&lt;a href="https://goo.gl/cm3uAR"&gt;issue comment&lt;/a&gt;。據他所說，&lt;strong&gt;Laplace smoothing&lt;/strong&gt;可以減少Overfitting，我想是因為讓整個coefficient值變大，讓loss變小，就可以更快達到收斂，而避免過多的訓練迭代。&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;mxnet&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;nd&lt;/span&gt;
&lt;span class="n"&gt;smooth&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;dice_loss&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;product&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;multiply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;intersection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;product&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;coefficient&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2.&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;intersection&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;smooth&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;smooth&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;loss&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;coefficient&lt;/span&gt;
    &lt;span class="c1"&gt;# or "-coefficient"
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loss&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;接著隨機生成兩個矩陣測試：&lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uniform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;y_true&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;uniform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;astype&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'int8'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;astype&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'float32'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;dice_loss&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;---------------------------------------------------------&lt;/span&gt;

&lt;span class="n"&gt;y_pred&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mf"&gt;0.38574776&lt;/span&gt; &lt;span class="mf"&gt;0.08795848&lt;/span&gt; &lt;span class="mf"&gt;0.83927506&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
          &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.21592768&lt;/span&gt; &lt;span class="mf"&gt;0.44453627&lt;/span&gt; &lt;span class="mf"&gt;0.10463644&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
          &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.8793516&lt;/span&gt;  &lt;span class="mf"&gt;0.65118235&lt;/span&gt; &lt;span class="mf"&gt;0.5184219&lt;/span&gt; &lt;span class="p"&gt;]]&lt;/span&gt;
         &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;x3&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;y_true&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="mf"&gt;0.&lt;/span&gt; &lt;span class="mf"&gt;0.&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
          &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.&lt;/span&gt; &lt;span class="mf"&gt;0.&lt;/span&gt; &lt;span class="mf"&gt;0.&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
          &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
         &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;x3&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;product&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mf"&gt;0.38574776&lt;/span&gt; &lt;span class="mf"&gt;0.&lt;/span&gt;         &lt;span class="mf"&gt;0.&lt;/span&gt;        &lt;span class="p"&gt;]&lt;/span&gt;
           &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.&lt;/span&gt;         &lt;span class="mf"&gt;0.&lt;/span&gt;         &lt;span class="mf"&gt;0.&lt;/span&gt;        &lt;span class="p"&gt;]&lt;/span&gt;
           &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.8793516&lt;/span&gt;  &lt;span class="mf"&gt;0.65118235&lt;/span&gt; &lt;span class="mf"&gt;0.5184219&lt;/span&gt; &lt;span class="p"&gt;]]&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;x3&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;intersection&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;2.4347036&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;coefficient&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.64307916&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="c1"&gt;# no smooth : [0.59916145] &amp;lt;NDArray 1 @cpu(0)&amp;gt;
&lt;/span&gt;
&lt;span class="n"&gt;loss&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;0.35692084&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;NDArray&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;cpu&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="c1"&gt;# no smooth : [0.40083855] &amp;lt;NDArray 1 @cpu(0)&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;         以上結果用計算機敲一敲就可以驗證了，可以看到在有smooth的情況下，coefficient增大了而loss減少了，因此可以讓神經網絡更快收斂。&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;em&gt;3. 後記&lt;/em&gt;
&lt;/h1&gt;

&lt;p&gt;         在2016年V-net開始使用後，Dice loss在2017年得到了一些進化，其中有篇文獻實驗比較了Dice loss和影像深度學習常用的&lt;strong&gt;Cross-entropy&lt;/strong&gt;的性能，發現Dice loss在image segmentation真的表現比較好，所以我們之後來談一下Dice loss的最新進展吧！&lt;/p&gt;


</description>
      <category>python</category>
      <category>diceloss</category>
      <category>dicecoefficient</category>
      <category>imagesegmentation</category>
    </item>
  </channel>
</rss>
