SlideShare a Scribd company logo
Convolutional RNN: an Enhanced Model for
Extracting Features from Sequential Data
Gyeong-hoon Lee
Chungnam National University
e-mail : ghlee0304@cnu.ac.kr
[Data Mining Lab Seminar]
Aug. 13. 2017
2
Related Work
1. [12] LIN, Min; CHEN, Qiang; YAN, Shuicheng. Network in network. arXiv preprint arXiv:1312.4400, 2013.
몇 개의 Object를 분류하기 위하여 CNN구조 사이에 multilayer feedforward neural network를 삽
입하여
특징을 추출하는 방법을 제시한다.
한계 : 이 방법은 recurrent process에 대해서는 적용할 수 없음
<Structure of Network in Network containing mlpconv layers>
3
Related Work
2. [13] LIANG, Ming; HU, Xiaolin. Recurrent convolutional neural network for object recognition.
In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015. p. 3367-3375.
RCL(Recurrent convolutional layer) RCNN(Recurrent CNN)
- 필터를 이용하여 convolution을 반복 수행
- 같은 이미지 모든 스텝에서 input, out으로 사용
한계 : 이 접근법은 reccurent network를 이용하
여
기존 결과보다 더 나은 결과를 얻었지만
여전히 data의 연속적인 속성을 이용하지 않고
같은 이미지를 반복적으로 사용함
4
Related Work
3. [14] VISIN, Francesco, et al. Renet: A recurrent neural network based alternative to convolutional
networks. arXiv preprint arXiv:1505.00393, 2015.
- 이미지를 격자로 나누어 두 이미지 조각(patch)을 이용하여 두 방향으로
각 열을 스캔 후 activation을 거쳐 다시 이지미를 두 방향으로 각 행을 스
캔
- reccurent network의 hidden states를 추출된 feature로 사용
한계 : 이미지에 반복적인 네트워크를 사용하는 것은 데이터가 자연스러운
연속적인 속성을 가지고 있다고 볼 수 없고 patch자체가 순차적인 특
<A one layer of ReNet>
<ReNet>
5
A. Extracting local features
1. 가정
 데이터 셋은 label이 붙여있음
 데이터 셋의 각 샘플들은 다양한 sequence length를 가지며, 같은 수의 feature를 가짐
2. 표기
 𝑥 : an example(sequence) from the dataset (𝑥 is of size 𝑘 × 𝑙)
 𝑙 : the number of frames in the sequence(sequence length)
 𝑘 : the number of features in each frame in each example in the dataset
3. 방법
 sequence 𝑥로부터 윈도우들의 sequence를 만든다.
 각 윈도우들은 𝑟1개의 frame들로 구성되어 있다.
 각 윈도우의 사이즈는 𝑘×𝑟1이 되고 𝑟2프레임 만큼 윈도우를 이동시킨다.
6
A. Extracting local features
3. 방법 - 개요
<an sequence 𝒙>
𝑙
𝑘
𝑟1
𝑟2
A. Extracting local features + C. CNN
3. 방법
 각 윈도우마다 feature extraction function 𝑓를 적용한다.
 각 윈도우 𝑤에 대하여 𝑓(𝑤)는 크기 𝑛의 feature vector를 의미한다.
 각 윈도우에서 만들어지는 크기 𝑛의 feature vector로 새로운 sequence 𝑥′을 얻는다.
sequence 𝒙′
𝑛 × 𝑝1
sequence 𝒙
𝑘 × 𝑙
 𝑊1, ⋯ , 𝑊𝑛 : weight matrices (filters)
 𝑏1, ⋯ , 𝑏 𝑛 : biases
 ⊙ : element-wise multiplication
 sum : sum all elements of a matrix
7
A. Extracting local features
3. 방법
 𝑥′
을 𝑛 × 𝑝1크기의 윈도우를 𝑝2만큼 이동하면서 각각의 윈도우를 𝑛 × 1 크기로 max pooing을 한다.
 max-pooing 각 윈도우에 적용한 후 𝑥의 local feature를 가지는 sequence를 다음 network로 보
낸다.
sequence 𝒙′
MAX
8
9
B. LSTM and Bidirectional LSTM
1. LSTM
 (𝑥1, 𝑥2, ⋯ , 𝑥 𝑡) : a sequence
 (ℎ1, ℎ2, ⋯ , ℎ 𝑡) : a sequence of hidden state
 (𝑦1, 𝑦2, ⋯ , 𝑦𝑡) : a sequence of outputs
 𝜎 : the logistic sigmoid function
 𝑊𝑥ℎ, 𝑊ℎℎ, 𝑊ℎ𝑦 : weight matrices
 𝑏ℎ, 𝑏 𝑦 : biases
