JP6734323B2 - Program, system, and method for determining similarity of objects - Google Patents

Program, system, and method for determining similarity of objects Download PDF

Info

Publication number
JP6734323B2
JP6734323B2 JP2018098341A JP2018098341A JP6734323B2 JP 6734323 B2 JP6734323 B2 JP 6734323B2 JP 2018098341 A JP2018098341 A JP 2018098341A JP 2018098341 A JP2018098341 A JP 2018098341A JP 6734323 B2 JP6734323 B2 JP 6734323B2
Authority
JP
Japan
Prior art keywords
image
output value
program according
similar
convolution
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
JP2018098341A
Other languages
Japanese (ja)
Other versions
JP2018160256A5 (en
JP2018160256A (en
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 JP2018098341A priority Critical patent/JP6734323B2/en
Publication of JP2018160256A publication Critical patent/JP2018160256A/en
Publication of JP2018160256A5 publication Critical patent/JP2018160256A5/ja
Application granted granted Critical
Publication of JP6734323B2 publication Critical patent/JP6734323B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Description

本発明は、対象物の類似度判定のためのプログラム、システム、及び方法に関し、詳しくは、コンボリューションニューラルネットワーク(CNN)を用いた対象物の類似度判定のためのプログラム、システム、及び方法に関する。 The present invention relates to a program, a system, and a method for determining the similarity of an object, and more particularly, to a program, a system, and a method for determining the similarity of an object using a convolutional neural network (CNN). ..

ニューラルネットワークは、脳のニューロン及びシナプスを模して考えられたモデルであり、学習および識別の2段階の処理により構成される。学習段階では、多数の入力からその特徴を学習し、識別処理のためのニューラルネットワークを構築する。識別段階では、ニューラルネットワークを用いて新たな入力が何であるかを識別する。近年では、学習段階の技術が大きく発展しており、例えばディープラーニングにより、高い表現力を持った多層ニューラルネットワークを構築できるようになりつつある。特に、音声認識や画像認識のテストでは、多層ニューラルネットワークの有効性が確かめられ、ディープラーニングの有効性が広く認知されるようになっている。 The neural network is a model that is created by imitating neurons and synapses in the brain, and is configured by a two-step process of learning and discrimination. In the learning stage, the features are learned from a large number of inputs, and a neural network for discrimination processing is constructed. In the identification stage, a neural network is used to identify what the new input is. In recent years, the technology at the learning stage has been greatly developed, and it is becoming possible to construct a multilayer neural network having high expressive power, for example, by deep learning. Especially, in the tests of voice recognition and image recognition, the effectiveness of the multilayer neural network has been confirmed, and the effectiveness of deep learning has been widely recognized.

このような多層ニューラルネットワークを構築し、画像識別を行う方法として、コンボリューションニューラルネットワーク(CNN)を用いる方法が知られている(例えば、非特許文献1)。非特許文献1におけるコンボリューションニューラルネットワーク(CNN)を用いた多層ニューラルネットワークは、AlexNetと称され、LeNet5を多階層に拡張し、さらに、各ユニットの出力関数として線形整流ユニット(Rectified Linear Unit(ReLU))等を用いたことを特徴としている。 A method of using a convolutional neural network (CNN) is known as a method of constructing such a multilayer neural network and performing image identification (for example, Non-Patent Document 1). A multilayer neural network using a convolutional neural network (CNN) in Non-Patent Document 1 is referred to as AlexNet, which extends LeNet5 into multiple layers, and further, a linear rectifying unit (ReLU) as an output function of each unit. )) etc. are used.

“ImageNet Classification with Deep Convolutional Neural Networks”、Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton"ImageNet Classification with Deep Conservative Neural Networks", Alex Krizhevsky, Ilya Suskever, Geoffrey E. Hinton

上述した従来の画像識別方法では、画像に含まれる対象物の特定の際の誤答率をこれまで以上に低減することができることが分かっている。しかしながら、当該方法では、多くの要素が含まれる対象物のうちある特定の要素に注目して検索を行う場合などにおいては、精度良くかつ効率的に抽出することができないという問題があった。 It has been found that the above-described conventional image identification method can further reduce the error rate when specifying an object included in an image. However, this method has a problem that extraction cannot be performed accurately and efficiently when a search is performed by focusing on a specific element of an object including many elements.

本発明の実施形態は、対象物に含まれる要素間の類似度判定を適切に行うことを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。 An embodiment of the present invention has an object to appropriately determine the degree of similarity between elements included in an object. Other objects of embodiments of the present invention will become apparent by reference to the entire specification.

本発明の一実施形態に係る方法は、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定する類似画像判定方法であって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の
後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。
A method according to an embodiment of the present invention is a similar image determination method for determining a similarity between a plurality of objects using a convolutional neural network (CNN) including one or a plurality of convolution layers and a fully connected layer. Then, according to being executed on one or more computers, a step of extracting a plurality of feature amounts from each of the plurality of objects on the one or more computers, and each of the plurality of objects. Extracting the output values of all connected layers after one or more convolutional layers of the convolutional neural network (CNN) based on the plurality of feature quantities from It is configured to execute a step of performing a conversion process for setting a range of values within a range to extract a converted output value, and a step of determining a degree of similarity of an object based on the converted output value.

本発明の一実施形態に係るシステムは、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定する類似度判定システムであって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数コンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させるよう構成される。 A system according to an embodiment of the present invention is a similarity determination system for determining a similarity between a plurality of objects using a convolutional neural network (CNN) including one or more convolution layers and fully connected layers. Then, according to being executed on one or more computers, a step of extracting a plurality of feature amounts from each of the plurality of objects on the one or more computers, and each of the plurality of objects. Extracting output values of all connected layers after one or more convolution layers of a convolutional neural network (CNN) based on the plurality of feature quantities from The step of performing a conversion process to extract the converted output value and the step of determining the similarity of the object based on the converted output value are configured to be executed.

