Chainer(チェイナー)とは、日本製の深層学習フレームワークです。ニューラルネットワークをPythonで柔軟に記述し、学習させることができます。
Chainerは、ニューラルネットワークを誤差伝播で学習するライブラリです。「Preffered Networks」が開発しています。
Chainerの特徴として「Flexible(柔軟性)」「Intuitive(直感的)」「Powerful(高機能)」の3つを掲げています。
実行にはCUDAが使われるため、Nvidia製GPUが必要です。
2015年6月に公開されました。
→Chainer(Chainer: A flexible framework for neural networks)
Chainerのライセンスは「MIT License」です。
詳細について、こちらを参照ください。
→GitHub →chainer/chainer →LICENSE
「Ubuntu」「CentOS」「Windows」「OS X」などに対応しています。
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「TensorFlow」「Caffe」「Theano」など。
Chainerは、「高度で複雑なディープラーニング」だけではなく、「シンプルなネットワーク」にも対応できるライブラリです。
シンプルなネットワークの場合、他のディープラーニングライブラリではオーバースペックすぎて使いづらい面がありますが、Chainerは柔軟にカバーできます。
対応できるネットワークには以下のようなものがあります。
・畳み込みニューラルネットワーク
・フィードフォワードニューラルネットワーク
・リカレントニューラルネットワーク
・再帰型ニューラルネットワーク など
Chainerは、Pythonのライブラリとして提供されています。Python 2.7以上が必要です。
Chainerはネットワーク構成をPython記法で直観的に記述できます。
制御構造は、すべてPythonで記述できます。Pythonのコードを用いて、入力配列に何の処理が適用されたのかのみを記憶しておき、それを誤差逆伝播の実行に使います。
2つの抽象的基本要素(データ「Variable」と関数「Function」)を定義します。「Variable」と「Function」間の計算/条件分岐としてPythonの制御構文をそのまま使用できます。新たな構文などを覚える必要がないため、プログラマはネットワーク構成を直感的に記述できます。設定ファイル/固定データセットは必要ありません。
「各層をつなぐネットワーク関数」「活性化関数」「誤差関数」などの関数がデフォルトで用意されています。
「CUDA計算」「複数GPU対応」などの処理はわずかなコードで実装できます。Caffeで2000行以上のコードを、Chainerでは200行未満で実装できた例もあります。
Chainerは「ネットワーク構築」と「学習」を同時に行う方式です。処理フェーズとして「Define」と「Run」に分かれていません。
本来なら別に分けることが難しい計算グラフの生成/学習を同時に記述できます。
Forward計算時に、入力から出力に到達するまでの経路を記録することにより、初めて暗黙的に計算グラフが得られます。
畳み込み/リカレントなど、さまざまなタイプのニューラルネットワークをシンプルに実装できる柔軟性があります。
本来切り分けることが難しい計算グラフの生成/学習を同時に記述できます。このことにより、幅広い種類のニューラルネットワークに柔軟に対応できます。
Chainerは、データを表す「Variable」と関数を表す「Function」という二つの抽象的な基本要素だけを定義します。それらの間の計算/条件分岐はPython制御構文をそのまま使用できるため、プログラマにとって、ネットワーク構成を動的/直感的に記述できます。複数GPUを使用する場合も直感的な記述が可能です。設定ファイル/固定データセットは必要ありません。
記法が直観的かつシンプルであるため、「単純なネットワーク領域」から「複雑なディープラーニング領域」まで幅広くカバーできます。
同様なフレームワークである「Caffe」において2000行程度のコードを、「Chainer」では200行未満で表現できたという話もあります。
並列コンピューティングアーキテクチャ「CUDA」をサポートし、GPUを利用した高速な計算が可能です。
GPUを利用した高速な計算が可能で、事前にコンパイルを行う「Caffe」や「Theano」ベースのライブラリとほぼ互角の性能が得られるとされています。
多くの手間をかけずに複数GPU動作に対応できます。
一般的に、ディープラーニングフレームワークは、多くのツール/ライブラリのインストールが必要であるため、インストールには手間がかかります。しかし、Chainerは依存ライブラリが少ないため、インストール負荷は少なめです。
公式Dockerイメージが用意されているので、それを利用すれば、即座にインストールできます。
また、「pip install chainer」コマンド実行のみでインストールできます。
Preferred Networks(PFN)は、5月23日、 「Microsoftとディープラーニング分野で戦略的協業をする」と発表した。 【Chainerとは】 日本製の深層学習フレームワーク https://www.ossnews.jp/oss_info/Chainer 【ポイント】 ・ディープラーニングフレームワーク「Chainer」や「Deep Intelligen...
OSS×Cloud ACCESS RANKING