2. BLSTM(Bidirectional LSTM)
 양방향 LSTM으로 순방향과 역방향의 LSTM으로 구성되어 있다.
 두 방향의 hidden state ℎ, ℎ(혹은 cell state 𝑐, 𝑐)의 결합으로 BLSTM의 결과 값은 다음과 같다.
C. Convolutional Recurrent layers
CRNN(Convolutional RNN), CLSTM, CBLSTM
 CNN과 마찬가지로 너비가 𝑟1인 𝑘 × 𝑟1 인 윈도우를 이용
 이는 짧은 시간의 sequence를 의미하며 윈도우에서의
𝑟1개의 𝑘 × 1를 RNN의 input으로 고려
 각 sequence를 RNN에넣어 hidden state의 sequence
(ℎ1, ⋯ , ℎ 𝑟1
)를 얻는다.
 (ℎ1, ⋯ , ℎ 𝑟1
)에 𝑓(𝑤) 함수를 이용(mean 또는 max 혹은
sequence의 마지막 feature 벡터를 내놓는 함수)하여
윈도우를 나타내는 𝑛 × 1 feature vector를 만든다.
 LSTM과 BLSTM의 경우 hidden state 대신 cell state를
사용하기도 하였다.
 RNN의 hidden units에 어떤 제한을 두지 않았다.
10
Experiment
 FAU Aibo Emotion Corpus
- Interspeech 2009 Emotion Challenge 의 데이터 셋으로 약 9.2 시간의 speech에 대한 corpus를 담
고 있음
- train set : 9,959 from 26 children(13 male, 13 female)
- test set : 8,257 from 25 children(8 male, 17 female)
- 5개의 label로 구성 : Anger, Emphatic, Neutral, Positive, Rest
- 2개의 label로 구성 : Negative or Idle
- 26 dimensional log mel filter-banks를 사용 (오디오를 추출하는 방법으로 파악)
- 최초의 dimension은 나와있지 않으나 100개의 feature로 추출
- window size : 25ms (참고 : 1ms->0.001s), 10ms shift
- mean and standard deviation normalization을 하였고 max pooling을 사용
- base 모델로 400 ReLU를 가진 하나의 LSTM층과 마지막에 softmax층을 가지고 진행
- Adam optimization (learning rate = 0.002, 𝛽1 = 0.1, 𝛽2 = 0.001)
- validation set에서 오판정율이 가장 적은 것을 택함, 오판정율이 줄지 않아 12 epoch으로 끊음.
11
Experiment
 실험 결과
12
 데이터 sequence에 대한 정보를 추가하여 window사이즈를 조정한 CLSTM
Experiment
 실험 결과
 aGender corpus 데이터에
대한 결과
 gender or age 분류
 두 경우 모두 CBLSTM의
성능이 좀 더 높게 나옴
13
Experiment
 실험 결과
 CLSTM에서 hidden state
cell state를 쓸 때와
각각의 경우 함수 𝑓를
다르게 구성한 경우
 각각의 경우, 위에서의
평균을 구하여 비교
cell state를 이용하는
것이 평균적으로 낫지만
어떤 것이 더 나은지는
판단 보류 14

More Related Content

PDF
Densely Connected Convolutional Networks
PDF
2019 4-8-week-i-learned-rnn
PPTX
Review Dense net
PDF
Dl from scratch(7)
PPTX
Review Wide Resnet
PDF
CNN Introduction
PDF
Attention is all you need 설명
PPTX
코딩더매트릭스 3장
Densely Connected Convolutional Networks
2019 4-8-week-i-learned-rnn
Review Dense net
Dl from scratch(7)
Review Wide Resnet
CNN Introduction
Attention is all you need 설명
코딩더매트릭스 3장

Similar to Convolutional rnn (20)

