Blog
人工知能・AIブログ

2019年1月19日

人工知能/AIライブラリ紹介vol.4 機械学習の分野で活用される「Theano」

 

目次

1.Theanoとは?
2.Theanoの歴史は?
3.Theanoの強みとは

 

1.Theanoとは?

Theano (テアノ)とは、オープンソフトウェアライブラリの一つで、数学的表現(多次元配列など)を効率的に使用する数式の定義や最適化、評価ができるPythonライブラリです。深層学習(ディープラーニング)分野で主に活用されています。
Theanoは、ディープラーニングを実装したライブラリではありません。正確には、「コンピュータ代数システム」と「最適化コンパイラ」の機能をもつPython用数値計算ライブラリです。

Theanoは、Pythonの標準的数値計算ライブラリである「Numpy」に似た構文を使用して計算を記述します。そのPythonコードをC++/CUDAにコンパイルすることで高速に動作させることができます。計算コードは、CPU/GPUのどちらを利用しても効率的に動作するようにコンパイルされます。

Theano登場当時は、デープラーニングを実装する際に、CUDAやC++でコーディングをする必要があり大変でした。Theanoはそんな大変な作業をPythonから比較的簡単に生成できるライブラリとして非常に重宝されました。現在でも様々な深層学習モデルを実装したディープラーニングライブラリのリポジトリで使われていて、未だに触る機会のあるフレームワークです。

同様の機能を持つライブラリとして、「Numpy」「Pylearn2」「PyML」「PyBrain」などがあります。

Theanoはカナダのモントリオール大学(Bengio教授の研究室)が開発を主導していました。Bengio教授の研究室がディープラーニングを研究対象としていることもあり、ディープラーニング分野への応用を考慮して設計されたライブラリです。

Theanoで機械学習やニューラルネットワーク、深層学習始めるには、前提に行列計算の基礎知識が必要になります。

 

2.Theanoの歴史は?

Theanoはカナダのモントリオール大学(Bengio教授の研究室)が主導で開発をしたPython用数値計算ライブラリです。
Bengio教授の研究室は機械学習分野のディープラーニングを研究しているため、ディープラーニングに応用しやすいように仕様が設計されています。
2007年からオープンソース・ソフトウエアとして公開されました。
2017年09月、MILAはTheanoの開発をv1.0のリリースをもって中止することを発表しています。

 

3.Theanoの強みとは

Chainerの主な強みは下記の通りです。

1.実行時にPythonコードをC++コードに最適化してコンパイルする
2.高速性(GPUサポート)
3.解析的な微分のサポート
が挙げられます。詳しくは下記でご紹介します。

 
1.実行時にPythonコードをC++コードに最適化してコンパイルする
最適化コンパイルは、特に大規模で複雑な数学的表現に有用です。

Theanoのコンパイラが行う最適化処理は、
 
●計算時のGPU使用対応
●定数の畳み込みコンパイル
●類似したサブグラフのマージ(冗長な計算を避ける処理)
●算術簡素化
●効率的な行列/ベクトル関数群操作を挿入する(例GEMM)
●メモリエイリアシングの利用
●要素単位で部分式のループを融合する
●数値的安定性の改善
 
などがあります。

上記の内容は公式サイトより抜粋しております。http://deeplearning.net/software/theano_versions/dev/introduction.html
 
2.GPU対応が行われている
TheanoはGPU能力を使用することで、CPU上での処理に比べて遥かに高速化できます。少しのコード変更でGPUに対応できます。GPUを使用するためにCUDA(Compute Unified Device Architecture)を利用します。
 
3.解析的な微分のサポート
Theanoの解析的微分サポート機能は、数式そのものを記述することで微分計算を解析的に実行できるという特徴があります。ディープラーニングの計算において、微分処理を多用します。そのため、微分処理を自分で解く必要がないことは大きなメリットになります。複雑な計算処理の実装から解放されるため、素早く構築することが可能です。

 
Theanoは、ディープラーニングの分野において祖父といえるでしょう。
Theanoの歴史は古く、数多くのオープンソースのディープライブラリでTheanoは活用されています。他のライブラリ(Keras、Lasagne、Blocksなど)と併用し、データ探索などの研究で活用されています。

※当サイトに掲載されている一部画像、スクリ-ンショット、文章に置いては著作権侵害を目的に利用しておらず、第三十二条で定められる引用の範囲で使用しています。万が一問題があればお問い合わせからご連絡ください。即刻削除いたします。また、本ブログは業務の研究開発のためのものとなり、一部、弊社に関連性が無いものも掲載しております。

Contact

お問い合わせ

人工知能・AIに関してのお問い合わせは
フォームまたはお電話にて。
フォームに必要事項をご入力の上、
「送信」ボタンを押してください。
担当者より、
回答・返信させていただきます。

人工知能・AI

すべての項目が入力必須となります。

名前
貴社名
メールアドレス
電話番号
ご予算
お問い合わせ内容

NAGOYA

名古屋オフィス

愛知県名古屋市中区丸の内1-17-19
キリックス丸の内ビル 5F

TEL:052-253-9866

Map view

TOKYO

東京オフィス

東京都中央区日本橋本町2丁目3番15号
共同ビル新本町 4階 43号室

TEL:03-3525-8640

Map view