Theano(テアノ)とは、Python用数値計算ライブラリです。多次元配列を効率的に使用する数式について定義/最適化/評価でき、ディープラーニング計算処理によく利用されます。

オープンソースのAI・人工知能/Theanoとは

Theano(テアノ)とは、Python用数値計算ライブラリです。多次元配列を効率的に使用する数式について定義/最適化/評価でき、ディープラーニング計算処理によく利用されます。

基本情報

概要

Theano(テアノ)とは、Python用数値計算ライブラリです。多次元配列を効率的に使用する数式について定義/最適化/評価でき、ディープラーニング計算処理によく利用されます。

基本説明

Theanoは、ディープラーニングを実装したライブラリではなく、Python用数値計算ライブラリです。「コンピュータ代数システム」と「最適化コンパイラ」の機能を有しています。

数学的表現(多次元配列など)を持つ数式に対して定義/最適化/評価を行います。PythonでTheanoの式を構築するプログラムを記述します。

Pythonにおける標準的数値計算ライブラリ「Numpy」では「計算手続き」を記述するのに対して、「Theano」では「数式そのもの」を記述します。そのため、計算対象となる行列などのプログラム内での処理に手間をかける必要がありません。

経緯

Theanoは、モントリオール大学のBengio教授の研究室で開発されています。

この研究室はディープラーニングを研究対象としているため、ディープラーニング分野への応用を強く意識した設計になっています。

TOPに戻る

主な特徴

実行時の最適化コンパイル(C++コード生成)

Theanoは、実行時に「動的C++コード生成」と「コンパイル」を行います。

この処理により、Pythonコードよりも遥かに高速なC++コードに匹敵する処理速度を実現します。

コンパイラ

最適化コンパイルは、特に大規模で複雑な数学的表現に有用です。

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

GPUサポートによる高速化

TheanoはGPU能力を使用することで、CPU上での処理に比べて遥かに高速化できます。少しのコード変更でGPUに対応できます。

GPUの使用のために、CUDA(Compute Unified Device Architecture)を利用します。

高速性

ベンチマークにおいて「TheanoはNumpyより1.8倍高速」「TheanoはMatlabより1.6倍高速」「Theano(GPU)はNumpy(CPU)より11倍高速」などの結果も出ています。

解析的微分サポート

Theanoの解析的微分サポート機能で「数式そのものを記述することにより微分計算を解析的に実行できる」という点が大きな特徴です。

ディープラーニング処理では微分を多用するため、「微分の結果を自分で解く必要がない」のは大きなメリットです。また、「勾配法(関数の勾配に関する情報を解の探索に用いるアルゴリズム)」「非線形関数」などに対しても有用です。

煩わしい計算処理から解放されるため、スピーディーに自分が思い描く多層ニューラルネットワークを構築できます。

ディープラーニング対応関数

ディープラーニングでよく使用される関数がサポートされています。

テスト(自己検証)機能

エラーの多くの種類を検出し診断できます。

TOPに戻る

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Numpy」「Pylearn2」「PyML」「PyBrain」など。

TOPに戻る

ライセンス情報

Theanoはオープンソースプロジェクトです。ライセンスについては以下のページを参照ください。
→LICENSE

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Theano最新TOPICS

最新情報はありません。

Theano最新CLOSEUPコラム

  • オープソース書籍(サイド)

OSS×Cloud ACCESS RANKING

  • OSSNEWSに広告を掲載しませんか?

facebook

twitter