JP6345203B2 - 対象物の類似度判定のためのプログラム、システム、及び方法 - Google Patents

対象物の類似度判定のためのプログラム、システム、及び方法 Download PDF

Info

Publication number
JP6345203B2
JP6345203B2 JP2016100332A JP2016100332A JP6345203B2 JP 6345203 B2 JP6345203 B2 JP 6345203B2 JP 2016100332 A JP2016100332 A JP 2016100332A JP 2016100332 A JP2016100332 A JP 2016100332A JP 6345203 B2 JP6345203 B2 JP 6345203B2
Authority
JP
Japan
Prior art keywords
output value
objects
similarity
convolution
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016100332A
Other languages
English (en)
Other versions
JP2017207947A (ja
Inventor
晃一 濱田
晃一 濱田
和樹 藤川
和樹 藤川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeNA Co Ltd
Original Assignee
DeNA Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2016100332A priority Critical patent/JP6345203B2/ja
Priority to US15/599,847 priority patent/US20170337449A1/en
Publication of JP2017207947A publication Critical patent/JP2017207947A/ja
Application granted granted Critical
Publication of JP6345203B2 publication Critical patent/JP6345203B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Description

本発明は、対象物の類似度判定のためのプログラム、システム、及び方法に関し、詳しくは、コンボリューションニューラルネットワーク(CNN)を用いた対象物の類似度判定のためのプログラム、システム、及び方法に関する。
ニューラルネットワークは、脳のニューロン及びシナプスを模して考えられたモデルであり、学習および識別の2段階の処理により構成される。学習段階では、多数の入力からその特徴を学習し、識別処理のためのニューラルネットワークを構築する。識別段階では、ニューラルネットワークを用いて新たな入力が何であるかを識別する。近年では、学習段階の技術が大きく発展しており、例えばディープラーニングにより、高い表現力を持った多層ニューラルネットワークを構築できるようになりつつある。特に、音声認識や画像認識のテストでは、多層ニューラルネットワークの有効性が確かめられ、ディープラーニングの有効性が広く認知されるようになっている。
このような多層ニューラルネットワークを構築し、画像識別を行う方法として、コンボリューションニューラルネットワーク(CNN)を用いる方法が知られている(例えば、非特許文献1)。非特許文献1におけるコンボリューションニューラルネットワーク(CNN)を用いた多層ニューラルネットワークは、AlexNetと称され、LeNet5を多階層に拡張し、さらに、各ユニットの出力関数として線形整流ユニット(Rectified Linear Unit(ReLU))等を用いたことを特徴としている。
"ImageNet Classification with Deep Convolutional Neural Networks"、Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton
上述した従来の画像識別方法では、画像に含まれる対象物の特定の際の誤答率をこれまで以上に低減することができることが分かっている。しかしながら、当該方法では、多くの要素が含まれる対象物のうちある特定の要素に注目して検索を行う場合などにおいては、精度良くかつ効率的に抽出することができないという問題があった。
本発明の実施形態は、対象物に含まれる要素間の類似度判定を適切に行うことを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係る方法は、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定する類似画像判定方法であって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。
本発明の一実施形態に係るシステムは、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定する類似度判定システムであって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数コンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。
上述した一実施形態に係るプログラムは、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定するプログラムであって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物画像の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させるように構成される。
本発明の様々な実施形態によって、コンボリューションニューラルネットワーク(CNN)を用いた多層ニューラルネットワークを活用することにより、対象物に含まれる要素間の類似度判定を適切に行うことが可能となる。
本発明の一実施形態に係るシステム1の構成を概略的に示す構成図。 一実施形態におけるシステム1が有する機能を概略的に示すブロック図。 一実施形態における類似画像判定フローの一例を示す図。 一実施形態における既存のコンボリューションネットワークを用いた各画像の対象物のカテゴリ分類のフローの一例を示す図。 一実施形態におけるシグモイド関数の一例を示すフロー図。 一実施形態における距離尺度の比較による類似度判断の概念を示す図。
図1は、本発明の一実施形態に係るシステム1の構成を概略的に示す構成図である。一実施形態におけるシステム1は、図示するように、サーバ10と、このサーバ10とインターネット等の通信網20を介して接続された複数の端末装置30と、を備え、端末装置30のユーザに対して電子商取引サービスを提供する。また、一実施形態におけるシステム1は、キャラクタを用いたゲームや電子書籍、動画コンテンツ、及び音楽コンテンツ等のゲーム以外の様々なデジタルコンテンツの提供サービス、並びに、テキストチャット(ミニメール)、サークル、アバター、日記、伝言板、及び挨拶等の様々なユーザ間のコミュニケーション機能を実現するコミュニケーションプラットフォーム(SNSプラットフォーム)サービス等の様々なインターネットサービスを、端末装置30のユーザに対して提供し得る。
一実施形態におけるサーバ10は、一般的なコンピュータとして構成されており、図示のとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ(記憶装置)15と、を含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15からオペレーティングシステムやその他様々なプログラムをメインメモリ12にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。なお、一実施形態におけるサーバ10は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。なお、上述したCPU(コンピュータプロセッサ)11は一例であり、これに代えて、GPU(グラフィックス・プロセッシング・ユニット)を用いるものであってもよいことは言うまでもない。CPU及び/又はGPUをどのように選択するかは、所望のコストないし効率などを勘案した上で適宜決定することが可能である。以下、CPU11を例として説明する。
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。
ストレージ15は、例えば磁気ディスクドライブで構成され、各種サービスを提供するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、各種サービスを提供するための各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。
一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して各種サービスを端末装置30のユーザに対して提供し得る。ストレージ15には、このウェブページに対応するHTMLデータも記憶され得る。HTMLデータは、様々な画像データが関連付けられ、又、JavaScript(登録商標)等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。
また、一実施形態において、サーバ10は、端末装置30においてウェブブラウザ以外の実行環境上で実行されるアプリケーション(プログラム)を介して各種サービスを提供し得る。ストレージ15には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Objective−CやJava(登録商標)等のプログラミング言語を用いて作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信される。なお、端末装置30は、こうしたアプリケーションを、サーバ10以外の他のサーバ(アプリマーケットを提供するサーバ)等からダウンロードすることもできる。
このように、サーバ10は、各種サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末装置30からの要求に応答して配信することができる。また、上述したように、サーバ10は、このようなウェブページ(ウェブブラウザ)を用いた各種サービスの提供とは代替的に、又は、これに加えて、端末装置30において実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。いずれの態様で当該サービスを提供するにしても、サーバ10は、各種サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末装置30との間で送受信することができる。また、サーバ10は、各ユーザを識別する識別情報(例えば、ユーザID)毎に各種データを記憶し、ユーザ毎に各種サービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ10は、ユーザの認証処理や課金処理等を行う機能を有することもできる。
一実施形態における端末装置30は、サーバ10が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、スマートフォン、タブレット端末、ウェアラブルデバイス、パーソナルコンピュータ、及びゲーム専用端末等が含まれ得るが、これらに限定されるものではない。
端末装置30は、一般的なコンピュータとして構成され、図1に示すとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ(記憶装置)35と、を含み、これらの各構成要素がバス37を介して互いに電気的に接続されている。
CPU31は、ストレージ35からオペレーティングシステムやその他様々なプログラムをメインメモリ32にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。
ユーザI/F33は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、CPU31の演算結果を出力する液晶ディスプレイ等の情報表示装置とを含む。通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。
ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ35は、サーバ10から受信した様々なアプリケーションが記憶され得る。
端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30のウェブブラウザには、HTMLデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。
端末装置30のユーザがサーバ10によって提供されるサービスを利用する際には、例えば、HTMLデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置30に画面表示される。ユーザは、端末装置30のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のウェブブラウザやNgCore(商標)等のアプリケーション実行環境の機能を介してサーバ10に伝達される。
次に、このように構成された一実施形態におけるシステム1が有する機能について説明する。上述したように、一実施形態におけるシステム1は、ユーザに対して様々なインターネットサービスを提供し得るが、特に、電子商取引サービスやコンテンツ配信サービスを提供することが可能である。以降、一実施形態におけるシステム1の機能について、電子商取引サービスを提供する機能を例として説明する。
図2は、システム1(サーバ10及び端末装置30)が有する機能を概略的に示すブロック図である。まず、一実施形態におけるサーバ10が有する機能について説明する。サーバ10は、図示するように、様々な情報を記憶する情報記憶部41と、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部42と、を備える。なお、一実施形態において画像を例に説明するが、類似度判断の対象はこれに限定されず、例えばテキストや音声などの信号を含み得る。本明細書において、これらを対象物と定義するものとする。したがって、上記の画像情報制御部42は、対象物情報制御部42と読み替えることも可能である。以降、説明の便宜のため、類似度判定の対象物として画像を例として説明することとする。これらの機能は、CPU11及びメインメモリ12等のハードウェア、並びに、ストレージ15に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU11が実行することによって実現される。また、図2に例示したサーバ10が有する機能の一部又は全部は、端末装置30によって実現され、又は、サーバ10と端末装置30とが協働することによって実現され得る。
一実施形態における情報記憶部41は、ストレージ15等によって実現され、図2に示すように、電子商取引サービスにおいて提供する商品の画像情報を管理する画像情報管理テーブル41aと、当該商品の画像と類似する商品の画像に係る画像情報を管理する類似画像情報管理テーブル41bと、を有する。
次に、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部42の機能について説明する。画像情報制御部42は、機械学習された多層構造のニューラルネットワークを用いて画像を多次元ベクトルとして表現し、最終的には当該ベクトルの近似やベクトル同士の距離を比較することで類似画像を判定する。このようにして抽出された類似画像は、上記類似画像情報管理テーブル41bに格納される。
より具体的には、画像情報制御部42の1つの機能である類似画像判定方法を図3に示す。一実施形態における類似画像判定方法は、まず、対象となる画像から特徴量を抽出する(入力層)。その後、コンボリューション層(畳込み層(Convolution layer)ともいう)100〜140を5層経て、6層目として、全結合層(Fully−connected layer)150を通る。
上述の第1層から第5層のコンボリューション層ないし第6層の全結合層について、図4に基づき説明する。図4に、AlexNetのコンボリューションネットワークのアーキテクチャを示す(図4は、非特許文献1に開示の図2に対応するものである)。図示するように、AlexNetのコンボリューションネットワークは、5層のコンボリューション層(畳込み層)と3層の全結合層により構成される。最後の全結合層の出力は、1000種類ソフトマックスにかけられ1000個のクラスに分類される。図2に示すように、第2、4及び5層のコンボリューション層のカーネルのそれぞれは、前層の同じGPUの層のカーネルとのみ結合されている。第3のコンボリューション層のカーネルは、第2の層の全てのカーネルと結合している。
全結合層のニューロンは、全層の全てのニューロンと結合している。第1及び第2のコンボリューション層には、正規化層(Response−normalization layer)が続く構成を採る。また、マックス・プーリング層(Max−pooling layer)が、当該正規化層及び第5のコンボリューション層に続く構成を採る。ReLU(Rectified Linear Unit)も、全てのコンボリューション層及び全結合層の出力に適用される。
第1のコンボリューション層は、サイズ224×224×3の入力イメージをサイズ11×11×3の96個のカーネル(4ピクセルのスライド)でフィルタにかける。次に、第2のコンボリューション層は、第1のコンボリューション層の(正規化及びプーリング後の)出力を入力とし、これをサイズ5×5×48の256個のカーネルでフィルタにかける。第3、第4及び第5のコンボリューション層は、これらの間に正規化層やプーリング層の介在がない状態で相互に接続されている。第3のコンボリューション層は、第2のコンボリューション層の(正規化及びプーリング後の)出力と結合されるサイズ3×3×256の384個のカーネルを有している。第4のコンボリューション層は、サイズ3×3×192の384個のカーネルを有し、第5のコンボリューション層は、サイズ3×3×192の256個のカーネルを有する。また、全結合層は、それぞれ4096個のニューロンを有する。
一実施形態に係る発明では、図4に示した既存のAlexNetのコンボリューションネットワークのアーキテクチャを活用することを1つの特徴とするものである。しかしながら、該コンボリューションネットワークの最終出力値をそのまま使用すると、各画像の対象物のカテゴリ分類のための特徴量が大きく抽出されすぎてしまっているため、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度を判別することが困難であることが分かってきた。そこで、一実施形態に係る発明では、実験を繰り返した結果、AlexNetの第1層から第5層のコンボリューション層の後の第6層の全結合層の出力値、すなわち、対象物のカテゴリを分類するのにより適した特徴量の影響が相対的に低く、対象物のその他の特徴量の影響が相対的に高い状態の出力値を敢えて利用することで、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度の判別が有効となり得ることを見出した。
ここで、一実施形態に係る発明では、既存のAlexNetのコンボリューションネットワークのアーキテクチャを利用したが、コンボリューション層や全結合層の層数に限定を行うことを意図するものではなく、コストや効率化の観点を踏まえ、適宜変更可能であることは言うまでもない。
以上のように、一実施形態に係る発明では、コンボリューション第1層100、コンボリューション第2層110、コンボリューション第3層120、コンボリューション第4層130、コンボリューション第5層140を経て、その後の第6層の全結合層の出力値を利用するものである。しかしながら、当該6層目の出力値は、−∞から∞までの値域を取るため、その値域を所定範囲内にするため、シグモイド関数を用いて、出力値を0から1までの範囲とすることができる。7層目のシグモイド層160は、図5に実線で示すシグモイド関数を適用すると、出力値を0から1までの範囲とすることができる。一方、図5の点線で示すシグモイド関数を適用すると、出力値は、−1から1までの範囲とすることができる。
この段階でシグモイド層を経て、出力値を0から1とすることで、その後の近似や距離尺度の比較を簡易かつ効率的に行うことができる。また、出力値をこのように制限することで、画像に含まれる対象物のカテゴリ分類の判定精度は若干低下するが、一実施形態における類似画像判定は、同一カテゴリの対象物を含む画像と類似するものを抽出することのみならず、異なるカテゴリの対象物であっても類似の特徴を備える対象物を含む画像同士を抽出ことも目的としているため、より精度が高く、かつ、効率的な類似画像の抽出方法であることが種々の実験により明らかとなった。
次に、シグモイド層160を経て、出力値が0から1までの範囲の変換出力値を元に、近似・距離比較層170において、複数の画像間における類似度を判定する。この複数の画像間における類似度を判断する方法として、ハッシュ法やステップ関数を用いた近似最近傍探索法がある。具体的には、ハッシュ法を用いる近似最近傍探索の手法として、Local Sensitive Hashing(LSH)を用いることが可能である。LSHは、局所的に鋭敏、すなわち、距離が近い程近いハッシュ値を取る確率が高いハッシュ関数を用いることで、ベクトル空間における近似最近傍点をを抽出することができ、データ空間を線形分割してクエリと同じ領域に入った点を抽出し,距離計算を行うものである。なお、このようなハッシュ関数は、距離が近い入力が高い確率で衝突する特徴を備えるハッシュ関数を指し、距離が近いデータは高い確率で同じ値にマッピングされるようなハッシュテーブルを作成でき、複数のハッシュ関数を用いることで、距離が一定以上の場合に衝突確率を大幅に低下するよう構成することが可能である。これにより、複数の画像間の類似度を判断し、画像の類似の有無を判定する。
一方、近似・距離比較層170において、複数の画像間における類似度を判断する別の方法として、特徴量空間内における各画像に対応する点間の距離を求める方法があり、ユークリッド距離、ハミング距離ないしコサイン距離などがこの目的のために使用される。この方法は、距離尺度を比較することを特徴とするもので、特徴量空間内において近接した位置にある複数の画像は互いに類似しているということを示すものである。この方法では、複数の画像について特徴量空間内における相互の距離を算出することで、画像間の類似度合いを推定することが可能である。2種類の特徴量A、Bによる二次元の特徴量空間を例として説明するが、より高い次元の特徴量空間においても以下の考え方を拡張して適用することが可能である。一例として、特徴量X1、X2をそれぞれ座標軸とする二次元特徴量空間に、10枚の画像(P=10)をその特徴量の値に応じてプロットした場合を考える。図6において、内部に数字を付した丸印は特徴量空間における各画像の位置を示し、数字はそれぞれの画像の画像番号を表している。
図6における例では、画像1、6及び9がそれぞれ類似し、画像5、8及び10もそれぞれ類似すると判断された。また、画像3及び7も類似しているが、画像2及び4はこれらと類似する画像がないと判断されている。
このように、近似・距離比較層を経て、最終的に特定の画像と類似する画像が判定される。なお、学習段階では、センサが生成した多数の入力データからその特徴を学習し、コンボリューションネットワークを構築する。構築されたコンボリューションネットワークは、画像情報制御部42における各演算部で用いられる重み係数として表され、例えば、ある数字「x」が描かれた画像に対応する入力データが入力されたときに、入力データが「x」であることを出力するような重み係数を見出す。多くの入力データを受信することで、ニューラルネットワークの精度は向上する。なお、本実施形態では、画像情報制御部42は公知の手法によりコンボリューションネットワークを構築するものとする。
以上、サーバ10が有する機能について説明した。次に、一実施形態における端末装置30が有する機能について説明する。端末装置30は、図2に示すように、様々な情報を記憶する情報記憶部51と、一実施形態における画像情報を端末側で表示させるための制御を実行する端末側制御部52と、を有する。これらの機能は、CPU31及びメインメモリ32等のハードウェア、並びに、ストレージ35に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU31が実行することによって実現される。また、図2に例示した端末装置30が有する機能の一部又は全部は、サーバ10と端末装置30とが協働することによって実現され、又は、サーバ10によって実現され得る。
一実施形態における情報記憶部51は、メインメモリ32又はストレージ35等によって実現される。一実施形態における端末側制御部52は、画像情報受信の要求や受信した画像情報の表示などの様々な端末側の処理の実行を制御する。例えば、端末側制御部52は、ユーザが衣服や眼鏡といった商品を購入するために、その候補となる画像を検索し、その結果をサーバ10から受信して表示させたり、また、サーバ10から受信した当該画像と類似する画像を併せて表示させることができる。
このようにすることで、電子商取引やデジタルコンテンツの配信などのサービスにおいて、取引の対象となる画像や配信の対象となるコンテンツに含まれる画像を類似した画像があれば、サーバ10はこれを画像情報としてユーザの端末30に送信し表示させることが可能となる。このようにすることで、ユーザは購入しようとする商品と似た商品を併せて効率的に探し出し、購入することができたり、配信を希望するコンテンツと似た画像を含むコンテンツを併せて紹介することで、ユーザは自分の趣向に近い画像情報をより容易に把握することができ、場合により、このような画像情報の購入や配信を併せて行うことが可能となる。なお、上述の通り、一実施形態において画像を例に説明したが、これに限定されず、例えばテキストや音声などの信号を含む対象物に広く適用可能であることを付言する。
対象物の類似度を判定する別の例として、対話文の類似度判定にも適用することが可能である。一実施形態において、ペルソナ像に近いユーザ(30代女性を例とする)が、「私 は 本田圭佑 が 好き」と発言したとする。別のユーザとして、A及びBがおり、Aが「おれ は 本田圭佑 が 好き」と発言し、Bが「私 は 香川真司 が 好き」と発言したとする。このような場合、対話文の類似度の判断は、従来の自然言語処理では一般的に、低頻度語である「本田圭佑」が一致しているAの発言の方が、元の発言と近いという評価がなされる。しかしながら、事前に学習を重ねることで、「発言の内容」のみならず、「狙っているペルソナ像のユーザの発言」と近い別ユーザの発言を探したい場合、上述の多層ニューラルネットワークを利用することで、対話用例検索において、ある狙っているペルソナ像のユーザの発言内容とテイスト、キャラクター性の近い発話文を発する別のユーザの発言を抽出するといったタスクにも適用可能であることが確認されている。このような対話用例検索においては、低頻度語のみならず、「おれ」、「私」などの比較的頻度が高い単語も、このような分類に有効であり、このような単語間の相違が重要視される距離空間を構成することで、上述の画像のみならず、他の対象物として「テイストやキャラクター性の近い発話文」などを探すための類似度判定に有効となる。
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
10 サーバ
20 通信網
30 端末装置
41 情報記憶部
42 画像情報制御部
51 情報記憶部
52 端末側制御部
100 コンボリューション第1層
110 コンボリューション第2層
120 コンボリューション第3層
130 コンボリューション第4層
140 コンボリューション第5層
150 全結合層
160 シグモイド層
170 近似・距離比較層

Claims (13)

  1. 1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定する方法であって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、
    複数の対象物の各々から複数の特徴量を抽出するステップと、
    該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
    該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
    該変換出力値に基づき、類似度を判別するステップと、を実行させる、
    類似度判定方法。
  2. 請求項1に記載の方法であって、
    前記コンボリューションニューラルネットワーク(CNN)は、複数のコンボリューション層を備え、その後の全結合層の出力値を、前記出力値とすることを含む、
    方法。
  3. 請求項1又は2に記載の方法であって、
    前記コンボリューションニューラルネットワーク(CNN)は、5層のコンボリューション層を備え、その後の全結合層の出力値を、前記出力値とすることを含む、
    方法。
  4. 請求項1から3までのいずれか1項に記載の方法であって、
    前記コンボリューションニューラルネットワーク(CNN)は、5層のコンボリューション層及び1層の全結合層を備え、該全結合層の出力値を、前記出力値とすることを含む、
    方法。
  5. 請求項1から4までのいずれか1項に記載の方法であって、
    前記全結合層の出力値を所定範囲内の値域とする前記変換処理は、シグモイド関数を用いて行うことを含む、
    方法。
  6. 請求項1から5までのいずれか1項に記載の方法であって、
    前記全結合層の出力値を所定範囲内の値域とする前記変換処理は、シグモイド関数を用いて、出力値の値域が0から1の範囲となるよう行うことを含む、
    方法。
  7. 請求項1から6までのいずれか1項に記載の方法であって、
    該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々を近似し、該近似値を比較することにより行うことを含む、
    方法。
  8. 請求項1から6までのいずれか1項に記載の方法であって、
    該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々をLSHにより近似し、該近似値を比較することにより行うことを含む、
    方法。
  9. 請求項1から6までのいずれか1項に記載の方法であって、
    該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々のユークリッド距離、コサイン距離又はハミング距離による距離尺度を求め、該距離尺度を比較することにより行うことを含む、
    方法。
  10. ネットワークを介してユーザに商品画像を提示する方法であって、ユーザが検索した商品画像の提示に併せて、請求項1から9までのいずれか1項に記載の方法を用いて抽出された類似商品の画像をユーザに提示する方法。
  11. ネットワークを介してユーザにコンテンツを配信する方法であって、ユーザが視聴するコンテンツの配信に併せて、請求項1から9までのいずれか1項に記載の方法を用いて抽出された類似コンテンツをユーザに提示する方法。
  12. 1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定するシステムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、
    複数の対象物の各々から複数の特徴量を抽出するステップと、
    該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
    該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
    該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させる、
    類似度判定システム。
  13. 1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定するプログラムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、
    複数の対象物の各々から複数の特徴量を抽出するステップと、
    該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
    該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
    該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させる、
    類似度判定を行うプログラム。
JP2016100332A 2016-05-19 2016-05-19 対象物の類似度判定のためのプログラム、システム、及び方法 Active JP6345203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016100332A JP6345203B2 (ja) 2016-05-19 2016-05-19 対象物の類似度判定のためのプログラム、システム、及び方法
US15/599,847 US20170337449A1 (en) 2016-05-19 2017-05-19 Program, system, and method for determining similarity of objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016100332A JP6345203B2 (ja) 2016-05-19 2016-05-19 対象物の類似度判定のためのプログラム、システム、及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018098341A Division JP6734323B2 (ja) 2018-05-22 2018-05-22 対象物の類似度判定のためのプログラム、システム、及び方法

Publications (2)

Publication Number Publication Date
JP2017207947A JP2017207947A (ja) 2017-11-24
JP6345203B2 true JP6345203B2 (ja) 2018-06-20

Family

ID=60330241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016100332A Active JP6345203B2 (ja) 2016-05-19 2016-05-19 対象物の類似度判定のためのプログラム、システム、及び方法

Country Status (2)

Country Link
US (1) US20170337449A1 (ja)
JP (1) JP6345203B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018148493A1 (en) * 2017-02-09 2018-08-16 Painted Dog, Inc. Methods and apparatus for detecting, filtering, and identifying objects in streaming video
JP6873027B2 (ja) * 2017-12-06 2021-05-19 株式会社日立製作所 学習システム及び画像検索システム
CN108921040A (zh) * 2018-06-08 2018-11-30 Oppo广东移动通信有限公司 图像处理方法和装置、存储介质、电子设备
EP3835962B1 (en) * 2018-08-07 2024-05-15 Sony Group Corporation Sensor data processing apparatus, sensor data processing method, sensor device, and information processing apparatus
JP7442964B2 (ja) * 2018-09-26 2024-03-05 キヤノンメディカルシステムズ株式会社 医用情報収集システム及び医用情報収集装置
JP2020086692A (ja) * 2018-11-20 2020-06-04 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP7357454B2 (ja) 2019-03-25 2023-10-06 三菱電機株式会社 特徴特定装置、特徴特定方法及び特徴特定プログラム
US20220164381A1 (en) 2019-03-29 2022-05-26 Semiconductor Energy Laboratory Co., Ltd. Image retrieval system and image retrieval method
JP7213754B2 (ja) 2019-05-27 2023-01-27 株式会社日立製作所 情報処理システム、推論方法、攻撃検知方法、推論実行プログラム及び攻撃検知プログラム
JP7105749B2 (ja) * 2019-09-27 2022-07-25 Kddi株式会社 キャラクタに応じたテキストを発話するエージェントのプログラム、装置及び方法
JP2022062959A (ja) * 2020-10-09 2022-04-21 株式会社エンビジョンAescジャパン データ処理システム、モデル生成装置、データ処理方法、モデル生成方法、及びプログラム
JP2022079322A (ja) * 2020-11-16 2022-05-26 沖電気工業株式会社 学習装置、学習方法および学習プログラム
JPWO2022201955A1 (ja) * 2021-03-26 2022-09-29

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512351A (ja) * 1991-07-02 1993-01-22 Toshiba Corp 診断支援システム
JP2004178240A (ja) * 2002-11-27 2004-06-24 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供システム,コンテンツ提供方法およびコンテンツ提供プログラム
JP2009251850A (ja) * 2008-04-04 2009-10-29 Albert:Kk 類似画像検索を用いた商品推薦システム
JP2010182078A (ja) * 2009-02-05 2010-08-19 Olympus Corp 画像処理装置及び画像処理プログラム
JP5445062B2 (ja) * 2009-11-24 2014-03-19 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US10095917B2 (en) * 2013-11-04 2018-10-09 Facebook, Inc. Systems and methods for facial representation

Also Published As

Publication number Publication date
US20170337449A1 (en) 2017-11-23
JP2017207947A (ja) 2017-11-24

Similar Documents

Publication Publication Date Title
JP6345203B2 (ja) 対象物の類似度判定のためのプログラム、システム、及び方法
US10839790B2 (en) Sequence-to-sequence convolutional architecture
US10726208B2 (en) Consumer insights analysis using word embeddings
US20180181569A1 (en) Visual category representation with diverse ranking
CN103268317B (zh) 对图像进行语义注释的系统和方法
US11182806B1 (en) Consumer insights analysis by identifying a similarity in public sentiments for a pair of entities
US20200110842A1 (en) Techniques to process search queries and perform contextual searches
CN113688304A (zh) 搜索推荐模型的训练方法、搜索结果排序的方法及装置
US11416565B2 (en) Techniques to leverage machine learning for search engine optimization
WO2016169016A1 (en) Method and system for presenting search result in search result card
US10558759B1 (en) Consumer insights analysis using word embeddings
KR20160032714A (ko) 링크 연관 분석 시스템들 및 방법들
US10509863B1 (en) Consumer insights analysis using word embeddings
CN105917334A (zh) 搜索结果中的相干问题回答
CN102144231A (zh) 用于基于文本的图像搜索结果重新排序的自适应视觉相似性
US10803248B1 (en) Consumer insights analysis using word embeddings
US10296540B1 (en) Determine image relevance using historical action data
US11615263B2 (en) Content prediction based on pixel-based vectors
CN112789626A (zh) 可扩展和压缩的神经网络数据储存系统
WO2021076729A1 (en) Improved search engine using joint learning for multi-label classification
Cai et al. MIFAD-net: multi-layer interactive feature fusion network with angular distance loss for face emotion recognition
WO2024041483A1 (zh) 一种推荐方法及相关装置
US10685184B1 (en) Consumer insights analysis using entity and attribute word embeddings
US11030539B1 (en) Consumer insights analysis using word embeddings
US11062371B1 (en) Determine product relevance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171019

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171019

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180522

R150 Certificate of patent or registration of utility model

Ref document number: 6345203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250