#こ、これは、、いったい何よ?
-
ひと振りするだけで、コインがザックザク出てくる 、というサービス(デモ版)を作ってみた、というお話です。
http://35.237.23.189/jcoin_generator.html - → まずは、[ Shake it ! ] ボタンを押してみてください。
(URLは変更または廃止することがあります) - 以前、コインをバラまいた画像から合計金額を推定するAI
という記事を投稿しましたが、それに用いた学習データ生成エンジンを切り出し、
サービス化したものです。
#そ、それで、、何をしたいのよ?
-
いまどきのAI(人工知能)といえば、機械学習とその応用を指すことが多いように思います。
-
機械学習は一般に、たっくさんのデータが必要となります。
-
機械学習の中ではポピュラーな「教師あり学習」については、個々の学習用データに「教師データ」(=正解ラベル)を付与する必要があります。
-
ところが、これ(教師データを付与すること=ラべリンク)は、死ぬほど手間がかかります。
-
きょうびの機械学習では、何千個、何万個、・・のラべリングが必要になることがありますが、これらは通常、人間が作業せざるを得ません。
-
そんなわけで、フリー?なデータがネット上で用意していただいていたりするわけですが、
http://www.cs.toronto.edu/~kriz/cifar.html
http://yann.lecun.com/exdb/mnist/ -
おっと! まとめてくれてる人がいました。。すばらしい!
https://www.codexa.net/ml-dataset-list/ -
しかし当然ながら、独自のデータを用意したいときは大変!
-
もっとも、ある程度のデータがたまれば、元データを機械的に加工する「水増し」とよばるデータ拡張が可能な場合はあるにはありますが・・。
=ねこ =ねこ =ねこ -
もちろん、水増しだけではやっていけません。
-
ところが、逆に教師データから学習用データを自動生成が可能な機械学習の分野があるのではないか、と考えました。
-
本件のコインバラまきネタ、などがそういう例です。
=16円 =28円 =12円 =9円 =21円・・・・・
(他にも自動生成ネタがあるのですが、それは別の機会に紹介しようかと・・) -
実際には、金額そのものが教師データではなく、各種類それぞれのコインの枚数を教師データとしました。データ生成手順は次の通りです。
- 乱数で各コインの枚数を決める。(この時点で金額が確定)
- その後、各コインの枚数に応じたバラまき画像を生成。
- これで学習したモデルが、現時点で実用に使えるわけではありません。
- しかし、「多くのデータで学習する機械学習のモデルの振る舞い」を研究する材料となり得る、と考えました。
- 打ち出の小槌サービスの画面を、もう一度参照して下さい。生成するデータの属性や数をパラメータで制御できる、のは自動生成ならでは、です。
こ、このサービスって、今どう使えるのよ?
- と言われると、これは「こんなことができるよー」という単なるデモでして、
- しいて言えば、生成されたページを右クリックとかして「名前を付けて保存」(ウェブページ、完全、=chromeブラウザの場合)とかすると、教師データがHTMLに記載された画像データのセットが得られます。
- しかし、このサービスそのものは、ショボくて安い IAAS の仮想マシンを使っており、大量のデータ生成を想定していません。(酷使するとたぶん死にます。)
- 本当に大量のデータを作りたい場合は、コインバラまきネタのソースコード をとってきて、各自の環境に移植してください。
- 億万長者になれるかも。先は長いですが。
- もし、今年中にこの記事に「いいね!」を100個もらえたら、本件のデータを使って「金額推定コンテスト」を開催しようと企んでいます。(ムリかーー)
#【まとめ】本件に限らず、機械学習用のデータを最初から自動生成する仕組みを「打ち出の小槌(うちでのこづち)」と呼ぶことにします。