論文の概要、ライセンス

# (参考訳) 幾何意味遺伝プログラミングのためのCUDAフレームワークGSGP-CUDA [全文訳有]

GSGP-CUDA -- a CUDA framework for Geometric Semantic Genetic Programming ( http://arxiv.org/abs/2106.04034v1 )

ライセンス: CC BY 4.0
Leonardo Trujillo, Jose Manuel Mu\~noz Contreras, Daniel E Hernandez, Mauro Castelli and Juan J Tapia(参考訳) Geometric Semantic Genetic Programming (GSGP) は進化計算に基づく最先端の機械学習手法である。 GSGPはプログラムセマンティクスのレベルで直接検索操作を行い、より効率的に実行し、ほとんどのGPシステムのように構文レベルで操作することができる。 C++におけるGSGPの効率的な実装は、この事実を悪用しているが、その潜在能力は十分ではない。 本稿では、gpuを用いたgsgpの並列性を利用した、gsgpの最初のcuda実装であり、最も効率的であるgsgp-cudaを提案する。 結果は、最先端のシーケンシャル実装と比較して1000倍以上のスピードアップを示す。

Geometric Semantic Genetic Programming (GSGP) is a state-of-the-art machine learning method based on evolutionary computation. GSGP performs search operations directly at the level of program semantics, which can be done more efficiently then operating at the syntax level like most GP systems. Efficient implementations of GSGP in C++ exploit this fact, but not to its full potential. This paper presents GSGP-CUDA, the first CUDA implementation of GSGP and the most efficient, which exploits the intrinsic parallelism of GSGP using GPUs. Results show speedups greater than 1,000X relative to the state-of-the-art sequential implementation.
公開日: Tue, 8 Jun 2021 00:58:39 GMT

※ 翻訳結果を表に示しています。PDFがオリジナルの論文です。翻訳結果のライセンスはCC BY-SA 4.0です。詳細はトップページをご参照ください。

翻訳結果

    Page: /      
英語(論文から抽出)日本語訳スコア
1 2 0 2 n u J 1 2 0 2 n u J 0.85
8 ] E N . s c [ 8 ]EN。 sc [ 0.59
1 v 4 3 0 4 0 1 v 4 3 0 4 0 0.85
. 6 0 1 2 : v i X r a . 6 0 1 2 : v i X r a 0.85
GSGP-CUDA - a CUDA framework for Geometric GSGP-CUDA - 幾何学のためのCUDAフレームワーク 0.64
Semantic Genetic Programming セマンティック遺伝的プログラミング 0.76
Leonardo Trujillo1, Jose Manuel Mu˜noz Contreras1, Daniel E Hernandez1∗, Leonardo Trujillo1, Jose Manuel Mu 'noz Contreras1, Daniel E Hernandez1∗ 0.84
Mauro Castelli2, Juan J Tapia3 Mauro Castelli2, Juan J Tapia3 0.92
2 NOVA Information Management School (NOVA IMS), Universidade Nova de Lisboa, Campus 2NOVA情報管理学校(NOVA IMS, Universidade Nova de Lisboa, Campus) 0.82
1 Tecnol´ogico Nacional de M´exico/IT de Tijuana, Tijuana, B.C., Mexico メキシコ, ティフアナ, ティフアナ, ティフアナ, テクノール・オグニコ・ナシオナル・デ・メキシコ/IT de Tijuana 0.65
3 Instituto Polit´ecnico Nacional - CITEDI, Av. 3 instituto polit ́ecnico nacional - citedi, av。 0.75
Instituto Polit´ecnico Nacional No. 国立公民館第1校長。 0.44
1310 Colonia Nueva Tijuana, C.P. 1310 コロニア Nueva Tijuana, C.P. 0.73
22435, Tijuana, B.C., Mexico 22435 メキシコ・B.C.ティフアナ 0.76
de Campolide, 1070-312, Lisboa, Portugal de campolide, 1070-312, lisboa, portugal 0.86
Abstract Geometric Semantic Genetic Programming (GSGP) is a state-of-the-art machine learning method based on evolutionary computation. GSGP(Abstract Geometric Semantic Genetic Programming)は進化計算に基づく最先端の機械学習手法である。 0.85
GSGP performs search operations directly at the level of program semantics, which can be done more efficiently then operating at the syntax level like most GP systems. GSGPはプログラムセマンティクスのレベルで直接検索操作を行い、より効率的に実行し、ほとんどのGPシステムのように構文レベルで操作することができる。 0.77
Efficient implementations of GSGP in C++ exploit this fact, but not to its full potential. C++におけるGSGPの効率的な実装は、この事実を悪用しているが、その潜在能力は十分ではない。 0.52
This paper presents GSGP-CUDA, the first CUDA implementation of GSGP and the most efficient, which exploits the intrinsic parallelism of GSGP using GPUs. 本稿では、gpuを用いたgsgpの並列性を利用した、gsgpの最初のcuda実装であり、最も効率的であるgsgp-cudaを提案する。
訳抜け防止モード: 本稿では,GSGP の最初の CUDA 実装である GSGP - CUDA について述べる。 そして最も効率的で、GPUを用いたGSGPの本質的な並列性を利用する。
0.61
Results show speedups greater than 1,000× relative to the state-of-the-art sequential implementation. 結果は、最先端のシーケンシャル実装と比較して1000倍以上のスピードアップを示す。 0.58
Keywords: Genetic Programming, Geometric Semantic Genetic Programming, CUDA, GPU キーワード: 遺伝的プログラミング、幾何学的セマンティック遺伝的プログラミング、CUDA、GPU 0.69
∗Corresponding author Preprint submitted to SoftwareX ∗対応作家 SoftwareXに提出されたプレプリント 0.58
June 9, 2021 2021年6月9日 0.72
英語(論文から抽出)日本語訳スコア
Nr. Code metadata description C1 Current code version C2 Nr。 コードメタデータ記述 c1 current code version c2 0.78
Permanent used for this code version このコードバージョンに使用される永続性 0.70
link to code/repository コード/リポジトリへのリンク 0.55
C3 Code Ocean compute capsule C4 Legal Code License C5 Code versioning system used C6 C3 Code Ocean Compute capsule C4 Legal Code License C5 Code Versioning System Using C6 0.92
Software code languages, tools, and services used 使用されるソフトウェアコード言語、ツール、サービス 0.84
C7 Compilation requirements, operating C7 コンパイル要件,操作 0.88
environments & dependencies C8 環境と依存関係 C8 0.79
C9 If available Link to developer documentation/manual Support email for questions C9 質問に対する開発者ドキュメント/マニュアルサポートメールへのリンクが利用可能であれば 0.66
Please fill in this column v1.0 http://tiny.cc/0sbwj za この列 v1.0 http://tiny.cc/0sbwj za 0.49
PENDING GNU General Public License v3.0 None C/C++/CUDA,CUBLAS Pendinging GNU General Public License v3.0 None C/C++/CUDA,CubLAS 0.62
Toolkit CUDA v10.1 && v9.2, GCC v7.4.0, CUBLAS v2.0 ,Headers Linux, unix-like systems (Ubuntu Linux18.04) htt p : //PENDING/doc/ Toolkit CUDA v10.1 && v9.2, GCC v7.4.0, CUBLAS v2.0 , Headers Linux, unix-like systems (Ubuntu Linux18.04) htt p : //PENDING/doc/ 0.62
leonardo.trujillo@te ctijuana.edu.mx; daniel.hernandezm@te ctijuana.edu.mx leonardo.trujillo@te ctijuana.edu.mx; daniel.hernandezm@te ctijuana.edu.mx 0.47
aTemporary link to source code since we experienced some difficulties with the submission system, github repository will be available publicly upon acceptance. aTemporary link to source code since we experienced some difficulties with the submit system, github repository will be public before accept. 0.75
Table 1: Code metadata: General information about this code. 表1: コードメタデータ: このコードに関する一般的な情報。 0.85
1. Motivation and significance Geometric Semantic Genetic Programming (GSGP) is a variant of Genetic Programming (GP), a state-of-the-art machine learning algorithm [1, 2, 3, 4, 5]. 1. 動機と意義 幾何学的意味論的遺伝的プログラミング(gemetry semantic genetic programming, ggp)は、最先端の機械学習アルゴリズム [1, 2, 3, 4, 5] の変種である。 0.77
GP is an evolutionary computation method that performs search and optimization following a high-level model of natural evolution. GPは自然進化の高レベルモデルに従って探索と最適化を行う進化計算法である。 0.81
While standard GP uses genetic operators that produce offspring by manipulating the syntax of the parents, GSGP performs search operations directly on semantic space, which induces a unimodal fitness landscape that simplifies the search [6]. 標準GPは、親の構文を操作することによって子孫を生成する遺伝的演算子を用いるが、GSGPは意味空間上で直接検索操作を行うため、サーチ[6]を単純化する単調なフィットネスランドスケープを誘導する。 0.68
In symbolic regression problems, the application domain for GSGP-CUDA, semantic space is S ⊆ Rn, where n is the number of training samples or fitness cases, allowing the search operators to be implemented more efficiently than syntax manipulations. シンボリック回帰問題において、GSGP-CUDAのアプリケーション領域では、意味空間は S > Rn であり、n はトレーニングサンプルやフィットネスケースの数であり、構文操作よりも効率的にサーチオペレータを実装できる。 0.66
This allowed Vanneschi et al [2] to implement an efficient version of GSGP using C++ pointers [4]; this implementation is the reference baseline for the current work and is hereafter referred to as GSGP-C++. これにより、Vanneschi氏らはC++ポインタを使用してGSGPの効率的なバージョンを実装できるようになった[4]。
訳抜け防止モード: これによりVanneschi氏ら[2 ]はC++ポインタを使ってGSGPの効率的なバージョンを実装できるようになった[4 ]。 この実装は現在の作業のリファレンスベースラインであり、後にGSGP - C++と呼ばれる。
0.65
A newer version of this library has been published [5], but the core search algorithm remains unchanged. このライブラリの新しいバージョンが公開された[5]が、コア検索アルゴリズムは変わっていない。 0.77
2 2 0.85
英語(論文から抽出)日本語訳スコア
GSGP-CUDA is a GSGP framework that exploits the parallel nature of GSGP using Graphical Processing Units (GPUs). GSGP-CUDA(GSGP-CUDA) は、GPUを用いたGSGPの並列性を利用したGSGPフレームワークである。 0.73
The goal is to allow GSGP practitioners to efficiently tackle large problems. 目的は、GSGP実践者が大きな問題に効率的に対処できるようにすることである。 0.53
Search operators in GSGP define linear combinations of parent individuals, such that the semantic vector of an offspring is defined as a linear combination of the semantic vectors of the parent(s). gsgp における探索演算子は、子の意味ベクトルが親の意味ベクトルの線形結合として定義されるように、親個人の線形結合を定義する。 0.69
This operation is naively parallel, allowing for a direct implementation in GPUs. この操作はnaively parallelであり、gpuで直接実装できる。 0.65
Such architectures have been exploited in deep learning [7], but have been sparsely used with GP [8, 9, 10]. このようなアーキテクチャはディープラーニングで利用されている[7]が、gp [8, 9, 10]ではあまり使われていない。 0.67
Note that the works presented by Chitty [8], and Langdon and Banzhaf [9, 10] focus on implementing CUDA and other parallel tools to accelerate the interpretation of syntax trees, since that is the representation most commonly used in GP. chitty [8] と langdon と banzhaf [9, 10] によって提示された作品は、構文木の解釈を加速するために cuda や他の並列ツールの実装に焦点を当てている。
訳抜け防止モード: Chitty [8 ] が提示した作品に注意。 Langdon と Banzhaf [9, 10 ] はCUDA や他の並列ツールの実装に重点を置いている。 GPでよく使われる表現であるため、構文木の解釈を高速化する。
0.69
Nevertheless, while GSGP can use syntax trees as well, this is not a requirement of the main evolutionary loop, particularly since syntax is only evaluated for the initial population. にもかかわらず、gsgpは構文木も使用できるが、これは主要な進化ループの要件ではない。
訳抜け防止モード: それにもかかわらず、gsgpは構文木も使用できるが、これは主要な進化ループの要件ではない。 特に、構文は初期人口に対してのみ評価される。
0.65
In the present work, for example, a linear representation is used instead. 例えば、本研究では、代わりに線形表現が用いられる。 0.56
GSGP creates new individuals through the linear combination of the semantic vector of the parents, instead of combining or modifying syntax, as traditional GP algorithms do. GSGPは、従来のGPアルゴリズムのように構文の組み合わせや変更ではなく、親の意味ベクトルの線形結合によって新しい個人を生成する。 0.81
The main issue has been that syntactic manipulation of individuals is not as efficient in GPUs, compared to numerical computations. 主な問題は、個人の構文操作がGPUでは数値計算に比べて効率的ではないことである。 0.74
With GSGP, on the other hand, the synergy with modern GPU architectures is stronger. 一方GSGPでは、現代的なGPUアーキテクチャとの相乗効果が強くなっている。 0.77
2. Software description 2. ソフトウェア記述 0.84
GSGP can be briefly summarized as follows [1, 11], focusing on the most common application domain, real-valued symbolic regression. gsgpは以下のように簡単に要約できる。 [1, 11] もっとも一般的なアプリケーションドメインである実数値のシンボリックレグレッションに焦点を当てている。
訳抜け防止モード: GSGPは簡単に要約できる。 以下の通り [ 1, 11 ], 最も一般的なアプリケーションドメイン、実値のシンボルレグレッションに注目します。
0.71
In this problem, fitness cases (or dataset samples) are defined as fc j = (x j,t j) with t j ∈ R, x j ∈ Rl and l is the number of input features. この問題では、フィットネスケース(またはデータセットサンプル)は t j ∈ R, x j ∈ Rl で fc j = (x j,t j) と定義され、l は入力特徴数である。 0.80
In standard GP and GSGP individuals are usually represented using syntax trees, so we refer to individuals as programs or trees w.l.o.g. 標準GPやGSGPでは、個人は通常、構文木を用いて表現されるので、プログラムや木として言及する。 0.68
The semantics sTi = {sTi,1, ...,sTi,n} of a tree Ti is a vector of size n, which represents the total number of fitness cases, where sTi, j is the output of the i-th tree evaluated on the inputs from the j-th fitness case. ツリー ti のセマンティクス sti = {sti,1, ...,sti,n} はサイズ n のベクトルであり、フィットネスケースの総数を表し、sti, j は j 番目のフィットネスケースからの入力で評価された i 番目の木の出力である。
訳抜け防止モード: 木Ti の意味論 sTi = { sTi,1, ..., sTi, n } は n の大きさのベクトルである。 これは、sTi, j が j - th フィットネスケースからの入力に基づいて評価された i - th ツリーの出力である、フィットネスケースの総数を表す。
0.80
In this way, the fitness of a tree Ti is computed as the distance between sTi and the target semantics t = [t1, ...,tn]. このように、木Tiの適合度は、sTiと対象意味論 t = [t1, ...,tn] の間の距離として計算される。 0.76
While the original GSGP formulation included both geometric semantic crossover (GSC) and mutation (GSM) operators, experimental work suggests that mutation is usually sufficient to perform an evolutionary search [2]. 元々のgsgpの定式化は、幾何学的意味的クロスオーバー(gsc)と突然変異(gsm)の両方を含んでいたが、実験的研究は、突然変異は通常進化的探索を実行するのに十分であることを示唆している[2]。
訳抜け防止モード: オリジナルのgsgpの定式化は幾何学的意味的クロスオーバー(gsc)と突然変異(gsm)の両方を含んでいた。 実験によると 突然変異は通常進化的探索を行うのに十分である[2 ]。
0.64
A mutated offspring of parent T is defined as TM = T + ms· (R1 + R2) with Ru,u = 1,2 are random real functions with range [0,1], constructed as Ru = (1 + e−Tu)−1 with Tu is a random GP tree, and ms is the mutation step. 親 T の変異した子孫は TM = T + ms· (R1 + R2) と定義され、Ru,u = 1,2 は範囲 [0,1] のランダム実関数であり、u = (1 + e−Tu)−1 として構成され、Tu はランダムな GP ツリーであり、ms は突然変異ステップである。 0.76
A useful property of both GSM and GSC is that the semantics of an offspring is basically defined by a linear combination of the semantics of the parents and the random trees. GSMとGSCの両方の有用な性質は、子孫の意味論は基本的に親とランダムツリーの意味論の線形結合によって定義されることである。 0.74
Therefore, it is possible to compute the semantics and fitness of an offspring using only the semantic vectors. したがって、意味ベクトルのみを用いて、子孫の意味論と適合性を計算することができる。 0.71
This allows for an efficient implementation of the GSGP search, by building and これにより、GSGP検索のビルドと実行による効率的な実装が可能になる。 0.57
3 3 0.85
英語(論文から抽出)日本語訳スコア
Figure 1: GPU execution model. 図1: GPU実行モデル。 0.76
updating semantic matrices Sm×n, where m is the number of individuals (in either the population or the set of random trees), as done in GSGP-C++ [4, 5]. 意味行列を更新する Sm×n, ここで m は GSGP-C++ [4, 5] で示されるように、個体数(集団またはランダムツリーの集合)である。 0.82
2.1. Software Architecture 2.1. ソフトウェアアーキテクチャ 0.73
CUDA has emerged as a general purpose parallel computing API for NVDIA GPUs, designed to work with high-level programming languages (C, C++ and Fortran). CUDAは、高レベルプログラミング言語(C、C++、Fortran)で動作するように設計された、NVDIA GPUのための汎用並列コンピューティングAPIとして登場した。 0.69
CUDA is the most widely used computing platform for general purpose High Performance Computing (HPC). CUDAは、汎用高性能コンピューティング(HPC)のための最も広く使われているコンピューティングプラットフォームである。 0.79
CUDA programming is heterogeneous since both the GPU (device) and CPU (host) can be used. CUDAプログラミングはGPU(デバイス)とCPU(ホスト)の両方を使用できるため、異種である。 0.88
The code on the CPU manages memory and launches kernels that are executed on the GPU. CPU上のコードはメモリを管理し、GPU上で実行されるカーネルを起動する。 0.79
Parallelism arises in the execution of kernels, which are launched over multiple threads simultaneously. 並列性は、複数のスレッドで同時に起動されるカーネルの実行で生じる。 0.80
The CUDA execution model relies on three main concepts: thread, blocks and grids; as shown in Figure 1. CUDAの実行モデルは、図1に示すように、スレッド、ブロック、グリッドの3つの主要な概念に依存しています。 0.60
GSGP-C++ manages the evolutionary cycle of GSGP using semantic matrices therefore efficiently migrating these structures to a GPU is possible. GSGP-C++は意味行列を用いてGSGPの進化サイクルを管理するため、これらの構造をGPUに効率的に移行することが可能である。 0.57
While previous works have developed GPU-based implementations of GP [12, 9, 13, 14], manipulating syntax trees is not efficient. 従来,GPUによるGP [12, 9, 13, 14]の実装は開発されてきたが,構文木を操作するのは効率的ではない。 0.62
However, since GSGP does not require explicit construction of program syntax, it can exploit efficient matrix manipulation on GPUs. しかし、gsgpはプログラム構文を明示的に構築する必要がないため、gpu上で効率的なマトリックス操作を活用できる。 0.63
The evolutionary process in GSGP-CUDA has the following stages: GSGP-CUDAの進化過程には以下の段階がある。 0.74
1. Calculating ranges of data and process parallelization. 1. データの範囲とプロセス並列化の計算。 0.85
Depending on the problem size (features l, fitness cases n) and GSGP configuration (population size m and maximum program size k), it is necessary to define the configuration of parallel work at the thread, block and grid level. 問題のサイズ(特徴量l、適合度ケースn)とgsgp構成(人口サイズm、最大プログラムサイズk)によって、スレッド、ブロック、グリッドレベルで並列作業の構成を定義する必要があります。 0.67
2. Creation of memory variables. 2. メモリ変数の作成。 0.78
All global memory regions must be reserved and allocated on the device. すべてのグローバルメモリ領域をリザーブドし、デバイスに割り当てなければならない。 0.73
The manipulation of data is through pointer vectors in each stage. データ操作は各ステージのポインタベクトルを介して行われる。 0.83
4 GridExecuted byExecuted byExecuted byCoreStreaming MultiprocessorComple te GPU UnitBlockThreadBlock BlockBlock 4 Grid Executed by Executed byCoreStreaming MultiprocessorComple te GPU UnitBlockThreadBlock BlockBlock 0.76
英語(論文から抽出)日本語訳スコア
3. Initialization. Creates the initial population on the GPU, using a linear genome representation for the programs [9, 10]. 3. 初期化。 プログラム[9, 10]の線形ゲノム表現を使用して、gpu上の初期人口を生成する。 0.76
Structures are used to keep track of the evolutionary lineage of each individual. 構造は個々の進化の系譜を追跡するために使用される。 0.72
4. Fitness evaluation. 4. フィットネス評価。 0.77
There are two kernels used in this stage. この段階で使われるカーネルは2つある。 0.72
The first kernel is an interpreter that computes the semantics of each individual based on their genome (and their offspring), while the second kernel computes the fitness given by the Root Mean Squared Error (RMSE). 第1のカーネルは、それぞれのゲノム(とその子孫)に基づいて個々の意味を計算するインタプリタであり、第2のカーネルはRoot Mean Squared Error(RMSE)によって与えられる適合度を計算する。 0.71
5. GSGP Evolution. 5. GSGP 進化型。 0.80
This process includes applying GSM on the parent population to compute the offspring semantics and the offspring fitness, and performing survival for the next generation. このプロセスは、親集団にGSMを適用して、子孫のセマンティクスと子孫のフィットネスを計算し、次世代の生存を可能にする。 0.65
Since GSGP-CUDA is intended for large problems, selection pressure is kept low by applying mutation to all the individuals in the population [1]. gsgp-cudaは大きな問題を想定しているため、人口の全ての個体に変異を加えることで選択圧力を低く抑えられる[1]。 0.71
2.2. Software Functionalities 2.2. ソフトウェアの機能 0.76
The main evolutionary algorithm in GSGP-CUDA is controlled by the CPU with a sequential flow, which launches each of the CUDA kernels that perform each of the evolutionary processes using Single Instruction Multiple Data (SIMD) execution, summarized in Algorithm 1. GSGP-CUDAの主要な進化的アルゴリズムは、逐次フローを持つCPUによって制御され、アルゴリズム1にまとめられたSingle Instruction Multiple Data (SIMD) 実行を用いて、各進化過程を実行するCUDAカーネルを起動する。 0.87
For each kernel, Algorithm 1 specifies the level of parallelism that was implemented. 各カーネルに対して、アルゴリズム1は実装された並列性のレベルを指定する。 0.69
This refers to what is being executed on an individual CUDA thread. これは、個々のCUDAスレッドで実行されているものを指す。 0.57
Some parameters are based on the characteristics of the GPU card. いくつかのパラメータはGPUカードの特徴に基づいている。 0.77
Blocks and grids are three-dimensional structures of size (threads.x,threads.y ,threads.z) and (blocks.x,blocks.y,b locks.z) respectively. ブロックとグリッドはそれぞれサイズ(threads.x,threads.y ,threads.z)と(blocks.x,blocks.y,b locks.z)の3次元構造である。 0.70
In this implementation grids and blocks are one-dimensional so only threads.x and blocks.x are considered, with the other dimensions set to 1. この実装ではグリッドとブロックは1次元であるため、スレッド.xとブロック.xのみが考慮される。 0.69
Therefore, we will refer to variable threads and blocks to define the size of these structures. したがって、これらの構造のサイズを定義するために変数スレッドとブロックを参照します。 0.79
The blocks and threads variables are set using the CUDA Occupancy API at run time. ブロックとスレッド変数は、実行時にCUDA Occupancy APIを使用して設定される。 0.75
This is done using the CUDA Occupancy API (available in CUDA 6.5 and later), namely the cudaOccupancyMaxPote ntialBlockSize function that heuristically calculates a block size that achieves the maximum multiprocessor-level occupancy for each kernel. これはCUDA Occupancy API(CUDA 6.5以降で利用可能)、すなわちcudaOccupancyMaxPote ntialBlockSize関数を使って、各カーネルの最大マルチプロセッサレベルの占有を達成するブロックサイズをヒューリスティックに計算する。 0.71
Initialization. The CreatePopulation kernel creates the population of programs T and the set of random trees R used by the GSM kernel, based on the desired population size and maximum program length. 初期化。 CreatePopulationカーネルは、プログラムTの集団と、GSMカーネルが使用するランダムツリーRの集合を、所望の集団サイズと最大プログラム長に基づいて生成する。 0.72
The individuals are represented using a linear genome, composed of valid terminals (inputs to the program) and functions (basic elements with which programs can be built). 個体は、有効な端末(プログラムへの入力)と機能(プログラムを構築できる基本要素)からなる線形ゲノムを用いて表現される。 0.75
Terminals include input features and ephemeral random constants, while a reduced function set of arithmetic operators is used as suggested in [2], of +,−,× and protected division ÷. 端末は入力特徴と短命確率定数を含み、演算演算子の縮小関数集合は [2], of +,−,×,protected division で提案されているように使用される。 0.76
Each gene in the chromosome is determined randomly based on the following probabilities: 0.8 for a function, 0.14 for a problem variable or feature, and 0.04 for an ephemeral random constant. 染色体の各遺伝子は、次の確率に基づいてランダムに決定される:機能0.8、問題変数または特徴0.14、一時的ランダム定数0.04。 0.85
5 5 0.85
英語(論文から抽出)日本語訳スコア
Algorithm 1: GSGP-CUDA Evolutionary Algorithm アルゴリズム1:GSGP-CUDA進化アルゴリズム 0.79
Inputs: Population size m, number of random trees r, fitness cases (n× l), target semantics t, maximum program size k and number of generations g; kernel CreatePopulation(m,k ) → P; kernel CreatePopulation(r,k ) → R; kernel ComputeSemantics(P) → ST,m×n; kernel ComputeSemantics(R) → SR,r×n; kernel ComputeFitness(ST,m×n,t) → FT,m×1; 入力:人口サイズm、ランダムツリー数r、フィットネスケース(n×l)、ターゲットセマンティクスt、最大プログラムサイズk、世代数g;カーネルCreatePopulation(m,k ) → P;カーネルCreatePopulation(r,k ) → R;カーネルCreatePopulation(r,k ) → R;カーネルComputeSemantics(P) → ST,m×n;カーネルComputeSemantics(R) → SR,r×n;カーネルComputeFitness(ST,m×n,t) → FT,m×1; 0.79
(cid:46) Parallelism at the gene level (cid:46) Random Trees used for GSM (cid:46) Parallelism at the individual level (cid:46) Semantic matrix of the random trees (cid:46) Parallelism at the individual level kernel GSM(ST,m×n,SR,r×n) → SO,m×n; (cid:46) Parallelism at the semantic element level kernel ComputeFitness(SO,n×m,t) → FO,m×1; (cid:46) Fitness of the offspring (cid:46) Implemented using CUBLAS and pointer aliasing Survival with elitism; (cid:46)遺伝子レベルでの並列性(cid:46) 個々のレベルでgsm(cid:46) 個々のレベルでの並列性(cid:46) ランダム木のセマンティックマトリックス(cid:46) 個々のレベルでの並列性 gsm(st,m×n,sr,r×n) → so,m×n; (cid:46) セマンティ要素レベルでの並列性 kernel computefitness(so,n×m,t) → fo,m×1; (cid:46) 子孫の適合性(cid:46) cublasとpointer aliasing survival with elitism。 0.79
1 for generation <= to g do 1 for generation <= to g do 0.85
Return: Best individual found; return: 最善の個人を見つけます。 0.61
Interpreter. The ComputeSemantics kernel is basically an interpreter, that decodes each GP tree and evaluates it over all the fitness cases, producing as output the semantic vector of each individual. 解釈。 ComputeSemanticsカーネルは基本的にインタプリタであり、各GPツリーをデコードし、すべてのフィットネスケースで評価し、個々のセマンティックベクターを出力する。
訳抜け防止モード: 解釈。 ComputeSemanticsカーネルは基本的にインタプリタであり、各GPツリーをデコードする フィットネスの全てのケースで評価します 個々の意味ベクトルを出力として生成します
0.67
The chromosome is interpreted linearly, using an auxiliary LIFO stack D that stores terminals from the chromosome and the output from valid operations, following [15]. 染色体は[15]に従って染色体の末端と有効な操作からの出力を格納する補助lifoスタックdを用いて直線的に解釈される。 0.70
When a terminal gene in a chromosome is encountered by the interpreter, a push of the value into stack D is done. インタプリタによって染色体の終端遺伝子に遭遇すると、スタックdへの値のプッシュが行われる。 0.69
Conversely, when a function gene is encountered, pop operations are performed on D to obtain the arguments (operands) for the function; the number of pop operations is equal to the arity of the function. 逆に、関数遺伝子に遭遇すると、D上でポップ操作を行い、その関数の引数(操作)を得る。
訳抜け防止モード: 逆に、機能遺伝子に遭遇すると、d上でポップ操作が行われる。 関数の引数(オペランド)を得る ; pop操作の数は関数のarityに等しい。
0.72
After computing the function, the output is pushed onto the stack D. If the number of elements in D is less then the arity of the function, then the operation is skipped and the stacked is left in the original state (before encountering the function gene in the chromosome). 関数を計算した後、出力がスタックDにプッシュされる。もしD内の要素の数が少なくなったら、関数のアリティはスキップされ、スタック化された操作は元の状態(染色体内の関数遺伝子に遭遇する前に)に残される。 0.86
An additional output register Out is used to store all the valid outputs from computed functions. 計算関数からの有効な出力をすべて格納するために、追加の出力レジスタアウトが使用される。
訳抜け防止モード: 追加の出力レジスタアウトが使用される 計算関数からの有効な出力をすべて格納する。
0.85
When the interpreter gets to the end of the chromosome, the kernel returns the contents of Out. インタプリタが染色体の終端に到達すると、カーネルはoutの内容を返します。 0.61
This is repeated for each fitness case in the training dataset. これはトレーニングデータセットの各フィットネスケースで繰り返される。 0.79
Each individual is executed over a single thread, over all the fitness cases. 各個人は単一のスレッド上で、すべてのフィットネスケース上で実行される。 0.73
The ComputeSemantics kernel produces the semantic matrix of the population ST,m×n and the semantic matrix of the random trees SR,r×n. ComputeSemanticsカーネルは、集団ST,m×nの意味行列とランダムツリーSR,r×nの意味行列を生成する。 0.63
Fitness computation. The ComputeFitness kernel computes the RMSE between each row of the semantic matrix ST,m×n and the target vector t, computing the fitness of each individual in the population. フィトネス計算。 ComputeFitnessカーネルは、意味行列ST,m×nの各行と対象ベクトルtとの間のRMSEを演算し、集団内の各個人の適合度を算出する。 0.71
To account for large datasets with many fitness cases, and large populations, an efficient partition of the semantic matrix is necessary. 適合ケースが多く、集団が多い大きなデータセットを考えるには、セマンティックマトリクスの効率的な分割が必要である。 0.73
Each thread computes the fitness of a single individual. 各スレッドは個々の個人の適合度を計算する。 0.63
Geometric Semantic Mutation. Geometric Semantic Mutation の略。 0.72
The search operation is performed by the GSM kernel. 探索動作はGSMカーネルによって実行される。 0.84
The GSM operator is basically a vector addition operation, that can be performed independently for each semantic element sTi, j. GSM演算子は基本的にベクトル加算演算であり、各意味要素 sTi, j に対して独立に実行できる。 0.80
However, it is necessary しかし、それは必要です。 0.75
6 6 0.85
英語(論文から抽出)日本語訳スコア
to select the semantics of two random trees Ru and Rv, and a random mutation step ms. 2つのランダム木ru,rvとランダム突然変異ステップmsのセマンティクスを選択する。 0.57
In other words, while the mutation operator is defined at the individual level, it can be efficiently implemented at the semantic element level, where each thread computes a particular semantic element in the offspring. 言い換えれば、突然変異演算子は個々のレベルで定義されるが、各スレッドが子孫の特定の意味要素を計算するセマンティック要素レベルで効率的に実装することができる。 0.67
Therefore, to synchronize this operation over multiple threads, an array of indices and an array of mutation steps is first constructed with two auxiliary kernels, the first one stores the indices u and v of the random trees used in each mutation operation while the latter stores the corresponding mutations steps ms. したがって、この操作を複数のスレッドで同期させるために、まずインデックスの配列と突然変異ステップの配列を2つの補助カーネルで構築し、まず、各突然変異操作で使用されるランダムツリーのインデックスuとvを、後者は対応する突然変異ステップmsを格納する。 0.74
Afterward, the GSM kernel uses these arrays to compute each element of the offspring semantic vector. その後、GSMカーネルはこれらの配列を使用して、子孫意味ベクトルの各要素を計算する。
訳抜け防止モード: その後gsmカーネルはこれらの配列を使い 子孫意味ベクトルの各要素を計算する。
0.73
Survival. Survival uses a generational strategy, with elitism of the best individual in both the parent and offspring populations. 生存。 生存には世代戦略が用いられ、親子ともに最良の個体のエリートムが用いられる。 0.70
This stage replaces the parent population, semantic matrix and fitness vector with those of the offspring. この段階は、親集団、意味行列、およびフィットネスベクトルを子孫のものと置き換える。 0.67
It relies on the CUBLAS ISAMIN function to identify the best individual. CUBLAS ISAMIN関数を使って、最高の個人を特定する。 0.70
To find the worst individual to be replaced, in case that the elite individual is in the parent population, the CUBLAS ISAMAX function is used. CUBLAS ISAMAX関数は、エリート個体が親集団である場合、置換すべき最悪の個体を見つけるために用いられる。 0.62
2.3. Complexity Analysis 2.3. 複雑度解析 0.75
According to [11], the complexity of the sequential GSGP depends on the population size (m) and number of generations (g) resulting in O(mg) time complexity; since the computational cost of evaluating a new individuals at each generation is constant O(1). 11] によると、逐次gsgpの複雑さは、人口サイズ(m)と世代数(g)によっては、o(mg) の時間的複雑さに起因し、各世代で新しい個体を評価する計算コストは一定 o(1) である。 0.74
However, in general, this evaluation also depends on the number of fitness cases n, giving a complexity of O(mgn). しかし、一般には、この評価は、O(mgn) の複雑さをもたらすフィットネスケース n の数にも依存する。 0.75
The proposed ), where t is the number of threads. ここで、t はスレッドの数である。 0.40
implementation has a complexity of O( For modern GPUs, t could approximate m, g or n in many cases, such that the complexity could be reduced by one factor. 実装はo( for modern gpus)の複雑さを持ち、t は多くの場合 m, g または n を近似することができ、複雑さを 1 要素減らすことができる。 0.74
mgn t Similarly, the memory complexity depends on the population size (m) and the number of fitness cases (n), but since the same arrays are used in all the iterations, the number of generations (g) does not affect the memory complexity. mgn t 同様に、メモリの複雑さは、人口規模(m)とフィットネスケース数(n)に依存するが、全てのイテレーションで同じ配列が使用されるため、世代数(g)がメモリの複雑さに影響を与えることはない。 0.85
Nevertheless, there are two additional dimensions that impact the memory complexity, these are: the maximum program size (k) and the number of random trees (r). それにもかかわらず、メモリの複雑さに影響を与える2つの追加次元がある: 最大プログラムサイズ (k) とランダムツリー数 (r) である。 0.83
Note that the first one is only used on the array for the syntax of the individuals in the initial population, and the latter is constant throughout the whole evolutionary process. 注意すべきは、最初のものは初期個体群の個体の構文の配列でのみ使われ、後者は進化の過程全体を通して一定である。 0.75
In this way, for the initialization stage, the algorithm implements an array of floats of size O(mk) for the initial population, another one of size O(rk) for the random trees used for the mutation operation, one more of size O(mn) that holds the semantic vector for each individual, another of size O(rn) for the semantic vectors of the random trees; and finally, one of size O(nl) for the input data, given by the number of fitness cases and the number of features in the problem. このように初期化段階において、アルゴリズムは、初期個体群に対するサイズO(mk)の配列、突然変異操作に使用されるランダムツリーに対するサイズO(rk)のもう1つの配列、各個体に対する意味ベクトルを保持するサイズO(mn)の1つ、ランダムツリーのセマンティックベクトルに対するサイズO(rn)のもう1つ、そして最後に、フィットネスケースの数と問題の特徴数から与えられる入力データに対するサイズO(nl)の配列を実装する。 0.77
For the remaining iterations of the algorithm, an additional array is used to store the アルゴリズムの残りのイテレーションでは、追加の配列を使用して格納する。 0.70
7 7 0.85
英語(論文から抽出)日本語訳スコア
Features GPU Architecture GPUアーキテクチャの特徴 0.80
GPU Memory Memory Interface Memory Bandwidth NVIDIA CUDA ® Cores System Interface Max Power Consumption GPUメモリインタフェース メモリバンド幅NVIDIA CUDA ® Cores System Interface Max Power Consumption 0.81
Quadro P4000 NVIDIA Pascal Quadro P4000 NVIDIA Pascal 0.98
8 GB GDDR5 256-bit Up to 243 GB/s 1792 PCI Express 3.0 x16 105 W 8GB GDDR5 256-bit 最大243GB/s 1792 PCI Express 3.0 x16 105 W 0.79
Tesla P100 NVIDIA Pascal 16GB CoWoS HBM2 at 732 GB/s or 12GB CoWoS HBM2 at 549 GB/s 4096-bit 732 GB/s or 549 GB/s 3584 NVLink 250 W Tesla P100 NVIDIA Pascal 16GB CoWoS HBM2 at 732 GB/s or 12GB CoWoS HBM2 at 549 GB/s 4096-bit 732 GB/s or 549 GB/s 3584 NVLink 250 W 0.77
Table 2: Specifications of GPU devices. 表2:GPUデバイスの仕様。 0.66
semantic vectors of the new individuals created at each iteration, this array is of size O(mn). 各反復で生成された新しい個人の意味ベクトル、この配列はサイズ O(mn) である。 0.80
Hence, the memory complexity of the proposed algorithm is O(mk + rk +2mn+rn+nl). したがって、提案アルゴリズムのメモリ複雑性はO(mk + rk + 2mn+rn+nl)である。 0.74
As it will be described in the next section, the dimensions that present the largest values are the number of fitness cases (n) and the population size (m). 次の節で説明するように、最も大きな値を示す次元は、フィットネスケースの数(n)と人口サイズ(m)である。 0.60
Thus, the memory growth is described by O(2mn). したがって、メモリ成長はo(2mn) で記述される。 0.80
3. Illustrative Examples The experimental evaluation has two goals. 3. 図示的な例 実験的な評価には2つの目標がある。 0.67
First, to measure the speedup of GSGP-CUDA relative to GSGP-C++. まず、GSGP-C++と比較してGSGP-CUDAの高速化を測定する。 0.52
Second, to compare the performance of both implementations on real-world problems. 第二に、現実の問題における両方の実装の性能を比較する。 0.65
3.1. Performance speedup 3.1. パフォーマンスのスピードアップ 0.76
The algorithms are executed on the following hardware. アルゴリズムは以下のハードウェア上で実行される。 0.83
For GSGP-C++ we use a Dell PowerEdge R430 server with Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20 GHz processors, using virtual machines with 8 Xeon Cores and 32 GB of RAM running on a Kernel-based Virtual Machine server. GSGP-C++では、Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20 GHzプロセッサを搭載したDell PowerEdge R430サーバを使用し、8 Xeon Coreと32GBのRAMをカーネルベースの仮想マシンサーバー上で実行しています。 0.74
For GSGP-CUDA we use two devices, an NVIDIA Quadro P4000 and an NVIDIA Tesla P100; see Table 2. GSGP-CUDAでは、NVIDIA Quadro P4000とNVIDIA Tesla P100の2つのデバイスを使用します。 0.85
The Quadro card works on a Dell precision 7811 workstation with an Intel (R) Xeon CPU E5-2603 v4 1.70Ghz and 32 GB of RAM with 64-bit Ubuntu Linux. Quadroカードは、Intel (R) Xeon CPU E5-2603 v4 1.70Ghzと32GBのRAMと64ビットUbuntu Linuxを搭載したDellの精度7811ワークステーションで動作する。 0.75
The Tesla card runs on IBM Power8 S822LC server for HPC, with two Power8NVL 4.20 GHz processors with 512 GB of RAM and Ubuntu Server 16.04. TeslaのカードはHPC用のIBM Power8 S822LCサーバで動作し、512GBのRAMとUbuntu Server 16.04の2つのPower8NVL 4.20 GHzプロセッサを搭載している。 0.64
To evaluate the speedup between implementations we use dummy datasets to measure execution times for different scenarios. 実装間のスピードアップを評価するために、異なるシナリオの実行時間を測定するためにダミーデータセットを使用します。
訳抜け防止モード: 実装間のスピードアップを評価する ダミーデータセットを使って 異なるシナリオの実行時間を測定する。
0.73
Table 3 shows the ranges and parameter values for these experiments. 表3は、これらの実験の範囲とパラメータ値を示しています。 0.65
The CUDA event API is used to compute the processing time, which is part of the CUDA SDK and includes calls to create and destroy events, record events and calculate the time elapsed in milliseconds between two events, using the event CUDAイベントAPIは、CUDA SDKの一部である処理時間を計算するために使用され、イベントの生成と破棄、イベントの記録、イベントを使用して2つのイベント間でミリ秒間に経過した時間を計算する呼び出しを含む。 0.79
8 8 0.85
英語(論文から抽出)日本語訳スコア
Parameter Fitness Cases Number of features Program size (genes) Population Size Number of generations Runs パラメータ適合度ケース数 プログラムサイズ(genes) 世代数 世代数 実行数 0.65
Range n = 102,400 l = 1,024 k ∈ [127,1023,2047] m = 10,240 50 30 範囲 n = 102,400 l = 1,024 k ∈ [127,1023,2047] m = 10240 50 30 0.79
Table 3: Experimental parameters used for benchmarking GSGP-C++ and GSGP-CUDA. 表3:GSGP-C++とGSGP-CUDAのベンチマークに使用される実験パラメータ。 0.52
functions cudaEvent t, cudaEventCreate(), cudaEventRecord(), cudaEventSynchronize () and cudaEventElapsedTime (). 関数 cudaEvent t、cudaEventCreate()、cudaEventRecord()、cudaEventSynchronize ()、cudaEventElapsedTime ()。 0.80
We compute the run times of the CreatePopulation, ComputeSemantics and a single GSGP generation (iteration). 我々は,CreatePopulation,Co mputeSemantics,GSGP生成の1つの実行時間を計算する。 0.66
In the latter case, this includes the GSM kernel, along with all auxiliary kernels, and the survival stage. 後者の場合、GSMカーネルと全ての補助カーネル、生存ステージを含む。
訳抜け防止モード: 後者の場合、これはすべての補助カーネルと共にGSMカーネルを含む。 そして 生存ステージ。
0.62
Moreover, the total run time of a each run is computed, including load times for the training data and returning the results to the host. さらに、トレーニングデータのロード時間とホストへの結果の返却を含む、各ランの総実行時間を算出する。 0.64
Table 4 shows the speedup of GSGP-CUDA compared to GSGP-C++, for GSGP process. 表4はGSGPプロセスにおけるGSGP-CUDAの高速化を示す。 0.76
Consider the case where k = 127, which are relatively large programs and a common GP setting [11, 16]. k = 127 が比較的大きなプログラムであり、共通の GP 設定 [11, 16] である場合を考える。 0.80
Notice that speedup is largest in the CreatePopulation kernel, due to the CUDA parallelization and because GSGPCUDA uses a simpler linear chromosome. CUDAの並列化とGSGPCUDAはより単純な線形染色体を使用するため、CreatePopulationカーネルでスピードアップが最大であることに注意してください。 0.69
In the Tesla card there is also a substantial speedup in each GSGP generation, of nearly 1,000. Teslaのカードには、GSGPの各世代で1000近い大幅なスピードアップがある。
訳抜け防止モード: Teslaのカードには、GSGPの各世代で相当なスピードアップがある。 約1000人です
0.70
The speedup in the total run time, however, is closer to the speedup achieved in the ComputeSemantics kernel. しかし、総実行時間のスピードアップは、ComputeSemanticsカーネルで達成されたスピードアップに近い。 0.60
This is due to two reasons. これは2つの理由による。 0.78
First, ComputeSemantics is the most computationally expensive kernel, since each individual is interpreted linearly for each fitness case. 第一に、ComputeSemanticsは、各フィットネスケースに対して各個人が線形に解釈されるため、計算コストが最も高いカーネルである。 0.56
Second, these tests only considered 50 generations. 第二に、これらのテストは50世代に過ぎなかった。 0.54
In many real-world problems the number of generations can be as high as 2,000 to achieve optimal performance, which would increase the speedup in practice. 多くの実世界の問題では、最適な性能を達成するために2000世代もかかる可能性があるため、実際はスピードアップが増加する。 0.65
As the individual size increases, the speedup for the CreatePopulation kernel and for the GSGP Generation either stay the same or increase. 個々のサイズが大きくなると、CreatePopulationカーネルとGSGPジェネレーションのスピードアップが同じか増加するかのいずれかになる。 0.76
However, the speedup of the ComputeSemantics kernel decreases. しかし、ComputeSemanticsカーネルの高速化は減少する。 0.69
Comparing the Quadro and Tesla cards, Figure 2 summarizes the results on a sweep of parameter values. quadroとteslaのカードを比較すると、図2はパラメータ値の全体について結果を要約します。
訳抜け防止モード: quadroとtesla cardの比較。 図2は、一連のパラメータ値の結果を要約します。
0.74
The plots show the run times of 30 runs (horizontal axis) of the ComputeSemantics kernel, with 102,400 fitness cases and the Table 3 parameters. プロットはComputeSemanticsカーネルの30ラン(水平軸)の実行時間を示し、102,400のフィットネスケースとテーブル3パラメータを持つ。 0.72
Notice that the ComputeSemantics kernel is sensitive to program size. ComputeSemanticsカーネルがプログラムサイズに敏感であることに注意してください。 0.65
For these reasons, the recommended setup for GSGP-CUDA is to use small or medium-sized programs. これらの理由から、GSGP-CUDAの推奨設定は、小または中規模のプログラムを使用することである。 0.60
3.2. Performance on real symbolic regression problems 3.2. 実記号回帰問題における性能 0.71
GSGP-CUDA and GSGP-C++ were evaluated on the set of benchmark problems in Table 5, which have been widely used to evaluate GP [3, 17, 18]. GSGP-CUDAとGSGP-C++は,GP[3, 17, 18]の評価に広く用いられている表5のベンチマーク問題に対して評価した。 0.73
The results are summarized in Table 6 for the training performance and in Table 7 for 結果は、トレーニングパフォーマンスのための表6と、テーブル7で要約されます。 0.76
9 9 0.85
英語(論文から抽出)日本語訳スコア
Individual size 127 1023 個人サイズ 127 1023 0.82
2047 CUDA kernel CreatePopulation ComputeSemantics GSGP Generation Total Run Time CreatePopulation ComputeSemantics GSGP Generation Total Run Time CreatePopulation ComputeSemantics GSGP Generation Total Run Time 2047 CUDAカーネル作成 計算セマンティックス GSGP 生成 総実行時間生成 演算セマンティックス GSGP 生成 全実行時間生成 演算セマンティックス GSGP 生成総実行時間 0.80
Speed-up Quadro スピードアップクアドロ 0.50
554x 96x 29x 81x 570x 23x 28x 22x 554x 96x 29x 81x 570x 23x 28x 22x 0.62
1,130x 24x 32x 23x 1,130x 24x32x23x 0.55
Speed-up Tesla 1,177x 112x 872x 103x 2,039x スピードアップ Tesla 1,177x 112x 872x 103x 2,039x 0.61
31x 850x 30x 31x 850x 30x 0.67
3,525x 29x 946x 29x 3,525x 29x 946x 29x 0.57
Table 4: Speed-up of GSGP-CUDA compared to GSGP++, considering populations of 10,240 individuals. 表4:10,240人の人口を考慮したGSGP-CUDAの高速化。 0.67
(a) Quadro (b) Tesla (a)クアドロ (b)テスラ 0.61
Figure 2: Performance comparison of the Quadro and Tesla cards, considering the ComputeSemantics kernel. 図2:ComputeSemanticsカーネルを考慮して、QuadroとTeslaのカードのパフォーマンス比較。 0.76
the testing performance, showing the mean, median, standard deviation (STD) and interquartile range (IQR) over all the runs, after removing outliers. テストパフォーマンスは、平均、中央値、標準偏差(STD)と、異常値を取り除いた後に全走行中におけるインタークアタイル範囲(IQR)を示す。 0.71
Performance is comparable in most cases with only slight variations. パフォーマンスは、ほとんどの場合、わずかに異なるだけである。 0.67
One notable result is that GSGP-CUDA outperforms GSGP-C++ on the most difficult problem, Tower. 1つの顕著な結果は、GSGP-CUDAが最も難しい問題であるT TowerでGSGP-C++を上回っていることである。 0.49
This is due to the different representation used by GSGP-CUDA. これはGSGP-CUDAが使用する表現が異なるためである。 0.67
The performance of GSGP-CUDA might be improved further, using hyperparameter optimization or incorporating a local search method [6]. さらに,超パラメータ最適化や局所探索手法 [6] の導入により,GSGP-CUDAの性能が向上する可能性がある。
訳抜け防止モード: 超パラメータ最適化によるGSGP-CUDAの性能向上 あるいは ローカル検索手法を 組み込んでいます [6 ]
0.82
3.3. How to use the GSGP-CUDA library 3.3. GSGP-CUDAライブラリの使い方 0.78
The run parameters are defined in a config.ini file, namely: program size, population size, number of fitness cases, number of problem features, and number 実行パラメータはconfig.iniファイルで定義されており、プログラムサイズ、人口サイズ、適合ケース数、問題特徴数、数である。 0.72
10 51015202530Number of run01000200030004000 5000Time (s)Individual Size1271023204751015 202530Number of run01000200030004000 5000Time (s)Individual Size12710232047 10 510152530 Number of run01000200030005000 Time(s)Individual Size1271023204751020 2530Number of run01000200030005000 Time(s)Individual Size12710232047 0.80
英語(論文から抽出)日本語訳スコア
Problems Concrete [19] 問題コンクリート[19] 0.80
Energy Cooling [20] エネルギー冷却[20] 0.80
Energy Heating [20] エネルギー加熱[20] 0.78
Housing [21] Tower [17] 住宅[21]タワー[17] 0.72
Yacht [22] No. ヨット[22] いいえ。 0.74
Instances No. Features 事例 いいえ。 特徴 0.70
1030 768 768 1030 768 768 0.85
506 5000 308 506 5000 308 0.85
9 9 9 14 26 9 9 9 14 26 0.85
7 Description The concrete compressive strength is a highly nonlinear function of building parameters. 7 説明 コンクリート圧縮強度は、建築パラメータの非常に非線形な関数である。 0.81
Assessing the cooling requirements of buildings as a function of building parameters. 建築パラメータの関数として建物の冷却条件を評価する。 0.78
Assessing the heating requirements of buildings as a function of building parameters. 建物パラメータの機能としての建物の暖房要件の評価 0.78
Concerns housing values in suburbs on Boston. ボストン郊外の住宅価格を懸念している。 0.61
An industrial data set of chromatography measurement of the composition of a distillation tower. 蒸留塔の組成のクロマトグラフィー測定の産業データセット。 0.61
Delft data set, used to predict the hydrodynamic performance of sailing from dimensions and velocity. delftデータセットは、寸法と速度から帆走の流体力学的性能を予測するために使用される。
訳抜け防止モード: デルフトデータセットの使用 寸法と速度から帆の流体力学的性能を予測すること。
0.75
Table 5: Symbolic regression real world problems. 表5:記号回帰実世界問題。 0.65
GSGP C++ Problem Mean Median Concrete Cooling Heating Housing Tower Yacht gsgp c++問題 中央値コンクリート冷却暖房用タワーヨット 0.77
8.87 3.51 3.38 4.27 160.82 8.20 8.87 3.51 3.38 4.27 160.82 8.20 0.43
8.97 3.50 3.59 4.24 157.87 8.39 8.97 3.50 3.59 4.24 157.87 8.39 0.43
STD 0.69 0.24 0.79 0.18 30.58 1.04 STD 0.69 0.24 0.79 0.18 30.58 1.04 0.47
GSGP CUDA IQR Mean Median 0.46 0.24 0.52 0.26 35.53 1.17 GSGP CUDA IQR Mean Median 0.46 0.24 0.52 0.26 35.53 1.17 0.69
8.12 3.25 2.97 4.26 69.16 8.35 8.12 3.25 2.97 4.26 69.16 8.35 0.43
7.89 3.30 3.01 4.25 70.04 8.34 7.89 3.30 3.01 4.25 70.04 8.34 0.43
STD IQR 1.65 0.92 0.22 0.18 0.21 0.23 0.32 0.34 7.91 5.43 0.67 0.55 STD IQR 1.65 0.92 0.22 0.18 0.21 0.23 0.32 0.34 7.91 5.43 0.67 0.55 0.45
Table 6: Comparison of train fitness (RMSE) on the real-world benchmark problems. 表6: 実世界のベンチマーク問題におけるトレインフィットネス(rmse)の比較。 0.80
of runs. To compile the gsgpCuda.cu file , simply run: 走ってる gsgpcuda.cu ファイルをコンパイルするには: 0.58
nvcc -std=c++11 -O0 gsgpCuda.cu -o gsgpCuda.x -lcublas nvcc -std=c++11 -O0 gsgpCuda.cu -o gsgpCuda.x -lcublas 0.43
The program is executed with: プログラムは以下で実行される。 0.74
./gsgpCuda.x -train file train file.txt -test file test file.txt ./gsgpCuda.x -train file train file.txt -test file test file.txt 0.59
In this case, train.txt and test.txt are the files that contain training and test instances. この場合、train.txt と test.txt は、トレーニングとテストインスタンスを含むファイルである。 0.80
The columns contain the values of the problem features while the rows contain the instances. 列は問題の特徴の値を含み、行はインスタンスを含んでいる。 0.72
The last column contains the target variable. 最後の列はターゲット変数を含む。 0.79
As output two text files are created, containing the fitness of the best individual on the training set and the same individual on the test set for each generation. 出力すると、2つのテキストファイルが作成され、トレーニングセット上で最高の個人と、各世代毎にテストセットで同じ個人との適合性が保たれる。 0.73
4. Impact The main contribution of this work is to propose the first CUDA implementation of GSGP, where the fundamental elements of the evolutionary cycle are implemented as CUDA kernels to exploit the massively parallel nature of modern GPUs. 4. 影響 この研究の主な貢献は、進化サイクルの基本要素をCUDAカーネルとして実装し、現代のGPUの超並列性を活用するGSGPの最初のCUDA実装を提案することである。 0.76
From a practical perspective, GSGP-CUDA is the most efficient imple- 実用的にはGSGP-CUDAが最も効率的である 0.84
11 11 0.85
英語(論文から抽出)日本語訳スコア
GSGP C++ Problem Mean Median Concrete Cooling Heating Housing Tower Yacht gsgp c++問題 中央値コンクリート冷却暖房用タワーヨット 0.77
7.23 3.47 3.47 4.20 161.16 8.51 7.23 3.47 3.47 4.20 161.16 8.51 0.43
6.87 3.51 3.67 4.29 156.66 8.62 6.87 3.51 3.67 4.29 156.66 8.62 0.43
STD 1.61 0.28 0.81 0.42 26.46 1.10 STD 1.61 0.28 0.81 0.42 26.46 1.10 0.47
GSGP CUDA IQR Mean Median 2.54 0.37 0.63 0.68 37.87 1.84 GSGP CUDA IQR Mean Median 2.54 0.37 0.63 0.68 37.87 1.84 0.69
8.41 3.25 2.99 4.33 69.88 8.79 8.41 3.25 2.99 4.33 69.88 8.79 0.43
7.89 3.24 3.05 4.29 70.89 8.71 7.89 3.24 3.05 4.29 70.89 8.71 0.43
STD IQR 1.93 1.13 0.33 0.24 0.23 0.26 0.81 0.53 8.75 5.77 1.14 1.29 STD IQR 1.93 1.13 0.33 0.24 0.23 0.26 0.81 0.53 8.75 5.77 1.14 1.29 0.45
Table 7: Comparison of test fitness (RMSE) on the real-world benchmark problems. 表7: 実世界のベンチマーク問題におけるテスト適合性(RMSE)の比較。 0.79
Parameter Number of Runs Number of generations Program size (genes) Population Size Range of ephemeral constant Probability of Mutation Probability of Crossover 世代数 (genes) プログラムサイズ (genes) のパラメータ数 クロスオーバーの突然変異確率の時間定数確率の集団サイズ範囲 0.82
Range n = 30 l = 1,024 k ∈ 1,024 m = 1,024 [1,10] 1 0 範囲 n = 30 l = 1,024 k ∈ 1,024 m = 1,024 [1,10] 1 0 0.81
Table 8: Experimental parameters used for benchmarking in real problems GSGP-C++ and GSGPCUDA. 表8: 実問題 GSGP-C++ と GSGPCUDA のベンチマークに使用される実験パラメータ。 0.67
mentation of this algorithm, and opens up the possibility of using GSGP in particular, and GP in general, on Big Data problems. このアルゴリズムの完成により、特にGSGPと一般的にはGPがビッグデータ問題に利用される可能性が開ける。 0.75
This is important since GSGP has shown great promise on small and medium-sized problems, but previous implementations scale poorly to larger datasets. GSGPは小規模な問題や中規模の問題に対して大きな可能性を秘めているが、以前の実装では大きなデータセットに対して低スケールであった。 0.53
GP as a machine learning method has not been able to efficiently exploit modern GPU technology, and this algorithm is a big step in this direction. 機械学習手法としてのGPは、現代のGPU技術を効率的に活用することができず、このアルゴリズムはこの方向への大きな一歩である。 0.76
Moreover, from a scientific perspective GSGP-CUDA allows for large scale analysis of semantic space, one of the most active research areas in GP [23]. さらに、科学的な観点からGSGP-CUDAは、GP[23]で最も活発な研究領域の一つである意味空間の大規模解析を可能にする。 0.72
5. Conclusions This paper presents the first implementation of the powerful GSGP algorithm for execution on GPU cards, using CUDA programming. 5. 結論 本稿では,CUDAプログラミングを用いて,GPUカード上での強力なGSGPアルゴリズムの実装について述べる。 0.74
Given the nature of GSGP, porting to an efficient CUDA implementation, using a linear program representation, was demonstrated in this work. GSGPの性質から,線形プログラム表現を用いた効率的なCUDA実装への移植が本研究で実証された。 0.74
Experimental results show that GSGP-CUDA performs similarly to the sequential implementation (GSGPC++), but particularly performs better on the most difficult benchmark. 実験の結果、GSGP-CUDAはシーケンシャル実装(GSGPC++)と類似しているが、特に最も難しいベンチマークでは性能が良くなっている。 0.64
Moreover, benchmarking shows that the speedups of GSGP-CUDA can be as high as 1,177x for some process, and over 100x for a small number of generations. さらに、ベンチマークにより、GSGP-CUDAのスピードアップは、あるプロセスでは1,177倍、少数の世代では100倍以上であることが示された。 0.63
Future work will focus on integrating other search elements, such as a local search method and extending the interpreter to allow for different data types. 将来的には、ローカル検索メソッドやインタプリタを拡張して異なるデータ型を可能にするなど、他の検索要素の統合に注力する予定である。 0.69
12 12 0.85
英語(論文から抽出)日本語訳スコア
6. Conflict of Interest No conflict of interest exists: We wish to confirm that there are no known conflicts of interest associated with this publication and there has been no significant financial support for this work that could have influenced its outcome. 6. 利害対立 我々は、この出版に関連する既知の利害対立が存在しないことを確認し、その成果に影響を与えうるこの作品に対する重要な財政的支援が存在しないことを確認したい。 0.68
Acknowledgements We thank Perla Ju´arez-Smith for her help implementing some of the source code used in this software. 覚書 私たちはPerla Ju ́arez-Smith氏に、このソフトウェアで使われているソースコードの実装を手伝ってくれて感謝します。 0.49
We also thank the Tecnol´ogico Nacional de M´exico/IT de Tijuana and CITEDI-IPN for their administrative and technical assistance in the development of this work. また,tecnol ́ogico nacional de m ́exico/it de tijuana および citedi-ipn の業務開発における行政的および技術的支援に感謝する。 0.60
This research was partially supported by national funds through FCT (Fundac¸˜ao para a Ciˆencia e a Tecnologia) by the projects GADgET (DSAIPA/DS/0022/2018 ) and AICE (DSAIPA/DS/0113/2019 ). この研究は、GADgET(DSAIPA/DS/002 2/2018)とAICE(DSAIPA/DS/0113/ 2019)のプロジェクトを通じて、FCT(Fundac ? 0.66
Mauro Castelli acknowledges the financial support from the Slovenian Research Agency (research core funding No. mauro castelli氏はslovenian research agency(research core funding no.1)の財政支援を認めている。 0.64
P5-0410). Funding for this work was also provided by TecNM (Mexico) 2020 through the research project ”Resoluci´on de m´ultiples problemas de aprendizaje supervisado de manera simult´anea con programaci´on gen´etica”. P5-0410)。 この研究の資金は、tecnm (mexico) 2020 の研究プロジェクト "resoluci ́on de m ́ultiples problemas de aprendizaje supervisado de manera simult ́anea con programaci ́on gen ́etica" を通じて提供された。 0.59
References [1] A. Moraglio, K. Krawiec, C. G. Johnson, Geometric semantic genetic programming, in: Proceedings of the 12th International Conference on Parallel Problem Solving from Nature - Volume Part I, PPSN’12, 2012, pp. 参考文献 [1] A. Moraglio, K. Krawiec, C. G. Johnson, Geometric semantic genetic programming, in: Proceedings of the 12th International Conference on Parallel Problem Solving from Nature - Volume Part I, PPSN’12, 2012. 0.77
21–31. [2] L. Vanneschi, S. Silva, M. Castelli, L. Manzoni, Geometric Semantic Genetic Programming for Real Life Applications, Springer New York, New York, NY, 2014, pp. 21–31. [2] L. Vanneschi, S. Silva, M. Castelli, L. Manzoni, Geometric Semantic Genetic Programming for Real Life Applications, Springer New York, New York, NY, 2014 pp。 0.80
191–209. [3] M. Castelli, L. Trujillo, L. Vanneschi, A. Popovic, Prediction of energy performance of residential buildings: A genetic programming approach, Energy and Buildings 102 (2015) 67 – 74. 191–209. [3] m. castelli, l. trujillo, l. vanneschi, a. popovic, prediction of energy performance of housing buildings: a genetic programming approach, energy and buildings 102 (2015) 67 – 74。 0.77
[4] M. Castelli, S. Silva, L. Vanneschi, A c++ framework for geometric semantic genetic programming, Genetic Programming and Evolvable Machines 16 (1) (2015) 73–81. M. Castelli, S. Silva, L. Vanneschi, a c++ framework for geometry semantic genetic programming, Genetic Programming and Evolvable Machines 16 (1) (2015) 73–81。 0.89
[5] M. Castelli, L. Manzoni, Gsgp-c++ 2.0: A geometric semantic genetic pro- [5]M. Castelli, L. Manzoni, Gsgp-c++ 2.0:幾何学的意味遺伝プロ- 0.70
gramming framework, SoftwareX 10 (2019) 100313. gramming framework, SoftwareX 10 (2019) 100313。 0.81
13 13 0.85
英語(論文から抽出)日本語訳スコア
[6] M. Castelli, L. Trujillo, L. Vanneschi, S. Silva, E. Z-Flores, P. Legrand, Geometric semantic genetic programming with local search, in: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ’15, 2015, pp. M. Castelli, L. Trujillo, L. Vanneschi, S. Silva, E. Z-Flores, P. Legrand, Geometric semantic genetic programming with local search, in: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ’15, 2015 pp。 0.87
999–1006. [7] A. Gron, Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, 1st Edition, O’Reilly Media, Inc., 2017. 999–1006. A. Gron, Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, 1st Edition, O’Reilly Media, Inc., 2017 0.78
[8] D. M. Chitty, Faster gpu-based genetic programming using a two- D. M. Chitty, Faster gpu-based genetic programming using a two-- 0.83
dimensional stack, Soft Computing 21 (2016) 3859–3878. 次元スタック、Soft Computing 21 (2016) 3859–3878。 0.83
[9] W. B. Langdon, W. Banzhaf, A simd interpreter for genetic programming on gpu graphics cards, in: M. O’Neill, L. Vanneschi, S. Gustafson, A. I. Esparcia Alc´azar, I. W. B. Langdon, W. Banzhaf, A simd interpreter for genetic programming on gpu graphics cards, in: M. O’Neill, L. Vanneschi, S. Gustafson, A. I. Esparcia Alc ́azar, I. 0.95
De Falco, A. Della Cioppa, E. Tarantino (Eds. De Falco, A. Della Cioppa, E. Tarantino (Eds) 0.94
), Genetic Programming, Springer Berlin Heidelberg, Berlin, Heidelberg, 2008, pp. ) Genetic Programming, Springer Berlin Heidelberg, Berlin, Heidelberg, 2008。 0.66
73–85. [10] W. B. Langdon, Large-Scale Bioinformatics Data Mining with Parallel Genetic Programming on Graphics Processing Units, Springer Berlin Heidelberg, Berlin, Heidelberg, 2013, pp. 73–85. W.B. Langdon, Large-Scale Bioinformatics Data Mining with Parallel Genetic Programming on Graphics Processing Units, Springer Berlin Heidelberg, Berlin, Heidelberg, 2013 pp。
訳抜け防止モード: 73–85. [10 ]W.B. Langdon, Large-scale Bioinformatics Data Mining with Parallel Genetic Programming on Graphics Processing Units, Springer Berlin Heidelberg, Berlin, Heidelberg, 2013, pp。
0.81
311–347. [11] L. Vanneschi, An Introduction to Geometric Semantic Genetic Program- 311–347. 11] L. Vanneschi, a Introduction to Geometric Semantic Genetic Program- 0.80
ming, Springer International Publishing, Cham, 2017, pp. 明, Springer International Publishing, Cham, 2017, pp. 0.83
3–42. [12] D. Robilliard, V. Marion, C. Fonlupt, High performance genetic program- 3–42. 12]D. Robilliard, V. Marion, C. Fonlupt, High Performance Genetic Program- 0.82
ming on gpu, in: BADS ’09, 2009. ming on gpu, in: bads ’09, 2009 (英語) 0.80
[13] S. L. Harding, W. Banzhaf, Distributed genetic programming on gpus using S. L. Harding, W. Banzhaf, Distributed genetic programming on gpus using gpus 0.77
cuda, 2011. [14] D. A. Augusto, H. J. C. Barbosa, Accelerated parallel genetic programming tree evaluation with opencl, J. 2011年。 D. A. Augusto, H. J. C. Barbosa, Accelerated parallel genetic programming tree evaluation with opencl, J。 0.70
Parallel Distrib. パラレルディストリブ。 0.44
Comput. 73 (1) (2013) 86–100. Comput 73 (1) (2013) 86–100. 0.74
[15] L. Spector, A. Robinson, Genetic programming and autoconstructive evolution with the push programming language, Genetic Programming and Evolvable Machines 3 (1) (2002) 7–40. [15] L. Spector, A. Robinson, Genetic programming and autoconstructive evolution with the push programming language, Genetic Programming and Evolvable Machines 3 (1) (2002) 7–40。 0.93
[16] R. Poli, W. B. Langdon, N. F. McPhee, A Field Guide to Genetic Program- R. Poli, W. B. Langdon, N. F. McPhee, A Field Guide to Genetic Program- 0.89
ming, Lulu Enterprises, UK Ltd, 2008. ming, lulu enterprises, uk ltd, 2008を参照。 0.82
[17] E. J. Vladislavleva, G. F. Smits, D. den Hertog, Order of nonlinearity as a complexity measure for models generated by symbolic regression via E. J. Vladislavleva, G. F. Smits, D. den Hertog, Order of nonity as a complexity measure for model generated by symbolic regression via 0.81
14 14 0.85
英語(論文から抽出)日本語訳スコア
pareto genetic programming, IEEE Transactions on Evolutionary Computation 13 (2) (2009) 333–349. pareto genetic programming, ieee transactions on evolutionary computation 13 (2) (2009) 333–349。 0.77
[18] P. Ju´arez-Smith, L. Trujillo, M. Garc´ıa-Valdez, F. Fern´andez de Vega, F. Ch´avez, Local search in speciation-based bloat control for genetic programming, Genetic Programming and Evolvable Machines 20 (3) (2019) 351–384. P. Ju ́arez-Smith, L. Trujillo, M. Garc ́ıa-Valdez, F. Fern ́andez de Vega, F. Ch ́avez, Local search in speciation-based bloat control for genetic programming, Genetic Programming and Evolvable Machines 20 (3) (2019) 351–384。 0.81
[19] I.-C. Yeh, Modeling of strength of high-performance concrete using artificial neural networks, Cement and Concrete Research 28 (12) (1998) 1797 – 1808. [19]I.C.イェー, 人工ニューラルネットワークを用いた高性能コンクリートの強度モデリング, Cement and concrete Research 28 (12) (1998) 1797-1808 0.84
[20] A. Tsanas, A. Xifara, Accurate quantitative estimation of energy performance of residential buildings using statistical machine learning tools, Energy and Buildings 49 (2012) 560–567. 20] a. tsanas, a. xifara, accurate quantitative estimation of energy performance of housing buildings using statistical machine learning tools, energy and buildings 49 (2012) 560–567。 0.87
[21] J. R. Quinlan, Combining instance-based and model-based learning, in: Machine Learning, Proceedings of the Tenth International Conference, University of Massachusetts, Amherst, MA, USA, June 27-29, 1993, 1993, pp. J.R. Quinlan, Combining instance-based and model-based learning, in: Machine Learning, Proceedings of the Tenth International Conference, University of Massachusetts, Amherst, MA, USA, June 27-29, 1993, 1993, pp。 0.88
236–243. [22] J. G. I. Ortigosa, R. Lopez, A neural networks approach to residuary resistance of sailing yachts prediction., in: Proceedings of the International Conference on Marine Engineering MARINE, 2007, p. 250. 236–243. J.G.I. Ortigosa, R. Lopez, A Neural Network approach to residuary resistance of sailing yachts prediction, in: Proceedings of the International Conference on Marine Engineering MARINE, 2007, pp. 250。 0.77
[23] L. Vanneschi, M. Castelli, S. Silva, A survey of semantic methods in genetic programming, Genetic Programming and Evolvable Machines 15 (2) (2014) 195–214. L. Vanneschi, M. Castelli, S. Silva, A survey of semantic methods in genetic programming, Genetic Programming and Evolvable Machines 15 (2) (2014) 195–214。 0.85
15 15 0.85
                               ページの最初に戻る

翻訳にはFugu-Machine Translatorを利用しています。