準確率97%的開源肺炎檢測模型:照搬PyTorch教程、50張圖片就完了

2020-12-05 InfoQ技術實驗室

最近,一位澳大利亞的人工智慧博士候選人在 LinkedIn 上發布了一篇關於 SARS-CoV-2 病毒的研究文章。由於極具話題性且號稱準確率可以達到 97.5%,這篇文章很快得到上萬條評論、點讚與轉發。然而,這樣一個模型卻被扒出背後只用了 50 張圖片訓練。

一周搭起準確率達 97% 的模型,事實是?

此前,一位澳大利亞的人工智慧博士候選人宣布構建了一套深度學習模型,能夠從肺部 X 光片中以 97.5% 的準確率檢測出患者是否感染了 COVID-19 病毒。因為國外疫情蔓延且醫療設施不足,因此人們對這個成果非常關注,短短時間就收穫到了上萬條評論、點讚和轉發,其還創建了 Slack 工作組,得到了大量讚美。

從目前公布的消息來看,整個項目具有以下特點:

一套經過訓練的 PyTorch 模型容器化應用代碼一套 GitHub 庫,並被翻譯為多種語言正在開發中的 Web 應用程式正在開發中的行動應用程式規劃藍圖,有意在 AWS 中利用無伺服器架構託管這套模型在營銷與贊助方面還有大量後續計劃而以上的一切,都在一周之內快速完成。隨後,Reddit 網友扒出這套解決方案存在幾個嚴重問題,並對此進行了整理與反駁。

只用了 50 張圖像訓練?

首先,這些網絡的潛在神經表示非常複雜,因此必然需要使用大量訓練樣本才能完成模型訓練。但截至提交時,這款 COVID-19 檢測工具只見過 50 張肺部影像。

對於這樣一套包含 150 多層、超過 2000 萬個參數的網絡來說,如此有限的訓練樣本集顯然極為荒謬。

該模型通過肺部 X 射線影像進行學習

數據樣本有問題

此外,樣本中可能存在巨大的數據偏差,這 50 張圖片並不包含相關人員是否感染病毒,而僅根據 COVID-19 急性病例造成的肺部操作做出標記。除非肺部已經被病毒破壞,否則該模型根本無法檢測到感染跡象。此外,即使已經出現肺炎症狀,如果尚不屬於急性症狀,仍然無法證明這套模型的準確度。

圖像重複、代碼混亂、模型有問題

最後,這套 COVID 模型基於高人氣基準網絡 ResNet-50。雖然後者確實屬於圖像識別與分類領域的常用方案,但 ResNet 的預訓練一般只涵蓋日常環境下的物體。換言之,ResNet 網絡中的隱藏層更擅長識別幾何形狀與彩色圖像,在 X 射線影像中,我們明顯找不到這樣的模式。也正因為如此,大多數醫學神經網絡才只能選擇從零開始構建的開發方式。

進一步觀察這套代碼庫,我們還發現了不少其他問題。訓練、驗證與測試數據集中包含重複的圖像,大部分訓練過程直接照搬 PyTorch 教程,混有大量不必要的代碼;Github issues 也令人完全無法理解……

GitHub 地址: https://github.com/elcronos/COVID-19

項目負責人回應:我說了項目不可用

最初,個別開發者與項目負責人溝通並提出質疑時,對方回應稱:

xxx,你好,我們的成果已經得到加拿大 xxx 研究機構放射科醫生的支持與認可

然而,隨著質疑聲越來越多,項目負責人更新了 GitHub 中的介紹,並表示:

儘管該項目的結果「看起來很有希望」,但我明確指出該模型遠沒有可用,因此不應將其用於診斷或任何醫療決定。這是在進行中的工作,我們需要具有相關技能的人員的幫助。我還在 GitHub 存儲庫中指出,我正在尋找能夠改善和收集更好數據集的開發者的幫助。不幸的是,這個項目引起了相關專家的注意,他們沒有注意模型尚未準備就緒,且需要更好的數據集並幫助創建更好的模型,也沒有閱讀我們的所有免責聲明。就指責該項目具有誤導性,甚至有人暗示我對此有商業意圖。這對我的個人生活造成了一些負面影響,因此,我決定暫時退一步,暫時退出社交媒體。至少在接下來的幾天,我將不活躍於此組中。完整版聲明參照: https://github.com/elcronos/COVID-19

