딥러닝모델훈련을위한전이학습

전이학습은하나의작업을위해훈련된모델을유사작업수행모델의시작점으로활용하는딥러닝접근법입니다。일반적으로신경망은처음부터새로훈련하는것보다전이학습을통해업데이트하고재훈련하는편이더빠르고간편합니다。이접근법은여러응용분야중에서도특히객체검출,영상인식,음성인식분야에흔히사용됩니다。

전이학습은다음과같은이유로널리쓰입니다。

  • 대용량데이터셋으로이미훈련된에이는모델모델사용함더적은레이블지정이터사용하여하여을훈련할수수하여모델훈련할수
  • 훈련시간과연산리소스를줄일수있습니다。전이학습에서는사전훈련된모델이이전의학습을기반으로이미가중치를학습했으므로가중치가처음부터새로학습되지않습니다。
  • GoogLeNet과ResNet처럼널리쓰이는아키텍처를포함해딥러닝연구커뮤니티에서개발되는모델아키텍처를활용할수있습니다。

전이학습을위한사전훈련된모델

전이학습에서는딥러닝연구자들이구축한사전훈련된딥러닝모델이핵심이라할할수,이러한모델모델은수천또는수백만의샘플훈련영상훈련훈련훈련훈련훈련훈련훈련

다수의사전훈련된모델을사용할수있는데,각각다음과같은부문에서장단점이있습니다。

  • 크기:어느정도의메모리사용량이모델에적합한가?모델크기의중요성은모델을배포할위치와방법에따라달라집니다。임베디드하드웨어와데스크탑중어디에서모델이실행됩니까?신경망의크기는메모리용량이작은시스템에배포할때특히중요합니다。
  • 정확도:재훈련전의모델성능은어느정도인가?널리쓰이는데이터셋으로서백만개의영상과천개의영상클래스가포함된ImageNet에서성능이우수한모델은일반적으로그와비슷한새로운작업에서도잘작동할가능성이큽니다。그러나ImageNet에서정확도점수가낮다고해서모든작업에서모델의성능이떨어진다는의미는아닙니다。
  • 예측속도:새로운입력에대한모델의예측속도가얼마나빠른가?예측속도는하드웨어및배치크기와같은다른딥러닝요소는물론이고선택된모델의아키텍처와모델크기에따라서도달라집니다。

널리쓰이는사전훈련된신경망의모델크기,속도및정확도비교。

MATLAB및深度学习工具箱를사용하여단한줄의코드로최신연구를통해사전훈련된신경망을사용할수있습니다。이툴박스는전이학습프로젝트에적합한신경망선택에관한지침도제공합니다。

전이학습응용분야에가장적합적합한

선택할수있는전이학습모델이많은만큼각각의장단점과프로젝트의전반적목표를염두에두는것이중요합니다。예를들어정확도가비교적낮은신경망이라도새로운딥러닝작업에는완벽하게잘맞을수있습니다。바람직한접근법은다양한모델을시험하여원하는응용분야에가장잘맞는모델을찾는것입니다。

시작하는데적합한단순한모델。AlexNet,Googlenet,VGG-16,VGG-19와같은단순한모델사용하면하면빠르게반복하면서다양한터전처리단계와와옵션을할수와수할수수어떤설정이효과적인지파악한다음에는정확한한을시험해보면서보면서결과결과결과결과결과결과결과결과결과결과결과결과결과결과결과결과결과결과결과

가볍고연산연산적으로으로효율인인.배포환경에서모델크기가제한되는경우에는SqueezeNet, MobileNet-v2및ShuffleNet을사용하는것이좋습니다。

심층신경망디자이너를사용하여다양한사전훈련된모델이프로젝트에맞는지신속히평가하고서로다른모델아키텍처의장단점을더정확히파악할수있습니다。

전이학습워크플로

