主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。

deepDreamImage

딥드림(深梦)을사용하여신경망특징시각화

설명

= deepDreamImage (渠道는신경망에서로주어진숫자형인덱스또는이름을갖는계층의채널渠道를강하게활성화하는영상으로구성된배열을반환합니다。이러한영상은신경망이학습한특징이무엇인지보여줍니다。

예제

= deepDreamImage (渠道名称,值는하나이상의名称,值쌍인수로지정된추가옵션을사용하여영상을반환합니다。

예제

모두축소

사전훈련된AlexNet신경망을불러옵니다。

网= alexnet;

첫번째컨벌루션계층(“conv1”25)이학습한처음개의특징을deepDreamImage를사용하여시각화합니다。영상이스케일링되지않도록“PyramidLevels”1로를설정합니다。

层=“conv1”;渠道= 1:25;我= deepDreamImage(净、图层、通道,...“PyramidLevels”, 1...“详细”, 0);数字i = 1:25 subplot(5,5,i) imshow(i (:,:,:,i))结束

입력인수

모두축소

훈련된신경망으로,SeriesNetwork객체또는DAGNetwork객체로지정됩니다。사전훈련된신경망을가져오거나trainNetwork함수를사용하여자신만의고유한신경망을훈련시켜훈련된신경망을얻을수있습니다。사전훈련된신경망에대한자세한내용은사전훈련된심층신경망항목을참조하십시오。

deepDreamImage함수는영상입력계층을갖는신경망만지원합니다。

시각화할계층으로,양의정수,문자형벡터또는字符串형스칼라로지정됩니다。DAGNetwork객체인경우를문자형벡터또는字符串형스칼라로만지정하십시오。활성화를시각화할계층의인덱스또는이름으로를지정하십시오。분류계층특징을시각화하려면분류계층앞에있는마지막완전연결계층을선택하십시오。

시각화를위해ReLU계층이나드롭아웃계층을선택하면이러한계층이신경망기울기에갖는효과로인해유용한영상이생성되지않을수있습니다。

쿼리된채널로,스칼라또는채널인덱스로구성된벡터로지정됩니다。渠道가벡터인경우,각채널의계층활성화값은독립적으로최적화됩니다。渠道의선택가능한옵션은선택한계층에따라달라집니다。컨벌루션계층의경우,NumFilters속성이출력채널의개수를지정합니다。완전연결계층의경우,OutputSize속성이출력채널의개수를지정합니다。

이름——값쌍의인수

선택적으로名称,值인수가쉼표로구분되어지정됩니다。여기서的名字은인수이름이고价值는대응값입니다。的名字은따옴표안에표시해야합니다。Name1, Value1,…,的家과같이여러개의이름——값쌍의인수를어떤순서로든지정할수있습니다。

예:deepDreamImage(网络层、通道“NumItetations”,100年,“ExecutionEnvironment”,gpu)는피라미드단계마다반복100회를사용하여영상을생성하고,GPU를사용합니다。

딥드림을초기화하는영상。신경망계층활성화값을최대화하기위해영상이어떻게수정되는지보려면이구문을사용하십시오。초기영상의최소높이와너비는선택한계층을포함하여이계층까지이르는모든계층에좌우됩니다。

  • 신경망의끝부분에있는계층의경우,초기영상은영상입력계층과높이와너비가최소한같아야합니다。

  • 신경망의시작부분에있는계층의경우,초기영상은영상입력계층보다높이와너비가작아도됩니다。그러나선택한계층에서스칼라출력값을생성할수있을만큼은커야합니다。

  • 초기영상의채널개수는신경망의영상입력계층의채널개수와일치해야합니다。

초기영상을지정하지않은경우,표준정규분포에서가져온픽셀로구성된임의의영상이사용됩니다。“PyramidLevels”항목도참조하십시오。

출력영상을생성하는데사용된다중해상도영상피라미드단계의개수로,양의정수로지정됩니다。연산량을늘리는대신더큰출력영상을생성하려면피라미드단계의개수를늘리십시오。초기영상과크기가같은영상을생성하려면단계의개수를1로설정하십시오。

예:“PyramidLevels”,3

각피라미드단계간의스케일로,1보다큰스칼라값으로지정됩니다。출력영상에미세한세부사항을반용하려면피라미드스케일을줄이십시오。피라미드스케일을조정하면신경망시작부분에있는계층에서정보가많은영상을생성하는데도움이됩니다。

예:“PyramidScale”,1.4

피라미드단계당반복횟수로,양의정수로지정됩니다。연산량을늘리는대신더상세한영상을생성하려면반복횟수를늘리십시오。

예:“NumIterations”,10

출력값에적용할스케일링유형으로,“OutputScaling”과함께다음중하나가쉼표로구분되어지정됩니다。

설명
“线性” 출력픽셀값을[0,1]구간으로스케일링합니다。각계층채널我(::,:,频道)에대응되는출력영상은독립적으로스케일링됩니다。
“没有” 출력스케일링을비활성화합니다。

픽셀값을스케일링하면신경망이출력영상을오분류하게될수있습니다。출력영상을분류하려면“OutputScaling”값을“没有”으로설정하십시오。

예:“OutputScaling”、“线性”

명령창에진행상황정보를표시할지에대한표시자로,“详细”와함께1 (真正的)또는0 ()이쉼표로구분되어지정됩니다。표시되는정보에는피라미드단계,반복,활성화강도가있습니다。

예:“详细”,0

데이터형:逻辑

하드웨어리소스로,“ExecutionEnvironment”와함께다음중하나가쉼표로구분되어지정됩니다。

  • “汽车”- - - - - - GPU를사용할수있으면GPU를사용하고그렇지않으면CPU를사용합니다。

  • “图形”- - - - - - GPU를사용합니다。GPU를사용하려면并行计算工具箱™와지원되는GPU장치가필요합니다。지원되는장치에대한자세한내용은릴리스별GPU지원(并行计算工具箱)항목을참조하십시오。并行计算工具箱또는적당한GPU를사용할수없는경우,오류가반환됩니다。

  • “cpu”——CPU를사용합니다。

예:“ExecutionEnvironment”、“cpu的

출력인수

모두축소

출력영상으로4차원배열에저장된회색조또는트루컬러(RGB)영상으로구성된시퀀스로지정됩니다。영상은渠道(k)의출력값을최대화하는영상이我(:,:,:,k)가되도록의네번째차원을따라결합됩니다。출력영상은imshow(图像处理工具箱)를사용하여표시할수있습니다。

알고리즘

이함수는다중해상도영상피라미드와라플라스피라미드기울기정규화를사용하여고해상도영상을생성하는딥드림시각화를구현합니다。라플라스피라미드기울기정규화에대한자세한내용은블로그게시물인与TensorFlow DeepDreaming항목을참조하십시오。

trainNetwork함수를사용하여신경망을훈련시키거나DAGNetwork객체및SeriesNetwork객체와함께예측함수또는검증함수를사용할때소프트웨어는단정밀도부동소수점연산방식을사용하여이러한계산을수행합니다。훈련,예측및검증을위한함수는trainNetwork预测分类激活등이있습니다。CPU와GPU를모두사용하여신경망을훈련시키는경우,단정밀도연산방식이사용됩니다。

참고문헌

用TensorFlow深度做梦。https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb

R2017a에개발됨