然而,這位負責人此前還在大肆宣揚此項目,並發起籌款。該項目負責人創建了一個包含多個子頻道的 Slack 討論組,其中有 一個 #marketing 頻道,專門用於溝通以及籌措資金。另外,#sponsors 頻道則負責與潛在投資者交流,向其報告未來的投資回報前景。

Slack 討論組: https://app.slack.com/client/T010AJ5H31N/learning-slack

此外,名為 #datascientists 的頻道中沒多少有用的內容,裡面充斥著熱情滿滿但沒什麼經驗的新手。同樣的,#doctors 頻道情況也差不多,唯一有價值的內容就是來自專業醫療人員的反對意見,例如並不推薦利用肺部 X 射線診斷 COVID-19 感染。最後一個子頻道 #researchers 則幾乎沒人。

另一方面,UI/UX 頻道產出的內容倒是頗為豐富。此項計劃目前已經擁有 5 款不同的徽標,外加一套專門用於移動與 Web 應用程式的界面。

因此,對於這份聲明,大部分開發者並不買帳,不少人認為 在當前的特殊情況下,這類存在嚴重問題的項目不應發布並大肆宣傳(甚至有開發者調侃道宣傳的工作量大概是開發工作的 20 倍)。

醫學診斷中的深度學習

深度卷積網絡在疾病的診斷與治療方面確實具有一系列潛在優勢。近年來發表的眾多科學出版物中都在高度關注這一全新發展方向:

2016 年,來自倫敦的一組研究人員發表一種新方法,以包含 8 萬張眼底照片的數據集為基礎,能夠以 86% 的準確率診斷出患者因糖尿病引發的視網膜病變。同一年,來自烏幹達的研究人員利用包含 10000 個對象的數據集,評估了卷積神經網絡(CNN)對微觀血液塗片的分析能力。兩位日本研究人員通過包含 55 萬例 CT 掃描影像的數據集,對肺結節進行一輪規模浩大的分類操作。但前文提到的新冠病毒檢測完全不同,稍微瀏覽其公布的代碼庫,就能看出該作者對深度學習及 AI 技術的認知嚴重不足。更糟糕的是,眾多開發者都在質疑其明顯是想利用此次疫情爆發對自己進行推廣。

說好的代碼改變世界呢?

深度學習絕不是百試百靈的解決方案。近年來,無數沒有做好準備的企業匆匆在內部建立起數據團隊,最終卻發現成本迅速提升的同時得不到任何有意義的產出。

此前,李飛飛在接受訪談時曾提到:

泡沫確實存在,過度誇張、炒作可以說鋪天蓋地。作為科學家,我希望這些泡沫都儘快消散。只有關注堅實內核的人們才能推動 AI 進步並帶來真正的收益,這一點在醫療保健與醫藥等領域尤其重要。另外,我們絕不應該利用技術製造不公、偏見或者擴大原已存在的不平等現象。對於 AI 技術,我希望儘可能降低它的接觸門檻、增加公平性並緩解種種相關矛盾。只要處理得當,我們完全有機會利用 AI 技術創造出更美好的未來。當然,前提是我們得認真梳理現有 AI 成果,弄清哪些是捏造的、哪些是真實的。

延展閱讀:《李飛飛最新訪談:希望 AI 領域泡沫儘快消散,尤其是醫療部分》

如今,AI 技術仍然在以開創性的方式推進。忽略掉這一點,很容易陷入炒作的泥潭。

說到這裡,任何有理智的開發者都不會貿然進入,將自己的命運完全交給運氣。相反,只有首先建立起擁有 AI/ML、DataOps、架構、開發等領域專業知識的團隊,才有可能在這場攻堅戰中勝出。

最後,代碼不能讓世界變得更好也無妨,別禍亂即可。

關注我並轉發此篇文章,私信我「領取資料」,即可免費獲得InfoQ價值4999元迷你書!

