この記事はABEJA Platform Advent Calendar 2018 の22日目です。
昨日は@TatsuyaShirakawaさんの「Deep Learnningのモデルの作成・学習時の実験管理を楽にするツールたち」でした。
こんにちは、2z(Twitter: @2zn01 )です。
普段は会社員でWeb系の開発エンジニアとして働き、週末に趣味で個人開発をしています。
今回、株式会社ABEJAさんのABEJA Platformを初めて触らせて頂きました。
私自身、今年の7月に簡単にディープラーニングの画像分類を試せる「AIメーカー」というサービスをリリースしたので、かなり恐れ多いですが、使ってみて最後に比較をしてみたいと思います。
ABEJA Platformとは
ABEJA Platformは、AIの継続的インテグレーションに必要となる、データの取得・蓄積・アノテーション(教師データ作成)・学習・デプロイ・推論、再学習の パイプラインを一貫して実装可能なプラットフォームです。
AIメーカーとは
誰でも手軽に機械学習を始められるWebプラットフォーム。学習データを準備するだけ。サーバも、面倒な環境構築も必要ありません。
今話題のAIをweb上で誰でも気軽に作れる「AIメーカー」を開発しました!
— 2z / AIメーカー開発 (@2zn01) July 19, 2018
①AIに覚えさせたいタグを入力
②タグから自動で画像データを収集
③AIがデータから学習
の3ステップで誰でも簡単にAIを作れます!
動画では手相占いのAIに挑戦!
みんなもAIを作って遊んでみてね!https://t.co/66DFU7GRZ2 pic.twitter.com/ie1LmioyA1
AIメーカーの仕組みについては、以下のQiitaの記事にもまとめております。
やってみること
画像分類のタスクを試してみたいと思います。 画像をアップロードすると、それが何の画像なのかを推論してくれるものです。
ABEJA Platformは初めて触るので、まずは簡単にテンプレートとして用意されている「Resnet50」を使ってみます。 これは imagenetのデータで事前学習されたモデルのようです。
モデルの作成
ABEJA Platformへログイン後、左メニューからモデルを選択してモデル一覧画面へ遷移し、「モデル作成」ボタンをクリックします。
モデル作成画面が表示されますので、必要事項を入力の上、「モデル作成」ボタンをクリックします。
モデルの作成進捗が表示されます。
数分でモデルの作成が完了しました。
こんな簡単にモデルの作成ができちゃいました。
デプロイメント
次に作成したモデルをAPIとして利用するためにデプロイを行います。
先ほどのモデル作成時に「作成後にデプロイ」にチェックをつけて作成したため、既にデプロイメント一覧に該当モデルが表示されています。
該当モデルをAPIとして利用できるようにHTTPサービスを作成するため、デプロイメント詳細画面へ遷移します。
「HTTPサービス作成」ボタンをクリックすると、HTTPサービス作成画面が表示されます。
インスタンスタイプなどを選択し、「HTTPサービス作成」ボタンをクリックして作成します。
少しすると、HTTPサービスが「使用可能」ステータスになりました。
推論
デプロイが完了したので、実際に推論を試してみます。
先のデプロイメント詳細より該当HTTPサービスの「確認」ボタンをクリックします。
推論を試すデータをサンプル画像から選択する他に以下の方法で指定できるようです。
- アップロード
- JSON
- URL
今回はサンプル画像から適当に選んで、「送信」ボタンをクリックして推論してみます。
結果は...
ジグソーパズルと判定しているようです。
他にもコーヒーの画像を試してみます。
お、きちんと判定しているようですね!
今回はとりあえず試してみるということで、ブラウザから推論を試しましたが、もちろんAPIからも推論を利用できます。
まとめ
ABEJA Platformの最も簡単に利用できるところだけを試してみましたが、コードも書かずに本当に簡単に画像分類を利用することができました。
今回試したのは事前に用意されているテンプレートだけでしたが、自分でソースコードを用意して利用することもできます。
最後に(本当に初歩の初歩のごく一部しか触れていないですが、、)ABEJA Platformを使ってみて、自分が作ったAIメーカーと比べた所感をまとめてみたいと思います。
ABEJA Platform
→ 手軽に利用できるテンプレートもあり、独自モデルを作れる汎用性(カスタマイズ性)もある!
- (当たり前ですが)デザインがきれいでかっこいい
- 事前に用意されたテンプレートで手軽に画像分類モデルを作成することができる
- ソースコードを自分で用意することで独自のモデルを作ることができ、汎用性(カスタマイズ性)がとても高い
- アノテーションツールがあり、学習データのアノテーションを外部委託することもできるみたい (→ 外部委託とかは近いものがGoogleのCloud AutoMLにもありますね)
AIメーカー
→ 手軽に独自の画像分類モデルを作れるが、ABEJA Platformのような汎用性(カスタマイズ性)がない
- 独自のモデルをノンコードで作って手軽に試すことができる(が、ABEJA Platformのようなカスタマイズ性はない) → 今後の課題ですね
- 学習データはBing Image Search APIを使ってラベル名から自動収集できるので手軽 → 実際には自動収集した画像の精度があまり良くないので、結局ちゃんとしたデータは自分で集めないといけなかったりする
今回はABEJA Platformのごく一部しか触れていませんが、その仕組みの汎用性の高さをすごく感じました。 今後、色々と触っていけたらと思います!
良かったらぜひAIメーカーも遊びで使ってみてくださいー!
面白いと思って頂いた方は、Twitterもやってるので興味があったらぜひフォローください。
- Twitter: @2zn01
明日は@naoki0423さんです。 お楽しみに!