de:code 2018 [AI16] 機械学習に基づく音響解析や画像認識による産業応用

[de:code 2018](https://www.microsoft.com/ja-jp/events/decode/2018/)に参加してきましたのでその結果をまとめています。

内容の間違い、誤字脱字等はご了承ください。正確なところは、本家のサイトを参照いただければと思います。

# タイトル等
## タイトル
de:code 2018 [AI16] 機械学習に基づく音響解析や画像認識による産業応用
## 演者
坂無 英徳さん　国立研究開発法人 産業技術総合研究所
## 日時
2018/05/22 15:40-16:30

# 概要、感じたこと

異常は定義できないものである、という考え方・アプローチが非常に参考になりました。

機械学習に関するアプローチとして、異常なことを見つけようとした時に、どうしてもダメなパターン、おかしなパターンを定義しがちである。

しかし、正常系・適切な状態を定義し学習させた方が、アプローチとしてわかりやすいし、何より未来は予想できないものであり、起こるかどうかわからない異常な状態に対する対応がやりやすくなる。

これは、機械学習を使ったプロジェクトを構築していく上で、非常に参考になると感じました。

また、エンジニアは現場に通って連携したほうが良い、という知見も参考になりました。

通常のシステム開発でもそうですが、熟練者の判断を落とし込む機械学習では、現場との連携・理解の共有を行い、機械学習ができること・できないことを互いに理解することが大事だと思います。

# 異常検知の方法

![正常異常](https://biwj9w.bl.files.1drv.com/y4mbjNYOPfuo5WWO_Bg-SGEyGUWvica5FXMLosEalqsZder8zPPv6VVmKF1k2E7myuHXfHuYfZ1-TgfvzJalEN_zAzwHKyrLRgRAGyC8lgAMOVtXmODyoA8xwk5_I9hJS22xx2CV6O-P4Iw-VBErBGdAbCdaAwQ9ZPuTKXMhN8xhlwF1y7PlmFQaibADfmoU0eW8cTImQFQYvFnnEbjeKDEHQ?width=2538&height=1428&cropmode=none)

## 異常は定義できない

異常を学習させていくパターンだと、学習させていくパターンが多くなるし、未知の異常は発見困難である。また、異常のパターンであると、そのパターンの材料を集めていくのも困難である。

そこで、新しいアプローチとして正常を学習するという方法を行っている。正常を学習させ、そこから逸脱が大きくなった時に、異常として捉える考え方。

正常系を学習させるのであれば、サンプルとなるデータも集めやすく、学習もやりやすくなる。


## 監視カメラからの異常の検出

例として、監視カメラの例をあげる

事前に通常を学習させておき、通常ではないシーンを異常として検出する。

例えば、次の状態を正常として学習させておく。

![正常です](https://bcwj9w.bl.files.1drv.com/y4mUvgQuSrfWAxHL31G_FL5ONxnepDZlNo8P5Mb4kfbbe45sQaqBFRigkNzlRvfnoJNM5_PAlCqdHhVx9Ydu-J1zSPL64X6Ng3WwOcnCSS-wsgiwYiq_ugxh90t3VWCULtXTXyJpLpnO4B_cQHdkkvYhpgQGvV1ywpWxG7l9E_Pmcv03tXNta8mLo_B4xV6YaZs_iQMK5k_tZ5F3E0bwSxQgQ?width=2588&height=1456&cropmode=none)

ここから外れたところを異常としてとらえれば、

* 事故が発生した時
* 人が喧嘩している時

を異常として捉えることも可能である。

ただし、静かになったら正常としてとらえてしまう、というところはあるが

# 適用分野

![分野](https://aswj9w.bl.files.1drv.com/y4mzDjgl-G319Yn90cfQ2-ijwe9IbSAl9149m2icpiJohP_VLbmvQdbPjgW2SxoYAf8wCokr3KvBDnavB9tzP5iF89avoMsVZVIacgGxUG7sHkf-xEVb4coLJB-7OYGBei8oJGwkKzVEtCxTZ9Bzg0HnMTqzq7kVz84dpcbtlGM294lGK7P9s-5L9c4NHEF4xpWwbsfaiEhL6Sx5kcm31mMtg?width=2501&height=1407&cropmode=none)

ヘルスケア（病理診断）分野や、社会インフラ維持（故障予知など）での運用を行っている。

## 医療診断支援

![医師診断](https://ayupba.bl.files.1drv.com/y4mic-sS5t9FWcRpyAIa2H23U2U3n1n5VvYNjVQHOa-_o_46MXMnppFYlAaFNo1Nfa5m5q2kQbeAUk8-N2Pv7TOy_imn5Uelrse-8Q-EIra-mkw3IwpGCVO6fi04PHSRrALLS43RBLrXoz-dHjbw8FIxWGRQqRrxEV61wcUE5lYTw5nqYKGzhJd2uYaVp6uAcH6g8yfGztjVVSz2Yb924fQjQ?width=2464&height=1386&cropmode=none)

![医師診断](https://aiupba.bl.files.1drv.com/y4mt8CuumrHIskivSp1GjGPIcQ_UjUvyyF9DTd1UgqRS0u6G-Txf3SfE2vkkcsXduWPdJMIUOwOCw5SbbW78_-9b-HXQVTpWquDdujQu1I184cMwcDtzsU0wLZgrVA_QyZVK_MvQ-wtgLm51la6-28SUp1nqsr79-m5DFQBwBqtn0S5niX2sYK1sRBUR5LI91NW0hHGEJi-JEFRT7jjTqAVpA?width=2522&height=1419&cropmode=none)

医師診断支援システムとして、２次読影、1次読影、同時読影、トリアージ型などで、見落としの防止など、コンピュータの判断結果を第2の意見として利用することで、医師の負荷軽減と業務効率向上を目的としている。

# ガンの診断

![ガン](https://9gsjmw.bl.files.1drv.com/y4mgx0IA48l9WqbjK03M2xWCig5R3w797r7CByBFSIp4CwKeTcGgDGxGFJEjvHwaUkU-nW7oyreIKSkbu1ei0RC8hrjBiq_tBcivYSNWKVA7j1cdpZn9EB1Le5VaTuAytP2nCf7HnzfPVkykEEwLRyywZSvZSteYr3y8YAK6PYezbp7sxg9xC9CGynS1k3g4jQm5SZQ0oB_cFk-q8sdhIms7A?width=2525&height=1420&cropmode=none)

がんの正常と異常を病理判定する判断がある。

正常系と異常系について、実際のお医者さんは細胞の顔つきが悪い、というのを判定基準にしているが、経験上わかるという判定となると判定できる人が足りなくなった時に、負担増などの問題が出てくる。

この問題を解決するために、機械学習でアプローチすることになる

## 一般的な処理手順

事前に問題となる状態を定義して、異常な状態と比較することで判定を行っていた。

この方法問題点として次の点が挙げられる。

* 異常な状態の数が増加による作業量のコスト
* そもそも、ガン細胞とは壊れてしまったものなので異常な状態を定めることが難しい

そこで、正常でないものを異常としよう！という考えに至った。

##高次局所自己相関特徴

![判定方法](https://byxecw.bl.files.1drv.com/y4md_PlJFoagNqWlp0W-TZIf7LkIVjzG-9nwZBauhPvjFjoK7I9B-f9gUb4W0xvRDcbsVyNGvqfmJatxlRg2G0dSu1P3XFyT9f2G3U7Zmvn3xCUz-RWtR8ofBUQOI8cawHu5Hk7YAX-1sGLqieMBIEzf7hHpPYujcwoqdhB0SmlDoQY18CesVZ3seuUHqMWiyqSxjRAQzWgYS4qXWJP9MJwOw?width=2457&height=1382&cropmode=none)

画像全体の幾何学的性質を瞬時に把握する方法として、高次局所自己相関特徴を使用している。

## アプローチ

![アプローチ](https://pasjmw.bl.files.1drv.com/y4m070Go_H1C0rNALRQR3sPX7KrmB8Hy5fzG8XAc2U1c6PPNiBVsIeWu9Ujhj_WA72LBVdqh9trIU0LhdRaIAUdXfiwLDdrLRIrLoXR595kI0g_os4lpTXfrRCcxOmuTW20t5BhvnEzer3vL02jDkvwq9ZvbPcLwTc7eazlYTDF6ikD7DfDcxDNJWtdAouXr-wX9iGiW4YgUGaT65-MXh_F2w?width=2505&height=1409&cropmode=none)

たくさんの正常を普通として学び、普通から外れたものを異常として判定するやり方を行なっている。

判定した結果としては、挫滅や切りくずなどもひっかかったが、異常な細胞について異常と判定できたので、判定結果としては使えるものだと考えている。


# 乳がん検診

![日本](https://bixecw.bl.files.1drv.com/y4mK7SMB4M16FQfg0AgwJs2a24bKcV8weHwLq1aDqjuoiiD-ob83FaJeSeoTuYwUv4TF67gx7nTIXuGdqsUXDTyunJFcj1wbrKDs9b5ZfZFjlMAW84SVvHB1Tn3z4PpKtFUwGZAg3ymPA4Dsfv2H1JGxcXDpEeO2hb2fJMaQOj0XRAcR0ZCz42cfTx3w22_LzlfL5t6jtPyRkCUscNyPyEXYQ?width=2522&height=1419&cropmode=none)

従来の方法であるマンモグラフィでは、日本人（乳腺密度が濃い）では、一番罹患率のピークとなる年代で判定が難しいという問題がある。

これを解決する方法として超音波検査が期待されているが、ベテランでも診断が難しいくらいなので、判断が困難である。

## 判定方法

前項のガンの診断と同じく、正常から外れたものを異常とする方法を行なっているが、これだけではまだ足りない。

つまり、超音波検査は動画になるので、ノイズ等が混ざり、これを過検出する可能性がある。そこで、連続した以上はノイズとみなす判断を行うことで、ノイズを除くことができた。

![ノイズ](https://qaukdw.bl.files.1drv.com/y4moLv0dEDiVOks-6owoLLIjDBIUATV8FpwpryGiZOmmQDEhZVyJPpFG2KDq8TUYdj9fzJXOptUBbX-qBTHn4qiAy3V_6njHu0_vC2glbUTBAGiL70T0dzlcaAm4qWJAQsCVdHKu8psFWM-upfbtiw7a8LkmhIGa8mOw2jr1Nq2HOPk7Avolf3l9onfoQpJhyfLwXT3UCjyuUYjGhU6EzyeNA?width=2608&height=1467&cropmode=none)

実際に、テストデータで判定してみたところ、医者で微妙な判定をするところについてもちゃんと怪しいものとして検出することができた

# 風力発電の故障予知

![風力発電](https://7gvtsq.bl.files.1drv.com/y4miB18ZV3l5TImiqAqv4zznvXwouUlg1XEHdU3OqdhnPz9oyDa8KW_pjXyTWrCnHAAq8XK9m6FB-dTIyiwmhgi1bM-bdcWefCphNTDaIvLcT2jvh7m_kCtmcZ0wbw951Jam2GFNCYbrAEfjOU75bqa-DUlkc4dzI1gjBzX1j0cgP7lkevhflPU2K9B_JZe71MAW6_UJPgoVWH-QsRFfJguyA?width=2546&height=1432&cropmode=none)

## 事前対応が大事

風力発電のメンテナンスについて、現状事後対応となっているが、最近増えると思われる洋上風力発電を考えると、事後対応ではかなりのコスト増となる。

そこで、いかに事前対応で故障予知と故障予防が行えるか、というのが大事になってくる。

**事後対応から予測対応へのパラダイムシフト**を行って行きたい。


## 未知の異常については教師なしアプローチ

![教師なし](https://9qvtsq.bl.files.1drv.com/y4mgSB5ncdNMIeDn52asg2AOOWI3KYo7PKuCQpHlnFtNvGfVAx7F2px7ra87Sz4FCpy-Huzfg4OGkkf8OCFkWfur9R2xM4nq3wblHc-cZ-ktnIkez3jrRNMp14T5WQ8ud8yueYPfGbCV18ZYdTpoRrmf7zhDvBJYLxeM0VL68OyjW_prKKEZ4QtwTIu95HBGdgt1S7b5drT6dspTzr7ji85wA?width=2538&height=1428&cropmode=none)

未知の異常に対応するには、教師なしアプローチが良い。

正常データのみを用いて学習・モデル化し、未知の以上に対応する。使用している教師なし異常検知手法としては、混合ガウス分布、自己組織化マップが使われている。


# 打音の音響解析

トンネルなどの壁面異常の判断と事前予防のために使用する。

打音により壁面の状態を判断することは行っているが、熟練者だけが判断できていた。これを決まった打突をする機械を作成し、音響解析することで助けになる。

![解析](https://9gtujg.bl.files.1drv.com/y4mnweQgZ2CKNDJo8W8DCY6jFZnamdrq3Hy-LFpN9_1D4r8LNG5cYvd8smEiy9ka1tGFxzW5Wm3KyQCljG4EEXgTKWsBuLCoxKqcngiFXo4LudErdF4_oqEzMqb846y76NZlWtl7D6pHTCJFROp3593dCY1xvOj5KCLpSBDld2ALn7Qq7vQKmiWG9X8iaphe2Pfyu-sSwkzDytQPL-UrhhWLQ?width=2535&height=1426&cropmode=none)

## エンジニアも現場に通うことが必要

熟練者の判断データというのは曲者で、複数の熟練者で割れるし、別の日は違う判断することがある。アノテーション（ラベル）の品質を上げるには、エンジニアも実際に現場に通うことが必要

# 最後に

![最後に](https://pqtujg.bl.files.1drv.com/y4mCDKjrSAe-17Gsh1FjQMlnVEmc36y9rMRBfMyRk3iCQBIkCyGAubXADKm8LtCHJrwPDQsKTaEp89FMCqyDbMcrAHJ-aXES2xE9fdYm-MY15VEepH2rhfNXHu7XoBOV8dyvfhquPlWsWS3D-vpiI2yMYLtLmcHNqIChZbOKYXWv3ZpbQQGUFEcTnNaksD-f5CU84cWtPA_pQ1BwytL-sSYDA?width=2654&height=1493&cropmode=none)

## データがあるだけでは不十分

データがあるだけでは不十分であり、異常検出技術の開発、と品質の高いアノテーション付きのデータを準備する必要がある。

## エンジニアも現場と連携する

人間は熟練者でも判断には個人差があり、同一人物でも体調などによりブレがある。アノテーションの精度や品質を向上させるためにも、エンジニアも現場に通って連携を行うことが不可欠である。

現場の着眼点や、AIの長所短所を互いに理解し合うことが必要である。

## AIは人知を超えるものではない

AIは人知を超えるものではなく、匠中の匠が100とするなら、安定して90ぐらいを出すことができるのがAIである。

これを理解してシステムを作ることができるなら、いいシステムになるのではないか。