6. 6
Recurrent Neural Networks(RNN)とは?
Feed Forward Neural Networks
(FFNN)
Recurrent Neural Networks (RNN)
T
入力
出力
一問一答
出力は現在の
入力のみから
決まる
S
S
O
O
N
N Y
t-3 t-2 t-1 t 系列
出力の推定に過去のデータも利用することで、より知的な処理が実現できる
出力の推定には
現在の入力に加
え、過去の入力
データの処理結
果も利用
S→O→Nと
来たから
次はYでは?
Recurrent
7. 7
様々なRNNの使い方
Many to One
時系列の入力データから単一の出力を得る
応用例:時系列データの認識等
One to Many
単一のデータから時系列出力を得る
応用例:画像へのキャプショニング
4匹の猫
Many to Many (1)
時系列の入力データの各時刻に対応する
出力を得る
応用例:時系列データの時刻ごとの認識、
時系列予測
Many to Many (2)
時系列の入力データから特徴を抽出し、そこから新たな時系列出力を得る
応用例:機械翻訳、対話
Here we go
さあ 行くぞ
1枚の画像 単語時系列
(複数の単語)
21. 21
この後の推論実行方法は、FFNNの場合と同じ
? Neural Network Libraries Pythonコードからの実行 おすすめ
? Neural Network LibrariesのCLI(Python利用)からの実行 簡単
? Neural Network Libraries C++からの実行 コンパクトに製品搭載する際に
? https://github.com/sony/nnabla/tree/master/examples/cpp/mnist_runtime
python "(path of Neural Network Console)/libs/nnabla/python/src/nnabla/utils/cli/cli.py" forward
-c Network definition file included in the training result folder (net.nntxt)
-p Parameter file included in the training result folder (parameters.h5)
-d Dataset CSV file of input data
-o Inference result output folder
1. Neural Network Console上で推論に用いるネットワークを右クリックして、Export、Python Code
(NNabla)を選択
2. 学習結果のparamters.h5を、load_parametersコマンドで読み込み
import nnabla as nn
nn.load_parameters('./parameters.h5')
3. 2によりパラメータが読み込まれた状態で、1でExportされたネットワークを実行(forward)