NVIDIAが解説するディープラーニングの基礎(後編):CNN/RNNやフレームワーク概要まで(3/5 ページ)
エヌビディアは2018年4月24日、ディープラーニングに関するセミナー「NVIDIA Deep Learning Seminar 2018」を東京都内で開催した。本稿では、セッション「これから始める人のためのディープラーニング基礎講座」から、各種ニューラルネットワークやその応用例、ディープラーニングフレームワークの概要について紹介する。
RNNの弱点を改善したニューラルネットワーク「LSTM」
そこで、RNNでは取り扱うことのできない長期依存性を持つ連続データの処理には「LSTM(Long short-term memory)」が用いられるという。LSTMについて山崎氏は、「詳細は踏み込まないが、(RNNで用いられる)隠れ層の中身をもうちょっと複雑にしたもの」と表現。「Google翻訳が出た当時、彼ら(Google)が出した(Google翻訳に関する)論文の中に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.