上述した一実施形態に係るプログラムは、1又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク(CNN)を用いて複数の対象物間の類似度を判定するプログラムであって、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物画像の各々からの該複数の特徴量に基づき、コンボリューションニューラルネットワーク(CNN)の1又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップと、を実行させるように構成される。 The program according to one embodiment described above is a program for determining the degree of similarity between a plurality of objects using a convolutional neural network (CNN) including one or a plurality of convolution layers and a fully connected layer. Or, in response to being executed on a plurality of computers, a step of extracting a plurality of feature amounts from each of the plurality of objects in the one or more computers, and a step of extracting the plurality of feature amounts from each of the plurality of object images. A step of extracting output values of all connected layers after one or a plurality of convolution layers of a convolutional neural network (CNN) based on a plurality of feature quantities; and a range of output values of the all connected layers within a predetermined range. And a step of extracting a converted output value, and a step of determining the degree of similarity of the object based on the converted output value.

本発明の様々な実施形態によって、コンボリューションニューラルネットワーク(CNN)を用いた多層ニューラルネットワークを活用することにより、対象物に含まれる要素間の類似度判定を適切に行うことが可能となる。 According to various embodiments of the present invention, by utilizing a multilayer neural network using a convolutional neural network (CNN), it is possible to appropriately perform similarity determination between elements included in an object.

本発明の一実施形態に係るシステム1の構成を概略的に示す構成図。The block diagram which shows roughly the structure of the system 1 which concerns on one Embodiment of this invention. 一実施形態におけるシステム1が有する機能を概略的に示すブロック図。The block diagram which shows roughly the function which the system 1 in one embodiment has. 一実施形態における類似画像判定フローの一例を示す図。The figure which shows an example of the similar image determination flow in one embodiment. 一実施形態における既存のコンボリューションネットワークを用いた各画像の対象物のカテゴリ分類のフローの一例を示す図。The figure which shows an example of the flow of the category classification of the object of each image using the existing convolution network in one Embodiment. 一実施形態におけるシグモイド関数の一例を示すフロー図。FIG. 6 is a flow chart showing an example of a sigmoid function in one embodiment. 一実施形態における距離尺度の比較による類似度判断の概念を示す図。The figure which shows the concept of the similarity determination by the distance scale comparison in one embodiment.

図1は、本発明の一実施形態に係るシステム1の構成を概略的に示す構成図である。一実施形態におけるシステム1は、図示するように、サーバ10と、このサーバ10とインターネット等の通信網20を介して接続された複数の端末装置30と、を備え、端末装置30のユーザに対して電子商取引サービスを提供する。また、一実施形態におけるシステム1は、キャラクタを用いたゲームや電子書籍、動画コンテンツ、及び音楽コンテンツ等のゲーム以外の様々なデジタルコンテンツの提供サービス、並びに、テキストチャット(ミニメール)、サークル、アバター、日記、伝言板、及び挨拶等の様々なユーザ間のコミュニケーション機能を実現するコミュニケーションプラットフォーム(SNSプラットフォーム)サービス等の様々なインターネットサービスを、端末装置30のユーザに対して提供し得る。 FIG. 1 is a configuration diagram schematically showing a configuration of a system 1 according to an embodiment of the present invention. As shown in the figure, a system 1 according to an embodiment includes a server 10 and a plurality of terminal devices 30 connected to the server 10 via a communication network 20 such as the Internet. Provide e-commerce services. Further, the system 1 according to one embodiment provides a service for providing various digital contents other than games such as games using characters, electronic books, moving image contents, and music contents, as well as text chat (minimail), circles, and avatars. , Diary, message board, and various Internet services such as a communication platform (SNS platform) service that realizes communication functions between various users such as greetings can be provided to the user of the terminal device 30.

一実施形態におけるサーバ10は、一般的なコンピュータとして構成されており、図示のとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ(記憶装置)15と、を含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15からオペレーティングシステムやその他様々なプログラムをメインメモリ12にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。なお、一実施形態におけるサーバ10は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。なお、上述したCPU(コンピュータプロセッサ)11は一例であり、これに代えて、GPU(グラフィックス・プロセッシング・ユニット)を用いるものであってもよいことは言うまでもない。CPU及び/又はGPUをどのように選択するかは、所望のコストないし効率などを勘案した上で適宜決定することが可能である。以下、CPU11を例として説明する。 The server 10 in one embodiment is configured as a general computer, and as illustrated, a CPU (computer processor) 11, a main memory 12, a user I/F 13, a communication I/F 14, and a storage (storage). Device 15), and these respective components are electrically connected to each other via a bus 17. The CPU 11 loads the operating system and various other programs from the storage 15 into the main memory 12, and executes the instructions included in the loaded program. The main memory 12 is used to store a program executed by the CPU 11, and is composed of, for example, a DRAM or the like. It should be noted that the server 10 in one embodiment may be configured using a plurality of computers each having the hardware configuration described above. The CPU (computer processor) 11 described above is an example, and it goes without saying that a GPU (graphics processing unit) may be used instead. How to select the CPU and/or GPU can be appropriately determined in consideration of desired cost or efficiency. Hereinafter, the CPU 11 will be described as an example.

ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。 The user I/F 13 includes, for example, an information input device such as a keyboard or a mouse that receives an operator's input, and an information output device such as a liquid crystal display that outputs a calculation result of the CPU 11. The communication I/F 14 is implemented as hardware, firmware, communication software such as a TCP/IP driver or a PPP driver, or a combination thereof, and is configured to be communicable with the terminal device 30 via the communication network 20.

ストレージ15は、例えば磁気ディスクドライブで構成され、各種サービスを提供するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、各種サービスを提供するための各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。 The storage 15 is composed of, for example, a magnetic disk drive, and stores various programs such as a control program for providing various services. Further, the storage 15 may also store various data for providing various services. The various data that can be stored in the storage 15 may be stored in a database server or the like that is physically separate from the server 10 that is communicatively connected to the server 10.

一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して各種サービスを端末装置30のユーザに対して提供し得る。ストレージ15には、このウェブページに対応するHTMLデータも記憶され得る。HTMLデータは、様々な画像データが関連付けられ、又、JavaScript(登録商標)等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。 In one embodiment, the server 10 also functions as a web server that manages a website composed of a plurality of hierarchically structured web pages, and can provide various services to the user of the terminal device 30 via such website. .. The storage 15 may also store HTML data corresponding to this web page. Various image data are associated with the HTML data, and various programs described in a script language such as JavaScript (registered trademark) may be embedded.

