現在位置:

AI 開発プラットフォーム「ReNom」は、誰でも簡単にデータ解析や AI 開発ができるようにすることと、高度なアルゴリズムを自由に組み合わせて使えることを目指しています。

GRID社が開発したReNomは、『誰にでも簡単にデータ解析やAI開発ができるようにすること』『高度なアルゴリズムを自由に組み合わせて使えること』を目指したAI開発プラットフォーム。 通常、エンジニアが数か月かけて行っているDeepLearningを使ったモデル構築をプログラムが出来ないユーザーでもGUIを使って数日~数週間という短期間で行うことも可能になります。

renom

AI 開発プラットフォーム「ReNom」は、誰でも簡単にデータ解析や AI 開発ができるようにすることと、高度なアルゴリズムを自由に組み合わせて使えることを目指しています。
ReNom は、ディープラーニングにとどまらず、機械学習のアルゴリズムや TDA、深層強化学習など、さまざまなアルゴリズムを組み合わせるアルゴリズムミックスを提唱しています。API の提供だけにとどまらず、さまざまなデータ処理ユーティリティやGUIアプリケーションでモデルの開発ができるSDKを提供しており、幅広い産業分野で活用されています。

ReNom.jpでは、AIに携わるエンジニアの方が実用可能な知識を得て活用していただけるよう、AI開発に必要な知識やユースケースをチュートリアルとして公開。基本理論からデータ分析手法までソースコードを公開しており、数式が苦手な方にも理解できるため、エンジニアの人材育成に活用可能です。

ReNomコンセプト

ー   詳   細  ー

各層を自由に接続可能で、日々複雑化しているディープニューラルネットの構造を自由に構築でき、一般的に実装が難しいとされる再起型ニューラルネットワークなども容易に構築する事ができます。

機械学習を誰でも使用する事ができるよう、プログラミングする事なくJSONファイルで定義する事ができ、さらに、プログラマーにも大きな自由度を与え、研究者などが行う高度なチャレンジも実現可能にしています。

機械学習では、より複雑で、多層なネットワーク構造が求められるようになってきております。

過去のフレームワークでは、複雑なネットワーク構造になると、そこで行われる計算に必要なリソースを最適にする事が難しかったが、ReNomでは、ネットワーク構造を自由に構築する事と、メモリ管理を両立させる事を目指しました。ユーザーが自由に設計したネットワークの計算に必要なリソースを自動的に理解し、学習時に必要な全ての計算内容を最適化しています。

ReNomでは、ユーザーが個別で設計したネットワークに最適化されたプログラムを動的に生成する事で、計算内容を最適化し、高速化を実現しています。また、さらなる計算速度向上のため、GPUをサポートし、演算処理を高速化しています。さらに今後は、新たなアルゴリズムを追加し、計算方法自体を変えてしまう事で、計算スピードの高速化を目指します。

ReNom DL version 3 は、「ユーザーのプログラミングスキルによらず、 高速かつ省メモリなNeural Networkを作れること」(powerful)をコンセ プトに開発が行われています。これまでにさまざまな組織によって開発されて きた数多の Deep Learning フレームワークを用いることで、さまざまな Neural Network を作ることはできました。しかしながら、ユーザーのプロ グラミングスキルによって、Neural Network のパフォーマンスは1~2倍 ほど大きく変動します。なぜならば、パフォーマンスの高いNeural Networkを実装するためには、GPUコンピューティング、並列計算、キャッシュ、 データのメモリ上の配置などの知識が要求されるからです。世界的にディープ ラーニングの研究が進むなか、よりディープで複雑な構造を持つ Neural Network が提案されている昨今では、プログラミングスキルの差によって 生まれるパフォーマンス差はより大きくなり得るでしょう。

ReNom DL version 3 は、ユーザーが実装した Neural Network における順伝播計算、 逆伝播計算、データ入力、前処理、後処理、勾配法に基づく重みの更新等の すべての処理をオペレーションノードとして扱い、それらノードのつながりを 計算グラフとして保持します。そして計算グラフ上に存在する並列化可能な オペレーションノードや、学習過程において必要が無いオペレーションノード を自動で発見し、並列実行や処理をスキップするといった最適化を行います。 このように、ReNom DL version 3 は「ユーザーが定義した Neural Network に対し、データ入力、前処理、重み更新まで含めて最適化を実行 すること」(optimized)から、「ユーザーのプログラミングスキルによらず パフォーマンスの良い Neural Network を実装すること」(easy)が可能 となります。

