メディア

NVIDIAが解説するディープラーニングの基礎(後編)CNN/RNNやフレームワーク概要まで(3/5 ページ)

» 2018年05月09日 10時30分 公開
[松本貴志EE Times Japan]

RNNの弱点を改善したニューラルネットワーク「LSTM」

 そこで、RNNでは取り扱うことのできない長期依存性を持つ連続データの処理には「LSTM(Long short-term memory)」が用いられるという。LSTMについて山崎氏は、「詳細は踏み込まないが、(RNNで用いられる)隠れ層の中身をもうちょっと複雑にしたもの」と表現。「Google翻訳が出た当時、彼ら(Google)が出した(Google翻訳に関する)論文の中にLSTMが使われていた」(山崎氏)と紹介した。

LSTMのネットワーク構造イメージ(クリックで拡大)

 RNNやLSTMの応用事例として、系列データの変動予測や異常発生予測、言語翻訳などで活用が進んでいるという。

RNNやLSTMの応用領域(クリックで拡大)

ディープラーニングの実装をサポートするフレームワーク

 ディープラーニングを用いたアプリケーションを開発する場合、アルゴリズムや関連する処理を0から構築することはまれで、一般的には「ディープラーニングフレームワーク」を用いることが多い。フレームワークを活用することにより、ニューラルネットワークの学習や推論、その他関連処理をアプリケーションへ効率的に実装することができる。

 多数のベンダーがそれぞれ独自のフレームワークを開発、公開している。その中でも日本勢の動向について、山崎氏は「日本だとChainer(開発元:Preferred Networks)が有名だが、ソニーも自前のフレームワーク(Neural Network Libraries)を開発しており、先日開催したGTC 2018でも講演があった」と紹介している。

左:ディープラーニングフレームワークの例 右:フレームワークを選択する場合の検討要素(クリックで拡大)

 では、どのフレームワークを利用すればいいか。このような質問を山崎氏もよく受けるとして、「好きなものを使ってください。とお伝えしているが、フレームワークごとに特性が異なっている。1個に絞るのではなく、(用途ごとに)複数のフレームワークを使えるようになることが重要」(山崎氏)と語った。

 フレームワーク選定のポイントとしては、サポートするプログラミング言語、ユーザーコミュニティーが発達具合、といった点とともに、フレームワークが採用しているニューラルネットワークを構築する手法「Define-and-run」と「Define-by-run」の比較があるという。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.