StackMLとは?
ブラウザ上で機械学習が行えるサービスで、顔検出、画像分類、ポーズ検出などが行え、無料で利用することができます。
StackMLを使うには
- 利用登録を行う。
StackMLのサイトのGET STARTED FREE
をクリックしてアカウントを作成します。外部アカウントを使用してアカウントを作成することもできます。使用できる外部サービスのアカウントとして、TwitterとGoogleがあります。
アカウントが作成できたら
GET STARTED FREE
となっていた部分が、GO TO DASHBOARD
となります。
ダッシュボードに移動して、サービスを利用します。
ダッシュボードに移動
元からあるモデルを使用するSelect a model
と、自分で機械学習モデルを作成できるTraining
という項目があります。
画像分類を使ってみる
StackMLのダッシュボードにあるModelsのImage classification
を使用します。
INPUT SOURCE
のドロップダウンメニューからImage Upload
を選択し、Choose File
をクリックし、分類したい画像をアップロードします。アップロード後、予測ボタンのPredict
をクリックして予測することができます。
皇帝ペンギンの画像を分類にかけたところ、99.2%の確立でキングペンギンとなりました...。
機械学習を行ってみる
ダッシュボードのTRAINから、機械学習を行います。Model Name
には、学習させる画像の名前などを指定します。Model Type
には、学習させたいモデルを選択します。
MobileNet classifier
、numeric classification
、numeric regression
から選べますが、画像分類に使用するので、GoogleのMobileNetを使用します。
学習させたい画像をフォルダにまとめて、アップロードします。ここでは、エンペラーペンギンとキングペンギンの画像を学習させます。Penguinフォルダの中に、emperorとkingフォルダを作成し、その中に画像を入れます。
画像のアップロード後、Train
ボタンで機械学習を行えます。学習が完了した後は、ポップアップが表示され、ダウンロードとモデルのテストが可能です。
機械学習で作ったモデルを使用してみる
MODELS
のMY MODEL
に先ほど学習させたモデルが選択できるので、Image classification
で作成したモデルをテストします。
画像を選択してアップロードし、分類させます。
結果として、0の確立が72.9%となりました。学習させたフォルダの0番目、つまりアルファベット順ではエンペラーペンギンのフォルダということになります。つまり、エンペラーペンギンの確立が72.9%ということになります。
最後に
ブラウザ上で機械学習が手軽にできる良いサービスだと思いました。SONYのNeural Network Consoleのようにブラウザで機械学習ができるサービスはありますが、有料が多いので、無料で利用できるのは試しにやってみようと思えます。
StackMLはAPIが公開されているので、TensorFlowでコードを書くよりも低難易度で機械学習アプリを作ることができ、機械学習のハードルを下げる良いサービスだと思います。