また、一実施形態において、サーバ10は、端末装置30においてウェブブラウザ以外の実行環境上で実行されるアプリケーション(プログラム)を介して各種サービスを提供し得る。ストレージ15には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Objective−CやJava(登録商標)等のプログラミング言語を用いて作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信される。なお、端末装置30は、こうしたアプリケーションを、サーバ10以外の他のサーバ(アプリマーケットを提供するサーバ)等からダウンロードすることもできる。 In addition, in one embodiment, the server 10 may provide various services via an application (program) executed on an execution environment other than a web browser in the terminal device 30. Such applications may also be stored in the storage 15. This application is created using a programming language such as Objective-C or Java (registered trademark), for example. The application stored in the storage 15 is delivered to the terminal device 30 in response to the delivery request. The terminal device 30 can also download such an application from a server other than the server 10 (a server that provides an application market) or the like.

このように、サーバ10は、各種サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末装置30からの要求に応答して配信することができる。また、上述したように、サーバ10は、このようなウェブページ(ウェブブラウザ)を用いた各種サービスの提供とは代替的に、又は、これに加えて、端末装置30において実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。いずれの態様で当該サービスを提供するにしても、サーバ10は、各種サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末装置30との間で送受信することができる。また、サーバ10は、各ユーザを識別する識
別情報(例えば、ユーザID)毎に各種データを記憶し、ユーザ毎に各種サービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ10は、ユーザの認証処理や課金処理等を行う機能を有することもできる。
In this way, the server 10 can manage a website for providing various services and deliver a web page (HTML data) constituting the website in response to a request from the terminal device 30. Further, as described above, the server 10 is provided with an application executed in the terminal device 30 as an alternative to or in addition to the provision of various services using such a web page (web browser). Various services can be provided based on communication. Regardless of which mode the service is provided, the server 10 can send and receive various data necessary for providing various services (including data necessary for screen display) to and from the terminal device 30. Further, the server 10 can store various data for each identification information (for example, user ID) that identifies each user, and can manage the provision status of various services for each user. Although detailed description is omitted, the server 10 can also have a function of performing user authentication processing, billing processing, and the like.

一実施形態における端末装置30は、サーバ10が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、スマートフォン、タブレット端末、ウェアラブルデバイス、パーソナルコンピュータ、及びゲーム専用端末等が含まれ得るが、これらに限定されるものではない。 The terminal device 30 in the embodiment is an arbitrary information processing device that displays a web page of a website provided by the server 10 on a web browser and implements an execution environment for executing an application, such as a smartphone or a tablet terminal. , A wearable device, a personal computer, a game terminal, and the like, but not limited thereto.

端末装置30は、一般的なコンピュータとして構成され、図1に示すとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ(記憶装置)35と、を含み、これらの各構成要素がバス37を介して互いに電気的に接続されている。 The terminal device 30 is configured as a general computer, and as shown in FIG. 1, a CPU (computer processor) 31, a main memory 32, a user I/F 33, a communication I/F 34, and a storage (storage device) 35. , And each of these components is electrically connected to each other via a bus 37.

CPU31は、ストレージ35からオペレーティングシステムやその他様々なプログラムをメインメモリ32にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。 The CPU 31 loads the operating system and various other programs from the storage 35 into the main memory 32, and executes the instructions included in the loaded program. The main memory 32 is used to store the program executed by the CPU 31, and is composed of, for example, a DRAM or the like.

ユーザI/F33は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、CPU31の演算結果を出力する液晶ディスプレイ等の情報表示装置とを含む。通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。 The user I/F 33 includes, for example, an information input device such as a touch panel, a keyboard, a button, and a mouse that receives user input, and an information display device such as a liquid crystal display that outputs the calculation result of the CPU 31. The communication I/F 34 is implemented as hardware, firmware, communication software such as a TCP/IP driver or a PPP driver, or a combination thereof, and is configured to communicate with the server 10 via the communication network 20.

ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ35は、サーバ10から受信した様々なアプリケーションが記憶され得る。 The storage 35 is composed of, for example, a magnetic disk drive or a flash memory, and stores various programs such as an operating system. Further, the storage 35 may store various applications received from the server 10.

端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30のウェブブラウザには、HTMLデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。 The terminal device 30 includes, for example, a web browser for interpreting an HTML format file (HTML data) and displaying the screen, and interprets and receives the HTML data acquired from the server 10 by the function of the web browser. The web page corresponding to the HTML data can be displayed. In addition, plug-in software capable of executing various types of files associated with HTML data may be incorporated in the web browser of the terminal device 30.

端末装置30のユーザがサーバ10によって提供されるサービスを利用する際には、例えば、HTMLデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置30に画面表示される。ユーザは、端末装置30のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のウェブブラウザやNgCore(商標)等のアプリケーション実行環境の機能を介してサーバ10に伝達される。 When the user of the terminal device 30 uses the service provided by the server 10, for example, HTML data, an animation instructed by an application, an operation icon, or the like is displayed on the screen of the terminal device 30. The user can input various instructions using the touch panel or the like of the terminal device 30. The instruction input by the user is transmitted to the server 10 via the function of the web browser of the terminal device 30 and the application execution environment such as NgCore (trademark).

次に、このように構成された一実施形態におけるシステム1が有する機能について説明する。上述したように、一実施形態におけるシステム1は、ユーザに対して様々なインターネットサービスを提供し得るが、特に、電子商取引サービスやコンテンツ配信サービスを提供することが可能である。以降、一実施形態におけるシステム1の機能について、電子商取引サービスを提供する機能を例として説明する。 Next, the function of the system 1 according to the embodiment configured as described above will be described. As described above, the system 1 according to the embodiment can provide various internet services to the user, and in particular, can provide the electronic commerce service and the content distribution service. Hereinafter, the function of the system 1 according to the embodiment will be described by taking a function of providing an electronic commerce service as an example.

