JP6325762B1 - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP6325762B1
JP6325762B1 JP2018508235A JP2018508235A JP6325762B1 JP 6325762 B1 JP6325762 B1 JP 6325762B1 JP 2018508235 A JP2018508235 A JP 2018508235A JP 2018508235 A JP2018508235 A JP 2018508235A JP 6325762 B1 JP6325762 B1 JP 6325762B1
Authority
JP
Japan
Prior art keywords
information processing
partial
partial layer
gene pool
deep learning
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
JP2018508235A
Other languages
English (en)
Other versions
JPWO2018167885A1 (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.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
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 Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP6325762B1 publication Critical patent/JP6325762B1/ja
Publication of JPWO2018167885A1 publication Critical patent/JPWO2018167885A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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/047Probabilistic or stochastic networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

一実施形態に係る情報処理装置はプロセッサを備える。プロセッサは、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとを実行する。

Description

本発明の一側面は、深層学習に関連する情報処理装置、情報処理方法、および情報処理プログラムに関する。
近年、深層学習の研究が盛んに行われており、それぞれの研究者が自身の研究に合わせて最適な深層学習モデルを設計している。例えば下記の非特許文献1には、Fully Convolutional Network(FCN)が記載されている。FCNは、画像から物体をピクセル単位で予測するセマンティック・セグメンテーション(Semantic Segmentation)で用いられる技術である。
Long, J., Shelhamer, E. and Darrell, T. "Fully Convolutional Networks for Semantic Segmentation." arXiv:1605.06211v1 [cs.CV], May 20 2016.
深層学習モデルの設計は研究者の知識と経験を必要とするので、適切なモデルを見つけるのが困難である。例えば、研究者によっては適切なモデルを見つけられなかったり、そのようなモデルを見つけるのに多大な時間が掛かったりしてしまう。そのため、適切な深層学習モデルを自動的に構築することが求められている。
本発明の一側面に係る情報処理装置は、プロセッサを備える情報処理装置であって、プロセッサが、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとを実行する。
本発明の一側面に係る情報処理方法は、プロセッサを備える情報処理装置により実行される情報処理方法であって、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとを含む。
本発明の一側面に係る情報処理プログラムは、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとをコンピュータに実行させる。
このような側面においては、深層学習モデルの構成要素の候補である複数の部分層(現世代の部分層)と、遺伝的プログラミングを用いて生成された新たな部分層(次世代の部分層)とを含む遺伝子プールが用意される。そして、これらの世代にわたる部分層のそれぞれを評価し、遺伝子プールに残す部分層を決めることで、遺伝子プールが更新される。遺伝的プログラミングを用いるこの一連の処理(探索)を実行することで、良好な計算結果を導く部分層の出現が期待できる。そして、その部分層を深層学習モデルに組み込むことで、最も適切であると期待できる深層学習モデルを構築することが可能になる。
本発明の一側面によれば、適切な深層学習モデルを自動的に構築できる。
深層学習モデルの例を示す図である。 遺伝子プールの例を示す図である。 深層学習モデルのネットワーク構造の例を示す図である。 深層学習モデルのネットワーク構造の別の例を示す図である。 深層学習モデルのネットワーク構造のさらに別の例を示す図である。 遺伝的プログラミングによる遺伝子プールの進化の例を示す図である。 実施形態に係る情報処理装置のハードウェア構成を示す図である。 実施形態に係る情報処理装置の機能構成を示す図である。 深層学習モデルの学習曲線の例を示すグラフである。 実施形態に係る情報処理装置の動作を示すフローチャートである。 実施形態に係る情報処理プログラムの構成を示す図である。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[概要]
実施形態に係る情報処理装置10は、複雑な問題の解を見つけるための深層学習モデルを自動的に構築するコンピュータまたはコンピュータシステムである。「深層学習」とは多層構造のニューラルネットワーク(深層ニューラルネットワーク)を用いた機械学習であり、「深層学習モデル」とはその深層ニューラルネットワークの構造(以下では単に「ネットワーク構造」という)を示す表現である。「深層学習モデルを自動的に構築する」とは、情報処理装置10が深層学習モデルの少なくとも一部の構成要素を人手を介することなく生成し、生成された構成要素を含む深層学習モデルを出力することを意味する。情報処理装置10により生成される深層学習モデルの表現形式は限定されない。例えば、情報処理装置10は深層学習モデルをアルゴリズムまたはプログラムコードで表現してもよいし、ネットワーク図で抽象的に表現してもよい。
図1は、プログラムとして表現された深層学習モデル201を示す。なお、図1は深層学習モデル201の一部のみを示す。この深層学習モデル201は画像から物体を認識するために用いられる。当然ながら深層学習モデル201はあくまでも一例であり、情報処理装置10が構築しようとする深層学習モデルの目的も、その深層学習モデルにより実行される処理も何ら限定されない。
深層学習モデル201のうちブロック202で囲まれた部分は、解決しようとする問題の特性を捉えたアルゴリズムであり、深層学習の要となるネットワーク構造に相当する。この要の部分を構築する指針は特に存在せず、従来は研究者または開発者が試行錯誤でブロック202内のアルゴリズム(ネットワーク構造)を作成していた。本実施形態では情報処理装置10がその要のアルゴリズムを自動的に生成する。情報処理装置10は深層学習モデルの全体を自動的に生成するのではなく、要の部分を自動的に生成し、その要の部分を既定の部分に組み込むことで深層学習モデルを生成する。
本明細書では、情報処理装置10が自動的に生成しようとする要の部分を「部分層」といい、生成しようとする深層学習モデルのうち既定の部分(部分層以外の部分)を「テンプレート」という。また、テンプレートに部分層が組み込まれることで得られる深層学習モデルを「個体」という。図1の例では、ブロック202が部分層に相当し、深層学習モデル201のうちブロック202以外の部分がテンプレートに相当し、ブロック202を含む深層学習モデル201の全体が個体に相当する。
情報処理装置10が深層学習モデルを生成する手順は概ね次の通りである。まず、情報処理装置10は、テンプレートに組み込むネットワーク構造の候補、すなわち部分層を複数生成する。部分層は少なくとも一つの非終端記号(non−terminal symbol)を含む。非終端記号とは置換され得る記号であり、例えば、変数を用いて表される一つの関数または一つの式に対応する。部分層は非終端記号(例えば、関数または式)の処理順序を示す情報も含む。
本実施形態では、部分層を構成する非終端記号は、Kerasという深層学習フレームワークが提供する以下の4種類の関数であるとする。
(1)merge([x,y],mode=“sum”)−−>x+y
(2)Convolution2D(3,3,3,border_mode=“same”)(x)−−>conv(x)
(3)MaxPooling2D()(x)−−>y
(4)AveragePooling2D(pool_size=(2,2))(x)−−>y
merge関数は、二つの信号x,yを足し込んでその結果を出力する。Convolution2D関数は、画像xを受け付けて畳み込み演算を実行し、その結果を出力する。MaxPooling2D関数は、画像xを受け付け、領域の最大値を使ったプーリング(Pooling)を出力する。AveragePooling2D関数は、画像xを受け付け、領域の平均値を使ったプーリングを出力する。
なお、当然ながらこれらの非終端記号はあくまでも例示である。上記の通り深層学習モデルにより実行される処理は何ら限定されないから、非終端記号の種類および具体的な構成も限定されない。
本明細書では複数の部分層の集合を「遺伝子プール」という。図2は遺伝子プールの例を示す。この例において遺伝子プール210は部分層211,212,213,…を含む。上述したように、これらの部分層は情報処理装置10により自動的に生成されるものである。遺伝子プール内の部分層の個数は何ら限定されず、例えば2、3、5、10、または30でもよい。
部分層はネットワーク構造であるから、ネットワーク図で表すことができる。図3〜図5はいずれも、部分層の例を示すネットワーク図であり、これらの図では、一つの非終端記号が一つのノードで表され、処理の流れが矢印で表されている。本明細書では、部分層を構成する個々の非終端記号を「層」ともいう。図2では個々の層は1行のコードで表され、図3〜図5では個々の層はノードで表されている。図3〜図5において、一本の矢印は、始点に相当する関数(層)の出力が、終点に相当する関数(層)の入力として用いられることを示す。図3〜図5に示す個体221〜223のテンプレートは共通である。図3に示す部分層221aはResNet(Residual Network)タイプであり、図4に示す部分層222aは分岐タイプであり、図5に示す部分層223aはストレートタイプである。これらの部分層も情報処理装置10により自動的に生成されるものである。部分層221a,222a,223aは共通の一つの遺伝子プールに含まれる。なお、これらの部分層221a,222a,223aは、図2に示す部分層211〜213とは別のものである。
情報処理装置10は遺伝子プール内の各部分層(例えば、部分層211〜213、または部分層221a,222a,223a)について学習および評価の処理を実行する。ある一つの部分層について、情報処理装置10は該部分層をテンプレートに組み込むことで個体を生成する。続いて、情報処理装置10はその個体に訓練データを入力することでその個体(深層学習モデル)を学習させ、さらに、訓練データまたはテストデータの少なくとも一方をその個体に入力してその個体を評価(検証)する。
続いて、情報処理装置10は遺伝的プログラミングを用いて、遺伝子プールを構成する複数の部分層の少なくとも一部から新たな部分層を生成する。遺伝的プログラミングとは、解の候補である複数の個体を用意し、その中の少なくとも一部の個体に対して交叉、突然変異、淘汰などの遺伝的操作を実行する処理を繰り返しながら解(最良の個体)を探索する手法である。情報処理装置10は遺伝子プール内の少なくとも一部の部分層(現世代の部分層)を交叉または突然変異させることで、新たな部分層(次世代の部分層)を得る。現世代の部分層は親に相当し次世代の部分層は子に相当する。
続いて、情報処理装置10はこれら2世代の部分層のそれぞれについて上記と同様に学習および評価(検証)を実行する。すなわち、情報処理装置10は、部分層をテンプレートに組み込むことで個体を生成し、その個体に訓練データを入力することでその個体を学習させ、訓練データまたはテストデータの少なくとも一方を用いてその個体を評価(検証)する。そして、情報処理装置10は遺伝子プールに残す複数の部分層を決定し、いくつかの部分層を破棄する。このように遺伝子プールに残す部分層を選ぶ処理が淘汰に相当する。本実施形態では、情報処理装置10は、次世代の部分層を作る前後で遺伝子プール内の部分層の個数が変わらないように、遺伝子プールに残す複数の部分層を決定する。
一実施形態では、情報処理装置10はこのような一連の処理を複数回繰り返す。これは、遺伝的プログラミングを用いて新たな部分層を作りながらそれぞれの個体を評価して、最も評価値が高い個体を探索していくことを意味する。言い換えると、情報処理装置10は遺伝子プールを深化させながら最良の部分層を探索する。この繰り返し処理において遺伝子プール内の部分層の個数を変えないようにすることで、部分層の多様性を維持しつつ遺伝子プール内の部分層の評価を全体として上げていくことができる。
情報処理装置10は所定の条件を満たしたときにその繰り返しを終了し、最終的に最も評価値が高い一つの部分層を取得する。当然ながら、「最も評価値が高い部分層」とは、最も評価値が高い個体に組み込まれていた部分層のことである。情報処理装置10はその最良の部分層をテンプレートに組み込むことで個体を生成し、その個体を最良の深層学習モデルとして出力する。生成されたこの深層学習モデルを用いることで、複雑な問題に対して精度の高い解を得ることが期待できる。情報処理装置10の特徴の一つは、このように遺伝的プログラミングを用いて最良の深層学習モデルを求める点にある。
図6は遺伝的プログラミングによる遺伝子プールの進化の例を模式的に示す。例えば、情報処理装置10は1ループ目の処理において、5個の部分層231〜235を含む遺伝子プール230を生成する。この遺伝子プール230は第1世代(G1)であり、部分層231〜235は現世代の部分層である。
続いて、情報処理装置10は部分層231〜235の少なくとも一部に対して遺伝的操作(交叉または突然変異)を実行することで次世代の部分層236,237を生成する。そして、情報処理装置10は所定のルールに従って7個の部分層231〜237から5個の部分層を選択し、選択された部分層を遺伝子プール230内に残す。この淘汰により得られる遺伝子プール230は第2世代(G2)であり、図6では部分層231〜233,236,237を含む。
続いて、情報処理装置10は第2世代の部分層の少なくとも一部に対して遺伝的操作を実行することで次世代の部分層238,239を生成する。そして、情報処理装置10は所定のルールに従って7個の部分層231〜233,236〜239から5個の部分層を選択し、選択された部分層を遺伝子プール230内に残す。この遺伝子プール230は第3世代(G3)であり、図6では部分層231,233,236,237,239を含む。
次のループでは、情報処理装置10は第3世代の部分層から次世代の部分層240,241を生成し、最終的に、部分層233,236,237,240,241を含む第4世代(G4)の遺伝子プール230を生成する。情報処理装置10はこのようなループ処理をさらに繰り返して実行してもよい。情報処理装置10はこのように遺伝子プールを進化させた後に所定のタイミングでループ処理を終了し、その時点で最も評価値が高い部分層が組み込まれた個体を最良の深層学習モデルとして出力する。
[装置の構成]
図7は情報処理装置10の一般的なハードウェア構成を示す。情報処理装置10は、オペレーティングシステムやアプリケーション・プログラムなどを実行するプロセッサ101と、ROMおよびRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードまたは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、モニタなどの出力装置106とを備える。プロセッサ101の例としてCPUおよびGPUが挙げられるが、大量の積和演算を行う必要がある深層学習では一般に、並列計算を得意とするGPUが用いられる。
情報処理装置10の各機能要素は、プロセッサ101または主記憶部102の上に所定のソフトウェア(例えば、後述する情報処理プログラムP1)を読み込ませてそのソフトウェアを実行させることで実現される。プロセッサ101はそのソフトウェアに従って、通信制御部104、入力装置105、または出力装置106を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行う。処理に必要なデータまたはデータベースは主記憶部102または補助記憶部103内に格納される。
情報処理装置10は1台のコンピュータで構成されてもよいし、複数台のコンピュータで構成されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータがインターネットやイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの情報処理装置10が構築される。
情報処理装置10はインターネットやイントラネットなどの通信ネットワークを介してデータベース20にアクセスすることができる。本実施形態ではデータベース20は情報処理装置10とは別の装置であるとするが、データベース20が設けられる位置は限定されず、例えば情報処理装置10がデータベース20を備えてもよい。
データベース20は、プロセッサまたは外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素または装置である。本実施形態では、データベース20は深層学習モデルの学習および評価(検証)に用いられるデータセットを記憶する。このデータセットは、入力データとその入力データから得られるべき正解データとの組合せの集合である。データセットは、情報処理装置10に深層学習モデルを学習させるための訓練データと、深層学習モデルの精度を確かめるためのテストデータとを含む。データセットは、得ようとする深層学習モデルに応じて用意される。例えば、画像から物体を認識するための深層学習モデルを得ようとする場合には、その物体認識のベンチマークとしてよく用いられるCifar−10という画像データセットを用いてもよい。データベース20に記憶されるデータの量は一般に膨大であるが、そのデータ数は限定されない。例えば、データベース20は5万件の訓練データと1万件のテストデータとを含むCifar−10を記憶してもよい。
図8は情報処理装置10の機能構成を示す。情報処理装置10は機能的構成要素として取得部11、生成部12、および評価部13を備える。
取得部11は複数の部分層を遺伝子プールとして取得する機能要素である。取得部11はその遺伝子プールを生成部12に出力する。
初めて遺伝子プールを取得する1ループ目の処理では、取得部11は複数の部分層を生成し、その部分層の集合を遺伝子プールとして設定する。取得部11はランダムに1以上の非終端記号を選択してその非終端記号をランダムに組み合わせることで一つの部分層を生成する。取得部11は、部分層の生成に必要な非終端記号を予め保持していてもよいし、情報処理装置10内のメモリや所定の外部データベース(データベース20でもよい)などの記憶装置からその非終端記号を読み出してもよい。
本実施形態では、取得部11は、深層学習モデルの構造的な独自性が現れやすい畳み込み(本実施形態の例ではConvolution2D関数)を部分層に必ず含めるものとする。もっとも、このルールは必須ではなく、畳み込みを含まない部分層の生成が許されてもよい。あるいは、取得部11は畳み込みおよびプーリング(本実施形態の例ではMaxPooling2D関数またはAveragePooling2D関数)の双方を部分層に必ず含めてもよい。個々の部分層の初期サイズは任意に決めてよい。例えば、取得部11は層の個数(ノード数)を3〜12の範囲に設定した上でノード数の中央値が最大となるような分布からその初期サイズを決めてもよい。取得部11は所定の個数の部分層をこのようにランダムに生成することで、複数の部分層を遺伝子プールとして取得する。
2ループ目以降の処理では、取得部11は評価部13により遺伝子プール内に残すと決定された複数の部分層を遺伝子プールとして取得する。この場合には、実質的にはその遺伝子プールは評価部13から生成部12に出力されるといえる。
生成部12は、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する機能要素である。より具体的には、生成部12はその遺伝子プールを構成する複数の部分層の少なくとも一部から新たな部分層を生成する。
まず、生成部12は、深層学習モデルのテンプレートに部分層を組み込むことで個体(深層学習モデル)を生成する。取得部11は、そのテンプレートを予め保持していてもよいし、情報処理装置10内のメモリや所定の外部データベース(データベース20でもよい)などの記憶装置からそのテンプレートを読み出してもよい。そして、生成部12はデータベース20から訓練データを読み出し、生成した個体にその訓練データを入力することでその個体を学習させる。さらに、生成部12はデータベースから訓練データおよびテストデータの少なくとも一方を読み出し、そのデータを個体に処理させることで該個体を評価する。生成部12はこの一連の処理を遺伝子プール内の各部分層について実行する。
続いて、生成部12は遺伝子プール内の複数の部分層から、評価値が高い上位の所定数の部分層を選択する。この選択の基準として用いる評価値の種類は限定されない。例えば、生成部12は正解率に基づいて評価値を決定してもよく、例えば正解率をそのまま評価値として用いてもよい。あるいは、生成部12は損失(深層学習モデルの性能の低さ)に基づいて評価値を決定してもよく、例えば損失が低いほど評価値を高く設定してもよい。あるいは、生成部12は正解率および損失の双方に基づいて評価値を設定してもよい。本実施形態では、評価値が高いほど良い個体であるとする。「評価値が高い(または低い)」ことを単に「評価が高い(または低い)」といってもよい。
続いて、生成部12は遺伝的プログラミングを用いて、選択した部分層から新たな部分層を生成する。生成部12は選択した二つの部分層を交叉することで新たな二つの部分層を生成してもよいし、選択した一つの部分層に突然変異を起こさせることで新たな一つの部分層を生成してもよい。生成される新たな部分層の個数は限定されず、例えば、その個数は、予め設定された交叉確率および突然変異確率に依存し得る。確率的に交叉および突然変異を発生させるために、生成部12は乱数を生成し、その乱数が所定の数値範囲に含まれる場合に交叉または突然変異を実行してもよい。少なくとも一つの新たな部分層を生成すると、生成部12はその部分層(次世代の部分層)を遺伝子プールに追加し、その遺伝子プールを評価部13に出力する。
遺伝的プログラミングのフレームワークは限定されない。一例として、生成部12はDEEPというフレームワークを用いてもよい。遺伝的プログラミングに関するパラメータは世代数、個体数、交叉確率、および突然変異確率を含み、例えば、世代数、個体数、交叉確率、および突然変異確率がそれぞれ15、20、0.9、および0.1と設定されてもよい。
部分層を構成する複数の層(ノード)間に処理順序の制約がある場合には、生成部12はその制約に違反しないように交叉および突然変異を発生させることで新たな部分層を生成してもよい。なお、処理順序の制約の例として、条件分岐(if−then−else)が挙げられるが、制約はこれに限定されない。制約に違反しないように遺伝的操作を実行することで、制約に違反しているために演算の精度が低いと予想される部分層を事前に排除することができ、これは情報処理装置10による不必要な処理の回避につながる。あるいは、生成部12はその制約に縛られることなく交叉または突然変異を発生させて新たな部分層を生成してもよい。制約を無視した部分層は淘汰される確率が高いので、制約を考慮しなくても自然にその部分層が破棄される確率が高いからである。
生成部12は突然変異確率を動的に変更しながら新たな部分層を生成してもよい。例えば、生成部12は評価値が所定の閾値よりも高い部分層の突然変異確率を他の部分層よりも下げた上で、遺伝的操作により新たな部分層を生成してもよい。あるいは、生成部12は評価値が所定の閾値よりも低い部分層の突然変異確率を他の部分層よりも上げた上で、遺伝的操作により新たな部分層を生成してもよい。評価値が相対的に低い部分層の突然変異確率を他の部分層よりも上げて、評価値が高い部分層へ変異させる確率を上げることで、ひいては、最終的に選ばれる最良の部分層の性能をより高くすることが期待できる。
評価部13は、新たな部分層が追加された遺伝子プール内の各部分層をテンプレートに組み込んで各部分層を評価し、その遺伝子プール内に残す複数の部分層を決定する機能要素である。評価部13はテンプレートに部分層を組み込むことで個体を生成し、データベース20から読み出した訓練データおよびテストデータの少なくとも一方をその個体に入力して該個体を評価する。評価部13はこの一連の処理を遺伝子プール内の各部分層について実行する。
評価部13は、処理時間を短縮するために、それぞれの部分層の優劣がわかる程度で学習を終了して、その時点までにおける最大の評価値を該部分層の評価値として設定してもよい。
具体的には、評価部13はプロセッサ(例えばGPU)が一度に処理できる訓練データの集合をミニバッチ(mini batch)としてデータベース20から読み出し、このミニバッチを用いて個体の学習を実行する。評価部13は新たなミニバッチ(新たな訓練データの集合)をデータベース20から読み出しながらその個体を学習させる。ミニバッチによる学習を繰り返してすべての訓練データを使い切ったときの回数に対応する単位を「エポック」という。評価部13は各エポックの最後で、訓練データまたはテストデータを用いて個体を評価する。
一般に個体の評価値は、このエポックの値が増えていく度に上がっていくが、どこかの時点でその評価値が前回よりも下がるか、または評価値が前回からさほど上がらなくなる。すなわち、ある一つの個体(部分層)について、i番目のエポックでの評価値が、(i−1)番目のエポックでの評価値よりも下がるか、またはi番目のエポックでの評価値と(i−1)番目のエポックでの評価値との差が僅かになる。評価部13はこの時点でその個体(部分層)の学習および評価を終了してもよい。例えば、評価部13は、ある部分層についての評価値が前回の評価値よりも下がったか、または前回の評価値からの上昇の度合いが所定の閾値未満になった場合に、その部分層についての学習および評価を終了してもよい。「前回の評価値」とは、一つ前のエポックでの評価値のことである。
図9は、ある一つの部分層(一つの個体)に対して学習および評価を10エポック繰り返して得られた学習曲線(評価値の推移)の例を示す。グラフの横軸はエポックを示し、縦軸は正解率または損失を示す。破線301は、学習に使ったデータを再度用いた演算により得られた学習正解率(acc)を示し、実線302は、学習に使わなかったデータを用いた演算により得られたテスト正解率(val_acc)を示す。破線303は、学習に使ったデータを再度用いた演算により得られた学習損失(loss)を示し、実線304は、学習に使わなかったデータを用いた演算により得られたテスト損失(val_loss)を示す。当然ながら学習を繰り返すほど個体の成績は上がっていくが、その成績はいずれ収束する。一般に、学習正解率または学習損失に基づく評価値は、テスト正解率またはテスト損失に基づく評価値より高い。
実線302で示されるテスト正解率(val_acc)を評価値として用いる場合には、その正解率は9エポック目で下がったので、評価部13はその時点で処理を打ち切ってもよい。この場合には、評価部13は8エポック目での評価値を部分層(個体)の評価値として採用してもよい。別の例として、実線304で示されるテスト損失(val_loss)を評価値として用いる場合には、その損失は8エポック目で上がったので、評価部13はその時点で処理を打ち切ってもよい。この場合には、評価部13は7エポック目での評価値を部分層(個体)の評価値として採用してもよい。
このようにエポック毎に個体を評価して、評価値が下がるかまたは評価値の上昇度合いが低くなったときに個体の学習および評価を終了することで、プロセッサ101の処理負荷やデータベース20へのアクセスの回数などを低減できる。すなわち、ハードウェア資源の消費量またはネットワーク上の通信量を抑えることができる。
一実施形態では、情報処理装置10は、次世代の部分層の生成と、各部分層の評価とを含む探索を所定の回数(複数回)繰り返すことで最良の部分層を得る。遺伝的プログラミングの観点から見ると、情報処理装置10は次世代の部分層を生成しながら遺伝子プールを進化させ、これにより最良の部分層を探索する。一実施形態では、情報処理装置10はその探索を繰り返すことなく最良の部分層を得てもよい。
生成部12および評価部13による探索の繰り返し回数は任意に決めてよい。例えば、その繰り返し回数は予め決められていてもよい。あるいは、評価部13は次のループの探索を実行するか否かを動的に決めてもよい。例えば、評価部13は遺伝子プール(複数の部分層)の中で最大の評価値が所定の閾値未満である場合にのみ次の探索を実行すると判定してもよい。このように、深層学習モデルの評価値が上がらない場合(より具体的には、該評価値が所定の閾値よりも低い場合)に探索の繰り返し回数を増やすことで各部分層がさらに学習されるので、良好な演算結果を導く深層学習モデルの出現が期待できる。
次のループの処理を実行する場合には、評価部13は、遺伝子プール内の部分層の個数が、新たな部分層が追加される前の時点での個数になるように、遺伝子プールに残す部分層を決定する。すなわち、評価部13は、遺伝子プール内の部分層の個数が変わらないように遺伝子プールを制御する。そして、評価部13は選択した複数の部分層(残すと決定した部分層)を取得部11に出力する。
遺伝子プール内に残す部分層を選択する方法は限定されない。例えば、評価部13は、遺伝子プール内の複数の部分層のうち評価値が高い上位の所定数の部分層を選択するか、または評価値が低い下位の所定数の部分層を破棄してもよい。あるいは、評価部13は1回目からi回目(1<i<n)のループ処理では部分層をランダムに選択し、(i+1)回目以降のループ処理では上記のように評価値に基づいて上位の所定の部分層を選択するかまたは下位の所定数の部分層を破棄してもよい。繰り返し処理の早い段階では部分層をランダムに選ぶことで、部分層の多様性を確保することができる。
最後のループの処理では(すなわち、次のループ処理を実行しない場合には)、評価部13は、遺伝子プールの中で最も評価値が高い部分層を選択し、その部分層をテンプレートに組み込むことで個体を生成する。そして、評価部13はその個体を最良の深層学習モデルとして出力する。深層学習モデルの出力先は限定されない。例えば、評価部13は最良の深層学習モデルをデータベース20などの記憶装置に格納してもよいし、他のコンピュータにその深層学習モデルを送信してもよい。あるいは、評価部13はその深層学習モデルをモニタ上に描画することで該モデルを可視化してもよい。
[装置の動作]
次に、図10を参照しながら、情報処理装置10の動作を説明するとともに本実施形態に係る情報処理方法について説明する。図10は、情報処理装置10の動作を示すフローチャートである。
まず、取得部11が複数の部分層を新規に生成し、それらの部分層から成る遺伝子プールを生成する(ステップS11、取得ステップ)。1回目のループ処理ではこれが遺伝子プールの取得に相当する。続いて、生成部12が遺伝的プログラミングを用いて複数の部分層の少なくとも一部から新たな部分層を生成し、その新たな部分層を遺伝子プールに追加する(ステップS12、生成ステップ)。続いて、評価部13が遺伝子プール内の各部分層を評価する(ステップS13、評価ステップ)。上記の通り、評価部13は正解率および損失の少なくとも一方に基づいて各部分層を評価してもよい。さらに、評価部13は探索を終了するか否かを判定する(ステップS14)。
探索を続けると判定した場合には(ステップS14においてNO)、評価部13は遺伝子プール内に残す複数の部分層を決定する(ステップS15、評価ステップ)。上記の通り、評価部13はその部分層をランダムに選んでもよいし、評価値に基づいて選んでもよい。この結果、その複数の部分層が新たな遺伝子プールとして得られ(ステップS16、取得ステップ)、その後にステップS12〜S14の処理が繰り返される。
一方、探索を終了させると判定した場合には(ステップS14においてYES)、評価部13は最も評価値が高い部分層が組み込まれた個体を生成し、その個体を最良の深層学習モデルとして出力する(ステップS17、出力ステップ)。この結果、最も適切である(最も精度の高い解を得る)と期待できる深層学習モデルが得られる。
[プログラム]
次に、図11を参照しながら、コンピュータを情報処理装置10として機能させるための情報処理プログラムP1を説明する。図11は情報処理プログラムP1の構成を示す図である。
情報処理プログラムP1はメインモジュールP10、取得モジュールP11、生成モジュールP12、および評価モジュールP13を含む。メインモジュールP10は、深層学習モデルの生成を統括的に管理する部分である。取得モジュールP11、生成モジュールP12、および評価モジュールP13を実行することで、取得部11、生成部12、および評価部13が実現する。
情報処理プログラムP1は、例えば、CD−ROM、DVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、情報処理プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
[効果]
以上説明したように、本発明の一側面に係る情報処理装置は、プロセッサを備える情報処理装置であって、プロセッサが、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとを実行する。
本発明の一側面に係る情報処理方法は、プロセッサを備える情報処理装置により実行される情報処理方法であって、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとを含む。
本発明の一側面に係る情報処理プログラムは、深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、遺伝的プログラミングを用いて遺伝子プールから新たな部分層を生成する生成ステップと、新たな部分層が追加された遺伝子プール内の各部分層を深層学習モデルのテンプレートに組み込んで各部分層を評価し、遺伝子プール内に残す複数の部分層を決定する評価ステップと、最も評価値が高い部分層が組み込まれた深層学習モデルを出力する出力ステップとをコンピュータに実行させる。
このような側面においては、深層学習モデルの構成要素の候補である複数の部分層(現世代の部分層)と、遺伝的プログラミングを用いて生成された新たな部分層(次世代の部分層)とを含む遺伝子プールが用意される。そして、これらの世代にわたる部分層のそれぞれを評価し、遺伝子プールに残す部分層を決めることで、遺伝子プールが更新される。遺伝的プログラミングを用いるこの一連の処理(探索)を実行することで、良好な計算結果を導く部分層の出現が期待できる。そして、その部分層を深層学習モデルに組み込むことで、最も適切であると期待できる深層学習モデルを構築することが可能になる。
さらに、このような側面では、深層学習モデルの全体ではなくその重要な部分である部分層に焦点を絞って、遺伝的プログラミングを用いてその部分層を進化させる。そのため、深層学習モデルの全体を自動的に構築する場合と比較して計算時間が短縮され、プロセッサおよびメモリの消費量も抑えられる。すなわち、本発明の上記側面は、単に深層学習モデルを自動的に構築するのではなく、コンピュータのハードウェア資源の消費量を抑えながら適切な深層学習モデルを構築するという技術的効果を奏する。
加えて、このような側面では、各部分層が訓練データを処理することで進化していくので、最終的に得られる最良の深層学習モデルは、処理しようとするデータとの相性が良いものになる。すなわち、解を得たい問題の領域に最適な深層学習モデルを人手に頼ることなく自動的に生成することができる。
他の側面に係る情報処理装置では、プロセッサが、生成ステップおよび評価ステップを繰り返した後に出力ステップを実行してもよい。遺伝的アルゴリズムを用いる一連の処理(探索)を繰り返すことで、良好な計算結果を導く部分層の出現が期待できる。そして、その部分層を深層学習モデルに組み込むことで、最も適切であると期待できる深層学習モデルを構築することが可能になる。
他の側面に係る情報処理装置では、プロセッサが探索をn回繰り返し、ここでnは1より大きい自然数であり、i回目までの評価ステップでは、プロセッサが、遺伝子プール内に残す複数の部分層をランダムに決定し、(i+1)回目以降の評価ステップでは、プロセッサが、遺伝子プール内に残す複数の部分層を評価値に基づいて決定し、ここでiはnより小さい自然数であってもよい。繰り返し処理の早い段階では部分層をランダムに選ぶことで、部分層の多様性を確保することができる。その上で、繰り返し処理の後の段階で部分層を評価値に基づいて選ぶことで、高い評価を持つ深層学習モデルを最終的に得ることができる。
他の側面に係る情報処理装置では、各部分層が畳み込みを含んでもよい。深層学習モデルの構造的な独自性が現れやすい畳み込みを部分層に必ず含めることで、良好な計算結果を導く部分層を得られる蓋然性をさらに高めることができる。
他の側面に係る情報処理装置では、各部分層の評価が、該部分層が組み込まれた深層学習モデルを1エポック毎に評価し、評価値が前回のエポックよりも下がったときに該深層学習モデルの学習を終了することを含んでもよい。このように部分層の優劣がわかる程度で学習を打ち切ることで、部分層を評価する時間が短縮されるので、プロセッサの処理負荷およびメモリ消費量をさらに低減することができる。
他の側面に係る情報処理装置では、評価ステップでは、プロセッサが、遺伝子プール内の部分層の個数が変わらないように、遺伝子プール内に残す複数の部分層を決定してもよい。繰り返し処理において遺伝子プール内の部分層の個数を変えないようにすることで、部分層の多様性を維持しつつ遺伝子プール内の部分層の評価を全体として上げていくことができる。
他の側面に係る情報処理装置では、遺伝的プログラミングが、部分層の評価値が低いほど、該部分層に適用する変異確率を上げることで新たな部分層を生成してもよい。このように変異確率を設定することで、評価の低い部分層が評価の高いものに変わる確率が上がって、良好な演算結果を導く部分層(深層学習モデル)の出現が期待できる。加えて、適切な深層学習モデルを短時間で得ることが可能になる。
他の側面に係る情報処理装置では、深層学習モデルの評価値が上がらない場合に、プロセッサが、生成ステップおよび評価ステップを含む探索の繰り返し回数を増やしてもよい。探索の回数を増やすことで各部分層がさらに学習されるので、良好な演算結果を導く深層学習モデルの出現が期待できる。
[変形例]
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
遺伝子プール(複数の部分層)の中で最大の評価値が前回の最大の評価値よりも下がったか、または前回の最大の評価値からの上昇の度合いが所定の閾値未満になった場合には、評価部13は遺伝子プール内の部分層の個数を増やしてもよいし、交叉確率を上げてもよいし、または突然変異確率をあげてもよい。ここで、「前回の最大の評価値」とは、一つ前のループ処理における、遺伝子プール内での最大の評価値のことである。このように、深層学習モデルの評価値が上がらない場合に個体数を増やすかまたは遺伝的操作の確率を上げることで、良好な演算結果を導く部分層(深層学習モデル)の出現が期待できる。加えて、適切な深層学習モデルを短時間で得ることが可能になる。
すなわち、他の側面に係る情報処理装置では、深層学習モデルの評価値が上がらない場合に、プロセッサが遺伝子プール内の部分層の個数を増やすか、遺伝的プログラミングにおける交叉確率を上げるか、または遺伝的プログラミングにおける突然変異確率を上げてもよい。
少なくとも一つのプロセッサにより実行される情報処理方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。例えば、情報処理装置は、上記のステップS11,S12,S13,S17のみから成る情報処理方法を実行してもよい(すなわち、探索の繰り返しは必須ではない)。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
情報処理装置内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」という二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
10…情報処理装置、20…データベース、11…取得部、12…生成部、13…評価部、P1…情報処理プログラム、P10…メインモジュール、P11…取得モジュール、P12…生成モジュール、P13…評価モジュール。

Claims (10)

  1. プロセッサを備える情報処理装置であって、
    前記プロセッサが、
    深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、
    遺伝的プログラミングを用いて前記遺伝子プールから新たな部分層を生成する生成ステップと、
    前記新たな部分層が追加された前記遺伝子プール内の各部分層を前記深層学習モデルのテンプレートに組み込んで各部分層を評価し、前記遺伝子プール内に残す複数の前記部分層を決定する評価ステップと、
    最も評価値が高い前記部分層が組み込まれた前記深層学習モデルを出力する出力ステップとを実行する、
    情報処理装置。
  2. 前記プロセッサが、前記生成ステップおよび前記評価ステップを含む探索を繰り返した後に前記出力ステップを実行する、
    請求項1に記載の情報処理装置。
  3. 前記プロセッサが前記探索をn回繰り返し、ここでnは1より大きい自然数であり、
    i回目までの前記評価ステップでは、前記プロセッサが、前記遺伝子プール内に残す前記複数の部分層をランダムに決定し、(i+1)回目以降の前記評価ステップでは、前記プロセッサが、前記遺伝子プール内に残す前記複数の部分層を評価値に基づいて決定し、ここでiはnより小さい自然数である、
    請求項2に記載の情報処理装置。
  4. 各部分層が畳み込みを含む、
    請求項1〜3のいずれか一項に記載の情報処理装置。
  5. 前記各部分層の評価が、該部分層が組み込まれた前記深層学習モデルを1エポック毎に評価し、評価値が前回のエポックよりも下がったときに該深層学習モデルの学習を終了することを含む、
    請求項1〜4のいずれか一項に記載の情報処理装置。
  6. 前記評価ステップでは、前記プロセッサが、前記遺伝子プール内の前記部分層の個数が変わらないように、前記遺伝子プール内に残す前記複数の部分層を決定する、
    請求項1〜5のいずれか一項に記載の情報処理装置。
  7. 前記遺伝的プログラミングが、前記部分層の評価値が低いほど、該部分層に適用する変異確率を上げることで新たな部分層を生成する、
    請求項1〜6のいずれか一項に記載の情報処理装置。
  8. 前記深層学習モデルの評価値が上がらない場合に、前記プロセッサが、前記生成ステップおよび前記評価ステップを含む探索の繰り返し回数を増やすか、前記遺伝子プール内の部分層の個数を増やすか、前記遺伝的プログラミングにおける交叉確率を上げるか、または前記遺伝的プログラミングにおける突然変異確率を上げる、
    請求項1〜7のいずれか一項に記載の情報処理装置。
  9. プロセッサを備える情報処理装置により実行される情報処理方法であって、
    深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、
    遺伝的プログラミングを用いて前記遺伝子プールから新たな部分層を生成する生成ステップと、
    前記新たな部分層が追加された前記遺伝子プール内の各部分層を前記深層学習モデルのテンプレートに組み込んで各部分層を評価し、前記遺伝子プール内に残す複数の前記部分層を決定する評価ステップと、
    最も評価値が高い前記部分層が組み込まれた前記深層学習モデルを出力する出力ステップと
    を含む情報処理方法。
  10. 深層学習モデルの構成要素の候補である複数の部分層を遺伝子プールとして取得する取得ステップと、
    遺伝的プログラミングを用いて前記遺伝子プールから新たな部分層を生成する生成ステップと、
    前記新たな部分層が追加された前記遺伝子プール内の各部分層を前記深層学習モデルのテンプレートに組み込んで各部分層を評価し、前記遺伝子プール内に残す複数の前記部分層を決定する評価ステップと、
    最も評価値が高い前記部分層が組み込まれた前記深層学習モデルを出力する出力ステップと
    をコンピュータに実行させる情報処理プログラム。
JP2018508235A 2017-03-15 2017-03-15 情報処理装置、情報処理方法、および情報処理プログラム Active JP6325762B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/010474 WO2018167885A1 (ja) 2017-03-15 2017-03-15 情報処理装置、情報処理方法、および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP6325762B1 true JP6325762B1 (ja) 2018-05-16
JPWO2018167885A1 JPWO2018167885A1 (ja) 2019-03-28

Family

ID=62143835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018508235A Active JP6325762B1 (ja) 2017-03-15 2017-03-15 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (3)

Country Link
US (1) US11461656B2 (ja)
JP (1) JP6325762B1 (ja)
WO (1) WO2018167885A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556778B2 (en) * 2018-12-07 2023-01-17 Microsoft Technology Licensing, Llc Automated generation of machine learning models
JP7171477B2 (ja) * 2019-03-14 2022-11-15 ヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム
US11836467B2 (en) * 2021-06-15 2023-12-05 Microsoft Technology Licensing, Llc. Code generation with reinforcement learning
CN117877749B (zh) * 2024-03-11 2024-05-28 西安交通大学医学院第一附属医院 基于大数据的房颤患者抗凝治疗效果评估与优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003317073A (ja) * 2002-04-24 2003-11-07 Fuji Xerox Co Ltd ニューラルネットワーク処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990077006A (ko) * 1996-03-01 1999-10-25 윌리암 피. 워젤 유전자 프로그래밍방법 및 시스템
JP6740597B2 (ja) * 2015-11-27 2020-08-19 富士通株式会社 学習方法、学習プログラムおよび情報処理装置
US11250327B2 (en) * 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Evolution of deep neural network structures
CN110366734B (zh) * 2017-02-23 2024-01-26 谷歌有限责任公司 优化神经网络架构

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003317073A (ja) * 2002-04-24 2003-11-07 Fuji Xerox Co Ltd ニューラルネットワーク処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
篠崎隆宏 外1名: "「進化的アルゴリズムの大規模実行によるDNN構造最適化」", 日本音響学会 2015年 春季研究発表会講演論文集CD−ROM [CD−ROM], JPN6017021974, March 2015 (2015-03-01), pages 11 - 12, ISSN: 0003773509 *
菅沼雅徳 外3名: "「遺伝的プログラミングを用いた階層的な特徴構築による画像分類」", 電子情報通信学会技術研究報告, vol. 第116巻, 第121号, JPN6017021975, 27 June 2016 (2016-06-27), pages 25 - 30, ISSN: 0003773510 *

Also Published As

Publication number Publication date
US20190205763A1 (en) 2019-07-04
US11461656B2 (en) 2022-10-04
WO2018167885A1 (ja) 2018-09-20
JPWO2018167885A1 (ja) 2019-03-28

Similar Documents

Publication Publication Date Title
US11610131B2 (en) Ensembling of neural network models
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US11853893B2 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
JP6325762B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
WO2020253466A1 (zh) 一种用户界面的测试用例生成方法及装置
WO2018131259A1 (ja) 文章評価装置、及び文章評価方法
CN111105029B (zh) 神经网络的生成方法、生成装置和电子设备
CN110168578A (zh) 具有任务特定路径的多任务神经网络
CN113011529B (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
KR20060044772A (ko) 트리를 학습하기 위한 테이블 사용 방법
CN109165720A (zh) 神经网络模型压缩方法、装置和计算机设备
CN111047563B (zh) 一种应用于医学超声图像的神经网络构建方法
JP6908302B2 (ja) 学習装置、識別装置及びプログラム
JP6751376B2 (ja) 最適解探索方法、最適解探索プログラム及び最適解探索装置
Szwarcman et al. Quantum-inspired evolutionary algorithm applied to neural architecture search
US11488007B2 (en) Building of custom convolution filter for a neural network using an automated evolutionary process
KR102559605B1 (ko) 함수 최적화 방법 및 장치
EP4388445A1 (en) Gan distributed rf power amplifier automation design with deep reinforcement learning
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN116305939A (zh) 陆地生态系统碳水通量高精度反演方法、系统及电子设备
Javaheripi et al. Swann: Small-world architecture for fast convergence of neural networks
US11676050B2 (en) Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes
JP7438544B2 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
JP2020021474A (ja) モーション合成装置及びモーション合成方法
US20210081772A1 (en) Reservoir computer, reservoir designing method, and non-transitory computer-readable storage medium for storing reservoir designing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180215

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180412

R150 Certificate of patent or registration of utility model

Ref document number: 6325762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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