FacebookがDeep learningツールの一部をオープンソース化

これマジか!

Facebookがディープラーニングツールの一部をオープンソース化

機械学習の世界では今、”deep learning”(ディープラーニング, 深層学習)という言葉が流行っている。
(中略)
Facebookも、この分野にかなりの貢献をしていて、今日(米国時間1/16)同社は、機械学習のためのコンピューティングフレームワークTorch7プロジェクトの一部をオープンソースにする。Torchはこれまでも、大学の研究室や、Google、Twitter、Intelなどの企業で機械学習や人工知能のプロジェクトの中核として利用されてきた。

Facebookは今日、Torchを使っているディープラーニングプロジェクトを高速化するために最適化されている一連のツールを、ローンチする。たとえばその一つは、複数のGPUを同時に動かして学習ネットワーク(神経ネットワーク)の教育訓練を並列化する。また、今入手できる最速のコードの23倍速く、多くのディープラーニングシステムの中核であるconvolutional neural nets(畳み込みニューラルネット)を教育訓練できるツールもある。
さらにFacebookがローンチするツールの中には、Torchのそのほかの部分を高速化するものもある。それらの多くはデフォルトのツールの3倍から10倍速いそうだ。
詳しい技術情報に興味のある方は、ここへどうぞ。

FacebookのDeep Learningといえば、顔認識のDeepFaceってやつが有名だけど、関連してるのかな。

さて、このTorchって何だろうと思って少し調べてみた。


Torch | A Scientific computing framework for LuaJIT

Torchとは?

Torchは、機械学習アルゴリズムを幅広くサポートする科学計算フレームワークです。簡単かつ高速なスクリプト言語「LuaJIT」と、C/CUDAをベースとした実装により、使いやすくて効率的です。

コア機能の概要:

  • 強力なN次元配列
  • インデックス作成、スライシング、転移などに対応した多くのルーチン
  • LuaJITによるC言語への素晴らしいインターフェイス
  • 線形代数ルーチン
  • ニューラルネットワーク、およびエネルギーベースのモデル
  • 数値最適化ルーチン
  • 高速かつ効率的なGPUのサポート
  • iOS、Android、FPGAのバックエンドへのポートの組み込み

なぜTorchか?

Torchの目標は、あなたが科学的アルゴリズムを構築する際に、プロセスを非常にシンプルな作りに保ちつつ、最大限の柔軟性とスピードを得られるようにすることです。Torchには、コンピュータビジョン、信号処理、並列処理、画像、ビデオ、オーディオ、通信ネットワークなど、機械学習におけるコミュニティ主導型パッケージの巨大なエコシステムが付属し、Luaのコミュニティの上で構築されています。
Torchの心臓部は、使い方が簡単で人気のあるニューラルネットワークと最適化ライブラリで、複雑な神経回路網トポロジを実装する際に最大限の柔軟性を有しています。あなたは、ニューラルネットワークの任意のグラフを構築することができ、かつそれらをCPUとGPU上で効率的に並列化することができます。

Torchを使用する

入門ガイドを見ながらダウンロードしてTorchを自分の手で試してみましょう。Torchはオープンソースであるため、GitHubのリポジトリ上のソースコードから開始することもできます。

Torchは常に進化しています:
すでにTorchはFacebook、Google、Twitter、NYU、IDIAP、パデュー大学やその他の企業、研究室で使用されています。

どうやらLuaJITというスクリプト言語があって、こいつはC言語への組み込みを想定したスクリプト言語らしい。

関連記事

第2回Webスクレイピング勉強会の資料

Point Cloud Libraryに動画フォーマットが追加されるらしい

Pix2Pix:CGANによる画像変換

OpenCVで平均顔を作るチュートリアル

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

DMMが秋葉原にMakerスペース『DMM.make AKIBA』をオープン

ドラマ『ファーストクラス』が始まった

Facebookの顔認証技術『DeepFace』

iPhoneで3D写真が撮れるアプリ『seene』

消費の記録

OpenMVS:Multi-View Stereoによる3次元復元ライブラリ

TeleSculptor:空撮動画からPhotogrammetryするツール

COLMAP:オープンソースのSfM・MVSツール

DensePose:画像中の人物表面のUV座標を推定する

SONY製のニューラルネットワークライブラリ『NNabla』

BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール

OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ

OpenSfM:PythonのStructure from Motionライブラリ

ニューラルネットワークで画像分類

ミステリー・コメディドラマ『名探偵モンク』

東京オリンピックと案内表示

uvでWindows11のPython環境を管理する

Faster R-CNN:ディープラーニングによる一般物体検出手法

ミニ四駆を赤外線制御したりUnityと連携したり

エニアグラム

iOSで使えるJetpac社の物体認識SDK『DeepBelief』

なぜ書店で販売しているのか謎な商品 メタルキットシリーズ

Unityで強化学習できる『Unity ML-Agents』

Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された

データサイエンティストって何だ?

スクラッチで既存のキャラクターを立体化したい

UnityでOpenCVを使うには?

Cartographer:オープンソースのSLAMライブラリ

Autodesk Mementoでゴジラを3次元復元する

PGGAN:段階的に解像度を上げて学習を進めるGAN

ニューラルネットワークと深層学習

UnityでPoint Cloudを表示する方法

Russian3DScannerのトポロジー転送ツール『WrapX』

Mitsuba 2:オープンソースの物理ベースレンダラ

Structure from Motion (多視点画像からの3次元形状復元)

顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト

NeuralNetwork.NET:.NETで使えるTensorFlowライクなニューラルネットワー...

コメント