-
[Day56] 슬로우 페이퍼AIFFEL Life 2020. 12. 22. 18:05
오늘 읽은 논문은 Convolutional Neural Networks for Sentence Classification (arxiv.org/abs/1408.5882)였습니다. 수업시간에 논문을 읽으며 번역하면서 적은 메모를 공유합니다.
We report on a series of experiments with convolutional neural networks (CNN) trained on top of pre-trained word vectors for sentence-level classification tasks. We show that a simple CNN with little hyperparameter tuning and static vectors achieves excellent results on multiple benchmarks. Learning task-specific vectors through fine-tuning offers further gains in performance. We additionally propose a simple modification to the architecture to allow for the use of both task-specific and static vectors. The CNN models discussed herein improve upon the state of the art on 4 out of 7 tasks, which include sentiment analysis and question classification.
일련의 cnn 실험을 보고한다 이미 훈련된 워드 벡터 위에 / 문장단위 분류 작업을 위한.
간단한 cnn이 적은 파라미터 튜닝과 정적 벡터로 여러 벤치마킹에 대해 훌륭한 결과를 낸다는 걸 보인다.
작업특정 벡터?를 학습하는 것 (파인 튜닝통해) 더 나은 성능을 낸다. 추가적으로 간단한 조작을 제안한다. 아키텍처가 작업특정 벡터와 정적 벡터를...
여기에 논의 중인 cnn 모델은 최신의 7개의 최신 작업중 4개를 개선하는데, 감성 분석과 질문 분류를 포함한다.
1 Introduction Deep learning models have achieved remarkable results in computer vision (Krizhevsky et al., 2012) and speech recognition (Graves et al., 2013) in recent years. Within natural language processing, much of the work with deep learning methods has involved learning word vector representations through neural language models (Bengio et al., 2003; Yih et al., 2011; Mikolov et al., 2013) and performing composition over the learned word vectors for classification (Collobert et al., 2011). Word vectors, wherein words are projected from a sparse, 1-of-V encoding (here V is the vocabulary size) onto a lower dimensional vector space via a hidden layer, are essentially feature extractors that encode semantic features of words in their dimensions. In such dense representations, semantically close words are likewise close—in euclidean or cosine distance—in the lower dimensional vector space.
딥러닝 모델은 놀라운 결과를 성취하였다 컴퓨터 비전에서와 음성 인식에서 최근에.
자연어 처리에 있어서는 딥러닝 방법을 사용하는 많은 작업은 단어 벡터 표현 학습을 포함하는데... 신경 언어 모델?과 분류를 위한 학습된 워드 벡터에 대한 작문 수행을 포함한다.
워드벡터는 여기서 단어가 sparse, 1 of v 인코딩 ( v는 단어사전 크기)에서 더 낮은 차원의 벡터 공간으로 투영되는데 (히든 레이어 거쳐서) 기본적으로는 피처 추출이다 (단어의 의미 특징을 그들의 차원으로 인코딩하는). 그런 두터운 표현에서는, 의미적으로 가까운 단어가 마찬가지로 가깝고 (유클리디안 혹은 코사인 거리) - 더 낮은 차원 벡터 공간에서.
Convolutional neural networks (CNN) utilize layers with convolving filters that are applied to
local features (LeCun et al., 1998). Originally invented for computer vision, CNN models have subsequently been shown to be effective for NLP and have achieved excellent results in semantic parsing (Yih et al., 2014), search query retrieval (Shen et al., 2014), sentence modeling (Kalchbrenner et al., 2014), and other traditional NLP tasks (Collobert et al., 2011).
cnn 신경망은 층을 사용한다 (합성곱 필터와 함께... 로컬 피처에 적용되는)
원래 컴퓨터 비전을 위해 발명된 cnn모델은 순차적으로? nlp에도 효과적이라는 것이 밝혀졋고 훌륭한 결과가 의미 파싱, 검색 쿼리 검색, 문장 모델링과 다른 전통적인 nlp 작업에서 나왓다.
In the present work, we train a simple CNN with one layer of convolution on top of word vectors obtained from an unsupervised neural language model. These vectors were trained by Mikolov et al. (2013) on 100 billion words of Google News, and are publicly available.1 We initially keep the word vectors static and learn only the other parameters of the model. Despite little tuning of hyperparameters, this simple model achieves excellent results on multiple benchmarks, suggesting that the pre-trained vectors are ‘universal’ feature extractors that can be utilized for various classification tasks. Learning task-specific vectors through fine-tuning results in further improvements. We finally describe a simple modification to the architecture to allow for the use of both pre-trained and task-specific vectors by having multiple channels.
현재 작업에서, 우리는 심플한 cnn을 훈련해서 (합성곱 레이어 하나를 워드 벡터 위에서 언수퍼바이즈드 신경 언어 모델로부터 얻어진)..
이 벡터들은 미코브와 친구들에 의해서 학습이 되었는데 구글 뉴스의 천억단어에 대해서... 그리고 공개 되었다.
우리는 최초에 워드벡터를 정적으로 두고, 모델의 다른 파라미터만 학습한다. 하이퍼파라미터의 적은 튜닝에도 불구하고, 이 간단한 모델은 여러 벤치마킹에서 우수한 결과를 이뤘고, 미리 학습된 벡터는 '다 통용되는' 피처 추출이다 (다양한 분류 작업에서 사용될 수 있는)
태스트 특정 벡터를 학습하는 것은 (파인 튜닝 결과를 통해) 더 나은 개선을 보인다. 결과적으로 간단한 조작을 서술한다. (아키텍처에 대한... 미리 학습된 벡터 그리고 작업 특정 벡터를 모두 사용할 수 있도록 하는... 다양한 채널을 가지고)
Our work is philosophically similar to Razavian et al. (2014) which showed that for image classification, feature extractors obtained from a pretrained deep learning model perform well on a variety of tasks—including tasks that are very different from the original task for which the feature extractors were trained.
우리 작업은 철학적으로 라자비안과 유사하며, 그것은 이미지 분류를 위해, 이미 학습된 딥 러닝 모델로 부터 획득된 피처 추출은 다양한 작업에 잘 동작한다. - 피처 추출이 독창적인 작업으로부터 매우 다른 작업을 포함해서...
2 Model
The model architecture, shown in figure 1, is a slight variant of the CNN architecture of Collobert et al. (2011). Let xi ∈ R k be the k-dimensional word vector corresponding to the i-th word in the sentence. A sentence of length n (padded where
necessary) is represented as x1:n = x1 ⊕ x2 ⊕ . . . ⊕ xn, (1) where ⊕ is the concatenation operator. In general, let xi:i+j refer to the concatenation of words xi , xi+1, . . . , xi+j . A convolution operation involves a filter w ∈ R hk, which is applied to a window of h words to produce a new feature. For example, a feature ci is generated from a window of words xi:i+h−1 by ci = f(w · xi:i+h−1 + b). (2) Here b ∈ R is a bias term and f is a non-linear function such as the hyperbolic tangent. This filter is applied to each possible window of words in the sentence {x1:h, x2:h+1, . . . , xn−h+1:n} to produce a feature map c = [c1, c2, . . . , cn−h+1], (3) with c ∈ R n−h+1. We then apply a max-overtime pooling operation (Collobert et al., 2011) over the feature map and take the maximum value cˆ = max{c} as the feature corresponding to this particular filter. The idea is to capture the most important feature—one with the highest value—for each feature map. This pooling scheme naturally deals with variable sentence lengths.
그림 1에서 보인 아키텍처 모델은 약간 cnn 아키텍처 (콜로베르의)의 변형이다.
xi가 Rk에 속하는데 k-차원 워드 벡터가 문장에서 i번째 단어와 일치하게 한다.
길이 n 문장 (필요하면 패딩)은 x1으로 표현되고, +는 연결 연산자다. 일반적으로 xi : i + j 는 단어 xi부터 xi+j까지 연결시키는 것이다. 콘볼루션 연산은 필터를 포함한다 w는 Rhk에 속하는 필터를 포함하는데, h 단어 윈도우에 적용되는데 새로운 피처를 만들어 낸다. 예를 들어, ci 피처는 단어 윈도우 xi:i+h-1에 의해 생성되는데 ci에 의해 생성된다.
여기서 b는 R에 속하는 바이어스 항이고 f는 비 선형 함수다 하이퍼볼릭 탄젠트같은...
이 필터는 문장내 각각의 가능한 단어 윈도우에 적용되고 피처맵 c를 만드는데 c는 R에 속한다. 우리는 그리고 맥스-오버타이 풀링 작업을 적용 (피처맵에 대해서)한고 최대값 c hat을 취하는데 피처는 이 특정 필터에 해당한다. 이 아이디어는 가장 중요한 피처를 캡처하고 - 최곱값에서 하나 - 각각의 피처 맵을 위해.
이 풀링 계획은 자연적으로 다양한 문장 길이를 다룬다.
We have described the process by which one feature is extracted from one filter. The model uses multiple filters (with varying window sizes) to obtain multiple features. These features form the penultimate layer and are passed to a fully connected softmax layer whose output is the probability distribution over labels.
In one of the model variants, we experiment with having two ‘channels’ of word vectors—one
that is kept static throughout training and one that is fine-tuned via backpropagation (section 3.2).2 In the multichannel architecture, illustrated in figure 1, each filter is applied to both channels and the results are added to calculate ci in equation (2). The model is otherwise equivalent to the single channel architecture.
2.1 Regularization For regularization we employ dropout on the penultimate layer with a constraint on l2-norms of the weight vectors (Hinton et al., 2012). Dropout prevents co-adaptation of hidden units by randomly dropping out—i.e., setting to zero—a proportion p of the hidden units during fowardbackpropagation. That is, given the penultimate layer z = [ˆc1, . . . , cˆm] (note that here we have m filters), instead of using
y = w · z + b (4) for output unit y in forward propagation, dropout uses y = w · (z ◦ r) + b, (5) where ◦ is the element-wise multiplication operator and r ∈ R m is a ‘masking’ vector of Bernoulli random variables with probability p of being 1. Gradients are backpropagated only through the unmasked units. At test time, the learned weight vectors are scaled by p such that wˆ = pw, and wˆ is used (without dropout) to score unseen sentences. We additionally constrain l2-norms of the weight vectors by rescaling w to have ||w||2 = s whenever ||w||2 > s after a gradient descent step.
정규화를 위해서 우리는 끝에서 두번째 레이어에서 드롭아웃을 사용하는데... 웨이트 벡터의 l2 놈에 대한 제약과 함께.
드롭아웃은 히든 유닛의 코-어답테이션을 방지하는데 랜덤하게 드롭아웃을 해서, 즉, 영으로 맞춰서 - 히든 유닛의 p 비율 - 포워드백프로파게이션 도중에. 즉, 끝에서 두번째 레이어 z가 주어졌을 때, y = w . z +b 를 사용하는 대신에 (포워드 프로파게이션의 y 유닛 출력에 대해서), 드롭아웃은 y = w . (z . r) +b 를 사용하고, . 는 엘레멘트 와이즈 곱셈 연산이고 r은 Rm에 속한 마스킹 벡터다 (베르누이 랜덤 변수로 1인 확률 p와 함께). 그래디언트는 마스킹되지 않은 유닛을 통해 역전파 된다.
테스트 시간에, 학습된 웨이트 벡터는 p에 의해 스케일 된다 w^은 pw이고 w^은 드랍아웃 없이 사용되고 보이지 않은 문장을 점수 매긴다.
우리는 추가적으로 웨이트 벡터의 l2 norm을 제한하는데 w 를, ||w||2 > s일때마다 ||w||2 = s 이도록 리스케일링한다. (그래디언드 디센트가 스텝 하나 후에)
3 Datasets and Experimental Setup We test our model on various benchmarks. Summary statistics of the datasets are in table 1. • MR: Movie reviews with one sentence per review. Classification involves detecting positive/negative reviews (Pang and Lee, 2005).3 • SST-1: Stanford Sentiment Treebank—an extension of MR but with train/dev/test splits provided and fine-grained labels (very positive, positive, neutral, negative, very negative), re-labeled by Socher et al. (2013).4 • SST-2: Same as SST-1 but with neutral reviews removed and binary labels. • Subj: Subjectivity dataset where the task is to classify a sentence as being subjective or objective (Pang and Lee, 2004). • TREC: TREC question dataset—task involves classifying a question into 6 question types (whether the question is about person, location, numeric information, etc.) (Li and Roth, 2002).5 • CR: Customer reviews of various products (cameras, MP3s etc.). Task is to predict positive/negative reviews (Hu and Liu, 2004).6
- MPQA: Opinion polarity detection subtask of the MPQA dataset (Wiebe et al., 2005).7
우리는 다양한 벤치마킹에서 모델을 테스트했다. 데이타셋의 요약된 통계는 테이블1에 있음.
- MR: 리뷰당 한문장으로 된 영화 리뷰. 분류는 긍/부정 리뷰 탐지 포함.
- SST-1: 스탠포드 감성 트리뱅크 - MR의 확장이나 train/dev/test 로 나눠진 것과 세분화된 라벨 제공 ( 매우 긍정, 긍정, 중립, 부정, 매우 부정), 소처에 의해 재 라벨링됨
- SST-2: SST-1과 같지만 중립 리뷰가 삭제되고 2개로 라벨됨.
- Subj: 주제성 데이타셋, 작업은 문장을 분류하는데 주어 인지 목적어 인지
- TREC: TREC 질문 데이타 셋 - 질문을 6개 타입으로 분류 ( 사람, 장소, 숫자정보 등에 관한 것인지)
- CR: 고객 리뷰 (다양한 제품) 긍정/ 부정 리뷰 예측
- MPQA: 의견 극성 탐지 (MPQA 데이타셋의)
3.1 Hyperparameters and Training For all datasets we use: rectified linear units, filter windows (h) of 3, 4, 5 with 100 feature maps each, dropout rate (p) of 0.5, l2 constraint (s) of 3, and mini-batch size of 50. These values were chosen via a grid search on the SST-2 dev set.
모든 데이타셋에 대해 우리는: 정제된 선형 유닛, 필터 윈도우 3, 4, 5 크기 100 피처 맵 각각으로, 드롭아웃 레이트 0.5, l2 제한값 3, 미니 패치 사이즈 50을 사용한다. 이 값들은 SST-2 개발 셋에서 그리드 서치를 통해 결정됐다.
We do not otherwise perform any datasetspecific tuning other than early stopping on dev sets. For datasets without a standard dev set we randomly select 10% of the training data as the dev set. Training is done through stochastic gradient descent over shuffled mini-batches with the Adadelta update rule (Zeiler, 2012).
우리는 어떤 데이타셋 특정 튜닝을 하지 않았고 (데브 셋에 대한 얼리 스토핑 제외하고).
표준 데브셋 없는 데이타 셋에 대해서 우리는 랜덤하게 트래이닝 데이타의 10퍼센트를 데브 셋으로 선택했다.
트레이닝은 확률적 경사 하강을 통해 진행됐다. (Adadelta 업데이트 룰로 미니 배치 셔플 된 것에 대해)
3.2 Pre-trained Word Vectors Initializing word vectors with those obtained from an unsupervised neural language model is a popular method to improve performance in the absence of a large supervised training set (Collobert et al., 2011; Socher et al., 2011; Iyyer et al., 2014). We use the publicly available word2vec vectors that were trained on 100 billion words from Google News. The vectors have dimensionality of 300 and were trained using the continuous bag-of-words architecture (Mikolov et al., 2013). Words not present in the set of pre-trained words are initialized randomly.
워드 벡터를 슈퍼바이즈 안된 신경 언어 모델로부터 얻어진 것들로 초기화하는 것은 흔히 사용되는 방법이고 커다란 지도학습 셋의 부재에서...
우리는 공개된 word2vec 벡터를 사용했고 구글 뉴스로부터 얻은 천억 단어를 학습시켰다.
벡터는 300차원을 가지고 있고 연속적인 bag-of-words를 사용하여 학습됐다.
미리 학습된 단어 셋에 없는 단어는 임의로 초기화했다.
3.3 Model Variations We experiment with several variants of the model. • CNN-rand: Our baseline model where all words are randomly initialized and then modified during training. • CNN-static: A model with pre-trained vectors from word2vec. All words— including the unknown ones that are randomly initialized—are kept static and only the other parameters of the model are learned. • CNN-non-static: Same as above but the pretrained vectors are fine-tuned for each task. • CNN-multichannel: A model with two sets of word vectors. Each set of vectors is treated as a ‘channel’ and each filter is applied
to both channels, but gradients are backpropagated only through one of the channels. Hence the model is able to fine-tune one set of vectors while keeping the other static. Both channels are initialized with word2vec.
모델의 여러개 변형을 실험한다.
- CNN-rand: 우리의 베이스라인 모델로 모든 단어가 랜덤하게 초기화되고 훈련동안 수정된다.
- CNN-static: word2vec으로부터 미리 학습된 벡터 모델.
모든 단어 (알려지지 않은 것 포함, 임의로 초기화된) 는 정적으로 유지하고 모델의 다른 파라미터만 학습된다.
- CNN-non-static: 위와 같지만 미리 학습된 벡터는 각각의 학습을 위해 파인튜닝된다.
- CNN-multichannel: 워드 벡터의 두셋으로 된 모델. 벡터의 각각의 셋은 '채널'로 취급되고 각 필터가 적용되지만, 그래디언드트는 단지 하나의 채널을 통해서만 역전파된다. 그래서 모델은 벡터의 하나의 셋을 파인튜닝할 수 있다 반면, 다른 것은 정적으로 둔다. 2채넌 모두 word2vec으로 초기ㅗ하 된다.
In order to disentangle the effect of the above variations versus other random factors, we eliminate other sources of randomness—CV-fold assignment, initialization of unknown word vectors, initialization of CNN parameters—by keeping them uniform within each dataset.
다른 랜덤 요소에 대한 위 변화의 효과를 섞기? 위해서, 우리는 다른 랜덤성의 원천을 제거했다. - CV-fold assignment, 알려지지 않은 워드 벡터 초기화, CNN 파라미터의 초기화 - 각각의 데이터셋에서 그것들을 단일하게 유지하면서...
4 Results and Discussion Results of our models against other methods are listed in table 2. Our baseline model with all randomly initialized words (CNN-rand) does not perform well on its own. While we had expected performance gains through the use of pre-trained vectors, we were surprised at the magnitude of the gains. Even a simple model with static vectors (CNN-static) performs remarkably well, giving competitive results against the more sophisticated deep learning models that utilize complex pooling schemes (Kalchbrenner et al., 2014) or require parse trees to be computed beforehand (Socher et al., 2013). These results suggest that the pretrained vectors are good, ‘universal’ feature extractors and can be utilized across datasets. Finetuning the pre-trained vectors for each task gives still further improvements (CNN-non-static).
다른 메소트에 대한 우리 모델의 결과는 테이블 2에 있다.
모든 랜덤하게 초기화된 단어로 된 우리의 베이스 모델은 그 자체로는 잘 동작하지 않는다. 우리는 미리 학습된 벡터를 사용하는 것을 통해 성능 향상을 기대했음에도, 성능향상에 놀랐다.
정적 벡터 (CNN-static)로된 단순한 모델도 놀랍게 잘 동작하며 (더 복잡한 딥러닝 모델... 복잡한 풀링 스키마를 사용하거나 트리를 파스한게 미리 계산된) 경쟁력있는 결과를 제공한다.
이 결과들은 미리 학습된 벡터들이 좋고, '범용적인' 피처 추출기 이고, 여러 데이타셋에 걸쳐 사용될 수 있다.
각 작업을 위해 미리 학습된 벡터를 파인튜닝은 더 나은 개선을 제공한다.
'AIFFEL Life' 카테고리의 다른 글
[Day57] 워드 임베딩 (0) 2020.12.22 [Day56] Anomaly Detection (0) 2020.12.22 [Day55] 해커톤 조편성 및 시작 (0) 2020.12.22 [Day54] 뉴스 카테고리 다중 분류 (0) 2020.12.22 [Day53] 애자일 소다와 흐린 사진을 선명하게 (0) 2020.12.21