こんな方におすすめの記事です

  • ReNomに興味があるけれど実際に触ったことのない方
  • ReNomを聞いたことがあるけどよく理解していない方
  • そもそもReNomって何??という方

この記事を読み終えるのにかかる時間

10分

はじめまして「マクニカAI女子部」です!

はじめまして、4⽉よりマクニカ AIリサーチセンターに配属されましたMakky (まっきー)です。記念すべきAIリサーチセンターの3人目の女性として、就任いたしました!

AIリサーチセンターにも私を含め女性が増えてきました。男性が活躍するイメージのあるAI分野ですが、これからはAIの分野でも女性が活躍する機会が増えてくるはず間違いなしです。

そこで!女性が増えてきたことに伴い、「マクニカAI女子部」を発足いたしました!

マクニカAI女子部では、AIをかじり始めたビギナーの方にも、よりAIについて身近に感じていただくために、AI情報を噛み砕いてテックブログでお伝えできればなぁと思っております。 どうぞよろしくお願いいたします。

さてさて、私の初回テックブログのテーマですが、最近業務で触ったReNomについて触れていきたいと思います。

国産のAI開発プラットフォーム「ReNom」

ReNomを知っているよ!という方もいらっしゃると思いますが、まずは簡単にReNomについてご説明します。 ReNomとは、株式会社グリッドが開発したAI開発プラットフォームです。

最近はたくさんのAI開発プラットフォームが発表されてきていますが、ReNomは国産プラットフォーム!ナレッジも多く、さらに日本語に対応しており、サポートが充実しているのが嬉しいポイントです。

ReNomが提供しているサービスは種類が多い

さらにReNomを使うにあたり嬉しいポイントは、ReNomは解析目的に応じた多種多様なプラットフォームを提供しているということです。

自分の求めている解析が、多種多様なReNomサービスで全て実行できるかもしれません。

サービス名

サービス内容

ReNomDL

深層学習モデル開発のための自動微分ライブラリ。ReNomプラットフォーム上で提供するツールのほぼすべての基盤となります。
ReNomの各サービスを使う場合、初めにインストールする必要があります。

ReNomTAG

画像認識用教師データを作成するためのGUIアプリケーション。

ReNomIMG

画像認識モデルを構築するためのGUIアプリケーション/Pythonライブラリ。ReNomTAGで作成した教師データを使用可能です。

ReNomTDA

位相空間でデータの形状を可視化することができるGUIアプリケーション/Pythonライブラリ。

ReNomRL

強化学習の実装を容易にするPythonライブラリ。

ReNomDP

データの前処理を行うGUIアプリケーション。

ReNomRG

回帰モデルを簡単に構築するためのGUIアプリケーション/Pythonライブラリ。

ReNomQ

量子回路を簡単に作成するためのPythonライブラリ。

回帰分析に特化した「ReNomRG」

今回ブログで取り上げるのは、昨年12月にβ版がリリースされた「ReNomRG」。
ReNomRGは回帰モデルを簡単に構築するためのアプリケーションです。

ReNomRGは「D-GCNN(Distance Graph Convolution Neural Network)」という、より新しい手法を用いた機械学習ができることが特徴です。その特徴を試したい!という理由から複数あるReNomサービスの内、使ってみるサービスとしてReNomRGをピックアップしました。

今回の記事では、ReNomRGをUbuntu環境にインストールし、GUI上からサンプルデータで動くところまでを確認したため、実際に触った手順と感想をご紹介いたします。

ReNomRGを使う準備をしましょう!

早くReNomRGを触ってみたい気持ちを抑え、まずはインストール・データの準備から始めましょう。

ReNomはUbuntu環境に対応しているため、Ubuntuにインストールします。なお、 実際のインストールは、以下に示す環境で行いました。

Ubuntu 16.04.5 LTS
Python 3.5.2
CUDA V8.0.61
cuDNN 7.1.3

