CodeIQ MAGAZINECodeIQ MAGAZINE

思い通りのデザインをすぐに探せる!ディープラーニングを応用した『画像解析』システム開発

2015.09.04 Category:技術コラム Tag: , , , , ,

  • 30
  • このエントリーをはてなブックマークに追加
rtc

世界中のビックデータ解析の研究者・技術者たちがいま真正面で取り組むのは、音声、静止画、動画など、構造定義されない「非構造化データ」の解析だ。

世界のIT先進企業がしのぎを削る中、リクルートテクノロジーはこのほど、非構造化データ解析の一環として独自の画像解析システムを開発した。その全貌に迫る。
by 馬場美由紀 (CodeIQ中の人)

人はゾウカブトをどのように認識・判別するのか

「未知の写真を見せられたとき、人の脳はそれがこれまでの人生で記憶してきたイメージとどこがどう違うのか、同じなのかという計算を始めます。画像から特徴を拾い上げるため、一瞬のうちに画像を細分化し、特徴を抽出し、既存のイメージに当てはめ、その作業を何度も繰り返す。こうした人間の脳を模倣するニューラルネットワークの知見が、画像解析でも使われます」と語り始めるのは、リクルートテクノロジーズ・ビックデータ部のシニアアーキテクト・石川信行氏だ。▲株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 兼 アドバンスドテクノロジーラボ シニアアーキテクト 石川信行氏

神戸大学大学院では害虫制御学を専攻。根っからの昆虫好きらしく、彼のプレゼン資料にはカブトムシがよく出てくる。

あるカブトムシの写真を見せられて、石川氏の脳内シナプスで無数のパルスがやりとりされる。知っているカブトムシとはちょっと特徴が違う。ヘラクレスオオカブトではない、ゾウカブトではないか……。人間の脳が判断・認識をするプロセスを機械で置き換えるのがニューラルネットワークだ。

ニューラルネットは機械学習で扱われる計算アルゴリズムの一つで1940年代からある研究だが、2000年代後半にディープラーニング(深層学習)などいくつかのブレークスルーが起こり、あらためて画像や音声認識の分野で注目されるようになった。

2012年にGoogleの機械学習研究チームが、巨大なコンピュータリソースをディープラーニングマシンとして用いることで、コンピュータがネコの画像を認識したと発表したのも、研究開発の進展を示す一例だった。

技術はすでに実用化段階にあり、米アップルの音声認識システム「Siri」、Googleやバイドゥ(百度)などの画像検索エンジンも、その応用例とされる。

リクルートテクノロジーズはディープラーニングのロジックそのものを開発したわけではない。ただ、「ディープラーニングにはチューニング要素がいくらでもある。

特にこの技術をビジネスに活用するためには、ビジネスで使われる画像のタイプに合わせたチューニングは不可欠。また、どんなフレームワークやライブラリを選ぶかで、処理精度やスピードが大きく変わってきます」(石川氏)。

つまり先端技術のビジネス導入において、国内では先駆例ともいうべき実績を挙げたのだ。

「畳み込みニューラルネット」とフレームワーク「Caffe」の採用

石川氏らがまず注目したのは、画像認識に特化したニューラルネットの手法の一つ、「Convolutional Neural Network」(畳み込みニューラルネット;CNN)の活用だった。

この手法では、一つの画像を断片(パッチ)ごとに少しずつずらすことで特徴量を抽出する。ここでは一つのパッチだけでなく、隣り合うパッチの関係性も特徴量として把握される。

最終的に得られた特徴量をロジスティック回帰などで予測し、あらかじめ設定しておいたラベルへの所属確率を導き出し、分類するというものだ。

CNNの処理を容易にするため、すでにコンピュータサイエンスの世界ではいくつかのフレームワークが開発されている。その一つが、UCバークレイから生まれた「Caffe」だ。

「Caffeは画像解析に最適化されたフレームワーク。特徴量抽出のスピードが速く、膨大な学習済みモデルが公開され、さらに画像系の最初の下処理がプレ実装されていることが最大の利点です。ただ、難点としては依存ライブラリ群が非常に多く、ビルドが面倒なこと。結構苦労しました」と語るのは、ビッグデータ部の白井祐典氏だ。

石川氏とともに、Caffeのビルドの段階から、今回の画像解析システムの実装を担当した。

▲株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 白井祐典氏

ペタバイト級の社内データを活用せよ

リクルートテクノロジーズにおけるニューラルネットのビジネス活用研究は、4年前、テキスト解析からスタートしている。その研究に一定程度のメドが立ったのが2年前のこと。

次のターゲットは画像解析と定め、海外研究成果の調査から手をつけた。1年半前に石川氏の下に白井氏が加わり、開発は軌道に乗り始める。

最初からリクルートグループの事業に役立つことが彼らのミッションだった。

同グループの全事業にまたがるHadoop基盤に格納されている構造データは1PB。リクルートグループ内には、この数倍から数十倍以上のデータが眠っていると考えられ、これらを事業にいかに活かしていくかが問われているのだ。

