표상학습을이용한딥러닝이미지특성의범용분류성에대한실험적분석 Experimental Analyses on Generalized Discriminability of Deep Convolutional Image Features using Representational Learning 서울대학교공과대학컴퓨터공학부한동식
표상학습을이용한딥러닝이미지특성의범용분류성에대한실험적분석 지도교수장병탁 이논문을공학학사학위논문으로제출함. 2015 년 12 월 21 일 서울대학교공과대학컴퓨터공학부한동식 2016 년 2 월
차 례 요약 ii 제 1 장서론 1 1.1 연구배경 1 1.2 연구목적과의의 1 1.3 논문의구성 2 제 2 장연구의이론적배경 3 2.1 자동이미지분류기 3 2.2 특성벡터 3 2.3 표상학습 4 제 3 장연구내용및방법 5 3.1 데이터수집처리 5 3.2 활용알고리즘및용도 5 제 4 장실험결과및분석 8 4.1 CNN 의학습결과와질적분석 8 4.2 특성벡터의군집화 9 4.3 특성벡터를이용한다목적분류기구성 10 제 5 장결론 15 참고문헌 16 i
요약 표상학습을이용한딥러닝이미지특성의범용분류성에대한실험적분석 Experimental Analyses on Generalized Discriminability of Deep Convolutional Image Features using Representational Learning 서울대학교 컴퓨터공학부 한동식 SNS, 스마트폰등의정보통신서비스와하드웨어기술의발달로인해 방대한이미지가생성되고있으며, 유의미한정보를추출하고 활용하기위한빅데이터분석에대한수요가증가하는동시에 다양해지고있다. 본연구에서는이미지자동분류의최근성과중 하나인딥러닝 (Deep learning) 알고리즘을이용한이미지특성 벡터 (feature vector) 추출방식에대해분석하며, 추출된특성을이용한 여러도메인의자동이미지분류기를구성하여표상학습 (representation learning) 을통해이방식의효용성을알아보았다. 25,518 개의얼굴 이미지와 50,000 개의물체이미지를학습한 CNN (Convolutional Neural Network) 들의생성물을이미지의특성벡터로써사용하여실험을통해 특성벡터의군집화현상을확인하였으며, 이특성벡터를이용해인공 신경망 (Artificial Neural Network) 방법으로자동분류기를학습할때 이미지픽셀을입력으로학습하는방법과비해더빠른수렴속도와 성능우위를확인하였다. 이러한연구의활용분야로써실제생활의 가공되지않은이미지데이터의강건하고범용적인특성을자동으로 추출하는방법에딥러닝알고리즘이사용될수있을것으로기대된다. 핵심어 : 특성추출, 딥러닝, CNN, 기계학습, 이미지분류, 인공신경망, 표상학습, 데이터마이닝. ii
제 1 장서론 본장에서는논문의연구배경및연구의필요성을제시한뒤, 이를위한연구의 목적과의의에대해알아보며, 논문의구성에대해살펴본다. 1.1 연구배경 이미지는현대인이가장빈번하고마주치는데이터인동시에, SNS (Social Network Service) 의고도화와스마트폰과같은전자기기의보급이가져온빅데이터시대의등장으로인해가장폭발적으로증가하고있는데이터중하나이다. 여러이미지를분석하고그중특정조건에따라감지하거나분류하는등의작업에대한수요와연구는오랫동안지속되어왔으며, 이러한인식과분류과정을논리적으로해결하기위해이미지가포함하는핵심정보를알아내는특성추출 (feature extraction) 분야에대한선행연구들이있었다. 기계학습 (Machine learning) 은컴퓨터혹은기계를데이터를바탕으로스스로학습시켜이러한작업들을자동으로수행할수있게한다. 딥러닝 (Deep learning) 은기계학습의방법론중하나로, 다양의데이터를이용하여복잡한구조의모형을통해사람만이가능했거나사람을뛰어넘는사고방식을학습시키는분야이다. 이것은음성인식, 자연어처리, 디지털신호처리등다양한분야에성공적인시도가있었으며, 특히가장발전된이미지인식문제의경우, 수많은인공신경을사용해사람에필적하는인식성능을보여준바있다. 1.2 연구목적과의의 본연구는이미지의범용적인특성을추출해내기위하여, 인간에가까운정보처리과정을보인다고여겨지는방법론중하나인딥러닝알고리즘으로학습된모형을통해추출한특성벡터 (feature vector) 를분석하고, 이벡터들을입력으로가지는자동분류기를구성하여이를통해다른도메인의분류작업을학습시킬수있는지를살펴본다. 또한, 이미지의딥러닝특성벡터를사용한학습과이미지자체를사용한학습을비교하여, 다목적분류에대한딥러닝특성추출방식의효용성을검증한다. 1
이실험의결과를통해범용적인특성추출법으로딥러닝모형의우위를확인할 수있다면, 딥러닝을데이터의자동화된전처리과정으로써효과적인접근방법으로 제시할수있을것이다. 1.3 논문의구성 앞으로의논문의구성은다음과같다. 제 2 장에서는연구하고자하는내용과그개념에대해살펴본다. 제 3 장에서는연구에대한방법과알고리즘, 학습모델등이수록되어있다. 제 4 장에서는여러가지실험결과들을제시하고결과들에대한분석을제시한다. 마지막으로제 5 장에서는본연구의결론과시사점을제시한다. 2
제 2 장연구의이론적배경 2.1 자동이미지분류기 컴퓨터와같은기계를통해인간의도움을받지않고데이터의주어진도메인안의정답을유추하는것을자동분류라고하며, 이분류작업을수행하는모델을자동분류기라한다. 통상적으로이미지자동분류기는픽셀에해당하는값들의집합을받아인간이한레이블값과같은결과를내보내는것을목적으로삼는다. 이미지분류문제는크게이미지가어떤사람의얼굴인지를맞추는얼굴이미지분류와물체의이름을맞추는물체이미지분류로나눌수있다. 2.2 특성벡터 어떠한차원의데이터집합을더적거나높은 n 차원의벡터들로표현할때이벡터를특성벡터 (feature vector) 라한다. 좋은특성벡터는해당데이터에대한설명이가능하고이값을통한재구성이가능해야한다. 이러한 feature construction 방식은데이터를분석하고활용하는데하는데효과적인방법이될수있다. 그림 1. 서로다른클래스의물체들과딥러닝방식을통해추출한특성벡터. 이미지내의선, 모양, 무늬들을감지해이것을값들의집합으로나타낸다. 딥러닝으로추출된벡터는이미지의범주나구도등에따라상이한결과가나오며, 에러에관한내성이존재한다. 3
2.3 표상학습 표상학습 (representation learning) 혹은특성학습 (feature learning) 은직접적인데이터대신, 유용한정보를더쉽게추출할수있게만들어진데이터의표상 (representation) 을통해분류기나다른예측기계를학습시키는것을뜻한다 [22]. 확률적으로좋은표상은입력을설명할수있는내재적인설명요인들의 posterior 분포를포함할때가많다. 대화인식, 신호처리, 물체인식, 자연어처리와같은분야들에서표상학습방법론은실증적인성공을이루어냈으며, 다양한확률모델과인공신경망, 그리고딥러닝이자동으로표상학습을위한특성추출에이용된다. 그림 2. 다목적이미지분류를위한본연구의전체적인구조도. 학습된딥러닝구조를통해특성벡터를추출하고, 특성벡터를인공신경망의입력으로삼아다양한분류기를구성한다. 4
제 3 장연구내용및방법 3.1 데이터수집처리 본실험에앞서딥러닝구조를학습하고특성벡터를검증하기위한데이터로 LFW 와 CIFAR-10 데이터를사용하였다. LFW 는여러가지사진이존재하는인물에대한이미지의모음이다. 더나은학습을위해 OpenCV Haar classifier 의전처리과정을통해얼굴부분의이미지들을수집하였다. CIFAR-10 데이터는 10 개종류의동물및무생물의이미지를모은데이터셋이다. 가로 32, 세로 32 의작은이미지인 CIFAR-10 에대해선 scaling 이외의처리를하지않았다. 수집결과로 25,518 개학습데이터와 6,380 개의테스트데이터를가지는가로 47, 세로 55 만큼의픽셀을가지는 400 가지클래스얼굴이미지와, 50,000 개의학습데이터와 10,000 개의테스트데이터를가지는가로 32, 세로 32 만큼의픽셀을가지는 100 가지클래스물체이미지를사용한다. 3.2 활용알고리즘및용도 3.2.1 인공신경망 (Artificial neural network) 알고리즘 인간의뇌의신경세포뉴런 (neuron) 과뉴런이서로에게연결되어있는구조인시냅스 (synapse) 와비슷한방식으로인공뉴런을만들어이들의네트워크를구성함으로써입력에대한작업을수행하는수학적모델을인공신경망이라칭한다. 인공신경망은각뉴런이독립적으로활성함수라는처리방식을가지고있고, 자신에게오는입력값을이함수에따라처리하고내보냄으로써분산화된계산의모음을통해을처리를수행할수있다. 여러인공신경망은층구조를가지고있어, 이를통해적절한복잡도의구조로효율적이고빠르게연산을처리하는것을목표로삼는다. 추출된특성벡터를학습하기위해 MLP(multilayer perceptron) 이사용된다. 이것은하나혹은여려은닉층을가지며, 각뉴런은 n y j = f( i=0 w ji x i ) 로동작해결과로나오는출력을뒤의층으로전파한다. 이때 f 는비선형활성 5
함수이며, y k 그리고 x k 는각각신경망층의입력벡터와출력벡터의 k 번째요소이다. 본실험에서인공신경망알고리즘은주로딥러닝을통해추출된특성벡터를입력으로 삼아새로운도메인과목적함수를만족하는분류기를만들기위해사용한다. 3.2.2 딥러닝 (Deep learning) 알고리즘 인공신경망중데이터가들어가는층을입력층이라하며결과값이나오는층을출력층이라한다. 이이외의층들을은닉층이라부르며, 인공신경망구조에서은닉층이특별히많거나복잡한구조를딥신경망 (Deep Neural Network) 이것을학습시키는기계학습방법을딥러닝 (Deep Learning) 이라한다. 딥러닝알고리즘은이러한복잡한구조를학습시키기위해다양한방법론을적용하는데, 뒤이어설명할 CNN 은특수한함수들을사용하고구조를최적화하여학습해야할파라메터수를줄이는방법을사용한다. 3.2.3 Convolutional Neural Network CNN (Convolutional Neural Network) 혹은 deep CNN (deep convolutional neural networks) 이란딥신경망의일종으로, 복잡한입력에대해여러가지특별한신경망층을쌓음으로써해결한다. Convolution 연산의적은변수를통한특성추출과 pooling 연산의각이미지내의추출된특성의차원을축소하는구조덕분에, CNN 은상대적으로빠른학습시간과높은성능을기대할수있다. 그림 3 와그림 4 는각각얼굴이미지, 물체이미지를분류하기위한 CNN 구조이며, 이것은 Yi Sun et al. 의 DeepID2+ 라는모델에기반한것이다 [4]. 400 클래스그리고 10 클래스로분류하는것이목적인두신경망은모두 Fully-connected 층에서 512 차원의특성벡터를얻는다. Convolution 층의출력은가중치혹은필터를통해계산되며, 이것은필터행렬이원하는패턴이얼마만큼관측되는지를뜻한다. Pooling 층은각로컬지역에서최대혹은특정조건의값을출력값으로고르는과정이다. 이것은효과적으로 convolution 층의출력값의차원을선형시간내에줄일수있고, 이층은 translation-invariant 6
그림 3. LFW 얼굴이미지데이터를위한 CNN 구조. 그림 4. CIFAR-10 물체이미지데이터를위한 CNN 구조. 한특성을추출하는것을도와준다. 특성벡터를추출하는 fully-connected (FC) 층은일반적인인공신경망에서의은닉층과동일하며 convolution 층과 pooling 층을통해추출된지엽적인특성들을모두한곳으로모으는역할을하며목적함수에따라자유롭게 weight 파라메터를변환시켜성능을끌어올릴수있다 CNN 의활성함수는 ReLU 이며, 학습은소프트맥스함수를통해레이블링과같은결과를내도록한다. 빠른수렴속도를가지고안정된학습을수행할수있는 cross entopy 를사용하며, 10 E CE = target i log y i = log y t i=1 이러한목적함수에따라역전파 (backpropagation) 알고리즘이사용된다. 이렇게학습한모델에모든테스트이미지에대하여 FC층의결과를측정하고저장함으로써, 실험에필요한특성벡터를얻는다. 7
제 4 장실험결과및분석 4.1 CNN 의학습결과와질적분석 표 1. 두 CNN 에대한학습결과. LFW 얼굴인식 CIFAR-10 물체인식 클래스수 400 10 은닉층개수 7 4 가변파라메터갯수 1,154,880 2,349,135 학습데이터수 25,518 50,000 테스트데이터수 6,380 10,000 학습시간 180 분이상 30 분 테스트오류 35.17% 25.91% 그림 5. CNN 얼굴인식오류의예. CNN 의학습결과, 얼굴인식과물체인식에대하여약 35% 와 25% 의테스트오류를보여주었다. 질적인분석을위해 CNN 의인식오류들짝이미지들을비교할때, 이코의모양과이목구비등두이미지사이의유사점을찾을수있어간접적으로 CNN 의특성추출능력을확인할수있다. 8
4.2 특성벡터의군집화 이미지데이터에대한딥러닝특성벡터의주성분분석을이용한근사적분포는 그림 6 과같다. 그림 6. CIFAR-10 feature vector 의주성분분석을통한 3 차원변환시각화. 왼쪽에서오른쪽으로데이터가각각 100, 1,000, 5,000, 10,000 개일때. 물체인식데이터의경우 5,000 개이상으로데이터가많아졌을시 CNN 특성벡터같은색의점들이군집현상을관찰할수있다. 이를수치적으로검증하기위해모든경우, 같은클래스의경우, 그리고다른클래스사이의경우들에대해 pairwise 유클리드거리값들의평균을구한분석결과는표 2 와표 3 과같다. 9
표 2. LFW 특성벡터들의각경우에서 pairwise 거리의평균. 모든경우 같은클래스 다른클래스 Pair 수 20,349,010 174,122 20,174,888 특성벡터간평균거리 93.1975 81.8494 93.2391 상대값 1 0.878 1.0004 표 3. CIFAR-10 특성벡터들의각경우에서 pairwise 거리의평균. 모든경우 같은클래스 다른클래스 Pair 수 49,995,000 4,995,000 45,000,000 특성벡터간평균거리 33.5224 32.3839 34.1290 상대값 1 0.966 1.018 CIFAR-10 물체데이터의특성벡터의경우평균적인경우에비해같은클래스의경우의 pairwise 거리의평균이 4% 정도적고, 다른클래스사이의경우 2% 정도큰평균거리를보여주었다. 특히, LFW 의얼굴이미지의경우약 13% 정도적은결과를나타내어레이블링오류최소화의학습을적용한딥러닝만으로도 CNN 은분류가능한양질의성분벡터를추출해낼수있다는점을나타내었다. 4.3 특성벡터를이용한다목적분류기구성 본실험에서는특성벡터가내포하고있는또다른정보를학습하고분류작업을수행할수있는지알아본다. 이를위해 LFW 와 CIFAR-10 에대해 성별분류 와 사슴뿔판별 이라는각각원래레이블에무관한새로운감독학습문제를한가지씩설정하고이를이미지데이터와 CNN 특성벡터를입력으로가지는두가지 MLP 를학습하여비교한다. 표 4. 성별분류문제의분포. 남자이미지 여자이미지 전체 101 199 학습데이터 66 134 테스트데이터 35 65 10
표 5. 사슴뿔분류문제의분포. 뿔이나지않은사슴이미지 뿔이난사슴이미지 전체 182 118 학습데이터 122 78 테스트데이터 60 40 첫번째로, LFW 테스트데이터를이용해얼굴이미지를통한성별분류를시도한다. 남자 (0), 여자 (1) 로도메인을정의해육안으로레이블링을수행하고, 특성벡터를받아이레이블링결과와동일한결과를내보내는것을목표로하는성별분류기를구성하여학습데이터 200 개와테스트데이터 100 개로나누어학습하고, 특성벡터대신 raw 데이터 (RGB 픽셀 ) 들을입력으로받은분류기의경우와학습시간과성능을비교하여딥러닝표상학습의효용성을검증해본다. 마찬가지로, CIFAR-10 테스트데이터 300 개를테스트셋의사슴이미지를뿔이나지않은사슴 (0) 과뿔이나있는사슴 (1) 을육안으로레이블링을수행하고, 이레이블링데이터를 200 개와 100 개로나누어, raw 데이터를이용한사슴뿔분류기와특성벡터를입력으로이용한사슴뿔분류기의비교를통해효용성을검증해본다. 모든경우은닉층의뉴런 200 개, 그리고출력층뉴런 1 개의 sigmoid 함수를사용한 그림 7. 두분류기가구분하기위한데이터의예시. 11
정답률 (%) 인공신경망을구현했으며, 5 번시행하여테스트데이터에대한정확도의평균으로서 모델의성능을측정하였다. 85 80 75 70 65 60 55 50 0 20 40 60 80 100 120 140 160 180 학습회차 특성벡터표상학습 Raw 데이터학습 그림 8. 이미지성별자동분류기의학습그래프. 특성벡터표상학습은특성벡터를입력으로삼는 MLP 의오류역전파학습을뜻하고, raw 데이터학습은 RGB 픽셀데이터를받아마찬가지로같은학습알고리즘을사용했을때의학습을뜻한다. 두경우모두은닉층 1 개, 은닉뉴런 200 개이다. 표 6. 성별분류기의학습시간과정답률비교. 학습시간 정답률 특성벡터표상학습 0.0742 초 / 반복 83.2 % Raw 데이터학습 1.133 초 / 반복 71.5 % 딥러닝특성벡터로인물이미지의성별을분류하는표상학습방식의 자동분류기는이미지픽셀들을그대로입력으로사용하는경우에비해오류역전파 알고리즘을사용했을때, 같은수의데이터를학습할시 0.065 정도로적은 학습시간을가졌다. 이것은각입력의크기, 즉데이터의산술적크기가약 0.066 배로 12
정답률 (%) 줄어들어되어입력층과은닉층사이의연결이그에비례하게줄어들었기때문이다. 또한, 표상학습방식은동시에 83.2% 의정확도를가져같은학습을거친데이터학습방식에비해수렴상태에서평균적으로 12 퍼센트포인트만큼의성능우위를확인할수있었다. 뿐만아니라, 그림 8 의학습그래프를볼때표상학습은확실히빠른수렴을상태보여, CNN 이추출한특성이효과적으로차원을줄였고성별을판별하기위한유의미한정보를충분히추출했다는분석이가능하다. 70 65 60 55 50 45 40 0 20 40 60 80 100 120 140 160 180 200 학습회차 특성벡터표상학습 Raw 데이터학습 그림 9. 사슴뿔분류기의학습그래프. 표 7. 사슴뿔분류기의학습시간과정답률비교. 학습시간 정답률 특성벡터표상학습 0.0742 초 / 반복 73.16 % Raw 데이터학습 0.456 초 / 반복 66.25 % 마찬가지로, 사슴이미지의뿔의유무를판별하는문제에대해서도표상학습 방식은 raw 데이터학습에비해 0.16 배의상대학습시간을나타내었으며, 7 퍼센트 13
포인트의성능우위를보였다. 사슴뿔분류문제의특수성과실제레이블링작업시사람이직접느낀난이도를통해본문제의난해함을간접적으로알수있기때문에본실험의성능및성능우위는표상학습의성능과효율을충분히보여준다고할수있다. 또한, 이문제는사슴이라는한범주안 (intraclass) 의문제로, 딥러닝의특성추출의범위가클래스의범위를넘어클래스보다더깊은수준일때이와같이특성벡터를통한사슴뿔의분류가가능하다고할수있다. 결론적으로성별분류와사슴뿔분류의두가지문제의가시적인학습시간과성능의우위는딥러닝방식이특성벡터를통해광범위하고보편적인특성을더작은차원으로추출하며외부에서이를범용적분류에활용할수있다는점을시사한다. 14
제 5 장결론 본연구에서는대표적인딥러닝알고리즘의일종인 convolutional neural network 에대한이미지의특성벡터를이용하여, 딥러닝을통해다양한목적을만족시킬수있는범용적특성추출과정에쓰일수있음을연구하고자하였다. 학습된딥러닝모델로추출한특성벡터를이용해새로운목적과도메인을정의하고, 여기에신경망을추가함으로써, 딥러닝특성벡터는효과적으로차원을축소시켜학습시간의단축을돕고, 여러가지성격의문제들에대해모두성능우위를보일만큼다양한특성을지니고있음을알아내었다. 딥러닝을통한자동분류는주로막대한메모리와하드웨어를이용하여수많은사진과음성정보를학습하고정확한답을알아내는것을뜻한다. 이러한방법론은환경이변하거나다양한작업이요구되는문제에서약점을나타낸다. 본연구는딥러닝을통한특성벡터의추출과표상학습을통한다목적모델이딥러닝을효과적으로이용하는또다른방법론이될수있다는점을시사한다. 기술이진보하고빅데이터시대가도래하면서다양한데이터가빠르게증가하고있다. 예전에는데이터를생성하는주체가한정되었다면, 현대에들어서데이터는어떤사람도언제나만들어낼수있는존재가되었고, 데이터에대한다양하고특정한수요가생겨나고있다. 앞으로의기계학습과데이터마이닝은딥러닝과같이높은성능을가지는동시에유연하고범용성있는특성을추출할수있어야할것이다. 이러한앞으로의연구에본논문이활용되기를바란다. 15
참고문헌 [1] Chen, D., Cao, X., Wang, L., Wen, F., and Sun, J., Bayesian face revisited: A joint formulation. Proceedings of European Conference on Computer Vision, 2012. [2] Sun, Y., Chen, Y., Wang, X., and Tang, X., Deep learning face representation by joint identification- verification. Advances in Neural Information Processing Systems, 2014. [3] Sun, Y., Wang, X, and Tang, X., Deeply learned face representations are sparse, selective, and robust. Technical report, arxiv:1412.1265, 2014. [4] Sun, Y., Liang, D., Wang, W., and Tang, X., DeepID3: Face Recognition with Very Deep Neural Networks. Technical report, arxiv:1502.00873, 2015. [5] Hubel D. H., and Wiesel T. N., Receptive fields and functional architecture of monkey striate cortex. The Journal of Physiology, 1968. [6] Hubel, D. H., and Wiesel, T. N., Receptive fields, binocular interaction and functional architecture in the cat's visual cortex. The Journal of physiology, 1962. [7] Rosenblatt, F., The Perceptron--a perceiving and recognizing automaton. Report in Cornell Aeronautical Laboratory, 1957. [8] Nair, V., and Hinton, G. E., Rectified linear units improve restricted Boltzmann machines, Proceedings of International Conference on Machine Learning, 2010. [9] Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley D., and Bengio Y., Theano: A CPU and GPU Math Expression Compiler. Proceedings of the Python for Scientific Computing Conference, 2010. [10] Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I., Bergeron, A., Bouchard, N., Warde-Farley D., and Bengio, Y., Theano: new features and speed improvements. Neural Information Processing Systems deep learning workshop, 2012. [11] Krizhevsky, A., Sutskever I., and Hinton, G. E., Imagenet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems, 2012. [12] Lee, H., Grosse, R., Ranganath, R., and Ng, A. Y., Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. Proceedings of Association for Computing Machinery, 2009. [13] Graves, A., Mohamed, A. R., and Hinton, G., Speech recognition with deep recurrent neural networks. IEEE Conference on Acoustics, Speech and Signal Processing, 2013. [14] Gardner, M. W., and Dorling S. R., Artificial neural networks (the multilayer perceptron) a review of applications in the atmospheric sciences. Atmospheric environment, 1998. [15] Riedmiller, M., and Braun, H., A direct adaptive method for faster backpropagation learning: The RPROP algorithm. Neural Networks, 1993. [16] Bengio, Y., Lamblin, P., Popovici, D., and Larochelle, H., Greedy layer-wise training of deep networks. Advances in Neural Information Processing Systems, 2007. [17] Zeiler, M. D., and Fergus, R., Visualizing and understanding convolutional networks. Computer Vision in European Conference on Computer Vision, 2014. [18] Moody, J., Hansom, S., Krogh, A., and Hertz, J. A., A simple weight decay can improve generalization. Advances in Neural Information Processing Systems, 1995. 16
[19] Huang, G. B., Ramesh, M., Berg, T., and Learned-Miller, E., Labeled faces in the wild: A database for studying face recognition in unconstrained environments. Technical Report, University of Massachusetts, Amherst, 2007. [20] Graves, A., Mohamed, A. R., and Hinton, G., Speech recognition with deep recurrent neural networks. IEEE International Conference on Acoustics, Speech and Signal Processing, 2013. [21] Simonyan, K., Vedaldi, A., and Zisserman, A., Deep inside convolutional networks: Visualising image classification models and saliency maps. arxiv preprint arxiv:1312.6034, 2013. [22] Bengio, Y., Courville, A., and Vincent, P., Representation learning: A review and new perspectives. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013. 17