※公式ではUbuntu環境を推奨していますが、Mac OSで試したところReNomDL, ReNomRGが動くことを確認しました!確認した環境は以下です。

Mac OS 10.13.4
Python 3.7.3

1.ReNomDLのインストール

ReNomRGは、各ツールの基盤であるReNomDLを事前にインストールしておく必要があります。 そこでまずはReNomDLのインストールから。Gitで公開しているソースのクローン/セットアップを以下コマンド手順で行います。

git clone https://github.com/ReNom-dev-team/ReNom.git

# クローンしたディレクトリに移動
cd ReNom

# 必要なライブラリをインストールします
pip3 install -r requirements.txt

# GPUのビルド(CPU環境の場合は不要です)
python3 setup.py build_ext -f -i

# ReNomDLのインストール
pip3 install -e .

< ポイント >
インストール中に no module like "~~" のエラーが発生したら、ライブラリが不足しているので
pip3 install ~~ で適宜ライブラリをインストールしてください。

2.ReNomRGのインストール

ReNomDLがインストールできたら、ReNomRGをインストールします。
Wheelパッケージが提供されているので、今回は現在公開されている最新バージョンのWheelパッケージをインストールしました。

pip3 install https://renom.jp/docs/downloads/wheels/renom_rg/renom_rg-0.3b2-py3-none-any.whl

これでインストールは完了!!次はReNomRGを使うためのデータを配置します。

3.データの配置

今回は「scikit-learn」という機械学習ライブラリが提供しているデータセット「Boston Housing Data」を使用して、ReNomRGでボストンの住宅価格予測をします。

「Boston Housing Data」はボストンの住宅価格と、価格を予測するための「部屋の広さ」や「駅からの距離」などのデータが入っています。
解析目的に応じたデータをReNomRGに読み込ませますが、この時に気をつけることが3点! 

1. pandas.DataFrameをpickle化したデータを配置すること。
現在のReNomRGバージョンではCSVは使用できません。

2. データファイル名は「data.pickle」「pred.pickle」固定。
“data.pickle”は学習で使用するデータで、”pred.pickle”は予測で使用するデータです。
pickle化したファイルは通常.pkl拡張子を使用しますが、ReNomRGは.pickle拡張子とします。 

3. データは指定のディレクトリに配置すること。
Inputデータは指定のディレクトリから読み込まれます。

注意事項を踏まえながら、順を追ってデータの配置を行っていきましょう。

4.データのpickle化

ボストンの住宅価格を様々な変数から予測するためのモデルを作ることが今回の目的ですが、まずは訓練データ「data.pickle」と予測用データ「pred.pickle」を準備します。
pandas.DataFrameをpickle化する作業はReNomRGのGUI上ではできないので、Pythonでデータを作成します。

以下はpandas.DataFrameをpickle化するPythonソースコードのサンプルです。
下記サンプルではボストン住宅価格のデータを訓練データ8割、予測用データ2割で分割し、pickle形式のデータとして出力しています。

import pickle
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

# load example data
boston = load_boston()
X = boston.data
y = boston.target

# split train & prediction
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
labels = list(boston.feature_names)
labels.append("PRICE") # append target label

# concat data for data.pickle
data = pd.DataFrame(np.concatenate([X_train, y_train.reshape(-1, 1)], axis=1), columns=labels)
pred = pd.DataFrame(X_test, columns=boston.feature_names)

# save as pickle file
with open('data.pickle', mode='wb') as f:
pickle.dump(data, f)

with open('pred.pickle', mode='wb') as f:
pickle.dump(pred, f)

お待ちかね!ReNomRGをGUIで使ってみます

1.ReNomRGプロジェクトのディレクトリ作成

ReNomRGは下図に示すようなディレクトリ構成で、データの配置やReNomRGを起動します。

そこで必要なディレクトリを起動前に事前に作成しておきましょう。
今回は「ReNomRG_n1」というプロジェクトのディレクトリを作成します。

