Run戦争終結?ディープラーニングフレームワークのこれからディープラーニング応用はじめに最近は自分自身が機械学習関連に触れる機会がめっきり減ってしまい、ブログの更新が全くできていない状態でした。久々にこの辺りの現状を調べてみたら、私がいろいろ機械学習を触っていた時と状況が大きく変化しているように見えました。私が久々に調べてみて感じたところをまとめておきたいと思います。実際に動かしてみた系の記事ではないですし、具体例がないのでもしかしたら私の頭の中で勘違いもあるかもしれませんが、そのときはご指摘いただけると幸いです。フレームワークのこれまでと現状ディープラーニングフレームワークの登場ディープラーニングが画像処理や音声認識などで爆発的な精度向上を果たしたことを機に、素早くニューラルネットワークの構築と実験が可能な、ディープラーニングに特化したライブラリやフレームワークが公開されるようになりました。ディープラーニングでトップになりたければ、むしろ便利なライブラリを後悔するのはライバルを増やすだけなのではないか?と感じるかもしれません。無償で公開するメリットとして、多くの人間に使ってもらうことでバグの報告をしてもらったり、あるいは修正を手伝ってもらうことができる点が挙げられます。ソフトウェアを人類の知恵を集合させて作り上げることができます。そのソフトウェアに対応したクラウドコンピューティングを有料サービスとして提供すれば、顧客の囲い込みが可能であるということもひとつの戦略として考えられるかもしれません。いずれにしても、ディープラーニングフレームワークはオープンソースとして近年爆発的に発展してきました。Runという区切り方でフレームワークが語られることが多かったです。以下の記事でも、これらの違いを強調しながら比較を行ったりしてきました。RunはPythonのコードで自由自在にネットワークを定義することができ、Pythonに親しんでいる人にとって(あるいはこれから始める人にとっても)非常に扱いやすいものでした。デバッグも比較的容易で、特に研究用途や新たに勉強を始める段階では非常に人気を博しました。Networks社です。PFNはPythonの深層学習ライブラリとしてChainerをオープンソース化し、(日本で?)一躍有名となりました。Google社もTensorFlowを公開し(圧倒的なネームブランドによって?)ユーザーを爆発的に獲得し、もはやディープラーニングクラスタにおける一大勢力となっています。Runであり、利用者の中にはTensorFlowを使う事自体が苦痛であると感じる人も多々居たようです。Runの取り回しの良さが世界中に広まりました。中にはPyTorchがTensorFlowの人気を奪い、政権交代が行われるだろうと感じた人も居たのではないでしょうか。Run)に渡して利用するという形態を準備しています)。Runかは使いやすさや速度を兼ねて、好きなように選択できるようになります。Runにするという方法が考えられます。(筆者の憶測も多分に含まれますが)、既にユーザーを十分に獲得しているTFやPyTorchにとっては、フレームワーク間を自由に変換できることは、利用者の流出につながり面白くないかもしれません。RunがTensorFlowに追加されました。Runを1つのフレームワークでシームレスに使えることを目指すようです。Runが両方共使えるという状況になってきたということになります。フレームワークはこれらのいいとこ取りをしながら発展し、状況に応じてユーザーが自由に使い分けられるようになるでしょう。Runか否かでフレームワークを選ぶのは古い考え方かもしれません(とは言っても、ネットに落ちている参考になるコードは、それぞれのこれまでの方式に則ったものが多いのは間違いないです)。実際のところ、思っているほどディープラーニングは実世界で多用されていません。機械学習の研究ではディープラーニングが目立つかもしれませんが、実用では本当に本当にごく少数でしか利用されていないでしょう。これはディープラーニングが流行り廃れのくだらない技術だということを言っているのではありません。上手く使えばパワフルですし、今後も活発な議論は続き(今ほどではないにしても)有用な部分は生き残っていくでしょう。応用されるためにはまだ環境の整備が十分に整っているとは言えません。実用のシーンにどう嵌め込んでいけば良いのかを熟知している人はそうそう居ないでしょう(少なくとも私には長期的な利用の上手いやり方はわからない)。従って、フレームワーク側は今後デプロイをより一層行い易い環境の整備をしていくのではないでしょうか。ディープラーニングは通常の機械学習技術に比べ、学習は勿論のこと推論時にもそれなりに計算が重くなっています(単なる行列演算でも、層の数だけ待ちは出る)。それらを容易に行うための計算機の構成なども逐次改良されていくでしょう。赤ん坊の状態ですので、多くの動向を見守っていかなければなりません。»プロフィール自分が勉強していく上で学んだことなどをまとめていきたいと思います。ML_deepスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。