深層学習のフレームワーク
最近の深層学習フレームワークの変遷はめまぐるしい.今年に入って人気が落ちてきたTensorFlowが思い切って2.0にバージョンアップしたように,すごい勢いで開発が進んでいる.
ここでは,その歴史と最新の情報について概観する.
2002年に開発されたTorchだが,PyTorchの開発者が開発の動機として「Torchだと大規模なニューラルネットを作るのがあまりに大変だった」と言っているように,現状では使うべきでない.実際に,2018年あたりで開発が止まっている.
2007年にモントリオール大で開発されたTheanoも現在では開発が止まっている.2013年にU. C. バークレイで開発されたcoffeは,2017年からfacebookに移籍し,coffe2として引き継がれている.
2015年からは開発ラッシュとなっており,PFNのChainer,GoogleのTensorFlowやKerasが立て続けにリリースされている.
2016年にfacebookが出したPyTorchは,現在でも活発に改変が加えられており,TensorFlowとともに多くのユーザーをもつ.
マイナーな存在ではあるが,PyTorchのラッパであるfastaiは,様々なモデルを簡単に記述することができ,性能も悪くない.Kerasも現在では(バージョン2以降の)TensorFlowの一部となりつつあるが,元々は様々なフレームワークのラッパである.
Swift for TensorFlowは,Appleのメイン開発言語であるSwiftを用いて機械学習ライブラリを書き直そうというプロジェクトであり,まだ未完成であるが,Pythonベースのフレームワークの弱点を克服する可能性もあるので,注目すべきである.3月から始まっているfast.aiの講義(DL for Coders Part 2) でも一部採用すると聞いてる.
SwiftはiPhoneのアプリ開発で有名なので本はたくさん出ている.開発にはMacとx-codeが必須だと入門書には書いてあるが,Google Colabでも動くので,試したい人は開発サイトのチュートリアルを試してみると良いだろう.