# プロジェクトディレクトリの生成
mkdir ReNomRG_n1

# データ配置用のディレクトリを生成
cd ReNomRG_n1
mkdir datasrc

# 予測用データ配置ディレクトリを生成
cd datasec
mkdir prediction_set

上記「4. データのpickle化」で作成した「data.pickle」「pred.pickle」は、上図に示すように指定のディレクトリ配下に配置します。
data.pickleは “ReNomRG_n1/datasrc” 配下に配置
pred.pickleは “ReNomRG_n1/datasrc/prediction_set” 配下に配置

 なお、複数プロジェクトでReNomRGを使用したい場合は、ReNomRG起動するプロジェクトディレクトリを「ReNomRG_n1、ReNomRG_n2、…」のように複数作成してください。

2.ReNomRGの起動

データを配置したら、GUIを使う準備が整いました。以下コマンドをReNomRG起動ディレクトリ(ReNomRG_n1)上で実行し、ReNomRGを起動しましょう!

renom_rg

コマンドを実行したら、localhost:8080 に Chrome からアクセスします。

 

< 注意 >
・ ReNomRGインストールの際、numpyのバージョンが「1.16.2」だとReNomRGが起動しませんでした。
・ numpyのバージョンを「1.14.0」に落とすと無事起動したため、ReNomRGが起動しなかった場合はnumpyのバージョンを確認してみてください。

3.データセットの作成

早速GUIをいじります。
はじめに、配置したpickleデータを元に回帰モデル生成に使用するデータセットを作成します。

4.モデルの作成

作成したデータセットを使用して回帰モデルを作成します。
回帰モデルの学習に使用するデータセット、アルゴリズムを選択するだけで、学習が始まります。

5.使用するモデルの選択

作成した回帰モデルの精度をチェックし、予測に使いたいモデルを選択します。

6.予測の実行

最後にデプロイしたモデルを使用して、予測を実行してみましょう!

ReNomRGを触ってみて・・・

サンプルデータを使ったReNomRGのお試しは以上です!セットアップさえできてしまえば、アルゴリズムの知識がなくても簡単にGUI操作で予測まで行うことができました。
実際にGUIでいろいろ動かしてみると、ちょっぴり知識が付いた気がして楽しくなりますね!

ReNomRGを一連のフローで触ってみて、私なりにReNomRGの良さをまとめてみました!

1. GUIで直観的に回帰モデルの作成ができる
目的変数と説明変数をチェックボックスで簡単に選択/非選択することができるため、簡単に複数のモデル作成ができて便利
モデルの説明、名称も保存できるため、モデルの管理もしやすい

2. 作成したモデルの精度比較が容易
GUI操作であるため、作成したモデルを確認/比較するのが簡単
精度の高いモデルのデプロイも可視化したモデルの画面上から行えるので便利

3. 新しい解析手法にも対応している
グリッド社が昨年発表した手法「Kernel GraphCNN/DBSCAN GraphCNN」を使って解析できる!
一から実装しようとすると時間も知識も必要な手法を、GUIで簡単に利用できる 


配置するデータのpickle化作業はある程度知識が必要ですが、それ以外はモデル/予測結果の見方さえ分かれば特別な知識なく使用できました。
また、短時間でモデル作成から予測まで行えるため、ReNomRGを使用することで作業効率が良くなることも期待できそうです。

まとめ

今回はReNomRGの簡単な操作概要と、実際に触ってみての感想をまとめてみました。
マクニカAI女子部では、AIに関して最新の情報を(とっかかりにくい情報も噛み砕きながら)お伝えしていきたいと思います。
今後もAI女子部の活動をチェックお願いします!

また、ReNomに少しでも興味を持たれた方は、マクニカのReNomの紹介ページでも取り上げています。
ぜひチェックしてみてください。

 

ReNomについてご興味のある方のお問い合わせも、以下問い合わせページより承っております。