相關焦點

  • 百度開源業內首個口罩人臉檢測及分類模型
    2月13日,百度宣布免費開源業內首個口罩人臉檢測及分類模型。該模型可以有效檢測在密集人流區域中攜帶和未攜戴口罩的所有人臉,同時判斷該者是否佩戴口罩。目前已通過飛槳PaddleHub開源出來,廣大開發者用幾行代碼即可快速上手,免費調用。
  • 用Java實現目標檢測|PyTorch
    針對於這個問題,亞馬遜雲服務 (AWS)開源了 Deep Java Library (DJL),一個為Java開發者設計的深度學習庫。它兼顧了易用性和可維護性,一切運行效率以及內存管理問題都得到了很好的處理。DJL使用起來異常簡單。只需幾行代碼,用戶就可以輕鬆部署深度學習模型用作推理。那麼我們就開始上手用DJL部署一個PyTorch 模型吧。
  • PyTorch 深度學習官方入門中文教程 pdf 下載|PyTorchChina
    PyTorch是一個基於Torch的Python開源機器學習庫,用於自然語言處理等應用程式。它主要由Facebookd的人工智慧小組開發,不僅能夠 實現強大的GPU加速,同時還支持動態神經網絡,這一點是現在很多主流框架如TensorFlow都不支持的。
  • PyTorch實現,GitHub4000星:微軟開源的CV庫
    機器之心報導編輯:魔王、陳萍本文介紹了微軟開源的計算機視覺庫,它囊括了計算機視覺領域的最佳實踐、代碼示例和豐富文檔。近年來,計算機視覺領域突飛猛進,在人臉識別、圖像理解、搜索、無人機、地圖、半自動和自動駕駛方面得到廣泛應用。而這些應用的核心部分是視覺識別任務,如圖像分類、目標檢測和圖像相似度。
  • 用Java實現目標檢測 | PyTorch
    針對於這個問題,亞馬遜雲服務 (AWS)開源了 Deep Java Library (DJL),一個為Java開發者設計的深度學習庫。它兼顧了易用性和可維護性,一切運行效率以及內存管理問題都得到了很好的處理。DJL使用起來異常簡單。只需幾行代碼,用戶就可以輕鬆部署深度學習模型用作推理。那麼我們就開始上手用DJL部署一個PyTorch 模型吧。
  • 福利,PyTorch中文版官方教程來了
    近日,一款完整的 PyTorch 中文版官方教程出爐,讀者朋友可以更好的學習了解 PyTorch 的相關細節了。教程作者來自 pytorchchina.com。教程網站:http://pytorch123.com教程裡有什麼教程根據 PyTorch 官方版本目錄,完整地還原了所有的內容。包括簡單的環境搭建、快速入門相關 API、高級操作、圖像處理實戰、文本處理實戰、GAN 和強化學習等,基本涵蓋了目前所有深度學習相關的知識點。
  • 保護隱私快速訓練,Facebook開源Opacus,用差分隱私訓練PyTorch
    那麼,如何方便地使用差分隱私來訓練機器學習模型呢?近日,Facebook 開源了 Opacus 庫,支持以這種方式訓練 PyTorch 模型。近日,Facebook 開源了一個新型庫 Opacus,它支持使用差分隱私來訓練 PyTorch 模型,擴展性優於目前的 SOTA 方法。
  • 吳恩達團隊最新醫學影像成果:肺炎診斷準確率創新高
    目前,胸部 X 光檢查是診斷肺炎的最佳方法(WHO, 2001),這種方法在臨床護理和流行病學研究中發揮著重要作用。然而,通過 X 光片診斷肺炎是一個具有挑戰性的任務,需要放射科醫師具備專家級的判斷能力。在吳恩達團隊的最新成果中,計算機科學院和醫學院的研究人員共同提出了一種新的機器學習模型,可以讓計算機通過胸透照片自動診斷肺炎,其診斷準確率超過了放射科醫師。
  • 學界 | 吳恩達團隊展示全新醫療影像識別技術:肺炎診斷準確率超過人類醫生
    目前,胸部 X 光檢查是診斷肺炎的最佳方法(WHO, 2001),這種方法在臨床護理和流行病學研究中發揮著重要作用。然而,通過 X 光片診斷肺炎是一個具有挑戰性的任務,需要放射科醫師專家級的判斷能力。在史丹福大學發表的新論文中,計算機科學院和醫學院的研究人員共同提出了一種新的機器學習模型,可以讓計算機通過胸透照片自動診斷肺炎,其診斷準確率超過了放射科醫師。
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    選自PyTorch.org機器之心編譯參與:吳攀、李澤南、李亞洲Torch7 團隊開源了 PyTorch。據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。
  • 視覺工具包torchvision重大更新:支持分割模型、檢測模型
    訓練/評估腳本現在,reference/文件夾地下,提供了訓練和評估用的腳本,支持許多任務:分類、語義分割、目標檢測、實例分割,以及人物關鍵點檢測。這些腳本可以當做log:寫著某一個特定的模型要怎樣訓練,並且提供了基線。有了這份快速指引,便於順利展開研究。
  • PyTorch實現TPU版本CNN模型
    curl https://raw.githubusercontent.com/pytorch/xla/master/contrib/scripts/env-setup.py -o pytorch-xla-env-setup.py!
  • 23個系列分類網絡,10萬分類預訓練模型,這是飛槳PaddleClas百寶箱
    而 ResNet_vd 是 ResNet 的改進版,在儘可能減少推理耗時增加的前提下,識別準確率大幅提升 2.5% 左右,並且在採用知識蒸餾方案 SSLD 的加強後,PaddleClas 可以提供該系列當前最有競爭力的預訓練模型,82.4% 的 ResNet50_vd_ssld 和 83.7% 的 ResNet101_vd_ssld,如今這些模型的性能還在持續提升中。
  • 阿里開源自研語音識別模型 DFSMN,準確率高達96.04%
    近日,阿里巴巴達摩院機器智能實驗室開源了新一代語音識別模型DFSMN,將全球語音識別準確率紀錄提高至96.04%。這一數據測試基於世界最大的免費語音識別資料庫LibriSpeech。
  • PyTorch更新!谷歌幫助開發,正式支持TensorBoard | 5大開源項目
    此外,圍繞著打造「開發和協作的AI社區」的願景,Facebook還介紹了5大開源工具。同時,他們也分享了Facebook在自家程序中應用AI的情況,以及對AI研究的展望。分布式訓練:改進了常見模型(如CNN)的性能,增加了對多設備模塊的支持,包括在仍使用分布式數據並行(DDP)的情況下跨GPU分割模型的能力,以及對並非所有參數都用於每次迭代的模塊的支持(如控制流,如自適應SoftMax等)。
  • Facebook 開源 3D 深度學習函數庫 PyTorch3D
    原標題:Facebook開源3D深度學習函數庫PyTorch3D來源:開源中國Facebook近日開源了將PyTorch用於3D深度學習的函數庫PyTorch3D,這是一個高度模塊化且經過優化的庫,具備獨有的功能,旨在通過PyTorch簡化3D深度學習。
  • 語音識別開源工具PyTorch-Kaldi:兼顧Kaldi效率與PyTorch靈活性
    機器之心原創作者:Nurhachu Null本文主要介紹用於語音識別的開源工具——PyTorch-Kaldi。它包含 4 個組成部分:信號處理和特徵提取、聲學模型、語言模型和解碼搜索。聲學模型是其中的核心部分,我們可以把它理解為說話聲音和語言發音之間的映射。而信號處理和特徵提取就是用於構建聲學模型的材料了,它主要依靠數位訊號處理相關的技術。語言模型則可以被看作是語言先驗知識。語音識別的最終結果就是在聲學模型得分和語言模型得分上進行搜索得到的。具體的內容這裡不做展開。
  • Pytorch 中文文檔和中文教程
    筆者獲得了ApacheCN社區的同意,放出該社區的翻譯文檔和官方教程,歡迎大家多去GitHub頁面 fork,star!簡單介紹GitHub項目管理:https://github.com/apachecn/pytorch-doc-zh
  • 《PyTorch中文手冊》來了
    這是一本開源的書籍,目標是幫助那些希望和使用 PyTorch 進行深度學習開發和研究的朋友快速入門,其中包含的 Pytorch 教程全部通過測試保證可以成功運行。開源地址:https://github.com/zergtant/pytorch-handbook
  • mmdetection使用目標檢測工具箱訓練,測試
    商湯科技和港中大組成的團隊在 2018年的COCO 比賽的物體檢測(Detection)項目中奪得冠軍,而 mmdetection 正是基於 COCO 比賽時的 codebase 重構。https://github.com/open-mmlab/mmdetection這個開源庫提供了已公開發表的多種視覺檢測核心模塊。