AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  Chainerとは?5分で分かるChainerでできることまとめ

公開日:2019.06.13 [最終更新日]2019.10.02

Chainerとは?5分で分かるChainerでできることまとめ

カテゴリー: Chainer

こんにちは三谷です。
今回は、初心者でも簡単にディープラーニングでAI(人工知能)を作成できる、無料の機械学習ライブラリのChainerについて解説します。

Chainerとは?

Chainerとは、日本の企業であるPreferred Networksが開発している、Pythonベースのディープラーニング向けのフレームワークです。ニューラルネットワークを使用した学習を行うための機能がオープンソースで提供されています。Python 2.x系および3.x系で利用でき、GPUによる演算もサポートしています。
世界的に見るとGoogle社の開発するTensorflowのほうがシェアは大きいと言われていますが、日本のベンチャー企業が開発しているため、様々な情報交換が行われるコミュニティフォーラムには日語版が用意されていることもあり、日本国内を中心として利用が広がっている。

Chainerの特徴まとめ

◆初心者でもスタートしやすい

Chainerは深層学習に使用するニューラルネットワークの構造や学習(トレーニング)の方法をPythonのプログラムとして記述することができるようになっています。
シンプルなコードでディープラーニングのモデルが構築できるため、初心者でもわかりやすいと言われています。
さらに、2019年4月には、初学者向けのChainerのチュートリアルサイトを公開したため、誰でも簡単にChainerを使用したディープラーニングの方法を日本語で学ぶことができるようになりました。

◆「Powerful (高性能)」「Flexibility (柔軟性)」「Intuitive (直感的)

Chainerは、初心者がとっつきやすいように直感的にコードが記述できるように開発されており、作成したモデルを柔軟に編集することもできます。また、初心者向けというわけではなく、高性能で様々な研究や企業でのAI(人工知能)開発に活かせる機能を持っています。

◆Define-by-Runの実行方式

ニューラルネットワークの計算を表現した計算グラフは、一般的に使われているCaffeやTensorflowでは学習前にあらかじめ構築することが多くあります。計算グラフを定義してから計算を実行するので、この方式は「Define-and-Run」と呼ばれることが多くあります。
一方、Chainerでは、計算グラフはデータを入力した際にPythonプログラムに基づいて動的に構築されるため、計算の実行時に同時進行で計算グラフが定義されることから、Define-by-Runという実行方式と呼んでいます。
Define-by-Runでは、データの構造が変わった際のモデルの再構築が楽にでき、デバッグも容易であるという特徴を持っています。

Tensorflowのスペックまとめ
メーカー:Preferred Networks
価格:オープンソース(無料)
対応OS:Linux、macOS、Windows
対応プログラミング言語:Python
リポジトリ:http://github.com/chainer/chainer

Chainerでできることまとめ

◆ニューラルネットワークの構築

ニューラルネットワークは、最近流行しているディープラーニングの元となっているモデルです。人間のニューロンをモデル化した構造で、クラス分類や回帰の問題を解くことができます。

◆シンプルなネットワークの構築

フレームワークの中には、できることが多いものもありますが、その分実装は複雑で初心者には難しく感じてしまうこともあります。
Chainerはシンプルなネットワークも複雑なネットワークも同じように記述できるため、簡単なことから難しいことまで対応することができます。

◆拡張機能を利用したより深い学習モデルの構築

Chainer は、通常のライブラリに加えて、様々な拡張機能も取り揃えています。
画像認識を行なう際にはChainerCV(コンピュータービジョン)、 化学・生物学分野を行なう際にはChainer Chemistry、強化学習のためにChainerRL(Reinforcement Learning)がそれぞれ存在しています。これらの拡張機能では、各分野のアルゴリズムや学習済みモデルを実装しています。

Chainerを無料でインストールする方法

Chainerのインストール方法は、以前に書いたこちらの記事をご覧ください。

Chainerを使ったディープラーニングの方法

Chainerを使ってディープラーニングをしてみた記事はこちらからご覧いただけます。
この記事では、MNISTという機械学習を学び始める際によく利用されるデータセットを利用して、ディープラーニングの学習モデルを構築しています。

参考:
MNISTとは、Mixed National Institute of Standards and Technology databaseの略で、0~9までの手書きの数字画像が含まれたデータセットです。
学習用のデータが60,000個、テスト用のデータが10,000個の、合計70,000個の手書き文字データが含まれています。

Chainerをより詳しく学ぶ方法


https://ai-kenkyujo.com/seminar/

Day4 プログラミング演習セミナー①とDay5プログラミング演習セミナー②では、PythonとChainerを使用して回帰分析やクラス分類、画像認識や音声認識などの学習モデルを体系的に学べるカリキュラムとなっています。
また、最適な行動を学習する強化学習についても、強化学習セミナーでChainerRLを用いて体系的に学ぶことができます。

ディープラーニング入門 Chainer チュートリアル

https://tutorials.chainer.org/ja/
Chainerを開発するPreferred Netwoks社が提供する初心者向けのチュートリアルです。初学者でも挫折しづらいような工夫がされていますので一度試してみるのもいいかもしれません。


Chainerによる実践深層学習

自然言語処理の内容も多いですが、Chainerを使った学習プログラムを作成する例題も載っています。

まとめ

いかがだったでしょうか。数あるディープラーニング用のフレームワークの中でも、Chainerは日本発ということもあり親近感が湧いたのではないでしょうか。フレームワークにはそれぞれに特徴がありますので、是非いろいろなフレームワークを試してみてください。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ

【マサミ】

アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。


【三谷】

AIセミナー責任者、講師。AIについての幅広い知識を持ち、人に分かりやすく伝える技術を持つ。特にAIを事業や仕事に取り入れる方法について日々講義しています。

AI研究所Twitter

Facebookページ