전이학습의아키텍처와응용분야는매우다양하지만대부분의전이학습워크플로는공통적인단계를따릅니다

  1. 사전훈련된모델을선택합니다。처음시작할때는비교적단순한모델을선택하는편이좋을수있습니다。이예제에서는널리사용되는신경망으로서22개의계층을가지며1000개의객체범주를분류하도록훈련된GoogLeNet을사용합니다。
  1. 마지막계층을교체합니다。새로운새로운영상및클래스를를하도록신경망을재훈련하기하기위해위해모델모델의의계층교체교체교체교체교체교체교체교체마지막마지막연결계층이새로운클래스클래스의수와동일한의노드노드및새로운분류을포함하도록수정수정분류을포함하도록수정이새로운분류분류계층은은소프트계층에의해계산된확률을기반출력출력값을생성생성
  • 계층을수정한후최종완전연결계층은신경망이학습할클래스의새로운개수를지정하고,분류계층은사용가능한새로운출력범주에서출력값을결정하게됩니다。예를들어GoogLeNet은원래1000개의범주로훈련되었지만최종계층을교체함으로써관심이있는5개(또는그외의원하는수)의객체범주만분류하도록재훈련할수있습니다。
  1. 가중치를고정합니다(선택사항)。신경망에서이전계층의학습률을0으로설정하여해당계층의가중치를고정할수있습니다。고정된계층의파라미터는훈련중에업데이트되지않으므로신경망훈련속도가크게개선될수있습니다。새데이터셋이작다면가중치를고정해서새데이터셋에대한신경망의과적합을방지할수도있습니다。
  2. 모델을재훈련합니다。신경망은재훈련을거치면서새로운영상및범주와관련된특징을학습하고식별하도록업데이트됩니다。대부분의경우,재훈련에필요한데이터는모델을처음부터새로훈련하는경우에비해적습니다。
  3. 신경망의정확도를예측및가합니다。모델재훈련이끝나면새로운영상을분류해서신경망의성능을평가할수있습니다。

    처음부터훈련하기와전이학습중에서선택하기

    딥러닝에서는두가지접근법,즉모델을처음부터훈련하는방법과전이학습이흔히쓰입니다。

    모델을처음부터새로하고훈련하는방법기존모델사용할할수없는매우한작업에서더효과적적특정한작업작업에서더효과적적적이접근법의단점은일반적데데이터가많아야정확한결과를수수것입니다。텍스트분석수행을예로들자면,사전훈련된모델을텍스트분석쓸수사용가능한데에에은많다면모델처음부터새로편편이최선의접근법일이큽니다접근법일가능성이큽니다개발편이큽니다접근법일편이큽니다접근법일편에。

    전이학습은널리쓰이는사전훈련된모델을다양하게찾아볼수있는객체인식같은작업에유용합니다。예를들어꽃영상을분류해야하는데가지고있는꽃영상의수가제한적이라면AlexNet신경망에서가중치와계층을전이하여최종분류계층을교체하고본인이가지고있는영상으로모델을재훈련할수있습니다。

전이학습워크플로:신경망을불러오고계층을교체하고신경망을훈련하고정확도를평가합니다。

이와같은경우전이학습을통해더짧은시간내에더높은모델정확도를달성할수있습니다。

처음부터훈련하기및전이학습의신경망성능(정확도)비교。

대화형방식의전이학습접근법

심층신경망디자이너를사용하면코딩이거의또는전혀없어도사전훈련된모델을가져오고,마지막계층을수정하고,새로운데이터로신경망을재훈련하는등전체전이학습워크플로를대화형방식으로완료할수있습니다。

심층신경망디자이너는MATLAB에서심층신경망을만들거나수정하기위한포인트앤드클릭툴입니다。이비디오는전이학습워크플로에서이앱을사용하는방법을보여줍니다。

자세한내용은深度学习工具箱计算机视觉工具箱™를를하십시오。


전이학습에대해자세히알아보기

참조:딥러닝컨벌루션신경망GPU编码器인공지능