グループ内のニーズを聞いていくうちに、リクルートライフスタイルが運営する美容サロン検索サイト「ホットペッパービューティー」のスマホアプリ開発という具体的な応用先が見つかった。

ネイルアートに関心を持つ女性たちは、常に人とは違う自分好みのデザインを求めている。「来週の女子会にはどんなネイルで決めていこうか」──そんなことを考えながら、帰宅途中にスマホで検索していたりするのだ。

そうした顧客と、技術力・サービス力を訴えたいネイルサロンとのマッチングサービスが「ホットペッパービューティー」にはある。

「膨大なネイルの写真カタログがあるんですが、これをユーザーにとってより利用価値の高いものにすることが、僕らの役目でした。一つは39色の色を指定して、検索できるようにすること。既存機能として10色までの色指定はできていたのですが、これではまだ不十分だと考えました。もう一つが、あるデザインと類似したデザインを自動的に選び出せるようにすること。何をもって似ていると判断するか、ここにディープラーニングのロジックが活きています」(白井氏)

システム実装と並行してやるべきことが一つあった。ネイルには一般的には関心をもたないだろう男性エンジニアたちが、ネイルデザインに詳しくならなくてはいけないのだ。

後に触れる「正解画像精査」とも密接に関係する作業なのだが、チームメンバーは膨大なネイル写真をみながら、「これはフレンチ、これはリボン」と、20種ほどあるデザインパターンに仕分けする作業を手動で続けた。

「僕らほどネイルに詳しい男子っていうのもいないと思います」と、白井氏は笑う。

独自のAPI開発で、迅速・的確なネイルデザイン検索システムを構築

デザイン判別のフローは、インプットされたネイル画像からまず爪がどこであるかを判別することから始まる。個々の爪画像をベクトルに変換。それをあらかじめ作成した判別モデルと照合する。

最終的には最初の写真にどんな色のどんなデザインがどれだけ使われているかが自動判定される。このデータが膨大に蓄積されるのだ。

これまでのように人手で1点1点の画像を分類していたときに比べて、より正確かつ詳細な解析を行うことができ、直感通りの結果を表示することができるようになった。

実際、カラー検索では検索結果のクリック率が大幅に向上し、類似デザイン検索においても平均閲覧画像数が増えるなど、ユーザーのアクションは増加している。

結果的にそれがサイトの有用性を高め、広告媒体としての価値を高めることになる。

ただ、それが可能になったのは、単にディープラーニングのロジックを応用したからだけではない。

「先端技術であればあるほど、単なるロジック構築だけではビジネスに活用できません。拡張性のあるシステム基盤を構成することこそ、僕らR&D部隊のエンジニアの仕事」と、石川氏は言う。

時間あたり68万7000枚以上という驚異的なスピードで画像解析することができる自慢のサービス基盤のことを言っているのだ。

サーバは画像アップロードやAPIリクエストサーバにAWSを用いるほか、共通バッチサーバ、計算サーバ、共通Webサーバなどからなる。

事業側(ここでは、リクルートライフスタイルのホットペッパービューティー事業担当者)が簡単に画像解析をリクエストできるよう、APIを独自に開発したのはビッグデータチームの業績である。

人力も活用。継続的モデルチューニングへの取り組み

また、継続的な精度向上の仕組み作りについても、新たな試みが始まっている。先述したようにディープラーニングはチューニング要素が数多くあり、その巧拙次第で実用になるかどうかが分かれる。

「学習データの数を増やす、学習データの強度を高める、イテレートの数を増やす、プーリングの仕方を変える、Dropoutの割合を調整するなどさまざまなチューニング要素があるんですが、なんでも増やしすぎると、学習時間や処理時間が増えてしまうというジレンマがあります」(石川氏)

チームは100回に及ぶパラメータチューニングを積み重ね、ネイルカテゴリ20種への分類精度を50%程度までに向上させた。一時期は、このあたりが機械学習の限界かとも思われた。

「ただ、人間が目視でやっても判断に迷うデザインというのが実際にあるんです。人間ができないことは機械もできない。だったら、絶対に間違わないというラベルと、間違ってもいいというラベルをわけて考えることも必要ではないかと考えるようにしました」

そこで彼らが取り組んだのが、「学習用の正解ラベル付き画像の精査」だ。各デザインカテゴリごとに、誰がどう見てもこのデザインはこのカテゴリに該当するという正解データを用意するのだ。

そのために動員されたのが、先ほども触れた「人」。エンジニアたちがいわば疑似クラウドソーシングのように、正解データをラベル付けする作業に取り組んだのだ。

「その集中作業を通して、僕らはネイルデザインのプロになってしまった(笑)。正解画像精査は、熟練者がデータを判別し、それをベース画像として使うことで、より精度を高めるという考え方。これは一種の実験でもありました」(石川氏)

