CNNを使って波形から回帰を行うことはできますか?
이전 댓글 표시
https://jp.mathworks.com/help/nnet/examples/train-a-convolutional-neural-network-for-regression.html 上記では,たたみ込みニューラル ネットワークを使用して回帰モデルにあてはめ、画像の回転角度を予測する方法を 説明していますが,この入力を波形にして音声の距離を推定する回帰をしたいです. 具体的には,波形は1×4500の行列になっています.一つの波形に正解値(距離)は1つです. CNNを使って波形から回帰を行うことは可能でしょうか?方法もできれば教えていただきたいです. ちなみにAutoencoderを使って特徴量を抽出し,重回帰分析にて推定を行うことはできました.
채택된 답변
추가 답변 (1개)
mizuki
2017년 12월 24일
> CNNを使って波形から回帰を行うことは可能でしょうか?
はい、可能です。
例にも含まれていますが、回帰用の層 regressionLayer が用意されていますのでこれでCNN回帰をすることができます。また、入力が画像ではなく信号とのことですので、入力層を SequenceInputLayer にします。層の定義はだいたいこんな感じです。
layers = [ ...
sequenceInputLayer(*)
convolution2dLayer(*)
reluLayer
maxPooling2dLayer(*)
fullyConnectedLayer(*)
softmaxLayer
regressionLayer]
댓글 수: 4
Kengo Atomi
2017년 12월 30일
편집: michio
2018년 1월 19일
mizuki
2018년 1월 4일
入力波形は行列の形ではなく、セル配列にするようです。 train_x{i} を i 番目の波形の
#features x 波形の点数
のように定義します。具体的には
load JapaneseVowelsTrain
をして XTrain を確認すると分かりやすいかと思います。同じ現象を再現できていないのでこれだけで解決するかは不明です。もし先に進めなければ追加でご質問ください。
- 参考: sequenceInputLayer https://jp.mathworks.com/help/nnet/ref/nnet.cnn.layer.sequenceinputlayer.html
Kengo Atomi
2018년 1월 4일
R2017b のバージョンでは、sequenceInputLayer() に対して convolution2dLayer() を適用することができない状況のようです。誤情報ですみませんでした。
LSTMと回帰を組み合わせて使用する方法については将来のバージョンで検討がされているということです。
카테고리
도움말 센터 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!