ZENKEI AI ポッドキャスト

S27E04 【ゲスト講演】メラノーマ疑惑のホクロをAIで診断してみた(ちゃんもりさん)


Listen Later

ZENKEI AI ポッドキャスト、シーズン27は2022年3月30日に開催した ZOOMライブの模様です。
この日のテーマは「久しぶりのゲストだよ!」いつもより喜んでます。
エピソード4は、メインの後半ゲスト講演ちゃんもりさんによる「メラノーマ疑惑のホクロをAIで診断してみた」です。
当日の市來の発表資料
zenkei-ai-podcast-20220330-04_q130.m4a
ビデオ見れる人はこちらからご覧ください。
(以下は、OpenAI の Whisper を使って文字起こししたものを修正したものです。)
** 注:以下は未編集の草稿です **
こんにちは、 ZENKEI AI FORUM です。
はい、皆さんこんばんはです。全景AIフォーラム、2022年3月の30日3月末、最終水曜日の全景AIフォーラムですね。
えっと、なければというかですね、時間ね、まだ50分ですけども、メインイベントに行こうかな。行こうかな。ちゃんもりさんの。大丈夫ですか?大丈夫です。はい、じゃあ僕の話は今ので終わりなので、ちゃんもりさんの話に進みます。ってことで、あ、そうか、これシェアが他の人ができるようにっていうのは、これはホストオンリーじゃなくて、Who can share、これでいいはずだな。はい、えっとしたらちゃんもりさん、プレゼンよろしくお願いします。はい、緊張しますね、なんか。大丈夫。Zoomの共有ってこれでいいのかな?これでどうですか?見えてます?あ、きましたきました。パワポね。はい、パワポです。はい、じゃあやっていきます。じゃあやっていきますね。タイトルはメラノーマンキーワックのホクロをAIで診断してみた。になります。まず自己紹介しますか。ハンドルネーム、ちゃんもりですね。英語表記だとこんな感じですね。英語表記って勝手に言ってるんですけど。ちゃんと英語表記まであるんですね、ハンドルネーム。勝手に考えてるだけなんですけど。昨日考えました。1年ちょいぐらい前ですかね、初めてここに応じてさせてもらったのは。なんかね、初めの頃は顔が分かんなくて、僕声だけだと結構アイデンティファイするのが難しいんで、何回か初めてですね、みたいな失礼なこと言って申し訳なかったんですけども。そうでしたっけ、覚えてないです。長いですね。ありがとうございます。職業、ソフトウェアエンジニアと言っていいのか分からないくらい、あんまりプログラムとか書いてないですね。ただの保守開発で、AIは結構興味が無いので、関係ない仕事をしています。ディープラーニングに関してはまだ初心者で、ただユーラルネットワークとかSVM会議とかは学生時代にちょろっと触ったので、別に分からなくはないよって感じですね。技術的なこと以外だと陸上とか水泳とかバドミントンが好きですよね。やってたっていうのもあるんですけど。陸上が好きっていうのはもうちょっと説明してほしいな。陸上が好き。陸上何やってたの?短距離ですね。短距離?水泳は?水泳は小学校の時に習ってただけなんで、とりあえず泳いでたんで。種目とかは特にないんだ。全部やってましたね。個人メドレーとかもやってました。器用なんですね。いや、器用ではないですね。道具が使えないみたいな。全部まんべんなくできるから個人メドレーとかするんじゃないの?いや、どうなんでしょうね。やれって言われたみたいなところは。はい、ありがとうございます。マックスコーヒーっていうめっちゃ甘いコーヒーが好きですね。粉くらいするマックスコーヒーです。マックスコーヒーって何?マックスコーヒーっていう黄色い、ペットボトルもありますね。売ってるものがあるんですか?ドンキによく売ってますけど、本来はペットボトルにもあったけど、今はないですね。なるほど。甘いんですね。めっちゃ甘いですね。一番甘いんじゃないかな。コーヒー界で。僕は基本砂糖入れない派なので、絶対飲まない系だな、きっと。練乳入ってます。成分で最初に出てくるのが練乳ですね。あと最近、冷酷ETFが気になる。風呂所得が欲しい、今日この頃であります。あと暑がりですぐ暑いやついって言います。猫じらですね。熱に弱いかもしれないです、私。そういうまとめになるんだ。じゃあ、北陸向きなの?でも蒸し暑いね、こっちね。暑い時は暑いです。この辺にしておきますか。寒さは強いんだね。そうですね。寒さはそんなに感じない人。よほど寒いと寒いですけどね。今回の発表概要ですけど、タイトルにあった通り、ホクロがガンである確率を推定するAIを作成しました。こんな感じのイメージですね。ホクロの画像をAIに入力すると、作成である確率は丸々パーセントですよって出してくれるっていうこんなイメージで持ってもらえればと思います。背景、なんでこんなものを作ろうと思ったのかっていうと、先日日本ディープラーニング協会の医師学を受験しました。こんなやつですね。受験のために前提講座、修了が必要でした。講座の中で、何かAIを作りなさいという課題が出ました。思い出したのがホクロ診断AI。課題はこれでクリアしました。発表ということで、それをブラッシュアップして今回発表したいなと思います。ではなぜホクロにスポットを当てたのかというのは次のスライドから説明していきます。まずホクロってこういうのですけど、こういうホクロ、顔にあったりもしますよね。こういうのって、ホクロって実は妖精の主要で、実は主要なんですね。主要って聞くと危ないイメージありますけど、妖精なんで大丈夫で、だいたいのホクロは妖精です。だから基本的には問題なしっていう主要なんですけど、こういった基本的には妖精なんですけど、たまに悪性に変化します。皮膚への侵入などによって。足の裏にできるホクロがガンになりやすいというのはそういうことらしいです。この悪性に変化したやつがメラノーマと呼ばれるものですね。他にもメラノーマ以外の種類の悪性のガンってあるらしいんですけど、有名なのはメラノーマです。このメラノーマに変化した時に形は変化するかもしれないし、しないかもしれないです。特徴としては日に日に大きくなったり、形がいびつだったりします。ちょっと紛らわしいホクロを持ってきたんですけど、この2つはメラノーマらしいです。このようなものを正直体を探したらありそうで、この情報をテレビか何かで知った時に、私はこんなものわかるわけないやんけって怒りました。怒ったんだ。ちょっとわかるわけないやんって思ってしまって、何に怒ったのかちょっとわかんないですけど、その後ちょっと心当たりがありまして、これ自分の腕のホクロを撮影したんですけど、ちょっと毛が邪魔ですけど、これちょっとメラノーマじゃないかなって思って、さっきの特徴、大きくなってきたり、いびつになってきたりするっていうのも知ってたんで、もうちょっと詳しくネットで検索してみたら、ABCDE基準というのが見つかりました。これメラノーマの簡易指標なんですけど、こんな感じで、ABCDE、Asymmetry, Border Irregularity, Color Perguration, Diameter, Enlargement, Elbow Emulationsというのを頭文字に取ったやつがABCDE基準です。これにどれくらい当てはまるかで簡易的に測定できますよっていうのがあります。1個ずつ見ていった時に、まずAsymmetry、非対称性、これはですね、ここで切ると対称に見えなくもないけど、自分はあんまりそうは思わなかったので、1個ずつ見ていくと、これは丸当てはまってしまいました。Border Irregularity、外形がギザギザか不明瞭かってやつなんですけど、ギザギザではないですね。これ調べた時の例の画像にもっとギザギザなやつが映ってたんで、ギザギザは大丈夫だろうと。ただ、外側に行くに従って薄くなっていってるような気がしたんで、不明瞭、これ当てはまるなと思ったんで、これ三角って勝手につけました。次、Color Relegation、多彩色ムラ、さすがに色はついてないなと思ったんで、これを一発で。Diameter Enlargement、これ6mm超えるかどうかってやつなんですけど、やってみたら6.1mmくらいあったんで、これ当てはまってしまいました。最後、Evolving Regions、大きさ、色、形などが経年変化。正直ちょっと大きくなってるような気がしないでもないし、たまに実家に帰った時に、あんたまた大きくなったんじゃない、それって言われたことが、よく言われるんで、三角としておきましょうか。測定して終わった後に、やばい、割と当てはまいぞと。これメラノーマなんじゃないかなっていう疑惑が浮上しました。やばい、どうしようってなったんですけど、どうしようかって、そうだ、AIで調べるという結論になりました。いや、病院に行けよって話だったんで、それは一旦置いといて、せっかくだからAIでやってみても良くない。世界初かもしれないよと、お金稼げるかもよみたいなところが。とりあえず病院にも行かず、AIで作ることにしました。ということでまずはデータセット探しで、探してみました。一瞬で見つけましたね、カグルにありました。世界初かもしれないよとか言っておきながら、早速二番戦時になってしまったんですが、やり通すのが重要だろうと、初心者でした。カグルでメラノーマコンペみたいなのがあったってこと?ありましたね、メラノーマ悪性化とかってやつですね。そのものズバリみたいな?そうです。はい、それはコンペ?コンペですね、もう終わってるんですけど。なるほど、じゃあそのグランドマスターたちとのコンペティションってことだね、ちゃんもりさんの今回はね。いや、コンペティションってことじゃない、公開ソースだいぶパクってしまったんですけど。はいはい。ということで探して見つかったのは学習用画像33,326枚、量子が32,000ちょっと、悪性が584枚と、ちょっと悪性が少ないかなって感じがします。まあそれはしょうがないって感じなんですけど、悪性が稀なので。次にモデル設計を行います。e□の前提講座の時は2019年に発表されたEfficientNetっていうモデルだったんですけど、発表するにあたってこれはちょっと映えないなと、画像を入れて結果が出てくるだけなので、しかも数字で出てくるだけなんでちょっと映えないなと思ったので、今回は発表映えしそうなVGG16プラスアテンションを使ったモデルでやってみようということで、これでブラッシュアップしました。映えないっていうのは若者言葉なんですか?最近なんか映える映えないっていう、最近ではないですね。流行ってるのが最近。3年前。3年前にインスタ映えとか言いますからね。ああ、インスタ映えの映えね。そういう人になってるか。でもさ、今から多分説明あるんだけど、EfficientNetが映えないからVGGに行くって、すごい5年くらい時間をさかのぼってるような気がするんだけど、そんなことでもないの?どうですかね。アテンション大事なの?そうですね。プラスアテンションしたのはそんなに古くないんじゃないかなと思っています。そうですね。そうですね。モデルの元になった論文は2018年くらいに出てるやつなんで、そんなに古くはないですね。これを使うとですね、モデルが重要視した部分を可視化することができて、ちょっと発表倍するかなと思ったのでこれを選びました。精度は捨てて倍選んだって感じですね。例としてはこんな感じ。これクラス分類の論文なんですけど、例えばどれがわかりやすいかな。フルート?フルートって判定するときにどこを注目したかっていうのをヒートマップで出してくれてるんですけど、ここに注目しましたよっていうのがあって、実際フルートっぽいところに注目して、フルートだよって選んでくれてるっていう風に、ブラックボックスじゃなくて、ちゃんと根拠、特徴、どこに置いたか、重要視したかっていうのを見れるってことで、今回これを使わせてもらいました。アクティベーションマップだっけ?アクティベーションマップって文字の最終レイヤーのところの濃淡みたいなのを出してこういう風にヒートマップに可視化するっていうのは古典的にありますよね。あれとこのアテンションっていうのは何か違うのかな。VGG、こんな感じで。VGG16だけだとここだの部分だけなんですけど、この出力の1個前と2個前を分岐させて、アテンション層を2つ作る感じなんですけど、その中でどこに注目すべきかを、こことここで別々で学習させて、最後、グローバルアビリティプーリングして、ここ3つ特徴ベクトルを作って、それを結合したものを全結合層に入力するっていうやり方らしいんですけど。ああ、OK。あれでも抜いてるんじゃなくてバイパスしてるんだね、実際にね。そうですね、こんな感じでVGG16の途中の出力はアテンションにしてます。2020年でしたっけ、Visual Transformerとはまた別物です。エンコードとかしてるわけじゃないので、単純なアテンション機構です。なのでこういうところから、ここの値、特徴マップをソフトマックス関数で0から1にして、ヒットマップにしてやると、してやって、原画像と畳み込んでやるとこんな感じで、どこに注目したかわかるって感じですね、仕組み的には。これを使いました。学習検証ですが、学習用画像はさっき3万って言ってましたけど、データオーグメンテーションで6万ちょっとまで増やしてます。26対4で交差検証しました。バッチサイズは5としました。これはなんでかというと、Googleコラボラトリで学習させたときのメモリ通行で、ちょっとバッチサイズが大きすぎると、学習、エラーを吐いて止まってしまったので、5まで落とすことになりました。100ぐらいでソース公開コードはやってたんですけど、ちょっと5でやりました。検証結果としては、ロスが0.031、エリアアンダーカーブが0.852までいきました。テスト用画像を判定させてみたら、精度は0.8716と出ました。これぐらいで妥協しましょうと。モデル完成となります。じゃあ、実際に自分のメラノマ疑惑を診断してみようと思いました。ということで、自分の腕の画像を10枚撮影しました。メラノマ疑惑を10枚撮影しました。1枚だとあまり統計的に信頼性に欠けるかなと思って、ちょっと光源、光源、部屋とか変えながら10枚撮って、学習画像にはぼやけてるようなやつもあったんで、あえてぼかし、ぼかしは入れてないんですけど、ぼけるような環境で撮ったりもやって、10枚撮影しました。次のスライドです。これ判定しました。そしたらですね、結果。学生の確率のグラフを今足します。こんな感じになりました。イメージ0から90枚で、結構高いんですね。怖いよ。で、ちょっと統計量を出してみたら、平均は0.4に42%ってやばくないって思ったんですけど、標準偏差も0.06でそんなにデカくないし、ブレてないし、中央値は0.43で出ました。高くないって感じでビビりましたね。でも、制度86とかいう結果が出てる時の計算だと、0.5で多分ブッて切るわけだから、これは量制ってことになるんだよね、この数値はね。そうですね、どこで切るかは切るかと思いますけど。はいはい。でも、際どいね。はい、テスト用画像とかで、悪性のものを入れたらこの辺まで行ったりしてたんで、0.7とか8とか、まあまあそんなもんなんかなって感じがしました。考察、難しかったですね。考察するのが何とも言えない結果だったんで。ピンボケしてるとちょっと高いような気がしましたね。このボケてるやつが0.51。これも次に高いのはこれか。でもこれボケてないなと思ったし、これに比べたらボケてるしなと思って。これちょっとボケたやつは0.47、3番目に高い。次に高いのはこれ。ボケてるっちゃボケてる。何とも言えないなという結果になりましたね。逆に低いやつははっきりしてる感じがします。0.33、次はこれか、0.36。これもくっきりしてますね。これはちょっと軌道、低め。ボケてはない。3級のやつもボケてはない。ピンボケはちょっと関係あるのかなといった感じがしました。次にこのVAELとか言ってたヒートマップのやつなんですけど、上の段は入力画像で最初の5枚を表してます。次のスライドで次の5枚を表しますけど。浅い方のアテンションレイヤーが2段目。もっと情報圧縮してプーリングした後に分岐させた出力とアテンション層でやったのがこの赤い方のアテンションレイヤー2になります。これを見るとなんだろうな。一応こういうふうにヒートマップは出てて、どこに注目したかとかはわかるようになってます。次の5枚はこんな感じ。さっきの5枚と変わらないかなと。考察2なんですけど、白くなってる箇所、この辺り。軌道が高い部分がポツポツとあるんですけど、そこに何か注目しているように見えました。例えばこれとか結構顕著で、縦に線入ってる部分とかに注目してる感がなきにしもあらずといったところで、これもそうですね、このちょっと白い部分に注目が行って、最後また注目するみたいなのが出てるかなと思います。これとかもなかなかよく見ないとわからないんですけど、これとか全体的に注目してる感じがします。白い箇所に特徴が出てるような気がしました。これはなんでかなと、大気色、黒がグローバルな色だと思うんですけど、そこと違うってことでどうしたの、注目したのかなみたいな浅い考察ですね。もう1個気になったのは、たまにこういうところに注目が行っている画像が4位くらい見受けられました。変なところに特徴が出てるなと、なんでかなと考えてたんですけど、ここの辺ちょっとよく見たら歪んでるかなと形が、ちょっと凹んでるようにも見えますね。この辺ですね。こういう凹みがあるような気がしました。これのせいで、この凹みっぽいところにヒートマップの赤い部分が現れてるんかなとか思ったんですけど、なんでここに出たのかちょっと難しいですね。あっているのかどうか今の考察はわからなくて、ただこんな風に説を立てましたね。ただ、あまりわからなかったですね。ということでまとめなんですけど、今回自分の体にメラノーマ疑惑があったので、ARを作って診断してみました。そうしたら悪性の確率42%、プラマイ0.06%という結果になってしまいました。まあまあ高いですと。AIの中を可視化してみたものの有益な情報は得られるといったところでしたね。感想なんですけど、まだまだ修行が足りないなといった感じですね。ちょっと前提もありました。急遽追加しましたけど、ふわっとした理解が多くて、まだまだ修行が足りなかった。そうですね。もうちょっとヒートマップを出すところとかに、一応論文は読んでみたんですけど、その辺の理解が深かったら、もうちょっとあのヒートマップから有益な情報とか得られたり、有益な考察ができたりということができたんじゃないかなと思ったんですけど、まだまだちょっと修行が足りないなと思いましたね。というか修行の前に病院に行った方がいいですね。そうだね。パラでした方がいいよね。はい、結論、病院に行ってきます。以上になります。こんな短いのでよかったですかね。いやいや、ありがとうございました。まだ行ってないの?行ってないですね。ダーモスコピー検査っていうのをするらしいんですけど、皮膚科だと。それができる病院がまだ見つかってない。一軒ちょっと電話かけたんですけど、うちではやってませんって言われて、次の病院を今探すことをしているところですね。大きなところとかでもやってないの?これ特殊なの?いや、まだ一軒しか電話かけてなかったけど、大きいところだとやってると思います。これってカグルのコンペのリンクってあります?シェアしてもらえる?わかる?今パスと。わかりますね。ちょっと待ってください。ホンダさんが病院行ってないって突っ込んでるよ。ホンダさん隠れたところからなんか。そう、YouTubeで。URLありました。これは?暖気を優先して。これです。これエフィシェントネットのコードでした。間違えました。でもこのコンペ。このコンペ、S-I-I-M。ここに参考にしたやつ、コードも持ってますね。電証のやつ。今2番目に送った方ですね。コンペは。これちなみに優勝者の正解率は何%とか、コンペを見に行けばいいんじゃない?何%でもいい。0.949とかですね。OK。それって共有されてるよね、きっとどっかにね。コード側ですか?コートブックは共有されてないの?いや、僕心配だからさ、ちゃんもりさんのモデルじゃなくて、この優勝者のモデルで自分の画像を検証して、きちんと確認した方がいいんじゃないかと思ってさ。本当ですね。コードは出てるかな。ちょっとすぐには。OK。ちゃんもりさんの今のVGGのモデルは、検証精度が80何%?ちなみに、Kaggleのコンペのサイトにサブミットしてみた?サブミットしましたね。何位とかになった?いい感じになった?それとも。最近コミットしようとしたら、電話番号の。そうそう、スマホの番号とか多分アカウントのセキュリティが固くなって登録しなきゃいけないね。あれが通らなくて、知り合いに代わりにやってもらったんですけど、順位までは送られていかなかったんで、精度だけ教えてねって。その精度が80何%ってことね。80何%ってどこら辺にいるんだ?90何%。もう94%だね、みんな。今順位を見れば大体分かるってことですか?そうそう。今見てるけど。これしか音がかかってない。
...more
View all episodesView all episodes
Download on the App Store

ZENKEI AI ポッドキャストBy 市來健吾