図2は、システム1(サーバ10及び端末装置30)が有する機能を概略的に示すブロック図である。まず、一実施形態におけるサーバ10が有する機能について説明する。サーバ10は、図示するように、様々な情報を記憶する情報記憶部41と、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部42と、を備える。なお、一実施形態において画像を例に説明するが、類似度判断の対象はこれに限定されず、例えばテキストや音声などの信号を含み得る。本明細書において、これらを対象物と定義するものとする。したがって、上記の画像情報制御部42は、対象物情報制御部42と読み替えることも可能である。以降、説明の便宜のため、類似度判定の対象物として画像を例として説明することとする。これらの機能は、CPU11及びメインメモリ12等のハードウェア、並びに、ストレージ15に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU11が実行することによって実現される。また、図2に例示したサーバ10が有する機能の一部又は全部は、端末装置30によって実現され、又は、サーバ10と端末装置30とが協働することによって実現され得る。 FIG. 2 is a block diagram schematically showing the functions of the system 1 (server 10 and terminal device 30). First, the function of the server 10 according to the embodiment will be described. As illustrated, the server 10 includes an information storage unit 41 that stores various pieces of information, and an image information control unit for presenting a specific image to a user and selecting and presenting an image similar thereto, in one embodiment. 42. Although an image is described as an example in the embodiment, the target of similarity determination is not limited to this, and may include, for example, a signal such as text or voice. In the present specification, these shall be defined as objects. Therefore, the image information control unit 42 can be read as the object information control unit 42. Hereinafter, for convenience of description, an image will be described as an example of the object of similarity determination. These functions are realized by the hardware such as the CPU 11 and the main memory 12 and various programs and tables stored in the storage 15 operating in cooperation with each other, and, for example, the instructions included in the loaded program. Is realized by the CPU 11 executing. Further, some or all of the functions of the server 10 illustrated in FIG. 2 may be realized by the terminal device 30 or by the server 10 and the terminal device 30 cooperating with each other.

一実施形態における情報記憶部41は、ストレージ15等によって実現され、図2に示すように、電子商取引サービスにおいて提供する商品の画像情報を管理する画像情報管理テーブル41aと、当該商品の画像と類似する商品の画像に係る画像情報を管理する類似画像情報管理テーブル41bと、を有する。 The information storage unit 41 in one embodiment is realized by the storage 15 or the like, and as shown in FIG. 2, an image information management table 41a that manages image information of products provided in the electronic commerce service, and an image similar to the images of the products. A similar image information management table 41b that manages image information related to the image of the product to be processed.

次に、一実施形態におけるユーザへの特定の画像の提示及びこれに類似する画像を選択し提示するための画像情報制御部42の機能について説明する。画像情報制御部42は、機械学習された多層構造のニューラルネットワークを用いて画像を多次元ベクトルとして表現し、最終的には当該ベクトルの近似やベクトル同士の距離を比較することで類似画像を判定する。このようにして抽出された類似画像は、上記類似画像情報管理テーブル41bに格納される。 Next, the function of the image information control unit 42 for presenting a specific image to the user and selecting and presenting an image similar thereto will be described in an embodiment. The image information control unit 42 uses a machine-learned multilayered neural network to represent an image as a multidimensional vector, and finally determines a similar image by approximating the vector or comparing distances between the vectors. To do. The similar image thus extracted is stored in the similar image information management table 41b.

より具体的には、画像情報制御部42の1つの機能である類似画像判定方法を図3に示す。一実施形態における類似画像判定方法は、まず、対象となる画像から特徴量を抽出する(入力層)。その後、コンボリューション層(畳込み層(Convolution layer)ともいう)100〜140を5層経て、6層目として、全結合層(Fully−connected layer)150を通る。 More specifically, FIG. 3 shows a similar image determination method which is one function of the image information control unit 42. In the similar image determination method according to the embodiment, first, the feature amount is extracted from the target image (input layer). After that, the convolution layers (also referred to as convolution layers) 100 to 140 are passed through five layers, and as a sixth layer, a fully-connected layer 150 is passed.

上述の第1層から第5層のコンボリューション層ないし第6層の全結合層について、図4に基づき説明する。図4に、AlexNetのコンボリューションネットワークのアーキテクチャを示す(図4は、非特許文献1に開示の図2に対応するものである)。図示するように、AlexNetのコンボリューションネットワークは、5層のコンボリューション層(畳込み層)と3層の全結合層により構成される。最後の全結合層の出力は、1000種類ソフトマックスにかけられ1000個のクラスに分類される。図2に示すように、第2、4及び5層のコンボリューション層のカーネルのそれぞれは、前層の同じGPUの層のカーネルとのみ結合されている。第3のコンボリューション層のカーネルは、第2の層の全てのカーネルと結合している。 The above-mentioned first to fifth convolution layers to sixth to sixth fully coupled layers will be described with reference to FIG. FIG. 4 shows the architecture of the AlexNet convolution network (FIG. 4 corresponds to FIG. 2 disclosed in Non-Patent Document 1). As illustrated, the AlexNet convolution network is composed of five convolution layers (convolutional layers) and three fully connected layers. The output of the final fully connected layer is subjected to 1000 kinds of softmax and classified into 1000 classes. As shown in FIG. 2, each of the kernels of the second, fourth and fifth convolution layers is only combined with the kernel of the same GPU layer of the previous layer. The kernel of the third convolution layer is combined with all the kernels of the second layer.

全結合層のニューロンは、全層の全てのニューロンと結合している。第1及び第2のコンボリューション層には、正規化層(Response−normalization layer)が続く構成を採る。また、マックス・プーリング層(Max−pooling layer)が、当該正規化層及び第5のコンボリューション層に続く構成を採る。ReLU(Rectified Linear Unit)も、全てのコンボリューション層及び全結合層の出力に適用される。 The neurons in all connected layers are connected to all the neurons in all connected layers. The first and second convolution layers have a configuration in which a normalization layer (Response-normalization layer) follows. Further, the Max-pooling layer is configured to follow the normalization layer and the fifth convolution layer. ReLU (Rectified Linear Unit) is also applied to the outputs of all convolutional layers and fully connected layers.

第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個のニューロンを有する。 The first convolution layer filters the input image of size 224x224x3 with 96 kernels of size 11x11x3 (4 pixel slides). The second convolution layer then takes the output (after normalization and pooling) of the first convolution layer as input and filters it with 256 kernels of size 5x5x48. The third, fourth, and fifth convolution layers are connected to each other with no normalization layer or pooling layer interposed between them. The third convolution layer has 384 kernels of size 3x3x256 combined with the output (after normalization and pooling) of the second convolution layer. The fourth convolution layer has 384 kernels of size 3x3x192 and the fifth convolution layer has 256 kernels of size 3x3x192. In addition, each fully connected layer has 4096 neurons.

