はじめに ディープラーニングを用いた異常検知手法であるALOCCをChainerで実装し,MNISTで実験しました。 全体のコードはGitHubのリポジトリにアップロードしました。 ALOCCについて ALOCCは画像データに対して異常検知を行うための手法です。 多くの場合,異常データは正常データに比べて極めて少ないか,全く無いです。 そこで,ALOCCでは正常データのみを利用して学習し,その分布から外れたデータを検出します。 学習 ALOCCのモデルは以下のようなオートエンコーダとGANを組み合わせたような構造をしています。 オートエンコーダ部分はGANのGeneratorに相当し,Reconstructor (${\cal R}$) と呼ばれます。 学習時には正常画像にノイズを加えたデータを入力し,元通りに復元することを学習します。 Discriminator (${\cal D}$)
![ディープラーニングによる異常検知手法ALOCCを実装した - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ef35a178771dfd8d6638ada266a7736245c4b707/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTg3JUUzJTgyJUEzJUUzJTgzJUJDJUUzJTgzJTk3JUUzJTgzJUE5JUUzJTgzJUJDJUUzJTgzJThCJUUzJTgzJUIzJUUzJTgyJUIwJUUzJTgxJUFCJUUzJTgyJTg4JUUzJTgyJThCJUU3JTk1JUIwJUU1JUI4JUI4JUU2JUE0JTlDJUU3JTlGJUE1JUU2JTg5JThCJUU2JUIzJTk1QUxPQ0MlRTMlODIlOTIlRTUlQUUlOUYlRTglQTMlODUlRTMlODElOTclRTMlODElOUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTRmZjQyMzY3Yzg4ODM3MDY5Y2M1NDFiNzdlZGU2ODhh%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBremthZGMmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTdhMDZmOWE0OTk4NjMxZjZjOWY3ODZlNDM1Njc4NGYy%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D01fec6acfa06f1f7aaa5b30bb127459e)