深層学習の判別精度を向上させるコツとActive Learning:いまさら聞けないDeep Learning超入門(終)(2/2 ページ)
最近注目を浴びることが多くなった「Deep Learning」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく連載。最終回は、画像認識の判別精度を向上させる具体的手順と落とし穴、ハイパーパラメーターのチューニング、学習を自動化するActive Learningについて。
判別精度向上のシンプルな落とし穴
ところで、このチューニング履歴を見て皆さんは思ったのではないでしょうか?「精度の上り幅が少ないなあ」あるいは、「あれ? 飽和してないか?」と。私たちもハイパーパラメーターのチューニングをし続けている途中で、同様の不安に襲われました。
このハイパーパラメーターのチューニング作業は「データサイエンティストの花形」の意味合いを持ち、センスが発揮されるところです。しかしながら、そのチューニングに入る前に実はもう一つ、単純ですが重要な考慮点があります。
訓練データは本当に「正解」?
それは、「モデルの作成に使う訓練データに本当に正しいラベルが付いているか」という点です。
例えば、人間の赤ちゃんに、「カブトムシ」という生き物を覚えさせるために100枚の画像を用意し、「これがカブトムシだよ!」と教えることにします。その際に用意した100枚の画像の中に実はカブトムシの画像、クワガタムシの画像、テントウムシの画像が混在して入っていれば、赤ちゃんは間違ってクワガタムシ、テントウムシの特徴をカブトムシとしてひも付けてしまい、結果として「クワガタムシの画像を見せられた際にカブトムシと判断してしまう」といった現象が起きることが予想されます。
実は、初期のネイルデザイン判別においても同じ事象が起こっていました。
例えば下記はマーブル(左)、タイダイ(右)というデザインなのですが、見た通り、人が目で見ても間違うレベルのデザインであり、案の定、マーブルとしてラベル付された画像の中にタイダイの画像が大きな割合で入っていたり、さらにその逆も起こっていたりしました。そのため、この2つがくい合い、それぞれ判別精度が著しく低かったのです。ここでこのまま、精度を上げるためにパラメーターチューニングを始めてしまっては、精度が思うように上がらないというのは当たり前のことだと分かります。
よって地味な作業ではありますが、ラベルに100%合致した画像を訓練データとして与えるために、訓練データの中身をきちんと精査することが重要となるわけです。Deep Learningにおいても先進的なイメージとは裏腹に、このような地味で泥臭い作業が大事であることは驚きでした。
ラベルの細分化
また、ラベルの細分化というのも重要な手段でした。例えば、「アニマル」というデザインラベルがありますが、その中には、ヒョウ柄もあれば、ゼブラ柄も存在します。そのためより正確に判別するために、「アニマル」というラベルではなく、「ゼブラ柄」「ヒョウ柄」などとラベルを細分化すると精度が向上したことを確認できています。
泥臭い作業で精度改善した結果
これにより、最終的にネイルの画像判別では80%程度まで精度改善しました。また、第3回で紹介したキュレーションメディア「ギャザリー」(リクルートライフスタイル運営)においては95%前後まで精度が改善しました。
学習を自動化する――Active Learning
モデルを一度作った後は、基本的には未知画像の予測作業を機械で行っていくことになります。しかしこれだけではモデル自身は一切更新されませんので、判別精度は上がらないばかりか、未知画像のバリエーションが増えていくにつれて判別精度が下がっていくことも考えられます。そのため、筆者たちはモデルの継続的精度改善、運用にも力を入れています。その一つが「Active Learning」という手法です。
基本的には、モデルに対して訓練データを追加して再学習を行っていけば精度は上がっていくものですが、毎日何百枚、何千枚とインプットされる画像に対して全て人手でラベルを付けて学習させるというのは非常に負荷が掛かる作業となります。この負荷を軽減させるために、「これを加えたら精度改善に貢献できそうだ」という必要最低限の画像をレコメンドしてくれる機能を実装・運用しており、これを「Active Learning」と呼んでいます。
このActive Learning手順は以下のようになります。
- ある未知画像をConvolutional Neural Netで判別
- 各ラベルへの推定確率が例えば(ラベル1:0.3、ラベル2:0.3、ラベル3:0.2……)という結果が得られた
- 最も高いスコアと2番目に高いスコアを抽出
- 上記スコアの差を算出
- スコアの差が閾値以内(例えばギャザリーの事例の場合は0.1)の場合は現在のモデルが単独の特定ラベルとして認識できなかった(ラベル付けを迷った)と判断
- これらを「モデルに加えた方が良い画像」として決定し、GUIでの判別対象とする
その後、下記のようなGUIの画面から人手でラベル付けの見直しを行いコミット(モデル作成のボタンを押下)すると自動的にモデルが再構築されます。これにより、人の意思を必要最低限の労力で加えた形で、効率的に精度改善ができるようになります。
誰でも単純作業を機械化できるようになる世界へ
Deep Learningは、リクルートグループにおけるデータ利活用のキーテクノロジとなり得るものです。
Deep Learningといえば、時に「黒魔術」「銀の弾丸」などと呼ばれ、「これ一つで何でもできる」「あたかも人間のように何かを認識・判断できる」と思われがちです。しかしながら現在のところ何事にも「100%」という精度はなく、「まだまだ人間の介在、すなわちきちんとした知識を持って運用を行う必要がある」ことが、この施策実装で分かってきました。
一方で、これまで紹介してきた事例のように、Deep Learningはその表現力の高さからさまざまな施策に応用が期待されています。現在リクルートグループにおいても「施策・機能開発に関してのコアテクノロジ、すなわちこのDeep Learning使って何かできないか?」という観点で要件検討がなされるシーンも多くなりました。
特に、一種の人の代替作業という意味合いを持つ施策実装・検討が多くなっており、「単純作業で機械化できるところは機械で」「肝心なところ、クリエイティブな箇所は人で」という線引きがより明確になりました。さらに、この「機械でできる範囲が広がってきた」事実に、このDeep Learningという技術の多大な影響力を感じ取れます。
昨今、グーグルによって、「TensorFlow」というDeep Learningを実装可能な機械学習ライブラリが公開されました。これにより、Deep Learningを実装するハードルが一層下がることで、今後誰でも簡単にDeep Learningに触れることができる世界が広がりつつあります。
筆者たちはオープンソースライブラリやクラウドなどの環境を積極的に利用することで施策展開と運用の簡略化などの検証を行い、それら広く公開していくことでDeep Learningのさらなる発展に寄与していきたいと考えています。
筆者紹介
石川 信行(いしかわ のぶゆき)
リクルートテクノロジーズ ITソリューション統括部 ビッグデータ部 シニアアーキテクト兼アドバンスドテクノロジーラボ
2009年リクルートに新卒入社し、現リクルートテクノロジーズの前身となる組織に配属。Javaを用いたシステム開発に参加し、その後Hadoopの導入検証に従事。主要事業にHadoopを導入したのちビッグデータ専門部隊に合流し、13年10月より現職。
現在は、事業対応リーダー、画像解析など技術開発に従事。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
グーグルの人工知能を利用できるWebインターフェースが登場
オズミックコーポレーションとイントロンワークスは7月7日、グーグルの人工知能アルゴリズム「Deep Dream」を利用できるWebインターフェースを公開した。人工知能の歴史と、グーグルの自動運転車が事故を起こさないためにしていること
本連載では、公開情報を基に主にソフトウエア(AI、アルゴリズム)の観点でGoogle Carの仕組みを解説していきます。今回は、ロボットの思考と行動のサイクルのうち「行動計画の立案」と「計画した動作の実行」について解説。最後に人工知能の歴史も。顔写真3Dモデル化、絶対フォント感、複数画像検索、観光写真無人化、陰影分離、簡単フォント自作、消失点自動作成――デザイナー/クリエイターが茫然自失で拍手喝采な最先端技術動画11連発
アドビ システムズは、2015年10月6日(現地時間)に開催した「Adobe MAX 2015 Sneak Peeks」で、11の新技術を披露。顔写真3Dモデル化、絶対フォント感、複数画像検索、観光写真無人化、陰影分離、簡単フォント自作、消失点自動作成naなど、今回もデザイナー/クリエイターのみならず、日常的にデジカメやスマホで写真を撮る人でも欲しくなるような機能が多数見られた。米AlpacaDBがDeep-Learningを使った金融プラットフォームを開発へ
Deep-Learning技術による画像認識プラットフォームを展開してきたAlpacaDBが、資金調達に成功し、金融系の事業領域に本格進出する。セキュリティ対策に数学の力を――機械学習は先行防御の夢を見るか?
どうしても攻撃者の後手に回りがちなセキュリティ対策。ここに機械学習を活用することで、先手を打った対策を実現できないか――そんな取り組みが始まろうとしている。個人と対話するボットの裏側――大衆化するITの出口とバックエンド
マシンラーニング、ディープラーニングなど、未来を感じさせる数理モデルを使ったコンピューター実装が注目されている。自ら学習し、機械だけでなく人間との対話も可能な技術だ。では、コンピューターはどのように人間との対話を図ればよいのだろうか。コンピューターの技術だけでなく、そこで実装されるべきインターフェースデザインを考えるヒントを、あるコンシューマーアプリ開発のストーリーから見ていく。バンナム、スクエニ、東ロボ、MS――人工知能や機械学習はゲーム開発者に何をもたらすのか
8月26日に開催されたゲーム開発者向けイベントの中から、バンナム、スクエニ、東ロボ、MSなどによる人工知能や機械学習、データ解析における取り組みについての講演内容をまとめてお伝えする。