(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】学習装置、学習方法および学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231215BHJP
G06F 18/2411 20230101ALI20231215BHJP
G06F 18/2451 20230101ALI20231215BHJP
【FI】
G06N20/00
G06F18/2411
G06F18/2451
(21)【出願番号】P 2019134026
(22)【出願日】2019-07-19
【審査請求日】2022-06-17
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】宮崎 祐
(72)【発明者】
【氏名】宮崎 崇史
(72)【発明者】
【氏名】田平 章人
(72)【発明者】
【氏名】沼畑 大
(72)【発明者】
【氏名】熊田 圭佑
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2013-020335(JP,A)
【文献】特開2004-129266(JP,A)
【文献】特開2007-115245(JP,A)
【文献】MENON, AG et al.,"Concept Drift Detection in Phishing Using Autoencoders",Communications in Computer and Information Science [online],Springer, Singapore,2021年,Vol. 1366,pp. 208-220,[retrieved on 2023.06.14], Retrieved from the Internet: <URL: https://link.springer.com/chapter/10.1007/978-981-16-0419-5_17>,<DOI: 10.1007/978-981-16-0419-5_17>
【文献】"機械学習におけるConcept-Driftの対策または検知について",エンジニアブログ - GMOインターネットグループ グループ研究開発本部(次世代システム研究室) [online],2018年,[retrieved on 2023.06.14], Retrieved from the Internet: <URL: https://recruit.gmo.jp/engineer/jisedai/blog/concept-drift-detection-and-handling/>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00-20/20
G06F 18/24-18/2453
G06N 3/02- 3/10
(57)【特許請求の範囲】
【請求項1】
分類対象となる関数を取得する取得部と
前記取得部によって取得された前記関数を分類する分類モデルを学習する学習部と
を備え
、
前記学習部は、
複数の前記関数から構成される関数群を圏論の構造における対象と見做した場合に、前記圏論の構造における関手を前記分類モデルとして学習すること
を特徴とする学習装置。
【請求項2】
前記学習部は、
前記関手を自然変換により線形化した関手を分類モデルとして学習すること
を特徴とする請求項
1に記載の学習装置。
【請求項3】
コンピュータが実行する学習方法であって、
分類対象となる関数を取得する取得工程と
前記取得工程によって取得された前記関数を分類する分類モデルを学習する学習工程と
を含
み、
前記学習工程は、
複数の前記関数から構成される関数群を圏論の構造における対象と見做した場合に、前記圏論の構造における関手を前記分類モデルとして学習すること
を特徴とする学習方法。
【請求項4】
分類対象となる関数を取得する取得手順と
前記取得手順によって取得された前記関数を分類する分類モデルを学習する学習手順と
をコンピュータに実行させ
、
前記学習手順は、
複数の前記関数から構成される関数群を圏論の構造における対象と見做した場合に、前記圏論の構造における関手を前記分類モデルとして学習すること
を特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【0002】
従来、入力された入力データに対して、いわゆるサポートベクターマシーン(SVM;Support Vector Machine)を用いて、分類する技術がある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した技術では、画像処理のように画像自体を関数として表したような場合、その複数の関数の分類を行うことはできなかった。
【0005】
本願は、上記に鑑みてなされたものであって、関数自体を分類できる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る学習装置は、取得部と、学習部とを備える。前記取得部は、分類対象となる関数を取得する。前記学習部は、前記取得部によって取得された前記関数を分類する分類モデルを学習する。
【発明の効果】
【0007】
実施形態の一態様によれば、関数を分類できるモデルを生成することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る学習装置が実行する処理の一例を示す図である。
【
図2】
図2は、実施形態に係る学習装置のブロック図である。
【
図3】
図3は、実施形態に係る学習装置が実行する処理手順を示すフローチャートである。
【
図4】
図4は、学習装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る学習装置、学習方法および学習プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法および学習プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理〕
まず、
図1を用いて、学習装置が実行する処理の一例について説明する。
図1は、実施形態に係る学習装置が実行する処理の一例を示す図である。
図1では、学習装置10は、以下に説明する学習処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【0011】
学習装置10は、インターネット等の所定のネットワークを介して、外部装置100といった任意の装置と通信が可能である。例えば、外部装置100は、学習用データとして、分類対象となる関数を学習装置10へ提供する。
【0012】
ところで、従来技術では、入力データの種別に応じた数だけ、サポートベクターマシーン(SVM;Support Vector Machine;以下、SVM)を必要とするため、汎用性の観点から改善の余地があった。
【0013】
そこで、学習装置10は、関数を分類する分類モデルMを学習することで、分類モデルMの汎用性を向上させることとした。つまり、学習装置10は、関数を分類する1つの分類モデルMを生成することで、各種データを関数へ変換すれば、データの種別によらず、分類することが可能となる。
【0014】
具体的には、
図1に示すように、まず、学習装置10は、分類対象となる関数を外部装置100から取得する(ステップS1)。例えば、
図1に示す例では、学習装置10は、関数f1~fnを取得する。関数f1~fnはそれぞれ1つの画像データLに対応する。
【0015】
なお、各画像データLを関数f1~fnへ変換する技術は、非特許文献1(https://www.ics.uci.edu/~majumder/PHOTO/ImageProcessingAndRepresentation.pdf)に開示されている。また、以下では、関数f1~fnを特に区別しない場合、単に関数fと記載する。
【0016】
続いて、学習装置10は、関数fを分類する分類モデルMを学習する(ステップS2)。具体的には、学習装置10は、従来の再生核ヒルベルト空間を活用した手法において、データにあたる部分を関数fに対応させ、そのデータを分類する境界線を表す関数に対応する部分を圏論における関手に対応させる。そして、学習装置10は、従来の手法の汎関数による線形化にあたる部分を圏論における自然変換に対応させることにより、従来のデータ分類の手法を関数の分類に活用するという手法であり、関数f1~fnを分類する関手を自然変換により求め、関数fの分類モデルMを学習する。
【0017】
つまり、学習装置10は、圏論の構造における関手を関数fを線形に分類する分類モデルMとして学習することになる。
【0018】
このように、学習装置10は、画像データLそのものを分類するものではなく、画像データLをより抽象化した関数fを分類する分類モデルMを生成する。つまり、画像データL以外のデータであっても一旦関数fへ変換すれば、分類モデルMを用いて分類することが可能となる。したがって、学習装置10によれば、汎用性の高いモデルを生成することが可能となる。
【0019】
〔2.学習装置の構成〕
次に、
図2を用いて、実施形態に係る学習装置10の構成例について説明する。
図2は、実施形態に係る学習装置10のブロック図である。
【0020】
図2に示すように、学習装置10は、通信部20と、記憶部30と、制御部40とを備える。通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、所定のネットワークと有線または無線で接続され、外部装置100との間で情報の送受信を行う。
【0021】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、関数データベース31および分類モデルデータベース32を記憶する。
【0022】
関数データベース31は、分類対象となる関数fに関する情報を格納するデータベースである。例えば、関数データベース31には、分類対象となる関数fが格納される。分類モデルデータベース32は、分類モデルMを格納するデータベースである。
【0023】
制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、学習装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0024】
図2に示すように、制御部40は、取得部41と、学習部42と、提供部43とを備える。取得部41は、分類対象となる関数fを取得し、関数データベース31へ登録する。上述したように、関数fは、例えば、画像データLを示す関数である。
【0025】
なお、制御部40内に、画像データLを関数fへ変換する機能を備えていてもよく、この場合、取得部41は、制御部40の内部で変換された関数fを取得することにしてもよい。なお、関数fは、画像処理における関数に限定されず、その他の関数であってもよい。
【0026】
学習部42は、取得部41によって取得された関数fを分類する分類モデルMを学習する。具体的には、学習部42は、複数の関数fから構成される関数群を圏論の構造における対象と見做した場合に、圏論の構造における関手を分類モデルMとして学習する。さらに、自然変換により線形化された関手を分類モデルM‘として学習する。
【0027】
ここで、分類モデルMの学習方法の具体例について説明する。ヒルベルト空間の部分圏IsHilbについて、対象がヒルベルト空間、かつ、斜が対象間の等距離線形写像である圏として定義する。群Gから部分圏IsHilbへの関手は、群Gのユニタリ表現とも呼ばれる。なお、ここでの表現とは、群Gをベクトル空間や行列空間などへ変換することを示す。
【0028】
群Gから部分圏IsHilbへの関手圏IsHilbGをRepGとも呼び、RepGにおける対象は斜(t:γ0→γ1)であり、かかる斜はユニタリ表現γ0、γ1をつなぐ自然変換である。
【0029】
かかる自然変換は、下記(式1)の関係が成立するような作用素Tである。
【数1】
【0030】
また、ユニタリ表現のテンソル積を下記(式2)で表すことができ、作用素Tのテンソル積を下記(式3)で表すことができ、作用素Tは、作用素T自体がテンソル積で変化することになる。
【数2】
【0031】
そして、学習部42は、テンソル構造を保ったまま、従来の機械学習手法の1つである再生核ヒルベルト空間の手法に対応するものを設定する。一般的に、従来技術である再生核ヒルベルト空間およびカーネル関数は、それぞれ下記(式4)および(式5)で表される。
【数3】
【0032】
そして、学習部42は、関数fの空間を分類する関手により分類モデルMを学習する。次に、学習部42は、非線形な分類モデルMを自然変換により線形化した分類モデルM‘とする。
【0033】
これにより、学習部42は、関数fを関手と、かかる関手を自然変換により線形化した関手とを分類モデルM、M‘として学習することができる。つまり、関手を自然変換によって線形化した分類モデルM’を用いて、関数fを分類することが可能となる。
【0034】
これにより、分類モデルMは、関数fに対応する関手を分類することが可能となるので、関数fを分類することができる。したがって、学習装置10によれば、関数fを分類することができる分類モデルM‘を生成することができる。
【0035】
なお、学習部42は、下記(式6)に示す畳み込み処理を行ったうえで、関手を分類することにしてもよい。なお、(式6)におけるpは、関手を示す。
【数4】
【0036】
また、畳み込みには、非特許文献2(https://arxiv.org/abs/1902.04615)に開示されたゲージ理論を用いてもよい。
【0037】
提供部43は、例えば、外部装置100から関数fの分類依頼を受け付けるとともに、関数fの分類結果を提供する。具体的には、提供部43は、上記の分類依頼を受け付けた場合に、関数fを分類モデルMへ入力することで、関数fの分類結果を取得するとともに、外部装置100へ分類結果を送信する。
【0038】
なお、提供部43は、各外部装置100に対して、分類モデルMを提供することにしてもよい。
【0039】
〔3.情報処理のフロー〕
次に、
図3を用いて、実施形態に係る学習装置10が実行する処理手順について説明する。
図3は、実施形態に係る学習装置10が実行する処理手順を示すフローチャートである。
【0040】
図3に示すように、まず、学習装置10は、分類対象となる関数fを取得し(ステップS101)、非線形の関手を分類モデルMとして学習する(ステップS102)。
【0041】
続いて、学習装置10は、非線形である関手を自然変換により線形化することで(ステップS103)、線形の分類モデルM‘を生成し(ステップS104)、処理を終了する。
【0042】
〔4.ハードウェア構成〕
上述してきた実施形態に係る学習装置10は、例えば
図4に示すような構成のコンピュータ1000によって実現される。
図4は、学習装置10の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0043】
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
【0044】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
【0045】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0046】
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0047】
例えば、コンピュータ1000が実施形態に係る学習装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部40の機能を実現する。また、HDD1400には、記憶部30内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0048】
〔5.効果〕
上述したように、実施形態に係る学習装置10は、取得部41と、学習部42とを備える。取得部41は、分類対象となる関数fを取得する。学習部42は、取得部41によって取得された関数fを分類する分類モデルMを学習する。
【0049】
したがって、実施形態に係る学習装置10によれば、関数を分類するモデルを生成することができる。
【0050】
また、実施形態に係る学習装置10において、学習部42は、複数の関数fから構成される関数群(群G)を圏論の構造における対象と見做した場合に、圏論の構造における関手を分類モデルとして学習する。
【0051】
したがって、実施形態に係る学習装置10によれば、圏論の構造において、最少の次元の分類モデルを生成することができるので、関数を分類するのに最適な分類モデルを学習することができる。
【0052】
また、実施形態に係る学習装置10において、学習部42は、関手を自然変換により線形化した関手を分類モデルとして学習する。
【0053】
したがって、実施形態に係る学習装置10によれば、汎用性の高いモデルを生成することが可能となる。
【0054】
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0055】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0056】
また、上述してきた実施形態に記載した各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0057】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部41は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0058】
10 学習装置
20 通信部
30 記憶部
31 関数データベース
32 分類モデルデータベース
40 制御部
41 取得部
42 学習部
43 提供部
M 分類モデル