一実施形態に係る発明では、図4に示した既存のAlexNetのコンボリューションネットワークのアーキテクチャを活用することを1つの特徴とするものである。しかしながら、該コンボリューションネットワークの最終出力値をそのまま使用すると、各画像の対象物のカテゴリ分類のための特徴量が大きく抽出されすぎてしまっているため、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度を判別することが困難であることが分かってきた。そこで、一実施形態に係る発明では、実験を繰り返した結果、AlexNetの第1層から第5層のコンボリューション層の後の第6層の全結合層の出力値、すなわち、対象物のカテゴリを分類するのにより適した特徴量の影響が相対的に低く、対象物のその他の特徴量の影響が相対的に高い状態の出力値を敢えて利用することで、対象物のカテゴリに拘らない態様で対象物を含む各画像間の類似度の判別が有効となり得ることを見出した。 The invention according to one embodiment is characterized by utilizing the architecture of the existing AlexNet convolution network shown in FIG. However, if the final output value of the convolution network is used as it is, the feature amount for categorizing the object of each image is extracted too much. It has been found that it is difficult to determine the degree of similarity between images including. Therefore, in the invention according to the embodiment, as a result of repeating the experiment, the output value of the fully coupled layer of the sixth layer after the convolution layers of the first layer to the fifth layer of AlexNet, that is, the category of the object is determined. By using the output value in which the influence of the feature amount, which is more suitable for classification, is relatively low and the influence of the other feature amount of the target object is relatively high, it is possible to perform the operation regardless of the target category. We have found that the determination of the similarity between the images including the object can be effective.

ここで、一実施形態に係る発明では、既存のAlexNetのコンボリューションネットワークのアーキテクチャを利用したが、コンボリューション層や全結合層の層数に限定を行うことを意図するものではなく、コストや効率化の観点を踏まえ、適宜変更可能であることは言うまでもない。 Here, in the invention according to one embodiment, the architecture of the existing convolution network of AlexNet is used, but it is not intended to limit the number of layers of the convolution layer or the total coupling layer, and the cost and efficiency are not limited. Needless to say, it can be changed as appropriate in consideration of the change.

以上のように、一実施形態に係る発明では、コンボリューション第1層100、コンボリューション第2層110、コンボリューション第3層120、コンボリューション第4層130、コンボリューション第5層140を経て、その後の第6層の全結合層の出力値を利用するものである。しかしながら、当該6層目の出力値は、−∞から∞までの値域を取るため、その値域を所定範囲内にするため、シグモイド関数を用いて、出力値を0から1までの範囲とすることができる。7層目のシグモイド層160は、図5に実線で示すシグモイド関数を適用すると、出力値を0から1までの範囲とすることができる。一方、図5の点線で示すシグモイド関数を適用すると、出力値は、−1から1までの範囲とすることができる。 As described above, in the invention according to the embodiment, the convolution first layer 100, the convolution second layer 110, the convolution third layer 120, the convolution fourth layer 130, and the convolution fifth layer 140, The output value of the fully-connected layer of the sixth layer after that is used. However, since the output value of the sixth layer takes a value range from −∞ to ∞, the output value is set to a range of 0 to 1 by using a sigmoid function in order to keep the value range within a predetermined range. You can The output value of the sigmoid layer 160 of the seventh layer can be set in the range of 0 to 1 by applying the sigmoid function shown by the solid line in FIG. On the other hand, when the sigmoid function shown by the dotted line in FIG. 5 is applied, the output value can be in the range of -1 to 1.

この段階でシグモイド層を経て、出力値を0から1とすることで、その後の近似や距離尺度の比較を簡易かつ効率的に行うことができる。また、出力値をこのように制限することで、画像に含まれる対象物のカテゴリ分類の判定精度は若干低下するが、一実施形態における類似画像判定は、同一カテゴリの対象物を含む画像と類似するものを抽出することのみならず、異なるカテゴリの対象物であっても類似の特徴を備える対象物を含む画像同士を抽出ことも目的としているため、より精度が高く、かつ、効率的な類似画像の抽出方法であることが種々の実験により明らかとなった。 By changing the output value from 0 to 1 through the sigmoid layer at this stage, subsequent approximation and comparison of distance scales can be performed easily and efficiently. Further, by limiting the output value in this way, the classification accuracy of the category classification of the target object included in the image is slightly lowered, but the similar image determination in one embodiment is similar to the image including the target object of the same category. It is also intended to extract images that include objects that have similar characteristics even if they are objects of different categories, so that it is more accurate and efficient. It was clarified by various experiments that this is an image extraction method.

次に、シグモイド層160を経て、出力値が0から1までの範囲の変換出力値を元に、近似・距離比較層170において、複数の画像間における類似度を判定する。この複数の画像間における類似度を判断する方法として、ハッシュ法やステップ関数を用いた近似最
近傍探索法がある。具体的には、ハッシュ法を用いる近似最近傍探索の手法として、Local Sensitive Hashing(LSH)を用いることが可能である。LSHは、局所的に鋭敏、すなわち、距離が近い程近いハッシュ値を取る確率が高いハッシュ関数を用いることで、ベクトル空間における近似最近傍点をを抽出することができ、データ空間を線形分割してクエリと同じ領域に入った点を抽出し,距離計算を行うものである。なお、このようなハッシュ関数は、距離が近い入力が高い確率で衝突する特徴を備えるハッシュ関数を指し、距離が近いデータは高い確率で同じ値にマッピングされるようなハッシュテーブルを作成でき、複数のハッシュ関数を用いることで、距離が一定以上の場合に衝突確率を大幅に低下するよう構成することが可能である。これにより、複数の画像間の類似度を判断し、画像の類似の有無を判定する。
Next, through the sigmoid layer 160, the approximation/distance comparison layer 170 determines the degree of similarity between the plurality of images based on the converted output value in the range of 0 to 1. As a method for determining the similarity between the plurality of images, there are a hash method and an approximate nearest neighbor search method using a step function. Specifically, Local Sensitive Hashing (LSH) can be used as an approximate nearest neighbor search method using the hash method. LSH can extract an approximate nearest neighbor point in a vector space by using a hash function that is locally sensitive, that is, a hash value that has a high probability of taking a closer hash value as the distance is shorter, and the data space is linearly divided. The distance is calculated by extracting the points that entered the same area as the query. Note that such a hash function refers to a hash function having a characteristic that inputs with a short distance collide with a high probability, and it is possible to create a hash table in which data with a short distance is mapped to the same value with high probability. By using the hash function of, it is possible to reduce the collision probability significantly when the distance is equal to or more than a certain distance. As a result, the degree of similarity between the plurality of images is determined, and whether or not the images are similar is determined.

