10万枚の胸部X線画像をCNNした

読んだ。
ChestX-ray8: Hospital-scale Chest X-ray Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases. IEEE CVPR 2017
3万人の患者から10万枚程度の胸部X線画像を入手し、CNNによりAtelectasis, Cardiomegaly, Effusion, Infiltration, Mass, Nodule, Pneumonia, Pneumothorax, Normal の8つの病気と正常の区別を行う。
F値ベースだと0.8-0.9 くらい、ただしNodule やMass だと0.5 とかになる。
AUCベースだと0.7-0.8 くらい、これもMass だと0.56 でやる意味あるの?ってなる。
判別器にはAlexNet, GoogLeNet, VGGNet16, ResNet50 を試していて、ResNet50 が総じてよさそうな性能。
 
Cardiomegaly 心肥大(AUC=0.8141) やPneumothorax 気胸(AUC=0.7891) はAUCが高く判別性能が高かったが、これらはぶっちゃけ人の目で見てもわかる。気胸はわからない場合もあるが、わからないような気胸は生命の危機が差し迫っているわけではないので翌日の受診でもよい。死にそうな気胸は息が止まるのでCNN に頼る必要がそもそも時間的にもない。
ではAI頼りのがんの検出のようなタスクはどうか。これはMass 大きめの腫瘤 (AUC=0.5609) Nodule もう少し小さめの腫瘤は検出性能が低かった。これは症例ごとのバリエーションが多いだろうからと言われている。
Pneumonia 肺炎(AUC=0.6333) も低い性能だったのは、データセット内に1% 程度しかなかったから、と言っている。
 
今回のデータセットは10万枚のうち8.4万枚が正常、ということで、なんらかの異常のある事前確率は15%程度になる。では、一般に健診でこんなに異常例があるかというと、たぶんない。疑いとして陽性をつけるかもしれないが、実際に病気である人は絶対に15%もいない。
この理由で、一般に気胸なんかは健診で見つけない(見つからない)。なんらかの症状があって、事前確率が高い状況で検査は行われる。
AIに期待されるがんの検出については、Mass やNodule の検出がたいした性能でなかったので、自分ならばこの程度の(診断責任を何も負わない)性能のAIに診断支援されたくないなぁというのが本音。
 
今回はF値とAUC とどちらも評価していたが、情報科学ではF値しか使われない印象がある。F値にはprecision とrecall が使われるが、これらは陽性に関わる項目(TP かFP かFN)しか使われない。
本当の理由はよくわからないが、ネットでググってよく出てくるのが、例えば書類を検索するときに、検索した書類が目的のものか(precision)、存在するすべての書類のうちどれくらい検索できたか(recall)という、書類を見つけ出すことにしか興味がなさそうである。
一方で医学では、病気を病気と診断すること(感度)と、病気でないことを病気でないと診断すること(特異度)が必要になってくる。
F値だけ出されると0.8-0.9程度といい性能だと勘違いしそうだが、8割以上が陰性例なので(というか臨床検査なので)AUC でも評価しているのは好感がもてた。性能についてはまったく期待できないが。
 
結局のところ、Net組み上げました選手権になるか、超高性能GPU使って入力画像増やしまくりました選手権になるだけだと思う。はやくAIが仕事奪いに来いよ()
リンクから生データが入手できるので、CNN もできるし画像読影の勉強もできる。