【細胞核の自動検知による創薬Kaggle】2018 Data Science Bowl

この記事を書いた人
北爪 聖也

株式会社pipon代表取締役。 キャリアはADK(広告代理店)でテレビ広告運用をして残業120時間するが、ネット広告では自分の業務がAIで自動化されていることに驚愕する。そこで、機械学習受託会社に転職し、技術力を身につけた後、piponを創業。現在、製薬業界、大手監査法人、EC業界、様々な業界でAI受託開発事業を運営。

概要

 細胞核を自動で検知できるようにすることにより、薬の開発を促進し、医療を前進させ、生活の質を向上させることができる。

 人間の体の30兆の細胞のほとんどはDNA、すなわちそれぞれのセルをプログラムする遺伝暗号で満たされた細胞核を含んでいるので、細胞核を特定することは分析の第一歩である。研究者は、細胞核を特定することでサンプルの細胞それぞれを特定することができ、細胞が様々な治療にどのように反応するかを測定することで生物学的プロセスがどのように作用しているかを理解することができる。

 このコンペでは細胞核を特定するプロセスを自動化しようとし、そのことによって、より効率的な薬のテストができたり、新薬が市場に出るのを10年早くしたりすることができる。

 コンペの参加者は様々な条件における様々な細胞核を特定することができるコンピュータモデルを作成する。パターンを観察し、質問をし、モデルを構築することで、参加者は最新鋭の技術をさらに推し進めることができる。

 本コンペにおける評価指標はIoUである。

周辺技術・知識

このコンペの概要理解や優秀チームのnotebookを理解するために必要だった知識を以下に列挙します。

(1)IoU

 IoUはTP/(TP+TN+FN)で算出される。ここで、TPは「実際に存在する核をモデルが見つけることができた」ことを表し、TNは「実際に存在しない核をモデルは無いとみなすことができた」ことを表し、FNは「実際に存在する核をモデルが見つけることができなかった」ことを表す。

(2)マスク処理

 特定の部分のみを表示(抽出)し、それ以外の部分を表示しないようにする画像処理のことをいう。マスク処理を行うためには、表示(抽出)したい部分がどこなのかを表す基準画像をあらかじめ用意する必要がある。

(3)シグモイド活性化関数

 あらゆる入力値を0.0~1.0の範囲の数値に変換して出力する関数である。シグマ字型曲線のグラフであるため、「シグモイド関数」と呼ばれる。シグモイド関数は主に分類問題(二値)における出力層の活性化関数として用いられる。

(4)ソフトマックス活性化関数

 複数の出力値の合計が1.0(=100%)になるように変換して出力する関数である。各出力値の範囲は0.0〜1.0となる。滑らかな(=ソフトな)曲線となり、1つの出力値が最大となるため、「ソフトマックス関数」と呼ばれる。主に分類問題における出力層の活性化関数として用いられる。

(5)ImageNet

 画像認識研究のための研究用標準データセットである。自然画像を対象としている。1400万枚を超える画像に何が写っているかを、2万種以上のラベルで示したものである。

優勝チームの解法

ネットワークは、あいまいでない輪郭はただしく分離できるが、本当に細胞核を分離してほしい、あいまいな輪郭においては失敗してしまう。したがって、細胞の境界だけを予測することにしたところ、大幅に結果が改善した。

さらに、細胞核のマスクを変えて境界のピクセルを空にした。これにより、シグモイドの代わりにソフトマックスをターゲットの活性化関数として使うことができるようになった。これにより細胞核をよりよく分割することができるようになったが、IoUの閾値が高くなったためにMaPは減少した。この問題は、フルマスクで訓練された追加のネットワークで解決し、その結果を後処理の段階で結合した。

 最終的なアプローチは次の2つである。

1)シグモイド活性化関数を用いたネットワークのための2チャンネルマスク(マスク-境界、境界)またはソフトマックス活性化関数を用いた3チャンネルマスク(マスク-境界、境界、1-マスク-境界)

2)2チャンネルのフルマスク(マスク、境界)

下記、優勝チームの解法の特徴を列挙する。

(1)拡張

 数百しか訓練データがなかったため、モデルが過剰適合するのを防ぎ、かつモデルをより一般的にするため、様々な拡張をする必要があった。たくさんの重要な拡張を行った。

(2)ネットワーク体系

 ImageNetであらかじめ訓練されたエンコーダーを用いた、UNetのようなエンコーダー・デコーダー体系を用いた。基本的なエンコーダーは役に立たなかったが、最終的にはDPN-92、Resnet-152、InceptionResnetV2、Resnet101などのエンコーダーが良いパフォーマンスを示した。

(3)後処理

 予測された細胞核の候補で訓練されたLightGBMモデルを用いる。基礎となる細胞核候補は、分類のための最も低い閾値を用いて選択し、わずかに高い閾値で分類できるよう努めた。細胞核の候補については、硬さ、円形度、凸性、面積、隣接中央平均値、数などの形態学的特徴を用いて選んだ。

 予測したIoUに応じて、細胞核候補に対して最適な分類閾値を選択した。IoUが小さい候補については単純に除去した。

(4)アンサンブル

 使用したマスクを単に平均するだけの、シンプルなアンサンブルを行った。

参考URL

2018 Data Science Bowl

物体検出における学習モデル評価方法(Python3)

リモートセンシング 画像処理

topcoders, 1st place solution

AI・機械学習の用語辞典:
[活性化関数]シグモイド関数(Sigmoid function)とは?

AI・機械学習の用語辞典:
[活性化関数]ソフトマックス関数(Softmax function)とは?

コトバンク ImageNet