で発表した内容のフォローアップです。
5分厳守なガチLTは久しぶりだったので、タイムキープには特に注意しました。1分余らせるつもりがちょうど良い感じでしたが、ちょっとテンパってしまいましたね。
LT大会自体も、多種多様なネタを聞くことができてとっても参考になりましたね。 最近は特定のテクノロジー向けの勉強会・イベントしか参加してなかったので思わぬ発見ができてよかったです。
当日の録画が
にあるので、年末年始のテレビがつまらないと思う人はどうぞ。たぶんそれよりもずっと面白いです。
さて自分の発表は、
だったわけですが、かいつまんで言うと、
というものです。普段ウケを狙う事はないのですが、笑っていただけたので良かったです。
約2000枚の画像にタグ付けをしたわけですが、「ハムスターはほとんど寝ている」ので、必然的に「寝ている画像」の方が多くなります。
それをそのまま Custom Vision にぶっこんだら、Train の結果で Warning が出ました。 内容は「タグ毎のデータ量に偏りがあるから是正したほうが良いよ(意訳)」というものでした。
その後機械学習のデータ準備について少し学んだら同じ情報が得られたので、Custom Vision は、その辺りのアドバイスもしてくれるのだなあ、親切!と感じました。
スライドにもあるように、タグ付けしたデータの一部を「検証用データ」としてとっておいて、学習後の Custom Vision に与えて Validation しようと思っていたのですが、 Performance というタブになんだか評価結果が出ているようでした。
各タグについて Precision と Recall のパーセンテージが出ており、それぞれ
であると、こちらも学習して理解しました。 そして、Custom Vision がこの数値を出しているということは、Custom Vision の中で検証のプロセスも行っていると判断しました。
無償の Free 版では、以下の 制約 があります。
複数のデータセットを用意して、同時に評価したい場合は 2 project だと足りません。 その場合は Azure の有償サブスクリプションに紐づけて利用することになります。
今回は Standard(S0) という有償プランを使いましたが、数日利用していて現在までの利用料は「247円」でした。 アップロード、学習、判定の各トランザクションで課金され、額は $1 per 1,000 transactions とのことなので、判定APIが大量に利用されるようなサービスでは要注意になるのでしょう。
今回は、配信PCのスクリーンショットを教師データとして使用しました。これはアプリウィンドウのフレームやカメラ映像以外の部分も含まれたものですが、加工が面倒だったのでこのまま使用しました。 その状態でも Precision:94%, Recall:69% というのは実用に耐えられる数値ではないかと思います。
ポイントとなる箇所のみに画像をトリミングしたところ、100% に近い数値になったので、「簡単な加工をするだけでかなりの精度向上が見込める」ことも分かりました。
趣味やお仕事で使うことも増えそうな、よいサービスだなと改めて思いました。