実際、その成果はあった。人力によるチューニングを経て、分類精度は50%から67%まで向上。「フレンチとななめフレンチ」といった判別を間違ってもユーザーにはあまり影響がないと思われる類似デザインをまとめると80%と、さらに日々向上を続けている。

「正確な正解ラベルのついた画像を追加し、判別モデルを作成することがシステム全体の精度向上につながることを痛感しました。その場合、ある程度は人の介在は必要です。ただ、ラベル付けすべきデータを選ぶために、機械の側が最も精度向上が望める画像を自動的にレコメンドしてくれるようなればもっといい。そのため僕らは Active Learning という手法を導入して、継続的モデルチューニングシステムの構築に取り組んでいるところです」と、石川氏は今後のシステムの進化を描く。

キュレーションメディアの不適切画像判定にも応用

リクルートテクノロジーズのディープラーニング画像解析システムは、その用途を社内に広げている。同じくリクルートライフスタイルが運用する、キュレーションメディア「ギャザリー」における不適切画像の検索・排除システムもその一つ。

セクシャル、グロテスクなどの不適切画像の判別精度は95%とほぼ限界値にまで高まっている。処理速度も毎時3万枚以上と高速だ。

「画像判別の商用ソフトがありますが、それに比べても遜色のない精度だと思います。コストや拡張のしやすさ、リクルートの各事業ごとに特化した使い方ができるなどの点も含めると、これを自社で開発したことの意味は大きい」と、石川氏。

今後は、リクルートグループ内の他サービスにおいても様々な形で展開し、新しい見つけ方や情報価値を提供する方法が検討されている。

このシステムは技術的にも、テキストデータと画像データを組み合わせることで、対象画像にマッチしたテキスト文を推定・生成したり、その逆を行うマルチモーダル学習技術へと発展する可能性を秘めている。

「事業会社とR&Dチームが事業ニーズとテクノロジーをすり合わせながら、難しい課題に挑戦していけるのが最近のリクルートの良さだと思う。僕らも、新技術を基礎的に検証する段階から、常にビジネスに使うとどうなるかというイメージを持つようにしています。リクルートから世界に先駆けるようなビジネス・テクノロジーが生まれることを今後実現していきたいです。期待していてください」

石川氏の表情は自信に満ちている。

(執筆:広重隆樹 撮影:刑部友康)
  • 30
  • このエントリーをはてなブックマークに追加

■関連記事

アドテクの裏側で暗躍!?ユーザーの嗜好を紐解くベイジアンネットワークとは... ベイジアンネットワーク -「因果」のモデリング ベイズの定理を説明した前編では、以下のような問いを設定していました。 患者Aは咳が出て節々が痛く、喉が腫れている。病名は何? プリンターが不調。縦線のノイズが入る。どこが故障している? それぞれ、医師やカスタマーサポートであれば解決できる...
「機械学習クラスタのベイズって何?」という人へ──まずは『ベイズの定理』を学んでみよう... 「ベイズ」や「ベイジアン」を聞き流し続けているあなたへ この記事では分かりやすく、ベイズ統計の基本中の基本である「ベイズの定理」の使い方について説明していきます。 実例で分かるベイズの定理 – 感染検査薬の実用性を測る あなたは某大手製薬会社で、ある伝染病の検査薬開発に関わる研究開発社員だ...
音声認識・画像認識に用いられる弾性マッチングのアルゴリズムって一体?... 音声認識・画像認識の進化が止まらない このような音声認識に関する研究は多くあり、またそれにより精度は飛躍的に良くなっています。 また写真を撮る際に人の顔を認識しフォーカスを当てる技術や、多くの写真のデータからAさんの写っている写真はこれ、Bさんの写っている写真はこれとこれ、と自動で選ぶ技術など、...
なぜ、俺に赤いフリースの靴下を推薦してくるんだ?──レコメンドの仕組みと機械学習... 「こんな商品も買っています」の背景には… Amazonでのショッピング中に目につく、「この商品を買った人はこんな商品も買っています」の欄。 コナン・ドイルのシャーロックホームズ『緋色の研究』のページを見ている人に、『四つの署名』をオススメしてくるのはまだわかる。しかし、「何で俺にこんなモ...
ニューラルネットワークで進化する『画像認識』。信号処理と「モノを見ること」はいかに結びつく?... 断続的に問題を解決し続ける計算機 人間が商品を陳列するときに購買客の心理を気にするのと同じく、ECサイトなどでも計算機が自動的に商品の情報を表示する際に、もっとも購買が起こりやすいかたちに最適化を行っている。 さらに有能なことは、実店舗と異なり、表示の方法を個々のユーザーに対して最適化できるとい...
Python、それともR?機械学習実装の一歩を踏み出すためのスタートガイド... 機械学習の分野におけるPython, Rのメリット Pythonのメリット 数値計算・機械学習関連のライブラリが充実 グラフィックス用のパッケージが用意されているため、結果の図示が容易 Rのメリット 統計分析に特化されておりライブラリが充実 グラフィックス用のパッケージが用意されている...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