PPTX
Chapter 10 sequence modeling recurrent and recursive nets
PDF
Deep Learning for Chatbot (2/4)
PDF
[기초개념] Recurrent Neural Network (RNN) 소개
PDF
Rnn keras
PDF
2017 tensor flow dev summit
PDF
LSTM 네트워크 이해하기
PDF
[226]대용량 텍스트마이닝 기술 하정우
PDF
Rnn개념정리
PPTX
Image net classification with deep convolutional neural networks
PPTX
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
PDF
Final project v0.84
PDF
순환신경망(Recurrent neural networks) 개요
PPTX
Recurrent Neural Net의 이론과 설명
PDF
자연어5 | 1차강의
PDF
Convoutional sequence to sequence
PDF
Automl
PDF
AUTOML
PDF
[한국어] Neural Architecture Search with Reinforcement Learning
PPTX
텐서플로우 2.0 튜토리얼 - RNN
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Chapter 10 sequence modeling recurrent and recursive nets
Deep Learning for Chatbot (2/4)
[기초개념] Recurrent Neural Network (RNN) 소개
Rnn keras
2017 tensor flow dev summit
LSTM 네트워크 이해하기
[226]대용량 텍스트마이닝 기술 하정우
Rnn개념정리
Image net classification with deep convolutional neural networks
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
Final project v0.84
순환신경망(Recurrent neural networks) 개요
Recurrent Neural Net의 이론과 설명
자연어5 | 1차강의
Convoutional sequence to sequence
Automl
AUTOML
[한국어] Neural Architecture Search with Reinforcement Learning
텐서플로우 2.0 튜토리얼 - RNN
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Ad

More from Lee Gyeong Hoon (7)

PPTX
Nlp study1
PDF
PPTX
PDF
The fastalgorithmfordeepbeliefnets
PPTX
세미나 20170929
Nlp study1
The fastalgorithmfordeepbeliefnets
세미나 20170929
Ad

