検討中のお客様はこちら

0120-50-6065

10:00〜19:00
土日祝、年末年始除く

お申し込み

技術事例:ディープラーニングによる広告画像のパフォーマンス予測

概要

GPUクラウド byGMOを使用して、広告画像とCTR(クリック率)の関係性を学習し、配信される広告画像のパフォーマンスを事前に予測することで、当該画像の予想CTRを算出。また、画像内の修正すべきポイントを導きだしたり、ユーザーが着目するポイントをヒートマップにして可視化(GAN・特徴点利用)するといったことも可能となる。

一般ユーザー、クリック・表示、配信広告、情報の蓄積、BigData、CTR傾向の学習、GPUサーバー、分析・フィードバック、新しい広告画像

システム構成

広告データの取得、広告画像URLの取得、URLから広告画像の取得、広告画像取得OK/NG入力、画像&データ転送、画像&データ前処理、学習データアップロード、学習データの取得、ディープラーニングした学習結果を保存
ソフトウェア環境
プラットフォーム CUDA 9.0
プログラミング言語 Python 3.5
ライブラリ TensorFlow 1.12
CNN Inception V3(Fine-Tuning)
ハードウェア環境
比較 GPUクラウド byGMO 比較対象(ハイエンドノートPC)
OS Ubuntu 16.04 Windows 10 64bit
CPU 16vCPU(Intel Xeon Gold 5122 4 Core 3.66GHz ×2) Intel Core i7-8750H 6 Core 2.20Ghz
メモリ 180GB 32GB
GPU NVIDIA Tesla V100 SXM2(16GB) NVIDIA GTX 1080 with Max-Q Design(8GB)
ストレージ Lustre 500GB SSD 256GB
ソフトウェア環境
プラットフォーム CUDA 9.0
プログラミング言語 Python 3.5
ライブラリ TensorFlow 1.12
CNN Inception V3(Fine-Tuning)
ハードウェア環境
比較 GPUクラウド byGMO 比較対象(ハイエンドノートPC)
OS Ubuntu 16.04 Windows 10 64bit
CPU 16vCPU(Intel Xeon Gold 5122 4 Core 3.66GHz ×2) Intel Core i7-8750H 6 Core 2.20Ghz
メモリ 180GB 32GB
GPU NVIDIA Tesla V100 SXM2(16GB) NVIDIA GTX 1080 with Max-Q Design(8GB)
ストレージ Lustre 500GB SSD 256GB

処理フロー

処理フローは、データ処理、画像の前処理を経て、ディープラーニングでは画像とCTRの関係を解析し、パフォーマンス予測用のエンジンを作成する「学習フェーズ」と、作成したエンジンにテストで画像を与え、どのカテゴリに入るかを推定する「予測フェーズ」がある。

データ処理

  1. 1. 極端なデータ(外れ値)を削除するため、同じ画像データごとに上位下位をそれぞれ10%をカットしたCTR値を作成。
  2. 2. 同一の画像でも掲載枠が違っていたり、色やサイズが混在しているため、画像の前処理をし、同一の画像を特定。
  3. 3. それぞれの画像ごとの平均CTRを算出。
  4. 4. 平均CTRを基に6段階にカテゴリ分けを実施。

画像の前処理

  1. 1. 画像をハッシュ化し、同一のファイルかどうかを特定。
  2. 2. 異なる画像サイズや色を統一(38x38 / Gray)。
  3. 3. さらにSVD(特異値分解)により次元を圧縮し比較することで、2までに取りこぼした画像を判定。
  • [ハッシュ化の流れ]

    Hash化
  • [SVDによる次元圧縮の流れ]

    GrayScale、次元圧縮、次元圧縮、次元圧縮

ディープラーニング

  1. 学習フェーズ。大量の入力から出力したデータを、実際の正解データと突き合わせて比較し、重みづけを学習させる
  2. 予測フェーズ。学習された重みづけを適用したニューラルネットワークに新しいデータを入力し、予測結果を出力する

<結果>

本ケースにおいて、GMOインターネットが2019年7月にGTX1080とTesla V100での学習速度の比較を行ったところ、Tesla V100の処理速度が4倍速いという結果が得られた。

比較 GTX1080 TeslaV100
学習速度 47 sec/epoch(50epoch,39分) 11 sec/epoch(50epoch,9分)
比較 GTX1080 TeslaV100
学習速度 47 sec/epoch(50epoch,39分) 11 sec/epoch(50epoch,9分)
  • ※epoch=学習した数の単位
  • 低CTR群(0.0037-0.00437)

  • 高CTR群(0.2037 以上)