AI

AIを使って画像認識で、大量の写真から自分の好みのものを選別させる。構想編

いよいよ、AIがとても近くまで来てるな、と思っている人も多いとおもいます。

しかし、いまはまだ企業が作ったAIの利用者なだけ

自分だけのAIを作る方法を探してみましたが、

ピンとくるサイトはありませんでした。

そこで、自分が学習させたAIを業務に利用することを目標として、

その手法を公開していきますので、参考になればとおもいます。

どう作る?自分だけのAI

「自分だけのAI」とグーグルで検索すると、こんな結果になりました。

試しに、一番うえの、Makegirls.moe をやってみましょう。

人工知能で、自分好みの萌え少女の画像をつくってくれるというものです。いろいろパラメータが選べるようで、自分は銀髪好きなので、髪色の銀にして、後はランダムで生成と。。

うーん。 銀髪じゃない子もいますね。

モーフィングというのをやると、2つの絵の中間の絵を出力してくれるのですが、3Dとはちがい、人の手で書いたような2Dの絵をAIが生成しているのがわかります。

しかし、パラメータを全部固定にすると、同じ画像しか出てきません。 つまりは、ユーザーの好みを学習して作り上げるのとは、違いますね。

次に、「SOINN」というのを見てみた、スマホで、自分の趣味趣向を学習していってくれるらしい

たとえば、天気予報アプリとアラームと連携して、天候が悪い日は、早めにアラームを鳴らす。あるいは、ウェアラブル端末で体調を調べて、その日の健康に合わせたレシピやトレーニングメニューを提案する、といったことが可能。学習が進むことによって、家庭、オフィス、育児や介護など、暮らしのあらゆるシーンでサポートしてくれそうだ。

どうやら、これは、まだ開発中のようである。

つぎに、人工知能(AI)と会話できるアプリ:SELF(セルフ)というのを見てみましょう。

チャットアプリのようなもののようです。
自分だけのキャラクターに育てる事ができるという。

でも今自分の求めているものとは、ちょっと違います。

これは、あくまでこれはAIをつかったサービスです。

4つめ。Microsoft Bot Framework「LUIS」でAIの作成・育成方法を解説!

この記事を読むと、いよいよ本質に迫ってきた

現在、さまざまな大手企業が、AIのエンジンをお試しで提供しています。この記事は、マイクロソフトのLUISをつかった、AIの作成と育成方法を、具体的に解説している。

しかし、読み進めていくと、育成(学習)の部分で、少し引っかかるところが出てきた。

これを見ると、挨拶1つ返すのに、定型分を入力している

このあと、インテントとエンティエティの項目まで読み進めると、このAIがまともに会話できるようにするまで、「こんにちは」=挨拶「こんばんは」=挨拶っていうの作業を延々としていく事になる。 これは、私の考えているAIの学習とは違うと感じた。

まあ、最近の企業のチャットボットがAIを活用していますが、人間が話しかけた内容を、分類して、それに対応した返答をしているだけ。

どこかの企業が地道に覚えさせた事に、回答しているだけです。

このように、チャットボットなどのAIの学習は、たとえば、自分の書いた文章を大量に読みこんで、解析して、どんどん学習していってくれる。というわけではなさそうです。

では、私の考えているAIは、どこにあるのでしょうか?

そこで私が見つけた記事は、誰でもできる機械学習 Watson Visual Recognition(画像認識)の使い方です。

IBM Watsonを使った機械学習。 画像を認識をAIに覚えさせる。

誰でもできる機械学習 Watson Visual Recognition(画像認識)の使い方を読み進めていくと、AIの本質である、分類器という部分がポイントという事がわかった。

分類器の設定画面

 

人間も何かを判断するとき、ある項目毎に、「あり」か「なし」の2択の積み重ねと言えます。

この分類器を沢山作る事で、自分の趣味趣向を再現できるのでは?という考えにいきついた。

この記事では、アンパンマンかバイキンマンかという違いで、A・B判定をさせています。

実験では、アンパンマンを自動で判別しているが、もっといろいろな画像を入れると、アンパンマンなのか、どうなのか微妙な判定が帰ってくる画像が出てくるのが、想像できる。

この記事では、最初にアンパンマンとバイキンマンを学習させているが、これだけでは1回学習しただけで、成長していない。

また、アンパンマンとバイキンマンという、キャラクターを認識させようとしているが、これはAIに学習させるのは難しい。 キャラクターという概念は、容姿だけでなく、ストーリーとか、そういったものをひっくるめて認識している。

学習して成長していくAIを作るには、どうしたらいいか考えてみた。

Watsonの「Visual Recognition」使って、反復学習するアルゴリズムを構築する

いろいろサイトでチュートリアルを見てきたが、最初に覚えこませた画像に対して、同一人物か、同一人物でないか。という実験をやってみたというレポートばかりで、成長するAIというアルゴを公開しているサイトは見つけられなかった。

そこで、概要を自分で考えてみた。

達成したい事:自分好みの写真をピックアップするAIを構築する

写真選定の手間を省いて、省力化を目指す。

まず、自分が写真を選ぶ際に、何をポイントにしているか、書き出してみる。これが、前述の分配器となる。

  • ピントがあっている
  • 写真が明るい、暗い
  • 人物の表情が良い、悪い
  • 人物の目線が良い、悪い
  • 全体的の雰囲気が良い・悪い

ざっと、今思いつくのは、まずは、これくらいにしておく。

次に、初期学習をさせる。

適当に写真10~20枚に、上記の判定を自分で行い、分類器に覚えさせる。

初期学習させたら、あらたな画像を、アップロードしてAIに判定させる

新たな画像を分類器に通して、スコアが0.5を超えたら、チェックを有りにして表示し、今度は、自分が判定。 登録ボタンを押すと、前述の分類器の画像にする。

これを繰り返していき、雰囲気のいい画像。表情のいい画像。が蓄積されていき、分類器の精度があがっていく(はず)

最終的に大量の写真をアップロードして、一番スコアの高い写真が、自分の好みの写真として、アウトプットされるようにする。

写真選定は、人によってセンスが全然ちがいます。 それをAIが学習してくれたら、写真選定がグッと早くできます。

まだ構想段階なので、さまざまなサイトの情報を参考にしながら、次回は、構築編をやりたいとおもいます。