一方、近似・距離比較層170において、複数の画像間における類似度を判断する別の方法として、特徴量空間内における各画像に対応する点間の距離を求める方法があり、ユークリッド距離、ハミング距離ないしコサイン距離などがこの目的のために使用される。この方法は、距離尺度を比較することを特徴とするもので、特徴量空間内において近接した位置にある複数の画像は互いに類似しているということを示すものである。この方法では、複数の画像について特徴量空間内における相互の距離を算出することで、画像間の類似度合いを推定することが可能である。2種類の特徴量A、Bによる二次元の特徴量空間を例として説明するが、より高い次元の特徴量空間においても以下の考え方を拡張して適用することが可能である。一例として、特徴量X1、X2をそれぞれ座標軸とする二次元特徴量空間に、10枚の画像(P=10)をその特徴量の値に応じてプロットした場合を考える。図6において、内部に数字を付した丸印は特徴量空間における各画像の位置を示し、数字はそれぞれの画像の画像番号を表している。 On the other hand, in the approximation/distance comparison layer 170, as another method of determining the similarity between a plurality of images, there is a method of obtaining a distance between points corresponding to each image in the feature amount space, such as a Euclidean distance and a Hamming distance. Or cosine distance etc. are used for this purpose. This method is characterized by comparing distance measures, and shows that a plurality of images located at close positions in the feature amount space are similar to each other. With this method, it is possible to estimate the degree of similarity between images by calculating the mutual distances in the feature amount space for a plurality of images. A two-dimensional feature amount space composed of two types of feature amounts A and B will be described as an example, but the following concept can be extended and applied to a higher-dimensional feature amount space. As an example, consider a case where ten images (P=10) are plotted according to the value of the feature amount in a two-dimensional feature amount space having the feature amounts X1 and X2 as coordinate axes. In FIG. 6, circles with numbers inside indicate the positions of the respective images in the feature amount space, and the numbers indicate the image numbers of the respective images.

図6における例では、画像1、6及び9がそれぞれ類似し、画像5、8及び10もそれぞれ類似すると判断された。また、画像3及び7も類似しているが、画像2及び4はこれらと類似する画像がないと判断されている。 In the example in FIG. 6, it was determined that images 1, 6 and 9 were similar, and images 5, 8 and 10 were also similar. Further, although the images 3 and 7 are similar, it is determined that the images 2 and 4 have no images similar to them.

このように、近似・距離比較層を経て、最終的に特定の画像と類似する画像が判定される。なお、学習段階では、センサが生成した多数の入力データからその特徴を学習し、コンボリューションネットワークを構築する。構築されたコンボリューションネットワークは、画像情報制御部42における各演算部で用いられる重み係数として表され、例えば、ある数字「x」が描かれた画像に対応する入力データが入力されたときに、入力データが「x」であることを出力するような重み係数を見出す。多くの入力データを受信することで、ニューラルネットワークの精度は向上する。なお、本実施形態では、画像情報制御部42は公知の手法によりコンボリューションネットワークを構築するものとする。 In this way, the image similar to the specific image is finally determined through the approximation/distance comparison layer. In the learning stage, the features are learned from a large number of input data generated by the sensor to build a convolution network. The constructed convolution network is represented as a weighting coefficient used in each arithmetic unit in the image information control unit 42. For example, when input data corresponding to an image in which a certain number “x” is drawn is input, Find a weighting factor that outputs that the input data is "x". By receiving a lot of input data, the accuracy of the neural network improves. In the present embodiment, the image information control unit 42 constructs the convolution network by a known method.

以上、サーバ10が有する機能について説明した。次に、一実施形態における端末装置30が有する機能について説明する。端末装置30は、図2に示すように、様々な情報を記憶する情報記憶部51と、一実施形態における画像情報を端末側で表示させるための制御を実行する端末側制御部52と、を有する。これらの機能は、CPU31及びメインメモリ32等のハードウェア、並びに、ストレージ35に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU31が実行することによって実現される。また、図2に例示した端末装置30が有する機能の一部又は全部は、サーバ10と端末装置30とが協働することによって実現され、又は、サーバ10によって実現され得る。 The functions of the server 10 have been described above. Next, functions of the terminal device 30 according to the embodiment will be described. As shown in FIG. 2, the terminal device 30 includes an information storage unit 51 that stores various kinds of information and a terminal-side control unit 52 that executes control for displaying image information in the embodiment on the terminal side. Have. These functions are realized by the hardware such as the CPU 31 and the main memory 32, and various programs and tables stored in the storage 35 working in cooperation with each other. For example, the instructions included in the loaded program. Is realized by the CPU 31 executing. Further, some or all of the functions of the terminal device 30 illustrated in FIG. 2 may be realized by the server 10 and the terminal device 30 cooperating with each other, or may be realized by the server 10.

一実施形態における情報記憶部51は、メインメモリ32又はストレージ35等によって実現される。一実施形態における端末側制御部52は、画像情報受信の要求や受信した画像情報の表示などの様々な端末側の処理の実行を制御する。例えば、端末側制御部52
は、ユーザが衣服や眼鏡といった商品を購入するために、その候補となる画像を検索し、その結果をサーバ10から受信して表示させたり、また、サーバ10から受信した当該画像と類似する画像を併せて表示させることができる。
The information storage unit 51 in one embodiment is realized by the main memory 32, the storage 35, or the like. The terminal-side control unit 52 in one embodiment controls execution of various terminal-side processes such as a request for image information reception and display of received image information. For example, the terminal-side control unit 52
In order for the user to purchase a product such as clothes or glasses, an image that is a candidate for the product is searched and the result is received from the server 10 and displayed, or an image similar to the image received from the server 10. Can be displayed together.

