ソニーの最先端R&D、そのウラ側に迫る! 若きエンジニアが生み出す機械学習フレームワークの価値

圧倒的スピードで浸透しつつある、機械学習。この分野にソニーが満を持して投入したOSSの背後には、ある若手エンジニアの活躍がありました。ソニーの最先端R&Dの裏側に迫ります。

ソニーの最先端R&D、そのウラ側に迫る! 若きエンジニアが生み出す機械学習フレームワークの価値

いま、機械学習がすさまじいスピードで浸透しつつあります。
Chainer、Keras、TensorFlowといった、機械学習のためのフレームワークが続々とリリースされ活用されていることも、もちろん無関係ではありません。

そして、2017年6月、ソニーからオープンソースソフトウェア(OSS)として機械学習フレームワーク「Neural Network Libraries」が公開されました。動的グラフ機能というディープラーニングの最新トレンドを取り入れながら、電子機器などに組み込む使い方にも対応しやすい作りがこのフレームワークの特徴です。

ソニー社内はもちろん、関連企業でも活用されるなど、大きな存在感を発揮しつつあるこのフレームワークの開発には、2人の若手エンジニアの活躍がありました。ソニー社内で「機械学習道場」とも呼ばれるR&Dプラットフォーム、システム研究開発本部の成平拓也(なりひら・たくや)さん、吉山和樹(よしやま・かずき)さんにお話しを聞きました。

既存の課題を解決するために、フルスクラッチ開発に挑む

──お二人の簡単な自己紹介をお願いします。

成平 システム研究開発本部でNeural Network Librariesの開発のリーダーをしています。

吉山 システム研究開発本部で、Neural Network Librariesや関連ツールの開発に関わっています。

──いまはどのような業務領域を担当されているのでしょうか?

成平 基盤技術を研究開発して、社内の他の部署に提供しています。他の部署との協力のやり方はケースバイケースですが、コンサルティング的に協力するパターンもあれば、技術を一緒に育てていくパターンもあります。

1

システム研究開発本部 要素技術開発部門 AIコア技術開発部・成平拓也さん

──どのような経緯でオリジナルのフレームワーク開発が始まったのですか?

成平 社内では2010年頃からディープラーニングのフレームワークを作っていました。Neural Network Librariesはディープラーニング向けのフレームワークとして第3世代にあたります。第2世代にだんだん不都合を感じるようになってきたことが、作り始めた背景にはあります。

2015年の秋から、社内の留学制度を使ってカリフォルニア大学バークレイ校(以下、UCB)に訪問研究員に行っていました。研究テーマはディープラーニング(深層学習)のコンピュータビジョン*1への適用です。

UCBの研究者らが開発していたディープラーニングのフレームワークとして、画像認識分野で有名なCaffeがあります。私もCaffeのOSS開発に参加していたのですが、新しい研究がどんどん出てくる中で「もっといいものが作れるだろう」と感じていました。それが今回の第3世代のフレームワークを作り始めたきっかけです。

吉山 今の第3世代のフレームワークもそうですが、実は第2世代のフレームワークも成平さんが作ったものでした。成平さんが留学していた間、僕ともう1人でサポートしていました。第3世代にあたる今のNeural Network Librariesのコアは、留学から帰ってきた成平さんが1人で作り始めたもので、初期の開発メンバーも少数です。私は半年ほど前に参加したばかりで、本気で取り組み始めたのは今年の4月から5月にかけての頃です。

2

システムシステム開発本部 要素技術開発部門 AIコア技術開発部・吉山和樹さん

──新しいフレームワークを開発するにあたり、どのような方針を立てたのですか?

成平 まず自分たちでフルスクラッチで書かないといけないと決断しました。既存のOSSのフレームワークを駆使していると、どうしても細かなカスタマイズを加える必要が出てきます。だったら最初から書こうと。

ソニーのような企業で機械学習フレームワークを活用する場合には、多様なプロセッサやデバイスに最適化して、実装を切り替えて使えるようにする必要がありました。最初の段階では普通のCPUと、NVIDIAのGPUコンピューティングプラットフォームのCUDA(Compute Unified Device Architecture)で動くように作りましたが、動作環境を増やしていけるように作っています。

それに加えて、最先端のディープラーニング向けフレームワークのいいところは全部参考にしました(笑)。

──動的グラフ機能のサポートは、ひょっとしてChainer(日本のPreferred Networksが開発したPythonを記述言語とする深層学習フレームワーク)の影響ですか?

成平 参考にしています。Caffeに動的ネットワークを付加するApollo Caffeというフレームワークがあるのですが、これも参考にしています。

OSSにしたことで、社内での認知が高まる効果も

──社内向けに開発したフレームワークをOSSで公開した理由は?

成平 ソニーでは長い間、機械学習への取り組みを続けていました。にもかかわらず、業界での存在感を発揮するには至っていませんでした。機械学習フレームワークを公開することで世の中に貢献していく立場になれるという考え方がありました。

吉山 OSSにしたことで、ソニー社内での認知も広がりました。「そういうフレームワークが出たんだ」と。

成平 社外からはもちろん、社内からの問い合わせも多いです。

OSSであれば他のフレームワークと公平に比較しやすくなったという側面があります。プロジェクトが機械学習フレームワークの採用を検討する場合は、同じ社内のフレームワークも外部のOSSフレームワークもフラットに比較検討しています。クローズな社内向けフレームワークのままでは、他のOSSのフレームワークと比較しにくい部分もありますから。

フレームワークの概要は2017年6月27日に発表されたプレスリリースに詳しい

──社内でも、フラットに比較した結果として選ばれているのですね。フレームワークの利用事例は発表されているもの以外にもありますか?

成平 発表した事例は、ソニー不動産での不動産価格推定エンジン、ハンズフリーのスマートプロダクト「Xperia Ear」のヘッドジェスチャ認識、電子ペーパー端末の手書き記号認識、AR活用カメラアプリへの応用などですが、これらはほんの一部で、他にも実はたくさんあります。私たちがお手伝いした事例もありますし、私たちも知らない間にフレームワークが使われていた例もあります(笑)。

ディープラーニングというブレイクスルーで流れが変わった

3

──ディープラーニングのブームで、社内の雰囲気で変わった部分などありましたか?

吉山 今は、認識系はディープラーニングでやってみようという潮流ができあがっています。

成平 ブーム以前は機械学習が活用されるケースがまれで、「何に使えるの?」という空気を感じるときもありました。ある時、ディープラーニングで作った認識系が性能をガンと上げて注目されました。それ以来、社内での評価も変わってきたように感じます。

──世の中の流れと同じでディープラーニングで認識率が非常に良くなったことで、ブレイクスルーと見なされるようになったのですね。忙しくなったのではありませんか?

吉山 コンサルティング的な業務、それに事業部との連携は増えましたね。私たちの部署で機械学習の知識を蓄えて現場に持ち帰る形です。

──武者修行みたいですね。

成平 私たちの部署は「機械学習の道場」と言われることもあるようです。道場長にあたる人間は、私ではなく、別にカリスマがいます。

──ブームになったのはここ数年でも、それ以前から機械学習の研究を蓄積し続けていたのですね。

成平 特にロボットをやっている人たちは、以前から自律的に発達する知能を目指してニューラルネットワークの研究をしていました。例えばディープラーニング分野の手法として有名になったリカレントニューラルネットワーク(RNN)に早い段階から取り組んでいました。最近はソニーもこの分野への取り組みに関して「AI×Robotics」というメッセージを打ち出しています。

コードを書かずに機械学習を使うニーズに対応してGUIツールを提供

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く