(57)【要約】【課題】  異なる対象物であっても似た要素を有する複数の対象物がある場合に当該要素を備える対象物を精度良くかつ効率的に抽出することを実現する。【解決手段】  一実施形態に係る対象物の類似度判定方法は、１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて、１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させる。【選択図】  図３
2018160256.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定する方法であって、
１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、
複数の対象物の各々から複数の特徴量を抽出するステップと、
該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
該変換出力値に基づき、類似度を判別するステップと、を実行させる、
類似度判定方法。
【請求項２】
請求項１に記載の方法であって、
前記コンボリューションニューラルネットワーク（ＣＮＮ）は、複数のコンボリューション層を備え、その後の全結合層の出力値を、前記出力値とすることを含む、
方法。
【請求項３】
請求項１又は２に記載の方法であって、
前記コンボリューションニューラルネットワーク（ＣＮＮ）は、５層のコンボリューション層を備え、その後の全結合層の出力値を、前記出力値とすることを含む、
方法。
【請求項４】
請求項１から３までのいずれか１項に記載の方法であって、
前記コンボリューションニューラルネットワーク（ＣＮＮ）は、５層のコンボリューション層及び１層の全結合層を備え、該全結合層の出力値を、前記出力値とすることを含む、
方法。
【請求項５】
請求項１から４までのいずれか１項に記載の方法であって、
前記全結合層の出力値を所定範囲内の値域とする前記変換処理は、シグモイド関数を用いて行うことを含む、
方法。
【請求項６】
請求項１から５までのいずれか１項に記載の方法であって、
前記全結合層の出力値を所定範囲内の値域とする前記変換処理は、シグモイド関数を用いて、出力値の値域が０から１の範囲となるよう行うことを含む、
方法。
【請求項７】
請求項１から６までのいずれか１項に記載の方法であって、
該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々を近似し、該近似値を比較することにより行うことを含む、
方法。
【請求項８】
請求項１から６までのいずれか１項に記載の方法であって、
該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々をＬＳＨにより近似し、該近似値を比較することにより行うことを含む、
方法。
【請求項９】
請求項１から６までのいずれか１項に記載の方法であって、
該変換出力値に基づく類似画像を判別するステップは、前記変換処理後の出力値の各々のユークリッド距離、コサイン距離又はハミング距離による距離尺度を求め、該距離尺度を比較することにより行うことを含む、
方法。
【請求項１０】
ネットワークを介してユーザに商品画像を提示する方法であって、ユーザが検索した商品画像の提示に併せて、請求項１から９までのいずれか１項に記載の方法を用いて抽出された類似商品の画像をユーザに提示する方法。
【請求項１１】
ネットワークを介してユーザにコンテンツを配信する方法であって、ユーザが視聴するコンテンツの配信に併せて、請求項１から９までのいずれか１項に記載の方法を用いて抽出された類似コンテンツをユーザに提示する方法。
【請求項１２】
１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定するシステムであって、
１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、
複数の対象物の各々から複数の特徴量を抽出するステップと、
該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させる、
類似度判定システム。
【請求項１３】
１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定するプログラムであって、
１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、
複数の対象物の各々から複数の特徴量を抽出するステップと、
該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、
該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、
該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させる、
類似度判定を行うプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の類似度判定のためのプログラム、システム、及び方法に関し、詳しくは、コンボリューションニューラルネットワーク（ＣＮＮ）を用いた対象物の類似度判定のためのプログラム、システム、及び方法に関する。
【背景技術】
【０００２】
ニューラルネットワークは、脳のニューロン及びシナプスを模して考えられたモデルであり、学習および識別の２段階の処理により構成される。学習段階では、多数の入力からその特徴を学習し、識別処理のためのニューラルネットワークを構築する。識別段階では、ニューラルネットワークを用いて新たな入力が何であるかを識別する。近年では、学習段階の技術が大きく発展しており、例えばディープラーニングにより、高い表現力を持った多層ニューラルネットワークを構築できるようになりつつある。特に、音声認識や画像認識のテストでは、多層ニューラルネットワークの有効性が確かめられ、ディープラーニングの有効性が広く認知されるようになっている。
【０００３】
このような多層ニューラルネットワークを構築し、画像識別を行う方法として、コンボリューションニューラルネットワーク（ＣＮＮ）を用いる方法が知られている（例えば、非特許文献１）。非特許文献１におけるコンボリューションニューラルネットワーク（ＣＮＮ）を用いた多層ニューラルネットワークは、ＡｌｅｘＮｅｔと称され、ＬｅＮｅｔ５を多階層に拡張し、さらに、各ユニットの出力関数として線形整流ユニット（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ（ＲｅＬＵ））等を用いたことを特徴としている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ＩｍａｇｅＮｅｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”、Ａｌｅｘ  Ｋｒｉｚｈｅｖｓｋｙ、Ｉｌｙａ  Ｓｕｔｓｋｅｖｅｒ、Ｇｅｏｆｆｒｅｙ  Ｅ．  Ｈｉｎｔｏｎ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した従来の画像識別方法では、画像に含まれる対象物の特定の際の誤答率をこれまで以上に低減することができることが分かっている。しかしながら、当該方法では、多くの要素が含まれる対象物のうちある特定の要素に注目して検索を行う場合などにおいては、精度良くかつ効率的に抽出することができないという問題があった。
【０００６】
本発明の実施形態は、対象物に含まれる要素間の類似度判定を適切に行うことを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る方法は、１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定する類似画像判定方法であって、１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の
後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。
【０００８】
本発明の一実施形態に係るシステムは、１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定する類似度判定システムであって、１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数コンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。
【０００９】
上述した一実施形態に係るプログラムは、１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて複数の対象物間の類似度を判定するプログラムであって、１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物画像の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させるように構成される。
【発明の効果】
【００１０】
本発明の様々な実施形態によって、コンボリューションニューラルネットワーク（ＣＮＮ）を用いた多層ニューラルネットワークを活用することにより、対象物に含まれる要素間の類似度判定を適切に行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るシステム１の構成を概略的に示す構成図。
【図２】一実施形態におけるシステム１が有する機能を概略的に示すブロック図。
【図３】一実施形態における類似画像判定フローの一例を示す図。
【図４】一実施形態における既存のコンボリューションネットワークを用いた各画像の対象物のカテゴリ分類のフローの一例を示す図。
【図５】一実施形態におけるシグモイド関数の一例を示すフロー図。
【図６】一実施形態における距離尺度の比較による類似度判断の概念を示す図。
【発明を実施するための形態】
【００１２】
図１は、本発明の一実施形態に係るシステム１の構成を概略的に示す構成図である。一実施形態におけるシステム１は、図示するように、サーバ１０と、このサーバ１０とインターネット等の通信網２０を介して接続された複数の端末装置３０と、を備え、端末装置３０のユーザに対して電子商取引サービスを提供する。また、一実施形態におけるシステム１は、キャラクタを用いたゲームや電子書籍、動画コンテンツ、及び音楽コンテンツ等のゲーム以外の様々なデジタルコンテンツの提供サービス、並びに、テキストチャット（ミニメール）、サークル、アバター、日記、伝言板、及び挨拶等の様々なユーザ間のコミュニケーション機能を実現するコミュニケーションプラットフォーム（ＳＮＳプラットフォーム）サービス等の様々なインターネットサービスを、端末装置３０のユーザに対して提供し得る。
【００１３】
一実施形態におけるサーバ１０は、一般的なコンピュータとして構成されており、図示のとおり、ＣＰＵ（コンピュータプロセッサ）１１と、メインメモリ１２と、ユーザＩ／Ｆ１３と、通信Ｉ／Ｆ１４と、ストレージ（記憶装置）１５と、を含み、これらの各構成要素がバス１７を介して互いに電気的に接続されている。ＣＰＵ１１は、ストレージ１５からオペレーティングシステムやその他様々なプログラムをメインメモリ１２にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ１２は、ＣＰＵ１１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭ等によって構成される。なお、一実施形態におけるサーバ１０は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。なお、上述したＣＰＵ（コンピュータプロセッサ）１１は一例であり、これに代えて、ＧＰＵ（グラフィックス・プロセッシング・ユニット）を用いるものであってもよいことは言うまでもない。ＣＰＵ及び／又はＧＰＵをどのように選択するかは、所望のコストないし効率などを勘案した上で適宜決定することが可能である。以下、ＣＰＵ１１を例として説明する。
【００１４】
ユーザＩ／Ｆ１３は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、ＣＰＵ１１の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信Ｉ／Ｆ１４は、ハードウェア、ファームウェア、又はＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網２０を介して端末装置３０と通信可能に構成される。
【００１５】
ストレージ１５は、例えば磁気ディスクドライブで構成され、各種サービスを提供するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ１５には、各種サービスを提供するための各種データも記憶され得る。ストレージ１５に記憶され得る各種データは、サーバ１０と通信可能に接続されるサーバ１０とは物理的に別体のデータベースサーバ等に格納されてもよい。
【００１６】
一実施形態において、サーバ１０は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して各種サービスを端末装置３０のユーザに対して提供し得る。ストレージ１５には、このウェブページに対応するＨＴＭＬデータも記憶され得る。ＨＴＭＬデータは、様々な画像データが関連付けられ、又、ＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。
【００１７】
また、一実施形態において、サーバ１０は、端末装置３０においてウェブブラウザ以外の実行環境上で実行されるアプリケーション（プログラム）を介して各種サービスを提供し得る。ストレージ１５には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Ｏｂｊｅｃｔｉｖｅ−ＣやＪａｖａ（登録商標）等のプログラミング言語を用いて作成される。ストレージ１５に記憶されたアプリケーションは、配信要求に応じて端末装置３０に配信される。なお、端末装置３０は、こうしたアプリケーションを、サーバ１０以外の他のサーバ（アプリマーケットを提供するサーバ）等からダウンロードすることもできる。
【００１８】
このように、サーバ１０は、各種サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ（ＨＴＭＬデータ）を端末装置３０からの要求に応答して配信することができる。また、上述したように、サーバ１０は、このようなウェブページ（ウェブブラウザ）を用いた各種サービスの提供とは代替的に、又は、これに加えて、端末装置３０において実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。いずれの態様で当該サービスを提供するにしても、サーバ１０は、各種サービスの提供に必要な各種データ（画面表示に必要なデータを含む）を端末装置３０との間で送受信することができる。また、サーバ１０は、各ユーザを識別する識
別情報（例えば、ユーザＩＤ）毎に各種データを記憶し、ユーザ毎に各種サービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ１０は、ユーザの認証処理や課金処理等を行う機能を有することもできる。
【００１９】
一実施形態における端末装置３０は、サーバ１０が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、スマートフォン、タブレット端末、ウェアラブルデバイス、パーソナルコンピュータ、及びゲーム専用端末等が含まれ得るが、これらに限定されるものではない。
【００２０】
端末装置３０は、一般的なコンピュータとして構成され、図１に示すとおり、ＣＰＵ（コンピュータプロセッサ）３１と、メインメモリ３２と、ユーザＩ／Ｆ３３と、通信Ｉ／Ｆ３４と、ストレージ（記憶装置）３５と、を含み、これらの各構成要素がバス３７を介して互いに電気的に接続されている。
【００２１】
ＣＰＵ３１は、ストレージ３５からオペレーティングシステムやその他様々なプログラムをメインメモリ３２にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ３２は、ＣＰＵ３１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭ等によって構成される。
【００２２】
ユーザＩ／Ｆ３３は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、ＣＰＵ３１の演算結果を出力する液晶ディスプレイ等の情報表示装置とを含む。通信Ｉ／Ｆ３４は、ハードウェア、ファームウェア、又は、ＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網２０を介してサーバ１０と通信可能に構成される。
【００２３】
ストレージ３５は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ３５は、サーバ１０から受信した様々なアプリケーションが記憶され得る。
【００２４】
端末装置３０は、例えば、ＨＴＭＬ形式のファイル（ＨＴＭＬデータ）を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ１０から取得したＨＴＭＬデータを解釈して、受信したＨＴＭＬデータに対応するウェブページを表示することができる。また、端末装置３０のウェブブラウザには、ＨＴＭＬデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。
【００２５】
端末装置３０のユーザがサーバ１０によって提供されるサービスを利用する際には、例えば、ＨＴＭＬデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置３０に画面表示される。ユーザは、端末装置３０のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置３０のウェブブラウザやＮｇＣｏｒｅ（商標）等のアプリケーション実行環境の機能を介してサーバ１０に伝達される。
【００２６】
次に、このように構成された一実施形態におけるシステム１が有する機能について説明する。上述したように、一実施形態におけるシステム１は、ユーザに対して様々なインターネットサービスを提供し得るが、特に、電子商取引サービスやコンテンツ配信サービスを提供することが可能である。以降、一実施形態におけるシステム１の機能について、電子商取引サービスを提供する機能を例として説明する。
【００２７】
図２は、システム１（サーバ１０及び端末装置３０）が有する機能を概略的に示すブロック図である。まず、一実施形態におけるサーバ１０が有する機能について説明する。サーバ１０は、図示するように、様々な情報を記憶する情報記憶部４１と、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部４２と、を備える。なお、一実施形態において画像を例に説明するが、類似度判断の対象はこれに限定されず、例えばテキストや音声などの信号を含み得る。本明細書において、これらを対象物と定義するものとする。したがって、上記の画像情報制御部４２は、対象物情報制御部４２と読み替えることも可能である。以降、説明の便宜のため、類似度判定の対象物として画像を例として説明することとする。これらの機能は、ＣＰＵ１１及びメインメモリ１２等のハードウェア、並びに、ストレージ１５に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をＣＰＵ１１が実行することによって実現される。また、図２に例示したサーバ１０が有する機能の一部又は全部は、端末装置３０によって実現され、又は、サーバ１０と端末装置３０とが協働することによって実現され得る。
【００２８】
一実施形態における情報記憶部４１は、ストレージ１５等によって実現され、図２に示すように、電子商取引サービスにおいて提供する商品の画像情報を管理する画像情報管理テーブル４１ａと、当該商品の画像と類似する商品の画像に係る画像情報を管理する類似画像情報管理テーブル４１ｂと、を有する。
【００２９】
次に、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部４２の機能について説明する。画像情報制御部４２は、機械学習された多層構造のニューラルネットワークを用いて画像を多次元ベクトルとして表現し、最終的には当該ベクトルの近似やベクトル同士の距離を比較することで類似画像を判定する。このようにして抽出された類似画像は、上記類似画像情報管理テーブル４１ｂに格納される。
【００３０】
より具体的には、画像情報制御部４２の１つの機能である類似画像判定方法を図３に示す。一実施形態における類似画像判定方法は、まず、対象となる画像から特徴量を抽出する（入力層）。その後、コンボリューション層（畳込み層（Ｃｏｎｖｏｌｕｔｉｏｎ  ｌａｙｅｒ）ともいう）１００〜１４０を５層経て、６層目として、全結合層（Ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）１５０を通る。
【００３１】
上述の第１層から第５層のコンボリューション層ないし第６層の全結合層について、図４に基づき説明する。図４に、ＡｌｅｘＮｅｔのコンボリューションネットワークのアーキテクチャを示す（図４は、非特許文献１に開示の図２に対応するものである）。図示するように、ＡｌｅｘＮｅｔのコンボリューションネットワークは、５層のコンボリューション層（畳込み層）と３層の全結合層により構成される。最後の全結合層の出力は、１０００種類ソフトマックスにかけられ１０００個のクラスに分類される。図２に示すように、第２、４及び５層のコンボリューション層のカーネルのそれぞれは、前層の同じＧＰＵの層のカーネルとのみ結合されている。第３のコンボリューション層のカーネルは、第２の層の全てのカーネルと結合している。
【００３２】
全結合層のニューロンは、全層の全てのニューロンと結合している。第１及び第２のコンボリューション層には、正規化層（Ｒｅｓｐｏｎｓｅ−ｎｏｒｍａｌｉｚａｔｉｏｎ  ｌａｙｅｒ）が続く構成を採る。また、マックス・プーリング層（Ｍａｘ−ｐｏｏｌｉｎｇ  ｌａｙｅｒ）が、当該正規化層及び第５のコンボリューション層に続く構成を採る。ＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）も、全てのコンボリューション層及び全結合層の出力に適用される。
【００３３】
第１のコンボリューション層は、サイズ２２４×２２４×３の入力イメージをサイズ１１×１１×３の９６個のカーネル（４ピクセルのスライド）でフィルタにかける。次に、第２のコンボリューション層は、第１のコンボリューション層の（正規化及びプーリング後の）出力を入力とし、これをサイズ５×５×４８の２５６個のカーネルでフィルタにかける。第３、第４及び第５のコンボリューション層は、これらの間に正規化層やプーリング層の介在がない状態で相互に接続されている。第３のコンボリューション層は、第２のコンボリューション層の（正規化及びプーリング後の）出力と結合されるサイズ３×３×２５６の３８４個のカーネルを有している。第４のコンボリューション層は、サイズ３×３×１９２の３８４個のカーネルを有し、第５のコンボリューション層は、サイズ３×３×１９２の２５６個のカーネルを有する。また、全結合層は、それぞれ４０９６個のニューロンを有する。
【００３４】
一実施形態に係る発明では、図４に示した既存のＡｌｅｘＮｅｔのコンボリューションネットワークのアーキテクチャを活用することを１つの特徴とするものである。しかしながら、該コンボリューションネットワークの最終出力値をそのまま使用すると、各画像の対象物のカテゴリ分類のための特徴量が大きく抽出されすぎてしまっているため、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度を判別することが困難であることが分かってきた。そこで、一実施形態に係る発明では、実験を繰り返した結果、ＡｌｅｘＮｅｔの第１層から第５層のコンボリューション層の後の第６層の全結合層の出力値、すなわち、対象物のカテゴリを分類するのにより適した特徴量の影響が相対的に低く、対象物のその他の特徴量の影響が相対的に高い状態の出力値を敢えて利用することで、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度の判別が有効となり得ることを見出した。
【００３５】
ここで、一実施形態に係る発明では、既存のＡｌｅｘＮｅｔのコンボリューションネットワークのアーキテクチャを利用したが、コンボリューション層や全結合層の層数に限定を行うことを意図するものではなく、コストや効率化の観点を踏まえ、適宜変更可能であることは言うまでもない。
【００３６】
以上のように、一実施形態に係る発明では、コンボリューション第１層１００、コンボリューション第２層１１０、コンボリューション第３層１２０、コンボリューション第４層１３０、コンボリューション第５層１４０を経て、その後の第６層の全結合層の出力値を利用するものである。しかしながら、当該６層目の出力値は、−∞から∞までの値域を取るため、その値域を所定範囲内にするため、シグモイド関数を用いて、出力値を０から１までの範囲とすることができる。７層目のシグモイド層１６０は、図５に実線で示すシグモイド関数を適用すると、出力値を０から１までの範囲とすることができる。一方、図５の点線で示すシグモイド関数を適用すると、出力値は、−１から１までの範囲とすることができる。
【００３７】
この段階でシグモイド層を経て、出力値を０から１とすることで、その後の近似や距離尺度の比較を簡易かつ効率的に行うことができる。また、出力値をこのように制限することで、画像に含まれる対象物のカテゴリ分類の判定精度は若干低下するが、一実施形態における類似画像判定は、同一カテゴリの対象物を含む画像と類似するものを抽出することのみならず、異なるカテゴリの対象物であっても類似の特徴を備える対象物を含む画像同士を抽出ことも目的としているため、より精度が高く、かつ、効率的な類似画像の抽出方法であることが種々の実験により明らかとなった。
【００３８】
次に、シグモイド層１６０を経て、出力値が０から１までの範囲の変換出力値を元に、近似・距離比較層１７０において、複数の画像間における類似度を判定する。この複数の画像間における類似度を判断する方法として、ハッシュ法やステップ関数を用いた近似最
近傍探索法がある。具体的には、ハッシュ法を用いる近似最近傍探索の手法として、Ｌｏｃａｌ  Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ（ＬＳＨ）を用いることが可能である。ＬＳＨは、局所的に鋭敏、すなわち、距離が近い程近いハッシュ値を取る確率が高いハッシュ関数を用いることで、ベクトル空間における近似最近傍点をを抽出することができ、データ空間を線形分割してクエリと同じ領域に入った点を抽出し，距離計算を行うものである。なお、このようなハッシュ関数は、距離が近い入力が高い確率で衝突する特徴を備えるハッシュ関数を指し、距離が近いデータは高い確率で同じ値にマッピングされるようなハッシュテーブルを作成でき、複数のハッシュ関数を用いることで、距離が一定以上の場合に衝突確率を大幅に低下するよう構成することが可能である。これにより、複数の画像間の類似度を判断し、画像の類似の有無を判定する。
【００３９】
一方、近似・距離比較層１７０において、複数の画像間における類似度を判断する別の方法として、特徴量空間内における各画像に対応する点間の距離を求める方法があり、ユークリッド距離、ハミング距離ないしコサイン距離などがこの目的のために使用される。この方法は、距離尺度を比較することを特徴とするもので、特徴量空間内において近接した位置にある複数の画像は互いに類似しているということを示すものである。この方法では、複数の画像について特徴量空間内における相互の距離を算出することで、画像間の類似度合いを推定することが可能である。２種類の特徴量Ａ、Ｂによる二次元の特徴量空間を例として説明するが、より高い次元の特徴量空間においても以下の考え方を拡張して適用することが可能である。一例として、特徴量Ｘ１、Ｘ２をそれぞれ座標軸とする二次元特徴量空間に、１０枚の画像（Ｐ＝１０）をその特徴量の値に応じてプロットした場合を考える。図６において、内部に数字を付した丸印は特徴量空間における各画像の位置を示し、数字はそれぞれの画像の画像番号を表している。
【００４０】
図６における例では、画像１、６及び９がそれぞれ類似し、画像５、８及び１０もそれぞれ類似すると判断された。また、画像３及び７も類似しているが、画像２及び４はこれらと類似する画像がないと判断されている。
【００４１】
このように、近似・距離比較層を経て、最終的に特定の画像と類似する画像が判定される。なお、学習段階では、センサが生成した多数の入力データからその特徴を学習し、コンボリューションネットワークを構築する。構築されたコンボリューションネットワークは、画像情報制御部４２における各演算部で用いられる重み係数として表され、例えば、ある数字「ｘ」が描かれた画像に対応する入力データが入力されたときに、入力データが「ｘ」であることを出力するような重み係数を見出す。多くの入力データを受信することで、ニューラルネットワークの精度は向上する。なお、本実施形態では、画像情報制御部４２は公知の手法によりコンボリューションネットワークを構築するものとする。
【００４２】
以上、サーバ１０が有する機能について説明した。次に、一実施形態における端末装置３０が有する機能について説明する。端末装置３０は、図２に示すように、様々な情報を記憶する情報記憶部５１と、一実施形態における画像情報を端末側で表示させるための制御を実行する端末側制御部５２と、を有する。これらの機能は、ＣＰＵ３１及びメインメモリ３２等のハードウェア、並びに、ストレージ３５に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をＣＰＵ３１が実行することによって実現される。また、図２に例示した端末装置３０が有する機能の一部又は全部は、サーバ１０と端末装置３０とが協働することによって実現され、又は、サーバ１０によって実現され得る。
【００４３】
一実施形態における情報記憶部５１は、メインメモリ３２又はストレージ３５等によって実現される。一実施形態における端末側制御部５２は、画像情報受信の要求や受信した画像情報の表示などの様々な端末側の処理の実行を制御する。例えば、端末側制御部５２
は、ユーザが衣服や眼鏡といった商品を購入するために、その候補となる画像を検索し、その結果をサーバ１０から受信して表示させたり、また、サーバ１０から受信した当該画像と類似する画像を併せて表示させることができる。
【００４４】
このようにすることで、電子商取引やデジタルコンテンツの配信などのサービスにおいて、取引の対象となる画像や配信の対象となるコンテンツに含まれる画像を類似した画像があれば、サーバ１０はこれを画像情報としてユーザの端末３０に送信し表示させることが可能となる。このようにすることで、ユーザは購入しようとする商品と似た商品を併せて効率的に探し出し、購入することができたり、配信を希望するコンテンツと似た画像を含むコンテンツを併せて紹介することで、ユーザは自分の趣向に近い画像情報をより容易に把握することができ、場合により、このような画像情報の購入や配信を併せて行うことが可能となる。なお、上述の通り、一実施形態において画像を例に説明したが、これに限定されず、例えばテキストや音声などの信号を含む対象物に広く適用可能であることを付言する。
【００４５】
対象物の類似度を判定する別の例として、対話文の類似度判定にも適用することが可能である。一実施形態において、ペルソナ像に近いユーザ（３０代女性を例とする）が、「私  は  本田圭佑  が  好き」と発言したとする。別のユーザとして、Ａ及びＢがおり、Ａが「おれ  は  本田圭佑  が  好き」と発言し、Ｂが「私  は  香川真司  が  好き」と発言したとする。このような場合、対話文の類似度の判断は、従来の自然言語処理では一般的に、低頻度語である「本田圭佑」が一致しているＡの発言の方が、元の発言と近いという評価がなされる。しかしながら、事前に学習を重ねることで、「発言の内容」のみならず、「狙っているペルソナ像のユーザの発言」と近い別ユーザの発言を探したい場合、上述の多層ニューラルネットワークを利用することで、対話用例検索において、ある狙っているペルソナ像のユーザの発言内容とテイスト、キャラクター性の近い発話文を発する別のユーザの発言を抽出するといったタスクにも適用可能であることが確認されている。このような対話用例検索においては、低頻度語のみならず、「おれ」、「私」などの比較的頻度が高い単語も、このような分類に有効であり、このような単語間の相違が重要視される距離空間を構成することで、上述の画像のみならず、他の対象物として「テイストやキャラクター性の近い発話文」などを探すための類似度判定に有効となる。
【００４６】
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【００４７】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び／又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
【００４８】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明され
た場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【符号の説明】
【００４９】
１０  サーバ
２０  通信網
３０  端末装置
４１  情報記憶部
４２  画像情報制御部
５１  情報記憶部
５２  端末側制御部
１００  コンボリューション第１層
１１０  コンボリューション第２層
１２０  コンボリューション第３層
１３０  コンボリューション第４層
１４０  コンボリューション第５層
１５０  全結合層
１６０  シグモイド層
１７０  近似・距離比較層
【図１】
2018160256.tif 000003
【図２】
2018160256.tif 000004
【図３】
2018160256.tif 000005
【図４】
2018160256.tif 000006
【図５】
2018160256.tif 000007
【図６】
2018160256.tif 000008