一般的にディープラーニングフレームワークには2種類のアーキテクチャが 存在します。 ひとつは Defined by Run と呼ばれる、Python や MxNet の ように、データを実際にNeural Networkに与え、順伝播計算履歴を取得し、 その計算履歴を元に誤差逆伝播計算を行う方法です。もうひとつは、 Define and Run と呼ばれる Tensorflow や Theano のように、最初に Neural Network 上におけるデータの扱われ方を定義し、ネットワーク構造 の最適化をかけ、その後データを実際に与え順伝播計算や誤差逆伝播を実行 するという方法です。Defined by Run 方式は、与えられた入力データに 対して毎回計算履歴を作成し、それを元に誤差逆伝播計算を行うので、入力 データの形に対して柔軟な Neural Network を定義することができます。 これは例えば、自然言語処理のようなデータの長さが可変長なデータを扱う 場合に有効です。また、Neural Network 内における計算履歴を追いやすい (デバッグがしやすい)という利点もあります。その反面、データが与えられ ないと、Neural Networkの構造が定まらないため、Neural Network構造 の全体最適化を行うことができません。


反対に Define and Run 方式では、 最初に想定される入力データ形式を定め、Neural Network アーキテクチャ を固定してから順伝播計算や誤差逆伝播計算を実行するので、Neural Network 全体に対する最適化を行うことができます。こちらは画像認識の ような固定された形式のデータを扱うのに適したアーキテクチャです。 ReNom DL version 3 では、Defined by Run 方式に基づく実行方法と Define and Run 方式に基づく実行方法の両方を提供しています。それぞれ の実行方法をEager Mode、Executor Modeと呼びます。

Eager Mode では、Defined by Run 方式の特徴であるデータを与えながら Neural Network を構築できるという利点を活かすことができます。具体的には、 ソースコードのようにデータが与えられるたびに、新たな計算履歴を作り直す ようなプログラムを書くことができます。

Executor Modeでは、Define and Run方式の特徴であるNeural Networkの 定義とその全体最適化を行った後にデータを与え、効率的に計算を実行すると いう特徴を活かすことができます。具体的には、最初に与えたデータ形式で計算 グラフを抽出し、その計算グラフを何度も再利用することができます。

ReNom DL version 3 では、過去のバージョンと同様に、さまざまな Neural Networkを構築するために必要な関数を提供しています。 以下はその一部のリストアップです。

<使用可能な関数一覧(一部を抜粋)>

  • Dense(全結合層)
  • N-dimentional Convolution(N次元畳み込み層)
  • N-dimentional Deconvolution(N次元逆畳み込み層)
  • N-dimentional Pooling(N次元プーリング層)
  • N-dimentional Unpooling(N次元逆プーリング層)
  • Lrn(局所レスポンス正規化)
  • Lstm(Long short time memory層)
  • Gru(Gated recurrent unit層)
  • Batch Normalization(バッチ正規化層)
  • Weight Normalization(重み正規化層)
  • Layer Normalize(レイヤ正規化層)
  • 各種活性化関数
  • 各種二項演算子
  • 各種単行演算子

Item List製品一覧

Actual ListHPC 製品 導入実績一覧

  • 旭川大学
  • 北見工業大学
  • 北海道工業大学
  • 北海道大学
  • 青森大学
  • 仙台大学
  • 東北大学
  • 東北工業大学
  • 芝浦工業大学
  • 横浜国立大学
  • 千葉工業大学
  • 筑波大学
  • 東海大学
  • 首都大学東京
  • 上智大学
  • 東京工科大学
  • 東京大学
  • 東京理科大学
  • 日本工業大学
  • 日本大学
  • 東京工業大学
  • 愛知工業大学
  • 愛知大学
  • 金沢工業大学
  • 金沢大学
  • 明治大学
  • 静岡理工科大学
  • 富山大学
  • 福井工業大学
  • 福井大学
  • 静岡大学
  • 名古屋工業大学
  • 名古屋大学
  • 京都大学
  • 大阪大学
  • 北陸先端科学技術
    大学院大学
  • 和歌山大学
  • 立命館大学
  • 大阪工業大学
  • 近畿大学
  • 奈良先端科学技術
    大学院大学
  • 岡山大学
  • 広島大学
  • 岡山理科大学
  • 広島工業大学
  • 関西学院大学
  • 香川大学
  • 愛媛大学
  • 高知大学
  • 高知工科大学
  • 九州大学
  • 九州工業大学
  • 佐賀大学
  • 熊本大学
  • 大分大学
  • 宮崎大学
  • 鹿児島大学
  • 久留米工業大学
  • 福岡大学
  • 福岡工業大学