タグ

ブックマーク / qiita.com/shinmura0 (19)

  • 【まとめ】ディープラーニングによる環境音の認識 - Qiita

    とあるきっかけで、環境音の認識(歩く音や雨の音、掃除機の音など)について、 論文を調べたので、メモとして残しておきます。 せっかくなので、精度向上の歴史を振り返る形式で、書いていきます。 データセット 精度の基準となるデータセットをご紹介します。画像の認識では、ImageNetという圧倒的な データセットがあり、性能評価で用いられます。 一方、音の認識はImageNetほど巨大ではありませんが、ESC-50というデータセットが あります。今回の基準となるESC-50の概要は以下のとおりです。 犬の鳴き声やドアのノック音など50種類、2000個の音源を収録 音源の長さは5秒間 精度評価をするときは、学習用とテスト用に分けて(5-foldなど)それぞれ評価 音の前処理 画像の前処理は、通常255で割れば良く、非常に簡単です。 一方、音の前処理は通常logmelを用います。logmelで処理する

    【まとめ】ディープラーニングによる環境音の認識 - Qiita
  • 【異常検知】学習ゼロの衝撃!を可視化する - Qiita

    以前に以下のツイートをしました。 この論文の凄さは、「DNNは学習していない」ということ。学習済モデルを全面的に信用している。それでAUC95.80%は驚愕。 凄まじく早い(学習)ので、エッジなんかで威力を発揮しそう。 (続く) https://t.co/1u6BUQsJnt — shinmura0 @ 2/27参加者募集中 (@shinmura0) September 14, 2020 個人的に、この論文は画像分野において異常検知の決定版と認識しています。 ただ、弱点を挙げるとすれば「可視化手法がない」ということです。 稿では、この手法で異常検知しつつ、異常部分を可視化する方法を模索します。 ※コードはこちら 先に結論 稿のターゲットは、「高精度に異常検知しつつ(detection)」、「低速+ある程度の 可視化(segmentation)」です。稿の内容が適合していない場合、お好

    【異常検知】学習ゼロの衝撃!を可視化する - Qiita
  • 【Kaggle】鳥コンペ一人反省会 -異常検知編- - Qiita

    先日、9月に終了した鳥コンペについて、反省会を開催させていただきました。 (発表資料は俺人さんのブログにきれいにまとめられています。) 私自身は、チームメイトの@daisukelabのおかげで銀メダルを取りましたが、 全く戦力外で、単なる傍観者にすぎませんでした。(お恥ずかしい) そのため、反省会でも発表する内容がありませんでした。 稿ではコンペ終了後にlate subして、一矢報いたので内容をご報告します。 今回は異常検知にフォーカスした内容になっております。 鳥コンペとは ルールはこちらに書きました。ざっくりいうと 音データから、264種類の鳥の鳴き声を推測する問題 各鳥の音源は9~100個用意されている ただし、264種類以外の鳥、もしくは関係のない音の場合、"nocall"ラベルを付与する nocallは、学習データには含まれないのにも関わらず、テスト時にはラベル付けをしないと

    【Kaggle】鳥コンペ一人反省会 -異常検知編- - Qiita
  • AutoML vs 俺 -真剣二番勝負- - Qiita

    ※こちらは塩尻MLもくもく会 #13の発表資料です。 タイトルは大げさに書いております。 先日、機械学習プロセスの自動化を行う「AutoML」の紹介記事が公開されました。 https://qiita.com/Hironsan/items/30fe09c85da8a28ebd63 そこで、稿ではAutoMLと私を対決をさせてみました。 AutoMLとは イメージでいうと、ターミネーターのイメージネットみたいな凄いヤツです。 機械学習で面倒くさい作業(モデル選択、ハイパーパラメータのチューニング、特徴エンジニアリングなど)を自動でやってくれます。 詳細は冒頭に紹介した記事をご覧ください。 俺とは 私のことです。 Kaggleにも参加したことがない未熟者です。 一人ぼっちだと心細いので、今回はベイズ最適化という武器を使います。 ルール AutoML陣営 モデル選択とハイパーパラメータのチューニ

    AutoML vs 俺 -真剣二番勝負- - Qiita
  • 【精度対決】MobileNet V3 vs V2 - Qiita

    皆さん、エッジAIを使っていますか? エッジAIといえば、MobileNet V2ですよね。 先日、後継機となるMobileNet V3が論文発表されました。 世界中のエンジニアが、MobileNet V3のベンチマークを既に行っていますが、 自分でもベンチマークをしたくなりました。 稿では、MobileNet V3のベンチマークをKerasで行いたいと思います。 (図は論文より引用) コード全体はGithubで公開しています。 設定 コードはこちらから拝借しています。 重みは初期化された状態で学習します。 V3にはsmallとlargeがありますが、ラズパイのCPUで動かすことを想定してsmallを採用しました。 $\alpha$の値によって、モデルサイズが変動します。$\alpha$は大きいほど精度が出ますが、速度は遅くなります。 MobileNet V2 KerasにはV2が標準装

    【精度対決】MobileNet V3 vs V2 - Qiita
  • 【次元の呪い】センサの個数→∞にしたら、異常検知できるのか? - Qiita

    IOTが流行してから、機械を予知保全すべく、センサをどんどん増やす取り組みが 行われています。 噂では、1台の機械にセンサ100個を付ける事例も出てきたようです。 そこで疑問に思うのは、センサの個数を増やすことは正義なのか? 言い換えると、余分なセンサを増やしても異常検知性能に影響がないのか?と いうことです。 稿では、次元の呪いに焦点を当て、「余分なセンサの個数を増やした場合、異常検知 性能がどうなるのか」を検証します。 ※コード全体はこちらに置きました。 ※こちらはPythonデータ分析勉強会#17の発表資料です。 結論から 余分なセンサ情報があると、異常検知性能が下がる可能性がある それを避けるには、余分なセンサを削減するなどの工夫が必要 想定するシーン 異常検知で有効なセンサは2つだけ 余分なセンサも付いておりほぼゼロ信号を出しているが、ノイズが含まれる(重要) 余分なセンサを増

    【次元の呪い】センサの個数→∞にしたら、異常検知できるのか? - Qiita
  • 【異常検知】異常原因を特定する - Qiita

    異常検知は、正常データだけで学習できる製造業で人気のある手法です。 そして、異常検知で異常を検出したとして、「異常原因を特定したい」という 要望もよく聞かれます。 そこで、稿では、複数のセンサが付いた異常検知システムにおいて、 異常が発生した場合に、どのセンサが異常値を示しているのかを特定する 方法を検討します。 ※コード全体はこちらに置きました。 ※こちらはPythonデータ分析勉強会#17の発表資料です。 きっかけ 以前に、こんな内容をツイートしたところ、皆さん興味をお持ちのようでした。 昨日、JFEスチールの製造ラインで異常検知する話しを聞いた。 ・数十個にわたるセンサで常時監視 ・異常検知の制約は、異常のみならず異常原因も特定する ・センサは相関が強いものだけを取り出し、主成分分析だけで異常検知 ・これによりコストと納期を大幅に削減 ー続くー — shinmura0 @ 3/14

    【異常検知】異常原因を特定する - Qiita
  • 畳込みニューラルネットワークの基本技術を比較する ーResnetを題材にー - Qiita

    今更ながら、畳込みニューラルネット(CNN)の基技術を比較します。 やりたいことは、どの技術が一番効果があるのか数値化します。 以下の流れでやっていきます。 (基CNN) → (Resnetの各技術を追加していく) → (+最先端技術) 基CNNに、Resnetに出てくる技術を追加しながら、分類精度の上昇幅を比較します。 コードはkerasで書いています。 Resnetとは 2015年に登場したモデルで、層を飛ばす仕組みを作ることで、深い層を作っても 学習可能なモデルとなりました。ディープラーニング業界では、斬新なアイデアで 革命を起こしました。 詳しくは以下の記事をご覧下さい。 https://qiita.com/koshian2/items/343a55d59d8fdc112661 データのダウンロード 使うデータはCIFAR-10です。これは、32×32サイズの画像が入った

    畳込みニューラルネットワークの基本技術を比較する ーResnetを題材にー - Qiita
  • 畳込みニューラルネットワークの基本技術を比較する ー音でもやってみたー - Qiita

    前回の投稿では、多くの皆様から「いいね」を頂きました。 この場を借りて御礼申し上げます。 前回は画像ファイルでしたが、音ファイルでもやってみたいと思います。 やりたいことは、音ファイルでどの技術が一番効果があるのか数値化します。 以下の流れでやっていきます。 (基CNN) → (3つの技術を追加していく) 基CNNに、3つの技術を追加しながら、分類精度の上昇幅を比較します。 コードはkerasで書いています。 画像ファイルと同じ結果になるのか? 乞うご期待! データのダウンロード 使うデータはESC-50です。 これは、人の音声や自然界の音を集めたデータで、50個のラベルが付与されています。 データの前処理 音の生データは波になっています。 import librosa import pandas as pd import os # define directories base_

    畳込みニューラルネットワークの基本技術を比較する ー音でもやってみたー - Qiita
  • ディープラーニングで競馬予想 - Qiita

    データの形式は以下のとおりです。 1行目にはその日のレース情報が入っています。ただし、「馬場」以降の列は0で埋めています。 2行目以降は各馬番の実績が入っています。上から1レース前、2レース前、3レース前と なっています。そして、全部の行数は18頭分×3+「その日のレース情報」となっており、 全部で55行になっています。 列数は年月日を除くと11列あります。 まとめると、一レースにつき$55\times11$のデータ形式となっています。 各列の情報は以下のとおりです。 年月日 CNNに投げるときに消しています。 ダート ダートであれば「1」、芝であれば「0」です。 馬場 良であれば「0」、それ以外なら「1」です。 タイム 秒単位に変換しています。 欠損値の扱い 実績がないレースは「各列」の平均値で埋めています。 また、18頭に満たないレースも18頭になるように平均値で埋めています。 データ

    ディープラーニングで競馬予想 - Qiita
  • 【異常検知】深層距離学習の最新手法を使ってみる - Qiita

    以前に、深層距離学習を使い「画像の異常検知」を行いました。 その後、深層距離学習の最新手法「AdaCos」が登場しました。 稿では、AdaCosを「異常検知」に適用し簡単なベンチマークを行いたいと思います。 コード全体はこちら ※こちらはPythonデータ分析勉強会#15の発表資料です。 結論から AdaCosを異常検知に適用することで、以下が分かりました。 精度はArcFaceと同等 パラメータのチューニングが不要になるのがありがたい AdaCos AdaCosは深層距離学習の最新手法といいながら、2020年1月現在、論文掲載後、半年以上も 経っています。しかし、私が知る範囲では「純粋な深層距離学習」の枠では、未だに SOTAだと思われます。 AdaCosとは、ArcFaceなどを主体にした手法であり、ArcFaceなどで用いられるパラメータを 自動的に決める手法です。ArcFaceは

    【異常検知】深層距離学習の最新手法を使ってみる - Qiita
  • 【コード検証中】【精度対決】リアルな画像で異常検知 - Qiita

    SSIMオートエンコーダ(論文より引用) SSIMを適用する窓のサイズは11 x 11 オートエンコーダの入力画像サイズは256 x 256 潜在変数は100 学習データはDataAugmentationにより10,000個に増幅 metric learning 学習データは上記4種類のデータ全てを渡しました。つまり、968個のデータです。 入力画像サイズは224 x 224 今回使うmetric learningはL2 SoftmaxLoss epochは50、最適化手法はSGD バッチサイズは128 ベースモデルはMobileNet V2($\alpha=0.5$)(学習済モデルを使用、つまり転移学習) 異常スコアはLOFで算出 10回試行して、それぞれの試行で再現率と特異度の和が高いものを採用 アンサンブル異常検知 metric learningについて、更なる高精度を目指してアンサ

    【コード検証中】【精度対決】リアルな画像で異常検知 - Qiita
  • さぁ、始まる、本気の異音検知器 - Qiita

    ただし、リファレンスデータは元データ1920個に対し、Data Augmentationで 2倍に増やしています。音データのData Augmentationについては、以下の記事を 参考にしてください。 https://qiita.com/cvusk/items/61cdbce80785eaf28349#augmentation テストデータはかなり不均衡ですが、最後にROC曲線で評価するため、不均衡は緩和されます。 データの前処理 今回もDOCにデータを投げますが、その前に、音の生データを周波数データに 変換する必要があります。 選択肢として、スペクトログラムとメルスペクトログラムの二つがあり、今回は スペクトログラムを採用しました。 その理由はこちらの記事で良い結果が出たからです。 学習済モデルの準備 DOCでは、畳み込みニューラルネットワーク(CNN)の学習済モデルを用意しなければ

    さぁ、始まる、本気の異音検知器 - Qiita
  • ディープラーニングを使った画像の異常検知 -論文と実装- - Qiita

    ※こちらはPythonデータ分析勉強会#04の発表資料です。 ディープラーニングを使った画像の異常検知は、GANを使った手法やAutoEncoderを使った手法など多くあります。以前に、Variational Autoencoderを使った画像の異常検知という記事も書きました。 今回紹介する手法は、通常の畳み込みニューラルネットワーク(CNN)を使って、損失関数を工夫することにより、異常検知する手法です。 「Learning Deep Features for One-Class Classification」(以下、DOC) https://arxiv.org/abs/1801.05365 結果からいうと、手法は異常検知精度が良くて、異常個所の可視化も可能であることが分かりました。 概要 この論文は、発表当時にstate-of-the-artを達成したとのことです。 早速実装したいとこ

    ディープラーニングを使った画像の異常検知 -論文と実装- - Qiita
  • 「弱異常検知」と他の異常検知、違いはなにか? - Qiita

    ディープラーニングを使った「画像の異常検知」が流行りつつあります。 通常の異常検知は正常画像のみで学習させます(例えばこちら)。 今回は、運よく少量の異常画像を手に入れたとして、異常画像と正常画像を 組み合わせて異常検知性能を上げる方法を考えてみます。 ※こちらはPythonデータ分析勉強会#08の発表資料です。 結論から 結論からいうと、少量の異常画像とmetric learningを使えば、異常検知性能を上げることが可能です。 精度でいうと、10%弱向上するかもしれません。 AUC ※稿では、「正常画像」と「少量の異常画像」を組み合わせて異常検知する手法を 弱異常検知と呼んでいます。論文のサーベイは全くしておらず、もし、他の呼び方が あれば、教えていただけるとありがたいです。 想定するシーン 製造ラインの画像による異常検知を想定します。 以下のように、データが手元にあったとします。

    「弱異常検知」と他の異常検知、違いはなにか? - Qiita
  • 【まとめ】ディープラーニングを使った異常検知 - Qiita

    ディープラーニングを使った異常検知が進歩していますが、最新情報を追うのが大変です。 ここでは、最新情報をまとめておきます(随時更新)。 稿では、以下の内容を記します。 ディープラーニングを使った異常検知について、簡単に歴史をまとめます。 最新の手法(2019年当時)について、ベンチマークを行います。 歴史 完全に独断と偏見で作った歴史です。 全ての論文は読めていないので、ご了承ください。 【~2017年】オートエンコーダによる異常検知 オートエンコーダによる異常検知 2、3年前はオートエンコーダによる異常検知が主流でした。オートエンコーダでは、元画像と再構築画像との差をとって、その和が大きいとき異常と認識させています。Qiitaの記事でも、オートエンコーダによる異常検知はたくさんありますので、気になる人は探してみてください。 Variational AutoEocoder(VAE)による

    【まとめ】ディープラーニングを使った異常検知 - Qiita
  • がんばる人のための画像検査機 - Qiita

    ※こちらはPythonデータ分析勉強会#05の発表資料です。 タイトルはこちらを使わせていただきました。 私が考えるよりナイスなタイトルを付けてくれました。感謝! 稿は、前回の続きとなっております。 $ 正常品(スコア1.4) \rightarrow 異常品(スコア2以上)$ ※なお、稿に掲載している内容は商用・私用に問わず自由に使っていただいて 結構です。商品化やGithubへの掲載も可能です。ただし、稿の内容に起因する いかなる損害は一切負いかねますので、予めご了承ください。また、商品化の際は 稿の元になった論文のライセンスも確認していただくようお願いします。 特長 今回開発した画像検査機の特長は、以下のとおりです。 コストは1万円以下(従来品は100万円オーバーもある) 異常検知精度は最高峰(論文発表時点でstate-of-the-artです。詳しくは前回の記事をご覧ください

    がんばる人のための画像検査機 - Qiita
  • 【論文読み】新・オートエンコーダで異常検知 - Qiita

    以前の記事でオートエンコーダによる異常検知は古い!と書いてしまいましたが、 最近は進化しているようです。 今回ご紹介する論文は、損失関数を工夫することで通常のオートエンコーダよりも 異常検知能力を上げる手法です。 ※稿の図は論文(Improving Unsupervised Defect Segmentation by Applying Structural Similarity To Autoencoders)より引用しています。 論文の概要 通常のオートエンコーダによる異常検知は、微小な異常は捉えられない。 そこで、一枚の画像に対し小さな枠を用意して「輝度」、「コントラスト」、「構造情報」の類似度を計算して異常検知を行う。 手法を使うことで、通常のオートエンコーダやVAEの異常検知と比べて、AUCで大幅な向上が見られた。 異常部分の可視化についても、通常のオートエンコーダよりも優れ

    【論文読み】新・オートエンコーダで異常検知 - Qiita
  • Variational Autoencoderを使った画像の異常検知 前編 - Qiita

    残ったM_VAEで評価すると、図中の青い線と赤い線は、同じ土俵で比較することが できます。つまり、同じ閾値で異常判定ができるということです。 コードの解説 コードは以下をベースにしています。 https://github.com/keras-team/keras/blob/master/examples/variational_autoencoder_deconv.py 以下、稿のコードの一部を解説します。(全コードは一番下に示してあります。) 画像の切り出し 基の画像から、一部を切り取って学習データを作っています。 稿では、28×28サイズから8×8サイズを切り取り、10万枚を 学習データとして用意しました。 #8×8のサイズに切り出す def cut_img(x, number, height=8, width=8): print("cutting images ...") x_o

    Variational Autoencoderを使った画像の異常検知 前編 - Qiita
  • 1