人工知能/AIライブラリ紹介vol.6 機械学習の分野で活用される「Torch」
24 January,2019

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

 

目次

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

 

1.Torchとは?

Torch(トーチ)とは、オープンソフトウェアライブラリの一つで、ニューラルネットワーク(※2)などの機械学習をサポートしているGPUでの利用を目的に開発された科学計算フレームワークです。

Torchは古くからある機械学習ライブラリで、多くの研究所や企業で利用されています。TorchはLuaというスクリプト言語を使用して構築を行います。LuaJIT(jitコンパイラ)を使用するためPythonよりも動作が早いです。

 

2.Torchの歴史は?

2000年頃、TorchはスイスのIDIAP研究所に所属するRonan Collobert, Koray Kavukcuoglu, Clement Farabetによって開発されました。

2006年頃、NECラボラトリーズアメリカでの開催、トーチ5、7

2011〜2012年頃、ニューヨーク大学DeepMindに採用されました

2015年頃、FacebookがTorchをサポートしました。

2017年1月、TorchのPython APIであるPytorchがオープンソース化されました。

2017年2月、Torch7

2018年3月あたりからTorchの開発は活発でなくなりました。

 

3.Torchの強み

Torchの主な強みは

●強力なN次元配列
●索引付け、スライス、転置などの多くのルーチン
●LuaJITによるCへのインターフェース
●線形代数ルーチン
●ニューラルネットワークとエネルギーベースのモデル
●数値最適化ルーチン
●数値最適化ルーチン
●iOSとAndroidのバックエンドへの移植を伴う組み込みが可能

が挙げられます。

公式サイトにはTorchの特徴について下記のように説明しています。
Torchの目的は、「プロセスを非常にシンプルにしながら、科学的アルゴリズムを構築する上で最大限の柔軟性とスピードを得る」ことです。
Torchには、大規模なエコシステムがあります。それは、機械学習、コンピュータビジョン、信号処理、並列処理、画像、ビデオ、オーディオ、ネットワーキングなどのパッケージを提供しています。
Torchのコア部分には、複雑なニューラルネットワークトポロジの実装において最大限の柔軟性を持ちながら、使いやすい人気のニューラルネットワークと最適化ライブラリがあります。
それはニューラルネットワークの任意のグラフを構築をすることができ、構築したものを効率的にCPUとGPU上で並列化することができます。

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

mieru