質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

2回答

862閲覧

教師なし学習を使って異常検知

a700700

総合スコア30

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

1グッド

1クリップ

投稿2017/10/14 01:44

編集2017/10/14 02:33

はじめまして。

工業製品で不良品(形が不揃い)の異常検知を
*機械学習
*教師なし学習(できれば深層学習)
*画像データから判別
の条件で処理する良い方法を教えてください。
言語はtensolflowです。

入力データが数値の場合(例えば株価の値が飛んでる)
の処理のイメージはわきますが、
画像データから異常検知する場合がわかりません。
(例えば、K-means 法は画像に適用できるのでしょうか?)

よろしくお願いします。

追記:
お返事ありがとうございます。

教師あり学習(CNN)の場合の精度は約95%ですが、
未知の不良品(形が不揃い)での精度が不明で
教師なし学習を希望されています。

困りました。。。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/14 03:01

> 教師なし学習を希望 教師なし学習を希望する理由は何なんでしょうね。
a700700

2017/10/14 07:23

不良品の画像をすべて準備するのは難しいからだと思いますが。
退会済みユーザー

退会済みユーザー

2017/10/14 08:56 編集

その通り、不良品の画像を全て準備するのは恐らく無理ですね(たかだか10px * 10 px * 8bit * 3chのイメージの場合でも、膨大な数:256^100*3?があり、うち良品が何通り、不良品が何通り、全く製品とは関係ない画像がどれだけなんだ、という話です)。だから今般MNISTなりIMAGENETなどでCNNが注目されていると思っていました。CNNでも「あり得る画像全て」を学習しなくても、無い部分は推し量って評価しますよね。これに対して、教師なし学習でも似たようなことができますが、単に「CNNでは95%以上の性能は見込めないと思われた」のか、「問題への切り口を変えてみるか!とされた」のか、「ぽっと出の興味で教師なし学習でどうだ?と言われた」なのか、もっと別の勝算があったのか、その辺を聞きたかっただけです。
a700700

2017/10/14 09:57

週明けに、先方に聞いてみます。
guest

回答2

0

ベストアンサー

教師なし学習はやったことがありませんが、何らかの方法で画像から特徴量を抽出、抽出した特徴量をクラスタリングとかそんな感じになるのでしょうか。

たぶん、a700700さんがやりたいのは異常検知の世界にようこそのスライドp.21のようなイメージですよね。例えば事故事件のない交差点が製品なら、車が事故を起こしたり、車が立ち往生したり、誰かが倒れているような交差点が不良品のようなイメージでしょうか。

この時、良品でとっていた特徴量と、検査するときに使う特徴量の距離を調べて、距離が離れすぎているときに「あー、これは普通じゃないわ」となるような感じの処理になると思います。

が、ノウハウなのか何なのか、こんなことができるよ、や、こんなイメージ、の例はあるのですが、実際のコードがなかなか見つかりません(先のスライドのp.26にオープンソースの云々とある部分は使えるかもしれませんね。)。しかも、このやり方は「製品だけを教師」にしたクラスタリングですので、教師なしではないですね。

私も気になりますし、今まで避けてきた部分なので引き続き調べますし、もし展開があればここに書きますね。


言語はtensolflowです。

しょうもないことかもしれませんが、Tensorflowはライブラリで、使える言語はC++/Pythonですね。

投稿2017/10/14 09:50

編集2017/10/14 09:57
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

a700700

2017/10/14 09:56

Tensorflowはライブラリでした。すみません。 書かれている通り、参考コードが見つかりません。 お返事ありがとうございます。
a700700

2017/10/14 10:04

Pyhon + Tensorflow です。
退会済みユーザー

退会済みユーザー

2017/10/14 10:15

近いことをやっている人を見つけました。 https://github.com/amueller/scipy-2017-sklearn/blob/master/notebooks/22.Unsupervised_learning-anomaly_detection.ipynb > このやり方は「製品だけを教師」にしたクラスタリングですので、教師なしではないですね。 良いときのデータで学習して、異常を検出するのはSemi-supervised AD (Novelty Detection)半教師あり異常検出(特異点検出)らしいですね。探すときのキーワードを「半教師あり学習」にするともっとそれっぽいソースが見つかりそうです。恐らく、教師なし学習でやるのに向いていないのだと思います。
a700700

2017/10/17 12:31

その辺りみたいです。 お返事ありがとうございます。
guest

0

画像を数値化してクラスタを分類することはおそらく可能とは思います。
しかし事前に正解とできる情報がないのであれば、画像間の差分から閾値を割り出していくことくらいしかできないように思います。
重み付けに期待はあまりできそうになくImageMagick等で差分を出すことと同程度な印象です。

機械学習は手法よりまずはいかにデータを用意できるかかとも思いますので、全部自動でなんとかなるとは考えられない方が良いのではないかと思います。

投稿2017/10/14 02:07

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問