書籍『TinyML』 の要点メモ, その4

14章: Designing Your Own TinyML Applications

組込み機器以外で開発できることは、組込み機器以外(PC, Raspberry Piなど)で開発しよう、というお話。 TinyMLに限定されない、機械学習モデルを開発する際の考え方が書かれている。

  • 組込みシステムで開発するよりもLinuxのようなモダンOSが動くシステムでプログラミングする方が簡単で速い
  • 試験し易いデバイスを使ってプロトタイピングすることを推奨する
  • あなたの問題に似ている問題を扱っているものを参考にするのが有効である
  • arxiv.org のサーベイ論文から一般的なデータセットを探してみよう
  • あなたのセンサーデータの特徴をよく見て、同じようなチュートリアルを探してみよう。評価のベースラインにも使える。
  • モデル・アーキテクチャに対してすることよりも、データを集め、探索し、ラベル付けし、改善することに時間をかけよう
  • データをよく見よう
  • レーニングデータが不均衡な場合(クラスごとにデータ数が大きく異なる)は、推論後にキャリブレーション(事前知識に基づく重みづけ)が必要になるかもしれない
  • Wizard of Oz-ing。モックアップを作って、判断するソフトウェアを作る代わりに、少し引いてみてみよう。開発に時間を割く前に、仮定を検証してみよう