このようにすることで、電子商取引やデジタルコンテンツの配信などのサービスにおいて、取引の対象となる画像や配信の対象となるコンテンツに含まれる画像を類似した画像があれば、サーバ10はこれを画像情報としてユーザの端末30に送信し表示させることが可能となる。このようにすることで、ユーザは購入しようとする商品と似た商品を併せて効率的に探し出し、購入することができたり、配信を希望するコンテンツと似た画像を含むコンテンツを併せて紹介することで、ユーザは自分の趣向に近い画像情報をより容易に把握することができ、場合により、このような画像情報の購入や配信を併せて行うことが可能となる。なお、上述の通り、一実施形態において画像を例に説明したが、これに限定されず、例えばテキストや音声などの信号を含む対象物に広く適用可能であることを付言する。 By doing so, in a service such as electronic commerce or distribution of digital contents, if there is an image similar to the image to be traded or the image included in the content to be distributed, the server 10 displays the image. The information can be transmitted to the user's terminal 30 and displayed. By doing so, the user can efficiently find and purchase products similar to the product to be purchased, and also introduce contents including images similar to the contents desired to be distributed. As a result, the user can more easily understand the image information that is close to his/her taste, and in some cases, it becomes possible to purchase and distribute such image information together. As described above, the image has been described as an example in the embodiment, but the present invention is not limited to this, and it can be widely applied to objects including signals such as text and voice.

対象物の類似度を判定する別の例として、対話文の類似度判定にも適用することが可能である。一実施形態において、ペルソナ像に近いユーザ(30代女性を例とする)が、「私 は 本田圭佑 が 好き」と発言したとする。別のユーザとして、A及びBがおり、Aが「おれ は 本田圭佑 が 好き」と発言し、Bが「私 は 香川真司 が 好き」と発言したとする。このような場合、対話文の類似度の判断は、従来の自然言語処理では一般的に、低頻度語である「本田圭佑」が一致しているAの発言の方が、元の発言と近いという評価がなされる。しかしながら、事前に学習を重ねることで、「発言の内容」のみならず、「狙っているペルソナ像のユーザの発言」と近い別ユーザの発言を探したい場合、上述の多層ニューラルネットワークを利用することで、対話用例検索において、ある狙っているペルソナ像のユーザの発言内容とテイスト、キャラクター性の近い発話文を発する別のユーザの発言を抽出するといったタスクにも適用可能であることが確認されている。このような対話用例検索においては、低頻度語のみならず、「おれ」、「私」などの比較的頻度が高い単語も、このような分類に有効であり、このような単語間の相違が重要視される距離空間を構成することで、上述の画像のみならず、他の対象物として「テイストやキャラクター性の近い発話文」などを探すための類似度判定に有効となる。 As another example of determining the similarity of an object, it can be applied to the determination of the similarity of a dialogue sentence. In one embodiment, it is assumed that a user who is close to a persona image (a female in his 30s is an example) has said, “I like Keisuke Honda”. Suppose another user is A and B, and A says “I like Keisuke Honda” and B says “I like Shinji Kagawa”. In such a case, generally speaking, in the conventional natural language processing, the judgment of the similarity of the dialogue sentence is such that the utterance of A in which the low-frequency word "Keisuke Honda" matches is closer to the original utterance. Is evaluated. However, if you want to find not only the “content of the statement” but also the statement of another user close to the “user's statement of the targeted persona image” by repeating learning in advance, use the above-mentioned multilayer neural network. Then, it was confirmed that it can be applied to the task of extracting a user's utterance content and taste of a target persona image, and the utterance of another user who utters an utterance with a close character, in the interactive example search. There is. In such an interactive example search, not only infrequent words, but also relatively frequent words such as "Ore" and "I" are effective for such classification, and differences between such words are By constructing a metric space that is regarded as important, it is effective in similarity determination for searching not only the above-mentioned image but also other objects such as “sentences with similar taste and character”.

本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。 The processes and procedures described in the present specification are implemented by software, hardware, or any combination thereof other than those explicitly described in the embodiments. More specifically, the processes and procedures described in this specification are implemented by implementing a logic equivalent to the process in a medium such as an integrated circuit, a volatile memory, a non-volatile memory, a magnetic disk, and an optical storage. Will be realized. In addition, the processes and procedures described in this specification can be implemented by various computers by mounting the processes and procedures as a computer program.

本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。 Even though it is described that the processes and procedures described herein are performed by a single device, software, component, or module, such processes or procedures may be implemented by multiple devices, multiple software, or multiple software. Components and/or multiple modules. Also, even though the data, tables, or databases described herein are described as being stored in a single memory, such data, tables, or databases may be provided in a single device. It may be stored in a distributed manner in a plurality of memories or a plurality of memories arranged in a plurality of devices. Furthermore, the software and hardware elements described herein may be implemented by integrating them into fewer components or breaking them down into more components.

本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明され
た場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
In the present specification, when the constituent elements of the invention are described as either a singular or a plural number, or even when the constituent elements are described without being limited to either a singular or plural number, a case where it is to be understood separately in context Except for the above, the constituent may be singular or plural.

10 サーバ
20 通信網
30 端末装置
41 情報記憶部
42 画像情報制御部
51 情報記憶部
52 端末側制御部
100 コンボリューション第1層
110 コンボリューション第2層
120 コンボリューション第3層
130 コンボリューション第4層
140 コンボリューション第5層
150 全結合層
160 シグモイド層
170 近似・距離比較層
10 server 20 communication network 30 terminal device 41 information storage unit 42 image information control unit 51 information storage unit 52 terminal side control unit 100 convolution first layer 110 convolution second layer 120 convolution third layer 130 convolution fourth layer 140 Convolution 5th layer 150 Fully coupled layer 160 Sigmoid layer 170 Approximation/distance comparison layer

Claims (13)

