Facebookは、学術論文とLuaを基盤としたTorchnetを詳説するブログを公開した。それはディープラーニングの中心となる新しいオープンソースプロジェクトである。そして、それは以前のオープンソースであるTorchライブラリを基に構築されている。
Facebook人工知能研究所(FAIR)のLaurens van der Maaten氏は、インタビューで画像認識や自然言語解析のようなことに適用できると言及している。 そして、BlocksやTheanoフレームワークのためのPythonライブラリであるFuelと同様のアプローチである。彼は次のように述べた。
I/O [input/output]のコストを完全に分からなくすることが実に簡単になる。実用的な大規模ディープラーニングシステムを学習したいと望むのであれば、多くの人々が必要とするものである。
Torchnetによって提供される抽象化は、伝えられるところによればTorchだけに限定されない。Torchnetは下層にあるラーニングフレームワークについて幾つもの想定をしているため、CaffeやTensorFlowに適用することができる。
Torch-7を基盤としたTorchnetは、伝えられるところによれば再利用可能な抽象化と、非同期データ読み込みや機械学習のためのマルチGPU計算などに関するボイラープレートロジックを提供する。Torch 7はLuaで構成されている。OpenMP/SSEを使ったCPUでの代数計算のためのものである。FAIRによれば、ディープマシーンラーニングの研究において、Torch 7は主要なフレームワークの1つである。Torchnetがコミュニティによって運営されて、プラグインを基盤としたプラットフォームになることを、FAIRは目指している。Torchnetプロジェクトの動機とビジョンにおいて、FAIRは次のように述べている。
オープンソースであるTorchは、既にとても活発な開発者のコミュニティを持っている。とりわけ、最適化、多様な学習、計量学習、そしてニューラルネットワークのためのパッケージを作成している。Torchnetはコミュニティを基にする。そして、主に機械学習の実践を実装したプラグインやツールを通じて、研究コミュニティが貢献できるためのプラットフォームとして尽力する。我々はTorchnetがコミュニティが所有するプラットフォームになることを期待している。次のTorchnetの中核となる実装は、Torchが行ったのと同じようにサブパッケージの集合を提供する。
FAIRの報告書によれば、Torchnetは再利用と最適化を効率的にするために、5つの主要な抽象化を行っている。さもないと、幾つものプロジェクトに別々のカスタムコードがあったことだろう。抽象化されたDatasetは、データセットにおける幾つもの標本と、標本を返すget()ファンクションを提供する。抽象化されたDatasetIteratorは、データセットをループすることや非同期並行処理を念頭にしている。抽象化されたEngineはモデル間の相互作用を実装する。学習や試験のファンクションだけでなく、DatasetIteratorと損失関数も。Metersが実行するように、Engineも経験に基づいた仕様のコードを挿入するためのフックを提供する。クロージャとしてフックを実現していることは、伝えられるところによればTorchnetが学習や試験のモデルに使われるコードの間でロジックを共有することを想定している。抽象化されたMeterは、add(output, target)とvalue() の2つのファンクションを典型的に実装している。Metersは、次のような性能特性を計測する能力を提供する。
訓練する時代が到来するには時が必要だった。事例を超えた損失関数の値、二値分類のROC曲線の下方領域、マルチクラス分類器の分類エラー、精度と検索モデルの呼び出し、ランキングアルゴリズムのnDCG(normalized discounted cumulative gain)。
最後に、抽象化されたLogは、加工されていないテキストや実験結果のJSONログを出力できる。
Rate this Article
- Editor Review
- Chief Editor Action