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프레임 만큼 윈도우를 이동시킨다.
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
13. Experiment
실험 결과
aGender corpus 데이터에
대한 결과
gender or age 분류
두 경우 모두 CBLSTM의
성능이 좀 더 높게 나옴
13
14. Experiment
실험 결과
CLSTM에서 hidden state
cell state를 쓸 때와
각각의 경우 함수 𝑓를
다르게 구성한 경우
각각의 경우, 위에서의
평균을 구하여 비교
cell state를 이용하는
것이 평균적으로 낫지만
어떤 것이 더 나은지는
판단 보류 14