一又は複数のコンピュータに、
一の画像から特徴量を抽出する第1抽出ステップと、
前記特徴量に基づきコンボリューションニューラルネットワーク(CNN)の一又は複数のコンボリューション層の後の全結合層の出力値を抽出する第2抽出ステップと、
前記出力値に基づき前記一の画像と類似する類似画像を判別する判別ステップと、
を実行させるプログラム。
On one or more computers,
A first extraction step of extracting a feature amount from one image;
A second extraction step of extracting an output value of a fully connected layer after one or a plurality of convolution layers based on the feature amount;
A determination step of determining a similar image similar to the one image based on the output value;
A program to execute.
前記一又は複数のコンピュータに、前記全結合層の出力値を所定範囲内の値域に変換する変換ステップを実行させる、
請求項1に記載のプログラム。
Causing the one or more computers to perform a conversion step of converting the output value of the fully connected layer into a range within a predetermined range,
The program according to claim 1.
前記類似画像は、情報記憶部に保存される、
請求項1又は請求項2に記載のプログラム。
The similar image is stored in the information storage unit,
The program according to claim 1 or 2.
前記コンボリューションニューラルネットワーク(CNN)は、複数のコンボリューション層を備える、
請求項1から請求項3のいずれか1項に記載のプログラム。
The convolution neural network (CNN) comprises a plurality of convolution layers,
The program according to any one of claims 1 to 3.
前記コンボリューションニューラルネットワーク(CNN)は、5層のコンボリューション層を備える、
請求項4に記載のプログラム。
The convolutional neural network (CNN) comprises five convolution layers,
The program according to claim 4.
前記コンボリューションニューラルネットワーク(CNN)は、1層の全結合層を備える、
請求項4又は請求項5に記載のプログラム。
The convolutional neural network (CNN) comprises one fully connected layer,
The program according to claim 4 or claim 5.
前記変換ステップは、シグモイド関数を用いて実行される、
請求項2に記載のプログラム。
The converting step is performed using a sigmoid function,
The program according to claim 2.
前記変換ステップは、出力値の値域が0から1の範囲となるように実行される、
請求項7に記載のプログラム。
The conversion step is executed so that the range of the output value is in the range of 0 to 1.
The program according to claim 7.
前記判別ステップは、前記出力値を近似する近似ステップを含む、
請求項1から請求項8のいずれか1項に記載のプログラム。
The determination step includes an approximation step of approximating the output value,
The program according to any one of claims 1 to 8.
前記近似ステップは、前記出力値をLSHにより近似する、
請求項9に記載のプログラム。
In the approximating step, the output value is approximated by LSH,
The program according to claim 9.
前記判別ステップは、前記出力値と前記類似画像の候補とのユークリッド距離、コサイン距離又はハミング距離による距離尺度を求め、前記距離尺度を比較することにより前記類似画像を判別する、
請求項1から請求項10のいずれか1項に記載のプログラム。
The determining step determines a similar image by calculating a distance measure based on a Euclidean distance, a cosine distance, or a Hamming distance between the output value and the candidate for the similar image, and comparing the distance measures.
The program according to any one of claims 1 to 10.
一の画像から特徴量を抽出する第1抽出ステップと、
前記特徴量に基づきコンボリューションニューラルネットワーク(CNN)の一又は複数のコンボリューション層の後の全結合層の出力値を抽出する第2抽出ステップと、
前記出力値に基づき前記一の画像と類似する類似画像を判別する判別ステップと、
を備える画像処理方法。
A first extraction step of extracting a feature amount from one image;
A second extraction step of extracting an output value of a fully connected layer after one or a plurality of convolution layers based on the feature amount;
A determination step of determining a similar image similar to the one image based on the output value;
An image processing method comprising:
一又は複数のコンピュータを備えたシステムであって、
前記一又は複数のコンピュータは、
一の画像から特徴量を抽出する第1抽出ステップと、
前記特徴量に基づきコンボリューションニューラルネットワーク(CNN)の一又は複数のコンボリューション層の後の全結合層の出力値を抽出する第2抽出ステップと、
前記出力値に基づき前記一の画像と類似する類似画像を判別する判別ステップと、
を実行する、システム。
A system comprising one or more computers,
The one or more computers are
A first extraction step of extracting a feature amount from one image;
A second extraction step of extracting an output value of a fully connected layer after one or a plurality of convolution layers based on the feature amount;
A determination step of determining a similar image similar to the one image based on the output value;
A system that runs.
JP2018098341A 2018-05-22 2018-05-22 Program, system, and method for determining similarity of objects Active JP6734323B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018098341A JP6734323B2 (en) 2018-05-22 2018-05-22 Program, system, and method for determining similarity of objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018098341A JP6734323B2 (en) 2018-05-22 2018-05-22 Program, system, and method for determining similarity of objects

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016100332A Division JP6345203B2 (en) 2016-05-19 2016-05-19 Program, system, and method for determining similarity of objects

Publications (3)

Publication Number Publication Date
JP2018160256A JP2018160256A (en) 2018-10-11
JP2018160256A5 JP2018160256A5 (en) 2019-06-20
JP6734323B2 true JP6734323B2 (en) 2020-08-05

Family

ID=63795623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018098341A Active JP6734323B2 (en) 2018-05-22 2018-05-22 Program, system, and method for determining similarity of objects

Country Status (1)

Country Link
JP (1) JP6734323B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095917B2 (en) * 2013-11-04 2018-10-09 Facebook, Inc. Systems and methods for facial representation
CN105849747B (en) * 2013-11-30 2018-08-17 北京市商汤科技开发有限公司 Method and system for facial image identification

Also Published As

Publication number Publication date
JP2018160256A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6345203B2 (en) Program, system, and method for determining similarity of objects
CN109101537B (en) Multi-turn dialogue data classification method and device based on deep learning and electronic equipment
US10839790B2 (en) Sequence-to-sequence convolutional architecture
CN110012356B (en) Video recommendation method, device and equipment and computer storage medium
CN113688304A (en) Training method for search recommendation model, and method and device for sequencing search results
EP4322031A1 (en) Recommendation method, recommendation model training method, and related product
US11615263B2 (en) Content prediction based on pixel-based vectors
CN112085565A (en) Deep learning-based information recommendation method, device, equipment and storage medium
WO2024131762A1 (en) Recommendation method and related device
WO2024041483A1 (en) Recommendation method and related device
WO2023185925A1 (en) Data processing method and related apparatus
CN111582932A (en) Inter-scene information pushing method and device, computer equipment and storage medium
CN115879508A (en) Data processing method and related device
CN115309864A (en) Intelligent sentiment classification method and device for comment text, electronic equipment and medium
US11062371B1 (en) Determine product relevance
CN113626576A (en) Method and device for extracting relational characteristics in remote supervision, terminal and storage medium
CN117557331A (en) Product recommendation method and device, computer equipment and storage medium
KR102059017B1 (en) Control method, apparatus and system for knowledge sharing platform
JP5559750B2 (en) Advertisement processing apparatus, information processing system, and advertisement processing method
CN116910201A (en) Dialogue data generation method and related equipment thereof
CN116680401A (en) Document processing method, document processing device, apparatus and storage medium
CN116701593A (en) Chinese question-answering model training method based on GraphQL and related equipment thereof
JP6734323B2 (en) Program, system, and method for determining similarity of objects
CN115618950A (en) Data processing method and related device
CN110837596B (en) Intelligent recommendation method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200521

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: 20200623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200709

R150 Certificate of patent or registration of utility model

Ref document number: 6734323

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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