Convolutional rnn

  • 1. Convolutional RNN: an Enhanced Model for Extracting Features from Sequential Data Gyeong-hoon Lee Chungnam National University e-mail : ghlee0304@cnu.ac.kr [Data Mining Lab Seminar] Aug. 13. 2017
  • 2. 2 Related Work 1. [12] LIN, Min; CHEN, Qiang; YAN, Shuicheng. Network in network. arXiv preprint arXiv:1312.4400, 2013. 몇 개의 Object를 분류하기 위하여 CNN구조 사이에 multilayer feedforward neural network를 삽 입하여 특징을 추출하는 방법을 제시한다. 한계 : 이 방법은 recurrent process에 대해서는 적용할 수 없음 <Structure of Network in Network containing mlpconv layers>
  • 3. 3 Related Work 2. [13] LIANG, Ming; HU, Xiaolin. Recurrent convolutional neural network for object recognition. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015. p. 3367-3375. RCL(Recurrent convolutional layer) RCNN(Recurrent CNN) - 필터를 이용하여 convolution을 반복 수행 - 같은 이미지 모든 스텝에서 input, out으로 사용 한계 : 이 접근법은 reccurent network를 이용하 여 기존 결과보다 더 나은 결과를 얻었지만 여전히 data의 연속적인 속성을 이용하지 않고 같은 이미지를 반복적으로 사용함
  • 4. 4 Related Work 3. [14] VISIN, Francesco, et al. Renet: A recurrent neural network based alternative to convolutional networks. arXiv preprint arXiv:1505.00393, 2015. - 이미지를 격자로 나누어 두 이미지 조각(patch)을 이용하여 두 방향으로 각 열을 스캔 후 activation을 거쳐 다시 이지미를 두 방향으로 각 행을 스 캔 - reccurent network의 hidden states를 추출된 feature로 사용 한계 : 이미지에 반복적인 네트워크를 사용하는 것은 데이터가 자연스러운 연속적인 속성을 가지고 있다고 볼 수 없고 patch자체가 순차적인 특 <A one layer of ReNet> <ReNet>
  • 5. 5 A. Extracting local features 1. 가정  데이터 셋은 label이 붙여있음  데이터 셋의 각 샘플들은 다양한 sequence length를 가지며, 같은 수의 feature를 가짐 2. 표기  𝑥 : an example(sequence) from the dataset (𝑥 is of size 𝑘 × 𝑙)  𝑙 : the number of frames in the sequence(sequence length)  𝑘 : the number of features in each frame in each example in the dataset 3. 방법  sequence 𝑥로부터 윈도우들의 sequence를 만든다.  각 윈도우들은 𝑟1개의 frame들로 구성되어 있다.  각 윈도우의 사이즈는 𝑘×𝑟1이 되고 𝑟2프레임 만큼 윈도우를 이동시킨다.
  • 6. 6 A. Extracting local features 3. 방법 - 개요 <an sequence 𝒙> 𝑙 𝑘 𝑟1 𝑟2
  • 7. A. Extracting local features + C. CNN 3. 방법  각 윈도우마다 feature extraction function 𝑓를 적용한다.  각 윈도우 𝑤에 대하여 𝑓(𝑤)는 크기 𝑛의 feature vector를 의미한다.  각 윈도우에서 만들어지는 크기 𝑛의 feature vector로 새로운 sequence 𝑥′을 얻는다. sequence 𝒙′ 𝑛 × 𝑝1 sequence 𝒙 𝑘 × 𝑙  𝑊1, ⋯ , 𝑊𝑛 : weight matrices (filters)  𝑏1, ⋯ , 𝑏 𝑛 : biases  ⊙ : element-wise multiplication  sum : sum all elements of a matrix 7
  • 8. A. Extracting local features 3. 방법  𝑥′ 을 𝑛 × 𝑝1크기의 윈도우를 𝑝2만큼 이동하면서 각각의 윈도우를 𝑛 × 1 크기로 max pooing을 한다.  max-pooing 각 윈도우에 적용한 후 𝑥의 local feature를 가지는 sequence를 다음 network로 보 낸다. sequence 𝒙′ MAX 8
  • 9. 9 B. LSTM and Bidirectional LSTM 1. LSTM  (𝑥1, 𝑥2, ⋯ , 𝑥 𝑡) : a sequence  (ℎ1, ℎ2, ⋯ , ℎ 𝑡) : a sequence of hidden state  (𝑦1, 𝑦2, ⋯ , 𝑦𝑡) : a sequence of outputs  𝜎 : the logistic sigmoid function  𝑊𝑥ℎ, 𝑊ℎℎ, 𝑊ℎ𝑦 : weight matrices  𝑏ℎ, 𝑏 𝑦 : biases 2. BLSTM(Bidirectional LSTM)  양방향 LSTM으로 순방향과 역방향의 LSTM으로 구성되어 있다.  두 방향의 hidden state ℎ, ℎ(혹은 cell state 𝑐, 𝑐)의 결합으로 BLSTM의 결과 값은 다음과 같다.
  • 10. C. Convolutional Recurrent layers CRNN(Convolutional RNN), CLSTM, CBLSTM  CNN과 마찬가지로 너비가 𝑟1인 𝑘 × 𝑟1 인 윈도우를 이용  이는 짧은 시간의 sequence를 의미하며 윈도우에서의 𝑟1개의 𝑘 × 1를 RNN의 input으로 고려  각 sequence를 RNN에넣어 hidden state의 sequence (ℎ1, ⋯ , ℎ 𝑟1 )를 얻는다.  (ℎ1, ⋯ , ℎ 𝑟1 )에 𝑓(𝑤) 함수를 이용(mean 또는 max 혹은 sequence의 마지막 feature 벡터를 내놓는 함수)하여 윈도우를 나타내는 𝑛 × 1 feature vector를 만든다.  LSTM과 BLSTM의 경우 hidden state 대신 cell state를 사용하기도 하였다.  RNN의 hidden units에 어떤 제한을 두지 않았다. 10
  • 11. Experiment  FAU Aibo Emotion Corpus - Interspeech 2009 Emotion Challenge 의 데이터 셋으로 약 9.2 시간의 speech에 대한 corpus를 담 고 있음 - train set : 9,959 from 26 children(13 male, 13 female) - test set : 8,257 from 25 children(8 male, 17 female) - 5개의 label로 구성 : Anger, Emphatic, Neutral, Positive, Rest - 2개의 label로 구성 : Negative or Idle - 26 dimensional log mel filter-banks를 사용 (오디오를 추출하는 방법으로 파악) - 최초의 dimension은 나와있지 않으나 100개의 feature로 추출 - window size : 25ms (참고 : 1ms->0.001s), 10ms shift - mean and standard deviation normalization을 하였고 max pooling을 사용 - base 모델로 400 ReLU를 가진 하나의 LSTM층과 마지막에 softmax층을 가지고 진행 - Adam optimization (learning rate = 0.002, 𝛽1 = 0.1, 𝛽2 = 0.001) - validation set에서 오판정율이 가장 적은 것을 택함, 오판정율이 줄지 않아 12 epoch으로 끊음. 11
  • 12. Experiment  실험 결과 12  데이터 sequence에 대한 정보를 추가하여 window사이즈를 조정한 CLSTM
  • 13. Experiment  실험 결과  aGender corpus 데이터에 대한 결과  gender or age 분류  두 경우 모두 CBLSTM의 성능이 좀 더 높게 나옴 13
  • 14. Experiment  실험 결과  CLSTM에서 hidden state cell state를 쓸 때와 각각의 경우 함수 𝑓를 다르게 구성한 경우  각각의 경우, 위에서의 평균을 구하여 비교 cell state를 이용하는 것이 평균적으로 낫지만 어떤 것이 더 나은지는 판단 보류 14