2016年2月14日日曜日

深層学習の適用

記憶や経験を何かに蓄積させておくというのは、必要だと感じています。

既に老化が始まった身ですので、これからは記憶がどんどん失われていくと思います。ある特定分野に対し deep learning が利用できるというのは、後身だけでなく、己にとっても役に立つかもしれません。

といっても、1から実装する能力・気力もなければ、うまく利用できる保証もありません。
といっても、手を動かさなければ何も始まりません。

ということで、今日はネットに転がっているコンパイル済みのバイナリと画像データセットを拾ってきて、テストしてみました。

まずはトレーニング。手元にGPU搭載機がないため、CPUのみで実施。数が少ないので3時間程度で終わりました。

で、学習させた区分の中にある「ゾウ」のデータを新たに拾って、判別させてみました。結果は以下の通り。

画像1・・・ゾウ90%
画像2・・・ゾウ40%
画像3・・・サイ40%

サイって。ま、画像を見ると何となくわかります。保育園入園前位の知能ですか。
ゾウの学習データは 数十枚程度であったため、様々なバリエーションに対応するにはもっと数が必要なのでしょう。

次は、iPhone。
ガラケーの画像は覚えさせましたが、どのように反応するか?

画像1・・・携帯電話 40%

それなりの答えですね。何をどう判別しているのでしょうか?

次は猫。これは学ばせていませんし、体全体が入っていません。どのように反応するでしょうか?

画像1・・・ザリガニ20%

なるほど。両耳がピンとなっているところを ザリガニのハサミと判定したわけですね。
案外、面白い。


当然ですが、正答率を上げるには、判定させたいカテゴリーの画像を事前に数百枚程度用意しておく必要があるようです。効率的に利用するとすれば、以下の通りでしょうか?

・判定の必要なカテゴリー数の少ない分野で利用
・同じようなスケール、画角で判定できる方が効率的


そう考えると、ぴったりの分野がありますね。
トンネルの支保判定です。
通常、判定に必要な項目の選定と重みづけを、実績支保でチューニングした結果を利用しています。 このチューニング作業、まさに deep learning が得意とするところでしょう。支保パターンも数種類ですし、画像は切羽正面、天端、側壁の3種程度でしょうから。

面倒ですが、そのうち試してみますか。

0 件のコメント:

コメントを投稿